<?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>212501</bug_id>
          
          <creation_ts>2020-05-28 16:37:02 -0700</creation_ts>
          <short_desc>Update web-platform-tests/interfaces from upstream</short_desc>
          <delta_ts>2020-05-29 16:03:55 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>alecflett</cc>
    
    <cc>beidson</cc>
    
    <cc>dbarton</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>ggaren</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>jsbell</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1657083</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-05-28 16:37:02 -0700</bug_when>
    <thetext>Update web-platform-tests/interfaces from upstream.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1657085</commentid>
    <comment_count>1</comment_count>
      <attachid>400524</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-05-28 16:37:42 -0700</bug_when>
    <thetext>Created attachment 400524
WIP Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1657102</commentid>
    <comment_count>2</comment_count>
      <attachid>400526</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-05-28 17:29:54 -0700</bug_when>
    <thetext>Created attachment 400526
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1657130</commentid>
    <comment_count>3</comment_count>
      <attachid>400539</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-05-28 19:32:06 -0700</bug_when>
    <thetext>Created attachment 400539
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1657131</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-05-28 20:01:00 -0700</bug_when>
    <thetext>Committed r262277: &lt;https://trac.webkit.org/changeset/262277&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 400539.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1657132</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-05-28 20:01:25 -0700</bug_when>
    <thetext>&lt;rdar://problem/63743498&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1657263</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-05-29 08:26:23 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1657264</commentid>
    <comment_count>7</comment_count>
      <attachid>400583</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-05-29 08:26:25 -0700</bug_when>
    <thetext>Created attachment 400583
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1657482</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-05-29 16:03:55 -0700</bug_when>
    <thetext>Already landed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>400524</attachid>
            <date>2020-05-28 16:37:42 -0700</date>
            <delta_ts>2020-05-28 17:29:53 -0700</delta_ts>
            <desc>WIP Patch</desc>
            <filename>212501_wip.patch</filename>
            <type>text/plain</type>
            <size>155862</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aW50ZXJmYWNlcy9ET00tUGFyc2luZy5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvRE9NLVBhcnNpbmcuaWRsCmluZGV4IGJjZGJhYTY0
NjIzLi41MDIwYmU4OTk0MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL0RPTS1QYXJzaW5nLmlkbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvRE9NLVBhcnNp
bmcuaWRsCkBAIC0zLDIwICszLDYgQEAKIC8vIChodHRwczovL2dpdGh1Yi5jb20vdGlkb3VzdC9y
ZWZmeS1yZXBvcnRzKQogLy8gU291cmNlOiBET00gUGFyc2luZyBhbmQgU2VyaWFsaXphdGlvbiAo
aHR0cHM6Ly93M2MuZ2l0aHViLmlvL0RPTS1QYXJzaW5nLykKIAotW0V4cG9zZWQ9V2luZG93XQot
aW50ZXJmYWNlIERPTVBhcnNlciB7Ci0gIGNvbnN0cnVjdG9yKCk7Ci0gIFtOZXdPYmplY3RdIERv
Y3VtZW50IHBhcnNlRnJvbVN0cmluZyhET01TdHJpbmcgc3RyLCBTdXBwb3J0ZWRUeXBlIHR5cGUp
OwotfTsKLQotZW51bSBTdXBwb3J0ZWRUeXBlIHsKLSAgInRleHQvaHRtbCIsCi0gICJ0ZXh0L3ht
bCIsCi0gICJhcHBsaWNhdGlvbi94bWwiLAotICAiYXBwbGljYXRpb24veGh0bWwreG1sIiwKLSAg
ImltYWdlL3N2Zyt4bWwiCi19OwotCiBbRXhwb3NlZD1XaW5kb3ddCiBpbnRlcmZhY2UgWE1MU2Vy
aWFsaXplciB7CiAgIGNvbnN0cnVjdG9yKCk7CkBAIC0yNCwxNCArMTAsMTQgQEAgaW50ZXJmYWNl
IFhNTFNlcmlhbGl6ZXIgewogfTsKIAogaW50ZXJmYWNlIG1peGluIElubmVySFRNTCB7Ci0gIFtD
RVJlYWN0aW9uc10gYXR0cmlidXRlIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5n
IGlubmVySFRNTDsKKyAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgW0xlZ2FjeU51bGxUb0VtcHR5
U3RyaW5nXSBET01TdHJpbmcgaW5uZXJIVE1MOwogfTsKIAogRWxlbWVudCBpbmNsdWRlcyBJbm5l
ckhUTUw7CiBTaGFkb3dSb290IGluY2x1ZGVzIElubmVySFRNTDsKIAogcGFydGlhbCBpbnRlcmZh
Y2UgRWxlbWVudCB7Ci0gIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIFtUcmVhdE51bGxBcz1FbXB0
eVN0cmluZ10gRE9NU3RyaW5nIG91dGVySFRNTDsKKyAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUg
W0xlZ2FjeU51bGxUb0VtcHR5U3RyaW5nXSBET01TdHJpbmcgb3V0ZXJIVE1MOwogICBbQ0VSZWFj
dGlvbnNdIHZvaWQgaW5zZXJ0QWRqYWNlbnRIVE1MKERPTVN0cmluZyBwb3NpdGlvbiwgRE9NU3Ry
aW5nIHRleHQpOwogfTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL0luZGV4ZWREQi5pZGwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvSW5kZXhlZERCLmlkbApp
bmRleCAzMzkyNWQ2MTQyMy4uOGFmMmJiY2YyMzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9JbmRleGVkREIuaWRsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNl
cy9JbmRleGVkREIuaWRsCkBAIC02Nyw3ICs2Nyw4IEBAIGludGVyZmFjZSBJREJEYXRhYmFzZSA6
IEV2ZW50VGFyZ2V0IHsKICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZ0xpc3Qgb2JqZWN0
U3RvcmVOYW1lczsKIAogICBbTmV3T2JqZWN0XSBJREJUcmFuc2FjdGlvbiB0cmFuc2FjdGlvbigo
RE9NU3RyaW5nIG9yIHNlcXVlbmNlPERPTVN0cmluZz4pIHN0b3JlTmFtZXMsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIElEQlRyYW5zYWN0aW9uTW9k
ZSBtb2RlID0gInJlYWRvbmx5Iik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIG9wdGlvbmFsIElEQlRyYW5zYWN0aW9uTW9kZSBtb2RlID0gInJlYWRvbmx5IiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgSURCVHJhbnNh
Y3Rpb25PcHRpb25zIG9wdGlvbnMgPSB7fSk7CiAgIHZvaWQgY2xvc2UoKTsKIAogICBbTmV3T2Jq
ZWN0XSBJREJPYmplY3RTdG9yZSBjcmVhdGVPYmplY3RTdG9yZSgKQEAgLTgyLDYgKzgzLDEyIEBA
IGludGVyZmFjZSBJREJEYXRhYmFzZSA6IEV2ZW50VGFyZ2V0IHsKICAgYXR0cmlidXRlIEV2ZW50
SGFuZGxlciBvbnZlcnNpb25jaGFuZ2U7CiB9OwogCitlbnVtIElEQlRyYW5zYWN0aW9uRHVyYWJp
bGl0eSB7ICJkZWZhdWx0IiwgInN0cmljdCIsICJyZWxheGVkIiB9OworCitkaWN0aW9uYXJ5IElE
QlRyYW5zYWN0aW9uT3B0aW9ucyB7CisgIElEQlRyYW5zYWN0aW9uRHVyYWJpbGl0eSBkdXJhYmls
aXR5ID0gImRlZmF1bHQiOworfTsKKwogZGljdGlvbmFyeSBJREJPYmplY3RTdG9yZVBhcmFtZXRl
cnMgewogICAoRE9NU3RyaW5nIG9yIHNlcXVlbmNlPERPTVN0cmluZz4pPyBrZXlQYXRoID0gbnVs
bDsKICAgYm9vbGVhbiBhdXRvSW5jcmVtZW50ID0gZmFsc2U7CkBAIC0xOTgsNiArMjA1LDcgQEAg
aW50ZXJmYWNlIElEQkN1cnNvcldpdGhWYWx1ZSA6IElEQkN1cnNvciB7CiBpbnRlcmZhY2UgSURC
VHJhbnNhY3Rpb24gOiBFdmVudFRhcmdldCB7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJp
bmdMaXN0IG9iamVjdFN0b3JlTmFtZXM7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBJREJUcmFuc2Fj
dGlvbk1vZGUgbW9kZTsKKyAgcmVhZG9ubHkgYXR0cmlidXRlIElEQlRyYW5zYWN0aW9uRHVyYWJp
bGl0eSBkdXJhYmlsaXR5OwogICBbU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIElEQkRh
dGFiYXNlIGRiOwogICByZWFkb25seSBhdHRyaWJ1dGUgRE9NRXhjZXB0aW9uPyBlcnJvcjsKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bnRlcmZhY2VzL1dlYkNyeXB0b0FQSS5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvV2ViQ3J5cHRvQVBJLmlkbAppbmRleCBmZWNiM2I3
MmQzYS4uZDgxYTQzYmEwZjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9XZWJDcnlwdG9BUEkuaWRsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9XZWJDcnlw
dG9BUEkuaWRsCkBAIC0xLDcgKzEsNyBAQAogLy8gR0VORVJBVEVEIENPTlRFTlQgLSBETyBOT1Qg
RURJVAogLy8gQ29udGVudCB3YXMgYXV0b21hdGljYWxseSBleHRyYWN0ZWQgYnkgUmVmZnkgaW50
byByZWZmeS1yZXBvcnRzCiAvLyAoaHR0cHM6Ly9naXRodWIuY29tL3RpZG91c3QvcmVmZnktcmVw
b3J0cykKLS8vIFNvdXJjZTogV2ViIENyeXB0b2dyYXBoeSBBUEkgKGh0dHBzOi8vdzNjLmdpdGh1
Yi5pby93ZWJjcnlwdG8vT3ZlcnZpZXcuaHRtbCkKKy8vIFNvdXJjZTogV2ViIENyeXB0b2dyYXBo
eSBBUEkgKGh0dHA6Ly93M2MuZ2l0aHViLmlvL3dlYmNyeXB0by8pCiAKIHBhcnRpYWwgaW50ZXJm
YWNlIG1peGluIFdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUgewogICBbU2FtZU9iamVjdF0gcmVh
ZG9ubHkgYXR0cmlidXRlIENyeXB0byBjcnlwdG87CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvYXBwbWFuaWZlc3QuaWRs
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2Vz
L2FwcG1hbmlmZXN0LmlkbAppbmRleCAzNWM0OTFhNWY3Yi4uMmFkYzM3MDAxMjQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNl
cy9hcHBtYW5pZmVzdC5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2FwcG1hbmlmZXN0LmlkbApAQCAtMywyNiArMyw2IEBACiAv
LyAoaHR0cHM6Ly9naXRodWIuY29tL3RpZG91c3QvcmVmZnktcmVwb3J0cykKIC8vIFNvdXJjZTog
V2ViIEFwcCBNYW5pZmVzdCAoaHR0cHM6Ly93M2MuZ2l0aHViLmlvL21hbmlmZXN0LykKIAotW0V4
cG9zZWQ9V2luZG93XQotaW50ZXJmYWNlIEJlZm9yZUluc3RhbGxQcm9tcHRFdmVudCA6IEV2ZW50
IHsKLSAgY29uc3RydWN0b3IoRE9NU3RyaW5nIHR5cGUsIG9wdGlvbmFsIEV2ZW50SW5pdCBldmVu
dEluaXREaWN0ID0ge30pOwotICBQcm9taXNlPFByb21wdFJlc3BvbnNlT2JqZWN0PiBwcm9tcHQo
KTsKLX07Ci0KLWRpY3Rpb25hcnkgUHJvbXB0UmVzcG9uc2VPYmplY3QgewotICBBcHBCYW5uZXJQ
cm9tcHRPdXRjb21lIHVzZXJDaG9pY2U7Ci19OwotCi1lbnVtIEFwcEJhbm5lclByb21wdE91dGNv
bWUgewotICAiYWNjZXB0ZWQiLAotICAiZGlzbWlzc2VkIgotfTsKLQotcGFydGlhbCBpbnRlcmZh
Y2UgV2luZG93IHsKLSAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmFwcGluc3RhbGxlZDsKLSAg
YXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmJlZm9yZWluc3RhbGxwcm9tcHQ7Ci19OwotCiBkaWN0
aW9uYXJ5IFdlYkFwcE1hbmlmZXN0IHsKICAgIFRleHREaXJlY3Rpb25UeXBlIGRpciA9ICJhdXRv
IjsKICAgIERPTVN0cmluZyBsYW5nOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2JhZGdpbmcuaWRsIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2JhZGdpbmcuaWRs
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4wMTQ4MTgyMDkzNQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaW50ZXJmYWNlcy9iYWRnaW5nLmlkbApAQCAtMCwwICsxLDIxIEBACisvLyBHRU5FUkFURUQg
Q09OVEVOVCAtIERPIE5PVCBFRElUCisvLyBDb250ZW50IHdhcyBhdXRvbWF0aWNhbGx5IGV4dHJh
Y3RlZCBieSBSZWZmeSBpbnRvIHJlZmZ5LXJlcG9ydHMKKy8vIChodHRwczovL2dpdGh1Yi5jb20v
dGlkb3VzdC9yZWZmeS1yZXBvcnRzKQorLy8gU291cmNlOiBCYWRnaW5nIEFQSSAoaHR0cHM6Ly93
M2MuZ2l0aHViLmlvL2JhZGdpbmcvKQorCisvLyBNZXRob2RzIG9ubHkgZXhwb3NlZCBvbiBkb2N1
bWVudHMuCitbU2VjdXJlQ29udGV4dF0KK3BhcnRpYWwgaW50ZXJmYWNlIE5hdmlnYXRvciB7Cisg
IFByb21pc2U8dm9pZD4gc2V0Q2xpZW50QmFkZ2Uob3B0aW9uYWwgW0VuZm9yY2VSYW5nZV0gdW5z
aWduZWQgbG9uZyBsb25nIGNvbnRlbnRzKTsKKyAgUHJvbWlzZTx2b2lkPiBjbGVhckNsaWVudEJh
ZGdlKCk7Cit9OworCisvLyBNZXRob2RzIGV4cG9zZWQgb24gYm90aCBkb2N1bWVudHMgYW5kIHNl
cnZpY2Ugd29ya2Vycy4KK1tTZWN1cmVDb250ZXh0XQoraW50ZXJmYWNlIG1peGluIE5hdmlnYXRv
ckJhZGdlIHsKKyAgUHJvbWlzZTx2b2lkPiBzZXRBcHBCYWRnZShvcHRpb25hbCBbRW5mb3JjZVJh
bmdlXSB1bnNpZ25lZCBsb25nIGxvbmcgY29udGVudHMpOworICBQcm9taXNlPHZvaWQ+IGNsZWFy
QXBwQmFkZ2UoKTsKK307CisKK05hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JCYWRnZTsKK1dv
cmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JCYWRnZTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9jbGlwYm9h
cmQtYXBpcy5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ludGVyZmFjZXMvY2xpcGJvYXJkLWFwaXMuaWRsCmluZGV4IDllMzUyODc2OTZiLi5jOTkxMTMw
NTllYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9pbnRlcmZhY2VzL2NsaXBib2FyZC1hcGlzLmlkbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvY2xpcGJvYXJkLWFwaXMuaWRs
CkBAIC03LDggKzcsOSBAQCBkaWN0aW9uYXJ5IENsaXBib2FyZEV2ZW50SW5pdCA6IEV2ZW50SW5p
dCB7CiAgIERhdGFUcmFuc2Zlcj8gY2xpcGJvYXJkRGF0YSA9IG51bGw7CiB9OwogCi1bQ29uc3Ry
dWN0b3IoRE9NU3RyaW5nIHR5cGUsIG9wdGlvbmFsIENsaXBib2FyZEV2ZW50SW5pdCBldmVudElu
aXREaWN0ID0ge30pLCBFeHBvc2VkPVdpbmRvd10KK1tFeHBvc2VkPVdpbmRvd10KIGludGVyZmFj
ZSBDbGlwYm9hcmRFdmVudCA6IEV2ZW50IHsKKyAgY29uc3RydWN0b3IoRE9NU3RyaW5nIHR5cGUs
IG9wdGlvbmFsIENsaXBib2FyZEV2ZW50SW5pdCBldmVudEluaXREaWN0ID0ge30pOwogICByZWFk
b25seSBhdHRyaWJ1dGUgRGF0YVRyYW5zZmVyPyBjbGlwYm9hcmREYXRhOwogfTsKIApAQCAtMzAs
OSArMzEsOSBAQCB0eXBlZGVmIFByb21pc2U8Q2xpcGJvYXJkSXRlbURhdGFUeXBlPiBDbGlwYm9h
cmRJdGVtRGF0YTsKIAogY2FsbGJhY2sgQ2xpcGJvYXJkSXRlbURlbGF5ZWRDYWxsYmFjayA9IENs
aXBib2FyZEl0ZW1EYXRhICgpOwogCi1bQ29uc3RydWN0b3IocmVjb3JkPERPTVN0cmluZywgQ2xp
cGJvYXJkSXRlbURhdGE+IGl0ZW1zLAotICAgIG9wdGlvbmFsIENsaXBib2FyZEl0ZW1PcHRpb25z
IG9wdGlvbnMgPSB7fSksCi0gRXhwb3NlZD1XaW5kb3ddIGludGVyZmFjZSBDbGlwYm9hcmRJdGVt
IHsKK1tFeHBvc2VkPVdpbmRvd10gaW50ZXJmYWNlIENsaXBib2FyZEl0ZW0geworICBjb25zdHJ1
Y3RvcihyZWNvcmQ8RE9NU3RyaW5nLCBDbGlwYm9hcmRJdGVtRGF0YT4gaXRlbXMsCisgICAgb3B0
aW9uYWwgQ2xpcGJvYXJkSXRlbU9wdGlvbnMgb3B0aW9ucyA9IHt9KTsKICAgc3RhdGljIENsaXBi
b2FyZEl0ZW0gY3JlYXRlRGVsYXllZCgKICAgICAgIHJlY29yZDxET01TdHJpbmcsIENsaXBib2Fy
ZEl0ZW1EZWxheWVkQ2FsbGJhY2s+IGl0ZW1zLAogICAgICAgb3B0aW9uYWwgQ2xpcGJvYXJkSXRl
bU9wdGlvbnMgb3B0aW9ucyA9IHt9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9jb25zdHJ1Y3Qtc3R5bGVzaGVldHMu
aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZh
Y2VzL2NvbnN0cnVjdC1zdHlsZXNoZWV0cy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAuLjM1MTIxODY2ZjY2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2NvbnN0cnVjdC1zdHls
ZXNoZWV0cy5pZGwKQEAgLTAsMCArMSwyMSBAQAorLy8gR0VORVJBVEVEIENPTlRFTlQgLSBETyBO
T1QgRURJVAorLy8gQ29udGVudCB3YXMgYXV0b21hdGljYWxseSBleHRyYWN0ZWQgYnkgUmVmZnkg
aW50byByZWZmeS1yZXBvcnRzCisvLyAoaHR0cHM6Ly9naXRodWIuY29tL3RpZG91c3QvcmVmZnkt
cmVwb3J0cykKKy8vIFNvdXJjZTogQ29uc3RydWN0YWJsZSBTdHlsZXNoZWV0IE9iamVjdHMgKGh0
dHBzOi8vd2ljZy5naXRodWIuaW8vY29uc3RydWN0LXN0eWxlc2hlZXRzLykKKworcGFydGlhbCBp
bnRlcmZhY2UgQ1NTU3R5bGVTaGVldCB7CisgIGNvbnN0cnVjdG9yKG9wdGlvbmFsIENTU1N0eWxl
U2hlZXRJbml0IG9wdGlvbnMgPSB7fSk7CisgIFByb21pc2U8Q1NTU3R5bGVTaGVldD4gcmVwbGFj
ZShVU1ZTdHJpbmcgdGV4dCk7CisgIHZvaWQgcmVwbGFjZVN5bmMoVVNWU3RyaW5nIHRleHQpOwor
fTsKKworZGljdGlvbmFyeSBDU1NTdHlsZVNoZWV0SW5pdCB7CisgIChNZWRpYUxpc3Qgb3IgRE9N
U3RyaW5nKSBtZWRpYSA9ICIiOworICBET01TdHJpbmcgdGl0bGUgPSAiIjsKKyAgYm9vbGVhbiBh
bHRlcm5hdGUgPSBmYWxzZTsKKyAgYm9vbGVhbiBkaXNhYmxlZCA9IGZhbHNlOworfTsKKworcGFy
dGlhbCBpbnRlcmZhY2UgbWl4aW4gRG9jdW1lbnRPclNoYWRvd1Jvb3QgeworICBhdHRyaWJ1dGUg
RnJvemVuQXJyYXk8Q1NTU3R5bGVTaGVldD4gYWRvcHRlZFN0eWxlU2hlZXRzOworfTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJm
YWNlcy9jb29raWUtc3RvcmUuaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2Nvb2tpZS1zdG9yZS5pZGwKaW5kZXggM2UxYTkwYWI2M2Yu
LmIzMmNmNmI5ZDhkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvY29va2llLXN0b3JlLmlkbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvY29va2llLXN0b3Jl
LmlkbApAQCAtMTksMTIgKzE5LDYgQEAgaW50ZXJmYWNlIENvb2tpZVN0b3JlIDogRXZlbnRUYXJn
ZXQgewogICBQcm9taXNlPHZvaWQ+IGRlbGV0ZShVU1ZTdHJpbmcgbmFtZSk7CiAgIFByb21pc2U8
dm9pZD4gZGVsZXRlKENvb2tpZVN0b3JlRGVsZXRlT3B0aW9ucyBvcHRpb25zKTsKIAotICBbRXhw
b3NlZD1TZXJ2aWNlV29ya2VyXQotICBQcm9taXNlPHZvaWQ+IHN1YnNjcmliZVRvQ2hhbmdlcyhz
ZXF1ZW5jZTxDb29raWVTdG9yZUdldE9wdGlvbnM+IHN1YnNjcmlwdGlvbnMpOwotCi0gIFtFeHBv
c2VkPVNlcnZpY2VXb3JrZXJdCi0gIFByb21pc2U8c2VxdWVuY2U8Q29va2llU3RvcmVHZXRPcHRp
b25zPj4gZ2V0Q2hhbmdlU3Vic2NyaXB0aW9ucygpOwotCiAgIFtFeHBvc2VkPVdpbmRvd10KICAg
YXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmNoYW5nZTsKIH07CkBAIC01MCw3ICs0NCw2IEBAIGRp
Y3Rpb25hcnkgQ29va2llU3RvcmVTZXRPcHRpb25zIHsKICAgRE9NVGltZVN0YW1wPyBleHBpcmVz
ID0gbnVsbDsKICAgVVNWU3RyaW5nPyBkb21haW4gPSBudWxsOwogICBVU1ZTdHJpbmcgcGF0aCA9
ICIvIjsKLSAgYm9vbGVhbiBzZWN1cmUgPSB0cnVlOwogICBDb29raWVTYW1lU2l0ZSBzYW1lU2l0
ZSA9ICJzdHJpY3QiOwogfTsKIApAQCAtNzcsNiArNzAsMTkgQEAgZGljdGlvbmFyeSBDb29raWVM
aXN0SXRlbSB7CiAKIHR5cGVkZWYgc2VxdWVuY2U8Q29va2llTGlzdEl0ZW0+IENvb2tpZUxpc3Q7
CiAKK1tFeHBvc2VkPShTZXJ2aWNlV29ya2VyLFdpbmRvdyksCisgU2VjdXJlQ29udGV4dF0KK2lu
dGVyZmFjZSBDb29raWVTdG9yZU1hbmFnZXIgeworICBQcm9taXNlPHZvaWQ+IHN1YnNjcmliZShz
ZXF1ZW5jZTxDb29raWVTdG9yZUdldE9wdGlvbnM+IHN1YnNjcmlwdGlvbnMpOworICBQcm9taXNl
PHNlcXVlbmNlPENvb2tpZVN0b3JlR2V0T3B0aW9ucz4+IGdldFN1YnNjcmlwdGlvbnMoKTsKKyAg
UHJvbWlzZTx2b2lkPiB1bnN1YnNjcmliZShzZXF1ZW5jZTxDb29raWVTdG9yZUdldE9wdGlvbnM+
IHN1YnNjcmlwdGlvbnMpOworfTsKKworW0V4cG9zZWQ9KFNlcnZpY2VXb3JrZXIsV2luZG93KV0K
K3BhcnRpYWwgaW50ZXJmYWNlIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24geworICByZWFkb25s
eSBhdHRyaWJ1dGUgQ29va2llU3RvcmVNYW5hZ2VyIGNvb2tpZXM7Cit9OworCiBbRXhwb3NlZD1X
aW5kb3csCiAgU2VjdXJlQ29udGV4dF0KIGludGVyZmFjZSBDb29raWVDaGFuZ2VFdmVudCA6IEV2
ZW50IHsKQEAgLTkwLDggKzk2LDggQEAgZGljdGlvbmFyeSBDb29raWVDaGFuZ2VFdmVudEluaXQg
OiBFdmVudEluaXQgewogICBDb29raWVMaXN0IGRlbGV0ZWQ7CiB9OwogCi1bRXhwb3NlZD1TZXJ2
aWNlV29ya2VyCi1dIGludGVyZmFjZSBFeHRlbmRhYmxlQ29va2llQ2hhbmdlRXZlbnQgOiBFeHRl
bmRhYmxlRXZlbnQgeworW0V4cG9zZWQ9U2VydmljZVdvcmtlcl0KK2ludGVyZmFjZSBFeHRlbmRh
YmxlQ29va2llQ2hhbmdlRXZlbnQgOiBFeHRlbmRhYmxlRXZlbnQgewogICBjb25zdHJ1Y3RvcihE
T01TdHJpbmcgdHlwZSwgb3B0aW9uYWwgRXh0ZW5kYWJsZUNvb2tpZUNoYW5nZUV2ZW50SW5pdCBl
dmVudEluaXREaWN0ID0ge30pOwogICByZWFkb25seSBhdHRyaWJ1dGUgQ29va2llTGlzdCBjaGFu
Z2VkOwogICByZWFkb25seSBhdHRyaWJ1dGUgQ29va2llTGlzdCBkZWxldGVkOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2Vz
L2Nzcy1mb250LWxvYWRpbmcuaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2Nzcy1mb250LWxvYWRpbmcuaWRsCmluZGV4IDJiYmMzNWEy
NTkxLi45MzZkZWQ3ODhiYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2Nzcy1mb250LWxvYWRpbmcuaWRsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9jc3Mt
Zm9udC1sb2FkaW5nLmlkbApAQCAtMTgsMTAgKzE4LDEwIEBAIGRpY3Rpb25hcnkgRm9udEZhY2VE
ZXNjcmlwdG9ycyB7CiAKIGVudW0gRm9udEZhY2VMb2FkU3RhdHVzIHsgInVubG9hZGVkIiwgImxv
YWRpbmciLCAibG9hZGVkIiwgImVycm9yIiB9OwogCi1bQ29uc3RydWN0b3IoQ1NTT01TdHJpbmcg
ZmFtaWx5LCAoQ1NTT01TdHJpbmcgb3IgQmluYXJ5RGF0YSkgc291cmNlLAotICAgICAgICAgICAg
IG9wdGlvbmFsIEZvbnRGYWNlRGVzY3JpcHRvcnMgZGVzY3JpcHRvcnMpLAotIEV4cG9zZWQ9KFdp
bmRvdyxXb3JrZXIpXQorW0V4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpXQogaW50ZXJmYWNlIEZvbnRG
YWNlIHsKKyAgY29uc3RydWN0b3IoQ1NTT01TdHJpbmcgZmFtaWx5LCAoQ1NTT01TdHJpbmcgb3Ig
QmluYXJ5RGF0YSkgc291cmNlLAorICAgICAgICAgICAgICAgIG9wdGlvbmFsIEZvbnRGYWNlRGVz
Y3JpcHRvcnMgZGVzY3JpcHRvcnMgPSB7fSk7CiAgIGF0dHJpYnV0ZSBDU1NPTVN0cmluZyBmYW1p
bHk7CiAgIGF0dHJpYnV0ZSBDU1NPTVN0cmluZyBzdHlsZTsKICAgYXR0cmlidXRlIENTU09NU3Ry
aW5nIHdlaWdodDsKQEAgLTQyLDkgKzQyLDkgQEAgZGljdGlvbmFyeSBGb250RmFjZVNldExvYWRF
dmVudEluaXQgOiBFdmVudEluaXQgewogICBzZXF1ZW5jZTxGb250RmFjZT4gZm9udGZhY2VzID0g
W107CiB9OwogCi1bQ29uc3RydWN0b3IoQ1NTT01TdHJpbmcgdHlwZSwgb3B0aW9uYWwgRm9udEZh
Y2VTZXRMb2FkRXZlbnRJbml0IGV2ZW50SW5pdERpY3QpLAotIEV4cG9zZWQ9KFdpbmRvdyxXb3Jr
ZXIpXQorW0V4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpXQogaW50ZXJmYWNlIEZvbnRGYWNlU2V0TG9h
ZEV2ZW50IDogRXZlbnQgeworICBjb25zdHJ1Y3RvcihDU1NPTVN0cmluZyB0eXBlLCBvcHRpb25h
bCBGb250RmFjZVNldExvYWRFdmVudEluaXQgZXZlbnRJbml0RGljdCA9IHt9KTsKICAgW1NhbWVP
YmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBGcm96ZW5BcnJheTxGb250RmFjZT4gZm9udGZhY2Vz
OwogfTsKIApAQCAtNTIsOSArNTIsMTAgQEAgZW51bSBGb250RmFjZVNldExvYWRTdGF0dXMgeyAi
bG9hZGluZyIsICJsb2FkZWQiIH07CiAKIGNhbGxiYWNrIEZvckVhY2hDYWxsYmFjayA9IHZvaWQg
KEZvbnRGYWNlIGZvbnQsIGxvbmcgaW5kZXgsIEZvbnRGYWNlU2V0IHNlbGYpOwogCi1bRXhwb3Nl
ZD0oV2luZG93LFdvcmtlciksCi0gQ29uc3RydWN0b3Ioc2VxdWVuY2U8Rm9udEZhY2U+IGluaXRp
YWxGYWNlcyldCitbRXhwb3NlZD0oV2luZG93LFdvcmtlcildCiBpbnRlcmZhY2UgRm9udEZhY2VT
ZXQgOiBFdmVudFRhcmdldCB7CisgIGNvbnN0cnVjdG9yKHNlcXVlbmNlPEZvbnRGYWNlPiBpbml0
aWFsRmFjZXMpOworCiAgIC8vIEZvbnRGYWNlU2V0IGlzIFNldC1saWtlIQogICBzZXRsaWtlPEZv
bnRGYWNlPjsKICAgRm9udEZhY2VTZXQgYWRkKEZvbnRGYWNlIGZvbnQpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2Nz
cy1yZWdpb25zLmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaW50ZXJmYWNlcy9jc3MtcmVnaW9ucy5pZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGY3Y2YzZDMxYTExLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvY3NzLXJlZ2lvbnMuaWRsCisrKyAvZGV2
L251bGwKQEAgLTEsMzMgKzAsMCBAQAotLy8gR0VORVJBVEVEIENPTlRFTlQgLSBETyBOT1QgRURJ
VAotLy8gQ29udGVudCB3YXMgYXV0b21hdGljYWxseSBleHRyYWN0ZWQgYnkgUmVmZnkgaW50byBy
ZWZmeS1yZXBvcnRzCi0vLyAoaHR0cHM6Ly9naXRodWIuY29tL3RpZG91c3QvcmVmZnktcmVwb3J0
cykKLS8vIFNvdXJjZTogQ1NTIFJlZ2lvbnMgTW9kdWxlIExldmVsIDEgKGh0dHBzOi8vZHJhZnRz
LmNzc3dnLm9yZy9jc3MtcmVnaW9ucy8pCi0KLXBhcnRpYWwgaW50ZXJmYWNlIERvY3VtZW50IHsK
LSAgcmVhZG9ubHkgYXR0cmlidXRlIE5hbWVkRmxvd01hcCBuYW1lZEZsb3dzOwotfTsKLQotW0V4
cG9zZWQ9V2luZG93LAotIE1hcENsYXNzPShDU1NPTVN0cmluZywgTmFtZWRGbG93KV0gaW50ZXJm
YWNlIE5hbWVkRmxvd01hcCB7Ci0gIE5hbWVkRmxvdz8gZ2V0KENTU09NU3RyaW5nIGZsb3dOYW1l
KTsKLSAgYm9vbGVhbiBoYXMoQ1NTT01TdHJpbmcgZmxvd05hbWUpOwotICBOYW1lZEZsb3dNYXAg
c2V0KENTU09NU3RyaW5nIGZsb3dOYW1lLCBOYW1lZEZsb3cgZmxvd1ZhbHVlKTsKLSAgYm9vbGVh
biBkZWxldGUoQ1NTT01TdHJpbmcgZmxvd05hbWUpOwotfTsKLQotW0V4cG9zZWQ9V2luZG93XQot
aW50ZXJmYWNlIE5hbWVkRmxvdyA6IEV2ZW50VGFyZ2V0IHsKLSAgcmVhZG9ubHkgYXR0cmlidXRl
IENTU09NU3RyaW5nIG5hbWU7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIG92ZXJzZXQ7
Ci0gIHNlcXVlbmNlPFJlZ2lvbj4gZ2V0UmVnaW9ucygpOwotICByZWFkb25seSBhdHRyaWJ1dGUg
c2hvcnQgZmlyc3RFbXB0eVJlZ2lvbkluZGV4OwotICBzZXF1ZW5jZTxOb2RlPiBnZXRDb250ZW50
KCk7Ci0gIHNlcXVlbmNlPFJlZ2lvbj4gZ2V0UmVnaW9uc0J5Q29udGVudChOb2RlIG5vZGUpOwot
fTsKLQotaW50ZXJmYWNlIG1peGluIFJlZ2lvbiB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBDU1NP
TVN0cmluZyByZWdpb25PdmVyc2V0OwotICBzZXF1ZW5jZTxSYW5nZT4/IGdldFJlZ2lvbkZsb3dS
YW5nZXMoKTsKLX07Ci0KLUVsZW1lbnQgaW5jbHVkZXMgUmVnaW9uOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2Nzcy1z
aGFkb3ctcGFydHMuaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9pbnRlcmZhY2VzL2Nzcy1zaGFkb3ctcGFydHMuaWRsCmluZGV4IDY2YWFlYmE3M2E3Li5j
NDcwZThlN2RjOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2Nzcy1zaGFkb3ctcGFydHMuaWRsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9jc3Mtc2hhZG93
LXBhcnRzLmlkbApAQCAtMSw3ICsxLDcgQEAKIC8vIEdFTkVSQVRFRCBDT05URU5UIC0gRE8gTk9U
IEVESVQKIC8vIENvbnRlbnQgd2FzIGF1dG9tYXRpY2FsbHkgZXh0cmFjdGVkIGJ5IFJlZmZ5IGlu
dG8gcmVmZnktcmVwb3J0cwogLy8gKGh0dHBzOi8vZ2l0aHViLmNvbS90aWRvdXN0L3JlZmZ5LXJl
cG9ydHMpCi0vLyBTb3VyY2U6IENTUyBTaGFkb3cgUGFydHMgKGh0dHA6Ly9kcmFmdHMuY3Nzd2cu
b3JnL2Nzcy1zaGFkb3ctcGFydHMvKQorLy8gU291cmNlOiBDU1MgU2hhZG93IFBhcnRzIChodHRw
czovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXNoYWRvdy1wYXJ0cy8pCiAKIHBhcnRpYWwgaW50ZXJm
YWNlIEVsZW1lbnQgewogICBbU2FtZU9iamVjdCwgUHV0Rm9yd2FyZHM9dmFsdWVdIHJlYWRvbmx5
IGF0dHJpYnV0ZSBET01Ub2tlbkxpc3QgcGFydDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9jc3MtdHlwZWQtb20uaWRs
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2Vz
L2Nzcy10eXBlZC1vbS5pZGwKaW5kZXggZGY5NjY5ZTU2MzcuLjAwZDNmNDliZmU2IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFj
ZXMvY3NzLXR5cGVkLW9tLmlkbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvY3NzLXR5cGVkLW9tLmlkbApAQCAtNDEsOSArNDEsOSBA
QCBwYXJ0aWFsIGludGVyZmFjZSBtaXhpbiBFbGVtZW50Q1NTSW5saW5lU3R5bGUgewogICAgIFtT
YW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgU3R5bGVQcm9wZXJ0eU1hcCBhdHRyaWJ1dGVT
dHlsZU1hcDsKIH07CiAKLVtFeHBvc2VkPShXaW5kb3csIFdvcmtlciwgUGFpbnRXb3JrbGV0LCBM
YXlvdXRXb3JrbGV0KSwKLSBDb25zdHJ1Y3RvcihzZXF1ZW5jZTxDU1NVbnBhcnNlZFNlZ21lbnQ+
IG1lbWJlcnMpXQorW0V4cG9zZWQ9KFdpbmRvdywgV29ya2VyLCBQYWludFdvcmtsZXQsIExheW91
dFdvcmtsZXQpXQogaW50ZXJmYWNlIENTU1VucGFyc2VkVmFsdWUgOiBDU1NTdHlsZVZhbHVlIHsK
KyAgICBjb25zdHJ1Y3RvcihzZXF1ZW5jZTxDU1NVbnBhcnNlZFNlZ21lbnQ+IG1lbWJlcnMpOwog
ICAgIGl0ZXJhYmxlPENTU1VucGFyc2VkU2VnbWVudD47CiAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IHVuc2lnbmVkIGxvbmcgbGVuZ3RoOwogICAgIGdldHRlciBDU1NVbnBhcnNlZFNlZ21lbnQgKHVu
c2lnbmVkIGxvbmcgaW5kZXgpOwpAQCAtNTIsMTYgKzUyLDE2IEBAIGludGVyZmFjZSBDU1NVbnBh
cnNlZFZhbHVlIDogQ1NTU3R5bGVWYWx1ZSB7CiAKIHR5cGVkZWYgKFVTVlN0cmluZyBvciBDU1NW
YXJpYWJsZVJlZmVyZW5jZVZhbHVlKSBDU1NVbnBhcnNlZFNlZ21lbnQ7CiAKLVtFeHBvc2VkPShX
aW5kb3csIFdvcmtlciwgUGFpbnRXb3JrbGV0LCBMYXlvdXRXb3JrbGV0KSwKLSBDb25zdHJ1Y3Rv
cihVU1ZTdHJpbmcgdmFyaWFibGUsIG9wdGlvbmFsIENTU1VucGFyc2VkVmFsdWU/IGZhbGxiYWNr
ID0gbnVsbCldCitbRXhwb3NlZD0oV2luZG93LCBXb3JrZXIsIFBhaW50V29ya2xldCwgTGF5b3V0
V29ya2xldCldCiBpbnRlcmZhY2UgQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZSB7CisgICAgY29u
c3RydWN0b3IoVVNWU3RyaW5nIHZhcmlhYmxlLCBvcHRpb25hbCBDU1NVbnBhcnNlZFZhbHVlPyBm
YWxsYmFjayA9IG51bGwpOwogICAgIGF0dHJpYnV0ZSBVU1ZTdHJpbmcgdmFyaWFibGU7CiAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIENTU1VucGFyc2VkVmFsdWU/IGZhbGxiYWNrOwogfTsKIAotW0V4
cG9zZWQ9KFdpbmRvdywgV29ya2VyLCBQYWludFdvcmtsZXQsIExheW91dFdvcmtsZXQpLAotIENv
bnN0cnVjdG9yKFVTVlN0cmluZyB2YWx1ZSldCitbRXhwb3NlZD0oV2luZG93LCBXb3JrZXIsIFBh
aW50V29ya2xldCwgTGF5b3V0V29ya2xldCldCiBpbnRlcmZhY2UgQ1NTS2V5d29yZFZhbHVlIDog
Q1NTU3R5bGVWYWx1ZSB7CisgICAgY29uc3RydWN0b3IoVVNWU3RyaW5nIHZhbHVlKTsKICAgICBh
dHRyaWJ1dGUgVVNWU3RyaW5nIHZhbHVlOwogfTsKIApAQCAtMTA4LDkgKzEwOCw5IEBAIGludGVy
ZmFjZSBDU1NOdW1lcmljVmFsdWUgOiBDU1NTdHlsZVZhbHVlIHsKICAgICBbRXhwb3NlZD1XaW5k
b3ddIHN0YXRpYyBDU1NOdW1lcmljVmFsdWUgcGFyc2UoVVNWU3RyaW5nIGNzc1RleHQpOwogfTsK
IAotW0V4cG9zZWQ9KFdpbmRvdywgV29ya2VyLCBQYWludFdvcmtsZXQsIExheW91dFdvcmtsZXQp
LAotIENvbnN0cnVjdG9yKGRvdWJsZSB2YWx1ZSwgVVNWU3RyaW5nIHVuaXQpXQorW0V4cG9zZWQ9
KFdpbmRvdywgV29ya2VyLCBQYWludFdvcmtsZXQsIExheW91dFdvcmtsZXQpXQogaW50ZXJmYWNl
IENTU1VuaXRWYWx1ZSA6IENTU051bWVyaWNWYWx1ZSB7CisgICAgY29uc3RydWN0b3IoZG91Ymxl
IHZhbHVlLCBVU1ZTdHJpbmcgdW5pdCk7CiAgICAgYXR0cmlidXRlIGRvdWJsZSB2YWx1ZTsKICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgVVNWU3RyaW5nIHVuaXQ7CiB9OwpAQCAtMTIwLDQ1ICsxMjAs
NDUgQEAgaW50ZXJmYWNlIENTU01hdGhWYWx1ZSA6IENTU051bWVyaWNWYWx1ZSB7CiAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIENTU01hdGhPcGVyYXRvciBvcGVyYXRvcjsKIH07CiAKLVtFeHBvc2Vk
PShXaW5kb3csIFdvcmtlciwgUGFpbnRXb3JrbGV0LCBMYXlvdXRXb3JrbGV0KSwKLSBDb25zdHJ1
Y3RvcihDU1NOdW1iZXJpc2guLi4gYXJncyldCitbRXhwb3NlZD0oV2luZG93LCBXb3JrZXIsIFBh
aW50V29ya2xldCwgTGF5b3V0V29ya2xldCldCiBpbnRlcmZhY2UgQ1NTTWF0aFN1bSA6IENTU01h
dGhWYWx1ZSB7CisgICAgY29uc3RydWN0b3IoQ1NTTnVtYmVyaXNoLi4uIGFyZ3MpOwogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBDU1NOdW1lcmljQXJyYXkgdmFsdWVzOwogfTsKIAotW0V4cG9zZWQ9
KFdpbmRvdywgV29ya2VyLCBQYWludFdvcmtsZXQsIExheW91dFdvcmtsZXQpLAotIENvbnN0cnVj
dG9yKENTU051bWJlcmlzaC4uLiBhcmdzKV0KK1tFeHBvc2VkPShXaW5kb3csIFdvcmtlciwgUGFp
bnRXb3JrbGV0LCBMYXlvdXRXb3JrbGV0KV0KIGludGVyZmFjZSBDU1NNYXRoUHJvZHVjdCA6IENT
U01hdGhWYWx1ZSB7CisgICAgY29uc3RydWN0b3IoQ1NTTnVtYmVyaXNoLi4uIGFyZ3MpOwogICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBDU1NOdW1lcmljQXJyYXkgdmFsdWVzOwogfTsKIAotW0V4cG9z
ZWQ9KFdpbmRvdywgV29ya2VyLCBQYWludFdvcmtsZXQsIExheW91dFdvcmtsZXQpLAotIENvbnN0
cnVjdG9yKENTU051bWJlcmlzaCBhcmcpXQorW0V4cG9zZWQ9KFdpbmRvdywgV29ya2VyLCBQYWlu
dFdvcmtsZXQsIExheW91dFdvcmtsZXQpXQogaW50ZXJmYWNlIENTU01hdGhOZWdhdGUgOiBDU1NN
YXRoVmFsdWUgeworICAgIGNvbnN0cnVjdG9yKENTU051bWJlcmlzaCBhcmcpOwogICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBDU1NOdW1lcmljVmFsdWUgdmFsdWU7CiB9OwogCi1bRXhwb3NlZD0oV2lu
ZG93LCBXb3JrZXIsIFBhaW50V29ya2xldCwgTGF5b3V0V29ya2xldCksCi0gQ29uc3RydWN0b3Io
Q1NTTnVtYmVyaXNoIGFyZyldCitbRXhwb3NlZD0oV2luZG93LCBXb3JrZXIsIFBhaW50V29ya2xl
dCwgTGF5b3V0V29ya2xldCldCiBpbnRlcmZhY2UgQ1NTTWF0aEludmVydCA6IENTU01hdGhWYWx1
ZSB7CisgICAgY29uc3RydWN0b3IoQ1NTTnVtYmVyaXNoIGFyZyk7CiAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIENTU051bWVyaWNWYWx1ZSB2YWx1ZTsKIH07CiAKLVtFeHBvc2VkPShXaW5kb3csIFdv
cmtlciwgUGFpbnRXb3JrbGV0LCBMYXlvdXRXb3JrbGV0KSwKLSBDb25zdHJ1Y3RvcihDU1NOdW1i
ZXJpc2guLi4gYXJncyldCitbRXhwb3NlZD0oV2luZG93LCBXb3JrZXIsIFBhaW50V29ya2xldCwg
TGF5b3V0V29ya2xldCldCiBpbnRlcmZhY2UgQ1NTTWF0aE1pbiA6IENTU01hdGhWYWx1ZSB7Cisg
ICAgY29uc3RydWN0b3IoQ1NTTnVtYmVyaXNoLi4uIGFyZ3MpOwogICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBDU1NOdW1lcmljQXJyYXkgdmFsdWVzOwogfTsKIAotW0V4cG9zZWQ9KFdpbmRvdywgV29y
a2VyLCBQYWludFdvcmtsZXQsIExheW91dFdvcmtsZXQpLAotIENvbnN0cnVjdG9yKENTU051bWJl
cmlzaC4uLiBhcmdzKV0KK1tFeHBvc2VkPShXaW5kb3csIFdvcmtlciwgUGFpbnRXb3JrbGV0LCBM
YXlvdXRXb3JrbGV0KV0KIGludGVyZmFjZSBDU1NNYXRoTWF4IDogQ1NTTWF0aFZhbHVlIHsKKyAg
ICBjb25zdHJ1Y3RvcihDU1NOdW1iZXJpc2guLi4gYXJncyk7CiAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIENTU051bWVyaWNBcnJheSB2YWx1ZXM7CiB9OwogCi1bRXhwb3NlZD0oV2luZG93LCBXb3Jr
ZXIsIFBhaW50V29ya2xldCwgTGF5b3V0V29ya2xldCksCi0gQ29uc3RydWN0b3IoQ1NTTnVtYmVy
aXNoIG1pbiwgQ1NTTnVtYmVyaXNoIHZhbCwgQ1NTTnVtYmVyaXNoIG1heCldCitbRXhwb3NlZD0o
V2luZG93LCBXb3JrZXIsIFBhaW50V29ya2xldCwgTGF5b3V0V29ya2xldCldCiBpbnRlcmZhY2Ug
Q1NTTWF0aENsYW1wIDogQ1NTTWF0aFZhbHVlIHsKKyAgICBjb25zdHJ1Y3RvcihDU1NOdW1iZXJp
c2ggbWluLCBDU1NOdW1iZXJpc2ggdmFsLCBDU1NOdW1iZXJpc2ggbWF4KTsKICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgQ1NTTnVtZXJpY1ZhbHVlIG1pbjsKICAgICByZWFkb25seSBhdHRyaWJ1dGUg
Q1NTTnVtZXJpY1ZhbHVlIHZhbDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgQ1NTTnVtZXJpY1Zh
bHVlIG1heDsKQEAgLTIzMCw5ICsyMzAsOSBAQCBwYXJ0aWFsIG5hbWVzcGFjZSBDU1MgewogICAg
IENTU1VuaXRWYWx1ZSBmcihkb3VibGUgdmFsdWUpOwogfTsKIAotW0V4cG9zZWQ9KFdpbmRvdywg
V29ya2VyLCBQYWludFdvcmtsZXQsIExheW91dFdvcmtsZXQpLAotIENvbnN0cnVjdG9yKHNlcXVl
bmNlPENTU1RyYW5zZm9ybUNvbXBvbmVudD4gdHJhbnNmb3JtcyldCitbRXhwb3NlZD0oV2luZG93
LCBXb3JrZXIsIFBhaW50V29ya2xldCwgTGF5b3V0V29ya2xldCldCiBpbnRlcmZhY2UgQ1NTVHJh
bnNmb3JtVmFsdWUgOiBDU1NTdHlsZVZhbHVlIHsKKyAgICBjb25zdHJ1Y3RvcihzZXF1ZW5jZTxD
U1NUcmFuc2Zvcm1Db21wb25lbnQ+IHRyYW5zZm9ybXMpOwogICAgIGl0ZXJhYmxlPENTU1RyYW5z
Zm9ybUNvbXBvbmVudD47CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVu
Z3RoOwogICAgIGdldHRlciBDU1NUcmFuc2Zvcm1Db21wb25lbnQgKHVuc2lnbmVkIGxvbmcgaW5k
ZXgpOwpAQCAtMjQ5LDYzICsyNDksNjMgQEAgaW50ZXJmYWNlIENTU1RyYW5zZm9ybUNvbXBvbmVu
dCB7CiAgICAgRE9NTWF0cml4IHRvTWF0cml4KCk7CiB9OwogCi1bRXhwb3NlZD0oV2luZG93LCBX
b3JrZXIsIFBhaW50V29ya2xldCwgTGF5b3V0V29ya2xldCksCi0gQ29uc3RydWN0b3IoQ1NTTnVt
ZXJpY1ZhbHVlIHgsIENTU051bWVyaWNWYWx1ZSB5LCBvcHRpb25hbCBDU1NOdW1lcmljVmFsdWUg
eildCitbRXhwb3NlZD0oV2luZG93LCBXb3JrZXIsIFBhaW50V29ya2xldCwgTGF5b3V0V29ya2xl
dCldCiBpbnRlcmZhY2UgQ1NTVHJhbnNsYXRlIDogQ1NTVHJhbnNmb3JtQ29tcG9uZW50IHsKKyAg
ICBjb25zdHJ1Y3RvcihDU1NOdW1lcmljVmFsdWUgeCwgQ1NTTnVtZXJpY1ZhbHVlIHksIG9wdGlv
bmFsIENTU051bWVyaWNWYWx1ZSB6KTsKICAgICBhdHRyaWJ1dGUgQ1NTTnVtZXJpY1ZhbHVlIHg7
CiAgICAgYXR0cmlidXRlIENTU051bWVyaWNWYWx1ZSB5OwogICAgIGF0dHJpYnV0ZSBDU1NOdW1l
cmljVmFsdWUgejsKIH07CiAKLVtFeHBvc2VkPShXaW5kb3csIFdvcmtlciwgUGFpbnRXb3JrbGV0
LCBMYXlvdXRXb3JrbGV0KSwKLSBDb25zdHJ1Y3RvcihDU1NOdW1lcmljVmFsdWUgYW5nbGUpLAot
IENvbnN0cnVjdG9yKENTU051bWJlcmlzaCB4LCBDU1NOdW1iZXJpc2ggeSwgQ1NTTnVtYmVyaXNo
IHosIENTU051bWVyaWNWYWx1ZSBhbmdsZSldCitbRXhwb3NlZD0oV2luZG93LCBXb3JrZXIsIFBh
aW50V29ya2xldCwgTGF5b3V0V29ya2xldCldCiBpbnRlcmZhY2UgQ1NTUm90YXRlIDogQ1NTVHJh
bnNmb3JtQ29tcG9uZW50IHsKKyAgICBjb25zdHJ1Y3RvcihDU1NOdW1lcmljVmFsdWUgYW5nbGUp
OworICAgIGNvbnN0cnVjdG9yKENTU051bWJlcmlzaCB4LCBDU1NOdW1iZXJpc2ggeSwgQ1NTTnVt
YmVyaXNoIHosIENTU051bWVyaWNWYWx1ZSBhbmdsZSk7CiAgICAgYXR0cmlidXRlIENTU051bWJl
cmlzaCB4OwogICAgIGF0dHJpYnV0ZSBDU1NOdW1iZXJpc2ggeTsKICAgICBhdHRyaWJ1dGUgQ1NT
TnVtYmVyaXNoIHo7CiAgICAgYXR0cmlidXRlIENTU051bWVyaWNWYWx1ZSBhbmdsZTsKIH07CiAK
LVtFeHBvc2VkPShXaW5kb3csIFdvcmtlciwgUGFpbnRXb3JrbGV0LCBMYXlvdXRXb3JrbGV0KSwK
LSBDb25zdHJ1Y3RvcihDU1NOdW1iZXJpc2ggeCwgQ1NTTnVtYmVyaXNoIHksIG9wdGlvbmFsIENT
U051bWJlcmlzaCB6KV0KK1tFeHBvc2VkPShXaW5kb3csIFdvcmtlciwgUGFpbnRXb3JrbGV0LCBM
YXlvdXRXb3JrbGV0KV0KIGludGVyZmFjZSBDU1NTY2FsZSA6IENTU1RyYW5zZm9ybUNvbXBvbmVu
dCB7CisgICAgY29uc3RydWN0b3IoQ1NTTnVtYmVyaXNoIHgsIENTU051bWJlcmlzaCB5LCBvcHRp
b25hbCBDU1NOdW1iZXJpc2ggeik7CiAgICAgYXR0cmlidXRlIENTU051bWJlcmlzaCB4OwogICAg
IGF0dHJpYnV0ZSBDU1NOdW1iZXJpc2ggeTsKICAgICBhdHRyaWJ1dGUgQ1NTTnVtYmVyaXNoIHo7
CiB9OwogCi1bRXhwb3NlZD0oV2luZG93LCBXb3JrZXIsIFBhaW50V29ya2xldCwgTGF5b3V0V29y
a2xldCksCi0gQ29uc3RydWN0b3IoQ1NTTnVtZXJpY1ZhbHVlIGF4LCBDU1NOdW1lcmljVmFsdWUg
YXkpXQorW0V4cG9zZWQ9KFdpbmRvdywgV29ya2VyLCBQYWludFdvcmtsZXQsIExheW91dFdvcmts
ZXQpXQogaW50ZXJmYWNlIENTU1NrZXcgOiBDU1NUcmFuc2Zvcm1Db21wb25lbnQgeworICAgIGNv
bnN0cnVjdG9yKENTU051bWVyaWNWYWx1ZSBheCwgQ1NTTnVtZXJpY1ZhbHVlIGF5KTsKICAgICBh
dHRyaWJ1dGUgQ1NTTnVtZXJpY1ZhbHVlIGF4OwogICAgIGF0dHJpYnV0ZSBDU1NOdW1lcmljVmFs
dWUgYXk7CiB9OwogCi1bRXhwb3NlZD0oV2luZG93LCBXb3JrZXIsIFBhaW50V29ya2xldCwgTGF5
b3V0V29ya2xldCksCi0gQ29uc3RydWN0b3IoQ1NTTnVtZXJpY1ZhbHVlIGF4KV0KK1tFeHBvc2Vk
PShXaW5kb3csIFdvcmtlciwgUGFpbnRXb3JrbGV0LCBMYXlvdXRXb3JrbGV0KV0KIGludGVyZmFj
ZSBDU1NTa2V3WCA6IENTU1RyYW5zZm9ybUNvbXBvbmVudCB7CisgICAgY29uc3RydWN0b3IoQ1NT
TnVtZXJpY1ZhbHVlIGF4KTsKICAgICBhdHRyaWJ1dGUgQ1NTTnVtZXJpY1ZhbHVlIGF4OwogfTsK
IAotW0V4cG9zZWQ9KFdpbmRvdywgV29ya2VyLCBQYWludFdvcmtsZXQsIExheW91dFdvcmtsZXQp
LAotIENvbnN0cnVjdG9yKENTU051bWVyaWNWYWx1ZSBheSldCitbRXhwb3NlZD0oV2luZG93LCBX
b3JrZXIsIFBhaW50V29ya2xldCwgTGF5b3V0V29ya2xldCldCiBpbnRlcmZhY2UgQ1NTU2tld1kg
OiBDU1NUcmFuc2Zvcm1Db21wb25lbnQgeworICAgIGNvbnN0cnVjdG9yKENTU051bWVyaWNWYWx1
ZSBheSk7CiAgICAgYXR0cmlidXRlIENTU051bWVyaWNWYWx1ZSBheTsKIH07CiAKIC8qIE5vdGUg
dGhhdCBza2V3KHgseSkgaXMgKm5vdCogdGhlIHNhbWUgYXMgc2tld1goeCkgc2tld1koeSksCiAg
ICB0aHVzIHRoZSBzZXBhcmF0ZSBpbnRlcmZhY2VzIGZvciBhbGwgdGhyZWUuICovCiAKLVtFeHBv
c2VkPShXaW5kb3csIFdvcmtlciwgUGFpbnRXb3JrbGV0LCBMYXlvdXRXb3JrbGV0KSwKLSBDb25z
dHJ1Y3RvcihDU1NOdW1lcmljVmFsdWUgbGVuZ3RoKV0KK1tFeHBvc2VkPShXaW5kb3csIFdvcmtl
ciwgUGFpbnRXb3JrbGV0LCBMYXlvdXRXb3JrbGV0KV0KIGludGVyZmFjZSBDU1NQZXJzcGVjdGl2
ZSA6IENTU1RyYW5zZm9ybUNvbXBvbmVudCB7CisgICAgY29uc3RydWN0b3IoQ1NTTnVtZXJpY1Zh
bHVlIGxlbmd0aCk7CiAgICAgYXR0cmlidXRlIENTU051bWVyaWNWYWx1ZSBsZW5ndGg7CiB9Owog
Ci1bRXhwb3NlZD0oV2luZG93LCBXb3JrZXIsIFBhaW50V29ya2xldCwgTGF5b3V0V29ya2xldCks
Ci0gQ29uc3RydWN0b3IoRE9NTWF0cml4UmVhZE9ubHkgbWF0cml4LCBvcHRpb25hbCBDU1NNYXRy
aXhDb21wb25lbnRPcHRpb25zIG9wdGlvbnMgPSB7fSldCitbRXhwb3NlZD0oV2luZG93LCBXb3Jr
ZXIsIFBhaW50V29ya2xldCwgTGF5b3V0V29ya2xldCldCiBpbnRlcmZhY2UgQ1NTTWF0cml4Q29t
cG9uZW50IDogQ1NTVHJhbnNmb3JtQ29tcG9uZW50IHsKKyAgICBjb25zdHJ1Y3RvcihET01NYXRy
aXhSZWFkT25seSBtYXRyaXgsIG9wdGlvbmFsIENTU01hdHJpeENvbXBvbmVudE9wdGlvbnMgb3B0
aW9ucyA9IHt9KTsKICAgICBhdHRyaWJ1dGUgRE9NTWF0cml4IG1hdHJpeDsKIH07CiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJm
YWNlcy9jc3NvbS12aWV3LmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaW50ZXJmYWNlcy9jc3NvbS12aWV3LmlkbAppbmRleCAzNDAzNjQ4NDE5NS4uODI1
MTdmZWZjYzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaW50ZXJmYWNlcy9jc3NvbS12aWV3LmlkbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvY3Nzb20tdmlldy5pZGwKQEAg
LTIwLDcgKzIwLDcgQEAgcGFydGlhbCBpbnRlcmZhY2UgV2luZG93IHsKICAgICAvLyBicm93c2lu
ZyBjb250ZXh0CiAgICAgdm9pZCBtb3ZlVG8obG9uZyB4LCBsb25nIHkpOwogICAgIHZvaWQgbW92
ZUJ5KGxvbmcgeCwgbG9uZyB5KTsKLSAgICB2b2lkIHJlc2l6ZVRvKGxvbmcgeCwgbG9uZyB5KTsK
KyAgICB2b2lkIHJlc2l6ZVRvKGxvbmcgd2lkdGgsIGxvbmcgaGVpZ2h0KTsKICAgICB2b2lkIHJl
c2l6ZUJ5KGxvbmcgeCwgbG9uZyB5KTsKIAogICAgIC8vIHZpZXdwb3J0CkBAIC01OCw5ICs1OCw5
IEBAIGludGVyZmFjZSBNZWRpYVF1ZXJ5TGlzdCA6IEV2ZW50VGFyZ2V0IHsKICAgICAgICAgICAg
YXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmNoYW5nZTsKIH07CiAKLVtFeHBvc2VkPVdpbmRvdywK
LSBDb25zdHJ1Y3RvcihDU1NPTVN0cmluZyB0eXBlLCBvcHRpb25hbCBNZWRpYVF1ZXJ5TGlzdEV2
ZW50SW5pdCBldmVudEluaXREaWN0ID0ge30pXQorW0V4cG9zZWQ9V2luZG93XQogaW50ZXJmYWNl
IE1lZGlhUXVlcnlMaXN0RXZlbnQgOiBFdmVudCB7CisgIGNvbnN0cnVjdG9yKENTU09NU3RyaW5n
IHR5cGUsIG9wdGlvbmFsIE1lZGlhUXVlcnlMaXN0RXZlbnRJbml0IGV2ZW50SW5pdERpY3QgPSB7
fSk7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBDU1NPTVN0cmluZyBtZWRpYTsKICAgcmVhZG9ubHkg
YXR0cmlidXRlIGJvb2xlYW4gbWF0Y2hlczsKIH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvY3Nzb20uaWRsIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2Nzc29t
LmlkbAppbmRleCBkYzliNzhmZGE2MS4uYjdkOWMzM2Q1OTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9jc3NvbS5pZGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZh
Y2VzL2Nzc29tLmlkbApAQCAtMTQsNyArMTQsNyBAQCB0eXBlZGVmIERPTVN0cmluZyBDU1NPTVN0
cmluZzsKIAogW0V4cG9zZWQ9V2luZG93XQogaW50ZXJmYWNlIE1lZGlhTGlzdCB7Ci0gIHN0cmlu
Z2lmaWVyIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIENTU09NU3RyaW5nIG1l
ZGlhVGV4dDsKKyAgc3RyaW5naWZpZXIgYXR0cmlidXRlIFtMZWdhY3lOdWxsVG9FbXB0eVN0cmlu
Z10gQ1NTT01TdHJpbmcgbWVkaWFUZXh0OwogICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQg
bG9uZyBsZW5ndGg7CiAgIGdldHRlciBDU1NPTVN0cmluZz8gaXRlbSh1bnNpZ25lZCBsb25nIGlu
ZGV4KTsKICAgdm9pZCBhcHBlbmRNZWRpdW0oQ1NTT01TdHJpbmcgbWVkaXVtKTsKQEAgLTczLDcg
KzczLDcgQEAgaW50ZXJmYWNlIENTU1J1bGUgewogICByZWFkb25seSBhdHRyaWJ1dGUgQ1NTUnVs
ZT8gcGFyZW50UnVsZTsKICAgcmVhZG9ubHkgYXR0cmlidXRlIENTU1N0eWxlU2hlZXQ/IHBhcmVu
dFN0eWxlU2hlZXQ7CiAKLSAgLy8gdGhlIGZvbGxvd2luZyBhdHRyaWJ1dGUgYW5kIGNvbnN0YW50
cyBhcmUgaGlzdG9yaWFsCisgIC8vIHRoZSBmb2xsb3dpbmcgYXR0cmlidXRlIGFuZCBjb25zdGFu
dHMgYXJlIGhpc3RvcmljYWwKICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0IHR5
cGU7CiAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFNUWUxFX1JVTEUgPSAxOwogICBjb25zdCB1bnNp
Z25lZCBzaG9ydCBDSEFSU0VUX1JVTEUgPSAyOwpAQCAtMTMwLDEwICsxMzAsMTAgQEAgaW50ZXJm
YWNlIENTU1N0eWxlRGVjbGFyYXRpb24gewogICBnZXR0ZXIgQ1NTT01TdHJpbmcgaXRlbSh1bnNp
Z25lZCBsb25nIGluZGV4KTsKICAgQ1NTT01TdHJpbmcgZ2V0UHJvcGVydHlWYWx1ZShDU1NPTVN0
cmluZyBwcm9wZXJ0eSk7CiAgIENTU09NU3RyaW5nIGdldFByb3BlcnR5UHJpb3JpdHkoQ1NTT01T
dHJpbmcgcHJvcGVydHkpOwotICBbQ0VSZWFjdGlvbnNdIHZvaWQgc2V0UHJvcGVydHkoQ1NTT01T
dHJpbmcgcHJvcGVydHksIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gQ1NTT01TdHJpbmcgdmFs
dWUsIG9wdGlvbmFsIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gQ1NTT01TdHJpbmcgcHJpb3Jp
dHkgPSAiIik7CisgIFtDRVJlYWN0aW9uc10gdm9pZCBzZXRQcm9wZXJ0eShDU1NPTVN0cmluZyBw
cm9wZXJ0eSwgW0xlZ2FjeU51bGxUb0VtcHR5U3RyaW5nXSBDU1NPTVN0cmluZyB2YWx1ZSwgb3B0
aW9uYWwgW0xlZ2FjeU51bGxUb0VtcHR5U3RyaW5nXSBDU1NPTVN0cmluZyBwcmlvcml0eSA9ICIi
KTsKICAgW0NFUmVhY3Rpb25zXSBDU1NPTVN0cmluZyByZW1vdmVQcm9wZXJ0eShDU1NPTVN0cmlu
ZyBwcm9wZXJ0eSk7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBDU1NSdWxlPyBwYXJlbnRSdWxlOwot
ICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIENTU09N
U3RyaW5nIGNzc0Zsb2F0OworICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbTGVnYWN5TnVsbFRv
RW1wdHlTdHJpbmddIENTU09NU3RyaW5nIGNzc0Zsb2F0OwogfTsKIAogaW50ZXJmYWNlIG1peGlu
IEVsZW1lbnRDU1NJbmxpbmVTdHlsZSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvZGV2aWNlLW1lbW9yeS5pZGwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvZGV2
aWNlLW1lbW9yeS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmY2
NjQwMTNkZGVmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2RldmljZS1tZW1vcnkuaWRsCkBAIC0wLDAgKzEs
MTQgQEAKKy8vIEdFTkVSQVRFRCBDT05URU5UIC0gRE8gTk9UIEVESVQKKy8vIENvbnRlbnQgd2Fz
IGF1dG9tYXRpY2FsbHkgZXh0cmFjdGVkIGJ5IFJlZmZ5IGludG8gcmVmZnktcmVwb3J0cworLy8g
KGh0dHBzOi8vZ2l0aHViLmNvbS90aWRvdXN0L3JlZmZ5LXJlcG9ydHMpCisvLyBTb3VyY2U6IERl
dmljZSBNZW1vcnkgMSAoaHR0cHM6Ly93M2MuZ2l0aHViLmlvL2RldmljZS1tZW1vcnkvKQorCitb
CisgICAgU2VjdXJlQ29udGV4dCwKKyAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyKQorXSBpbnRl
cmZhY2UgbWl4aW4gTmF2aWdhdG9yRGV2aWNlTWVtb3J5IHsKKyAgICByZWFkb25seSBhdHRyaWJ1
dGUgZG91YmxlIGRldmljZU1lbW9yeTsKK307CisKK05hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0
b3JEZXZpY2VNZW1vcnk7CitXb3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yRGV2aWNl
TWVtb3J5OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9pbnRlcmZhY2VzL2RvbS5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvZG9tLmlkbAppbmRleCBmN2ExMGQ4OTBhYi4uMTAy
YzIzMTIzODEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaW50ZXJmYWNlcy9kb20uaWRsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9kb20uaWRsCkBAIC0zMCw3ICszMCw3IEBA
IGludGVyZmFjZSBFdmVudCB7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGRlZmF1bHRQ
cmV2ZW50ZWQ7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGNvbXBvc2VkOwogCi0gIFtV
bmZvcmdlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gaXNUcnVzdGVkOworICBbTGVn
YWN5VW5mb3JnZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGlzVHJ1c3RlZDsKICAg
cmVhZG9ubHkgYXR0cmlidXRlIERPTUhpZ2hSZXNUaW1lU3RhbXAgdGltZVN0YW1wOwogCiAgIHZv
aWQgaW5pdEV2ZW50KERPTVN0cmluZyB0eXBlLCBvcHRpb25hbCBib29sZWFuIGJ1YmJsZXMgPSBm
YWxzZSwgb3B0aW9uYWwgYm9vbGVhbiBjYW5jZWxhYmxlID0gZmFsc2UpOyAvLyBoaXN0b3JpY2Fs
CkBAIC01Miw3ICs1Miw3IEBAIGludGVyZmFjZSBDdXN0b21FdmVudCA6IEV2ZW50IHsKIAogICBy
ZWFkb25seSBhdHRyaWJ1dGUgYW55IGRldGFpbDsKIAotICB2b2lkIGluaXRDdXN0b21FdmVudChE
T01TdHJpbmcgdHlwZSwgb3B0aW9uYWwgYm9vbGVhbiBidWJibGVzID0gZmFsc2UsIG9wdGlvbmFs
IGJvb2xlYW4gY2FuY2VsYWJsZSA9IGZhbHNlLCBvcHRpb25hbCBhbnkgZGV0YWlsID0gbnVsbCk7
CisgIHZvaWQgaW5pdEN1c3RvbUV2ZW50KERPTVN0cmluZyB0eXBlLCBvcHRpb25hbCBib29sZWFu
IGJ1YmJsZXMgPSBmYWxzZSwgb3B0aW9uYWwgYm9vbGVhbiBjYW5jZWxhYmxlID0gZmFsc2UsIG9w
dGlvbmFsIGFueSBkZXRhaWwgPSBudWxsKTsgLy8gaGlzdG9yaWNhbAogfTsKIAogZGljdGlvbmFy
eSBDdXN0b21FdmVudEluaXQgOiBFdmVudEluaXQgewpAQCAtMTE1LDYgKzExNSw3IEBAIGludGVy
ZmFjZSBtaXhpbiBQYXJlbnROb2RlIHsKIAogICBbQ0VSZWFjdGlvbnMsIFVuc2NvcGFibGVdIHZv
aWQgcHJlcGVuZCgoTm9kZSBvciBET01TdHJpbmcpLi4uIG5vZGVzKTsKICAgW0NFUmVhY3Rpb25z
LCBVbnNjb3BhYmxlXSB2b2lkIGFwcGVuZCgoTm9kZSBvciBET01TdHJpbmcpLi4uIG5vZGVzKTsK
KyAgW0NFUmVhY3Rpb25zLCBVbnNjb3BhYmxlXSB2b2lkIHJlcGxhY2VDaGlsZHJlbigoTm9kZSBv
ciBET01TdHJpbmcpLi4uIG5vZGVzKTsKIAogICBFbGVtZW50PyBxdWVyeVNlbGVjdG9yKERPTVN0
cmluZyBzZWxlY3RvcnMpOwogICBbTmV3T2JqZWN0XSBOb2RlTGlzdCBxdWVyeVNlbGVjdG9yQWxs
KERPTVN0cmluZyBzZWxlY3RvcnMpOwpAQCAtMTQwLDExICsxNDEsMTEgQEAgRG9jdW1lbnRUeXBl
IGluY2x1ZGVzIENoaWxkTm9kZTsKIEVsZW1lbnQgaW5jbHVkZXMgQ2hpbGROb2RlOwogQ2hhcmFj
dGVyRGF0YSBpbmNsdWRlcyBDaGlsZE5vZGU7CiAKLWludGVyZmFjZSBtaXhpbiBTbG90YWJsZSB7
CitpbnRlcmZhY2UgbWl4aW4gU2xvdHRhYmxlIHsKICAgcmVhZG9ubHkgYXR0cmlidXRlIEhUTUxT
bG90RWxlbWVudD8gYXNzaWduZWRTbG90OwogfTsKLUVsZW1lbnQgaW5jbHVkZXMgU2xvdGFibGU7
Ci1UZXh0IGluY2x1ZGVzIFNsb3RhYmxlOworRWxlbWVudCBpbmNsdWRlcyBTbG90dGFibGU7CitU
ZXh0IGluY2x1ZGVzIFNsb3R0YWJsZTsKIAogW0V4cG9zZWQ9V2luZG93XQogaW50ZXJmYWNlIE5v
ZGVMaXN0IHsKQEAgLTI4OSw3ICsyOTAsNyBAQCBpbnRlcmZhY2UgRG9jdW1lbnQgOiBOb2RlIHsK
ICAgW05ld09iamVjdF0gQXR0ciBjcmVhdGVBdHRyaWJ1dGUoRE9NU3RyaW5nIGxvY2FsTmFtZSk7
CiAgIFtOZXdPYmplY3RdIEF0dHIgY3JlYXRlQXR0cmlidXRlTlMoRE9NU3RyaW5nPyBuYW1lc3Bh
Y2UsIERPTVN0cmluZyBxdWFsaWZpZWROYW1lKTsKIAotICBbTmV3T2JqZWN0XSBFdmVudCBjcmVh
dGVFdmVudChET01TdHJpbmcgaW50ZXJmYWNlKTsKKyAgW05ld09iamVjdF0gRXZlbnQgY3JlYXRl
RXZlbnQoRE9NU3RyaW5nIGludGVyZmFjZSk7IC8vIGhpc3RvcmljYWwKIAogICBbTmV3T2JqZWN0
XSBSYW5nZSBjcmVhdGVSYW5nZSgpOwogCkBAIC0zMDgsNyArMzA5LDcgQEAgZGljdGlvbmFyeSBF
bGVtZW50Q3JlYXRpb25PcHRpb25zIHsKIFtFeHBvc2VkPVdpbmRvd10KIGludGVyZmFjZSBET01J
bXBsZW1lbnRhdGlvbiB7CiAgIFtOZXdPYmplY3RdIERvY3VtZW50VHlwZSBjcmVhdGVEb2N1bWVu
dFR5cGUoRE9NU3RyaW5nIHF1YWxpZmllZE5hbWUsIERPTVN0cmluZyBwdWJsaWNJZCwgRE9NU3Ry
aW5nIHN5c3RlbUlkKTsKLSAgW05ld09iamVjdF0gWE1MRG9jdW1lbnQgY3JlYXRlRG9jdW1lbnQo
RE9NU3RyaW5nPyBuYW1lc3BhY2UsIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5n
IHF1YWxpZmllZE5hbWUsIG9wdGlvbmFsIERvY3VtZW50VHlwZT8gZG9jdHlwZSA9IG51bGwpOwor
ICBbTmV3T2JqZWN0XSBYTUxEb2N1bWVudCBjcmVhdGVEb2N1bWVudChET01TdHJpbmc/IG5hbWVz
cGFjZSwgW0xlZ2FjeU51bGxUb0VtcHR5U3RyaW5nXSBET01TdHJpbmcgcXVhbGlmaWVkTmFtZSwg
b3B0aW9uYWwgRG9jdW1lbnRUeXBlPyBkb2N0eXBlID0gbnVsbCk7CiAgIFtOZXdPYmplY3RdIERv
Y3VtZW50IGNyZWF0ZUhUTUxEb2N1bWVudChvcHRpb25hbCBET01TdHJpbmcgdGl0bGUpOwogCiAg
IGJvb2xlYW4gaGFzRmVhdHVyZSgpOyAvLyB1c2VsZXNzOyBhbHdheXMgcmV0dXJucyB0cnVlCkBA
IC00MTMsNyArNDE0LDcgQEAgaW50ZXJmYWNlIEF0dHIgOiBOb2RlIHsKIH07CiBbRXhwb3NlZD1X
aW5kb3ddCiBpbnRlcmZhY2UgQ2hhcmFjdGVyRGF0YSA6IE5vZGUgewotICBhdHRyaWJ1dGUgW1Ry
ZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgZGF0YTsKKyAgYXR0cmlidXRlIFtMZWdh
Y3lOdWxsVG9FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGRhdGE7CiAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKICAgRE9NU3RyaW5nIHN1YnN0cmluZ0RhdGEodW5zaWdu
ZWQgbG9uZyBvZmZzZXQsIHVuc2lnbmVkIGxvbmcgY291bnQpOwogICB2b2lkIGFwcGVuZERhdGEo
RE9NU3RyaW5nIGRhdGEpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2VuY3J5cHRlZC1tZWRpYS5pZGwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvZW5jcnlwdGVk
LW1lZGlhLmlkbAppbmRleCAyNmMwM2Y2ZjI0ZC4uNWQ2YmJlMzZjZTMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9lbmNy
eXB0ZWQtbWVkaWEuaWRsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaW50ZXJmYWNlcy9lbmNyeXB0ZWQtbWVkaWEuaWRsCkBAIC0yNSw4ICsyNSw5IEBA
IGRpY3Rpb25hcnkgTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uIHsKIH07CiAKIGRpY3Rpb25h
cnkgTWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFiaWxpdHkgewotICAgICAgICAgICAgIERPTVN0cmlu
ZyBjb250ZW50VHlwZSA9ICIiOwotICAgICAgICAgICAgIERPTVN0cmluZyByb2J1c3RuZXNzID0g
IiI7CisgICBET01TdHJpbmcgY29udGVudFR5cGUgPSAiIjsKKyAgIERPTVN0cmluZz8gZW5jcnlw
dGlvblNjaGVtZSA9IG51bGw7CisgICBET01TdHJpbmcgcm9idXN0bmVzcyA9ICIiOwogfTsKIAog
W0V4cG9zZWQ9V2luZG93LCBTZWN1cmVDb250ZXh0XSBpbnRlcmZhY2UgTWVkaWFLZXlTeXN0ZW1B
Y2Nlc3MgewpAQCAtMzcsNyArMzgsOCBAQCBkaWN0aW9uYXJ5IE1lZGlhS2V5U3lzdGVtTWVkaWFD
YXBhYmlsaXR5IHsKIAogZW51bSBNZWRpYUtleVNlc3Npb25UeXBlIHsKICAgICAidGVtcG9yYXJ5
IiwKLSAgICAicGVyc2lzdGVudC1saWNlbnNlIgorICAgICJwZXJzaXN0ZW50LWxpY2Vuc2UiLAor
ICAgICJwZXJzaXN0ZW50LXVzYWdlLXJlY29yZCIKIH07CiAKIFtFeHBvc2VkPVdpbmRvdywgU2Vj
dXJlQ29udGV4dF0gaW50ZXJmYWNlIE1lZGlhS2V5cyB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvZXZlbnQtdGltaW5n
LmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJm
YWNlcy9ldmVudC10aW1pbmcuaWRsCmluZGV4IGU4NDc1ZDMxOTIyLi5kODRkN2MzMmRjYyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRl
cmZhY2VzL2V2ZW50LXRpbWluZy5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2V2ZW50LXRpbWluZy5pZGwKQEAgLTgsNiArOCw3
IEBAIGludGVyZmFjZSBQZXJmb3JtYW5jZUV2ZW50VGltaW5nIDogUGVyZm9ybWFuY2VFbnRyeSB7
CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTUhpZ2hSZXNUaW1lU3RhbXAgcHJvY2Vzc2luZ1N0
YXJ0OwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01IaWdoUmVzVGltZVN0YW1wIHByb2Nlc3Np
bmdFbmQ7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gY2FuY2VsYWJsZTsKKyAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgTm9kZT8gdGFyZ2V0OwogICAgIFtEZWZhdWx0XSBvYmplY3QgdG9K
U09OKCk7CiB9OwogCkBAIC0yMCwzICsyMSw3IEBAIGludGVyZmFjZSBFdmVudENvdW50cyB7CiBw
YXJ0aWFsIGludGVyZmFjZSBQZXJmb3JtYW5jZSB7CiAgICAgW1NhbWVPYmplY3RdIHJlYWRvbmx5
IGF0dHJpYnV0ZSBFdmVudENvdW50cyBldmVudENvdW50czsKIH07CisKK3BhcnRpYWwgZGljdGlv
bmFyeSBQZXJmb3JtYW5jZU9ic2VydmVySW5pdCB7CisgICAgRE9NSGlnaFJlc1RpbWVTdGFtcCBk
dXJhdGlvblRocmVzaG9sZDsKK307CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvZnVsbHNjcmVlbi5pZGwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvZnVsbHNjcmVl
bi5pZGwKaW5kZXggNmY4NmQ1YzIyMGYuLjY3N2IyZTExNmY2IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvZnVsbHNjcmVl
bi5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bnRlcmZhY2VzL2Z1bGxzY3JlZW4uaWRsCkBAIC0yMSw4ICsyMSw4IEBAIHBhcnRpYWwgaW50ZXJm
YWNlIEVsZW1lbnQgewogfTsKIAogcGFydGlhbCBpbnRlcmZhY2UgRG9jdW1lbnQgewotICBbTGVu
aWVudFNldHRlcl0gcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gZnVsbHNjcmVlbkVuYWJsZWQ7
Ci0gIFtMZW5pZW50U2V0dGVyLCBVbnNjb3BhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVh
biBmdWxsc2NyZWVuOyAvLyBoaXN0b3JpY2FsCisgIFtMZWdhY3lMZW5pZW50U2V0dGVyXSByZWFk
b25seSBhdHRyaWJ1dGUgYm9vbGVhbiBmdWxsc2NyZWVuRW5hYmxlZDsKKyAgW0xlZ2FjeUxlbmll
bnRTZXR0ZXIsIFVuc2NvcGFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGZ1bGxzY3Jl
ZW47IC8vIGhpc3RvcmljYWwKIAogICBQcm9taXNlPHZvaWQ+IGV4aXRGdWxsc2NyZWVuKCk7CiAK
QEAgLTMxLDUgKzMxLDUgQEAgcGFydGlhbCBpbnRlcmZhY2UgRG9jdW1lbnQgewogfTsKIAogcGFy
dGlhbCBpbnRlcmZhY2UgbWl4aW4gRG9jdW1lbnRPclNoYWRvd1Jvb3QgewotICBbTGVuaWVudFNl
dHRlcl0gcmVhZG9ubHkgYXR0cmlidXRlIEVsZW1lbnQ/IGZ1bGxzY3JlZW5FbGVtZW50OworICBb
TGVnYWN5TGVuaWVudFNldHRlcl0gcmVhZG9ubHkgYXR0cmlidXRlIEVsZW1lbnQ/IGZ1bGxzY3Jl
ZW5FbGVtZW50OwogfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9nZW9sb2NhdGlvbi1zZW5zb3IuaWRsIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2dlb2xvY2F0
aW9uLXNlbnNvci5pZGwKaW5kZXggMDA4M2NkYWMxOTguLmJhYTBmNWM3YTFlIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMv
Z2VvbG9jYXRpb24tc2Vuc29yLmlkbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvZ2VvbG9jYXRpb24tc2Vuc29yLmlkbApAQCAtMSwx
MiArMSwxMiBAQAogLy8gR0VORVJBVEVEIENPTlRFTlQgLSBETyBOT1QgRURJVAogLy8gQ29udGVu
dCB3YXMgYXV0b21hdGljYWxseSBleHRyYWN0ZWQgYnkgUmVmZnkgaW50byByZWZmeS1yZXBvcnRz
CiAvLyAoaHR0cHM6Ly9naXRodWIuY29tL3RpZG91c3QvcmVmZnktcmVwb3J0cykKLS8vIFNvdXJj
ZTogR2VvbG9jYXRpb24gU2Vuc29yIChodHRwczovL3dpY2cuZ2l0aHViLmlvL2dlb2xvY2F0aW9u
LXNlbnNvci8pCisvLyBTb3VyY2U6IEdlb2xvY2F0aW9uIFNlbnNvciAoaHR0cHM6Ly93M2MuZ2l0
aHViLmlvL2dlb2xvY2F0aW9uLXNlbnNvci8pCiAKLVtDb25zdHJ1Y3RvcihvcHRpb25hbCBHZW9s
b2NhdGlvblNlbnNvck9wdGlvbnMgb3B0aW9ucyA9IHt9KSwKLSBTZWN1cmVDb250ZXh0LAorW1Nl
Y3VyZUNvbnRleHQsCiAgRXhwb3NlZD0oRGVkaWNhdGVkV29ya2VyLCBXaW5kb3cpXQogaW50ZXJm
YWNlIEdlb2xvY2F0aW9uU2Vuc29yIDogU2Vuc29yIHsKKyAgY29uc3RydWN0b3Iob3B0aW9uYWwg
R2VvbG9jYXRpb25TZW5zb3JPcHRpb25zIG9wdGlvbnMgPSB7fSk7CiAgIHN0YXRpYyBQcm9taXNl
PEdlb2xvY2F0aW9uU2Vuc29yUmVhZGluZz4gcmVhZChvcHRpb25hbCBSZWFkT3B0aW9ucyByZWFk
T3B0aW9ucyA9IHt9KTsKICAgcmVhZG9ubHkgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGU/
IGxhdGl0dWRlOwogICByZWFkb25seSBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZT8gbG9u
Z2l0dWRlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9pbnRlcmZhY2VzL2hpdC10ZXN0LmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9oaXQtdGVzdC5pZGwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmQ5ZjkwYjNlYzdiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2Vz
L2hpdC10ZXN0LmlkbApAQCAtMCwwICsxLDY5IEBACisvLyBHRU5FUkFURUQgQ09OVEVOVCAtIERP
IE5PVCBFRElUCisvLyBDb250ZW50IHdhcyBhdXRvbWF0aWNhbGx5IGV4dHJhY3RlZCBieSBSZWZm
eSBpbnRvIHJlZmZ5LXJlcG9ydHMKKy8vIChodHRwczovL2dpdGh1Yi5jb20vdGlkb3VzdC9yZWZm
eS1yZXBvcnRzKQorLy8gU291cmNlOiBXZWJYUiBIaXQgVGVzdCBNb2R1bGUgKGh0dHBzOi8vaW1t
ZXJzaXZlLXdlYi5naXRodWIuaW8vaGl0LXRlc3QvKQorCitlbnVtIFhSSGl0VGVzdFRyYWNrYWJs
ZVR5cGUgeworICAicG9pbnQiLAorICAicGxhbmUiLAorICAibWVzaCIKK307CisKK2RpY3Rpb25h
cnkgWFJIaXRUZXN0T3B0aW9uc0luaXQgeworICByZXF1aXJlZCBYUlNwYWNlIHNwYWNlOworICBG
cm96ZW5BcnJheTxYUkhpdFRlc3RUcmFja2FibGVUeXBlPiBlbnRpdHlUeXBlczsKKyAgWFJSYXkg
b2Zmc2V0UmF5OworfTsKKworZGljdGlvbmFyeSBYUlRyYW5zaWVudElucHV0SGl0VGVzdE9wdGlv
bnNJbml0IHsKKyAgcmVxdWlyZWQgRE9NU3RyaW5nIHByb2ZpbGU7CisgIEZyb3plbkFycmF5PFhS
SGl0VGVzdFRyYWNrYWJsZVR5cGU+IGVudGl0eVR5cGVzOworICBYUlJheSBvZmZzZXRSYXk7Cit9
OworCitbU2VjdXJlQ29udGV4dCwgRXhwb3NlZD1XaW5kb3ddCitpbnRlcmZhY2UgWFJIaXRUZXN0
U291cmNlIHsKKyAgdm9pZCBjYW5jZWwoKTsKK307CisKK1tTZWN1cmVDb250ZXh0LCBFeHBvc2Vk
PVdpbmRvd10KK2ludGVyZmFjZSBYUlRyYW5zaWVudElucHV0SGl0VGVzdFNvdXJjZSB7CisgIHZv
aWQgY2FuY2VsKCk7Cit9OworCitbU2VjdXJlQ29udGV4dCwgRXhwb3NlZD1XaW5kb3ddCitpbnRl
cmZhY2UgWFJIaXRUZXN0UmVzdWx0IHsKKyAgWFJQb3NlPyBnZXRQb3NlKFhSU3BhY2UgYmFzZVNw
YWNlKTsKK307CisKK1tTZWN1cmVDb250ZXh0LCBFeHBvc2VkPVdpbmRvd10KK2ludGVyZmFjZSBY
UlRyYW5zaWVudElucHV0SGl0VGVzdFJlc3VsdCB7CisgIFtTYW1lT2JqZWN0XSByZWFkb25seSBh
dHRyaWJ1dGUgWFJJbnB1dFNvdXJjZSBpbnB1dFNvdXJjZTsKKyAgcmVhZG9ubHkgYXR0cmlidXRl
IEZyb3plbkFycmF5PFhSSGl0VGVzdFJlc3VsdD4gcmVzdWx0czsKK307CisKK3BhcnRpYWwgaW50
ZXJmYWNlIFhSU2Vzc2lvbiB7CisgIFByb21pc2U8WFJIaXRUZXN0U291cmNlPiByZXF1ZXN0SGl0
VGVzdFNvdXJjZShYUkhpdFRlc3RPcHRpb25zSW5pdCBvcHRpb25zKTsKKyAgUHJvbWlzZTxYUlRy
YW5zaWVudElucHV0SGl0VGVzdFNvdXJjZT4gcmVxdWVzdEhpdFRlc3RTb3VyY2VGb3JUcmFuc2ll
bnRJbnB1dChYUlRyYW5zaWVudElucHV0SGl0VGVzdE9wdGlvbnNJbml0IG9wdGlvbnMpOworfTsK
KworcGFydGlhbCBpbnRlcmZhY2UgWFJGcmFtZSB7CisgIEZyb3plbkFycmF5PFhSSGl0VGVzdFJl
c3VsdD4gZ2V0SGl0VGVzdFJlc3VsdHMoWFJIaXRUZXN0U291cmNlIGhpdFRlc3RTb3VyY2UpOwor
ICBGcm96ZW5BcnJheTxYUlRyYW5zaWVudElucHV0SGl0VGVzdFJlc3VsdD4gZ2V0SGl0VGVzdFJl
c3VsdHNGb3JUcmFuc2llbnRJbnB1dChYUlRyYW5zaWVudElucHV0SGl0VGVzdFNvdXJjZSBoaXRU
ZXN0U291cmNlKTsKK307CisKK2RpY3Rpb25hcnkgWFJSYXlEaXJlY3Rpb25Jbml0IHsKKyAgZG91
YmxlIHggPSAwOworICBkb3VibGUgeSA9IDA7CisgIGRvdWJsZSB6ID0gLTE7CisgIGRvdWJsZSB3
ID0gMDsKK307CisKK1tTZWN1cmVDb250ZXh0LCBFeHBvc2VkPVdpbmRvd10KK2ludGVyZmFjZSBY
UlJheSB7CisgIGNvbnN0cnVjdG9yKG9wdGlvbmFsIERPTVBvaW50SW5pdCBvcmlnaW4gPSB7fSwg
b3B0aW9uYWwgWFJSYXlEaXJlY3Rpb25Jbml0IGRpcmVjdGlvbiA9IHt9KTsKKyAgY29uc3RydWN0
b3IoWFJSaWdpZFRyYW5zZm9ybSB0cmFuc2Zvcm0pOworICBbU2FtZU9iamVjdF0gcmVhZG9ubHkg
YXR0cmlidXRlIERPTVBvaW50UmVhZE9ubHkgb3JpZ2luOworICBbU2FtZU9iamVjdF0gcmVhZG9u
bHkgYXR0cmlidXRlIERPTVBvaW50UmVhZE9ubHkgZGlyZWN0aW9uOworICBbU2FtZU9iamVjdF0g
cmVhZG9ubHkgYXR0cmlidXRlIEZsb2F0MzJBcnJheSBtYXRyaXg7Cit9OwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2h0
bWwuaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRl
cmZhY2VzL2h0bWwuaWRsCmluZGV4IDI2NjU3NGRlNjNlLi43YjJhOTZjZTY3NiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2Vz
L2h0bWwuaWRsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaW50ZXJmYWNlcy9odG1sLmlkbApAQCAtMSw3ICsxLDcgQEAKIC8vIEdFTkVSQVRFRCBDT05U
RU5UIC0gRE8gTk9UIEVESVQKIC8vIENvbnRlbnQgd2FzIGF1dG9tYXRpY2FsbHkgZXh0cmFjdGVk
IGJ5IFJlZmZ5IGludG8gcmVmZnktcmVwb3J0cwogLy8gKGh0dHBzOi8vZ2l0aHViLmNvbS90aWRv
dXN0L3JlZmZ5LXJlcG9ydHMpCi0vLyBTb3VyY2U6IEhUTUwgU3RhbmRhcmQgKGh0dHBzOi8vaHRt
bC5zcGVjLndoYXR3Zy5vcmcvKQorLy8gU291cmNlOiBIVE1MIFN0YW5kYXJkIChodHRwczovL2h0
bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS8pCiAKIFtFeHBvc2VkPVdpbmRvdywKICBMZWdh
Y3lVbmVudW1lcmFibGVOYW1lZFByb3BlcnRpZXNdCkBAIC00NSwxMCArNDUsMTAgQEAgaW50ZXJm
YWNlIERPTVN0cmluZ0xpc3QgewogZW51bSBEb2N1bWVudFJlYWR5U3RhdGUgeyAibG9hZGluZyIs
ICJpbnRlcmFjdGl2ZSIsICJjb21wbGV0ZSIgfTsKIHR5cGVkZWYgKEhUTUxTY3JpcHRFbGVtZW50
IG9yIFNWR1NjcmlwdEVsZW1lbnQpIEhUTUxPclNWR1NjcmlwdEVsZW1lbnQ7CiAKLVtPdmVycmlk
ZUJ1aWx0aW5zXQorW0xlZ2FjeU92ZXJyaWRlQnVpbHRJbnNdCiBwYXJ0aWFsIGludGVyZmFjZSBE
b2N1bWVudCB7CiAgIC8vIHJlc291cmNlIG1ldGFkYXRhIG1hbmFnZW1lbnQKLSAgW1B1dEZvcndh
cmRzPWhyZWYsIFVuZm9yZ2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgTG9jYXRpb24/IGxvY2F0
aW9uOworICBbUHV0Rm9yd2FyZHM9aHJlZiwgTGVnYWN5VW5mb3JnZWFibGVdIHJlYWRvbmx5IGF0
dHJpYnV0ZSBMb2NhdGlvbj8gbG9jYXRpb247CiAgIGF0dHJpYnV0ZSBVU1ZTdHJpbmcgZG9tYWlu
OwogICByZWFkb25seSBhdHRyaWJ1dGUgVVNWU3RyaW5nIHJlZmVycmVyOwogICBhdHRyaWJ1dGUg
VVNWU3RyaW5nIGNvb2tpZTsKQEAgLTg5LDcgKzg5LDcgQEAgcGFydGlhbCBpbnRlcmZhY2UgRG9j
dW1lbnQgewogICBET01TdHJpbmcgcXVlcnlDb21tYW5kVmFsdWUoRE9NU3RyaW5nIGNvbW1hbmRJ
ZCk7CiAKICAgLy8gc3BlY2lhbCBldmVudCBoYW5kbGVyIElETCBhdHRyaWJ1dGVzIHRoYXQgb25s
eSBhcHBseSB0byBEb2N1bWVudCBvYmplY3RzCi0gIFtMZW5pZW50VGhpc10gYXR0cmlidXRlIEV2
ZW50SGFuZGxlciBvbnJlYWR5c3RhdGVjaGFuZ2U7CisgIFtMZWdhY3lMZW5pZW50VGhpc10gYXR0
cmlidXRlIEV2ZW50SGFuZGxlciBvbnJlYWR5c3RhdGVjaGFuZ2U7CiAKICAgLy8gYWxzbyBoYXMg
b2Jzb2xldGUgbWVtYmVycwogfTsKQEAgLTExOSw3ICsxMTksNyBAQCBpbnRlcmZhY2UgSFRNTEVs
ZW1lbnQgOiBFbGVtZW50IHsKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgYm9vbGVhbiBzcGVs
bGNoZWNrOwogICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBET01TdHJpbmcgYXV0b2NhcGl0YWxp
emU7CiAKLSAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5n
XSBET01TdHJpbmcgaW5uZXJUZXh0OworICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbTGVnYWN5
TnVsbFRvRW1wdHlTdHJpbmddIERPTVN0cmluZyBpbm5lclRleHQ7CiAKICAgRWxlbWVudEludGVy
bmFscyBhdHRhY2hJbnRlcm5hbHMoKTsKIH07CkBAIC0xNDUsNyArMTQ1LDcgQEAgaW50ZXJmYWNl
IG1peGluIEhUTUxPclNWR0VsZW1lbnQgewogfTsKIAogW0V4cG9zZWQ9V2luZG93LAotIE92ZXJy
aWRlQnVpbHRpbnNdCisgTGVnYWN5T3ZlcnJpZGVCdWlsdEluc10KIGludGVyZmFjZSBET01TdHJp
bmdNYXAgewogICBnZXR0ZXIgRE9NU3RyaW5nIChET01TdHJpbmcgbmFtZSk7CiAgIFtDRVJlYWN0
aW9uc10gc2V0dGVyIHZvaWQgKERPTVN0cmluZyBuYW1lLCBET01TdHJpbmcgdmFsdWUpOwpAQCAt
MTU1LDggKzE1NSw2IEBAIGludGVyZmFjZSBET01TdHJpbmdNYXAgewogW0V4cG9zZWQ9V2luZG93
XQogaW50ZXJmYWNlIEhUTUxIdG1sRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgW0hUTUxDb25z
dHJ1Y3Rvcl0gY29uc3RydWN0b3IoKTsKLQotICAvLyBhbHNvIGhhcyBvYnNvbGV0ZSBtZW1iZXJz
CiB9OwogCiBbRXhwb3NlZD1XaW5kb3ddCkBAIC0xOTYsOCArMTk0LDYgQEAgaW50ZXJmYWNlIEhU
TUxMaW5rRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUg
VVNWU3RyaW5nIGltYWdlU3Jjc2V0OwogICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBET01TdHJp
bmcgaW1hZ2VTaXplczsKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHJlZmVy
cmVyUG9saWN5OwotCi0gIC8vIGFsc28gaGFzIG9ic29sZXRlIG1lbWJlcnMKIH07CiBIVE1MTGlu
a0VsZW1lbnQgaW5jbHVkZXMgTGlua1N0eWxlOwogCkBAIC0yMDgsOCArMjA0LDYgQEAgaW50ZXJm
YWNlIEhUTUxNZXRhRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgW0NFUmVhY3Rpb25zXSBhdHRy
aWJ1dGUgRE9NU3RyaW5nIG5hbWU7CiAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIERPTVN0cmlu
ZyBodHRwRXF1aXY7CiAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIERPTVN0cmluZyBjb250ZW50
OwotCi0gIC8vIGFsc28gaGFzIG9ic29sZXRlIG1lbWJlcnMKIH07CiAKIFtFeHBvc2VkPVdpbmRv
d10KQEAgLTIxNywxNiArMjExLDEyIEBAIGludGVyZmFjZSBIVE1MU3R5bGVFbGVtZW50IDogSFRN
TEVsZW1lbnQgewogICBbSFRNTENvbnN0cnVjdG9yXSBjb25zdHJ1Y3RvcigpOwogCiAgIFtDRVJl
YWN0aW9uc10gYXR0cmlidXRlIERPTVN0cmluZyBtZWRpYTsKLQotICAvLyBhbHNvIGhhcyBvYnNv
bGV0ZSBtZW1iZXJzCiB9OwogSFRNTFN0eWxlRWxlbWVudCBpbmNsdWRlcyBMaW5rU3R5bGU7CiAK
IFtFeHBvc2VkPVdpbmRvd10KIGludGVyZmFjZSBIVE1MQm9keUVsZW1lbnQgOiBIVE1MRWxlbWVu
dCB7CiAgIFtIVE1MQ29uc3RydWN0b3JdIGNvbnN0cnVjdG9yKCk7Ci0KLSAgLy8gYWxzbyBoYXMg
b2Jzb2xldGUgbWVtYmVycwogfTsKIAogSFRNTEJvZHlFbGVtZW50IGluY2x1ZGVzIFdpbmRvd0V2
ZW50SGFuZGxlcnM7CkBAIC0yMzQsMjkgKzIyNCwyMSBAQCBIVE1MQm9keUVsZW1lbnQgaW5jbHVk
ZXMgV2luZG93RXZlbnRIYW5kbGVyczsKIFtFeHBvc2VkPVdpbmRvd10KIGludGVyZmFjZSBIVE1M
SGVhZGluZ0VsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgIFtIVE1MQ29uc3RydWN0b3JdIGNvbnN0
cnVjdG9yKCk7Ci0KLSAgLy8gYWxzbyBoYXMgb2Jzb2xldGUgbWVtYmVycwogfTsKIAogW0V4cG9z
ZWQ9V2luZG93XQogaW50ZXJmYWNlIEhUTUxQYXJhZ3JhcGhFbGVtZW50IDogSFRNTEVsZW1lbnQg
ewogICBbSFRNTENvbnN0cnVjdG9yXSBjb25zdHJ1Y3RvcigpOwotCi0gIC8vIGFsc28gaGFzIG9i
c29sZXRlIG1lbWJlcnMKIH07CiAKIFtFeHBvc2VkPVdpbmRvd10KIGludGVyZmFjZSBIVE1MSFJF
bGVtZW50IDogSFRNTEVsZW1lbnQgewogICBbSFRNTENvbnN0cnVjdG9yXSBjb25zdHJ1Y3Rvcigp
OwotCi0gIC8vIGFsc28gaGFzIG9ic29sZXRlIG1lbWJlcnMKIH07CiAKIFtFeHBvc2VkPVdpbmRv
d10KIGludGVyZmFjZSBIVE1MUHJlRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgW0hUTUxDb25z
dHJ1Y3Rvcl0gY29uc3RydWN0b3IoKTsKLQotICAvLyBhbHNvIGhhcyBvYnNvbGV0ZSBtZW1iZXJz
CiB9OwogCiBbRXhwb3NlZD1XaW5kb3ddCkBAIC0yNzMsMjIgKzI1NSwxNiBAQCBpbnRlcmZhY2Ug
SFRNTE9MaXN0RWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1
dGUgYm9vbGVhbiByZXZlcnNlZDsKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgbG9uZyBzdGFy
dDsKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHR5cGU7Ci0KLSAgLy8gYWxz
byBoYXMgb2Jzb2xldGUgbWVtYmVycwogfTsKIAogW0V4cG9zZWQ9V2luZG93XQogaW50ZXJmYWNl
IEhUTUxVTGlzdEVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgIFtIVE1MQ29uc3RydWN0b3JdIGNv
bnN0cnVjdG9yKCk7Ci0KLSAgLy8gYWxzbyBoYXMgb2Jzb2xldGUgbWVtYmVycwogfTsKIAogW0V4
cG9zZWQ9V2luZG93XQogaW50ZXJmYWNlIEhUTUxNZW51RWxlbWVudCA6IEhUTUxFbGVtZW50IHsK
ICAgW0hUTUxDb25zdHJ1Y3Rvcl0gY29uc3RydWN0b3IoKTsKLQotICAvLyBhbHNvIGhhcyBvYnNv
bGV0ZSBtZW1iZXJzCiB9OwogCiBbRXhwb3NlZD1XaW5kb3ddCkBAIC0yOTYsMjIgKzI3MiwxNiBA
QCBpbnRlcmZhY2UgSFRNTExJRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgW0hUTUxDb25zdHJ1
Y3Rvcl0gY29uc3RydWN0b3IoKTsKIAogICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBsb25nIHZh
bHVlOwotCi0gIC8vIGFsc28gaGFzIG9ic29sZXRlIG1lbWJlcnMKIH07CiAKIFtFeHBvc2VkPVdp
bmRvd10KIGludGVyZmFjZSBIVE1MRExpc3RFbGVtZW50IDogSFRNTEVsZW1lbnQgewogICBbSFRN
TENvbnN0cnVjdG9yXSBjb25zdHJ1Y3RvcigpOwotCi0gIC8vIGFsc28gaGFzIG9ic29sZXRlIG1l
bWJlcnMKIH07CiAKIFtFeHBvc2VkPVdpbmRvd10KIGludGVyZmFjZSBIVE1MRGl2RWxlbWVudCA6
IEhUTUxFbGVtZW50IHsKICAgW0hUTUxDb25zdHJ1Y3Rvcl0gY29uc3RydWN0b3IoKTsKLQotICAv
LyBhbHNvIGhhcyBvYnNvbGV0ZSBtZW1iZXJzCiB9OwogCiBbRXhwb3NlZD1XaW5kb3ddCkBAIC0z
MjksOCArMjk5LDYgQEAgaW50ZXJmYWNlIEhUTUxBbmNob3JFbGVtZW50IDogSFRNTEVsZW1lbnQg
ewogICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBET01TdHJpbmcgdGV4dDsKIAogICBbQ0VSZWFj
dGlvbnNdIGF0dHJpYnV0ZSBET01TdHJpbmcgcmVmZXJyZXJQb2xpY3k7Ci0KLSAgLy8gYWxzbyBo
YXMgb2Jzb2xldGUgbWVtYmVycwogfTsKIEhUTUxBbmNob3JFbGVtZW50IGluY2x1ZGVzIEhUTUxI
eXBlcmxpbmtFbGVtZW50VXRpbHM7CiAKQEAgLTM1Niw4ICszMjQsNiBAQCBpbnRlcmZhY2UgSFRN
TFNwYW5FbGVtZW50IDogSFRNTEVsZW1lbnQgewogW0V4cG9zZWQ9V2luZG93XQogaW50ZXJmYWNl
IEhUTUxCUkVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgIFtIVE1MQ29uc3RydWN0b3JdIGNvbnN0
cnVjdG9yKCk7Ci0KLSAgLy8gYWxzbyBoYXMgb2Jzb2xldGUgbWVtYmVycwogfTsKIAogaW50ZXJm
YWNlIG1peGluIEhUTUxIeXBlcmxpbmtFbGVtZW50VXRpbHMgewpAQCAtMzk5LDcgKzM2NSw3IEBA
IGludGVyZmFjZSBIVE1MU291cmNlRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKIH07CiAKIFtFeHBv
c2VkPVdpbmRvdywKLSBOYW1lZENvbnN0cnVjdG9yPUltYWdlKG9wdGlvbmFsIHVuc2lnbmVkIGxv
bmcgd2lkdGgsIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgaGVpZ2h0KV0KKyBMZWdhY3lGYWN0b3J5
RnVuY3Rpb249SW1hZ2Uob3B0aW9uYWwgdW5zaWduZWQgbG9uZyB3aWR0aCwgb3B0aW9uYWwgdW5z
aWduZWQgbG9uZyBoZWlnaHQpXQogaW50ZXJmYWNlIEhUTUxJbWFnZUVsZW1lbnQgOiBIVE1MRWxl
bWVudCB7CiAgIFtIVE1MQ29uc3RydWN0b3JdIGNvbnN0cnVjdG9yKCk7CiAKQEAgLTQxOCwxMCAr
Mzg0LDkgQEAgaW50ZXJmYWNlIEhUTUxJbWFnZUVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBVU1ZTdHJpbmcgY3VycmVudFNyYzsKICAgW0NFUmVhY3Rpb25zXSBh
dHRyaWJ1dGUgRE9NU3RyaW5nIHJlZmVycmVyUG9saWN5OwogICBbQ0VSZWFjdGlvbnNdIGF0dHJp
YnV0ZSBET01TdHJpbmcgZGVjb2Rpbmc7CisgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIERPTVN0
cmluZyBsb2FkaW5nOwogCiAgIFByb21pc2U8dm9pZD4gZGVjb2RlKCk7Ci0KLSAgLy8gYWxzbyBo
YXMgb2Jzb2xldGUgbWVtYmVycwogfTsKIAogW0V4cG9zZWQ9V2luZG93XQpAQCAtNDQxLDggKzQw
Niw2IEBAIGludGVyZmFjZSBIVE1MSUZyYW1lRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgcmVh
ZG9ubHkgYXR0cmlidXRlIERvY3VtZW50PyBjb250ZW50RG9jdW1lbnQ7CiAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBXaW5kb3dQcm94eT8gY29udGVudFdpbmRvdzsKICAgRG9jdW1lbnQ/IGdldFNWR0Rv
Y3VtZW50KCk7Ci0KLSAgLy8gYWxzbyBoYXMgb2Jzb2xldGUgbWVtYmVycwogfTsKIAogW0V4cG9z
ZWQ9V2luZG93XQpAQCAtNDU0LDggKzQxNyw2IEBAIGludGVyZmFjZSBIVE1MRW1iZWRFbGVtZW50
IDogSFRNTEVsZW1lbnQgewogICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBET01TdHJpbmcgd2lk
dGg7CiAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIERPTVN0cmluZyBoZWlnaHQ7CiAgIERvY3Vt
ZW50PyBnZXRTVkdEb2N1bWVudCgpOwotCi0gIC8vIGFsc28gaGFzIG9ic29sZXRlIG1lbWJlcnMK
IH07CiAKIFtFeHBvc2VkPVdpbmRvd10KQEAgLTQ3OSw4ICs0NDAsNiBAQCBpbnRlcmZhY2UgSFRN
TE9iamVjdEVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgIGJvb2xlYW4gY2hlY2tWYWxpZGl0eSgp
OwogICBib29sZWFuIHJlcG9ydFZhbGlkaXR5KCk7CiAgIHZvaWQgc2V0Q3VzdG9tVmFsaWRpdHko
RE9NU3RyaW5nIGVycm9yKTsKLQotICAvLyBhbHNvIGhhcyBvYnNvbGV0ZSBtZW1iZXJzCiB9Owog
CiBbRXhwb3NlZD1XaW5kb3ddCkBAIC00ODksOCArNDQ4LDYgQEAgaW50ZXJmYWNlIEhUTUxQYXJh
bUVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgRE9N
U3RyaW5nIG5hbWU7CiAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIERPTVN0cmluZyB2YWx1ZTsK
LQotICAvLyBhbHNvIGhhcyBvYnNvbGV0ZSBtZW1iZXJzCiB9OwogCiBbRXhwb3NlZD1XaW5kb3dd
CkBAIC01MDYsNyArNDYzLDcgQEAgaW50ZXJmYWNlIEhUTUxWaWRlb0VsZW1lbnQgOiBIVE1MTWVk
aWFFbGVtZW50IHsKIH07CiAKIFtFeHBvc2VkPVdpbmRvdywKLSBOYW1lZENvbnN0cnVjdG9yPUF1
ZGlvKG9wdGlvbmFsIERPTVN0cmluZyBzcmMpXQorIExlZ2FjeUZhY3RvcnlGdW5jdGlvbj1BdWRp
byhvcHRpb25hbCBET01TdHJpbmcgc3JjKV0KIGludGVyZmFjZSBIVE1MQXVkaW9FbGVtZW50IDog
SFRNTE1lZGlhRWxlbWVudCB7CiAgIFtIVE1MQ29uc3RydWN0b3JdIGNvbnN0cnVjdG9yKCk7CiB9
OwpAQCAtNzM2LDggKzY5Myw2IEBAIGludGVyZmFjZSBIVE1MQXJlYUVsZW1lbnQgOiBIVE1MRWxl
bWVudCB7CiAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIERPTVN0cmluZyByZWw7CiAgIFtTYW1l
T2JqZWN0LCBQdXRGb3J3YXJkcz12YWx1ZV0gcmVhZG9ubHkgYXR0cmlidXRlIERPTVRva2VuTGlz
dCByZWxMaXN0OwogICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBET01TdHJpbmcgcmVmZXJyZXJQ
b2xpY3k7Ci0KLSAgLy8gYWxzbyBoYXMgb2Jzb2xldGUgbWVtYmVycwogfTsKIEhUTUxBcmVhRWxl
bWVudCBpbmNsdWRlcyBIVE1MSHlwZXJsaW5rRWxlbWVudFV0aWxzOwogCkBAIC03NjMsMTUgKzcx
OCwxMSBAQCBpbnRlcmZhY2UgSFRNTFRhYmxlRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgW1Nh
bWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1MQ29sbGVjdGlvbiByb3dzOwogICBIVE1M
VGFibGVSb3dFbGVtZW50IGluc2VydFJvdyhvcHRpb25hbCBsb25nIGluZGV4ID0gLTEpOwogICBb
Q0VSZWFjdGlvbnNdIHZvaWQgZGVsZXRlUm93KGxvbmcgaW5kZXgpOwotCi0gIC8vIGFsc28gaGFz
IG9ic29sZXRlIG1lbWJlcnMKIH07CiAKIFtFeHBvc2VkPVdpbmRvd10KIGludGVyZmFjZSBIVE1M
VGFibGVDYXB0aW9uRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgW0hUTUxDb25zdHJ1Y3Rvcl0g
Y29uc3RydWN0b3IoKTsKLQotICAvLyBhbHNvIGhhcyBvYnNvbGV0ZSBtZW1iZXJzCiB9OwogCiBb
RXhwb3NlZD1XaW5kb3ddCkBAIC03NzksOCArNzMwLDYgQEAgaW50ZXJmYWNlIEhUTUxUYWJsZUNv
bEVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgIFtIVE1MQ29uc3RydWN0b3JdIGNvbnN0cnVjdG9y
KCk7CiAKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBzcGFuOwotCi0g
IC8vIGFsc28gaGFzIG9ic29sZXRlIG1lbWJlcnMKIH07CiAKIFtFeHBvc2VkPVdpbmRvd10KQEAg
LTc5MCw4ICs3MzksNiBAQCBpbnRlcmZhY2UgSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQgOiBIVE1M
RWxlbWVudCB7CiAgIFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgSFRNTENvbGxlY3Rp
b24gcm93czsKICAgSFRNTFRhYmxlUm93RWxlbWVudCBpbnNlcnRSb3cob3B0aW9uYWwgbG9uZyBp
bmRleCA9IC0xKTsKICAgW0NFUmVhY3Rpb25zXSB2b2lkIGRlbGV0ZVJvdyhsb25nIGluZGV4KTsK
LQotICAvLyBhbHNvIGhhcyBvYnNvbGV0ZSBtZW1iZXJzCiB9OwogCiBbRXhwb3NlZD1XaW5kb3dd
CkBAIC04MDMsOCArNzUwLDYgQEAgaW50ZXJmYWNlIEhUTUxUYWJsZVJvd0VsZW1lbnQgOiBIVE1M
RWxlbWVudCB7CiAgIFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgSFRNTENvbGxlY3Rp
b24gY2VsbHM7CiAgIEhUTUxUYWJsZUNlbGxFbGVtZW50IGluc2VydENlbGwob3B0aW9uYWwgbG9u
ZyBpbmRleCA9IC0xKTsKICAgW0NFUmVhY3Rpb25zXSB2b2lkIGRlbGV0ZUNlbGwobG9uZyBpbmRl
eCk7Ci0KLSAgLy8gYWxzbyBoYXMgb2Jzb2xldGUgbWVtYmVycwogfTsKIAogW0V4cG9zZWQ9V2lu
ZG93XQpAQCAtODE4LDEyICs3NjMsMTAgQEAgaW50ZXJmYWNlIEhUTUxUYWJsZUNlbGxFbGVtZW50
IDogSFRNTEVsZW1lbnQgewogCiAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIERPTVN0cmluZyBz
Y29wZTsgLy8gb25seSBjb25mb3JtaW5nIGZvciB0aCBlbGVtZW50cwogICBbQ0VSZWFjdGlvbnNd
IGF0dHJpYnV0ZSBET01TdHJpbmcgYWJicjsgIC8vIG9ubHkgY29uZm9ybWluZyBmb3IgdGggZWxl
bWVudHMKLQotICAvLyBhbHNvIGhhcyBvYnNvbGV0ZSBtZW1iZXJzCiB9OwogCiBbRXhwb3NlZD1X
aW5kb3csCi0gT3ZlcnJpZGVCdWlsdGlucywKKyBMZWdhY3lPdmVycmlkZUJ1aWx0SW5zLAogIExl
Z2FjeVVuZW51bWVyYWJsZU5hbWVkUHJvcGVydGllc10KIGludGVyZmFjZSBIVE1MRm9ybUVsZW1l
bnQgOiBIVE1MRWxlbWVudCB7CiAgIFtIVE1MQ29uc3RydWN0b3JdIGNvbnN0cnVjdG9yKCk7CkBA
IC04OTcsNyArODQwLDcgQEAgaW50ZXJmYWNlIEhUTUxJbnB1dEVsZW1lbnQgOiBIVE1MRWxlbWVu
dCB7CiAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIERPTVN0cmluZyBzdGVwOwogICBbQ0VSZWFj
dGlvbnNdIGF0dHJpYnV0ZSBET01TdHJpbmcgdHlwZTsKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1
dGUgRE9NU3RyaW5nIGRlZmF1bHRWYWx1ZTsKLSAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgW1Ry
ZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgdmFsdWU7CisgIFtDRVJlYWN0aW9uc10g
YXR0cmlidXRlIFtMZWdhY3lOdWxsVG9FbXB0eVN0cmluZ10gRE9NU3RyaW5nIHZhbHVlOwogICBh
dHRyaWJ1dGUgb2JqZWN0PyB2YWx1ZUFzRGF0ZTsKICAgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBk
b3VibGUgdmFsdWVBc051bWJlcjsKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgdW5zaWduZWQg
bG9uZyB3aWR0aDsKQEAgLTkyMSw4ICs4NjQsNiBAQCBpbnRlcmZhY2UgSFRNTElucHV0RWxlbWVu
dCA6IEhUTUxFbGVtZW50IHsKICAgdm9pZCBzZXRSYW5nZVRleHQoRE9NU3RyaW5nIHJlcGxhY2Vt
ZW50KTsKICAgdm9pZCBzZXRSYW5nZVRleHQoRE9NU3RyaW5nIHJlcGxhY2VtZW50LCB1bnNpZ25l
ZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCwgb3B0aW9uYWwgU2VsZWN0aW9uTW9kZSBz
ZWxlY3Rpb25Nb2RlID0gInByZXNlcnZlIik7CiAgIHZvaWQgc2V0U2VsZWN0aW9uUmFuZ2UodW5z
aWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQsIG9wdGlvbmFsIERPTVN0cmluZyBk
aXJlY3Rpb24pOwotCi0gIC8vIGFsc28gaGFzIG9ic29sZXRlIG1lbWJlcnMKIH07CiAKIFtFeHBv
c2VkPVdpbmRvd10KQEAgLTEwMDMsNyArOTQ0LDcgQEAgaW50ZXJmYWNlIEhUTUxPcHRHcm91cEVs
ZW1lbnQgOiBIVE1MRWxlbWVudCB7CiB9OwogCiBbRXhwb3NlZD1XaW5kb3csCi0gTmFtZWRDb25z
dHJ1Y3Rvcj1PcHRpb24ob3B0aW9uYWwgRE9NU3RyaW5nIHRleHQgPSAiIiwgb3B0aW9uYWwgRE9N
U3RyaW5nIHZhbHVlLCBvcHRpb25hbCBib29sZWFuIGRlZmF1bHRTZWxlY3RlZCA9IGZhbHNlLCBv
cHRpb25hbCBib29sZWFuIHNlbGVjdGVkID0gZmFsc2UpXQorIExlZ2FjeUZhY3RvcnlGdW5jdGlv
bj1PcHRpb24ob3B0aW9uYWwgRE9NU3RyaW5nIHRleHQgPSAiIiwgb3B0aW9uYWwgRE9NU3RyaW5n
IHZhbHVlLCBvcHRpb25hbCBib29sZWFuIGRlZmF1bHRTZWxlY3RlZCA9IGZhbHNlLCBvcHRpb25h
bCBib29sZWFuIHNlbGVjdGVkID0gZmFsc2UpXQogaW50ZXJmYWNlIEhUTUxPcHRpb25FbGVtZW50
IDogSFRNTEVsZW1lbnQgewogICBbSFRNTENvbnN0cnVjdG9yXSBjb25zdHJ1Y3RvcigpOwogCkBA
IC0xMDM4LDcgKzk3OSw3IEBAIGludGVyZmFjZSBIVE1MVGV4dEFyZWFFbGVtZW50IDogSFRNTEVs
ZW1lbnQgewogCiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdHlwZTsKICAgW0NFUmVh
Y3Rpb25zXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGRlZmF1bHRWYWx1ZTsKLSAgYXR0cmlidXRlIFtU
cmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIHZhbHVlOworICBhdHRyaWJ1dGUgW0xl
Z2FjeU51bGxUb0VtcHR5U3RyaW5nXSBET01TdHJpbmcgdmFsdWU7CiAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSB1bnNpZ25lZCBsb25nIHRleHRMZW5ndGg7CiAKICAgcmVhZG9ubHkgYXR0cmlidXRlIGJv
b2xlYW4gd2lsbFZhbGlkYXRlOwpAQCAtMTEyOSw4ICsxMDcwLDYgQEAgaW50ZXJmYWNlIEhUTUxM
ZWdlbmRFbGVtZW50IDogSFRNTEVsZW1lbnQgewogICBbSFRNTENvbnN0cnVjdG9yXSBjb25zdHJ1
Y3RvcigpOwogCiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1MRm9ybUVsZW1lbnQ/IGZvcm07Ci0K
LSAgLy8gYWxzbyBoYXMgb2Jzb2xldGUgbWVtYmVycwogfTsKIAogZW51bSBTZWxlY3Rpb25Nb2Rl
IHsKQEAgLTEyMDksNyArMTE0OCw2IEBAIGludGVyZmFjZSBIVE1MU2NyaXB0RWxlbWVudCA6IEhU
TUxFbGVtZW50IHsKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGludGVncml0
eTsKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHJlZmVycmVyUG9saWN5Owog
Ci0gIC8vIGFsc28gaGFzIG9ic29sZXRlIG1lbWJlcnMKIH07CiAKIFtFeHBvc2VkPVdpbmRvd10K
QEAgLTEzMzEsNyArMTI2OSw3IEBAIGludGVyZmFjZSBtaXhpbiBDYW52YXNGaWxsU3Ryb2tlU3R5
bGVzIHsKICAgYXR0cmlidXRlIChET01TdHJpbmcgb3IgQ2FudmFzR3JhZGllbnQgb3IgQ2FudmFz
UGF0dGVybikgZmlsbFN0eWxlOyAvLyAoZGVmYXVsdCBibGFjaykKICAgQ2FudmFzR3JhZGllbnQg
Y3JlYXRlTGluZWFyR3JhZGllbnQoZG91YmxlIHgwLCBkb3VibGUgeTAsIGRvdWJsZSB4MSwgZG91
YmxlIHkxKTsKICAgQ2FudmFzR3JhZGllbnQgY3JlYXRlUmFkaWFsR3JhZGllbnQoZG91YmxlIHgw
LCBkb3VibGUgeTAsIGRvdWJsZSByMCwgZG91YmxlIHgxLCBkb3VibGUgeTEsIGRvdWJsZSByMSk7
Ci0gIENhbnZhc1BhdHRlcm4/IGNyZWF0ZVBhdHRlcm4oQ2FudmFzSW1hZ2VTb3VyY2UgaW1hZ2Us
IFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIHJlcGV0aXRpb24pOworICBDYW52
YXNQYXR0ZXJuPyBjcmVhdGVQYXR0ZXJuKENhbnZhc0ltYWdlU291cmNlIGltYWdlLCBbTGVnYWN5
TnVsbFRvRW1wdHlTdHJpbmddIERPTVN0cmluZyByZXBldGl0aW9uKTsKIAogfTsKIApAQCAtMTU2
Niw3ICsxNTA0LDcgQEAgaW50ZXJmYWNlIEVsZW1lbnRJbnRlcm5hbHMgewogCiAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBIVE1MRm9ybUVsZW1lbnQ/IGZvcm07CiAKLSAgdm9pZCBzZXRWYWxpZGl0eShW
YWxpZGl0eVN0YXRlRmxhZ3MgZmxhZ3MsCisgIHZvaWQgc2V0VmFsaWRpdHkob3B0aW9uYWwgVmFs
aWRpdHlTdGF0ZUZsYWdzIGZsYWdzID0ge30sCiAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwg
RE9NU3RyaW5nIG1lc3NhZ2UsCiAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgSFRNTEVsZW1l
bnQgYW5jaG9yKTsKICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gd2lsbFZhbGlkYXRlOwpA
QCAtMTY1NSwxMSArMTU5MywxMSBAQCBkaWN0aW9uYXJ5IERyYWdFdmVudEluaXQgOiBNb3VzZUV2
ZW50SW5pdCB7CiAgTGVnYWN5VW5lbnVtZXJhYmxlTmFtZWRQcm9wZXJ0aWVzXQogaW50ZXJmYWNl
IFdpbmRvdyA6IEV2ZW50VGFyZ2V0IHsKICAgLy8gdGhlIGN1cnJlbnQgYnJvd3NpbmcgY29udGV4
dAotICBbVW5mb3JnZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBXaW5kb3dQcm94eSB3aW5kb3c7
CisgIFtMZWdhY3lVbmZvcmdlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIFdpbmRvd1Byb3h5IHdp
bmRvdzsKICAgW1JlcGxhY2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgV2luZG93UHJveHkgc2Vs
ZjsKLSAgW1VuZm9yZ2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgRG9jdW1lbnQgZG9jdW1lbnQ7
CisgIFtMZWdhY3lVbmZvcmdlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIERvY3VtZW50IGRvY3Vt
ZW50OwogICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci0gIFtQdXRGb3J3YXJkcz1ocmVmLCBV
bmZvcmdlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIExvY2F0aW9uIGxvY2F0aW9uOworICBbUHV0
Rm9yd2FyZHM9aHJlZiwgTGVnYWN5VW5mb3JnZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBMb2Nh
dGlvbiBsb2NhdGlvbjsKICAgcmVhZG9ubHkgYXR0cmlidXRlIEhpc3RvcnkgaGlzdG9yeTsKICAg
cmVhZG9ubHkgYXR0cmlidXRlIEN1c3RvbUVsZW1lbnRSZWdpc3RyeSBjdXN0b21FbGVtZW50czsK
ICAgW1JlcGxhY2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgQmFyUHJvcCBsb2NhdGlvbmJhcjsK
QEAgLTE2NzgsMTEgKzE2MTYsMTEgQEAgaW50ZXJmYWNlIFdpbmRvdyA6IEV2ZW50VGFyZ2V0IHsK
ICAgLy8gb3RoZXIgYnJvd3NpbmcgY29udGV4dHMKICAgW1JlcGxhY2VhYmxlXSByZWFkb25seSBh
dHRyaWJ1dGUgV2luZG93UHJveHkgZnJhbWVzOwogICBbUmVwbGFjZWFibGVdIHJlYWRvbmx5IGF0
dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKLSAgW1VuZm9yZ2VhYmxlXSByZWFkb25seSBh
dHRyaWJ1dGUgV2luZG93UHJveHk/IHRvcDsKKyAgW0xlZ2FjeVVuZm9yZ2VhYmxlXSByZWFkb25s
eSBhdHRyaWJ1dGUgV2luZG93UHJveHk/IHRvcDsKICAgYXR0cmlidXRlIGFueSBvcGVuZXI7CiAg
IFtSZXBsYWNlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIFdpbmRvd1Byb3h5PyBwYXJlbnQ7CiAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBFbGVtZW50PyBmcmFtZUVsZW1lbnQ7Ci0gIFdpbmRvd1Byb3h5
PyBvcGVuKG9wdGlvbmFsIFVTVlN0cmluZyB1cmwgPSAiIiwgb3B0aW9uYWwgRE9NU3RyaW5nIHRh
cmdldCA9ICJfYmxhbmsiLCBvcHRpb25hbCBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0
cmluZyBmZWF0dXJlcyA9ICIiKTsKKyAgV2luZG93UHJveHk/IG9wZW4ob3B0aW9uYWwgVVNWU3Ry
aW5nIHVybCA9ICIiLCBvcHRpb25hbCBET01TdHJpbmcgdGFyZ2V0ID0gIl9ibGFuayIsIG9wdGlv
bmFsIFtMZWdhY3lOdWxsVG9FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGZlYXR1cmVzID0gIiIpOwog
ICBnZXR0ZXIgb2JqZWN0IChET01TdHJpbmcgbmFtZSk7CiAgIC8vIFNpbmNlIHRoaXMgaXMgdGhl
IGdsb2JhbCBvYmplY3QsIHRoZSBJREwgbmFtZWQgZ2V0dGVyIGFkZHMgYSBOYW1lZFByb3BlcnRp
ZXNPYmplY3QgZXhvdGljCiAgIC8vIG9iamVjdCBvbiB0aGUgcHJvdG90eXBlIGNoYWluLiBJbmRl
ZWQsIHRoaXMgZG9lcyBub3QgbWFrZSB0aGUgZ2xvYmFsIG9iamVjdCBhbiBleG90aWMgb2JqZWN0
LgpAQCAtMTczMCwyMSArMTY2OCwyMSBAQCBpbnRlcmZhY2UgSGlzdG9yeSB7CiAKIFtFeHBvc2Vk
PVdpbmRvd10KIGludGVyZmFjZSBMb2NhdGlvbiB7IC8vIGJ1dCBzZWUgYWxzbyBhZGRpdGlvbmFs
IGNyZWF0aW9uIHN0ZXBzIGFuZCBvdmVycmlkZGVuIGludGVybmFsIG1ldGhvZHMKLSAgW1VuZm9y
Z2VhYmxlXSBzdHJpbmdpZmllciBhdHRyaWJ1dGUgVVNWU3RyaW5nIGhyZWY7Ci0gIFtVbmZvcmdl
YWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIFVTVlN0cmluZyBvcmlnaW47Ci0gIFtVbmZvcmdlYWJs
ZV0gYXR0cmlidXRlIFVTVlN0cmluZyBwcm90b2NvbDsKLSAgW1VuZm9yZ2VhYmxlXSBhdHRyaWJ1
dGUgVVNWU3RyaW5nIGhvc3Q7Ci0gIFtVbmZvcmdlYWJsZV0gYXR0cmlidXRlIFVTVlN0cmluZyBo
b3N0bmFtZTsKLSAgW1VuZm9yZ2VhYmxlXSBhdHRyaWJ1dGUgVVNWU3RyaW5nIHBvcnQ7Ci0gIFtV
bmZvcmdlYWJsZV0gYXR0cmlidXRlIFVTVlN0cmluZyBwYXRobmFtZTsKLSAgW1VuZm9yZ2VhYmxl
XSBhdHRyaWJ1dGUgVVNWU3RyaW5nIHNlYXJjaDsKLSAgW1VuZm9yZ2VhYmxlXSBhdHRyaWJ1dGUg
VVNWU3RyaW5nIGhhc2g7CisgIFtMZWdhY3lVbmZvcmdlYWJsZV0gc3RyaW5naWZpZXIgYXR0cmli
dXRlIFVTVlN0cmluZyBocmVmOworICBbTGVnYWN5VW5mb3JnZWFibGVdIHJlYWRvbmx5IGF0dHJp
YnV0ZSBVU1ZTdHJpbmcgb3JpZ2luOworICBbTGVnYWN5VW5mb3JnZWFibGVdIGF0dHJpYnV0ZSBV
U1ZTdHJpbmcgcHJvdG9jb2w7CisgIFtMZWdhY3lVbmZvcmdlYWJsZV0gYXR0cmlidXRlIFVTVlN0
cmluZyBob3N0OworICBbTGVnYWN5VW5mb3JnZWFibGVdIGF0dHJpYnV0ZSBVU1ZTdHJpbmcgaG9z
dG5hbWU7CisgIFtMZWdhY3lVbmZvcmdlYWJsZV0gYXR0cmlidXRlIFVTVlN0cmluZyBwb3J0Owor
ICBbTGVnYWN5VW5mb3JnZWFibGVdIGF0dHJpYnV0ZSBVU1ZTdHJpbmcgcGF0aG5hbWU7CisgIFtM
ZWdhY3lVbmZvcmdlYWJsZV0gYXR0cmlidXRlIFVTVlN0cmluZyBzZWFyY2g7CisgIFtMZWdhY3lV
bmZvcmdlYWJsZV0gYXR0cmlidXRlIFVTVlN0cmluZyBoYXNoOwogCi0gIFtVbmZvcmdlYWJsZV0g
dm9pZCBhc3NpZ24oVVNWU3RyaW5nIHVybCk7Ci0gIFtVbmZvcmdlYWJsZV0gdm9pZCByZXBsYWNl
KFVTVlN0cmluZyB1cmwpOwotICBbVW5mb3JnZWFibGVdIHZvaWQgcmVsb2FkKCk7CisgIFtMZWdh
Y3lVbmZvcmdlYWJsZV0gdm9pZCBhc3NpZ24oVVNWU3RyaW5nIHVybCk7CisgIFtMZWdhY3lVbmZv
cmdlYWJsZV0gdm9pZCByZXBsYWNlKFVTVlN0cmluZyB1cmwpOworICBbTGVnYWN5VW5mb3JnZWFi
bGVdIHZvaWQgcmVsb2FkKCk7CiAKLSAgW1VuZm9yZ2VhYmxlLCBTYW1lT2JqZWN0XSByZWFkb25s
eSBhdHRyaWJ1dGUgRE9NU3RyaW5nTGlzdCBhbmNlc3Rvck9yaWdpbnM7CisgIFtMZWdhY3lVbmZv
cmdlYWJsZSwgU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZ0xpc3QgYW5j
ZXN0b3JPcmlnaW5zOwogfTsKIAogW0V4cG9zZWQ9V2luZG93LApAQCAtMTg0OSwxNSArMTc4Nywx
NSBAQCBkaWN0aW9uYXJ5IFByb21pc2VSZWplY3Rpb25FdmVudEluaXQgOiBFdmVudEluaXQgewog
ICBhbnkgcmVhc29uOwogfTsKIAotW1RyZWF0Tm9uT2JqZWN0QXNOdWxsXQorW0xlZ2FjeVRyZWF0
Tm9uT2JqZWN0QXNOdWxsXQogY2FsbGJhY2sgRXZlbnRIYW5kbGVyTm9uTnVsbCA9IGFueSAoRXZl
bnQgZXZlbnQpOwogdHlwZWRlZiBFdmVudEhhbmRsZXJOb25OdWxsPyBFdmVudEhhbmRsZXI7CiAK
LVtUcmVhdE5vbk9iamVjdEFzTnVsbF0KK1tMZWdhY3lUcmVhdE5vbk9iamVjdEFzTnVsbF0KIGNh
bGxiYWNrIE9uRXJyb3JFdmVudEhhbmRsZXJOb25OdWxsID0gYW55ICgoRXZlbnQgb3IgRE9NU3Ry
aW5nKSBldmVudCwgb3B0aW9uYWwgRE9NU3RyaW5nIHNvdXJjZSwgb3B0aW9uYWwgdW5zaWduZWQg
bG9uZyBsaW5lbm8sIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgY29sbm8sIG9wdGlvbmFsIGFueSBl
cnJvcik7CiB0eXBlZGVmIE9uRXJyb3JFdmVudEhhbmRsZXJOb25OdWxsPyBPbkVycm9yRXZlbnRI
YW5kbGVyOwogCi1bVHJlYXROb25PYmplY3RBc051bGxdCitbTGVnYWN5VHJlYXROb25PYmplY3RB
c051bGxdCiBjYWxsYmFjayBPbkJlZm9yZVVubG9hZEV2ZW50SGFuZGxlck5vbk51bGwgPSBET01T
dHJpbmc/IChFdmVudCBldmVudCk7CiB0eXBlZGVmIE9uQmVmb3JlVW5sb2FkRXZlbnRIYW5kbGVy
Tm9uTnVsbD8gT25CZWZvcmVVbmxvYWRFdmVudEhhbmRsZXI7CiAKQEAgLTE4OTgsMTMgKzE4MzYs
MTIgQEAgaW50ZXJmYWNlIG1peGluIEdsb2JhbEV2ZW50SGFuZGxlcnMgewogICBhdHRyaWJ1dGUg
RXZlbnRIYW5kbGVyIG9ubG9hZGVkbWV0YWRhdGE7CiAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIg
b25sb2Fkc3RhcnQ7CiAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25tb3VzZWRvd247Ci0gIFtM
ZW5pZW50VGhpc10gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbm1vdXNlZW50ZXI7Ci0gIFtMZW5p
ZW50VGhpc10gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbm1vdXNlbGVhdmU7CisgIFtMZWdhY3lM
ZW5pZW50VGhpc10gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbm1vdXNlZW50ZXI7CisgIFtMZWdh
Y3lMZW5pZW50VGhpc10gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbm1vdXNlbGVhdmU7CiAgIGF0
dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25tb3VzZW1vdmU7CiAgIGF0dHJpYnV0ZSBFdmVudEhhbmRs
ZXIgb25tb3VzZW91dDsKICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbm1vdXNlb3ZlcjsKICAg
YXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbm1vdXNldXA7Ci0gIGF0dHJpYnV0ZSBFdmVudEhhbmRs
ZXIgb253aGVlbDsKICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbnBhdXNlOwogICBhdHRyaWJ1
dGUgRXZlbnRIYW5kbGVyIG9ucGxheTsKICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbnBsYXlp
bmc7CkBAIC0xOTI1LDYgKzE4NjIsMTEgQEAgaW50ZXJmYWNlIG1peGluIEdsb2JhbEV2ZW50SGFu
ZGxlcnMgewogICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9udG9nZ2xlOwogICBhdHRyaWJ1dGUg
RXZlbnRIYW5kbGVyIG9udm9sdW1lY2hhbmdlOwogICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9u
d2FpdGluZzsKKyAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbndlYmtpdGFuaW1hdGlvbmVuZDsK
KyAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbndlYmtpdGFuaW1hdGlvbml0ZXJhdGlvbjsKKyAg
YXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbndlYmtpdGFuaW1hdGlvbnN0YXJ0OworICBhdHRyaWJ1
dGUgRXZlbnRIYW5kbGVyIG9ud2Via2l0dHJhbnNpdGlvbmVuZDsKKyAgYXR0cmlidXRlIEV2ZW50
SGFuZGxlciBvbndoZWVsOwogfTsKIAogaW50ZXJmYWNlIG1peGluIFdpbmRvd0V2ZW50SGFuZGxl
cnMgewpAQCAtMTk3Nyw2ICsxOTE5LDIxIEBAIGludGVyZmFjZSBtaXhpbiBXaW5kb3dPcldvcmtl
ckdsb2JhbFNjb3BlIHsKIFdpbmRvdyBpbmNsdWRlcyBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3Bl
OwogV29ya2VyR2xvYmFsU2NvcGUgaW5jbHVkZXMgV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZTsK
IAorW0V4cG9zZWQ9V2luZG93XQoraW50ZXJmYWNlIERPTVBhcnNlciB7CisgIGNvbnN0cnVjdG9y
KCk7CisKKyAgW05ld09iamVjdF0gRG9jdW1lbnQgcGFyc2VGcm9tU3RyaW5nKERPTVN0cmluZyBz
dHJpbmcsIERPTVBhcnNlclN1cHBvcnRlZFR5cGUgdHlwZSk7Cit9OworCitlbnVtIERPTVBhcnNl
clN1cHBvcnRlZFR5cGUgeworICAidGV4dC9odG1sIiwKKyAgInRleHQveG1sIiwKKyAgImFwcGxp
Y2F0aW9uL3htbCIsCisgICJhcHBsaWNhdGlvbi94aHRtbCt4bWwiLAorICAiaW1hZ2Uvc3ZnK3ht
bCIKK307CisKIFtFeHBvc2VkPVdpbmRvd10KIGludGVyZmFjZSBOYXZpZ2F0b3IgewogICAvLyBv
YmplY3RzIGltcGxlbWVudGluZyB0aGlzIGludGVyZmFjZSBhbHNvIGltcGxlbWVudCB0aGUgaW50
ZXJmYWNlcyBnaXZlbiBiZWxvdwpAQCAtMjAxMiw3ICsxOTY5LDcgQEAgaW50ZXJmYWNlIG1peGlu
IE5hdmlnYXRvckxhbmd1YWdlIHsKIH07CiAKIGludGVyZmFjZSBtaXhpbiBOYXZpZ2F0b3JDb250
ZW50VXRpbHMgewotICBbU2VjdXJlQ29udGV4dF0gdm9pZCByZWdpc3RlclByb3RvY29sSGFuZGxl
cihET01TdHJpbmcgc2NoZW1lLCBVU1ZTdHJpbmcgdXJsLCBET01TdHJpbmcgdGl0bGUpOworICBb
U2VjdXJlQ29udGV4dF0gdm9pZCByZWdpc3RlclByb3RvY29sSGFuZGxlcihET01TdHJpbmcgc2No
ZW1lLCBVU1ZTdHJpbmcgdXJsKTsKICAgW1NlY3VyZUNvbnRleHRdIHZvaWQgdW5yZWdpc3RlclBy
b3RvY29sSGFuZGxlcihET01TdHJpbmcgc2NoZW1lLCBVU1ZTdHJpbmcgdXJsKTsKIH07CiAKQEAg
LTI0MDQsOCArMjM2MSw4IEBAIGludGVyZmFjZSBIVE1MRnJhbWVFbGVtZW50IDogSFRNTEVsZW1l
bnQgewogICByZWFkb25seSBhdHRyaWJ1dGUgRG9jdW1lbnQ/IGNvbnRlbnREb2N1bWVudDsKICAg
cmVhZG9ubHkgYXR0cmlidXRlIFdpbmRvd1Byb3h5PyBjb250ZW50V2luZG93OwogCi0gIFtDRVJl
YWN0aW9uc10gYXR0cmlidXRlIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIG1h
cmdpbkhlaWdodDsKLSAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPUVtcHR5
U3RyaW5nXSBET01TdHJpbmcgbWFyZ2luV2lkdGg7CisgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRl
IFtMZWdhY3lOdWxsVG9FbXB0eVN0cmluZ10gRE9NU3RyaW5nIG1hcmdpbkhlaWdodDsKKyAgW0NF
UmVhY3Rpb25zXSBhdHRyaWJ1dGUgW0xlZ2FjeU51bGxUb0VtcHR5U3RyaW5nXSBET01TdHJpbmcg
bWFyZ2luV2lkdGg7CiB9OwogCiBwYXJ0aWFsIGludGVyZmFjZSBIVE1MQW5jaG9yRWxlbWVudCB7
CkBAIC0yNDIxLDExICsyMzc4LDExIEBAIHBhcnRpYWwgaW50ZXJmYWNlIEhUTUxBcmVhRWxlbWVu
dCB7CiB9OwogCiBwYXJ0aWFsIGludGVyZmFjZSBIVE1MQm9keUVsZW1lbnQgewotICBbQ0VSZWFj
dGlvbnNdIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyB0ZXh0
OwotICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERP
TVN0cmluZyBsaW5rOwotICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9RW1w
dHlTdHJpbmddIERPTVN0cmluZyB2TGluazsKLSAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgW1Ry
ZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgYUxpbms7Ci0gIFtDRVJlYWN0aW9uc10g
YXR0cmlidXRlIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGJnQ29sb3I7Cisg
IFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIFtMZWdhY3lOdWxsVG9FbXB0eVN0cmluZ10gRE9NU3Ry
aW5nIHRleHQ7CisgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIFtMZWdhY3lOdWxsVG9FbXB0eVN0
cmluZ10gRE9NU3RyaW5nIGxpbms7CisgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIFtMZWdhY3lO
dWxsVG9FbXB0eVN0cmluZ10gRE9NU3RyaW5nIHZMaW5rOworICBbQ0VSZWFjdGlvbnNdIGF0dHJp
YnV0ZSBbTGVnYWN5TnVsbFRvRW1wdHlTdHJpbmddIERPTVN0cmluZyBhTGluazsKKyAgW0NFUmVh
Y3Rpb25zXSBhdHRyaWJ1dGUgW0xlZ2FjeU51bGxUb0VtcHR5U3RyaW5nXSBET01TdHJpbmcgYmdD
b2xvcjsKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGJhY2tncm91bmQ7CiB9
OwogCkBAIC0yNDY5LDcgKzI0MjYsNyBAQCBwYXJ0aWFsIGludGVyZmFjZSBIVE1MRW1iZWRFbGVt
ZW50IHsKIGludGVyZmFjZSBIVE1MRm9udEVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgIFtIVE1M
Q29uc3RydWN0b3JdIGNvbnN0cnVjdG9yKCk7CiAKLSAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUg
W1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgY29sb3I7CisgIFtDRVJlYWN0aW9u
c10gYXR0cmlidXRlIFtMZWdhY3lOdWxsVG9FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGNvbG9yOwog
ICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBET01TdHJpbmcgZmFjZTsKICAgW0NFUmVhY3Rpb25z
XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHNpemU7CiB9OwpAQCAtMjQ5Niw4ICsyNDUzLDggQEAgcGFy
dGlhbCBpbnRlcmZhY2UgSFRNTElGcmFtZUVsZW1lbnQgewogICBbQ0VSZWFjdGlvbnNdIGF0dHJp
YnV0ZSBET01TdHJpbmcgZnJhbWVCb3JkZXI7CiAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIFVT
VlN0cmluZyBsb25nRGVzYzsKIAotICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbVHJlYXROdWxs
QXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBtYXJnaW5IZWlnaHQ7Ci0gIFtDRVJlYWN0aW9uc10g
YXR0cmlidXRlIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIG1hcmdpbldpZHRo
OworICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbTGVnYWN5TnVsbFRvRW1wdHlTdHJpbmddIERP
TVN0cmluZyBtYXJnaW5IZWlnaHQ7CisgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIFtMZWdhY3lO
dWxsVG9FbXB0eVN0cmluZ10gRE9NU3RyaW5nIG1hcmdpbldpZHRoOwogfTsKIAogcGFydGlhbCBp
bnRlcmZhY2UgSFRNTEltYWdlRWxlbWVudCB7CkBAIC0yNTA4LDcgKzI0NjUsNyBAQCBwYXJ0aWFs
IGludGVyZmFjZSBIVE1MSW1hZ2VFbGVtZW50IHsKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUg
dW5zaWduZWQgbG9uZyB2c3BhY2U7CiAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIFVTVlN0cmlu
ZyBsb25nRGVzYzsKIAotICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9RW1w
dHlTdHJpbmddIERPTVN0cmluZyBib3JkZXI7CisgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIFtM
ZWdhY3lOdWxsVG9FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGJvcmRlcjsKIH07CiAKIHBhcnRpYWwg
aW50ZXJmYWNlIEhUTUxJbnB1dEVsZW1lbnQgewpAQCAtMjU0OSw3ICsyNTA2LDcgQEAgcGFydGlh
bCBpbnRlcmZhY2UgSFRNTE9iamVjdEVsZW1lbnQgewogICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0
ZSBET01TdHJpbmcgY29kZUJhc2U7CiAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIERPTVN0cmlu
ZyBjb2RlVHlwZTsKIAotICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9RW1w
dHlTdHJpbmddIERPTVN0cmluZyBib3JkZXI7CisgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIFtM
ZWdhY3lOdWxsVG9FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGJvcmRlcjsKIH07CiAKIHBhcnRpYWwg
aW50ZXJmYWNlIEhUTUxPTGlzdEVsZW1lbnQgewpAQCAtMjU4Nyw5ICsyNTQ0LDkgQEAgcGFydGlh
bCBpbnRlcmZhY2UgSFRNTFRhYmxlRWxlbWVudCB7CiAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRl
IERPTVN0cmluZyBzdW1tYXJ5OwogICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBET01TdHJpbmcg
d2lkdGg7CiAKLSAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPUVtcHR5U3Ry
aW5nXSBET01TdHJpbmcgYmdDb2xvcjsKLSAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgW1RyZWF0
TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgY2VsbFBhZGRpbmc7Ci0gIFtDRVJlYWN0aW9u
c10gYXR0cmlidXRlIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGNlbGxTcGFj
aW5nOworICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbTGVnYWN5TnVsbFRvRW1wdHlTdHJpbmdd
IERPTVN0cmluZyBiZ0NvbG9yOworICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbTGVnYWN5TnVs
bFRvRW1wdHlTdHJpbmddIERPTVN0cmluZyBjZWxsUGFkZGluZzsKKyAgW0NFUmVhY3Rpb25zXSBh
dHRyaWJ1dGUgW0xlZ2FjeU51bGxUb0VtcHR5U3RyaW5nXSBET01TdHJpbmcgY2VsbFNwYWNpbmc7
CiB9OwogCiBwYXJ0aWFsIGludGVyZmFjZSBIVE1MVGFibGVTZWN0aW9uRWxlbWVudCB7CkBAIC0y
NjEwLDcgKzI1NjcsNyBAQCBwYXJ0aWFsIGludGVyZmFjZSBIVE1MVGFibGVDZWxsRWxlbWVudCB7
CiAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIGJvb2xlYW4gbm9XcmFwOwogICBbQ0VSZWFjdGlv
bnNdIGF0dHJpYnV0ZSBET01TdHJpbmcgdkFsaWduOwogCi0gIFtDRVJlYWN0aW9uc10gYXR0cmli
dXRlIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGJnQ29sb3I7CisgIFtDRVJl
YWN0aW9uc10gYXR0cmlidXRlIFtMZWdhY3lOdWxsVG9FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGJn
Q29sb3I7CiB9OwogCiBwYXJ0aWFsIGludGVyZmFjZSBIVE1MVGFibGVSb3dFbGVtZW50IHsKQEAg
LTI2MTksNyArMjU3Niw3IEBAIHBhcnRpYWwgaW50ZXJmYWNlIEhUTUxUYWJsZVJvd0VsZW1lbnQg
ewogICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBET01TdHJpbmcgY2hPZmY7CiAgIFtDRVJlYWN0
aW9uc10gYXR0cmlidXRlIERPTVN0cmluZyB2QWxpZ247CiAKLSAgW0NFUmVhY3Rpb25zXSBhdHRy
aWJ1dGUgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgYmdDb2xvcjsKKyAgW0NF
UmVhY3Rpb25zXSBhdHRyaWJ1dGUgW0xlZ2FjeU51bGxUb0VtcHR5U3RyaW5nXSBET01TdHJpbmcg
YmdDb2xvcjsKIH07CiAKIHBhcnRpYWwgaW50ZXJmYWNlIEhUTUxVTGlzdEVsZW1lbnQgewpAQCAt
MjYyOCwxMSArMjU4NSwxMSBAQCBwYXJ0aWFsIGludGVyZmFjZSBIVE1MVUxpc3RFbGVtZW50IHsK
IH07CiAKIHBhcnRpYWwgaW50ZXJmYWNlIERvY3VtZW50IHsKLSAgW0NFUmVhY3Rpb25zXSBhdHRy
aWJ1dGUgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgZmdDb2xvcjsKLSAgW0NF
UmVhY3Rpb25zXSBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcg
bGlua0NvbG9yOwotICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9RW1wdHlT
dHJpbmddIERPTVN0cmluZyB2bGlua0NvbG9yOwotICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBb
VHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBhbGlua0NvbG9yOwotICBbQ0VSZWFj
dGlvbnNdIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBiZ0Nv
bG9yOworICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbTGVnYWN5TnVsbFRvRW1wdHlTdHJpbmdd
IERPTVN0cmluZyBmZ0NvbG9yOworICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbTGVnYWN5TnVs
bFRvRW1wdHlTdHJpbmddIERPTVN0cmluZyBsaW5rQ29sb3I7CisgIFtDRVJlYWN0aW9uc10gYXR0
cmlidXRlIFtMZWdhY3lOdWxsVG9FbXB0eVN0cmluZ10gRE9NU3RyaW5nIHZsaW5rQ29sb3I7Cisg
IFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIFtMZWdhY3lOdWxsVG9FbXB0eVN0cmluZ10gRE9NU3Ry
aW5nIGFsaW5rQ29sb3I7CisgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIFtMZWdhY3lOdWxsVG9F
bXB0eVN0cmluZ10gRE9NU3RyaW5nIGJnQ29sb3I7CiAKICAgW1NhbWVPYmplY3RdIHJlYWRvbmx5
IGF0dHJpYnV0ZSBIVE1MQ29sbGVjdGlvbiBhbmNob3JzOwogICBbU2FtZU9iamVjdF0gcmVhZG9u
bHkgYXR0cmlidXRlIEhUTUxDb2xsZWN0aW9uIGFwcGxldHM7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvaW1hZ2UtY2Fw
dHVyZS5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2lu
dGVyZmFjZXMvaW1hZ2UtY2FwdHVyZS5pZGwKaW5kZXggZTkwMTZhMWY5YmEuLjA5NGYzZjVjYWZl
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ludGVyZmFjZXMvaW1hZ2UtY2FwdHVyZS5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2ltYWdlLWNhcHR1cmUuaWRsCkBAIC0z
LDkgKzMsMTAgQEAKIC8vIChodHRwczovL2dpdGh1Yi5jb20vdGlkb3VzdC9yZWZmeS1yZXBvcnRz
KQogLy8gU291cmNlOiBNZWRpYVN0cmVhbSBJbWFnZSBDYXB0dXJlIChodHRwczovL3czYy5naXRo
dWIuaW8vbWVkaWFjYXB0dXJlLWltYWdlLykKIAotW0V4cG9zZWQ9V2luZG93LCBDb25zdHJ1Y3Rv
cihNZWRpYVN0cmVhbVRyYWNrIHZpZGVvVHJhY2spXQorW0V4cG9zZWQ9V2luZG93XQogaW50ZXJm
YWNlIEltYWdlQ2FwdHVyZSB7Ci0gICBQcm9taXNlPEJsb2I+ICAgICAgICAgICAgICB0YWtlUGhv
dG8ob3B0aW9uYWwgUGhvdG9TZXR0aW5ncyBwaG90b1NldHRpbmdzKTsKKyAgIGNvbnN0cnVjdG9y
KE1lZGlhU3RyZWFtVHJhY2sgdmlkZW9UcmFjayk7CisgICBQcm9taXNlPEJsb2I+ICAgICAgICAg
ICAgICB0YWtlUGhvdG8ob3B0aW9uYWwgUGhvdG9TZXR0aW5ncyBwaG90b1NldHRpbmdzID0ge30p
OwogICAgUHJvbWlzZTxQaG90b0NhcGFiaWxpdGllcz4gZ2V0UGhvdG9DYXBhYmlsaXRpZXMoKTsK
ICAgIFByb21pc2U8UGhvdG9TZXR0aW5ncz4gICAgIGdldFBob3RvU2V0dGluZ3MoKTsKIApAQCAt
OTIsMjcgKzkzLDI3IEBAIHBhcnRpYWwgZGljdGlvbmFyeSBNZWRpYVRyYWNrQ2FwYWJpbGl0aWVz
IHsKIH07CiAKIHBhcnRpYWwgZGljdGlvbmFyeSBNZWRpYVRyYWNrQ29uc3RyYWludFNldCB7Ci0g
IENvbnN0cmFpbkRPTVN0cmluZyB3aGl0ZUJhbGFuY2VNb2RlOwotICBDb25zdHJhaW5ET01TdHJp
bmcgZXhwb3N1cmVNb2RlOwotICBDb25zdHJhaW5ET01TdHJpbmcgZm9jdXNNb2RlOwotICBDb25z
dHJhaW5Qb2ludDJEICAgcG9pbnRzT2ZJbnRlcmVzdDsKLQotICBDb25zdHJhaW5Eb3VibGUgICAg
ZXhwb3N1cmVDb21wZW5zYXRpb247Ci0gIENvbnN0cmFpbkRvdWJsZSAgICBleHBvc3VyZVRpbWU7
Ci0gIENvbnN0cmFpbkRvdWJsZSAgICBjb2xvclRlbXBlcmF0dXJlOwotICBDb25zdHJhaW5Eb3Vi
bGUgICAgaXNvOwotCi0gIENvbnN0cmFpbkRvdWJsZSAgICBicmlnaHRuZXNzOwotICBDb25zdHJh
aW5Eb3VibGUgICAgY29udHJhc3Q7Ci0gIENvbnN0cmFpbkRvdWJsZSAgICBzYXR1cmF0aW9uOwot
ICBDb25zdHJhaW5Eb3VibGUgICAgc2hhcnBuZXNzOwotCi0gIENvbnN0cmFpbkRvdWJsZSAgICBm
b2N1c0Rpc3RhbmNlOwotICBDb25zdHJhaW5Eb3VibGUgICAgcGFuOwotICBDb25zdHJhaW5Eb3Vi
bGUgICAgdGlsdDsKLSAgQ29uc3RyYWluRG91YmxlICAgIHpvb207Ci0KLSAgQ29uc3RyYWluQm9v
bGVhbiAgIHRvcmNoOworICBDb25zdHJhaW5ET01TdHJpbmcgICAgICAgICAgIHdoaXRlQmFsYW5j
ZU1vZGU7CisgIENvbnN0cmFpbkRPTVN0cmluZyAgICAgICAgICAgZXhwb3N1cmVNb2RlOworICBD
b25zdHJhaW5ET01TdHJpbmcgICAgICAgICAgIGZvY3VzTW9kZTsKKyAgQ29uc3RyYWluUG9pbnQy
RCAgICAgICAgICAgICBwb2ludHNPZkludGVyZXN0OworCisgIENvbnN0cmFpbkRvdWJsZSAgICAg
ICAgICAgICAgZXhwb3N1cmVDb21wZW5zYXRpb247CisgIENvbnN0cmFpbkRvdWJsZSAgICAgICAg
ICAgICAgZXhwb3N1cmVUaW1lOworICBDb25zdHJhaW5Eb3VibGUgICAgICAgICAgICAgIGNvbG9y
VGVtcGVyYXR1cmU7CisgIENvbnN0cmFpbkRvdWJsZSAgICAgICAgICAgICAgaXNvOworCisgIENv
bnN0cmFpbkRvdWJsZSAgICAgICAgICAgICAgYnJpZ2h0bmVzczsKKyAgQ29uc3RyYWluRG91Ymxl
ICAgICAgICAgICAgICBjb250cmFzdDsKKyAgQ29uc3RyYWluRG91YmxlICAgICAgICAgICAgICBz
YXR1cmF0aW9uOworICBDb25zdHJhaW5Eb3VibGUgICAgICAgICAgICAgIHNoYXJwbmVzczsKKwor
ICBDb25zdHJhaW5Eb3VibGUgICAgICAgICAgICAgIGZvY3VzRGlzdGFuY2U7CisgIChib29sZWFu
IG9yIENvbnN0cmFpbkRvdWJsZSkgcGFuOworICAoYm9vbGVhbiBvciBDb25zdHJhaW5Eb3VibGUp
IHRpbHQ7CisgIChib29sZWFuIG9yIENvbnN0cmFpbkRvdWJsZSkgem9vbTsKKworICBDb25zdHJh
aW5Cb29sZWFuICAgICAgICAgICAgIHRvcmNoOwogfTsKIAogcGFydGlhbCBkaWN0aW9uYXJ5IE1l
ZGlhVHJhY2tTZXR0aW5ncyB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvaW50ZXJzZWN0aW9uLW9ic2VydmVyLmlkbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9p
bnRlcnNlY3Rpb24tb2JzZXJ2ZXIuaWRsCmluZGV4IGZmZGE4ZjVjNjRkLi40NmZhZDM1MjJlZCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bnRlcmZhY2VzL2ludGVyc2VjdGlvbi1vYnNlcnZlci5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2ludGVyc2VjdGlvbi1vYnNl
cnZlci5pZGwKQEAgLTUsMTAgKzUsMTAgQEAKIAogY2FsbGJhY2sgSW50ZXJzZWN0aW9uT2JzZXJ2
ZXJDYWxsYmFjayA9IHZvaWQgKHNlcXVlbmNlPEludGVyc2VjdGlvbk9ic2VydmVyRW50cnk+IGVu
dHJpZXMsIEludGVyc2VjdGlvbk9ic2VydmVyIG9ic2VydmVyKTsKIAotW0NvbnN0cnVjdG9yKElu
dGVyc2VjdGlvbk9ic2VydmVyQ2FsbGJhY2sgY2FsbGJhY2ssIG9wdGlvbmFsIEludGVyc2VjdGlv
bk9ic2VydmVySW5pdCBvcHRpb25zKSwKLSBFeHBvc2VkPVdpbmRvd10KK1tFeHBvc2VkPVdpbmRv
d10KIGludGVyZmFjZSBJbnRlcnNlY3Rpb25PYnNlcnZlciB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0
ZSBFbGVtZW50PyByb290OworICBjb25zdHJ1Y3RvcihJbnRlcnNlY3Rpb25PYnNlcnZlckNhbGxi
YWNrIGNhbGxiYWNrLCBvcHRpb25hbCBJbnRlcnNlY3Rpb25PYnNlcnZlckluaXQgb3B0aW9ucyA9
IHt9KTsKKyAgcmVhZG9ubHkgYXR0cmlidXRlIE5vZGU/IHJvb3Q7CiAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBET01TdHJpbmcgcm9vdE1hcmdpbjsKICAgcmVhZG9ubHkgYXR0cmlidXRlIEZyb3plbkFy
cmF5PGRvdWJsZT4gdGhyZXNob2xkczsKICAgdm9pZCBvYnNlcnZlKEVsZW1lbnQgdGFyZ2V0KTsK
QEAgLTE3LDggKzE3LDkgQEAgaW50ZXJmYWNlIEludGVyc2VjdGlvbk9ic2VydmVyIHsKICAgc2Vx
dWVuY2U8SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeT4gdGFrZVJlY29yZHMoKTsKIH07CiAKLVtD
b25zdHJ1Y3RvcihJbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5SW5pdCBpbnRlcnNlY3Rpb25PYnNl
cnZlckVudHJ5SW5pdCldCitbRXhwb3NlZD1XaW5kb3ddCiBpbnRlcmZhY2UgSW50ZXJzZWN0aW9u
T2JzZXJ2ZXJFbnRyeSB7CisgIGNvbnN0cnVjdG9yKEludGVyc2VjdGlvbk9ic2VydmVyRW50cnlJ
bml0IGludGVyc2VjdGlvbk9ic2VydmVyRW50cnlJbml0KTsKICAgcmVhZG9ubHkgYXR0cmlidXRl
IERPTUhpZ2hSZXNUaW1lU3RhbXAgdGltZTsKICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVJlY3RS
ZWFkT25seT8gcm9vdEJvdW5kczsKICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVJlY3RSZWFkT25s
eSBib3VuZGluZ0NsaWVudFJlY3Q7CkBAIC0zOSw3ICs0MCw3IEBAIGRpY3Rpb25hcnkgSW50ZXJz
ZWN0aW9uT2JzZXJ2ZXJFbnRyeUluaXQgewogfTsKIAogZGljdGlvbmFyeSBJbnRlcnNlY3Rpb25P
YnNlcnZlckluaXQgewotICBFbGVtZW50PyAgcm9vdCA9IG51bGw7CisgIChFbGVtZW50IG9yIERv
Y3VtZW50KT8gIHJvb3QgPSBudWxsOwogICBET01TdHJpbmcgcm9vdE1hcmdpbiA9ICIwcHgiOwog
ICAoZG91YmxlIG9yIHNlcXVlbmNlPGRvdWJsZT4pIHRocmVzaG9sZCA9IDA7CiB9OwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZh
Y2VzL2pzLXNlbGYtcHJvZmlsaW5nLmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9qcy1zZWxmLXByb2ZpbGluZy5pZGwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjAxNTNlNjUyMzYwCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZh
Y2VzL2pzLXNlbGYtcHJvZmlsaW5nLmlkbApAQCAtMCwwICsxLDQ4IEBACisvLyBHRU5FUkFURUQg
Q09OVEVOVCAtIERPIE5PVCBFRElUCisvLyBDb250ZW50IHdhcyBhdXRvbWF0aWNhbGx5IGV4dHJh
Y3RlZCBieSBSZWZmeSBpbnRvIHJlZmZ5LXJlcG9ydHMKKy8vIChodHRwczovL2dpdGh1Yi5jb20v
dGlkb3VzdC9yZWZmeS1yZXBvcnRzKQorLy8gU291cmNlOiBKUyBTZWxmLVByb2ZpbGluZyBBUEkg
KGh0dHBzOi8vd2ljZy5naXRodWIuaW8vanMtc2VsZi1wcm9maWxpbmcvKQorCitbRXhwb3NlZD0o
V2luZG93LFdvcmtlcildCitpbnRlcmZhY2UgUHJvZmlsZXIgeworICByZWFkb25seSBhdHRyaWJ1
dGUgRE9NSGlnaFJlc1RpbWVTdGFtcCBzYW1wbGVJbnRlcnZhbDsKKyAgcmVhZG9ubHkgYXR0cmli
dXRlIGJvb2xlYW4gc3RvcHBlZDsKKworICBQcm9taXNlPFByb2ZpbGVyVHJhY2U+IHN0b3AoKTsK
K307CisKK3R5cGVkZWYgRE9NU3RyaW5nIFByb2ZpbGVyUmVzb3VyY2U7CisKK2RpY3Rpb25hcnkg
UHJvZmlsZXJUcmFjZSB7CisgIHJlcXVpcmVkIHNlcXVlbmNlPFByb2ZpbGVyUmVzb3VyY2U+IHJl
c291cmNlczsKKyAgcmVxdWlyZWQgc2VxdWVuY2U8UHJvZmlsZXJGcmFtZT4gZnJhbWVzOworICBy
ZXF1aXJlZCBzZXF1ZW5jZTxQcm9maWxlclN0YWNrPiBzdGFja3M7CisgIHJlcXVpcmVkIHNlcXVl
bmNlPFByb2ZpbGVyU2FtcGxlPiBzYW1wbGVzOworfTsKKworZGljdGlvbmFyeSBQcm9maWxlclNh
bXBsZSB7CisgIHJlcXVpcmVkIERPTUhpZ2hSZXNUaW1lU3RhbXAgdGltZXN0YW1wOworICB1bnNp
Z25lZCBsb25nIGxvbmcgc3RhY2tJZDsKK307CisKK2RpY3Rpb25hcnkgUHJvZmlsZXJTdGFjayB7
CisgIHVuc2lnbmVkIGxvbmcgbG9uZyBwYXJlbnRJZDsKKyAgcmVxdWlyZWQgdW5zaWduZWQgbG9u
ZyBsb25nIGZyYW1lSWQ7Cit9OworCitkaWN0aW9uYXJ5IFByb2ZpbGVyRnJhbWUgeworICBET01T
dHJpbmcgbmFtZTsKKyAgcmVxdWlyZWQgdW5zaWduZWQgbG9uZyBsb25nIHJlc291cmNlSWQ7Cisg
IHJlcXVpcmVkIHVuc2lnbmVkIGxvbmcgbG9uZyBsaW5lOworICByZXF1aXJlZCB1bnNpZ25lZCBs
b25nIGxvbmcgY29sdW1uOworfTsKKworZGljdGlvbmFyeSBQcm9maWxlckluaXRPcHRpb25zIHsK
KyAgcmVxdWlyZWQgRE9NSGlnaFJlc1RpbWVTdGFtcCBzYW1wbGVJbnRlcnZhbDsKKyAgcmVxdWly
ZWQgdW5zaWduZWQgbG9uZyBtYXhCdWZmZXJTaXplOworfTsKKworW0V4cG9zZWQ9KFdpbmRvdyxX
b3JrZXIpXQorcGFydGlhbCBpbnRlcmZhY2UgUGVyZm9ybWFuY2UgeworICBQcm9taXNlPFByb2Zp
bGVyPiBwcm9maWxlKFByb2ZpbGVySW5pdE9wdGlvbnMgb3B0aW9ucyk7Cit9OwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2Vz
L2xheW91dC1pbnN0YWJpbGl0eS5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvbGF5b3V0LWluc3RhYmlsaXR5LmlkbAppbmRleCAwY2Qy
MjYyYTlmMy4uM2VlMGFmYTA2MTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9sYXlvdXQtaW5zdGFiaWxpdHkuaWRsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNl
cy9sYXlvdXQtaW5zdGFiaWxpdHkuaWRsCkBAIC01LDggKzUsMTYgQEAKIAogW0V4cG9zZWQ9V2lu
ZG93XQogaW50ZXJmYWNlIExheW91dFNoaWZ0IDogUGVyZm9ybWFuY2VFbnRyeSB7Ci0gIHJlYWRv
bmx5IGF0dHJpYnV0ZSBsb25nIHZhbHVlOworICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIHZh
bHVlOwogICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBoYWRSZWNlbnRJbnB1dDsKICAgcmVh
ZG9ubHkgYXR0cmlidXRlIERPTUhpZ2hSZXNUaW1lU3RhbXAgbGFzdElucHV0VGltZTsKKyAgcmVh
ZG9ubHkgYXR0cmlidXRlIEZyb3plbkFycmF5PExheW91dFNoaWZ0QXR0cmlidXRpb24+IHNvdXJj
ZXM7CiAgIFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7CiB9OworCitbRXhwb3NlZD1XaW5kb3dd
CitpbnRlcmZhY2UgTGF5b3V0U2hpZnRBdHRyaWJ1dGlvbiB7CisgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBOb2RlPyBub2RlOworICByZWFkb25seSBhdHRyaWJ1dGUgRE9NUmVjdFJlYWRPbmx5IHByZXZp
b3VzUmVjdDsKKyAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVJlY3RSZWFkT25seSBjdXJyZW50UmVj
dDsKK307CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ludGVyZmFjZXMvbWVkaWEtY2FwYWJpbGl0aWVzLmlkbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9tZWRpYS1jYXBhYmlsaXRp
ZXMuaWRsCmluZGV4IDZmZTQzZDg3YTgwLi4wOGRlMzVlZjY3NSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL21lZGlhLWNh
cGFiaWxpdGllcy5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9pbnRlcmZhY2VzL21lZGlhLWNhcGFiaWxpdGllcy5pZGwKQEAgLTc3LDYgKzc3LDcg
QEAgZGljdGlvbmFyeSBNZWRpYUNhcGFiaWxpdGllc0tleVN5c3RlbUNvbmZpZ3VyYXRpb24gewog
CiBkaWN0aW9uYXJ5IEtleVN5c3RlbVRyYWNrQ29uZmlndXJhdGlvbiB7CiAgICAgRE9NU3RyaW5n
IHJvYnVzdG5lc3MgPSAiIjsKKyAgICBET01TdHJpbmc/IGVuY3J5cHRpb25TY2hlbWUgPSBudWxs
OwogICB9OwogCiBkaWN0aW9uYXJ5IE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyB7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMv
bWVkaWEtcGxheWJhY2stcXVhbGl0eS5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvbWVkaWEtcGxheWJhY2stcXVhbGl0eS5pZGwKaW5k
ZXggNzFjODM1Njc3YTcuLmMzZWU1MjM3ZTRjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvbWVkaWEtcGxheWJhY2stcXVh
bGl0eS5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbnRlcmZhY2VzL21lZGlhLXBsYXliYWNrLXF1YWxpdHkuaWRsCkBAIC0xMiw0ICsxMiw3IEBA
IGludGVyZmFjZSBWaWRlb1BsYXliYWNrUXVhbGl0eSB7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBE
T01IaWdoUmVzVGltZVN0YW1wIGNyZWF0aW9uVGltZTsKICAgcmVhZG9ubHkgYXR0cmlidXRlIHVu
c2lnbmVkIGxvbmcgZHJvcHBlZFZpZGVvRnJhbWVzOwogICByZWFkb25seSBhdHRyaWJ1dGUgdW5z
aWduZWQgbG9uZyB0b3RhbFZpZGVvRnJhbWVzOworCisgIC8vIERlcHJlY2F0ZWQhCisgIHJlYWRv
bmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGNvcnJ1cHRlZFZpZGVvRnJhbWVzOwogfTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50
ZXJmYWNlcy9tZWRpYS1zb3VyY2UuaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL21lZGlhLXNvdXJjZS5pZGwKaW5kZXggMWQzYzAyZDg0
N2UuLmU2ZmY0Y2Q2YWMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvbWVkaWEtc291cmNlLmlkbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvbWVkaWEtc291
cmNlLmlkbApAQCAtMTQsMjEgKzE0LDIyIEBAIGVudW0gRW5kT2ZTdHJlYW1FcnJvciB7CiAgICAg
ImRlY29kZSIKIH07CiAKLVtDb25zdHJ1Y3Rvcl0KK1tFeHBvc2VkPVdpbmRvd10KIGludGVyZmFj
ZSBNZWRpYVNvdXJjZSA6IEV2ZW50VGFyZ2V0IHsKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgU291
cmNlQnVmZmVyTGlzdCAgICBzb3VyY2VCdWZmZXJzOwotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBT
b3VyY2VCdWZmZXJMaXN0ICAgIGFjdGl2ZVNvdXJjZUJ1ZmZlcnM7Ci0gICAgcmVhZG9ubHkgYXR0
cmlidXRlIFJlYWR5U3RhdGUgICAgICAgICAgcmVhZHlTdGF0ZTsKLSAgICAgICAgICAgICBhdHRy
aWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZSBkdXJhdGlvbjsKLSAgICAgICAgICAgICBhdHRyaWJ1
dGUgRXZlbnRIYW5kbGVyICAgICAgICBvbnNvdXJjZW9wZW47Ci0gICAgICAgICAgICAgYXR0cmli
dXRlIEV2ZW50SGFuZGxlciAgICAgICAgb25zb3VyY2VlbmRlZDsKLSAgICAgICAgICAgICBhdHRy
aWJ1dGUgRXZlbnRIYW5kbGVyICAgICAgICBvbnNvdXJjZWNsb3NlOwotICAgIFNvdXJjZUJ1ZmZl
ciBhZGRTb3VyY2VCdWZmZXIoRE9NU3RyaW5nIHR5cGUpOwotICAgIHZvaWQgICAgICAgICByZW1v
dmVTb3VyY2VCdWZmZXIoU291cmNlQnVmZmVyIHNvdXJjZUJ1ZmZlcik7Ci0gICAgdm9pZCAgICAg
ICAgIGVuZE9mU3RyZWFtKG9wdGlvbmFsIEVuZE9mU3RyZWFtRXJyb3IgZXJyb3IpOwotICAgIHZv
aWQgICAgICAgICBzZXRMaXZlU2Vla2FibGVSYW5nZShkb3VibGUgc3RhcnQsIGRvdWJsZSBlbmQp
OwotICAgIHZvaWQgICAgICAgICBjbGVhckxpdmVTZWVrYWJsZVJhbmdlKCk7Ci0gICAgc3RhdGlj
IGJvb2xlYW4gaXNUeXBlU3VwcG9ydGVkKERPTVN0cmluZyB0eXBlKTsKKyAgICBjb25zdHJ1Y3Rv
cigpOworICAgIHJlYWRvbmx5ICAgICAgICBhdHRyaWJ1dGUgU291cmNlQnVmZmVyTGlzdCAgICBz
b3VyY2VCdWZmZXJzOworICAgIHJlYWRvbmx5ICAgICAgICBhdHRyaWJ1dGUgU291cmNlQnVmZmVy
TGlzdCAgICBhY3RpdmVTb3VyY2VCdWZmZXJzOworICAgIHJlYWRvbmx5ICAgICAgICBhdHRyaWJ1
dGUgUmVhZHlTdGF0ZSAgICAgICAgICByZWFkeVN0YXRlOworICAgICAgICAgICAgICAgICAgICBh
dHRyaWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZSBkdXJhdGlvbjsKKyAgICAgICAgICAgICAgICAg
ICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciAgICAgICAgb25zb3VyY2VvcGVuOworICAgICAgICAg
ICAgICAgICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyICAgICAgICBvbnNvdXJjZWVuZGVkOwor
ICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyICAgICAgICBvbnNvdXJj
ZWNsb3NlOworICAgIFNvdXJjZUJ1ZmZlciAgIGFkZFNvdXJjZUJ1ZmZlciAoRE9NU3RyaW5nIHR5
cGUpOworICAgIHZvaWQgICAgICAgICAgIHJlbW92ZVNvdXJjZUJ1ZmZlciAoU291cmNlQnVmZmVy
IHNvdXJjZUJ1ZmZlcik7CisgICAgdm9pZCAgICAgICAgICAgZW5kT2ZTdHJlYW0gKG9wdGlvbmFs
IEVuZE9mU3RyZWFtRXJyb3IgZXJyb3IpOworICAgIHZvaWQgICAgICAgICAgIHNldExpdmVTZWVr
YWJsZVJhbmdlIChkb3VibGUgc3RhcnQsIGRvdWJsZSBlbmQpOworICAgIHZvaWQgICAgICAgICAg
IGNsZWFyTGl2ZVNlZWthYmxlUmFuZ2UgKCk7CisgICAgc3RhdGljIGJvb2xlYW4gaXNUeXBlU3Vw
cG9ydGVkIChET01TdHJpbmcgdHlwZSk7CiB9OwogCiBlbnVtIEFwcGVuZE1vZGUgewpAQCAtMzYs
NDYgKzM3LDQ4IEBAIGVudW0gQXBwZW5kTW9kZSB7CiAgICAgInNlcXVlbmNlIgogfTsKIAorW0V4
cG9zZWQ9V2luZG93XQogaW50ZXJmYWNlIFNvdXJjZUJ1ZmZlciA6IEV2ZW50VGFyZ2V0IHsKLSAg
ICAgICAgICAgICBhdHRyaWJ1dGUgQXBwZW5kTW9kZSAgICAgICAgICBtb2RlOwotICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBib29sZWFuICAgICAgICAgICAgIHVwZGF0aW5nOwotICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBUaW1lUmFuZ2VzICAgICAgICAgIGJ1ZmZlcmVkOwotICAgICAgICAgICAgIGF0
dHJpYnV0ZSBkb3VibGUgICAgICAgICAgICAgIHRpbWVzdGFtcE9mZnNldDsKLSAgICByZWFkb25s
eSBhdHRyaWJ1dGUgQXVkaW9UcmFja0xpc3QgICAgICBhdWRpb1RyYWNrczsKLSAgICByZWFkb25s
eSBhdHRyaWJ1dGUgVmlkZW9UcmFja0xpc3QgICAgICB2aWRlb1RyYWNrczsKLSAgICByZWFkb25s
eSBhdHRyaWJ1dGUgVGV4dFRyYWNrTGlzdCAgICAgICB0ZXh0VHJhY2tzOwotICAgICAgICAgICAg
IGF0dHJpYnV0ZSBkb3VibGUgICAgICAgICAgICAgIGFwcGVuZFdpbmRvd1N0YXJ0OwotICAgICAg
ICAgICAgIGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIGFwcGVuZFdpbmRvd0VuZDsKLSAg
ICAgICAgICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyICAgICAgICBvbnVwZGF0ZXN0YXJ0Owot
ICAgICAgICAgICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgICAgICAgIG9udXBkYXRlOwotICAg
ICAgICAgICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgICAgICAgIG9udXBkYXRlZW5kOwotICAg
ICAgICAgICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgICAgICAgIG9uZXJyb3I7Ci0gICAgICAg
ICAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciAgICAgICAgb25hYm9ydDsKLSAgICB2b2lkIGFw
cGVuZEJ1ZmZlcihCdWZmZXJTb3VyY2UgZGF0YSk7Ci0gICAgdm9pZCBhYm9ydCgpOwotICAgIHZv
aWQgcmVtb3ZlKGRvdWJsZSBzdGFydCwgdW5yZXN0cmljdGVkIGRvdWJsZSBlbmQpOworICAgICAg
ICAgICAgICAgICAgICBhdHRyaWJ1dGUgQXBwZW5kTW9kZSAgICAgICAgICBtb2RlOworICAgIHJl
YWRvbmx5ICAgICAgICBhdHRyaWJ1dGUgYm9vbGVhbiAgICAgICAgICAgICB1cGRhdGluZzsKKyAg
ICByZWFkb25seSAgICAgICAgYXR0cmlidXRlIFRpbWVSYW5nZXMgICAgICAgICAgYnVmZmVyZWQ7
CisgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBkb3VibGUgICAgICAgICAgICAgIHRpbWVz
dGFtcE9mZnNldDsKKyAgICByZWFkb25seSAgICAgICAgYXR0cmlidXRlIEF1ZGlvVHJhY2tMaXN0
ICAgICAgYXVkaW9UcmFja3M7CisgICAgcmVhZG9ubHkgICAgICAgIGF0dHJpYnV0ZSBWaWRlb1Ry
YWNrTGlzdCAgICAgIHZpZGVvVHJhY2tzOworICAgIHJlYWRvbmx5ICAgICAgICBhdHRyaWJ1dGUg
VGV4dFRyYWNrTGlzdCAgICAgICB0ZXh0VHJhY2tzOworICAgICAgICAgICAgICAgICAgICBhdHRy
aWJ1dGUgZG91YmxlICAgICAgICAgICAgICBhcHBlbmRXaW5kb3dTdGFydDsKKyAgICAgICAgICAg
ICAgICAgICAgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGUgYXBwZW5kV2luZG93RW5kOwor
ICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyICAgICAgICBvbnVwZGF0
ZXN0YXJ0OworICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyICAgICAg
ICBvbnVwZGF0ZTsKKyAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciAg
ICAgICAgb251cGRhdGVlbmQ7CisgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBFdmVudEhh
bmRsZXIgICAgICAgIG9uZXJyb3I7CisgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBFdmVu
dEhhbmRsZXIgICAgICAgIG9uYWJvcnQ7CisgICAgdm9pZCBhcHBlbmRCdWZmZXIgKEJ1ZmZlclNv
dXJjZSBkYXRhKTsKKyAgICB2b2lkIGFib3J0ICgpOworICAgIHZvaWQgcmVtb3ZlIChkb3VibGUg
c3RhcnQsIHVucmVzdHJpY3RlZCBkb3VibGUgZW5kKTsKIH07CiAKK1tFeHBvc2VkPVdpbmRvd10K
IGludGVyZmFjZSBTb3VyY2VCdWZmZXJMaXN0IDogRXZlbnRUYXJnZXQgewotICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKLSAgICAgICAgICAgICBhdHRyaWJ1dGUg
RXZlbnRIYW5kbGVyICBvbmFkZHNvdXJjZWJ1ZmZlcjsKLSAgICAgICAgICAgICBhdHRyaWJ1dGUg
RXZlbnRIYW5kbGVyICBvbnJlbW92ZXNvdXJjZWJ1ZmZlcjsKKyAgICByZWFkb25seSAgICAgICAg
YXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOworICAgICAgICAgICAgICAgICAgICBhdHRy
aWJ1dGUgRXZlbnRIYW5kbGVyICBvbmFkZHNvdXJjZWJ1ZmZlcjsKKyAgICAgICAgICAgICAgICAg
ICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciAgb25yZW1vdmVzb3VyY2VidWZmZXI7CiAgICAgZ2V0
dGVyIFNvdXJjZUJ1ZmZlciAodW5zaWduZWQgbG9uZyBpbmRleCk7CiB9OwogCiBbRXhwb3NlZD1X
aW5kb3ddCiBwYXJ0aWFsIGludGVyZmFjZSBVUkwgewotICAgIHN0YXRpYyBET01TdHJpbmcgY3Jl
YXRlT2JqZWN0VVJMKE1lZGlhU291cmNlIG1lZGlhU291cmNlKTsKKyAgICBzdGF0aWMgRE9NU3Ry
aW5nIGNyZWF0ZU9iamVjdFVSTCAoTWVkaWFTb3VyY2UgbWVkaWFTb3VyY2UpOwogfTsKIAogcGFy
dGlhbCBpbnRlcmZhY2UgQXVkaW9UcmFjayB7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIFNvdXJj
ZUJ1ZmZlcj8gc291cmNlQnVmZmVyOworICAgIHJlYWRvbmx5ICAgICAgICBhdHRyaWJ1dGUgU291
cmNlQnVmZmVyPyBzb3VyY2VCdWZmZXI7CiB9OwogCiBwYXJ0aWFsIGludGVyZmFjZSBWaWRlb1Ry
YWNrIHsKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgU291cmNlQnVmZmVyPyBzb3VyY2VCdWZmZXI7
CisgICAgcmVhZG9ubHkgICAgICAgIGF0dHJpYnV0ZSBTb3VyY2VCdWZmZXI/IHNvdXJjZUJ1ZmZl
cjsKIH07CiAKIHBhcnRpYWwgaW50ZXJmYWNlIFRleHRUcmFjayB7Ci0gICAgcmVhZG9ubHkgYXR0
cmlidXRlIFNvdXJjZUJ1ZmZlcj8gc291cmNlQnVmZmVyOworICAgIHJlYWRvbmx5ICAgICAgICBh
dHRyaWJ1dGUgU291cmNlQnVmZmVyPyBzb3VyY2VCdWZmZXI7CiB9OwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL21lZGlh
c2Vzc2lvbi5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ludGVyZmFjZXMvbWVkaWFzZXNzaW9uLmlkbAppbmRleCA4NjcxYWY1YWNkOS4uMDU5ZDFlYzhj
ZjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaW50ZXJmYWNlcy9tZWRpYXNlc3Npb24uaWRsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9tZWRpYXNlc3Npb24uaWRsCkBAIC02
OSwxMyArNjksNyBAQCBkaWN0aW9uYXJ5IE1lZGlhUG9zaXRpb25TdGF0ZSB7CiAKIGRpY3Rpb25h
cnkgTWVkaWFTZXNzaW9uQWN0aW9uRGV0YWlscyB7CiAgIHJlcXVpcmVkIE1lZGlhU2Vzc2lvbkFj
dGlvbiBhY3Rpb247Ci19OwotCi1kaWN0aW9uYXJ5IE1lZGlhU2Vzc2lvblNlZWtBY3Rpb25EZXRh
aWxzIDogTWVkaWFTZXNzaW9uQWN0aW9uRGV0YWlscyB7CiAgIGRvdWJsZT8gc2Vla09mZnNldDsK
LX07Ci0KLWRpY3Rpb25hcnkgTWVkaWFTZXNzaW9uU2Vla1RvQWN0aW9uRGV0YWlscyA6IE1lZGlh
U2Vzc2lvbkFjdGlvbkRldGFpbHMgewotICByZXF1aXJlZCBkb3VibGUgc2Vla1RpbWU7CisgIGRv
dWJsZT8gc2Vla1RpbWU7CiAgIGJvb2xlYW4/IGZhc3RTZWVrOwogfTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9tZWRp
YXN0cmVhbS1yZWNvcmRpbmcuaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL21lZGlhc3RyZWFtLXJlY29yZGluZy5pZGwKaW5kZXggMmQ4
NDliYTlhZmYuLjUyMjk1MTI1ZGE2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvbWVkaWFzdHJlYW0tcmVjb3JkaW5nLmlk
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVy
ZmFjZXMvbWVkaWFzdHJlYW0tcmVjb3JkaW5nLmlkbApAQCAtNCw3ICs0LDcgQEAKIC8vIFNvdXJj
ZTogTWVkaWFTdHJlYW0gUmVjb3JkaW5nIChodHRwczovL3czYy5naXRodWIuaW8vbWVkaWFjYXB0
dXJlLXJlY29yZC8pCiAKIFtFeHBvc2VkPVdpbmRvdywKLSBDb25zdHJ1Y3RvcihNZWRpYVN0cmVh
bSBzdHJlYW0sIG9wdGlvbmFsIE1lZGlhUmVjb3JkZXJPcHRpb25zIG9wdGlvbnMpXQorIENvbnN0
cnVjdG9yKE1lZGlhU3RyZWFtIHN0cmVhbSwgb3B0aW9uYWwgTWVkaWFSZWNvcmRlck9wdGlvbnMg
b3B0aW9ucyA9IHt9KV0KIGludGVyZmFjZSBNZWRpYVJlY29yZGVyIDogRXZlbnRUYXJnZXQgewog
ICByZWFkb25seSBhdHRyaWJ1dGUgTWVkaWFTdHJlYW0gc3RyZWFtOwogICByZWFkb25seSBhdHRy
aWJ1dGUgRE9NU3RyaW5nIG1pbWVUeXBlOwpAQCAtMTcsNiArMTcsNyBAQCBpbnRlcmZhY2UgTWVk
aWFSZWNvcmRlciA6IEV2ZW50VGFyZ2V0IHsKICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmVy
cm9yOwogICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyB2aWRlb0JpdHNQZXJTZWNv
bmQ7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGF1ZGlvQml0c1BlclNlY29u
ZDsKKyAgcmVhZG9ubHkgYXR0cmlidXRlIEJpdHJhdGVNb2RlIGF1ZGlvQml0cmF0ZU1vZGU7CiAK
ICAgdm9pZCBzdGFydChvcHRpb25hbCB1bnNpZ25lZCBsb25nIHRpbWVzbGljZSk7CiAgIHZvaWQg
c3RvcCgpOwpAQCAtMzIsNiArMzMsMTIgQEAgZGljdGlvbmFyeSBNZWRpYVJlY29yZGVyT3B0aW9u
cyB7CiAgIHVuc2lnbmVkIGxvbmcgYXVkaW9CaXRzUGVyU2Vjb25kOwogICB1bnNpZ25lZCBsb25n
IHZpZGVvQml0c1BlclNlY29uZDsKICAgdW5zaWduZWQgbG9uZyBiaXRzUGVyU2Vjb25kOworICBC
aXRyYXRlTW9kZSBhdWRpb0JpdHJhdGVNb2RlID0gInZiciI7Cit9OworCitlbnVtIEJpdHJhdGVN
b2RlIHsKKyAgImNiciIsCisgICJ2YnIiCiB9OwogCiBlbnVtIFJlY29yZGluZ1N0YXRlIHsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50
ZXJmYWNlcy9tc3QtY29udGVudC1oaW50LmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9tc3QtY29udGVudC1oaW50LmlkbAppbmRleCAx
NWUxN2NmNTM2NC4uZjdkM2YyMGU3MjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9tc3QtY29udGVudC1oaW50LmlkbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFj
ZXMvbXN0LWNvbnRlbnQtaGludC5pZGwKQEAgLTYsMyArNiwxMyBAQAogcGFydGlhbCBpbnRlcmZh
Y2UgTWVkaWFTdHJlYW1UcmFjayB7CiAgIGF0dHJpYnV0ZSBET01TdHJpbmcgY29udGVudEhpbnQ7
CiB9OworCitlbnVtIFJUQ0RlZ3JhZGF0aW9uUHJlZmVyZW5jZSB7CisgICJtYWludGFpbi1mcmFt
ZXJhdGUiLAorICAibWFpbnRhaW4tcmVzb2x1dGlvbiIsCisgICJiYWxhbmNlZCIKK307CisKK3Bh
cnRpYWwgZGljdGlvbmFyeSBSVENSdHBTZW5kUGFyYW1ldGVycyB7CisgUlRDRGVncmFkYXRpb25Q
cmVmZXJlbmNlIGRlZ3JhZGF0aW9uUHJlZmVyZW5jZTsKK307CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvbmF0aXZlLWZp
bGUtc3lzdGVtLmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaW50ZXJmYWNlcy9uYXRpdmUtZmlsZS1zeXN0ZW0uaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwLi5mNDY3OTE3NWM0NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9uYXRpdmUt
ZmlsZS1zeXN0ZW0uaWRsCkBAIC0wLDAgKzEsOTIgQEAKKy8vIEdFTkVSQVRFRCBDT05URU5UIC0g
RE8gTk9UIEVESVQKKy8vIENvbnRlbnQgd2FzIGF1dG9tYXRpY2FsbHkgZXh0cmFjdGVkIGJ5IFJl
ZmZ5IGludG8gcmVmZnktcmVwb3J0cworLy8gKGh0dHBzOi8vZ2l0aHViLmNvbS90aWRvdXN0L3Jl
ZmZ5LXJlcG9ydHMpCisvLyBTb3VyY2U6IE5hdGl2ZSBGaWxlIFN5c3RlbSAoaHR0cHM6Ly93aWNn
LmdpdGh1Yi5pby9uYXRpdmUtZmlsZS1zeXN0ZW0vKQorCitkaWN0aW9uYXJ5IEZpbGVTeXN0ZW1I
YW5kbGVQZXJtaXNzaW9uRGVzY3JpcHRvciB7CisgIGJvb2xlYW4gd3JpdGFibGUgPSBmYWxzZTsK
K307CisKK1tFeHBvc2VkPShXaW5kb3csV29ya2VyKSwgU2VjdXJlQ29udGV4dCwgU2VyaWFsaXph
YmxlXQoraW50ZXJmYWNlIEZpbGVTeXN0ZW1IYW5kbGUgeworICByZWFkb25seSBhdHRyaWJ1dGUg
Ym9vbGVhbiBpc0ZpbGU7CisgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGlzRGlyZWN0b3J5
OworICByZWFkb25seSBhdHRyaWJ1dGUgVVNWU3RyaW5nIG5hbWU7CisKKyAgUHJvbWlzZTxQZXJt
aXNzaW9uU3RhdGU+IHF1ZXJ5UGVybWlzc2lvbihvcHRpb25hbCBGaWxlU3lzdGVtSGFuZGxlUGVy
bWlzc2lvbkRlc2NyaXB0b3IgZGVzY3JpcHRvciA9IHt9KTsKKyAgUHJvbWlzZTxQZXJtaXNzaW9u
U3RhdGU+IHJlcXVlc3RQZXJtaXNzaW9uKG9wdGlvbmFsIEZpbGVTeXN0ZW1IYW5kbGVQZXJtaXNz
aW9uRGVzY3JpcHRvciBkZXNjcmlwdG9yID0ge30pOworfTsKKworZGljdGlvbmFyeSBGaWxlU3lz
dGVtQ3JlYXRlV3JpdGVyT3B0aW9ucyB7CisgIGJvb2xlYW4ga2VlcEV4aXN0aW5nRGF0YSA9IGZh
bHNlOworfTsKKworW0V4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLCBTZWN1cmVDb250ZXh0LCBTZXJp
YWxpemFibGVdCitpbnRlcmZhY2UgRmlsZVN5c3RlbUZpbGVIYW5kbGUgOiBGaWxlU3lzdGVtSGFu
ZGxlIHsKKyAgUHJvbWlzZTxGaWxlPiBnZXRGaWxlKCk7CisgIFByb21pc2U8RmlsZVN5c3RlbVdy
aXRlcj4gY3JlYXRlV3JpdGVyKG9wdGlvbmFsIEZpbGVTeXN0ZW1DcmVhdGVXcml0ZXJPcHRpb25z
IG9wdGlvbnMgPSB7fSk7Cit9OworCitkaWN0aW9uYXJ5IEZpbGVTeXN0ZW1HZXRGaWxlT3B0aW9u
cyB7CisgIGJvb2xlYW4gY3JlYXRlID0gZmFsc2U7Cit9OworCitkaWN0aW9uYXJ5IEZpbGVTeXN0
ZW1HZXREaXJlY3RvcnlPcHRpb25zIHsKKyAgYm9vbGVhbiBjcmVhdGUgPSBmYWxzZTsKK307CisK
K2RpY3Rpb25hcnkgRmlsZVN5c3RlbVJlbW92ZU9wdGlvbnMgeworICBib29sZWFuIHJlY3Vyc2l2
ZSA9IGZhbHNlOworfTsKKworW0V4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLCBTZWN1cmVDb250ZXh0
LCBTZXJpYWxpemFibGVdCitpbnRlcmZhY2UgRmlsZVN5c3RlbURpcmVjdG9yeUhhbmRsZSA6IEZp
bGVTeXN0ZW1IYW5kbGUgeworICBQcm9taXNlPEZpbGVTeXN0ZW1GaWxlSGFuZGxlPiBnZXRGaWxl
KFVTVlN0cmluZyBuYW1lLCBvcHRpb25hbCBGaWxlU3lzdGVtR2V0RmlsZU9wdGlvbnMgb3B0aW9u
cyA9IHt9KTsKKyAgUHJvbWlzZTxGaWxlU3lzdGVtRGlyZWN0b3J5SGFuZGxlPiBnZXREaXJlY3Rv
cnkoVVNWU3RyaW5nIG5hbWUsIG9wdGlvbmFsIEZpbGVTeXN0ZW1HZXREaXJlY3RvcnlPcHRpb25z
IG9wdGlvbnMgPSB7fSk7CisKKyAgLy8gVGhpcyByZWFsbHkgcmV0dXJucyBhbiBhc3luYyBpdGVy
YWJsZSwgYnV0IHRoYXQgaXMgbm90IHlldCBleHByZXNzYWJsZSBpbiBXZWJJREwuCisgIG9iamVj
dCBnZXRFbnRyaWVzKCk7CisKKyAgUHJvbWlzZTx2b2lkPiByZW1vdmVFbnRyeShVU1ZTdHJpbmcg
bmFtZSwgb3B0aW9uYWwgRmlsZVN5c3RlbVJlbW92ZU9wdGlvbnMgb3B0aW9ucyA9IHt9KTsKK307
CisKK1tFeHBvc2VkPShXaW5kb3csV29ya2VyKSwgU2VjdXJlQ29udGV4dF0KK2ludGVyZmFjZSBG
aWxlU3lzdGVtV3JpdGVyIHsKKyAgUHJvbWlzZTx2b2lkPiB3cml0ZSh1bnNpZ25lZCBsb25nIGxv
bmcgcG9zaXRpb24sIChCdWZmZXJTb3VyY2Ugb3IgQmxvYiBvciBVU1ZTdHJpbmcpIGRhdGEpOwor
ICBQcm9taXNlPHZvaWQ+IHRydW5jYXRlKHVuc2lnbmVkIGxvbmcgbG9uZyBzaXplKTsKKyAgUHJv
bWlzZTx2b2lkPiBjbG9zZSgpOworfTsKKworZW51bSBDaG9vc2VGaWxlU3lzdGVtRW50cmllc1R5
cGUgeyAib3Blbi1maWxlIiwgInNhdmUtZmlsZSIsICJvcGVuLWRpcmVjdG9yeSIgfTsKKworZGlj
dGlvbmFyeSBDaG9vc2VGaWxlU3lzdGVtRW50cmllc09wdGlvbnNBY2NlcHRzIHsKKyAgVVNWU3Ry
aW5nIGRlc2NyaXB0aW9uOworICBzZXF1ZW5jZTxVU1ZTdHJpbmc+IG1pbWVUeXBlczsKKyAgc2Vx
dWVuY2U8VVNWU3RyaW5nPiBleHRlbnNpb25zOworfTsKKworZGljdGlvbmFyeSBDaG9vc2VGaWxl
U3lzdGVtRW50cmllc09wdGlvbnMgeworICAgIENob29zZUZpbGVTeXN0ZW1FbnRyaWVzVHlwZSB0
eXBlID0gIm9wZW4tZmlsZSI7CisgICAgYm9vbGVhbiBtdWx0aXBsZSA9IGZhbHNlOworICAgIHNl
cXVlbmNlPENob29zZUZpbGVTeXN0ZW1FbnRyaWVzT3B0aW9uc0FjY2VwdHM+IGFjY2VwdHM7Cisg
ICAgYm9vbGVhbiBleGNsdWRlQWNjZXB0QWxsT3B0aW9uID0gZmFsc2U7Cit9OworCitbU2VjdXJl
Q29udGV4dF0KK3BhcnRpYWwgaW50ZXJmYWNlIFdpbmRvdyB7CisgICAgUHJvbWlzZTwoRmlsZVN5
c3RlbUhhbmRsZSBvciBzZXF1ZW5jZTxGaWxlU3lzdGVtSGFuZGxlPik+CisgICAgICAgIGNob29z
ZUZpbGVTeXN0ZW1FbnRyaWVzKG9wdGlvbmFsIENob29zZUZpbGVTeXN0ZW1FbnRyaWVzT3B0aW9u
cyBvcHRpb25zID0ge30pOworfTsKKworZW51bSBTeXN0ZW1EaXJlY3RvcnlUeXBlIHsKKyAgInNh
bmRib3giCit9OworCitkaWN0aW9uYXJ5IEdldFN5c3RlbURpcmVjdG9yeU9wdGlvbnMgeworICBy
ZXF1aXJlZCBTeXN0ZW1EaXJlY3RvcnlUeXBlIHR5cGU7Cit9OworCitbU2VjdXJlQ29udGV4dF0K
K3BhcnRpYWwgaW50ZXJmYWNlIEZpbGVTeXN0ZW1EaXJlY3RvcnlIYW5kbGUgeworICBzdGF0aWMg
UHJvbWlzZTxGaWxlU3lzdGVtRGlyZWN0b3J5SGFuZGxlPiBnZXRTeXN0ZW1EaXJlY3RvcnkoR2V0
U3lzdGVtRGlyZWN0b3J5T3B0aW9ucyBvcHRpb25zKTsKK307CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvbmV0aW5mby5p
ZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFj
ZXMvbmV0aW5mby5pZGwKaW5kZXggNzI5Njc4Mzk2ODguLjUzMGRlYjk5OGM0IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMv
bmV0aW5mby5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9pbnRlcmZhY2VzL25ldGluZm8uaWRsCkBAIC0zNiw3ICszNiw2IEBAIGludGVyZmFjZSBO
ZXR3b3JrSW5mb3JtYXRpb24gOiBFdmVudFRhcmdldCB7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBN
ZWdhYml0IGRvd25saW5rTWF4OwogICByZWFkb25seSBhdHRyaWJ1dGUgTWVnYWJpdCBkb3dubGlu
azsKICAgcmVhZG9ubHkgYXR0cmlidXRlIE1pbGxpc2Vjb25kIHJ0dDsKLSAgcmVhZG9ubHkgYXR0
cmlidXRlIGJvb2xlYW4gc2F2ZURhdGE7CiAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25jaGFu
Z2U7CiB9OwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ludGVyZmFjZXMvb3JpZ2luLXBvbGljeS5pZGwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvb3JpZ2luLXBvbGljeS5pZGwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmU0OGUwNjMyYmQ4Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbnRlcmZhY2VzL29yaWdpbi1wb2xpY3kuaWRsCkBAIC0wLDAgKzEsOCBAQAorLy8gR0VORVJB
VEVEIENPTlRFTlQgLSBETyBOT1QgRURJVAorLy8gQ29udGVudCB3YXMgYXV0b21hdGljYWxseSBl
eHRyYWN0ZWQgYnkgUmVmZnkgaW50byByZWZmeS1yZXBvcnRzCisvLyAoaHR0cHM6Ly9naXRodWIu
Y29tL3RpZG91c3QvcmVmZnktcmVwb3J0cykKKy8vIFNvdXJjZTogT3JpZ2luIFBvbGljeSAoaHR0
cHM6Ly93aWNnLmdpdGh1Yi5pby9vcmlnaW4tcG9saWN5LykKKworcGFydGlhbCBpbnRlcmZhY2Ug
bWl4aW4gV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZSB7CisgIHJlYWRvbmx5IGF0dHJpYnV0ZSBG
cm96ZW5BcnJheTxET01TdHJpbmc+IG9yaWdpblBvbGljeUlkczsKK307CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcGFn
ZS1saWZlY3ljbGUuaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9pbnRlcmZhY2VzL3BhZ2UtbGlmZWN5Y2xlLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMC4uZjNkOWMxZjNmNTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcGFnZS1saWZl
Y3ljbGUuaWRsCkBAIC0wLDAgKzEsMTkgQEAKKy8vIEdFTkVSQVRFRCBDT05URU5UIC0gRE8gTk9U
IEVESVQKKy8vIENvbnRlbnQgd2FzIGF1dG9tYXRpY2FsbHkgZXh0cmFjdGVkIGJ5IFJlZmZ5IGlu
dG8gcmVmZnktcmVwb3J0cworLy8gKGh0dHBzOi8vZ2l0aHViLmNvbS90aWRvdXN0L3JlZmZ5LXJl
cG9ydHMpCisvLyBTb3VyY2U6IFBhZ2UgTGlmZWN5Y2xlIChodHRwczovL3dpY2cuZ2l0aHViLmlv
L3BhZ2UtbGlmZWN5Y2xlLykKKworcGFydGlhbCBpbnRlcmZhY2UgRG9jdW1lbnQgeworICAgIGF0
dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25mcmVlemU7CisgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxl
ciBvbnJlc3VtZTsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiB3YXNEaXNjYXJkZWQ7
Cit9OworCitwYXJ0aWFsIGludGVyZmFjZSBDbGllbnQgeworICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBDbGllbnRMaWZlY3ljbGVTdGF0ZSBsaWZlY3ljbGVTdGF0ZTsKK307CisKK2VudW0gQ2xpZW50
TGlmZWN5Y2xlU3RhdGUgeworICAgICJhY3RpdmUiLAorICAgICJmcm96ZW4iCit9OwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZh
Y2VzL3BheW1lbnQtbWV0aG9kLWJhc2ljLWNhcmQuaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3BheW1lbnQtbWV0aG9kLWJhc2ljLWNh
cmQuaWRsCmluZGV4IDkxZjFkMTk3Yjk0Li43MmUwNTU1MDY2YyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3BheW1lbnQt
bWV0aG9kLWJhc2ljLWNhcmQuaWRsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9wYXltZW50LW1ldGhvZC1iYXNpYy1jYXJkLmlkbApA
QCAtNSw2ICs1LDcgQEAKIAogZGljdGlvbmFyeSBCYXNpY0NhcmRSZXF1ZXN0IHsKICAgc2VxdWVu
Y2U8RE9NU3RyaW5nPiBzdXBwb3J0ZWROZXR3b3JrcyA9IFtdOworICBib29sZWFuIHJlcXVlc3RT
ZWN1cml0eUNvZGUgPSB0cnVlOwogfTsKIAogZGljdGlvbmFyeSBCYXNpY0NhcmRDaGFuZ2VEZXRh
aWxzIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaW50ZXJmYWNlcy9wYXltZW50LXJlcXVlc3QuaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3BheW1lbnQtcmVxdWVzdC5pZGwK
aW5kZXggZTQxY2FlMmYwNmQuLjk0MDdjNzExZTQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcGF5bWVudC1yZXF1ZXN0
LmlkbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2lu
dGVyZmFjZXMvcGF5bWVudC1yZXF1ZXN0LmlkbApAQCAtMTAzLDE2ICsxMDMsMTYgQEAgaW50ZXJm
YWNlIFBheW1lbnRBZGRyZXNzIHsKIH07CiAKIGRpY3Rpb25hcnkgQWRkcmVzc0luaXQgewotICBE
T01TdHJpbmcgY291bnRyeTsKLSAgc2VxdWVuY2U8RE9NU3RyaW5nPiBhZGRyZXNzTGluZTsKLSAg
RE9NU3RyaW5nIHJlZ2lvbjsKLSAgRE9NU3RyaW5nIGNpdHk7Ci0gIERPTVN0cmluZyBkZXBlbmRl
bnRMb2NhbGl0eTsKLSAgRE9NU3RyaW5nIHBvc3RhbENvZGU7Ci0gIERPTVN0cmluZyBzb3J0aW5n
Q29kZTsKLSAgRE9NU3RyaW5nIG9yZ2FuaXphdGlvbjsKLSAgRE9NU3RyaW5nIHJlY2lwaWVudDsK
LSAgRE9NU3RyaW5nIHBob25lOworICBET01TdHJpbmcgY291bnRyeSA9ICIiOworICBzZXF1ZW5j
ZTxET01TdHJpbmc+IGFkZHJlc3NMaW5lID0gW107CisgIERPTVN0cmluZyByZWdpb24gPSAiIjsK
KyAgRE9NU3RyaW5nIGNpdHkgPSAiIjsKKyAgRE9NU3RyaW5nIGRlcGVuZGVudExvY2FsaXR5ID0g
IiI7CisgIERPTVN0cmluZyBwb3N0YWxDb2RlID0gIiI7CisgIERPTVN0cmluZyBzb3J0aW5nQ29k
ZSA9ICIiOworICBET01TdHJpbmcgb3JnYW5pemF0aW9uID0gIiI7CisgIERPTVN0cmluZyByZWNp
cGllbnQgPSAiIjsKKyAgRE9NU3RyaW5nIHBob25lID0gIiI7CiB9OwogCiBkaWN0aW9uYXJ5IEFk
ZHJlc3NFcnJvcnMgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3BlcmlvZGljLWJhY2tncm91bmQtc3luYy5pZGwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcGVy
aW9kaWMtYmFja2dyb3VuZC1zeW5jLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMC4uMTRlZThiYmMzMGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcGVyaW9kaWMtYmFja2dyb3Vu
ZC1zeW5jLmlkbApAQCAtMCwwICsxLDM1IEBACisvLyBHRU5FUkFURUQgQ09OVEVOVCAtIERPIE5P
VCBFRElUCisvLyBDb250ZW50IHdhcyBhdXRvbWF0aWNhbGx5IGV4dHJhY3RlZCBieSBSZWZmeSBp
bnRvIHJlZmZ5LXJlcG9ydHMKKy8vIChodHRwczovL2dpdGh1Yi5jb20vdGlkb3VzdC9yZWZmeS1y
ZXBvcnRzKQorLy8gU291cmNlOiBXZWIgUGVyaW9kaWMgQmFja2dyb3VuZCBTeW5jaHJvbml6YXRp
b24gKGh0dHBzOi8vd2ljZy5naXRodWIuaW8vcGVyaW9kaWMtYmFja2dyb3VuZC1zeW5jLykKKwor
cGFydGlhbCBpbnRlcmZhY2UgU2VydmljZVdvcmtlckdsb2JhbFNjb3BlIHsKKyAgICBhdHRyaWJ1
dGUgRXZlbnRIYW5kbGVyIG9ucGVyaW9kaWNzeW5jOworfTsKKworW0V4cG9zZWQ9KFdpbmRvdyxX
b3JrZXIpXQorcGFydGlhbCBpbnRlcmZhY2UgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiB7Cisg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBQZXJpb2RpY1N5bmNNYW5hZ2VyIHBlcmlvZGljU3luYzsKK307
CisKK1tFeHBvc2VkPShXaW5kb3csV29ya2VyKV0KK2ludGVyZmFjZSBQZXJpb2RpY1N5bmNNYW5h
Z2VyIHsKKyAgICBQcm9taXNlPHZvaWQ+IHJlZ2lzdGVyKERPTVN0cmluZyB0YWcsIG9wdGlvbmFs
IEJhY2tncm91bmRTeW5jT3B0aW9ucyBvcHRpb25zKTsKKyAgICBQcm9taXNlPHNlcXVlbmNlPERP
TVN0cmluZz4+IGdldFRhZ3MoKTsKKyAgICBQcm9taXNlPHZvaWQ+IHVucmVnaXN0ZXIoRE9NU3Ry
aW5nIHRhZyk7Cit9OworCitkaWN0aW9uYXJ5IEJhY2tncm91bmRTeW5jT3B0aW9ucyB7CisgICAg
W0VuZm9yY2VSYW5nZV0gdW5zaWduZWQgbG9uZyBsb25nIG1pbkludGVydmFsID0gMDsKK307CisK
K2RpY3Rpb25hcnkgUGVyaW9kaWNTeW5jRXZlbnRJbml0IDogRXh0ZW5kYWJsZUV2ZW50SW5pdCB7
CisgICAgcmVxdWlyZWQgRE9NU3RyaW5nIHRhZzsKK307CisKK1sKKyAgICBDb25zdHJ1Y3RvcihE
T01TdHJpbmcgdHlwZSwgUGVyaW9kaWNTeW5jRXZlbnRJbml0IGluaXQpLAorICAgIEV4cG9zZWQ9
U2VydmljZVdvcmtlcgorXSBpbnRlcmZhY2UgUGVyaW9kaWNTeW5jRXZlbnQgOiBFeHRlbmRhYmxl
RXZlbnQgeworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdGFnOworICB9OwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRl
cmZhY2VzL3Blcm1pc3Npb25zLXJlcXVlc3QuaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3Blcm1pc3Npb25zLXJlcXVlc3QuaWRsCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4wODQzMWZiYWI4NQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aW50ZXJmYWNlcy9wZXJtaXNzaW9ucy1yZXF1ZXN0LmlkbApAQCAtMCwwICsxLDggQEAKKy8vIEdF
TkVSQVRFRCBDT05URU5UIC0gRE8gTk9UIEVESVQKKy8vIENvbnRlbnQgd2FzIGF1dG9tYXRpY2Fs
bHkgZXh0cmFjdGVkIGJ5IFJlZmZ5IGludG8gcmVmZnktcmVwb3J0cworLy8gKGh0dHBzOi8vZ2l0
aHViLmNvbS90aWRvdXN0L3JlZmZ5LXJlcG9ydHMpCisvLyBTb3VyY2U6IFJlcXVlc3RpbmcgUGVy
bWlzc2lvbnMgKGh0dHBzOi8vd2ljZy5naXRodWIuaW8vcGVybWlzc2lvbnMtcmVxdWVzdC8pCisK
K3BhcnRpYWwgaW50ZXJmYWNlIFBlcm1pc3Npb25zIHsKKyAgUHJvbWlzZTxQZXJtaXNzaW9uU3Rh
dHVzPiByZXF1ZXN0KG9iamVjdCBwZXJtaXNzaW9uRGVzYyk7Cit9OwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3Blcm1p
c3Npb25zLXJldm9rZS5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ludGVyZmFjZXMvcGVybWlzc2lvbnMtcmV2b2tlLmlkbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNGMyYmNmN2I5OWYKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcGVy
bWlzc2lvbnMtcmV2b2tlLmlkbApAQCAtMCwwICsxLDggQEAKKy8vIEdFTkVSQVRFRCBDT05URU5U
IC0gRE8gTk9UIEVESVQKKy8vIENvbnRlbnQgd2FzIGF1dG9tYXRpY2FsbHkgZXh0cmFjdGVkIGJ5
IFJlZmZ5IGludG8gcmVmZnktcmVwb3J0cworLy8gKGh0dHBzOi8vZ2l0aHViLmNvbS90aWRvdXN0
L3JlZmZ5LXJlcG9ydHMpCisvLyBTb3VyY2U6IFJlbGlucXVpc2hpbmcgUGVybWlzc2lvbnMgKGh0
dHBzOi8vd2ljZy5naXRodWIuaW8vcGVybWlzc2lvbnMtcmV2b2tlLykKKworcGFydGlhbCBpbnRl
cmZhY2UgUGVybWlzc2lvbnMgeworICBQcm9taXNlPFBlcm1pc3Npb25TdGF0dXM+IHJldm9rZShv
YmplY3QgcGVybWlzc2lvbkRlc2MpOworfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9wZXJtaXNzaW9ucy5pZGwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcGVy
bWlzc2lvbnMuaWRsCmluZGV4IDljZGUzNzJhMTI3Li5kNDVjN2Y5M2NhYyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3Bl
cm1pc3Npb25zLmlkbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ludGVyZmFjZXMvcGVybWlzc2lvbnMuaWRsCkBAIC00Niw2ICs0NiwxMCBAQCBkaWN0
aW9uYXJ5IERldmljZVBlcm1pc3Npb25EZXNjcmlwdG9yIDogUGVybWlzc2lvbkRlc2NyaXB0b3Ig
ewogICBET01TdHJpbmcgZGV2aWNlSWQ7CiB9OwogCitkaWN0aW9uYXJ5IENhbWVyYURldmljZVBl
cm1pc3Npb25EZXNjcmlwdG9yIDogRGV2aWNlUGVybWlzc2lvbkRlc2NyaXB0b3IgeworICBib29s
ZWFuIHBhblRpbHRab29tID0gZmFsc2U7Cit9OworCiBkaWN0aW9uYXJ5IFBlcm1pc3Npb25TZXRQ
YXJhbWV0ZXJzIHsKICAgcmVxdWlyZWQgUGVybWlzc2lvbkRlc2NyaXB0b3IgZGVzY3JpcHRvcjsK
ICAgcmVxdWlyZWQgUGVybWlzc2lvblN0YXRlIHN0YXRlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3BvaW50ZXJldmVu
dHMuaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRl
cmZhY2VzL3BvaW50ZXJldmVudHMuaWRsCmluZGV4IGY0NDA1NDM4NjMyLi44YTQyYjVhODQ0NiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bnRlcmZhY2VzL3BvaW50ZXJldmVudHMuaWRsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9wb2ludGVyZXZlbnRzLmlkbApAQCAtMTIs
NiArMTIsOCBAQCBkaWN0aW9uYXJ5IFBvaW50ZXJFdmVudEluaXQgOiBNb3VzZUV2ZW50SW5pdCB7
CiAgICAgbG9uZyAgICAgICAgdGlsdFggPSAwOwogICAgIGxvbmcgICAgICAgIHRpbHRZID0gMDsK
ICAgICBsb25nICAgICAgICB0d2lzdCA9IDA7CisgICAgZG91YmxlICAgICAgYWx0aXR1ZGVBbmds
ZSA9IDA7CisgICAgZG91YmxlICAgICAgYXppbXV0aEFuZ2xlID0gMDsKICAgICBET01TdHJpbmcg
ICBwb2ludGVyVHlwZSA9ICIiOwogICAgIGJvb2xlYW4gICAgIGlzUHJpbWFyeSA9IGZhbHNlOwog
ICAgIHNlcXVlbmNlPFBvaW50ZXJFdmVudD4gY29hbGVzY2VkRXZlbnRzID0gW107CkBAIC0yOSw5
ICszMSwxMSBAQCBpbnRlcmZhY2UgUG9pbnRlckV2ZW50IDogTW91c2VFdmVudCB7CiAgICAgcmVh
ZG9ubHkgICAgICAgIGF0dHJpYnV0ZSBsb25nICAgICAgICB0aWx0WDsKICAgICByZWFkb25seSAg
ICAgICAgYXR0cmlidXRlIGxvbmcgICAgICAgIHRpbHRZOwogICAgIHJlYWRvbmx5ICAgICAgICBh
dHRyaWJ1dGUgbG9uZyAgICAgICAgdHdpc3Q7CisgICAgcmVhZG9ubHkgICAgICAgIGF0dHJpYnV0
ZSBkb3VibGUgICAgICBhbHRpdHVkZUFuZ2xlOworICAgIHJlYWRvbmx5ICAgICAgICBhdHRyaWJ1
dGUgZG91YmxlICAgICAgYXppbXV0aEFuZ2xlOwogICAgIHJlYWRvbmx5ICAgICAgICBhdHRyaWJ1
dGUgRE9NU3RyaW5nICAgcG9pbnRlclR5cGU7CiAgICAgcmVhZG9ubHkgICAgICAgIGF0dHJpYnV0
ZSBib29sZWFuICAgICBpc1ByaW1hcnk7Ci0gICAgc2VxdWVuY2U8UG9pbnRlckV2ZW50PiBnZXRD
b2FsZXNjZWRFdmVudHMoKTsKKyAgICBbU2VjdXJlQ29udGV4dF0gc2VxdWVuY2U8UG9pbnRlckV2
ZW50PiBnZXRDb2FsZXNjZWRFdmVudHMoKTsKICAgICBzZXF1ZW5jZTxQb2ludGVyRXZlbnQ+IGdl
dFByZWRpY3RlZEV2ZW50cygpOwogfTsKIApAQCAtNDYsNiArNTAsNyBAQCBwYXJ0aWFsIGludGVy
ZmFjZSBtaXhpbiBHbG9iYWxFdmVudEhhbmRsZXJzIHsKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5k
bGVyIG9ubG9zdHBvaW50ZXJjYXB0dXJlOwogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25w
b2ludGVyZG93bjsKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ucG9pbnRlcm1vdmU7Cisg
ICAgW1NlY3VyZUNvbnRleHRdIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25wb2ludGVycmF3dXBk
YXRlOwogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25wb2ludGVydXA7CiAgICAgYXR0cmli
dXRlIEV2ZW50SGFuZGxlciBvbnBvaW50ZXJjYW5jZWw7CiAgICAgYXR0cmlidXRlIEV2ZW50SGFu
ZGxlciBvbnBvaW50ZXJvdmVyOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3JlcG9ydGluZy5pZGwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcmVwb3J0aW5nLmlk
bAppbmRleCBmNTM3MGU4ZjFlNi4uZDQyZjBiYWM1OWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9yZXBvcnRpbmcuaWRs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJm
YWNlcy9yZXBvcnRpbmcuaWRsCkBAIC0zMywzMyArMzMsNiBAQCBkaWN0aW9uYXJ5IFJlcG9ydGlu
Z09ic2VydmVyT3B0aW9ucyB7CiAKIHR5cGVkZWYgc2VxdWVuY2U8UmVwb3J0PiBSZXBvcnRMaXN0
OwogCi1bRXhwb3NlZD0oV2luZG93LFdvcmtlcildCi1pbnRlcmZhY2UgRGVwcmVjYXRpb25SZXBv
cnRCb2R5IDogUmVwb3J0Qm9keSB7Ci0gIFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7Ci0gIHJl
YWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgaWQ7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBEYXRl
PyBhbnRpY2lwYXRlZFJlbW92YWw7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgbWVz
c2FnZTsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZz8gc291cmNlRmlsZTsKLSAgcmVh
ZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmc/IGxpbmVOdW1iZXI7Ci0gIHJlYWRvbmx5IGF0
dHJpYnV0ZSB1bnNpZ25lZCBsb25nPyBjb2x1bW5OdW1iZXI7Ci19OwotCi1bRXhwb3NlZD0oV2lu
ZG93LFdvcmtlcildCi1pbnRlcmZhY2UgSW50ZXJ2ZW50aW9uUmVwb3J0Qm9keSA6IFJlcG9ydEJv
ZHkgewotICBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOwotICByZWFkb25seSBhdHRyaWJ1dGUg
RE9NU3RyaW5nIGlkOwotICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG1lc3NhZ2U7Ci0g
IHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmc/IHNvdXJjZUZpbGU7Ci0gIHJlYWRvbmx5IGF0
dHJpYnV0ZSB1bnNpZ25lZCBsb25nPyBsaW5lTnVtYmVyOwotICByZWFkb25seSBhdHRyaWJ1dGUg
dW5zaWduZWQgbG9uZz8gY29sdW1uTnVtYmVyOwotfTsKLQotW0V4cG9zZWQ9KFdpbmRvdyxXb3Jr
ZXIpXQotaW50ZXJmYWNlIENyYXNoUmVwb3J0Qm9keSA6IFJlcG9ydEJvZHkgewotICBbRGVmYXVs
dF0gb2JqZWN0IHRvSlNPTigpOwotICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nPyByZWFz
b247Ci19OwotCiBkaWN0aW9uYXJ5IEdlbmVyYXRlVGVzdFJlcG9ydFBhcmFtZXRlcnMgewogICBy
ZXF1aXJlZCBET01TdHJpbmcgbWVzc2FnZTsKICAgRE9NU3RyaW5nIGdyb3VwID0gImRlZmF1bHQi
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbnRlcmZhY2VzL3JlcXVlc3RpZGxlY2FsbGJhY2suaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3JlcXVlc3RpZGxlY2FsbGJhY2su
aWRsCmluZGV4IGI0ODVkYzA3ODA1Li5jNzYzYjUwYmRlNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3JlcXVlc3RpZGxl
Y2FsbGJhY2suaWRsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaW50ZXJmYWNlcy9yZXF1ZXN0aWRsZWNhbGxiYWNrLmlkbApAQCAtMTEsOCArMTEsMTAg
QEAgcGFydGlhbCBpbnRlcmZhY2UgV2luZG93IHsKIGRpY3Rpb25hcnkgSWRsZVJlcXVlc3RPcHRp
b25zIHsKICAgdW5zaWduZWQgbG9uZyB0aW1lb3V0OwogfTsKKwogW0V4cG9zZWQ9V2luZG93XSBp
bnRlcmZhY2UgSWRsZURlYWRsaW5lIHsKICAgRE9NSGlnaFJlc1RpbWVTdGFtcCB0aW1lUmVtYWlu
aW5nKCk7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGRpZFRpbWVvdXQ7CiB9OworCiBj
YWxsYmFjayBJZGxlUmVxdWVzdENhbGxiYWNrID0gdm9pZCAoSWRsZURlYWRsaW5lIGRlYWRsaW5l
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaW50ZXJmYWNlcy9yZXNpemUtb2JzZXJ2ZXIuaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3Jlc2l6ZS1vYnNlcnZlci5pZGwKaW5k
ZXggZDUzZTlkYTU1ZWUuLmYyMGI3MTlkMTFlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcmVzaXplLW9ic2VydmVyLmlk
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVy
ZmFjZXMvcmVzaXplLW9ic2VydmVyLmlkbApAQCAtMTEsOSArMTEsOSBAQCBkaWN0aW9uYXJ5IFJl
c2l6ZU9ic2VydmVyT3B0aW9ucyB7CiAgICAgUmVzaXplT2JzZXJ2ZXJCb3hPcHRpb25zIGJveCA9
ICJjb250ZW50LWJveCI7CiB9OwogCi1bRXhwb3NlZD0oV2luZG93KSwKLSBDb25zdHJ1Y3RvcihS
ZXNpemVPYnNlcnZlckNhbGxiYWNrIGNhbGxiYWNrKV0KK1tFeHBvc2VkPShXaW5kb3cpXQogaW50
ZXJmYWNlIFJlc2l6ZU9ic2VydmVyIHsKKyAgICBjb25zdHJ1Y3RvcihSZXNpemVPYnNlcnZlckNh
bGxiYWNrIGNhbGxiYWNrKTsKICAgICB2b2lkIG9ic2VydmUoRWxlbWVudCB0YXJnZXQsIG9wdGlv
bmFsIFJlc2l6ZU9ic2VydmVyT3B0aW9ucyBvcHRpb25zKTsKICAgICB2b2lkIHVub2JzZXJ2ZShF
bGVtZW50IHRhcmdldCk7CiAgICAgdm9pZCBkaXNjb25uZWN0KCk7CkBAIC0yNSw5ICsyNSw5IEBA
IGNhbGxiYWNrIFJlc2l6ZU9ic2VydmVyQ2FsbGJhY2sgPSB2b2lkIChzZXF1ZW5jZTxSZXNpemVP
YnNlcnZlckVudHJ5PiBlbnRyaWVzLCBSCiBpbnRlcmZhY2UgUmVzaXplT2JzZXJ2ZXJFbnRyeSB7
CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEVsZW1lbnQgdGFyZ2V0OwogICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBET01SZWN0UmVhZE9ubHkgY29udGVudFJlY3Q7Ci0gICAgcmVhZG9ubHkgYXR0cmli
dXRlIHNlcXVlbmNlPFJlc2l6ZU9ic2VydmVyU2l6ZT4gYm9yZGVyQm94U2l6ZTsKLSAgICByZWFk
b25seSBhdHRyaWJ1dGUgc2VxdWVuY2U8UmVzaXplT2JzZXJ2ZXJTaXplPiBjb250ZW50Qm94U2l6
ZTsKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgc2VxdWVuY2U8UmVzaXplT2JzZXJ2ZXJTaXplPiBk
ZXZpY2VQaXhlbENvbnRlbnRCb3hTaXplOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBGcm96ZW5B
cnJheTxSZXNpemVPYnNlcnZlclNpemU+IGJvcmRlckJveFNpemU7CisgICAgcmVhZG9ubHkgYXR0
cmlidXRlIEZyb3plbkFycmF5PFJlc2l6ZU9ic2VydmVyU2l6ZT4gY29udGVudEJveFNpemU7Cisg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIEZyb3plbkFycmF5PFJlc2l6ZU9ic2VydmVyU2l6ZT4gZGV2
aWNlUGl4ZWxDb250ZW50Qm94U2l6ZTsKIH07CiAKIGludGVyZmFjZSBSZXNpemVPYnNlcnZlclNp
emUgewpAQCAtMzUsMTAgKzM1LDkgQEAgaW50ZXJmYWNlIFJlc2l6ZU9ic2VydmVyU2l6ZSB7CiAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGUgYmxvY2tTaXplOwogfTsK
IAotW0NvbnN0cnVjdG9yKEVsZW1lbnQgdGFyZ2V0KQotXQogaW50ZXJmYWNlIFJlc2l6ZU9ic2Vy
dmF0aW9uIHsKKyAgICBjb25zdHJ1Y3RvcihFbGVtZW50IHRhcmdldCk7CiAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIEVsZW1lbnQgdGFyZ2V0OwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBSZXNpemVP
YnNlcnZlckJveE9wdGlvbnMgb2JzZXJ2ZWRCb3g7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIHNl
cXVlbmNlPFJlc2l6ZU9ic2VydmVyU2l6ZT4gbGFzdFJlcG9ydGVkU2l6ZXM7CisgICAgcmVhZG9u
bHkgYXR0cmlidXRlIEZyb3plbkFycmF5PFJlc2l6ZU9ic2VydmVyU2l6ZT4gbGFzdFJlcG9ydGVk
U2l6ZXM7CiB9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3Njcm9sbC1hbmltYXRpb25zLmlkbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9zY3JvbGwtYW5pbWF0
aW9ucy5pZGwKaW5kZXggOGZkNjdhN2FmN2IuLjAwZDBiYWU2ODEyIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvc2Nyb2xs
LWFuaW1hdGlvbnMuaWRsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaW50ZXJmYWNlcy9zY3JvbGwtYW5pbWF0aW9ucy5pZGwKQEAgLTEzLDIxICsxMywx
OSBAQCBlbnVtIFNjcm9sbERpcmVjdGlvbiB7CiBlbnVtIFNjcm9sbFRpbWVsaW5lQXV0b0tleXdv
cmQgeyAiYXV0byIgfTsKIAogZGljdGlvbmFyeSBTY3JvbGxUaW1lbGluZU9wdGlvbnMgewotICBF
bGVtZW50PyBzY3JvbGxTb3VyY2UgPSBudWxsOworICBFbGVtZW50PyBzb3VyY2UgPSBudWxsOwog
ICBTY3JvbGxEaXJlY3Rpb24gb3JpZW50YXRpb24gPSAiYmxvY2siOwotICBET01TdHJpbmcgc3Rh
cnRTY3JvbGxPZmZzZXQgPSAiYXV0byI7Ci0gIERPTVN0cmluZyBlbmRTY3JvbGxPZmZzZXQgPSAi
YXV0byI7CisgIERPTVN0cmluZyBzdGFydCA9ICJhdXRvIjsKKyAgRE9NU3RyaW5nIGVuZCA9ICJh
dXRvIjsKICAgKGRvdWJsZSBvciBTY3JvbGxUaW1lbGluZUF1dG9LZXl3b3JkKSB0aW1lUmFuZ2Ug
PSAiYXV0byI7Ci0gIEZpbGxNb2RlIGZpbGwgPSAibm9uZSI7CiB9OwogCi1bRXhwb3NlZD1XaW5k
b3csCi0gQ29uc3RydWN0b3Iob3B0aW9uYWwgU2Nyb2xsVGltZWxpbmVPcHRpb25zIG9wdGlvbnMg
PSB7fSldCitbRXhwb3NlZD1XaW5kb3ddCiBpbnRlcmZhY2UgU2Nyb2xsVGltZWxpbmUgOiBBbmlt
YXRpb25UaW1lbGluZSB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBFbGVtZW50IHNjcm9sbFNvdXJj
ZTsKKyAgY29uc3RydWN0b3Iob3B0aW9uYWwgU2Nyb2xsVGltZWxpbmVPcHRpb25zIG9wdGlvbnMg
PSB7fSk7CisgIHJlYWRvbmx5IGF0dHJpYnV0ZSBFbGVtZW50IHNvdXJjZTsKICAgcmVhZG9ubHkg
YXR0cmlidXRlIFNjcm9sbERpcmVjdGlvbiBvcmllbnRhdGlvbjsKLSAgcmVhZG9ubHkgYXR0cmli
dXRlIERPTVN0cmluZyBzdGFydFNjcm9sbE9mZnNldDsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIERP
TVN0cmluZyBlbmRTY3JvbGxPZmZzZXQ7CisgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcg
c3RhcnQ7CisgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgZW5kOwogICByZWFkb25seSBh
dHRyaWJ1dGUgKGRvdWJsZSBvciBTY3JvbGxUaW1lbGluZUF1dG9LZXl3b3JkKSB0aW1lUmFuZ2U7
Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBGaWxsTW9kZSBmaWxsOwogfTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9zaGFw
ZS1kZXRlY3Rpb24tYXBpLmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaW50ZXJmYWNlcy9zaGFwZS1kZXRlY3Rpb24tYXBpLmlkbAppbmRleCA1MWM5OTY5
NTliZS4uNWIxYzQ1YTc3MzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9zaGFwZS1kZXRlY3Rpb24tYXBpLmlkbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMv
c2hhcGUtZGV0ZWN0aW9uLWFwaS5pZGwKQEAgLTE1LDEyICsxNSw5IEBAIGRpY3Rpb25hcnkgRmFj
ZURldGVjdG9yT3B0aW9ucyB7CiAgIGJvb2xlYW4gZmFzdE1vZGU7CiB9OwogCi1bRXhwb3NlZD0o
V2luZG93LFdvcmtlciksCi0gU2VjdXJlQ29udGV4dCwKLSBTZXJpYWxpemFibGVdCi1pbnRlcmZh
Y2UgRGV0ZWN0ZWRGYWNlIHsKLSAgW1NhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01S
ZWN0UmVhZE9ubHkgYm91bmRpbmdCb3g7Ci0gIFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1
dGUgRnJvemVuQXJyYXk8TGFuZG1hcms+PyBsYW5kbWFya3M7CitkaWN0aW9uYXJ5IERldGVjdGVk
RmFjZSB7CisgIHJlcXVpcmVkIERPTVJlY3RSZWFkT25seSBib3VuZGluZ0JveDsKKyAgcmVxdWly
ZWQgRnJvemVuQXJyYXk8TGFuZG1hcms+PyBsYW5kbWFya3M7CiB9OwogCiBkaWN0aW9uYXJ5IExh
bmRtYXJrIHsKQEAgLTQ3LDE0ICs0NCwxMSBAQCBkaWN0aW9uYXJ5IEJhcmNvZGVEZXRlY3Rvck9w
dGlvbnMgewogICBzZXF1ZW5jZTxCYXJjb2RlRm9ybWF0PiBmb3JtYXRzOwogfTsKIAotW0V4cG9z
ZWQ9KFdpbmRvdyxXb3JrZXIpLAotIFNlY3VyZUNvbnRleHQsCi0gU2VyaWFsaXphYmxlXQotaW50
ZXJmYWNlIERldGVjdGVkQmFyY29kZSB7Ci0gIFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1
dGUgRE9NUmVjdFJlYWRPbmx5IGJvdW5kaW5nQm94OwotICBbU2FtZU9iamVjdF0gcmVhZG9ubHkg
YXR0cmlidXRlIERPTVN0cmluZyByYXdWYWx1ZTsKLSAgW1NhbWVPYmplY3RdIHJlYWRvbmx5IGF0
dHJpYnV0ZSBCYXJjb2RlRm9ybWF0IGZvcm1hdDsKLSAgW1NhbWVPYmplY3RdIHJlYWRvbmx5IGF0
dHJpYnV0ZSBGcm96ZW5BcnJheTxQb2ludDJEPiBjb3JuZXJQb2ludHM7CitkaWN0aW9uYXJ5IERl
dGVjdGVkQmFyY29kZSB7CisgIHJlcXVpcmVkIERPTVJlY3RSZWFkT25seSBib3VuZGluZ0JveDsK
KyAgcmVxdWlyZWQgRE9NU3RyaW5nIHJhd1ZhbHVlOworICByZXF1aXJlZCBCYXJjb2RlRm9ybWF0
IGZvcm1hdDsKKyAgcmVxdWlyZWQgRnJvemVuQXJyYXk8UG9pbnQyRD4gY29ybmVyUG9pbnRzOwog
fTsKIAogZW51bSBCYXJjb2RlRm9ybWF0IHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9zdG9yYWdlLWFjY2Vzcy1hcGku
dGVudGF0aXZlLmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaW50ZXJmYWNlcy9zdG9yYWdlLWFjY2Vzcy1hcGkudGVudGF0aXZlLmlkbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uYTk0YmUzN2U5MTUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFj
ZXMvc3RvcmFnZS1hY2Nlc3MtYXBpLnRlbnRhdGl2ZS5pZGwKQEAgLTAsMCArMSw2IEBACisvLyBo
dHRwczovL2dpdGh1Yi5jb20vd2hhdHdnL2h0bWwvaXNzdWVzLzMzMzgKKworcGFydGlhbCBpbnRl
cmZhY2UgRG9jdW1lbnQgeworICBQcm9taXNlPGJvb2w+IGhhc1N0b3JhZ2VBY2Nlc3MoKTsKKyAg
UHJvbWlzZTx2b2lkPiByZXF1ZXN0U3RvcmFnZUFjY2VzcygpOworfTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy90ZXh0
LWRldGVjdGlvbi1hcGkudGVudGF0aXZlLmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy90ZXh0LWRldGVjdGlvbi1hcGkudGVudGF0aXZl
LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uODgzNWM1ZmVlOTEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ludGVyZmFjZXMvdGV4dC1kZXRlY3Rpb24tYXBpLnRlbnRhdGl2ZS5pZGwKQEAgLTAs
MCArMSwxOCBAQAorLy8gQ29udGVudCB3YXMgbWFudWFsbHkgY29waWVkIEFwcmlsIDEgMjAyMAor
Ly8gU291cmNlOiBBY2NlbGVyYXRlZCBUZXh0IERldGVjdGlvbiBpbiBJbWFnZXMgKGh0dHBzOi8v
d2ljZy5naXRodWIuaW8vc2hhcGUtZGV0ZWN0aW9uLWFwaS90ZXh0Lmh0bWwpCisvLyBUaGlzIGlz
IGN1cnJlbnRseSBhIHNpc3RlciBpbmZvcm1hdGl2ZSBzcGVjIG9mIFNoYXBlIERldGVjdGlvbiBB
UEksCisvLyBzbyBpdCBjb3VsZCBub3QgYmUgbWVyZ2VkIGludG8gL2ludGVyZmFjZXMvc2hhcGUt
ZGV0ZWN0aW9uLWFwaS5pZGwKKworWworICAgIENvbnN0cnVjdG9yLAorICAgIEV4cG9zZWQ9KFdp
bmRvdyxXb3JrZXIpLAorICAgIFNlY3VyZUNvbnRleHQKK10gaW50ZXJmYWNlIFRleHREZXRlY3Rv
ciB7CisgICAgUHJvbWlzZTxzZXF1ZW5jZTxEZXRlY3RlZFRleHQ+PiBkZXRlY3QoSW1hZ2VCaXRt
YXBTb3VyY2UgaW1hZ2UpOworfTsKKworZGljdGlvbmFyeSBEZXRlY3RlZFRleHQgeworICByZXF1
aXJlZCBET01SZWN0UmVhZE9ubHkgYm91bmRpbmdCb3g7CisgIHJlcXVpcmVkIERPTVN0cmluZyBy
YXdWYWx1ZTsKKyAgcmVxdWlyZWQgRnJvemVuQXJyYXk8UG9pbnQyRD4gY29ybmVyUG9pbnRzOwor
fTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvdHJ1c3RlZC10eXBlcy50
ZW50YXRpdmUuaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbnRlcmZhY2VzL3RydXN0ZWQtdHlwZXMudGVudGF0aXZlLmlkbAppbmRleCBiZTU4YjYzYjJj
My4uZjIzMThkNjg1NjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy90cnVzdGVkLXR5cGVzLnRlbnRhdGl2ZS5pZGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2Vz
L3RydXN0ZWQtdHlwZXMudGVudGF0aXZlLmlkbApAQCAtMSwzNyArMSw0NiBAQAogLy8gaHR0cHM6
Ly9naXRodWIuY29tL3dpY2cvdHJ1c3RlZC10eXBlcwogCi10eXBlZGVmIChET01TdHJpbmcgb3Ig
VHJ1c3RlZEhUTUwpIEhUTUxTdHJpbmc7Ci10eXBlZGVmIChET01TdHJpbmcgb3IgVHJ1c3RlZFNj
cmlwdCkgU2NyaXB0U3RyaW5nOwotdHlwZWRlZiAoRE9NU3RyaW5nIG9yIFRydXN0ZWRTY3JpcHRV
UkwpIFNjcmlwdFVSTFN0cmluZzsKLQotW0V4cG9zZWQ9KFdpbmRvdywgV29ya2VyKV0KLWludGVy
ZmFjZSBUcnVzdGVkSFRNTCB7Cit0eXBlZGVmIFtTdHJpbmdDb250ZXh0PVRydXN0ZWRIVE1MXSBE
T01TdHJpbmcgSFRNTFN0cmluZzsKK3R5cGVkZWYgW1N0cmluZ0NvbnRleHQ9VHJ1c3RlZFNjcmlw
dF0gRE9NU3RyaW5nIFNjcmlwdFN0cmluZzsKK3R5cGVkZWYgW1N0cmluZ0NvbnRleHQ9VHJ1c3Rl
ZFNjcmlwdFVSTF0gVVNWU3RyaW5nIFNjcmlwdFVSTFN0cmluZzsKKworWworICBFeHBvc2VkPShX
aW5kb3csIFdvcmtlciksCisgIFNlY3VyZUNvbnRleHQKK10gaW50ZXJmYWNlIFRydXN0ZWRIVE1M
IHsKICAgICBzdHJpbmdpZmllcjsKIH07CiAKLVtFeHBvc2VkPShXaW5kb3csIFdvcmtlcildCi1p
bnRlcmZhY2UgVHJ1c3RlZFNjcmlwdCB7CitbCisgIEV4cG9zZWQ9KFdpbmRvdywgV29ya2VyKSwK
KyAgU2VjdXJlQ29udGV4dAorXSBpbnRlcmZhY2UgVHJ1c3RlZFNjcmlwdCB7CiAgICAgc3RyaW5n
aWZpZXI7CiB9OwogCi1bRXhwb3NlZD0oV2luZG93LCBXb3JrZXIpXQotaW50ZXJmYWNlIFRydXN0
ZWRTY3JpcHRVUkwgeworWworICBFeHBvc2VkPShXaW5kb3csIFdvcmtlciksCisgIFNlY3VyZUNv
bnRleHQKK10gaW50ZXJmYWNlIFRydXN0ZWRTY3JpcHRVUkwgewogICAgIHN0cmluZ2lmaWVyOwog
fTsKIAotW0V4cG9zZWQ9KFdpbmRvdywgV29ya2VyKV0KLWludGVyZmFjZSBUcnVzdGVkVHlwZVBv
bGljeUZhY3RvcnkgewotICAgIFtVbmZvcmdlYWJsZV0gVHJ1c3RlZFR5cGVQb2xpY3kgY3JlYXRl
UG9saWN5KERPTVN0cmluZyBwb2xpY3lOYW1lLCBUcnVzdGVkVHlwZVBvbGljeU9wdGlvbnMgcG9s
aWN5T3B0aW9ucyk7CitbCisgIEV4cG9zZWQ9KFdpbmRvdywgV29ya2VyKSwKKyAgU2VjdXJlQ29u
dGV4dAorXSBpbnRlcmZhY2UgVHJ1c3RlZFR5cGVQb2xpY3lGYWN0b3J5IHsKKyAgICBUcnVzdGVk
VHlwZVBvbGljeSBjcmVhdGVQb2xpY3koRE9NU3RyaW5nIHBvbGljeU5hbWUsIG9wdGlvbmFsIFRy
dXN0ZWRUeXBlUG9saWN5T3B0aW9ucyBwb2xpY3lPcHRpb25zID0ge30pOwogICAgIC8vIEFsbCB0
aGUgcG9saWN5IG9iamVjdCBuYW1lcyB0aGF0IGhhdmUgYmVlbiBjcmVhdGVkCi0gICAgW1VuZm9y
Z2VhYmxlXSBzZXF1ZW5jZTxET01TdHJpbmc+IGdldFBvbGljeU5hbWVzKCk7CiB9OwogCi1bRXhw
b3NlZD0oV2luZG93LCBXb3JrZXIpXQotaW50ZXJmYWNlIFRydXN0ZWRUeXBlUG9saWN5IHsKLSAg
ICBbVW5mb3JnZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLSAgICBb
VW5mb3JnZWFibGVdIFRydXN0ZWRIVE1MIGNyZWF0ZUhUTUwoRE9NU3RyaW5nIGlucHV0KTsKLSAg
ICBbVW5mb3JnZWFibGVdIFRydXN0ZWRTY3JpcHQgY3JlYXRlU2NyaXB0KERPTVN0cmluZyBpbnB1
dCk7Ci0gICAgW1VuZm9yZ2VhYmxlXSBUcnVzdGVkU2NyaXB0VVJMIGNyZWF0ZVNjcmlwdFVSTChE
T01TdHJpbmcgaW5wdXQpOworWworICBFeHBvc2VkPShXaW5kb3csIFdvcmtlciksCisgIFNlY3Vy
ZUNvbnRleHQKK10gaW50ZXJmYWNlIFRydXN0ZWRUeXBlUG9saWN5IHsKKyAgICByZWFkb25seSBh
dHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7CisgICAgVHJ1c3RlZEhUTUwgY3JlYXRlSFRNTChET01T
dHJpbmcgaW5wdXQpOworICAgIFRydXN0ZWRTY3JpcHQgY3JlYXRlU2NyaXB0KERPTVN0cmluZyBp
bnB1dCk7CisgICAgVHJ1c3RlZFNjcmlwdFVSTCBjcmVhdGVTY3JpcHRVUkwoVVNWU3RyaW5nIGlu
cHV0KTsKIH07CiAKIGRpY3Rpb25hcnkgVHJ1c3RlZFR5cGVQb2xpY3lPcHRpb25zIHsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJm
YWNlcy92aWRlby1ydmZjLmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaW50ZXJmYWNlcy92aWRlby1ydmZjLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMC4uYTg2ZTJiMzY0ZGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvdmlkZW8tcnZm
Yy5pZGwKQEAgLTAsMCArMSwyNyBAQAorLy8gR0VORVJBVEVEIENPTlRFTlQgLSBETyBOT1QgRURJ
VAorLy8gQ29udGVudCB3YXMgYXV0b21hdGljYWxseSBleHRyYWN0ZWQgYnkgUmVmZnkgaW50byBy
ZWZmeS1yZXBvcnRzCisvLyAoaHR0cHM6Ly9naXRodWIuY29tL3RpZG91c3QvcmVmZnktcmVwb3J0
cykKKy8vIFNvdXJjZTogSFRNTFZpZGVvRWxlbWVudC5yZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNr
KCkgKGh0dHBzOi8vd2ljZy5naXRodWIuaW8vdmlkZW8tcnZmYy8pCisKK2RpY3Rpb25hcnkgVmlk
ZW9GcmFtZU1ldGFkYXRhIHsKKyAgcmVxdWlyZWQgRE9NSGlnaFJlc1RpbWVTdGFtcCBwcmVzZW50
YXRpb25UaW1lOworICByZXF1aXJlZCBET01IaWdoUmVzVGltZVN0YW1wIGV4cGVjdGVkRGlzcGxh
eVRpbWU7CisKKyAgcmVxdWlyZWQgdW5zaWduZWQgbG9uZyB3aWR0aDsKKyAgcmVxdWlyZWQgdW5z
aWduZWQgbG9uZyBoZWlnaHQ7CisgIHJlcXVpcmVkIGRvdWJsZSBtZWRpYVRpbWU7CisKKyAgcmVx
dWlyZWQgdW5zaWduZWQgbG9uZyBwcmVzZW50ZWRGcmFtZXM7CisgIGRvdWJsZSBwcm9jZXNzaW5n
RHVyYXRpb247CisKKyAgRE9NSGlnaFJlc1RpbWVTdGFtcCBjYXB0dXJlVGltZTsKKyAgRE9NSGln
aFJlc1RpbWVTdGFtcCByZWNlaXZlVGltZTsKKyAgdW5zaWduZWQgbG9uZyBydHBUaW1lc3RhbXA7
Cit9OworCitjYWxsYmFjayBWaWRlb0ZyYW1lUmVxdWVzdENhbGxiYWNrID0gdm9pZChET01IaWdo
UmVzVGltZVN0YW1wIG5vdywgVmlkZW9GcmFtZU1ldGFkYXRhIG1ldGFkYXRhKTsKKworcGFydGlh
bCBpbnRlcmZhY2UgSFRNTFZpZGVvRWxlbWVudCB7CisgICAgdW5zaWduZWQgbG9uZyByZXF1ZXN0
VmlkZW9GcmFtZUNhbGxiYWNrKFZpZGVvRnJhbWVSZXF1ZXN0Q2FsbGJhY2sgY2FsbGJhY2spOwor
ICAgIHZvaWQgY2FuY2VsVmlkZW9GcmFtZUNhbGxiYWNrKHVuc2lnbmVkIGxvbmcgaGFuZGxlKTsK
K307CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ludGVyZmFjZXMvdmlzdWFsLXZpZXdwb3J0LmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy92aXN1YWwtdmlld3BvcnQuaWRsCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi41ZTRiNTQxMzY5NAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aW50ZXJmYWNlcy92aXN1YWwtdmlld3BvcnQuaWRsCkBAIC0wLDAgKzEsMjUgQEAKKy8vIEdFTkVS
QVRFRCBDT05URU5UIC0gRE8gTk9UIEVESVQKKy8vIENvbnRlbnQgd2FzIGF1dG9tYXRpY2FsbHkg
ZXh0cmFjdGVkIGJ5IFJlZmZ5IGludG8gcmVmZnktcmVwb3J0cworLy8gKGh0dHBzOi8vZ2l0aHVi
LmNvbS90aWRvdXN0L3JlZmZ5LXJlcG9ydHMpCisvLyBTb3VyY2U6IFZpc3VhbCBWaWV3cG9ydCBB
UEkgKGh0dHBzOi8vd2ljZy5naXRodWIuaW8vdmlzdWFsLXZpZXdwb3J0LykKKworcGFydGlhbCBp
bnRlcmZhY2UgV2luZG93IHsKKyAgW1NhbWVPYmplY3QsIFJlcGxhY2VhYmxlXSByZWFkb25seSBh
dHRyaWJ1dGUgVmlzdWFsVmlld3BvcnQgdmlzdWFsVmlld3BvcnQ7Cit9OworCitbRXhwb3NlZD1X
aW5kb3ddCitpbnRlcmZhY2UgVmlzdWFsVmlld3BvcnQgOiBFdmVudFRhcmdldCB7CisgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBkb3VibGUgb2Zmc2V0TGVmdDsKKyAgcmVhZG9ubHkgYXR0cmlidXRlIGRv
dWJsZSBvZmZzZXRUb3A7CisKKyAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSBwYWdlTGVmdDsK
KyAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSBwYWdlVG9wOworCisgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBkb3VibGUgd2lkdGg7CisgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgaGVpZ2h0Owor
CisgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgc2NhbGU7CisKKyAgYXR0cmlidXRlIEV2ZW50
SGFuZGxlciBvbnJlc2l6ZTsKKyAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbnNjcm9sbDsKK307
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ludGVyZmFjZXMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvdzNjLWltcG9ydC5sb2cKaW5kZXggMGZmNzU3ZGM0
ZWYuLjJiZTZiMWJmMDNkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3czYy1pbXBvcnQu
bG9nCkBAIC0zMiwxMSArMzIsMTMgQEAgTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvYXBwbWFuaWZlc3QuaWRsCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2F1
ZGlvLW91dHB1dC5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ludGVyZmFjZXMvYmFja2dyb3VuZC1mZXRjaC5pZGwKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvYmFkZ2luZy5pZGwKIC9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvYmF0dGVyeS1z
dGF0dXMuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bnRlcmZhY2VzL2JlYWNvbi5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ludGVyZmFjZXMvY2xpcGJvYXJkLWFwaXMuaWRsCiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2NvbXBhdC5pZGwKIC9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvY29uc29s
ZS5pZGwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVy
ZmFjZXMvY29uc3RydWN0LXN0eWxlc2hlZXRzLmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9jb29raWUtc3RvcmUuaWRsCiAvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2NvcnMtcmZj
MTkxOC5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2lu
dGVyZmFjZXMvY3JlZGVudGlhbC1tYW5hZ2VtZW50LmlkbApAQCAtNTQsMTIgKzU2LDEyIEBAIExp
c3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbnRlcmZhY2VzL2Nzcy1wYWludC1hcGkuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGku
aWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZh
Y2VzL2Nzcy1wc2V1ZG8uaWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9pbnRlcmZhY2VzL2Nzcy1yZWdpb25zLmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9jc3Mtc2hhZG93LXBhcnRzLmlkbAog
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9j
c3MtdHJhbnNpdGlvbnMuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9pbnRlcmZhY2VzL2Nzcy10eXBlZC1vbS5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvY3Nzb20tdmlldy5pZGwKIC9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvY3Nzb20u
aWRsCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZh
Y2VzL2RldmljZS1tZW1vcnkuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2RvbS5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvZWxlbWVudC10aW1pbmcuaWRsCiAvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2VuY29kaW5n
LmlkbApAQCAtNzYsMTIgKzc4LDE0IEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2dlb2xvY2F0aW9uLXNlbnNv
ci5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVy
ZmFjZXMvZ2VvbWV0cnkuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9pbnRlcmZhY2VzL2d5cm9zY29wZS5pZGwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvaGl0LXRlc3QuaWRsCiAvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2hyLXRpbWUuaWRs
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2Vz
L2h0bWwtbWVkaWEtY2FwdHVyZS5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvaHRtbC5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvaW1hZ2UtY2FwdHVyZS5pZGwKIC9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvaW5wdXQt
ZXZlbnRzLmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aW50ZXJmYWNlcy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIuaWRsCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2pzLXNlbGYtcHJvZmlsaW5nLmlk
bAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNl
cy9rZXlib2FyZC1sb2NrLmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaW50ZXJmYWNlcy9rZXlib2FyZC1tYXAuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2xhcmdlc3QtY29udGVudGZ1bC1w
YWludC5pZGwKQEAgLTk3LDE3ICsxMDEsMjMgQEAgTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvbWVkaWFzZXNzaW9u
LmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJm
YWNlcy9tZWRpYXN0cmVhbS1yZWNvcmRpbmcuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL21zdC1jb250ZW50LWhpbnQuaWRsCisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL25hdGl2
ZS1maWxlLXN5c3RlbS5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ludGVyZmFjZXMvbmF2aWdhdGlvbi10aW1pbmcuaWRsCiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL25ldGluZm8uaWRsCiAvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL25vdGlm
aWNhdGlvbnMuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbnRlcmZhY2VzL29yaWVudGF0aW9uLWV2ZW50LmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9vcmllbnRhdGlvbi1zZW5zb3IuaWRs
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2Vz
L29yaWdpbi1wb2xpY3kuaWRsCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9pbnRlcmZhY2VzL3BhZ2UtbGlmZWN5Y2xlLmlkbAogL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9wYWdlLXZpc2liaWxpdHkuaWRs
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2Vz
L3BhaW50LXRpbWluZy5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ludGVyZmFjZXMvcGF5bWVudC1oYW5kbGVyLmlkbAogL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9wYXltZW50LW1ldGhvZC1iYXNp
Yy1jYXJkLmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aW50ZXJmYWNlcy9wYXltZW50LXJlcXVlc3QuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3BlcmZvcm1hbmNlLXRpbWVsaW5lLmlkbAor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9w
ZXJpb2RpYy1iYWNrZ3JvdW5kLXN5bmMuaWRsCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3Blcm1pc3Npb25zLXJlcXVlc3QuaWRsCisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3Blcm1p
c3Npb25zLXJldm9rZS5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ludGVyZmFjZXMvcGVybWlzc2lvbnMuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3BpY3R1cmUtaW4tcGljdHVyZS5pZGwK
IC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMv
cG9pbnRlcmV2ZW50cy5pZGwKQEAgLTEzMCwxOSArMTQwLDI0IEBAIExpc3Qgb2YgZmlsZXM6CiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3Nl
cnZpY2Utd29ya2Vycy5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ludGVyZmFjZXMvc2hhcGUtZGV0ZWN0aW9uLWFwaS5pZGwKIC9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvc3BlZWNoLWFwaS5pZGwK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMv
c3RvcmFnZS1hY2Nlc3MtYXBpLnRlbnRhdGl2ZS5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvc3RvcmFnZS5pZGwKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvdGV4dC1kZXRlY3Rp
b24tYXBpLnRlbnRhdGl2ZS5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ludGVyZmFjZXMvdG91Y2gtZXZlbnRzLmlkbAogL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy90cnVzdGVkLXR5cGVzLnRlbnRh
dGl2ZS5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2lu
dGVyZmFjZXMvdWlldmVudHMuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3VybC5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvdXNlci10aW1pbmcuaWRsCiAvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3ZpYnJhdGlvbi5p
ZGwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFj
ZXMvdmlkZW8tcnZmYy5pZGwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ludGVyZmFjZXMvdmlzdWFsLXZpZXdwb3J0LmlkbAogL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93YWktYXJpYS5pZGwKIC9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2FrZS1s
b2NrLmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50
ZXJmYWNlcy93YXNtLWpzLWFwaS5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2FzbS13ZWItYXBpLmlkbAogL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWItYW5pbWF0aW9ucy5p
ZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFj
ZXMvd2ViLWJsdWV0b290aC5pZGwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ludGVyZmFjZXMvd2ViLWxvY2tzLmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWItbmZjLmlkbAogL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWItc2hhcmUu
aWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZh
Y2VzL3dlYmF1ZGlvLmlkbApAQCAtMTUxLDkgKzE2Niw5IEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYmds
MS5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVy
ZmFjZXMvd2ViZ2wyLmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaW50ZXJmYWNlcy93ZWJtaWRpLmlkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWJydGMtZHNjcC5pZGwKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2VicnRjLWlkZW50
aXR5LmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50
ZXJmYWNlcy93ZWJydGMtc3RhdHMuaWRsCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYnJ0Yy1zdmMuaWRsCiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYnJ0Yy5pZGwKIC9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2VidXNi
LmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJm
YWNlcy93ZWJ2dHQuaWRsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2FpLWFyaWEuaWRsIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dhaS1hcmlhLmlkbAppbmRl
eCBjNGZiZjExNDA5Yy4uY2Y4MTY4YTY5MzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93YWktYXJpYS5pZGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dh
aS1hcmlhLmlkbApAQCAtMSw3ICsxLDcgQEAKIC8vIEdFTkVSQVRFRCBDT05URU5UIC0gRE8gTk9U
IEVESVQKIC8vIENvbnRlbnQgd2FzIGF1dG9tYXRpY2FsbHkgZXh0cmFjdGVkIGJ5IFJlZmZ5IGlu
dG8gcmVmZnktcmVwb3J0cwogLy8gKGh0dHBzOi8vZ2l0aHViLmNvbS90aWRvdXN0L3JlZmZ5LXJl
cG9ydHMpCi0vLyBTb3VyY2U6IEFjY2Vzc2libGUgUmljaCBJbnRlcm5ldCBBcHBsaWNhdGlvbnMg
KFdBSS1BUklBKSAxLjIgKGh0dHBzOi8vcmF3Z2l0LmNvbS93M2MvYXJpYS9tYXN0ZXIvKQorLy8g
U291cmNlOiBBY2Nlc3NpYmxlIFJpY2ggSW50ZXJuZXQgQXBwbGljYXRpb25zIChXQUktQVJJQSkg
MS4yIChodHRwczovL3czYy5naXRodWIuaW8vYXJpYS8pCiAKIGludGVyZmFjZSBtaXhpbiBBY2Nl
c3NpYmlsaXR5Um9sZSB7CiAgIGF0dHJpYnV0ZSBET01TdHJpbmc/IHJvbGU7CkBAIC05LDcgKzks
NyBAQCBpbnRlcmZhY2UgbWl4aW4gQWNjZXNzaWJpbGl0eVJvbGUgewogRWxlbWVudCBpbmNsdWRl
cyBBY2Nlc3NpYmlsaXR5Um9sZTsKIAogaW50ZXJmYWNlIG1peGluIEFyaWFBdHRyaWJ1dGVzIHsK
LSAgYXR0cmlidXRlIEVsZW1lbnQ/IGFyaWFBY3RpdmVEZXNjZW5kYW50RWxlbWVudDsKKwogICBh
dHRyaWJ1dGUgRE9NU3RyaW5nPyBhcmlhQXRvbWljOwogICBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBh
cmlhQXV0b0NvbXBsZXRlOwogICBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBhcmlhQnVzeTsKQEAgLTE4
LDI3ICsxOCwyOCBAQCBpbnRlcmZhY2UgbWl4aW4gQXJpYUF0dHJpYnV0ZXMgewogICBhdHRyaWJ1
dGUgRE9NU3RyaW5nPyBhcmlhQ29sSW5kZXg7CiAgIGF0dHJpYnV0ZSBET01TdHJpbmc/IGFyaWFD
b2xJbmRleFRleHQ7CiAgIGF0dHJpYnV0ZSBET01TdHJpbmc/IGFyaWFDb2xTcGFuOwotICBhdHRy
aWJ1dGUgRnJvemVuQXJyYXk8RWxlbWVudD4/IGFyaWFDb250cm9sc0VsZW1lbnRzOworCiAgIGF0
dHJpYnV0ZSBET01TdHJpbmc/IGFyaWFDdXJyZW50OwotICBhdHRyaWJ1dGUgRnJvemVuQXJyYXk8
RWxlbWVudD4/IGFyaWFEZXNjcmliZWRCeUVsZW1lbnRzOwotICBhdHRyaWJ1dGUgRWxlbWVudD8g
YXJpYURldGFpbHNFbGVtZW50OworCisgIGF0dHJpYnV0ZSBET01TdHJpbmc/IGFyaWFEZXNjcmlw
dGlvbjsKKwogICBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBhcmlhRGlzYWJsZWQ7Ci0gIGF0dHJpYnV0
ZSBFbGVtZW50PyBhcmlhRXJyb3JNZXNzYWdlRWxlbWVudDsKKwogICBhdHRyaWJ1dGUgRE9NU3Ry
aW5nPyBhcmlhRXhwYW5kZWQ7Ci0gIGF0dHJpYnV0ZSBGcm96ZW5BcnJheTxFbGVtZW50Pj8gYXJp
YUZsb3dUb0VsZW1lbnRzOworCiAgIGF0dHJpYnV0ZSBET01TdHJpbmc/IGFyaWFIYXNQb3B1cDsK
ICAgYXR0cmlidXRlIERPTVN0cmluZz8gYXJpYUhpZGRlbjsKICAgYXR0cmlidXRlIERPTVN0cmlu
Zz8gYXJpYUludmFsaWQ7CiAgIGF0dHJpYnV0ZSBET01TdHJpbmc/IGFyaWFLZXlTaG9ydGN1dHM7
CiAgIGF0dHJpYnV0ZSBET01TdHJpbmc/IGFyaWFMYWJlbDsKLSAgYXR0cmlidXRlIEZyb3plbkFy
cmF5PEVsZW1lbnQ+PyBhcmlhTGFiZWxsZWRCeUVsZW1lbnRzOworCiAgIGF0dHJpYnV0ZSBET01T
dHJpbmc/IGFyaWFMZXZlbDsKICAgYXR0cmlidXRlIERPTVN0cmluZz8gYXJpYUxpdmU7CiAgIGF0
dHJpYnV0ZSBET01TdHJpbmc/IGFyaWFNb2RhbDsKICAgYXR0cmlidXRlIERPTVN0cmluZz8gYXJp
YU11bHRpTGluZTsKICAgYXR0cmlidXRlIERPTVN0cmluZz8gYXJpYU11bHRpU2VsZWN0YWJsZTsK
ICAgYXR0cmlidXRlIERPTVN0cmluZz8gYXJpYU9yaWVudGF0aW9uOwotICBhdHRyaWJ1dGUgRnJv
emVuQXJyYXk8RWxlbWVudD4/IGFyaWFPd25zRWxlbWVudHM7CisKICAgYXR0cmlidXRlIERPTVN0
cmluZz8gYXJpYVBsYWNlaG9sZGVyOwogICBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBhcmlhUG9zSW5T
ZXQ7CiAgIGF0dHJpYnV0ZSBET01TdHJpbmc/IGFyaWFQcmVzc2VkOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dha2Ut
bG9jay5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2lu
dGVyZmFjZXMvd2FrZS1sb2NrLmlkbAppbmRleCA4NWQxODYzZmE2Zi4uMWViMzBhMDYwMjQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50
ZXJmYWNlcy93YWtlLWxvY2suaWRsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93YWtlLWxvY2suaWRsCkBAIC0xLDMyICsxLDIzIEBA
CiAvLyBHRU5FUkFURUQgQ09OVEVOVCAtIERPIE5PVCBFRElUCiAvLyBDb250ZW50IHdhcyBhdXRv
bWF0aWNhbGx5IGV4dHJhY3RlZCBieSBSZWZmeSBpbnRvIHJlZmZ5LXJlcG9ydHMKIC8vIChodHRw
czovL2dpdGh1Yi5jb20vdGlkb3VzdC9yZWZmeS1yZXBvcnRzKQotLy8gU291cmNlOiBXYWtlIExv
Y2sgQVBJIChodHRwczovL3czYy5naXRodWIuaW8vd2FrZS1sb2NrLykKLQotZGljdGlvbmFyeSBX
YWtlTG9ja1Blcm1pc3Npb25EZXNjcmlwdG9yIDogUGVybWlzc2lvbkRlc2NyaXB0b3IgewotICBy
ZXF1aXJlZCBXYWtlTG9ja1R5cGUgdHlwZTsKLX07Ci0KLWVudW0gV2FrZUxvY2tUeXBlIHsgInNj
cmVlbiIsICJzeXN0ZW0iIH07CisvLyBTb3VyY2U6IFNjcmVlbiBXYWtlIExvY2sgQVBJIChodHRw
czovL3czYy5naXRodWIuaW8vc2NyZWVuLXdha2UtbG9jay8pCiAKIFtTZWN1cmVDb250ZXh0XQog
cGFydGlhbCBpbnRlcmZhY2UgTmF2aWdhdG9yIHsKICAgW1NhbWVPYmplY3RdIHJlYWRvbmx5IGF0
dHJpYnV0ZSBXYWtlTG9jayB3YWtlTG9jazsKIH07CiAKLVtTZWN1cmVDb250ZXh0XQotcGFydGlh
bCBpbnRlcmZhY2UgV29ya2VyTmF2aWdhdG9yIHsKLSAgW1NhbWVPYmplY3RdIHJlYWRvbmx5IGF0
dHJpYnV0ZSBXYWtlTG9jayB3YWtlTG9jazsKLX07Ci0KLVtTZWN1cmVDb250ZXh0LCBFeHBvc2Vk
PShEZWRpY2F0ZWRXb3JrZXIsIFdpbmRvdyldCitbU2VjdXJlQ29udGV4dCwgRXhwb3NlZD0oV2lu
ZG93KV0KIGludGVyZmFjZSBXYWtlTG9jayB7CiAgIFByb21pc2U8V2FrZUxvY2tTZW50aW5lbD4g
cmVxdWVzdChXYWtlTG9ja1R5cGUgdHlwZSk7CiB9OwogCi1bU2VjdXJlQ29udGV4dCwgRXhwb3Nl
ZD0oRGVkaWNhdGVkV29ya2VyLCBXaW5kb3cpXQorW1NlY3VyZUNvbnRleHQsIEV4cG9zZWQ9KFdp
bmRvdyldCiBpbnRlcmZhY2UgV2FrZUxvY2tTZW50aW5lbCA6IEV2ZW50VGFyZ2V0IHsKICAgcmVh
ZG9ubHkgYXR0cmlidXRlIFdha2VMb2NrVHlwZSB0eXBlOwogICBQcm9taXNlPHZvaWQ+IHJlbGVh
c2UoKTsKICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbnJlbGVhc2U7CiB9OworCitlbnVtIFdh
a2VMb2NrVHlwZSB7ICJzY3JlZW4iIH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2ViLWFuaW1hdGlvbnMuaWRsIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dl
Yi1hbmltYXRpb25zLmlkbAppbmRleCAwZDVkNDBiYTc0Zi4uYWU2NGJiODY3ZWIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNl
cy93ZWItYW5pbWF0aW9ucy5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYi1hbmltYXRpb25zLmlkbApAQCAtNiw2ICs2LDcg
QEAKIFtFeHBvc2VkPVdpbmRvd10KIGludGVyZmFjZSBBbmltYXRpb25UaW1lbGluZSB7CiAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZT8gY3VycmVudFRpbWU7CisgICAgcmVhZG9ubHkgYXR0
cmlidXRlIFRpbWVsaW5lUGhhc2UgcGhhc2U7CiB9OwogCiBkaWN0aW9uYXJ5IERvY3VtZW50VGlt
ZWxpbmVPcHRpb25zIHsKQEAgLTQ5LDYgKzUwLDggQEAgZW51bSBBbmltYXRpb25QbGF5U3RhdGUg
eyAiaWRsZSIsICJydW5uaW5nIiwgInBhdXNlZCIsICJmaW5pc2hlZCIgfTsKIAogZW51bSBBbmlt
YXRpb25SZXBsYWNlU3RhdGUgeyAiYWN0aXZlIiwgInJlbW92ZWQiLCAicGVyc2lzdGVkIiB9Owog
CitlbnVtIFRpbWVsaW5lUGhhc2UgeyAiaW5hY3RpdmUiLCAiYmVmb3JlIiwgImFjdGl2ZSIsICJh
ZnRlciIgfTsKKwogW0V4cG9zZWQ9V2luZG93XQogaW50ZXJmYWNlIEFuaW1hdGlvbkVmZmVjdCB7
CiAgICAgRWZmZWN0VGltaW5nICAgICAgICAgZ2V0VGltaW5nKCk7CkBAIC05Niw5ICs5OSw5IEBA
IGludGVyZmFjZSBLZXlmcmFtZUVmZmVjdCA6IEFuaW1hdGlvbkVmZmVjdCB7CiAgICAgICAgICAg
ICAgICAgb2JqZWN0PyBrZXlmcmFtZXMsCiAgICAgICAgICAgICAgICAgb3B0aW9uYWwgKHVucmVz
dHJpY3RlZCBkb3VibGUgb3IgS2V5ZnJhbWVFZmZlY3RPcHRpb25zKSBvcHRpb25zID0ge30pOwog
ICAgIGNvbnN0cnVjdG9yKEtleWZyYW1lRWZmZWN0IHNvdXJjZSk7Ci0gICAgYXR0cmlidXRlIEVs
ZW1lbnQ/IHRhcmdldDsKLSAgICBhdHRyaWJ1dGUgQ1NTT01TdHJpbmc/IHBzZXVkb0VsZW1lbnQ7
Ci0gICAgYXR0cmlidXRlIENvbXBvc2l0ZU9wZXJhdGlvbiAgICAgICAgICAgICBjb21wb3NpdGU7
CisgICAgYXR0cmlidXRlIEVsZW1lbnQ/ICAgICAgICAgICB0YXJnZXQ7CisgICAgYXR0cmlidXRl
IENTU09NU3RyaW5nPyAgICAgICBwc2V1ZG9FbGVtZW50OworICAgIGF0dHJpYnV0ZSBDb21wb3Np
dGVPcGVyYXRpb24gY29tcG9zaXRlOwogICAgIHNlcXVlbmNlPG9iamVjdD4gZ2V0S2V5ZnJhbWVz
KCk7CiAgICAgdm9pZCAgICAgICAgICAgICBzZXRLZXlmcmFtZXMob2JqZWN0PyBrZXlmcmFtZXMp
OwogfTsKQEAgLTEzOSw2ICsxNDIsNyBAQCBpbnRlcmZhY2UgbWl4aW4gQW5pbWF0YWJsZSB7CiAK
IGRpY3Rpb25hcnkgS2V5ZnJhbWVBbmltYXRpb25PcHRpb25zIDogS2V5ZnJhbWVFZmZlY3RPcHRp
b25zIHsKICAgICBET01TdHJpbmcgaWQgPSAiIjsKKyAgICBBbmltYXRpb25UaW1lbGluZT8gdGlt
ZWxpbmU7CiB9OwogCiBkaWN0aW9uYXJ5IEdldEFuaW1hdGlvbnNPcHRpb25zIHsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNl
cy93ZWItYmx1ZXRvb3RoLmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaW50ZXJmYWNlcy93ZWItYmx1ZXRvb3RoLmlkbAppbmRleCBlYzdhOGU3MWNhMC4u
NzMzNzFlMjY5OTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWItYmx1ZXRvb3RoLmlkbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2ViLWJsdWV0b290
aC5pZGwKQEAgLTcsNiArNyw3IEBAIGRpY3Rpb25hcnkgQmx1ZXRvb3RoRGF0YUZpbHRlckluaXQg
ewogICBCdWZmZXJTb3VyY2UgZGF0YVByZWZpeDsKICAgQnVmZmVyU291cmNlIG1hc2s7CiB9Owor
CiBkaWN0aW9uYXJ5IEJsdWV0b290aExFU2NhbkZpbHRlckluaXQgewogICBzZXF1ZW5jZTxCbHVl
dG9vdGhTZXJ2aWNlVVVJRD4gc2VydmljZXM7CiAgIERPTVN0cmluZyBuYW1lOwpAQCAtMjksOCAr
MzAsMTAgQEAgaW50ZXJmYWNlIEJsdWV0b290aCA6IEV2ZW50VGFyZ2V0IHsKICAgYXR0cmlidXRl
IEV2ZW50SGFuZGxlciBvbmF2YWlsYWJpbGl0eWNoYW5nZWQ7CiAgIFtTYW1lT2JqZWN0XQogICBy
ZWFkb25seSBhdHRyaWJ1dGUgQmx1ZXRvb3RoRGV2aWNlPyByZWZlcnJpbmdEZXZpY2U7CisgIFBy
b21pc2U8c2VxdWVuY2U8Qmx1ZXRvb3RoRGV2aWNlPj4gZ2V0RGV2aWNlcygpOwogICBQcm9taXNl
PEJsdWV0b290aERldmljZT4gcmVxdWVzdERldmljZShvcHRpb25hbCBSZXF1ZXN0RGV2aWNlT3B0
aW9ucyBvcHRpb25zID0ge30pOwogfTsKKwogQmx1ZXRvb3RoIGluY2x1ZGVzIEJsdWV0b290aERl
dmljZUV2ZW50SGFuZGxlcnM7CiBCbHVldG9vdGggaW5jbHVkZXMgQ2hhcmFjdGVyaXN0aWNFdmVu
dEhhbmRsZXJzOwogQmx1ZXRvb3RoIGluY2x1ZGVzIFNlcnZpY2VFdmVudEhhbmRsZXJzOwpAQCAt
NDksNyArNTIsNyBAQCBkaWN0aW9uYXJ5IEFsbG93ZWRCbHVldG9vdGhEZXZpY2UgewogICAvLyBB
biBhbGxvd2VkU2VydmljZXMgb2YgImFsbCIgbWVhbnMgYWxsIHNlcnZpY2VzIGFyZSBhbGxvd2Vk
LgogICByZXF1aXJlZCAoRE9NU3RyaW5nIG9yIHNlcXVlbmNlPFVVSUQ+KSBhbGxvd2VkU2Vydmlj
ZXM7CiB9OwotZGljdGlvbmFyeSBCbHVldG9vdGhQZXJtaXNzaW9uRGF0YSB7CitkaWN0aW9uYXJ5
IEJsdWV0b290aFBlcm1pc3Npb25TdG9yYWdlIHsKICAgcmVxdWlyZWQgc2VxdWVuY2U8QWxsb3dl
ZEJsdWV0b290aERldmljZT4gYWxsb3dlZERldmljZXM7CiB9OwogCkBAIC03NywxNCArODAsMTgg
QEAgaW50ZXJmYWNlIEJsdWV0b290aERldmljZSA6IEV2ZW50VGFyZ2V0IHsKICAgcmVhZG9ubHkg
YXR0cmlidXRlIERPTVN0cmluZz8gbmFtZTsKICAgcmVhZG9ubHkgYXR0cmlidXRlIEJsdWV0b290
aFJlbW90ZUdBVFRTZXJ2ZXI/IGdhdHQ7CiAKLSAgUHJvbWlzZTx2b2lkPiB3YXRjaEFkdmVydGlz
ZW1lbnRzKCk7Ci0gIHZvaWQgdW53YXRjaEFkdmVydGlzZW1lbnRzKCk7CisgIFByb21pc2U8dm9p
ZD4gd2F0Y2hBZHZlcnRpc2VtZW50cygKKyAgICAgIG9wdGlvbmFsIFdhdGNoQWR2ZXJ0aXNlbWVu
dHNPcHRpb25zIG9wdGlvbnMgPSB7fSk7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIHdh
dGNoaW5nQWR2ZXJ0aXNlbWVudHM7CiB9OwogQmx1ZXRvb3RoRGV2aWNlIGluY2x1ZGVzIEJsdWV0
b290aERldmljZUV2ZW50SGFuZGxlcnM7CiBCbHVldG9vdGhEZXZpY2UgaW5jbHVkZXMgQ2hhcmFj
dGVyaXN0aWNFdmVudEhhbmRsZXJzOwogQmx1ZXRvb3RoRGV2aWNlIGluY2x1ZGVzIFNlcnZpY2VF
dmVudEhhbmRsZXJzOwogCitkaWN0aW9uYXJ5IFdhdGNoQWR2ZXJ0aXNlbWVudHNPcHRpb25zIHsK
KyAgQWJvcnRTaWduYWwgc2lnbmFsOworfTsKKwogW0V4cG9zZWQ9V2luZG93LCBTZWN1cmVDb250
ZXh0XQogaW50ZXJmYWNlIEJsdWV0b290aE1hbnVmYWN0dXJlckRhdGFNYXAgewogICByZWFkb25s
eSBtYXBsaWtlPHVuc2lnbmVkIHNob3J0LCBEYXRhVmlldz47CkBAIC0yMTMsNiArMjIwLDcgQEAg
aW50ZXJmYWNlIG1peGluIFNlcnZpY2VFdmVudEhhbmRsZXJzIHsKIH07CiAKIHR5cGVkZWYgRE9N
U3RyaW5nIFVVSUQ7CisKIFtFeHBvc2VkPVdpbmRvd10KIGludGVyZmFjZSBCbHVldG9vdGhVVUlE
IHsKICAgc3RhdGljIFVVSUQgZ2V0U2VydmljZSgoRE9NU3RyaW5nIG9yIHVuc2lnbmVkIGxvbmcp
IG5hbWUpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9pbnRlcmZhY2VzL3dlYi1sb2Nrcy5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2ViLWxvY2tzLmlkbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uODM5MDVkNjRmZWMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFj
ZXMvd2ViLWxvY2tzLmlkbApAQCAtMCwwICsxLDUwIEBACisvLyBHRU5FUkFURUQgQ09OVEVOVCAt
IERPIE5PVCBFRElUCisvLyBDb250ZW50IHdhcyBhdXRvbWF0aWNhbGx5IGV4dHJhY3RlZCBieSBS
ZWZmeSBpbnRvIHJlZmZ5LXJlcG9ydHMKKy8vIChodHRwczovL2dpdGh1Yi5jb20vdGlkb3VzdC9y
ZWZmeS1yZXBvcnRzKQorLy8gU291cmNlOiBXZWIgTG9ja3MgQVBJIChodHRwczovL3dpY2cuZ2l0
aHViLmlvL3dlYi1sb2Nrcy8pCisKK1tTZWN1cmVDb250ZXh0XQoraW50ZXJmYWNlIG1peGluIE5h
dmlnYXRvckxvY2tzIHsKKyAgcmVhZG9ubHkgYXR0cmlidXRlIExvY2tNYW5hZ2VyIGxvY2tzOwor
fTsKK05hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JMb2NrczsKK1dvcmtlck5hdmlnYXRvciBp
bmNsdWRlcyBOYXZpZ2F0b3JMb2NrczsKKworW1NlY3VyZUNvbnRleHQsIEV4cG9zZWQ9KFdpbmRv
dyxXb3JrZXIpXQoraW50ZXJmYWNlIExvY2tNYW5hZ2VyIHsKKyAgUHJvbWlzZTxhbnk+IHJlcXVl
c3QoRE9NU3RyaW5nIG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgIExvY2tHcmFudGVkQ2Fs
bGJhY2sgY2FsbGJhY2spOworICBQcm9taXNlPGFueT4gcmVxdWVzdChET01TdHJpbmcgbmFtZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgTG9ja09wdGlvbnMgb3B0aW9ucywKKyAgICAgICAgICAg
ICAgICAgICAgICAgTG9ja0dyYW50ZWRDYWxsYmFjayBjYWxsYmFjayk7CisKKyAgUHJvbWlzZTxM
b2NrTWFuYWdlclNuYXBzaG90PiBxdWVyeSgpOworfTsKKworY2FsbGJhY2sgTG9ja0dyYW50ZWRD
YWxsYmFjayA9IFByb21pc2U8YW55PiAoTG9jaz8gbG9jayk7CisKK2VudW0gTG9ja01vZGUgeyAi
c2hhcmVkIiwgImV4Y2x1c2l2ZSIgfTsKKworZGljdGlvbmFyeSBMb2NrT3B0aW9ucyB7CisgIExv
Y2tNb2RlIG1vZGUgPSAiZXhjbHVzaXZlIjsKKyAgYm9vbGVhbiBpZkF2YWlsYWJsZSA9IGZhbHNl
OworICBib29sZWFuIHN0ZWFsID0gZmFsc2U7CisgIEFib3J0U2lnbmFsIHNpZ25hbDsKK307CisK
K2RpY3Rpb25hcnkgTG9ja01hbmFnZXJTbmFwc2hvdCB7CisgIHNlcXVlbmNlPExvY2tJbmZvPiBo
ZWxkOworICBzZXF1ZW5jZTxMb2NrSW5mbz4gcGVuZGluZzsKK307CisKK2RpY3Rpb25hcnkgTG9j
a0luZm8geworICBET01TdHJpbmcgbmFtZTsKKyAgTG9ja01vZGUgbW9kZTsKKyAgRE9NU3RyaW5n
IGNsaWVudElkOworfTsKKworW1NlY3VyZUNvbnRleHQsIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIp
XQoraW50ZXJmYWNlIExvY2sgeworICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7
CisgIHJlYWRvbmx5IGF0dHJpYnV0ZSBMb2NrTW9kZSBtb2RlOworfTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWIt
bmZjLmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50
ZXJmYWNlcy93ZWItbmZjLmlkbAppbmRleCBkZTIzZmFjMGMxMS4uZjJlMzFiNzM1MjggMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJm
YWNlcy93ZWItbmZjLmlkbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ludGVyZmFjZXMvd2ViLW5mYy5pZGwKQEAgLTMsNyArMyw3IEBACiAvLyAoaHR0
cHM6Ly9naXRodWIuY29tL3RpZG91c3QvcmVmZnktcmVwb3J0cykKIC8vIFNvdXJjZTogV2ViIE5G
QyAoaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYi1uZmMvKQogCi1bRXhwb3NlZD1XaW5kb3ddCitb
U2VjdXJlQ29udGV4dCwgRXhwb3NlZD1XaW5kb3ddCiBpbnRlcmZhY2UgTkRFRk1lc3NhZ2Ugewog
ICBjb25zdHJ1Y3RvcihOREVGTWVzc2FnZUluaXQgbWVzc2FnZUluaXQpOwogICByZWFkb25seSBh
dHRyaWJ1dGUgRnJvemVuQXJyYXk8TkRFRlJlY29yZD4gcmVjb3JkczsKQEAgLTE1LDcgKzE1LDcg
QEAgZGljdGlvbmFyeSBOREVGTWVzc2FnZUluaXQgewogCiB0eXBlZGVmIChET01TdHJpbmcgb3Ig
QnVmZmVyU291cmNlIG9yIE5ERUZNZXNzYWdlSW5pdCkgTkRFRlJlY29yZERhdGFTb3VyY2U7CiAK
LVtFeHBvc2VkPVdpbmRvd10KK1tTZWN1cmVDb250ZXh0LCBFeHBvc2VkPVdpbmRvd10KIGludGVy
ZmFjZSBOREVGUmVjb3JkIHsKICAgY29uc3RydWN0b3IoTkRFRlJlY29yZEluaXQgcmVjb3JkSW5p
dCk7CiAKQEAgLTI3LDcgKzI3LDcgQEAgaW50ZXJmYWNlIE5ERUZSZWNvcmQgewogICByZWFkb25s
eSBhdHRyaWJ1dGUgVVNWU3RyaW5nPyBlbmNvZGluZzsKICAgcmVhZG9ubHkgYXR0cmlidXRlIFVT
VlN0cmluZz8gbGFuZzsKIAotICBzZXF1ZW5jZTxOREVGUmVjb3JkPiB0b1JlY29yZHMoKTsKKyAg
c2VxdWVuY2U8TkRFRlJlY29yZD4/IHRvUmVjb3JkcygpOwogfTsKIAogZGljdGlvbmFyeSBOREVG
UmVjb3JkSW5pdCB7CkBAIC00Nyw3ICs0Nyw3IEBAIHR5cGVkZWYgKERPTVN0cmluZyBvciBCdWZm
ZXJTb3VyY2Ugb3IgTkRFRk1lc3NhZ2VJbml0KSBOREVGTWVzc2FnZVNvdXJjZTsKIGludGVyZmFj
ZSBOREVGV3JpdGVyIHsKICAgY29uc3RydWN0b3IoKTsKIAotICBQcm9taXNlPHZvaWQ+IHB1c2go
TkRFRk1lc3NhZ2VTb3VyY2UgbWVzc2FnZSwgb3B0aW9uYWwgTkRFRlB1c2hPcHRpb25zIG9wdGlv
bnM9e30pOworICBQcm9taXNlPHZvaWQ+IHdyaXRlKE5ERUZNZXNzYWdlU291cmNlIG1lc3NhZ2Us
IG9wdGlvbmFsIE5ERUZXcml0ZU9wdGlvbnMgb3B0aW9ucz17fSk7CiB9OwogCiBbU2VjdXJlQ29u
dGV4dCwgRXhwb3NlZD1XaW5kb3ddCkBAIC03MywyMiArNzMsMTUgQEAgZGljdGlvbmFyeSBOREVG
UmVhZGluZ0V2ZW50SW5pdCA6IEV2ZW50SW5pdCB7CiAgIHJlcXVpcmVkIE5ERUZNZXNzYWdlSW5p
dCBtZXNzYWdlOwogfTsKIAotZGljdGlvbmFyeSBOREVGUHVzaE9wdGlvbnMgewotICBOREVGUHVz
aFRhcmdldCB0YXJnZXQgPSAiYW55IjsKK2RpY3Rpb25hcnkgTkRFRldyaXRlT3B0aW9ucyB7CiAg
IGJvb2xlYW4gaWdub3JlUmVhZCA9IHRydWU7CiAgIGJvb2xlYW4gb3ZlcndyaXRlID0gdHJ1ZTsK
ICAgQWJvcnRTaWduYWw/IHNpZ25hbDsKIH07CiAKLWVudW0gTkRFRlB1c2hUYXJnZXQgewotICAi
dGFnIiwKLSAgInBlZXIiLAotICAiYW55IgotfTsKLQogZGljdGlvbmFyeSBOREVGU2Nhbk9wdGlv
bnMgewogICBVU1ZTdHJpbmcgaWQ7CiAgIFVTVlN0cmluZyByZWNvcmRUeXBlOwotICBVU1ZTdHJp
bmcgbWVkaWFUeXBlID0gIiI7CisgIFVTVlN0cmluZyBtZWRpYVR5cGU7CiAgIEFib3J0U2lnbmFs
PyBzaWduYWw7CiB9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYi1zaGFyZS5pZGwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2ViLXNoYXJlLmlkbAppbmRl
eCBhMjkxMDdmMDU5OC4uYzI5YTI5ZDBiNGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWItc2hhcmUuaWRsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93
ZWItc2hhcmUuaWRsCkBAIC04LDYgKzgsNyBAQCBwYXJ0aWFsIGludGVyZmFjZSBOYXZpZ2F0b3Ig
ewogfTsKIAogZGljdGlvbmFyeSBTaGFyZURhdGEgeworICBGcm96ZW5BcnJheTxGaWxlPiBmaWxl
czsKICAgVVNWU3RyaW5nIHRpdGxlOwogICBVU1ZTdHJpbmcgdGV4dDsKICAgVVNWU3RyaW5nIHVy
bDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaW50ZXJmYWNlcy93ZWJhdWRpby5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2ViYXVkaW8uaWRsCmluZGV4IDY3NDY3M2Q5MGIx
Li5mMGE1YzdhOTAyMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYmF1ZGlvLmlkbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2ViYXVkaW8uaWRsCkBA
IC0yNiwyOCArMjYsMzYgQEAgaW50ZXJmYWNlIEJhc2VBdWRpb0NvbnRleHQgOiBFdmVudFRhcmdl
dCB7CiAKICAgQW5hbHlzZXJOb2RlIGNyZWF0ZUFuYWx5c2VyICgpOwogICBCaXF1YWRGaWx0ZXJO
b2RlIGNyZWF0ZUJpcXVhZEZpbHRlciAoKTsKLSAgQXVkaW9CdWZmZXIgY3JlYXRlQnVmZmVyICh1
bnNpZ25lZCBsb25nIG51bWJlck9mQ2hhbm5lbHMsIHVuc2lnbmVkIGxvbmcgbGVuZ3RoLCBmbG9h
dCBzYW1wbGVSYXRlKTsKKyAgQXVkaW9CdWZmZXIgY3JlYXRlQnVmZmVyICh1bnNpZ25lZCBsb25n
IG51bWJlck9mQ2hhbm5lbHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg
bG9uZyBsZW5ndGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQgc2FtcGxlUmF0
ZSk7CiAgIEF1ZGlvQnVmZmVyU291cmNlTm9kZSBjcmVhdGVCdWZmZXJTb3VyY2UgKCk7CiAgIENo
YW5uZWxNZXJnZXJOb2RlIGNyZWF0ZUNoYW5uZWxNZXJnZXIgKG9wdGlvbmFsIHVuc2lnbmVkIGxv
bmcgbnVtYmVyT2ZJbnB1dHMgPSA2KTsKLSAgQ2hhbm5lbFNwbGl0dGVyTm9kZSBjcmVhdGVDaGFu
bmVsU3BsaXR0ZXIgKG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZPdXRwdXRzID0gNik7
CisgIENoYW5uZWxTcGxpdHRlck5vZGUgY3JlYXRlQ2hhbm5lbFNwbGl0dGVyICgKKyAgICBvcHRp
b25hbCB1bnNpZ25lZCBsb25nIG51bWJlck9mT3V0cHV0cyA9IDYpOwogICBDb25zdGFudFNvdXJj
ZU5vZGUgY3JlYXRlQ29uc3RhbnRTb3VyY2UgKCk7CiAgIENvbnZvbHZlck5vZGUgY3JlYXRlQ29u
dm9sdmVyICgpOwogICBEZWxheU5vZGUgY3JlYXRlRGVsYXkgKG9wdGlvbmFsIGRvdWJsZSBtYXhE
ZWxheVRpbWUgPSAxLjApOwogICBEeW5hbWljc0NvbXByZXNzb3JOb2RlIGNyZWF0ZUR5bmFtaWNz
Q29tcHJlc3NvciAoKTsKICAgR2Fpbk5vZGUgY3JlYXRlR2FpbiAoKTsKLSAgSUlSRmlsdGVyTm9k
ZSBjcmVhdGVJSVJGaWx0ZXIgKHNlcXVlbmNlPGRvdWJsZT4gZmVlZGZvcndhcmQsIHNlcXVlbmNl
PGRvdWJsZT4gZmVlZGJhY2spOworICBJSVJGaWx0ZXJOb2RlIGNyZWF0ZUlJUkZpbHRlciAoc2Vx
dWVuY2U8ZG91YmxlPiBmZWVkZm9yd2FyZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHNlcXVlbmNlPGRvdWJsZT4gZmVlZGJhY2spOwogICBPc2NpbGxhdG9yTm9kZSBjcmVhdGVP
c2NpbGxhdG9yICgpOwogICBQYW5uZXJOb2RlIGNyZWF0ZVBhbm5lciAoKTsKLSAgUGVyaW9kaWNX
YXZlIGNyZWF0ZVBlcmlvZGljV2F2ZSAoc2VxdWVuY2U8ZmxvYXQ+IHJlYWwsIHNlcXVlbmNlPGZs
b2F0PiBpbWFnLCBvcHRpb25hbCBQZXJpb2RpY1dhdmVDb25zdHJhaW50cyBjb25zdHJhaW50cyA9
IHt9KTsKLSAgU2NyaXB0UHJvY2Vzc29yTm9kZSBjcmVhdGVTY3JpcHRQcm9jZXNzb3Iob3B0aW9u
YWwgdW5zaWduZWQgbG9uZyBidWZmZXJTaXplID0gMCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgdW5zaWduZWQgbG9uZyBudW1iZXJPZklucHV0
Q2hhbm5lbHMgPSAyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBvcHRpb25hbCB1bnNpZ25lZCBsb25nIG51bWJlck9mT3V0cHV0Q2hhbm5lbHMgPSAyKTsKKyAg
UGVyaW9kaWNXYXZlIGNyZWF0ZVBlcmlvZGljV2F2ZSAoc2VxdWVuY2U8ZmxvYXQ+IHJlYWwsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcXVlbmNlPGZsb2F0PiBpbWFnLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCBQZXJpb2RpY1dhdmVD
b25zdHJhaW50cyBjb25zdHJhaW50cyA9IHt9KTsKKyAgU2NyaXB0UHJvY2Vzc29yTm9kZSBjcmVh
dGVTY3JpcHRQcm9jZXNzb3IoCisgICAgb3B0aW9uYWwgdW5zaWduZWQgbG9uZyBidWZmZXJTaXpl
ID0gMCwKKyAgICBvcHRpb25hbCB1bnNpZ25lZCBsb25nIG51bWJlck9mSW5wdXRDaGFubmVscyA9
IDIsCisgICAgb3B0aW9uYWwgdW5zaWduZWQgbG9uZyBudW1iZXJPZk91dHB1dENoYW5uZWxzID0g
Mik7CiAgIFN0ZXJlb1Bhbm5lck5vZGUgY3JlYXRlU3RlcmVvUGFubmVyICgpOwogICBXYXZlU2hh
cGVyTm9kZSBjcmVhdGVXYXZlU2hhcGVyICgpOwogCi0gIFByb21pc2U8QXVkaW9CdWZmZXI+IGRl
Y29kZUF1ZGlvRGF0YSAoQXJyYXlCdWZmZXIgYXVkaW9EYXRhLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIERlY29kZVN1Y2Nlc3NDYWxsYmFjaz8gc3Vj
Y2Vzc0NhbGxiYWNrLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9w
dGlvbmFsIERlY29kZUVycm9yQ2FsbGJhY2s/IGVycm9yQ2FsbGJhY2spOworICBQcm9taXNlPEF1
ZGlvQnVmZmVyPiBkZWNvZGVBdWRpb0RhdGEgKAorICAgIEFycmF5QnVmZmVyIGF1ZGlvRGF0YSwK
KyAgICBvcHRpb25hbCBEZWNvZGVTdWNjZXNzQ2FsbGJhY2s/IHN1Y2Nlc3NDYWxsYmFjaywKKyAg
ICBvcHRpb25hbCBEZWNvZGVFcnJvckNhbGxiYWNrPyBlcnJvckNhbGxiYWNrKTsKIH07CiAKIGVu
dW0gQXVkaW9Db250ZXh0TGF0ZW5jeUNhdGVnb3J5IHsKQEAgLTY3LDcgKzc1LDggQEAgaW50ZXJm
YWNlIEF1ZGlvQ29udGV4dCA6IEJhc2VBdWRpb0NvbnRleHQgewogICBQcm9taXNlPHZvaWQ+IGNs
b3NlICgpOwogICBNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUgY3JlYXRlTWVkaWFFbGVtZW50
U291cmNlIChIVE1MTWVkaWFFbGVtZW50IG1lZGlhRWxlbWVudCk7CiAgIE1lZGlhU3RyZWFtQXVk
aW9Tb3VyY2VOb2RlIGNyZWF0ZU1lZGlhU3RyZWFtU291cmNlIChNZWRpYVN0cmVhbSBtZWRpYVN0
cmVhbSk7Ci0gIE1lZGlhU3RyZWFtVHJhY2tBdWRpb1NvdXJjZU5vZGUgY3JlYXRlTWVkaWFTdHJl
YW1UcmFja1NvdXJjZSAoTWVkaWFTdHJlYW1UcmFjayBtZWRpYVN0cmVhbVRyYWNrKTsKKyAgTWVk
aWFTdHJlYW1UcmFja0F1ZGlvU291cmNlTm9kZSBjcmVhdGVNZWRpYVN0cmVhbVRyYWNrU291cmNl
ICgKKyAgICBNZWRpYVN0cmVhbVRyYWNrIG1lZGlhU3RyZWFtVHJhY2spOwogICBNZWRpYVN0cmVh
bUF1ZGlvRGVzdGluYXRpb25Ob2RlIGNyZWF0ZU1lZGlhU3RyZWFtRGVzdGluYXRpb24gKCk7CiB9
OwogCkBAIC0xMTYsOCArMTI1LDEyIEBAIGludGVyZmFjZSBBdWRpb0J1ZmZlciB7CiAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBkb3VibGUgZHVyYXRpb247CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNp
Z25lZCBsb25nIG51bWJlck9mQ2hhbm5lbHM7CiAgIEZsb2F0MzJBcnJheSBnZXRDaGFubmVsRGF0
YSAodW5zaWduZWQgbG9uZyBjaGFubmVsKTsKLSAgdm9pZCBjb3B5RnJvbUNoYW5uZWwgKEZsb2F0
MzJBcnJheSBkZXN0aW5hdGlvbiwgdW5zaWduZWQgbG9uZyBjaGFubmVsTnVtYmVyLCBvcHRpb25h
bCB1bnNpZ25lZCBsb25nIGJ1ZmZlck9mZnNldCA9IDApOwotICB2b2lkIGNvcHlUb0NoYW5uZWwg
KEZsb2F0MzJBcnJheSBzb3VyY2UsIHVuc2lnbmVkIGxvbmcgY2hhbm5lbE51bWJlciwgb3B0aW9u
YWwgdW5zaWduZWQgbG9uZyBidWZmZXJPZmZzZXQgPSAwKTsKKyAgdm9pZCBjb3B5RnJvbUNoYW5u
ZWwgKEZsb2F0MzJBcnJheSBkZXN0aW5hdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgIHVu
c2lnbmVkIGxvbmcgY2hhbm5lbE51bWJlciwKKyAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlv
bmFsIHVuc2lnbmVkIGxvbmcgYnVmZmVyT2Zmc2V0ID0gMCk7CisgIHZvaWQgY29weVRvQ2hhbm5l
bCAoRmxvYXQzMkFycmF5IHNvdXJjZSwKKyAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBs
b25nIGNoYW5uZWxOdW1iZXIsCisgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgdW5zaWdu
ZWQgbG9uZyBidWZmZXJPZmZzZXQgPSAwKTsKIH07CiAKIGRpY3Rpb25hcnkgQXVkaW9CdWZmZXJP
cHRpb25zIHsKQEAgLTEzNiw3ICsxNDksOSBAQCBpbnRlcmZhY2UgQXVkaW9Ob2RlIDogRXZlbnRU
YXJnZXQgewogICB2b2lkIGRpc2Nvbm5lY3QgKHVuc2lnbmVkIGxvbmcgb3V0cHV0KTsKICAgdm9p
ZCBkaXNjb25uZWN0IChBdWRpb05vZGUgZGVzdGluYXRpb25Ob2RlKTsKICAgdm9pZCBkaXNjb25u
ZWN0IChBdWRpb05vZGUgZGVzdGluYXRpb25Ob2RlLCB1bnNpZ25lZCBsb25nIG91dHB1dCk7Ci0g
IHZvaWQgZGlzY29ubmVjdCAoQXVkaW9Ob2RlIGRlc3RpbmF0aW9uTm9kZSwgdW5zaWduZWQgbG9u
ZyBvdXRwdXQsIHVuc2lnbmVkIGxvbmcgaW5wdXQpOworICB2b2lkIGRpc2Nvbm5lY3QgKEF1ZGlv
Tm9kZSBkZXN0aW5hdGlvbk5vZGUsCisgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBv
dXRwdXQsCisgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBpbnB1dCk7CiAgIHZvaWQg
ZGlzY29ubmVjdCAoQXVkaW9QYXJhbSBkZXN0aW5hdGlvblBhcmFtKTsKICAgdm9pZCBkaXNjb25u
ZWN0IChBdWRpb1BhcmFtIGRlc3RpbmF0aW9uUGFyYW0sIHVuc2lnbmVkIGxvbmcgb3V0cHV0KTsK
ICAgcmVhZG9ubHkgYXR0cmlidXRlIEJhc2VBdWRpb0NvbnRleHQgY29udGV4dDsKQEAgLTE4MCw3
ICsxOTUsOSBAQCBpbnRlcmZhY2UgQXVkaW9QYXJhbSB7CiAgIEF1ZGlvUGFyYW0gbGluZWFyUmFt
cFRvVmFsdWVBdFRpbWUgKGZsb2F0IHZhbHVlLCBkb3VibGUgZW5kVGltZSk7CiAgIEF1ZGlvUGFy
YW0gZXhwb25lbnRpYWxSYW1wVG9WYWx1ZUF0VGltZSAoZmxvYXQgdmFsdWUsIGRvdWJsZSBlbmRU
aW1lKTsKICAgQXVkaW9QYXJhbSBzZXRUYXJnZXRBdFRpbWUgKGZsb2F0IHRhcmdldCwgZG91Ymxl
IHN0YXJ0VGltZSwgZmxvYXQgdGltZUNvbnN0YW50KTsKLSAgQXVkaW9QYXJhbSBzZXRWYWx1ZUN1
cnZlQXRUaW1lIChzZXF1ZW5jZTxmbG9hdD4gdmFsdWVzLCBkb3VibGUgc3RhcnRUaW1lLCBkb3Vi
bGUgZHVyYXRpb24pOworICBBdWRpb1BhcmFtIHNldFZhbHVlQ3VydmVBdFRpbWUgKHNlcXVlbmNl
PGZsb2F0PiB2YWx1ZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG91Ymxl
IHN0YXJ0VGltZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb3VibGUgZHVy
YXRpb24pOwogICBBdWRpb1BhcmFtIGNhbmNlbFNjaGVkdWxlZFZhbHVlcyAoZG91YmxlIGNhbmNl
bFRpbWUpOwogICBBdWRpb1BhcmFtIGNhbmNlbEFuZEhvbGRBdFRpbWUgKGRvdWJsZSBjYW5jZWxU
aW1lKTsKIH07CkBAIC0yMTUsNyArMjMyLDggQEAgZGljdGlvbmFyeSBBbmFseXNlck9wdGlvbnMg
OiBBdWRpb05vZGVPcHRpb25zIHsKIAogW0V4cG9zZWQ9V2luZG93XQogaW50ZXJmYWNlIEF1ZGlv
QnVmZmVyU291cmNlTm9kZSA6IEF1ZGlvU2NoZWR1bGVkU291cmNlTm9kZSB7Ci0gIGNvbnN0cnVj
dG9yIChCYXNlQXVkaW9Db250ZXh0IGNvbnRleHQsIG9wdGlvbmFsIEF1ZGlvQnVmZmVyU291cmNl
T3B0aW9ucyBvcHRpb25zID0ge30pOworICBjb25zdHJ1Y3RvciAoQmFzZUF1ZGlvQ29udGV4dCBj
b250ZXh0LAorICAgICAgICAgICAgICAgb3B0aW9uYWwgQXVkaW9CdWZmZXJTb3VyY2VPcHRpb25z
IG9wdGlvbnMgPSB7fSk7CiAgIGF0dHJpYnV0ZSBBdWRpb0J1ZmZlcj8gYnVmZmVyOwogICByZWFk
b25seSBhdHRyaWJ1dGUgQXVkaW9QYXJhbSBwbGF5YmFja1JhdGU7CiAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBBdWRpb1BhcmFtIGRldHVuZTsKQEAgLTI4OSw3ICszMDcsOSBAQCBpbnRlcmZhY2UgQmlx
dWFkRmlsdGVyTm9kZSA6IEF1ZGlvTm9kZSB7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBBdWRpb1Bh
cmFtIGRldHVuZTsKICAgcmVhZG9ubHkgYXR0cmlidXRlIEF1ZGlvUGFyYW0gUTsKICAgcmVhZG9u
bHkgYXR0cmlidXRlIEF1ZGlvUGFyYW0gZ2FpbjsKLSAgdm9pZCBnZXRGcmVxdWVuY3lSZXNwb25z
ZSAoRmxvYXQzMkFycmF5IGZyZXF1ZW5jeUh6LCBGbG9hdDMyQXJyYXkgbWFnUmVzcG9uc2UsIEZs
b2F0MzJBcnJheSBwaGFzZVJlc3BvbnNlKTsKKyAgdm9pZCBnZXRGcmVxdWVuY3lSZXNwb25zZSAo
RmxvYXQzMkFycmF5IGZyZXF1ZW5jeUh6LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBG
bG9hdDMyQXJyYXkgbWFnUmVzcG9uc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZs
b2F0MzJBcnJheSBwaGFzZVJlc3BvbnNlKTsKIH07CiAKIGRpY3Rpb25hcnkgQmlxdWFkRmlsdGVy
T3B0aW9ucyA6IEF1ZGlvTm9kZU9wdGlvbnMgewpAQCAtMzUzLDcgKzM3Myw4IEBAIGRpY3Rpb25h
cnkgRGVsYXlPcHRpb25zIDogQXVkaW9Ob2RlT3B0aW9ucyB7CiAKIFtFeHBvc2VkPVdpbmRvd10K
IGludGVyZmFjZSBEeW5hbWljc0NvbXByZXNzb3JOb2RlIDogQXVkaW9Ob2RlIHsKLSAgY29uc3Ry
dWN0b3IgKEJhc2VBdWRpb0NvbnRleHQgY29udGV4dCwgb3B0aW9uYWwgRHluYW1pY3NDb21wcmVz
c29yT3B0aW9ucyBvcHRpb25zID0ge30pOworICBjb25zdHJ1Y3RvciAoQmFzZUF1ZGlvQ29udGV4
dCBjb250ZXh0LAorICAgICAgICAgICAgICAgb3B0aW9uYWwgRHluYW1pY3NDb21wcmVzc29yT3B0
aW9ucyBvcHRpb25zID0ge30pOwogICByZWFkb25seSBhdHRyaWJ1dGUgQXVkaW9QYXJhbSB0aHJl
c2hvbGQ7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBBdWRpb1BhcmFtIGtuZWU7CiAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBBdWRpb1BhcmFtIHJhdGlvOwpAQCAtMzgzLDcgKzQwNCw5IEBAIGRpY3Rpb25h
cnkgR2Fpbk9wdGlvbnMgOiBBdWRpb05vZGVPcHRpb25zIHsKIFtFeHBvc2VkPVdpbmRvd10KIGlu
dGVyZmFjZSBJSVJGaWx0ZXJOb2RlIDogQXVkaW9Ob2RlIHsKICAgY29uc3RydWN0b3IgKEJhc2VB
dWRpb0NvbnRleHQgY29udGV4dCwgSUlSRmlsdGVyT3B0aW9ucyBvcHRpb25zKTsKLSAgdm9pZCBn
ZXRGcmVxdWVuY3lSZXNwb25zZSAoRmxvYXQzMkFycmF5IGZyZXF1ZW5jeUh6LCBGbG9hdDMyQXJy
YXkgbWFnUmVzcG9uc2UsIEZsb2F0MzJBcnJheSBwaGFzZVJlc3BvbnNlKTsKKyAgdm9pZCBnZXRG
cmVxdWVuY3lSZXNwb25zZSAoRmxvYXQzMkFycmF5IGZyZXF1ZW5jeUh6LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBGbG9hdDMyQXJyYXkgbWFnUmVzcG9uc2UsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIEZsb2F0MzJBcnJheSBwaGFzZVJlc3BvbnNlKTsKIH07CiAKIGRpY3Rp
b25hcnkgSUlSRmlsdGVyT3B0aW9ucyA6IEF1ZGlvTm9kZU9wdGlvbnMgewpAQCAtNTU1LDcgKzU3
OCw4IEBAIGNhbGxiYWNrIEF1ZGlvV29ya2xldFByb2Nlc3NvckNvbnN0cnVjdG9yID0gQXVkaW9X
b3JrbGV0UHJvY2Vzc29yIChvYmplY3Qgb3B0aW9uCiAKIFtHbG9iYWw9KFdvcmtsZXQsIEF1ZGlv
V29ya2xldCksIEV4cG9zZWQ9QXVkaW9Xb3JrbGV0XQogaW50ZXJmYWNlIEF1ZGlvV29ya2xldEds
b2JhbFNjb3BlIDogV29ya2xldEdsb2JhbFNjb3BlIHsKLSAgdm9pZCByZWdpc3RlclByb2Nlc3Nv
ciAoRE9NU3RyaW5nIG5hbWUsIEF1ZGlvV29ya2xldFByb2Nlc3NvckNvbnN0cnVjdG9yIHByb2Nl
c3NvckN0b3IpOworICB2b2lkIHJlZ2lzdGVyUHJvY2Vzc29yIChET01TdHJpbmcgbmFtZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgQXVkaW9Xb3JrbGV0UHJvY2Vzc29yQ29uc3RydWN0b3Ig
cHJvY2Vzc29yQ3Rvcik7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcg
Y3VycmVudEZyYW1lOwogICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIGN1cnJlbnRUaW1lOwog
ICByZWFkb25seSBhdHRyaWJ1dGUgZmxvYXQgc2FtcGxlUmF0ZTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWJhdXRo
bi5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVy
ZmFjZXMvd2ViYXV0aG4uaWRsCmluZGV4IDI5MDI1ZjM1ZWVjLi5hMWQ0NmEzN2NmNCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZh
Y2VzL3dlYmF1dGhuLmlkbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ludGVyZmFjZXMvd2ViYXV0aG4uaWRsCkBAIC0zMSw2ICszMSw5IEBAIGludGVy
ZmFjZSBBdXRoZW50aWNhdG9yUmVzcG9uc2UgewogaW50ZXJmYWNlIEF1dGhlbnRpY2F0b3JBdHRl
c3RhdGlvblJlc3BvbnNlIDogQXV0aGVudGljYXRvclJlc3BvbnNlIHsKICAgICBbU2FtZU9iamVj
dF0gcmVhZG9ubHkgYXR0cmlidXRlIEFycmF5QnVmZmVyICAgICAgYXR0ZXN0YXRpb25PYmplY3Q7
CiAgICAgc2VxdWVuY2U8RE9NU3RyaW5nPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdl
dFRyYW5zcG9ydHMoKTsKKyAgICBBcnJheUJ1ZmZlciAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZ2V0QXV0aGVudGljYXRvckRhdGEoKTsKKyAgICBBcnJheUJ1ZmZlcj8gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0UHVibGljS2V5KCk7CisgICAgQ09T
RUFsZ29yaXRobUlkZW50aWZpZXIgICAgICAgICAgICAgICAgICAgICAgICAgIGdldFB1YmxpY0tl
eUFsZ29yaXRobSgpOwogfTsKIAogW1NlY3VyZUNvbnRleHQsIEV4cG9zZWQ9V2luZG93XQpAQCAt
NTUsNyArNTgsNyBAQCBkaWN0aW9uYXJ5IFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlv
bnMgewogICAgIHVuc2lnbmVkIGxvbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRp
bWVvdXQ7CiAgICAgc2VxdWVuY2U8UHVibGljS2V5Q3JlZGVudGlhbERlc2NyaXB0b3I+ICAgICAg
ZXhjbHVkZUNyZWRlbnRpYWxzID0gW107CiAgICAgQXV0aGVudGljYXRvclNlbGVjdGlvbkNyaXRl
cmlhICAgICAgICAgICAgICAgYXV0aGVudGljYXRvclNlbGVjdGlvbjsKLSAgICBBdHRlc3RhdGlv
bkNvbnZleWFuY2VQcmVmZXJlbmNlICAgICAgICAgICAgICBhdHRlc3RhdGlvbiA9ICJub25lIjsK
KyAgICBET01TdHJpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRlc3Rh
dGlvbiA9ICJub25lIjsKICAgICBBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRJbnB1dHMg
ICAgICAgICBleHRlbnNpb25zOwogfTsKIApAQCAtOTMsNyArOTYsOCBAQCBlbnVtIFJlc2lkZW50
S2V5UmVxdWlyZW1lbnQgewogZW51bSBBdHRlc3RhdGlvbkNvbnZleWFuY2VQcmVmZXJlbmNlIHsK
ICAgICAibm9uZSIsCiAgICAgImluZGlyZWN0IiwKLSAgICAiZGlyZWN0IgorICAgICJkaXJlY3Qi
LAorICAgICJlbnRlcnByaXNlIgogfTsKIAogZGljdGlvbmFyeSBQdWJsaWNLZXlDcmVkZW50aWFs
UmVxdWVzdE9wdGlvbnMgewpAQCAtMTQyLDggKzE0Niw3IEBAIGVudW0gQXV0aGVudGljYXRvclRy
YW5zcG9ydCB7CiAgICAgInVzYiIsCiAgICAgIm5mYyIsCiAgICAgImJsZSIsCi0gICAgImludGVy
bmFsIiwKLSAgICAibGlnaHRuaW5nIgorICAgICJpbnRlcm5hbCIKIH07CiAKIHR5cGVkZWYgbG9u
ZyBDT1NFQWxnb3JpdGhtSWRlbnRpZmllcjsKQEAgLTE2Niw2NSArMTY5LDYgQEAgcGFydGlhbCBk
aWN0aW9uYXJ5IEF1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudElucHV0cyB7CiAgIFVTVlN0
cmluZyBhcHBpZEV4Y2x1ZGU7CiB9OwogCi1wYXJ0aWFsIGRpY3Rpb25hcnkgQXV0aGVudGljYXRp
b25FeHRlbnNpb25zQ2xpZW50SW5wdXRzIHsKLSAgVVNWU3RyaW5nIHR4QXV0aFNpbXBsZTsKLX07
Ci0KLXBhcnRpYWwgZGljdGlvbmFyeSBBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRPdXRw
dXRzIHsKLSAgVVNWU3RyaW5nIHR4QXV0aFNpbXBsZTsKLX07Ci0KLWRpY3Rpb25hcnkgdHhBdXRo
R2VuZXJpY0FyZyB7Ci0gICAgcmVxdWlyZWQgVVNWU3RyaW5nIGNvbnRlbnRUeXBlOyAgICAvLyBN
SU1FLVR5cGUgb2YgdGhlIGNvbnRlbnQsIGUuZy4sICJpbWFnZS9wbmciCi0gICAgcmVxdWlyZWQg
QXJyYXlCdWZmZXIgY29udGVudDsKLX07Ci0KLXBhcnRpYWwgZGljdGlvbmFyeSBBdXRoZW50aWNh
dGlvbkV4dGVuc2lvbnNDbGllbnRJbnB1dHMgewotICB0eEF1dGhHZW5lcmljQXJnIHR4QXV0aEdl
bmVyaWM7Ci19OwotCi1wYXJ0aWFsIGRpY3Rpb25hcnkgQXV0aGVudGljYXRpb25FeHRlbnNpb25z
Q2xpZW50T3V0cHV0cyB7Ci0gIEFycmF5QnVmZmVyIHR4QXV0aEdlbmVyaWM7Ci19OwotCi10eXBl
ZGVmIHNlcXVlbmNlPEFBR1VJRD4gQXV0aGVudGljYXRvclNlbGVjdGlvbkxpc3Q7Ci0KLXBhcnRp
YWwgZGljdGlvbmFyeSBBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRJbnB1dHMgewotICBB
dXRoZW50aWNhdG9yU2VsZWN0aW9uTGlzdCBhdXRoblNlbDsKLX07Ci0KLXR5cGVkZWYgQnVmZmVy
U291cmNlICAgICAgQUFHVUlEOwotCi1wYXJ0aWFsIGRpY3Rpb25hcnkgQXV0aGVudGljYXRpb25F
eHRlbnNpb25zQ2xpZW50T3V0cHV0cyB7Ci0gIGJvb2xlYW4gYXV0aG5TZWw7Ci19OwotCi1wYXJ0
aWFsIGRpY3Rpb25hcnkgQXV0aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50SW5wdXRzIHsKLSAg
Ym9vbGVhbiBleHRzOwotfTsKLQotdHlwZWRlZiBzZXF1ZW5jZTxVU1ZTdHJpbmc+IEF1dGhlbnRp
Y2F0aW9uRXh0ZW5zaW9uc1N1cHBvcnRlZDsKLQotcGFydGlhbCBkaWN0aW9uYXJ5IEF1dGhlbnRp
Y2F0aW9uRXh0ZW5zaW9uc0NsaWVudE91dHB1dHMgewotICBBdXRoZW50aWNhdGlvbkV4dGVuc2lv
bnNTdXBwb3J0ZWQgZXh0czsKLX07Ci0KLXBhcnRpYWwgZGljdGlvbmFyeSBBdXRoZW50aWNhdGlv
bkV4dGVuc2lvbnNDbGllbnRJbnB1dHMgewotICBib29sZWFuIHV2aTsKLX07Ci0KLXBhcnRpYWwg
ZGljdGlvbmFyeSBBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRPdXRwdXRzIHsKLSAgQXJy
YXlCdWZmZXIgdXZpOwotfTsKLQotcGFydGlhbCBkaWN0aW9uYXJ5IEF1dGhlbnRpY2F0aW9uRXh0
ZW5zaW9uc0NsaWVudElucHV0cyB7Ci0gIGJvb2xlYW4gbG9jOwotfTsKLQotcGFydGlhbCBkaWN0
aW9uYXJ5IEF1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudE91dHB1dHMgewotICBHZW9sb2Nh
dGlvbkNvb3JkaW5hdGVzIGxvYzsKLX07Ci0KIHBhcnRpYWwgZGljdGlvbmFyeSBBdXRoZW50aWNh
dGlvbkV4dGVuc2lvbnNDbGllbnRJbnB1dHMgewogICBib29sZWFuIHV2bTsKIH07CkBAIC0yMzYs
MTEgKzE4MCw2IEBAIHBhcnRpYWwgZGljdGlvbmFyeSBBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnND
bGllbnRPdXRwdXRzIHsKICAgVXZtRW50cmllcyB1dm07CiB9OwogCi1kaWN0aW9uYXJ5IGF1dGhl
bnRpY2F0b3JCaW9tZXRyaWNQZXJmQm91bmRzewotICAgIGZsb2F0IEZBUjsKLSAgICBmbG9hdCBG
UlI7Ci0gICAgfTsKLQogcGFydGlhbCBkaWN0aW9uYXJ5IEF1dGhlbnRpY2F0aW9uRXh0ZW5zaW9u
c0NsaWVudElucHV0cyB7CiAgICAgYm9vbGVhbiBjcmVkUHJvcHM7CiB9OwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dl
Ym1pZGkuaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bnRlcmZhY2VzL3dlYm1pZGkuaWRsCmluZGV4IDA5NmU3YTFkYjExLi4wZTM5MGY4YmRlNyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRl
cmZhY2VzL3dlYm1pZGkuaWRsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWJtaWRpLmlkbApAQCAtMSw3ICsxLDcgQEAKIC8vIEdF
TkVSQVRFRCBDT05URU5UIC0gRE8gTk9UIEVESVQKIC8vIENvbnRlbnQgd2FzIGF1dG9tYXRpY2Fs
bHkgZXh0cmFjdGVkIGJ5IFJlZmZ5IGludG8gcmVmZnktcmVwb3J0cwogLy8gKGh0dHBzOi8vZ2l0
aHViLmNvbS90aWRvdXN0L3JlZmZ5LXJlcG9ydHMpCi0vLyBTb3VyY2U6IFdlYiBNSURJIEFQSSAo
aHR0cDovL3dlYmF1ZGlvLmdpdGh1Yi5pby93ZWItbWlkaS1hcGkvKQorLy8gU291cmNlOiBXZWIg
TUlESSBBUEkgKGh0dHBzOi8vd2ViYXVkaW8uZ2l0aHViLmlvL3dlYi1taWRpLWFwaS8pCiAKIHBh
cnRpYWwgaW50ZXJmYWNlIE5hdmlnYXRvciB7CiAgIFtTZWN1cmVDb250ZXh0XQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2Vz
L3dlYnJ0Yy1kc2NwLmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaW50ZXJmYWNlcy93ZWJydGMtZHNjcC5pZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDczMjIzMGI0YTMzLi4wMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2VicnRjLWRzY3AuaWRsCisrKyAv
ZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi0vLyBHRU5FUkFURUQgQ09OVEVOVCAtIERPIE5PVCBF
RElUCi0vLyBDb250ZW50IHdhcyBhdXRvbWF0aWNhbGx5IGV4dHJhY3RlZCBieSBSZWZmeSBpbnRv
IHJlZmZ5LXJlcG9ydHMKLS8vIChodHRwczovL2dpdGh1Yi5jb20vdGlkb3VzdC9yZWZmeS1yZXBv
cnRzKQotLy8gU291cmNlOiBXZWJSVEMgRFNDUCBDb250cm9sIEFQSSAoaHR0cHM6Ly93M2MuZ2l0
aHViLmlvL3dlYnJ0Yy1kc2NwLWV4cC8pCi0KLXBhcnRpYWwgZGljdGlvbmFyeSBSVENSdHBFbmNv
ZGluZ1BhcmFtZXRlcnMgewotICAgIFJUQ1ByaW9yaXR5VHlwZSBuZXR3b3JrUHJpb3JpdHk7ICAv
LyBOb3RlOiBObyBkZWZhdWx0Ci19OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYnJ0Yy1pZGVudGl0eS5pZGwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2Vi
cnRjLWlkZW50aXR5LmlkbAppbmRleCBkMWYyYTY1NDc2MC4uMjhiNmEzYjJiN2YgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNl
cy93ZWJydGMtaWRlbnRpdHkuaWRsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWJydGMtaWRlbnRpdHkuaWRsCkBAIC00OSw2ICs0
OSwxMCBAQCBwYXJ0aWFsIGludGVyZmFjZSBSVENQZWVyQ29ubmVjdGlvbiB7CiAgICAgcmVhZG9u
bHkgICAgICAgIGF0dHJpYnV0ZSBET01TdHJpbmc/ICAgICAgICAgICAgICAgICAgICBpZHBFcnJv
ckluZm87CiB9OwogCitwYXJ0aWFsIGRpY3Rpb25hcnkgUlRDQ29uZmlndXJhdGlvbiB7CisgICAg
RE9NU3RyaW5nIHBlZXJJZGVudGl0eTsKK307CisKIGRpY3Rpb25hcnkgUlRDSWRlbnRpdHlQcm92
aWRlck9wdGlvbnMgewogICAgIERPTVN0cmluZyBwcm90b2NvbCA9ICJkZWZhdWx0IjsKICAgICBE
T01TdHJpbmcgdXNlcm5hbWVIaW50OwpAQCAtNjIsNiArNjYsMjkgQEAgaW50ZXJmYWNlIFJUQ0lk
ZW50aXR5QXNzZXJ0aW9uIHsKICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7CiB9OwogCitw
YXJ0aWFsIGludGVyZmFjZSBSVENFcnJvciB7CisgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nPyBo
dHRwUmVxdWVzdFN0YXR1c0NvZGU7Cit9OworCitwYXJ0aWFsIGRpY3Rpb25hcnkgUlRDRXJyb3JJ
bml0IHsKKyAgbG9uZyBodHRwUmVxdWVzdFN0YXR1c0NvZGU7Cit9OworCisvLyBUaGlzIGlzIGFu
IGV4dGVuc2lvbiBvZiBSVENFcnJvckRldGFpbFR5cGUgZnJvbSBbW1dFQlJUQy1QQ11dCisvLyBV
bmZvcnR1bmF0ZWx5LCBXZWJJREwgZG9lcyBub3Qgc3VwcG9ydCBwYXJ0aWFsIGVudW1zICh5ZXQp
LgorLy8KKy8vIHBhcnRpYWwgZW51bSBSVENFcnJvckRldGFpbFR5cGUgeworZW51bSBSVENFcnJv
ckRldGFpbFR5cGVJZHAgeworICAiaWRwLWJhZC1zY3JpcHQtZmFpbHVyZSIsCisgICJpZHAtZXhl
Y3V0aW9uLWZhaWx1cmUiLAorICAiaWRwLWxvYWQtZmFpbHVyZSIsCisgICJpZHAtbmVlZC1sb2dp
biIsCisgICJpZHAtdGltZW91dCIsCisgICJpZHAtdGxzLWZhaWx1cmUiLAorICAiaWRwLXRva2Vu
LWV4cGlyZWQiLAorICAiaWRwLXRva2VuLWludmFsaWQiLAorfTsKKwogcGFydGlhbCBkaWN0aW9u
YXJ5IE1lZGlhU3RyZWFtQ29uc3RyYWludHMgewogICAgICAgICAgICAgIERPTVN0cmluZyBwZWVy
SWRlbnRpdHk7CiB9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYnJ0Yy1zdGF0cy5pZGwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2VicnRjLXN0YXRzLmlk
bAppbmRleCBjNWQwMGFjNDQ2Mi4uNWE0ODM4ZjkyNjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWJydGMtc3RhdHMu
aWRsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50
ZXJmYWNlcy93ZWJydGMtc3RhdHMuaWRsCkBAIC0yOCwxNyArMjgsMTcgQEAgZW51bSBSVENTdGF0
c1R5cGUgewogfTsKIAogZGljdGlvbmFyeSBSVENSdHBTdHJlYW1TdGF0cyA6IFJUQ1N0YXRzIHsK
LSAgICAgICAgICAgICB1bnNpZ25lZCBsb25nICAgICAgIHNzcmM7Ci0gICAgICAgICAgICAgRE9N
U3RyaW5nICAgICAgICAgICBraW5kOworICAgICAgICAgICAgIHJlcXVpcmVkIHVuc2lnbmVkIGxv
bmcgICAgICAgc3NyYzsKKyAgICAgICAgICAgICByZXF1aXJlZCBET01TdHJpbmcgICAgICAgICAg
IGtpbmQ7CiAgICAgICAgICAgICAgRE9NU3RyaW5nICAgICAgICAgICB0cmFuc3BvcnRJZDsKICAg
ICAgICAgICAgICBET01TdHJpbmcgICAgICAgICAgIGNvZGVjSWQ7CiB9OwogCiBkaWN0aW9uYXJ5
IFJUQ0NvZGVjU3RhdHMgOiBSVENTdGF0cyB7Ci0gICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBw
YXlsb2FkVHlwZTsKKyAgICAgICAgICAgICByZXF1aXJlZCB1bnNpZ25lZCBsb25nIHBheWxvYWRU
eXBlOwogICAgICAgICAgICAgIFJUQ0NvZGVjVHlwZSAgY29kZWNUeXBlOwotICAgICAgICAgICAg
IERPTVN0cmluZyAgICAgdHJhbnNwb3J0SWQ7Ci0gICAgICAgICAgICAgRE9NU3RyaW5nICAgICBt
aW1lVHlwZTsKKyAgICAgICAgICAgICByZXF1aXJlZCBET01TdHJpbmcgICAgIHRyYW5zcG9ydElk
OworICAgICAgICAgICAgIHJlcXVpcmVkIERPTVN0cmluZyAgICAgbWltZVR5cGU7CiAgICAgICAg
ICAgICAgdW5zaWduZWQgbG9uZyBjbG9ja1JhdGU7CiAgICAgICAgICAgICAgdW5zaWduZWQgbG9u
ZyBjaGFubmVsczsKICAgICAgICAgICAgICBET01TdHJpbmcgICAgIHNkcEZtdHBMaW5lOwpAQCAt
NzAsOCArNzAsNyBAQCBkaWN0aW9uYXJ5IFJUQ1JlY2VpdmVkUnRwU3RyZWFtU3RhdHMgOiBSVENS
dHBTdHJlYW1TdGF0cyB7CiB9OwogCiBkaWN0aW9uYXJ5IFJUQ0luYm91bmRSdHBTdHJlYW1TdGF0
cyA6IFJUQ1JlY2VpdmVkUnRwU3RyZWFtU3RhdHMgewotIERPTVN0cmluZyAgICAgICAgICAgIHRy
YWNrSWQ7Ci0gRE9NU3RyaW5nICAgICAgICAgICAgcmVjZWl2ZXJJZDsKKyByZXF1aXJlZCBET01T
dHJpbmcgICByZWNlaXZlcklkOwogIERPTVN0cmluZyAgICAgICAgICAgIHJlbW90ZUlkOwogIHVu
c2lnbmVkIGxvbmcgICAgICAgIGZyYW1lc0RlY29kZWQ7CiAgdW5zaWduZWQgbG9uZyAgICAgICAg
a2V5RnJhbWVzRGVjb2RlZDsKQEAgLTEzMCw3ICsxMjksNyBAQCBkaWN0aW9uYXJ5IFJUQ1NlbnRS
dHBTdHJlYW1TdGF0cyA6IFJUQ1J0cFN0cmVhbVN0YXRzIHsKIH07CiAKIGRpY3Rpb25hcnkgUlRD
T3V0Ym91bmRSdHBTdHJlYW1TdGF0cyA6IFJUQ1NlbnRSdHBTdHJlYW1TdGF0cyB7Ci0gICAgICAg
ICAgICAgRE9NU3RyaW5nICAgICAgICAgICAgdHJhY2tJZDsKKyAgICAgICAgICAgICB1bnNpZ25l
ZCBsb25nICAgICAgICBydHhTc3JjOwogICAgICAgICAgICAgIERPTVN0cmluZyAgICAgICAgICAg
IG1lZGlhU291cmNlSWQ7CiAgICAgICAgICAgICAgRE9NU3RyaW5nICAgICAgICAgICAgc2VuZGVy
SWQ7CiAgICAgICAgICAgICAgRE9NU3RyaW5nICAgICAgICAgICAgcmVtb3RlSWQ7CkBAIC0xODYs
OCArMTg1LDkgQEAgZGljdGlvbmFyeSBSVENSZW1vdGVPdXRib3VuZFJ0cFN0cmVhbVN0YXRzIDog
UlRDU2VudFJ0cFN0cmVhbVN0YXRzIHsKIH07CiAKIGRpY3Rpb25hcnkgUlRDTWVkaWFTb3VyY2VT
dGF0cyA6IFJUQ1N0YXRzIHsKLSAgICAgICAgICAgICBET01TdHJpbmcgICAgICAgdHJhY2tJZGVu
dGlmaWVyOwotICAgICAgICAgICAgIERPTVN0cmluZyAgICAgICBraW5kOworICAgICAgICAgICAg
IHJlcXVpcmVkIERPTVN0cmluZyAgICAgICB0cmFja0lkZW50aWZpZXI7CisgICAgICAgICAgICAg
cmVxdWlyZWQgRE9NU3RyaW5nICAgICAgIGtpbmQ7CisgICAgICAgICAgICAgYm9vbGVhbiAgICAg
ICAgIHJlbGF5ZWRTb3VyY2U7CiB9OwogCiBkaWN0aW9uYXJ5IFJUQ0F1ZGlvU291cmNlU3RhdHMg
OiBSVENNZWRpYVNvdXJjZVN0YXRzIHsKQEAgLTIwMywxMiArMjAzLDEyIEBAIGRpY3Rpb25hcnkg
UlRDVmlkZW9Tb3VyY2VTdGF0cyA6IFJUQ01lZGlhU291cmNlU3RhdHMgewogICAgICAgICAgICAg
IHVuc2lnbmVkIGxvbmcgICBoZWlnaHQ7CiAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyAgIGJp
dERlcHRoOwogICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgICBmcmFtZXM7Ci0gICAgICAgICAg
ICAgdW5zaWduZWQgbG9uZyAgIGZyYW1lc1BlclNlY29uZDsKKyAgICAgICAgICAgICBkb3VibGUg
ICAgICAgICAgZnJhbWVzUGVyU2Vjb25kOwogfTsKIAogZGljdGlvbmFyeSBSVENSdHBDb250cmli
dXRpbmdTb3VyY2VTdGF0cyA6IFJUQ1N0YXRzIHsKLSAgICAgICAgICAgICB1bnNpZ25lZCBsb25n
IGNvbnRyaWJ1dG9yU3NyYzsKLSAgICAgICAgICAgICBET01TdHJpbmcgICAgIGluYm91bmRSdHBT
dHJlYW1JZDsKKyAgICAgICAgICAgICByZXF1aXJlZCB1bnNpZ25lZCBsb25nIGNvbnRyaWJ1dG9y
U3NyYzsKKyAgICAgICAgICAgICByZXF1aXJlZCBET01TdHJpbmcgICAgIGluYm91bmRSdHBTdHJl
YW1JZDsKICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIHBhY2tldHNDb250cmlidXRlZFRvOwog
ICAgICAgICAgICAgIGRvdWJsZSAgICAgICAgYXVkaW9MZXZlbDsKIH07CkBAIC0yMjAsMTggKzIy
MCwxNiBAQCBkaWN0aW9uYXJ5IFJUQ1BlZXJDb25uZWN0aW9uU3RhdHMgOiBSVENTdGF0cyB7CiAg
ICAgICAgICAgICB1bnNpZ25lZCBsb25nIGRhdGFDaGFubmVsc0FjY2VwdGVkOwogfTsKIAotZGlj
dGlvbmFyeSBSVENSdHBUcmFuc2NlaXZlclN0YXRzIHsKLSAgICBET01TdHJpbmcgc2VuZGVySWQ7
Ci0gICAgRE9NU3RyaW5nIHJlY2VpdmVySWQ7CitkaWN0aW9uYXJ5IFJUQ1J0cFRyYW5zY2VpdmVy
U3RhdHMgOiBSVENTdGF0cyB7CisgICAgcmVxdWlyZWQgRE9NU3RyaW5nIHNlbmRlcklkOworICAg
IHJlcXVpcmVkIERPTVN0cmluZyByZWNlaXZlcklkOwogICAgIERPTVN0cmluZyBtaWQ7CiB9Owog
CiBkaWN0aW9uYXJ5IFJUQ01lZGlhSGFuZGxlclN0YXRzIDogUlRDU3RhdHMgewogICAgICAgICAg
ICAgIERPTVN0cmluZyAgICAgICAgICAgdHJhY2tJZGVudGlmaWVyOwotICAgICAgICAgICAgIGJv
b2xlYW4gICAgICAgICAgICAgcmVtb3RlU291cmNlOwogICAgICAgICAgICAgIGJvb2xlYW4gICAg
ICAgICAgICAgZW5kZWQ7Ci0gICAgICAgICAgICAgRE9NU3RyaW5nICAgICAgICAgICBraW5kOwot
ICAgICAgICAgICAgIFJUQ1ByaW9yaXR5VHlwZSAgICAgcHJpb3JpdHk7CisgICAgICAgICAgICAg
cmVxdWlyZWQgRE9NU3RyaW5nICBraW5kOwogfTsKIAogZGljdGlvbmFyeSBSVENWaWRlb0hhbmRs
ZXJTdGF0cyA6IFJUQ01lZGlhSGFuZGxlclN0YXRzIHsKQEAgLTI0MSw5ICsyMzksNiBAQCBkaWN0
aW9uYXJ5IFJUQ1ZpZGVvU2VuZGVyU3RhdHMgOiBSVENWaWRlb0hhbmRsZXJTdGF0cyB7CiAgICAg
ICAgICAgICAgRE9NU3RyaW5nICAgICAgICAgICBtZWRpYVNvdXJjZUlkOwogfTsKIAotZGljdGlv
bmFyeSBSVENTZW5kZXJWaWRlb1RyYWNrQXR0YWNobWVudFN0YXRzIDogUlRDVmlkZW9TZW5kZXJT
dGF0cyB7Ci19OwotCiBkaWN0aW9uYXJ5IFJUQ1ZpZGVvUmVjZWl2ZXJTdGF0cyA6IFJUQ1ZpZGVv
SGFuZGxlclN0YXRzIHsKIH07CiAKQEAgLTI1NCwxOCArMjQ5LDE1IEBAIGRpY3Rpb25hcnkgUlRD
QXVkaW9TZW5kZXJTdGF0cyA6IFJUQ0F1ZGlvSGFuZGxlclN0YXRzIHsKICAgICAgICAgICAgICBE
T01TdHJpbmcgICAgICAgICAgIG1lZGlhU291cmNlSWQ7CiB9OwogCi1kaWN0aW9uYXJ5IFJUQ1Nl
bmRlckF1ZGlvVHJhY2tBdHRhY2htZW50U3RhdHMgOiBSVENBdWRpb1NlbmRlclN0YXRzIHsKLX07
Ci0KIGRpY3Rpb25hcnkgUlRDQXVkaW9SZWNlaXZlclN0YXRzIDogUlRDQXVkaW9IYW5kbGVyU3Rh
dHMgewogfTsKIAogZGljdGlvbmFyeSBSVENEYXRhQ2hhbm5lbFN0YXRzIDogUlRDU3RhdHMgewog
ICAgICAgICAgICAgIERPTVN0cmluZyAgICAgICAgICAgbGFiZWw7CiAgICAgICAgICAgICAgRE9N
U3RyaW5nICAgICAgICAgICBwcm90b2NvbDsKLSAgICAgICAgICAgICBsb25nICAgICAgICAgICAg
ICAgIGRhdGFDaGFubmVsSWRlbnRpZmllcjsKLSAgICAgICAgICAgICBET01TdHJpbmcgICAgICAg
ICAgIHRyYW5zcG9ydElkOwotICAgICAgICAgICAgIFJUQ0RhdGFDaGFubmVsU3RhdGUgc3RhdGU7
CisgICAgICAgICAgICAgdW5zaWduZWQgc2hvcnQgICAgICBkYXRhQ2hhbm5lbElkZW50aWZpZXI7
CisgICAgICAgICAgICAgcmVxdWlyZWQgRE9NU3RyaW5nICB0cmFuc3BvcnRJZDsKKyAgICAgICAg
ICAgICByZXF1aXJlZCBSVENEYXRhQ2hhbm5lbFN0YXRlIHN0YXRlOwogICAgICAgICAgICAgIHVu
c2lnbmVkIGxvbmcgICAgICAgbWVzc2FnZXNTZW50OwogICAgICAgICAgICAgIHVuc2lnbmVkIGxv
bmcgbG9uZyAgYnl0ZXNTZW50OwogICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgICAgICAgbWVz
c2FnZXNSZWNlaXZlZDsKQEAgLTI3OSw3ICsyNzEsOSBAQCBkaWN0aW9uYXJ5IFJUQ1RyYW5zcG9y
dFN0YXRzIDogUlRDU3RhdHMgewogICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbG9uZyAgICBi
eXRlc1JlY2VpdmVkOwogICAgICAgICAgICAgIERPTVN0cmluZyAgICAgICAgICAgICBydGNwVHJh
bnNwb3J0U3RhdHNJZDsKICAgICAgICAgICAgICBSVENJY2VSb2xlICAgICAgICAgICAgaWNlUm9s
ZTsKLSAgICAgICAgICAgICBSVENEdGxzVHJhbnNwb3J0U3RhdGUgZHRsc1N0YXRlOworICAgICAg
ICAgICAgIERPTVN0cmluZyAgICAgICAgICAgICBpY2VMb2NhbFVzZXJuYW1lRnJhZ21lbnQ7Cisg
ICAgICAgICAgICAgcmVxdWlyZWQgUlRDRHRsc1RyYW5zcG9ydFN0YXRlIGR0bHNTdGF0ZTsKKyAg
ICAgICAgICAgICBSVENJY2VUcmFuc3BvcnRTdGF0ZSAgaWNlU3RhdGU7CiAgICAgICAgICAgICAg
RE9NU3RyaW5nICAgICAgICAgICAgIHNlbGVjdGVkQ2FuZGlkYXRlUGFpcklkOwogICAgICAgICAg
ICAgIERPTVN0cmluZyAgICAgICAgICAgICBsb2NhbENlcnRpZmljYXRlSWQ7CiAgICAgICAgICAg
ICAgRE9NU3RyaW5nICAgICAgICAgICAgIHJlbW90ZUNlcnRpZmljYXRlSWQ7CkBAIC0yOTEsMjUg
KzI4NSwyOSBAQCBkaWN0aW9uYXJ5IFJUQ1RyYW5zcG9ydFN0YXRzIDogUlRDU3RhdHMgewogfTsK
IAogZGljdGlvbmFyeSBSVENTY3RwVHJhbnNwb3J0U3RhdHMgOiBSVENTdGF0cyB7Ci0gICAgZG91
YmxlIHNtb290aGVkUm91bmRUcmlwVGltZTsKKyAgICAgICAgICAgIGRvdWJsZSBzbW9vdGhlZFJv
dW5kVHJpcFRpbWU7CisgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGNvbmdlc3Rpb25XaW5kb3c7
CisgICAgICAgICAgICB1bnNpZ25lZCBsb25nIHJlY2VpdmVyV2luZG93OworICAgICAgICAgICAg
dW5zaWduZWQgbG9uZyBtdHU7CisgICAgICAgICAgICB1bnNpZ25lZCBsb25nIHVuYWNrRGF0YTsK
IH07CiAKIGRpY3Rpb25hcnkgUlRDSWNlQ2FuZGlkYXRlU3RhdHMgOiBSVENTdGF0cyB7Ci0gICAg
ICAgICAgICAgRE9NU3RyaW5nICAgICAgICAgICAgICAgIHRyYW5zcG9ydElkOworICAgICAgICAg
ICAgIHJlcXVpcmVkIERPTVN0cmluZyAgICAgICB0cmFuc3BvcnRJZDsKICAgICAgICAgICAgICBE
T01TdHJpbmc/ICAgICAgICAgICAgICAgYWRkcmVzczsKICAgICAgICAgICAgICBsb25nICAgICAg
ICAgICAgICAgICAgICAgcG9ydDsKICAgICAgICAgICAgICBET01TdHJpbmcgICAgICAgICAgICAg
ICAgcHJvdG9jb2w7Ci0gICAgICAgICAgICAgUlRDSWNlQ2FuZGlkYXRlVHlwZSAgICAgIGNhbmRp
ZGF0ZVR5cGU7CisgICAgICAgICAgICAgcmVxdWlyZWQgUlRDSWNlQ2FuZGlkYXRlVHlwZSBjYW5k
aWRhdGVUeXBlOwogICAgICAgICAgICAgIGxvbmcgICAgICAgICAgICAgICAgICAgICBwcmlvcml0
eTsKICAgICAgICAgICAgICBET01TdHJpbmcgICAgICAgICAgICAgICAgdXJsOwogICAgICAgICAg
ICAgIERPTVN0cmluZyAgICAgICAgICAgICAgICByZWxheVByb3RvY29sOwogfTsKIAogZGljdGlv
bmFyeSBSVENJY2VDYW5kaWRhdGVQYWlyU3RhdHMgOiBSVENTdGF0cyB7Ci0gICAgICAgICAgICAg
RE9NU3RyaW5nICAgICAgICAgICAgICAgICAgICAgdHJhbnNwb3J0SWQ7Ci0gICAgICAgICAgICAg
RE9NU3RyaW5nICAgICAgICAgICAgICAgICAgICAgbG9jYWxDYW5kaWRhdGVJZDsKLSAgICAgICAg
ICAgICBET01TdHJpbmcgICAgICAgICAgICAgICAgICAgICByZW1vdGVDYW5kaWRhdGVJZDsKLSAg
ICAgICAgICAgICBSVENTdGF0c0ljZUNhbmRpZGF0ZVBhaXJTdGF0ZSBzdGF0ZTsKKyAgICAgICAg
ICAgICByZXF1aXJlZCBET01TdHJpbmcgICAgICAgICAgICB0cmFuc3BvcnRJZDsKKyAgICAgICAg
ICAgICByZXF1aXJlZCBET01TdHJpbmcgICAgICAgICAgICBsb2NhbENhbmRpZGF0ZUlkOworICAg
ICAgICAgICAgIHJlcXVpcmVkIERPTVN0cmluZyAgICAgICAgICAgIHJlbW90ZUNhbmRpZGF0ZUlk
OworICAgICAgICAgICAgIHJlcXVpcmVkIFJUQ1N0YXRzSWNlQ2FuZGlkYXRlUGFpclN0YXRlIHN0
YXRlOwogICAgICAgICAgICAgIGJvb2xlYW4gICAgICAgICAgICAgICAgICAgICAgIG5vbWluYXRl
ZDsKICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGxvbmcgICAgICAgICAgICBwYWNrZXRzU2Vu
dDsKICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGxvbmcgICAgICAgICAgICBwYWNrZXRzUmVj
ZWl2ZWQ7CkBAIC0zMzUsNiArMzMzLDkgQEAgZGljdGlvbmFyeSBSVENJY2VDYW5kaWRhdGVQYWly
U3RhdHMgOiBSVENTdGF0cyB7CiAgICAgICAgICAgICAgRE9NSGlnaFJlc1RpbWVTdGFtcCAgICAg
ICAgICAgY29uc2VudEV4cGlyZWRUaW1lc3RhbXA7CiAgICAgICAgICAgICAgdW5zaWduZWQgbG9u
ZyAgICAgICAgICAgICAgICAgcGFja2V0c0Rpc2NhcmRlZE9uU2VuZDsKICAgICAgICAgICAgICB1
bnNpZ25lZCBsb25nIGxvbmcgICAgICAgICAgICBieXRlc0Rpc2NhcmRlZE9uU2VuZDsKKyAgICAg
ICAgICAgICB1bnNpZ25lZCBsb25nIGxvbmcgICAgICAgICAgICByZXF1ZXN0Qnl0ZXNTZW50Owor
ICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbG9uZyAgICAgICAgICAgIGNvbnNlbnRSZXF1ZXN0
Qnl0ZXNTZW50OworICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbG9uZyAgICAgICAgICAgIHJl
c3BvbnNlQnl0ZXNTZW50OwogfTsKIAogZW51bSBSVENTdGF0c0ljZUNhbmRpZGF0ZVBhaXJTdGF0
ZSB7CkBAIC0zNDYsMTAzICszNDcsMTcgQEAgZW51bSBSVENTdGF0c0ljZUNhbmRpZGF0ZVBhaXJT
dGF0ZSB7CiB9OwogCiBkaWN0aW9uYXJ5IFJUQ0NlcnRpZmljYXRlU3RhdHMgOiBSVENTdGF0cyB7
Ci0gICAgICAgICAgICAgRE9NU3RyaW5nIGZpbmdlcnByaW50OwotICAgICAgICAgICAgIERPTVN0
cmluZyBmaW5nZXJwcmludEFsZ29yaXRobTsKLSAgICAgICAgICAgICBET01TdHJpbmcgYmFzZTY0
Q2VydGlmaWNhdGU7CisgICAgICAgICAgICAgcmVxdWlyZWQgRE9NU3RyaW5nIGZpbmdlcnByaW50
OworICAgICAgICAgICAgIHJlcXVpcmVkIERPTVN0cmluZyBmaW5nZXJwcmludEFsZ29yaXRobTsK
KyAgICAgICAgICAgICByZXF1aXJlZCBET01TdHJpbmcgYmFzZTY0Q2VydGlmaWNhdGU7CiAgICAg
ICAgICAgICAgRE9NU3RyaW5nIGlzc3VlckNlcnRpZmljYXRlSWQ7CiB9OwogCiBkaWN0aW9uYXJ5
IFJUQ0ljZVNlcnZlclN0YXRzIDogUlRDU3RhdHMgewotICAgICAgICAgICBET01TdHJpbmcgdXJs
OworICAgICAgICAgICByZXF1aXJlZCBET01TdHJpbmcgdXJsOwogICAgICAgICAgICBsb25nIHBv
cnQ7Ci0gICAgICAgICAgIERPTVN0cmluZyBwcm90b2NvbDsKKyAgICAgICAgICAgRE9NU3RyaW5n
IHJlbGF5UHJvdG9jb2w7CiAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgdG90YWxSZXF1ZXN0c1Nl
bnQ7CiAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgdG90YWxSZXNwb25zZXNSZWNlaXZlZDsKICAg
ICAgICAgICAgZG91YmxlIHRvdGFsUm91bmRUcmlwVGltZTsKIH07Ci0KLWRpY3Rpb25hcnkgUlRD
TWVkaWFTdHJlYW1TdGF0cyA6IFJUQ1N0YXRzIHsKLSAgRE9NU3RyaW5nIHN0cmVhbUlkZW50aWZp
ZXI7Ci0gIHNlcXVlbmNlPERPTVN0cmluZz4gdHJhY2tJZHM7Ci19OwotCi1kaWN0aW9uYXJ5IFJU
Q1JlY2VpdmVyVmlkZW9UcmFja0F0dGFjaG1lbnRTdGF0cyA6IFJUQ1ZpZGVvUmVjZWl2ZXJTdGF0
cyB7fTsKLQotZGljdGlvbmFyeSBSVENSZWNlaXZlckF1ZGlvVHJhY2tBdHRhY2htZW50U3RhdHMg
OiBSVENBdWRpb1JlY2VpdmVyU3RhdHMge307Ci0KLXBhcnRpYWwgZGljdGlvbmFyeSBSVENDb2Rl
Y1N0YXRzIHsKLSAgICBET01TdHJpbmcgaW1wbGVtZW50YXRpb247Ci19OwotCi1wYXJ0aWFsIGRp
Y3Rpb25hcnkgUlRDSWNlQ2FuZGlkYXRlU3RhdHMgewotICAgIGJvb2xlYW4gZGVsZXRlZCA9IGZh
bHNlOwotICAgIGJvb2xlYW4gaXNSZW1vdGU7Ci19OwotCi1wYXJ0aWFsIGRpY3Rpb25hcnkgUlRD
SWNlQ2FuZGlkYXRlUGFpclN0YXRzIHsKLSAgICBkb3VibGUgdG90YWxSdHQ7Ci0gICAgZG91Ymxl
IGN1cnJlbnRSdHQ7Ci0gICAgdW5zaWduZWQgbG9uZyBsb25nIHByaW9yaXR5OwotfTsKLQotcGFy
dGlhbCBkaWN0aW9uYXJ5IFJUQ1J0cFN0cmVhbVN0YXRzIHsKLSAgICBET01TdHJpbmcgbWVkaWFU
eXBlOwotICAgIGRvdWJsZSBhdmVyYWdlUlRDUEludGVydmFsOwotfTsKLQotcGFydGlhbCBkaWN0
aW9uYXJ5IFJUQ0luYm91bmRSdHBTdHJlYW1TdGF0cyB7Ci0gICAgZG91YmxlIGZyYWN0aW9uTG9z
dDsKLX07Ci0KLXBhcnRpYWwgZGljdGlvbmFyeSBSVENBdWRpb0hhbmRsZXJTdGF0cyB7Ci0gICAg
ZG91YmxlIGF1ZGlvTGV2ZWw7Ci0gICAgZG91YmxlIHRvdGFsQXVkaW9FbmVyZ3k7Ci0gICAgZG91
YmxlIHRvdGFsU2FtcGxlc0R1cmF0aW9uOwotICAgIGJvb2xlYW4gdm9pY2VBY3Rpdml0eUZsYWc7
Ci19OwotCi1wYXJ0aWFsIGRpY3Rpb25hcnkgUlRDQXVkaW9TZW5kZXJTdGF0cyB7Ci0gICAgdW5z
aWduZWQgbG9uZyBsb25nIHRvdGFsU2FtcGxlc1NlbnQ7Ci0gICAgZG91YmxlIGVjaG9SZXR1cm5M
b3NzOwotICAgIGRvdWJsZSBlY2hvUmV0dXJuTG9zc0VuaGFuY2VtZW50OwotfTsKLQotcGFydGlh
bCBkaWN0aW9uYXJ5IFJUQ0F1ZGlvUmVjZWl2ZXJTdGF0cyB7Ci0gICAgRE9NSGlnaFJlc1RpbWVT
dGFtcCBlc3RpbWF0ZWRQbGF5b3V0VGltZXN0YW1wOwotICAgIGRvdWJsZSBqaXR0ZXJCdWZmZXJE
ZWxheTsKLSAgICB1bnNpZ25lZCBsb25nIGxvbmcgaml0dGVyQnVmZmVyRW1pdHRlZENvdW50Owot
ICAgIHVuc2lnbmVkIGxvbmcgbG9uZyB0b3RhbFNhbXBsZXNSZWNlaXZlZDsKLSAgICB1bnNpZ25l
ZCBsb25nIGxvbmcgY29uY2VhbGVkU2FtcGxlczsKLSAgICB1bnNpZ25lZCBsb25nIGxvbmcgc2ls
ZW50Q29uY2VhbGVkU2FtcGxlczsKLSAgICB1bnNpZ25lZCBsb25nIGxvbmcgY29uY2VhbG1lbnRF
dmVudHM7Ci0gICAgdW5zaWduZWQgbG9uZyBsb25nIGluc2VydGVkU2FtcGxlc0ZvckRlY2VsZXJh
dGlvbjsKLSAgICB1bnNpZ25lZCBsb25nIGxvbmcgcmVtb3ZlZFNhbXBsZXNGb3JBY2NlbGVyYXRp
b247Ci0gICAgZG91YmxlIGF1ZGlvTGV2ZWw7Ci0gICAgZG91YmxlIHRvdGFsQXVkaW9FbmVyZ3k7
Ci0gICAgZG91YmxlIHRvdGFsU2FtcGxlc0R1cmF0aW9uOwotfTsKLQotcGFydGlhbCBkaWN0aW9u
YXJ5IFJUQ1ZpZGVvSGFuZGxlclN0YXRzIHsKLSAgICB1bnNpZ25lZCBsb25nIGZyYW1lV2lkdGg7
Ci0gICAgdW5zaWduZWQgbG9uZyBmcmFtZUhlaWdodDsKLSAgICBkb3VibGUgZnJhbWVzUGVyU2Vj
b25kOwotfTsKLQotcGFydGlhbCBkaWN0aW9uYXJ5IFJUQ1ZpZGVvU2VuZGVyU3RhdHMgewotICAg
IHVuc2lnbmVkIGxvbmcga2V5RnJhbWVzU2VudDsKLSAgICB1bnNpZ25lZCBsb25nIGZyYW1lc0Nh
cHR1cmVkOwotICAgIHVuc2lnbmVkIGxvbmcgZnJhbWVzU2VudDsKLSAgICB1bnNpZ25lZCBsb25n
IGh1Z2VGcmFtZXNTZW50OwotfTsKLQotcGFydGlhbCBkaWN0aW9uYXJ5IFJUQ1ZpZGVvUmVjZWl2
ZXJTdGF0cyB7Ci0gICAgdW5zaWduZWQgbG9uZyBrZXlGcmFtZXNSZWNlaXZlZDsKLSAgICBET01I
aWdoUmVzVGltZVN0YW1wIGVzdGltYXRlZFBsYXlvdXRUaW1lc3RhbXA7Ci0gICAgZG91YmxlIGpp
dHRlckJ1ZmZlckRlbGF5OwotICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBqaXR0ZXJCdWZmZXJFbWl0
dGVkQ291bnQ7Ci0gICAgdW5zaWduZWQgbG9uZyBmcmFtZXNSZWNlaXZlZDsKLSAgICB1bnNpZ25l
ZCBsb25nIGZyYW1lc0RlY29kZWQ7Ci0gICAgdW5zaWduZWQgbG9uZyBmcmFtZXNEcm9wcGVkOwot
ICAgIHVuc2lnbmVkIGxvbmcgcGFydGlhbEZyYW1lc0xvc3Q7Ci0gICAgdW5zaWduZWQgbG9uZyBm
dWxsRnJhbWVzTG9zdDsKLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2VicnRjLXN2Yy5pZGwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2VicnRjLXN2Yy5p
ZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjI2OTFhODdiMzBkCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9pbnRlcmZhY2VzL3dlYnJ0Yy1zdmMuaWRsCkBAIC0wLDAgKzEsMTIgQEAKKy8vIEdFTkVS
QVRFRCBDT05URU5UIC0gRE8gTk9UIEVESVQKKy8vIENvbnRlbnQgd2FzIGF1dG9tYXRpY2FsbHkg
ZXh0cmFjdGVkIGJ5IFJlZmZ5IGludG8gcmVmZnktcmVwb3J0cworLy8gKGh0dHBzOi8vZ2l0aHVi
LmNvbS90aWRvdXN0L3JlZmZ5LXJlcG9ydHMpCisvLyBTb3VyY2U6IFNjYWxhYmxlIFZpZGVvIENv
ZGluZyAoU1ZDKSBFeHRlbnNpb24gZm9yIFdlYlJUQyAoaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dl
YnJ0Yy1zdmMvKQorCitwYXJ0aWFsIGRpY3Rpb25hcnkgUlRDUnRwRW5jb2RpbmdQYXJhbWV0ZXJz
IHsKKyAgICAgICAgICAgICBET01TdHJpbmcgICAgICAgICAgIHNjYWxhYmlsaXR5TW9kZTsKK307
CisKK3BhcnRpYWwgZGljdGlvbmFyeSBSVENSdHBDb2RlY0NhcGFiaWxpdHkgeworICAgICAgICAg
ICAgIHNlcXVlbmNlPERPTVN0cmluZz4gICAgICAgICAgIHNjYWxhYmlsaXR5TW9kZXM7Cit9Owpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bnRlcmZhY2VzL3dlYnJ0Yy5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ludGVyZmFjZXMvd2VicnRjLmlkbAppbmRleCAzYjJiZTYxY2VkYy4uZWZiMjFm
NGEwY2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaW50ZXJmYWNlcy93ZWJydGMuaWRsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWJydGMuaWRsCkBAIC0xMywxMiArMTMs
MTMgQEAgZGljdGlvbmFyeSBSVENDb25maWd1cmF0aW9uIHsKIH07CiAKIGVudW0gUlRDSWNlQ3Jl
ZGVudGlhbFR5cGUgewotICAicGFzc3dvcmQiLAorICAicGFzc3dvcmQiCiB9OwogCiBkaWN0aW9u
YXJ5IFJUQ0ljZVNlcnZlciB7CiAgIHJlcXVpcmVkIChET01TdHJpbmcgb3Igc2VxdWVuY2U8RE9N
U3RyaW5nPikgdXJsczsKICAgRE9NU3RyaW5nIHVzZXJuYW1lOworICBET01TdHJpbmcgY3JlZGVu
dGlhbDsKICAgUlRDSWNlQ3JlZGVudGlhbFR5cGUgY3JlZGVudGlhbFR5cGUgPSAicGFzc3dvcmQi
OwogfTsKIApAQCAtODQsMTEgKzg1LDExIEBAIGludGVyZmFjZSBSVENQZWVyQ29ubmVjdGlvbiA6
IEV2ZW50VGFyZ2V0ICB7CiAgIGNvbnN0cnVjdG9yKG9wdGlvbmFsIFJUQ0NvbmZpZ3VyYXRpb24g
Y29uZmlndXJhdGlvbiA9IHt9KTsKICAgUHJvbWlzZTxSVENTZXNzaW9uRGVzY3JpcHRpb25Jbml0
PiBjcmVhdGVPZmZlcihvcHRpb25hbCBSVENPZmZlck9wdGlvbnMgb3B0aW9ucyA9IHt9KTsKICAg
UHJvbWlzZTxSVENTZXNzaW9uRGVzY3JpcHRpb25Jbml0PiBjcmVhdGVBbnN3ZXIob3B0aW9uYWwg
UlRDQW5zd2VyT3B0aW9ucyBvcHRpb25zID0ge30pOwotICBQcm9taXNlPHZvaWQ+IHNldExvY2Fs
RGVzY3JpcHRpb24ob3B0aW9uYWwgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uSW5pdCBkZXNjcmlwdGlv
biA9IHt9KTsKKyAgUHJvbWlzZTx2b2lkPiBzZXRMb2NhbERlc2NyaXB0aW9uKG9wdGlvbmFsIFJU
Q0xvY2FsU2Vzc2lvbkRlc2NyaXB0aW9uSW5pdCBkZXNjcmlwdGlvbiA9IHt9KTsKICAgcmVhZG9u
bHkgYXR0cmlidXRlIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbj8gbG9jYWxEZXNjcmlwdGlvbjsKICAg
cmVhZG9ubHkgYXR0cmlidXRlIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbj8gY3VycmVudExvY2FsRGVz
Y3JpcHRpb247CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBSVENTZXNzaW9uRGVzY3JpcHRpb24/IHBl
bmRpbmdMb2NhbERlc2NyaXB0aW9uOwotICBQcm9taXNlPHZvaWQ+IHNldFJlbW90ZURlc2NyaXB0
aW9uKG9wdGlvbmFsIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkluaXQgZGVzY3JpcHRpb24gPSB7fSk7
CisgIFByb21pc2U8dm9pZD4gc2V0UmVtb3RlRGVzY3JpcHRpb24oUlRDU2Vzc2lvbkRlc2NyaXB0
aW9uSW5pdCBkZXNjcmlwdGlvbik7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBSVENTZXNzaW9uRGVz
Y3JpcHRpb24/IHJlbW90ZURlc2NyaXB0aW9uOwogICByZWFkb25seSBhdHRyaWJ1dGUgUlRDU2Vz
c2lvbkRlc2NyaXB0aW9uPyBjdXJyZW50UmVtb3RlRGVzY3JpcHRpb247CiAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBSVENTZXNzaW9uRGVzY3JpcHRpb24/IHBlbmRpbmdSZW1vdGVEZXNjcmlwdGlvbjsK
QEAgLTExOCwxMiArMTE5LDEyIEBAIGludGVyZmFjZSBSVENQZWVyQ29ubmVjdGlvbiA6IEV2ZW50
VGFyZ2V0ICB7CiAgIFByb21pc2U8dm9pZD4gY3JlYXRlT2ZmZXIoUlRDU2Vzc2lvbkRlc2NyaXB0
aW9uQ2FsbGJhY2sgc3VjY2Vzc0NhbGxiYWNrLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFJUQ1BlZXJDb25uZWN0aW9uRXJyb3JDYWxsYmFjayBmYWlsdXJlQ2FsbGJhY2ssCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgUlRDT2ZmZXJPcHRpb25zIG9wdGlvbnMgPSB7
fSk7Ci0gIFByb21pc2U8dm9pZD4gc2V0TG9jYWxEZXNjcmlwdGlvbihvcHRpb25hbCBSVENTZXNz
aW9uRGVzY3JpcHRpb25Jbml0IGRlc2NyaXB0aW9uID0ge30sCisgIFByb21pc2U8dm9pZD4gc2V0
TG9jYWxEZXNjcmlwdGlvbihvcHRpb25hbCBSVENMb2NhbFNlc3Npb25EZXNjcmlwdGlvbkluaXQg
ZGVzY3JpcHRpb24gPSB7fSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZv
aWRGdW5jdGlvbiBzdWNjZXNzQ2FsbGJhY2ssCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBSVENQZWVyQ29ubmVjdGlvbkVycm9yQ2FsbGJhY2sgZmFpbHVyZUNhbGxiYWNrKTsK
ICAgUHJvbWlzZTx2b2lkPiBjcmVhdGVBbnN3ZXIoUlRDU2Vzc2lvbkRlc2NyaXB0aW9uQ2FsbGJh
Y2sgc3VjY2Vzc0NhbGxiYWNrLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVENQZWVy
Q29ubmVjdGlvbkVycm9yQ2FsbGJhY2sgZmFpbHVyZUNhbGxiYWNrKTsKLSAgUHJvbWlzZTx2b2lk
PiBzZXRSZW1vdGVEZXNjcmlwdGlvbihvcHRpb25hbCBSVENTZXNzaW9uRGVzY3JpcHRpb25Jbml0
IGRlc2NyaXB0aW9uID0ge30sCisgIFByb21pc2U8dm9pZD4gc2V0UmVtb3RlRGVzY3JpcHRpb24o
UlRDU2Vzc2lvbkRlc2NyaXB0aW9uSW5pdCBkZXNjcmlwdGlvbiwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBWb2lkRnVuY3Rpb24gc3VjY2Vzc0NhbGxiYWNrLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJUQ1BlZXJDb25uZWN0aW9uRXJyb3JDYWxs
YmFjayBmYWlsdXJlQ2FsbGJhY2spOwogICBQcm9taXNlPHZvaWQ+IGFkZEljZUNhbmRpZGF0ZShS
VENJY2VDYW5kaWRhdGVJbml0IGNhbmRpZGF0ZSwKQEAgLTE0OSwxMyArMTUwLDE4IEBAIGVudW0g
UlRDU2RwVHlwZSB7CiAKIFtFeHBvc2VkPVdpbmRvd10KIGludGVyZmFjZSBSVENTZXNzaW9uRGVz
Y3JpcHRpb24gewotICBjb25zdHJ1Y3RvcihvcHRpb25hbCBSVENTZXNzaW9uRGVzY3JpcHRpb25J
bml0IGRlc2NyaXB0aW9uSW5pdERpY3QgPSB7fSk7CisgIGNvbnN0cnVjdG9yKFJUQ1Nlc3Npb25E
ZXNjcmlwdGlvbkluaXQgZGVzY3JpcHRpb25Jbml0RGljdCk7CiAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBSVENTZHBUeXBlIHR5cGU7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgc2RwOwog
ICBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOwogfTsKIAogZGljdGlvbmFyeSBSVENTZXNzaW9u
RGVzY3JpcHRpb25Jbml0IHsKKyAgcmVxdWlyZWQgUlRDU2RwVHlwZSB0eXBlOworICBET01TdHJp
bmcgc2RwID0gIiI7Cit9OworCitkaWN0aW9uYXJ5IFJUQ0xvY2FsU2Vzc2lvbkRlc2NyaXB0aW9u
SW5pdCB7CiAgIFJUQ1NkcFR5cGUgdHlwZTsKICAgRE9NU3RyaW5nIHNkcCA9ICIiOwogfTsKQEAg
LTIyOCw3ICsyMzQsOCBAQCBpbnRlcmZhY2UgUlRDUGVlckNvbm5lY3Rpb25JY2VFcnJvckV2ZW50
IDogRXZlbnQgewogfTsKIAogZGljdGlvbmFyeSBSVENQZWVyQ29ubmVjdGlvbkljZUVycm9yRXZl
bnRJbml0IDogRXZlbnRJbml0IHsKLSAgRE9NU3RyaW5nIGhvc3RDYW5kaWRhdGU7CisgIERPTVN0
cmluZz8gYWRkcmVzczsKKyAgdW5zaWduZWQgc2hvcnQ/IHBvcnQ7CiAgIERPTVN0cmluZyB1cmw7
CiAgIHJlcXVpcmVkIHVuc2lnbmVkIHNob3J0IGVycm9yQ29kZTsKICAgVVNWU3RyaW5nIHN0YXR1
c1RleHQ7CkBAIC01NTksMTIgKzU2NiwxMiBAQCBpbnRlcmZhY2UgUlRDRFRNRlNlbmRlciA6IEV2
ZW50VGFyZ2V0IHsKIAogW0V4cG9zZWQ9V2luZG93XQogaW50ZXJmYWNlIFJUQ0RUTUZUb25lQ2hh
bmdlRXZlbnQgOiBFdmVudCB7Ci0gIGNvbnN0cnVjdG9yKERPTVN0cmluZyB0eXBlLCBSVENEVE1G
VG9uZUNoYW5nZUV2ZW50SW5pdCBldmVudEluaXREaWN0KTsKKyAgY29uc3RydWN0b3IoRE9NU3Ry
aW5nIHR5cGUsIG9wdGlvbmFsIFJUQ0RUTUZUb25lQ2hhbmdlRXZlbnRJbml0IGV2ZW50SW5pdERp
Y3QgPSB7fSk7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdG9uZTsKIH07CiAKIGRp
Y3Rpb25hcnkgUlRDRFRNRlRvbmVDaGFuZ2VFdmVudEluaXQgOiBFdmVudEluaXQgewotICByZXF1
aXJlZCBET01TdHJpbmcgdG9uZTsKKyAgRE9NU3RyaW5nIHRvbmUgPSAiIjsKIH07CiAKIHBhcnRp
YWwgaW50ZXJmYWNlIFJUQ1BlZXJDb25uZWN0aW9uIHsKQEAgLTU4Nyw3ICs1OTQsNiBAQCBpbnRl
cmZhY2UgUlRDRXJyb3IgOiBET01FeGNlcHRpb24gewogICBjb25zdHJ1Y3RvcihSVENFcnJvcklu
aXQgaW5pdCwgb3B0aW9uYWwgRE9NU3RyaW5nIG1lc3NhZ2UgPSAiIik7CiAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBSVENFcnJvckRldGFpbFR5cGUgZXJyb3JEZXRhaWw7CiAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBsb25nPyBzZHBMaW5lTnVtYmVyOwotICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZz8gaHR0
cFJlcXVlc3RTdGF0dXNDb2RlOwogICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZz8gc2N0cENhdXNl
Q29kZTsKICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmc/IHJlY2VpdmVkQWxlcnQ7
CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nPyBzZW50QWxlcnQ7CkBAIC01OTYs
NyArNjAyLDYgQEAgaW50ZXJmYWNlIFJUQ0Vycm9yIDogRE9NRXhjZXB0aW9uIHsKIGRpY3Rpb25h
cnkgUlRDRXJyb3JJbml0IHsKICAgcmVxdWlyZWQgUlRDRXJyb3JEZXRhaWxUeXBlIGVycm9yRGV0
YWlsOwogICBsb25nIHNkcExpbmVOdW1iZXI7Ci0gIGxvbmcgaHR0cFJlcXVlc3RTdGF0dXNDb2Rl
OwogICBsb25nIHNjdHBDYXVzZUNvZGU7CiAgIHVuc2lnbmVkIGxvbmcgcmVjZWl2ZWRBbGVydDsK
ICAgdW5zaWduZWQgbG9uZyBzZW50QWxlcnQ7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2VieHItYXItbW9kdWxlLmlk
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNl
cy93ZWJ4ci1hci1tb2R1bGUuaWRsCmluZGV4IGM1ODk5ZDY1N2IyLi4yYTUyNWQyZGE4OSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRl
cmZhY2VzL3dlYnhyLWFyLW1vZHVsZS5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYnhyLWFyLW1vZHVsZS5pZGwKQEAgLTEz
LDMgKzEzLDEzIEBAIHBhcnRpYWwgaW50ZXJmYWNlIFhSU2Vzc2lvbiB7CiAgIC8vIEF0dHJpYnV0
ZXMKICAgcmVhZG9ubHkgYXR0cmlidXRlIFhSRW52aXJvbm1lbnRCbGVuZE1vZGUgZW52aXJvbm1l
bnRCbGVuZE1vZGU7CiB9OworCitlbnVtIFhSSW50ZXJhY3Rpb25Nb2RlIHsKKyAgICAic2NyZWVu
LXNwYWNlIiwKKyAgICAid29ybGQtc3BhY2UiLAorfTsKKworcGFydGlhbCBpbnRlcmZhY2UgWFJT
ZXNzaW9uIHsKKyAgLy8gQXR0cmlidXRlcworICByZWFkb25seSBhdHRyaWJ1dGUgWFJJbnRlcmFj
dGlvbk1vZGUgaW50ZXJhY3Rpb25Nb2RlOworfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWJ4ci5pZGwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2VieHIu
aWRsCmluZGV4IDAzNjAzMDkwNzQ4Li5mNzIzYWNjMGNlNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYnhyLmlkbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFj
ZXMvd2VieHIuaWRsCkBAIC00LDEwICs0LDEwIEBACiAvLyBTb3VyY2U6IFdlYlhSIERldmljZSBB
UEkgKGh0dHBzOi8vaW1tZXJzaXZlLXdlYi5naXRodWIuaW8vd2VieHIvKQogCiBwYXJ0aWFsIGlu
dGVyZmFjZSBOYXZpZ2F0b3IgewotICBbU2VjdXJlQ29udGV4dCwgU2FtZU9iamVjdF0gcmVhZG9u
bHkgYXR0cmlidXRlIFhSIHhyOworICBbU2VjdXJlQ29udGV4dCwgU2FtZU9iamVjdF0gcmVhZG9u
bHkgYXR0cmlidXRlIFhSU3lzdGVtIHhyOwogfTsKIAotW1NlY3VyZUNvbnRleHQsIEV4cG9zZWQ9
V2luZG93XSBpbnRlcmZhY2UgWFIgOiBFdmVudFRhcmdldCB7CitbU2VjdXJlQ29udGV4dCwgRXhw
b3NlZD1XaW5kb3ddIGludGVyZmFjZSBYUlN5c3RlbSA6IEV2ZW50VGFyZ2V0IHsKICAgLy8gTWV0
aG9kcwogICBQcm9taXNlPGJvb2xlYW4+IGlzU2Vzc2lvblN1cHBvcnRlZChYUlNlc3Npb25Nb2Rl
IG1vZGUpOwogICBbTmV3T2JqZWN0XSBQcm9taXNlPFhSU2Vzc2lvbj4gcmVxdWVzdFNlc3Npb24o
WFJTZXNzaW9uTW9kZSBtb2RlLCBvcHRpb25hbCBYUlNlc3Npb25Jbml0IG9wdGlvbnMgPSB7fSk7
CkBAIC00Myw3ICs0Myw3IEBAIGVudW0gWFJWaXNpYmlsaXR5U3RhdGUgewogICB2b2lkIHVwZGF0
ZVJlbmRlclN0YXRlKG9wdGlvbmFsIFhSUmVuZGVyU3RhdGVJbml0IHN0YXRlID0ge30pOwogICBb
TmV3T2JqZWN0XSBQcm9taXNlPFhSUmVmZXJlbmNlU3BhY2U+IHJlcXVlc3RSZWZlcmVuY2VTcGFj
ZShYUlJlZmVyZW5jZVNwYWNlVHlwZSB0eXBlKTsKIAotICBsb25nIHJlcXVlc3RBbmltYXRpb25G
cmFtZShYUkZyYW1lUmVxdWVzdENhbGxiYWNrIGNhbGxiYWNrKTsKKyAgdW5zaWduZWQgbG9uZyBy
ZXF1ZXN0QW5pbWF0aW9uRnJhbWUoWFJGcmFtZVJlcXVlc3RDYWxsYmFjayBjYWxsYmFjayk7CiAg
IHZvaWQgY2FuY2VsQW5pbWF0aW9uRnJhbWUobG9uZyBoYW5kbGUpOwogCiAgIFByb21pc2U8dm9p
ZD4gZW5kKCk7CkBAIC02NSw2ICs2NSw3IEBAIGRpY3Rpb25hcnkgWFJSZW5kZXJTdGF0ZUluaXQg
ewogICBkb3VibGUgZGVwdGhGYXI7CiAgIGRvdWJsZSBpbmxpbmVWZXJ0aWNhbEZpZWxkT2ZWaWV3
OwogICBYUldlYkdMTGF5ZXI/IGJhc2VMYXllcjsKKyAgc2VxdWVuY2U8WFJMYXllcj4/IGxheWVy
czsKIH07CiAKIFtTZWN1cmVDb250ZXh0LCBFeHBvc2VkPVdpbmRvd10gaW50ZXJmYWNlIFhSUmVu
ZGVyU3RhdGUgewpAQCAtMTcyLDYgKzE3Myw5IEBAIGludGVyZmFjZSBYUklucHV0U291cmNlQXJy
YXkgewogICBnZXR0ZXIgWFJJbnB1dFNvdXJjZSh1bnNpZ25lZCBsb25nIGluZGV4KTsKIH07CiAK
K1tTZWN1cmVDb250ZXh0LCBFeHBvc2VkPVdpbmRvd10KK2ludGVyZmFjZSBYUkxheWVyIDogRXZl
bnRUYXJnZXQge307CisKIHR5cGVkZWYgKFdlYkdMUmVuZGVyaW5nQ29udGV4dCBvcgogICAgICAg
ICAgV2ViR0wyUmVuZGVyaW5nQ29udGV4dCkgWFJXZWJHTFJlbmRlcmluZ0NvbnRleHQ7CiAKQEAg
LTE4NSw3ICsxODksNyBAQCBkaWN0aW9uYXJ5IFhSV2ViR0xMYXllckluaXQgewogfTsKIAogW1Nl
Y3VyZUNvbnRleHQsIEV4cG9zZWQ9V2luZG93XQotaW50ZXJmYWNlIFhSV2ViR0xMYXllciB7Citp
bnRlcmZhY2UgWFJXZWJHTExheWVyOiBYUkxheWVyIHsKICAgY29uc3RydWN0b3IoWFJTZXNzaW9u
IHNlc3Npb24sCiAgICAgICAgICAgICAgWFJXZWJHTFJlbmRlcmluZ0NvbnRleHQgY29udGV4dCwK
ICAgICAgICAgICAgICBvcHRpb25hbCBYUldlYkdMTGF5ZXJJbml0IGxheWVySW5pdCA9IHt9KTsK
QEAgLTI1OCw1ICsyNjIsMTYgQEAgaW50ZXJmYWNlIFhSUmVmZXJlbmNlU3BhY2VFdmVudCA6IEV2
ZW50IHsKIAogZGljdGlvbmFyeSBYUlJlZmVyZW5jZVNwYWNlRXZlbnRJbml0IDogRXZlbnRJbml0
IHsKICAgcmVxdWlyZWQgWFJSZWZlcmVuY2VTcGFjZSByZWZlcmVuY2VTcGFjZTsKLSAgWFJSaWdp
ZFRyYW5zZm9ybSB0cmFuc2Zvcm07CisgIFhSUmlnaWRUcmFuc2Zvcm0/IHRyYW5zZm9ybSA9IG51
bGw7Cit9OworCitkaWN0aW9uYXJ5IFhSUGVybWlzc2lvbkRlc2NyaXB0b3I6IFBlcm1pc3Npb25E
ZXNjcmlwdG9yIHsKKyAgWFJTZXNzaW9uTW9kZSBtb2RlOworICBzZXF1ZW5jZTxhbnk+IHJlcXVp
cmVkRmVhdHVyZXM7CisgIHNlcXVlbmNlPGFueT4gb3B0aW9uYWxGZWF0dXJlczsKK307CisKK1tF
eHBvc2VkPVdpbmRvd10KK2ludGVyZmFjZSBYUlBlcm1pc3Npb25TdGF0dXM6IFBlcm1pc3Npb25T
dGF0dXMgeworICBhdHRyaWJ1dGUgRnJvemVuQXJyYXk8YW55PiBncmFudGVkOwogfTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJm
YWNlcy93b3JrbGV0cy5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ludGVyZmFjZXMvd29ya2xldHMuaWRsCmluZGV4IDE2MTg3NjY0YjNiLi5mODllYWNk
NTBiZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9pbnRlcmZhY2VzL3dvcmtsZXRzLmlkbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd29ya2xldHMuaWRsCkBAIC05LDcgKzks
NyBAQCBpbnRlcmZhY2UgV29ya2xldEdsb2JhbFNjb3BlIHsKIAogW0V4cG9zZWQ9V2luZG93XQog
aW50ZXJmYWNlIFdvcmtsZXQgewotICAgIFtOZXdPYmplY3RdIFByb21pc2U8dm9pZD4gYWRkTW9k
dWxlKFVTVlN0cmluZyBtb2R1bGVVUkwsIG9wdGlvbmFsIFdvcmtsZXRPcHRpb25zIG9wdGlvbnMp
OworICAgIFtOZXdPYmplY3RdIFByb21pc2U8dm9pZD4gYWRkTW9kdWxlKFVTVlN0cmluZyBtb2R1
bGVVUkwsIG9wdGlvbmFsIFdvcmtsZXRPcHRpb25zIG9wdGlvbnMgPSB7fSk7CiB9OwogCiBkaWN0
aW9uYXJ5IFdvcmtsZXRPcHRpb25zIHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>400526</attachid>
            <date>2020-05-28 17:29:54 -0700</date>
            <delta_ts>2020-05-28 19:32:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-212501-20200528172954.patch</filename>
            <type>text/plain</type>
            <size>270551</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyMjY1CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNWQ1NWZiY2Q1Y2U2NDI5ODUyNzlm
Nzk4MDJjYWM3ZDU2MGFhYTNmMi4uNjRjNmVmYzEyMjk1ZWYyNzNkZjhjNTI4MzRkMDk2NjE5ZGEx
MTBlMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTA1LTI4ICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgVXBkYXRlIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRl
cmZhY2VzIGZyb20gdXBzdHJlYW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIxMjUwMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvZG9tL2lkbGhhcm5lc3MuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHBsYXRmb3JtL21hYy13azIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Rv
bS9pZGxoYXJuZXNzLmh0dHBzLWV4cGVjdGVkLnR4dDoKKwogMjAyMC0wNS0yOCAgS2F0ZSBDaGVu
ZXkgIDxrYXRoZXJpbmVfY2hlbmV5QGFwcGxlLmNvbT4KIAogICAgICAgICBNaW5pbXVtIHVzZXIg
aW50ZXJhY3Rpb24gdGltZSBpbiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzIHNob3VsZCBoYW5kbGUg
dGhlIGNhc2Ugb2YgLTEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGFkMzViNzUw
Nzc5NzdmYjFhMTYwMzRlZmIxMWQwOWI1YTQ4ZDQ3OTYuLjNhYjdiZmIyZGJlMjRkZDAzYWU0MjY4
YmM2MGI3MDA5YWI1OTI4ZDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDExNCBAQAorMjAyMC0wNS0yOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgor
CisgICAgICAgIFVwZGF0ZSB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcyBmcm9tIHVwc3Ry
ZWFtCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTI1
MDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVbnJl
dmlld2VkLCByZWJhc2VsaW5lIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzIGZyb20gdXBz
dHJlYW0gNmE3NmExODVmOTEzZTNjMDI3ZTM2OWEuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvSW5kZXhlZERCL2lkbGhhcm5lc3MuYW55LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2NyZWRlbnRpYWwtbWFuYWdlbWVu
dC9pZGxoYXJuZXNzLmh0dHBzLndpbmRvdy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy10cmFuc2l0aW9ucy9pZGxoYXJu
ZXNzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29t
LXZpZXcvaWRsaGFybmVzcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3NvbS9pbnRlcmZhY2VzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvZG9tL2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9pZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50
eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2RvbXBhcnNpbmcvaWRsaGFybmVzcy53
aW5kb3ctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Rv
bS9pZGxoYXJuZXNzLndvcmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvd2ViYXBwYXBpcy9zY3JpcHRpbmcvZXZlbnRzL2V2ZW50LWhhbmRsZXItYWxs
LWdsb2JhbC1ldmVudHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL3dlYmFwcGFwaXMvc2NyaXB0aW5nL2V2ZW50cy9ldmVudC1oYW5kbGVyLWF0dHJpYnV0
ZXMtYm9keS13aW5kb3ctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL3dlYmFwcGFwaXMvc2NyaXB0aW5nL2V2ZW50cy9ldmVudC1oYW5kbGVyLWF0dHJpYnV0
ZXMtd2luZG93bGVzcy1ib2R5LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvaW50ZXJmYWNlcy9ET00tUGFyc2luZy5pZGw6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2ludGVyZmFjZXMvSW5kZXhlZERCLmlkbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvaW50ZXJmYWNlcy9XZWJDcnlwdG9BUEkuaWRsOgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9pbnRlcmZhY2VzL2FwcG1hbmlmZXN0LmlkbDoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvaW50ZXJmYWNlcy9iYWRnaW5nLmlkbDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvY2xpcGJvYXJkLWFwaXMuaWRsOgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2NvbnN0cnVjdC1zdHlsZXNoZWV0cy5pZGw6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2Nvb2tpZS1zdG9y
ZS5pZGw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvY3NzLWZvbnQt
bG9hZGluZy5pZGw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvY3Nz
LXJlZ2lvbnMuaWRsOiBSZW1vdmVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRl
cmZhY2VzL2Nzcy1zaGFkb3ctcGFydHMuaWRsOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9pbnRlcmZhY2VzL2Nzcy10eXBlZC1vbS5pZGw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2ludGVyZmFjZXMvY3Nzb20tdmlldy5pZGw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2ludGVyZmFjZXMvY3Nzb20uaWRsOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9p
bnRlcmZhY2VzL2RldmljZS1tZW1vcnkuaWRsOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvaW50ZXJmYWNlcy9kb20uaWRsOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9pbnRlcmZhY2VzL2VuY3J5cHRlZC1tZWRpYS5pZGw6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2ludGVyZmFjZXMvZXZlbnQtdGltaW5nLmlkbDoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvaW50ZXJmYWNlcy9mdWxsc2NyZWVuLmlkbDoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvaW50ZXJmYWNlcy9nZW9sb2NhdGlvbi1zZW5zb3IuaWRsOgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2hpdC10ZXN0LmlkbDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvaHRtbC5pZGw6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvaW1hZ2UtY2FwdHVyZS5pZGw6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvaW50ZXJzZWN0aW9uLW9ic2VydmVyLmlkbDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9qcy1zZWxmLXByb2ZpbGlu
Zy5pZGw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2xh
eW91dC1pbnN0YWJpbGl0eS5pZGw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVy
ZmFjZXMvbWVkaWEtY2FwYWJpbGl0aWVzLmlkbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvaW50ZXJmYWNlcy9tZWRpYS1wbGF5YmFjay1xdWFsaXR5LmlkbDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9tZWRpYS1zb3VyY2UuaWRsOgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL21lZGlhc2Vzc2lvbi5pZGw6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvbWVkaWFzdHJlYW0tcmVjb3JkaW5nLmlkbDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9tc3QtY29udGVudC1oaW50
LmlkbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9uYXRpdmUtZmls
ZS1zeXN0ZW0uaWRsOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJm
YWNlcy9uZXRpbmZvLmlkbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNl
cy9vcmlnaW4tcG9saWN5LmlkbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L2ludGVyZmFjZXMvcGFnZS1saWZlY3ljbGUuaWRsOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9wYXltZW50LW1ldGhvZC1iYXNpYy1jYXJkLmlkbDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9wYXltZW50LXJlcXVlc3QuaWRs
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3BlcmlvZGljLWJhY2tn
cm91bmQtc3luYy5pZGw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRl
cmZhY2VzL3Blcm1pc3Npb25zLXJlcXVlc3QuaWRsOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9wZXJtaXNzaW9ucy1yZXZva2UuaWRsOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9wZXJtaXNzaW9ucy5pZGw6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcG9pbnRlcmV2ZW50cy5pZGw6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcmVwb3J0aW5nLmlkbDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9yZXF1ZXN0aWRsZWNhbGxi
YWNrLmlkbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9yZXNpemUt
b2JzZXJ2ZXIuaWRsOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3Nj
cm9sbC1hbmltYXRpb25zLmlkbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJm
YWNlcy9zaGFwZS1kZXRlY3Rpb24tYXBpLmlkbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvaW50ZXJmYWNlcy9zdG9yYWdlLWFjY2Vzcy1hcGkudGVudGF0aXZlLmlkbDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvdGV4dC1kZXRlY3Rpb24tYXBp
LnRlbnRhdGl2ZS5pZGw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRl
cmZhY2VzL3RydXN0ZWQtdHlwZXMudGVudGF0aXZlLmlkbDoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvaW50ZXJmYWNlcy92aWRlby1ydmZjLmlkbDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvdmlzdWFsLXZpZXdwb3J0LmlkbDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvdzNjLWltcG9ydC5sb2c6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2FpLWFyaWEuaWRsOgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dha2UtbG9jay5pZGw6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2ViLWFuaW1hdGlvbnMuaWRsOgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYi1ibHVldG9vdGguaWRs
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYi1sb2Nrcy5pZGw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYi1uZmMu
aWRsOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYi1zaGFyZS5p
ZGw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2ViYXVkaW8uaWRs
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYmF1dGhuLmlkbDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWJtaWRpLmlkbDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWJydGMtZHNjcC5pZGw6IFJl
bW92ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2VicnRjLWlk
ZW50aXR5LmlkbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWJy
dGMtc3RhdHMuaWRsOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dl
YnJ0Yy1zdmMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJm
YWNlcy93ZWJydGMuaWRsOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2Vz
L3dlYnhyLWFyLW1vZHVsZS5pZGw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVy
ZmFjZXMvd2VieHIuaWRsOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2Vz
L3dvcmtsZXRzLmlkbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9u
LW9ic2VydmVyL2lkbGhhcm5lc3Mud2luZG93LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvbWF0aG1sL3JlbGF0aW9ucy9odG1sNS10cmVlL21hdGgtZ2xvYmFsLWV2
ZW50LWhhbmRsZXJzLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcmQvaWRsaGFybmVzcy53aW5kb3ctZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tc3QtY29udGVudC1oaW50L2lkbGhh
cm5lc3Mud2luZG93LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
cmVtb3RlLXBsYXliYWNrL2lkbGhhcm5lc3Mud2luZG93LWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2lkbGhhcm5lc3Mud2luZG93LWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc3ZnL2lkbGhhcm5lc3Mu
d2luZG93LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd2ViLWFu
aW1hdGlvbnMvaWRsaGFybmVzcy53aW5kb3ctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy93ZWJzb2NrZXRzL2Jhc2ljLWF1dGguYW55LmpzOgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy93ZWJzb2NrZXRzL2J1ZmZlcmVkQW1vdW50LXVuY2hhbmdlZC1ieS1z
eW5jLXhoci5hbnkuanM6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnNvY2tldHMv
YnVmZmVyZWRBbW91bnQtdW5jaGFuZ2VkLWJ5LXN5bmMteGhyLmFueS53b3JrZXItZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy94aHIvaWRsaGFybmVzcy5hbnktZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy94aHIvaWRsaGFybmVzcy5h
bnkud29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMveGhy
L3N5bmMtbm8tdGltZW91dC5hbnktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy94aHIvc3luYy1uby10aW1lb3V0LmFueS53b3JrZXItZXhwZWN0ZWQudHh0OgorCiAy
MDIwLTA1LTI4ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgVXBk
YXRlIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scyBmcm9tIHVwc3RyZWFtCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGxo
YXJuZXNzLmFueS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGxoYXJuZXNzLmFueS1leHBlY3RlZC50eHQKaW5kZXgg
ZTE1N2EwNzI2Y2ZhMjFlMjFiOGE3NTY4NWQzYzZhMjg4MDlmNTBhNy4uMTEyOGRhNjJiOGNkNDQy
YzcxMjAyNjdkMjE2N2MxNGU4NTdlYWU1MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRsaGFybmVzcy5hbnktZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
SW5kZXhlZERCL2lkbGhhcm5lc3MuYW55LWV4cGVjdGVkLnR4dApAQCAtNzIsNyArNzIsNyBAQCBQ
QVNTIElEQkRhdGFiYXNlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBwcm90b3R5cGUgb2JqZQogUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBuYW1lIAogUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSB2ZXJzaW9u
IAogUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvYmplY3RTdG9yZU5hbWVz
IAotUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiB0cmFuc2FjdGlvbigoRE9N
U3RyaW5nIG9yIHNlcXVlbmNlPERPTVN0cmluZz4pLCBvcHRpb25hbCBJREJUcmFuc2FjdGlvbk1v
ZGUpIAorUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiB0cmFuc2FjdGlvbigo
RE9NU3RyaW5nIG9yIHNlcXVlbmNlPERPTVN0cmluZz4pLCBvcHRpb25hbCBJREJUcmFuc2FjdGlv
bk1vZGUsIG9wdGlvbmFsIElEQlRyYW5zYWN0aW9uT3B0aW9ucykgCiBQQVNTIElEQkRhdGFiYXNl
IGludGVyZmFjZTogb3BlcmF0aW9uIGNsb3NlKCkgCiBQQVNTIElEQkRhdGFiYXNlIGludGVyZmFj
ZTogb3BlcmF0aW9uIGNyZWF0ZU9iamVjdFN0b3JlKERPTVN0cmluZywgb3B0aW9uYWwgSURCT2Jq
ZWN0U3RvcmVQYXJhbWV0ZXJzKSAKIFBBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlOiBvcGVyYXRp
b24gZGVsZXRlT2JqZWN0U3RvcmUoRE9NU3RyaW5nKSAKQEAgLTE4NSw2ICsxODUsNyBAQCBQQVNT
IElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBwcm90b3R5cGUgbwogUEFTUyBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5z
Y29wYWJsZXMgcHJvcGVydHkgCiBQQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogYXR0cmli
dXRlIG9iamVjdFN0b3JlTmFtZXMgCiBQQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogYXR0
cmlidXRlIG1vZGUgCitGQUlMIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogYXR0cmlidXRlIGR1
cmFiaWxpdHkgYXNzZXJ0X3RydWU6IFRoZSBwcm90b3R5cGUgb2JqZWN0IG11c3QgaGF2ZSBhIHBy
b3BlcnR5ICJkdXJhYmlsaXR5IiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQogUEFTUyBJREJUcmFu
c2FjdGlvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBkYiAKIFBBU1MgSURCVHJhbnNhY3Rpb24gaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgZXJyb3IgCiBQQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTog
b3BlcmF0aW9uIG9iamVjdFN0b3JlKERPTVN0cmluZykgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGxoYXJuZXNzLmFu
eS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRsaGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApp
bmRleCAwYmM3ODBlOTM5ZmJjYzBiNzA2ODA5MTA5NTdkNzc5OTgyYTM4ZDI4Li45MjkyOWUxNjE4
YjY2YTEwODk4MDBiYWY4MjVmMjU4ZjUyNWEyYTE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGxoYXJuZXNzLmFueS53
b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQK
QEAgLTcyLDcgKzcyLDcgQEAgUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamUKIFBBU1MgSURCRGF0YWJh
c2UgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbmFtZSAKIFBBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNl
OiBhdHRyaWJ1dGUgdmVyc2lvbiAKIFBBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgb2JqZWN0U3RvcmVOYW1lcyAKLVBBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlOiBvcGVyYXRp
b24gdHJhbnNhY3Rpb24oKERPTVN0cmluZyBvciBzZXF1ZW5jZTxET01TdHJpbmc+KSwgb3B0aW9u
YWwgSURCVHJhbnNhY3Rpb25Nb2RlKSAKK1BBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlOiBvcGVy
YXRpb24gdHJhbnNhY3Rpb24oKERPTVN0cmluZyBvciBzZXF1ZW5jZTxET01TdHJpbmc+KSwgb3B0
aW9uYWwgSURCVHJhbnNhY3Rpb25Nb2RlLCBvcHRpb25hbCBJREJUcmFuc2FjdGlvbk9wdGlvbnMp
IAogUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjbG9zZSgpIAogUEFTUyBJ
REJEYXRhYmFzZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjcmVhdGVPYmplY3RTdG9yZShET01TdHJp
bmcsIG9wdGlvbmFsIElEQk9iamVjdFN0b3JlUGFyYW1ldGVycykgCiBQQVNTIElEQkRhdGFiYXNl
IGludGVyZmFjZTogb3BlcmF0aW9uIGRlbGV0ZU9iamVjdFN0b3JlKERPTVN0cmluZykgCkBAIC0x
ODUsNiArMTg1LDcgQEAgUEFTUyBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG8KIFBBU1MgSURCVHJhbnNhY3Rp
b24gaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3Rv
dHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAogUEFTUyBJREJUcmFuc2FjdGlv
biBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvYmplY3RTdG9yZU5hbWVzIAogUEFTUyBJREJUcmFuc2Fj
dGlvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBtb2RlIAorRkFJTCBJREJUcmFuc2FjdGlvbiBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSBkdXJhYmlsaXR5IGFzc2VydF90cnVlOiBUaGUgcHJvdG90eXBlIG9i
amVjdCBtdXN0IGhhdmUgYSBwcm9wZXJ0eSAiZHVyYWJpbGl0eSIgZXhwZWN0ZWQgdHJ1ZSBnb3Qg
ZmFsc2UKIFBBU1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgZGIgCiBQQVNT
IElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogYXR0cmlidXRlIGVycm9yIAogUEFTUyBJREJUcmFu
c2FjdGlvbiBpbnRlcmZhY2U6IG9wZXJhdGlvbiBvYmplY3RTdG9yZShET01TdHJpbmcpIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jcmVk
ZW50aWFsLW1hbmFnZW1lbnQvaWRsaGFybmVzcy5odHRwcy53aW5kb3ctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jcmVkZW50aWFsLW1h
bmFnZW1lbnQvaWRsaGFybmVzcy5odHRwcy53aW5kb3ctZXhwZWN0ZWQudHh0CmluZGV4IDA0ZGNm
OWQ4NmU4NjkxOGE0NGRkYzM2NDNlMzkyMGY4ZDVjMTcwMzIuLmRlZDMzY2ZhY2NhY2Y3YTI0NjZi
ZDczMGNjZTE3ZDliMzQyMTNjYzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3JlZGVudGlhbC1tYW5hZ2VtZW50L2lkbGhhcm5lc3MuaHR0
cHMud2luZG93LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2NyZWRlbnRpYWwtbWFuYWdlbWVudC9pZGxoYXJuZXNzLmh0dHBzLndp
bmRvdy1leHBlY3RlZC50eHQKQEAgLTI4LDcgKzI4LDcgQEAgUEFTUyBOYXZpZ2F0b3IgaW5jbHVk
ZXMgTmF2aWdhdG9yQ29uY3VycmVudEhhcmR3YXJlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQog
UEFTUyBFbGVtZW50IGluY2x1ZGVzIFBhcmVudE5vZGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVl
IAogUEFTUyBFbGVtZW50IGluY2x1ZGVzIE5vbkRvY3VtZW50VHlwZUNoaWxkTm9kZTogbWVtYmVy
IG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNTIEVsZW1lbnQgaW5jbHVkZXMgQ2hpbGROb2RlOiBtZW1i
ZXIgbmFtZXMgYXJlIHVuaXF1ZSAKLVBBU1MgRWxlbWVudCBpbmNsdWRlcyBTbG90YWJsZTogbWVt
YmVyIG5hbWVzIGFyZSB1bmlxdWUgCitQQVNTIEVsZW1lbnQgaW5jbHVkZXMgU2xvdHRhYmxlOiBt
ZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgQ3JlZGVudGlhbCBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAogUEFTUyBDcmVkZW50aWFs
IGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAogUEFTUyBDcmVkZW50aWFsIGludGVyZmFjZSBvYmpl
Y3QgbmFtZSAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlv
bnMvaWRsaGFybmVzcy1leHBlY3RlZC50eHQKaW5kZXggNTAyMzM4MzAzYjJhY2Y5YzNmNzRkYjcz
YjNlMzA4NjI5OWExMmMxMS4uOWRkMTJkYmZmZGY4NTE3NTYyNDc1YmY1NWNiNmM5MGJhOTUxODc4
NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWFuaW1hdGlvbnMvaWRsaGFybmVzcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMv
aWRsaGFybmVzcy1leHBlY3RlZC50eHQKQEAgLTI3LDcgKzI3LDcgQEAgUEFTUyBXaW5kb3cgaW5j
bHVkZXMgV2luZG93TG9jYWxTdG9yYWdlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQogUEFTUyBF
bGVtZW50IGluY2x1ZGVzIFBhcmVudE5vZGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAogUEFT
UyBFbGVtZW50IGluY2x1ZGVzIE5vbkRvY3VtZW50VHlwZUNoaWxkTm9kZTogbWVtYmVyIG5hbWVz
IGFyZSB1bmlxdWUgCiBQQVNTIEVsZW1lbnQgaW5jbHVkZXMgQ2hpbGROb2RlOiBtZW1iZXIgbmFt
ZXMgYXJlIHVuaXF1ZSAKLVBBU1MgRWxlbWVudCBpbmNsdWRlcyBTbG90YWJsZTogbWVtYmVyIG5h
bWVzIGFyZSB1bmlxdWUgCitQQVNTIEVsZW1lbnQgaW5jbHVkZXMgU2xvdHRhYmxlOiBtZW1iZXIg
bmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgQW5pbWF0aW9uRXZlbnQgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKIFBBU1MgQW5pbWF0aW9uRXZl
bnQgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCiBQQVNTIEFuaW1hdGlvbkV2ZW50IGludGVyZmFj
ZSBvYmplY3QgbmFtZSAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy10cmFuc2l0aW9ucy9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy10
cmFuc2l0aW9ucy9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dAppbmRleCA0MzU4ZDU4MjczOTEwZTkx
Yzk4MjE5OWE3ZTE0MjlkZTA0YjlmZTgxLi5jNjRkMDFmNTg5ZjVkMGZmM2RiYWIyMmIzYTM0ZGJk
MzY2ZjRhOTVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtdHJhbnNpdGlvbnMvaWRsaGFybmVzcy1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXRy
YW5zaXRpb25zL2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0CkBAIC0yNCw3ICsyNCw3IEBAIFBBU1Mg
V2luZG93IGluY2x1ZGVzIFdpbmRvd0xvY2FsU3RvcmFnZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlx
dWUKIFBBU1MgRWxlbWVudCBpbmNsdWRlcyBQYXJlbnROb2RlOiBtZW1iZXIgbmFtZXMgYXJlIHVu
aXF1ZSAKIFBBU1MgRWxlbWVudCBpbmNsdWRlcyBOb25Eb2N1bWVudFR5cGVDaGlsZE5vZGU6IG1l
bWJlciBuYW1lcyBhcmUgdW5pcXVlIAogUEFTUyBFbGVtZW50IGluY2x1ZGVzIENoaWxkTm9kZTog
bWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCi1QQVNTIEVsZW1lbnQgaW5jbHVkZXMgU2xvdGFibGU6
IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAorUEFTUyBFbGVtZW50IGluY2x1ZGVzIFNsb3R0YWJs
ZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNTIFRyYW5zaXRpb25FdmVudCBpbnRlcmZh
Y2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAogUEFTUyBU
cmFuc2l0aW9uRXZlbnQgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCiBQQVNTIFRyYW5zaXRpb25F
dmVudCBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L2lkbGhhcm5lc3MtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3Nzb20tdmlldy9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dAppbmRleCBmMDYyNTQ4ZTkyMWVl
YzdjMmYxZTFiMGRhMTVjNTkwMzQwNWZhMTJlLi5iNzJkMzRhYzcxNzY4N2QyYWE1NTgzODJkMDMw
NTNiODIxNDdmYTA3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZp
ZXcvaWRsaGFybmVzcy1leHBlY3RlZC50eHQKQEAgLTI5LDEyICsyOSwxMiBAQCBQQVNTIFBhcnRp
YWwgaW50ZXJmYWNlIEhUTUxJbWFnZUVsZW1lbnRbMl06IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVl
CiBQQVNTIFBhcnRpYWwgaW50ZXJmYWNlIERvY3VtZW50WzRdOiBtZW1iZXIgbmFtZXMgYXJlIHVu
aXF1ZSAKIFBBU1MgUGFydGlhbCBpbnRlcmZhY2UgV2luZG93WzNdOiBtZW1iZXIgbmFtZXMgYXJl
IHVuaXF1ZSAKIFBBU1MgVGV4dCBpbmNsdWRlcyBHZW9tZXRyeVV0aWxzOiBtZW1iZXIgbmFtZXMg
YXJlIHVuaXF1ZSAKLVBBU1MgVGV4dCBpbmNsdWRlcyBTbG90YWJsZTogbWVtYmVyIG5hbWVzIGFy
ZSB1bmlxdWUgCitQQVNTIFRleHQgaW5jbHVkZXMgU2xvdHRhYmxlOiBtZW1iZXIgbmFtZXMgYXJl
IHVuaXF1ZSAKIFBBU1MgRWxlbWVudCBpbmNsdWRlcyBHZW9tZXRyeVV0aWxzOiBtZW1iZXIgbmFt
ZXMgYXJlIHVuaXF1ZSAKIFBBU1MgRWxlbWVudCBpbmNsdWRlcyBQYXJlbnROb2RlOiBtZW1iZXIg
bmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgRWxlbWVudCBpbmNsdWRlcyBOb25Eb2N1bWVudFR5cGVD
aGlsZE5vZGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAogUEFTUyBFbGVtZW50IGluY2x1ZGVz
IENoaWxkTm9kZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCi1QQVNTIEVsZW1lbnQgaW5jbHVk
ZXMgU2xvdGFibGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAorUEFTUyBFbGVtZW50IGluY2x1
ZGVzIFNsb3R0YWJsZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNTIENTU1BzZXVkb0Vs
ZW1lbnQgaW5jbHVkZXMgR2VvbWV0cnlVdGlsczogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCiBQ
QVNTIERvY3VtZW50IGluY2x1ZGVzIEdlb21ldHJ5VXRpbHM6IG1lbWJlciBuYW1lcyBhcmUgdW5p
cXVlIAogUEFTUyBEb2N1bWVudCBpbmNsdWRlcyBHbG9iYWxFdmVudEhhbmRsZXJzOiBtZW1iZXIg
bmFtZXMgYXJlIHVuaXF1ZSAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tL2ludGVyZmFjZXMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20vaW50ZXJm
YWNlcy1leHBlY3RlZC50eHQKaW5kZXggYzAxMGYwMmJkNTUyZjVmMWY4MjFlYWVlYWUwN2VhNTEw
ZDg1ZDc0OS4uMjBiMjZiYjBiMjAwZjFkMjQwZWVhNTE2OTJkZDgyNGJhYzdkNDc3MyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
b20vaW50ZXJmYWNlcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20vaW50ZXJmYWNlcy1leHBlY3RlZC50eHQKQEAg
LTEyMywxMSArMTIzLDExIEBAIFBBU1MgU2hhZG93Um9vdCBpbmNsdWRlcyBEb2N1bWVudE9yU2hh
ZG93Um9vdDogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKIFBBU1MgRWxlbWVudCBpbmNsdWRlcyBQ
YXJlbnROb2RlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgRWxlbWVudCBpbmNsdWRl
cyBOb25Eb2N1bWVudFR5cGVDaGlsZE5vZGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAogUEFT
UyBFbGVtZW50IGluY2x1ZGVzIENoaWxkTm9kZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCi1Q
QVNTIEVsZW1lbnQgaW5jbHVkZXMgU2xvdGFibGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAor
UEFTUyBFbGVtZW50IGluY2x1ZGVzIFNsb3R0YWJsZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUg
CiBQQVNTIENoYXJhY3RlckRhdGEgaW5jbHVkZXMgTm9uRG9jdW1lbnRUeXBlQ2hpbGROb2RlOiBt
ZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgQ2hhcmFjdGVyRGF0YSBpbmNsdWRlcyBDaGls
ZE5vZGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAogUEFTUyBEb2N1bWVudFR5cGUgaW5jbHVk
ZXMgQ2hpbGROb2RlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKLVBBU1MgVGV4dCBpbmNsdWRl
cyBTbG90YWJsZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCitQQVNTIFRleHQgaW5jbHVkZXMg
U2xvdHRhYmxlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgWFBhdGhFdmFsdWF0b3Ig
aW5jbHVkZXMgWFBhdGhFdmFsdWF0b3JCYXNlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBB
U1MgUHJvY2Vzc2luZ0luc3RydWN0aW9uIGluY2x1ZGVzIExpbmtTdHlsZTogbWVtYmVyIG5hbWVz
IGFyZSB1bmlxdWUgCiBQQVNTIFNWR0VsZW1lbnQgaW5jbHVkZXMgRWxlbWVudENTU0lubGluZVN0
eWxlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2lkbGhhcm5lc3MuYW55Lndvcmtlci1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2RvbS9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDMyNGZhMzBlZDU2
NmM4N2M2NWNiMjFmZmMwZmNlNDc5ODEzNmRjMGEuLjViZWRhZWMzNDU0ZDQ3MjY2Y2E4MjZhNmRk
YjBjYmM5N2U3NmNkYTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZG9tL2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vaWRsaGFy
bmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMTYsMTEgKzE2LDExIEBAIFBBU1MgRG9j
dW1lbnRGcmFnbWVudCBpbmNsdWRlcyBQYXJlbnROb2RlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1
ZQogUEFTUyBFbGVtZW50IGluY2x1ZGVzIFBhcmVudE5vZGU6IG1lbWJlciBuYW1lcyBhcmUgdW5p
cXVlIAogUEFTUyBFbGVtZW50IGluY2x1ZGVzIE5vbkRvY3VtZW50VHlwZUNoaWxkTm9kZTogbWVt
YmVyIG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNTIEVsZW1lbnQgaW5jbHVkZXMgQ2hpbGROb2RlOiBt
ZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKLVBBU1MgRWxlbWVudCBpbmNsdWRlcyBTbG90YWJsZTog
bWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCitQQVNTIEVsZW1lbnQgaW5jbHVkZXMgU2xvdHRhYmxl
OiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgQ2hhcmFjdGVyRGF0YSBpbmNsdWRlcyBO
b25Eb2N1bWVudFR5cGVDaGlsZE5vZGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAogUEFTUyBD
aGFyYWN0ZXJEYXRhIGluY2x1ZGVzIENoaWxkTm9kZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUg
CiBQQVNTIERvY3VtZW50VHlwZSBpbmNsdWRlcyBDaGlsZE5vZGU6IG1lbWJlciBuYW1lcyBhcmUg
dW5pcXVlIAotUEFTUyBUZXh0IGluY2x1ZGVzIFNsb3RhYmxlOiBtZW1iZXIgbmFtZXMgYXJlIHVu
aXF1ZSAKK1BBU1MgVGV4dCBpbmNsdWRlcyBTbG90dGFibGU6IG1lbWJlciBuYW1lcyBhcmUgdW5p
cXVlIAogUEFTUyBYUGF0aEV2YWx1YXRvciBpbmNsdWRlcyBYUGF0aEV2YWx1YXRvckJhc2U6IG1l
bWJlciBuYW1lcyBhcmUgdW5pcXVlIAogUEFTUyBIVE1MRWxlbWVudCBpbmNsdWRlcyBHbG9iYWxF
dmVudEhhbmRsZXJzOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgSFRNTEVsZW1lbnQg
aW5jbHVkZXMgRG9jdW1lbnRBbmRFbGVtZW50RXZlbnRIYW5kbGVyczogbWVtYmVyIG5hbWVzIGFy
ZSB1bmlxdWUgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2RvbS9pZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9pZGxoYXJuZXNzLndpbmRvdy1l
eHBlY3RlZC50eHQKaW5kZXggMTM4ZWJiYThjNmNkMjk3NjRkOTE2NGYxNjFiMmVmNzMzMmQ5MDgx
ZC4uY2U4YmYwYjJlY2ZiZWE5ZmNiZDI3ZjhmZWI2MWE0Y2UwZWIyZjJjMyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vaWRsaGFybmVz
cy53aW5kb3ctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZG9tL2lkbGhhcm5lc3Mud2luZG93LWV4cGVjdGVkLnR4dApAQCAtMTYs
MTEgKzE2LDExIEBAIFBBU1MgRG9jdW1lbnRGcmFnbWVudCBpbmNsdWRlcyBQYXJlbnROb2RlOiBt
ZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQogUEFTUyBFbGVtZW50IGluY2x1ZGVzIFBhcmVudE5vZGU6
IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAogUEFTUyBFbGVtZW50IGluY2x1ZGVzIE5vbkRvY3Vt
ZW50VHlwZUNoaWxkTm9kZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNTIEVsZW1lbnQg
aW5jbHVkZXMgQ2hpbGROb2RlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKLVBBU1MgRWxlbWVu
dCBpbmNsdWRlcyBTbG90YWJsZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCitQQVNTIEVsZW1l
bnQgaW5jbHVkZXMgU2xvdHRhYmxlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgQ2hh
cmFjdGVyRGF0YSBpbmNsdWRlcyBOb25Eb2N1bWVudFR5cGVDaGlsZE5vZGU6IG1lbWJlciBuYW1l
cyBhcmUgdW5pcXVlIAogUEFTUyBDaGFyYWN0ZXJEYXRhIGluY2x1ZGVzIENoaWxkTm9kZTogbWVt
YmVyIG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNTIERvY3VtZW50VHlwZSBpbmNsdWRlcyBDaGlsZE5v
ZGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAotUEFTUyBUZXh0IGluY2x1ZGVzIFNsb3RhYmxl
OiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKK1BBU1MgVGV4dCBpbmNsdWRlcyBTbG90dGFibGU6
IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAogUEFTUyBYUGF0aEV2YWx1YXRvciBpbmNsdWRlcyBY
UGF0aEV2YWx1YXRvckJhc2U6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAogUEFTUyBIVE1MRWxl
bWVudCBpbmNsdWRlcyBHbG9iYWxFdmVudEhhbmRsZXJzOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1
ZSAKIFBBU1MgSFRNTEVsZW1lbnQgaW5jbHVkZXMgRG9jdW1lbnRBbmRFbGVtZW50RXZlbnRIYW5k
bGVyczogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCkBAIC0zNjcsNiArMzY3LDcgQEAgUEFTUyBE
b2N1bWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBsYXN0RWxlbWVudENoaWxkCiBQQVNTIERvY3Vt
ZW50IGludGVyZmFjZTogYXR0cmlidXRlIGNoaWxkRWxlbWVudENvdW50IAogUEFTUyBEb2N1bWVu
dCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBwcmVwZW5kKChOb2RlIG9yIERPTVN0cmluZykuLi4pIAog
UEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBhcHBlbmQoKE5vZGUgb3IgRE9NU3Ry
aW5nKS4uLikgCitGQUlMIERvY3VtZW50IGludGVyZmFjZTogb3BlcmF0aW9uIHJlcGxhY2VDaGls
ZHJlbigoTm9kZSBvciBET01TdHJpbmcpLi4uKSBhc3NlcnRfb3duX3Byb3BlcnR5OiBpbnRlcmZh
Y2UgcHJvdG90eXBlIG9iamVjdCBtaXNzaW5nIG5vbi1zdGF0aWMgb3BlcmF0aW9uIGV4cGVjdGVk
IHByb3BlcnR5ICJyZXBsYWNlQ2hpbGRyZW4iIG1pc3NpbmcKIFBBU1MgRG9jdW1lbnQgaW50ZXJm
YWNlOiBvcGVyYXRpb24gcXVlcnlTZWxlY3RvcihET01TdHJpbmcpIAogUEFTUyBEb2N1bWVudCBp
bnRlcmZhY2U6IG9wZXJhdGlvbiBxdWVyeVNlbGVjdG9yQWxsKERPTVN0cmluZykgCiBQQVNTIERv
Y3VtZW50IGludGVyZmFjZTogb3BlcmF0aW9uIGNyZWF0ZUV4cHJlc3Npb24oRE9NU3RyaW5nLCBv
cHRpb25hbCBYUGF0aE5TUmVzb2x2ZXI/KSAKQEAgLTQyOCw2ICs0MjksOCBAQCBQQVNTIERvY3Vt
ZW50IGludGVyZmFjZTogbmV3IERvY3VtZW50KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJwcmVw
ZW5kKChOb2RlIG9yCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogY2FsbGluZyBwcmVwZW5kKChO
b2RlIG9yIERPTVN0cmluZykuLi4pIG9uIG5ldyBEb2N1bWVudCgpIHdpdGggdG9vIGZldyBhcmd1
bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogbmV3
IERvY3VtZW50KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJhcHBlbmQoKE5vZGUgb3IgRE9NU3Ry
aW5nKS4uLikiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6
IGNhbGxpbmcgYXBwZW5kKChOb2RlIG9yIERPTVN0cmluZykuLi4pIG9uIG5ldyBEb2N1bWVudCgp
IHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCitGQUlMIERvY3Vt
ZW50IGludGVyZmFjZTogbmV3IERvY3VtZW50KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJyZXBs
YWNlQ2hpbGRyZW4oKE5vZGUgb3IgRE9NU3RyaW5nKS4uLikiIHdpdGggdGhlIHByb3BlciB0eXBl
IGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgInJlcGxhY2VDaGlsZHJlbiIgbm90IGZvdW5kIGlu
IHByb3RvdHlwZSBjaGFpbgorRkFJTCBEb2N1bWVudCBpbnRlcmZhY2U6IGNhbGxpbmcgcmVwbGFj
ZUNoaWxkcmVuKChOb2RlIG9yIERPTVN0cmluZykuLi4pIG9uIG5ldyBEb2N1bWVudCgpIHdpdGgg
dG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgYXNzZXJ0X2luaGVyaXRzOiBw
cm9wZXJ0eSAicmVwbGFjZUNoaWxkcmVuIiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCiBQ
QVNTIERvY3VtZW50IGludGVyZmFjZTogbmV3IERvY3VtZW50KCkgbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJxdWVyeVNlbGVjdG9yKERPTVN0cmluZykiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFT
UyBEb2N1bWVudCBpbnRlcmZhY2U6IGNhbGxpbmcgcXVlcnlTZWxlY3RvcihET01TdHJpbmcpIG9u
IG5ldyBEb2N1bWVudCgpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJy
b3IgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogbmV3IERvY3VtZW50KCkgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJxdWVyeVNlbGVjdG9yQWxsKERPTVN0cmluZykiIHdpdGggdGhlIHByb3BlciB0
eXBlIApAQCAtNTY2LDYgKzU2OSw4IEBAIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiB4bWxEb2Mg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJwcmVwZW5kKChOb2RlIG9yIERPTVN0cmluCiBQQVNTIERv
Y3VtZW50IGludGVyZmFjZTogY2FsbGluZyBwcmVwZW5kKChOb2RlIG9yIERPTVN0cmluZykuLi4p
IG9uIHhtbERvYyB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAog
UEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IHhtbERvYyBtdXN0IGluaGVyaXQgcHJvcGVydHkgImFw
cGVuZCgoTm9kZSBvciBET01TdHJpbmcpLi4uKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNT
IERvY3VtZW50IGludGVyZmFjZTogY2FsbGluZyBhcHBlbmQoKE5vZGUgb3IgRE9NU3RyaW5nKS4u
Likgb24geG1sRG9jIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3Ig
CitGQUlMIERvY3VtZW50IGludGVyZmFjZTogeG1sRG9jIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAi
cmVwbGFjZUNoaWxkcmVuKChOb2RlIG9yIERPTVN0cmluZykuLi4pIiB3aXRoIHRoZSBwcm9wZXIg
dHlwZSBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJyZXBsYWNlQ2hpbGRyZW4iIG5vdCBmb3Vu
ZCBpbiBwcm90b3R5cGUgY2hhaW4KK0ZBSUwgRG9jdW1lbnQgaW50ZXJmYWNlOiBjYWxsaW5nIHJl
cGxhY2VDaGlsZHJlbigoTm9kZSBvciBET01TdHJpbmcpLi4uKSBvbiB4bWxEb2Mgd2l0aCB0b28g
ZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciBhc3NlcnRfaW5oZXJpdHM6IHByb3Bl
cnR5ICJyZXBsYWNlQ2hpbGRyZW4iIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KIFBBU1Mg
RG9jdW1lbnQgaW50ZXJmYWNlOiB4bWxEb2MgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJxdWVyeVNl
bGVjdG9yKERPTVN0cmluZykiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBp
bnRlcmZhY2U6IGNhbGxpbmcgcXVlcnlTZWxlY3RvcihET01TdHJpbmcpIG9uIHhtbERvYyB3aXRo
IHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAogUEFTUyBEb2N1bWVudCBp
bnRlcmZhY2U6IHhtbERvYyBtdXN0IGluaGVyaXQgcHJvcGVydHkgInF1ZXJ5U2VsZWN0b3JBbGwo
RE9NU3RyaW5nKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCkBAIC03NjUsNiArNzcwLDcgQEAgUEFT
UyBEb2N1bWVudEZyYWdtZW50IGludGVyZmFjZTogYXR0cmlidXRlIGxhc3RFbGVtZW50Q2hpbGQK
IFBBU1MgRG9jdW1lbnRGcmFnbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBjaGlsZEVsZW1lbnRD
b3VudCAKIFBBU1MgRG9jdW1lbnRGcmFnbWVudCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBwcmVwZW5k
KChOb2RlIG9yIERPTVN0cmluZykuLi4pIAogUEFTUyBEb2N1bWVudEZyYWdtZW50IGludGVyZmFj
ZTogb3BlcmF0aW9uIGFwcGVuZCgoTm9kZSBvciBET01TdHJpbmcpLi4uKSAKK0ZBSUwgRG9jdW1l
bnRGcmFnbWVudCBpbnRlcmZhY2U6IG9wZXJhdGlvbiByZXBsYWNlQ2hpbGRyZW4oKE5vZGUgb3Ig
RE9NU3RyaW5nKS4uLikgYXNzZXJ0X293bl9wcm9wZXJ0eTogaW50ZXJmYWNlIHByb3RvdHlwZSBv
YmplY3QgbWlzc2luZyBub24tc3RhdGljIG9wZXJhdGlvbiBleHBlY3RlZCBwcm9wZXJ0eSAicmVw
bGFjZUNoaWxkcmVuIiBtaXNzaW5nCiBQQVNTIERvY3VtZW50RnJhZ21lbnQgaW50ZXJmYWNlOiBv
cGVyYXRpb24gcXVlcnlTZWxlY3RvcihET01TdHJpbmcpIAogUEFTUyBEb2N1bWVudEZyYWdtZW50
IGludGVyZmFjZTogb3BlcmF0aW9uIHF1ZXJ5U2VsZWN0b3JBbGwoRE9NU3RyaW5nKSAKIFBBU1Mg
RG9jdW1lbnRGcmFnbWVudCBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIGRvY3VtZW50LmNy
ZWF0ZURvY3VtZW50RnJhZ21lbnQoKSAKQEAgLTc3OSw2ICs3ODUsOCBAQCBQQVNTIERvY3VtZW50
RnJhZ21lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCkgbXVz
dCBpbmhlcml0CiBQQVNTIERvY3VtZW50RnJhZ21lbnQgaW50ZXJmYWNlOiBjYWxsaW5nIHByZXBl
bmQoKE5vZGUgb3IgRE9NU3RyaW5nKS4uLikgb24gZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFn
bWVudCgpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCiBQQVNT
IERvY3VtZW50RnJhZ21lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdt
ZW50KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJhcHBlbmQoKE5vZGUgb3IgRE9NU3RyaW5nKS4u
LikiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudEZyYWdtZW50IGludGVyZmFj
ZTogY2FsbGluZyBhcHBlbmQoKE5vZGUgb3IgRE9NU3RyaW5nKS4uLikgb24gZG9jdW1lbnQuY3Jl
YXRlRG9jdW1lbnRGcmFnbWVudCgpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBU
eXBlRXJyb3IgCitGQUlMIERvY3VtZW50RnJhZ21lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVh
dGVEb2N1bWVudEZyYWdtZW50KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJyZXBsYWNlQ2hpbGRy
ZW4oKE5vZGUgb3IgRE9NU3RyaW5nKS4uLikiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9p
bmhlcml0czogcHJvcGVydHkgInJlcGxhY2VDaGlsZHJlbiIgbm90IGZvdW5kIGluIHByb3RvdHlw
ZSBjaGFpbgorRkFJTCBEb2N1bWVudEZyYWdtZW50IGludGVyZmFjZTogY2FsbGluZyByZXBsYWNl
Q2hpbGRyZW4oKE5vZGUgb3IgRE9NU3RyaW5nKS4uLikgb24gZG9jdW1lbnQuY3JlYXRlRG9jdW1l
bnRGcmFnbWVudCgpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3Ig
YXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAicmVwbGFjZUNoaWxkcmVuIiBub3QgZm91bmQgaW4g
cHJvdG90eXBlIGNoYWluCiBQQVNTIERvY3VtZW50RnJhZ21lbnQgaW50ZXJmYWNlOiBkb2N1bWVu
dC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJxdWVyeVNl
bGVjdG9yKERPTVN0cmluZykiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudEZy
YWdtZW50IGludGVyZmFjZTogY2FsbGluZyBxdWVyeVNlbGVjdG9yKERPTVN0cmluZykgb24gZG9j
dW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVz
dCB0aHJvdyBUeXBlRXJyb3IgCiBQQVNTIERvY3VtZW50RnJhZ21lbnQgaW50ZXJmYWNlOiBkb2N1
bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJxdWVy
eVNlbGVjdG9yQWxsKERPTVN0cmluZykiIHdpdGggdGhlIHByb3BlciB0eXBlIApAQCAtOTA1LDYg
KzkxMyw3IEBAIFBBU1MgRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBsYXN0RWxlbWVudENo
aWxkCiBQQVNTIEVsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgY2hpbGRFbGVtZW50Q291bnQg
CiBQQVNTIEVsZW1lbnQgaW50ZXJmYWNlOiBvcGVyYXRpb24gcHJlcGVuZCgoTm9kZSBvciBET01T
dHJpbmcpLi4uKSAKIFBBU1MgRWxlbWVudCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBhcHBlbmQoKE5v
ZGUgb3IgRE9NU3RyaW5nKS4uLikgCitGQUlMIEVsZW1lbnQgaW50ZXJmYWNlOiBvcGVyYXRpb24g
cmVwbGFjZUNoaWxkcmVuKChOb2RlIG9yIERPTVN0cmluZykuLi4pIGFzc2VydF9vd25fcHJvcGVy
dHk6IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IG1pc3Npbmcgbm9uLXN0YXRpYyBvcGVyYXRp
b24gZXhwZWN0ZWQgcHJvcGVydHkgInJlcGxhY2VDaGlsZHJlbiIgbWlzc2luZwogUEFTUyBFbGVt
ZW50IGludGVyZmFjZTogb3BlcmF0aW9uIHF1ZXJ5U2VsZWN0b3IoRE9NU3RyaW5nKSAKIFBBU1Mg
RWxlbWVudCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBxdWVyeVNlbGVjdG9yQWxsKERPTVN0cmluZykg
CiBQQVNTIEVsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgcHJldmlvdXNFbGVtZW50U2libGlu
ZyAKQEAgLTk4Miw2ICs5OTEsOCBAQCBQQVNTIEVsZW1lbnQgaW50ZXJmYWNlOiBlbGVtZW50IG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAicHJlcGVuZCgoTm9kZSBvciBET01TdHJpbgogUEFTUyBFbGVt
ZW50IGludGVyZmFjZTogY2FsbGluZyBwcmVwZW5kKChOb2RlIG9yIERPTVN0cmluZykuLi4pIG9u
IGVsZW1lbnQgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKIFBB
U1MgRWxlbWVudCBpbnRlcmZhY2U6IGVsZW1lbnQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJhcHBl
bmQoKE5vZGUgb3IgRE9NU3RyaW5nKS4uLikiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBF
bGVtZW50IGludGVyZmFjZTogY2FsbGluZyBhcHBlbmQoKE5vZGUgb3IgRE9NU3RyaW5nKS4uLikg
b24gZWxlbWVudCB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAor
RkFJTCBFbGVtZW50IGludGVyZmFjZTogZWxlbWVudCBtdXN0IGluaGVyaXQgcHJvcGVydHkgInJl
cGxhY2VDaGlsZHJlbigoTm9kZSBvciBET01TdHJpbmcpLi4uKSIgd2l0aCB0aGUgcHJvcGVyIHR5
cGUgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAicmVwbGFjZUNoaWxkcmVuIiBub3QgZm91bmQg
aW4gcHJvdG90eXBlIGNoYWluCitGQUlMIEVsZW1lbnQgaW50ZXJmYWNlOiBjYWxsaW5nIHJlcGxh
Y2VDaGlsZHJlbigoTm9kZSBvciBET01TdHJpbmcpLi4uKSBvbiBlbGVtZW50IHdpdGggdG9vIGZl
dyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0
eSAicmVwbGFjZUNoaWxkcmVuIiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCiBQQVNTIEVs
ZW1lbnQgaW50ZXJmYWNlOiBlbGVtZW50IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicXVlcnlTZWxl
Y3RvcihET01TdHJpbmcpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRWxlbWVudCBpbnRl
cmZhY2U6IGNhbGxpbmcgcXVlcnlTZWxlY3RvcihET01TdHJpbmcpIG9uIGVsZW1lbnQgd2l0aCB0
b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKIFBBU1MgRWxlbWVudCBpbnRl
cmZhY2U6IGVsZW1lbnQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJxdWVyeVNlbGVjdG9yQWxsKERP
TVN0cmluZykiIHdpdGggdGhlIHByb3BlciB0eXBlIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb21wYXJzaW5nL2lkbGhhcm5lc3Mud2lu
ZG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZG9tcGFyc2luZy9pZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQKaW5kZXggNjUw
ZDM4MzA4MDQ3MWI4Mzc4NDNhOTRjYmVjNWY1ZDBjMDVlNjhlOC4uN2M1NzI5MTJiYmUyNzYwMmE3
ODk4NjY1Y2UxOGJlYWZjNjQ4N2MyMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb21wYXJzaW5nL2lkbGhhcm5lc3Mud2luZG93LWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2RvbXBhcnNpbmcvaWRsaGFybmVzcy53aW5kb3ctZXhwZWN0ZWQudHh0CkBAIC05LDIxICs5LDEw
IEBAIFBBU1MgRWxlbWVudCBpbmNsdWRlcyBJbm5lckhUTUw6IG1lbWJlciBuYW1lcyBhcmUgdW5p
cXVlCiBQQVNTIEVsZW1lbnQgaW5jbHVkZXMgUGFyZW50Tm9kZTogbWVtYmVyIG5hbWVzIGFyZSB1
bmlxdWUgCiBQQVNTIEVsZW1lbnQgaW5jbHVkZXMgTm9uRG9jdW1lbnRUeXBlQ2hpbGROb2RlOiBt
ZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgRWxlbWVudCBpbmNsdWRlcyBDaGlsZE5vZGU6
IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAotUEFTUyBFbGVtZW50IGluY2x1ZGVzIFNsb3RhYmxl
OiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKK1BBU1MgRWxlbWVudCBpbmNsdWRlcyBTbG90dGFi
bGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAogUEFTUyBTaGFkb3dSb290IGluY2x1ZGVzIElu
bmVySFRNTDogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNTIERvY3VtZW50RnJhZ21lbnQg
aW5jbHVkZXMgTm9uRWxlbWVudFBhcmVudE5vZGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAog
UEFTUyBEb2N1bWVudEZyYWdtZW50IGluY2x1ZGVzIFBhcmVudE5vZGU6IG1lbWJlciBuYW1lcyBh
cmUgdW5pcXVlIAotUEFTUyBET01QYXJzZXIgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3Bl
cnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKLVBBU1MgRE9NUGFyc2VyIGludGVyZmFjZSBvYmpl
Y3QgbGVuZ3RoIAotUEFTUyBET01QYXJzZXIgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAotUEFTUyBE
T01QYXJzZXIgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNl
IHByb3RvdHlwZSBvYmplY3QgCi1QQVNTIERPTVBhcnNlciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3Rv
ciIgcHJvcGVydHkgCi1QQVNTIERPTVBhcnNlciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJv
cGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJv
cGVydHkgCi1QQVNTIERPTVBhcnNlciBpbnRlcmZhY2U6IG9wZXJhdGlvbiBwYXJzZUZyb21TdHJp
bmcoRE9NU3RyaW5nLCBTdXBwb3J0ZWRUeXBlKSAKLVBBU1MgRE9NUGFyc2VyIG11c3QgYmUgcHJp
bWFyeSBpbnRlcmZhY2Ugb2YgbmV3IERPTVBhcnNlcigpIAotUEFTUyBTdHJpbmdpZmljYXRpb24g
b2YgbmV3IERPTVBhcnNlcigpIAotUEFTUyBET01QYXJzZXIgaW50ZXJmYWNlOiBuZXcgRE9NUGFy
c2VyKCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJwYXJzZUZyb21TdHJpbmcoRE9NU3RyaW5nLCBT
dXBwb3J0ZWRUeXBlKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCi1QQVNTIERPTVBhcnNlciBpbnRl
cmZhY2U6IGNhbGxpbmcgcGFyc2VGcm9tU3RyaW5nKERPTVN0cmluZywgU3VwcG9ydGVkVHlwZSkg
b24gbmV3IERPTVBhcnNlcigpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBl
RXJyb3IgCiBQQVNTIFhNTFNlcmlhbGl6ZXIgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3Bl
cnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKIFBBU1MgWE1MU2VyaWFsaXplciBpbnRlcmZhY2Ug
b2JqZWN0IGxlbmd0aCAKIFBBU1MgWE1MU2VyaWFsaXplciBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUg
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvZG9tL2lkbGhhcm5lc3Mud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9kb20vaWRsaGFybmVzcy53b3JrZXIt
ZXhwZWN0ZWQudHh0CmluZGV4IGZjNjAxZjExMmYwMTU3Y2M0YTljY2FiYTM0MmRjNWY0YWIwOGNj
MTkuLjI4OTIxZjkwNzJkNzI2NzIyMGI5ZDMxODNhZjhmMDcwOTA4MDBiODEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9kb20vaWRs
aGFybmVzcy53b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9kb20vaWRsaGFybmVzcy53b3JrZXItZXhwZWN0ZWQu
dHh0CkBAIC0xNTIsNyArMTUyLDcgQEAgUEFTUyBTaGFkb3dSb290IGluY2x1ZGVzIERvY3VtZW50
T3JTaGFkb3dSb290OiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQogUEFTUyBFbGVtZW50IGluY2x1
ZGVzIFBhcmVudE5vZGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAogUEFTUyBFbGVtZW50IGlu
Y2x1ZGVzIE5vbkRvY3VtZW50VHlwZUNoaWxkTm9kZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUg
CiBQQVNTIEVsZW1lbnQgaW5jbHVkZXMgQ2hpbGROb2RlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1
ZSAKLVBBU1MgRWxlbWVudCBpbmNsdWRlcyBTbG90YWJsZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlx
dWUgCitQQVNTIEVsZW1lbnQgaW5jbHVkZXMgU2xvdHRhYmxlOiBtZW1iZXIgbmFtZXMgYXJlIHVu
aXF1ZSAKIFBBU1MgSFRNTEFsbENvbGxlY3Rpb24gaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHBy
b3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKIFBBU1MgSFRNTEZvcm1Db250cm9sc0NvbGxl
Y3Rpb24gaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9i
amVjdCAKIFBBU1MgUmFkaW9Ob2RlTGlzdCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVy
dGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IApAQCAtNDM1LDYgKzQzNSw3IEBAIFBBU1MgUHJvbWlz
ZVJlamVjdGlvbkV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBwcm90CiBQQVNTIFByb21pc2VSZWplY3Rpb25FdmVudCBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5z
Y29wYWJsZXMgcHJvcGVydHkgCiBQQVNTIFByb21pc2VSZWplY3Rpb25FdmVudCBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBwcm9taXNlIAogUEFTUyBQcm9taXNlUmVqZWN0aW9uRXZlbnQgaW50ZXJmYWNl
OiBhdHRyaWJ1dGUgcmVhc29uIAorUEFTUyBET01QYXJzZXIgaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKIFBBU1MgTmF2aWdhdG9yIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCiBQQVNT
IFBsdWdpbkFycmF5IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBvYmplY3QgCiBQQVNTIE1pbWVUeXBlQXJyYXkgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC93ZWJhcHBhcGlzL3NjcmlwdGlu
Zy9ldmVudHMvZXZlbnQtaGFuZGxlci1hbGwtZ2xvYmFsLWV2ZW50cy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBp
cy9zY3JpcHRpbmcvZXZlbnRzL2V2ZW50LWhhbmRsZXItYWxsLWdsb2JhbC1ldmVudHMtZXhwZWN0
ZWQudHh0CmluZGV4IGZjMzg3NWYxOWIzM2U1ODIyZjE5ZGVlNzEzMTA3ODg0MjNkZWU0NWIuLjIy
MGU0MWVlNWE5YTRkYjE3YmY0ODRlNjc1MGE1ODM0ZmRkNTY3MGIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC93ZWJhcHBhcGlzL3Nj
cmlwdGluZy9ldmVudHMvZXZlbnQtaGFuZGxlci1hbGwtZ2xvYmFsLWV2ZW50cy1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3dlYmFwcGFwaXMvc2NyaXB0aW5nL2V2ZW50cy9ldmVudC1oYW5kbGVyLWFsbC1nbG9iYWwtZXZl
bnRzLWV4cGVjdGVkLnR4dApAQCAtMjA0LDExICsyMDQsNiBAQCBQQVNTIG9ubW91c2V1cDogdGhl
IGRlZmF1bHQgdmFsdWUgbXVzdCBiZSBudWxsCiBQQVNTIG9ubW91c2V1cDogdGhlIGNvbnRlbnQg
YXR0cmlidXRlIG11c3QgYmUgY29tcGlsZWQgaW50byBhIGZ1bmN0aW9uIGFzIHRoZSBjb3JyZXNw
b25kaW5nIHByb3BlcnR5IAogUEFTUyBvbm1vdXNldXA6IHRoZSBjb250ZW50IGF0dHJpYnV0ZSBt
dXN0IGV4ZWN1dGUgd2hlbiBhbiBldmVudCBpcyBkaXNwYXRjaGVkIAogUEFTUyBvbm1vdXNldXA6
IGRpc3BhdGNoaW5nIGFuIEV2ZW50IGF0IGEgPG1ldGE+IGVsZW1lbnQgbXVzdCB0cmlnZ2VyIGVs
ZW1lbnQub25tb3VzZXVwIAotUEFTUyBvbndoZWVsOiBtdXN0IGJlIG9uIHRoZSBhcHByb3ByaWF0
ZSBsb2NhdGlvbnMgZm9yIEdsb2JhbEV2ZW50SGFuZGxlcnMgCi1QQVNTIG9ud2hlZWw6IHRoZSBk
ZWZhdWx0IHZhbHVlIG11c3QgYmUgbnVsbCAKLVBBU1Mgb253aGVlbDogdGhlIGNvbnRlbnQgYXR0
cmlidXRlIG11c3QgYmUgY29tcGlsZWQgaW50byBhIGZ1bmN0aW9uIGFzIHRoZSBjb3JyZXNwb25k
aW5nIHByb3BlcnR5IAotUEFTUyBvbndoZWVsOiB0aGUgY29udGVudCBhdHRyaWJ1dGUgbXVzdCBl
eGVjdXRlIHdoZW4gYW4gZXZlbnQgaXMgZGlzcGF0Y2hlZCAKLVBBU1Mgb253aGVlbDogZGlzcGF0
Y2hpbmcgYW4gRXZlbnQgYXQgYSA8bWV0YT4gZWxlbWVudCBtdXN0IHRyaWdnZXIgZWxlbWVudC5v
bndoZWVsIAogUEFTUyBvbnBhdXNlOiBtdXN0IGJlIG9uIHRoZSBhcHByb3ByaWF0ZSBsb2NhdGlv
bnMgZm9yIEdsb2JhbEV2ZW50SGFuZGxlcnMgCiBQQVNTIG9ucGF1c2U6IHRoZSBkZWZhdWx0IHZh
bHVlIG11c3QgYmUgbnVsbCAKIFBBU1Mgb25wYXVzZTogdGhlIGNvbnRlbnQgYXR0cmlidXRlIG11
c3QgYmUgY29tcGlsZWQgaW50byBhIGZ1bmN0aW9uIGFzIHRoZSBjb3JyZXNwb25kaW5nIHByb3Bl
cnR5IApAQCAtMzA5LDQgKzMwNCwyOSBAQCBQQVNTIG9ud2FpdGluZzogdGhlIGRlZmF1bHQgdmFs
dWUgbXVzdCBiZSBudWxsCiBQQVNTIG9ud2FpdGluZzogdGhlIGNvbnRlbnQgYXR0cmlidXRlIG11
c3QgYmUgY29tcGlsZWQgaW50byBhIGZ1bmN0aW9uIGFzIHRoZSBjb3JyZXNwb25kaW5nIHByb3Bl
cnR5IAogUEFTUyBvbndhaXRpbmc6IHRoZSBjb250ZW50IGF0dHJpYnV0ZSBtdXN0IGV4ZWN1dGUg
d2hlbiBhbiBldmVudCBpcyBkaXNwYXRjaGVkIAogUEFTUyBvbndhaXRpbmc6IGRpc3BhdGNoaW5n
IGFuIEV2ZW50IGF0IGEgPG1ldGE+IGVsZW1lbnQgbXVzdCB0cmlnZ2VyIGVsZW1lbnQub253YWl0
aW5nIAorRkFJTCBvbndlYmtpdGFuaW1hdGlvbmVuZDogbXVzdCBiZSBvbiB0aGUgYXBwcm9wcmlh
dGUgbG9jYXRpb25zIGZvciBHbG9iYWxFdmVudEhhbmRsZXJzIGFzc2VydF90cnVlOiBIVE1MRWxl
bWVudCBoYXMgYW4gb3duIHByb3BlcnR5IG5hbWVkICJvbndlYmtpdGFuaW1hdGlvbmVuZCIgZXhw
ZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BBU1Mgb253ZWJraXRhbmltYXRpb25lbmQ6IHRoZSBkZWZh
dWx0IHZhbHVlIG11c3QgYmUgbnVsbCAKK1BBU1Mgb253ZWJraXRhbmltYXRpb25lbmQ6IHRoZSBj
b250ZW50IGF0dHJpYnV0ZSBtdXN0IGJlIGNvbXBpbGVkIGludG8gYSBmdW5jdGlvbiBhcyB0aGUg
Y29ycmVzcG9uZGluZyBwcm9wZXJ0eSAKK0ZBSUwgb253ZWJraXRhbmltYXRpb25lbmQ6IHRoZSBj
b250ZW50IGF0dHJpYnV0ZSBtdXN0IGV4ZWN1dGUgd2hlbiBhbiBldmVudCBpcyBkaXNwYXRjaGVk
IGFzc2VydF90cnVlOiBEaXNwYXRjaGluZyBhbiBldmVudCBtdXN0IHJ1biB0aGUgY29kZSBleHBl
Y3RlZCB0cnVlIGdvdCB1bmRlZmluZWQKK1BBU1Mgb253ZWJraXRhbmltYXRpb25lbmQ6IGRpc3Bh
dGNoaW5nIGFuIEV2ZW50IGF0IGEgPG1ldGE+IGVsZW1lbnQgbXVzdCB0cmlnZ2VyIGVsZW1lbnQu
b253ZWJraXRhbmltYXRpb25lbmQgCitGQUlMIG9ud2Via2l0YW5pbWF0aW9uaXRlcmF0aW9uOiBt
dXN0IGJlIG9uIHRoZSBhcHByb3ByaWF0ZSBsb2NhdGlvbnMgZm9yIEdsb2JhbEV2ZW50SGFuZGxl
cnMgYXNzZXJ0X3RydWU6IEhUTUxFbGVtZW50IGhhcyBhbiBvd24gcHJvcGVydHkgbmFtZWQgIm9u
d2Via2l0YW5pbWF0aW9uaXRlcmF0aW9uIiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorUEFTUyBv
bndlYmtpdGFuaW1hdGlvbml0ZXJhdGlvbjogdGhlIGRlZmF1bHQgdmFsdWUgbXVzdCBiZSBudWxs
IAorUEFTUyBvbndlYmtpdGFuaW1hdGlvbml0ZXJhdGlvbjogdGhlIGNvbnRlbnQgYXR0cmlidXRl
IG11c3QgYmUgY29tcGlsZWQgaW50byBhIGZ1bmN0aW9uIGFzIHRoZSBjb3JyZXNwb25kaW5nIHBy
b3BlcnR5IAorRkFJTCBvbndlYmtpdGFuaW1hdGlvbml0ZXJhdGlvbjogdGhlIGNvbnRlbnQgYXR0
cmlidXRlIG11c3QgZXhlY3V0ZSB3aGVuIGFuIGV2ZW50IGlzIGRpc3BhdGNoZWQgYXNzZXJ0X3Ry
dWU6IERpc3BhdGNoaW5nIGFuIGV2ZW50IG11c3QgcnVuIHRoZSBjb2RlIGV4cGVjdGVkIHRydWUg
Z290IHVuZGVmaW5lZAorUEFTUyBvbndlYmtpdGFuaW1hdGlvbml0ZXJhdGlvbjogZGlzcGF0Y2hp
bmcgYW4gRXZlbnQgYXQgYSA8bWV0YT4gZWxlbWVudCBtdXN0IHRyaWdnZXIgZWxlbWVudC5vbndl
YmtpdGFuaW1hdGlvbml0ZXJhdGlvbiAKK0ZBSUwgb253ZWJraXRhbmltYXRpb25zdGFydDogbXVz
dCBiZSBvbiB0aGUgYXBwcm9wcmlhdGUgbG9jYXRpb25zIGZvciBHbG9iYWxFdmVudEhhbmRsZXJz
IGFzc2VydF90cnVlOiBIVE1MRWxlbWVudCBoYXMgYW4gb3duIHByb3BlcnR5IG5hbWVkICJvbndl
YmtpdGFuaW1hdGlvbnN0YXJ0IiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorUEFTUyBvbndlYmtp
dGFuaW1hdGlvbnN0YXJ0OiB0aGUgZGVmYXVsdCB2YWx1ZSBtdXN0IGJlIG51bGwgCitQQVNTIG9u
d2Via2l0YW5pbWF0aW9uc3RhcnQ6IHRoZSBjb250ZW50IGF0dHJpYnV0ZSBtdXN0IGJlIGNvbXBp
bGVkIGludG8gYSBmdW5jdGlvbiBhcyB0aGUgY29ycmVzcG9uZGluZyBwcm9wZXJ0eSAKK0ZBSUwg
b253ZWJraXRhbmltYXRpb25zdGFydDogdGhlIGNvbnRlbnQgYXR0cmlidXRlIG11c3QgZXhlY3V0
ZSB3aGVuIGFuIGV2ZW50IGlzIGRpc3BhdGNoZWQgYXNzZXJ0X3RydWU6IERpc3BhdGNoaW5nIGFu
IGV2ZW50IG11c3QgcnVuIHRoZSBjb2RlIGV4cGVjdGVkIHRydWUgZ290IHVuZGVmaW5lZAorUEFT
UyBvbndlYmtpdGFuaW1hdGlvbnN0YXJ0OiBkaXNwYXRjaGluZyBhbiBFdmVudCBhdCBhIDxtZXRh
PiBlbGVtZW50IG11c3QgdHJpZ2dlciBlbGVtZW50Lm9ud2Via2l0YW5pbWF0aW9uc3RhcnQgCitG
QUlMIG9ud2Via2l0dHJhbnNpdGlvbmVuZDogbXVzdCBiZSBvbiB0aGUgYXBwcm9wcmlhdGUgbG9j
YXRpb25zIGZvciBHbG9iYWxFdmVudEhhbmRsZXJzIGFzc2VydF90cnVlOiBIVE1MRWxlbWVudCBo
YXMgYW4gb3duIHByb3BlcnR5IG5hbWVkICJvbndlYmtpdHRyYW5zaXRpb25lbmQiIGV4cGVjdGVk
IHRydWUgZ290IGZhbHNlCitQQVNTIG9ud2Via2l0dHJhbnNpdGlvbmVuZDogdGhlIGRlZmF1bHQg
dmFsdWUgbXVzdCBiZSBudWxsIAorUEFTUyBvbndlYmtpdHRyYW5zaXRpb25lbmQ6IHRoZSBjb250
ZW50IGF0dHJpYnV0ZSBtdXN0IGJlIGNvbXBpbGVkIGludG8gYSBmdW5jdGlvbiBhcyB0aGUgY29y
cmVzcG9uZGluZyBwcm9wZXJ0eSAKK0ZBSUwgb253ZWJraXR0cmFuc2l0aW9uZW5kOiB0aGUgY29u
dGVudCBhdHRyaWJ1dGUgbXVzdCBleGVjdXRlIHdoZW4gYW4gZXZlbnQgaXMgZGlzcGF0Y2hlZCBh
c3NlcnRfdHJ1ZTogRGlzcGF0Y2hpbmcgYW4gZXZlbnQgbXVzdCBydW4gdGhlIGNvZGUgZXhwZWN0
ZWQgdHJ1ZSBnb3QgdW5kZWZpbmVkCitQQVNTIG9ud2Via2l0dHJhbnNpdGlvbmVuZDogZGlzcGF0
Y2hpbmcgYW4gRXZlbnQgYXQgYSA8bWV0YT4gZWxlbWVudCBtdXN0IHRyaWdnZXIgZWxlbWVudC5v
bndlYmtpdHRyYW5zaXRpb25lbmQgCitQQVNTIG9ud2hlZWw6IG11c3QgYmUgb24gdGhlIGFwcHJv
cHJpYXRlIGxvY2F0aW9ucyBmb3IgR2xvYmFsRXZlbnRIYW5kbGVycyAKK1BBU1Mgb253aGVlbDog
dGhlIGRlZmF1bHQgdmFsdWUgbXVzdCBiZSBudWxsIAorUEFTUyBvbndoZWVsOiB0aGUgY29udGVu
dCBhdHRyaWJ1dGUgbXVzdCBiZSBjb21waWxlZCBpbnRvIGEgZnVuY3Rpb24gYXMgdGhlIGNvcnJl
c3BvbmRpbmcgcHJvcGVydHkgCitQQVNTIG9ud2hlZWw6IHRoZSBjb250ZW50IGF0dHJpYnV0ZSBt
dXN0IGV4ZWN1dGUgd2hlbiBhbiBldmVudCBpcyBkaXNwYXRjaGVkIAorUEFTUyBvbndoZWVsOiBk
aXNwYXRjaGluZyBhbiBFdmVudCBhdCBhIDxtZXRhPiBlbGVtZW50IG11c3QgdHJpZ2dlciBlbGVt
ZW50Lm9ud2hlZWwgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC93ZWJhcHBhcGlzL3NjcmlwdGluZy9ldmVudHMvZXZlbnQtaGFu
ZGxlci1hdHRyaWJ1dGVzLWJvZHktd2luZG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC93ZWJhcHBhcGlzL3NjcmlwdGluZy9l
dmVudHMvZXZlbnQtaGFuZGxlci1hdHRyaWJ1dGVzLWJvZHktd2luZG93LWV4cGVjdGVkLnR4dApp
bmRleCBhOWMzMjVlYjc2NmIyNTFhZTllZjFmMGQ4YTlkODJlMjJkYTZjODA0Li42ODNmMWVlYTY1
MjE3ZjQyMjRkMmU0ZjIwYjZjZTQxYWFkOTUyNTgzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBpcy9zY3JpcHRpbmcv
ZXZlbnRzL2V2ZW50LWhhbmRsZXItYXR0cmlidXRlcy1ib2R5LXdpbmRvdy1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3dl
YmFwcGFwaXMvc2NyaXB0aW5nL2V2ZW50cy9ldmVudC1oYW5kbGVyLWF0dHJpYnV0ZXMtYm9keS13
aW5kb3ctZXhwZWN0ZWQudHh0CkBAIC01OSw3ICs1OSw2IEBAIFBBU1Mgbm90IHNoYWRvd2VkIG1v
dXNlbW92ZSAoZG9jdW1lbnQuYm9keSkKIFBBU1Mgbm90IHNoYWRvd2VkIG1vdXNlb3V0IChkb2N1
bWVudC5ib2R5KSAKIFBBU1Mgbm90IHNoYWRvd2VkIG1vdXNlb3ZlciAoZG9jdW1lbnQuYm9keSkg
CiBQQVNTIG5vdCBzaGFkb3dlZCBtb3VzZXVwIChkb2N1bWVudC5ib2R5KSAKLVBBU1Mgbm90IHNo
YWRvd2VkIHdoZWVsIChkb2N1bWVudC5ib2R5KSAKIFBBU1Mgbm90IHNoYWRvd2VkIHBhdXNlIChk
b2N1bWVudC5ib2R5KSAKIFBBU1Mgbm90IHNoYWRvd2VkIHBsYXkgKGRvY3VtZW50LmJvZHkpIAog
UEFTUyBub3Qgc2hhZG93ZWQgcGxheWluZyAoZG9jdW1lbnQuYm9keSkgCkBAIC03OCw2ICs3Nywx
MSBAQCBQQVNTIG5vdCBzaGFkb3dlZCB0aW1ldXBkYXRlIChkb2N1bWVudC5ib2R5KQogUEFTUyBu
b3Qgc2hhZG93ZWQgdG9nZ2xlIChkb2N1bWVudC5ib2R5KSAKIFBBU1Mgbm90IHNoYWRvd2VkIHZv
bHVtZWNoYW5nZSAoZG9jdW1lbnQuYm9keSkgCiBQQVNTIG5vdCBzaGFkb3dlZCB3YWl0aW5nIChk
b2N1bWVudC5ib2R5KSAKK1BBU1Mgbm90IHNoYWRvd2VkIHdlYmtpdGFuaW1hdGlvbmVuZCAoZG9j
dW1lbnQuYm9keSkgCitQQVNTIG5vdCBzaGFkb3dlZCB3ZWJraXRhbmltYXRpb25pdGVyYXRpb24g
KGRvY3VtZW50LmJvZHkpIAorUEFTUyBub3Qgc2hhZG93ZWQgd2Via2l0YW5pbWF0aW9uc3RhcnQg
KGRvY3VtZW50LmJvZHkpIAorUEFTUyBub3Qgc2hhZG93ZWQgd2Via2l0dHJhbnNpdGlvbmVuZCAo
ZG9jdW1lbnQuYm9keSkgCitQQVNTIG5vdCBzaGFkb3dlZCB3aGVlbCAoZG9jdW1lbnQuYm9keSkg
CiBGQUlMIG5vdCBzaGFkb3dlZCBjb3B5IChkb2N1bWVudC5ib2R5KSBhc3NlcnRfZXF1YWxzOiB3
aW5kb3cgc2hvdWxkIHJlZmxlY3QgZXhwZWN0ZWQgKG9iamVjdCkgbnVsbCBidXQgZ290ICh1bmRl
ZmluZWQpIHVuZGVmaW5lZAogRkFJTCBub3Qgc2hhZG93ZWQgY3V0IChkb2N1bWVudC5ib2R5KSBh
c3NlcnRfZXF1YWxzOiB3aW5kb3cgc2hvdWxkIHJlZmxlY3QgZXhwZWN0ZWQgKG9iamVjdCkgbnVs
bCBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAogRkFJTCBub3Qgc2hhZG93ZWQgcGFzdGUg
KGRvY3VtZW50LmJvZHkpIGFzc2VydF9lcXVhbHM6IHdpbmRvdyBzaG91bGQgcmVmbGVjdCBleHBl
Y3RlZCAob2JqZWN0KSBudWxsIGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCkBAIC0xNjMs
NyArMTY3LDYgQEAgUEFTUyBub3Qgc2hhZG93ZWQgbW91c2Vtb3ZlIChkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJib2R5IikpCiBQQVNTIG5vdCBzaGFkb3dlZCBtb3VzZW91dCAoZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgiYm9keSIpKSAKIFBBU1Mgbm90IHNoYWRvd2VkIG1vdXNlb3ZlciAoZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgiYm9keSIpKSAKIFBBU1Mgbm90IHNoYWRvd2VkIG1vdXNldXAgKGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImJvZHkiKSkgCi1QQVNTIG5vdCBzaGFkb3dlZCB3aGVlbCAo
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYm9keSIpKSAKIFBBU1Mgbm90IHNoYWRvd2VkIHBhdXNl
IChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJib2R5IikpIAogUEFTUyBub3Qgc2hhZG93ZWQgcGxh
eSAoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYm9keSIpKSAKIFBBU1Mgbm90IHNoYWRvd2VkIHBs
YXlpbmcgKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJvZHkiKSkgCkBAIC0xODIsNiArMTg1LDEx
IEBAIFBBU1Mgbm90IHNoYWRvd2VkIHRpbWV1cGRhdGUgKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ImJvZHkiKSkKIFBBU1Mgbm90IHNoYWRvd2VkIHRvZ2dsZSAoZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiYm9keSIpKSAKIFBBU1Mgbm90IHNoYWRvd2VkIHZvbHVtZWNoYW5nZSAoZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgiYm9keSIpKSAKIFBBU1Mgbm90IHNoYWRvd2VkIHdhaXRpbmcgKGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImJvZHkiKSkgCitQQVNTIG5vdCBzaGFkb3dlZCB3ZWJraXRhbmltYXRp
b25lbmQgKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJvZHkiKSkgCitQQVNTIG5vdCBzaGFkb3dl
ZCB3ZWJraXRhbmltYXRpb25pdGVyYXRpb24gKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJvZHki
KSkgCitQQVNTIG5vdCBzaGFkb3dlZCB3ZWJraXRhbmltYXRpb25zdGFydCAoZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgiYm9keSIpKSAKK1BBU1Mgbm90IHNoYWRvd2VkIHdlYmtpdHRyYW5zaXRpb25l
bmQgKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJvZHkiKSkgCitQQVNTIG5vdCBzaGFkb3dlZCB3
aGVlbCAoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYm9keSIpKSAKIEZBSUwgbm90IHNoYWRvd2Vk
IGNvcHkgKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJvZHkiKSkgYXNzZXJ0X2VxdWFsczogd2lu
ZG93IHNob3VsZCByZWZsZWN0IGV4cGVjdGVkIChvYmplY3QpIG51bGwgYnV0IGdvdCAodW5kZWZp
bmVkKSB1bmRlZmluZWQKIEZBSUwgbm90IHNoYWRvd2VkIGN1dCAoZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiYm9keSIpKSBhc3NlcnRfZXF1YWxzOiB3aW5kb3cgc2hvdWxkIHJlZmxlY3QgZXhwZWN0
ZWQgKG9iamVjdCkgbnVsbCBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAogRkFJTCBub3Qg
c2hhZG93ZWQgcGFzdGUgKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJvZHkiKSkgYXNzZXJ0X2Vx
dWFsczogd2luZG93IHNob3VsZCByZWZsZWN0IGV4cGVjdGVkIChvYmplY3QpIG51bGwgYnV0IGdv
dCAodW5kZWZpbmVkKSB1bmRlZmluZWQKQEAgLTI2Nyw3ICsyNzUsNiBAQCBQQVNTIG5vdCBzaGFk
b3dlZCBtb3VzZW1vdmUgKHdpbmRvdykKIFBBU1Mgbm90IHNoYWRvd2VkIG1vdXNlb3V0ICh3aW5k
b3cpIAogUEFTUyBub3Qgc2hhZG93ZWQgbW91c2VvdmVyICh3aW5kb3cpIAogUEFTUyBub3Qgc2hh
ZG93ZWQgbW91c2V1cCAod2luZG93KSAKLVBBU1Mgbm90IHNoYWRvd2VkIHdoZWVsICh3aW5kb3cp
IAogUEFTUyBub3Qgc2hhZG93ZWQgcGF1c2UgKHdpbmRvdykgCiBQQVNTIG5vdCBzaGFkb3dlZCBw
bGF5ICh3aW5kb3cpIAogUEFTUyBub3Qgc2hhZG93ZWQgcGxheWluZyAod2luZG93KSAKQEAgLTI4
Niw2ICsyOTMsMTEgQEAgUEFTUyBub3Qgc2hhZG93ZWQgdGltZXVwZGF0ZSAod2luZG93KQogUEFT
UyBub3Qgc2hhZG93ZWQgdG9nZ2xlICh3aW5kb3cpIAogUEFTUyBub3Qgc2hhZG93ZWQgdm9sdW1l
Y2hhbmdlICh3aW5kb3cpIAogUEFTUyBub3Qgc2hhZG93ZWQgd2FpdGluZyAod2luZG93KSAKK1BB
U1Mgbm90IHNoYWRvd2VkIHdlYmtpdGFuaW1hdGlvbmVuZCAod2luZG93KSAKK1BBU1Mgbm90IHNo
YWRvd2VkIHdlYmtpdGFuaW1hdGlvbml0ZXJhdGlvbiAod2luZG93KSAKK1BBU1Mgbm90IHNoYWRv
d2VkIHdlYmtpdGFuaW1hdGlvbnN0YXJ0ICh3aW5kb3cpIAorUEFTUyBub3Qgc2hhZG93ZWQgd2Vi
a2l0dHJhbnNpdGlvbmVuZCAod2luZG93KSAKK1BBU1Mgbm90IHNoYWRvd2VkIHdoZWVsICh3aW5k
b3cpIAogUEFTUyBub3Qgc2hhZG93ZWQgY29weSAod2luZG93KSAKIFBBU1Mgbm90IHNoYWRvd2Vk
IGN1dCAod2luZG93KSAKIFBBU1Mgbm90IHNoYWRvd2VkIHBhc3RlICh3aW5kb3cpIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3dl
YmFwcGFwaXMvc2NyaXB0aW5nL2V2ZW50cy9ldmVudC1oYW5kbGVyLWF0dHJpYnV0ZXMtd2luZG93
bGVzcy1ib2R5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC93ZWJhcHBhcGlzL3NjcmlwdGluZy9ldmVudHMvZXZlbnQtaGFuZGxl
ci1hdHRyaWJ1dGVzLXdpbmRvd2xlc3MtYm9keS1leHBlY3RlZC50eHQKaW5kZXggZjE3MGQzMzg0
N2U3MTU3OTNlZGRjNWFjYjA4YTFhYTVmYzA1YTQ5ZS4uOGZhNzY5NTk2ZGY1MTBkZmQ3MzNjNzg2
ZTI3YzQzNGRmNmM5YzIyOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL3dlYmFwcGFwaXMvc2NyaXB0aW5nL2V2ZW50cy9ldmVudC1o
YW5kbGVyLWF0dHJpYnV0ZXMtd2luZG93bGVzcy1ib2R5LWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBpcy9z
Y3JpcHRpbmcvZXZlbnRzL2V2ZW50LWhhbmRsZXItYXR0cmlidXRlcy13aW5kb3dsZXNzLWJvZHkt
ZXhwZWN0ZWQudHh0CkBAIC04MSw3ICs4MSw2IEBAIFBBU1MgbW91c2Vtb3ZlIGlzIHVuYWZmZWN0
ZWQgb24gYSB3aW5kb3dsZXNzIGJvZHkKIFBBU1MgbW91c2VvdXQgaXMgdW5hZmZlY3RlZCBvbiBh
IHdpbmRvd2xlc3MgYm9keSAKIFBBU1MgbW91c2VvdmVyIGlzIHVuYWZmZWN0ZWQgb24gYSB3aW5k
b3dsZXNzIGJvZHkgCiBQQVNTIG1vdXNldXAgaXMgdW5hZmZlY3RlZCBvbiBhIHdpbmRvd2xlc3Mg
Ym9keSAKLVBBU1Mgd2hlZWwgaXMgdW5hZmZlY3RlZCBvbiBhIHdpbmRvd2xlc3MgYm9keSAKIFBB
U1MgcGF1c2UgaXMgdW5hZmZlY3RlZCBvbiBhIHdpbmRvd2xlc3MgYm9keSAKIFBBU1MgcGxheSBp
cyB1bmFmZmVjdGVkIG9uIGEgd2luZG93bGVzcyBib2R5IAogUEFTUyBwbGF5aW5nIGlzIHVuYWZm
ZWN0ZWQgb24gYSB3aW5kb3dsZXNzIGJvZHkgCkBAIC0xMDAsNiArOTksMTEgQEAgUEFTUyB0aW1l
dXBkYXRlIGlzIHVuYWZmZWN0ZWQgb24gYSB3aW5kb3dsZXNzIGJvZHkKIFBBU1MgdG9nZ2xlIGlz
IHVuYWZmZWN0ZWQgb24gYSB3aW5kb3dsZXNzIGJvZHkgCiBQQVNTIHZvbHVtZWNoYW5nZSBpcyB1
bmFmZmVjdGVkIG9uIGEgd2luZG93bGVzcyBib2R5IAogUEFTUyB3YWl0aW5nIGlzIHVuYWZmZWN0
ZWQgb24gYSB3aW5kb3dsZXNzIGJvZHkgCitQQVNTIHdlYmtpdGFuaW1hdGlvbmVuZCBpcyB1bmFm
ZmVjdGVkIG9uIGEgd2luZG93bGVzcyBib2R5IAorUEFTUyB3ZWJraXRhbmltYXRpb25pdGVyYXRp
b24gaXMgdW5hZmZlY3RlZCBvbiBhIHdpbmRvd2xlc3MgYm9keSAKK1BBU1Mgd2Via2l0YW5pbWF0
aW9uc3RhcnQgaXMgdW5hZmZlY3RlZCBvbiBhIHdpbmRvd2xlc3MgYm9keSAKK1BBU1Mgd2Via2l0
dHJhbnNpdGlvbmVuZCBpcyB1bmFmZmVjdGVkIG9uIGEgd2luZG93bGVzcyBib2R5IAorUEFTUyB3
aGVlbCBpcyB1bmFmZmVjdGVkIG9uIGEgd2luZG93bGVzcyBib2R5IAogUEFTUyBjb3B5IGlzIHVu
YWZmZWN0ZWQgb24gYSB3aW5kb3dsZXNzIGJvZHkgCiBQQVNTIGN1dCBpcyB1bmFmZmVjdGVkIG9u
IGEgd2luZG93bGVzcyBib2R5IAogUEFTUyBwYXN0ZSBpcyB1bmFmZmVjdGVkIG9uIGEgd2luZG93
bGVzcyBib2R5IApAQCAtMTg1LDcgKzE4OSw2IEBAIFBBU1MgbW91c2Vtb3ZlIGlzIHVuYWZmZWN0
ZWQgb24gYSB3aW5kb3dsZXNzIGZyYW1lc2V0CiBQQVNTIG1vdXNlb3V0IGlzIHVuYWZmZWN0ZWQg
b24gYSB3aW5kb3dsZXNzIGZyYW1lc2V0IAogUEFTUyBtb3VzZW92ZXIgaXMgdW5hZmZlY3RlZCBv
biBhIHdpbmRvd2xlc3MgZnJhbWVzZXQgCiBQQVNTIG1vdXNldXAgaXMgdW5hZmZlY3RlZCBvbiBh
IHdpbmRvd2xlc3MgZnJhbWVzZXQgCi1QQVNTIHdoZWVsIGlzIHVuYWZmZWN0ZWQgb24gYSB3aW5k
b3dsZXNzIGZyYW1lc2V0IAogUEFTUyBwYXVzZSBpcyB1bmFmZmVjdGVkIG9uIGEgd2luZG93bGVz
cyBmcmFtZXNldCAKIFBBU1MgcGxheSBpcyB1bmFmZmVjdGVkIG9uIGEgd2luZG93bGVzcyBmcmFt
ZXNldCAKIFBBU1MgcGxheWluZyBpcyB1bmFmZmVjdGVkIG9uIGEgd2luZG93bGVzcyBmcmFtZXNl
dCAKQEAgLTIwNCw2ICsyMDcsMTEgQEAgUEFTUyB0aW1ldXBkYXRlIGlzIHVuYWZmZWN0ZWQgb24g
YSB3aW5kb3dsZXNzIGZyYW1lc2V0CiBQQVNTIHRvZ2dsZSBpcyB1bmFmZmVjdGVkIG9uIGEgd2lu
ZG93bGVzcyBmcmFtZXNldCAKIFBBU1Mgdm9sdW1lY2hhbmdlIGlzIHVuYWZmZWN0ZWQgb24gYSB3
aW5kb3dsZXNzIGZyYW1lc2V0IAogUEFTUyB3YWl0aW5nIGlzIHVuYWZmZWN0ZWQgb24gYSB3aW5k
b3dsZXNzIGZyYW1lc2V0IAorUEFTUyB3ZWJraXRhbmltYXRpb25lbmQgaXMgdW5hZmZlY3RlZCBv
biBhIHdpbmRvd2xlc3MgZnJhbWVzZXQgCitQQVNTIHdlYmtpdGFuaW1hdGlvbml0ZXJhdGlvbiBp
cyB1bmFmZmVjdGVkIG9uIGEgd2luZG93bGVzcyBmcmFtZXNldCAKK1BBU1Mgd2Via2l0YW5pbWF0
aW9uc3RhcnQgaXMgdW5hZmZlY3RlZCBvbiBhIHdpbmRvd2xlc3MgZnJhbWVzZXQgCitQQVNTIHdl
YmtpdHRyYW5zaXRpb25lbmQgaXMgdW5hZmZlY3RlZCBvbiBhIHdpbmRvd2xlc3MgZnJhbWVzZXQg
CitQQVNTIHdoZWVsIGlzIHVuYWZmZWN0ZWQgb24gYSB3aW5kb3dsZXNzIGZyYW1lc2V0IAogUEFT
UyBjb3B5IGlzIHVuYWZmZWN0ZWQgb24gYSB3aW5kb3dsZXNzIGZyYW1lc2V0IAogUEFTUyBjdXQg
aXMgdW5hZmZlY3RlZCBvbiBhIHdpbmRvd2xlc3MgZnJhbWVzZXQgCiBQQVNTIHBhc3RlIGlzIHVu
YWZmZWN0ZWQgb24gYSB3aW5kb3dsZXNzIGZyYW1lc2V0IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL0RPTS1QYXJzaW5n
LmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJm
YWNlcy9ET00tUGFyc2luZy5pZGwKaW5kZXggYmNkYmFhNjQ2MjNiOGI4ODdlOTJhNmJlNmU1NTVj
M2VjYTg4YTc5YS4uNTAyMGJlODk5NDI1YmU5YmIzMmI0NTkyYTUzYmNlNzZmOGQwOTBhZiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRl
cmZhY2VzL0RPTS1QYXJzaW5nLmlkbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvRE9NLVBhcnNpbmcuaWRsCkBAIC0zLDIwICszLDYg
QEAKIC8vIChodHRwczovL2dpdGh1Yi5jb20vdGlkb3VzdC9yZWZmeS1yZXBvcnRzKQogLy8gU291
cmNlOiBET00gUGFyc2luZyBhbmQgU2VyaWFsaXphdGlvbiAoaHR0cHM6Ly93M2MuZ2l0aHViLmlv
L0RPTS1QYXJzaW5nLykKIAotW0V4cG9zZWQ9V2luZG93XQotaW50ZXJmYWNlIERPTVBhcnNlciB7
Ci0gIGNvbnN0cnVjdG9yKCk7Ci0gIFtOZXdPYmplY3RdIERvY3VtZW50IHBhcnNlRnJvbVN0cmlu
ZyhET01TdHJpbmcgc3RyLCBTdXBwb3J0ZWRUeXBlIHR5cGUpOwotfTsKLQotZW51bSBTdXBwb3J0
ZWRUeXBlIHsKLSAgInRleHQvaHRtbCIsCi0gICJ0ZXh0L3htbCIsCi0gICJhcHBsaWNhdGlvbi94
bWwiLAotICAiYXBwbGljYXRpb24veGh0bWwreG1sIiwKLSAgImltYWdlL3N2Zyt4bWwiCi19Owot
CiBbRXhwb3NlZD1XaW5kb3ddCiBpbnRlcmZhY2UgWE1MU2VyaWFsaXplciB7CiAgIGNvbnN0cnVj
dG9yKCk7CkBAIC0yNCwxNCArMTAsMTQgQEAgaW50ZXJmYWNlIFhNTFNlcmlhbGl6ZXIgewogfTsK
IAogaW50ZXJmYWNlIG1peGluIElubmVySFRNTCB7Ci0gIFtDRVJlYWN0aW9uc10gYXR0cmlidXRl
IFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGlubmVySFRNTDsKKyAgW0NFUmVh
Y3Rpb25zXSBhdHRyaWJ1dGUgW0xlZ2FjeU51bGxUb0VtcHR5U3RyaW5nXSBET01TdHJpbmcgaW5u
ZXJIVE1MOwogfTsKIAogRWxlbWVudCBpbmNsdWRlcyBJbm5lckhUTUw7CiBTaGFkb3dSb290IGlu
Y2x1ZGVzIElubmVySFRNTDsKIAogcGFydGlhbCBpbnRlcmZhY2UgRWxlbWVudCB7Ci0gIFtDRVJl
YWN0aW9uc10gYXR0cmlidXRlIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIG91
dGVySFRNTDsKKyAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgW0xlZ2FjeU51bGxUb0VtcHR5U3Ry
aW5nXSBET01TdHJpbmcgb3V0ZXJIVE1MOwogICBbQ0VSZWFjdGlvbnNdIHZvaWQgaW5zZXJ0QWRq
YWNlbnRIVE1MKERPTVN0cmluZyBwb3NpdGlvbiwgRE9NU3RyaW5nIHRleHQpOwogfTsKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRl
cmZhY2VzL0luZGV4ZWREQi5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ludGVyZmFjZXMvSW5kZXhlZERCLmlkbAppbmRleCAzMzkyNWQ2MTQyMzhkNjg1
MGMxOTYzODFkZjBmNjBhYzE0YmQ0ZTRmLi44YWYyYmJjZjIzODIxZTM0Zjk1ZmUyY2FiZGIzZDNi
M2I5MWIzZWI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ludGVyZmFjZXMvSW5kZXhlZERCLmlkbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvSW5kZXhlZERCLmlkbApAQCAt
NjcsNyArNjcsOCBAQCBpbnRlcmZhY2UgSURCRGF0YWJhc2UgOiBFdmVudFRhcmdldCB7CiAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmdMaXN0IG9iamVjdFN0b3JlTmFtZXM7CiAKICAgW05l
d09iamVjdF0gSURCVHJhbnNhY3Rpb24gdHJhbnNhY3Rpb24oKERPTVN0cmluZyBvciBzZXF1ZW5j
ZTxET01TdHJpbmc+KSBzdG9yZU5hbWVzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBvcHRpb25hbCBJREJUcmFuc2FjdGlvbk1vZGUgbW9kZSA9ICJyZWFkb25seSIp
OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCBJREJU
cmFuc2FjdGlvbk1vZGUgbW9kZSA9ICJyZWFkb25seSIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIElEQlRyYW5zYWN0aW9uT3B0aW9ucyBvcHRpb25z
ID0ge30pOwogICB2b2lkIGNsb3NlKCk7CiAKICAgW05ld09iamVjdF0gSURCT2JqZWN0U3RvcmUg
Y3JlYXRlT2JqZWN0U3RvcmUoCkBAIC04Miw2ICs4MywxMiBAQCBpbnRlcmZhY2UgSURCRGF0YWJh
c2UgOiBFdmVudFRhcmdldCB7CiAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb252ZXJzaW9uY2hh
bmdlOwogfTsKIAorZW51bSBJREJUcmFuc2FjdGlvbkR1cmFiaWxpdHkgeyAiZGVmYXVsdCIsICJz
dHJpY3QiLCAicmVsYXhlZCIgfTsKKworZGljdGlvbmFyeSBJREJUcmFuc2FjdGlvbk9wdGlvbnMg
eworICBJREJUcmFuc2FjdGlvbkR1cmFiaWxpdHkgZHVyYWJpbGl0eSA9ICJkZWZhdWx0IjsKK307
CisKIGRpY3Rpb25hcnkgSURCT2JqZWN0U3RvcmVQYXJhbWV0ZXJzIHsKICAgKERPTVN0cmluZyBv
ciBzZXF1ZW5jZTxET01TdHJpbmc+KT8ga2V5UGF0aCA9IG51bGw7CiAgIGJvb2xlYW4gYXV0b0lu
Y3JlbWVudCA9IGZhbHNlOwpAQCAtMTk4LDYgKzIwNSw3IEBAIGludGVyZmFjZSBJREJDdXJzb3JX
aXRoVmFsdWUgOiBJREJDdXJzb3IgewogaW50ZXJmYWNlIElEQlRyYW5zYWN0aW9uIDogRXZlbnRU
YXJnZXQgewogICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nTGlzdCBvYmplY3RTdG9yZU5h
bWVzOwogICByZWFkb25seSBhdHRyaWJ1dGUgSURCVHJhbnNhY3Rpb25Nb2RlIG1vZGU7CisgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBJREJUcmFuc2FjdGlvbkR1cmFiaWxpdHkgZHVyYWJpbGl0eTsKICAg
W1NhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBJREJEYXRhYmFzZSBkYjsKICAgcmVhZG9u
bHkgYXR0cmlidXRlIERPTUV4Y2VwdGlvbj8gZXJyb3I7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9XZWJDcnlwdG9B
UEkuaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRl
cmZhY2VzL1dlYkNyeXB0b0FQSS5pZGwKaW5kZXggZmVjYjNiNzJkM2FmZWE3OTFhMGYwNjQ4YmNl
ZmE2ZGMwMTRmZTMzMC4uZDgxYTQzYmEwZjkyMzg4ZmZkODlmMDgwOGUzMjMxM2M3ZWE1OGU1NiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bnRlcmZhY2VzL1dlYkNyeXB0b0FQSS5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL1dlYkNyeXB0b0FQSS5pZGwKQEAgLTEsNyAr
MSw3IEBACiAvLyBHRU5FUkFURUQgQ09OVEVOVCAtIERPIE5PVCBFRElUCiAvLyBDb250ZW50IHdh
cyBhdXRvbWF0aWNhbGx5IGV4dHJhY3RlZCBieSBSZWZmeSBpbnRvIHJlZmZ5LXJlcG9ydHMKIC8v
IChodHRwczovL2dpdGh1Yi5jb20vdGlkb3VzdC9yZWZmeS1yZXBvcnRzKQotLy8gU291cmNlOiBX
ZWIgQ3J5cHRvZ3JhcGh5IEFQSSAoaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYmNyeXB0by9PdmVy
dmlldy5odG1sKQorLy8gU291cmNlOiBXZWIgQ3J5cHRvZ3JhcGh5IEFQSSAoaHR0cDovL3czYy5n
aXRodWIuaW8vd2ViY3J5cHRvLykKIAogcGFydGlhbCBpbnRlcmZhY2UgbWl4aW4gV2luZG93T3JX
b3JrZXJHbG9iYWxTY29wZSB7CiAgIFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgQ3J5
cHRvIGNyeXB0bzsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9hcHBtYW5pZmVzdC5pZGwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvYXBwbWFuaWZlc3QuaWRsCmlu
ZGV4IDM1YzQ5MWE1ZjdiZjBlNzE0YmVjMDkxMTI3NTVjMTc0ZDk2NjYzZDQuLjJhZGMzNzAwMTI0
MjJmNTE1MTRkYjlhMmVlODc2OGY1MzIwMTk3MzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9hcHBtYW5pZmVzdC5pZGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZh
Y2VzL2FwcG1hbmlmZXN0LmlkbApAQCAtMywyNiArMyw2IEBACiAvLyAoaHR0cHM6Ly9naXRodWIu
Y29tL3RpZG91c3QvcmVmZnktcmVwb3J0cykKIC8vIFNvdXJjZTogV2ViIEFwcCBNYW5pZmVzdCAo
aHR0cHM6Ly93M2MuZ2l0aHViLmlvL21hbmlmZXN0LykKIAotW0V4cG9zZWQ9V2luZG93XQotaW50
ZXJmYWNlIEJlZm9yZUluc3RhbGxQcm9tcHRFdmVudCA6IEV2ZW50IHsKLSAgY29uc3RydWN0b3Io
RE9NU3RyaW5nIHR5cGUsIG9wdGlvbmFsIEV2ZW50SW5pdCBldmVudEluaXREaWN0ID0ge30pOwot
ICBQcm9taXNlPFByb21wdFJlc3BvbnNlT2JqZWN0PiBwcm9tcHQoKTsKLX07Ci0KLWRpY3Rpb25h
cnkgUHJvbXB0UmVzcG9uc2VPYmplY3QgewotICBBcHBCYW5uZXJQcm9tcHRPdXRjb21lIHVzZXJD
aG9pY2U7Ci19OwotCi1lbnVtIEFwcEJhbm5lclByb21wdE91dGNvbWUgewotICAiYWNjZXB0ZWQi
LAotICAiZGlzbWlzc2VkIgotfTsKLQotcGFydGlhbCBpbnRlcmZhY2UgV2luZG93IHsKLSAgYXR0
cmlidXRlIEV2ZW50SGFuZGxlciBvbmFwcGluc3RhbGxlZDsKLSAgYXR0cmlidXRlIEV2ZW50SGFu
ZGxlciBvbmJlZm9yZWluc3RhbGxwcm9tcHQ7Ci19OwotCiBkaWN0aW9uYXJ5IFdlYkFwcE1hbmlm
ZXN0IHsKICAgIFRleHREaXJlY3Rpb25UeXBlIGRpciA9ICJhdXRvIjsKICAgIERPTVN0cmluZyBs
YW5nOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9pbnRlcmZhY2VzL2JhZGdpbmcuaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2JhZGdpbmcuaWRsCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAxNDgx
ODIwOTM1YTA4Njc1ZTRiZWY3MzRhYWRhMjdiMzE1MWU4MTQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvYmFk
Z2luZy5pZGwKQEAgLTAsMCArMSwyMSBAQAorLy8gR0VORVJBVEVEIENPTlRFTlQgLSBETyBOT1Qg
RURJVAorLy8gQ29udGVudCB3YXMgYXV0b21hdGljYWxseSBleHRyYWN0ZWQgYnkgUmVmZnkgaW50
byByZWZmeS1yZXBvcnRzCisvLyAoaHR0cHM6Ly9naXRodWIuY29tL3RpZG91c3QvcmVmZnktcmVw
b3J0cykKKy8vIFNvdXJjZTogQmFkZ2luZyBBUEkgKGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9iYWRn
aW5nLykKKworLy8gTWV0aG9kcyBvbmx5IGV4cG9zZWQgb24gZG9jdW1lbnRzLgorW1NlY3VyZUNv
bnRleHRdCitwYXJ0aWFsIGludGVyZmFjZSBOYXZpZ2F0b3IgeworICBQcm9taXNlPHZvaWQ+IHNl
dENsaWVudEJhZGdlKG9wdGlvbmFsIFtFbmZvcmNlUmFuZ2VdIHVuc2lnbmVkIGxvbmcgbG9uZyBj
b250ZW50cyk7CisgIFByb21pc2U8dm9pZD4gY2xlYXJDbGllbnRCYWRnZSgpOworfTsKKworLy8g
TWV0aG9kcyBleHBvc2VkIG9uIGJvdGggZG9jdW1lbnRzIGFuZCBzZXJ2aWNlIHdvcmtlcnMuCitb
U2VjdXJlQ29udGV4dF0KK2ludGVyZmFjZSBtaXhpbiBOYXZpZ2F0b3JCYWRnZSB7CisgIFByb21p
c2U8dm9pZD4gc2V0QXBwQmFkZ2Uob3B0aW9uYWwgW0VuZm9yY2VSYW5nZV0gdW5zaWduZWQgbG9u
ZyBsb25nIGNvbnRlbnRzKTsKKyAgUHJvbWlzZTx2b2lkPiBjbGVhckFwcEJhZGdlKCk7Cit9Owor
CitOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yQmFkZ2U7CitXb3JrZXJOYXZpZ2F0b3IgaW5j
bHVkZXMgTmF2aWdhdG9yQmFkZ2U7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvY2xpcGJvYXJkLWFwaXMuaWRsIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2NsaXBi
b2FyZC1hcGlzLmlkbAppbmRleCA5ZTM1Mjg3Njk2Yjk0Y2I0YWFkOTkyOTJiZjExZTM5OGYxZDcx
ZjJiLi5jOTkxMTMwNTllYzc3YjI2NjkxMWZlMGNlMmMyYmY1MjA0NDRmY2QwIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMv
Y2xpcGJvYXJkLWFwaXMuaWRsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9jbGlwYm9hcmQtYXBpcy5pZGwKQEAgLTcsOCArNyw5IEBA
IGRpY3Rpb25hcnkgQ2xpcGJvYXJkRXZlbnRJbml0IDogRXZlbnRJbml0IHsKICAgRGF0YVRyYW5z
ZmVyPyBjbGlwYm9hcmREYXRhID0gbnVsbDsKIH07CiAKLVtDb25zdHJ1Y3RvcihET01TdHJpbmcg
dHlwZSwgb3B0aW9uYWwgQ2xpcGJvYXJkRXZlbnRJbml0IGV2ZW50SW5pdERpY3QgPSB7fSksIEV4
cG9zZWQ9V2luZG93XQorW0V4cG9zZWQ9V2luZG93XQogaW50ZXJmYWNlIENsaXBib2FyZEV2ZW50
IDogRXZlbnQgeworICBjb25zdHJ1Y3RvcihET01TdHJpbmcgdHlwZSwgb3B0aW9uYWwgQ2xpcGJv
YXJkRXZlbnRJbml0IGV2ZW50SW5pdERpY3QgPSB7fSk7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBE
YXRhVHJhbnNmZXI/IGNsaXBib2FyZERhdGE7CiB9OwogCkBAIC0zMCw5ICszMSw5IEBAIHR5cGVk
ZWYgUHJvbWlzZTxDbGlwYm9hcmRJdGVtRGF0YVR5cGU+IENsaXBib2FyZEl0ZW1EYXRhOwogCiBj
YWxsYmFjayBDbGlwYm9hcmRJdGVtRGVsYXllZENhbGxiYWNrID0gQ2xpcGJvYXJkSXRlbURhdGEg
KCk7CiAKLVtDb25zdHJ1Y3RvcihyZWNvcmQ8RE9NU3RyaW5nLCBDbGlwYm9hcmRJdGVtRGF0YT4g
aXRlbXMsCi0gICAgb3B0aW9uYWwgQ2xpcGJvYXJkSXRlbU9wdGlvbnMgb3B0aW9ucyA9IHt9KSwK
LSBFeHBvc2VkPVdpbmRvd10gaW50ZXJmYWNlIENsaXBib2FyZEl0ZW0geworW0V4cG9zZWQ9V2lu
ZG93XSBpbnRlcmZhY2UgQ2xpcGJvYXJkSXRlbSB7CisgIGNvbnN0cnVjdG9yKHJlY29yZDxET01T
dHJpbmcsIENsaXBib2FyZEl0ZW1EYXRhPiBpdGVtcywKKyAgICBvcHRpb25hbCBDbGlwYm9hcmRJ
dGVtT3B0aW9ucyBvcHRpb25zID0ge30pOwogICBzdGF0aWMgQ2xpcGJvYXJkSXRlbSBjcmVhdGVE
ZWxheWVkKAogICAgICAgcmVjb3JkPERPTVN0cmluZywgQ2xpcGJvYXJkSXRlbURlbGF5ZWRDYWxs
YmFjaz4gaXRlbXMsCiAgICAgICBvcHRpb25hbCBDbGlwYm9hcmRJdGVtT3B0aW9ucyBvcHRpb25z
ID0ge30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9pbnRlcmZhY2VzL2NvbnN0cnVjdC1zdHlsZXNoZWV0cy5pZGwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvY29uc3RydWN0LXN0
eWxlc2hlZXRzLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNTEyMTg2NmY2NmVhYThiNjY2MzQ4MGQxYTRjYjcy
YzFjZjhmZDFlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2NvbnN0cnVjdC1zdHlsZXNoZWV0cy5pZGwKQEAg
LTAsMCArMSwyMSBAQAorLy8gR0VORVJBVEVEIENPTlRFTlQgLSBETyBOT1QgRURJVAorLy8gQ29u
dGVudCB3YXMgYXV0b21hdGljYWxseSBleHRyYWN0ZWQgYnkgUmVmZnkgaW50byByZWZmeS1yZXBv
cnRzCisvLyAoaHR0cHM6Ly9naXRodWIuY29tL3RpZG91c3QvcmVmZnktcmVwb3J0cykKKy8vIFNv
dXJjZTogQ29uc3RydWN0YWJsZSBTdHlsZXNoZWV0IE9iamVjdHMgKGh0dHBzOi8vd2ljZy5naXRo
dWIuaW8vY29uc3RydWN0LXN0eWxlc2hlZXRzLykKKworcGFydGlhbCBpbnRlcmZhY2UgQ1NTU3R5
bGVTaGVldCB7CisgIGNvbnN0cnVjdG9yKG9wdGlvbmFsIENTU1N0eWxlU2hlZXRJbml0IG9wdGlv
bnMgPSB7fSk7CisgIFByb21pc2U8Q1NTU3R5bGVTaGVldD4gcmVwbGFjZShVU1ZTdHJpbmcgdGV4
dCk7CisgIHZvaWQgcmVwbGFjZVN5bmMoVVNWU3RyaW5nIHRleHQpOworfTsKKworZGljdGlvbmFy
eSBDU1NTdHlsZVNoZWV0SW5pdCB7CisgIChNZWRpYUxpc3Qgb3IgRE9NU3RyaW5nKSBtZWRpYSA9
ICIiOworICBET01TdHJpbmcgdGl0bGUgPSAiIjsKKyAgYm9vbGVhbiBhbHRlcm5hdGUgPSBmYWxz
ZTsKKyAgYm9vbGVhbiBkaXNhYmxlZCA9IGZhbHNlOworfTsKKworcGFydGlhbCBpbnRlcmZhY2Ug
bWl4aW4gRG9jdW1lbnRPclNoYWRvd1Jvb3QgeworICBhdHRyaWJ1dGUgRnJvemVuQXJyYXk8Q1NT
U3R5bGVTaGVldD4gYWRvcHRlZFN0eWxlU2hlZXRzOworfTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9jb29raWUtc3Rv
cmUuaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRl
cmZhY2VzL2Nvb2tpZS1zdG9yZS5pZGwKaW5kZXggM2UxYTkwYWI2M2Y1ZmM0YWZhMzZkYjhkZGE5
ZmExMTc0MjM2ZTI2Yi4uYjMyY2Y2YjlkOGQ4ZWQwMDVhMjQyOTM3OTZhNGFhZjVmODI0YWQwNyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bnRlcmZhY2VzL2Nvb2tpZS1zdG9yZS5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2Nvb2tpZS1zdG9yZS5pZGwKQEAgLTE5LDEy
ICsxOSw2IEBAIGludGVyZmFjZSBDb29raWVTdG9yZSA6IEV2ZW50VGFyZ2V0IHsKICAgUHJvbWlz
ZTx2b2lkPiBkZWxldGUoVVNWU3RyaW5nIG5hbWUpOwogICBQcm9taXNlPHZvaWQ+IGRlbGV0ZShD
b29raWVTdG9yZURlbGV0ZU9wdGlvbnMgb3B0aW9ucyk7CiAKLSAgW0V4cG9zZWQ9U2VydmljZVdv
cmtlcl0KLSAgUHJvbWlzZTx2b2lkPiBzdWJzY3JpYmVUb0NoYW5nZXMoc2VxdWVuY2U8Q29va2ll
U3RvcmVHZXRPcHRpb25zPiBzdWJzY3JpcHRpb25zKTsKLQotICBbRXhwb3NlZD1TZXJ2aWNlV29y
a2VyXQotICBQcm9taXNlPHNlcXVlbmNlPENvb2tpZVN0b3JlR2V0T3B0aW9ucz4+IGdldENoYW5n
ZVN1YnNjcmlwdGlvbnMoKTsKLQogICBbRXhwb3NlZD1XaW5kb3ddCiAgIGF0dHJpYnV0ZSBFdmVu
dEhhbmRsZXIgb25jaGFuZ2U7CiB9OwpAQCAtNTAsNyArNDQsNiBAQCBkaWN0aW9uYXJ5IENvb2tp
ZVN0b3JlU2V0T3B0aW9ucyB7CiAgIERPTVRpbWVTdGFtcD8gZXhwaXJlcyA9IG51bGw7CiAgIFVT
VlN0cmluZz8gZG9tYWluID0gbnVsbDsKICAgVVNWU3RyaW5nIHBhdGggPSAiLyI7Ci0gIGJvb2xl
YW4gc2VjdXJlID0gdHJ1ZTsKICAgQ29va2llU2FtZVNpdGUgc2FtZVNpdGUgPSAic3RyaWN0IjsK
IH07CiAKQEAgLTc3LDYgKzcwLDE5IEBAIGRpY3Rpb25hcnkgQ29va2llTGlzdEl0ZW0gewogCiB0
eXBlZGVmIHNlcXVlbmNlPENvb2tpZUxpc3RJdGVtPiBDb29raWVMaXN0OwogCitbRXhwb3NlZD0o
U2VydmljZVdvcmtlcixXaW5kb3cpLAorIFNlY3VyZUNvbnRleHRdCitpbnRlcmZhY2UgQ29va2ll
U3RvcmVNYW5hZ2VyIHsKKyAgUHJvbWlzZTx2b2lkPiBzdWJzY3JpYmUoc2VxdWVuY2U8Q29va2ll
U3RvcmVHZXRPcHRpb25zPiBzdWJzY3JpcHRpb25zKTsKKyAgUHJvbWlzZTxzZXF1ZW5jZTxDb29r
aWVTdG9yZUdldE9wdGlvbnM+PiBnZXRTdWJzY3JpcHRpb25zKCk7CisgIFByb21pc2U8dm9pZD4g
dW5zdWJzY3JpYmUoc2VxdWVuY2U8Q29va2llU3RvcmVHZXRPcHRpb25zPiBzdWJzY3JpcHRpb25z
KTsKK307CisKK1tFeHBvc2VkPShTZXJ2aWNlV29ya2VyLFdpbmRvdyldCitwYXJ0aWFsIGludGVy
ZmFjZSBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIHsKKyAgcmVhZG9ubHkgYXR0cmlidXRlIENv
b2tpZVN0b3JlTWFuYWdlciBjb29raWVzOworfTsKKwogW0V4cG9zZWQ9V2luZG93LAogIFNlY3Vy
ZUNvbnRleHRdCiBpbnRlcmZhY2UgQ29va2llQ2hhbmdlRXZlbnQgOiBFdmVudCB7CkBAIC05MCw4
ICs5Niw4IEBAIGRpY3Rpb25hcnkgQ29va2llQ2hhbmdlRXZlbnRJbml0IDogRXZlbnRJbml0IHsK
ICAgQ29va2llTGlzdCBkZWxldGVkOwogfTsKIAotW0V4cG9zZWQ9U2VydmljZVdvcmtlcgotXSBp
bnRlcmZhY2UgRXh0ZW5kYWJsZUNvb2tpZUNoYW5nZUV2ZW50IDogRXh0ZW5kYWJsZUV2ZW50IHsK
K1tFeHBvc2VkPVNlcnZpY2VXb3JrZXJdCitpbnRlcmZhY2UgRXh0ZW5kYWJsZUNvb2tpZUNoYW5n
ZUV2ZW50IDogRXh0ZW5kYWJsZUV2ZW50IHsKICAgY29uc3RydWN0b3IoRE9NU3RyaW5nIHR5cGUs
IG9wdGlvbmFsIEV4dGVuZGFibGVDb29raWVDaGFuZ2VFdmVudEluaXQgZXZlbnRJbml0RGljdCA9
IHt9KTsKICAgcmVhZG9ubHkgYXR0cmlidXRlIENvb2tpZUxpc3QgY2hhbmdlZDsKICAgcmVhZG9u
bHkgYXR0cmlidXRlIENvb2tpZUxpc3QgZGVsZXRlZDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9jc3MtZm9udC1sb2Fk
aW5nLmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50
ZXJmYWNlcy9jc3MtZm9udC1sb2FkaW5nLmlkbAppbmRleCAyYmJjMzVhMjU5MTIyNTZmYjFkNTZh
ZGEzMzcyZDM1ZTU5Y2E2OWU1Li45MzZkZWQ3ODhiY2JiZjM4YjcxYmU1ZDU4ZTg4NjA1OTI0NWI2
Yjg5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ludGVyZmFjZXMvY3NzLWZvbnQtbG9hZGluZy5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2Nzcy1mb250LWxvYWRpbmcu
aWRsCkBAIC0xOCwxMCArMTgsMTAgQEAgZGljdGlvbmFyeSBGb250RmFjZURlc2NyaXB0b3JzIHsK
IAogZW51bSBGb250RmFjZUxvYWRTdGF0dXMgeyAidW5sb2FkZWQiLCAibG9hZGluZyIsICJsb2Fk
ZWQiLCAiZXJyb3IiIH07CiAKLVtDb25zdHJ1Y3RvcihDU1NPTVN0cmluZyBmYW1pbHksIChDU1NP
TVN0cmluZyBvciBCaW5hcnlEYXRhKSBzb3VyY2UsCi0gICAgICAgICAgICAgb3B0aW9uYWwgRm9u
dEZhY2VEZXNjcmlwdG9ycyBkZXNjcmlwdG9ycyksCi0gRXhwb3NlZD0oV2luZG93LFdvcmtlcild
CitbRXhwb3NlZD0oV2luZG93LFdvcmtlcildCiBpbnRlcmZhY2UgRm9udEZhY2UgeworICBjb25z
dHJ1Y3RvcihDU1NPTVN0cmluZyBmYW1pbHksIChDU1NPTVN0cmluZyBvciBCaW5hcnlEYXRhKSBz
b3VyY2UsCisgICAgICAgICAgICAgICAgb3B0aW9uYWwgRm9udEZhY2VEZXNjcmlwdG9ycyBkZXNj
cmlwdG9ycyA9IHt9KTsKICAgYXR0cmlidXRlIENTU09NU3RyaW5nIGZhbWlseTsKICAgYXR0cmli
dXRlIENTU09NU3RyaW5nIHN0eWxlOwogICBhdHRyaWJ1dGUgQ1NTT01TdHJpbmcgd2VpZ2h0OwpA
QCAtNDIsOSArNDIsOSBAQCBkaWN0aW9uYXJ5IEZvbnRGYWNlU2V0TG9hZEV2ZW50SW5pdCA6IEV2
ZW50SW5pdCB7CiAgIHNlcXVlbmNlPEZvbnRGYWNlPiBmb250ZmFjZXMgPSBbXTsKIH07CiAKLVtD
b25zdHJ1Y3RvcihDU1NPTVN0cmluZyB0eXBlLCBvcHRpb25hbCBGb250RmFjZVNldExvYWRFdmVu
dEluaXQgZXZlbnRJbml0RGljdCksCi0gRXhwb3NlZD0oV2luZG93LFdvcmtlcildCitbRXhwb3Nl
ZD0oV2luZG93LFdvcmtlcildCiBpbnRlcmZhY2UgRm9udEZhY2VTZXRMb2FkRXZlbnQgOiBFdmVu
dCB7CisgIGNvbnN0cnVjdG9yKENTU09NU3RyaW5nIHR5cGUsIG9wdGlvbmFsIEZvbnRGYWNlU2V0
TG9hZEV2ZW50SW5pdCBldmVudEluaXREaWN0ID0ge30pOwogICBbU2FtZU9iamVjdF0gcmVhZG9u
bHkgYXR0cmlidXRlIEZyb3plbkFycmF5PEZvbnRGYWNlPiBmb250ZmFjZXM7CiB9OwogCkBAIC01
Miw5ICs1MiwxMCBAQCBlbnVtIEZvbnRGYWNlU2V0TG9hZFN0YXR1cyB7ICJsb2FkaW5nIiwgImxv
YWRlZCIgfTsKIAogY2FsbGJhY2sgRm9yRWFjaENhbGxiYWNrID0gdm9pZCAoRm9udEZhY2UgZm9u
dCwgbG9uZyBpbmRleCwgRm9udEZhY2VTZXQgc2VsZik7CiAKLVtFeHBvc2VkPShXaW5kb3csV29y
a2VyKSwKLSBDb25zdHJ1Y3RvcihzZXF1ZW5jZTxGb250RmFjZT4gaW5pdGlhbEZhY2VzKV0KK1tF
eHBvc2VkPShXaW5kb3csV29ya2VyKV0KIGludGVyZmFjZSBGb250RmFjZVNldCA6IEV2ZW50VGFy
Z2V0IHsKKyAgY29uc3RydWN0b3Ioc2VxdWVuY2U8Rm9udEZhY2U+IGluaXRpYWxGYWNlcyk7CisK
ICAgLy8gRm9udEZhY2VTZXQgaXMgU2V0LWxpa2UhCiAgIHNldGxpa2U8Rm9udEZhY2U+OwogICBG
b250RmFjZVNldCBhZGQoRm9udEZhY2UgZm9udCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvY3NzLXJlZ2lvbnMuaWRs
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2Vz
L2Nzcy1yZWdpb25zLmlkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjdjZjNkMzFh
MTE0YTY1MzczNDk5MGVmMDgxYWMxMDk0NzhkZmNkOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ludGVyZmFjZXMvY3NzLXJlZ2lvbnMuaWRsCisrKyAvZGV2L251bGwKQEAgLTEs
MzMgKzAsMCBAQAotLy8gR0VORVJBVEVEIENPTlRFTlQgLSBETyBOT1QgRURJVAotLy8gQ29udGVu
dCB3YXMgYXV0b21hdGljYWxseSBleHRyYWN0ZWQgYnkgUmVmZnkgaW50byByZWZmeS1yZXBvcnRz
Ci0vLyAoaHR0cHM6Ly9naXRodWIuY29tL3RpZG91c3QvcmVmZnktcmVwb3J0cykKLS8vIFNvdXJj
ZTogQ1NTIFJlZ2lvbnMgTW9kdWxlIExldmVsIDEgKGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9j
c3MtcmVnaW9ucy8pCi0KLXBhcnRpYWwgaW50ZXJmYWNlIERvY3VtZW50IHsKLSAgcmVhZG9ubHkg
YXR0cmlidXRlIE5hbWVkRmxvd01hcCBuYW1lZEZsb3dzOwotfTsKLQotW0V4cG9zZWQ9V2luZG93
LAotIE1hcENsYXNzPShDU1NPTVN0cmluZywgTmFtZWRGbG93KV0gaW50ZXJmYWNlIE5hbWVkRmxv
d01hcCB7Ci0gIE5hbWVkRmxvdz8gZ2V0KENTU09NU3RyaW5nIGZsb3dOYW1lKTsKLSAgYm9vbGVh
biBoYXMoQ1NTT01TdHJpbmcgZmxvd05hbWUpOwotICBOYW1lZEZsb3dNYXAgc2V0KENTU09NU3Ry
aW5nIGZsb3dOYW1lLCBOYW1lZEZsb3cgZmxvd1ZhbHVlKTsKLSAgYm9vbGVhbiBkZWxldGUoQ1NT
T01TdHJpbmcgZmxvd05hbWUpOwotfTsKLQotW0V4cG9zZWQ9V2luZG93XQotaW50ZXJmYWNlIE5h
bWVkRmxvdyA6IEV2ZW50VGFyZ2V0IHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIENTU09NU3RyaW5n
IG5hbWU7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIG92ZXJzZXQ7Ci0gIHNlcXVlbmNl
PFJlZ2lvbj4gZ2V0UmVnaW9ucygpOwotICByZWFkb25seSBhdHRyaWJ1dGUgc2hvcnQgZmlyc3RF
bXB0eVJlZ2lvbkluZGV4OwotICBzZXF1ZW5jZTxOb2RlPiBnZXRDb250ZW50KCk7Ci0gIHNlcXVl
bmNlPFJlZ2lvbj4gZ2V0UmVnaW9uc0J5Q29udGVudChOb2RlIG5vZGUpOwotfTsKLQotaW50ZXJm
YWNlIG1peGluIFJlZ2lvbiB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBDU1NPTVN0cmluZyByZWdp
b25PdmVyc2V0OwotICBzZXF1ZW5jZTxSYW5nZT4/IGdldFJlZ2lvbkZsb3dSYW5nZXMoKTsKLX07
Ci0KLUVsZW1lbnQgaW5jbHVkZXMgUmVnaW9uOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2Nzcy1zaGFkb3ctcGFydHMu
aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZh
Y2VzL2Nzcy1zaGFkb3ctcGFydHMuaWRsCmluZGV4IDY2YWFlYmE3M2E3YTYyMjgwMTcxZWExNzY1
OTE1OTkxYjlkYTFiYTMuLmM0NzBlOGU3ZGM4YTcxZjA3ODcwYWZkYzc4OTg5YjQ3N2FmYTg3NGIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aW50ZXJmYWNlcy9jc3Mtc2hhZG93LXBhcnRzLmlkbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvY3NzLXNoYWRvdy1wYXJ0cy5pZGwK
QEAgLTEsNyArMSw3IEBACiAvLyBHRU5FUkFURUQgQ09OVEVOVCAtIERPIE5PVCBFRElUCiAvLyBD
b250ZW50IHdhcyBhdXRvbWF0aWNhbGx5IGV4dHJhY3RlZCBieSBSZWZmeSBpbnRvIHJlZmZ5LXJl
cG9ydHMKIC8vIChodHRwczovL2dpdGh1Yi5jb20vdGlkb3VzdC9yZWZmeS1yZXBvcnRzKQotLy8g
U291cmNlOiBDU1MgU2hhZG93IFBhcnRzIChodHRwOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3Mtc2hh
ZG93LXBhcnRzLykKKy8vIFNvdXJjZTogQ1NTIFNoYWRvdyBQYXJ0cyAoaHR0cHM6Ly9kcmFmdHMu
Y3Nzd2cub3JnL2Nzcy1zaGFkb3ctcGFydHMvKQogCiBwYXJ0aWFsIGludGVyZmFjZSBFbGVtZW50
IHsKICAgW1NhbWVPYmplY3QsIFB1dEZvcndhcmRzPXZhbHVlXSByZWFkb25seSBhdHRyaWJ1dGUg
RE9NVG9rZW5MaXN0IHBhcnQ7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvY3NzLXR5cGVkLW9tLmlkbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9jc3MtdHlwZWQt
b20uaWRsCmluZGV4IGRmOTY2OWU1NjM3ZjE4ZGU4OTc5MmZhY2JhOGZhYmUyMzRkNjU4ZjguLjAw
ZDNmNDliZmU2NTNjZTQ3ODJlMTNlNmMwZDQ2YzY1NzgzODc0Y2MgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9jc3MtdHlw
ZWQtb20uaWRsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaW50ZXJmYWNlcy9jc3MtdHlwZWQtb20uaWRsCkBAIC00MSw5ICs0MSw5IEBAIHBhcnRpYWwg
aW50ZXJmYWNlIG1peGluIEVsZW1lbnRDU1NJbmxpbmVTdHlsZSB7CiAgICAgW1NhbWVPYmplY3Rd
IHJlYWRvbmx5IGF0dHJpYnV0ZSBTdHlsZVByb3BlcnR5TWFwIGF0dHJpYnV0ZVN0eWxlTWFwOwog
fTsKIAotW0V4cG9zZWQ9KFdpbmRvdywgV29ya2VyLCBQYWludFdvcmtsZXQsIExheW91dFdvcmts
ZXQpLAotIENvbnN0cnVjdG9yKHNlcXVlbmNlPENTU1VucGFyc2VkU2VnbWVudD4gbWVtYmVycyld
CitbRXhwb3NlZD0oV2luZG93LCBXb3JrZXIsIFBhaW50V29ya2xldCwgTGF5b3V0V29ya2xldCld
CiBpbnRlcmZhY2UgQ1NTVW5wYXJzZWRWYWx1ZSA6IENTU1N0eWxlVmFsdWUgeworICAgIGNvbnN0
cnVjdG9yKHNlcXVlbmNlPENTU1VucGFyc2VkU2VnbWVudD4gbWVtYmVycyk7CiAgICAgaXRlcmFi
bGU8Q1NTVW5wYXJzZWRTZWdtZW50PjsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQg
bG9uZyBsZW5ndGg7CiAgICAgZ2V0dGVyIENTU1VucGFyc2VkU2VnbWVudCAodW5zaWduZWQgbG9u
ZyBpbmRleCk7CkBAIC01MiwxNiArNTIsMTYgQEAgaW50ZXJmYWNlIENTU1VucGFyc2VkVmFsdWUg
OiBDU1NTdHlsZVZhbHVlIHsKIAogdHlwZWRlZiAoVVNWU3RyaW5nIG9yIENTU1ZhcmlhYmxlUmVm
ZXJlbmNlVmFsdWUpIENTU1VucGFyc2VkU2VnbWVudDsKIAotW0V4cG9zZWQ9KFdpbmRvdywgV29y
a2VyLCBQYWludFdvcmtsZXQsIExheW91dFdvcmtsZXQpLAotIENvbnN0cnVjdG9yKFVTVlN0cmlu
ZyB2YXJpYWJsZSwgb3B0aW9uYWwgQ1NTVW5wYXJzZWRWYWx1ZT8gZmFsbGJhY2sgPSBudWxsKV0K
K1tFeHBvc2VkPShXaW5kb3csIFdvcmtlciwgUGFpbnRXb3JrbGV0LCBMYXlvdXRXb3JrbGV0KV0K
IGludGVyZmFjZSBDU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlIHsKKyAgICBjb25zdHJ1Y3RvcihV
U1ZTdHJpbmcgdmFyaWFibGUsIG9wdGlvbmFsIENTU1VucGFyc2VkVmFsdWU/IGZhbGxiYWNrID0g
bnVsbCk7CiAgICAgYXR0cmlidXRlIFVTVlN0cmluZyB2YXJpYWJsZTsKICAgICByZWFkb25seSBh
dHRyaWJ1dGUgQ1NTVW5wYXJzZWRWYWx1ZT8gZmFsbGJhY2s7CiB9OwogCi1bRXhwb3NlZD0oV2lu
ZG93LCBXb3JrZXIsIFBhaW50V29ya2xldCwgTGF5b3V0V29ya2xldCksCi0gQ29uc3RydWN0b3Io
VVNWU3RyaW5nIHZhbHVlKV0KK1tFeHBvc2VkPShXaW5kb3csIFdvcmtlciwgUGFpbnRXb3JrbGV0
LCBMYXlvdXRXb3JrbGV0KV0KIGludGVyZmFjZSBDU1NLZXl3b3JkVmFsdWUgOiBDU1NTdHlsZVZh
bHVlIHsKKyAgICBjb25zdHJ1Y3RvcihVU1ZTdHJpbmcgdmFsdWUpOwogICAgIGF0dHJpYnV0ZSBV
U1ZTdHJpbmcgdmFsdWU7CiB9OwogCkBAIC0xMDgsOSArMTA4LDkgQEAgaW50ZXJmYWNlIENTU051
bWVyaWNWYWx1ZSA6IENTU1N0eWxlVmFsdWUgewogICAgIFtFeHBvc2VkPVdpbmRvd10gc3RhdGlj
IENTU051bWVyaWNWYWx1ZSBwYXJzZShVU1ZTdHJpbmcgY3NzVGV4dCk7CiB9OwogCi1bRXhwb3Nl
ZD0oV2luZG93LCBXb3JrZXIsIFBhaW50V29ya2xldCwgTGF5b3V0V29ya2xldCksCi0gQ29uc3Ry
dWN0b3IoZG91YmxlIHZhbHVlLCBVU1ZTdHJpbmcgdW5pdCldCitbRXhwb3NlZD0oV2luZG93LCBX
b3JrZXIsIFBhaW50V29ya2xldCwgTGF5b3V0V29ya2xldCldCiBpbnRlcmZhY2UgQ1NTVW5pdFZh
bHVlIDogQ1NTTnVtZXJpY1ZhbHVlIHsKKyAgICBjb25zdHJ1Y3Rvcihkb3VibGUgdmFsdWUsIFVT
VlN0cmluZyB1bml0KTsKICAgICBhdHRyaWJ1dGUgZG91YmxlIHZhbHVlOwogICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBVU1ZTdHJpbmcgdW5pdDsKIH07CkBAIC0xMjAsNDUgKzEyMCw0NSBAQCBpbnRl
cmZhY2UgQ1NTTWF0aFZhbHVlIDogQ1NTTnVtZXJpY1ZhbHVlIHsKICAgICByZWFkb25seSBhdHRy
aWJ1dGUgQ1NTTWF0aE9wZXJhdG9yIG9wZXJhdG9yOwogfTsKIAotW0V4cG9zZWQ9KFdpbmRvdywg
V29ya2VyLCBQYWludFdvcmtsZXQsIExheW91dFdvcmtsZXQpLAotIENvbnN0cnVjdG9yKENTU051
bWJlcmlzaC4uLiBhcmdzKV0KK1tFeHBvc2VkPShXaW5kb3csIFdvcmtlciwgUGFpbnRXb3JrbGV0
LCBMYXlvdXRXb3JrbGV0KV0KIGludGVyZmFjZSBDU1NNYXRoU3VtIDogQ1NTTWF0aFZhbHVlIHsK
KyAgICBjb25zdHJ1Y3RvcihDU1NOdW1iZXJpc2guLi4gYXJncyk7CiAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIENTU051bWVyaWNBcnJheSB2YWx1ZXM7CiB9OwogCi1bRXhwb3NlZD0oV2luZG93LCBX
b3JrZXIsIFBhaW50V29ya2xldCwgTGF5b3V0V29ya2xldCksCi0gQ29uc3RydWN0b3IoQ1NTTnVt
YmVyaXNoLi4uIGFyZ3MpXQorW0V4cG9zZWQ9KFdpbmRvdywgV29ya2VyLCBQYWludFdvcmtsZXQs
IExheW91dFdvcmtsZXQpXQogaW50ZXJmYWNlIENTU01hdGhQcm9kdWN0IDogQ1NTTWF0aFZhbHVl
IHsKKyAgICBjb25zdHJ1Y3RvcihDU1NOdW1iZXJpc2guLi4gYXJncyk7CiAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIENTU051bWVyaWNBcnJheSB2YWx1ZXM7CiB9OwogCi1bRXhwb3NlZD0oV2luZG93
LCBXb3JrZXIsIFBhaW50V29ya2xldCwgTGF5b3V0V29ya2xldCksCi0gQ29uc3RydWN0b3IoQ1NT
TnVtYmVyaXNoIGFyZyldCitbRXhwb3NlZD0oV2luZG93LCBXb3JrZXIsIFBhaW50V29ya2xldCwg
TGF5b3V0V29ya2xldCldCiBpbnRlcmZhY2UgQ1NTTWF0aE5lZ2F0ZSA6IENTU01hdGhWYWx1ZSB7
CisgICAgY29uc3RydWN0b3IoQ1NTTnVtYmVyaXNoIGFyZyk7CiAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIENTU051bWVyaWNWYWx1ZSB2YWx1ZTsKIH07CiAKLVtFeHBvc2VkPShXaW5kb3csIFdvcmtl
ciwgUGFpbnRXb3JrbGV0LCBMYXlvdXRXb3JrbGV0KSwKLSBDb25zdHJ1Y3RvcihDU1NOdW1iZXJp
c2ggYXJnKV0KK1tFeHBvc2VkPShXaW5kb3csIFdvcmtlciwgUGFpbnRXb3JrbGV0LCBMYXlvdXRX
b3JrbGV0KV0KIGludGVyZmFjZSBDU1NNYXRoSW52ZXJ0IDogQ1NTTWF0aFZhbHVlIHsKKyAgICBj
b25zdHJ1Y3RvcihDU1NOdW1iZXJpc2ggYXJnKTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgQ1NT
TnVtZXJpY1ZhbHVlIHZhbHVlOwogfTsKIAotW0V4cG9zZWQ9KFdpbmRvdywgV29ya2VyLCBQYWlu
dFdvcmtsZXQsIExheW91dFdvcmtsZXQpLAotIENvbnN0cnVjdG9yKENTU051bWJlcmlzaC4uLiBh
cmdzKV0KK1tFeHBvc2VkPShXaW5kb3csIFdvcmtlciwgUGFpbnRXb3JrbGV0LCBMYXlvdXRXb3Jr
bGV0KV0KIGludGVyZmFjZSBDU1NNYXRoTWluIDogQ1NTTWF0aFZhbHVlIHsKKyAgICBjb25zdHJ1
Y3RvcihDU1NOdW1iZXJpc2guLi4gYXJncyk7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIENTU051
bWVyaWNBcnJheSB2YWx1ZXM7CiB9OwogCi1bRXhwb3NlZD0oV2luZG93LCBXb3JrZXIsIFBhaW50
V29ya2xldCwgTGF5b3V0V29ya2xldCksCi0gQ29uc3RydWN0b3IoQ1NTTnVtYmVyaXNoLi4uIGFy
Z3MpXQorW0V4cG9zZWQ9KFdpbmRvdywgV29ya2VyLCBQYWludFdvcmtsZXQsIExheW91dFdvcmts
ZXQpXQogaW50ZXJmYWNlIENTU01hdGhNYXggOiBDU1NNYXRoVmFsdWUgeworICAgIGNvbnN0cnVj
dG9yKENTU051bWJlcmlzaC4uLiBhcmdzKTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgQ1NTTnVt
ZXJpY0FycmF5IHZhbHVlczsKIH07CiAKLVtFeHBvc2VkPShXaW5kb3csIFdvcmtlciwgUGFpbnRX
b3JrbGV0LCBMYXlvdXRXb3JrbGV0KSwKLSBDb25zdHJ1Y3RvcihDU1NOdW1iZXJpc2ggbWluLCBD
U1NOdW1iZXJpc2ggdmFsLCBDU1NOdW1iZXJpc2ggbWF4KV0KK1tFeHBvc2VkPShXaW5kb3csIFdv
cmtlciwgUGFpbnRXb3JrbGV0LCBMYXlvdXRXb3JrbGV0KV0KIGludGVyZmFjZSBDU1NNYXRoQ2xh
bXAgOiBDU1NNYXRoVmFsdWUgeworICAgIGNvbnN0cnVjdG9yKENTU051bWJlcmlzaCBtaW4sIENT
U051bWJlcmlzaCB2YWwsIENTU051bWJlcmlzaCBtYXgpOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBDU1NOdW1lcmljVmFsdWUgbWluOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBDU1NOdW1lcmlj
VmFsdWUgdmFsOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBDU1NOdW1lcmljVmFsdWUgbWF4OwpA
QCAtMjMwLDkgKzIzMCw5IEBAIHBhcnRpYWwgbmFtZXNwYWNlIENTUyB7CiAgICAgQ1NTVW5pdFZh
bHVlIGZyKGRvdWJsZSB2YWx1ZSk7CiB9OwogCi1bRXhwb3NlZD0oV2luZG93LCBXb3JrZXIsIFBh
aW50V29ya2xldCwgTGF5b3V0V29ya2xldCksCi0gQ29uc3RydWN0b3Ioc2VxdWVuY2U8Q1NTVHJh
bnNmb3JtQ29tcG9uZW50PiB0cmFuc2Zvcm1zKV0KK1tFeHBvc2VkPShXaW5kb3csIFdvcmtlciwg
UGFpbnRXb3JrbGV0LCBMYXlvdXRXb3JrbGV0KV0KIGludGVyZmFjZSBDU1NUcmFuc2Zvcm1WYWx1
ZSA6IENTU1N0eWxlVmFsdWUgeworICAgIGNvbnN0cnVjdG9yKHNlcXVlbmNlPENTU1RyYW5zZm9y
bUNvbXBvbmVudD4gdHJhbnNmb3Jtcyk7CiAgICAgaXRlcmFibGU8Q1NTVHJhbnNmb3JtQ29tcG9u
ZW50PjsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7CiAgICAg
Z2V0dGVyIENTU1RyYW5zZm9ybUNvbXBvbmVudCAodW5zaWduZWQgbG9uZyBpbmRleCk7CkBAIC0y
NDksNjMgKzI0OSw2MyBAQCBpbnRlcmZhY2UgQ1NTVHJhbnNmb3JtQ29tcG9uZW50IHsKICAgICBE
T01NYXRyaXggdG9NYXRyaXgoKTsKIH07CiAKLVtFeHBvc2VkPShXaW5kb3csIFdvcmtlciwgUGFp
bnRXb3JrbGV0LCBMYXlvdXRXb3JrbGV0KSwKLSBDb25zdHJ1Y3RvcihDU1NOdW1lcmljVmFsdWUg
eCwgQ1NTTnVtZXJpY1ZhbHVlIHksIG9wdGlvbmFsIENTU051bWVyaWNWYWx1ZSB6KV0KK1tFeHBv
c2VkPShXaW5kb3csIFdvcmtlciwgUGFpbnRXb3JrbGV0LCBMYXlvdXRXb3JrbGV0KV0KIGludGVy
ZmFjZSBDU1NUcmFuc2xhdGUgOiBDU1NUcmFuc2Zvcm1Db21wb25lbnQgeworICAgIGNvbnN0cnVj
dG9yKENTU051bWVyaWNWYWx1ZSB4LCBDU1NOdW1lcmljVmFsdWUgeSwgb3B0aW9uYWwgQ1NTTnVt
ZXJpY1ZhbHVlIHopOwogICAgIGF0dHJpYnV0ZSBDU1NOdW1lcmljVmFsdWUgeDsKICAgICBhdHRy
aWJ1dGUgQ1NTTnVtZXJpY1ZhbHVlIHk7CiAgICAgYXR0cmlidXRlIENTU051bWVyaWNWYWx1ZSB6
OwogfTsKIAotW0V4cG9zZWQ9KFdpbmRvdywgV29ya2VyLCBQYWludFdvcmtsZXQsIExheW91dFdv
cmtsZXQpLAotIENvbnN0cnVjdG9yKENTU051bWVyaWNWYWx1ZSBhbmdsZSksCi0gQ29uc3RydWN0
b3IoQ1NTTnVtYmVyaXNoIHgsIENTU051bWJlcmlzaCB5LCBDU1NOdW1iZXJpc2ggeiwgQ1NTTnVt
ZXJpY1ZhbHVlIGFuZ2xlKV0KK1tFeHBvc2VkPShXaW5kb3csIFdvcmtlciwgUGFpbnRXb3JrbGV0
LCBMYXlvdXRXb3JrbGV0KV0KIGludGVyZmFjZSBDU1NSb3RhdGUgOiBDU1NUcmFuc2Zvcm1Db21w
b25lbnQgeworICAgIGNvbnN0cnVjdG9yKENTU051bWVyaWNWYWx1ZSBhbmdsZSk7CisgICAgY29u
c3RydWN0b3IoQ1NTTnVtYmVyaXNoIHgsIENTU051bWJlcmlzaCB5LCBDU1NOdW1iZXJpc2ggeiwg
Q1NTTnVtZXJpY1ZhbHVlIGFuZ2xlKTsKICAgICBhdHRyaWJ1dGUgQ1NTTnVtYmVyaXNoIHg7CiAg
ICAgYXR0cmlidXRlIENTU051bWJlcmlzaCB5OwogICAgIGF0dHJpYnV0ZSBDU1NOdW1iZXJpc2gg
ejsKICAgICBhdHRyaWJ1dGUgQ1NTTnVtZXJpY1ZhbHVlIGFuZ2xlOwogfTsKIAotW0V4cG9zZWQ9
KFdpbmRvdywgV29ya2VyLCBQYWludFdvcmtsZXQsIExheW91dFdvcmtsZXQpLAotIENvbnN0cnVj
dG9yKENTU051bWJlcmlzaCB4LCBDU1NOdW1iZXJpc2ggeSwgb3B0aW9uYWwgQ1NTTnVtYmVyaXNo
IHopXQorW0V4cG9zZWQ9KFdpbmRvdywgV29ya2VyLCBQYWludFdvcmtsZXQsIExheW91dFdvcmts
ZXQpXQogaW50ZXJmYWNlIENTU1NjYWxlIDogQ1NTVHJhbnNmb3JtQ29tcG9uZW50IHsKKyAgICBj
b25zdHJ1Y3RvcihDU1NOdW1iZXJpc2ggeCwgQ1NTTnVtYmVyaXNoIHksIG9wdGlvbmFsIENTU051
bWJlcmlzaCB6KTsKICAgICBhdHRyaWJ1dGUgQ1NTTnVtYmVyaXNoIHg7CiAgICAgYXR0cmlidXRl
IENTU051bWJlcmlzaCB5OwogICAgIGF0dHJpYnV0ZSBDU1NOdW1iZXJpc2ggejsKIH07CiAKLVtF
eHBvc2VkPShXaW5kb3csIFdvcmtlciwgUGFpbnRXb3JrbGV0LCBMYXlvdXRXb3JrbGV0KSwKLSBD
b25zdHJ1Y3RvcihDU1NOdW1lcmljVmFsdWUgYXgsIENTU051bWVyaWNWYWx1ZSBheSldCitbRXhw
b3NlZD0oV2luZG93LCBXb3JrZXIsIFBhaW50V29ya2xldCwgTGF5b3V0V29ya2xldCldCiBpbnRl
cmZhY2UgQ1NTU2tldyA6IENTU1RyYW5zZm9ybUNvbXBvbmVudCB7CisgICAgY29uc3RydWN0b3Io
Q1NTTnVtZXJpY1ZhbHVlIGF4LCBDU1NOdW1lcmljVmFsdWUgYXkpOwogICAgIGF0dHJpYnV0ZSBD
U1NOdW1lcmljVmFsdWUgYXg7CiAgICAgYXR0cmlidXRlIENTU051bWVyaWNWYWx1ZSBheTsKIH07
CiAKLVtFeHBvc2VkPShXaW5kb3csIFdvcmtlciwgUGFpbnRXb3JrbGV0LCBMYXlvdXRXb3JrbGV0
KSwKLSBDb25zdHJ1Y3RvcihDU1NOdW1lcmljVmFsdWUgYXgpXQorW0V4cG9zZWQ9KFdpbmRvdywg
V29ya2VyLCBQYWludFdvcmtsZXQsIExheW91dFdvcmtsZXQpXQogaW50ZXJmYWNlIENTU1NrZXdY
IDogQ1NTVHJhbnNmb3JtQ29tcG9uZW50IHsKKyAgICBjb25zdHJ1Y3RvcihDU1NOdW1lcmljVmFs
dWUgYXgpOwogICAgIGF0dHJpYnV0ZSBDU1NOdW1lcmljVmFsdWUgYXg7CiB9OwogCi1bRXhwb3Nl
ZD0oV2luZG93LCBXb3JrZXIsIFBhaW50V29ya2xldCwgTGF5b3V0V29ya2xldCksCi0gQ29uc3Ry
dWN0b3IoQ1NTTnVtZXJpY1ZhbHVlIGF5KV0KK1tFeHBvc2VkPShXaW5kb3csIFdvcmtlciwgUGFp
bnRXb3JrbGV0LCBMYXlvdXRXb3JrbGV0KV0KIGludGVyZmFjZSBDU1NTa2V3WSA6IENTU1RyYW5z
Zm9ybUNvbXBvbmVudCB7CisgICAgY29uc3RydWN0b3IoQ1NTTnVtZXJpY1ZhbHVlIGF5KTsKICAg
ICBhdHRyaWJ1dGUgQ1NTTnVtZXJpY1ZhbHVlIGF5OwogfTsKIAogLyogTm90ZSB0aGF0IHNrZXco
eCx5KSBpcyAqbm90KiB0aGUgc2FtZSBhcyBza2V3WCh4KSBza2V3WSh5KSwKICAgIHRodXMgdGhl
IHNlcGFyYXRlIGludGVyZmFjZXMgZm9yIGFsbCB0aHJlZS4gKi8KIAotW0V4cG9zZWQ9KFdpbmRv
dywgV29ya2VyLCBQYWludFdvcmtsZXQsIExheW91dFdvcmtsZXQpLAotIENvbnN0cnVjdG9yKENT
U051bWVyaWNWYWx1ZSBsZW5ndGgpXQorW0V4cG9zZWQ9KFdpbmRvdywgV29ya2VyLCBQYWludFdv
cmtsZXQsIExheW91dFdvcmtsZXQpXQogaW50ZXJmYWNlIENTU1BlcnNwZWN0aXZlIDogQ1NTVHJh
bnNmb3JtQ29tcG9uZW50IHsKKyAgICBjb25zdHJ1Y3RvcihDU1NOdW1lcmljVmFsdWUgbGVuZ3Ro
KTsKICAgICBhdHRyaWJ1dGUgQ1NTTnVtZXJpY1ZhbHVlIGxlbmd0aDsKIH07CiAKLVtFeHBvc2Vk
PShXaW5kb3csIFdvcmtlciwgUGFpbnRXb3JrbGV0LCBMYXlvdXRXb3JrbGV0KSwKLSBDb25zdHJ1
Y3RvcihET01NYXRyaXhSZWFkT25seSBtYXRyaXgsIG9wdGlvbmFsIENTU01hdHJpeENvbXBvbmVu
dE9wdGlvbnMgb3B0aW9ucyA9IHt9KV0KK1tFeHBvc2VkPShXaW5kb3csIFdvcmtlciwgUGFpbnRX
b3JrbGV0LCBMYXlvdXRXb3JrbGV0KV0KIGludGVyZmFjZSBDU1NNYXRyaXhDb21wb25lbnQgOiBD
U1NUcmFuc2Zvcm1Db21wb25lbnQgeworICAgIGNvbnN0cnVjdG9yKERPTU1hdHJpeFJlYWRPbmx5
IG1hdHJpeCwgb3B0aW9uYWwgQ1NTTWF0cml4Q29tcG9uZW50T3B0aW9ucyBvcHRpb25zID0ge30p
OwogICAgIGF0dHJpYnV0ZSBET01NYXRyaXggbWF0cml4OwogfTsKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2Nzc29t
LXZpZXcuaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bnRlcmZhY2VzL2Nzc29tLXZpZXcuaWRsCmluZGV4IDM0MDM2NDg0MTk1ZTI4YjMwNjhjOWVmMDlm
NDRhY2QwYmVkNmJkYTkuLjgyNTE3ZmVmY2MyMThjZTFhYmI0MTE2OWQ0NWU2YWVmYzU4MGNhNmQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aW50ZXJmYWNlcy9jc3NvbS12aWV3LmlkbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvY3Nzb20tdmlldy5pZGwKQEAgLTIwLDcgKzIw
LDcgQEAgcGFydGlhbCBpbnRlcmZhY2UgV2luZG93IHsKICAgICAvLyBicm93c2luZyBjb250ZXh0
CiAgICAgdm9pZCBtb3ZlVG8obG9uZyB4LCBsb25nIHkpOwogICAgIHZvaWQgbW92ZUJ5KGxvbmcg
eCwgbG9uZyB5KTsKLSAgICB2b2lkIHJlc2l6ZVRvKGxvbmcgeCwgbG9uZyB5KTsKKyAgICB2b2lk
IHJlc2l6ZVRvKGxvbmcgd2lkdGgsIGxvbmcgaGVpZ2h0KTsKICAgICB2b2lkIHJlc2l6ZUJ5KGxv
bmcgeCwgbG9uZyB5KTsKIAogICAgIC8vIHZpZXdwb3J0CkBAIC01OCw5ICs1OCw5IEBAIGludGVy
ZmFjZSBNZWRpYVF1ZXJ5TGlzdCA6IEV2ZW50VGFyZ2V0IHsKICAgICAgICAgICAgYXR0cmlidXRl
IEV2ZW50SGFuZGxlciBvbmNoYW5nZTsKIH07CiAKLVtFeHBvc2VkPVdpbmRvdywKLSBDb25zdHJ1
Y3RvcihDU1NPTVN0cmluZyB0eXBlLCBvcHRpb25hbCBNZWRpYVF1ZXJ5TGlzdEV2ZW50SW5pdCBl
dmVudEluaXREaWN0ID0ge30pXQorW0V4cG9zZWQ9V2luZG93XQogaW50ZXJmYWNlIE1lZGlhUXVl
cnlMaXN0RXZlbnQgOiBFdmVudCB7CisgIGNvbnN0cnVjdG9yKENTU09NU3RyaW5nIHR5cGUsIG9w
dGlvbmFsIE1lZGlhUXVlcnlMaXN0RXZlbnRJbml0IGV2ZW50SW5pdERpY3QgPSB7fSk7CiAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBDU1NPTVN0cmluZyBtZWRpYTsKICAgcmVhZG9ubHkgYXR0cmlidXRl
IGJvb2xlYW4gbWF0Y2hlczsKIH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvY3Nzb20uaWRsIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2Nzc29tLmlkbAppbmRl
eCBkYzliNzhmZGE2MTgwZGJhNmI3OTU4YzM0MjlhNzdlMGZiNTA0OGIyLi5iN2Q5YzMzZDU5NmMz
ODgyZTE0ZmZhMmZhMWRlZTk5ZTA4N2VjZWRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvY3Nzb20uaWRsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9jc3Nv
bS5pZGwKQEAgLTE0LDcgKzE0LDcgQEAgdHlwZWRlZiBET01TdHJpbmcgQ1NTT01TdHJpbmc7CiAK
IFtFeHBvc2VkPVdpbmRvd10KIGludGVyZmFjZSBNZWRpYUxpc3QgewotICBzdHJpbmdpZmllciBh
dHRyaWJ1dGUgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBDU1NPTVN0cmluZyBtZWRpYVRleHQ7
CisgIHN0cmluZ2lmaWVyIGF0dHJpYnV0ZSBbTGVnYWN5TnVsbFRvRW1wdHlTdHJpbmddIENTU09N
U3RyaW5nIG1lZGlhVGV4dDsKICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVu
Z3RoOwogICBnZXR0ZXIgQ1NTT01TdHJpbmc/IGl0ZW0odW5zaWduZWQgbG9uZyBpbmRleCk7CiAg
IHZvaWQgYXBwZW5kTWVkaXVtKENTU09NU3RyaW5nIG1lZGl1bSk7CkBAIC03Myw3ICs3Myw3IEBA
IGludGVyZmFjZSBDU1NSdWxlIHsKICAgcmVhZG9ubHkgYXR0cmlidXRlIENTU1J1bGU/IHBhcmVu
dFJ1bGU7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBDU1NTdHlsZVNoZWV0PyBwYXJlbnRTdHlsZVNo
ZWV0OwogCi0gIC8vIHRoZSBmb2xsb3dpbmcgYXR0cmlidXRlIGFuZCBjb25zdGFudHMgYXJlIGhp
c3RvcmlhbAorICAvLyB0aGUgZm9sbG93aW5nIGF0dHJpYnV0ZSBhbmQgY29uc3RhbnRzIGFyZSBo
aXN0b3JpY2FsCiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCB0eXBlOwogICBj
b25zdCB1bnNpZ25lZCBzaG9ydCBTVFlMRV9SVUxFID0gMTsKICAgY29uc3QgdW5zaWduZWQgc2hv
cnQgQ0hBUlNFVF9SVUxFID0gMjsKQEAgLTEzMCwxMCArMTMwLDEwIEBAIGludGVyZmFjZSBDU1NT
dHlsZURlY2xhcmF0aW9uIHsKICAgZ2V0dGVyIENTU09NU3RyaW5nIGl0ZW0odW5zaWduZWQgbG9u
ZyBpbmRleCk7CiAgIENTU09NU3RyaW5nIGdldFByb3BlcnR5VmFsdWUoQ1NTT01TdHJpbmcgcHJv
cGVydHkpOwogICBDU1NPTVN0cmluZyBnZXRQcm9wZXJ0eVByaW9yaXR5KENTU09NU3RyaW5nIHBy
b3BlcnR5KTsKLSAgW0NFUmVhY3Rpb25zXSB2b2lkIHNldFByb3BlcnR5KENTU09NU3RyaW5nIHBy
b3BlcnR5LCBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIENTU09NU3RyaW5nIHZhbHVlLCBvcHRp
b25hbCBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIENTU09NU3RyaW5nIHByaW9yaXR5ID0gIiIp
OworICBbQ0VSZWFjdGlvbnNdIHZvaWQgc2V0UHJvcGVydHkoQ1NTT01TdHJpbmcgcHJvcGVydHks
IFtMZWdhY3lOdWxsVG9FbXB0eVN0cmluZ10gQ1NTT01TdHJpbmcgdmFsdWUsIG9wdGlvbmFsIFtM
ZWdhY3lOdWxsVG9FbXB0eVN0cmluZ10gQ1NTT01TdHJpbmcgcHJpb3JpdHkgPSAiIik7CiAgIFtD
RVJlYWN0aW9uc10gQ1NTT01TdHJpbmcgcmVtb3ZlUHJvcGVydHkoQ1NTT01TdHJpbmcgcHJvcGVy
dHkpOwogICByZWFkb25seSBhdHRyaWJ1dGUgQ1NTUnVsZT8gcGFyZW50UnVsZTsKLSAgW0NFUmVh
Y3Rpb25zXSBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBDU1NPTVN0cmluZyBj
c3NGbG9hdDsKKyAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgW0xlZ2FjeU51bGxUb0VtcHR5U3Ry
aW5nXSBDU1NPTVN0cmluZyBjc3NGbG9hdDsKIH07CiAKIGludGVyZmFjZSBtaXhpbiBFbGVtZW50
Q1NTSW5saW5lU3R5bGUgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2RldmljZS1tZW1vcnkuaWRsIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2RldmljZS1tZW1v
cnkuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmY2NjQwMTNkZGVmZWE3YmM4OTUwZjc2MDRjMDZmNTNjMWMxYWFj
NDgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ludGVyZmFjZXMvZGV2aWNlLW1lbW9yeS5pZGwKQEAgLTAsMCArMSwxNCBAQAor
Ly8gR0VORVJBVEVEIENPTlRFTlQgLSBETyBOT1QgRURJVAorLy8gQ29udGVudCB3YXMgYXV0b21h
dGljYWxseSBleHRyYWN0ZWQgYnkgUmVmZnkgaW50byByZWZmeS1yZXBvcnRzCisvLyAoaHR0cHM6
Ly9naXRodWIuY29tL3RpZG91c3QvcmVmZnktcmVwb3J0cykKKy8vIFNvdXJjZTogRGV2aWNlIE1l
bW9yeSAxIChodHRwczovL3czYy5naXRodWIuaW8vZGV2aWNlLW1lbW9yeS8pCisKK1sKKyAgICBT
ZWN1cmVDb250ZXh0LAorICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpCitdIGludGVyZmFjZSBt
aXhpbiBOYXZpZ2F0b3JEZXZpY2VNZW1vcnkgeworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3Vi
bGUgZGV2aWNlTWVtb3J5OworfTsKKworTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvckRldmlj
ZU1lbW9yeTsKK1dvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JEZXZpY2VNZW1vcnk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ludGVyZmFjZXMvZG9tLmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaW50ZXJmYWNlcy9kb20uaWRsCmluZGV4IGY3YTEwZDg5MGFiODkyZTk5MGJmOWE4
MWI4Nzg4NGU1NDA4OWRjYWEuLjEwMmMyMzEyMzgxOWJhMmU5YjYzMzc1NWNmYjQ1M2IxZjIxNjg5
NjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaW50ZXJmYWNlcy9kb20uaWRsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9kb20uaWRsCkBAIC0zMCw3ICszMCw3IEBAIGludGVy
ZmFjZSBFdmVudCB7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGRlZmF1bHRQcmV2ZW50
ZWQ7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGNvbXBvc2VkOwogCi0gIFtVbmZvcmdl
YWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gaXNUcnVzdGVkOworICBbTGVnYWN5VW5m
b3JnZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGlzVHJ1c3RlZDsKICAgcmVhZG9u
bHkgYXR0cmlidXRlIERPTUhpZ2hSZXNUaW1lU3RhbXAgdGltZVN0YW1wOwogCiAgIHZvaWQgaW5p
dEV2ZW50KERPTVN0cmluZyB0eXBlLCBvcHRpb25hbCBib29sZWFuIGJ1YmJsZXMgPSBmYWxzZSwg
b3B0aW9uYWwgYm9vbGVhbiBjYW5jZWxhYmxlID0gZmFsc2UpOyAvLyBoaXN0b3JpY2FsCkBAIC01
Miw3ICs1Miw3IEBAIGludGVyZmFjZSBDdXN0b21FdmVudCA6IEV2ZW50IHsKIAogICByZWFkb25s
eSBhdHRyaWJ1dGUgYW55IGRldGFpbDsKIAotICB2b2lkIGluaXRDdXN0b21FdmVudChET01TdHJp
bmcgdHlwZSwgb3B0aW9uYWwgYm9vbGVhbiBidWJibGVzID0gZmFsc2UsIG9wdGlvbmFsIGJvb2xl
YW4gY2FuY2VsYWJsZSA9IGZhbHNlLCBvcHRpb25hbCBhbnkgZGV0YWlsID0gbnVsbCk7CisgIHZv
aWQgaW5pdEN1c3RvbUV2ZW50KERPTVN0cmluZyB0eXBlLCBvcHRpb25hbCBib29sZWFuIGJ1YmJs
ZXMgPSBmYWxzZSwgb3B0aW9uYWwgYm9vbGVhbiBjYW5jZWxhYmxlID0gZmFsc2UsIG9wdGlvbmFs
IGFueSBkZXRhaWwgPSBudWxsKTsgLy8gaGlzdG9yaWNhbAogfTsKIAogZGljdGlvbmFyeSBDdXN0
b21FdmVudEluaXQgOiBFdmVudEluaXQgewpAQCAtMTE1LDYgKzExNSw3IEBAIGludGVyZmFjZSBt
aXhpbiBQYXJlbnROb2RlIHsKIAogICBbQ0VSZWFjdGlvbnMsIFVuc2NvcGFibGVdIHZvaWQgcHJl
cGVuZCgoTm9kZSBvciBET01TdHJpbmcpLi4uIG5vZGVzKTsKICAgW0NFUmVhY3Rpb25zLCBVbnNj
b3BhYmxlXSB2b2lkIGFwcGVuZCgoTm9kZSBvciBET01TdHJpbmcpLi4uIG5vZGVzKTsKKyAgW0NF
UmVhY3Rpb25zLCBVbnNjb3BhYmxlXSB2b2lkIHJlcGxhY2VDaGlsZHJlbigoTm9kZSBvciBET01T
dHJpbmcpLi4uIG5vZGVzKTsKIAogICBFbGVtZW50PyBxdWVyeVNlbGVjdG9yKERPTVN0cmluZyBz
ZWxlY3RvcnMpOwogICBbTmV3T2JqZWN0XSBOb2RlTGlzdCBxdWVyeVNlbGVjdG9yQWxsKERPTVN0
cmluZyBzZWxlY3RvcnMpOwpAQCAtMTQwLDExICsxNDEsMTEgQEAgRG9jdW1lbnRUeXBlIGluY2x1
ZGVzIENoaWxkTm9kZTsKIEVsZW1lbnQgaW5jbHVkZXMgQ2hpbGROb2RlOwogQ2hhcmFjdGVyRGF0
YSBpbmNsdWRlcyBDaGlsZE5vZGU7CiAKLWludGVyZmFjZSBtaXhpbiBTbG90YWJsZSB7CitpbnRl
cmZhY2UgbWl4aW4gU2xvdHRhYmxlIHsKICAgcmVhZG9ubHkgYXR0cmlidXRlIEhUTUxTbG90RWxl
bWVudD8gYXNzaWduZWRTbG90OwogfTsKLUVsZW1lbnQgaW5jbHVkZXMgU2xvdGFibGU7Ci1UZXh0
IGluY2x1ZGVzIFNsb3RhYmxlOworRWxlbWVudCBpbmNsdWRlcyBTbG90dGFibGU7CitUZXh0IGlu
Y2x1ZGVzIFNsb3R0YWJsZTsKIAogW0V4cG9zZWQ9V2luZG93XQogaW50ZXJmYWNlIE5vZGVMaXN0
IHsKQEAgLTI4OSw3ICsyOTAsNyBAQCBpbnRlcmZhY2UgRG9jdW1lbnQgOiBOb2RlIHsKICAgW05l
d09iamVjdF0gQXR0ciBjcmVhdGVBdHRyaWJ1dGUoRE9NU3RyaW5nIGxvY2FsTmFtZSk7CiAgIFtO
ZXdPYmplY3RdIEF0dHIgY3JlYXRlQXR0cmlidXRlTlMoRE9NU3RyaW5nPyBuYW1lc3BhY2UsIERP
TVN0cmluZyBxdWFsaWZpZWROYW1lKTsKIAotICBbTmV3T2JqZWN0XSBFdmVudCBjcmVhdGVFdmVu
dChET01TdHJpbmcgaW50ZXJmYWNlKTsKKyAgW05ld09iamVjdF0gRXZlbnQgY3JlYXRlRXZlbnQo
RE9NU3RyaW5nIGludGVyZmFjZSk7IC8vIGhpc3RvcmljYWwKIAogICBbTmV3T2JqZWN0XSBSYW5n
ZSBjcmVhdGVSYW5nZSgpOwogCkBAIC0zMDgsNyArMzA5LDcgQEAgZGljdGlvbmFyeSBFbGVtZW50
Q3JlYXRpb25PcHRpb25zIHsKIFtFeHBvc2VkPVdpbmRvd10KIGludGVyZmFjZSBET01JbXBsZW1l
bnRhdGlvbiB7CiAgIFtOZXdPYmplY3RdIERvY3VtZW50VHlwZSBjcmVhdGVEb2N1bWVudFR5cGUo
RE9NU3RyaW5nIHF1YWxpZmllZE5hbWUsIERPTVN0cmluZyBwdWJsaWNJZCwgRE9NU3RyaW5nIHN5
c3RlbUlkKTsKLSAgW05ld09iamVjdF0gWE1MRG9jdW1lbnQgY3JlYXRlRG9jdW1lbnQoRE9NU3Ry
aW5nPyBuYW1lc3BhY2UsIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIHF1YWxp
ZmllZE5hbWUsIG9wdGlvbmFsIERvY3VtZW50VHlwZT8gZG9jdHlwZSA9IG51bGwpOworICBbTmV3
T2JqZWN0XSBYTUxEb2N1bWVudCBjcmVhdGVEb2N1bWVudChET01TdHJpbmc/IG5hbWVzcGFjZSwg
W0xlZ2FjeU51bGxUb0VtcHR5U3RyaW5nXSBET01TdHJpbmcgcXVhbGlmaWVkTmFtZSwgb3B0aW9u
YWwgRG9jdW1lbnRUeXBlPyBkb2N0eXBlID0gbnVsbCk7CiAgIFtOZXdPYmplY3RdIERvY3VtZW50
IGNyZWF0ZUhUTUxEb2N1bWVudChvcHRpb25hbCBET01TdHJpbmcgdGl0bGUpOwogCiAgIGJvb2xl
YW4gaGFzRmVhdHVyZSgpOyAvLyB1c2VsZXNzOyBhbHdheXMgcmV0dXJucyB0cnVlCkBAIC00MTMs
NyArNDE0LDcgQEAgaW50ZXJmYWNlIEF0dHIgOiBOb2RlIHsKIH07CiBbRXhwb3NlZD1XaW5kb3dd
CiBpbnRlcmZhY2UgQ2hhcmFjdGVyRGF0YSA6IE5vZGUgewotICBhdHRyaWJ1dGUgW1RyZWF0TnVs
bEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgZGF0YTsKKyAgYXR0cmlidXRlIFtMZWdhY3lOdWxs
VG9FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGRhdGE7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNp
Z25lZCBsb25nIGxlbmd0aDsKICAgRE9NU3RyaW5nIHN1YnN0cmluZ0RhdGEodW5zaWduZWQgbG9u
ZyBvZmZzZXQsIHVuc2lnbmVkIGxvbmcgY291bnQpOwogICB2b2lkIGFwcGVuZERhdGEoRE9NU3Ry
aW5nIGRhdGEpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2VuY3J5cHRlZC1tZWRpYS5pZGwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvZW5jcnlwdGVkLW1lZGlh
LmlkbAppbmRleCAyNmMwM2Y2ZjI0ZGMwMzIxMzMyYzdlMWQxNjQ0M2QzNTBkMzU5NzVhLi41ZDZi
YmUzNmNlMzhlN2U5MWVlMGYwMzY0YTE2MWNiZWQxNmU3NTc5IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvZW5jcnlwdGVk
LW1lZGlhLmlkbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ludGVyZmFjZXMvZW5jcnlwdGVkLW1lZGlhLmlkbApAQCAtMjUsOCArMjUsOSBAQCBkaWN0
aW9uYXJ5IE1lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbiB7CiB9OwogCiBkaWN0aW9uYXJ5IE1l
ZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5IHsKLSAgICAgICAgICAgICBET01TdHJpbmcgY29u
dGVudFR5cGUgPSAiIjsKLSAgICAgICAgICAgICBET01TdHJpbmcgcm9idXN0bmVzcyA9ICIiOwor
ICAgRE9NU3RyaW5nIGNvbnRlbnRUeXBlID0gIiI7CisgICBET01TdHJpbmc/IGVuY3J5cHRpb25T
Y2hlbWUgPSBudWxsOworICAgRE9NU3RyaW5nIHJvYnVzdG5lc3MgPSAiIjsKIH07CiAKIFtFeHBv
c2VkPVdpbmRvdywgU2VjdXJlQ29udGV4dF0gaW50ZXJmYWNlIE1lZGlhS2V5U3lzdGVtQWNjZXNz
IHsKQEAgLTM3LDcgKzM4LDggQEAgZGljdGlvbmFyeSBNZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJp
bGl0eSB7CiAKIGVudW0gTWVkaWFLZXlTZXNzaW9uVHlwZSB7CiAgICAgInRlbXBvcmFyeSIsCi0g
ICAgInBlcnNpc3RlbnQtbGljZW5zZSIKKyAgICAicGVyc2lzdGVudC1saWNlbnNlIiwKKyAgICAi
cGVyc2lzdGVudC11c2FnZS1yZWNvcmQiCiB9OwogCiBbRXhwb3NlZD1XaW5kb3csIFNlY3VyZUNv
bnRleHRdIGludGVyZmFjZSBNZWRpYUtleXMgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2V2ZW50LXRpbWluZy5pZGwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMv
ZXZlbnQtdGltaW5nLmlkbAppbmRleCBlODQ3NWQzMTkyMmYwM2QzNGRkNzBmMWZiZWUwOTRjNzk3
N2Y2Njc2Li5kODRkN2MzMmRjYzJhMGU5NzQ1YTZjNjBhN2FjNWRlZGFjNzhiMmQ0IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFj
ZXMvZXZlbnQtdGltaW5nLmlkbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvZXZlbnQtdGltaW5nLmlkbApAQCAtOCw2ICs4LDcgQEAg
aW50ZXJmYWNlIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcgOiBQZXJmb3JtYW5jZUVudHJ5IHsKICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgRE9NSGlnaFJlc1RpbWVTdGFtcCBwcm9jZXNzaW5nU3RhcnQ7
CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTUhpZ2hSZXNUaW1lU3RhbXAgcHJvY2Vzc2luZ0Vu
ZDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBjYW5jZWxhYmxlOworICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBOb2RlPyB0YXJnZXQ7CiAgICAgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04o
KTsKIH07CiAKQEAgLTIwLDMgKzIxLDcgQEAgaW50ZXJmYWNlIEV2ZW50Q291bnRzIHsKIHBhcnRp
YWwgaW50ZXJmYWNlIFBlcmZvcm1hbmNlIHsKICAgICBbU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0
cmlidXRlIEV2ZW50Q291bnRzIGV2ZW50Q291bnRzOwogfTsKKworcGFydGlhbCBkaWN0aW9uYXJ5
IFBlcmZvcm1hbmNlT2JzZXJ2ZXJJbml0IHsKKyAgICBET01IaWdoUmVzVGltZVN0YW1wIGR1cmF0
aW9uVGhyZXNob2xkOworfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9mdWxsc2NyZWVuLmlkbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9mdWxsc2NyZWVuLmlk
bAppbmRleCA2Zjg2ZDVjMjIwZmQyNzRjZWE4YjEyMTkwYWQxYTRhM2VlNWEyYmE5Li42NzdiMmUx
MTZmNmRjZjZmZjgzNDA3NjFkNDczZTNkY2YwZjgzYWY1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvZnVsbHNjcmVlbi5p
ZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRl
cmZhY2VzL2Z1bGxzY3JlZW4uaWRsCkBAIC0yMSw4ICsyMSw4IEBAIHBhcnRpYWwgaW50ZXJmYWNl
IEVsZW1lbnQgewogfTsKIAogcGFydGlhbCBpbnRlcmZhY2UgRG9jdW1lbnQgewotICBbTGVuaWVu
dFNldHRlcl0gcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gZnVsbHNjcmVlbkVuYWJsZWQ7Ci0g
IFtMZW5pZW50U2V0dGVyLCBVbnNjb3BhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBm
dWxsc2NyZWVuOyAvLyBoaXN0b3JpY2FsCisgIFtMZWdhY3lMZW5pZW50U2V0dGVyXSByZWFkb25s
eSBhdHRyaWJ1dGUgYm9vbGVhbiBmdWxsc2NyZWVuRW5hYmxlZDsKKyAgW0xlZ2FjeUxlbmllbnRT
ZXR0ZXIsIFVuc2NvcGFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGZ1bGxzY3JlZW47
IC8vIGhpc3RvcmljYWwKIAogICBQcm9taXNlPHZvaWQ+IGV4aXRGdWxsc2NyZWVuKCk7CiAKQEAg
LTMxLDUgKzMxLDUgQEAgcGFydGlhbCBpbnRlcmZhY2UgRG9jdW1lbnQgewogfTsKIAogcGFydGlh
bCBpbnRlcmZhY2UgbWl4aW4gRG9jdW1lbnRPclNoYWRvd1Jvb3QgewotICBbTGVuaWVudFNldHRl
cl0gcmVhZG9ubHkgYXR0cmlidXRlIEVsZW1lbnQ/IGZ1bGxzY3JlZW5FbGVtZW50OworICBbTGVn
YWN5TGVuaWVudFNldHRlcl0gcmVhZG9ubHkgYXR0cmlidXRlIEVsZW1lbnQ/IGZ1bGxzY3JlZW5F
bGVtZW50OwogfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9nZW9sb2NhdGlvbi1zZW5zb3IuaWRsIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2dlb2xvY2F0aW9u
LXNlbnNvci5pZGwKaW5kZXggMDA4M2NkYWMxOTgyOGYzMWRlNzlkMTQwZDUwZTYwZDMzMDQxNzY2
MS4uYmFhMGY1YzdhMWU3OGEyZTJlZTk3NzJmZmFkYTUzNzkwMTE2Y2Q1NSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2dl
b2xvY2F0aW9uLXNlbnNvci5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2dlb2xvY2F0aW9uLXNlbnNvci5pZGwKQEAgLTEsMTIg
KzEsMTIgQEAKIC8vIEdFTkVSQVRFRCBDT05URU5UIC0gRE8gTk9UIEVESVQKIC8vIENvbnRlbnQg
d2FzIGF1dG9tYXRpY2FsbHkgZXh0cmFjdGVkIGJ5IFJlZmZ5IGludG8gcmVmZnktcmVwb3J0cwog
Ly8gKGh0dHBzOi8vZ2l0aHViLmNvbS90aWRvdXN0L3JlZmZ5LXJlcG9ydHMpCi0vLyBTb3VyY2U6
IEdlb2xvY2F0aW9uIFNlbnNvciAoaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9nZW9sb2NhdGlvbi1z
ZW5zb3IvKQorLy8gU291cmNlOiBHZW9sb2NhdGlvbiBTZW5zb3IgKGh0dHBzOi8vdzNjLmdpdGh1
Yi5pby9nZW9sb2NhdGlvbi1zZW5zb3IvKQogCi1bQ29uc3RydWN0b3Iob3B0aW9uYWwgR2VvbG9j
YXRpb25TZW5zb3JPcHRpb25zIG9wdGlvbnMgPSB7fSksCi0gU2VjdXJlQ29udGV4dCwKK1tTZWN1
cmVDb250ZXh0LAogIEV4cG9zZWQ9KERlZGljYXRlZFdvcmtlciwgV2luZG93KV0KIGludGVyZmFj
ZSBHZW9sb2NhdGlvblNlbnNvciA6IFNlbnNvciB7CisgIGNvbnN0cnVjdG9yKG9wdGlvbmFsIEdl
b2xvY2F0aW9uU2Vuc29yT3B0aW9ucyBvcHRpb25zID0ge30pOwogICBzdGF0aWMgUHJvbWlzZTxH
ZW9sb2NhdGlvblNlbnNvclJlYWRpbmc+IHJlYWQob3B0aW9uYWwgUmVhZE9wdGlvbnMgcmVhZE9w
dGlvbnMgPSB7fSk7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlPyBs
YXRpdHVkZTsKICAgcmVhZG9ubHkgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGU/IGxvbmdp
dHVkZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaW50ZXJmYWNlcy9oaXQtdGVzdC5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvaGl0LXRlc3QuaWRsCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ5
ZjkwYjNlYzdiMjBlNzRkZDIwNTE0Mjg0NzI3NmUzN2E0YjVmMGEKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMv
aGl0LXRlc3QuaWRsCkBAIC0wLDAgKzEsNjkgQEAKKy8vIEdFTkVSQVRFRCBDT05URU5UIC0gRE8g
Tk9UIEVESVQKKy8vIENvbnRlbnQgd2FzIGF1dG9tYXRpY2FsbHkgZXh0cmFjdGVkIGJ5IFJlZmZ5
IGludG8gcmVmZnktcmVwb3J0cworLy8gKGh0dHBzOi8vZ2l0aHViLmNvbS90aWRvdXN0L3JlZmZ5
LXJlcG9ydHMpCisvLyBTb3VyY2U6IFdlYlhSIEhpdCBUZXN0IE1vZHVsZSAoaHR0cHM6Ly9pbW1l
cnNpdmUtd2ViLmdpdGh1Yi5pby9oaXQtdGVzdC8pCisKK2VudW0gWFJIaXRUZXN0VHJhY2thYmxl
VHlwZSB7CisgICJwb2ludCIsCisgICJwbGFuZSIsCisgICJtZXNoIgorfTsKKworZGljdGlvbmFy
eSBYUkhpdFRlc3RPcHRpb25zSW5pdCB7CisgIHJlcXVpcmVkIFhSU3BhY2Ugc3BhY2U7CisgIEZy
b3plbkFycmF5PFhSSGl0VGVzdFRyYWNrYWJsZVR5cGU+IGVudGl0eVR5cGVzOworICBYUlJheSBv
ZmZzZXRSYXk7Cit9OworCitkaWN0aW9uYXJ5IFhSVHJhbnNpZW50SW5wdXRIaXRUZXN0T3B0aW9u
c0luaXQgeworICByZXF1aXJlZCBET01TdHJpbmcgcHJvZmlsZTsKKyAgRnJvemVuQXJyYXk8WFJI
aXRUZXN0VHJhY2thYmxlVHlwZT4gZW50aXR5VHlwZXM7CisgIFhSUmF5IG9mZnNldFJheTsKK307
CisKK1tTZWN1cmVDb250ZXh0LCBFeHBvc2VkPVdpbmRvd10KK2ludGVyZmFjZSBYUkhpdFRlc3RT
b3VyY2UgeworICB2b2lkIGNhbmNlbCgpOworfTsKKworW1NlY3VyZUNvbnRleHQsIEV4cG9zZWQ9
V2luZG93XQoraW50ZXJmYWNlIFhSVHJhbnNpZW50SW5wdXRIaXRUZXN0U291cmNlIHsKKyAgdm9p
ZCBjYW5jZWwoKTsKK307CisKK1tTZWN1cmVDb250ZXh0LCBFeHBvc2VkPVdpbmRvd10KK2ludGVy
ZmFjZSBYUkhpdFRlc3RSZXN1bHQgeworICBYUlBvc2U/IGdldFBvc2UoWFJTcGFjZSBiYXNlU3Bh
Y2UpOworfTsKKworW1NlY3VyZUNvbnRleHQsIEV4cG9zZWQ9V2luZG93XQoraW50ZXJmYWNlIFhS
VHJhbnNpZW50SW5wdXRIaXRUZXN0UmVzdWx0IHsKKyAgW1NhbWVPYmplY3RdIHJlYWRvbmx5IGF0
dHJpYnV0ZSBYUklucHV0U291cmNlIGlucHV0U291cmNlOworICByZWFkb25seSBhdHRyaWJ1dGUg
RnJvemVuQXJyYXk8WFJIaXRUZXN0UmVzdWx0PiByZXN1bHRzOworfTsKKworcGFydGlhbCBpbnRl
cmZhY2UgWFJTZXNzaW9uIHsKKyAgUHJvbWlzZTxYUkhpdFRlc3RTb3VyY2U+IHJlcXVlc3RIaXRU
ZXN0U291cmNlKFhSSGl0VGVzdE9wdGlvbnNJbml0IG9wdGlvbnMpOworICBQcm9taXNlPFhSVHJh
bnNpZW50SW5wdXRIaXRUZXN0U291cmNlPiByZXF1ZXN0SGl0VGVzdFNvdXJjZUZvclRyYW5zaWVu
dElucHV0KFhSVHJhbnNpZW50SW5wdXRIaXRUZXN0T3B0aW9uc0luaXQgb3B0aW9ucyk7Cit9Owor
CitwYXJ0aWFsIGludGVyZmFjZSBYUkZyYW1lIHsKKyAgRnJvemVuQXJyYXk8WFJIaXRUZXN0UmVz
dWx0PiBnZXRIaXRUZXN0UmVzdWx0cyhYUkhpdFRlc3RTb3VyY2UgaGl0VGVzdFNvdXJjZSk7Cisg
IEZyb3plbkFycmF5PFhSVHJhbnNpZW50SW5wdXRIaXRUZXN0UmVzdWx0PiBnZXRIaXRUZXN0UmVz
dWx0c0ZvclRyYW5zaWVudElucHV0KFhSVHJhbnNpZW50SW5wdXRIaXRUZXN0U291cmNlIGhpdFRl
c3RTb3VyY2UpOworfTsKKworZGljdGlvbmFyeSBYUlJheURpcmVjdGlvbkluaXQgeworICBkb3Vi
bGUgeCA9IDA7CisgIGRvdWJsZSB5ID0gMDsKKyAgZG91YmxlIHogPSAtMTsKKyAgZG91YmxlIHcg
PSAwOworfTsKKworW1NlY3VyZUNvbnRleHQsIEV4cG9zZWQ9V2luZG93XQoraW50ZXJmYWNlIFhS
UmF5IHsKKyAgY29uc3RydWN0b3Iob3B0aW9uYWwgRE9NUG9pbnRJbml0IG9yaWdpbiA9IHt9LCBv
cHRpb25hbCBYUlJheURpcmVjdGlvbkluaXQgZGlyZWN0aW9uID0ge30pOworICBjb25zdHJ1Y3Rv
cihYUlJpZ2lkVHJhbnNmb3JtIHRyYW5zZm9ybSk7CisgIFtTYW1lT2JqZWN0XSByZWFkb25seSBh
dHRyaWJ1dGUgRE9NUG9pbnRSZWFkT25seSBvcmlnaW47CisgIFtTYW1lT2JqZWN0XSByZWFkb25s
eSBhdHRyaWJ1dGUgRE9NUG9pbnRSZWFkT25seSBkaXJlY3Rpb247CisgIFtTYW1lT2JqZWN0XSBy
ZWFkb25seSBhdHRyaWJ1dGUgRmxvYXQzMkFycmF5IG1hdHJpeDsKK307CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvaHRt
bC5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVy
ZmFjZXMvaHRtbC5pZGwKaW5kZXggMjY2NTc0ZGU2M2U4ZjJhYWM0YTc4MmJhODM2YTI3N2JiNWEy
OTk3ZC4uN2IyYTk2Y2U2NzYwYTA1YjQ5ZTljNDQ1YjQwNTBhOTkxYWNkMzQyYiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2Vz
L2h0bWwuaWRsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaW50ZXJmYWNlcy9odG1sLmlkbApAQCAtMSw3ICsxLDcgQEAKIC8vIEdFTkVSQVRFRCBDT05U
RU5UIC0gRE8gTk9UIEVESVQKIC8vIENvbnRlbnQgd2FzIGF1dG9tYXRpY2FsbHkgZXh0cmFjdGVk
IGJ5IFJlZmZ5IGludG8gcmVmZnktcmVwb3J0cwogLy8gKGh0dHBzOi8vZ2l0aHViLmNvbS90aWRv
dXN0L3JlZmZ5LXJlcG9ydHMpCi0vLyBTb3VyY2U6IEhUTUwgU3RhbmRhcmQgKGh0dHBzOi8vaHRt
bC5zcGVjLndoYXR3Zy5vcmcvKQorLy8gU291cmNlOiBIVE1MIFN0YW5kYXJkIChodHRwczovL2h0
bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS8pCiAKIFtFeHBvc2VkPVdpbmRvdywKICBMZWdh
Y3lVbmVudW1lcmFibGVOYW1lZFByb3BlcnRpZXNdCkBAIC00NSwxMCArNDUsMTAgQEAgaW50ZXJm
YWNlIERPTVN0cmluZ0xpc3QgewogZW51bSBEb2N1bWVudFJlYWR5U3RhdGUgeyAibG9hZGluZyIs
ICJpbnRlcmFjdGl2ZSIsICJjb21wbGV0ZSIgfTsKIHR5cGVkZWYgKEhUTUxTY3JpcHRFbGVtZW50
IG9yIFNWR1NjcmlwdEVsZW1lbnQpIEhUTUxPclNWR1NjcmlwdEVsZW1lbnQ7CiAKLVtPdmVycmlk
ZUJ1aWx0aW5zXQorW0xlZ2FjeU92ZXJyaWRlQnVpbHRJbnNdCiBwYXJ0aWFsIGludGVyZmFjZSBE
b2N1bWVudCB7CiAgIC8vIHJlc291cmNlIG1ldGFkYXRhIG1hbmFnZW1lbnQKLSAgW1B1dEZvcndh
cmRzPWhyZWYsIFVuZm9yZ2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgTG9jYXRpb24/IGxvY2F0
aW9uOworICBbUHV0Rm9yd2FyZHM9aHJlZiwgTGVnYWN5VW5mb3JnZWFibGVdIHJlYWRvbmx5IGF0
dHJpYnV0ZSBMb2NhdGlvbj8gbG9jYXRpb247CiAgIGF0dHJpYnV0ZSBVU1ZTdHJpbmcgZG9tYWlu
OwogICByZWFkb25seSBhdHRyaWJ1dGUgVVNWU3RyaW5nIHJlZmVycmVyOwogICBhdHRyaWJ1dGUg
VVNWU3RyaW5nIGNvb2tpZTsKQEAgLTg5LDcgKzg5LDcgQEAgcGFydGlhbCBpbnRlcmZhY2UgRG9j
dW1lbnQgewogICBET01TdHJpbmcgcXVlcnlDb21tYW5kVmFsdWUoRE9NU3RyaW5nIGNvbW1hbmRJ
ZCk7CiAKICAgLy8gc3BlY2lhbCBldmVudCBoYW5kbGVyIElETCBhdHRyaWJ1dGVzIHRoYXQgb25s
eSBhcHBseSB0byBEb2N1bWVudCBvYmplY3RzCi0gIFtMZW5pZW50VGhpc10gYXR0cmlidXRlIEV2
ZW50SGFuZGxlciBvbnJlYWR5c3RhdGVjaGFuZ2U7CisgIFtMZWdhY3lMZW5pZW50VGhpc10gYXR0
cmlidXRlIEV2ZW50SGFuZGxlciBvbnJlYWR5c3RhdGVjaGFuZ2U7CiAKICAgLy8gYWxzbyBoYXMg
b2Jzb2xldGUgbWVtYmVycwogfTsKQEAgLTExOSw3ICsxMTksNyBAQCBpbnRlcmZhY2UgSFRNTEVs
ZW1lbnQgOiBFbGVtZW50IHsKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgYm9vbGVhbiBzcGVs
bGNoZWNrOwogICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBET01TdHJpbmcgYXV0b2NhcGl0YWxp
emU7CiAKLSAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5n
XSBET01TdHJpbmcgaW5uZXJUZXh0OworICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbTGVnYWN5
TnVsbFRvRW1wdHlTdHJpbmddIERPTVN0cmluZyBpbm5lclRleHQ7CiAKICAgRWxlbWVudEludGVy
bmFscyBhdHRhY2hJbnRlcm5hbHMoKTsKIH07CkBAIC0xNDUsNyArMTQ1LDcgQEAgaW50ZXJmYWNl
IG1peGluIEhUTUxPclNWR0VsZW1lbnQgewogfTsKIAogW0V4cG9zZWQ9V2luZG93LAotIE92ZXJy
aWRlQnVpbHRpbnNdCisgTGVnYWN5T3ZlcnJpZGVCdWlsdEluc10KIGludGVyZmFjZSBET01TdHJp
bmdNYXAgewogICBnZXR0ZXIgRE9NU3RyaW5nIChET01TdHJpbmcgbmFtZSk7CiAgIFtDRVJlYWN0
aW9uc10gc2V0dGVyIHZvaWQgKERPTVN0cmluZyBuYW1lLCBET01TdHJpbmcgdmFsdWUpOwpAQCAt
MTU1LDggKzE1NSw2IEBAIGludGVyZmFjZSBET01TdHJpbmdNYXAgewogW0V4cG9zZWQ9V2luZG93
XQogaW50ZXJmYWNlIEhUTUxIdG1sRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgW0hUTUxDb25z
dHJ1Y3Rvcl0gY29uc3RydWN0b3IoKTsKLQotICAvLyBhbHNvIGhhcyBvYnNvbGV0ZSBtZW1iZXJz
CiB9OwogCiBbRXhwb3NlZD1XaW5kb3ddCkBAIC0xOTYsOCArMTk0LDYgQEAgaW50ZXJmYWNlIEhU
TUxMaW5rRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUg
VVNWU3RyaW5nIGltYWdlU3Jjc2V0OwogICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBET01TdHJp
bmcgaW1hZ2VTaXplczsKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHJlZmVy
cmVyUG9saWN5OwotCi0gIC8vIGFsc28gaGFzIG9ic29sZXRlIG1lbWJlcnMKIH07CiBIVE1MTGlu
a0VsZW1lbnQgaW5jbHVkZXMgTGlua1N0eWxlOwogCkBAIC0yMDgsOCArMjA0LDYgQEAgaW50ZXJm
YWNlIEhUTUxNZXRhRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgW0NFUmVhY3Rpb25zXSBhdHRy
aWJ1dGUgRE9NU3RyaW5nIG5hbWU7CiAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIERPTVN0cmlu
ZyBodHRwRXF1aXY7CiAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIERPTVN0cmluZyBjb250ZW50
OwotCi0gIC8vIGFsc28gaGFzIG9ic29sZXRlIG1lbWJlcnMKIH07CiAKIFtFeHBvc2VkPVdpbmRv
d10KQEAgLTIxNywxNiArMjExLDEyIEBAIGludGVyZmFjZSBIVE1MU3R5bGVFbGVtZW50IDogSFRN
TEVsZW1lbnQgewogICBbSFRNTENvbnN0cnVjdG9yXSBjb25zdHJ1Y3RvcigpOwogCiAgIFtDRVJl
YWN0aW9uc10gYXR0cmlidXRlIERPTVN0cmluZyBtZWRpYTsKLQotICAvLyBhbHNvIGhhcyBvYnNv
bGV0ZSBtZW1iZXJzCiB9OwogSFRNTFN0eWxlRWxlbWVudCBpbmNsdWRlcyBMaW5rU3R5bGU7CiAK
IFtFeHBvc2VkPVdpbmRvd10KIGludGVyZmFjZSBIVE1MQm9keUVsZW1lbnQgOiBIVE1MRWxlbWVu
dCB7CiAgIFtIVE1MQ29uc3RydWN0b3JdIGNvbnN0cnVjdG9yKCk7Ci0KLSAgLy8gYWxzbyBoYXMg
b2Jzb2xldGUgbWVtYmVycwogfTsKIAogSFRNTEJvZHlFbGVtZW50IGluY2x1ZGVzIFdpbmRvd0V2
ZW50SGFuZGxlcnM7CkBAIC0yMzQsMjkgKzIyNCwyMSBAQCBIVE1MQm9keUVsZW1lbnQgaW5jbHVk
ZXMgV2luZG93RXZlbnRIYW5kbGVyczsKIFtFeHBvc2VkPVdpbmRvd10KIGludGVyZmFjZSBIVE1M
SGVhZGluZ0VsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgIFtIVE1MQ29uc3RydWN0b3JdIGNvbnN0
cnVjdG9yKCk7Ci0KLSAgLy8gYWxzbyBoYXMgb2Jzb2xldGUgbWVtYmVycwogfTsKIAogW0V4cG9z
ZWQ9V2luZG93XQogaW50ZXJmYWNlIEhUTUxQYXJhZ3JhcGhFbGVtZW50IDogSFRNTEVsZW1lbnQg
ewogICBbSFRNTENvbnN0cnVjdG9yXSBjb25zdHJ1Y3RvcigpOwotCi0gIC8vIGFsc28gaGFzIG9i
c29sZXRlIG1lbWJlcnMKIH07CiAKIFtFeHBvc2VkPVdpbmRvd10KIGludGVyZmFjZSBIVE1MSFJF
bGVtZW50IDogSFRNTEVsZW1lbnQgewogICBbSFRNTENvbnN0cnVjdG9yXSBjb25zdHJ1Y3Rvcigp
OwotCi0gIC8vIGFsc28gaGFzIG9ic29sZXRlIG1lbWJlcnMKIH07CiAKIFtFeHBvc2VkPVdpbmRv
d10KIGludGVyZmFjZSBIVE1MUHJlRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgW0hUTUxDb25z
dHJ1Y3Rvcl0gY29uc3RydWN0b3IoKTsKLQotICAvLyBhbHNvIGhhcyBvYnNvbGV0ZSBtZW1iZXJz
CiB9OwogCiBbRXhwb3NlZD1XaW5kb3ddCkBAIC0yNzMsMjIgKzI1NSwxNiBAQCBpbnRlcmZhY2Ug
SFRNTE9MaXN0RWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1
dGUgYm9vbGVhbiByZXZlcnNlZDsKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgbG9uZyBzdGFy
dDsKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHR5cGU7Ci0KLSAgLy8gYWxz
byBoYXMgb2Jzb2xldGUgbWVtYmVycwogfTsKIAogW0V4cG9zZWQ9V2luZG93XQogaW50ZXJmYWNl
IEhUTUxVTGlzdEVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgIFtIVE1MQ29uc3RydWN0b3JdIGNv
bnN0cnVjdG9yKCk7Ci0KLSAgLy8gYWxzbyBoYXMgb2Jzb2xldGUgbWVtYmVycwogfTsKIAogW0V4
cG9zZWQ9V2luZG93XQogaW50ZXJmYWNlIEhUTUxNZW51RWxlbWVudCA6IEhUTUxFbGVtZW50IHsK
ICAgW0hUTUxDb25zdHJ1Y3Rvcl0gY29uc3RydWN0b3IoKTsKLQotICAvLyBhbHNvIGhhcyBvYnNv
bGV0ZSBtZW1iZXJzCiB9OwogCiBbRXhwb3NlZD1XaW5kb3ddCkBAIC0yOTYsMjIgKzI3MiwxNiBA
QCBpbnRlcmZhY2UgSFRNTExJRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgW0hUTUxDb25zdHJ1
Y3Rvcl0gY29uc3RydWN0b3IoKTsKIAogICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBsb25nIHZh
bHVlOwotCi0gIC8vIGFsc28gaGFzIG9ic29sZXRlIG1lbWJlcnMKIH07CiAKIFtFeHBvc2VkPVdp
bmRvd10KIGludGVyZmFjZSBIVE1MRExpc3RFbGVtZW50IDogSFRNTEVsZW1lbnQgewogICBbSFRN
TENvbnN0cnVjdG9yXSBjb25zdHJ1Y3RvcigpOwotCi0gIC8vIGFsc28gaGFzIG9ic29sZXRlIG1l
bWJlcnMKIH07CiAKIFtFeHBvc2VkPVdpbmRvd10KIGludGVyZmFjZSBIVE1MRGl2RWxlbWVudCA6
IEhUTUxFbGVtZW50IHsKICAgW0hUTUxDb25zdHJ1Y3Rvcl0gY29uc3RydWN0b3IoKTsKLQotICAv
LyBhbHNvIGhhcyBvYnNvbGV0ZSBtZW1iZXJzCiB9OwogCiBbRXhwb3NlZD1XaW5kb3ddCkBAIC0z
MjksOCArMjk5LDYgQEAgaW50ZXJmYWNlIEhUTUxBbmNob3JFbGVtZW50IDogSFRNTEVsZW1lbnQg
ewogICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBET01TdHJpbmcgdGV4dDsKIAogICBbQ0VSZWFj
dGlvbnNdIGF0dHJpYnV0ZSBET01TdHJpbmcgcmVmZXJyZXJQb2xpY3k7Ci0KLSAgLy8gYWxzbyBo
YXMgb2Jzb2xldGUgbWVtYmVycwogfTsKIEhUTUxBbmNob3JFbGVtZW50IGluY2x1ZGVzIEhUTUxI
eXBlcmxpbmtFbGVtZW50VXRpbHM7CiAKQEAgLTM1Niw4ICszMjQsNiBAQCBpbnRlcmZhY2UgSFRN
TFNwYW5FbGVtZW50IDogSFRNTEVsZW1lbnQgewogW0V4cG9zZWQ9V2luZG93XQogaW50ZXJmYWNl
IEhUTUxCUkVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgIFtIVE1MQ29uc3RydWN0b3JdIGNvbnN0
cnVjdG9yKCk7Ci0KLSAgLy8gYWxzbyBoYXMgb2Jzb2xldGUgbWVtYmVycwogfTsKIAogaW50ZXJm
YWNlIG1peGluIEhUTUxIeXBlcmxpbmtFbGVtZW50VXRpbHMgewpAQCAtMzk5LDcgKzM2NSw3IEBA
IGludGVyZmFjZSBIVE1MU291cmNlRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKIH07CiAKIFtFeHBv
c2VkPVdpbmRvdywKLSBOYW1lZENvbnN0cnVjdG9yPUltYWdlKG9wdGlvbmFsIHVuc2lnbmVkIGxv
bmcgd2lkdGgsIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgaGVpZ2h0KV0KKyBMZWdhY3lGYWN0b3J5
RnVuY3Rpb249SW1hZ2Uob3B0aW9uYWwgdW5zaWduZWQgbG9uZyB3aWR0aCwgb3B0aW9uYWwgdW5z
aWduZWQgbG9uZyBoZWlnaHQpXQogaW50ZXJmYWNlIEhUTUxJbWFnZUVsZW1lbnQgOiBIVE1MRWxl
bWVudCB7CiAgIFtIVE1MQ29uc3RydWN0b3JdIGNvbnN0cnVjdG9yKCk7CiAKQEAgLTQxOCwxMCAr
Mzg0LDkgQEAgaW50ZXJmYWNlIEhUTUxJbWFnZUVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBVU1ZTdHJpbmcgY3VycmVudFNyYzsKICAgW0NFUmVhY3Rpb25zXSBh
dHRyaWJ1dGUgRE9NU3RyaW5nIHJlZmVycmVyUG9saWN5OwogICBbQ0VSZWFjdGlvbnNdIGF0dHJp
YnV0ZSBET01TdHJpbmcgZGVjb2Rpbmc7CisgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIERPTVN0
cmluZyBsb2FkaW5nOwogCiAgIFByb21pc2U8dm9pZD4gZGVjb2RlKCk7Ci0KLSAgLy8gYWxzbyBo
YXMgb2Jzb2xldGUgbWVtYmVycwogfTsKIAogW0V4cG9zZWQ9V2luZG93XQpAQCAtNDQxLDggKzQw
Niw2IEBAIGludGVyZmFjZSBIVE1MSUZyYW1lRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgcmVh
ZG9ubHkgYXR0cmlidXRlIERvY3VtZW50PyBjb250ZW50RG9jdW1lbnQ7CiAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBXaW5kb3dQcm94eT8gY29udGVudFdpbmRvdzsKICAgRG9jdW1lbnQ/IGdldFNWR0Rv
Y3VtZW50KCk7Ci0KLSAgLy8gYWxzbyBoYXMgb2Jzb2xldGUgbWVtYmVycwogfTsKIAogW0V4cG9z
ZWQ9V2luZG93XQpAQCAtNDU0LDggKzQxNyw2IEBAIGludGVyZmFjZSBIVE1MRW1iZWRFbGVtZW50
IDogSFRNTEVsZW1lbnQgewogICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBET01TdHJpbmcgd2lk
dGg7CiAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIERPTVN0cmluZyBoZWlnaHQ7CiAgIERvY3Vt
ZW50PyBnZXRTVkdEb2N1bWVudCgpOwotCi0gIC8vIGFsc28gaGFzIG9ic29sZXRlIG1lbWJlcnMK
IH07CiAKIFtFeHBvc2VkPVdpbmRvd10KQEAgLTQ3OSw4ICs0NDAsNiBAQCBpbnRlcmZhY2UgSFRN
TE9iamVjdEVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgIGJvb2xlYW4gY2hlY2tWYWxpZGl0eSgp
OwogICBib29sZWFuIHJlcG9ydFZhbGlkaXR5KCk7CiAgIHZvaWQgc2V0Q3VzdG9tVmFsaWRpdHko
RE9NU3RyaW5nIGVycm9yKTsKLQotICAvLyBhbHNvIGhhcyBvYnNvbGV0ZSBtZW1iZXJzCiB9Owog
CiBbRXhwb3NlZD1XaW5kb3ddCkBAIC00ODksOCArNDQ4LDYgQEAgaW50ZXJmYWNlIEhUTUxQYXJh
bUVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgRE9N
U3RyaW5nIG5hbWU7CiAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIERPTVN0cmluZyB2YWx1ZTsK
LQotICAvLyBhbHNvIGhhcyBvYnNvbGV0ZSBtZW1iZXJzCiB9OwogCiBbRXhwb3NlZD1XaW5kb3dd
CkBAIC01MDYsNyArNDYzLDcgQEAgaW50ZXJmYWNlIEhUTUxWaWRlb0VsZW1lbnQgOiBIVE1MTWVk
aWFFbGVtZW50IHsKIH07CiAKIFtFeHBvc2VkPVdpbmRvdywKLSBOYW1lZENvbnN0cnVjdG9yPUF1
ZGlvKG9wdGlvbmFsIERPTVN0cmluZyBzcmMpXQorIExlZ2FjeUZhY3RvcnlGdW5jdGlvbj1BdWRp
byhvcHRpb25hbCBET01TdHJpbmcgc3JjKV0KIGludGVyZmFjZSBIVE1MQXVkaW9FbGVtZW50IDog
SFRNTE1lZGlhRWxlbWVudCB7CiAgIFtIVE1MQ29uc3RydWN0b3JdIGNvbnN0cnVjdG9yKCk7CiB9
OwpAQCAtNzM2LDggKzY5Myw2IEBAIGludGVyZmFjZSBIVE1MQXJlYUVsZW1lbnQgOiBIVE1MRWxl
bWVudCB7CiAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIERPTVN0cmluZyByZWw7CiAgIFtTYW1l
T2JqZWN0LCBQdXRGb3J3YXJkcz12YWx1ZV0gcmVhZG9ubHkgYXR0cmlidXRlIERPTVRva2VuTGlz
dCByZWxMaXN0OwogICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBET01TdHJpbmcgcmVmZXJyZXJQ
b2xpY3k7Ci0KLSAgLy8gYWxzbyBoYXMgb2Jzb2xldGUgbWVtYmVycwogfTsKIEhUTUxBcmVhRWxl
bWVudCBpbmNsdWRlcyBIVE1MSHlwZXJsaW5rRWxlbWVudFV0aWxzOwogCkBAIC03NjMsMTUgKzcx
OCwxMSBAQCBpbnRlcmZhY2UgSFRNTFRhYmxlRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgW1Nh
bWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1MQ29sbGVjdGlvbiByb3dzOwogICBIVE1M
VGFibGVSb3dFbGVtZW50IGluc2VydFJvdyhvcHRpb25hbCBsb25nIGluZGV4ID0gLTEpOwogICBb
Q0VSZWFjdGlvbnNdIHZvaWQgZGVsZXRlUm93KGxvbmcgaW5kZXgpOwotCi0gIC8vIGFsc28gaGFz
IG9ic29sZXRlIG1lbWJlcnMKIH07CiAKIFtFeHBvc2VkPVdpbmRvd10KIGludGVyZmFjZSBIVE1M
VGFibGVDYXB0aW9uRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgW0hUTUxDb25zdHJ1Y3Rvcl0g
Y29uc3RydWN0b3IoKTsKLQotICAvLyBhbHNvIGhhcyBvYnNvbGV0ZSBtZW1iZXJzCiB9OwogCiBb
RXhwb3NlZD1XaW5kb3ddCkBAIC03NzksOCArNzMwLDYgQEAgaW50ZXJmYWNlIEhUTUxUYWJsZUNv
bEVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgIFtIVE1MQ29uc3RydWN0b3JdIGNvbnN0cnVjdG9y
KCk7CiAKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBzcGFuOwotCi0g
IC8vIGFsc28gaGFzIG9ic29sZXRlIG1lbWJlcnMKIH07CiAKIFtFeHBvc2VkPVdpbmRvd10KQEAg
LTc5MCw4ICs3MzksNiBAQCBpbnRlcmZhY2UgSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQgOiBIVE1M
RWxlbWVudCB7CiAgIFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgSFRNTENvbGxlY3Rp
b24gcm93czsKICAgSFRNTFRhYmxlUm93RWxlbWVudCBpbnNlcnRSb3cob3B0aW9uYWwgbG9uZyBp
bmRleCA9IC0xKTsKICAgW0NFUmVhY3Rpb25zXSB2b2lkIGRlbGV0ZVJvdyhsb25nIGluZGV4KTsK
LQotICAvLyBhbHNvIGhhcyBvYnNvbGV0ZSBtZW1iZXJzCiB9OwogCiBbRXhwb3NlZD1XaW5kb3dd
CkBAIC04MDMsOCArNzUwLDYgQEAgaW50ZXJmYWNlIEhUTUxUYWJsZVJvd0VsZW1lbnQgOiBIVE1M
RWxlbWVudCB7CiAgIFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgSFRNTENvbGxlY3Rp
b24gY2VsbHM7CiAgIEhUTUxUYWJsZUNlbGxFbGVtZW50IGluc2VydENlbGwob3B0aW9uYWwgbG9u
ZyBpbmRleCA9IC0xKTsKICAgW0NFUmVhY3Rpb25zXSB2b2lkIGRlbGV0ZUNlbGwobG9uZyBpbmRl
eCk7Ci0KLSAgLy8gYWxzbyBoYXMgb2Jzb2xldGUgbWVtYmVycwogfTsKIAogW0V4cG9zZWQ9V2lu
ZG93XQpAQCAtODE4LDEyICs3NjMsMTAgQEAgaW50ZXJmYWNlIEhUTUxUYWJsZUNlbGxFbGVtZW50
IDogSFRNTEVsZW1lbnQgewogCiAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIERPTVN0cmluZyBz
Y29wZTsgLy8gb25seSBjb25mb3JtaW5nIGZvciB0aCBlbGVtZW50cwogICBbQ0VSZWFjdGlvbnNd
IGF0dHJpYnV0ZSBET01TdHJpbmcgYWJicjsgIC8vIG9ubHkgY29uZm9ybWluZyBmb3IgdGggZWxl
bWVudHMKLQotICAvLyBhbHNvIGhhcyBvYnNvbGV0ZSBtZW1iZXJzCiB9OwogCiBbRXhwb3NlZD1X
aW5kb3csCi0gT3ZlcnJpZGVCdWlsdGlucywKKyBMZWdhY3lPdmVycmlkZUJ1aWx0SW5zLAogIExl
Z2FjeVVuZW51bWVyYWJsZU5hbWVkUHJvcGVydGllc10KIGludGVyZmFjZSBIVE1MRm9ybUVsZW1l
bnQgOiBIVE1MRWxlbWVudCB7CiAgIFtIVE1MQ29uc3RydWN0b3JdIGNvbnN0cnVjdG9yKCk7CkBA
IC04OTcsNyArODQwLDcgQEAgaW50ZXJmYWNlIEhUTUxJbnB1dEVsZW1lbnQgOiBIVE1MRWxlbWVu
dCB7CiAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIERPTVN0cmluZyBzdGVwOwogICBbQ0VSZWFj
dGlvbnNdIGF0dHJpYnV0ZSBET01TdHJpbmcgdHlwZTsKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1
dGUgRE9NU3RyaW5nIGRlZmF1bHRWYWx1ZTsKLSAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgW1Ry
ZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgdmFsdWU7CisgIFtDRVJlYWN0aW9uc10g
YXR0cmlidXRlIFtMZWdhY3lOdWxsVG9FbXB0eVN0cmluZ10gRE9NU3RyaW5nIHZhbHVlOwogICBh
dHRyaWJ1dGUgb2JqZWN0PyB2YWx1ZUFzRGF0ZTsKICAgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBk
b3VibGUgdmFsdWVBc051bWJlcjsKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgdW5zaWduZWQg
bG9uZyB3aWR0aDsKQEAgLTkyMSw4ICs4NjQsNiBAQCBpbnRlcmZhY2UgSFRNTElucHV0RWxlbWVu
dCA6IEhUTUxFbGVtZW50IHsKICAgdm9pZCBzZXRSYW5nZVRleHQoRE9NU3RyaW5nIHJlcGxhY2Vt
ZW50KTsKICAgdm9pZCBzZXRSYW5nZVRleHQoRE9NU3RyaW5nIHJlcGxhY2VtZW50LCB1bnNpZ25l
ZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCwgb3B0aW9uYWwgU2VsZWN0aW9uTW9kZSBz
ZWxlY3Rpb25Nb2RlID0gInByZXNlcnZlIik7CiAgIHZvaWQgc2V0U2VsZWN0aW9uUmFuZ2UodW5z
aWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQsIG9wdGlvbmFsIERPTVN0cmluZyBk
aXJlY3Rpb24pOwotCi0gIC8vIGFsc28gaGFzIG9ic29sZXRlIG1lbWJlcnMKIH07CiAKIFtFeHBv
c2VkPVdpbmRvd10KQEAgLTEwMDMsNyArOTQ0LDcgQEAgaW50ZXJmYWNlIEhUTUxPcHRHcm91cEVs
ZW1lbnQgOiBIVE1MRWxlbWVudCB7CiB9OwogCiBbRXhwb3NlZD1XaW5kb3csCi0gTmFtZWRDb25z
dHJ1Y3Rvcj1PcHRpb24ob3B0aW9uYWwgRE9NU3RyaW5nIHRleHQgPSAiIiwgb3B0aW9uYWwgRE9N
U3RyaW5nIHZhbHVlLCBvcHRpb25hbCBib29sZWFuIGRlZmF1bHRTZWxlY3RlZCA9IGZhbHNlLCBv
cHRpb25hbCBib29sZWFuIHNlbGVjdGVkID0gZmFsc2UpXQorIExlZ2FjeUZhY3RvcnlGdW5jdGlv
bj1PcHRpb24ob3B0aW9uYWwgRE9NU3RyaW5nIHRleHQgPSAiIiwgb3B0aW9uYWwgRE9NU3RyaW5n
IHZhbHVlLCBvcHRpb25hbCBib29sZWFuIGRlZmF1bHRTZWxlY3RlZCA9IGZhbHNlLCBvcHRpb25h
bCBib29sZWFuIHNlbGVjdGVkID0gZmFsc2UpXQogaW50ZXJmYWNlIEhUTUxPcHRpb25FbGVtZW50
IDogSFRNTEVsZW1lbnQgewogICBbSFRNTENvbnN0cnVjdG9yXSBjb25zdHJ1Y3RvcigpOwogCkBA
IC0xMDM4LDcgKzk3OSw3IEBAIGludGVyZmFjZSBIVE1MVGV4dEFyZWFFbGVtZW50IDogSFRNTEVs
ZW1lbnQgewogCiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdHlwZTsKICAgW0NFUmVh
Y3Rpb25zXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGRlZmF1bHRWYWx1ZTsKLSAgYXR0cmlidXRlIFtU
cmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIHZhbHVlOworICBhdHRyaWJ1dGUgW0xl
Z2FjeU51bGxUb0VtcHR5U3RyaW5nXSBET01TdHJpbmcgdmFsdWU7CiAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSB1bnNpZ25lZCBsb25nIHRleHRMZW5ndGg7CiAKICAgcmVhZG9ubHkgYXR0cmlidXRlIGJv
b2xlYW4gd2lsbFZhbGlkYXRlOwpAQCAtMTEyOSw4ICsxMDcwLDYgQEAgaW50ZXJmYWNlIEhUTUxM
ZWdlbmRFbGVtZW50IDogSFRNTEVsZW1lbnQgewogICBbSFRNTENvbnN0cnVjdG9yXSBjb25zdHJ1
Y3RvcigpOwogCiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1MRm9ybUVsZW1lbnQ/IGZvcm07Ci0K
LSAgLy8gYWxzbyBoYXMgb2Jzb2xldGUgbWVtYmVycwogfTsKIAogZW51bSBTZWxlY3Rpb25Nb2Rl
IHsKQEAgLTEyMDksNyArMTE0OCw2IEBAIGludGVyZmFjZSBIVE1MU2NyaXB0RWxlbWVudCA6IEhU
TUxFbGVtZW50IHsKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGludGVncml0
eTsKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHJlZmVycmVyUG9saWN5Owog
Ci0gIC8vIGFsc28gaGFzIG9ic29sZXRlIG1lbWJlcnMKIH07CiAKIFtFeHBvc2VkPVdpbmRvd10K
QEAgLTEzMzEsNyArMTI2OSw3IEBAIGludGVyZmFjZSBtaXhpbiBDYW52YXNGaWxsU3Ryb2tlU3R5
bGVzIHsKICAgYXR0cmlidXRlIChET01TdHJpbmcgb3IgQ2FudmFzR3JhZGllbnQgb3IgQ2FudmFz
UGF0dGVybikgZmlsbFN0eWxlOyAvLyAoZGVmYXVsdCBibGFjaykKICAgQ2FudmFzR3JhZGllbnQg
Y3JlYXRlTGluZWFyR3JhZGllbnQoZG91YmxlIHgwLCBkb3VibGUgeTAsIGRvdWJsZSB4MSwgZG91
YmxlIHkxKTsKICAgQ2FudmFzR3JhZGllbnQgY3JlYXRlUmFkaWFsR3JhZGllbnQoZG91YmxlIHgw
LCBkb3VibGUgeTAsIGRvdWJsZSByMCwgZG91YmxlIHgxLCBkb3VibGUgeTEsIGRvdWJsZSByMSk7
Ci0gIENhbnZhc1BhdHRlcm4/IGNyZWF0ZVBhdHRlcm4oQ2FudmFzSW1hZ2VTb3VyY2UgaW1hZ2Us
IFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIHJlcGV0aXRpb24pOworICBDYW52
YXNQYXR0ZXJuPyBjcmVhdGVQYXR0ZXJuKENhbnZhc0ltYWdlU291cmNlIGltYWdlLCBbTGVnYWN5
TnVsbFRvRW1wdHlTdHJpbmddIERPTVN0cmluZyByZXBldGl0aW9uKTsKIAogfTsKIApAQCAtMTU2
Niw3ICsxNTA0LDcgQEAgaW50ZXJmYWNlIEVsZW1lbnRJbnRlcm5hbHMgewogCiAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBIVE1MRm9ybUVsZW1lbnQ/IGZvcm07CiAKLSAgdm9pZCBzZXRWYWxpZGl0eShW
YWxpZGl0eVN0YXRlRmxhZ3MgZmxhZ3MsCisgIHZvaWQgc2V0VmFsaWRpdHkob3B0aW9uYWwgVmFs
aWRpdHlTdGF0ZUZsYWdzIGZsYWdzID0ge30sCiAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwg
RE9NU3RyaW5nIG1lc3NhZ2UsCiAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgSFRNTEVsZW1l
bnQgYW5jaG9yKTsKICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gd2lsbFZhbGlkYXRlOwpA
QCAtMTY1NSwxMSArMTU5MywxMSBAQCBkaWN0aW9uYXJ5IERyYWdFdmVudEluaXQgOiBNb3VzZUV2
ZW50SW5pdCB7CiAgTGVnYWN5VW5lbnVtZXJhYmxlTmFtZWRQcm9wZXJ0aWVzXQogaW50ZXJmYWNl
IFdpbmRvdyA6IEV2ZW50VGFyZ2V0IHsKICAgLy8gdGhlIGN1cnJlbnQgYnJvd3NpbmcgY29udGV4
dAotICBbVW5mb3JnZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBXaW5kb3dQcm94eSB3aW5kb3c7
CisgIFtMZWdhY3lVbmZvcmdlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIFdpbmRvd1Byb3h5IHdp
bmRvdzsKICAgW1JlcGxhY2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgV2luZG93UHJveHkgc2Vs
ZjsKLSAgW1VuZm9yZ2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgRG9jdW1lbnQgZG9jdW1lbnQ7
CisgIFtMZWdhY3lVbmZvcmdlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIERvY3VtZW50IGRvY3Vt
ZW50OwogICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci0gIFtQdXRGb3J3YXJkcz1ocmVmLCBV
bmZvcmdlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIExvY2F0aW9uIGxvY2F0aW9uOworICBbUHV0
Rm9yd2FyZHM9aHJlZiwgTGVnYWN5VW5mb3JnZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBMb2Nh
dGlvbiBsb2NhdGlvbjsKICAgcmVhZG9ubHkgYXR0cmlidXRlIEhpc3RvcnkgaGlzdG9yeTsKICAg
cmVhZG9ubHkgYXR0cmlidXRlIEN1c3RvbUVsZW1lbnRSZWdpc3RyeSBjdXN0b21FbGVtZW50czsK
ICAgW1JlcGxhY2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgQmFyUHJvcCBsb2NhdGlvbmJhcjsK
QEAgLTE2NzgsMTEgKzE2MTYsMTEgQEAgaW50ZXJmYWNlIFdpbmRvdyA6IEV2ZW50VGFyZ2V0IHsK
ICAgLy8gb3RoZXIgYnJvd3NpbmcgY29udGV4dHMKICAgW1JlcGxhY2VhYmxlXSByZWFkb25seSBh
dHRyaWJ1dGUgV2luZG93UHJveHkgZnJhbWVzOwogICBbUmVwbGFjZWFibGVdIHJlYWRvbmx5IGF0
dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKLSAgW1VuZm9yZ2VhYmxlXSByZWFkb25seSBh
dHRyaWJ1dGUgV2luZG93UHJveHk/IHRvcDsKKyAgW0xlZ2FjeVVuZm9yZ2VhYmxlXSByZWFkb25s
eSBhdHRyaWJ1dGUgV2luZG93UHJveHk/IHRvcDsKICAgYXR0cmlidXRlIGFueSBvcGVuZXI7CiAg
IFtSZXBsYWNlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIFdpbmRvd1Byb3h5PyBwYXJlbnQ7CiAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBFbGVtZW50PyBmcmFtZUVsZW1lbnQ7Ci0gIFdpbmRvd1Byb3h5
PyBvcGVuKG9wdGlvbmFsIFVTVlN0cmluZyB1cmwgPSAiIiwgb3B0aW9uYWwgRE9NU3RyaW5nIHRh
cmdldCA9ICJfYmxhbmsiLCBvcHRpb25hbCBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0
cmluZyBmZWF0dXJlcyA9ICIiKTsKKyAgV2luZG93UHJveHk/IG9wZW4ob3B0aW9uYWwgVVNWU3Ry
aW5nIHVybCA9ICIiLCBvcHRpb25hbCBET01TdHJpbmcgdGFyZ2V0ID0gIl9ibGFuayIsIG9wdGlv
bmFsIFtMZWdhY3lOdWxsVG9FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGZlYXR1cmVzID0gIiIpOwog
ICBnZXR0ZXIgb2JqZWN0IChET01TdHJpbmcgbmFtZSk7CiAgIC8vIFNpbmNlIHRoaXMgaXMgdGhl
IGdsb2JhbCBvYmplY3QsIHRoZSBJREwgbmFtZWQgZ2V0dGVyIGFkZHMgYSBOYW1lZFByb3BlcnRp
ZXNPYmplY3QgZXhvdGljCiAgIC8vIG9iamVjdCBvbiB0aGUgcHJvdG90eXBlIGNoYWluLiBJbmRl
ZWQsIHRoaXMgZG9lcyBub3QgbWFrZSB0aGUgZ2xvYmFsIG9iamVjdCBhbiBleG90aWMgb2JqZWN0
LgpAQCAtMTczMCwyMSArMTY2OCwyMSBAQCBpbnRlcmZhY2UgSGlzdG9yeSB7CiAKIFtFeHBvc2Vk
PVdpbmRvd10KIGludGVyZmFjZSBMb2NhdGlvbiB7IC8vIGJ1dCBzZWUgYWxzbyBhZGRpdGlvbmFs
IGNyZWF0aW9uIHN0ZXBzIGFuZCBvdmVycmlkZGVuIGludGVybmFsIG1ldGhvZHMKLSAgW1VuZm9y
Z2VhYmxlXSBzdHJpbmdpZmllciBhdHRyaWJ1dGUgVVNWU3RyaW5nIGhyZWY7Ci0gIFtVbmZvcmdl
YWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIFVTVlN0cmluZyBvcmlnaW47Ci0gIFtVbmZvcmdlYWJs
ZV0gYXR0cmlidXRlIFVTVlN0cmluZyBwcm90b2NvbDsKLSAgW1VuZm9yZ2VhYmxlXSBhdHRyaWJ1
dGUgVVNWU3RyaW5nIGhvc3Q7Ci0gIFtVbmZvcmdlYWJsZV0gYXR0cmlidXRlIFVTVlN0cmluZyBo
b3N0bmFtZTsKLSAgW1VuZm9yZ2VhYmxlXSBhdHRyaWJ1dGUgVVNWU3RyaW5nIHBvcnQ7Ci0gIFtV
bmZvcmdlYWJsZV0gYXR0cmlidXRlIFVTVlN0cmluZyBwYXRobmFtZTsKLSAgW1VuZm9yZ2VhYmxl
XSBhdHRyaWJ1dGUgVVNWU3RyaW5nIHNlYXJjaDsKLSAgW1VuZm9yZ2VhYmxlXSBhdHRyaWJ1dGUg
VVNWU3RyaW5nIGhhc2g7CisgIFtMZWdhY3lVbmZvcmdlYWJsZV0gc3RyaW5naWZpZXIgYXR0cmli
dXRlIFVTVlN0cmluZyBocmVmOworICBbTGVnYWN5VW5mb3JnZWFibGVdIHJlYWRvbmx5IGF0dHJp
YnV0ZSBVU1ZTdHJpbmcgb3JpZ2luOworICBbTGVnYWN5VW5mb3JnZWFibGVdIGF0dHJpYnV0ZSBV
U1ZTdHJpbmcgcHJvdG9jb2w7CisgIFtMZWdhY3lVbmZvcmdlYWJsZV0gYXR0cmlidXRlIFVTVlN0
cmluZyBob3N0OworICBbTGVnYWN5VW5mb3JnZWFibGVdIGF0dHJpYnV0ZSBVU1ZTdHJpbmcgaG9z
dG5hbWU7CisgIFtMZWdhY3lVbmZvcmdlYWJsZV0gYXR0cmlidXRlIFVTVlN0cmluZyBwb3J0Owor
ICBbTGVnYWN5VW5mb3JnZWFibGVdIGF0dHJpYnV0ZSBVU1ZTdHJpbmcgcGF0aG5hbWU7CisgIFtM
ZWdhY3lVbmZvcmdlYWJsZV0gYXR0cmlidXRlIFVTVlN0cmluZyBzZWFyY2g7CisgIFtMZWdhY3lV
bmZvcmdlYWJsZV0gYXR0cmlidXRlIFVTVlN0cmluZyBoYXNoOwogCi0gIFtVbmZvcmdlYWJsZV0g
dm9pZCBhc3NpZ24oVVNWU3RyaW5nIHVybCk7Ci0gIFtVbmZvcmdlYWJsZV0gdm9pZCByZXBsYWNl
KFVTVlN0cmluZyB1cmwpOwotICBbVW5mb3JnZWFibGVdIHZvaWQgcmVsb2FkKCk7CisgIFtMZWdh
Y3lVbmZvcmdlYWJsZV0gdm9pZCBhc3NpZ24oVVNWU3RyaW5nIHVybCk7CisgIFtMZWdhY3lVbmZv
cmdlYWJsZV0gdm9pZCByZXBsYWNlKFVTVlN0cmluZyB1cmwpOworICBbTGVnYWN5VW5mb3JnZWFi
bGVdIHZvaWQgcmVsb2FkKCk7CiAKLSAgW1VuZm9yZ2VhYmxlLCBTYW1lT2JqZWN0XSByZWFkb25s
eSBhdHRyaWJ1dGUgRE9NU3RyaW5nTGlzdCBhbmNlc3Rvck9yaWdpbnM7CisgIFtMZWdhY3lVbmZv
cmdlYWJsZSwgU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZ0xpc3QgYW5j
ZXN0b3JPcmlnaW5zOwogfTsKIAogW0V4cG9zZWQ9V2luZG93LApAQCAtMTg0OSwxNSArMTc4Nywx
NSBAQCBkaWN0aW9uYXJ5IFByb21pc2VSZWplY3Rpb25FdmVudEluaXQgOiBFdmVudEluaXQgewog
ICBhbnkgcmVhc29uOwogfTsKIAotW1RyZWF0Tm9uT2JqZWN0QXNOdWxsXQorW0xlZ2FjeVRyZWF0
Tm9uT2JqZWN0QXNOdWxsXQogY2FsbGJhY2sgRXZlbnRIYW5kbGVyTm9uTnVsbCA9IGFueSAoRXZl
bnQgZXZlbnQpOwogdHlwZWRlZiBFdmVudEhhbmRsZXJOb25OdWxsPyBFdmVudEhhbmRsZXI7CiAK
LVtUcmVhdE5vbk9iamVjdEFzTnVsbF0KK1tMZWdhY3lUcmVhdE5vbk9iamVjdEFzTnVsbF0KIGNh
bGxiYWNrIE9uRXJyb3JFdmVudEhhbmRsZXJOb25OdWxsID0gYW55ICgoRXZlbnQgb3IgRE9NU3Ry
aW5nKSBldmVudCwgb3B0aW9uYWwgRE9NU3RyaW5nIHNvdXJjZSwgb3B0aW9uYWwgdW5zaWduZWQg
bG9uZyBsaW5lbm8sIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgY29sbm8sIG9wdGlvbmFsIGFueSBl
cnJvcik7CiB0eXBlZGVmIE9uRXJyb3JFdmVudEhhbmRsZXJOb25OdWxsPyBPbkVycm9yRXZlbnRI
YW5kbGVyOwogCi1bVHJlYXROb25PYmplY3RBc051bGxdCitbTGVnYWN5VHJlYXROb25PYmplY3RB
c051bGxdCiBjYWxsYmFjayBPbkJlZm9yZVVubG9hZEV2ZW50SGFuZGxlck5vbk51bGwgPSBET01T
dHJpbmc/IChFdmVudCBldmVudCk7CiB0eXBlZGVmIE9uQmVmb3JlVW5sb2FkRXZlbnRIYW5kbGVy
Tm9uTnVsbD8gT25CZWZvcmVVbmxvYWRFdmVudEhhbmRsZXI7CiAKQEAgLTE4OTgsMTMgKzE4MzYs
MTIgQEAgaW50ZXJmYWNlIG1peGluIEdsb2JhbEV2ZW50SGFuZGxlcnMgewogICBhdHRyaWJ1dGUg
RXZlbnRIYW5kbGVyIG9ubG9hZGVkbWV0YWRhdGE7CiAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIg
b25sb2Fkc3RhcnQ7CiAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25tb3VzZWRvd247Ci0gIFtM
ZW5pZW50VGhpc10gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbm1vdXNlZW50ZXI7Ci0gIFtMZW5p
ZW50VGhpc10gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbm1vdXNlbGVhdmU7CisgIFtMZWdhY3lM
ZW5pZW50VGhpc10gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbm1vdXNlZW50ZXI7CisgIFtMZWdh
Y3lMZW5pZW50VGhpc10gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbm1vdXNlbGVhdmU7CiAgIGF0
dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25tb3VzZW1vdmU7CiAgIGF0dHJpYnV0ZSBFdmVudEhhbmRs
ZXIgb25tb3VzZW91dDsKICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbm1vdXNlb3ZlcjsKICAg
YXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbm1vdXNldXA7Ci0gIGF0dHJpYnV0ZSBFdmVudEhhbmRs
ZXIgb253aGVlbDsKICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbnBhdXNlOwogICBhdHRyaWJ1
dGUgRXZlbnRIYW5kbGVyIG9ucGxheTsKICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbnBsYXlp
bmc7CkBAIC0xOTI1LDYgKzE4NjIsMTEgQEAgaW50ZXJmYWNlIG1peGluIEdsb2JhbEV2ZW50SGFu
ZGxlcnMgewogICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9udG9nZ2xlOwogICBhdHRyaWJ1dGUg
RXZlbnRIYW5kbGVyIG9udm9sdW1lY2hhbmdlOwogICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9u
d2FpdGluZzsKKyAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbndlYmtpdGFuaW1hdGlvbmVuZDsK
KyAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbndlYmtpdGFuaW1hdGlvbml0ZXJhdGlvbjsKKyAg
YXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbndlYmtpdGFuaW1hdGlvbnN0YXJ0OworICBhdHRyaWJ1
dGUgRXZlbnRIYW5kbGVyIG9ud2Via2l0dHJhbnNpdGlvbmVuZDsKKyAgYXR0cmlidXRlIEV2ZW50
SGFuZGxlciBvbndoZWVsOwogfTsKIAogaW50ZXJmYWNlIG1peGluIFdpbmRvd0V2ZW50SGFuZGxl
cnMgewpAQCAtMTk3Nyw2ICsxOTE5LDIxIEBAIGludGVyZmFjZSBtaXhpbiBXaW5kb3dPcldvcmtl
ckdsb2JhbFNjb3BlIHsKIFdpbmRvdyBpbmNsdWRlcyBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3Bl
OwogV29ya2VyR2xvYmFsU2NvcGUgaW5jbHVkZXMgV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZTsK
IAorW0V4cG9zZWQ9V2luZG93XQoraW50ZXJmYWNlIERPTVBhcnNlciB7CisgIGNvbnN0cnVjdG9y
KCk7CisKKyAgW05ld09iamVjdF0gRG9jdW1lbnQgcGFyc2VGcm9tU3RyaW5nKERPTVN0cmluZyBz
dHJpbmcsIERPTVBhcnNlclN1cHBvcnRlZFR5cGUgdHlwZSk7Cit9OworCitlbnVtIERPTVBhcnNl
clN1cHBvcnRlZFR5cGUgeworICAidGV4dC9odG1sIiwKKyAgInRleHQveG1sIiwKKyAgImFwcGxp
Y2F0aW9uL3htbCIsCisgICJhcHBsaWNhdGlvbi94aHRtbCt4bWwiLAorICAiaW1hZ2Uvc3ZnK3ht
bCIKK307CisKIFtFeHBvc2VkPVdpbmRvd10KIGludGVyZmFjZSBOYXZpZ2F0b3IgewogICAvLyBv
YmplY3RzIGltcGxlbWVudGluZyB0aGlzIGludGVyZmFjZSBhbHNvIGltcGxlbWVudCB0aGUgaW50
ZXJmYWNlcyBnaXZlbiBiZWxvdwpAQCAtMjAxMiw3ICsxOTY5LDcgQEAgaW50ZXJmYWNlIG1peGlu
IE5hdmlnYXRvckxhbmd1YWdlIHsKIH07CiAKIGludGVyZmFjZSBtaXhpbiBOYXZpZ2F0b3JDb250
ZW50VXRpbHMgewotICBbU2VjdXJlQ29udGV4dF0gdm9pZCByZWdpc3RlclByb3RvY29sSGFuZGxl
cihET01TdHJpbmcgc2NoZW1lLCBVU1ZTdHJpbmcgdXJsLCBET01TdHJpbmcgdGl0bGUpOworICBb
U2VjdXJlQ29udGV4dF0gdm9pZCByZWdpc3RlclByb3RvY29sSGFuZGxlcihET01TdHJpbmcgc2No
ZW1lLCBVU1ZTdHJpbmcgdXJsKTsKICAgW1NlY3VyZUNvbnRleHRdIHZvaWQgdW5yZWdpc3RlclBy
b3RvY29sSGFuZGxlcihET01TdHJpbmcgc2NoZW1lLCBVU1ZTdHJpbmcgdXJsKTsKIH07CiAKQEAg
LTI0MDQsOCArMjM2MSw4IEBAIGludGVyZmFjZSBIVE1MRnJhbWVFbGVtZW50IDogSFRNTEVsZW1l
bnQgewogICByZWFkb25seSBhdHRyaWJ1dGUgRG9jdW1lbnQ/IGNvbnRlbnREb2N1bWVudDsKICAg
cmVhZG9ubHkgYXR0cmlidXRlIFdpbmRvd1Byb3h5PyBjb250ZW50V2luZG93OwogCi0gIFtDRVJl
YWN0aW9uc10gYXR0cmlidXRlIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIG1h
cmdpbkhlaWdodDsKLSAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPUVtcHR5
U3RyaW5nXSBET01TdHJpbmcgbWFyZ2luV2lkdGg7CisgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRl
IFtMZWdhY3lOdWxsVG9FbXB0eVN0cmluZ10gRE9NU3RyaW5nIG1hcmdpbkhlaWdodDsKKyAgW0NF
UmVhY3Rpb25zXSBhdHRyaWJ1dGUgW0xlZ2FjeU51bGxUb0VtcHR5U3RyaW5nXSBET01TdHJpbmcg
bWFyZ2luV2lkdGg7CiB9OwogCiBwYXJ0aWFsIGludGVyZmFjZSBIVE1MQW5jaG9yRWxlbWVudCB7
CkBAIC0yNDIxLDExICsyMzc4LDExIEBAIHBhcnRpYWwgaW50ZXJmYWNlIEhUTUxBcmVhRWxlbWVu
dCB7CiB9OwogCiBwYXJ0aWFsIGludGVyZmFjZSBIVE1MQm9keUVsZW1lbnQgewotICBbQ0VSZWFj
dGlvbnNdIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyB0ZXh0
OwotICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERP
TVN0cmluZyBsaW5rOwotICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9RW1w
dHlTdHJpbmddIERPTVN0cmluZyB2TGluazsKLSAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgW1Ry
ZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgYUxpbms7Ci0gIFtDRVJlYWN0aW9uc10g
YXR0cmlidXRlIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGJnQ29sb3I7Cisg
IFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIFtMZWdhY3lOdWxsVG9FbXB0eVN0cmluZ10gRE9NU3Ry
aW5nIHRleHQ7CisgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIFtMZWdhY3lOdWxsVG9FbXB0eVN0
cmluZ10gRE9NU3RyaW5nIGxpbms7CisgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIFtMZWdhY3lO
dWxsVG9FbXB0eVN0cmluZ10gRE9NU3RyaW5nIHZMaW5rOworICBbQ0VSZWFjdGlvbnNdIGF0dHJp
YnV0ZSBbTGVnYWN5TnVsbFRvRW1wdHlTdHJpbmddIERPTVN0cmluZyBhTGluazsKKyAgW0NFUmVh
Y3Rpb25zXSBhdHRyaWJ1dGUgW0xlZ2FjeU51bGxUb0VtcHR5U3RyaW5nXSBET01TdHJpbmcgYmdD
b2xvcjsKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGJhY2tncm91bmQ7CiB9
OwogCkBAIC0yNDY5LDcgKzI0MjYsNyBAQCBwYXJ0aWFsIGludGVyZmFjZSBIVE1MRW1iZWRFbGVt
ZW50IHsKIGludGVyZmFjZSBIVE1MRm9udEVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgIFtIVE1M
Q29uc3RydWN0b3JdIGNvbnN0cnVjdG9yKCk7CiAKLSAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUg
W1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgY29sb3I7CisgIFtDRVJlYWN0aW9u
c10gYXR0cmlidXRlIFtMZWdhY3lOdWxsVG9FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGNvbG9yOwog
ICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBET01TdHJpbmcgZmFjZTsKICAgW0NFUmVhY3Rpb25z
XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHNpemU7CiB9OwpAQCAtMjQ5Niw4ICsyNDUzLDggQEAgcGFy
dGlhbCBpbnRlcmZhY2UgSFRNTElGcmFtZUVsZW1lbnQgewogICBbQ0VSZWFjdGlvbnNdIGF0dHJp
YnV0ZSBET01TdHJpbmcgZnJhbWVCb3JkZXI7CiAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIFVT
VlN0cmluZyBsb25nRGVzYzsKIAotICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbVHJlYXROdWxs
QXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBtYXJnaW5IZWlnaHQ7Ci0gIFtDRVJlYWN0aW9uc10g
YXR0cmlidXRlIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIG1hcmdpbldpZHRo
OworICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbTGVnYWN5TnVsbFRvRW1wdHlTdHJpbmddIERP
TVN0cmluZyBtYXJnaW5IZWlnaHQ7CisgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIFtMZWdhY3lO
dWxsVG9FbXB0eVN0cmluZ10gRE9NU3RyaW5nIG1hcmdpbldpZHRoOwogfTsKIAogcGFydGlhbCBp
bnRlcmZhY2UgSFRNTEltYWdlRWxlbWVudCB7CkBAIC0yNTA4LDcgKzI0NjUsNyBAQCBwYXJ0aWFs
IGludGVyZmFjZSBIVE1MSW1hZ2VFbGVtZW50IHsKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUg
dW5zaWduZWQgbG9uZyB2c3BhY2U7CiAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIFVTVlN0cmlu
ZyBsb25nRGVzYzsKIAotICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9RW1w
dHlTdHJpbmddIERPTVN0cmluZyBib3JkZXI7CisgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIFtM
ZWdhY3lOdWxsVG9FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGJvcmRlcjsKIH07CiAKIHBhcnRpYWwg
aW50ZXJmYWNlIEhUTUxJbnB1dEVsZW1lbnQgewpAQCAtMjU0OSw3ICsyNTA2LDcgQEAgcGFydGlh
bCBpbnRlcmZhY2UgSFRNTE9iamVjdEVsZW1lbnQgewogICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0
ZSBET01TdHJpbmcgY29kZUJhc2U7CiAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIERPTVN0cmlu
ZyBjb2RlVHlwZTsKIAotICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9RW1w
dHlTdHJpbmddIERPTVN0cmluZyBib3JkZXI7CisgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIFtM
ZWdhY3lOdWxsVG9FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGJvcmRlcjsKIH07CiAKIHBhcnRpYWwg
aW50ZXJmYWNlIEhUTUxPTGlzdEVsZW1lbnQgewpAQCAtMjU4Nyw5ICsyNTQ0LDkgQEAgcGFydGlh
bCBpbnRlcmZhY2UgSFRNTFRhYmxlRWxlbWVudCB7CiAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRl
IERPTVN0cmluZyBzdW1tYXJ5OwogICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBET01TdHJpbmcg
d2lkdGg7CiAKLSAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPUVtcHR5U3Ry
aW5nXSBET01TdHJpbmcgYmdDb2xvcjsKLSAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgW1RyZWF0
TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgY2VsbFBhZGRpbmc7Ci0gIFtDRVJlYWN0aW9u
c10gYXR0cmlidXRlIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGNlbGxTcGFj
aW5nOworICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbTGVnYWN5TnVsbFRvRW1wdHlTdHJpbmdd
IERPTVN0cmluZyBiZ0NvbG9yOworICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbTGVnYWN5TnVs
bFRvRW1wdHlTdHJpbmddIERPTVN0cmluZyBjZWxsUGFkZGluZzsKKyAgW0NFUmVhY3Rpb25zXSBh
dHRyaWJ1dGUgW0xlZ2FjeU51bGxUb0VtcHR5U3RyaW5nXSBET01TdHJpbmcgY2VsbFNwYWNpbmc7
CiB9OwogCiBwYXJ0aWFsIGludGVyZmFjZSBIVE1MVGFibGVTZWN0aW9uRWxlbWVudCB7CkBAIC0y
NjEwLDcgKzI1NjcsNyBAQCBwYXJ0aWFsIGludGVyZmFjZSBIVE1MVGFibGVDZWxsRWxlbWVudCB7
CiAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIGJvb2xlYW4gbm9XcmFwOwogICBbQ0VSZWFjdGlv
bnNdIGF0dHJpYnV0ZSBET01TdHJpbmcgdkFsaWduOwogCi0gIFtDRVJlYWN0aW9uc10gYXR0cmli
dXRlIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGJnQ29sb3I7CisgIFtDRVJl
YWN0aW9uc10gYXR0cmlidXRlIFtMZWdhY3lOdWxsVG9FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGJn
Q29sb3I7CiB9OwogCiBwYXJ0aWFsIGludGVyZmFjZSBIVE1MVGFibGVSb3dFbGVtZW50IHsKQEAg
LTI2MTksNyArMjU3Niw3IEBAIHBhcnRpYWwgaW50ZXJmYWNlIEhUTUxUYWJsZVJvd0VsZW1lbnQg
ewogICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBET01TdHJpbmcgY2hPZmY7CiAgIFtDRVJlYWN0
aW9uc10gYXR0cmlidXRlIERPTVN0cmluZyB2QWxpZ247CiAKLSAgW0NFUmVhY3Rpb25zXSBhdHRy
aWJ1dGUgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgYmdDb2xvcjsKKyAgW0NF
UmVhY3Rpb25zXSBhdHRyaWJ1dGUgW0xlZ2FjeU51bGxUb0VtcHR5U3RyaW5nXSBET01TdHJpbmcg
YmdDb2xvcjsKIH07CiAKIHBhcnRpYWwgaW50ZXJmYWNlIEhUTUxVTGlzdEVsZW1lbnQgewpAQCAt
MjYyOCwxMSArMjU4NSwxMSBAQCBwYXJ0aWFsIGludGVyZmFjZSBIVE1MVUxpc3RFbGVtZW50IHsK
IH07CiAKIHBhcnRpYWwgaW50ZXJmYWNlIERvY3VtZW50IHsKLSAgW0NFUmVhY3Rpb25zXSBhdHRy
aWJ1dGUgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgZmdDb2xvcjsKLSAgW0NF
UmVhY3Rpb25zXSBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcg
bGlua0NvbG9yOwotICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9RW1wdHlT
dHJpbmddIERPTVN0cmluZyB2bGlua0NvbG9yOwotICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBb
VHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBhbGlua0NvbG9yOwotICBbQ0VSZWFj
dGlvbnNdIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBiZ0Nv
bG9yOworICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbTGVnYWN5TnVsbFRvRW1wdHlTdHJpbmdd
IERPTVN0cmluZyBmZ0NvbG9yOworICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbTGVnYWN5TnVs
bFRvRW1wdHlTdHJpbmddIERPTVN0cmluZyBsaW5rQ29sb3I7CisgIFtDRVJlYWN0aW9uc10gYXR0
cmlidXRlIFtMZWdhY3lOdWxsVG9FbXB0eVN0cmluZ10gRE9NU3RyaW5nIHZsaW5rQ29sb3I7Cisg
IFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIFtMZWdhY3lOdWxsVG9FbXB0eVN0cmluZ10gRE9NU3Ry
aW5nIGFsaW5rQ29sb3I7CisgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIFtMZWdhY3lOdWxsVG9F
bXB0eVN0cmluZ10gRE9NU3RyaW5nIGJnQ29sb3I7CiAKICAgW1NhbWVPYmplY3RdIHJlYWRvbmx5
IGF0dHJpYnV0ZSBIVE1MQ29sbGVjdGlvbiBhbmNob3JzOwogICBbU2FtZU9iamVjdF0gcmVhZG9u
bHkgYXR0cmlidXRlIEhUTUxDb2xsZWN0aW9uIGFwcGxldHM7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvaW1hZ2UtY2Fw
dHVyZS5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2lu
dGVyZmFjZXMvaW1hZ2UtY2FwdHVyZS5pZGwKaW5kZXggZTkwMTZhMWY5YmFiODdlOWVkNjJhNGJj
OTllN2JjZDBkOTU4YWJmNC4uMDk0ZjNmNWNhZmU4N2ExZjhkYmJiMDA0ODQyNzE1ZDhmNTUyZDBi
NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbnRlcmZhY2VzL2ltYWdlLWNhcHR1cmUuaWRsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9pbWFnZS1jYXB0dXJlLmlkbApAQCAt
Myw5ICszLDEwIEBACiAvLyAoaHR0cHM6Ly9naXRodWIuY29tL3RpZG91c3QvcmVmZnktcmVwb3J0
cykKIC8vIFNvdXJjZTogTWVkaWFTdHJlYW0gSW1hZ2UgQ2FwdHVyZSAoaHR0cHM6Ly93M2MuZ2l0
aHViLmlvL21lZGlhY2FwdHVyZS1pbWFnZS8pCiAKLVtFeHBvc2VkPVdpbmRvdywgQ29uc3RydWN0
b3IoTWVkaWFTdHJlYW1UcmFjayB2aWRlb1RyYWNrKV0KK1tFeHBvc2VkPVdpbmRvd10KIGludGVy
ZmFjZSBJbWFnZUNhcHR1cmUgewotICAgUHJvbWlzZTxCbG9iPiAgICAgICAgICAgICAgdGFrZVBo
b3RvKG9wdGlvbmFsIFBob3RvU2V0dGluZ3MgcGhvdG9TZXR0aW5ncyk7CisgICBjb25zdHJ1Y3Rv
cihNZWRpYVN0cmVhbVRyYWNrIHZpZGVvVHJhY2spOworICAgUHJvbWlzZTxCbG9iPiAgICAgICAg
ICAgICAgdGFrZVBob3RvKG9wdGlvbmFsIFBob3RvU2V0dGluZ3MgcGhvdG9TZXR0aW5ncyA9IHt9
KTsKICAgIFByb21pc2U8UGhvdG9DYXBhYmlsaXRpZXM+IGdldFBob3RvQ2FwYWJpbGl0aWVzKCk7
CiAgICBQcm9taXNlPFBob3RvU2V0dGluZ3M+ICAgICBnZXRQaG90b1NldHRpbmdzKCk7CiAKQEAg
LTkyLDI3ICs5MywyNyBAQCBwYXJ0aWFsIGRpY3Rpb25hcnkgTWVkaWFUcmFja0NhcGFiaWxpdGll
cyB7CiB9OwogCiBwYXJ0aWFsIGRpY3Rpb25hcnkgTWVkaWFUcmFja0NvbnN0cmFpbnRTZXQgewot
ICBDb25zdHJhaW5ET01TdHJpbmcgd2hpdGVCYWxhbmNlTW9kZTsKLSAgQ29uc3RyYWluRE9NU3Ry
aW5nIGV4cG9zdXJlTW9kZTsKLSAgQ29uc3RyYWluRE9NU3RyaW5nIGZvY3VzTW9kZTsKLSAgQ29u
c3RyYWluUG9pbnQyRCAgIHBvaW50c09mSW50ZXJlc3Q7Ci0KLSAgQ29uc3RyYWluRG91YmxlICAg
IGV4cG9zdXJlQ29tcGVuc2F0aW9uOwotICBDb25zdHJhaW5Eb3VibGUgICAgZXhwb3N1cmVUaW1l
OwotICBDb25zdHJhaW5Eb3VibGUgICAgY29sb3JUZW1wZXJhdHVyZTsKLSAgQ29uc3RyYWluRG91
YmxlICAgIGlzbzsKLQotICBDb25zdHJhaW5Eb3VibGUgICAgYnJpZ2h0bmVzczsKLSAgQ29uc3Ry
YWluRG91YmxlICAgIGNvbnRyYXN0OwotICBDb25zdHJhaW5Eb3VibGUgICAgc2F0dXJhdGlvbjsK
LSAgQ29uc3RyYWluRG91YmxlICAgIHNoYXJwbmVzczsKLQotICBDb25zdHJhaW5Eb3VibGUgICAg
Zm9jdXNEaXN0YW5jZTsKLSAgQ29uc3RyYWluRG91YmxlICAgIHBhbjsKLSAgQ29uc3RyYWluRG91
YmxlICAgIHRpbHQ7Ci0gIENvbnN0cmFpbkRvdWJsZSAgICB6b29tOwotCi0gIENvbnN0cmFpbkJv
b2xlYW4gICB0b3JjaDsKKyAgQ29uc3RyYWluRE9NU3RyaW5nICAgICAgICAgICB3aGl0ZUJhbGFu
Y2VNb2RlOworICBDb25zdHJhaW5ET01TdHJpbmcgICAgICAgICAgIGV4cG9zdXJlTW9kZTsKKyAg
Q29uc3RyYWluRE9NU3RyaW5nICAgICAgICAgICBmb2N1c01vZGU7CisgIENvbnN0cmFpblBvaW50
MkQgICAgICAgICAgICAgcG9pbnRzT2ZJbnRlcmVzdDsKKworICBDb25zdHJhaW5Eb3VibGUgICAg
ICAgICAgICAgIGV4cG9zdXJlQ29tcGVuc2F0aW9uOworICBDb25zdHJhaW5Eb3VibGUgICAgICAg
ICAgICAgIGV4cG9zdXJlVGltZTsKKyAgQ29uc3RyYWluRG91YmxlICAgICAgICAgICAgICBjb2xv
clRlbXBlcmF0dXJlOworICBDb25zdHJhaW5Eb3VibGUgICAgICAgICAgICAgIGlzbzsKKworICBD
b25zdHJhaW5Eb3VibGUgICAgICAgICAgICAgIGJyaWdodG5lc3M7CisgIENvbnN0cmFpbkRvdWJs
ZSAgICAgICAgICAgICAgY29udHJhc3Q7CisgIENvbnN0cmFpbkRvdWJsZSAgICAgICAgICAgICAg
c2F0dXJhdGlvbjsKKyAgQ29uc3RyYWluRG91YmxlICAgICAgICAgICAgICBzaGFycG5lc3M7CisK
KyAgQ29uc3RyYWluRG91YmxlICAgICAgICAgICAgICBmb2N1c0Rpc3RhbmNlOworICAoYm9vbGVh
biBvciBDb25zdHJhaW5Eb3VibGUpIHBhbjsKKyAgKGJvb2xlYW4gb3IgQ29uc3RyYWluRG91Ymxl
KSB0aWx0OworICAoYm9vbGVhbiBvciBDb25zdHJhaW5Eb3VibGUpIHpvb207CisKKyAgQ29uc3Ry
YWluQm9vbGVhbiAgICAgICAgICAgICB0b3JjaDsKIH07CiAKIHBhcnRpYWwgZGljdGlvbmFyeSBN
ZWRpYVRyYWNrU2V0dGluZ3MgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2ludGVyc2VjdGlvbi1vYnNlcnZlci5pZGwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMv
aW50ZXJzZWN0aW9uLW9ic2VydmVyLmlkbAppbmRleCBmZmRhOGY1YzY0ZGJhOGQyMjVjYzcxMjYz
NzFiNzM5ODBmNGNlNDhlLi40NmZhZDM1MjJlZDI1MzlkMDRhNjg4Y2M0ZjVkMDVjOGU3NmVmMjRm
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ludGVyZmFjZXMvaW50ZXJzZWN0aW9uLW9ic2VydmVyLmlkbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvaW50ZXJzZWN0aW9uLW9i
c2VydmVyLmlkbApAQCAtNSwxMCArNSwxMCBAQAogCiBjYWxsYmFjayBJbnRlcnNlY3Rpb25PYnNl
cnZlckNhbGxiYWNrID0gdm9pZCAoc2VxdWVuY2U8SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeT4g
ZW50cmllcywgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgb2JzZXJ2ZXIpOwogCi1bQ29uc3RydWN0b3Io
SW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjayBjYWxsYmFjaywgb3B0aW9uYWwgSW50ZXJzZWN0
aW9uT2JzZXJ2ZXJJbml0IG9wdGlvbnMpLAotIEV4cG9zZWQ9V2luZG93XQorW0V4cG9zZWQ9V2lu
ZG93XQogaW50ZXJmYWNlIEludGVyc2VjdGlvbk9ic2VydmVyIHsKLSAgcmVhZG9ubHkgYXR0cmli
dXRlIEVsZW1lbnQ/IHJvb3Q7CisgIGNvbnN0cnVjdG9yKEludGVyc2VjdGlvbk9ic2VydmVyQ2Fs
bGJhY2sgY2FsbGJhY2ssIG9wdGlvbmFsIEludGVyc2VjdGlvbk9ic2VydmVySW5pdCBvcHRpb25z
ID0ge30pOworICByZWFkb25seSBhdHRyaWJ1dGUgTm9kZT8gcm9vdDsKICAgcmVhZG9ubHkgYXR0
cmlidXRlIERPTVN0cmluZyByb290TWFyZ2luOwogICByZWFkb25seSBhdHRyaWJ1dGUgRnJvemVu
QXJyYXk8ZG91YmxlPiB0aHJlc2hvbGRzOwogICB2b2lkIG9ic2VydmUoRWxlbWVudCB0YXJnZXQp
OwpAQCAtMTcsOCArMTcsOSBAQCBpbnRlcmZhY2UgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgewogICBz
ZXF1ZW5jZTxJbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5PiB0YWtlUmVjb3JkcygpOwogfTsKIAot
W0NvbnN0cnVjdG9yKEludGVyc2VjdGlvbk9ic2VydmVyRW50cnlJbml0IGludGVyc2VjdGlvbk9i
c2VydmVyRW50cnlJbml0KV0KK1tFeHBvc2VkPVdpbmRvd10KIGludGVyZmFjZSBJbnRlcnNlY3Rp
b25PYnNlcnZlckVudHJ5IHsKKyAgY29uc3RydWN0b3IoSW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRy
eUluaXQgaW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeUluaXQpOwogICByZWFkb25seSBhdHRyaWJ1
dGUgRE9NSGlnaFJlc1RpbWVTdGFtcCB0aW1lOwogICByZWFkb25seSBhdHRyaWJ1dGUgRE9NUmVj
dFJlYWRPbmx5PyByb290Qm91bmRzOwogICByZWFkb25seSBhdHRyaWJ1dGUgRE9NUmVjdFJlYWRP
bmx5IGJvdW5kaW5nQ2xpZW50UmVjdDsKQEAgLTM5LDcgKzQwLDcgQEAgZGljdGlvbmFyeSBJbnRl
cnNlY3Rpb25PYnNlcnZlckVudHJ5SW5pdCB7CiB9OwogCiBkaWN0aW9uYXJ5IEludGVyc2VjdGlv
bk9ic2VydmVySW5pdCB7Ci0gIEVsZW1lbnQ/ICByb290ID0gbnVsbDsKKyAgKEVsZW1lbnQgb3Ig
RG9jdW1lbnQpPyAgcm9vdCA9IG51bGw7CiAgIERPTVN0cmluZyByb290TWFyZ2luID0gIjBweCI7
CiAgIChkb3VibGUgb3Igc2VxdWVuY2U8ZG91YmxlPikgdGhyZXNob2xkID0gMDsKIH07CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVy
ZmFjZXMvanMtc2VsZi1wcm9maWxpbmcuaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2pzLXNlbGYtcHJvZmlsaW5nLmlkbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4wMTUzZTY1MjM2MGUyNTg2YTExYmE2ZDgwOGQzOGJmZTU5ZmUxNTllCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRl
cmZhY2VzL2pzLXNlbGYtcHJvZmlsaW5nLmlkbApAQCAtMCwwICsxLDQ4IEBACisvLyBHRU5FUkFU
RUQgQ09OVEVOVCAtIERPIE5PVCBFRElUCisvLyBDb250ZW50IHdhcyBhdXRvbWF0aWNhbGx5IGV4
dHJhY3RlZCBieSBSZWZmeSBpbnRvIHJlZmZ5LXJlcG9ydHMKKy8vIChodHRwczovL2dpdGh1Yi5j
b20vdGlkb3VzdC9yZWZmeS1yZXBvcnRzKQorLy8gU291cmNlOiBKUyBTZWxmLVByb2ZpbGluZyBB
UEkgKGh0dHBzOi8vd2ljZy5naXRodWIuaW8vanMtc2VsZi1wcm9maWxpbmcvKQorCitbRXhwb3Nl
ZD0oV2luZG93LFdvcmtlcildCitpbnRlcmZhY2UgUHJvZmlsZXIgeworICByZWFkb25seSBhdHRy
aWJ1dGUgRE9NSGlnaFJlc1RpbWVTdGFtcCBzYW1wbGVJbnRlcnZhbDsKKyAgcmVhZG9ubHkgYXR0
cmlidXRlIGJvb2xlYW4gc3RvcHBlZDsKKworICBQcm9taXNlPFByb2ZpbGVyVHJhY2U+IHN0b3Ao
KTsKK307CisKK3R5cGVkZWYgRE9NU3RyaW5nIFByb2ZpbGVyUmVzb3VyY2U7CisKK2RpY3Rpb25h
cnkgUHJvZmlsZXJUcmFjZSB7CisgIHJlcXVpcmVkIHNlcXVlbmNlPFByb2ZpbGVyUmVzb3VyY2U+
IHJlc291cmNlczsKKyAgcmVxdWlyZWQgc2VxdWVuY2U8UHJvZmlsZXJGcmFtZT4gZnJhbWVzOwor
ICByZXF1aXJlZCBzZXF1ZW5jZTxQcm9maWxlclN0YWNrPiBzdGFja3M7CisgIHJlcXVpcmVkIHNl
cXVlbmNlPFByb2ZpbGVyU2FtcGxlPiBzYW1wbGVzOworfTsKKworZGljdGlvbmFyeSBQcm9maWxl
clNhbXBsZSB7CisgIHJlcXVpcmVkIERPTUhpZ2hSZXNUaW1lU3RhbXAgdGltZXN0YW1wOworICB1
bnNpZ25lZCBsb25nIGxvbmcgc3RhY2tJZDsKK307CisKK2RpY3Rpb25hcnkgUHJvZmlsZXJTdGFj
ayB7CisgIHVuc2lnbmVkIGxvbmcgbG9uZyBwYXJlbnRJZDsKKyAgcmVxdWlyZWQgdW5zaWduZWQg
bG9uZyBsb25nIGZyYW1lSWQ7Cit9OworCitkaWN0aW9uYXJ5IFByb2ZpbGVyRnJhbWUgeworICBE
T01TdHJpbmcgbmFtZTsKKyAgcmVxdWlyZWQgdW5zaWduZWQgbG9uZyBsb25nIHJlc291cmNlSWQ7
CisgIHJlcXVpcmVkIHVuc2lnbmVkIGxvbmcgbG9uZyBsaW5lOworICByZXF1aXJlZCB1bnNpZ25l
ZCBsb25nIGxvbmcgY29sdW1uOworfTsKKworZGljdGlvbmFyeSBQcm9maWxlckluaXRPcHRpb25z
IHsKKyAgcmVxdWlyZWQgRE9NSGlnaFJlc1RpbWVTdGFtcCBzYW1wbGVJbnRlcnZhbDsKKyAgcmVx
dWlyZWQgdW5zaWduZWQgbG9uZyBtYXhCdWZmZXJTaXplOworfTsKKworW0V4cG9zZWQ9KFdpbmRv
dyxXb3JrZXIpXQorcGFydGlhbCBpbnRlcmZhY2UgUGVyZm9ybWFuY2UgeworICBQcm9taXNlPFBy
b2ZpbGVyPiBwcm9maWxlKFByb2ZpbGVySW5pdE9wdGlvbnMgb3B0aW9ucyk7Cit9OwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZh
Y2VzL2xheW91dC1pbnN0YWJpbGl0eS5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvbGF5b3V0LWluc3RhYmlsaXR5LmlkbAppbmRleCAw
Y2QyMjYyYTlmMzJkNGE0ZDZmODFhYWUxNjVjM2E0MTE4NjhjZmM0Li4zZWUwYWZhMDYxMDI4ZWNi
Zjk5Zjk0ZTk0NzllNDEyYTE2OTE4NGMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvbGF5b3V0LWluc3RhYmlsaXR5Lmlk
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVy
ZmFjZXMvbGF5b3V0LWluc3RhYmlsaXR5LmlkbApAQCAtNSw4ICs1LDE2IEBACiAKIFtFeHBvc2Vk
PVdpbmRvd10KIGludGVyZmFjZSBMYXlvdXRTaGlmdCA6IFBlcmZvcm1hbmNlRW50cnkgewotICBy
ZWFkb25seSBhdHRyaWJ1dGUgbG9uZyB2YWx1ZTsKKyAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJs
ZSB2YWx1ZTsKICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gaGFkUmVjZW50SW5wdXQ7CiAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBET01IaWdoUmVzVGltZVN0YW1wIGxhc3RJbnB1dFRpbWU7Cisg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBGcm96ZW5BcnJheTxMYXlvdXRTaGlmdEF0dHJpYnV0aW9uPiBz
b3VyY2VzOwogICBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOwogfTsKKworW0V4cG9zZWQ9V2lu
ZG93XQoraW50ZXJmYWNlIExheW91dFNoaWZ0QXR0cmlidXRpb24geworICByZWFkb25seSBhdHRy
aWJ1dGUgTm9kZT8gbm9kZTsKKyAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVJlY3RSZWFkT25seSBw
cmV2aW91c1JlY3Q7CisgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01SZWN0UmVhZE9ubHkgY3VycmVu
dFJlY3Q7Cit9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL21lZGlhLWNhcGFiaWxpdGllcy5pZGwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvbWVkaWEtY2FwYWJp
bGl0aWVzLmlkbAppbmRleCA2ZmU0M2Q4N2E4MGJiNzIyOWQ1Y2ViYzVmYmQ0Y2FjMDhmNDRmYTM5
Li4wOGRlMzVlZjY3NTA2MmU3ZGFkMTBhZWExZjdmNzExMGMxM2U2YWE5IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvbWVk
aWEtY2FwYWJpbGl0aWVzLmlkbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvbWVkaWEtY2FwYWJpbGl0aWVzLmlkbApAQCAtNzcsNiAr
NzcsNyBAQCBkaWN0aW9uYXJ5IE1lZGlhQ2FwYWJpbGl0aWVzS2V5U3lzdGVtQ29uZmlndXJhdGlv
biB7CiAKIGRpY3Rpb25hcnkgS2V5U3lzdGVtVHJhY2tDb25maWd1cmF0aW9uIHsKICAgICBET01T
dHJpbmcgcm9idXN0bmVzcyA9ICIiOworICAgIERPTVN0cmluZz8gZW5jcnlwdGlvblNjaGVtZSA9
IG51bGw7CiAgIH07CiAKIGRpY3Rpb25hcnkgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIHsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJm
YWNlcy9tZWRpYS1wbGF5YmFjay1xdWFsaXR5LmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9tZWRpYS1wbGF5YmFjay1xdWFsaXR5Lmlk
bAppbmRleCA3MWM4MzU2NzdhNzZmNDU0ZGVjNWRkYWExNDZkNDFmMGMwNDVjMTg2Li5jM2VlNTIz
N2U0Y2E0MzY1NjgwN2RmZGIzNmMzZmE5YzVkNzM0NGE4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvbWVkaWEtcGxheWJh
Y2stcXVhbGl0eS5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9pbnRlcmZhY2VzL21lZGlhLXBsYXliYWNrLXF1YWxpdHkuaWRsCkBAIC0xMiw0ICsx
Miw3IEBAIGludGVyZmFjZSBWaWRlb1BsYXliYWNrUXVhbGl0eSB7CiAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBET01IaWdoUmVzVGltZVN0YW1wIGNyZWF0aW9uVGltZTsKICAgcmVhZG9ubHkgYXR0cmli
dXRlIHVuc2lnbmVkIGxvbmcgZHJvcHBlZFZpZGVvRnJhbWVzOwogICByZWFkb25seSBhdHRyaWJ1
dGUgdW5zaWduZWQgbG9uZyB0b3RhbFZpZGVvRnJhbWVzOworCisgIC8vIERlcHJlY2F0ZWQhCisg
IHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGNvcnJ1cHRlZFZpZGVvRnJhbWVzOwog
fTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaW50ZXJmYWNlcy9tZWRpYS1zb3VyY2UuaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL21lZGlhLXNvdXJjZS5pZGwKaW5kZXggMWQz
YzAyZDg0N2VhNjZlNmJjNWE4YzBmNTIwZDZjN2I5YWQ5ZTFkNi4uZTZmZjRjZDZhYzM3OGIyZGI5
ZWEyZjUwNjNjYzcyOTNiOWY0NzFjMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL21lZGlhLXNvdXJjZS5pZGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL21l
ZGlhLXNvdXJjZS5pZGwKQEAgLTE0LDIxICsxNCwyMiBAQCBlbnVtIEVuZE9mU3RyZWFtRXJyb3Ig
ewogICAgICJkZWNvZGUiCiB9OwogCi1bQ29uc3RydWN0b3JdCitbRXhwb3NlZD1XaW5kb3ddCiBp
bnRlcmZhY2UgTWVkaWFTb3VyY2UgOiBFdmVudFRhcmdldCB7Ci0gICAgcmVhZG9ubHkgYXR0cmli
dXRlIFNvdXJjZUJ1ZmZlckxpc3QgICAgc291cmNlQnVmZmVyczsKLSAgICByZWFkb25seSBhdHRy
aWJ1dGUgU291cmNlQnVmZmVyTGlzdCAgICBhY3RpdmVTb3VyY2VCdWZmZXJzOwotICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBSZWFkeVN0YXRlICAgICAgICAgIHJlYWR5U3RhdGU7Ci0gICAgICAgICAg
ICAgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGUgZHVyYXRpb247Ci0gICAgICAgICAgICAg
YXR0cmlidXRlIEV2ZW50SGFuZGxlciAgICAgICAgb25zb3VyY2VvcGVuOwotICAgICAgICAgICAg
IGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgICAgICAgIG9uc291cmNlZW5kZWQ7Ci0gICAgICAgICAg
ICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciAgICAgICAgb25zb3VyY2VjbG9zZTsKLSAgICBTb3Vy
Y2VCdWZmZXIgYWRkU291cmNlQnVmZmVyKERPTVN0cmluZyB0eXBlKTsKLSAgICB2b2lkICAgICAg
ICAgcmVtb3ZlU291cmNlQnVmZmVyKFNvdXJjZUJ1ZmZlciBzb3VyY2VCdWZmZXIpOwotICAgIHZv
aWQgICAgICAgICBlbmRPZlN0cmVhbShvcHRpb25hbCBFbmRPZlN0cmVhbUVycm9yIGVycm9yKTsK
LSAgICB2b2lkICAgICAgICAgc2V0TGl2ZVNlZWthYmxlUmFuZ2UoZG91YmxlIHN0YXJ0LCBkb3Vi
bGUgZW5kKTsKLSAgICB2b2lkICAgICAgICAgY2xlYXJMaXZlU2Vla2FibGVSYW5nZSgpOwotICAg
IHN0YXRpYyBib29sZWFuIGlzVHlwZVN1cHBvcnRlZChET01TdHJpbmcgdHlwZSk7CisgICAgY29u
c3RydWN0b3IoKTsKKyAgICByZWFkb25seSAgICAgICAgYXR0cmlidXRlIFNvdXJjZUJ1ZmZlckxp
c3QgICAgc291cmNlQnVmZmVyczsKKyAgICByZWFkb25seSAgICAgICAgYXR0cmlidXRlIFNvdXJj
ZUJ1ZmZlckxpc3QgICAgYWN0aXZlU291cmNlQnVmZmVyczsKKyAgICByZWFkb25seSAgICAgICAg
YXR0cmlidXRlIFJlYWR5U3RhdGUgICAgICAgICAgcmVhZHlTdGF0ZTsKKyAgICAgICAgICAgICAg
ICAgICAgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGUgZHVyYXRpb247CisgICAgICAgICAg
ICAgICAgICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgICAgICAgIG9uc291cmNlb3BlbjsKKyAg
ICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciAgICAgICAgb25zb3VyY2Vl
bmRlZDsKKyAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciAgICAgICAg
b25zb3VyY2VjbG9zZTsKKyAgICBTb3VyY2VCdWZmZXIgICBhZGRTb3VyY2VCdWZmZXIgKERPTVN0
cmluZyB0eXBlKTsKKyAgICB2b2lkICAgICAgICAgICByZW1vdmVTb3VyY2VCdWZmZXIgKFNvdXJj
ZUJ1ZmZlciBzb3VyY2VCdWZmZXIpOworICAgIHZvaWQgICAgICAgICAgIGVuZE9mU3RyZWFtIChv
cHRpb25hbCBFbmRPZlN0cmVhbUVycm9yIGVycm9yKTsKKyAgICB2b2lkICAgICAgICAgICBzZXRM
aXZlU2Vla2FibGVSYW5nZSAoZG91YmxlIHN0YXJ0LCBkb3VibGUgZW5kKTsKKyAgICB2b2lkICAg
ICAgICAgICBjbGVhckxpdmVTZWVrYWJsZVJhbmdlICgpOworICAgIHN0YXRpYyBib29sZWFuIGlz
VHlwZVN1cHBvcnRlZCAoRE9NU3RyaW5nIHR5cGUpOwogfTsKIAogZW51bSBBcHBlbmRNb2RlIHsK
QEAgLTM2LDQ2ICszNyw0OCBAQCBlbnVtIEFwcGVuZE1vZGUgewogICAgICJzZXF1ZW5jZSIKIH07
CiAKK1tFeHBvc2VkPVdpbmRvd10KIGludGVyZmFjZSBTb3VyY2VCdWZmZXIgOiBFdmVudFRhcmdl
dCB7Ci0gICAgICAgICAgICAgYXR0cmlidXRlIEFwcGVuZE1vZGUgICAgICAgICAgbW9kZTsKLSAg
ICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiAgICAgICAgICAgICB1cGRhdGluZzsKLSAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgVGltZVJhbmdlcyAgICAgICAgICBidWZmZXJlZDsKLSAgICAgICAg
ICAgICBhdHRyaWJ1dGUgZG91YmxlICAgICAgICAgICAgICB0aW1lc3RhbXBPZmZzZXQ7Ci0gICAg
cmVhZG9ubHkgYXR0cmlidXRlIEF1ZGlvVHJhY2tMaXN0ICAgICAgYXVkaW9UcmFja3M7Ci0gICAg
cmVhZG9ubHkgYXR0cmlidXRlIFZpZGVvVHJhY2tMaXN0ICAgICAgdmlkZW9UcmFja3M7Ci0gICAg
cmVhZG9ubHkgYXR0cmlidXRlIFRleHRUcmFja0xpc3QgICAgICAgdGV4dFRyYWNrczsKLSAgICAg
ICAgICAgICBhdHRyaWJ1dGUgZG91YmxlICAgICAgICAgICAgICBhcHBlbmRXaW5kb3dTdGFydDsK
LSAgICAgICAgICAgICBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZSBhcHBlbmRXaW5kb3dF
bmQ7Ci0gICAgICAgICAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciAgICAgICAgb251cGRhdGVz
dGFydDsKLSAgICAgICAgICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyICAgICAgICBvbnVwZGF0
ZTsKLSAgICAgICAgICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyICAgICAgICBvbnVwZGF0ZWVu
ZDsKLSAgICAgICAgICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyICAgICAgICBvbmVycm9yOwot
ICAgICAgICAgICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgICAgICAgIG9uYWJvcnQ7Ci0gICAg
dm9pZCBhcHBlbmRCdWZmZXIoQnVmZmVyU291cmNlIGRhdGEpOwotICAgIHZvaWQgYWJvcnQoKTsK
LSAgICB2b2lkIHJlbW92ZShkb3VibGUgc3RhcnQsIHVucmVzdHJpY3RlZCBkb3VibGUgZW5kKTsK
KyAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIEFwcGVuZE1vZGUgICAgICAgICAgbW9kZTsK
KyAgICByZWFkb25seSAgICAgICAgYXR0cmlidXRlIGJvb2xlYW4gICAgICAgICAgICAgdXBkYXRp
bmc7CisgICAgcmVhZG9ubHkgICAgICAgIGF0dHJpYnV0ZSBUaW1lUmFuZ2VzICAgICAgICAgIGJ1
ZmZlcmVkOworICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgZG91YmxlICAgICAgICAgICAg
ICB0aW1lc3RhbXBPZmZzZXQ7CisgICAgcmVhZG9ubHkgICAgICAgIGF0dHJpYnV0ZSBBdWRpb1Ry
YWNrTGlzdCAgICAgIGF1ZGlvVHJhY2tzOworICAgIHJlYWRvbmx5ICAgICAgICBhdHRyaWJ1dGUg
VmlkZW9UcmFja0xpc3QgICAgICB2aWRlb1RyYWNrczsKKyAgICByZWFkb25seSAgICAgICAgYXR0
cmlidXRlIFRleHRUcmFja0xpc3QgICAgICAgdGV4dFRyYWNrczsKKyAgICAgICAgICAgICAgICAg
ICAgYXR0cmlidXRlIGRvdWJsZSAgICAgICAgICAgICAgYXBwZW5kV2luZG93U3RhcnQ7CisgICAg
ICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIGFwcGVuZFdpbmRv
d0VuZDsKKyAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciAgICAgICAg
b251cGRhdGVzdGFydDsKKyAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxl
ciAgICAgICAgb251cGRhdGU7CisgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBFdmVudEhh
bmRsZXIgICAgICAgIG9udXBkYXRlZW5kOworICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUg
RXZlbnRIYW5kbGVyICAgICAgICBvbmVycm9yOworICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1
dGUgRXZlbnRIYW5kbGVyICAgICAgICBvbmFib3J0OworICAgIHZvaWQgYXBwZW5kQnVmZmVyIChC
dWZmZXJTb3VyY2UgZGF0YSk7CisgICAgdm9pZCBhYm9ydCAoKTsKKyAgICB2b2lkIHJlbW92ZSAo
ZG91YmxlIHN0YXJ0LCB1bnJlc3RyaWN0ZWQgZG91YmxlIGVuZCk7CiB9OwogCitbRXhwb3NlZD1X
aW5kb3ddCiBpbnRlcmZhY2UgU291cmNlQnVmZmVyTGlzdCA6IEV2ZW50VGFyZ2V0IHsKLSAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7Ci0gICAgICAgICAgICAgYXR0
cmlidXRlIEV2ZW50SGFuZGxlciAgb25hZGRzb3VyY2VidWZmZXI7Ci0gICAgICAgICAgICAgYXR0
cmlidXRlIEV2ZW50SGFuZGxlciAgb25yZW1vdmVzb3VyY2VidWZmZXI7CisgICAgcmVhZG9ubHkg
ICAgICAgIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKKyAgICAgICAgICAgICAgICAg
ICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciAgb25hZGRzb3VyY2VidWZmZXI7CisgICAgICAgICAg
ICAgICAgICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgIG9ucmVtb3Zlc291cmNlYnVmZmVyOwog
ICAgIGdldHRlciBTb3VyY2VCdWZmZXIgKHVuc2lnbmVkIGxvbmcgaW5kZXgpOwogfTsKIAogW0V4
cG9zZWQ9V2luZG93XQogcGFydGlhbCBpbnRlcmZhY2UgVVJMIHsKLSAgICBzdGF0aWMgRE9NU3Ry
aW5nIGNyZWF0ZU9iamVjdFVSTChNZWRpYVNvdXJjZSBtZWRpYVNvdXJjZSk7CisgICAgc3RhdGlj
IERPTVN0cmluZyBjcmVhdGVPYmplY3RVUkwgKE1lZGlhU291cmNlIG1lZGlhU291cmNlKTsKIH07
CiAKIHBhcnRpYWwgaW50ZXJmYWNlIEF1ZGlvVHJhY2sgewotICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBTb3VyY2VCdWZmZXI/IHNvdXJjZUJ1ZmZlcjsKKyAgICByZWFkb25seSAgICAgICAgYXR0cmli
dXRlIFNvdXJjZUJ1ZmZlcj8gc291cmNlQnVmZmVyOwogfTsKIAogcGFydGlhbCBpbnRlcmZhY2Ug
VmlkZW9UcmFjayB7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIFNvdXJjZUJ1ZmZlcj8gc291cmNl
QnVmZmVyOworICAgIHJlYWRvbmx5ICAgICAgICBhdHRyaWJ1dGUgU291cmNlQnVmZmVyPyBzb3Vy
Y2VCdWZmZXI7CiB9OwogCiBwYXJ0aWFsIGludGVyZmFjZSBUZXh0VHJhY2sgewotICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBTb3VyY2VCdWZmZXI/IHNvdXJjZUJ1ZmZlcjsKKyAgICByZWFkb25seSAg
ICAgICAgYXR0cmlidXRlIFNvdXJjZUJ1ZmZlcj8gc291cmNlQnVmZmVyOwogfTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNl
cy9tZWRpYXNlc3Npb24uaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9pbnRlcmZhY2VzL21lZGlhc2Vzc2lvbi5pZGwKaW5kZXggODY3MWFmNWFjZDkyMDU5
NzhlMTgyODUwMjI0NWJhMTM0MjU4YzFlOS4uMDU5ZDFlYzhjZjE0YzgwZmI3ODI4NWI1MDE0YmQz
YTNlOGM3ZTY2NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL21lZGlhc2Vzc2lvbi5pZGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL21lZGlhc2Vzc2lvbi5p
ZGwKQEAgLTY5LDEzICs2OSw3IEBAIGRpY3Rpb25hcnkgTWVkaWFQb3NpdGlvblN0YXRlIHsKIAog
ZGljdGlvbmFyeSBNZWRpYVNlc3Npb25BY3Rpb25EZXRhaWxzIHsKICAgcmVxdWlyZWQgTWVkaWFT
ZXNzaW9uQWN0aW9uIGFjdGlvbjsKLX07Ci0KLWRpY3Rpb25hcnkgTWVkaWFTZXNzaW9uU2Vla0Fj
dGlvbkRldGFpbHMgOiBNZWRpYVNlc3Npb25BY3Rpb25EZXRhaWxzIHsKICAgZG91YmxlPyBzZWVr
T2Zmc2V0OwotfTsKLQotZGljdGlvbmFyeSBNZWRpYVNlc3Npb25TZWVrVG9BY3Rpb25EZXRhaWxz
IDogTWVkaWFTZXNzaW9uQWN0aW9uRGV0YWlscyB7Ci0gIHJlcXVpcmVkIGRvdWJsZSBzZWVrVGlt
ZTsKKyAgZG91YmxlPyBzZWVrVGltZTsKICAgYm9vbGVhbj8gZmFzdFNlZWs7CiB9OwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZh
Y2VzL21lZGlhc3RyZWFtLXJlY29yZGluZy5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvbWVkaWFzdHJlYW0tcmVjb3JkaW5nLmlkbApp
bmRleCAyZDg0OWJhOWFmZmU0NzZhMjMxNDFjOWYzOTc2YzY1YjJkOWY3ZWY0Li41MjI5NTEyNWRh
NjZkODU2MmY2NjM2NmYyNzlkNTdhZTA1YTdmZTg2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvbWVkaWFzdHJlYW0tcmVj
b3JkaW5nLmlkbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ludGVyZmFjZXMvbWVkaWFzdHJlYW0tcmVjb3JkaW5nLmlkbApAQCAtNCw3ICs0LDcgQEAK
IC8vIFNvdXJjZTogTWVkaWFTdHJlYW0gUmVjb3JkaW5nIChodHRwczovL3czYy5naXRodWIuaW8v
bWVkaWFjYXB0dXJlLXJlY29yZC8pCiAKIFtFeHBvc2VkPVdpbmRvdywKLSBDb25zdHJ1Y3RvcihN
ZWRpYVN0cmVhbSBzdHJlYW0sIG9wdGlvbmFsIE1lZGlhUmVjb3JkZXJPcHRpb25zIG9wdGlvbnMp
XQorIENvbnN0cnVjdG9yKE1lZGlhU3RyZWFtIHN0cmVhbSwgb3B0aW9uYWwgTWVkaWFSZWNvcmRl
ck9wdGlvbnMgb3B0aW9ucyA9IHt9KV0KIGludGVyZmFjZSBNZWRpYVJlY29yZGVyIDogRXZlbnRU
YXJnZXQgewogICByZWFkb25seSBhdHRyaWJ1dGUgTWVkaWFTdHJlYW0gc3RyZWFtOwogICByZWFk
b25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG1pbWVUeXBlOwpAQCAtMTcsNiArMTcsNyBAQCBpbnRl
cmZhY2UgTWVkaWFSZWNvcmRlciA6IEV2ZW50VGFyZ2V0IHsKICAgYXR0cmlidXRlIEV2ZW50SGFu
ZGxlciBvbmVycm9yOwogICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyB2aWRlb0Jp
dHNQZXJTZWNvbmQ7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGF1ZGlvQml0
c1BlclNlY29uZDsKKyAgcmVhZG9ubHkgYXR0cmlidXRlIEJpdHJhdGVNb2RlIGF1ZGlvQml0cmF0
ZU1vZGU7CiAKICAgdm9pZCBzdGFydChvcHRpb25hbCB1bnNpZ25lZCBsb25nIHRpbWVzbGljZSk7
CiAgIHZvaWQgc3RvcCgpOwpAQCAtMzIsNiArMzMsMTIgQEAgZGljdGlvbmFyeSBNZWRpYVJlY29y
ZGVyT3B0aW9ucyB7CiAgIHVuc2lnbmVkIGxvbmcgYXVkaW9CaXRzUGVyU2Vjb25kOwogICB1bnNp
Z25lZCBsb25nIHZpZGVvQml0c1BlclNlY29uZDsKICAgdW5zaWduZWQgbG9uZyBiaXRzUGVyU2Vj
b25kOworICBCaXRyYXRlTW9kZSBhdWRpb0JpdHJhdGVNb2RlID0gInZiciI7Cit9OworCitlbnVt
IEJpdHJhdGVNb2RlIHsKKyAgImNiciIsCisgICJ2YnIiCiB9OwogCiBlbnVtIFJlY29yZGluZ1N0
YXRlIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaW50ZXJmYWNlcy9tc3QtY29udGVudC1oaW50LmlkbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9tc3QtY29udGVudC1oaW50Lmlk
bAppbmRleCAxNWUxN2NmNTM2NGM4M2ZjNzBiZjM3M2NkN2Y1MDBjMTNiMTUzYjVmLi5mN2QzZjIw
ZTcyMzY0YTFiZjdkZjAxOWUzMTE1YzM0YzEwZDgxMWJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvbXN0LWNvbnRlbnQt
aGludC5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbnRlcmZhY2VzL21zdC1jb250ZW50LWhpbnQuaWRsCkBAIC02LDMgKzYsMTMgQEAKIHBhcnRp
YWwgaW50ZXJmYWNlIE1lZGlhU3RyZWFtVHJhY2sgewogICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGNv
bnRlbnRIaW50OwogfTsKKworZW51bSBSVENEZWdyYWRhdGlvblByZWZlcmVuY2UgeworICAibWFp
bnRhaW4tZnJhbWVyYXRlIiwKKyAgIm1haW50YWluLXJlc29sdXRpb24iLAorICAiYmFsYW5jZWQi
Cit9OworCitwYXJ0aWFsIGRpY3Rpb25hcnkgUlRDUnRwU2VuZFBhcmFtZXRlcnMgeworIFJUQ0Rl
Z3JhZGF0aW9uUHJlZmVyZW5jZSBkZWdyYWRhdGlvblByZWZlcmVuY2U7Cit9OwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2Vz
L25hdGl2ZS1maWxlLXN5c3RlbS5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvbmF0aXZlLWZpbGUtc3lzdGVtLmlkbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mNDY3OTE3NWM0NmVjNzgzMWYwYzY0MjNiMDA3NWQ5NWFiOTlkYmUwCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZh
Y2VzL25hdGl2ZS1maWxlLXN5c3RlbS5pZGwKQEAgLTAsMCArMSw5MiBAQAorLy8gR0VORVJBVEVE
IENPTlRFTlQgLSBETyBOT1QgRURJVAorLy8gQ29udGVudCB3YXMgYXV0b21hdGljYWxseSBleHRy
YWN0ZWQgYnkgUmVmZnkgaW50byByZWZmeS1yZXBvcnRzCisvLyAoaHR0cHM6Ly9naXRodWIuY29t
L3RpZG91c3QvcmVmZnktcmVwb3J0cykKKy8vIFNvdXJjZTogTmF0aXZlIEZpbGUgU3lzdGVtICho
dHRwczovL3dpY2cuZ2l0aHViLmlvL25hdGl2ZS1maWxlLXN5c3RlbS8pCisKK2RpY3Rpb25hcnkg
RmlsZVN5c3RlbUhhbmRsZVBlcm1pc3Npb25EZXNjcmlwdG9yIHsKKyAgYm9vbGVhbiB3cml0YWJs
ZSA9IGZhbHNlOworfTsKKworW0V4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLCBTZWN1cmVDb250ZXh0
LCBTZXJpYWxpemFibGVdCitpbnRlcmZhY2UgRmlsZVN5c3RlbUhhbmRsZSB7CisgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBib29sZWFuIGlzRmlsZTsKKyAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4g
aXNEaXJlY3Rvcnk7CisgIHJlYWRvbmx5IGF0dHJpYnV0ZSBVU1ZTdHJpbmcgbmFtZTsKKworICBQ
cm9taXNlPFBlcm1pc3Npb25TdGF0ZT4gcXVlcnlQZXJtaXNzaW9uKG9wdGlvbmFsIEZpbGVTeXN0
ZW1IYW5kbGVQZXJtaXNzaW9uRGVzY3JpcHRvciBkZXNjcmlwdG9yID0ge30pOworICBQcm9taXNl
PFBlcm1pc3Npb25TdGF0ZT4gcmVxdWVzdFBlcm1pc3Npb24ob3B0aW9uYWwgRmlsZVN5c3RlbUhh
bmRsZVBlcm1pc3Npb25EZXNjcmlwdG9yIGRlc2NyaXB0b3IgPSB7fSk7Cit9OworCitkaWN0aW9u
YXJ5IEZpbGVTeXN0ZW1DcmVhdGVXcml0ZXJPcHRpb25zIHsKKyAgYm9vbGVhbiBrZWVwRXhpc3Rp
bmdEYXRhID0gZmFsc2U7Cit9OworCitbRXhwb3NlZD0oV2luZG93LFdvcmtlciksIFNlY3VyZUNv
bnRleHQsIFNlcmlhbGl6YWJsZV0KK2ludGVyZmFjZSBGaWxlU3lzdGVtRmlsZUhhbmRsZSA6IEZp
bGVTeXN0ZW1IYW5kbGUgeworICBQcm9taXNlPEZpbGU+IGdldEZpbGUoKTsKKyAgUHJvbWlzZTxG
aWxlU3lzdGVtV3JpdGVyPiBjcmVhdGVXcml0ZXIob3B0aW9uYWwgRmlsZVN5c3RlbUNyZWF0ZVdy
aXRlck9wdGlvbnMgb3B0aW9ucyA9IHt9KTsKK307CisKK2RpY3Rpb25hcnkgRmlsZVN5c3RlbUdl
dEZpbGVPcHRpb25zIHsKKyAgYm9vbGVhbiBjcmVhdGUgPSBmYWxzZTsKK307CisKK2RpY3Rpb25h
cnkgRmlsZVN5c3RlbUdldERpcmVjdG9yeU9wdGlvbnMgeworICBib29sZWFuIGNyZWF0ZSA9IGZh
bHNlOworfTsKKworZGljdGlvbmFyeSBGaWxlU3lzdGVtUmVtb3ZlT3B0aW9ucyB7CisgIGJvb2xl
YW4gcmVjdXJzaXZlID0gZmFsc2U7Cit9OworCitbRXhwb3NlZD0oV2luZG93LFdvcmtlciksIFNl
Y3VyZUNvbnRleHQsIFNlcmlhbGl6YWJsZV0KK2ludGVyZmFjZSBGaWxlU3lzdGVtRGlyZWN0b3J5
SGFuZGxlIDogRmlsZVN5c3RlbUhhbmRsZSB7CisgIFByb21pc2U8RmlsZVN5c3RlbUZpbGVIYW5k
bGU+IGdldEZpbGUoVVNWU3RyaW5nIG5hbWUsIG9wdGlvbmFsIEZpbGVTeXN0ZW1HZXRGaWxlT3B0
aW9ucyBvcHRpb25zID0ge30pOworICBQcm9taXNlPEZpbGVTeXN0ZW1EaXJlY3RvcnlIYW5kbGU+
IGdldERpcmVjdG9yeShVU1ZTdHJpbmcgbmFtZSwgb3B0aW9uYWwgRmlsZVN5c3RlbUdldERpcmVj
dG9yeU9wdGlvbnMgb3B0aW9ucyA9IHt9KTsKKworICAvLyBUaGlzIHJlYWxseSByZXR1cm5zIGFu
IGFzeW5jIGl0ZXJhYmxlLCBidXQgdGhhdCBpcyBub3QgeWV0IGV4cHJlc3NhYmxlIGluIFdlYklE
TC4KKyAgb2JqZWN0IGdldEVudHJpZXMoKTsKKworICBQcm9taXNlPHZvaWQ+IHJlbW92ZUVudHJ5
KFVTVlN0cmluZyBuYW1lLCBvcHRpb25hbCBGaWxlU3lzdGVtUmVtb3ZlT3B0aW9ucyBvcHRpb25z
ID0ge30pOworfTsKKworW0V4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLCBTZWN1cmVDb250ZXh0XQor
aW50ZXJmYWNlIEZpbGVTeXN0ZW1Xcml0ZXIgeworICBQcm9taXNlPHZvaWQ+IHdyaXRlKHVuc2ln
bmVkIGxvbmcgbG9uZyBwb3NpdGlvbiwgKEJ1ZmZlclNvdXJjZSBvciBCbG9iIG9yIFVTVlN0cmlu
ZykgZGF0YSk7CisgIFByb21pc2U8dm9pZD4gdHJ1bmNhdGUodW5zaWduZWQgbG9uZyBsb25nIHNp
emUpOworICBQcm9taXNlPHZvaWQ+IGNsb3NlKCk7Cit9OworCitlbnVtIENob29zZUZpbGVTeXN0
ZW1FbnRyaWVzVHlwZSB7ICJvcGVuLWZpbGUiLCAic2F2ZS1maWxlIiwgIm9wZW4tZGlyZWN0b3J5
IiB9OworCitkaWN0aW9uYXJ5IENob29zZUZpbGVTeXN0ZW1FbnRyaWVzT3B0aW9uc0FjY2VwdHMg
eworICBVU1ZTdHJpbmcgZGVzY3JpcHRpb247CisgIHNlcXVlbmNlPFVTVlN0cmluZz4gbWltZVR5
cGVzOworICBzZXF1ZW5jZTxVU1ZTdHJpbmc+IGV4dGVuc2lvbnM7Cit9OworCitkaWN0aW9uYXJ5
IENob29zZUZpbGVTeXN0ZW1FbnRyaWVzT3B0aW9ucyB7CisgICAgQ2hvb3NlRmlsZVN5c3RlbUVu
dHJpZXNUeXBlIHR5cGUgPSAib3Blbi1maWxlIjsKKyAgICBib29sZWFuIG11bHRpcGxlID0gZmFs
c2U7CisgICAgc2VxdWVuY2U8Q2hvb3NlRmlsZVN5c3RlbUVudHJpZXNPcHRpb25zQWNjZXB0cz4g
YWNjZXB0czsKKyAgICBib29sZWFuIGV4Y2x1ZGVBY2NlcHRBbGxPcHRpb24gPSBmYWxzZTsKK307
CisKK1tTZWN1cmVDb250ZXh0XQorcGFydGlhbCBpbnRlcmZhY2UgV2luZG93IHsKKyAgICBQcm9t
aXNlPChGaWxlU3lzdGVtSGFuZGxlIG9yIHNlcXVlbmNlPEZpbGVTeXN0ZW1IYW5kbGU+KT4KKyAg
ICAgICAgY2hvb3NlRmlsZVN5c3RlbUVudHJpZXMob3B0aW9uYWwgQ2hvb3NlRmlsZVN5c3RlbUVu
dHJpZXNPcHRpb25zIG9wdGlvbnMgPSB7fSk7Cit9OworCitlbnVtIFN5c3RlbURpcmVjdG9yeVR5
cGUgeworICAic2FuZGJveCIKK307CisKK2RpY3Rpb25hcnkgR2V0U3lzdGVtRGlyZWN0b3J5T3B0
aW9ucyB7CisgIHJlcXVpcmVkIFN5c3RlbURpcmVjdG9yeVR5cGUgdHlwZTsKK307CisKK1tTZWN1
cmVDb250ZXh0XQorcGFydGlhbCBpbnRlcmZhY2UgRmlsZVN5c3RlbURpcmVjdG9yeUhhbmRsZSB7
CisgIHN0YXRpYyBQcm9taXNlPEZpbGVTeXN0ZW1EaXJlY3RvcnlIYW5kbGU+IGdldFN5c3RlbURp
cmVjdG9yeShHZXRTeXN0ZW1EaXJlY3RvcnlPcHRpb25zIG9wdGlvbnMpOworfTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNl
cy9uZXRpbmZvLmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaW50ZXJmYWNlcy9uZXRpbmZvLmlkbAppbmRleCA3Mjk2NzgzOTY4ODRhMTk4NzQyMzk0Njgw
NzViZmQ1ODdjNjIxMzA1Li41MzBkZWI5OThjNDY1NmE0ZmRhMzJhZjdmNjI4NmU4OTVhMTVlMDgy
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ludGVyZmFjZXMvbmV0aW5mby5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL25ldGluZm8uaWRsCkBAIC0zNiw3ICszNiw2IEBA
IGludGVyZmFjZSBOZXR3b3JrSW5mb3JtYXRpb24gOiBFdmVudFRhcmdldCB7CiAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBNZWdhYml0IGRvd25saW5rTWF4OwogICByZWFkb25seSBhdHRyaWJ1dGUgTWVn
YWJpdCBkb3dubGluazsKICAgcmVhZG9ubHkgYXR0cmlidXRlIE1pbGxpc2Vjb25kIHJ0dDsKLSAg
cmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gc2F2ZURhdGE7CiAgIGF0dHJpYnV0ZSBFdmVudEhh
bmRsZXIgb25jaGFuZ2U7CiB9OwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvb3JpZ2luLXBvbGljeS5pZGwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvb3JpZ2lu
LXBvbGljeS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTQ4ZTA2MzJiZDg5ZmY3NjRmYTliMzg2NDIwN2IzOTcy
M2EzODhjZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9vcmlnaW4tcG9saWN5LmlkbApAQCAtMCwwICsxLDgg
QEAKKy8vIEdFTkVSQVRFRCBDT05URU5UIC0gRE8gTk9UIEVESVQKKy8vIENvbnRlbnQgd2FzIGF1
dG9tYXRpY2FsbHkgZXh0cmFjdGVkIGJ5IFJlZmZ5IGludG8gcmVmZnktcmVwb3J0cworLy8gKGh0
dHBzOi8vZ2l0aHViLmNvbS90aWRvdXN0L3JlZmZ5LXJlcG9ydHMpCisvLyBTb3VyY2U6IE9yaWdp
biBQb2xpY3kgKGh0dHBzOi8vd2ljZy5naXRodWIuaW8vb3JpZ2luLXBvbGljeS8pCisKK3BhcnRp
YWwgaW50ZXJmYWNlIG1peGluIFdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUgeworICByZWFkb25s
eSBhdHRyaWJ1dGUgRnJvemVuQXJyYXk8RE9NU3RyaW5nPiBvcmlnaW5Qb2xpY3lJZHM7Cit9Owpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bnRlcmZhY2VzL3BhZ2UtbGlmZWN5Y2xlLmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9wYWdlLWxpZmVjeWNsZS5pZGwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjNkOWMxZjNmNTY0NzUzOWFhODQwNjUwYmVmYjI2ZTc2ODEyMDgzZAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJm
YWNlcy9wYWdlLWxpZmVjeWNsZS5pZGwKQEAgLTAsMCArMSwxOSBAQAorLy8gR0VORVJBVEVEIENP
TlRFTlQgLSBETyBOT1QgRURJVAorLy8gQ29udGVudCB3YXMgYXV0b21hdGljYWxseSBleHRyYWN0
ZWQgYnkgUmVmZnkgaW50byByZWZmeS1yZXBvcnRzCisvLyAoaHR0cHM6Ly9naXRodWIuY29tL3Rp
ZG91c3QvcmVmZnktcmVwb3J0cykKKy8vIFNvdXJjZTogUGFnZSBMaWZlY3ljbGUgKGh0dHBzOi8v
d2ljZy5naXRodWIuaW8vcGFnZS1saWZlY3ljbGUvKQorCitwYXJ0aWFsIGludGVyZmFjZSBEb2N1
bWVudCB7CisgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmZyZWV6ZTsKKyAgICBhdHRyaWJ1
dGUgRXZlbnRIYW5kbGVyIG9ucmVzdW1lOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFu
IHdhc0Rpc2NhcmRlZDsKK307CisKK3BhcnRpYWwgaW50ZXJmYWNlIENsaWVudCB7CisgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIENsaWVudExpZmVjeWNsZVN0YXRlIGxpZmVjeWNsZVN0YXRlOworfTsK
KworZW51bSBDbGllbnRMaWZlY3ljbGVTdGF0ZSB7CisgICAgImFjdGl2ZSIsCisgICAgImZyb3pl
biIKK307CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ludGVyZmFjZXMvcGF5bWVudC1tZXRob2QtYmFzaWMtY2FyZC5pZGwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcGF5bWVudC1t
ZXRob2QtYmFzaWMtY2FyZC5pZGwKaW5kZXggOTFmMWQxOTdiOTQ2MGE0ZDNmZWFmNWQxOWU2NGE4
YWY0MjA2NmNhMy4uNzJlMDU1NTA2NmNmNDEwNjhmOTA3ZDRjNWUzM2NlODY0NDNmYmM1ZCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRl
cmZhY2VzL3BheW1lbnQtbWV0aG9kLWJhc2ljLWNhcmQuaWRsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9wYXltZW50LW1ldGhvZC1i
YXNpYy1jYXJkLmlkbApAQCAtNSw2ICs1LDcgQEAKIAogZGljdGlvbmFyeSBCYXNpY0NhcmRSZXF1
ZXN0IHsKICAgc2VxdWVuY2U8RE9NU3RyaW5nPiBzdXBwb3J0ZWROZXR3b3JrcyA9IFtdOworICBi
b29sZWFuIHJlcXVlc3RTZWN1cml0eUNvZGUgPSB0cnVlOwogfTsKIAogZGljdGlvbmFyeSBCYXNp
Y0NhcmRDaGFuZ2VEZXRhaWxzIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9wYXltZW50LXJlcXVlc3QuaWRsIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3BheW1l
bnQtcmVxdWVzdC5pZGwKaW5kZXggZTQxY2FlMmYwNmQwZDQ3OWY2ODA2NmQ3ODZjNzM3MWU3ZDRk
YTkzNC4uOTQwN2M3MTFlNDhhYzg0MDNiYjIzZjVkODIxZDc0NGIzZTdmYzgzNyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2Vz
L3BheW1lbnQtcmVxdWVzdC5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3BheW1lbnQtcmVxdWVzdC5pZGwKQEAgLTEwMywxNiAr
MTAzLDE2IEBAIGludGVyZmFjZSBQYXltZW50QWRkcmVzcyB7CiB9OwogCiBkaWN0aW9uYXJ5IEFk
ZHJlc3NJbml0IHsKLSAgRE9NU3RyaW5nIGNvdW50cnk7Ci0gIHNlcXVlbmNlPERPTVN0cmluZz4g
YWRkcmVzc0xpbmU7Ci0gIERPTVN0cmluZyByZWdpb247Ci0gIERPTVN0cmluZyBjaXR5OwotICBE
T01TdHJpbmcgZGVwZW5kZW50TG9jYWxpdHk7Ci0gIERPTVN0cmluZyBwb3N0YWxDb2RlOwotICBE
T01TdHJpbmcgc29ydGluZ0NvZGU7Ci0gIERPTVN0cmluZyBvcmdhbml6YXRpb247Ci0gIERPTVN0
cmluZyByZWNpcGllbnQ7Ci0gIERPTVN0cmluZyBwaG9uZTsKKyAgRE9NU3RyaW5nIGNvdW50cnkg
PSAiIjsKKyAgc2VxdWVuY2U8RE9NU3RyaW5nPiBhZGRyZXNzTGluZSA9IFtdOworICBET01TdHJp
bmcgcmVnaW9uID0gIiI7CisgIERPTVN0cmluZyBjaXR5ID0gIiI7CisgIERPTVN0cmluZyBkZXBl
bmRlbnRMb2NhbGl0eSA9ICIiOworICBET01TdHJpbmcgcG9zdGFsQ29kZSA9ICIiOworICBET01T
dHJpbmcgc29ydGluZ0NvZGUgPSAiIjsKKyAgRE9NU3RyaW5nIG9yZ2FuaXphdGlvbiA9ICIiOwor
ICBET01TdHJpbmcgcmVjaXBpZW50ID0gIiI7CisgIERPTVN0cmluZyBwaG9uZSA9ICIiOwogfTsK
IAogZGljdGlvbmFyeSBBZGRyZXNzRXJyb3JzIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9wZXJpb2RpYy1iYWNrZ3Jv
dW5kLXN5bmMuaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbnRlcmZhY2VzL3BlcmlvZGljLWJhY2tncm91bmQtc3luYy5pZGwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTRl
ZThiYmMzMGRmMWU2ZmQyOTJkYjdlNTI1MDRhMmQzY2U4NGQ1YgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9w
ZXJpb2RpYy1iYWNrZ3JvdW5kLXN5bmMuaWRsCkBAIC0wLDAgKzEsMzUgQEAKKy8vIEdFTkVSQVRF
RCBDT05URU5UIC0gRE8gTk9UIEVESVQKKy8vIENvbnRlbnQgd2FzIGF1dG9tYXRpY2FsbHkgZXh0
cmFjdGVkIGJ5IFJlZmZ5IGludG8gcmVmZnktcmVwb3J0cworLy8gKGh0dHBzOi8vZ2l0aHViLmNv
bS90aWRvdXN0L3JlZmZ5LXJlcG9ydHMpCisvLyBTb3VyY2U6IFdlYiBQZXJpb2RpYyBCYWNrZ3Jv
dW5kIFN5bmNocm9uaXphdGlvbiAoaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9wZXJpb2RpYy1iYWNr
Z3JvdW5kLXN5bmMvKQorCitwYXJ0aWFsIGludGVyZmFjZSBTZXJ2aWNlV29ya2VyR2xvYmFsU2Nv
cGUgeworICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25wZXJpb2RpY3N5bmM7Cit9OworCitb
RXhwb3NlZD0oV2luZG93LFdvcmtlcildCitwYXJ0aWFsIGludGVyZmFjZSBTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uIHsKKyAgcmVhZG9ubHkgYXR0cmlidXRlIFBlcmlvZGljU3luY01hbmFnZXIg
cGVyaW9kaWNTeW5jOworfTsKKworW0V4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpXQoraW50ZXJmYWNl
IFBlcmlvZGljU3luY01hbmFnZXIgeworICAgIFByb21pc2U8dm9pZD4gcmVnaXN0ZXIoRE9NU3Ry
aW5nIHRhZywgb3B0aW9uYWwgQmFja2dyb3VuZFN5bmNPcHRpb25zIG9wdGlvbnMpOworICAgIFBy
b21pc2U8c2VxdWVuY2U8RE9NU3RyaW5nPj4gZ2V0VGFncygpOworICAgIFByb21pc2U8dm9pZD4g
dW5yZWdpc3RlcihET01TdHJpbmcgdGFnKTsKK307CisKK2RpY3Rpb25hcnkgQmFja2dyb3VuZFN5
bmNPcHRpb25zIHsKKyAgICBbRW5mb3JjZVJhbmdlXSB1bnNpZ25lZCBsb25nIGxvbmcgbWluSW50
ZXJ2YWwgPSAwOworfTsKKworZGljdGlvbmFyeSBQZXJpb2RpY1N5bmNFdmVudEluaXQgOiBFeHRl
bmRhYmxlRXZlbnRJbml0IHsKKyAgICByZXF1aXJlZCBET01TdHJpbmcgdGFnOworfTsKKworWwor
ICAgIENvbnN0cnVjdG9yKERPTVN0cmluZyB0eXBlLCBQZXJpb2RpY1N5bmNFdmVudEluaXQgaW5p
dCksCisgICAgRXhwb3NlZD1TZXJ2aWNlV29ya2VyCitdIGludGVyZmFjZSBQZXJpb2RpY1N5bmNF
dmVudCA6IEV4dGVuZGFibGVFdmVudCB7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmlu
ZyB0YWc7CisgIH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcGVybWlzc2lvbnMtcmVxdWVzdC5pZGwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcGVybWlzc2lv
bnMtcmVxdWVzdC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDg0MzFmYmFiODVhYjk4MzgyNzhjMmUyZDBkZDlh
ZDQxMWYxZDVkZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9wZXJtaXNzaW9ucy1yZXF1ZXN0LmlkbApAQCAt
MCwwICsxLDggQEAKKy8vIEdFTkVSQVRFRCBDT05URU5UIC0gRE8gTk9UIEVESVQKKy8vIENvbnRl
bnQgd2FzIGF1dG9tYXRpY2FsbHkgZXh0cmFjdGVkIGJ5IFJlZmZ5IGludG8gcmVmZnktcmVwb3J0
cworLy8gKGh0dHBzOi8vZ2l0aHViLmNvbS90aWRvdXN0L3JlZmZ5LXJlcG9ydHMpCisvLyBTb3Vy
Y2U6IFJlcXVlc3RpbmcgUGVybWlzc2lvbnMgKGh0dHBzOi8vd2ljZy5naXRodWIuaW8vcGVybWlz
c2lvbnMtcmVxdWVzdC8pCisKK3BhcnRpYWwgaW50ZXJmYWNlIFBlcm1pc3Npb25zIHsKKyAgUHJv
bWlzZTxQZXJtaXNzaW9uU3RhdHVzPiByZXF1ZXN0KG9iamVjdCBwZXJtaXNzaW9uRGVzYyk7Cit9
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbnRlcmZhY2VzL3Blcm1pc3Npb25zLXJldm9rZS5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcGVybWlzc2lvbnMtcmV2b2tlLmlk
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi40YzJiY2Y3Yjk5ZjE0YjU4ZmZlYTczOGEyMzI3Mjc2N2Y0YWU2ODZmCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9pbnRlcmZhY2VzL3Blcm1pc3Npb25zLXJldm9rZS5pZGwKQEAgLTAsMCArMSw4IEBACisv
LyBHRU5FUkFURUQgQ09OVEVOVCAtIERPIE5PVCBFRElUCisvLyBDb250ZW50IHdhcyBhdXRvbWF0
aWNhbGx5IGV4dHJhY3RlZCBieSBSZWZmeSBpbnRvIHJlZmZ5LXJlcG9ydHMKKy8vIChodHRwczov
L2dpdGh1Yi5jb20vdGlkb3VzdC9yZWZmeS1yZXBvcnRzKQorLy8gU291cmNlOiBSZWxpbnF1aXNo
aW5nIFBlcm1pc3Npb25zIChodHRwczovL3dpY2cuZ2l0aHViLmlvL3Blcm1pc3Npb25zLXJldm9r
ZS8pCisKK3BhcnRpYWwgaW50ZXJmYWNlIFBlcm1pc3Npb25zIHsKKyAgUHJvbWlzZTxQZXJtaXNz
aW9uU3RhdHVzPiByZXZva2Uob2JqZWN0IHBlcm1pc3Npb25EZXNjKTsKK307CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMv
cGVybWlzc2lvbnMuaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9pbnRlcmZhY2VzL3Blcm1pc3Npb25zLmlkbAppbmRleCA5Y2RlMzcyYTEyNzE4OGVmMTA4
MWFkMzkwZDUzMDFkMmQ4YjE5OGY4Li5kNDVjN2Y5M2NhYzc2ODNhNzZlODlkMGU3ZjQyOWY1ZjNj
YjY5NWQ5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ludGVyZmFjZXMvcGVybWlzc2lvbnMuaWRsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9wZXJtaXNzaW9ucy5pZGwKQEAg
LTQ2LDYgKzQ2LDEwIEBAIGRpY3Rpb25hcnkgRGV2aWNlUGVybWlzc2lvbkRlc2NyaXB0b3IgOiBQ
ZXJtaXNzaW9uRGVzY3JpcHRvciB7CiAgIERPTVN0cmluZyBkZXZpY2VJZDsKIH07CiAKK2RpY3Rp
b25hcnkgQ2FtZXJhRGV2aWNlUGVybWlzc2lvbkRlc2NyaXB0b3IgOiBEZXZpY2VQZXJtaXNzaW9u
RGVzY3JpcHRvciB7CisgIGJvb2xlYW4gcGFuVGlsdFpvb20gPSBmYWxzZTsKK307CisKIGRpY3Rp
b25hcnkgUGVybWlzc2lvblNldFBhcmFtZXRlcnMgewogICByZXF1aXJlZCBQZXJtaXNzaW9uRGVz
Y3JpcHRvciBkZXNjcmlwdG9yOwogICByZXF1aXJlZCBQZXJtaXNzaW9uU3RhdGUgc3RhdGU7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2lu
dGVyZmFjZXMvcG9pbnRlcmV2ZW50cy5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcG9pbnRlcmV2ZW50cy5pZGwKaW5kZXggZjQ0MDU0
Mzg2MzJiZTNjYWQ1OWVlNTJjN2M2MmJjYTYzMGRmODc1Zi4uOGE0MmI1YTg0NDZiODQzYzAxZjZh
NzZjODI0YmRmMDIyYjM2YjY0NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3BvaW50ZXJldmVudHMuaWRsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9wb2lu
dGVyZXZlbnRzLmlkbApAQCAtMTIsNiArMTIsOCBAQCBkaWN0aW9uYXJ5IFBvaW50ZXJFdmVudElu
aXQgOiBNb3VzZUV2ZW50SW5pdCB7CiAgICAgbG9uZyAgICAgICAgdGlsdFggPSAwOwogICAgIGxv
bmcgICAgICAgIHRpbHRZID0gMDsKICAgICBsb25nICAgICAgICB0d2lzdCA9IDA7CisgICAgZG91
YmxlICAgICAgYWx0aXR1ZGVBbmdsZSA9IDA7CisgICAgZG91YmxlICAgICAgYXppbXV0aEFuZ2xl
ID0gMDsKICAgICBET01TdHJpbmcgICBwb2ludGVyVHlwZSA9ICIiOwogICAgIGJvb2xlYW4gICAg
IGlzUHJpbWFyeSA9IGZhbHNlOwogICAgIHNlcXVlbmNlPFBvaW50ZXJFdmVudD4gY29hbGVzY2Vk
RXZlbnRzID0gW107CkBAIC0yOSw5ICszMSwxMSBAQCBpbnRlcmZhY2UgUG9pbnRlckV2ZW50IDog
TW91c2VFdmVudCB7CiAgICAgcmVhZG9ubHkgICAgICAgIGF0dHJpYnV0ZSBsb25nICAgICAgICB0
aWx0WDsKICAgICByZWFkb25seSAgICAgICAgYXR0cmlidXRlIGxvbmcgICAgICAgIHRpbHRZOwog
ICAgIHJlYWRvbmx5ICAgICAgICBhdHRyaWJ1dGUgbG9uZyAgICAgICAgdHdpc3Q7CisgICAgcmVh
ZG9ubHkgICAgICAgIGF0dHJpYnV0ZSBkb3VibGUgICAgICBhbHRpdHVkZUFuZ2xlOworICAgIHJl
YWRvbmx5ICAgICAgICBhdHRyaWJ1dGUgZG91YmxlICAgICAgYXppbXV0aEFuZ2xlOwogICAgIHJl
YWRvbmx5ICAgICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nICAgcG9pbnRlclR5cGU7CiAgICAgcmVh
ZG9ubHkgICAgICAgIGF0dHJpYnV0ZSBib29sZWFuICAgICBpc1ByaW1hcnk7Ci0gICAgc2VxdWVu
Y2U8UG9pbnRlckV2ZW50PiBnZXRDb2FsZXNjZWRFdmVudHMoKTsKKyAgICBbU2VjdXJlQ29udGV4
dF0gc2VxdWVuY2U8UG9pbnRlckV2ZW50PiBnZXRDb2FsZXNjZWRFdmVudHMoKTsKICAgICBzZXF1
ZW5jZTxQb2ludGVyRXZlbnQ+IGdldFByZWRpY3RlZEV2ZW50cygpOwogfTsKIApAQCAtNDYsNiAr
NTAsNyBAQCBwYXJ0aWFsIGludGVyZmFjZSBtaXhpbiBHbG9iYWxFdmVudEhhbmRsZXJzIHsKICAg
ICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ubG9zdHBvaW50ZXJjYXB0dXJlOwogICAgIGF0dHJp
YnV0ZSBFdmVudEhhbmRsZXIgb25wb2ludGVyZG93bjsKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5k
bGVyIG9ucG9pbnRlcm1vdmU7CisgICAgW1NlY3VyZUNvbnRleHRdIGF0dHJpYnV0ZSBFdmVudEhh
bmRsZXIgb25wb2ludGVycmF3dXBkYXRlOwogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25w
b2ludGVydXA7CiAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbnBvaW50ZXJjYW5jZWw7CiAg
ICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbnBvaW50ZXJvdmVyOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3JlcG9y
dGluZy5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2lu
dGVyZmFjZXMvcmVwb3J0aW5nLmlkbAppbmRleCBmNTM3MGU4ZjFlNjU2YWNmNzQwOWRiZGE5MDdl
ZTk2NzJkNWU4ZWQxLi5kNDJmMGJhYzU5YzJmYTZkOGY5NDQwMmY3YjZlMWUyOWRlMzc5MTIzIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2lu
dGVyZmFjZXMvcmVwb3J0aW5nLmlkbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcmVwb3J0aW5nLmlkbApAQCAtMzMsMzMgKzMzLDYg
QEAgZGljdGlvbmFyeSBSZXBvcnRpbmdPYnNlcnZlck9wdGlvbnMgewogCiB0eXBlZGVmIHNlcXVl
bmNlPFJlcG9ydD4gUmVwb3J0TGlzdDsKIAotW0V4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpXQotaW50
ZXJmYWNlIERlcHJlY2F0aW9uUmVwb3J0Qm9keSA6IFJlcG9ydEJvZHkgewotICBbRGVmYXVsdF0g
b2JqZWN0IHRvSlNPTigpOwotICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGlkOwotICBy
ZWFkb25seSBhdHRyaWJ1dGUgRGF0ZT8gYW50aWNpcGF0ZWRSZW1vdmFsOwotICByZWFkb25seSBh
dHRyaWJ1dGUgRE9NU3RyaW5nIG1lc3NhZ2U7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJp
bmc/IHNvdXJjZUZpbGU7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nPyBsaW5l
TnVtYmVyOwotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZz8gY29sdW1uTnVtYmVy
OwotfTsKLQotW0V4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpXQotaW50ZXJmYWNlIEludGVydmVudGlv
blJlcG9ydEJvZHkgOiBSZXBvcnRCb2R5IHsKLSAgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsK
LSAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBpZDsKLSAgcmVhZG9ubHkgYXR0cmlidXRl
IERPTVN0cmluZyBtZXNzYWdlOwotICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBzb3Vy
Y2VGaWxlOwotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZz8gbGluZU51bWJlcjsK
LSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmc/IGNvbHVtbk51bWJlcjsKLX07Ci0K
LVtFeHBvc2VkPShXaW5kb3csV29ya2VyKV0KLWludGVyZmFjZSBDcmFzaFJlcG9ydEJvZHkgOiBS
ZXBvcnRCb2R5IHsKLSAgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsKLSAgcmVhZG9ubHkgYXR0
cmlidXRlIERPTVN0cmluZz8gcmVhc29uOwotfTsKLQogZGljdGlvbmFyeSBHZW5lcmF0ZVRlc3RS
ZXBvcnRQYXJhbWV0ZXJzIHsKICAgcmVxdWlyZWQgRE9NU3RyaW5nIG1lc3NhZ2U7CiAgIERPTVN0
cmluZyBncm91cCA9ICJkZWZhdWx0IjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9yZXF1ZXN0aWRsZWNhbGxiYWNrLmlk
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNl
cy9yZXF1ZXN0aWRsZWNhbGxiYWNrLmlkbAppbmRleCBiNDg1ZGMwNzgwNWZlODY0Y2Y3OWFiZDFl
YzExYTdlM2ZmYjY4ZDQxLi5jNzYzYjUwYmRlNzgyYmI0ODQ1NjRiNDllMjUwNjhmZmY4OGY3ODJi
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ludGVyZmFjZXMvcmVxdWVzdGlkbGVjYWxsYmFjay5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3JlcXVlc3RpZGxlY2FsbGJh
Y2suaWRsCkBAIC0xMSw4ICsxMSwxMCBAQCBwYXJ0aWFsIGludGVyZmFjZSBXaW5kb3cgewogZGlj
dGlvbmFyeSBJZGxlUmVxdWVzdE9wdGlvbnMgewogICB1bnNpZ25lZCBsb25nIHRpbWVvdXQ7CiB9
OworCiBbRXhwb3NlZD1XaW5kb3ddIGludGVyZmFjZSBJZGxlRGVhZGxpbmUgewogICBET01IaWdo
UmVzVGltZVN0YW1wIHRpbWVSZW1haW5pbmcoKTsKICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xl
YW4gZGlkVGltZW91dDsKIH07CisKIGNhbGxiYWNrIElkbGVSZXF1ZXN0Q2FsbGJhY2sgPSB2b2lk
IChJZGxlRGVhZGxpbmUgZGVhZGxpbmUpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3Jlc2l6ZS1vYnNlcnZlci5pZGwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMv
cmVzaXplLW9ic2VydmVyLmlkbAppbmRleCBkNTNlOWRhNTVlZTMzZmFlZjA1YWViMTBlNTBiYTMx
ZjI3Y2Y4OGM4Li5mMjBiNzE5ZDExZTc2Y2Y5Mjk5N2E1NjA2MWQwMDkxODk1NDUzZjUyIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVy
ZmFjZXMvcmVzaXplLW9ic2VydmVyLmlkbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcmVzaXplLW9ic2VydmVyLmlkbApAQCAtMTEs
OSArMTEsOSBAQCBkaWN0aW9uYXJ5IFJlc2l6ZU9ic2VydmVyT3B0aW9ucyB7CiAgICAgUmVzaXpl
T2JzZXJ2ZXJCb3hPcHRpb25zIGJveCA9ICJjb250ZW50LWJveCI7CiB9OwogCi1bRXhwb3NlZD0o
V2luZG93KSwKLSBDb25zdHJ1Y3RvcihSZXNpemVPYnNlcnZlckNhbGxiYWNrIGNhbGxiYWNrKV0K
K1tFeHBvc2VkPShXaW5kb3cpXQogaW50ZXJmYWNlIFJlc2l6ZU9ic2VydmVyIHsKKyAgICBjb25z
dHJ1Y3RvcihSZXNpemVPYnNlcnZlckNhbGxiYWNrIGNhbGxiYWNrKTsKICAgICB2b2lkIG9ic2Vy
dmUoRWxlbWVudCB0YXJnZXQsIG9wdGlvbmFsIFJlc2l6ZU9ic2VydmVyT3B0aW9ucyBvcHRpb25z
KTsKICAgICB2b2lkIHVub2JzZXJ2ZShFbGVtZW50IHRhcmdldCk7CiAgICAgdm9pZCBkaXNjb25u
ZWN0KCk7CkBAIC0yNSw5ICsyNSw5IEBAIGNhbGxiYWNrIFJlc2l6ZU9ic2VydmVyQ2FsbGJhY2sg
PSB2b2lkIChzZXF1ZW5jZTxSZXNpemVPYnNlcnZlckVudHJ5PiBlbnRyaWVzLCBSCiBpbnRlcmZh
Y2UgUmVzaXplT2JzZXJ2ZXJFbnRyeSB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEVsZW1lbnQg
dGFyZ2V0OwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01SZWN0UmVhZE9ubHkgY29udGVudFJl
Y3Q7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIHNlcXVlbmNlPFJlc2l6ZU9ic2VydmVyU2l6ZT4g
Ym9yZGVyQm94U2l6ZTsKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgc2VxdWVuY2U8UmVzaXplT2Jz
ZXJ2ZXJTaXplPiBjb250ZW50Qm94U2l6ZTsKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgc2VxdWVu
Y2U8UmVzaXplT2JzZXJ2ZXJTaXplPiBkZXZpY2VQaXhlbENvbnRlbnRCb3hTaXplOworICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBGcm96ZW5BcnJheTxSZXNpemVPYnNlcnZlclNpemU+IGJvcmRlckJv
eFNpemU7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIEZyb3plbkFycmF5PFJlc2l6ZU9ic2VydmVy
U2l6ZT4gY29udGVudEJveFNpemU7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIEZyb3plbkFycmF5
PFJlc2l6ZU9ic2VydmVyU2l6ZT4gZGV2aWNlUGl4ZWxDb250ZW50Qm94U2l6ZTsKIH07CiAKIGlu
dGVyZmFjZSBSZXNpemVPYnNlcnZlclNpemUgewpAQCAtMzUsMTAgKzM1LDkgQEAgaW50ZXJmYWNl
IFJlc2l6ZU9ic2VydmVyU2l6ZSB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVucmVzdHJpY3Rl
ZCBkb3VibGUgYmxvY2tTaXplOwogfTsKIAotW0NvbnN0cnVjdG9yKEVsZW1lbnQgdGFyZ2V0KQot
XQogaW50ZXJmYWNlIFJlc2l6ZU9ic2VydmF0aW9uIHsKKyAgICBjb25zdHJ1Y3RvcihFbGVtZW50
IHRhcmdldCk7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEVsZW1lbnQgdGFyZ2V0OwogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBSZXNpemVPYnNlcnZlckJveE9wdGlvbnMgb2JzZXJ2ZWRCb3g7Ci0g
ICAgcmVhZG9ubHkgYXR0cmlidXRlIHNlcXVlbmNlPFJlc2l6ZU9ic2VydmVyU2l6ZT4gbGFzdFJl
cG9ydGVkU2l6ZXM7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIEZyb3plbkFycmF5PFJlc2l6ZU9i
c2VydmVyU2l6ZT4gbGFzdFJlcG9ydGVkU2l6ZXM7CiB9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3Njcm9sbC1hbmlt
YXRpb25zLmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aW50ZXJmYWNlcy9zY3JvbGwtYW5pbWF0aW9ucy5pZGwKaW5kZXggOGZkNjdhN2FmN2JiZGFhODEy
OWZiMDNjZjM5NWViNmU0MTFkYmNkNC4uMDBkMGJhZTY4MTI2YWE2N2Q2NzE0Njk0NDIyYTA5ODEw
MGViN2U3MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9pbnRlcmZhY2VzL3Njcm9sbC1hbmltYXRpb25zLmlkbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvc2Nyb2xsLWFuaW1h
dGlvbnMuaWRsCkBAIC0xMywyMSArMTMsMTkgQEAgZW51bSBTY3JvbGxEaXJlY3Rpb24gewogZW51
bSBTY3JvbGxUaW1lbGluZUF1dG9LZXl3b3JkIHsgImF1dG8iIH07CiAKIGRpY3Rpb25hcnkgU2Ny
b2xsVGltZWxpbmVPcHRpb25zIHsKLSAgRWxlbWVudD8gc2Nyb2xsU291cmNlID0gbnVsbDsKKyAg
RWxlbWVudD8gc291cmNlID0gbnVsbDsKICAgU2Nyb2xsRGlyZWN0aW9uIG9yaWVudGF0aW9uID0g
ImJsb2NrIjsKLSAgRE9NU3RyaW5nIHN0YXJ0U2Nyb2xsT2Zmc2V0ID0gImF1dG8iOwotICBET01T
dHJpbmcgZW5kU2Nyb2xsT2Zmc2V0ID0gImF1dG8iOworICBET01TdHJpbmcgc3RhcnQgPSAiYXV0
byI7CisgIERPTVN0cmluZyBlbmQgPSAiYXV0byI7CiAgIChkb3VibGUgb3IgU2Nyb2xsVGltZWxp
bmVBdXRvS2V5d29yZCkgdGltZVJhbmdlID0gImF1dG8iOwotICBGaWxsTW9kZSBmaWxsID0gIm5v
bmUiOwogfTsKIAotW0V4cG9zZWQ9V2luZG93LAotIENvbnN0cnVjdG9yKG9wdGlvbmFsIFNjcm9s
bFRpbWVsaW5lT3B0aW9ucyBvcHRpb25zID0ge30pXQorW0V4cG9zZWQ9V2luZG93XQogaW50ZXJm
YWNlIFNjcm9sbFRpbWVsaW5lIDogQW5pbWF0aW9uVGltZWxpbmUgewotICByZWFkb25seSBhdHRy
aWJ1dGUgRWxlbWVudCBzY3JvbGxTb3VyY2U7CisgIGNvbnN0cnVjdG9yKG9wdGlvbmFsIFNjcm9s
bFRpbWVsaW5lT3B0aW9ucyBvcHRpb25zID0ge30pOworICByZWFkb25seSBhdHRyaWJ1dGUgRWxl
bWVudCBzb3VyY2U7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTY3JvbGxEaXJlY3Rpb24gb3JpZW50
YXRpb247Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgc3RhcnRTY3JvbGxPZmZzZXQ7
Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgZW5kU2Nyb2xsT2Zmc2V0OworICByZWFk
b25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHN0YXJ0OworICByZWFkb25seSBhdHRyaWJ1dGUgRE9N
U3RyaW5nIGVuZDsKICAgcmVhZG9ubHkgYXR0cmlidXRlIChkb3VibGUgb3IgU2Nyb2xsVGltZWxp
bmVBdXRvS2V5d29yZCkgdGltZVJhbmdlOwotICByZWFkb25seSBhdHRyaWJ1dGUgRmlsbE1vZGUg
ZmlsbDsKIH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ludGVyZmFjZXMvc2hhcGUtZGV0ZWN0aW9uLWFwaS5pZGwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvc2hhcGUtZGV0ZWN0
aW9uLWFwaS5pZGwKaW5kZXggNTFjOTk2OTU5YmVhMmFjYzFiMmQwYTNjM2JlNDM4YjBjNjE4MmUy
My4uNWIxYzQ1YTc3Mzk4N2ViOGNlOGI1OWZkNWI5OGMyZjBjOWFlNGVhNSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3No
YXBlLWRldGVjdGlvbi1hcGkuaWRsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9zaGFwZS1kZXRlY3Rpb24tYXBpLmlkbApAQCAtMTUs
MTIgKzE1LDkgQEAgZGljdGlvbmFyeSBGYWNlRGV0ZWN0b3JPcHRpb25zIHsKICAgYm9vbGVhbiBm
YXN0TW9kZTsKIH07CiAKLVtFeHBvc2VkPShXaW5kb3csV29ya2VyKSwKLSBTZWN1cmVDb250ZXh0
LAotIFNlcmlhbGl6YWJsZV0KLWludGVyZmFjZSBEZXRlY3RlZEZhY2UgewotICBbU2FtZU9iamVj
dF0gcmVhZG9ubHkgYXR0cmlidXRlIERPTVJlY3RSZWFkT25seSBib3VuZGluZ0JveDsKLSAgW1Nh
bWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBGcm96ZW5BcnJheTxMYW5kbWFyaz4/IGxhbmRt
YXJrczsKK2RpY3Rpb25hcnkgRGV0ZWN0ZWRGYWNlIHsKKyAgcmVxdWlyZWQgRE9NUmVjdFJlYWRP
bmx5IGJvdW5kaW5nQm94OworICByZXF1aXJlZCBGcm96ZW5BcnJheTxMYW5kbWFyaz4/IGxhbmRt
YXJrczsKIH07CiAKIGRpY3Rpb25hcnkgTGFuZG1hcmsgewpAQCAtNDcsMTQgKzQ0LDExIEBAIGRp
Y3Rpb25hcnkgQmFyY29kZURldGVjdG9yT3B0aW9ucyB7CiAgIHNlcXVlbmNlPEJhcmNvZGVGb3Jt
YXQ+IGZvcm1hdHM7CiB9OwogCi1bRXhwb3NlZD0oV2luZG93LFdvcmtlciksCi0gU2VjdXJlQ29u
dGV4dCwKLSBTZXJpYWxpemFibGVdCi1pbnRlcmZhY2UgRGV0ZWN0ZWRCYXJjb2RlIHsKLSAgW1Nh
bWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01SZWN0UmVhZE9ubHkgYm91bmRpbmdCb3g7
Ci0gIFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHJhd1ZhbHVlOwot
ICBbU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIEJhcmNvZGVGb3JtYXQgZm9ybWF0Owot
ICBbU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIEZyb3plbkFycmF5PFBvaW50MkQ+IGNv
cm5lclBvaW50czsKK2RpY3Rpb25hcnkgRGV0ZWN0ZWRCYXJjb2RlIHsKKyAgcmVxdWlyZWQgRE9N
UmVjdFJlYWRPbmx5IGJvdW5kaW5nQm94OworICByZXF1aXJlZCBET01TdHJpbmcgcmF3VmFsdWU7
CisgIHJlcXVpcmVkIEJhcmNvZGVGb3JtYXQgZm9ybWF0OworICByZXF1aXJlZCBGcm96ZW5BcnJh
eTxQb2ludDJEPiBjb3JuZXJQb2ludHM7CiB9OwogCiBlbnVtIEJhcmNvZGVGb3JtYXQgewpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRl
cmZhY2VzL3N0b3JhZ2UtYWNjZXNzLWFwaS50ZW50YXRpdmUuaWRsIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3N0b3JhZ2UtYWNjZXNzLWFw
aS50ZW50YXRpdmUuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE5NGJlMzdlOTE1ZTgyMjIyZTAzYmZkNTc0MWEz
MmIyNGYyM2E0OGEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvc3RvcmFnZS1hY2Nlc3MtYXBpLnRlbnRhdGl2
ZS5pZGwKQEAgLTAsMCArMSw2IEBACisvLyBodHRwczovL2dpdGh1Yi5jb20vd2hhdHdnL2h0bWwv
aXNzdWVzLzMzMzgKKworcGFydGlhbCBpbnRlcmZhY2UgRG9jdW1lbnQgeworICBQcm9taXNlPGJv
b2w+IGhhc1N0b3JhZ2VBY2Nlc3MoKTsKKyAgUHJvbWlzZTx2b2lkPiByZXF1ZXN0U3RvcmFnZUFj
Y2VzcygpOworfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaW50ZXJmYWNlcy90ZXh0LWRldGVjdGlvbi1hcGkudGVudGF0aXZlLmlkbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy90
ZXh0LWRldGVjdGlvbi1hcGkudGVudGF0aXZlLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ODM1YzVmZWU5MTUx
MTYzYjcwMTBmYTY1NjYwNjI2MWZlNjQxMWZjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3RleHQtZGV0ZWN0
aW9uLWFwaS50ZW50YXRpdmUuaWRsCkBAIC0wLDAgKzEsMTggQEAKKy8vIENvbnRlbnQgd2FzIG1h
bnVhbGx5IGNvcGllZCBBcHJpbCAxIDIwMjAKKy8vIFNvdXJjZTogQWNjZWxlcmF0ZWQgVGV4dCBE
ZXRlY3Rpb24gaW4gSW1hZ2VzIChodHRwczovL3dpY2cuZ2l0aHViLmlvL3NoYXBlLWRldGVjdGlv
bi1hcGkvdGV4dC5odG1sKQorLy8gVGhpcyBpcyBjdXJyZW50bHkgYSBzaXN0ZXIgaW5mb3JtYXRp
dmUgc3BlYyBvZiBTaGFwZSBEZXRlY3Rpb24gQVBJLAorLy8gc28gaXQgY291bGQgbm90IGJlIG1l
cmdlZCBpbnRvIC9pbnRlcmZhY2VzL3NoYXBlLWRldGVjdGlvbi1hcGkuaWRsCisKK1sKKyAgICBD
b25zdHJ1Y3RvciwKKyAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyKSwKKyAgICBTZWN1cmVDb250
ZXh0CitdIGludGVyZmFjZSBUZXh0RGV0ZWN0b3IgeworICAgIFByb21pc2U8c2VxdWVuY2U8RGV0
ZWN0ZWRUZXh0Pj4gZGV0ZWN0KEltYWdlQml0bWFwU291cmNlIGltYWdlKTsKK307CisKK2RpY3Rp
b25hcnkgRGV0ZWN0ZWRUZXh0IHsKKyAgcmVxdWlyZWQgRE9NUmVjdFJlYWRPbmx5IGJvdW5kaW5n
Qm94OworICByZXF1aXJlZCBET01TdHJpbmcgcmF3VmFsdWU7CisgIHJlcXVpcmVkIEZyb3plbkFy
cmF5PFBvaW50MkQ+IGNvcm5lclBvaW50czsKK307ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbnRlcmZhY2VzL3RydXN0ZWQtdHlwZXMudGVudGF0aXZlLmlkbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy90cnVzdGVkLXR5cGVzLnRl
bnRhdGl2ZS5pZGwKaW5kZXggYmU1OGI2M2IyYzNkMTBlOGE1M2FjMmFmNzM4OGU5YTQ0ZjhmYTNl
Ni4uZjIzMThkNjg1Njc2MjkxYTVlYzg1YTFhMGMzYzQwOGZhMWE3ZjA3OSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3Ry
dXN0ZWQtdHlwZXMudGVudGF0aXZlLmlkbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvdHJ1c3RlZC10eXBlcy50ZW50YXRpdmUuaWRs
CkBAIC0xLDM3ICsxLDQ2IEBACiAvLyBodHRwczovL2dpdGh1Yi5jb20vd2ljZy90cnVzdGVkLXR5
cGVzCiAKLXR5cGVkZWYgKERPTVN0cmluZyBvciBUcnVzdGVkSFRNTCkgSFRNTFN0cmluZzsKLXR5
cGVkZWYgKERPTVN0cmluZyBvciBUcnVzdGVkU2NyaXB0KSBTY3JpcHRTdHJpbmc7Ci10eXBlZGVm
IChET01TdHJpbmcgb3IgVHJ1c3RlZFNjcmlwdFVSTCkgU2NyaXB0VVJMU3RyaW5nOwotCi1bRXhw
b3NlZD0oV2luZG93LCBXb3JrZXIpXQotaW50ZXJmYWNlIFRydXN0ZWRIVE1MIHsKK3R5cGVkZWYg
W1N0cmluZ0NvbnRleHQ9VHJ1c3RlZEhUTUxdIERPTVN0cmluZyBIVE1MU3RyaW5nOwordHlwZWRl
ZiBbU3RyaW5nQ29udGV4dD1UcnVzdGVkU2NyaXB0XSBET01TdHJpbmcgU2NyaXB0U3RyaW5nOwor
dHlwZWRlZiBbU3RyaW5nQ29udGV4dD1UcnVzdGVkU2NyaXB0VVJMXSBVU1ZTdHJpbmcgU2NyaXB0
VVJMU3RyaW5nOworCitbCisgIEV4cG9zZWQ9KFdpbmRvdywgV29ya2VyKSwKKyAgU2VjdXJlQ29u
dGV4dAorXSBpbnRlcmZhY2UgVHJ1c3RlZEhUTUwgewogICAgIHN0cmluZ2lmaWVyOwogfTsKIAot
W0V4cG9zZWQ9KFdpbmRvdywgV29ya2VyKV0KLWludGVyZmFjZSBUcnVzdGVkU2NyaXB0IHsKK1sK
KyAgRXhwb3NlZD0oV2luZG93LCBXb3JrZXIpLAorICBTZWN1cmVDb250ZXh0CitdIGludGVyZmFj
ZSBUcnVzdGVkU2NyaXB0IHsKICAgICBzdHJpbmdpZmllcjsKIH07CiAKLVtFeHBvc2VkPShXaW5k
b3csIFdvcmtlcildCi1pbnRlcmZhY2UgVHJ1c3RlZFNjcmlwdFVSTCB7CitbCisgIEV4cG9zZWQ9
KFdpbmRvdywgV29ya2VyKSwKKyAgU2VjdXJlQ29udGV4dAorXSBpbnRlcmZhY2UgVHJ1c3RlZFNj
cmlwdFVSTCB7CiAgICAgc3RyaW5naWZpZXI7CiB9OwogCi1bRXhwb3NlZD0oV2luZG93LCBXb3Jr
ZXIpXQotaW50ZXJmYWNlIFRydXN0ZWRUeXBlUG9saWN5RmFjdG9yeSB7Ci0gICAgW1VuZm9yZ2Vh
YmxlXSBUcnVzdGVkVHlwZVBvbGljeSBjcmVhdGVQb2xpY3koRE9NU3RyaW5nIHBvbGljeU5hbWUs
IFRydXN0ZWRUeXBlUG9saWN5T3B0aW9ucyBwb2xpY3lPcHRpb25zKTsKK1sKKyAgRXhwb3NlZD0o
V2luZG93LCBXb3JrZXIpLAorICBTZWN1cmVDb250ZXh0CitdIGludGVyZmFjZSBUcnVzdGVkVHlw
ZVBvbGljeUZhY3RvcnkgeworICAgIFRydXN0ZWRUeXBlUG9saWN5IGNyZWF0ZVBvbGljeShET01T
dHJpbmcgcG9saWN5TmFtZSwgb3B0aW9uYWwgVHJ1c3RlZFR5cGVQb2xpY3lPcHRpb25zIHBvbGlj
eU9wdGlvbnMgPSB7fSk7CiAgICAgLy8gQWxsIHRoZSBwb2xpY3kgb2JqZWN0IG5hbWVzIHRoYXQg
aGF2ZSBiZWVuIGNyZWF0ZWQKLSAgICBbVW5mb3JnZWFibGVdIHNlcXVlbmNlPERPTVN0cmluZz4g
Z2V0UG9saWN5TmFtZXMoKTsKIH07CiAKLVtFeHBvc2VkPShXaW5kb3csIFdvcmtlcildCi1pbnRl
cmZhY2UgVHJ1c3RlZFR5cGVQb2xpY3kgewotICAgIFtVbmZvcmdlYWJsZV0gcmVhZG9ubHkgYXR0
cmlidXRlIERPTVN0cmluZyBuYW1lOwotICAgIFtVbmZvcmdlYWJsZV0gVHJ1c3RlZEhUTUwgY3Jl
YXRlSFRNTChET01TdHJpbmcgaW5wdXQpOwotICAgIFtVbmZvcmdlYWJsZV0gVHJ1c3RlZFNjcmlw
dCBjcmVhdGVTY3JpcHQoRE9NU3RyaW5nIGlucHV0KTsKLSAgICBbVW5mb3JnZWFibGVdIFRydXN0
ZWRTY3JpcHRVUkwgY3JlYXRlU2NyaXB0VVJMKERPTVN0cmluZyBpbnB1dCk7CitbCisgIEV4cG9z
ZWQ9KFdpbmRvdywgV29ya2VyKSwKKyAgU2VjdXJlQ29udGV4dAorXSBpbnRlcmZhY2UgVHJ1c3Rl
ZFR5cGVQb2xpY3kgeworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKKyAg
ICBUcnVzdGVkSFRNTCBjcmVhdGVIVE1MKERPTVN0cmluZyBpbnB1dCk7CisgICAgVHJ1c3RlZFNj
cmlwdCBjcmVhdGVTY3JpcHQoRE9NU3RyaW5nIGlucHV0KTsKKyAgICBUcnVzdGVkU2NyaXB0VVJM
IGNyZWF0ZVNjcmlwdFVSTChVU1ZTdHJpbmcgaW5wdXQpOwogfTsKIAogZGljdGlvbmFyeSBUcnVz
dGVkVHlwZVBvbGljeU9wdGlvbnMgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3ZpZGVvLXJ2ZmMuaWRsIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3ZpZGVvLXJ2
ZmMuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmE4NmUyYjM2NGRmMGRhMDMyNmZmMTE1NDEyOGE5MTk4ZTdiMjNl
ODkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ludGVyZmFjZXMvdmlkZW8tcnZmYy5pZGwKQEAgLTAsMCArMSwyNyBAQAorLy8g
R0VORVJBVEVEIENPTlRFTlQgLSBETyBOT1QgRURJVAorLy8gQ29udGVudCB3YXMgYXV0b21hdGlj
YWxseSBleHRyYWN0ZWQgYnkgUmVmZnkgaW50byByZWZmeS1yZXBvcnRzCisvLyAoaHR0cHM6Ly9n
aXRodWIuY29tL3RpZG91c3QvcmVmZnktcmVwb3J0cykKKy8vIFNvdXJjZTogSFRNTFZpZGVvRWxl
bWVudC5yZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrKCkgKGh0dHBzOi8vd2ljZy5naXRodWIuaW8v
dmlkZW8tcnZmYy8pCisKK2RpY3Rpb25hcnkgVmlkZW9GcmFtZU1ldGFkYXRhIHsKKyAgcmVxdWly
ZWQgRE9NSGlnaFJlc1RpbWVTdGFtcCBwcmVzZW50YXRpb25UaW1lOworICByZXF1aXJlZCBET01I
aWdoUmVzVGltZVN0YW1wIGV4cGVjdGVkRGlzcGxheVRpbWU7CisKKyAgcmVxdWlyZWQgdW5zaWdu
ZWQgbG9uZyB3aWR0aDsKKyAgcmVxdWlyZWQgdW5zaWduZWQgbG9uZyBoZWlnaHQ7CisgIHJlcXVp
cmVkIGRvdWJsZSBtZWRpYVRpbWU7CisKKyAgcmVxdWlyZWQgdW5zaWduZWQgbG9uZyBwcmVzZW50
ZWRGcmFtZXM7CisgIGRvdWJsZSBwcm9jZXNzaW5nRHVyYXRpb247CisKKyAgRE9NSGlnaFJlc1Rp
bWVTdGFtcCBjYXB0dXJlVGltZTsKKyAgRE9NSGlnaFJlc1RpbWVTdGFtcCByZWNlaXZlVGltZTsK
KyAgdW5zaWduZWQgbG9uZyBydHBUaW1lc3RhbXA7Cit9OworCitjYWxsYmFjayBWaWRlb0ZyYW1l
UmVxdWVzdENhbGxiYWNrID0gdm9pZChET01IaWdoUmVzVGltZVN0YW1wIG5vdywgVmlkZW9GcmFt
ZU1ldGFkYXRhIG1ldGFkYXRhKTsKKworcGFydGlhbCBpbnRlcmZhY2UgSFRNTFZpZGVvRWxlbWVu
dCB7CisgICAgdW5zaWduZWQgbG9uZyByZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrKFZpZGVvRnJh
bWVSZXF1ZXN0Q2FsbGJhY2sgY2FsbGJhY2spOworICAgIHZvaWQgY2FuY2VsVmlkZW9GcmFtZUNh
bGxiYWNrKHVuc2lnbmVkIGxvbmcgaGFuZGxlKTsKK307CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvdmlzdWFsLXZpZXdw
b3J0LmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50
ZXJmYWNlcy92aXN1YWwtdmlld3BvcnQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVlNGI1NDEzNjk0MGQ0MzQx
ZDk3ZTczMzgzMTQ0ZTNiNzk0NzdiN2UKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvdmlzdWFsLXZpZXdwb3J0
LmlkbApAQCAtMCwwICsxLDI1IEBACisvLyBHRU5FUkFURUQgQ09OVEVOVCAtIERPIE5PVCBFRElU
CisvLyBDb250ZW50IHdhcyBhdXRvbWF0aWNhbGx5IGV4dHJhY3RlZCBieSBSZWZmeSBpbnRvIHJl
ZmZ5LXJlcG9ydHMKKy8vIChodHRwczovL2dpdGh1Yi5jb20vdGlkb3VzdC9yZWZmeS1yZXBvcnRz
KQorLy8gU291cmNlOiBWaXN1YWwgVmlld3BvcnQgQVBJIChodHRwczovL3dpY2cuZ2l0aHViLmlv
L3Zpc3VhbC12aWV3cG9ydC8pCisKK3BhcnRpYWwgaW50ZXJmYWNlIFdpbmRvdyB7CisgIFtTYW1l
T2JqZWN0LCBSZXBsYWNlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIFZpc3VhbFZpZXdwb3J0IHZp
c3VhbFZpZXdwb3J0OworfTsKKworW0V4cG9zZWQ9V2luZG93XQoraW50ZXJmYWNlIFZpc3VhbFZp
ZXdwb3J0IDogRXZlbnRUYXJnZXQgeworICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIG9mZnNl
dExlZnQ7CisgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgb2Zmc2V0VG9wOworCisgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBkb3VibGUgcGFnZUxlZnQ7CisgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3Vi
bGUgcGFnZVRvcDsKKworICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIHdpZHRoOworICByZWFk
b25seSBhdHRyaWJ1dGUgZG91YmxlIGhlaWdodDsKKworICByZWFkb25seSBhdHRyaWJ1dGUgZG91
YmxlIHNjYWxlOworCisgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25yZXNpemU7CisgIGF0dHJp
YnV0ZSBFdmVudEhhbmRsZXIgb25zY3JvbGw7Cit9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3czYy1pbXBvcnQubG9n
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2Vz
L3czYy1pbXBvcnQubG9nCmluZGV4IDBmZjc1N2RjNGVmOWM5ZDcxOGQzYjQzNTMzMTU0ZDk3Y2Ew
Y2Y4NmEuLjJiZTZiMWJmMDNkYmVjODNmMjA3ODgxOGNmYWJhMmFiMzVlYmVjY2UgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNl
cy93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ludGVyZmFjZXMvdzNjLWltcG9ydC5sb2cKQEAgLTMyLDExICszMiwxMyBAQCBM
aXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaW50ZXJmYWNlcy9hcHBtYW5pZmVzdC5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvYXVkaW8tb3V0cHV0LmlkbAogL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9iYWNrZ3JvdW5k
LWZldGNoLmlkbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aW50ZXJmYWNlcy9iYWRnaW5nLmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9iYXR0ZXJ5LXN0YXR1cy5pZGwKIC9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvYmVhY29uLmlkbAogL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9jbGlw
Ym9hcmQtYXBpcy5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ludGVyZmFjZXMvY29tcGF0LmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9jb25zb2xlLmlkbAorL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9jb25zdHJ1Y3Qtc3R5bGVzaGVl
dHMuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRl
cmZhY2VzL2Nvb2tpZS1zdG9yZS5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvY29ycy1yZmMxOTE4LmlkbAogL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9jcmVkZW50aWFsLW1hbmFn
ZW1lbnQuaWRsCkBAIC01NCwxMiArNTYsMTIgQEAgTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvY3NzLXBhaW50LWFw
aS5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVy
ZmFjZXMvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvY3NzLXBzZXVkby5pZGwKLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvY3NzLXJl
Z2lvbnMuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bnRlcmZhY2VzL2Nzcy1zaGFkb3ctcGFydHMuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2Nzcy10cmFuc2l0aW9ucy5pZGwKIC9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvY3NzLXR5
cGVkLW9tLmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aW50ZXJmYWNlcy9jc3NvbS12aWV3LmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9jc3NvbS5pZGwKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvZGV2aWNlLW1lbW9yeS5pZGwKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvZG9t
LmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJm
YWNlcy9lbGVtZW50LXRpbWluZy5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvZW5jb2RpbmcuaWRsCkBAIC03NiwxMiArNzgsMTQgQEAg
TGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ludGVyZmFjZXMvZ2VvbG9jYXRpb24tc2Vuc29yLmlkbAogL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9nZW9tZXRyeS5pZGwKIC9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvZ3lyb3Nj
b3BlLmlkbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50
ZXJmYWNlcy9oaXQtdGVzdC5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ludGVyZmFjZXMvaHItdGltZS5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvaHRtbC1tZWRpYS1jYXB0dXJlLmlkbAog
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9o
dG1sLmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50
ZXJmYWNlcy9pbWFnZS1jYXB0dXJlLmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9pbnB1dC1ldmVudHMuaWRsCiAvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2ludGVyc2VjdGlvbi1v
YnNlcnZlci5pZGwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ludGVyZmFjZXMvanMtc2VsZi1wcm9maWxpbmcuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2tleWJvYXJkLWxvY2suaWRsCiAvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2tleWJv
YXJkLW1hcC5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ludGVyZmFjZXMvbGFyZ2VzdC1jb250ZW50ZnVsLXBhaW50LmlkbApAQCAtOTcsMTcgKzEwMSwy
MyBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaW50ZXJmYWNlcy9tZWRpYXNlc3Npb24uaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL21lZGlhc3RyZWFtLXJlY29yZGlu
Zy5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVy
ZmFjZXMvbXN0LWNvbnRlbnQtaGludC5pZGwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvbmF0aXZlLWZpbGUtc3lzdGVtLmlkbAogL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9uYXZpZ2F0
aW9uLXRpbWluZy5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ludGVyZmFjZXMvbmV0aW5mby5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvbm90aWZpY2F0aW9ucy5pZGwKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvb3JpZW50YXRpb24t
ZXZlbnQuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bnRlcmZhY2VzL29yaWVudGF0aW9uLXNlbnNvci5pZGwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvb3JpZ2luLXBvbGljeS5pZGwKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcGFnZS1s
aWZlY3ljbGUuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbnRlcmZhY2VzL3BhZ2UtdmlzaWJpbGl0eS5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcGFpbnQtdGltaW5nLmlkbAogL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9wYXltZW50
LWhhbmRsZXIuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbnRlcmZhY2VzL3BheW1lbnQtbWV0aG9kLWJhc2ljLWNhcmQuaWRsCiAvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3BheW1lbnQtcmVxdWVz
dC5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVy
ZmFjZXMvcGVyZm9ybWFuY2UtdGltZWxpbmUuaWRsCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3BlcmlvZGljLWJhY2tncm91bmQtc3luYy5p
ZGwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFj
ZXMvcGVybWlzc2lvbnMtcmVxdWVzdC5pZGwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcGVybWlzc2lvbnMtcmV2b2tlLmlkbAogL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9wZXJtaXNz
aW9ucy5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2lu
dGVyZmFjZXMvcGljdHVyZS1pbi1waWN0dXJlLmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9wb2ludGVyZXZlbnRzLmlkbApAQCAtMTMw
LDE5ICsxNDAsMjQgQEAgTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvc2VydmljZS13b3JrZXJzLmlkbAogL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9zaGFwZS1k
ZXRlY3Rpb24tYXBpLmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaW50ZXJmYWNlcy9zcGVlY2gtYXBpLmlkbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9zdG9yYWdlLWFjY2Vzcy1hcGkudGVudGF0
aXZlLmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50
ZXJmYWNlcy9zdG9yYWdlLmlkbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaW50ZXJmYWNlcy90ZXh0LWRldGVjdGlvbi1hcGkudGVudGF0aXZlLmlkbAogL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy90b3Vj
aC1ldmVudHMuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbnRlcmZhY2VzL3RydXN0ZWQtdHlwZXMudGVudGF0aXZlLmlkbAogL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy91aWV2ZW50cy5pZGwKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvdXJs
LmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJm
YWNlcy91c2VyLXRpbWluZy5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ludGVyZmFjZXMvdmlicmF0aW9uLmlkbAorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy92aWRlby1ydmZjLmlkbAorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy92aXN1YWwt
dmlld3BvcnQuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbnRlcmZhY2VzL3dhaS1hcmlhLmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93YWtlLWxvY2suaWRsCiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dhc20tanMtYXBpLmlkbAog
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93
YXNtLXdlYi1hcGkuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9pbnRlcmZhY2VzL3dlYi1hbmltYXRpb25zLmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWItYmx1ZXRvb3RoLmlkbAorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWIt
bG9ja3MuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bnRlcmZhY2VzL3dlYi1uZmMuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYi1zaGFyZS5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2ViYXVkaW8uaWRsCkBAIC0xNTEs
OSArMTY2LDkgQEAgTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2ViZ2wxLmlkbAogL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWJnbDIuaWRsCiAvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYm1pZGku
aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZh
Y2VzL3dlYnJ0Yy1kc2NwLmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaW50ZXJmYWNlcy93ZWJydGMtaWRlbnRpdHkuaWRsCiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYnJ0Yy1zdGF0cy5pZGwK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMv
d2VicnRjLXN2Yy5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ludGVyZmFjZXMvd2VicnRjLmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWJ1c2IuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYnZ0dC5pZGwKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNl
cy93YWktYXJpYS5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ludGVyZmFjZXMvd2FpLWFyaWEuaWRsCmluZGV4IGM0ZmJmMTE0MDljZjE0MmQ4Mjk1MDM4
ZDI1NmY1YTY4NmQ4NjBhNTUuLmNmODE2OGE2OTMxNzMxNTEyMGVmNGJjZGRhZmE0NGVlMzMwY2Q0
NzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaW50ZXJmYWNlcy93YWktYXJpYS5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dhaS1hcmlhLmlkbApAQCAtMSw3ICsxLDcg
QEAKIC8vIEdFTkVSQVRFRCBDT05URU5UIC0gRE8gTk9UIEVESVQKIC8vIENvbnRlbnQgd2FzIGF1
dG9tYXRpY2FsbHkgZXh0cmFjdGVkIGJ5IFJlZmZ5IGludG8gcmVmZnktcmVwb3J0cwogLy8gKGh0
dHBzOi8vZ2l0aHViLmNvbS90aWRvdXN0L3JlZmZ5LXJlcG9ydHMpCi0vLyBTb3VyY2U6IEFjY2Vz
c2libGUgUmljaCBJbnRlcm5ldCBBcHBsaWNhdGlvbnMgKFdBSS1BUklBKSAxLjIgKGh0dHBzOi8v
cmF3Z2l0LmNvbS93M2MvYXJpYS9tYXN0ZXIvKQorLy8gU291cmNlOiBBY2Nlc3NpYmxlIFJpY2gg
SW50ZXJuZXQgQXBwbGljYXRpb25zIChXQUktQVJJQSkgMS4yIChodHRwczovL3czYy5naXRodWIu
aW8vYXJpYS8pCiAKIGludGVyZmFjZSBtaXhpbiBBY2Nlc3NpYmlsaXR5Um9sZSB7CiAgIGF0dHJp
YnV0ZSBET01TdHJpbmc/IHJvbGU7CkBAIC05LDcgKzksNyBAQCBpbnRlcmZhY2UgbWl4aW4gQWNj
ZXNzaWJpbGl0eVJvbGUgewogRWxlbWVudCBpbmNsdWRlcyBBY2Nlc3NpYmlsaXR5Um9sZTsKIAog
aW50ZXJmYWNlIG1peGluIEFyaWFBdHRyaWJ1dGVzIHsKLSAgYXR0cmlidXRlIEVsZW1lbnQ/IGFy
aWFBY3RpdmVEZXNjZW5kYW50RWxlbWVudDsKKwogICBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBhcmlh
QXRvbWljOwogICBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBhcmlhQXV0b0NvbXBsZXRlOwogICBhdHRy
aWJ1dGUgRE9NU3RyaW5nPyBhcmlhQnVzeTsKQEAgLTE4LDI3ICsxOCwyOCBAQCBpbnRlcmZhY2Ug
bWl4aW4gQXJpYUF0dHJpYnV0ZXMgewogICBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBhcmlhQ29sSW5k
ZXg7CiAgIGF0dHJpYnV0ZSBET01TdHJpbmc/IGFyaWFDb2xJbmRleFRleHQ7CiAgIGF0dHJpYnV0
ZSBET01TdHJpbmc/IGFyaWFDb2xTcGFuOwotICBhdHRyaWJ1dGUgRnJvemVuQXJyYXk8RWxlbWVu
dD4/IGFyaWFDb250cm9sc0VsZW1lbnRzOworCiAgIGF0dHJpYnV0ZSBET01TdHJpbmc/IGFyaWFD
dXJyZW50OwotICBhdHRyaWJ1dGUgRnJvemVuQXJyYXk8RWxlbWVudD4/IGFyaWFEZXNjcmliZWRC
eUVsZW1lbnRzOwotICBhdHRyaWJ1dGUgRWxlbWVudD8gYXJpYURldGFpbHNFbGVtZW50OworCisg
IGF0dHJpYnV0ZSBET01TdHJpbmc/IGFyaWFEZXNjcmlwdGlvbjsKKwogICBhdHRyaWJ1dGUgRE9N
U3RyaW5nPyBhcmlhRGlzYWJsZWQ7Ci0gIGF0dHJpYnV0ZSBFbGVtZW50PyBhcmlhRXJyb3JNZXNz
YWdlRWxlbWVudDsKKwogICBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBhcmlhRXhwYW5kZWQ7Ci0gIGF0
dHJpYnV0ZSBGcm96ZW5BcnJheTxFbGVtZW50Pj8gYXJpYUZsb3dUb0VsZW1lbnRzOworCiAgIGF0
dHJpYnV0ZSBET01TdHJpbmc/IGFyaWFIYXNQb3B1cDsKICAgYXR0cmlidXRlIERPTVN0cmluZz8g
YXJpYUhpZGRlbjsKICAgYXR0cmlidXRlIERPTVN0cmluZz8gYXJpYUludmFsaWQ7CiAgIGF0dHJp
YnV0ZSBET01TdHJpbmc/IGFyaWFLZXlTaG9ydGN1dHM7CiAgIGF0dHJpYnV0ZSBET01TdHJpbmc/
IGFyaWFMYWJlbDsKLSAgYXR0cmlidXRlIEZyb3plbkFycmF5PEVsZW1lbnQ+PyBhcmlhTGFiZWxs
ZWRCeUVsZW1lbnRzOworCiAgIGF0dHJpYnV0ZSBET01TdHJpbmc/IGFyaWFMZXZlbDsKICAgYXR0
cmlidXRlIERPTVN0cmluZz8gYXJpYUxpdmU7CiAgIGF0dHJpYnV0ZSBET01TdHJpbmc/IGFyaWFN
b2RhbDsKICAgYXR0cmlidXRlIERPTVN0cmluZz8gYXJpYU11bHRpTGluZTsKICAgYXR0cmlidXRl
IERPTVN0cmluZz8gYXJpYU11bHRpU2VsZWN0YWJsZTsKICAgYXR0cmlidXRlIERPTVN0cmluZz8g
YXJpYU9yaWVudGF0aW9uOwotICBhdHRyaWJ1dGUgRnJvemVuQXJyYXk8RWxlbWVudD4/IGFyaWFP
d25zRWxlbWVudHM7CisKICAgYXR0cmlidXRlIERPTVN0cmluZz8gYXJpYVBsYWNlaG9sZGVyOwog
ICBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBhcmlhUG9zSW5TZXQ7CiAgIGF0dHJpYnV0ZSBET01TdHJp
bmc/IGFyaWFQcmVzc2VkOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dha2UtbG9jay5pZGwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2FrZS1sb2NrLmlkbApp
bmRleCA4NWQxODYzZmE2ZjZkMTQyMmUwMGI0MzBlZDJiMDRlMzYxOWExOWVjLi4xZWIzMGEwNjAy
NDcxM2U1YWFiNDM1NjEwYThmYzYyODQxZGI4YTUwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2FrZS1sb2NrLmlkbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFj
ZXMvd2FrZS1sb2NrLmlkbApAQCAtMSwzMiArMSwyMyBAQAogLy8gR0VORVJBVEVEIENPTlRFTlQg
LSBETyBOT1QgRURJVAogLy8gQ29udGVudCB3YXMgYXV0b21hdGljYWxseSBleHRyYWN0ZWQgYnkg
UmVmZnkgaW50byByZWZmeS1yZXBvcnRzCiAvLyAoaHR0cHM6Ly9naXRodWIuY29tL3RpZG91c3Qv
cmVmZnktcmVwb3J0cykKLS8vIFNvdXJjZTogV2FrZSBMb2NrIEFQSSAoaHR0cHM6Ly93M2MuZ2l0
aHViLmlvL3dha2UtbG9jay8pCi0KLWRpY3Rpb25hcnkgV2FrZUxvY2tQZXJtaXNzaW9uRGVzY3Jp
cHRvciA6IFBlcm1pc3Npb25EZXNjcmlwdG9yIHsKLSAgcmVxdWlyZWQgV2FrZUxvY2tUeXBlIHR5
cGU7Ci19OwotCi1lbnVtIFdha2VMb2NrVHlwZSB7ICJzY3JlZW4iLCAic3lzdGVtIiB9OworLy8g
U291cmNlOiBTY3JlZW4gV2FrZSBMb2NrIEFQSSAoaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3NjcmVl
bi13YWtlLWxvY2svKQogCiBbU2VjdXJlQ29udGV4dF0KIHBhcnRpYWwgaW50ZXJmYWNlIE5hdmln
YXRvciB7CiAgIFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgV2FrZUxvY2sgd2FrZUxv
Y2s7CiB9OwogCi1bU2VjdXJlQ29udGV4dF0KLXBhcnRpYWwgaW50ZXJmYWNlIFdvcmtlck5hdmln
YXRvciB7Ci0gIFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgV2FrZUxvY2sgd2FrZUxv
Y2s7Ci19OwotCi1bU2VjdXJlQ29udGV4dCwgRXhwb3NlZD0oRGVkaWNhdGVkV29ya2VyLCBXaW5k
b3cpXQorW1NlY3VyZUNvbnRleHQsIEV4cG9zZWQ9KFdpbmRvdyldCiBpbnRlcmZhY2UgV2FrZUxv
Y2sgewogICBQcm9taXNlPFdha2VMb2NrU2VudGluZWw+IHJlcXVlc3QoV2FrZUxvY2tUeXBlIHR5
cGUpOwogfTsKIAotW1NlY3VyZUNvbnRleHQsIEV4cG9zZWQ9KERlZGljYXRlZFdvcmtlciwgV2lu
ZG93KV0KK1tTZWN1cmVDb250ZXh0LCBFeHBvc2VkPShXaW5kb3cpXQogaW50ZXJmYWNlIFdha2VM
b2NrU2VudGluZWwgOiBFdmVudFRhcmdldCB7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBXYWtlTG9j
a1R5cGUgdHlwZTsKICAgUHJvbWlzZTx2b2lkPiByZWxlYXNlKCk7CiAgIGF0dHJpYnV0ZSBFdmVu
dEhhbmRsZXIgb25yZWxlYXNlOwogfTsKKworZW51bSBXYWtlTG9ja1R5cGUgeyAic2NyZWVuIiB9
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbnRlcmZhY2VzL3dlYi1hbmltYXRpb25zLmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWItYW5pbWF0aW9ucy5pZGwKaW5kZXgg
MGQ1ZDQwYmE3NGY0MGVkNjhjMTlhODIxODcxMDIwNGIyNzY3YWUxMi4uYWU2NGJiODY3ZWIyM2Q2
YzQ5MWQzZTlmZWU3NDNjN2NmODk2MzIzNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYi1hbmltYXRpb25zLmlkbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFj
ZXMvd2ViLWFuaW1hdGlvbnMuaWRsCkBAIC02LDYgKzYsNyBAQAogW0V4cG9zZWQ9V2luZG93XQog
aW50ZXJmYWNlIEFuaW1hdGlvblRpbWVsaW5lIHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91
YmxlPyBjdXJyZW50VGltZTsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgVGltZWxpbmVQaGFzZSBw
aGFzZTsKIH07CiAKIGRpY3Rpb25hcnkgRG9jdW1lbnRUaW1lbGluZU9wdGlvbnMgewpAQCAtNDks
NiArNTAsOCBAQCBlbnVtIEFuaW1hdGlvblBsYXlTdGF0ZSB7ICJpZGxlIiwgInJ1bm5pbmciLCAi
cGF1c2VkIiwgImZpbmlzaGVkIiB9OwogCiBlbnVtIEFuaW1hdGlvblJlcGxhY2VTdGF0ZSB7ICJh
Y3RpdmUiLCAicmVtb3ZlZCIsICJwZXJzaXN0ZWQiIH07CiAKK2VudW0gVGltZWxpbmVQaGFzZSB7
ICJpbmFjdGl2ZSIsICJiZWZvcmUiLCAiYWN0aXZlIiwgImFmdGVyIiB9OworCiBbRXhwb3NlZD1X
aW5kb3ddCiBpbnRlcmZhY2UgQW5pbWF0aW9uRWZmZWN0IHsKICAgICBFZmZlY3RUaW1pbmcgICAg
ICAgICBnZXRUaW1pbmcoKTsKQEAgLTk2LDkgKzk5LDkgQEAgaW50ZXJmYWNlIEtleWZyYW1lRWZm
ZWN0IDogQW5pbWF0aW9uRWZmZWN0IHsKICAgICAgICAgICAgICAgICBvYmplY3Q/IGtleWZyYW1l
cywKICAgICAgICAgICAgICAgICBvcHRpb25hbCAodW5yZXN0cmljdGVkIGRvdWJsZSBvciBLZXlm
cmFtZUVmZmVjdE9wdGlvbnMpIG9wdGlvbnMgPSB7fSk7CiAgICAgY29uc3RydWN0b3IoS2V5ZnJh
bWVFZmZlY3Qgc291cmNlKTsKLSAgICBhdHRyaWJ1dGUgRWxlbWVudD8gdGFyZ2V0OwotICAgIGF0
dHJpYnV0ZSBDU1NPTVN0cmluZz8gcHNldWRvRWxlbWVudDsKLSAgICBhdHRyaWJ1dGUgQ29tcG9z
aXRlT3BlcmF0aW9uICAgICAgICAgICAgIGNvbXBvc2l0ZTsKKyAgICBhdHRyaWJ1dGUgRWxlbWVu
dD8gICAgICAgICAgIHRhcmdldDsKKyAgICBhdHRyaWJ1dGUgQ1NTT01TdHJpbmc/ICAgICAgIHBz
ZXVkb0VsZW1lbnQ7CisgICAgYXR0cmlidXRlIENvbXBvc2l0ZU9wZXJhdGlvbiBjb21wb3NpdGU7
CiAgICAgc2VxdWVuY2U8b2JqZWN0PiBnZXRLZXlmcmFtZXMoKTsKICAgICB2b2lkICAgICAgICAg
ICAgIHNldEtleWZyYW1lcyhvYmplY3Q/IGtleWZyYW1lcyk7CiB9OwpAQCAtMTM5LDYgKzE0Miw3
IEBAIGludGVyZmFjZSBtaXhpbiBBbmltYXRhYmxlIHsKIAogZGljdGlvbmFyeSBLZXlmcmFtZUFu
aW1hdGlvbk9wdGlvbnMgOiBLZXlmcmFtZUVmZmVjdE9wdGlvbnMgewogICAgIERPTVN0cmluZyBp
ZCA9ICIiOworICAgIEFuaW1hdGlvblRpbWVsaW5lPyB0aW1lbGluZTsKIH07CiAKIGRpY3Rpb25h
cnkgR2V0QW5pbWF0aW9uc09wdGlvbnMgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYi1ibHVldG9vdGguaWRsIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dl
Yi1ibHVldG9vdGguaWRsCmluZGV4IGVjN2E4ZTcxY2EwOWM3NjQ4ODAxZTZmMmJiOTFjNzExYzg1
N2ZlMzQuLjczMzcxZTI2OTk2NTY4ZTkwNTE5OTBmYmI2N2YxZTA4ZGVhZWQ1ZWIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNl
cy93ZWItYmx1ZXRvb3RoLmlkbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2ViLWJsdWV0b290aC5pZGwKQEAgLTcsNiArNyw3IEBA
IGRpY3Rpb25hcnkgQmx1ZXRvb3RoRGF0YUZpbHRlckluaXQgewogICBCdWZmZXJTb3VyY2UgZGF0
YVByZWZpeDsKICAgQnVmZmVyU291cmNlIG1hc2s7CiB9OworCiBkaWN0aW9uYXJ5IEJsdWV0b290
aExFU2NhbkZpbHRlckluaXQgewogICBzZXF1ZW5jZTxCbHVldG9vdGhTZXJ2aWNlVVVJRD4gc2Vy
dmljZXM7CiAgIERPTVN0cmluZyBuYW1lOwpAQCAtMjksOCArMzAsMTAgQEAgaW50ZXJmYWNlIEJs
dWV0b290aCA6IEV2ZW50VGFyZ2V0IHsKICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmF2YWls
YWJpbGl0eWNoYW5nZWQ7CiAgIFtTYW1lT2JqZWN0XQogICByZWFkb25seSBhdHRyaWJ1dGUgQmx1
ZXRvb3RoRGV2aWNlPyByZWZlcnJpbmdEZXZpY2U7CisgIFByb21pc2U8c2VxdWVuY2U8Qmx1ZXRv
b3RoRGV2aWNlPj4gZ2V0RGV2aWNlcygpOwogICBQcm9taXNlPEJsdWV0b290aERldmljZT4gcmVx
dWVzdERldmljZShvcHRpb25hbCBSZXF1ZXN0RGV2aWNlT3B0aW9ucyBvcHRpb25zID0ge30pOwog
fTsKKwogQmx1ZXRvb3RoIGluY2x1ZGVzIEJsdWV0b290aERldmljZUV2ZW50SGFuZGxlcnM7CiBC
bHVldG9vdGggaW5jbHVkZXMgQ2hhcmFjdGVyaXN0aWNFdmVudEhhbmRsZXJzOwogQmx1ZXRvb3Ro
IGluY2x1ZGVzIFNlcnZpY2VFdmVudEhhbmRsZXJzOwpAQCAtNDksNyArNTIsNyBAQCBkaWN0aW9u
YXJ5IEFsbG93ZWRCbHVldG9vdGhEZXZpY2UgewogICAvLyBBbiBhbGxvd2VkU2VydmljZXMgb2Yg
ImFsbCIgbWVhbnMgYWxsIHNlcnZpY2VzIGFyZSBhbGxvd2VkLgogICByZXF1aXJlZCAoRE9NU3Ry
aW5nIG9yIHNlcXVlbmNlPFVVSUQ+KSBhbGxvd2VkU2VydmljZXM7CiB9OwotZGljdGlvbmFyeSBC
bHVldG9vdGhQZXJtaXNzaW9uRGF0YSB7CitkaWN0aW9uYXJ5IEJsdWV0b290aFBlcm1pc3Npb25T
dG9yYWdlIHsKICAgcmVxdWlyZWQgc2VxdWVuY2U8QWxsb3dlZEJsdWV0b290aERldmljZT4gYWxs
b3dlZERldmljZXM7CiB9OwogCkBAIC03NywxNCArODAsMTggQEAgaW50ZXJmYWNlIEJsdWV0b290
aERldmljZSA6IEV2ZW50VGFyZ2V0IHsKICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZz8g
bmFtZTsKICAgcmVhZG9ubHkgYXR0cmlidXRlIEJsdWV0b290aFJlbW90ZUdBVFRTZXJ2ZXI/IGdh
dHQ7CiAKLSAgUHJvbWlzZTx2b2lkPiB3YXRjaEFkdmVydGlzZW1lbnRzKCk7Ci0gIHZvaWQgdW53
YXRjaEFkdmVydGlzZW1lbnRzKCk7CisgIFByb21pc2U8dm9pZD4gd2F0Y2hBZHZlcnRpc2VtZW50
cygKKyAgICAgIG9wdGlvbmFsIFdhdGNoQWR2ZXJ0aXNlbWVudHNPcHRpb25zIG9wdGlvbnMgPSB7
fSk7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIHdhdGNoaW5nQWR2ZXJ0aXNlbWVudHM7
CiB9OwogQmx1ZXRvb3RoRGV2aWNlIGluY2x1ZGVzIEJsdWV0b290aERldmljZUV2ZW50SGFuZGxl
cnM7CiBCbHVldG9vdGhEZXZpY2UgaW5jbHVkZXMgQ2hhcmFjdGVyaXN0aWNFdmVudEhhbmRsZXJz
OwogQmx1ZXRvb3RoRGV2aWNlIGluY2x1ZGVzIFNlcnZpY2VFdmVudEhhbmRsZXJzOwogCitkaWN0
aW9uYXJ5IFdhdGNoQWR2ZXJ0aXNlbWVudHNPcHRpb25zIHsKKyAgQWJvcnRTaWduYWwgc2lnbmFs
OworfTsKKwogW0V4cG9zZWQ9V2luZG93LCBTZWN1cmVDb250ZXh0XQogaW50ZXJmYWNlIEJsdWV0
b290aE1hbnVmYWN0dXJlckRhdGFNYXAgewogICByZWFkb25seSBtYXBsaWtlPHVuc2lnbmVkIHNo
b3J0LCBEYXRhVmlldz47CkBAIC0yMTMsNiArMjIwLDcgQEAgaW50ZXJmYWNlIG1peGluIFNlcnZp
Y2VFdmVudEhhbmRsZXJzIHsKIH07CiAKIHR5cGVkZWYgRE9NU3RyaW5nIFVVSUQ7CisKIFtFeHBv
c2VkPVdpbmRvd10KIGludGVyZmFjZSBCbHVldG9vdGhVVUlEIHsKICAgc3RhdGljIFVVSUQgZ2V0
U2VydmljZSgoRE9NU3RyaW5nIG9yIHVuc2lnbmVkIGxvbmcpIG5hbWUpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dl
Yi1sb2Nrcy5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ludGVyZmFjZXMvd2ViLWxvY2tzLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MzkwNWQ2NGZlYzA5NTc1MGQy
NzBmM2RiYTQzZmU5MzdlMWZkMTE5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYi1sb2Nrcy5pZGwKQEAg
LTAsMCArMSw1MCBAQAorLy8gR0VORVJBVEVEIENPTlRFTlQgLSBETyBOT1QgRURJVAorLy8gQ29u
dGVudCB3YXMgYXV0b21hdGljYWxseSBleHRyYWN0ZWQgYnkgUmVmZnkgaW50byByZWZmeS1yZXBv
cnRzCisvLyAoaHR0cHM6Ly9naXRodWIuY29tL3RpZG91c3QvcmVmZnktcmVwb3J0cykKKy8vIFNv
dXJjZTogV2ViIExvY2tzIEFQSSAoaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby93ZWItbG9ja3MvKQor
CitbU2VjdXJlQ29udGV4dF0KK2ludGVyZmFjZSBtaXhpbiBOYXZpZ2F0b3JMb2NrcyB7CisgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBMb2NrTWFuYWdlciBsb2NrczsKK307CitOYXZpZ2F0b3IgaW5jbHVk
ZXMgTmF2aWdhdG9yTG9ja3M7CitXb3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yTG9j
a3M7CisKK1tTZWN1cmVDb250ZXh0LCBFeHBvc2VkPShXaW5kb3csV29ya2VyKV0KK2ludGVyZmFj
ZSBMb2NrTWFuYWdlciB7CisgIFByb21pc2U8YW55PiByZXF1ZXN0KERPTVN0cmluZyBuYW1lLAor
ICAgICAgICAgICAgICAgICAgICAgICBMb2NrR3JhbnRlZENhbGxiYWNrIGNhbGxiYWNrKTsKKyAg
UHJvbWlzZTxhbnk+IHJlcXVlc3QoRE9NU3RyaW5nIG5hbWUsCisgICAgICAgICAgICAgICAgICAg
ICAgIExvY2tPcHRpb25zIG9wdGlvbnMsCisgICAgICAgICAgICAgICAgICAgICAgIExvY2tHcmFu
dGVkQ2FsbGJhY2sgY2FsbGJhY2spOworCisgIFByb21pc2U8TG9ja01hbmFnZXJTbmFwc2hvdD4g
cXVlcnkoKTsKK307CisKK2NhbGxiYWNrIExvY2tHcmFudGVkQ2FsbGJhY2sgPSBQcm9taXNlPGFu
eT4gKExvY2s/IGxvY2spOworCitlbnVtIExvY2tNb2RlIHsgInNoYXJlZCIsICJleGNsdXNpdmUi
IH07CisKK2RpY3Rpb25hcnkgTG9ja09wdGlvbnMgeworICBMb2NrTW9kZSBtb2RlID0gImV4Y2x1
c2l2ZSI7CisgIGJvb2xlYW4gaWZBdmFpbGFibGUgPSBmYWxzZTsKKyAgYm9vbGVhbiBzdGVhbCA9
IGZhbHNlOworICBBYm9ydFNpZ25hbCBzaWduYWw7Cit9OworCitkaWN0aW9uYXJ5IExvY2tNYW5h
Z2VyU25hcHNob3QgeworICBzZXF1ZW5jZTxMb2NrSW5mbz4gaGVsZDsKKyAgc2VxdWVuY2U8TG9j
a0luZm8+IHBlbmRpbmc7Cit9OworCitkaWN0aW9uYXJ5IExvY2tJbmZvIHsKKyAgRE9NU3RyaW5n
IG5hbWU7CisgIExvY2tNb2RlIG1vZGU7CisgIERPTVN0cmluZyBjbGllbnRJZDsKK307CisKK1tT
ZWN1cmVDb250ZXh0LCBFeHBvc2VkPShXaW5kb3csV29ya2VyKV0KK2ludGVyZmFjZSBMb2NrIHsK
KyAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOworICByZWFkb25seSBhdHRyaWJ1
dGUgTG9ja01vZGUgbW9kZTsKK307CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2ViLW5mYy5pZGwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2ViLW5mYy5pZGwK
aW5kZXggZGUyM2ZhYzBjMTE4YzJhNzczYTVlOTYyN2M2YjFhZjk5Yzg2MTgzOC4uZjJlMzFiNzM1
Mjg2N2QzOWVkYzljNDNhNGYxZmZmYjNhMDJjYjk4NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYi1uZmMuaWRsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNl
cy93ZWItbmZjLmlkbApAQCAtMyw3ICszLDcgQEAKIC8vIChodHRwczovL2dpdGh1Yi5jb20vdGlk
b3VzdC9yZWZmeS1yZXBvcnRzKQogLy8gU291cmNlOiBXZWIgTkZDIChodHRwczovL3czYy5naXRo
dWIuaW8vd2ViLW5mYy8pCiAKLVtFeHBvc2VkPVdpbmRvd10KK1tTZWN1cmVDb250ZXh0LCBFeHBv
c2VkPVdpbmRvd10KIGludGVyZmFjZSBOREVGTWVzc2FnZSB7CiAgIGNvbnN0cnVjdG9yKE5ERUZN
ZXNzYWdlSW5pdCBtZXNzYWdlSW5pdCk7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBGcm96ZW5BcnJh
eTxOREVGUmVjb3JkPiByZWNvcmRzOwpAQCAtMTUsNyArMTUsNyBAQCBkaWN0aW9uYXJ5IE5ERUZN
ZXNzYWdlSW5pdCB7CiAKIHR5cGVkZWYgKERPTVN0cmluZyBvciBCdWZmZXJTb3VyY2Ugb3IgTkRF
Rk1lc3NhZ2VJbml0KSBOREVGUmVjb3JkRGF0YVNvdXJjZTsKIAotW0V4cG9zZWQ9V2luZG93XQor
W1NlY3VyZUNvbnRleHQsIEV4cG9zZWQ9V2luZG93XQogaW50ZXJmYWNlIE5ERUZSZWNvcmQgewog
ICBjb25zdHJ1Y3RvcihOREVGUmVjb3JkSW5pdCByZWNvcmRJbml0KTsKIApAQCAtMjcsNyArMjcs
NyBAQCBpbnRlcmZhY2UgTkRFRlJlY29yZCB7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBVU1ZTdHJp
bmc/IGVuY29kaW5nOwogICByZWFkb25seSBhdHRyaWJ1dGUgVVNWU3RyaW5nPyBsYW5nOwogCi0g
IHNlcXVlbmNlPE5ERUZSZWNvcmQ+IHRvUmVjb3JkcygpOworICBzZXF1ZW5jZTxOREVGUmVjb3Jk
Pj8gdG9SZWNvcmRzKCk7CiB9OwogCiBkaWN0aW9uYXJ5IE5ERUZSZWNvcmRJbml0IHsKQEAgLTQ3
LDcgKzQ3LDcgQEAgdHlwZWRlZiAoRE9NU3RyaW5nIG9yIEJ1ZmZlclNvdXJjZSBvciBOREVGTWVz
c2FnZUluaXQpIE5ERUZNZXNzYWdlU291cmNlOwogaW50ZXJmYWNlIE5ERUZXcml0ZXIgewogICBj
b25zdHJ1Y3RvcigpOwogCi0gIFByb21pc2U8dm9pZD4gcHVzaChOREVGTWVzc2FnZVNvdXJjZSBt
ZXNzYWdlLCBvcHRpb25hbCBOREVGUHVzaE9wdGlvbnMgb3B0aW9ucz17fSk7CisgIFByb21pc2U8
dm9pZD4gd3JpdGUoTkRFRk1lc3NhZ2VTb3VyY2UgbWVzc2FnZSwgb3B0aW9uYWwgTkRFRldyaXRl
T3B0aW9ucyBvcHRpb25zPXt9KTsKIH07CiAKIFtTZWN1cmVDb250ZXh0LCBFeHBvc2VkPVdpbmRv
d10KQEAgLTczLDIyICs3MywxNSBAQCBkaWN0aW9uYXJ5IE5ERUZSZWFkaW5nRXZlbnRJbml0IDog
RXZlbnRJbml0IHsKICAgcmVxdWlyZWQgTkRFRk1lc3NhZ2VJbml0IG1lc3NhZ2U7CiB9OwogCi1k
aWN0aW9uYXJ5IE5ERUZQdXNoT3B0aW9ucyB7Ci0gIE5ERUZQdXNoVGFyZ2V0IHRhcmdldCA9ICJh
bnkiOworZGljdGlvbmFyeSBOREVGV3JpdGVPcHRpb25zIHsKICAgYm9vbGVhbiBpZ25vcmVSZWFk
ID0gdHJ1ZTsKICAgYm9vbGVhbiBvdmVyd3JpdGUgPSB0cnVlOwogICBBYm9ydFNpZ25hbD8gc2ln
bmFsOwogfTsKIAotZW51bSBOREVGUHVzaFRhcmdldCB7Ci0gICJ0YWciLAotICAicGVlciIsCi0g
ICJhbnkiCi19OwotCiBkaWN0aW9uYXJ5IE5ERUZTY2FuT3B0aW9ucyB7CiAgIFVTVlN0cmluZyBp
ZDsKICAgVVNWU3RyaW5nIHJlY29yZFR5cGU7Ci0gIFVTVlN0cmluZyBtZWRpYVR5cGUgPSAiIjsK
KyAgVVNWU3RyaW5nIG1lZGlhVHlwZTsKICAgQWJvcnRTaWduYWw/IHNpZ25hbDsKIH07CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVy
ZmFjZXMvd2ViLXNoYXJlLmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaW50ZXJmYWNlcy93ZWItc2hhcmUuaWRsCmluZGV4IGEyOTEwN2YwNTk4NzM2OTEy
ODU5M2I5ZmIyYmQzYmIxMzAxN2VhZTAuLmMyOWEyOWQwYjRlZGU5NDE1M2E3NTg2MDM0NGFiNDgy
NGU5MWI2ZDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaW50ZXJmYWNlcy93ZWItc2hhcmUuaWRsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWItc2hhcmUuaWRsCkBAIC04
LDYgKzgsNyBAQCBwYXJ0aWFsIGludGVyZmFjZSBOYXZpZ2F0b3IgewogfTsKIAogZGljdGlvbmFy
eSBTaGFyZURhdGEgeworICBGcm96ZW5BcnJheTxGaWxlPiBmaWxlczsKICAgVVNWU3RyaW5nIHRp
dGxlOwogICBVU1ZTdHJpbmcgdGV4dDsKICAgVVNWU3RyaW5nIHVybDsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWJh
dWRpby5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2lu
dGVyZmFjZXMvd2ViYXVkaW8uaWRsCmluZGV4IDY3NDY3M2Q5MGIxZThmZDNlNmQxODJmMjUyODk5
NDhmYzAyOTBjYWMuLmYwYTVjN2E5MDIwYjFlYWEwYWY2ZGYzNjY0YzQxZWNkMDNmNzEwODIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50
ZXJmYWNlcy93ZWJhdWRpby5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYmF1ZGlvLmlkbApAQCAtMjYsMjggKzI2LDM2IEBA
IGludGVyZmFjZSBCYXNlQXVkaW9Db250ZXh0IDogRXZlbnRUYXJnZXQgewogCiAgIEFuYWx5c2Vy
Tm9kZSBjcmVhdGVBbmFseXNlciAoKTsKICAgQmlxdWFkRmlsdGVyTm9kZSBjcmVhdGVCaXF1YWRG
aWx0ZXIgKCk7Ci0gIEF1ZGlvQnVmZmVyIGNyZWF0ZUJ1ZmZlciAodW5zaWduZWQgbG9uZyBudW1i
ZXJPZkNoYW5uZWxzLCB1bnNpZ25lZCBsb25nIGxlbmd0aCwgZmxvYXQgc2FtcGxlUmF0ZSk7Cisg
IEF1ZGlvQnVmZmVyIGNyZWF0ZUJ1ZmZlciAodW5zaWduZWQgbG9uZyBudW1iZXJPZkNoYW5uZWxz
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbGVuZ3RoLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0IHNhbXBsZVJhdGUpOwogICBBdWRpb0J1ZmZl
clNvdXJjZU5vZGUgY3JlYXRlQnVmZmVyU291cmNlICgpOwogICBDaGFubmVsTWVyZ2VyTm9kZSBj
cmVhdGVDaGFubmVsTWVyZ2VyIChvcHRpb25hbCB1bnNpZ25lZCBsb25nIG51bWJlck9mSW5wdXRz
ID0gNik7Ci0gIENoYW5uZWxTcGxpdHRlck5vZGUgY3JlYXRlQ2hhbm5lbFNwbGl0dGVyIChvcHRp
b25hbCB1bnNpZ25lZCBsb25nIG51bWJlck9mT3V0cHV0cyA9IDYpOworICBDaGFubmVsU3BsaXR0
ZXJOb2RlIGNyZWF0ZUNoYW5uZWxTcGxpdHRlciAoCisgICAgb3B0aW9uYWwgdW5zaWduZWQgbG9u
ZyBudW1iZXJPZk91dHB1dHMgPSA2KTsKICAgQ29uc3RhbnRTb3VyY2VOb2RlIGNyZWF0ZUNvbnN0
YW50U291cmNlICgpOwogICBDb252b2x2ZXJOb2RlIGNyZWF0ZUNvbnZvbHZlciAoKTsKICAgRGVs
YXlOb2RlIGNyZWF0ZURlbGF5IChvcHRpb25hbCBkb3VibGUgbWF4RGVsYXlUaW1lID0gMS4wKTsK
ICAgRHluYW1pY3NDb21wcmVzc29yTm9kZSBjcmVhdGVEeW5hbWljc0NvbXByZXNzb3IgKCk7CiAg
IEdhaW5Ob2RlIGNyZWF0ZUdhaW4gKCk7Ci0gIElJUkZpbHRlck5vZGUgY3JlYXRlSUlSRmlsdGVy
IChzZXF1ZW5jZTxkb3VibGU+IGZlZWRmb3J3YXJkLCBzZXF1ZW5jZTxkb3VibGU+IGZlZWRiYWNr
KTsKKyAgSUlSRmlsdGVyTm9kZSBjcmVhdGVJSVJGaWx0ZXIgKHNlcXVlbmNlPGRvdWJsZT4gZmVl
ZGZvcndhcmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXF1ZW5jZTxkb3Vi
bGU+IGZlZWRiYWNrKTsKICAgT3NjaWxsYXRvck5vZGUgY3JlYXRlT3NjaWxsYXRvciAoKTsKICAg
UGFubmVyTm9kZSBjcmVhdGVQYW5uZXIgKCk7Ci0gIFBlcmlvZGljV2F2ZSBjcmVhdGVQZXJpb2Rp
Y1dhdmUgKHNlcXVlbmNlPGZsb2F0PiByZWFsLCBzZXF1ZW5jZTxmbG9hdD4gaW1hZywgb3B0aW9u
YWwgUGVyaW9kaWNXYXZlQ29uc3RyYWludHMgY29uc3RyYWludHMgPSB7fSk7Ci0gIFNjcmlwdFBy
b2Nlc3Nvck5vZGUgY3JlYXRlU2NyaXB0UHJvY2Vzc29yKG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcg
YnVmZmVyU2l6ZSA9IDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZJbnB1dENoYW5uZWxzID0gMiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgdW5zaWdu
ZWQgbG9uZyBudW1iZXJPZk91dHB1dENoYW5uZWxzID0gMik7CisgIFBlcmlvZGljV2F2ZSBjcmVh
dGVQZXJpb2RpY1dhdmUgKHNlcXVlbmNlPGZsb2F0PiByZWFsLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBzZXF1ZW5jZTxmbG9hdD4gaW1hZywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgUGVyaW9kaWNXYXZlQ29uc3RyYWludHMgY29uc3Ry
YWludHMgPSB7fSk7CisgIFNjcmlwdFByb2Nlc3Nvck5vZGUgY3JlYXRlU2NyaXB0UHJvY2Vzc29y
KAorICAgIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgYnVmZmVyU2l6ZSA9IDAsCisgICAgb3B0aW9u
YWwgdW5zaWduZWQgbG9uZyBudW1iZXJPZklucHV0Q2hhbm5lbHMgPSAyLAorICAgIG9wdGlvbmFs
IHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZPdXRwdXRDaGFubmVscyA9IDIpOwogICBTdGVyZW9QYW5u
ZXJOb2RlIGNyZWF0ZVN0ZXJlb1Bhbm5lciAoKTsKICAgV2F2ZVNoYXBlck5vZGUgY3JlYXRlV2F2
ZVNoYXBlciAoKTsKIAotICBQcm9taXNlPEF1ZGlvQnVmZmVyPiBkZWNvZGVBdWRpb0RhdGEgKEFy
cmF5QnVmZmVyIGF1ZGlvRGF0YSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBvcHRpb25hbCBEZWNvZGVTdWNjZXNzQ2FsbGJhY2s/IHN1Y2Nlc3NDYWxsYmFjaywKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCBEZWNvZGVFcnJv
ckNhbGxiYWNrPyBlcnJvckNhbGxiYWNrKTsKKyAgUHJvbWlzZTxBdWRpb0J1ZmZlcj4gZGVjb2Rl
QXVkaW9EYXRhICgKKyAgICBBcnJheUJ1ZmZlciBhdWRpb0RhdGEsCisgICAgb3B0aW9uYWwgRGVj
b2RlU3VjY2Vzc0NhbGxiYWNrPyBzdWNjZXNzQ2FsbGJhY2ssCisgICAgb3B0aW9uYWwgRGVjb2Rl
RXJyb3JDYWxsYmFjaz8gZXJyb3JDYWxsYmFjayk7CiB9OwogCiBlbnVtIEF1ZGlvQ29udGV4dExh
dGVuY3lDYXRlZ29yeSB7CkBAIC02Nyw3ICs3NSw4IEBAIGludGVyZmFjZSBBdWRpb0NvbnRleHQg
OiBCYXNlQXVkaW9Db250ZXh0IHsKICAgUHJvbWlzZTx2b2lkPiBjbG9zZSAoKTsKICAgTWVkaWFF
bGVtZW50QXVkaW9Tb3VyY2VOb2RlIGNyZWF0ZU1lZGlhRWxlbWVudFNvdXJjZSAoSFRNTE1lZGlh
RWxlbWVudCBtZWRpYUVsZW1lbnQpOwogICBNZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZSBjcmVh
dGVNZWRpYVN0cmVhbVNvdXJjZSAoTWVkaWFTdHJlYW0gbWVkaWFTdHJlYW0pOwotICBNZWRpYVN0
cmVhbVRyYWNrQXVkaW9Tb3VyY2VOb2RlIGNyZWF0ZU1lZGlhU3RyZWFtVHJhY2tTb3VyY2UgKE1l
ZGlhU3RyZWFtVHJhY2sgbWVkaWFTdHJlYW1UcmFjayk7CisgIE1lZGlhU3RyZWFtVHJhY2tBdWRp
b1NvdXJjZU5vZGUgY3JlYXRlTWVkaWFTdHJlYW1UcmFja1NvdXJjZSAoCisgICAgTWVkaWFTdHJl
YW1UcmFjayBtZWRpYVN0cmVhbVRyYWNrKTsKICAgTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9u
Tm9kZSBjcmVhdGVNZWRpYVN0cmVhbURlc3RpbmF0aW9uICgpOwogfTsKIApAQCAtMTE2LDggKzEy
NSwxMiBAQCBpbnRlcmZhY2UgQXVkaW9CdWZmZXIgewogICByZWFkb25seSBhdHRyaWJ1dGUgZG91
YmxlIGR1cmF0aW9uOwogICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBudW1iZXJP
ZkNoYW5uZWxzOwogICBGbG9hdDMyQXJyYXkgZ2V0Q2hhbm5lbERhdGEgKHVuc2lnbmVkIGxvbmcg
Y2hhbm5lbCk7Ci0gIHZvaWQgY29weUZyb21DaGFubmVsIChGbG9hdDMyQXJyYXkgZGVzdGluYXRp
b24sIHVuc2lnbmVkIGxvbmcgY2hhbm5lbE51bWJlciwgb3B0aW9uYWwgdW5zaWduZWQgbG9uZyBi
dWZmZXJPZmZzZXQgPSAwKTsKLSAgdm9pZCBjb3B5VG9DaGFubmVsIChGbG9hdDMyQXJyYXkgc291
cmNlLCB1bnNpZ25lZCBsb25nIGNoYW5uZWxOdW1iZXIsIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcg
YnVmZmVyT2Zmc2V0ID0gMCk7CisgIHZvaWQgY29weUZyb21DaGFubmVsIChGbG9hdDMyQXJyYXkg
ZGVzdGluYXRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGNoYW5u
ZWxOdW1iZXIsCisgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCB1bnNpZ25lZCBsb25n
IGJ1ZmZlck9mZnNldCA9IDApOworICB2b2lkIGNvcHlUb0NoYW5uZWwgKEZsb2F0MzJBcnJheSBz
b3VyY2UsCisgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBjaGFubmVsTnVtYmVy
LAorICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgYnVmZmVyT2Zm
c2V0ID0gMCk7CiB9OwogCiBkaWN0aW9uYXJ5IEF1ZGlvQnVmZmVyT3B0aW9ucyB7CkBAIC0xMzYs
NyArMTQ5LDkgQEAgaW50ZXJmYWNlIEF1ZGlvTm9kZSA6IEV2ZW50VGFyZ2V0IHsKICAgdm9pZCBk
aXNjb25uZWN0ICh1bnNpZ25lZCBsb25nIG91dHB1dCk7CiAgIHZvaWQgZGlzY29ubmVjdCAoQXVk
aW9Ob2RlIGRlc3RpbmF0aW9uTm9kZSk7CiAgIHZvaWQgZGlzY29ubmVjdCAoQXVkaW9Ob2RlIGRl
c3RpbmF0aW9uTm9kZSwgdW5zaWduZWQgbG9uZyBvdXRwdXQpOwotICB2b2lkIGRpc2Nvbm5lY3Qg
KEF1ZGlvTm9kZSBkZXN0aW5hdGlvbk5vZGUsIHVuc2lnbmVkIGxvbmcgb3V0cHV0LCB1bnNpZ25l
ZCBsb25nIGlucHV0KTsKKyAgdm9pZCBkaXNjb25uZWN0IChBdWRpb05vZGUgZGVzdGluYXRpb25O
b2RlLAorICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgb3V0cHV0LAorICAgICAgICAg
ICAgICAgICAgIHVuc2lnbmVkIGxvbmcgaW5wdXQpOwogICB2b2lkIGRpc2Nvbm5lY3QgKEF1ZGlv
UGFyYW0gZGVzdGluYXRpb25QYXJhbSk7CiAgIHZvaWQgZGlzY29ubmVjdCAoQXVkaW9QYXJhbSBk
ZXN0aW5hdGlvblBhcmFtLCB1bnNpZ25lZCBsb25nIG91dHB1dCk7CiAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBCYXNlQXVkaW9Db250ZXh0IGNvbnRleHQ7CkBAIC0xODAsNyArMTk1LDkgQEAgaW50ZXJm
YWNlIEF1ZGlvUGFyYW0gewogICBBdWRpb1BhcmFtIGxpbmVhclJhbXBUb1ZhbHVlQXRUaW1lIChm
bG9hdCB2YWx1ZSwgZG91YmxlIGVuZFRpbWUpOwogICBBdWRpb1BhcmFtIGV4cG9uZW50aWFsUmFt
cFRvVmFsdWVBdFRpbWUgKGZsb2F0IHZhbHVlLCBkb3VibGUgZW5kVGltZSk7CiAgIEF1ZGlvUGFy
YW0gc2V0VGFyZ2V0QXRUaW1lIChmbG9hdCB0YXJnZXQsIGRvdWJsZSBzdGFydFRpbWUsIGZsb2F0
IHRpbWVDb25zdGFudCk7Ci0gIEF1ZGlvUGFyYW0gc2V0VmFsdWVDdXJ2ZUF0VGltZSAoc2VxdWVu
Y2U8ZmxvYXQ+IHZhbHVlcywgZG91YmxlIHN0YXJ0VGltZSwgZG91YmxlIGR1cmF0aW9uKTsKKyAg
QXVkaW9QYXJhbSBzZXRWYWx1ZUN1cnZlQXRUaW1lIChzZXF1ZW5jZTxmbG9hdD4gdmFsdWVzLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSBzdGFydFRpbWUsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG91YmxlIGR1cmF0aW9uKTsKICAgQXVkaW9Q
YXJhbSBjYW5jZWxTY2hlZHVsZWRWYWx1ZXMgKGRvdWJsZSBjYW5jZWxUaW1lKTsKICAgQXVkaW9Q
YXJhbSBjYW5jZWxBbmRIb2xkQXRUaW1lIChkb3VibGUgY2FuY2VsVGltZSk7CiB9OwpAQCAtMjE1
LDcgKzIzMiw4IEBAIGRpY3Rpb25hcnkgQW5hbHlzZXJPcHRpb25zIDogQXVkaW9Ob2RlT3B0aW9u
cyB7CiAKIFtFeHBvc2VkPVdpbmRvd10KIGludGVyZmFjZSBBdWRpb0J1ZmZlclNvdXJjZU5vZGUg
OiBBdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGUgewotICBjb25zdHJ1Y3RvciAoQmFzZUF1ZGlvQ29u
dGV4dCBjb250ZXh0LCBvcHRpb25hbCBBdWRpb0J1ZmZlclNvdXJjZU9wdGlvbnMgb3B0aW9ucyA9
IHt9KTsKKyAgY29uc3RydWN0b3IgKEJhc2VBdWRpb0NvbnRleHQgY29udGV4dCwKKyAgICAgICAg
ICAgICAgIG9wdGlvbmFsIEF1ZGlvQnVmZmVyU291cmNlT3B0aW9ucyBvcHRpb25zID0ge30pOwog
ICBhdHRyaWJ1dGUgQXVkaW9CdWZmZXI/IGJ1ZmZlcjsKICAgcmVhZG9ubHkgYXR0cmlidXRlIEF1
ZGlvUGFyYW0gcGxheWJhY2tSYXRlOwogICByZWFkb25seSBhdHRyaWJ1dGUgQXVkaW9QYXJhbSBk
ZXR1bmU7CkBAIC0yODksNyArMzA3LDkgQEAgaW50ZXJmYWNlIEJpcXVhZEZpbHRlck5vZGUgOiBB
dWRpb05vZGUgewogICByZWFkb25seSBhdHRyaWJ1dGUgQXVkaW9QYXJhbSBkZXR1bmU7CiAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBBdWRpb1BhcmFtIFE7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBBdWRp
b1BhcmFtIGdhaW47Ci0gIHZvaWQgZ2V0RnJlcXVlbmN5UmVzcG9uc2UgKEZsb2F0MzJBcnJheSBm
cmVxdWVuY3lIeiwgRmxvYXQzMkFycmF5IG1hZ1Jlc3BvbnNlLCBGbG9hdDMyQXJyYXkgcGhhc2VS
ZXNwb25zZSk7CisgIHZvaWQgZ2V0RnJlcXVlbmN5UmVzcG9uc2UgKEZsb2F0MzJBcnJheSBmcmVx
dWVuY3lIeiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmxvYXQzMkFycmF5IG1hZ1Jl
c3BvbnNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGbG9hdDMyQXJyYXkgcGhhc2VS
ZXNwb25zZSk7CiB9OwogCiBkaWN0aW9uYXJ5IEJpcXVhZEZpbHRlck9wdGlvbnMgOiBBdWRpb05v
ZGVPcHRpb25zIHsKQEAgLTM1Myw3ICszNzMsOCBAQCBkaWN0aW9uYXJ5IERlbGF5T3B0aW9ucyA6
IEF1ZGlvTm9kZU9wdGlvbnMgewogCiBbRXhwb3NlZD1XaW5kb3ddCiBpbnRlcmZhY2UgRHluYW1p
Y3NDb21wcmVzc29yTm9kZSA6IEF1ZGlvTm9kZSB7Ci0gIGNvbnN0cnVjdG9yIChCYXNlQXVkaW9D
b250ZXh0IGNvbnRleHQsIG9wdGlvbmFsIER5bmFtaWNzQ29tcHJlc3Nvck9wdGlvbnMgb3B0aW9u
cyA9IHt9KTsKKyAgY29uc3RydWN0b3IgKEJhc2VBdWRpb0NvbnRleHQgY29udGV4dCwKKyAgICAg
ICAgICAgICAgIG9wdGlvbmFsIER5bmFtaWNzQ29tcHJlc3Nvck9wdGlvbnMgb3B0aW9ucyA9IHt9
KTsKICAgcmVhZG9ubHkgYXR0cmlidXRlIEF1ZGlvUGFyYW0gdGhyZXNob2xkOwogICByZWFkb25s
eSBhdHRyaWJ1dGUgQXVkaW9QYXJhbSBrbmVlOwogICByZWFkb25seSBhdHRyaWJ1dGUgQXVkaW9Q
YXJhbSByYXRpbzsKQEAgLTM4Myw3ICs0MDQsOSBAQCBkaWN0aW9uYXJ5IEdhaW5PcHRpb25zIDog
QXVkaW9Ob2RlT3B0aW9ucyB7CiBbRXhwb3NlZD1XaW5kb3ddCiBpbnRlcmZhY2UgSUlSRmlsdGVy
Tm9kZSA6IEF1ZGlvTm9kZSB7CiAgIGNvbnN0cnVjdG9yIChCYXNlQXVkaW9Db250ZXh0IGNvbnRl
eHQsIElJUkZpbHRlck9wdGlvbnMgb3B0aW9ucyk7Ci0gIHZvaWQgZ2V0RnJlcXVlbmN5UmVzcG9u
c2UgKEZsb2F0MzJBcnJheSBmcmVxdWVuY3lIeiwgRmxvYXQzMkFycmF5IG1hZ1Jlc3BvbnNlLCBG
bG9hdDMyQXJyYXkgcGhhc2VSZXNwb25zZSk7CisgIHZvaWQgZ2V0RnJlcXVlbmN5UmVzcG9uc2Ug
KEZsb2F0MzJBcnJheSBmcmVxdWVuY3lIeiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
RmxvYXQzMkFycmF5IG1hZ1Jlc3BvbnNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBG
bG9hdDMyQXJyYXkgcGhhc2VSZXNwb25zZSk7CiB9OwogCiBkaWN0aW9uYXJ5IElJUkZpbHRlck9w
dGlvbnMgOiBBdWRpb05vZGVPcHRpb25zIHsKQEAgLTU1NSw3ICs1NzgsOCBAQCBjYWxsYmFjayBB
dWRpb1dvcmtsZXRQcm9jZXNzb3JDb25zdHJ1Y3RvciA9IEF1ZGlvV29ya2xldFByb2Nlc3NvciAo
b2JqZWN0IG9wdGlvbgogCiBbR2xvYmFsPShXb3JrbGV0LCBBdWRpb1dvcmtsZXQpLCBFeHBvc2Vk
PUF1ZGlvV29ya2xldF0KIGludGVyZmFjZSBBdWRpb1dvcmtsZXRHbG9iYWxTY29wZSA6IFdvcmts
ZXRHbG9iYWxTY29wZSB7Ci0gIHZvaWQgcmVnaXN0ZXJQcm9jZXNzb3IgKERPTVN0cmluZyBuYW1l
LCBBdWRpb1dvcmtsZXRQcm9jZXNzb3JDb25zdHJ1Y3RvciBwcm9jZXNzb3JDdG9yKTsKKyAgdm9p
ZCByZWdpc3RlclByb2Nlc3NvciAoRE9NU3RyaW5nIG5hbWUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgIEF1ZGlvV29ya2xldFByb2Nlc3NvckNvbnN0cnVjdG9yIHByb2Nlc3NvckN0b3IpOwog
ICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsb25nIGN1cnJlbnRGcmFtZTsKICAg
cmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSBjdXJyZW50VGltZTsKICAgcmVhZG9ubHkgYXR0cmli
dXRlIGZsb2F0IHNhbXBsZVJhdGU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2ViYXV0aG4uaWRsIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYmF1dGhuLmlk
bAppbmRleCAyOTAyNWYzNWVlY2I1YzgyYjMzZmZjYzcwMzljNGE5OWYwODFmNGUzLi5hMWQ0NmEz
N2NmNDRkN2Q5YjhjZDgwYjExYTkyYjJkMmY3ODYwMmVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2ViYXV0aG4uaWRs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJm
YWNlcy93ZWJhdXRobi5pZGwKQEAgLTMxLDYgKzMxLDkgQEAgaW50ZXJmYWNlIEF1dGhlbnRpY2F0
b3JSZXNwb25zZSB7CiBpbnRlcmZhY2UgQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2Ug
OiBBdXRoZW50aWNhdG9yUmVzcG9uc2UgewogICAgIFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRy
aWJ1dGUgQXJyYXlCdWZmZXIgICAgICBhdHRlc3RhdGlvbk9iamVjdDsKICAgICBzZXF1ZW5jZTxE
T01TdHJpbmc+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0VHJhbnNwb3J0cygpOwor
ICAgIEFycmF5QnVmZmVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRB
dXRoZW50aWNhdG9yRGF0YSgpOworICAgIEFycmF5QnVmZmVyPyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBnZXRQdWJsaWNLZXkoKTsKKyAgICBDT1NFQWxnb3JpdGhtSWRlbnRp
ZmllciAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0UHVibGljS2V5QWxnb3JpdGhtKCk7CiB9
OwogCiBbU2VjdXJlQ29udGV4dCwgRXhwb3NlZD1XaW5kb3ddCkBAIC01NSw3ICs1OCw3IEBAIGRp
Y3Rpb25hcnkgUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucyB7CiAgICAgdW5zaWdu
ZWQgbG9uZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZW91dDsKICAgICBzZXF1
ZW5jZTxQdWJsaWNLZXlDcmVkZW50aWFsRGVzY3JpcHRvcj4gICAgICBleGNsdWRlQ3JlZGVudGlh
bHMgPSBbXTsKICAgICBBdXRoZW50aWNhdG9yU2VsZWN0aW9uQ3JpdGVyaWEgICAgICAgICAgICAg
ICBhdXRoZW50aWNhdG9yU2VsZWN0aW9uOwotICAgIEF0dGVzdGF0aW9uQ29udmV5YW5jZVByZWZl
cmVuY2UgICAgICAgICAgICAgIGF0dGVzdGF0aW9uID0gIm5vbmUiOworICAgIERPTVN0cmluZyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dGVzdGF0aW9uID0gIm5vbmUiOwog
ICAgIEF1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudElucHV0cyAgICAgICAgIGV4dGVuc2lv
bnM7CiB9OwogCkBAIC05Myw3ICs5Niw4IEBAIGVudW0gUmVzaWRlbnRLZXlSZXF1aXJlbWVudCB7
CiBlbnVtIEF0dGVzdGF0aW9uQ29udmV5YW5jZVByZWZlcmVuY2UgewogICAgICJub25lIiwKICAg
ICAiaW5kaXJlY3QiLAotICAgICJkaXJlY3QiCisgICAgImRpcmVjdCIsCisgICAgImVudGVycHJp
c2UiCiB9OwogCiBkaWN0aW9uYXJ5IFB1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucyB7
CkBAIC0xNDIsOCArMTQ2LDcgQEAgZW51bSBBdXRoZW50aWNhdG9yVHJhbnNwb3J0IHsKICAgICAi
dXNiIiwKICAgICAibmZjIiwKICAgICAiYmxlIiwKLSAgICAiaW50ZXJuYWwiLAotICAgICJsaWdo
dG5pbmciCisgICAgImludGVybmFsIgogfTsKIAogdHlwZWRlZiBsb25nIENPU0VBbGdvcml0aG1J
ZGVudGlmaWVyOwpAQCAtMTY2LDY1ICsxNjksNiBAQCBwYXJ0aWFsIGRpY3Rpb25hcnkgQXV0aGVu
dGljYXRpb25FeHRlbnNpb25zQ2xpZW50SW5wdXRzIHsKICAgVVNWU3RyaW5nIGFwcGlkRXhjbHVk
ZTsKIH07CiAKLXBhcnRpYWwgZGljdGlvbmFyeSBBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGll
bnRJbnB1dHMgewotICBVU1ZTdHJpbmcgdHhBdXRoU2ltcGxlOwotfTsKLQotcGFydGlhbCBkaWN0
aW9uYXJ5IEF1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudE91dHB1dHMgewotICBVU1ZTdHJp
bmcgdHhBdXRoU2ltcGxlOwotfTsKLQotZGljdGlvbmFyeSB0eEF1dGhHZW5lcmljQXJnIHsKLSAg
ICByZXF1aXJlZCBVU1ZTdHJpbmcgY29udGVudFR5cGU7ICAgIC8vIE1JTUUtVHlwZSBvZiB0aGUg
Y29udGVudCwgZS5nLiwgImltYWdlL3BuZyIKLSAgICByZXF1aXJlZCBBcnJheUJ1ZmZlciBjb250
ZW50OwotfTsKLQotcGFydGlhbCBkaWN0aW9uYXJ5IEF1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0Ns
aWVudElucHV0cyB7Ci0gIHR4QXV0aEdlbmVyaWNBcmcgdHhBdXRoR2VuZXJpYzsKLX07Ci0KLXBh
cnRpYWwgZGljdGlvbmFyeSBBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRPdXRwdXRzIHsK
LSAgQXJyYXlCdWZmZXIgdHhBdXRoR2VuZXJpYzsKLX07Ci0KLXR5cGVkZWYgc2VxdWVuY2U8QUFH
VUlEPiBBdXRoZW50aWNhdG9yU2VsZWN0aW9uTGlzdDsKLQotcGFydGlhbCBkaWN0aW9uYXJ5IEF1
dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudElucHV0cyB7Ci0gIEF1dGhlbnRpY2F0b3JTZWxl
Y3Rpb25MaXN0IGF1dGhuU2VsOwotfTsKLQotdHlwZWRlZiBCdWZmZXJTb3VyY2UgICAgICBBQUdV
SUQ7Ci0KLXBhcnRpYWwgZGljdGlvbmFyeSBBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRP
dXRwdXRzIHsKLSAgYm9vbGVhbiBhdXRoblNlbDsKLX07Ci0KLXBhcnRpYWwgZGljdGlvbmFyeSBB
dXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRJbnB1dHMgewotICBib29sZWFuIGV4dHM7Ci19
OwotCi10eXBlZGVmIHNlcXVlbmNlPFVTVlN0cmluZz4gQXV0aGVudGljYXRpb25FeHRlbnNpb25z
U3VwcG9ydGVkOwotCi1wYXJ0aWFsIGRpY3Rpb25hcnkgQXV0aGVudGljYXRpb25FeHRlbnNpb25z
Q2xpZW50T3V0cHV0cyB7Ci0gIEF1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc1N1cHBvcnRlZCBleHRz
OwotfTsKLQotcGFydGlhbCBkaWN0aW9uYXJ5IEF1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVu
dElucHV0cyB7Ci0gIGJvb2xlYW4gdXZpOwotfTsKLQotcGFydGlhbCBkaWN0aW9uYXJ5IEF1dGhl
bnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudE91dHB1dHMgewotICBBcnJheUJ1ZmZlciB1dmk7Ci19
OwotCi1wYXJ0aWFsIGRpY3Rpb25hcnkgQXV0aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50SW5w
dXRzIHsKLSAgYm9vbGVhbiBsb2M7Ci19OwotCi1wYXJ0aWFsIGRpY3Rpb25hcnkgQXV0aGVudGlj
YXRpb25FeHRlbnNpb25zQ2xpZW50T3V0cHV0cyB7Ci0gIEdlb2xvY2F0aW9uQ29vcmRpbmF0ZXMg
bG9jOwotfTsKLQogcGFydGlhbCBkaWN0aW9uYXJ5IEF1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0Ns
aWVudElucHV0cyB7CiAgIGJvb2xlYW4gdXZtOwogfTsKQEAgLTIzNiwxMSArMTgwLDYgQEAgcGFy
dGlhbCBkaWN0aW9uYXJ5IEF1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudE91dHB1dHMgewog
ICBVdm1FbnRyaWVzIHV2bTsKIH07CiAKLWRpY3Rpb25hcnkgYXV0aGVudGljYXRvckJpb21ldHJp
Y1BlcmZCb3VuZHN7Ci0gICAgZmxvYXQgRkFSOwotICAgIGZsb2F0IEZSUjsKLSAgICB9OwotCiBw
YXJ0aWFsIGRpY3Rpb25hcnkgQXV0aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50SW5wdXRzIHsK
ICAgICBib29sZWFuIGNyZWRQcm9wczsKIH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2VibWlkaS5pZGwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2VibWlk
aS5pZGwKaW5kZXggMDk2ZTdhMWRiMTFjYjc4OGExOWMzZWViNWJlNmIzZjhmYzc3ZWNiZS4uMGUz
OTBmOGJkZTcwOTM0ZDk5MzQ3MTRkOGM2ODUzNzAzZGFiYjJiOCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYm1pZGku
aWRsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50
ZXJmYWNlcy93ZWJtaWRpLmlkbApAQCAtMSw3ICsxLDcgQEAKIC8vIEdFTkVSQVRFRCBDT05URU5U
IC0gRE8gTk9UIEVESVQKIC8vIENvbnRlbnQgd2FzIGF1dG9tYXRpY2FsbHkgZXh0cmFjdGVkIGJ5
IFJlZmZ5IGludG8gcmVmZnktcmVwb3J0cwogLy8gKGh0dHBzOi8vZ2l0aHViLmNvbS90aWRvdXN0
L3JlZmZ5LXJlcG9ydHMpCi0vLyBTb3VyY2U6IFdlYiBNSURJIEFQSSAoaHR0cDovL3dlYmF1ZGlv
LmdpdGh1Yi5pby93ZWItbWlkaS1hcGkvKQorLy8gU291cmNlOiBXZWIgTUlESSBBUEkgKGh0dHBz
Oi8vd2ViYXVkaW8uZ2l0aHViLmlvL3dlYi1taWRpLWFwaS8pCiAKIHBhcnRpYWwgaW50ZXJmYWNl
IE5hdmlnYXRvciB7CiAgIFtTZWN1cmVDb250ZXh0XQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYnJ0Yy1kc2NwLmlk
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNl
cy93ZWJydGMtZHNjcC5pZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDczMjIzMGI0
YTMzOWQyNDg0ZmE1MjQyZmRmYzc3MjI0NDAwNzk2YjIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYnJ0Yy1kc2NwLmlkbAorKysgL2Rldi9udWxsCkBAIC0x
LDggKzAsMCBAQAotLy8gR0VORVJBVEVEIENPTlRFTlQgLSBETyBOT1QgRURJVAotLy8gQ29udGVu
dCB3YXMgYXV0b21hdGljYWxseSBleHRyYWN0ZWQgYnkgUmVmZnkgaW50byByZWZmeS1yZXBvcnRz
Ci0vLyAoaHR0cHM6Ly9naXRodWIuY29tL3RpZG91c3QvcmVmZnktcmVwb3J0cykKLS8vIFNvdXJj
ZTogV2ViUlRDIERTQ1AgQ29udHJvbCBBUEkgKGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJydGMt
ZHNjcC1leHAvKQotCi1wYXJ0aWFsIGRpY3Rpb25hcnkgUlRDUnRwRW5jb2RpbmdQYXJhbWV0ZXJz
IHsKLSAgICBSVENQcmlvcml0eVR5cGUgbmV0d29ya1ByaW9yaXR5OyAgLy8gTm90ZTogTm8gZGVm
YXVsdAotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaW50ZXJmYWNlcy93ZWJydGMtaWRlbnRpdHkuaWRsIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYnJ0Yy1pZGVudGl0eS5p
ZGwKaW5kZXggZDFmMmE2NTQ3NjA5ZWQxYTk2MTRhY2UxODBkZDE1MDI3ZWI5Yzc5MS4uMjhiNmEz
YjJiN2Y0YWNmNzhmZGUzODg5Yzc1ZDZmOGU5N2M4ZWI1NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYnJ0Yy1pZGVu
dGl0eS5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbnRlcmZhY2VzL3dlYnJ0Yy1pZGVudGl0eS5pZGwKQEAgLTQ5LDYgKzQ5LDEwIEBAIHBhcnRp
YWwgaW50ZXJmYWNlIFJUQ1BlZXJDb25uZWN0aW9uIHsKICAgICByZWFkb25seSAgICAgICAgYXR0
cmlidXRlIERPTVN0cmluZz8gICAgICAgICAgICAgICAgICAgIGlkcEVycm9ySW5mbzsKIH07CiAK
K3BhcnRpYWwgZGljdGlvbmFyeSBSVENDb25maWd1cmF0aW9uIHsKKyAgICBET01TdHJpbmcgcGVl
cklkZW50aXR5OworfTsKKwogZGljdGlvbmFyeSBSVENJZGVudGl0eVByb3ZpZGVyT3B0aW9ucyB7
CiAgICAgRE9NU3RyaW5nIHByb3RvY29sID0gImRlZmF1bHQiOwogICAgIERPTVN0cmluZyB1c2Vy
bmFtZUhpbnQ7CkBAIC02Miw2ICs2NiwyOSBAQCBpbnRlcmZhY2UgUlRDSWRlbnRpdHlBc3NlcnRp
b24gewogICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKIH07CiAKK3BhcnRpYWwgaW50ZXJm
YWNlIFJUQ0Vycm9yIHsKKyAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmc/IGh0dHBSZXF1ZXN0U3Rh
dHVzQ29kZTsKK307CisKK3BhcnRpYWwgZGljdGlvbmFyeSBSVENFcnJvckluaXQgeworICBsb25n
IGh0dHBSZXF1ZXN0U3RhdHVzQ29kZTsKK307CisKKy8vIFRoaXMgaXMgYW4gZXh0ZW5zaW9uIG9m
IFJUQ0Vycm9yRGV0YWlsVHlwZSBmcm9tIFtbV0VCUlRDLVBDXV0KKy8vIFVuZm9ydHVuYXRlbHks
IFdlYklETCBkb2VzIG5vdCBzdXBwb3J0IHBhcnRpYWwgZW51bXMgKHlldCkuCisvLworLy8gcGFy
dGlhbCBlbnVtIFJUQ0Vycm9yRGV0YWlsVHlwZSB7CitlbnVtIFJUQ0Vycm9yRGV0YWlsVHlwZUlk
cCB7CisgICJpZHAtYmFkLXNjcmlwdC1mYWlsdXJlIiwKKyAgImlkcC1leGVjdXRpb24tZmFpbHVy
ZSIsCisgICJpZHAtbG9hZC1mYWlsdXJlIiwKKyAgImlkcC1uZWVkLWxvZ2luIiwKKyAgImlkcC10
aW1lb3V0IiwKKyAgImlkcC10bHMtZmFpbHVyZSIsCisgICJpZHAtdG9rZW4tZXhwaXJlZCIsCisg
ICJpZHAtdG9rZW4taW52YWxpZCIsCit9OworCiBwYXJ0aWFsIGRpY3Rpb25hcnkgTWVkaWFTdHJl
YW1Db25zdHJhaW50cyB7CiAgICAgICAgICAgICAgRE9NU3RyaW5nIHBlZXJJZGVudGl0eTsKIH07
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ludGVyZmFjZXMvd2VicnRjLXN0YXRzLmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWJydGMtc3RhdHMuaWRsCmluZGV4IGM1ZDAw
YWM0NDYyYjI0YWJmMDQ2Y2IwNWRiMjk0NTAzYmM5MGM2NzcuLjVhNDgzOGY5MjYzZmUyZDQxYjk5
M2MwYmNkZmRiMmQyNDlmNjdkMGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWJydGMtc3RhdHMuaWRsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWJy
dGMtc3RhdHMuaWRsCkBAIC0yOCwxNyArMjgsMTcgQEAgZW51bSBSVENTdGF0c1R5cGUgewogfTsK
IAogZGljdGlvbmFyeSBSVENSdHBTdHJlYW1TdGF0cyA6IFJUQ1N0YXRzIHsKLSAgICAgICAgICAg
ICB1bnNpZ25lZCBsb25nICAgICAgIHNzcmM7Ci0gICAgICAgICAgICAgRE9NU3RyaW5nICAgICAg
ICAgICBraW5kOworICAgICAgICAgICAgIHJlcXVpcmVkIHVuc2lnbmVkIGxvbmcgICAgICAgc3Ny
YzsKKyAgICAgICAgICAgICByZXF1aXJlZCBET01TdHJpbmcgICAgICAgICAgIGtpbmQ7CiAgICAg
ICAgICAgICAgRE9NU3RyaW5nICAgICAgICAgICB0cmFuc3BvcnRJZDsKICAgICAgICAgICAgICBE
T01TdHJpbmcgICAgICAgICAgIGNvZGVjSWQ7CiB9OwogCiBkaWN0aW9uYXJ5IFJUQ0NvZGVjU3Rh
dHMgOiBSVENTdGF0cyB7Ci0gICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBwYXlsb2FkVHlwZTsK
KyAgICAgICAgICAgICByZXF1aXJlZCB1bnNpZ25lZCBsb25nIHBheWxvYWRUeXBlOwogICAgICAg
ICAgICAgIFJUQ0NvZGVjVHlwZSAgY29kZWNUeXBlOwotICAgICAgICAgICAgIERPTVN0cmluZyAg
ICAgdHJhbnNwb3J0SWQ7Ci0gICAgICAgICAgICAgRE9NU3RyaW5nICAgICBtaW1lVHlwZTsKKyAg
ICAgICAgICAgICByZXF1aXJlZCBET01TdHJpbmcgICAgIHRyYW5zcG9ydElkOworICAgICAgICAg
ICAgIHJlcXVpcmVkIERPTVN0cmluZyAgICAgbWltZVR5cGU7CiAgICAgICAgICAgICAgdW5zaWdu
ZWQgbG9uZyBjbG9ja1JhdGU7CiAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBjaGFubmVsczsK
ICAgICAgICAgICAgICBET01TdHJpbmcgICAgIHNkcEZtdHBMaW5lOwpAQCAtNzAsOCArNzAsNyBA
QCBkaWN0aW9uYXJ5IFJUQ1JlY2VpdmVkUnRwU3RyZWFtU3RhdHMgOiBSVENSdHBTdHJlYW1TdGF0
cyB7CiB9OwogCiBkaWN0aW9uYXJ5IFJUQ0luYm91bmRSdHBTdHJlYW1TdGF0cyA6IFJUQ1JlY2Vp
dmVkUnRwU3RyZWFtU3RhdHMgewotIERPTVN0cmluZyAgICAgICAgICAgIHRyYWNrSWQ7Ci0gRE9N
U3RyaW5nICAgICAgICAgICAgcmVjZWl2ZXJJZDsKKyByZXF1aXJlZCBET01TdHJpbmcgICByZWNl
aXZlcklkOwogIERPTVN0cmluZyAgICAgICAgICAgIHJlbW90ZUlkOwogIHVuc2lnbmVkIGxvbmcg
ICAgICAgIGZyYW1lc0RlY29kZWQ7CiAgdW5zaWduZWQgbG9uZyAgICAgICAga2V5RnJhbWVzRGVj
b2RlZDsKQEAgLTEzMCw3ICsxMjksNyBAQCBkaWN0aW9uYXJ5IFJUQ1NlbnRSdHBTdHJlYW1TdGF0
cyA6IFJUQ1J0cFN0cmVhbVN0YXRzIHsKIH07CiAKIGRpY3Rpb25hcnkgUlRDT3V0Ym91bmRSdHBT
dHJlYW1TdGF0cyA6IFJUQ1NlbnRSdHBTdHJlYW1TdGF0cyB7Ci0gICAgICAgICAgICAgRE9NU3Ry
aW5nICAgICAgICAgICAgdHJhY2tJZDsKKyAgICAgICAgICAgICB1bnNpZ25lZCBsb25nICAgICAg
ICBydHhTc3JjOwogICAgICAgICAgICAgIERPTVN0cmluZyAgICAgICAgICAgIG1lZGlhU291cmNl
SWQ7CiAgICAgICAgICAgICAgRE9NU3RyaW5nICAgICAgICAgICAgc2VuZGVySWQ7CiAgICAgICAg
ICAgICAgRE9NU3RyaW5nICAgICAgICAgICAgcmVtb3RlSWQ7CkBAIC0xODYsOCArMTg1LDkgQEAg
ZGljdGlvbmFyeSBSVENSZW1vdGVPdXRib3VuZFJ0cFN0cmVhbVN0YXRzIDogUlRDU2VudFJ0cFN0
cmVhbVN0YXRzIHsKIH07CiAKIGRpY3Rpb25hcnkgUlRDTWVkaWFTb3VyY2VTdGF0cyA6IFJUQ1N0
YXRzIHsKLSAgICAgICAgICAgICBET01TdHJpbmcgICAgICAgdHJhY2tJZGVudGlmaWVyOwotICAg
ICAgICAgICAgIERPTVN0cmluZyAgICAgICBraW5kOworICAgICAgICAgICAgIHJlcXVpcmVkIERP
TVN0cmluZyAgICAgICB0cmFja0lkZW50aWZpZXI7CisgICAgICAgICAgICAgcmVxdWlyZWQgRE9N
U3RyaW5nICAgICAgIGtpbmQ7CisgICAgICAgICAgICAgYm9vbGVhbiAgICAgICAgIHJlbGF5ZWRT
b3VyY2U7CiB9OwogCiBkaWN0aW9uYXJ5IFJUQ0F1ZGlvU291cmNlU3RhdHMgOiBSVENNZWRpYVNv
dXJjZVN0YXRzIHsKQEAgLTIwMywxMiArMjAzLDEyIEBAIGRpY3Rpb25hcnkgUlRDVmlkZW9Tb3Vy
Y2VTdGF0cyA6IFJUQ01lZGlhU291cmNlU3RhdHMgewogICAgICAgICAgICAgIHVuc2lnbmVkIGxv
bmcgICBoZWlnaHQ7CiAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyAgIGJpdERlcHRoOwogICAg
ICAgICAgICAgIHVuc2lnbmVkIGxvbmcgICBmcmFtZXM7Ci0gICAgICAgICAgICAgdW5zaWduZWQg
bG9uZyAgIGZyYW1lc1BlclNlY29uZDsKKyAgICAgICAgICAgICBkb3VibGUgICAgICAgICAgZnJh
bWVzUGVyU2Vjb25kOwogfTsKIAogZGljdGlvbmFyeSBSVENSdHBDb250cmlidXRpbmdTb3VyY2VT
dGF0cyA6IFJUQ1N0YXRzIHsKLSAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGNvbnRyaWJ1dG9y
U3NyYzsKLSAgICAgICAgICAgICBET01TdHJpbmcgICAgIGluYm91bmRSdHBTdHJlYW1JZDsKKyAg
ICAgICAgICAgICByZXF1aXJlZCB1bnNpZ25lZCBsb25nIGNvbnRyaWJ1dG9yU3NyYzsKKyAgICAg
ICAgICAgICByZXF1aXJlZCBET01TdHJpbmcgICAgIGluYm91bmRSdHBTdHJlYW1JZDsKICAgICAg
ICAgICAgICB1bnNpZ25lZCBsb25nIHBhY2tldHNDb250cmlidXRlZFRvOwogICAgICAgICAgICAg
IGRvdWJsZSAgICAgICAgYXVkaW9MZXZlbDsKIH07CkBAIC0yMjAsMTggKzIyMCwxNiBAQCBkaWN0
aW9uYXJ5IFJUQ1BlZXJDb25uZWN0aW9uU3RhdHMgOiBSVENTdGF0cyB7CiAgICAgICAgICAgICB1
bnNpZ25lZCBsb25nIGRhdGFDaGFubmVsc0FjY2VwdGVkOwogfTsKIAotZGljdGlvbmFyeSBSVENS
dHBUcmFuc2NlaXZlclN0YXRzIHsKLSAgICBET01TdHJpbmcgc2VuZGVySWQ7Ci0gICAgRE9NU3Ry
aW5nIHJlY2VpdmVySWQ7CitkaWN0aW9uYXJ5IFJUQ1J0cFRyYW5zY2VpdmVyU3RhdHMgOiBSVENT
dGF0cyB7CisgICAgcmVxdWlyZWQgRE9NU3RyaW5nIHNlbmRlcklkOworICAgIHJlcXVpcmVkIERP
TVN0cmluZyByZWNlaXZlcklkOwogICAgIERPTVN0cmluZyBtaWQ7CiB9OwogCiBkaWN0aW9uYXJ5
IFJUQ01lZGlhSGFuZGxlclN0YXRzIDogUlRDU3RhdHMgewogICAgICAgICAgICAgIERPTVN0cmlu
ZyAgICAgICAgICAgdHJhY2tJZGVudGlmaWVyOwotICAgICAgICAgICAgIGJvb2xlYW4gICAgICAg
ICAgICAgcmVtb3RlU291cmNlOwogICAgICAgICAgICAgIGJvb2xlYW4gICAgICAgICAgICAgZW5k
ZWQ7Ci0gICAgICAgICAgICAgRE9NU3RyaW5nICAgICAgICAgICBraW5kOwotICAgICAgICAgICAg
IFJUQ1ByaW9yaXR5VHlwZSAgICAgcHJpb3JpdHk7CisgICAgICAgICAgICAgcmVxdWlyZWQgRE9N
U3RyaW5nICBraW5kOwogfTsKIAogZGljdGlvbmFyeSBSVENWaWRlb0hhbmRsZXJTdGF0cyA6IFJU
Q01lZGlhSGFuZGxlclN0YXRzIHsKQEAgLTI0MSw5ICsyMzksNiBAQCBkaWN0aW9uYXJ5IFJUQ1Zp
ZGVvU2VuZGVyU3RhdHMgOiBSVENWaWRlb0hhbmRsZXJTdGF0cyB7CiAgICAgICAgICAgICAgRE9N
U3RyaW5nICAgICAgICAgICBtZWRpYVNvdXJjZUlkOwogfTsKIAotZGljdGlvbmFyeSBSVENTZW5k
ZXJWaWRlb1RyYWNrQXR0YWNobWVudFN0YXRzIDogUlRDVmlkZW9TZW5kZXJTdGF0cyB7Ci19Owot
CiBkaWN0aW9uYXJ5IFJUQ1ZpZGVvUmVjZWl2ZXJTdGF0cyA6IFJUQ1ZpZGVvSGFuZGxlclN0YXRz
IHsKIH07CiAKQEAgLTI1NCwxOCArMjQ5LDE1IEBAIGRpY3Rpb25hcnkgUlRDQXVkaW9TZW5kZXJT
dGF0cyA6IFJUQ0F1ZGlvSGFuZGxlclN0YXRzIHsKICAgICAgICAgICAgICBET01TdHJpbmcgICAg
ICAgICAgIG1lZGlhU291cmNlSWQ7CiB9OwogCi1kaWN0aW9uYXJ5IFJUQ1NlbmRlckF1ZGlvVHJh
Y2tBdHRhY2htZW50U3RhdHMgOiBSVENBdWRpb1NlbmRlclN0YXRzIHsKLX07Ci0KIGRpY3Rpb25h
cnkgUlRDQXVkaW9SZWNlaXZlclN0YXRzIDogUlRDQXVkaW9IYW5kbGVyU3RhdHMgewogfTsKIAog
ZGljdGlvbmFyeSBSVENEYXRhQ2hhbm5lbFN0YXRzIDogUlRDU3RhdHMgewogICAgICAgICAgICAg
IERPTVN0cmluZyAgICAgICAgICAgbGFiZWw7CiAgICAgICAgICAgICAgRE9NU3RyaW5nICAgICAg
ICAgICBwcm90b2NvbDsKLSAgICAgICAgICAgICBsb25nICAgICAgICAgICAgICAgIGRhdGFDaGFu
bmVsSWRlbnRpZmllcjsKLSAgICAgICAgICAgICBET01TdHJpbmcgICAgICAgICAgIHRyYW5zcG9y
dElkOwotICAgICAgICAgICAgIFJUQ0RhdGFDaGFubmVsU3RhdGUgc3RhdGU7CisgICAgICAgICAg
ICAgdW5zaWduZWQgc2hvcnQgICAgICBkYXRhQ2hhbm5lbElkZW50aWZpZXI7CisgICAgICAgICAg
ICAgcmVxdWlyZWQgRE9NU3RyaW5nICB0cmFuc3BvcnRJZDsKKyAgICAgICAgICAgICByZXF1aXJl
ZCBSVENEYXRhQ2hhbm5lbFN0YXRlIHN0YXRlOwogICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcg
ICAgICAgbWVzc2FnZXNTZW50OwogICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbG9uZyAgYnl0
ZXNTZW50OwogICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgICAgICAgbWVzc2FnZXNSZWNlaXZl
ZDsKQEAgLTI3OSw3ICsyNzEsOSBAQCBkaWN0aW9uYXJ5IFJUQ1RyYW5zcG9ydFN0YXRzIDogUlRD
U3RhdHMgewogICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbG9uZyAgICBieXRlc1JlY2VpdmVk
OwogICAgICAgICAgICAgIERPTVN0cmluZyAgICAgICAgICAgICBydGNwVHJhbnNwb3J0U3RhdHNJ
ZDsKICAgICAgICAgICAgICBSVENJY2VSb2xlICAgICAgICAgICAgaWNlUm9sZTsKLSAgICAgICAg
ICAgICBSVENEdGxzVHJhbnNwb3J0U3RhdGUgZHRsc1N0YXRlOworICAgICAgICAgICAgIERPTVN0
cmluZyAgICAgICAgICAgICBpY2VMb2NhbFVzZXJuYW1lRnJhZ21lbnQ7CisgICAgICAgICAgICAg
cmVxdWlyZWQgUlRDRHRsc1RyYW5zcG9ydFN0YXRlIGR0bHNTdGF0ZTsKKyAgICAgICAgICAgICBS
VENJY2VUcmFuc3BvcnRTdGF0ZSAgaWNlU3RhdGU7CiAgICAgICAgICAgICAgRE9NU3RyaW5nICAg
ICAgICAgICAgIHNlbGVjdGVkQ2FuZGlkYXRlUGFpcklkOwogICAgICAgICAgICAgIERPTVN0cmlu
ZyAgICAgICAgICAgICBsb2NhbENlcnRpZmljYXRlSWQ7CiAgICAgICAgICAgICAgRE9NU3RyaW5n
ICAgICAgICAgICAgIHJlbW90ZUNlcnRpZmljYXRlSWQ7CkBAIC0yOTEsMjUgKzI4NSwyOSBAQCBk
aWN0aW9uYXJ5IFJUQ1RyYW5zcG9ydFN0YXRzIDogUlRDU3RhdHMgewogfTsKIAogZGljdGlvbmFy
eSBSVENTY3RwVHJhbnNwb3J0U3RhdHMgOiBSVENTdGF0cyB7Ci0gICAgZG91YmxlIHNtb290aGVk
Um91bmRUcmlwVGltZTsKKyAgICAgICAgICAgIGRvdWJsZSBzbW9vdGhlZFJvdW5kVHJpcFRpbWU7
CisgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGNvbmdlc3Rpb25XaW5kb3c7CisgICAgICAgICAg
ICB1bnNpZ25lZCBsb25nIHJlY2VpdmVyV2luZG93OworICAgICAgICAgICAgdW5zaWduZWQgbG9u
ZyBtdHU7CisgICAgICAgICAgICB1bnNpZ25lZCBsb25nIHVuYWNrRGF0YTsKIH07CiAKIGRpY3Rp
b25hcnkgUlRDSWNlQ2FuZGlkYXRlU3RhdHMgOiBSVENTdGF0cyB7Ci0gICAgICAgICAgICAgRE9N
U3RyaW5nICAgICAgICAgICAgICAgIHRyYW5zcG9ydElkOworICAgICAgICAgICAgIHJlcXVpcmVk
IERPTVN0cmluZyAgICAgICB0cmFuc3BvcnRJZDsKICAgICAgICAgICAgICBET01TdHJpbmc/ICAg
ICAgICAgICAgICAgYWRkcmVzczsKICAgICAgICAgICAgICBsb25nICAgICAgICAgICAgICAgICAg
ICAgcG9ydDsKICAgICAgICAgICAgICBET01TdHJpbmcgICAgICAgICAgICAgICAgcHJvdG9jb2w7
Ci0gICAgICAgICAgICAgUlRDSWNlQ2FuZGlkYXRlVHlwZSAgICAgIGNhbmRpZGF0ZVR5cGU7Cisg
ICAgICAgICAgICAgcmVxdWlyZWQgUlRDSWNlQ2FuZGlkYXRlVHlwZSBjYW5kaWRhdGVUeXBlOwog
ICAgICAgICAgICAgIGxvbmcgICAgICAgICAgICAgICAgICAgICBwcmlvcml0eTsKICAgICAgICAg
ICAgICBET01TdHJpbmcgICAgICAgICAgICAgICAgdXJsOwogICAgICAgICAgICAgIERPTVN0cmlu
ZyAgICAgICAgICAgICAgICByZWxheVByb3RvY29sOwogfTsKIAogZGljdGlvbmFyeSBSVENJY2VD
YW5kaWRhdGVQYWlyU3RhdHMgOiBSVENTdGF0cyB7Ci0gICAgICAgICAgICAgRE9NU3RyaW5nICAg
ICAgICAgICAgICAgICAgICAgdHJhbnNwb3J0SWQ7Ci0gICAgICAgICAgICAgRE9NU3RyaW5nICAg
ICAgICAgICAgICAgICAgICAgbG9jYWxDYW5kaWRhdGVJZDsKLSAgICAgICAgICAgICBET01TdHJp
bmcgICAgICAgICAgICAgICAgICAgICByZW1vdGVDYW5kaWRhdGVJZDsKLSAgICAgICAgICAgICBS
VENTdGF0c0ljZUNhbmRpZGF0ZVBhaXJTdGF0ZSBzdGF0ZTsKKyAgICAgICAgICAgICByZXF1aXJl
ZCBET01TdHJpbmcgICAgICAgICAgICB0cmFuc3BvcnRJZDsKKyAgICAgICAgICAgICByZXF1aXJl
ZCBET01TdHJpbmcgICAgICAgICAgICBsb2NhbENhbmRpZGF0ZUlkOworICAgICAgICAgICAgIHJl
cXVpcmVkIERPTVN0cmluZyAgICAgICAgICAgIHJlbW90ZUNhbmRpZGF0ZUlkOworICAgICAgICAg
ICAgIHJlcXVpcmVkIFJUQ1N0YXRzSWNlQ2FuZGlkYXRlUGFpclN0YXRlIHN0YXRlOwogICAgICAg
ICAgICAgIGJvb2xlYW4gICAgICAgICAgICAgICAgICAgICAgIG5vbWluYXRlZDsKICAgICAgICAg
ICAgICB1bnNpZ25lZCBsb25nIGxvbmcgICAgICAgICAgICBwYWNrZXRzU2VudDsKICAgICAgICAg
ICAgICB1bnNpZ25lZCBsb25nIGxvbmcgICAgICAgICAgICBwYWNrZXRzUmVjZWl2ZWQ7CkBAIC0z
MzUsNiArMzMzLDkgQEAgZGljdGlvbmFyeSBSVENJY2VDYW5kaWRhdGVQYWlyU3RhdHMgOiBSVENT
dGF0cyB7CiAgICAgICAgICAgICAgRE9NSGlnaFJlc1RpbWVTdGFtcCAgICAgICAgICAgY29uc2Vu
dEV4cGlyZWRUaW1lc3RhbXA7CiAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyAgICAgICAgICAg
ICAgICAgcGFja2V0c0Rpc2NhcmRlZE9uU2VuZDsKICAgICAgICAgICAgICB1bnNpZ25lZCBsb25n
IGxvbmcgICAgICAgICAgICBieXRlc0Rpc2NhcmRlZE9uU2VuZDsKKyAgICAgICAgICAgICB1bnNp
Z25lZCBsb25nIGxvbmcgICAgICAgICAgICByZXF1ZXN0Qnl0ZXNTZW50OworICAgICAgICAgICAg
IHVuc2lnbmVkIGxvbmcgbG9uZyAgICAgICAgICAgIGNvbnNlbnRSZXF1ZXN0Qnl0ZXNTZW50Owor
ICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbG9uZyAgICAgICAgICAgIHJlc3BvbnNlQnl0ZXNT
ZW50OwogfTsKIAogZW51bSBSVENTdGF0c0ljZUNhbmRpZGF0ZVBhaXJTdGF0ZSB7CkBAIC0zNDYs
MTAzICszNDcsMTcgQEAgZW51bSBSVENTdGF0c0ljZUNhbmRpZGF0ZVBhaXJTdGF0ZSB7CiB9Owog
CiBkaWN0aW9uYXJ5IFJUQ0NlcnRpZmljYXRlU3RhdHMgOiBSVENTdGF0cyB7Ci0gICAgICAgICAg
ICAgRE9NU3RyaW5nIGZpbmdlcnByaW50OwotICAgICAgICAgICAgIERPTVN0cmluZyBmaW5nZXJw
cmludEFsZ29yaXRobTsKLSAgICAgICAgICAgICBET01TdHJpbmcgYmFzZTY0Q2VydGlmaWNhdGU7
CisgICAgICAgICAgICAgcmVxdWlyZWQgRE9NU3RyaW5nIGZpbmdlcnByaW50OworICAgICAgICAg
ICAgIHJlcXVpcmVkIERPTVN0cmluZyBmaW5nZXJwcmludEFsZ29yaXRobTsKKyAgICAgICAgICAg
ICByZXF1aXJlZCBET01TdHJpbmcgYmFzZTY0Q2VydGlmaWNhdGU7CiAgICAgICAgICAgICAgRE9N
U3RyaW5nIGlzc3VlckNlcnRpZmljYXRlSWQ7CiB9OwogCiBkaWN0aW9uYXJ5IFJUQ0ljZVNlcnZl
clN0YXRzIDogUlRDU3RhdHMgewotICAgICAgICAgICBET01TdHJpbmcgdXJsOworICAgICAgICAg
ICByZXF1aXJlZCBET01TdHJpbmcgdXJsOwogICAgICAgICAgICBsb25nIHBvcnQ7Ci0gICAgICAg
ICAgIERPTVN0cmluZyBwcm90b2NvbDsKKyAgICAgICAgICAgRE9NU3RyaW5nIHJlbGF5UHJvdG9j
b2w7CiAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgdG90YWxSZXF1ZXN0c1NlbnQ7CiAgICAgICAg
ICAgIHVuc2lnbmVkIGxvbmcgdG90YWxSZXNwb25zZXNSZWNlaXZlZDsKICAgICAgICAgICAgZG91
YmxlIHRvdGFsUm91bmRUcmlwVGltZTsKIH07Ci0KLWRpY3Rpb25hcnkgUlRDTWVkaWFTdHJlYW1T
dGF0cyA6IFJUQ1N0YXRzIHsKLSAgRE9NU3RyaW5nIHN0cmVhbUlkZW50aWZpZXI7Ci0gIHNlcXVl
bmNlPERPTVN0cmluZz4gdHJhY2tJZHM7Ci19OwotCi1kaWN0aW9uYXJ5IFJUQ1JlY2VpdmVyVmlk
ZW9UcmFja0F0dGFjaG1lbnRTdGF0cyA6IFJUQ1ZpZGVvUmVjZWl2ZXJTdGF0cyB7fTsKLQotZGlj
dGlvbmFyeSBSVENSZWNlaXZlckF1ZGlvVHJhY2tBdHRhY2htZW50U3RhdHMgOiBSVENBdWRpb1Jl
Y2VpdmVyU3RhdHMge307Ci0KLXBhcnRpYWwgZGljdGlvbmFyeSBSVENDb2RlY1N0YXRzIHsKLSAg
ICBET01TdHJpbmcgaW1wbGVtZW50YXRpb247Ci19OwotCi1wYXJ0aWFsIGRpY3Rpb25hcnkgUlRD
SWNlQ2FuZGlkYXRlU3RhdHMgewotICAgIGJvb2xlYW4gZGVsZXRlZCA9IGZhbHNlOwotICAgIGJv
b2xlYW4gaXNSZW1vdGU7Ci19OwotCi1wYXJ0aWFsIGRpY3Rpb25hcnkgUlRDSWNlQ2FuZGlkYXRl
UGFpclN0YXRzIHsKLSAgICBkb3VibGUgdG90YWxSdHQ7Ci0gICAgZG91YmxlIGN1cnJlbnRSdHQ7
Ci0gICAgdW5zaWduZWQgbG9uZyBsb25nIHByaW9yaXR5OwotfTsKLQotcGFydGlhbCBkaWN0aW9u
YXJ5IFJUQ1J0cFN0cmVhbVN0YXRzIHsKLSAgICBET01TdHJpbmcgbWVkaWFUeXBlOwotICAgIGRv
dWJsZSBhdmVyYWdlUlRDUEludGVydmFsOwotfTsKLQotcGFydGlhbCBkaWN0aW9uYXJ5IFJUQ0lu
Ym91bmRSdHBTdHJlYW1TdGF0cyB7Ci0gICAgZG91YmxlIGZyYWN0aW9uTG9zdDsKLX07Ci0KLXBh
cnRpYWwgZGljdGlvbmFyeSBSVENBdWRpb0hhbmRsZXJTdGF0cyB7Ci0gICAgZG91YmxlIGF1ZGlv
TGV2ZWw7Ci0gICAgZG91YmxlIHRvdGFsQXVkaW9FbmVyZ3k7Ci0gICAgZG91YmxlIHRvdGFsU2Ft
cGxlc0R1cmF0aW9uOwotICAgIGJvb2xlYW4gdm9pY2VBY3Rpdml0eUZsYWc7Ci19OwotCi1wYXJ0
aWFsIGRpY3Rpb25hcnkgUlRDQXVkaW9TZW5kZXJTdGF0cyB7Ci0gICAgdW5zaWduZWQgbG9uZyBs
b25nIHRvdGFsU2FtcGxlc1NlbnQ7Ci0gICAgZG91YmxlIGVjaG9SZXR1cm5Mb3NzOwotICAgIGRv
dWJsZSBlY2hvUmV0dXJuTG9zc0VuaGFuY2VtZW50OwotfTsKLQotcGFydGlhbCBkaWN0aW9uYXJ5
IFJUQ0F1ZGlvUmVjZWl2ZXJTdGF0cyB7Ci0gICAgRE9NSGlnaFJlc1RpbWVTdGFtcCBlc3RpbWF0
ZWRQbGF5b3V0VGltZXN0YW1wOwotICAgIGRvdWJsZSBqaXR0ZXJCdWZmZXJEZWxheTsKLSAgICB1
bnNpZ25lZCBsb25nIGxvbmcgaml0dGVyQnVmZmVyRW1pdHRlZENvdW50OwotICAgIHVuc2lnbmVk
IGxvbmcgbG9uZyB0b3RhbFNhbXBsZXNSZWNlaXZlZDsKLSAgICB1bnNpZ25lZCBsb25nIGxvbmcg
Y29uY2VhbGVkU2FtcGxlczsKLSAgICB1bnNpZ25lZCBsb25nIGxvbmcgc2lsZW50Q29uY2VhbGVk
U2FtcGxlczsKLSAgICB1bnNpZ25lZCBsb25nIGxvbmcgY29uY2VhbG1lbnRFdmVudHM7Ci0gICAg
dW5zaWduZWQgbG9uZyBsb25nIGluc2VydGVkU2FtcGxlc0ZvckRlY2VsZXJhdGlvbjsKLSAgICB1
bnNpZ25lZCBsb25nIGxvbmcgcmVtb3ZlZFNhbXBsZXNGb3JBY2NlbGVyYXRpb247Ci0gICAgZG91
YmxlIGF1ZGlvTGV2ZWw7Ci0gICAgZG91YmxlIHRvdGFsQXVkaW9FbmVyZ3k7Ci0gICAgZG91Ymxl
IHRvdGFsU2FtcGxlc0R1cmF0aW9uOwotfTsKLQotcGFydGlhbCBkaWN0aW9uYXJ5IFJUQ1ZpZGVv
SGFuZGxlclN0YXRzIHsKLSAgICB1bnNpZ25lZCBsb25nIGZyYW1lV2lkdGg7Ci0gICAgdW5zaWdu
ZWQgbG9uZyBmcmFtZUhlaWdodDsKLSAgICBkb3VibGUgZnJhbWVzUGVyU2Vjb25kOwotfTsKLQot
cGFydGlhbCBkaWN0aW9uYXJ5IFJUQ1ZpZGVvU2VuZGVyU3RhdHMgewotICAgIHVuc2lnbmVkIGxv
bmcga2V5RnJhbWVzU2VudDsKLSAgICB1bnNpZ25lZCBsb25nIGZyYW1lc0NhcHR1cmVkOwotICAg
IHVuc2lnbmVkIGxvbmcgZnJhbWVzU2VudDsKLSAgICB1bnNpZ25lZCBsb25nIGh1Z2VGcmFtZXNT
ZW50OwotfTsKLQotcGFydGlhbCBkaWN0aW9uYXJ5IFJUQ1ZpZGVvUmVjZWl2ZXJTdGF0cyB7Ci0g
ICAgdW5zaWduZWQgbG9uZyBrZXlGcmFtZXNSZWNlaXZlZDsKLSAgICBET01IaWdoUmVzVGltZVN0
YW1wIGVzdGltYXRlZFBsYXlvdXRUaW1lc3RhbXA7Ci0gICAgZG91YmxlIGppdHRlckJ1ZmZlckRl
bGF5OwotICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBqaXR0ZXJCdWZmZXJFbWl0dGVkQ291bnQ7Ci0g
ICAgdW5zaWduZWQgbG9uZyBmcmFtZXNSZWNlaXZlZDsKLSAgICB1bnNpZ25lZCBsb25nIGZyYW1l
c0RlY29kZWQ7Ci0gICAgdW5zaWduZWQgbG9uZyBmcmFtZXNEcm9wcGVkOwotICAgIHVuc2lnbmVk
IGxvbmcgcGFydGlhbEZyYW1lc0xvc3Q7Ci0gICAgdW5zaWduZWQgbG9uZyBmdWxsRnJhbWVzTG9z
dDsKLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ludGVyZmFjZXMvd2VicnRjLXN2Yy5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2VicnRjLXN2Yy5pZGwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjY5MWE4N2IzMGQzOWQ3ZGI0MmUyOWUwNDk2NGZiNGU4ZjdmZWZjYQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJm
YWNlcy93ZWJydGMtc3ZjLmlkbApAQCAtMCwwICsxLDEyIEBACisvLyBHRU5FUkFURUQgQ09OVEVO
VCAtIERPIE5PVCBFRElUCisvLyBDb250ZW50IHdhcyBhdXRvbWF0aWNhbGx5IGV4dHJhY3RlZCBi
eSBSZWZmeSBpbnRvIHJlZmZ5LXJlcG9ydHMKKy8vIChodHRwczovL2dpdGh1Yi5jb20vdGlkb3Vz
dC9yZWZmeS1yZXBvcnRzKQorLy8gU291cmNlOiBTY2FsYWJsZSBWaWRlbyBDb2RpbmcgKFNWQykg
RXh0ZW5zaW9uIGZvciBXZWJSVEMgKGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJydGMtc3ZjLykK
KworcGFydGlhbCBkaWN0aW9uYXJ5IFJUQ1J0cEVuY29kaW5nUGFyYW1ldGVycyB7CisgICAgICAg
ICAgICAgRE9NU3RyaW5nICAgICAgICAgICBzY2FsYWJpbGl0eU1vZGU7Cit9OworCitwYXJ0aWFs
IGRpY3Rpb25hcnkgUlRDUnRwQ29kZWNDYXBhYmlsaXR5IHsKKyAgICAgICAgICAgICBzZXF1ZW5j
ZTxET01TdHJpbmc+ICAgICAgICAgICBzY2FsYWJpbGl0eU1vZGVzOworfTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93
ZWJydGMuaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bnRlcmZhY2VzL3dlYnJ0Yy5pZGwKaW5kZXggM2IyYmU2MWNlZGM4OGI1NTljMmVhODYzODhmODZj
ZmU0NGJkYjkzYS4uZWZiMjFmNGEwY2M1NWMzMzZjMGMxNDUyOThkNDYzZDAyNjNhYTU3NSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRl
cmZhY2VzL3dlYnJ0Yy5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYnJ0Yy5pZGwKQEAgLTEzLDEyICsxMywxMyBAQCBkaWN0
aW9uYXJ5IFJUQ0NvbmZpZ3VyYXRpb24gewogfTsKIAogZW51bSBSVENJY2VDcmVkZW50aWFsVHlw
ZSB7Ci0gICJwYXNzd29yZCIsCisgICJwYXNzd29yZCIKIH07CiAKIGRpY3Rpb25hcnkgUlRDSWNl
U2VydmVyIHsKICAgcmVxdWlyZWQgKERPTVN0cmluZyBvciBzZXF1ZW5jZTxET01TdHJpbmc+KSB1
cmxzOwogICBET01TdHJpbmcgdXNlcm5hbWU7CisgIERPTVN0cmluZyBjcmVkZW50aWFsOwogICBS
VENJY2VDcmVkZW50aWFsVHlwZSBjcmVkZW50aWFsVHlwZSA9ICJwYXNzd29yZCI7CiB9OwogCkBA
IC04NCwxMSArODUsMTEgQEAgaW50ZXJmYWNlIFJUQ1BlZXJDb25uZWN0aW9uIDogRXZlbnRUYXJn
ZXQgIHsKICAgY29uc3RydWN0b3Iob3B0aW9uYWwgUlRDQ29uZmlndXJhdGlvbiBjb25maWd1cmF0
aW9uID0ge30pOwogICBQcm9taXNlPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkluaXQ+IGNyZWF0ZU9m
ZmVyKG9wdGlvbmFsIFJUQ09mZmVyT3B0aW9ucyBvcHRpb25zID0ge30pOwogICBQcm9taXNlPFJU
Q1Nlc3Npb25EZXNjcmlwdGlvbkluaXQ+IGNyZWF0ZUFuc3dlcihvcHRpb25hbCBSVENBbnN3ZXJP
cHRpb25zIG9wdGlvbnMgPSB7fSk7Ci0gIFByb21pc2U8dm9pZD4gc2V0TG9jYWxEZXNjcmlwdGlv
bihvcHRpb25hbCBSVENTZXNzaW9uRGVzY3JpcHRpb25Jbml0IGRlc2NyaXB0aW9uID0ge30pOwor
ICBQcm9taXNlPHZvaWQ+IHNldExvY2FsRGVzY3JpcHRpb24ob3B0aW9uYWwgUlRDTG9jYWxTZXNz
aW9uRGVzY3JpcHRpb25Jbml0IGRlc2NyaXB0aW9uID0ge30pOwogICByZWFkb25seSBhdHRyaWJ1
dGUgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uPyBsb2NhbERlc2NyaXB0aW9uOwogICByZWFkb25seSBh
dHRyaWJ1dGUgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uPyBjdXJyZW50TG9jYWxEZXNjcmlwdGlvbjsK
ICAgcmVhZG9ubHkgYXR0cmlidXRlIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbj8gcGVuZGluZ0xvY2Fs
RGVzY3JpcHRpb247Ci0gIFByb21pc2U8dm9pZD4gc2V0UmVtb3RlRGVzY3JpcHRpb24ob3B0aW9u
YWwgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uSW5pdCBkZXNjcmlwdGlvbiA9IHt9KTsKKyAgUHJvbWlz
ZTx2b2lkPiBzZXRSZW1vdGVEZXNjcmlwdGlvbihSVENTZXNzaW9uRGVzY3JpcHRpb25Jbml0IGRl
c2NyaXB0aW9uKTsKICAgcmVhZG9ubHkgYXR0cmlidXRlIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbj8g
cmVtb3RlRGVzY3JpcHRpb247CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBSVENTZXNzaW9uRGVzY3Jp
cHRpb24/IGN1cnJlbnRSZW1vdGVEZXNjcmlwdGlvbjsKICAgcmVhZG9ubHkgYXR0cmlidXRlIFJU
Q1Nlc3Npb25EZXNjcmlwdGlvbj8gcGVuZGluZ1JlbW90ZURlc2NyaXB0aW9uOwpAQCAtMTE4LDEy
ICsxMTksMTIgQEAgaW50ZXJmYWNlIFJUQ1BlZXJDb25uZWN0aW9uIDogRXZlbnRUYXJnZXQgIHsK
ICAgUHJvbWlzZTx2b2lkPiBjcmVhdGVPZmZlcihSVENTZXNzaW9uRGVzY3JpcHRpb25DYWxsYmFj
ayBzdWNjZXNzQ2FsbGJhY2ssCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRDUGVlckNv
bm5lY3Rpb25FcnJvckNhbGxiYWNrIGZhaWx1cmVDYWxsYmFjaywKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBvcHRpb25hbCBSVENPZmZlck9wdGlvbnMgb3B0aW9ucyA9IHt9KTsKLSAgUHJv
bWlzZTx2b2lkPiBzZXRMb2NhbERlc2NyaXB0aW9uKG9wdGlvbmFsIFJUQ1Nlc3Npb25EZXNjcmlw
dGlvbkluaXQgZGVzY3JpcHRpb24gPSB7fSwKKyAgUHJvbWlzZTx2b2lkPiBzZXRMb2NhbERlc2Ny
aXB0aW9uKG9wdGlvbmFsIFJUQ0xvY2FsU2Vzc2lvbkRlc2NyaXB0aW9uSW5pdCBkZXNjcmlwdGlv
biA9IHt9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVm9pZEZ1bmN0aW9u
IHN1Y2Nlc3NDYWxsYmFjaywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJU
Q1BlZXJDb25uZWN0aW9uRXJyb3JDYWxsYmFjayBmYWlsdXJlQ2FsbGJhY2spOwogICBQcm9taXNl
PHZvaWQ+IGNyZWF0ZUFuc3dlcihSVENTZXNzaW9uRGVzY3JpcHRpb25DYWxsYmFjayBzdWNjZXNz
Q2FsbGJhY2ssCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJUQ1BlZXJDb25uZWN0aW9u
RXJyb3JDYWxsYmFjayBmYWlsdXJlQ2FsbGJhY2spOwotICBQcm9taXNlPHZvaWQ+IHNldFJlbW90
ZURlc2NyaXB0aW9uKG9wdGlvbmFsIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkluaXQgZGVzY3JpcHRp
b24gPSB7fSwKKyAgUHJvbWlzZTx2b2lkPiBzZXRSZW1vdGVEZXNjcmlwdGlvbihSVENTZXNzaW9u
RGVzY3JpcHRpb25Jbml0IGRlc2NyaXB0aW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFZvaWRGdW5jdGlvbiBzdWNjZXNzQ2FsbGJhY2ssCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgUlRDUGVlckNvbm5lY3Rpb25FcnJvckNhbGxiYWNrIGZhaWx1
cmVDYWxsYmFjayk7CiAgIFByb21pc2U8dm9pZD4gYWRkSWNlQ2FuZGlkYXRlKFJUQ0ljZUNhbmRp
ZGF0ZUluaXQgY2FuZGlkYXRlLApAQCAtMTQ5LDEzICsxNTAsMTggQEAgZW51bSBSVENTZHBUeXBl
IHsKIAogW0V4cG9zZWQ9V2luZG93XQogaW50ZXJmYWNlIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiB7
Ci0gIGNvbnN0cnVjdG9yKG9wdGlvbmFsIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkluaXQgZGVzY3Jp
cHRpb25Jbml0RGljdCA9IHt9KTsKKyAgY29uc3RydWN0b3IoUlRDU2Vzc2lvbkRlc2NyaXB0aW9u
SW5pdCBkZXNjcmlwdGlvbkluaXREaWN0KTsKICAgcmVhZG9ubHkgYXR0cmlidXRlIFJUQ1NkcFR5
cGUgdHlwZTsKICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBzZHA7CiAgIFtEZWZhdWx0
XSBvYmplY3QgdG9KU09OKCk7CiB9OwogCiBkaWN0aW9uYXJ5IFJUQ1Nlc3Npb25EZXNjcmlwdGlv
bkluaXQgeworICByZXF1aXJlZCBSVENTZHBUeXBlIHR5cGU7CisgIERPTVN0cmluZyBzZHAgPSAi
IjsKK307CisKK2RpY3Rpb25hcnkgUlRDTG9jYWxTZXNzaW9uRGVzY3JpcHRpb25Jbml0IHsKICAg
UlRDU2RwVHlwZSB0eXBlOwogICBET01TdHJpbmcgc2RwID0gIiI7CiB9OwpAQCAtMjI4LDcgKzIz
NCw4IEBAIGludGVyZmFjZSBSVENQZWVyQ29ubmVjdGlvbkljZUVycm9yRXZlbnQgOiBFdmVudCB7
CiB9OwogCiBkaWN0aW9uYXJ5IFJUQ1BlZXJDb25uZWN0aW9uSWNlRXJyb3JFdmVudEluaXQgOiBF
dmVudEluaXQgewotICBET01TdHJpbmcgaG9zdENhbmRpZGF0ZTsKKyAgRE9NU3RyaW5nPyBhZGRy
ZXNzOworICB1bnNpZ25lZCBzaG9ydD8gcG9ydDsKICAgRE9NU3RyaW5nIHVybDsKICAgcmVxdWly
ZWQgdW5zaWduZWQgc2hvcnQgZXJyb3JDb2RlOwogICBVU1ZTdHJpbmcgc3RhdHVzVGV4dDsKQEAg
LTU1OSwxMiArNTY2LDEyIEBAIGludGVyZmFjZSBSVENEVE1GU2VuZGVyIDogRXZlbnRUYXJnZXQg
ewogCiBbRXhwb3NlZD1XaW5kb3ddCiBpbnRlcmZhY2UgUlRDRFRNRlRvbmVDaGFuZ2VFdmVudCA6
IEV2ZW50IHsKLSAgY29uc3RydWN0b3IoRE9NU3RyaW5nIHR5cGUsIFJUQ0RUTUZUb25lQ2hhbmdl
RXZlbnRJbml0IGV2ZW50SW5pdERpY3QpOworICBjb25zdHJ1Y3RvcihET01TdHJpbmcgdHlwZSwg
b3B0aW9uYWwgUlRDRFRNRlRvbmVDaGFuZ2VFdmVudEluaXQgZXZlbnRJbml0RGljdCA9IHt9KTsK
ICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB0b25lOwogfTsKIAogZGljdGlvbmFyeSBS
VENEVE1GVG9uZUNoYW5nZUV2ZW50SW5pdCA6IEV2ZW50SW5pdCB7Ci0gIHJlcXVpcmVkIERPTVN0
cmluZyB0b25lOworICBET01TdHJpbmcgdG9uZSA9ICIiOwogfTsKIAogcGFydGlhbCBpbnRlcmZh
Y2UgUlRDUGVlckNvbm5lY3Rpb24gewpAQCAtNTg3LDcgKzU5NCw2IEBAIGludGVyZmFjZSBSVENF
cnJvciA6IERPTUV4Y2VwdGlvbiB7CiAgIGNvbnN0cnVjdG9yKFJUQ0Vycm9ySW5pdCBpbml0LCBv
cHRpb25hbCBET01TdHJpbmcgbWVzc2FnZSA9ICIiKTsKICAgcmVhZG9ubHkgYXR0cmlidXRlIFJU
Q0Vycm9yRGV0YWlsVHlwZSBlcnJvckRldGFpbDsKICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmc/
IHNkcExpbmVOdW1iZXI7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nPyBodHRwUmVxdWVzdFN0
YXR1c0NvZGU7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nPyBzY3RwQ2F1c2VDb2RlOwogICBy
ZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZz8gcmVjZWl2ZWRBbGVydDsKICAgcmVhZG9u
bHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmc/IHNlbnRBbGVydDsKQEAgLTU5Niw3ICs2MDIsNiBA
QCBpbnRlcmZhY2UgUlRDRXJyb3IgOiBET01FeGNlcHRpb24gewogZGljdGlvbmFyeSBSVENFcnJv
ckluaXQgewogICByZXF1aXJlZCBSVENFcnJvckRldGFpbFR5cGUgZXJyb3JEZXRhaWw7CiAgIGxv
bmcgc2RwTGluZU51bWJlcjsKLSAgbG9uZyBodHRwUmVxdWVzdFN0YXR1c0NvZGU7CiAgIGxvbmcg
c2N0cENhdXNlQ29kZTsKICAgdW5zaWduZWQgbG9uZyByZWNlaXZlZEFsZXJ0OwogICB1bnNpZ25l
ZCBsb25nIHNlbnRBbGVydDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWJ4ci1hci1tb2R1bGUuaWRsIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYnhyLWFy
LW1vZHVsZS5pZGwKaW5kZXggYzU4OTlkNjU3YjI5NzI2MTEyNTkwMjc3M2U4NTRjMThiZGYwZGYy
YS4uMmE1MjVkMmRhODljMjE1MDU3NDA3MDAyYjZlY2RkMDhjODQ3MmY5YyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dl
YnhyLWFyLW1vZHVsZS5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYnhyLWFyLW1vZHVsZS5pZGwKQEAgLTEzLDMgKzEzLDEz
IEBAIHBhcnRpYWwgaW50ZXJmYWNlIFhSU2Vzc2lvbiB7CiAgIC8vIEF0dHJpYnV0ZXMKICAgcmVh
ZG9ubHkgYXR0cmlidXRlIFhSRW52aXJvbm1lbnRCbGVuZE1vZGUgZW52aXJvbm1lbnRCbGVuZE1v
ZGU7CiB9OworCitlbnVtIFhSSW50ZXJhY3Rpb25Nb2RlIHsKKyAgICAic2NyZWVuLXNwYWNlIiwK
KyAgICAid29ybGQtc3BhY2UiLAorfTsKKworcGFydGlhbCBpbnRlcmZhY2UgWFJTZXNzaW9uIHsK
KyAgLy8gQXR0cmlidXRlcworICByZWFkb25seSBhdHRyaWJ1dGUgWFJJbnRlcmFjdGlvbk1vZGUg
aW50ZXJhY3Rpb25Nb2RlOworfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWJ4ci5pZGwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2VieHIuaWRsCmluZGV4
IDAzNjAzMDkwNzQ4MTg3OGRiNzA0MjY4ODhhYTBlM2FiOTlkNWMxNzguLmY3MjNhY2MwY2U1OGIz
YWE1NjU5NmZmZDMzNGE5M2ViNTk2ZWY0NjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWJ4ci5pZGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYnhy
LmlkbApAQCAtNCwxMCArNCwxMCBAQAogLy8gU291cmNlOiBXZWJYUiBEZXZpY2UgQVBJIChodHRw
czovL2ltbWVyc2l2ZS13ZWIuZ2l0aHViLmlvL3dlYnhyLykKIAogcGFydGlhbCBpbnRlcmZhY2Ug
TmF2aWdhdG9yIHsKLSAgW1NlY3VyZUNvbnRleHQsIFNhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJp
YnV0ZSBYUiB4cjsKKyAgW1NlY3VyZUNvbnRleHQsIFNhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJp
YnV0ZSBYUlN5c3RlbSB4cjsKIH07CiAKLVtTZWN1cmVDb250ZXh0LCBFeHBvc2VkPVdpbmRvd10g
aW50ZXJmYWNlIFhSIDogRXZlbnRUYXJnZXQgeworW1NlY3VyZUNvbnRleHQsIEV4cG9zZWQ9V2lu
ZG93XSBpbnRlcmZhY2UgWFJTeXN0ZW0gOiBFdmVudFRhcmdldCB7CiAgIC8vIE1ldGhvZHMKICAg
UHJvbWlzZTxib29sZWFuPiBpc1Nlc3Npb25TdXBwb3J0ZWQoWFJTZXNzaW9uTW9kZSBtb2RlKTsK
ICAgW05ld09iamVjdF0gUHJvbWlzZTxYUlNlc3Npb24+IHJlcXVlc3RTZXNzaW9uKFhSU2Vzc2lv
bk1vZGUgbW9kZSwgb3B0aW9uYWwgWFJTZXNzaW9uSW5pdCBvcHRpb25zID0ge30pOwpAQCAtNDMs
NyArNDMsNyBAQCBlbnVtIFhSVmlzaWJpbGl0eVN0YXRlIHsKICAgdm9pZCB1cGRhdGVSZW5kZXJT
dGF0ZShvcHRpb25hbCBYUlJlbmRlclN0YXRlSW5pdCBzdGF0ZSA9IHt9KTsKICAgW05ld09iamVj
dF0gUHJvbWlzZTxYUlJlZmVyZW5jZVNwYWNlPiByZXF1ZXN0UmVmZXJlbmNlU3BhY2UoWFJSZWZl
cmVuY2VTcGFjZVR5cGUgdHlwZSk7CiAKLSAgbG9uZyByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoWFJG
cmFtZVJlcXVlc3RDYWxsYmFjayBjYWxsYmFjayk7CisgIHVuc2lnbmVkIGxvbmcgcmVxdWVzdEFu
aW1hdGlvbkZyYW1lKFhSRnJhbWVSZXF1ZXN0Q2FsbGJhY2sgY2FsbGJhY2spOwogICB2b2lkIGNh
bmNlbEFuaW1hdGlvbkZyYW1lKGxvbmcgaGFuZGxlKTsKIAogICBQcm9taXNlPHZvaWQ+IGVuZCgp
OwpAQCAtNjUsNiArNjUsNyBAQCBkaWN0aW9uYXJ5IFhSUmVuZGVyU3RhdGVJbml0IHsKICAgZG91
YmxlIGRlcHRoRmFyOwogICBkb3VibGUgaW5saW5lVmVydGljYWxGaWVsZE9mVmlldzsKICAgWFJX
ZWJHTExheWVyPyBiYXNlTGF5ZXI7CisgIHNlcXVlbmNlPFhSTGF5ZXI+PyBsYXllcnM7CiB9Owog
CiBbU2VjdXJlQ29udGV4dCwgRXhwb3NlZD1XaW5kb3ddIGludGVyZmFjZSBYUlJlbmRlclN0YXRl
IHsKQEAgLTE3Miw2ICsxNzMsOSBAQCBpbnRlcmZhY2UgWFJJbnB1dFNvdXJjZUFycmF5IHsKICAg
Z2V0dGVyIFhSSW5wdXRTb3VyY2UodW5zaWduZWQgbG9uZyBpbmRleCk7CiB9OwogCitbU2VjdXJl
Q29udGV4dCwgRXhwb3NlZD1XaW5kb3ddCitpbnRlcmZhY2UgWFJMYXllciA6IEV2ZW50VGFyZ2V0
IHt9OworCiB0eXBlZGVmIChXZWJHTFJlbmRlcmluZ0NvbnRleHQgb3IKICAgICAgICAgIFdlYkdM
MlJlbmRlcmluZ0NvbnRleHQpIFhSV2ViR0xSZW5kZXJpbmdDb250ZXh0OwogCkBAIC0xODUsNyAr
MTg5LDcgQEAgZGljdGlvbmFyeSBYUldlYkdMTGF5ZXJJbml0IHsKIH07CiAKIFtTZWN1cmVDb250
ZXh0LCBFeHBvc2VkPVdpbmRvd10KLWludGVyZmFjZSBYUldlYkdMTGF5ZXIgeworaW50ZXJmYWNl
IFhSV2ViR0xMYXllcjogWFJMYXllciB7CiAgIGNvbnN0cnVjdG9yKFhSU2Vzc2lvbiBzZXNzaW9u
LAogICAgICAgICAgICAgIFhSV2ViR0xSZW5kZXJpbmdDb250ZXh0IGNvbnRleHQsCiAgICAgICAg
ICAgICAgb3B0aW9uYWwgWFJXZWJHTExheWVySW5pdCBsYXllckluaXQgPSB7fSk7CkBAIC0yNTgs
NSArMjYyLDE2IEBAIGludGVyZmFjZSBYUlJlZmVyZW5jZVNwYWNlRXZlbnQgOiBFdmVudCB7CiAK
IGRpY3Rpb25hcnkgWFJSZWZlcmVuY2VTcGFjZUV2ZW50SW5pdCA6IEV2ZW50SW5pdCB7CiAgIHJl
cXVpcmVkIFhSUmVmZXJlbmNlU3BhY2UgcmVmZXJlbmNlU3BhY2U7Ci0gIFhSUmlnaWRUcmFuc2Zv
cm0gdHJhbnNmb3JtOworICBYUlJpZ2lkVHJhbnNmb3JtPyB0cmFuc2Zvcm0gPSBudWxsOworfTsK
KworZGljdGlvbmFyeSBYUlBlcm1pc3Npb25EZXNjcmlwdG9yOiBQZXJtaXNzaW9uRGVzY3JpcHRv
ciB7CisgIFhSU2Vzc2lvbk1vZGUgbW9kZTsKKyAgc2VxdWVuY2U8YW55PiByZXF1aXJlZEZlYXR1
cmVzOworICBzZXF1ZW5jZTxhbnk+IG9wdGlvbmFsRmVhdHVyZXM7Cit9OworCitbRXhwb3NlZD1X
aW5kb3ddCitpbnRlcmZhY2UgWFJQZXJtaXNzaW9uU3RhdHVzOiBQZXJtaXNzaW9uU3RhdHVzIHsK
KyAgYXR0cmlidXRlIEZyb3plbkFycmF5PGFueT4gZ3JhbnRlZDsKIH07CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd29y
a2xldHMuaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bnRlcmZhY2VzL3dvcmtsZXRzLmlkbAppbmRleCAxNjE4NzY2NGIzYjQxMjQ3NThjODRkMDU0YjAy
YjhkZGJmNTg1NTA4Li5mODllYWNkNTBiZDU4YzAyODYwYzg0YjZlNGM0ODZhYjk3OGE1MDE4IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2lu
dGVyZmFjZXMvd29ya2xldHMuaWRsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93b3JrbGV0cy5pZGwKQEAgLTksNyArOSw3IEBAIGlu
dGVyZmFjZSBXb3JrbGV0R2xvYmFsU2NvcGUgewogCiBbRXhwb3NlZD1XaW5kb3ddCiBpbnRlcmZh
Y2UgV29ya2xldCB7Ci0gICAgW05ld09iamVjdF0gUHJvbWlzZTx2b2lkPiBhZGRNb2R1bGUoVVNW
U3RyaW5nIG1vZHVsZVVSTCwgb3B0aW9uYWwgV29ya2xldE9wdGlvbnMgb3B0aW9ucyk7CisgICAg
W05ld09iamVjdF0gUHJvbWlzZTx2b2lkPiBhZGRNb2R1bGUoVVNWU3RyaW5nIG1vZHVsZVVSTCwg
b3B0aW9uYWwgV29ya2xldE9wdGlvbnMgb3B0aW9ucyA9IHt9KTsKIH07CiAKIGRpY3Rpb25hcnkg
V29ya2xldE9wdGlvbnMgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5kb3ct
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5kb3ctZXhwZWN0ZWQudHh0Cmlu
ZGV4IGRiNDEwN2MyMTNiYWQ3ZjkwYTQ3OGMxODBmYjQzNmY3NDY5MzFiNjcuLmNhNGIwNTU2ODBj
OGRkZGY3OWJlN2UxODgxMjU4OTU0NDVkYzdlY2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL2lkbGhh
cm5lc3Mud2luZG93LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9pZGxoYXJuZXNzLndpbmRv
dy1leHBlY3RlZC50eHQKQEAgLTQsNyArNCw3IEBAIFBBU1MgaWRsX3Rlc3QgdmFsaWRhdGlvbgog
UEFTUyBFbGVtZW50IGluY2x1ZGVzIFBhcmVudE5vZGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVl
IAogUEFTUyBFbGVtZW50IGluY2x1ZGVzIE5vbkRvY3VtZW50VHlwZUNoaWxkTm9kZTogbWVtYmVy
IG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNTIEVsZW1lbnQgaW5jbHVkZXMgQ2hpbGROb2RlOiBtZW1i
ZXIgbmFtZXMgYXJlIHVuaXF1ZSAKLVBBU1MgRWxlbWVudCBpbmNsdWRlcyBTbG90YWJsZTogbWVt
YmVyIG5hbWVzIGFyZSB1bmlxdWUgCitQQVNTIEVsZW1lbnQgaW5jbHVkZXMgU2xvdHRhYmxlOiBt
ZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKIFBBU1Mg
SW50ZXJzZWN0aW9uT2JzZXJ2ZXIgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCiBQQVNTIEludGVy
c2VjdGlvbk9ic2VydmVyIGludGVyZmFjZSBvYmplY3QgbmFtZSAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWF0aG1sL3JlbGF0aW9ucy9o
dG1sNS10cmVlL21hdGgtZ2xvYmFsLWV2ZW50LWhhbmRsZXJzLnRlbnRhdGl2ZS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21hdGhtbC9y
ZWxhdGlvbnMvaHRtbDUtdHJlZS9tYXRoLWdsb2JhbC1ldmVudC1oYW5kbGVycy50ZW50YXRpdmUt
ZXhwZWN0ZWQudHh0CmluZGV4IDg4ZGQwNzVhZTUyYzZlMjRlZDZiZDA0MGJlNjExN2M4ZGEwOGZm
M2EuLmRhMjgwNmQyMjVhMWI5NjdjYzQwOWFmYWFjYjE3Mjc3NDk3NDEwMDYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWF0aG1sL3JlbGF0
aW9ucy9odG1sNS10cmVlL21hdGgtZ2xvYmFsLWV2ZW50LWhhbmRsZXJzLnRlbnRhdGl2ZS1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9tYXRobWwvcmVsYXRpb25zL2h0bWw1LXRyZWUvbWF0aC1nbG9iYWwtZXZlbnQtaGFuZGxlcnMu
dGVudGF0aXZlLWV4cGVjdGVkLnR4dApAQCAtMjA0LDExICsyMDQsNiBAQCBQQVNTIG9ubW91c2V1
cDogdGhlIGRlZmF1bHQgdmFsdWUgbXVzdCBiZSBudWxsCiBQQVNTIG9ubW91c2V1cDogdGhlIGNv
bnRlbnQgYXR0cmlidXRlIG11c3QgYmUgY29tcGlsZWQgaW50byBhIGZ1bmN0aW9uIGFzIHRoZSBj
b3JyZXNwb25kaW5nIHByb3BlcnR5IAogUEFTUyBvbm1vdXNldXA6IGR5bmFtaWMgY2hhbmdlcyBv
biB0aGUgYXR0cmlidXRlIAogUEFTUyBvbm1vdXNldXA6IGRpc3BhdGNoaW5nIGFuIEV2ZW50IGF0
IGEgPG1hdGg+IGVsZW1lbnQgbXVzdCB0cmlnZ2VyIGVsZW1lbnQub25tb3VzZXVwIAotUEFTUyBv
bndoZWVsOiBtdXN0IGJlIG9uIHRoZSBhcHByb3ByaWF0ZSBsb2NhdGlvbnMgZm9yIEdsb2JhbEV2
ZW50SGFuZGxlcnMgCi1QQVNTIG9ud2hlZWw6IHRoZSBkZWZhdWx0IHZhbHVlIG11c3QgYmUgbnVs
bCAKLVBBU1Mgb253aGVlbDogdGhlIGNvbnRlbnQgYXR0cmlidXRlIG11c3QgYmUgY29tcGlsZWQg
aW50byBhIGZ1bmN0aW9uIGFzIHRoZSBjb3JyZXNwb25kaW5nIHByb3BlcnR5IAotUEFTUyBvbndo
ZWVsOiBkeW5hbWljIGNoYW5nZXMgb24gdGhlIGF0dHJpYnV0ZSAKLVBBU1Mgb253aGVlbDogZGlz
cGF0Y2hpbmcgYW4gRXZlbnQgYXQgYSA8bWF0aD4gZWxlbWVudCBtdXN0IHRyaWdnZXIgZWxlbWVu
dC5vbndoZWVsIAogUEFTUyBvbnBhdXNlOiBtdXN0IGJlIG9uIHRoZSBhcHByb3ByaWF0ZSBsb2Nh
dGlvbnMgZm9yIEdsb2JhbEV2ZW50SGFuZGxlcnMgCiBQQVNTIG9ucGF1c2U6IHRoZSBkZWZhdWx0
IHZhbHVlIG11c3QgYmUgbnVsbCAKIFBBU1Mgb25wYXVzZTogdGhlIGNvbnRlbnQgYXR0cmlidXRl
IG11c3QgYmUgY29tcGlsZWQgaW50byBhIGZ1bmN0aW9uIGFzIHRoZSBjb3JyZXNwb25kaW5nIHBy
b3BlcnR5IApAQCAtMzA5LDQgKzMwNCwyOSBAQCBQQVNTIG9ud2FpdGluZzogdGhlIGRlZmF1bHQg
dmFsdWUgbXVzdCBiZSBudWxsCiBQQVNTIG9ud2FpdGluZzogdGhlIGNvbnRlbnQgYXR0cmlidXRl
IG11c3QgYmUgY29tcGlsZWQgaW50byBhIGZ1bmN0aW9uIGFzIHRoZSBjb3JyZXNwb25kaW5nIHBy
b3BlcnR5IAogUEFTUyBvbndhaXRpbmc6IGR5bmFtaWMgY2hhbmdlcyBvbiB0aGUgYXR0cmlidXRl
IAogUEFTUyBvbndhaXRpbmc6IGRpc3BhdGNoaW5nIGFuIEV2ZW50IGF0IGEgPG1hdGg+IGVsZW1l
bnQgbXVzdCB0cmlnZ2VyIGVsZW1lbnQub253YWl0aW5nIAorRkFJTCBvbndlYmtpdGFuaW1hdGlv
bmVuZDogbXVzdCBiZSBvbiB0aGUgYXBwcm9wcmlhdGUgbG9jYXRpb25zIGZvciBHbG9iYWxFdmVu
dEhhbmRsZXJzIGFzc2VydF9mYWxzZTogRWxlbWVudC5wcm90b3R5cGUgbXVzdCBub3QgY29udGFp
biBhICJvbndlYmtpdGFuaW1hdGlvbmVuZCIgcHJvcGVydHkgZXhwZWN0ZWQgZmFsc2UgZ290IHRy
dWUKK1BBU1Mgb253ZWJraXRhbmltYXRpb25lbmQ6IHRoZSBkZWZhdWx0IHZhbHVlIG11c3QgYmUg
bnVsbCAKK1BBU1Mgb253ZWJraXRhbmltYXRpb25lbmQ6IHRoZSBjb250ZW50IGF0dHJpYnV0ZSBt
dXN0IGJlIGNvbXBpbGVkIGludG8gYSBmdW5jdGlvbiBhcyB0aGUgY29ycmVzcG9uZGluZyBwcm9w
ZXJ0eSAKK1BBU1Mgb253ZWJraXRhbmltYXRpb25lbmQ6IGR5bmFtaWMgY2hhbmdlcyBvbiB0aGUg
YXR0cmlidXRlIAorRkFJTCBvbndlYmtpdGFuaW1hdGlvbmVuZDogZGlzcGF0Y2hpbmcgYW4gRXZl
bnQgYXQgYSA8bWF0aD4gZWxlbWVudCBtdXN0IHRyaWdnZXIgZWxlbWVudC5vbndlYmtpdGFuaW1h
dGlvbmVuZCBhc3NlcnRfZXF1YWxzOiBUaGUgZXZlbnQgbXVzdCBiZSBmaXJlZCBhdCB0aGUgPG1h
dGg+IGVsZW1lbnQgZXhwZWN0ZWQgKG9iamVjdCkgRWxlbWVudCBub2RlIDxtYXRoPjwvbWF0aD4g
YnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKK0ZBSUwgb253ZWJraXRhbmltYXRpb25pdGVy
YXRpb246IG11c3QgYmUgb24gdGhlIGFwcHJvcHJpYXRlIGxvY2F0aW9ucyBmb3IgR2xvYmFsRXZl
bnRIYW5kbGVycyBhc3NlcnRfZmFsc2U6IEVsZW1lbnQucHJvdG90eXBlIG11c3Qgbm90IGNvbnRh
aW4gYSAib253ZWJraXRhbmltYXRpb25pdGVyYXRpb24iIHByb3BlcnR5IGV4cGVjdGVkIGZhbHNl
IGdvdCB0cnVlCitQQVNTIG9ud2Via2l0YW5pbWF0aW9uaXRlcmF0aW9uOiB0aGUgZGVmYXVsdCB2
YWx1ZSBtdXN0IGJlIG51bGwgCitQQVNTIG9ud2Via2l0YW5pbWF0aW9uaXRlcmF0aW9uOiB0aGUg
Y29udGVudCBhdHRyaWJ1dGUgbXVzdCBiZSBjb21waWxlZCBpbnRvIGEgZnVuY3Rpb24gYXMgdGhl
IGNvcnJlc3BvbmRpbmcgcHJvcGVydHkgCitQQVNTIG9ud2Via2l0YW5pbWF0aW9uaXRlcmF0aW9u
OiBkeW5hbWljIGNoYW5nZXMgb24gdGhlIGF0dHJpYnV0ZSAKK0ZBSUwgb253ZWJraXRhbmltYXRp
b25pdGVyYXRpb246IGRpc3BhdGNoaW5nIGFuIEV2ZW50IGF0IGEgPG1hdGg+IGVsZW1lbnQgbXVz
dCB0cmlnZ2VyIGVsZW1lbnQub253ZWJraXRhbmltYXRpb25pdGVyYXRpb24gYXNzZXJ0X2VxdWFs
czogVGhlIGV2ZW50IG11c3QgYmUgZmlyZWQgYXQgdGhlIDxtYXRoPiBlbGVtZW50IGV4cGVjdGVk
IChvYmplY3QpIEVsZW1lbnQgbm9kZSA8bWF0aD48L21hdGg+IGJ1dCBnb3QgKHVuZGVmaW5lZCkg
dW5kZWZpbmVkCitGQUlMIG9ud2Via2l0YW5pbWF0aW9uc3RhcnQ6IG11c3QgYmUgb24gdGhlIGFw
cHJvcHJpYXRlIGxvY2F0aW9ucyBmb3IgR2xvYmFsRXZlbnRIYW5kbGVycyBhc3NlcnRfZmFsc2U6
IEVsZW1lbnQucHJvdG90eXBlIG11c3Qgbm90IGNvbnRhaW4gYSAib253ZWJraXRhbmltYXRpb25z
dGFydCIgcHJvcGVydHkgZXhwZWN0ZWQgZmFsc2UgZ290IHRydWUKK1BBU1Mgb253ZWJraXRhbmlt
YXRpb25zdGFydDogdGhlIGRlZmF1bHQgdmFsdWUgbXVzdCBiZSBudWxsIAorUEFTUyBvbndlYmtp
dGFuaW1hdGlvbnN0YXJ0OiB0aGUgY29udGVudCBhdHRyaWJ1dGUgbXVzdCBiZSBjb21waWxlZCBp
bnRvIGEgZnVuY3Rpb24gYXMgdGhlIGNvcnJlc3BvbmRpbmcgcHJvcGVydHkgCitQQVNTIG9ud2Vi
a2l0YW5pbWF0aW9uc3RhcnQ6IGR5bmFtaWMgY2hhbmdlcyBvbiB0aGUgYXR0cmlidXRlIAorRkFJ
TCBvbndlYmtpdGFuaW1hdGlvbnN0YXJ0OiBkaXNwYXRjaGluZyBhbiBFdmVudCBhdCBhIDxtYXRo
PiBlbGVtZW50IG11c3QgdHJpZ2dlciBlbGVtZW50Lm9ud2Via2l0YW5pbWF0aW9uc3RhcnQgYXNz
ZXJ0X2VxdWFsczogVGhlIGV2ZW50IG11c3QgYmUgZmlyZWQgYXQgdGhlIDxtYXRoPiBlbGVtZW50
IGV4cGVjdGVkIChvYmplY3QpIEVsZW1lbnQgbm9kZSA8bWF0aD48L21hdGg+IGJ1dCBnb3QgKHVu
ZGVmaW5lZCkgdW5kZWZpbmVkCitGQUlMIG9ud2Via2l0dHJhbnNpdGlvbmVuZDogbXVzdCBiZSBv
biB0aGUgYXBwcm9wcmlhdGUgbG9jYXRpb25zIGZvciBHbG9iYWxFdmVudEhhbmRsZXJzIGFzc2Vy
dF9mYWxzZTogRWxlbWVudC5wcm90b3R5cGUgbXVzdCBub3QgY29udGFpbiBhICJvbndlYmtpdHRy
YW5zaXRpb25lbmQiIHByb3BlcnR5IGV4cGVjdGVkIGZhbHNlIGdvdCB0cnVlCitQQVNTIG9ud2Vi
a2l0dHJhbnNpdGlvbmVuZDogdGhlIGRlZmF1bHQgdmFsdWUgbXVzdCBiZSBudWxsIAorUEFTUyBv
bndlYmtpdHRyYW5zaXRpb25lbmQ6IHRoZSBjb250ZW50IGF0dHJpYnV0ZSBtdXN0IGJlIGNvbXBp
bGVkIGludG8gYSBmdW5jdGlvbiBhcyB0aGUgY29ycmVzcG9uZGluZyBwcm9wZXJ0eSAKK1BBU1Mg
b253ZWJraXR0cmFuc2l0aW9uZW5kOiBkeW5hbWljIGNoYW5nZXMgb24gdGhlIGF0dHJpYnV0ZSAK
K0ZBSUwgb253ZWJraXR0cmFuc2l0aW9uZW5kOiBkaXNwYXRjaGluZyBhbiBFdmVudCBhdCBhIDxt
YXRoPiBlbGVtZW50IG11c3QgdHJpZ2dlciBlbGVtZW50Lm9ud2Via2l0dHJhbnNpdGlvbmVuZCBh
c3NlcnRfZXF1YWxzOiBUaGUgZXZlbnQgbXVzdCBiZSBmaXJlZCBhdCB0aGUgPG1hdGg+IGVsZW1l
bnQgZXhwZWN0ZWQgKG9iamVjdCkgRWxlbWVudCBub2RlIDxtYXRoPjwvbWF0aD4gYnV0IGdvdCAo
dW5kZWZpbmVkKSB1bmRlZmluZWQKK1BBU1Mgb253aGVlbDogbXVzdCBiZSBvbiB0aGUgYXBwcm9w
cmlhdGUgbG9jYXRpb25zIGZvciBHbG9iYWxFdmVudEhhbmRsZXJzIAorUEFTUyBvbndoZWVsOiB0
aGUgZGVmYXVsdCB2YWx1ZSBtdXN0IGJlIG51bGwgCitQQVNTIG9ud2hlZWw6IHRoZSBjb250ZW50
IGF0dHJpYnV0ZSBtdXN0IGJlIGNvbXBpbGVkIGludG8gYSBmdW5jdGlvbiBhcyB0aGUgY29ycmVz
cG9uZGluZyBwcm9wZXJ0eSAKK1BBU1Mgb253aGVlbDogZHluYW1pYyBjaGFuZ2VzIG9uIHRoZSBh
dHRyaWJ1dGUgCitQQVNTIG9ud2hlZWw6IGRpc3BhdGNoaW5nIGFuIEV2ZW50IGF0IGEgPG1hdGg+
IGVsZW1lbnQgbXVzdCB0cmlnZ2VyIGVsZW1lbnQub253aGVlbCAKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVj
b3JkL2lkbGhhcm5lc3Mud2luZG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC9pZGxoYXJuZXNzLndp
bmRvdy1leHBlY3RlZC50eHQKaW5kZXggOTdhYTFlMjU1NmMwMzNjMmM1ZTMyYzM2ODU4NzIyMDE4
N2U0ZjgwZS4uZjhlYjk1NmFlMWExNjYzNmYyNzk3OGJmODc2NjZiZmM4ODU0NDIxMyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNh
cHR1cmUtcmVjb3JkL2lkbGhhcm5lc3Mud2luZG93LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcmQv
aWRsaGFybmVzcy53aW5kb3ctZXhwZWN0ZWQudHh0CkBAIC0xOCw2ICsxOCw3IEBAIEZBSUwgTWVk
aWFSZWNvcmRlciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnJlc3VtZSBhc3NlcnRfdHJ1ZTogVGhl
IHByb3RvdHlwZSBvYmplCiBQQVNTIE1lZGlhUmVjb3JkZXIgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
b25lcnJvciAKIEZBSUwgTWVkaWFSZWNvcmRlciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSB2aWRlb0Jp
dHNQZXJTZWNvbmQgYXNzZXJ0X3RydWU6IFRoZSBwcm90b3R5cGUgb2JqZWN0IG11c3QgaGF2ZSBh
IHByb3BlcnR5ICJ2aWRlb0JpdHNQZXJTZWNvbmQiIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCiBG
QUlMIE1lZGlhUmVjb3JkZXIgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgYXVkaW9CaXRzUGVyU2Vjb25k
IGFzc2VydF90cnVlOiBUaGUgcHJvdG90eXBlIG9iamVjdCBtdXN0IGhhdmUgYSBwcm9wZXJ0eSAi
YXVkaW9CaXRzUGVyU2Vjb25kIiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBNZWRpYVJl
Y29yZGVyIGludGVyZmFjZTogYXR0cmlidXRlIGF1ZGlvQml0cmF0ZU1vZGUgYXNzZXJ0X3RydWU6
IFRoZSBwcm90b3R5cGUgb2JqZWN0IG11c3QgaGF2ZSBhIHByb3BlcnR5ICJhdWRpb0JpdHJhdGVN
b2RlIiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQogUEFTUyBNZWRpYVJlY29yZGVyIGludGVyZmFj
ZTogb3BlcmF0aW9uIHN0YXJ0KG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcpIAogUEFTUyBNZWRpYVJl
Y29yZGVyIGludGVyZmFjZTogb3BlcmF0aW9uIHN0b3AoKSAKIEZBSUwgTWVkaWFSZWNvcmRlciBp
bnRlcmZhY2U6IG9wZXJhdGlvbiBwYXVzZSgpIGFzc2VydF9vd25fcHJvcGVydHk6IGludGVyZmFj
ZSBwcm90b3R5cGUgb2JqZWN0IG1pc3Npbmcgbm9uLXN0YXRpYyBvcGVyYXRpb24gZXhwZWN0ZWQg
cHJvcGVydHkgInBhdXNlIiBtaXNzaW5nCkBAIC0zNyw2ICszOCw3IEBAIEZBSUwgTWVkaWFSZWNv
cmRlciBpbnRlcmZhY2U6IFtvYmplY3QgTWVkaWFSZWNvcmRlcl0gbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJvbnJlCiBQQVNTIE1lZGlhUmVjb3JkZXIgaW50ZXJmYWNlOiBbb2JqZWN0IE1lZGlhUmVj
b3JkZXJdIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25lcnJvciIgd2l0aCB0aGUgcHJvcGVyIHR5
cGUgCiBGQUlMIE1lZGlhUmVjb3JkZXIgaW50ZXJmYWNlOiBbb2JqZWN0IE1lZGlhUmVjb3JkZXJd
IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAidmlkZW9CaXRzUGVyU2Vjb25kIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJ2aWRlb0JpdHNQZXJTZWNvbmQiIG5v
dCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KIEZBSUwgTWVkaWFSZWNvcmRlciBpbnRlcmZhY2U6
IFtvYmplY3QgTWVkaWFSZWNvcmRlcl0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJhdWRpb0JpdHNQ
ZXJTZWNvbmQiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkg
ImF1ZGlvQml0c1BlclNlY29uZCIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgorRkFJTCBN
ZWRpYVJlY29yZGVyIGludGVyZmFjZTogW29iamVjdCBNZWRpYVJlY29yZGVyXSBtdXN0IGluaGVy
aXQgcHJvcGVydHkgImF1ZGlvQml0cmF0ZU1vZGUiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2Vy
dF9pbmhlcml0czogcHJvcGVydHkgImF1ZGlvQml0cmF0ZU1vZGUiIG5vdCBmb3VuZCBpbiBwcm90
b3R5cGUgY2hhaW4KIFBBU1MgTWVkaWFSZWNvcmRlciBpbnRlcmZhY2U6IFtvYmplY3QgTWVkaWFS
ZWNvcmRlcl0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJzdGFydChvcHRpb25hbCB1bnNpZ25lZCBs
b25nKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIE1lZGlhUmVjb3JkZXIgaW50ZXJmYWNl
OiBjYWxsaW5nIHN0YXJ0KG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcpIG9uIFtvYmplY3QgTWVkaWFS
ZWNvcmRlcl0gd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKIFBB
U1MgTWVkaWFSZWNvcmRlciBpbnRlcmZhY2U6IFtvYmplY3QgTWVkaWFSZWNvcmRlcl0gbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJzdG9wKCkiIHdpdGggdGhlIHByb3BlciB0eXBlIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tc3QtY29udGVu
dC1oaW50L2lkbGhhcm5lc3Mud2luZG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbXN0LWNvbnRlbnQtaGludC9pZGxoYXJuZXNzLndp
bmRvdy1leHBlY3RlZC50eHQKaW5kZXggYjQ2NTgyN2QxYjFjZTFmMTM4NTJlNWRmNDVjN2MyYjgx
ZGNiNzM4YS4uODlkYzlhZjg0NjExNTFlMGRlYTYzNWI3MzcwMGYzNTU2OTMxNDFhYiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tc3QtY29u
dGVudC1oaW50L2lkbGhhcm5lc3Mud2luZG93LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21zdC1jb250ZW50LWhpbnQvaWRsaGFy
bmVzcy53aW5kb3ctZXhwZWN0ZWQudHh0CkBAIC0zLDYgKzMsNyBAQCBQQVNTIGlkbF90ZXN0IHNl
dHVwCiBQQVNTIGlkbF90ZXN0IHZhbGlkYXRpb24gCiBQQVNTIFBhcnRpYWwgaW50ZXJmYWNlIE1l
ZGlhU3RyZWFtVHJhY2s6IG9yaWdpbmFsIGludGVyZmFjZSBkZWZpbmVkIAogUEFTUyBQYXJ0aWFs
IGludGVyZmFjZSBNZWRpYVN0cmVhbVRyYWNrOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKK0ZB
SUwgUGFydGlhbCBkaWN0aW9uYXJ5IFJUQ1J0cFNlbmRQYXJhbWV0ZXJzOiBvcmlnaW5hbCBkaWN0
aW9uYXJ5IGRlZmluZWQgYXNzZXJ0X3RydWU6IE9yaWdpbmFsIGRpY3Rpb25hcnkgc2hvdWxkIGJl
IGRlZmluZWQgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKIFBBU1MgTWVkaWFTdHJlYW1UcmFjayBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBjb250ZW50SGludCAKIFBBU1MgTWVkaWFTdHJlYW1UcmFjayBp
bnRlcmZhY2U6IGF1ZGlvVHJhY2sgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJjb250ZW50SGludCIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIE1lZGlhU3RyZWFtVHJhY2sgaW50ZXJmYWNlOiB2
aWRlb1RyYWNrIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiY29udGVudEhpbnQiIHdpdGggdGhlIHBy
b3BlciB0eXBlIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZW1vdGUtcGxheWJhY2svaWRsaGFybmVzcy53aW5kb3ctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZW1vdGUtcGxh
eWJhY2svaWRsaGFybmVzcy53aW5kb3ctZXhwZWN0ZWQudHh0CmluZGV4IDJiZmFlMzdlMjI5MWFk
OWQ0NjE5NDgyMjgwNTUxMWRhZTgwZDU3NzEuLjY5Zjk2YmI0ZjM5YTBlMTNkNGM4ZWZiZGE1NTJj
MDYxOTQ1NDBiMmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVtb3RlLXBsYXliYWNrL2lkbGhhcm5lc3Mud2luZG93LWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlbW90
ZS1wbGF5YmFjay9pZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQKQEAgLTEwLDcgKzEwLDcg
QEAgUEFTUyBIVE1MRWxlbWVudCBpbmNsdWRlcyBIVE1MT3JTVkdFbGVtZW50OiBtZW1iZXIgbmFt
ZXMgYXJlIHVuaXF1ZQogUEFTUyBFbGVtZW50IGluY2x1ZGVzIFBhcmVudE5vZGU6IG1lbWJlciBu
YW1lcyBhcmUgdW5pcXVlIAogUEFTUyBFbGVtZW50IGluY2x1ZGVzIE5vbkRvY3VtZW50VHlwZUNo
aWxkTm9kZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNTIEVsZW1lbnQgaW5jbHVkZXMg
Q2hpbGROb2RlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKLVBBU1MgRWxlbWVudCBpbmNsdWRl
cyBTbG90YWJsZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCitQQVNTIEVsZW1lbnQgaW5jbHVk
ZXMgU2xvdHRhYmxlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgUmVtb3RlUGxheWJh
Y2sgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVj
dCAKIFBBU1MgUmVtb3RlUGxheWJhY2sgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCiBQQVNTIFJl
bW90ZVBsYXliYWNrIGludGVyZmFjZSBvYmplY3QgbmFtZSAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2lkbGhh
cm5lc3Mud2luZG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2lkbGhhcm5lc3Mud2luZG93LWV4cGVjdGVk
LnR4dAppbmRleCBmYjRmNTc5NmRmNGE5MDI2MTY1MWY4YjhmZmNmN2JmNjk5ODE1ZjQ3Li43NGJj
MmVkNWJiNDgxNjQ3ZWZjMWJhZDIwYmE2NTdkMDM2YTM4ZDMwIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9pZGxo
YXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5kb3ctZXhw
ZWN0ZWQudHh0CkBAIC01LDcgKzUsNyBAQCBQQVNTIFJlc2l6ZU9ic2VydmVyRW50cnkgY3JlYXRv
cgogUEFTUyBFbGVtZW50IGluY2x1ZGVzIFBhcmVudE5vZGU6IG1lbWJlciBuYW1lcyBhcmUgdW5p
cXVlIAogUEFTUyBFbGVtZW50IGluY2x1ZGVzIE5vbkRvY3VtZW50VHlwZUNoaWxkTm9kZTogbWVt
YmVyIG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNTIEVsZW1lbnQgaW5jbHVkZXMgQ2hpbGROb2RlOiBt
ZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKLVBBU1MgRWxlbWVudCBpbmNsdWRlcyBTbG90YWJsZTog
bWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCitQQVNTIEVsZW1lbnQgaW5jbHVkZXMgU2xvdHRhYmxl
OiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgUmVzaXplT2JzZXJ2ZXIgaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKIFBBU1MgUmVz
aXplT2JzZXJ2ZXIgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCiBQQVNTIFJlc2l6ZU9ic2VydmVy
IGludGVyZmFjZSBvYmplY3QgbmFtZSAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3ZnL2lkbGhhcm5lc3Mud2luZG93LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3ZnL2lkbGhh
cm5lc3Mud2luZG93LWV4cGVjdGVkLnR4dAppbmRleCA2YmRjY2JjN2ZkZWE3YjE4ZWQzMDVmMTRj
MzFjNjdlNzhlNTNlZDRiLi5hMzIzYThkNWM0NWY5NzliNTAxZDRjYjk3ZTgxOTVlYjMxYjQwYmY5
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3N2Zy9pZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdmcvaWRsaGFybmVzcy53aW5kb3ctZXhwZWN0
ZWQudHh0CkBAIC0zMyw3ICszMyw3IEBAIFBBU1MgRWxlbWVudCBpbmNsdWRlcyBBbmltYXRhYmxl
OiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQogUEFTUyBFbGVtZW50IGluY2x1ZGVzIFBhcmVudE5v
ZGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAogUEFTUyBFbGVtZW50IGluY2x1ZGVzIE5vbkRv
Y3VtZW50VHlwZUNoaWxkTm9kZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNTIEVsZW1l
bnQgaW5jbHVkZXMgQ2hpbGROb2RlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKLVBBU1MgRWxl
bWVudCBpbmNsdWRlcyBTbG90YWJsZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCitQQVNTIEVs
ZW1lbnQgaW5jbHVkZXMgU2xvdHRhYmxlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1Mg
RG9jdW1lbnQgaW5jbHVkZXMgR2xvYmFsRXZlbnRIYW5kbGVyczogbWVtYmVyIG5hbWVzIGFyZSB1
bmlxdWUgCiBQQVNTIERvY3VtZW50IGluY2x1ZGVzIERvY3VtZW50QW5kRWxlbWVudEV2ZW50SGFu
ZGxlcnM6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAogUEFTUyBEb2N1bWVudCBpbmNsdWRlcyBO
b25FbGVtZW50UGFyZW50Tm9kZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYi1hbmltYXRp
b25zL2lkbGhhcm5lc3Mud2luZG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2ViLWFuaW1hdGlvbnMvaWRsaGFybmVzcy53aW5kb3ct
ZXhwZWN0ZWQudHh0CmluZGV4IDY5NTExMDY1MDczNmE5OWZlMTBiODZkMWQyNDk0ZjhjZjBiNTlk
Y2IuLjIwYjBjMTBhNDBhNWI4OTIzODkxYTBhYWNhZjEyNDkxZTA5MGI0NGEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2ViLWFuaW1hdGlv
bnMvaWRsaGFybmVzcy53aW5kb3ctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2ViLWFuaW1hdGlvbnMvaWRsaGFybmVzcy53aW5k
b3ctZXhwZWN0ZWQudHh0CkBAIC0xMSw3ICsxMSw3IEBAIFBBU1MgRWxlbWVudCBpbmNsdWRlcyBB
bmltYXRhYmxlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQogUEFTUyBFbGVtZW50IGluY2x1ZGVz
IFBhcmVudE5vZGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAogUEFTUyBFbGVtZW50IGluY2x1
ZGVzIE5vbkRvY3VtZW50VHlwZUNoaWxkTm9kZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCiBQ
QVNTIEVsZW1lbnQgaW5jbHVkZXMgQ2hpbGROb2RlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAK
LVBBU1MgRWxlbWVudCBpbmNsdWRlcyBTbG90YWJsZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUg
CitQQVNTIEVsZW1lbnQgaW5jbHVkZXMgU2xvdHRhYmxlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1
ZSAKIFBBU1MgRG9jdW1lbnQgaW5jbHVkZXMgTm9uRWxlbWVudFBhcmVudE5vZGU6IG1lbWJlciBu
YW1lcyBhcmUgdW5pcXVlIAogUEFTUyBEb2N1bWVudCBpbmNsdWRlcyBEb2N1bWVudE9yU2hhZG93
Um9vdDogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNTIERvY3VtZW50IGluY2x1ZGVzIFBh
cmVudE5vZGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIApAQCAtMjgsNiArMjgsNyBAQCBQQVNT
IEFuaW1hdGlvblRpbWVsaW5lIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBwcm90b3R5cAogUEFTUyBBbmltYXRpb25UaW1lbGluZSBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJj
b25zdHJ1Y3RvciIgcHJvcGVydHkgCiBQQVNTIEFuaW1hdGlvblRpbWVsaW5lIGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3Mg
QEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSAKIFBBU1MgQW5pbWF0aW9uVGltZWxpbmUgaW50ZXJmYWNl
OiBhdHRyaWJ1dGUgY3VycmVudFRpbWUgCitGQUlMIEFuaW1hdGlvblRpbWVsaW5lIGludGVyZmFj
ZTogYXR0cmlidXRlIHBoYXNlIGFzc2VydF90cnVlOiBUaGUgcHJvdG90eXBlIG9iamVjdCBtdXN0
IGhhdmUgYSBwcm9wZXJ0eSAicGhhc2UiIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCiBQQVNTIERv
Y3VtZW50VGltZWxpbmUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50
ZXJmYWNlIG9iamVjdCAKIFBBU1MgRG9jdW1lbnRUaW1lbGluZSBpbnRlcmZhY2Ugb2JqZWN0IGxl
bmd0aCAKIFBBU1MgRG9jdW1lbnRUaW1lbGluZSBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCkBAIC0z
Nyw2ICszOCw3IEBAIFBBU1MgRG9jdW1lbnRUaW1lbGluZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlCiBQQVNTIERvY3VtZW50VGltZWxp
bmUgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBkb2N1bWVudC50aW1lbGluZSAKIFBBU1Mg
U3RyaW5naWZpY2F0aW9uIG9mIGRvY3VtZW50LnRpbWVsaW5lIAogUEFTUyBBbmltYXRpb25UaW1l
bGluZSBpbnRlcmZhY2U6IGRvY3VtZW50LnRpbWVsaW5lIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAi
Y3VycmVudFRpbWUiIHdpdGggdGhlIHByb3BlciB0eXBlIAorRkFJTCBBbmltYXRpb25UaW1lbGlu
ZSBpbnRlcmZhY2U6IGRvY3VtZW50LnRpbWVsaW5lIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicGhh
c2UiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgInBoYXNl
IiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCiBQQVNTIEFuaW1hdGlvbiBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAogUEFTUyBBbmlt
YXRpb24gaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCiBQQVNTIEFuaW1hdGlvbiBpbnRlcmZhY2Ug
b2JqZWN0IG5hbWUgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9kb20vaWRsaGFybmVzcy5odHRwcy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9kb20vaWRsaGFybmVzcy5odHRwcy1leHBlY3RlZC50eHQK
aW5kZXggZDNkOWMzMGMwMmZjNzEwYWZmYTZkYWM2ZjVhZTUyM2FkMDA3ZjY4Ny4uNzY4NWM5ZWIw
MGY5Y2M5MDUxM2FhNDVhYjYyM2NlMzg2Mjc4NjUyNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvZG9t
L2lkbGhhcm5lc3MuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy13azEvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2RvbS9pZGxoYXJu
ZXNzLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMTY4LDcgKzE2OCw3IEBAIFBBU1MgU2hhZG93Um9v
dCBpbmNsdWRlcyBEb2N1bWVudE9yU2hhZG93Um9vdDogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUK
IFBBU1MgRWxlbWVudCBpbmNsdWRlcyBQYXJlbnROb2RlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1
ZSAKIFBBU1MgRWxlbWVudCBpbmNsdWRlcyBOb25Eb2N1bWVudFR5cGVDaGlsZE5vZGU6IG1lbWJl
ciBuYW1lcyBhcmUgdW5pcXVlIAogUEFTUyBFbGVtZW50IGluY2x1ZGVzIENoaWxkTm9kZTogbWVt
YmVyIG5hbWVzIGFyZSB1bmlxdWUgCi1QQVNTIEVsZW1lbnQgaW5jbHVkZXMgU2xvdGFibGU6IG1l
bWJlciBuYW1lcyBhcmUgdW5pcXVlIAorUEFTUyBFbGVtZW50IGluY2x1ZGVzIFNsb3R0YWJsZTog
bWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNTIEhUTUxBbGxDb2xsZWN0aW9uIGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCiBQQVNTIEhU
TUxBbGxDb2xsZWN0aW9uIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAogUEFTUyBIVE1MQWxsQ29s
bGVjdGlvbiBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCkBAIC0yOTgsNyArMjk4LDYgQEAgUEFTUyBI
VE1MRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbm1vdXNlbW92ZQogUEFTUyBIVE1MRWxl
bWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbm1vdXNlb3V0IAogUEFTUyBIVE1MRWxlbWVudCBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBvbm1vdXNlb3ZlciAKIFBBU1MgSFRNTEVsZW1lbnQgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgb25tb3VzZXVwIAotRkFJTCBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBvbndoZWVsIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBzaG91bGQgYmUgZW51bWVyYWJs
ZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQogUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBvbnBhdXNlIAogUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBv
bnBsYXkgCiBQQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ucGxheWluZyAK
QEAgLTMxOSw2ICszMTgsMTEgQEAgUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBvbnRpbWV1cGRhdGUKIFBBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb250
b2dnbGUgCiBQQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9udm9sdW1lY2hh
bmdlIAogUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndhaXRpbmcgCitG
QUlMIEhUTUxFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ud2Via2l0YW5pbWF0aW9uZW5k
IGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVjdGVkIHByb3BlcnR5ICJvbndlYmtpdGFuaW1hdGlv
bmVuZCIgbWlzc2luZworRkFJTCBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndl
YmtpdGFuaW1hdGlvbml0ZXJhdGlvbiBhc3NlcnRfb3duX3Byb3BlcnR5OiBleHBlY3RlZCBwcm9w
ZXJ0eSAib253ZWJraXRhbmltYXRpb25pdGVyYXRpb24iIG1pc3NpbmcKK0ZBSUwgSFRNTEVsZW1l
bnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253ZWJraXRhbmltYXRpb25zdGFydCBhc3NlcnRfb3du
X3Byb3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0eSAib253ZWJraXRhbmltYXRpb25zdGFydCIgbWlz
c2luZworRkFJTCBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndlYmtpdHRyYW5z
aXRpb25lbmQgYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgIm9ud2Via2l0
dHJhbnNpdGlvbmVuZCIgbWlzc2luZworRkFJTCBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBvbndoZWVsIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBzaG91bGQgYmUgZW51bWVyYWJsZSBl
eHBlY3RlZCB0cnVlIGdvdCBmYWxzZQogRkFJTCBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBvbmNvcHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgIm9uY29w
eSIgbWlzc2luZwogRkFJTCBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmN1dCBh
c3NlcnRfb3duX3Byb3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0eSAib25jdXQiIG1pc3NpbmcKIEZB
SUwgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25wYXN0ZSBhc3NlcnRfb3duX3By
b3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0eSAib25wYXN0ZSIgbWlzc2luZwpAQCAtMzg5LDcgKzM5
Myw2IEBAIFBBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJub3NjcmlwdCIpIG11c3QgaW5oZXJpdCBwcm9wCiBQQVNTIEhUTUxFbGVtZW50IGludGVyZmFj
ZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibm9zY3JpcHQiKSBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgIm9ubW91c2VvdXQiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBIVE1MRWxlbWVudCBp
bnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm5vc2NyaXB0IikgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJvbm1vdXNlb3ZlciIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIEhUTUxF
bGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibm9zY3JpcHQiKSBtdXN0
IGluaGVyaXQgcHJvcGVydHkgIm9ubW91c2V1cCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCi1QQVNT
IEhUTUxFbGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibm9zY3JpcHQi
KSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2hlZWwiIHdpdGggdGhlIHByb3BlciB0eXBlIAog
UEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm5vc2Ny
aXB0IikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnBhdXNlIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSAKIFBBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJu
b3NjcmlwdCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25wbGF5IiB3aXRoIHRoZSBwcm9wZXIg
dHlwZSAKIFBBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJub3NjcmlwdCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25wbGF5aW5nIiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSAKQEAgLTQxMCw2ICs0MTMsMTEgQEAgUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZh
Y2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm5vc2NyaXB0IikgbXVzdCBpbmhlcml0IHByb3AK
IFBBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJub3Nj
cmlwdCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib250b2dnbGUiIHdpdGggdGhlIHByb3BlciB0
eXBlIAogUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
Im5vc2NyaXB0IikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnZvbHVtZWNoYW5nZSIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgCiBQQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgibm9zY3JpcHQiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2FpdGluZyIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTogZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgibm9zY3JpcHQiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2Vi
a2l0YW5pbWF0aW9uZW5kIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgSFRNTEVsZW1lbnQg
aW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJub3NjcmlwdCIpIG11c3QgaW5oZXJp
dCBwcm9wZXJ0eSAib253ZWJraXRhbmltYXRpb25pdGVyYXRpb24iIHdpdGggdGhlIHByb3BlciB0
eXBlIAorUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
Im5vc2NyaXB0IikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndlYmtpdGFuaW1hdGlvbnN0YXJ0
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJub3NjcmlwdCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253
ZWJraXR0cmFuc2l0aW9uZW5kIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgSFRNTEVsZW1l
bnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJub3NjcmlwdCIpIG11c3QgaW5o
ZXJpdCBwcm9wZXJ0eSAib253aGVlbCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIEhUTUxF
bGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibm9zY3JpcHQiKSBtdXN0
IGluaGVyaXQgcHJvcGVydHkgIm9uY29weSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIEhU
TUxFbGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibm9zY3JpcHQiKSBt
dXN0IGluaGVyaXQgcHJvcGVydHkgIm9uY3V0IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1Mg
SFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJub3NjcmlwdCIp
IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25wYXN0ZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCkBA
IC04OTAsNiArODk4LDcgQEAgUEFTUyBIVE1MSW1hZ2VFbGVtZW50IGludGVyZmFjZTogYXR0cmli
dXRlIGNvbXBsZXRlCiBQQVNTIEhUTUxJbWFnZUVsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
Y3VycmVudFNyYyAKIFBBU1MgSFRNTEltYWdlRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBy
ZWZlcnJlclBvbGljeSAKIFBBU1MgSFRNTEltYWdlRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBkZWNvZGluZyAKK0ZBSUwgSFRNTEltYWdlRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBs
b2FkaW5nIGFzc2VydF90cnVlOiBUaGUgcHJvdG90eXBlIG9iamVjdCBtdXN0IGhhdmUgYSBwcm9w
ZXJ0eSAibG9hZGluZyIgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKIFBBU1MgSFRNTEltYWdlRWxl
bWVudCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBkZWNvZGUoKSAKIFBBU1MgSFRNTEltYWdlRWxlbWVu
dCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBuYW1lIAogUEFTUyBIVE1MSW1hZ2VFbGVtZW50IGludGVy
ZmFjZTogYXR0cmlidXRlIGxvd3NyYyAKQEAgLTkxNSw2ICs5MjQsNyBAQCBQQVNTIEhUTUxJbWFn
ZUVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKSBtdXN0IGlu
aGVyaXQgcHJvcAogUEFTUyBIVE1MSW1hZ2VFbGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgiaW1nIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJjdXJyZW50U3JjIiB3aXRo
IHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgSFRNTEltYWdlRWxlbWVudCBpbnRlcmZhY2U6IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicmVmZXJyZXJQ
b2xpY3kiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBIVE1MSW1hZ2VFbGVtZW50IGludGVy
ZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIikgbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJkZWNvZGluZyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitGQUlMIEhUTUxJbWFnZUVsZW1lbnQg
aW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKSBtdXN0IGluaGVyaXQgcHJv
cGVydHkgImxvYWRpbmciIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9pbmhlcml0czogcHJv
cGVydHkgImxvYWRpbmciIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KIFBBU1MgSFRNTElt
YWdlRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpIG11c3Qg
aW5oZXJpdCBwcm9wZXJ0eSAiZGVjb2RlKCkiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBI
VE1MSW1hZ2VFbGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIikg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJuYW1lIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1Mg
SFRNTEltYWdlRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIp
IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibG93c3JjIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKQEAg
LTk0MCw2ICs5NTAsNyBAQCBQQVNTIEhUTUxJbWFnZUVsZW1lbnQgaW50ZXJmYWNlOiBuZXcgSW1h
Z2UoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImNvbXBsZXRlIiB3aQogUEFTUyBIVE1MSW1hZ2VF
bGVtZW50IGludGVyZmFjZTogbmV3IEltYWdlKCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJjdXJy
ZW50U3JjIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgSFRNTEltYWdlRWxlbWVudCBpbnRl
cmZhY2U6IG5ldyBJbWFnZSgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicmVmZXJyZXJQb2xpY3ki
IHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBIVE1MSW1hZ2VFbGVtZW50IGludGVyZmFjZTog
bmV3IEltYWdlKCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJkZWNvZGluZyIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUgCitGQUlMIEhUTUxJbWFnZUVsZW1lbnQgaW50ZXJmYWNlOiBuZXcgSW1hZ2UoKSBt
dXN0IGluaGVyaXQgcHJvcGVydHkgImxvYWRpbmciIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2Vy
dF9pbmhlcml0czogcHJvcGVydHkgImxvYWRpbmciIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hh
aW4KIFBBU1MgSFRNTEltYWdlRWxlbWVudCBpbnRlcmZhY2U6IG5ldyBJbWFnZSgpIG11c3QgaW5o
ZXJpdCBwcm9wZXJ0eSAiZGVjb2RlKCkiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBIVE1M
SW1hZ2VFbGVtZW50IGludGVyZmFjZTogbmV3IEltYWdlKCkgbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJuYW1lIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgSFRNTEltYWdlRWxlbWVudCBpbnRl
cmZhY2U6IG5ldyBJbWFnZSgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibG93c3JjIiB3aXRoIHRo
ZSBwcm9wZXIgdHlwZSAKQEAgLTQyMjgsNyArNDIzOSw3IEBAIEZBSUwgRWxlbWVudEludGVybmFs
cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90
eXBlCiBGQUlMIEVsZW1lbnRJbnRlcm5hbHMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3Bl
cnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3Bl
cnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkg
IkVsZW1lbnRJbnRlcm5hbHMiIGV4cGVjdGVkIHByb3BlcnR5ICJFbGVtZW50SW50ZXJuYWxzIiBt
aXNzaW5nCiBGQUlMIEVsZW1lbnRJbnRlcm5hbHMgaW50ZXJmYWNlOiBvcGVyYXRpb24gc2V0Rm9y
bVZhbHVlKChGaWxlIG9yIFVTVlN0cmluZyBvciBGb3JtRGF0YSk/LCBvcHRpb25hbCAoRmlsZSBv
ciBVU1ZTdHJpbmcgb3IgRm9ybURhdGEpPykgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2Vz
IG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiRWxlbWVudEludGVybmFscyIgZXhwZWN0ZWQgcHJvcGVy
dHkgIkVsZW1lbnRJbnRlcm5hbHMiIG1pc3NpbmcKIEZBSUwgRWxlbWVudEludGVybmFscyBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSBmb3JtIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3Qg
aGF2ZSBvd24gcHJvcGVydHkgIkVsZW1lbnRJbnRlcm5hbHMiIGV4cGVjdGVkIHByb3BlcnR5ICJF
bGVtZW50SW50ZXJuYWxzIiBtaXNzaW5nCi1GQUlMIEVsZW1lbnRJbnRlcm5hbHMgaW50ZXJmYWNl
OiBvcGVyYXRpb24gc2V0VmFsaWRpdHkoVmFsaWRpdHlTdGF0ZUZsYWdzLCBvcHRpb25hbCBET01T
dHJpbmcsIG9wdGlvbmFsIEhUTUxFbGVtZW50KSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRv
ZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJFbGVtZW50SW50ZXJuYWxzIiBleHBlY3RlZCBwcm9w
ZXJ0eSAiRWxlbWVudEludGVybmFscyIgbWlzc2luZworRkFJTCBFbGVtZW50SW50ZXJuYWxzIGlu
dGVyZmFjZTogb3BlcmF0aW9uIHNldFZhbGlkaXR5KG9wdGlvbmFsIFZhbGlkaXR5U3RhdGVGbGFn
cywgb3B0aW9uYWwgRE9NU3RyaW5nLCBvcHRpb25hbCBIVE1MRWxlbWVudCkgYXNzZXJ0X293bl9w
cm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiRWxlbWVudEludGVybmFs
cyIgZXhwZWN0ZWQgcHJvcGVydHkgIkVsZW1lbnRJbnRlcm5hbHMiIG1pc3NpbmcKIEZBSUwgRWxl
bWVudEludGVybmFscyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSB3aWxsVmFsaWRhdGUgYXNzZXJ0X293
bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiRWxlbWVudEludGVy
bmFscyIgZXhwZWN0ZWQgcHJvcGVydHkgIkVsZW1lbnRJbnRlcm5hbHMiIG1pc3NpbmcKIEZBSUwg
RWxlbWVudEludGVybmFscyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSB2YWxpZGl0eSBhc3NlcnRfb3du
X3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJFbGVtZW50SW50ZXJu
YWxzIiBleHBlY3RlZCBwcm9wZXJ0eSAiRWxlbWVudEludGVybmFscyIgbWlzc2luZwogRkFJTCBF
bGVtZW50SW50ZXJuYWxzIGludGVyZmFjZTogYXR0cmlidXRlIHZhbGlkYXRpb25NZXNzYWdlIGFz
c2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkVsZW1l
bnRJbnRlcm5hbHMiIGV4cGVjdGVkIHByb3BlcnR5ICJFbGVtZW50SW50ZXJuYWxzIiBtaXNzaW5n
CkBAIC00MzY2LDcgKzQzNzcsNiBAQCBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBv
bm1vdXNlbW92ZQogUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25tb3VzZW91dCAK
IFBBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ubW91c2VvdmVyIAogUEFTUyBXaW5k
b3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25tb3VzZXVwIAotRkFJTCBXaW5kb3cgaW50ZXJmYWNl
OiBhdHRyaWJ1dGUgb253aGVlbCBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgc2hvdWxkIGJlIGVudW1l
cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKIFBBU1MgV2luZG93IGludGVyZmFjZTogYXR0
cmlidXRlIG9ucGF1c2UgCiBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnBsYXkg
CiBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnBsYXlpbmcgCkBAIC00Mzg3LDYg
KzQzOTcsMTEgQEAgUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb250aW1ldXBkYXRl
CiBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnRvZ2dsZSAKIFBBU1MgV2luZG93
IGludGVyZmFjZTogYXR0cmlidXRlIG9udm9sdW1lY2hhbmdlIAogUEFTUyBXaW5kb3cgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgb253YWl0aW5nIAorRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgb253ZWJraXRhbmltYXRpb25lbmQgYXNzZXJ0X3RydWU6IHByb3BlcnR5IHNob3VsZCBiZSBl
bnVtZXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdpbmRvdyBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBvbndlYmtpdGFuaW1hdGlvbml0ZXJhdGlvbiBhc3NlcnRfdHJ1ZTogcHJvcGVy
dHkgc2hvdWxkIGJlIGVudW1lcmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2lu
ZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ud2Via2l0YW5pbWF0aW9uc3RhcnQgYXNzZXJ0X3Ry
dWU6IHByb3BlcnR5IHNob3VsZCBiZSBlbnVtZXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNl
CitGQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndlYmtpdHRyYW5zaXRpb25lbmQg
YXNzZXJ0X3RydWU6IHByb3BlcnR5IHNob3VsZCBiZSBlbnVtZXJhYmxlIGV4cGVjdGVkIHRydWUg
Z290IGZhbHNlCitGQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndoZWVsIGFzc2Vy
dF90cnVlOiBwcm9wZXJ0eSBzaG91bGQgYmUgZW51bWVyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBm
YWxzZQogUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25hZnRlcnByaW50IAogUEFT
UyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25iZWZvcmVwcmludCAKIFBBU1MgV2luZG93
IGludGVyZmFjZTogYXR0cmlidXRlIG9uYmVmb3JldW5sb2FkIApAQCAtNDUxMSw3ICs0NTI2LDYg
QEAgUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiB3aW5kb3cgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJv
bm1vdXNlbW92ZSIgd2l0aCB0aGUgcHJvcGUKIFBBU1MgV2luZG93IGludGVyZmFjZTogd2luZG93
IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25tb3VzZW91dCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUg
CiBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IHdpbmRvdyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9u
bW91c2VvdmVyIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgV2luZG93IGludGVyZmFjZTog
d2luZG93IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25tb3VzZXVwIiB3aXRoIHRoZSBwcm9wZXIg
dHlwZSAKLVBBU1MgV2luZG93IGludGVyZmFjZTogd2luZG93IG11c3QgaW5oZXJpdCBwcm9wZXJ0
eSAib253aGVlbCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6
IHdpbmRvdyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ucGF1c2UiIHdpdGggdGhlIHByb3BlciB0
eXBlIAogUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiB3aW5kb3cgbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJvbnBsYXkiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiB3
aW5kb3cgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnBsYXlpbmciIHdpdGggdGhlIHByb3BlciB0
eXBlIApAQCAtNDUzMiw2ICs0NTQ2LDExIEBAIFBBU1MgV2luZG93IGludGVyZmFjZTogd2luZG93
IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib250aW1ldXBkYXRlIiB3aXRoIHRoZSBwcm9wCiBQQVNT
IFdpbmRvdyBpbnRlcmZhY2U6IHdpbmRvdyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9udG9nZ2xl
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgV2luZG93IGludGVyZmFjZTogd2luZG93IG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAib252b2x1bWVjaGFuZ2UiIHdpdGggdGhlIHByb3BlciB0eXBl
IAogUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiB3aW5kb3cgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJv
bndhaXRpbmciIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiB3
aW5kb3cgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndlYmtpdGFuaW1hdGlvbmVuZCIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IHdpbmRvdyBtdXN0IGluaGVy
aXQgcHJvcGVydHkgIm9ud2Via2l0YW5pbWF0aW9uaXRlcmF0aW9uIiB3aXRoIHRoZSBwcm9wZXIg
dHlwZSAKK1BBU1MgV2luZG93IGludGVyZmFjZTogd2luZG93IG11c3QgaW5oZXJpdCBwcm9wZXJ0
eSAib253ZWJraXRhbmltYXRpb25zdGFydCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIFdp
bmRvdyBpbnRlcmZhY2U6IHdpbmRvdyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2Via2l0dHJh
bnNpdGlvbmVuZCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6
IHdpbmRvdyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2hlZWwiIHdpdGggdGhlIHByb3BlciB0
eXBlIAogUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiB3aW5kb3cgbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJvbmFmdGVycHJpbnQiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBXaW5kb3cgaW50ZXJm
YWNlOiB3aW5kb3cgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbmJlZm9yZXByaW50IiB3aXRoIHRo
ZSBwcm9wZXIgdHlwZSAKIFBBU1MgV2luZG93IGludGVyZmFjZTogd2luZG93IG11c3QgaW5oZXJp
dCBwcm9wZXJ0eSAib25iZWZvcmV1bmxvYWQiIHdpdGggdGhlIHByb3BlciB0eXBlIApAQCAtNDcz
Miw2ICs0NzUxLDEzIEBAIFBBU1MgUHJvbWlzZVJlamVjdGlvbkV2ZW50IGludGVyZmFjZTogZXhp
c3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90CiBQQVNTIFByb21pc2VSZWpl
Y3Rpb25FdmVudCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgCiBQQVNTIFByb21p
c2VSZWplY3Rpb25FdmVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBwcm9taXNlIAogUEFTUyBQcm9t
aXNlUmVqZWN0aW9uRXZlbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgcmVhc29uIAorUEFTUyBET01Q
YXJzZXIgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9i
amVjdCAKK1BBU1MgRE9NUGFyc2VyIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAorUEFTUyBET01Q
YXJzZXIgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAorUEFTUyBET01QYXJzZXIgaW50ZXJmYWNlOiBl
eGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgCitQ
QVNTIERPTVBhcnNlciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRl
cmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCitQQVNTIERP
TVBhcnNlciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgCitQQVNTIERPTVBhcnNl
ciBpbnRlcmZhY2U6IG9wZXJhdGlvbiBwYXJzZUZyb21TdHJpbmcoRE9NU3RyaW5nLCBET01QYXJz
ZXJTdXBwb3J0ZWRUeXBlKSAKIFBBU1MgTmF2aWdhdG9yIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCiBQQVNTIE5hdmlnYXRvciBpbnRlcmZh
Y2Ugb2JqZWN0IGxlbmd0aCAKIFBBU1MgTmF2aWdhdG9yIGludGVyZmFjZSBvYmplY3QgbmFtZSAK
QEAgLTQ3NTIsNyArNDc3OCw3IEBAIEZBSUwgTmF2aWdhdG9yIGludGVyZmFjZTogYXR0cmlidXRl
IG9zY3B1IGFzc2VydF90cnVlOiBUaGUgcHJvdG90eXBlIG9iamVjdCBtdXN0CiBQQVNTIE5hdmln
YXRvciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBsYW5ndWFnZSAKIFBBU1MgTmF2aWdhdG9yIGludGVy
ZmFjZTogYXR0cmlidXRlIGxhbmd1YWdlcyAKIFBBU1MgTmF2aWdhdG9yIGludGVyZmFjZTogYXR0
cmlidXRlIG9uTGluZSAKLUZBSUwgTmF2aWdhdG9yIGludGVyZmFjZTogb3BlcmF0aW9uIHJlZ2lz
dGVyUHJvdG9jb2xIYW5kbGVyKERPTVN0cmluZywgVVNWU3RyaW5nLCBET01TdHJpbmcpIGFzc2Vy
dF9vd25fcHJvcGVydHk6IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IG1pc3Npbmcgbm9uLXN0
YXRpYyBvcGVyYXRpb24gZXhwZWN0ZWQgcHJvcGVydHkgInJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVy
IiBtaXNzaW5nCitGQUlMIE5hdmlnYXRvciBpbnRlcmZhY2U6IG9wZXJhdGlvbiByZWdpc3RlclBy
b3RvY29sSGFuZGxlcihET01TdHJpbmcsIFVTVlN0cmluZykgYXNzZXJ0X293bl9wcm9wZXJ0eTog
aW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgbWlzc2luZyBub24tc3RhdGljIG9wZXJhdGlvbiBl
eHBlY3RlZCBwcm9wZXJ0eSAicmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIiIG1pc3NpbmcKIEZBSUwg
TmF2aWdhdG9yIGludGVyZmFjZTogb3BlcmF0aW9uIHVucmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIo
RE9NU3RyaW5nLCBVU1ZTdHJpbmcpIGFzc2VydF9vd25fcHJvcGVydHk6IGludGVyZmFjZSBwcm90
b3R5cGUgb2JqZWN0IG1pc3Npbmcgbm9uLXN0YXRpYyBvcGVyYXRpb24gZXhwZWN0ZWQgcHJvcGVy
dHkgInVucmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIiIG1pc3NpbmcKIFBBU1MgTmF2aWdhdG9yIGlu
dGVyZmFjZTogYXR0cmlidXRlIGNvb2tpZUVuYWJsZWQgCiBQQVNTIE5hdmlnYXRvciBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBwbHVnaW5zIApAQCAtNDc3NSw4ICs0ODAxLDggQEAgRkFJTCBOYXZpZ2F0
b3IgaW50ZXJmYWNlOiB3aW5kb3cubmF2aWdhdG9yIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib3Nj
cHUiIHdpdGggdGgKIFBBU1MgTmF2aWdhdG9yIGludGVyZmFjZTogd2luZG93Lm5hdmlnYXRvciBt
dXN0IGluaGVyaXQgcHJvcGVydHkgImxhbmd1YWdlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBB
U1MgTmF2aWdhdG9yIGludGVyZmFjZTogd2luZG93Lm5hdmlnYXRvciBtdXN0IGluaGVyaXQgcHJv
cGVydHkgImxhbmd1YWdlcyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIE5hdmlnYXRvciBp
bnRlcmZhY2U6IHdpbmRvdy5uYXZpZ2F0b3IgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbkxpbmUi
IHdpdGggdGhlIHByb3BlciB0eXBlIAotRkFJTCBOYXZpZ2F0b3IgaW50ZXJmYWNlOiB3aW5kb3cu
bmF2aWdhdG9yIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIo
RE9NU3RyaW5nLCBVU1ZTdHJpbmcsIERPTVN0cmluZykiIHdpdGggdGhlIHByb3BlciB0eXBlIGFz
c2VydF9pbmhlcml0czogcHJvcGVydHkgInJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyIiBub3QgZm91
bmQgaW4gcHJvdG90eXBlIGNoYWluCi1GQUlMIE5hdmlnYXRvciBpbnRlcmZhY2U6IGNhbGxpbmcg
cmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoRE9NU3RyaW5nLCBVU1ZTdHJpbmcsIERPTVN0cmluZykg
b24gd2luZG93Lm5hdmlnYXRvciB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlw
ZUVycm9yIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgInJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVy
IiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCitGQUlMIE5hdmlnYXRvciBpbnRlcmZhY2U6
IHdpbmRvdy5uYXZpZ2F0b3IgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJyZWdpc3RlclByb3RvY29s
SGFuZGxlcihET01TdHJpbmcsIFVTVlN0cmluZykiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2Vy
dF9pbmhlcml0czogcHJvcGVydHkgInJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyIiBub3QgZm91bmQg
aW4gcHJvdG90eXBlIGNoYWluCitGQUlMIE5hdmlnYXRvciBpbnRlcmZhY2U6IGNhbGxpbmcgcmVn
aXN0ZXJQcm90b2NvbEhhbmRsZXIoRE9NU3RyaW5nLCBVU1ZTdHJpbmcpIG9uIHdpbmRvdy5uYXZp
Z2F0b3Igd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciBhc3NlcnRf
aW5oZXJpdHM6IHByb3BlcnR5ICJyZWdpc3RlclByb3RvY29sSGFuZGxlciIgbm90IGZvdW5kIGlu
IHByb3RvdHlwZSBjaGFpbgogRkFJTCBOYXZpZ2F0b3IgaW50ZXJmYWNlOiB3aW5kb3cubmF2aWdh
dG9yIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAidW5yZWdpc3RlclByb3RvY29sSGFuZGxlcihET01T
dHJpbmcsIFVTVlN0cmluZykiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9pbmhlcml0czog
cHJvcGVydHkgInVucmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIiIG5vdCBmb3VuZCBpbiBwcm90b3R5
cGUgY2hhaW4KIEZBSUwgTmF2aWdhdG9yIGludGVyZmFjZTogY2FsbGluZyB1bnJlZ2lzdGVyUHJv
dG9jb2xIYW5kbGVyKERPTVN0cmluZywgVVNWU3RyaW5nKSBvbiB3aW5kb3cubmF2aWdhdG9yIHdp
dGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgYXNzZXJ0X2luaGVyaXRz
OiBwcm9wZXJ0eSAidW5yZWdpc3RlclByb3RvY29sSGFuZGxlciIgbm90IGZvdW5kIGluIHByb3Rv
dHlwZSBjaGFpbgogUEFTUyBOYXZpZ2F0b3IgaW50ZXJmYWNlOiB3aW5kb3cubmF2aWdhdG9yIG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAiY29va2llRW5hYmxlZCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUg
CkBAIC01MjEzLDcgKzUyMzksNiBAQCBQQVNTIFNWR0VsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgb25tb3VzZW1vdmUKIFBBU1MgU1ZHRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbm1v
dXNlb3V0IAogUEFTUyBTVkdFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ubW91c2VvdmVy
IAogUEFTUyBTVkdFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ubW91c2V1cCAKLUZBSUwg
U1ZHRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndoZWVsIGFzc2VydF90cnVlOiBwcm9w
ZXJ0eSBzaG91bGQgYmUgZW51bWVyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQogUEFTUyBT
VkdFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ucGF1c2UgCiBQQVNTIFNWR0VsZW1lbnQg
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25wbGF5IAogUEFTUyBTVkdFbGVtZW50IGludGVyZmFjZTog
YXR0cmlidXRlIG9ucGxheWluZyAKQEAgLTUyMzQsNiArNTI1OSwxMSBAQCBQQVNTIFNWR0VsZW1l
bnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb250aW1ldXBkYXRlCiBQQVNTIFNWR0VsZW1lbnQgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgb250b2dnbGUgCiBQQVNTIFNWR0VsZW1lbnQgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgb252b2x1bWVjaGFuZ2UgCiBQQVNTIFNWR0VsZW1lbnQgaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgb253YWl0aW5nIAorRkFJTCBTVkdFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9u
d2Via2l0YW5pbWF0aW9uZW5kIGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVjdGVkIHByb3BlcnR5
ICJvbndlYmtpdGFuaW1hdGlvbmVuZCIgbWlzc2luZworRkFJTCBTVkdFbGVtZW50IGludGVyZmFj
ZTogYXR0cmlidXRlIG9ud2Via2l0YW5pbWF0aW9uaXRlcmF0aW9uIGFzc2VydF9vd25fcHJvcGVy
dHk6IGV4cGVjdGVkIHByb3BlcnR5ICJvbndlYmtpdGFuaW1hdGlvbml0ZXJhdGlvbiIgbWlzc2lu
ZworRkFJTCBTVkdFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ud2Via2l0YW5pbWF0aW9u
c3RhcnQgYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgIm9ud2Via2l0YW5p
bWF0aW9uc3RhcnQiIG1pc3NpbmcKK0ZBSUwgU1ZHRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBvbndlYmtpdHRyYW5zaXRpb25lbmQgYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJv
cGVydHkgIm9ud2Via2l0dHJhbnNpdGlvbmVuZCIgbWlzc2luZworRkFJTCBTVkdFbGVtZW50IGlu
dGVyZmFjZTogYXR0cmlidXRlIG9ud2hlZWwgYXNzZXJ0X3RydWU6IHByb3BlcnR5IHNob3VsZCBi
ZSBlbnVtZXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCiBGQUlMIFNWR0VsZW1lbnQgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgb25jb3B5IGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVjdGVkIHBy
b3BlcnR5ICJvbmNvcHkiIG1pc3NpbmcKIEZBSUwgU1ZHRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBvbmN1dCBhc3NlcnRfb3duX3Byb3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0eSAib25jdXQi
IG1pc3NpbmcKIEZBSUwgU1ZHRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnBhc3RlIGFz
c2VydF9vd25fcHJvcGVydHk6IGV4cGVjdGVkIHByb3BlcnR5ICJvbnBhc3RlIiBtaXNzaW5nCkBA
IC01MzQ2LDcgKzUzNzYsNiBAQCBQQVNTIERvY3VtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9u
bW91c2Vtb3ZlCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ubW91c2VvdXQg
CiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ubW91c2VvdmVyIAogUEFTUyBE
b2N1bWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbm1vdXNldXAgCi1GQUlMIERvY3VtZW50IGlu
dGVyZmFjZTogYXR0cmlidXRlIG9ud2hlZWwgYXNzZXJ0X3RydWU6IHByb3BlcnR5IHNob3VsZCBi
ZSBlbnVtZXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCiBQQVNTIERvY3VtZW50IGludGVy
ZmFjZTogYXR0cmlidXRlIG9ucGF1c2UgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogYXR0cmli
dXRlIG9ucGxheSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25wbGF5aW5n
IApAQCAtNTM2Nyw2ICs1Mzk2LDExIEBAIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgb250aW1ldXBkYXRlCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9udG9n
Z2xlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnZvbHVtZWNoYW5nZSAK
IFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253YWl0aW5nIAorRkFJTCBEb2N1
bWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndlYmtpdGFuaW1hdGlvbmVuZCBhc3NlcnRfdHJ1
ZTogcHJvcGVydHkgc2hvdWxkIGJlIGVudW1lcmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UK
K0ZBSUwgRG9jdW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253ZWJraXRhbmltYXRpb25pdGVy
YXRpb24gYXNzZXJ0X3RydWU6IHByb3BlcnR5IHNob3VsZCBiZSBlbnVtZXJhYmxlIGV4cGVjdGVk
IHRydWUgZ290IGZhbHNlCitGQUlMIERvY3VtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ud2Vi
a2l0YW5pbWF0aW9uc3RhcnQgYXNzZXJ0X3RydWU6IHByb3BlcnR5IHNob3VsZCBiZSBlbnVtZXJh
YmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIERvY3VtZW50IGludGVyZmFjZTogYXR0
cmlidXRlIG9ud2Via2l0dHJhbnNpdGlvbmVuZCBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgc2hvdWxk
IGJlIGVudW1lcmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgRG9jdW1lbnQgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgb253aGVlbCBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgc2hvdWxkIGJl
IGVudW1lcmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKIFBBU1MgRG9jdW1lbnQgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgb25jb3B5IAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBvbmN1dCAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25wYXN0ZSAKQEAg
LTU0NjgsNyArNTUwMiw2IEBAIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBpZnJhbWUuY29udGVu
dERvY3VtZW50IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25tb3VzZW1vCiBQQVNTIERvY3VtZW50
IGludGVyZmFjZTogaWZyYW1lLmNvbnRlbnREb2N1bWVudCBtdXN0IGluaGVyaXQgcHJvcGVydHkg
Im9ubW91c2VvdXQiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZh
Y2U6IGlmcmFtZS5jb250ZW50RG9jdW1lbnQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbm1vdXNl
b3ZlciIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogaWZy
YW1lLmNvbnRlbnREb2N1bWVudCBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ubW91c2V1cCIgd2l0
aCB0aGUgcHJvcGVyIHR5cGUgCi1QQVNTIERvY3VtZW50IGludGVyZmFjZTogaWZyYW1lLmNvbnRl
bnREb2N1bWVudCBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2hlZWwiIHdpdGggdGhlIHByb3Bl
ciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGlmcmFtZS5jb250ZW50RG9jdW1lbnQg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnBhdXNlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBB
U1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBpZnJhbWUuY29udGVudERvY3VtZW50IG11c3QgaW5oZXJp
dCBwcm9wZXJ0eSAib25wbGF5IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQg
aW50ZXJmYWNlOiBpZnJhbWUuY29udGVudERvY3VtZW50IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAi
b25wbGF5aW5nIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKQEAgLTU0ODksNiArNTUyMiwxMSBAQCBQ
QVNTIERvY3VtZW50IGludGVyZmFjZTogaWZyYW1lLmNvbnRlbnREb2N1bWVudCBtdXN0IGluaGVy
aXQgcHJvcGVydHkgIm9udGltZXVwZAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGlmcmFtZS5j
b250ZW50RG9jdW1lbnQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnRvZ2dsZSIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogaWZyYW1lLmNvbnRlbnREb2N1
bWVudCBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9udm9sdW1lY2hhbmdlIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBpZnJhbWUuY29udGVudERvY3VtZW50
IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253YWl0aW5nIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAK
K1BBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBpZnJhbWUuY29udGVudERvY3VtZW50IG11c3QgaW5o
ZXJpdCBwcm9wZXJ0eSAib253ZWJraXRhbmltYXRpb25lbmQiIHdpdGggdGhlIHByb3BlciB0eXBl
IAorUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGlmcmFtZS5jb250ZW50RG9jdW1lbnQgbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJvbndlYmtpdGFuaW1hdGlvbml0ZXJhdGlvbiIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUgCitQQVNTIERvY3VtZW50IGludGVyZmFjZTogaWZyYW1lLmNvbnRlbnREb2N1bWVu
dCBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2Via2l0YW5pbWF0aW9uc3RhcnQiIHdpdGggdGhl
IHByb3BlciB0eXBlIAorUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGlmcmFtZS5jb250ZW50RG9j
dW1lbnQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndlYmtpdHRyYW5zaXRpb25lbmQiIHdpdGgg
dGhlIHByb3BlciB0eXBlIAorUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGlmcmFtZS5jb250ZW50
RG9jdW1lbnQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndoZWVsIiB3aXRoIHRoZSBwcm9wZXIg
dHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBpZnJhbWUuY29udGVudERvY3VtZW50IG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25jb3B5IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1Mg
RG9jdW1lbnQgaW50ZXJmYWNlOiBpZnJhbWUuY29udGVudERvY3VtZW50IG11c3QgaW5oZXJpdCBw
cm9wZXJ0eSAib25jdXQiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRl
cmZhY2U6IGlmcmFtZS5jb250ZW50RG9jdW1lbnQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnBh
c3RlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKQEAgLTU1OTAsNyArNTYyOCw2IEBAIFBBU1MgRG9j
dW1lbnQgaW50ZXJmYWNlOiBuZXcgRG9jdW1lbnQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9u
bW91c2Vtb3ZlIiB3aXRoCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogbmV3IERvY3VtZW50KCkg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbm1vdXNlb3V0IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAK
IFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBuZXcgRG9jdW1lbnQoKSBtdXN0IGluaGVyaXQgcHJv
cGVydHkgIm9ubW91c2VvdmVyIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQg
aW50ZXJmYWNlOiBuZXcgRG9jdW1lbnQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ubW91c2V1
cCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCi1QQVNTIERvY3VtZW50IGludGVyZmFjZTogbmV3IERv
Y3VtZW50KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndoZWVsIiB3aXRoIHRoZSBwcm9wZXIg
dHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBuZXcgRG9jdW1lbnQoKSBtdXN0IGluaGVy
aXQgcHJvcGVydHkgIm9ucGF1c2UiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVu
dCBpbnRlcmZhY2U6IG5ldyBEb2N1bWVudCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25wbGF5
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBuZXcgRG9j
dW1lbnQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ucGxheWluZyIgd2l0aCB0aGUgcHJvcGVy
IHR5cGUgCkBAIC01NjExLDYgKzU2NDgsMTEgQEAgUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IG5l
dyBEb2N1bWVudCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib250aW1ldXBkYXRlIiB3aXQKIFBB
U1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBuZXcgRG9jdW1lbnQoKSBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgIm9udG9nZ2xlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJm
YWNlOiBuZXcgRG9jdW1lbnQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9udm9sdW1lY2hhbmdl
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBuZXcgRG9j
dW1lbnQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2FpdGluZyIgd2l0aCB0aGUgcHJvcGVy
IHR5cGUgCitQQVNTIERvY3VtZW50IGludGVyZmFjZTogbmV3IERvY3VtZW50KCkgbXVzdCBpbmhl
cml0IHByb3BlcnR5ICJvbndlYmtpdGFuaW1hdGlvbmVuZCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUg
CitQQVNTIERvY3VtZW50IGludGVyZmFjZTogbmV3IERvY3VtZW50KCkgbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJvbndlYmtpdGFuaW1hdGlvbml0ZXJhdGlvbiIgd2l0aCB0aGUgcHJvcGVyIHR5cGUg
CitQQVNTIERvY3VtZW50IGludGVyZmFjZTogbmV3IERvY3VtZW50KCkgbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJvbndlYmtpdGFuaW1hdGlvbnN0YXJ0IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BB
U1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBuZXcgRG9jdW1lbnQoKSBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgIm9ud2Via2l0dHJhbnNpdGlvbmVuZCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIERv
Y3VtZW50IGludGVyZmFjZTogbmV3IERvY3VtZW50KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJv
bndoZWVsIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBu
ZXcgRG9jdW1lbnQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9uY29weSIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogbmV3IERvY3VtZW50KCkgbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJvbmN1dCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIERvY3Vt
ZW50IGludGVyZmFjZTogbmV3IERvY3VtZW50KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnBh
c3RlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKQEAgLTU3MTIsNyArNTc1NCw2IEBAIFBBU1MgRG9j
dW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudFdpdGhIYW5kbGVycyBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgIm9ubW91c2Vtb3ZlCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogZG9jdW1lbnRXaXRoSGFu
ZGxlcnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbm1vdXNlb3V0IiB3aXRoIHRoZSBwcm9wZXIg
dHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudFdpdGhIYW5kbGVycyBtdXN0
IGluaGVyaXQgcHJvcGVydHkgIm9ubW91c2VvdmVyIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBB
U1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudFdpdGhIYW5kbGVycyBtdXN0IGluaGVyaXQg
cHJvcGVydHkgIm9ubW91c2V1cCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCi1QQVNTIERvY3VtZW50
IGludGVyZmFjZTogZG9jdW1lbnRXaXRoSGFuZGxlcnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJv
bndoZWVsIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBk
b2N1bWVudFdpdGhIYW5kbGVycyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ucGF1c2UiIHdpdGgg
dGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGRvY3VtZW50V2l0aEhh
bmRsZXJzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25wbGF5IiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudFdpdGhIYW5kbGVycyBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgIm9ucGxheWluZyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCkBAIC01NzMz
LDYgKzU3NzQsMTEgQEAgUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGRvY3VtZW50V2l0aEhhbmRs
ZXJzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib250aW1ldXBkYXQKIFBBU1MgRG9jdW1lbnQgaW50
ZXJmYWNlOiBkb2N1bWVudFdpdGhIYW5kbGVycyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9udG9n
Z2xlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBkb2N1
bWVudFdpdGhIYW5kbGVycyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9udm9sdW1lY2hhbmdlIiB3
aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudFdp
dGhIYW5kbGVycyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2FpdGluZyIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUgCitQQVNTIERvY3VtZW50IGludGVyZmFjZTogZG9jdW1lbnRXaXRoSGFuZGxlcnMg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndlYmtpdGFuaW1hdGlvbmVuZCIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUgCitQQVNTIERvY3VtZW50IGludGVyZmFjZTogZG9jdW1lbnRXaXRoSGFuZGxlcnMg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndlYmtpdGFuaW1hdGlvbml0ZXJhdGlvbiIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgCitQQVNTIERvY3VtZW50IGludGVyZmFjZTogZG9jdW1lbnRXaXRoSGFu
ZGxlcnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndlYmtpdGFuaW1hdGlvbnN0YXJ0IiB3aXRo
IHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudFdpdGhI
YW5kbGVycyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2Via2l0dHJhbnNpdGlvbmVuZCIgd2l0
aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIERvY3VtZW50IGludGVyZmFjZTogZG9jdW1lbnRXaXRo
SGFuZGxlcnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndoZWVsIiB3aXRoIHRoZSBwcm9wZXIg
dHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudFdpdGhIYW5kbGVycyBtdXN0
IGluaGVyaXQgcHJvcGVydHkgIm9uY29weSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIERv
Y3VtZW50IGludGVyZmFjZTogZG9jdW1lbnRXaXRoSGFuZGxlcnMgbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJvbmN1dCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIERvY3VtZW50IGludGVyZmFj
ZTogZG9jdW1lbnRXaXRoSGFuZGxlcnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnBhc3RlIiB3
aXRoIHRoZSBwcm9wZXIgdHlwZSAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy13azIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2RvbS9pZGxoYXJuZXNz
Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2RvbS9pZGxoYXJuZXNzLmh0dHBzLWV4cGVj
dGVkLnR4dAppbmRleCA1OGY4ZTg2NjFjMGUzNTY4Yjk2ZWY0NWFlZDhhZWRhMTkwZDU5ZDMwLi43
N2Y2YTBiMmJlNmJkNmVhNWM1MWY2NWQzZGNjNDM3NGY2NmIwYzE3IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9kb20vaWRsaGFybmVzcy5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLXdrMi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvZG9t
L2lkbGhhcm5lc3MuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xNjgsNyArMTY4LDcgQEAgUEFTUyBT
aGFkb3dSb290IGluY2x1ZGVzIERvY3VtZW50T3JTaGFkb3dSb290OiBtZW1iZXIgbmFtZXMgYXJl
IHVuaXF1ZQogUEFTUyBFbGVtZW50IGluY2x1ZGVzIFBhcmVudE5vZGU6IG1lbWJlciBuYW1lcyBh
cmUgdW5pcXVlIAogUEFTUyBFbGVtZW50IGluY2x1ZGVzIE5vbkRvY3VtZW50VHlwZUNoaWxkTm9k
ZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNTIEVsZW1lbnQgaW5jbHVkZXMgQ2hpbGRO
b2RlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKLVBBU1MgRWxlbWVudCBpbmNsdWRlcyBTbG90
YWJsZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCitQQVNTIEVsZW1lbnQgaW5jbHVkZXMgU2xv
dHRhYmxlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgSFRNTEFsbENvbGxlY3Rpb24g
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAK
IFBBU1MgSFRNTEFsbENvbGxlY3Rpb24gaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCiBQQVNTIEhU
TUxBbGxDb2xsZWN0aW9uIGludGVyZmFjZSBvYmplY3QgbmFtZSAKQEAgLTI5OCw3ICsyOTgsNiBA
QCBQQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ubW91c2Vtb3ZlCiBQQVNT
IEhUTUxFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ubW91c2VvdXQgCiBQQVNTIEhUTUxF
bGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ubW91c2VvdmVyIAogUEFTUyBIVE1MRWxlbWVu
dCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbm1vdXNldXAgCi1GQUlMIEhUTUxFbGVtZW50IGludGVy
ZmFjZTogYXR0cmlidXRlIG9ud2hlZWwgYXNzZXJ0X3RydWU6IHByb3BlcnR5IHNob3VsZCBiZSBl
bnVtZXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCiBQQVNTIEhUTUxFbGVtZW50IGludGVy
ZmFjZTogYXR0cmlidXRlIG9ucGF1c2UgCiBQQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTogYXR0
cmlidXRlIG9ucGxheSAKIFBBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25w
bGF5aW5nIApAQCAtMzE5LDYgKzMxOCwxMSBAQCBQQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTog
YXR0cmlidXRlIG9udGltZXVwZGF0ZQogUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBvbnRvZ2dsZSAKIFBBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb252
b2x1bWVjaGFuZ2UgCiBQQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ud2Fp
dGluZyAKK0ZBSUwgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253ZWJraXRhbmlt
YXRpb25lbmQgYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgIm9ud2Via2l0
YW5pbWF0aW9uZW5kIiBtaXNzaW5nCitGQUlMIEhUTUxFbGVtZW50IGludGVyZmFjZTogYXR0cmli
dXRlIG9ud2Via2l0YW5pbWF0aW9uaXRlcmF0aW9uIGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVj
dGVkIHByb3BlcnR5ICJvbndlYmtpdGFuaW1hdGlvbml0ZXJhdGlvbiIgbWlzc2luZworRkFJTCBI
VE1MRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndlYmtpdGFuaW1hdGlvbnN0YXJ0IGFz
c2VydF9vd25fcHJvcGVydHk6IGV4cGVjdGVkIHByb3BlcnR5ICJvbndlYmtpdGFuaW1hdGlvbnN0
YXJ0IiBtaXNzaW5nCitGQUlMIEhUTUxFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ud2Vi
a2l0dHJhbnNpdGlvbmVuZCBhc3NlcnRfb3duX3Byb3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0eSAi
b253ZWJraXR0cmFuc2l0aW9uZW5kIiBtaXNzaW5nCitGQUlMIEhUTUxFbGVtZW50IGludGVyZmFj
ZTogYXR0cmlidXRlIG9ud2hlZWwgYXNzZXJ0X3RydWU6IHByb3BlcnR5IHNob3VsZCBiZSBlbnVt
ZXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCiBGQUlMIEhUTUxFbGVtZW50IGludGVyZmFj
ZTogYXR0cmlidXRlIG9uY29weSBhc3NlcnRfb3duX3Byb3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0
eSAib25jb3B5IiBtaXNzaW5nCiBGQUlMIEhUTUxFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRl
IG9uY3V0IGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVjdGVkIHByb3BlcnR5ICJvbmN1dCIgbWlz
c2luZwogRkFJTCBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnBhc3RlIGFzc2Vy
dF9vd25fcHJvcGVydHk6IGV4cGVjdGVkIHByb3BlcnR5ICJvbnBhc3RlIiBtaXNzaW5nCkBAIC0z
ODksNyArMzkzLDYgQEAgUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoIm5vc2NyaXB0IikgbXVzdCBpbmhlcml0IHByb3AKIFBBU1MgSFRNTEVsZW1lbnQg
aW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJub3NjcmlwdCIpIG11c3QgaW5oZXJp
dCBwcm9wZXJ0eSAib25tb3VzZW91dCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIEhUTUxF
bGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibm9zY3JpcHQiKSBtdXN0
IGluaGVyaXQgcHJvcGVydHkgIm9ubW91c2VvdmVyIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBB
U1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJub3Njcmlw
dCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25tb3VzZXVwIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSAKLVBBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJu
b3NjcmlwdCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253aGVlbCIgd2l0aCB0aGUgcHJvcGVy
IHR5cGUgCiBQQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgibm9zY3JpcHQiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ucGF1c2UiIHdpdGggdGhlIHBy
b3BlciB0eXBlIAogUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoIm5vc2NyaXB0IikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnBsYXkiIHdpdGggdGhl
IHByb3BlciB0eXBlIAogUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoIm5vc2NyaXB0IikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnBsYXlpbmciIHdp
dGggdGhlIHByb3BlciB0eXBlIApAQCAtNDEwLDYgKzQxMywxMSBAQCBQQVNTIEhUTUxFbGVtZW50
IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibm9zY3JpcHQiKSBtdXN0IGluaGVy
aXQgcHJvcAogUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoIm5vc2NyaXB0IikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnRvZ2dsZSIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUgCiBQQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgibm9zY3JpcHQiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9udm9sdW1lY2hhbmdl
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJub3NjcmlwdCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253
YWl0aW5nIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNl
OiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJub3NjcmlwdCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0
eSAib253ZWJraXRhbmltYXRpb25lbmQiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBIVE1M
RWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm5vc2NyaXB0IikgbXVz
dCBpbmhlcml0IHByb3BlcnR5ICJvbndlYmtpdGFuaW1hdGlvbml0ZXJhdGlvbiIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUgCitQQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgibm9zY3JpcHQiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2Via2l0YW5pbWF0
aW9uc3RhcnQiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZh
Y2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm5vc2NyaXB0IikgbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJvbndlYmtpdHRyYW5zaXRpb25lbmQiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBI
VE1MRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm5vc2NyaXB0Iikg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndoZWVsIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBB
U1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJub3Njcmlw
dCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25jb3B5IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAK
IFBBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJub3Nj
cmlwdCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25jdXQiIHdpdGggdGhlIHByb3BlciB0eXBl
IAogUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm5v
c2NyaXB0IikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnBhc3RlIiB3aXRoIHRoZSBwcm9wZXIg
dHlwZSAKQEAgLTg5MCw2ICs4OTgsNyBAQCBQQVNTIEhUTUxJbWFnZUVsZW1lbnQgaW50ZXJmYWNl
OiBhdHRyaWJ1dGUgY29tcGxldGUKIFBBU1MgSFRNTEltYWdlRWxlbWVudCBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBjdXJyZW50U3JjIAogUEFTUyBIVE1MSW1hZ2VFbGVtZW50IGludGVyZmFjZTogYXR0
cmlidXRlIHJlZmVycmVyUG9saWN5IAogUEFTUyBIVE1MSW1hZ2VFbGVtZW50IGludGVyZmFjZTog
YXR0cmlidXRlIGRlY29kaW5nIAorRkFJTCBIVE1MSW1hZ2VFbGVtZW50IGludGVyZmFjZTogYXR0
cmlidXRlIGxvYWRpbmcgYXNzZXJ0X3RydWU6IFRoZSBwcm90b3R5cGUgb2JqZWN0IG11c3QgaGF2
ZSBhIHByb3BlcnR5ICJsb2FkaW5nIiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQogUEFTUyBIVE1M
SW1hZ2VFbGVtZW50IGludGVyZmFjZTogb3BlcmF0aW9uIGRlY29kZSgpIAogUEFTUyBIVE1MSW1h
Z2VFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG5hbWUgCiBQQVNTIEhUTUxJbWFnZUVsZW1l
bnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbG93c3JjIApAQCAtOTE1LDYgKzkyNCw3IEBAIFBBU1Mg
SFRNTEltYWdlRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIp
IG11c3QgaW5oZXJpdCBwcm9wCiBQQVNTIEhUTUxJbWFnZUVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImN1cnJlbnRT
cmMiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBIVE1MSW1hZ2VFbGVtZW50IGludGVyZmFj
ZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJy
ZWZlcnJlclBvbGljeSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIEhUTUxJbWFnZUVsZW1l
bnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKSBtdXN0IGluaGVyaXQg
cHJvcGVydHkgImRlY29kaW5nIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK0ZBSUwgSFRNTEltYWdl
RWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpIG11c3QgaW5o
ZXJpdCBwcm9wZXJ0eSAibG9hZGluZyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2luaGVy
aXRzOiBwcm9wZXJ0eSAibG9hZGluZyIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgogUEFT
UyBIVE1MSW1hZ2VFbGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1n
IikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJkZWNvZGUoKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUg
CiBQQVNTIEhUTUxJbWFnZUVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJpbWciKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm5hbWUiIHdpdGggdGhlIHByb3BlciB0eXBl
IAogUEFTUyBIVE1MSW1hZ2VFbGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiaW1nIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJsb3dzcmMiIHdpdGggdGhlIHByb3BlciB0
eXBlIApAQCAtOTQwLDYgKzk1MCw3IEBAIFBBU1MgSFRNTEltYWdlRWxlbWVudCBpbnRlcmZhY2U6
IG5ldyBJbWFnZSgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiY29tcGxldGUiIHdpCiBQQVNTIEhU
TUxJbWFnZUVsZW1lbnQgaW50ZXJmYWNlOiBuZXcgSW1hZ2UoKSBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgImN1cnJlbnRTcmMiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBIVE1MSW1hZ2VFbGVt
ZW50IGludGVyZmFjZTogbmV3IEltYWdlKCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJyZWZlcnJl
clBvbGljeSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIEhUTUxJbWFnZUVsZW1lbnQgaW50
ZXJmYWNlOiBuZXcgSW1hZ2UoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImRlY29kaW5nIiB3aXRo
IHRoZSBwcm9wZXIgdHlwZSAKK0ZBSUwgSFRNTEltYWdlRWxlbWVudCBpbnRlcmZhY2U6IG5ldyBJ
bWFnZSgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibG9hZGluZyIgd2l0aCB0aGUgcHJvcGVyIHR5
cGUgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAibG9hZGluZyIgbm90IGZvdW5kIGluIHByb3Rv
dHlwZSBjaGFpbgogUEFTUyBIVE1MSW1hZ2VFbGVtZW50IGludGVyZmFjZTogbmV3IEltYWdlKCkg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJkZWNvZGUoKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQ
QVNTIEhUTUxJbWFnZUVsZW1lbnQgaW50ZXJmYWNlOiBuZXcgSW1hZ2UoKSBtdXN0IGluaGVyaXQg
cHJvcGVydHkgIm5hbWUiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBIVE1MSW1hZ2VFbGVt
ZW50IGludGVyZmFjZTogbmV3IEltYWdlKCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJsb3dzcmMi
IHdpdGggdGhlIHByb3BlciB0eXBlIApAQCAtNDIyOCw3ICs0MjM5LDcgQEAgRkFJTCBFbGVtZW50
SW50ZXJuYWxzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFj
ZSBwcm90b3R5cGUKIEZBSUwgRWxlbWVudEludGVybmFscyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJs
ZXMgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBw
cm9wZXJ0eSAiRWxlbWVudEludGVybmFscyIgZXhwZWN0ZWQgcHJvcGVydHkgIkVsZW1lbnRJbnRl
cm5hbHMiIG1pc3NpbmcKIEZBSUwgRWxlbWVudEludGVybmFscyBpbnRlcmZhY2U6IG9wZXJhdGlv
biBzZXRGb3JtVmFsdWUoKEZpbGUgb3IgVVNWU3RyaW5nIG9yIEZvcm1EYXRhKT8sIG9wdGlvbmFs
IChGaWxlIG9yIFVTVlN0cmluZyBvciBGb3JtRGF0YSk/KSBhc3NlcnRfb3duX3Byb3BlcnR5OiBz
ZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJFbGVtZW50SW50ZXJuYWxzIiBleHBlY3Rl
ZCBwcm9wZXJ0eSAiRWxlbWVudEludGVybmFscyIgbWlzc2luZwogRkFJTCBFbGVtZW50SW50ZXJu
YWxzIGludGVyZmFjZTogYXR0cmlidXRlIGZvcm0gYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBk
b2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiRWxlbWVudEludGVybmFscyIgZXhwZWN0ZWQgcHJv
cGVydHkgIkVsZW1lbnRJbnRlcm5hbHMiIG1pc3NpbmcKLUZBSUwgRWxlbWVudEludGVybmFscyBp
bnRlcmZhY2U6IG9wZXJhdGlvbiBzZXRWYWxpZGl0eShWYWxpZGl0eVN0YXRlRmxhZ3MsIG9wdGlv
bmFsIERPTVN0cmluZywgb3B0aW9uYWwgSFRNTEVsZW1lbnQpIGFzc2VydF9vd25fcHJvcGVydHk6
IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkVsZW1lbnRJbnRlcm5hbHMiIGV4cGVj
dGVkIHByb3BlcnR5ICJFbGVtZW50SW50ZXJuYWxzIiBtaXNzaW5nCitGQUlMIEVsZW1lbnRJbnRl
cm5hbHMgaW50ZXJmYWNlOiBvcGVyYXRpb24gc2V0VmFsaWRpdHkob3B0aW9uYWwgVmFsaWRpdHlT
dGF0ZUZsYWdzLCBvcHRpb25hbCBET01TdHJpbmcsIG9wdGlvbmFsIEhUTUxFbGVtZW50KSBhc3Nl
cnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJFbGVtZW50
SW50ZXJuYWxzIiBleHBlY3RlZCBwcm9wZXJ0eSAiRWxlbWVudEludGVybmFscyIgbWlzc2luZwog
RkFJTCBFbGVtZW50SW50ZXJuYWxzIGludGVyZmFjZTogYXR0cmlidXRlIHdpbGxWYWxpZGF0ZSBh
c3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJFbGVt
ZW50SW50ZXJuYWxzIiBleHBlY3RlZCBwcm9wZXJ0eSAiRWxlbWVudEludGVybmFscyIgbWlzc2lu
ZwogRkFJTCBFbGVtZW50SW50ZXJuYWxzIGludGVyZmFjZTogYXR0cmlidXRlIHZhbGlkaXR5IGFz
c2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkVsZW1l
bnRJbnRlcm5hbHMiIGV4cGVjdGVkIHByb3BlcnR5ICJFbGVtZW50SW50ZXJuYWxzIiBtaXNzaW5n
CiBGQUlMIEVsZW1lbnRJbnRlcm5hbHMgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgdmFsaWRhdGlvbk1l
c3NhZ2UgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0
eSAiRWxlbWVudEludGVybmFscyIgZXhwZWN0ZWQgcHJvcGVydHkgIkVsZW1lbnRJbnRlcm5hbHMi
IG1pc3NpbmcKQEAgLTQzNjYsNyArNDM3Nyw2IEBAIFBBU1MgV2luZG93IGludGVyZmFjZTogYXR0
cmlidXRlIG9ubW91c2Vtb3ZlCiBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbm1v
dXNlb3V0IAogUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25tb3VzZW92ZXIgCiBQ
QVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbm1vdXNldXAgCi1GQUlMIFdpbmRvdyBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndoZWVsIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBzaG91bGQg
YmUgZW51bWVyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQogUEFTUyBXaW5kb3cgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgb25wYXVzZSAKIFBBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRl
IG9ucGxheSAKIFBBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ucGxheWluZyAKQEAg
LTQzODcsNiArNDM5NywxMSBAQCBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnRp
bWV1cGRhdGUKIFBBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9udG9nZ2xlIAogUEFT
UyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb252b2x1bWVjaGFuZ2UgCiBQQVNTIFdpbmRv
dyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndhaXRpbmcgCitGQUlMIFdpbmRvdyBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBvbndlYmtpdGFuaW1hdGlvbmVuZCBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgc2hv
dWxkIGJlIGVudW1lcmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2luZG93IGlu
dGVyZmFjZTogYXR0cmlidXRlIG9ud2Via2l0YW5pbWF0aW9uaXRlcmF0aW9uIGFzc2VydF90cnVl
OiBwcm9wZXJ0eSBzaG91bGQgYmUgZW51bWVyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQor
RkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253ZWJraXRhbmltYXRpb25zdGFydCBh
c3NlcnRfdHJ1ZTogcHJvcGVydHkgc2hvdWxkIGJlIGVudW1lcmFibGUgZXhwZWN0ZWQgdHJ1ZSBn
b3QgZmFsc2UKK0ZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ud2Via2l0dHJhbnNp
dGlvbmVuZCBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgc2hvdWxkIGJlIGVudW1lcmFibGUgZXhwZWN0
ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ud2hl
ZWwgYXNzZXJ0X3RydWU6IHByb3BlcnR5IHNob3VsZCBiZSBlbnVtZXJhYmxlIGV4cGVjdGVkIHRy
dWUgZ290IGZhbHNlCiBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmFmdGVycHJp
bnQgCiBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmJlZm9yZXByaW50IAogUEFT
UyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25iZWZvcmV1bmxvYWQgCkBAIC00NTExLDcg
KzQ1MjYsNiBAQCBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IHdpbmRvdyBtdXN0IGluaGVyaXQgcHJv
cGVydHkgIm9ubW91c2Vtb3ZlIiB3aXRoIHRoZSBwcm9wZQogUEFTUyBXaW5kb3cgaW50ZXJmYWNl
OiB3aW5kb3cgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbm1vdXNlb3V0IiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAKIFBBU1MgV2luZG93IGludGVyZmFjZTogd2luZG93IG11c3QgaW5oZXJpdCBwcm9w
ZXJ0eSAib25tb3VzZW92ZXIiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBXaW5kb3cgaW50
ZXJmYWNlOiB3aW5kb3cgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbm1vdXNldXAiIHdpdGggdGhl
IHByb3BlciB0eXBlIAotUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiB3aW5kb3cgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJvbndoZWVsIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgV2luZG93IGlu
dGVyZmFjZTogd2luZG93IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25wYXVzZSIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUgCiBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IHdpbmRvdyBtdXN0IGluaGVyaXQg
cHJvcGVydHkgIm9ucGxheSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIFdpbmRvdyBpbnRl
cmZhY2U6IHdpbmRvdyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ucGxheWluZyIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUgCkBAIC00NTMyLDYgKzQ1NDYsMTEgQEAgUEFTUyBXaW5kb3cgaW50ZXJmYWNl
OiB3aW5kb3cgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnRpbWV1cGRhdGUiIHdpdGggdGhlIHBy
b3AKIFBBU1MgV2luZG93IGludGVyZmFjZTogd2luZG93IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAi
b250b2dnbGUiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiB3
aW5kb3cgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnZvbHVtZWNoYW5nZSIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUgCiBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IHdpbmRvdyBtdXN0IGluaGVyaXQgcHJv
cGVydHkgIm9ud2FpdGluZyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIFdpbmRvdyBpbnRl
cmZhY2U6IHdpbmRvdyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2Via2l0YW5pbWF0aW9uZW5k
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgV2luZG93IGludGVyZmFjZTogd2luZG93IG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253ZWJraXRhbmltYXRpb25pdGVyYXRpb24iIHdpdGggdGhl
IHByb3BlciB0eXBlIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiB3aW5kb3cgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJvbndlYmtpdGFuaW1hdGlvbnN0YXJ0IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAK
K1BBU1MgV2luZG93IGludGVyZmFjZTogd2luZG93IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253
ZWJraXR0cmFuc2l0aW9uZW5kIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgV2luZG93IGlu
dGVyZmFjZTogd2luZG93IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253aGVlbCIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUgCiBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IHdpbmRvdyBtdXN0IGluaGVyaXQg
cHJvcGVydHkgIm9uYWZ0ZXJwcmludCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIFdpbmRv
dyBpbnRlcmZhY2U6IHdpbmRvdyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9uYmVmb3JlcHJpbnQi
IHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiB3aW5kb3cgbXVz
dCBpbmhlcml0IHByb3BlcnR5ICJvbmJlZm9yZXVubG9hZCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUg
CkBAIC00NzMyLDYgKzQ3NTEsMTMgQEAgUEFTUyBQcm9taXNlUmVqZWN0aW9uRXZlbnQgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3QKIFBBU1MgUHJv
bWlzZVJlamVjdGlvbkV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSAKIFBB
U1MgUHJvbWlzZVJlamVjdGlvbkV2ZW50IGludGVyZmFjZTogYXR0cmlidXRlIHByb21pc2UgCiBQ
QVNTIFByb21pc2VSZWplY3Rpb25FdmVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSByZWFzb24gCitQ
QVNTIERPTVBhcnNlciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRl
cmZhY2Ugb2JqZWN0IAorUEFTUyBET01QYXJzZXIgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCitQ
QVNTIERPTVBhcnNlciBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCitQQVNTIERPTVBhcnNlciBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9i
amVjdCAKK1BBU1MgRE9NUGFyc2VyIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAK
K1BBU1MgRE9NUGFyc2VyIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSAKK1BBU1Mg
RE9NUGFyc2VyIGludGVyZmFjZTogb3BlcmF0aW9uIHBhcnNlRnJvbVN0cmluZyhET01TdHJpbmcs
IERPTVBhcnNlclN1cHBvcnRlZFR5cGUpIAogUEFTUyBOYXZpZ2F0b3IgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKIFBBU1MgTmF2aWdhdG9y
IGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAogUEFTUyBOYXZpZ2F0b3IgaW50ZXJmYWNlIG9iamVj
dCBuYW1lIApAQCAtNDc1Miw3ICs0Nzc4LDcgQEAgRkFJTCBOYXZpZ2F0b3IgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgb3NjcHUgYXNzZXJ0X3RydWU6IFRoZSBwcm90b3R5cGUgb2JqZWN0IG11c3QKIFBB
U1MgTmF2aWdhdG9yIGludGVyZmFjZTogYXR0cmlidXRlIGxhbmd1YWdlIAogUEFTUyBOYXZpZ2F0
b3IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbGFuZ3VhZ2VzIAogUEFTUyBOYXZpZ2F0b3IgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgb25MaW5lIAotRkFJTCBOYXZpZ2F0b3IgaW50ZXJmYWNlOiBvcGVyYXRp
b24gcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoRE9NU3RyaW5nLCBVU1ZTdHJpbmcsIERPTVN0cmlu
ZykgYXNzZXJ0X293bl9wcm9wZXJ0eTogaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgbWlzc2lu
ZyBub24tc3RhdGljIG9wZXJhdGlvbiBleHBlY3RlZCBwcm9wZXJ0eSAicmVnaXN0ZXJQcm90b2Nv
bEhhbmRsZXIiIG1pc3NpbmcKK0ZBSUwgTmF2aWdhdG9yIGludGVyZmFjZTogb3BlcmF0aW9uIHJl
Z2lzdGVyUHJvdG9jb2xIYW5kbGVyKERPTVN0cmluZywgVVNWU3RyaW5nKSBhc3NlcnRfb3duX3By
b3BlcnR5OiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBtaXNzaW5nIG5vbi1zdGF0aWMgb3Bl
cmF0aW9uIGV4cGVjdGVkIHByb3BlcnR5ICJyZWdpc3RlclByb3RvY29sSGFuZGxlciIgbWlzc2lu
ZwogRkFJTCBOYXZpZ2F0b3IgaW50ZXJmYWNlOiBvcGVyYXRpb24gdW5yZWdpc3RlclByb3RvY29s
SGFuZGxlcihET01TdHJpbmcsIFVTVlN0cmluZykgYXNzZXJ0X293bl9wcm9wZXJ0eTogaW50ZXJm
YWNlIHByb3RvdHlwZSBvYmplY3QgbWlzc2luZyBub24tc3RhdGljIG9wZXJhdGlvbiBleHBlY3Rl
ZCBwcm9wZXJ0eSAidW5yZWdpc3RlclByb3RvY29sSGFuZGxlciIgbWlzc2luZwogUEFTUyBOYXZp
Z2F0b3IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgY29va2llRW5hYmxlZCAKIFBBU1MgTmF2aWdhdG9y
IGludGVyZmFjZTogYXR0cmlidXRlIHBsdWdpbnMgCkBAIC00Nzc1LDggKzQ4MDEsOCBAQCBGQUlM
IE5hdmlnYXRvciBpbnRlcmZhY2U6IHdpbmRvdy5uYXZpZ2F0b3IgbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJvc2NwdSIgd2l0aCB0aAogUEFTUyBOYXZpZ2F0b3IgaW50ZXJmYWNlOiB3aW5kb3cubmF2
aWdhdG9yIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibGFuZ3VhZ2UiIHdpdGggdGhlIHByb3BlciB0
eXBlIAogUEFTUyBOYXZpZ2F0b3IgaW50ZXJmYWNlOiB3aW5kb3cubmF2aWdhdG9yIG11c3QgaW5o
ZXJpdCBwcm9wZXJ0eSAibGFuZ3VhZ2VzIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgTmF2
aWdhdG9yIGludGVyZmFjZTogd2luZG93Lm5hdmlnYXRvciBtdXN0IGluaGVyaXQgcHJvcGVydHkg
Im9uTGluZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCi1GQUlMIE5hdmlnYXRvciBpbnRlcmZhY2U6
IHdpbmRvdy5uYXZpZ2F0b3IgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJyZWdpc3RlclByb3RvY29s
SGFuZGxlcihET01TdHJpbmcsIFVTVlN0cmluZywgRE9NU3RyaW5nKSIgd2l0aCB0aGUgcHJvcGVy
IHR5cGUgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAicmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIi
IG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KLUZBSUwgTmF2aWdhdG9yIGludGVyZmFjZTog
Y2FsbGluZyByZWdpc3RlclByb3RvY29sSGFuZGxlcihET01TdHJpbmcsIFVTVlN0cmluZywgRE9N
U3RyaW5nKSBvbiB3aW5kb3cubmF2aWdhdG9yIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0
aHJvdyBUeXBlRXJyb3IgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAicmVnaXN0ZXJQcm90b2Nv
bEhhbmRsZXIiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KK0ZBSUwgTmF2aWdhdG9yIGlu
dGVyZmFjZTogd2luZG93Lm5hdmlnYXRvciBtdXN0IGluaGVyaXQgcHJvcGVydHkgInJlZ2lzdGVy
UHJvdG9jb2xIYW5kbGVyKERPTVN0cmluZywgVVNWU3RyaW5nKSIgd2l0aCB0aGUgcHJvcGVyIHR5
cGUgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAicmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIiIG5v
dCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KK0ZBSUwgTmF2aWdhdG9yIGludGVyZmFjZTogY2Fs
bGluZyByZWdpc3RlclByb3RvY29sSGFuZGxlcihET01TdHJpbmcsIFVTVlN0cmluZykgb24gd2lu
ZG93Lm5hdmlnYXRvciB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9y
IGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgInJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyIiBub3Qg
Zm91bmQgaW4gcHJvdG90eXBlIGNoYWluCiBGQUlMIE5hdmlnYXRvciBpbnRlcmZhY2U6IHdpbmRv
dy5uYXZpZ2F0b3IgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJ1bnJlZ2lzdGVyUHJvdG9jb2xIYW5k
bGVyKERPTVN0cmluZywgVVNWU3RyaW5nKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2lu
aGVyaXRzOiBwcm9wZXJ0eSAidW5yZWdpc3RlclByb3RvY29sSGFuZGxlciIgbm90IGZvdW5kIGlu
IHByb3RvdHlwZSBjaGFpbgogRkFJTCBOYXZpZ2F0b3IgaW50ZXJmYWNlOiBjYWxsaW5nIHVucmVn
aXN0ZXJQcm90b2NvbEhhbmRsZXIoRE9NU3RyaW5nLCBVU1ZTdHJpbmcpIG9uIHdpbmRvdy5uYXZp
Z2F0b3Igd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciBhc3NlcnRf
aW5oZXJpdHM6IHByb3BlcnR5ICJ1bnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyIiBub3QgZm91bmQg
aW4gcHJvdG90eXBlIGNoYWluCiBQQVNTIE5hdmlnYXRvciBpbnRlcmZhY2U6IHdpbmRvdy5uYXZp
Z2F0b3IgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJjb29raWVFbmFibGVkIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAKQEAgLTUyMTMsNyArNTIzOSw2IEBAIFBBU1MgU1ZHRWxlbWVudCBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBvbm1vdXNlbW92ZQogUEFTUyBTVkdFbGVtZW50IGludGVyZmFjZTogYXR0cmli
dXRlIG9ubW91c2VvdXQgCiBQQVNTIFNWR0VsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25t
b3VzZW92ZXIgCiBQQVNTIFNWR0VsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25tb3VzZXVw
IAotRkFJTCBTVkdFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ud2hlZWwgYXNzZXJ0X3Ry
dWU6IHByb3BlcnR5IHNob3VsZCBiZSBlbnVtZXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNl
CiBQQVNTIFNWR0VsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25wYXVzZSAKIFBBU1MgU1ZH
RWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnBsYXkgCiBQQVNTIFNWR0VsZW1lbnQgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgb25wbGF5aW5nIApAQCAtNTIzNCw2ICs1MjU5LDExIEBAIFBBU1Mg
U1ZHRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnRpbWV1cGRhdGUKIFBBU1MgU1ZHRWxl
bWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnRvZ2dsZSAKIFBBU1MgU1ZHRWxlbWVudCBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSBvbnZvbHVtZWNoYW5nZSAKIFBBU1MgU1ZHRWxlbWVudCBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBvbndhaXRpbmcgCitGQUlMIFNWR0VsZW1lbnQgaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgb253ZWJraXRhbmltYXRpb25lbmQgYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQg
cHJvcGVydHkgIm9ud2Via2l0YW5pbWF0aW9uZW5kIiBtaXNzaW5nCitGQUlMIFNWR0VsZW1lbnQg
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253ZWJraXRhbmltYXRpb25pdGVyYXRpb24gYXNzZXJ0X293
bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgIm9ud2Via2l0YW5pbWF0aW9uaXRlcmF0aW9u
IiBtaXNzaW5nCitGQUlMIFNWR0VsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253ZWJraXRh
bmltYXRpb25zdGFydCBhc3NlcnRfb3duX3Byb3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0eSAib253
ZWJraXRhbmltYXRpb25zdGFydCIgbWlzc2luZworRkFJTCBTVkdFbGVtZW50IGludGVyZmFjZTog
YXR0cmlidXRlIG9ud2Via2l0dHJhbnNpdGlvbmVuZCBhc3NlcnRfb3duX3Byb3BlcnR5OiBleHBl
Y3RlZCBwcm9wZXJ0eSAib253ZWJraXR0cmFuc2l0aW9uZW5kIiBtaXNzaW5nCitGQUlMIFNWR0Vs
ZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253aGVlbCBhc3NlcnRfdHJ1ZTogcHJvcGVydHkg
c2hvdWxkIGJlIGVudW1lcmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKIEZBSUwgU1ZHRWxl
bWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmNvcHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhw
ZWN0ZWQgcHJvcGVydHkgIm9uY29weSIgbWlzc2luZwogRkFJTCBTVkdFbGVtZW50IGludGVyZmFj
ZTogYXR0cmlidXRlIG9uY3V0IGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVjdGVkIHByb3BlcnR5
ICJvbmN1dCIgbWlzc2luZwogRkFJTCBTVkdFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9u
cGFzdGUgYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgIm9ucGFzdGUiIG1p
c3NpbmcKQEAgLTUzNDYsNyArNTM3Niw2IEBAIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgb25tb3VzZW1vdmUKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25t
b3VzZW91dCAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25tb3VzZW92ZXIg
CiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ubW91c2V1cCAKLUZBSUwgRG9j
dW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253aGVlbCBhc3NlcnRfdHJ1ZTogcHJvcGVydHkg
c2hvdWxkIGJlIGVudW1lcmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKIFBBU1MgRG9jdW1l
bnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25wYXVzZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNl
OiBhdHRyaWJ1dGUgb25wbGF5IAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBv
bnBsYXlpbmcgCkBAIC01MzY3LDYgKzUzOTYsMTEgQEAgUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBvbnRpbWV1cGRhdGUKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgb250b2dnbGUgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9udm9sdW1l
Y2hhbmdlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndhaXRpbmcgCitG
QUlMIERvY3VtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ud2Via2l0YW5pbWF0aW9uZW5kIGFz
c2VydF90cnVlOiBwcm9wZXJ0eSBzaG91bGQgYmUgZW51bWVyYWJsZSBleHBlY3RlZCB0cnVlIGdv
dCBmYWxzZQorRkFJTCBEb2N1bWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndlYmtpdGFuaW1h
dGlvbml0ZXJhdGlvbiBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgc2hvdWxkIGJlIGVudW1lcmFibGUg
ZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgRG9jdW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgb253ZWJraXRhbmltYXRpb25zdGFydCBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgc2hvdWxkIGJl
IGVudW1lcmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgRG9jdW1lbnQgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgb253ZWJraXR0cmFuc2l0aW9uZW5kIGFzc2VydF90cnVlOiBwcm9wZXJ0
eSBzaG91bGQgYmUgZW51bWVyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBEb2N1
bWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndoZWVsIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBz
aG91bGQgYmUgZW51bWVyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQogUEFTUyBEb2N1bWVu
dCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmNvcHkgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTog
YXR0cmlidXRlIG9uY3V0IAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnBh
c3RlIApAQCAtNTQ2OCw3ICs1NTAyLDYgQEAgUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGlmcmFt
ZS5jb250ZW50RG9jdW1lbnQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbm1vdXNlbW8KIFBBU1Mg
RG9jdW1lbnQgaW50ZXJmYWNlOiBpZnJhbWUuY29udGVudERvY3VtZW50IG11c3QgaW5oZXJpdCBw
cm9wZXJ0eSAib25tb3VzZW91dCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIERvY3VtZW50
IGludGVyZmFjZTogaWZyYW1lLmNvbnRlbnREb2N1bWVudCBtdXN0IGluaGVyaXQgcHJvcGVydHkg
Im9ubW91c2VvdmVyIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJm
YWNlOiBpZnJhbWUuY29udGVudERvY3VtZW50IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25tb3Vz
ZXVwIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKLVBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBpZnJh
bWUuY29udGVudERvY3VtZW50IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253aGVlbCIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogaWZyYW1lLmNvbnRlbnRE
b2N1bWVudCBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ucGF1c2UiIHdpdGggdGhlIHByb3BlciB0
eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGlmcmFtZS5jb250ZW50RG9jdW1lbnQgbXVz
dCBpbmhlcml0IHByb3BlcnR5ICJvbnBsYXkiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBE
b2N1bWVudCBpbnRlcmZhY2U6IGlmcmFtZS5jb250ZW50RG9jdW1lbnQgbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJvbnBsYXlpbmciIHdpdGggdGhlIHByb3BlciB0eXBlIApAQCAtNTQ4OSw2ICs1NTIy
LDExIEBAIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBpZnJhbWUuY29udGVudERvY3VtZW50IG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAib250aW1ldXBkCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTog
aWZyYW1lLmNvbnRlbnREb2N1bWVudCBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9udG9nZ2xlIiB3
aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBpZnJhbWUuY29u
dGVudERvY3VtZW50IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib252b2x1bWVjaGFuZ2UiIHdpdGgg
dGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGlmcmFtZS5jb250ZW50
RG9jdW1lbnQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndhaXRpbmciIHdpdGggdGhlIHByb3Bl
ciB0eXBlIAorUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGlmcmFtZS5jb250ZW50RG9jdW1lbnQg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndlYmtpdGFuaW1hdGlvbmVuZCIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUgCitQQVNTIERvY3VtZW50IGludGVyZmFjZTogaWZyYW1lLmNvbnRlbnREb2N1bWVu
dCBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2Via2l0YW5pbWF0aW9uaXRlcmF0aW9uIiB3aXRo
IHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBpZnJhbWUuY29udGVu
dERvY3VtZW50IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253ZWJraXRhbmltYXRpb25zdGFydCIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIERvY3VtZW50IGludGVyZmFjZTogaWZyYW1lLmNv
bnRlbnREb2N1bWVudCBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2Via2l0dHJhbnNpdGlvbmVu
ZCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIERvY3VtZW50IGludGVyZmFjZTogaWZyYW1l
LmNvbnRlbnREb2N1bWVudCBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2hlZWwiIHdpdGggdGhl
IHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGlmcmFtZS5jb250ZW50RG9j
dW1lbnQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbmNvcHkiIHdpdGggdGhlIHByb3BlciB0eXBl
IAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGlmcmFtZS5jb250ZW50RG9jdW1lbnQgbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJvbmN1dCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIERvY3Vt
ZW50IGludGVyZmFjZTogaWZyYW1lLmNvbnRlbnREb2N1bWVudCBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgIm9ucGFzdGUiIHdpdGggdGhlIHByb3BlciB0eXBlIApAQCAtNTU5MCw3ICs1NjI4LDYgQEAg
UEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IG5ldyBEb2N1bWVudCgpIG11c3QgaW5oZXJpdCBwcm9w
ZXJ0eSAib25tb3VzZW1vdmUiIHdpdGgKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBuZXcgRG9j
dW1lbnQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ubW91c2VvdXQiIHdpdGggdGhlIHByb3Bl
ciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IG5ldyBEb2N1bWVudCgpIG11c3QgaW5o
ZXJpdCBwcm9wZXJ0eSAib25tb3VzZW92ZXIiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBE
b2N1bWVudCBpbnRlcmZhY2U6IG5ldyBEb2N1bWVudCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAi
b25tb3VzZXVwIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKLVBBU1MgRG9jdW1lbnQgaW50ZXJmYWNl
OiBuZXcgRG9jdW1lbnQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2hlZWwiIHdpdGggdGhl
IHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IG5ldyBEb2N1bWVudCgpIG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25wYXVzZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNT
IERvY3VtZW50IGludGVyZmFjZTogbmV3IERvY3VtZW50KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJvbnBsYXkiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6
IG5ldyBEb2N1bWVudCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25wbGF5aW5nIiB3aXRoIHRo
ZSBwcm9wZXIgdHlwZSAKQEAgLTU2MTEsNiArNTY0OCwxMSBAQCBQQVNTIERvY3VtZW50IGludGVy
ZmFjZTogbmV3IERvY3VtZW50KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnRpbWV1cGRhdGUi
IHdpdAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IG5ldyBEb2N1bWVudCgpIG11c3QgaW5oZXJp
dCBwcm9wZXJ0eSAib250b2dnbGUiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVu
dCBpbnRlcmZhY2U6IG5ldyBEb2N1bWVudCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib252b2x1
bWVjaGFuZ2UiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6
IG5ldyBEb2N1bWVudCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253YWl0aW5nIiB3aXRoIHRo
ZSBwcm9wZXIgdHlwZSAKK1BBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBuZXcgRG9jdW1lbnQoKSBt
dXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2Via2l0YW5pbWF0aW9uZW5kIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAKK1BBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBuZXcgRG9jdW1lbnQoKSBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgIm9ud2Via2l0YW5pbWF0aW9uaXRlcmF0aW9uIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAKK1BBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBuZXcgRG9jdW1lbnQoKSBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgIm9ud2Via2l0YW5pbWF0aW9uc3RhcnQiIHdpdGggdGhlIHByb3BlciB0
eXBlIAorUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IG5ldyBEb2N1bWVudCgpIG11c3QgaW5oZXJp
dCBwcm9wZXJ0eSAib253ZWJraXR0cmFuc2l0aW9uZW5kIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAK
K1BBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBuZXcgRG9jdW1lbnQoKSBtdXN0IGluaGVyaXQgcHJv
cGVydHkgIm9ud2hlZWwiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRl
cmZhY2U6IG5ldyBEb2N1bWVudCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25jb3B5IiB3aXRo
IHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBuZXcgRG9jdW1lbnQo
KSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9uY3V0IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBB
U1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBuZXcgRG9jdW1lbnQoKSBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgIm9ucGFzdGUiIHdpdGggdGhlIHByb3BlciB0eXBlIApAQCAtNTcxMiw3ICs1NzU0LDYgQEAg
UEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGRvY3VtZW50V2l0aEhhbmRsZXJzIG11c3QgaW5oZXJp
dCBwcm9wZXJ0eSAib25tb3VzZW1vdmUKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVu
dFdpdGhIYW5kbGVycyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ubW91c2VvdXQiIHdpdGggdGhl
IHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGRvY3VtZW50V2l0aEhhbmRs
ZXJzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25tb3VzZW92ZXIiIHdpdGggdGhlIHByb3BlciB0
eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGRvY3VtZW50V2l0aEhhbmRsZXJzIG11c3Qg
aW5oZXJpdCBwcm9wZXJ0eSAib25tb3VzZXVwIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKLVBBU1Mg
RG9jdW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudFdpdGhIYW5kbGVycyBtdXN0IGluaGVyaXQgcHJv
cGVydHkgIm9ud2hlZWwiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRl
cmZhY2U6IGRvY3VtZW50V2l0aEhhbmRsZXJzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25wYXVz
ZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogZG9jdW1l
bnRXaXRoSGFuZGxlcnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnBsYXkiIHdpdGggdGhlIHBy
b3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGRvY3VtZW50V2l0aEhhbmRsZXJz
IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25wbGF5aW5nIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAK
QEAgLTU3MzMsNiArNTc3NCwxMSBAQCBQQVNTIERvY3VtZW50IGludGVyZmFjZTogZG9jdW1lbnRX
aXRoSGFuZGxlcnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnRpbWV1cGRhdAogUEFTUyBEb2N1
bWVudCBpbnRlcmZhY2U6IGRvY3VtZW50V2l0aEhhbmRsZXJzIG11c3QgaW5oZXJpdCBwcm9wZXJ0
eSAib250b2dnbGUiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZh
Y2U6IGRvY3VtZW50V2l0aEhhbmRsZXJzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib252b2x1bWVj
aGFuZ2UiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGRv
Y3VtZW50V2l0aEhhbmRsZXJzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253YWl0aW5nIiB3aXRo
IHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudFdpdGhI
YW5kbGVycyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2Via2l0YW5pbWF0aW9uZW5kIiB3aXRo
IHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudFdpdGhI
YW5kbGVycyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2Via2l0YW5pbWF0aW9uaXRlcmF0aW9u
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVu
dFdpdGhIYW5kbGVycyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2Via2l0YW5pbWF0aW9uc3Rh
cnQiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGRvY3Vt
ZW50V2l0aEhhbmRsZXJzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253ZWJraXR0cmFuc2l0aW9u
ZW5kIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBkb2N1
bWVudFdpdGhIYW5kbGVycyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2hlZWwiIHdpdGggdGhl
IHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGRvY3VtZW50V2l0aEhhbmRs
ZXJzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25jb3B5IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAK
IFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudFdpdGhIYW5kbGVycyBtdXN0IGluaGVy
aXQgcHJvcGVydHkgIm9uY3V0IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQg
aW50ZXJmYWNlOiBkb2N1bWVudFdpdGhIYW5kbGVycyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9u
cGFzdGUiIHdpdGggdGhlIHByb3BlciB0eXBlIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>400539</attachid>
            <date>2020-05-28 19:32:06 -0700</date>
            <delta_ts>2020-05-29 08:27:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-212501-20200528193205.patch</filename>
            <type>text/plain</type>
            <size>296327</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyMjY1CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNWQ1NWZiY2Q1Y2U2NDI5ODUyNzlm
Nzk4MDJjYWM3ZDU2MGFhYTNmMi4uY2YzYzIwMWMxM2UwNzFhZjAxMWJmMWNiYWYwYTdkY2RjMzRl
NjJhMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTA1LTI4ICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgVXBkYXRlIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRl
cmZhY2VzIGZyb20gdXBzdHJlYW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIxMjUwMQorCisgICAgICAgIFJldmlld2VkIGJ5IEFsZXggQ2hyaXN0ZW5z
ZW4uCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2sxL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9kb20vaWRsaGFybmVzcy5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogcGxhdGZvcm0vbWFjLXdrMi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
ZG9tL2lkbGhhcm5lc3MuaHR0cHMtZXhwZWN0ZWQudHh0OgorCiAyMDIwLTA1LTI4ICBLYXRlIENo
ZW5leSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUuY29tPgogCiAgICAgICAgIE1pbmltdW0gdXNl
ciBpbnRlcmFjdGlvbiB0aW1lIGluIFJlc291cmNlTG9hZFN0YXRpc3RpY3Mgc2hvdWxkIGhhbmRs
ZSB0aGUgY2FzZSBvZiAtMQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggYWQzNWI3
NTA3Nzk3N2ZiMWExNjAzNGVmYjExZDA5YjVhNDhkNDc5Ni4uMWU1NWVkOTAyMmJiN2MzYTZhODVk
ZTk5Y2Q3MjIyZGMxOTYzNmE4ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTE0IEBACisyMDIwLTA1LTI4ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+
CisKKyAgICAgICAgVXBkYXRlIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzIGZyb20gdXBz
dHJlYW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIx
MjUwMQorCisgICAgICAgIFJldmlld2VkIGJ5IEFsZXggQ2hyaXN0ZW5zZW4uCisKKyAgICAgICAg
VW5yZXZpZXdlZCwgcmViYXNlbGluZSB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcyBmcm9t
IHVwc3RyZWFtIDZhNzZhMTg1ZjkxM2UzYzAyN2UzNjlhLgorCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi9pZGxoYXJuZXNzLmFueS1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jcmVkZW50aWFsLW1hbmFn
ZW1lbnQvaWRsaGFybmVzcy5odHRwcy53aW5kb3ctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvaWRsaGFybmVzcy1leHBlY3RlZC50
eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdHJhbnNpdGlvbnMvaWRs
aGFybmVzcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3NvbS12aWV3L2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3Nzb20vaW50ZXJmYWNlcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2RvbS9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9kb20vaWRsaGFybmVzcy53aW5kb3ctZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9kb21wYXJzaW5nL2lkbGhhcm5l
c3Mud2luZG93LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9kb20vaWRsaGFybmVzcy53b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL3dlYmFwcGFwaXMvc2NyaXB0aW5nL2V2ZW50cy9ldmVudC1oYW5kbGVy
LWFsbC1nbG9iYWwtZXZlbnRzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC93ZWJhcHBhcGlzL3NjcmlwdGluZy9ldmVudHMvZXZlbnQtaGFuZGxlci1hdHRy
aWJ1dGVzLWJvZHktd2luZG93LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC93ZWJhcHBhcGlzL3NjcmlwdGluZy9ldmVudHMvZXZlbnQtaGFuZGxlci1hdHRy
aWJ1dGVzLXdpbmRvd2xlc3MtYm9keS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2ludGVyZmFjZXMvRE9NLVBhcnNpbmcuaWRsOgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL0luZGV4ZWREQi5pZGw6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2ludGVyZmFjZXMvV2ViQ3J5cHRvQVBJLmlkbDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9hcHBtYW5pZmVzdC5pZGw6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvYmFkZ2luZy5pZGw6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2NsaXBib2FyZC1hcGlzLmlkbDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9jb25zdHJ1Y3Qtc3R5bGVzaGVldHMuaWRs
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9jb29raWUt
c3RvcmUuaWRsOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2Nzcy1m
b250LWxvYWRpbmcuaWRsOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2Vz
L2Nzcy1yZWdpb25zLmlkbDogUmVtb3ZlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
aW50ZXJmYWNlcy9jc3Mtc2hhZG93LXBhcnRzLmlkbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvaW50ZXJmYWNlcy9jc3MtdHlwZWQtb20uaWRsOgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9pbnRlcmZhY2VzL2Nzc29tLXZpZXcuaWRsOgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9pbnRlcmZhY2VzL2Nzc29tLmlkbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvaW50ZXJmYWNlcy9kZXZpY2UtbWVtb3J5LmlkbDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvZG9tLmlkbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvaW50ZXJmYWNlcy9lbmNyeXB0ZWQtbWVkaWEuaWRsOgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2V2ZW50LXRpbWluZy5pZGw6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvZnVsbHNjcmVlbi5pZGw6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvZ2VvbG9jYXRpb24tc2Vuc29yLmlkbDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9oaXQtdGVzdC5pZGw6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2h0bWwuaWRsOgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2ltYWdlLWNhcHR1cmUuaWRsOgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2ludGVyc2VjdGlvbi1vYnNlcnZlci5p
ZGw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvanMtc2VsZi1wcm9m
aWxpbmcuaWRsOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNl
cy9sYXlvdXQtaW5zdGFiaWxpdHkuaWRsOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9p
bnRlcmZhY2VzL21lZGlhLWNhcGFiaWxpdGllcy5pZGw6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2ludGVyZmFjZXMvbWVkaWEtcGxheWJhY2stcXVhbGl0eS5pZGw6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvbWVkaWEtc291cmNlLmlkbDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9tZWRpYXNlc3Npb24uaWRsOgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL21lZGlhc3RyZWFtLXJlY29yZGluZy5p
ZGw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvbXN0LWNvbnRlbnQt
aGludC5pZGw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvbmF0aXZl
LWZpbGUtc3lzdGVtLmlkbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2lu
dGVyZmFjZXMvbmV0aW5mby5pZGw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVy
ZmFjZXMvb3JpZ2luLXBvbGljeS5pZGw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9pbnRlcmZhY2VzL3BhZ2UtbGlmZWN5Y2xlLmlkbDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcGF5bWVudC1tZXRob2QtYmFzaWMtY2FyZC5pZGw6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcGF5bWVudC1yZXF1ZXN0
LmlkbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9wZXJpb2RpYy1i
YWNrZ3JvdW5kLXN5bmMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
aW50ZXJmYWNlcy9wZXJtaXNzaW9ucy1yZXF1ZXN0LmlkbDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcGVybWlzc2lvbnMtcmV2b2tlLmlkbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcGVybWlzc2lvbnMuaWRs
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3BvaW50ZXJldmVudHMu
aWRsOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3JlcG9ydGluZy5p
ZGw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcmVxdWVzdGlkbGVj
YWxsYmFjay5pZGw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcmVz
aXplLW9ic2VydmVyLmlkbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNl
cy9zY3JvbGwtYW5pbWF0aW9ucy5pZGw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2lu
dGVyZmFjZXMvc2hhcGUtZGV0ZWN0aW9uLWFwaS5pZGw6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2ludGVyZmFjZXMvc3RvcmFnZS1hY2Nlc3MtYXBpLnRlbnRhdGl2ZS5pZGw6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3RleHQtZGV0ZWN0aW9u
LWFwaS50ZW50YXRpdmUuaWRsOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
aW50ZXJmYWNlcy90cnVzdGVkLXR5cGVzLnRlbnRhdGl2ZS5pZGw6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvdmlkZW8tcnZmYy5pZGw6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3Zpc3VhbC12aWV3cG9ydC5pZGw6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3czYy1pbXBvcnQubG9n
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dhaS1hcmlhLmlkbDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93YWtlLWxvY2suaWRsOgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYi1hbmltYXRpb25zLmlk
bDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWItYmx1ZXRvb3Ro
LmlkbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWItbG9ja3Mu
aWRsOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWIt
bmZjLmlkbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWItc2hh
cmUuaWRsOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYmF1ZGlv
LmlkbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWJhdXRobi5p
ZGw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2VibWlkaS5pZGw6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2VicnRjLWRzY3AuaWRs
OiBSZW1vdmVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYnJ0
Yy1pZGVudGl0eS5pZGw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMv
d2VicnRjLXN0YXRzLmlkbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNl
cy93ZWJydGMtc3ZjLmlkbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2lu
dGVyZmFjZXMvd2VicnRjLmlkbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJm
YWNlcy93ZWJ4ci1hci1tb2R1bGUuaWRsOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9p
bnRlcmZhY2VzL3dlYnhyLmlkbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJm
YWNlcy93b3JrbGV0cy5pZGw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2Vj
dGlvbi1vYnNlcnZlci9pZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQ6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL21hdGhtbC9yZWxhdGlvbnMvaHRtbDUtdHJlZS9tYXRoLWdsb2Jh
bC1ldmVudC1oYW5kbGVycy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL2lkbGhhcm5lc3Mud2luZG93LWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbXN0LWNvbnRlbnQtaGludC9p
ZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3JlbW90ZS1wbGF5YmFjay9pZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9pZGxoYXJuZXNzLndpbmRv
dy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3N2Zy9pZGxoYXJu
ZXNzLndpbmRvdy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dl
Yi1hbmltYXRpb25zL2lkbGhhcm5lc3Mud2luZG93LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvd2Vic29ja2V0cy9iYXNpYy1hdXRoLmFueS5qczoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvd2Vic29ja2V0cy9idWZmZXJlZEFtb3VudC11bmNoYW5nZWQt
Ynktc3luYy14aHIuYW55LmpzOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93ZWJzb2Nr
ZXRzL2J1ZmZlcmVkQW1vdW50LXVuY2hhbmdlZC1ieS1zeW5jLXhoci5hbnkud29ya2VyLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMveGhyL2lkbGhhcm5lc3MuYW55
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMveGhyL2lkbGhhcm5l
c3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3hoci9zeW5jLW5vLXRpbWVvdXQuYW55LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMveGhyL3N5bmMtbm8tdGltZW91dC5hbnkud29ya2VyLWV4cGVjdGVkLnR4dDoK
KwogMjAyMC0wNS0yOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAg
IFVwZGF0ZSB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMgZnJvbSB1cHN0cmVhbQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIv
aWRsaGFybmVzcy5hbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRsaGFybmVzcy5hbnktZXhwZWN0ZWQudHh0Cmlu
ZGV4IGUxNTdhMDcyNmNmYTIxZTIxYjhhNzU2ODVkM2M2YTI4ODA5ZjUwYTcuLjExMjhkYTYyYjhj
ZDQ0MmM3MTIwMjY3ZDIxNjdjMTRlODU3ZWFlNTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkbGhhcm5lc3MuYW55LWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL0luZGV4ZWREQi9pZGxoYXJuZXNzLmFueS1leHBlY3RlZC50eHQKQEAgLTcyLDcgKzcyLDcg
QEAgUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamUKIFBBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgbmFtZSAKIFBBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgdmVy
c2lvbiAKIFBBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb2JqZWN0U3RvcmVO
YW1lcyAKLVBBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlOiBvcGVyYXRpb24gdHJhbnNhY3Rpb24o
KERPTVN0cmluZyBvciBzZXF1ZW5jZTxET01TdHJpbmc+KSwgb3B0aW9uYWwgSURCVHJhbnNhY3Rp
b25Nb2RlKSAKK1BBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlOiBvcGVyYXRpb24gdHJhbnNhY3Rp
b24oKERPTVN0cmluZyBvciBzZXF1ZW5jZTxET01TdHJpbmc+KSwgb3B0aW9uYWwgSURCVHJhbnNh
Y3Rpb25Nb2RlLCBvcHRpb25hbCBJREJUcmFuc2FjdGlvbk9wdGlvbnMpIAogUEFTUyBJREJEYXRh
YmFzZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjbG9zZSgpIAogUEFTUyBJREJEYXRhYmFzZSBpbnRl
cmZhY2U6IG9wZXJhdGlvbiBjcmVhdGVPYmplY3RTdG9yZShET01TdHJpbmcsIG9wdGlvbmFsIElE
Qk9iamVjdFN0b3JlUGFyYW1ldGVycykgCiBQQVNTIElEQkRhdGFiYXNlIGludGVyZmFjZTogb3Bl
cmF0aW9uIGRlbGV0ZU9iamVjdFN0b3JlKERPTVN0cmluZykgCkBAIC0xODUsNiArMTg1LDcgQEAg
UEFTUyBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2UgcHJvdG90eXBlIG8KIFBBU1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBl
eGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBA
QHVuc2NvcGFibGVzIHByb3BlcnR5IAogUEFTUyBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBvYmplY3RTdG9yZU5hbWVzIAogUEFTUyBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBtb2RlIAorRkFJTCBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBkdXJhYmlsaXR5IGFzc2VydF90cnVlOiBUaGUgcHJvdG90eXBlIG9iamVjdCBtdXN0IGhhdmUg
YSBwcm9wZXJ0eSAiZHVyYWJpbGl0eSIgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKIFBBU1MgSURC
VHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgZGIgCiBQQVNTIElEQlRyYW5zYWN0aW9u
IGludGVyZmFjZTogYXR0cmlidXRlIGVycm9yIAogUEFTUyBJREJUcmFuc2FjdGlvbiBpbnRlcmZh
Y2U6IG9wZXJhdGlvbiBvYmplY3RTdG9yZShET01TdHJpbmcpIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRsaGFybmVz
cy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50
eHQKaW5kZXggMGJjNzgwZTkzOWZiY2MwYjcwNjgwOTEwOTU3ZDc3OTk4MmEzOGQyOC4uOTI5Mjll
MTYxOGI2NmExMDg5ODAwYmFmODI1ZjI1OGY1MjVhMmExNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRsaGFybmVzcy5h
bnkud29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQu
dHh0CkBAIC03Miw3ICs3Miw3IEBAIFBBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplCiBQQVNTIElEQkRh
dGFiYXNlIGludGVyZmFjZTogYXR0cmlidXRlIG5hbWUgCiBQQVNTIElEQkRhdGFiYXNlIGludGVy
ZmFjZTogYXR0cmlidXRlIHZlcnNpb24gCiBQQVNTIElEQkRhdGFiYXNlIGludGVyZmFjZTogYXR0
cmlidXRlIG9iamVjdFN0b3JlTmFtZXMgCi1QQVNTIElEQkRhdGFiYXNlIGludGVyZmFjZTogb3Bl
cmF0aW9uIHRyYW5zYWN0aW9uKChET01TdHJpbmcgb3Igc2VxdWVuY2U8RE9NU3RyaW5nPiksIG9w
dGlvbmFsIElEQlRyYW5zYWN0aW9uTW9kZSkgCitQQVNTIElEQkRhdGFiYXNlIGludGVyZmFjZTog
b3BlcmF0aW9uIHRyYW5zYWN0aW9uKChET01TdHJpbmcgb3Igc2VxdWVuY2U8RE9NU3RyaW5nPiks
IG9wdGlvbmFsIElEQlRyYW5zYWN0aW9uTW9kZSwgb3B0aW9uYWwgSURCVHJhbnNhY3Rpb25PcHRp
b25zKSAKIFBBU1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlOiBvcGVyYXRpb24gY2xvc2UoKSAKIFBB
U1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlOiBvcGVyYXRpb24gY3JlYXRlT2JqZWN0U3RvcmUoRE9N
U3RyaW5nLCBvcHRpb25hbCBJREJPYmplY3RTdG9yZVBhcmFtZXRlcnMpIAogUEFTUyBJREJEYXRh
YmFzZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBkZWxldGVPYmplY3RTdG9yZShET01TdHJpbmcpIApA
QCAtMTg1LDYgKzE4NSw3IEBAIFBBU1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvCiBQQVNTIElEQlRyYW5z
YWN0aW9uIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBw
cm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSAKIFBBU1MgSURCVHJhbnNh
Y3Rpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb2JqZWN0U3RvcmVOYW1lcyAKIFBBU1MgSURCVHJh
bnNhY3Rpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbW9kZSAKK0ZBSUwgSURCVHJhbnNhY3Rpb24g
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgZHVyYWJpbGl0eSBhc3NlcnRfdHJ1ZTogVGhlIHByb3RvdHlw
ZSBvYmplY3QgbXVzdCBoYXZlIGEgcHJvcGVydHkgImR1cmFiaWxpdHkiIGV4cGVjdGVkIHRydWUg
Z290IGZhbHNlCiBQQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogYXR0cmlidXRlIGRiIAog
UEFTUyBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBlcnJvciAKIFBBU1MgSURC
VHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBvcGVyYXRpb24gb2JqZWN0U3RvcmUoRE9NU3RyaW5nKSAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3JlZGVudGlhbC1tYW5hZ2VtZW50L2lkbGhhcm5lc3MuaHR0cHMud2luZG93LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3JlZGVudGlh
bC1tYW5hZ2VtZW50L2lkbGhhcm5lc3MuaHR0cHMud2luZG93LWV4cGVjdGVkLnR4dAppbmRleCAw
NGRjZjlkODZlODY5MThhNDRkZGMzNjQzZTM5MjBmOGQ1YzE3MDMyLi5kZWQzM2NmYWNjYWNmN2Ey
NDY2YmQ3MzBjY2UxN2Q5YjM0MjEzY2MxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NyZWRlbnRpYWwtbWFuYWdlbWVudC9pZGxoYXJuZXNz
Lmh0dHBzLndpbmRvdy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jcmVkZW50aWFsLW1hbmFnZW1lbnQvaWRsaGFybmVzcy5odHRw
cy53aW5kb3ctZXhwZWN0ZWQudHh0CkBAIC0yOCw3ICsyOCw3IEBAIFBBU1MgTmF2aWdhdG9yIGlu
Y2x1ZGVzIE5hdmlnYXRvckNvbmN1cnJlbnRIYXJkd2FyZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlx
dWUKIFBBU1MgRWxlbWVudCBpbmNsdWRlcyBQYXJlbnROb2RlOiBtZW1iZXIgbmFtZXMgYXJlIHVu
aXF1ZSAKIFBBU1MgRWxlbWVudCBpbmNsdWRlcyBOb25Eb2N1bWVudFR5cGVDaGlsZE5vZGU6IG1l
bWJlciBuYW1lcyBhcmUgdW5pcXVlIAogUEFTUyBFbGVtZW50IGluY2x1ZGVzIENoaWxkTm9kZTog
bWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCi1QQVNTIEVsZW1lbnQgaW5jbHVkZXMgU2xvdGFibGU6
IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAorUEFTUyBFbGVtZW50IGluY2x1ZGVzIFNsb3R0YWJs
ZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNTIENyZWRlbnRpYWwgaW50ZXJmYWNlOiBl
eGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKIFBBU1MgQ3JlZGVu
dGlhbCBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKIFBBU1MgQ3JlZGVudGlhbCBpbnRlcmZhY2Ug
b2JqZWN0IG5hbWUgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtYW5pbWF0aW9ucy9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmlt
YXRpb25zL2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0CmluZGV4IDUwMjMzODMwM2IyYWNmOWMzZjc0
ZGI3M2IzZTMwODYyOTlhMTJjMTEuLjlkZDEyZGJmZmRmODUxNzU2MjQ3NWJmNTVjYjZjOTBiYTk1
MTg3ODUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRp
b25zL2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0CkBAIC0yNyw3ICsyNyw3IEBAIFBBU1MgV2luZG93
IGluY2x1ZGVzIFdpbmRvd0xvY2FsU3RvcmFnZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKIFBB
U1MgRWxlbWVudCBpbmNsdWRlcyBQYXJlbnROb2RlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAK
IFBBU1MgRWxlbWVudCBpbmNsdWRlcyBOb25Eb2N1bWVudFR5cGVDaGlsZE5vZGU6IG1lbWJlciBu
YW1lcyBhcmUgdW5pcXVlIAogUEFTUyBFbGVtZW50IGluY2x1ZGVzIENoaWxkTm9kZTogbWVtYmVy
IG5hbWVzIGFyZSB1bmlxdWUgCi1QQVNTIEVsZW1lbnQgaW5jbHVkZXMgU2xvdGFibGU6IG1lbWJl
ciBuYW1lcyBhcmUgdW5pcXVlIAorUEFTUyBFbGVtZW50IGluY2x1ZGVzIFNsb3R0YWJsZTogbWVt
YmVyIG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNTIEFuaW1hdGlvbkV2ZW50IGludGVyZmFjZTogZXhp
c3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCiBQQVNTIEFuaW1hdGlv
bkV2ZW50IGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAogUEFTUyBBbmltYXRpb25FdmVudCBpbnRl
cmZhY2Ugb2JqZWN0IG5hbWUgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdHJhbnNpdGlvbnMvaWRsaGFybmVzcy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtdHJhbnNpdGlvbnMvaWRsaGFybmVzcy1leHBlY3RlZC50eHQKaW5kZXggNDM1OGQ1ODI3Mzkx
MGU5MWM5ODIxOTlhN2UxNDI5ZGUwNGI5ZmU4MS4uYzY0ZDAxZjU4OWY1ZDBmZjNkYmFiMjJiM2Ez
NGRiZDM2NmY0YTk1ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXRyYW5zaXRpb25zL2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy10cmFuc2l0aW9ucy9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dApAQCAtMjQsNyArMjQsNyBAQCBQ
QVNTIFdpbmRvdyBpbmNsdWRlcyBXaW5kb3dMb2NhbFN0b3JhZ2U6IG1lbWJlciBuYW1lcyBhcmUg
dW5pcXVlCiBQQVNTIEVsZW1lbnQgaW5jbHVkZXMgUGFyZW50Tm9kZTogbWVtYmVyIG5hbWVzIGFy
ZSB1bmlxdWUgCiBQQVNTIEVsZW1lbnQgaW5jbHVkZXMgTm9uRG9jdW1lbnRUeXBlQ2hpbGROb2Rl
OiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgRWxlbWVudCBpbmNsdWRlcyBDaGlsZE5v
ZGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAotUEFTUyBFbGVtZW50IGluY2x1ZGVzIFNsb3Rh
YmxlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKK1BBU1MgRWxlbWVudCBpbmNsdWRlcyBTbG90
dGFibGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAogUEFTUyBUcmFuc2l0aW9uRXZlbnQgaW50
ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKIFBB
U1MgVHJhbnNpdGlvbkV2ZW50IGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAogUEFTUyBUcmFuc2l0
aW9uRXZlbnQgaW50ZXJmYWNlIG9iamVjdCBuYW1lIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9pZGxoYXJuZXNz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzc29tLXZpZXcvaWRsaGFybmVzcy1leHBlY3RlZC50eHQKaW5kZXggZjA2MjU0OGU5
MjFlZWM3YzJmMWUxYjBkYTE1YzU5MDM0MDVmYTEyZS4uYjcyZDM0YWM3MTc2ODdkMmFhNTU4Mzgy
ZDAzMDUzYjgyMTQ3ZmEwNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Nv
bS12aWV3L2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0CkBAIC0yOSwxMiArMjksMTIgQEAgUEFTUyBQ
YXJ0aWFsIGludGVyZmFjZSBIVE1MSW1hZ2VFbGVtZW50WzJdOiBtZW1iZXIgbmFtZXMgYXJlIHVu
aXF1ZQogUEFTUyBQYXJ0aWFsIGludGVyZmFjZSBEb2N1bWVudFs0XTogbWVtYmVyIG5hbWVzIGFy
ZSB1bmlxdWUgCiBQQVNTIFBhcnRpYWwgaW50ZXJmYWNlIFdpbmRvd1szXTogbWVtYmVyIG5hbWVz
IGFyZSB1bmlxdWUgCiBQQVNTIFRleHQgaW5jbHVkZXMgR2VvbWV0cnlVdGlsczogbWVtYmVyIG5h
bWVzIGFyZSB1bmlxdWUgCi1QQVNTIFRleHQgaW5jbHVkZXMgU2xvdGFibGU6IG1lbWJlciBuYW1l
cyBhcmUgdW5pcXVlIAorUEFTUyBUZXh0IGluY2x1ZGVzIFNsb3R0YWJsZTogbWVtYmVyIG5hbWVz
IGFyZSB1bmlxdWUgCiBQQVNTIEVsZW1lbnQgaW5jbHVkZXMgR2VvbWV0cnlVdGlsczogbWVtYmVy
IG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNTIEVsZW1lbnQgaW5jbHVkZXMgUGFyZW50Tm9kZTogbWVt
YmVyIG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNTIEVsZW1lbnQgaW5jbHVkZXMgTm9uRG9jdW1lbnRU
eXBlQ2hpbGROb2RlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgRWxlbWVudCBpbmNs
dWRlcyBDaGlsZE5vZGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAotUEFTUyBFbGVtZW50IGlu
Y2x1ZGVzIFNsb3RhYmxlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKK1BBU1MgRWxlbWVudCBp
bmNsdWRlcyBTbG90dGFibGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAogUEFTUyBDU1NQc2V1
ZG9FbGVtZW50IGluY2x1ZGVzIEdlb21ldHJ5VXRpbHM6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVl
IAogUEFTUyBEb2N1bWVudCBpbmNsdWRlcyBHZW9tZXRyeVV0aWxzOiBtZW1iZXIgbmFtZXMgYXJl
IHVuaXF1ZSAKIFBBU1MgRG9jdW1lbnQgaW5jbHVkZXMgR2xvYmFsRXZlbnRIYW5kbGVyczogbWVt
YmVyIG5hbWVzIGFyZSB1bmlxdWUgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS9pbnRlcmZhY2VzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tL2lu
dGVyZmFjZXMtZXhwZWN0ZWQudHh0CmluZGV4IGMwMTBmMDJiZDU1MmY1ZjFmODIxZWFlZWFlMDdl
YTUxMGQ4NWQ3NDkuLjIwYjI2YmIwYjIwMGYxZDI0MGVlYTUxNjkyZGQ4MjRiYWM3ZDQ3NzMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzc29tL2ludGVyZmFjZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tL2ludGVyZmFjZXMtZXhwZWN0ZWQudHh0
CkBAIC0xMjMsMTEgKzEyMywxMSBAQCBQQVNTIFNoYWRvd1Jvb3QgaW5jbHVkZXMgRG9jdW1lbnRP
clNoYWRvd1Jvb3Q6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCiBQQVNTIEVsZW1lbnQgaW5jbHVk
ZXMgUGFyZW50Tm9kZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNTIEVsZW1lbnQgaW5j
bHVkZXMgTm9uRG9jdW1lbnRUeXBlQ2hpbGROb2RlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAK
IFBBU1MgRWxlbWVudCBpbmNsdWRlcyBDaGlsZE5vZGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVl
IAotUEFTUyBFbGVtZW50IGluY2x1ZGVzIFNsb3RhYmxlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1
ZSAKK1BBU1MgRWxlbWVudCBpbmNsdWRlcyBTbG90dGFibGU6IG1lbWJlciBuYW1lcyBhcmUgdW5p
cXVlIAogUEFTUyBDaGFyYWN0ZXJEYXRhIGluY2x1ZGVzIE5vbkRvY3VtZW50VHlwZUNoaWxkTm9k
ZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNTIENoYXJhY3RlckRhdGEgaW5jbHVkZXMg
Q2hpbGROb2RlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgRG9jdW1lbnRUeXBlIGlu
Y2x1ZGVzIENoaWxkTm9kZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCi1QQVNTIFRleHQgaW5j
bHVkZXMgU2xvdGFibGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAorUEFTUyBUZXh0IGluY2x1
ZGVzIFNsb3R0YWJsZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNTIFhQYXRoRXZhbHVh
dG9yIGluY2x1ZGVzIFhQYXRoRXZhbHVhdG9yQmFzZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUg
CiBQQVNTIFByb2Nlc3NpbmdJbnN0cnVjdGlvbiBpbmNsdWRlcyBMaW5rU3R5bGU6IG1lbWJlciBu
YW1lcyBhcmUgdW5pcXVlIAogUEFTUyBTVkdFbGVtZW50IGluY2x1ZGVzIEVsZW1lbnRDU1NJbmxp
bmVTdHlsZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9pZGxoYXJuZXNzLmFueS53b3Jr
ZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9kb20vaWRsaGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCAzMjRmYTMw
ZWQ1NjZjODdjNjVjYjIxZmZjMGZjZTQ3OTgxMzZkYzBhLi41YmVkYWVjMzQ1NGQ0NzI2NmNhODI2
YTZkZGIwY2JjOTdlNzZjZGE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2lk
bGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTE2LDExICsxNiwxMSBAQCBQQVNT
IERvY3VtZW50RnJhZ21lbnQgaW5jbHVkZXMgUGFyZW50Tm9kZTogbWVtYmVyIG5hbWVzIGFyZSB1
bmlxdWUKIFBBU1MgRWxlbWVudCBpbmNsdWRlcyBQYXJlbnROb2RlOiBtZW1iZXIgbmFtZXMgYXJl
IHVuaXF1ZSAKIFBBU1MgRWxlbWVudCBpbmNsdWRlcyBOb25Eb2N1bWVudFR5cGVDaGlsZE5vZGU6
IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAogUEFTUyBFbGVtZW50IGluY2x1ZGVzIENoaWxkTm9k
ZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCi1QQVNTIEVsZW1lbnQgaW5jbHVkZXMgU2xvdGFi
bGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAorUEFTUyBFbGVtZW50IGluY2x1ZGVzIFNsb3R0
YWJsZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNTIENoYXJhY3RlckRhdGEgaW5jbHVk
ZXMgTm9uRG9jdW1lbnRUeXBlQ2hpbGROb2RlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBB
U1MgQ2hhcmFjdGVyRGF0YSBpbmNsdWRlcyBDaGlsZE5vZGU6IG1lbWJlciBuYW1lcyBhcmUgdW5p
cXVlIAogUEFTUyBEb2N1bWVudFR5cGUgaW5jbHVkZXMgQ2hpbGROb2RlOiBtZW1iZXIgbmFtZXMg
YXJlIHVuaXF1ZSAKLVBBU1MgVGV4dCBpbmNsdWRlcyBTbG90YWJsZTogbWVtYmVyIG5hbWVzIGFy
ZSB1bmlxdWUgCitQQVNTIFRleHQgaW5jbHVkZXMgU2xvdHRhYmxlOiBtZW1iZXIgbmFtZXMgYXJl
IHVuaXF1ZSAKIFBBU1MgWFBhdGhFdmFsdWF0b3IgaW5jbHVkZXMgWFBhdGhFdmFsdWF0b3JCYXNl
OiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgSFRNTEVsZW1lbnQgaW5jbHVkZXMgR2xv
YmFsRXZlbnRIYW5kbGVyczogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNTIEhUTUxFbGVt
ZW50IGluY2x1ZGVzIERvY3VtZW50QW5kRWxlbWVudEV2ZW50SGFuZGxlcnM6IG1lbWJlciBuYW1l
cyBhcmUgdW5pcXVlIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9kb20vaWRsaGFybmVzcy53aW5kb3ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vaWRsaGFybmVzcy53aW5k
b3ctZXhwZWN0ZWQudHh0CmluZGV4IDEzOGViYmE4YzZjZDI5NzY0ZDkxNjRmMTYxYjJlZjczMzJk
OTA4MWQuLmNlOGJmMGIyZWNmYmVhOWZjYmQyN2Y4ZmViNjFhNGNlMGViMmYyYzMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2lkbGhh
cm5lc3Mud2luZG93LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9pZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQKQEAg
LTE2LDExICsxNiwxMSBAQCBQQVNTIERvY3VtZW50RnJhZ21lbnQgaW5jbHVkZXMgUGFyZW50Tm9k
ZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKIFBBU1MgRWxlbWVudCBpbmNsdWRlcyBQYXJlbnRO
b2RlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgRWxlbWVudCBpbmNsdWRlcyBOb25E
b2N1bWVudFR5cGVDaGlsZE5vZGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAogUEFTUyBFbGVt
ZW50IGluY2x1ZGVzIENoaWxkTm9kZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCi1QQVNTIEVs
ZW1lbnQgaW5jbHVkZXMgU2xvdGFibGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAorUEFTUyBF
bGVtZW50IGluY2x1ZGVzIFNsb3R0YWJsZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNT
IENoYXJhY3RlckRhdGEgaW5jbHVkZXMgTm9uRG9jdW1lbnRUeXBlQ2hpbGROb2RlOiBtZW1iZXIg
bmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgQ2hhcmFjdGVyRGF0YSBpbmNsdWRlcyBDaGlsZE5vZGU6
IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAogUEFTUyBEb2N1bWVudFR5cGUgaW5jbHVkZXMgQ2hp
bGROb2RlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKLVBBU1MgVGV4dCBpbmNsdWRlcyBTbG90
YWJsZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCitQQVNTIFRleHQgaW5jbHVkZXMgU2xvdHRh
YmxlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgWFBhdGhFdmFsdWF0b3IgaW5jbHVk
ZXMgWFBhdGhFdmFsdWF0b3JCYXNlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgSFRN
TEVsZW1lbnQgaW5jbHVkZXMgR2xvYmFsRXZlbnRIYW5kbGVyczogbWVtYmVyIG5hbWVzIGFyZSB1
bmlxdWUgCiBQQVNTIEhUTUxFbGVtZW50IGluY2x1ZGVzIERvY3VtZW50QW5kRWxlbWVudEV2ZW50
SGFuZGxlcnM6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIApAQCAtMzY3LDYgKzM2Nyw3IEBAIFBB
U1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbGFzdEVsZW1lbnRDaGlsZAogUEFTUyBE
b2N1bWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBjaGlsZEVsZW1lbnRDb3VudCAKIFBBU1MgRG9j
dW1lbnQgaW50ZXJmYWNlOiBvcGVyYXRpb24gcHJlcGVuZCgoTm9kZSBvciBET01TdHJpbmcpLi4u
KSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBvcGVyYXRpb24gYXBwZW5kKChOb2RlIG9yIERP
TVN0cmluZykuLi4pIAorRkFJTCBEb2N1bWVudCBpbnRlcmZhY2U6IG9wZXJhdGlvbiByZXBsYWNl
Q2hpbGRyZW4oKE5vZGUgb3IgRE9NU3RyaW5nKS4uLikgYXNzZXJ0X293bl9wcm9wZXJ0eTogaW50
ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgbWlzc2luZyBub24tc3RhdGljIG9wZXJhdGlvbiBleHBl
Y3RlZCBwcm9wZXJ0eSAicmVwbGFjZUNoaWxkcmVuIiBtaXNzaW5nCiBQQVNTIERvY3VtZW50IGlu
dGVyZmFjZTogb3BlcmF0aW9uIHF1ZXJ5U2VsZWN0b3IoRE9NU3RyaW5nKSAKIFBBU1MgRG9jdW1l
bnQgaW50ZXJmYWNlOiBvcGVyYXRpb24gcXVlcnlTZWxlY3RvckFsbChET01TdHJpbmcpIAogUEFT
UyBEb2N1bWVudCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjcmVhdGVFeHByZXNzaW9uKERPTVN0cmlu
Zywgb3B0aW9uYWwgWFBhdGhOU1Jlc29sdmVyPykgCkBAIC00MjgsNiArNDI5LDggQEAgUEFTUyBE
b2N1bWVudCBpbnRlcmZhY2U6IG5ldyBEb2N1bWVudCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAi
cHJlcGVuZCgoTm9kZSBvcgogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGNhbGxpbmcgcHJlcGVu
ZCgoTm9kZSBvciBET01TdHJpbmcpLi4uKSBvbiBuZXcgRG9jdW1lbnQoKSB3aXRoIHRvbyBmZXcg
YXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6
IG5ldyBEb2N1bWVudCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiYXBwZW5kKChOb2RlIG9yIERP
TVN0cmluZykuLi4pIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJm
YWNlOiBjYWxsaW5nIGFwcGVuZCgoTm9kZSBvciBET01TdHJpbmcpLi4uKSBvbiBuZXcgRG9jdW1l
bnQoKSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAorRkFJTCBE
b2N1bWVudCBpbnRlcmZhY2U6IG5ldyBEb2N1bWVudCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAi
cmVwbGFjZUNoaWxkcmVuKChOb2RlIG9yIERPTVN0cmluZykuLi4pIiB3aXRoIHRoZSBwcm9wZXIg
dHlwZSBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJyZXBsYWNlQ2hpbGRyZW4iIG5vdCBmb3Vu
ZCBpbiBwcm90b3R5cGUgY2hhaW4KK0ZBSUwgRG9jdW1lbnQgaW50ZXJmYWNlOiBjYWxsaW5nIHJl
cGxhY2VDaGlsZHJlbigoTm9kZSBvciBET01TdHJpbmcpLi4uKSBvbiBuZXcgRG9jdW1lbnQoKSB3
aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIGFzc2VydF9pbmhlcml0
czogcHJvcGVydHkgInJlcGxhY2VDaGlsZHJlbiIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFp
bgogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IG5ldyBEb2N1bWVudCgpIG11c3QgaW5oZXJpdCBw
cm9wZXJ0eSAicXVlcnlTZWxlY3RvcihET01TdHJpbmcpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAK
IFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBjYWxsaW5nIHF1ZXJ5U2VsZWN0b3IoRE9NU3RyaW5n
KSBvbiBuZXcgRG9jdW1lbnQoKSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlw
ZUVycm9yIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IG5ldyBEb2N1bWVudCgpIG11c3QgaW5o
ZXJpdCBwcm9wZXJ0eSAicXVlcnlTZWxlY3RvckFsbChET01TdHJpbmcpIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAKQEAgLTU2Niw2ICs1NjksOCBAQCBQQVNTIERvY3VtZW50IGludGVyZmFjZTogeG1s
RG9jIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicHJlcGVuZCgoTm9kZSBvciBET01TdHJpbgogUEFT
UyBEb2N1bWVudCBpbnRlcmZhY2U6IGNhbGxpbmcgcHJlcGVuZCgoTm9kZSBvciBET01TdHJpbmcp
Li4uKSBvbiB4bWxEb2Mgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJv
ciAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiB4bWxEb2MgbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJhcHBlbmQoKE5vZGUgb3IgRE9NU3RyaW5nKS4uLikiIHdpdGggdGhlIHByb3BlciB0eXBlIAog
UEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGNhbGxpbmcgYXBwZW5kKChOb2RlIG9yIERPTVN0cmlu
ZykuLi4pIG9uIHhtbERvYyB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVy
cm9yIAorRkFJTCBEb2N1bWVudCBpbnRlcmZhY2U6IHhtbERvYyBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgInJlcGxhY2VDaGlsZHJlbigoTm9kZSBvciBET01TdHJpbmcpLi4uKSIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAicmVwbGFjZUNoaWxkcmVuIiBub3Qg
Zm91bmQgaW4gcHJvdG90eXBlIGNoYWluCitGQUlMIERvY3VtZW50IGludGVyZmFjZTogY2FsbGlu
ZyByZXBsYWNlQ2hpbGRyZW4oKE5vZGUgb3IgRE9NU3RyaW5nKS4uLikgb24geG1sRG9jIHdpdGgg
dG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgYXNzZXJ0X2luaGVyaXRzOiBw
cm9wZXJ0eSAicmVwbGFjZUNoaWxkcmVuIiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCiBQ
QVNTIERvY3VtZW50IGludGVyZmFjZTogeG1sRG9jIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicXVl
cnlTZWxlY3RvcihET01TdHJpbmcpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1l
bnQgaW50ZXJmYWNlOiBjYWxsaW5nIHF1ZXJ5U2VsZWN0b3IoRE9NU3RyaW5nKSBvbiB4bWxEb2Mg
d2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKIFBBU1MgRG9jdW1l
bnQgaW50ZXJmYWNlOiB4bWxEb2MgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJxdWVyeVNlbGVjdG9y
QWxsKERPTVN0cmluZykiIHdpdGggdGhlIHByb3BlciB0eXBlIApAQCAtNzY1LDYgKzc3MCw3IEBA
IFBBU1MgRG9jdW1lbnRGcmFnbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBsYXN0RWxlbWVudENo
aWxkCiBQQVNTIERvY3VtZW50RnJhZ21lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgY2hpbGRFbGVt
ZW50Q291bnQgCiBQQVNTIERvY3VtZW50RnJhZ21lbnQgaW50ZXJmYWNlOiBvcGVyYXRpb24gcHJl
cGVuZCgoTm9kZSBvciBET01TdHJpbmcpLi4uKSAKIFBBU1MgRG9jdW1lbnRGcmFnbWVudCBpbnRl
cmZhY2U6IG9wZXJhdGlvbiBhcHBlbmQoKE5vZGUgb3IgRE9NU3RyaW5nKS4uLikgCitGQUlMIERv
Y3VtZW50RnJhZ21lbnQgaW50ZXJmYWNlOiBvcGVyYXRpb24gcmVwbGFjZUNoaWxkcmVuKChOb2Rl
IG9yIERPTVN0cmluZykuLi4pIGFzc2VydF9vd25fcHJvcGVydHk6IGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0IG1pc3Npbmcgbm9uLXN0YXRpYyBvcGVyYXRpb24gZXhwZWN0ZWQgcHJvcGVydHkg
InJlcGxhY2VDaGlsZHJlbiIgbWlzc2luZwogUEFTUyBEb2N1bWVudEZyYWdtZW50IGludGVyZmFj
ZTogb3BlcmF0aW9uIHF1ZXJ5U2VsZWN0b3IoRE9NU3RyaW5nKSAKIFBBU1MgRG9jdW1lbnRGcmFn
bWVudCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBxdWVyeVNlbGVjdG9yQWxsKERPTVN0cmluZykgCiBQ
QVNTIERvY3VtZW50RnJhZ21lbnQgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBkb2N1bWVu
dC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCkgCkBAIC03NzksNiArNzg1LDggQEAgUEFTUyBEb2N1
bWVudEZyYWdtZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgp
IG11c3QgaW5oZXJpdAogUEFTUyBEb2N1bWVudEZyYWdtZW50IGludGVyZmFjZTogY2FsbGluZyBw
cmVwZW5kKChOb2RlIG9yIERPTVN0cmluZykuLi4pIG9uIGRvY3VtZW50LmNyZWF0ZURvY3VtZW50
RnJhZ21lbnQoKSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAog
UEFTUyBEb2N1bWVudEZyYWdtZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRG
cmFnbWVudCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiYXBwZW5kKChOb2RlIG9yIERPTVN0cmlu
ZykuLi4pIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnRGcmFnbWVudCBpbnRl
cmZhY2U6IGNhbGxpbmcgYXBwZW5kKChOb2RlIG9yIERPTVN0cmluZykuLi4pIG9uIGRvY3VtZW50
LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhy
b3cgVHlwZUVycm9yIAorRkFJTCBEb2N1bWVudEZyYWdtZW50IGludGVyZmFjZTogZG9jdW1lbnQu
Y3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicmVwbGFjZUNo
aWxkcmVuKChOb2RlIG9yIERPTVN0cmluZykuLi4pIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3Nl
cnRfaW5oZXJpdHM6IHByb3BlcnR5ICJyZXBsYWNlQ2hpbGRyZW4iIG5vdCBmb3VuZCBpbiBwcm90
b3R5cGUgY2hhaW4KK0ZBSUwgRG9jdW1lbnRGcmFnbWVudCBpbnRlcmZhY2U6IGNhbGxpbmcgcmVw
bGFjZUNoaWxkcmVuKChOb2RlIG9yIERPTVN0cmluZykuLi4pIG9uIGRvY3VtZW50LmNyZWF0ZURv
Y3VtZW50RnJhZ21lbnQoKSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVy
cm9yIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgInJlcGxhY2VDaGlsZHJlbiIgbm90IGZvdW5k
IGluIHByb3RvdHlwZSBjaGFpbgogUEFTUyBEb2N1bWVudEZyYWdtZW50IGludGVyZmFjZTogZG9j
dW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicXVl
cnlTZWxlY3RvcihET01TdHJpbmcpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1l
bnRGcmFnbWVudCBpbnRlcmZhY2U6IGNhbGxpbmcgcXVlcnlTZWxlY3RvcihET01TdHJpbmcpIG9u
IGRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSB3aXRoIHRvbyBmZXcgYXJndW1lbnRz
IG11c3QgdGhyb3cgVHlwZUVycm9yIAogUEFTUyBEb2N1bWVudEZyYWdtZW50IGludGVyZmFjZTog
ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAi
cXVlcnlTZWxlY3RvckFsbChET01TdHJpbmcpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKQEAgLTkw
NSw2ICs5MTMsNyBAQCBQQVNTIEVsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbGFzdEVsZW1l
bnRDaGlsZAogUEFTUyBFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIGNoaWxkRWxlbWVudENv
dW50IAogUEFTUyBFbGVtZW50IGludGVyZmFjZTogb3BlcmF0aW9uIHByZXBlbmQoKE5vZGUgb3Ig
RE9NU3RyaW5nKS4uLikgCiBQQVNTIEVsZW1lbnQgaW50ZXJmYWNlOiBvcGVyYXRpb24gYXBwZW5k
KChOb2RlIG9yIERPTVN0cmluZykuLi4pIAorRkFJTCBFbGVtZW50IGludGVyZmFjZTogb3BlcmF0
aW9uIHJlcGxhY2VDaGlsZHJlbigoTm9kZSBvciBET01TdHJpbmcpLi4uKSBhc3NlcnRfb3duX3By
b3BlcnR5OiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBtaXNzaW5nIG5vbi1zdGF0aWMgb3Bl
cmF0aW9uIGV4cGVjdGVkIHByb3BlcnR5ICJyZXBsYWNlQ2hpbGRyZW4iIG1pc3NpbmcKIFBBU1Mg
RWxlbWVudCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBxdWVyeVNlbGVjdG9yKERPTVN0cmluZykgCiBQ
QVNTIEVsZW1lbnQgaW50ZXJmYWNlOiBvcGVyYXRpb24gcXVlcnlTZWxlY3RvckFsbChET01TdHJp
bmcpIAogUEFTUyBFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIHByZXZpb3VzRWxlbWVudFNp
YmxpbmcgCkBAIC05ODIsNiArOTkxLDggQEAgUEFTUyBFbGVtZW50IGludGVyZmFjZTogZWxlbWVu
dCBtdXN0IGluaGVyaXQgcHJvcGVydHkgInByZXBlbmQoKE5vZGUgb3IgRE9NU3RyaW4KIFBBU1Mg
RWxlbWVudCBpbnRlcmZhY2U6IGNhbGxpbmcgcHJlcGVuZCgoTm9kZSBvciBET01TdHJpbmcpLi4u
KSBvbiBlbGVtZW50IHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3Ig
CiBQQVNTIEVsZW1lbnQgaW50ZXJmYWNlOiBlbGVtZW50IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAi
YXBwZW5kKChOb2RlIG9yIERPTVN0cmluZykuLi4pIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBB
U1MgRWxlbWVudCBpbnRlcmZhY2U6IGNhbGxpbmcgYXBwZW5kKChOb2RlIG9yIERPTVN0cmluZyku
Li4pIG9uIGVsZW1lbnQgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJv
ciAKK0ZBSUwgRWxlbWVudCBpbnRlcmZhY2U6IGVsZW1lbnQgbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJyZXBsYWNlQ2hpbGRyZW4oKE5vZGUgb3IgRE9NU3RyaW5nKS4uLikiIHdpdGggdGhlIHByb3Bl
ciB0eXBlIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgInJlcGxhY2VDaGlsZHJlbiIgbm90IGZv
dW5kIGluIHByb3RvdHlwZSBjaGFpbgorRkFJTCBFbGVtZW50IGludGVyZmFjZTogY2FsbGluZyBy
ZXBsYWNlQ2hpbGRyZW4oKE5vZGUgb3IgRE9NU3RyaW5nKS4uLikgb24gZWxlbWVudCB3aXRoIHRv
byBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIGFzc2VydF9pbmhlcml0czogcHJv
cGVydHkgInJlcGxhY2VDaGlsZHJlbiIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgogUEFT
UyBFbGVtZW50IGludGVyZmFjZTogZWxlbWVudCBtdXN0IGluaGVyaXQgcHJvcGVydHkgInF1ZXJ5
U2VsZWN0b3IoRE9NU3RyaW5nKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIEVsZW1lbnQg
aW50ZXJmYWNlOiBjYWxsaW5nIHF1ZXJ5U2VsZWN0b3IoRE9NU3RyaW5nKSBvbiBlbGVtZW50IHdp
dGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCiBQQVNTIEVsZW1lbnQg
aW50ZXJmYWNlOiBlbGVtZW50IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicXVlcnlTZWxlY3RvckFs
bChET01TdHJpbmcpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tcGFyc2luZy9pZGxoYXJuZXNz
LndpbmRvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2RvbXBhcnNpbmcvaWRsaGFybmVzcy53aW5kb3ctZXhwZWN0ZWQudHh0CmluZGV4
IDY1MGQzODMwODA0NzFiODM3ODQzYTk0Y2JlYzVmNWQwYzA1ZTY4ZTguLjdjNTcyOTEyYmJlMjc2
MDJhNzg5ODY2NWNlMThiZWFmYzY0ODdjMjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tcGFyc2luZy9pZGxoYXJuZXNzLndpbmRvdy1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9kb21wYXJzaW5nL2lkbGhhcm5lc3Mud2luZG93LWV4cGVjdGVkLnR4dApAQCAtOSwyMSAr
OSwxMCBAQCBQQVNTIEVsZW1lbnQgaW5jbHVkZXMgSW5uZXJIVE1MOiBtZW1iZXIgbmFtZXMgYXJl
IHVuaXF1ZQogUEFTUyBFbGVtZW50IGluY2x1ZGVzIFBhcmVudE5vZGU6IG1lbWJlciBuYW1lcyBh
cmUgdW5pcXVlIAogUEFTUyBFbGVtZW50IGluY2x1ZGVzIE5vbkRvY3VtZW50VHlwZUNoaWxkTm9k
ZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNTIEVsZW1lbnQgaW5jbHVkZXMgQ2hpbGRO
b2RlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKLVBBU1MgRWxlbWVudCBpbmNsdWRlcyBTbG90
YWJsZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCitQQVNTIEVsZW1lbnQgaW5jbHVkZXMgU2xv
dHRhYmxlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgU2hhZG93Um9vdCBpbmNsdWRl
cyBJbm5lckhUTUw6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAogUEFTUyBEb2N1bWVudEZyYWdt
ZW50IGluY2x1ZGVzIE5vbkVsZW1lbnRQYXJlbnROb2RlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1
ZSAKIFBBU1MgRG9jdW1lbnRGcmFnbWVudCBpbmNsdWRlcyBQYXJlbnROb2RlOiBtZW1iZXIgbmFt
ZXMgYXJlIHVuaXF1ZSAKLVBBU1MgRE9NUGFyc2VyIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCi1QQVNTIERPTVBhcnNlciBpbnRlcmZhY2Ug
b2JqZWN0IGxlbmd0aCAKLVBBU1MgRE9NUGFyc2VyIGludGVyZmFjZSBvYmplY3QgbmFtZSAKLVBB
U1MgRE9NUGFyc2VyIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBwcm90b3R5cGUgb2JqZWN0IAotUEFTUyBET01QYXJzZXIgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3Ry
dWN0b3IiIHByb3BlcnR5IAotUEFTUyBET01QYXJzZXIgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVz
IHByb3BlcnR5IAotUEFTUyBET01QYXJzZXIgaW50ZXJmYWNlOiBvcGVyYXRpb24gcGFyc2VGcm9t
U3RyaW5nKERPTVN0cmluZywgU3VwcG9ydGVkVHlwZSkgCi1QQVNTIERPTVBhcnNlciBtdXN0IGJl
IHByaW1hcnkgaW50ZXJmYWNlIG9mIG5ldyBET01QYXJzZXIoKSAKLVBBU1MgU3RyaW5naWZpY2F0
aW9uIG9mIG5ldyBET01QYXJzZXIoKSAKLVBBU1MgRE9NUGFyc2VyIGludGVyZmFjZTogbmV3IERP
TVBhcnNlcigpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicGFyc2VGcm9tU3RyaW5nKERPTVN0cmlu
ZywgU3VwcG9ydGVkVHlwZSkiIHdpdGggdGhlIHByb3BlciB0eXBlIAotUEFTUyBET01QYXJzZXIg
aW50ZXJmYWNlOiBjYWxsaW5nIHBhcnNlRnJvbVN0cmluZyhET01TdHJpbmcsIFN1cHBvcnRlZFR5
cGUpIG9uIG5ldyBET01QYXJzZXIoKSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cg
VHlwZUVycm9yIAogUEFTUyBYTUxTZXJpYWxpemVyIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCiBQQVNTIFhNTFNlcmlhbGl6ZXIgaW50ZXJm
YWNlIG9iamVjdCBsZW5ndGggCiBQQVNTIFhNTFNlcmlhbGl6ZXIgaW50ZXJmYWNlIG9iamVjdCBu
YW1lIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL2RvbS9pZGxoYXJuZXNzLndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvZG9tL2lkbGhhcm5lc3Mud29y
a2VyLWV4cGVjdGVkLnR4dAppbmRleCBmYzYwMWYxMTJmMDE1N2NjNGE5Y2NhYmEzNDJkYzVmNGFi
MDhjYzE5Li4yODkyMWY5MDcyZDcyNjcyMjBiOWQzMTgzYWY4ZjA3MDkwODAwYjgxIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvZG9t
L2lkbGhhcm5lc3Mud29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvZG9tL2lkbGhhcm5lc3Mud29ya2VyLWV4cGVj
dGVkLnR4dApAQCAtMTUyLDcgKzE1Miw3IEBAIFBBU1MgU2hhZG93Um9vdCBpbmNsdWRlcyBEb2N1
bWVudE9yU2hhZG93Um9vdDogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKIFBBU1MgRWxlbWVudCBp
bmNsdWRlcyBQYXJlbnROb2RlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgRWxlbWVu
dCBpbmNsdWRlcyBOb25Eb2N1bWVudFR5cGVDaGlsZE5vZGU6IG1lbWJlciBuYW1lcyBhcmUgdW5p
cXVlIAogUEFTUyBFbGVtZW50IGluY2x1ZGVzIENoaWxkTm9kZTogbWVtYmVyIG5hbWVzIGFyZSB1
bmlxdWUgCi1QQVNTIEVsZW1lbnQgaW5jbHVkZXMgU2xvdGFibGU6IG1lbWJlciBuYW1lcyBhcmUg
dW5pcXVlIAorUEFTUyBFbGVtZW50IGluY2x1ZGVzIFNsb3R0YWJsZTogbWVtYmVyIG5hbWVzIGFy
ZSB1bmlxdWUgCiBQQVNTIEhUTUxBbGxDb2xsZWN0aW9uIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCiBQQVNTIEhUTUxGb3JtQ29udHJvbHND
b2xsZWN0aW9uIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFj
ZSBvYmplY3QgCiBQQVNTIFJhZGlvTm9kZUxpc3QgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHBy
b3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKQEAgLTQzNSw2ICs0MzUsNyBAQCBQQVNTIFBy
b21pc2VSZWplY3Rpb25FdmVudCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2UgcHJvdAogUEFTUyBQcm9taXNlUmVqZWN0aW9uRXZlbnQgaW50ZXJmYWNlOiBl
eGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBA
QHVuc2NvcGFibGVzIHByb3BlcnR5IAogUEFTUyBQcm9taXNlUmVqZWN0aW9uRXZlbnQgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgcHJvbWlzZSAKIFBBU1MgUHJvbWlzZVJlamVjdGlvbkV2ZW50IGludGVy
ZmFjZTogYXR0cmlidXRlIHJlYXNvbiAKK1BBU1MgRE9NUGFyc2VyIGludGVyZmFjZTogZXhpc3Rl
bmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCiBQQVNTIE5hdmlnYXRvciBp
bnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAog
UEFTUyBQbHVnaW5BcnJheSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBp
bnRlcmZhY2Ugb2JqZWN0IAogUEFTUyBNaW1lVHlwZUFycmF5IGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBpcy9zY3Jp
cHRpbmcvZXZlbnRzL2V2ZW50LWhhbmRsZXItYWxsLWdsb2JhbC1ldmVudHMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3dlYmFw
cGFwaXMvc2NyaXB0aW5nL2V2ZW50cy9ldmVudC1oYW5kbGVyLWFsbC1nbG9iYWwtZXZlbnRzLWV4
cGVjdGVkLnR4dAppbmRleCBmYzM4NzVmMTliMzNlNTgyMmYxOWRlZTcxMzEwNzg4NDIzZGVlNDVi
Li4yMjBlNDFlZTVhOWE0ZGIxN2JmNDg0ZTY3NTBhNTgzNGZkZDU2NzBiIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBp
cy9zY3JpcHRpbmcvZXZlbnRzL2V2ZW50LWhhbmRsZXItYWxsLWdsb2JhbC1ldmVudHMtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC93ZWJhcHBhcGlzL3NjcmlwdGluZy9ldmVudHMvZXZlbnQtaGFuZGxlci1hbGwtZ2xvYmFs
LWV2ZW50cy1leHBlY3RlZC50eHQKQEAgLTIwNCwxMSArMjA0LDYgQEAgUEFTUyBvbm1vdXNldXA6
IHRoZSBkZWZhdWx0IHZhbHVlIG11c3QgYmUgbnVsbAogUEFTUyBvbm1vdXNldXA6IHRoZSBjb250
ZW50IGF0dHJpYnV0ZSBtdXN0IGJlIGNvbXBpbGVkIGludG8gYSBmdW5jdGlvbiBhcyB0aGUgY29y
cmVzcG9uZGluZyBwcm9wZXJ0eSAKIFBBU1Mgb25tb3VzZXVwOiB0aGUgY29udGVudCBhdHRyaWJ1
dGUgbXVzdCBleGVjdXRlIHdoZW4gYW4gZXZlbnQgaXMgZGlzcGF0Y2hlZCAKIFBBU1Mgb25tb3Vz
ZXVwOiBkaXNwYXRjaGluZyBhbiBFdmVudCBhdCBhIDxtZXRhPiBlbGVtZW50IG11c3QgdHJpZ2dl
ciBlbGVtZW50Lm9ubW91c2V1cCAKLVBBU1Mgb253aGVlbDogbXVzdCBiZSBvbiB0aGUgYXBwcm9w
cmlhdGUgbG9jYXRpb25zIGZvciBHbG9iYWxFdmVudEhhbmRsZXJzIAotUEFTUyBvbndoZWVsOiB0
aGUgZGVmYXVsdCB2YWx1ZSBtdXN0IGJlIG51bGwgCi1QQVNTIG9ud2hlZWw6IHRoZSBjb250ZW50
IGF0dHJpYnV0ZSBtdXN0IGJlIGNvbXBpbGVkIGludG8gYSBmdW5jdGlvbiBhcyB0aGUgY29ycmVz
cG9uZGluZyBwcm9wZXJ0eSAKLVBBU1Mgb253aGVlbDogdGhlIGNvbnRlbnQgYXR0cmlidXRlIG11
c3QgZXhlY3V0ZSB3aGVuIGFuIGV2ZW50IGlzIGRpc3BhdGNoZWQgCi1QQVNTIG9ud2hlZWw6IGRp
c3BhdGNoaW5nIGFuIEV2ZW50IGF0IGEgPG1ldGE+IGVsZW1lbnQgbXVzdCB0cmlnZ2VyIGVsZW1l
bnQub253aGVlbCAKIFBBU1Mgb25wYXVzZTogbXVzdCBiZSBvbiB0aGUgYXBwcm9wcmlhdGUgbG9j
YXRpb25zIGZvciBHbG9iYWxFdmVudEhhbmRsZXJzIAogUEFTUyBvbnBhdXNlOiB0aGUgZGVmYXVs
dCB2YWx1ZSBtdXN0IGJlIG51bGwgCiBQQVNTIG9ucGF1c2U6IHRoZSBjb250ZW50IGF0dHJpYnV0
ZSBtdXN0IGJlIGNvbXBpbGVkIGludG8gYSBmdW5jdGlvbiBhcyB0aGUgY29ycmVzcG9uZGluZyBw
cm9wZXJ0eSAKQEAgLTMwOSw0ICszMDQsMjkgQEAgUEFTUyBvbndhaXRpbmc6IHRoZSBkZWZhdWx0
IHZhbHVlIG11c3QgYmUgbnVsbAogUEFTUyBvbndhaXRpbmc6IHRoZSBjb250ZW50IGF0dHJpYnV0
ZSBtdXN0IGJlIGNvbXBpbGVkIGludG8gYSBmdW5jdGlvbiBhcyB0aGUgY29ycmVzcG9uZGluZyBw
cm9wZXJ0eSAKIFBBU1Mgb253YWl0aW5nOiB0aGUgY29udGVudCBhdHRyaWJ1dGUgbXVzdCBleGVj
dXRlIHdoZW4gYW4gZXZlbnQgaXMgZGlzcGF0Y2hlZCAKIFBBU1Mgb253YWl0aW5nOiBkaXNwYXRj
aGluZyBhbiBFdmVudCBhdCBhIDxtZXRhPiBlbGVtZW50IG11c3QgdHJpZ2dlciBlbGVtZW50Lm9u
d2FpdGluZyAKK0ZBSUwgb253ZWJraXRhbmltYXRpb25lbmQ6IG11c3QgYmUgb24gdGhlIGFwcHJv
cHJpYXRlIGxvY2F0aW9ucyBmb3IgR2xvYmFsRXZlbnRIYW5kbGVycyBhc3NlcnRfdHJ1ZTogSFRN
TEVsZW1lbnQgaGFzIGFuIG93biBwcm9wZXJ0eSBuYW1lZCAib253ZWJraXRhbmltYXRpb25lbmQi
IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitQQVNTIG9ud2Via2l0YW5pbWF0aW9uZW5kOiB0aGUg
ZGVmYXVsdCB2YWx1ZSBtdXN0IGJlIG51bGwgCitQQVNTIG9ud2Via2l0YW5pbWF0aW9uZW5kOiB0
aGUgY29udGVudCBhdHRyaWJ1dGUgbXVzdCBiZSBjb21waWxlZCBpbnRvIGEgZnVuY3Rpb24gYXMg
dGhlIGNvcnJlc3BvbmRpbmcgcHJvcGVydHkgCitGQUlMIG9ud2Via2l0YW5pbWF0aW9uZW5kOiB0
aGUgY29udGVudCBhdHRyaWJ1dGUgbXVzdCBleGVjdXRlIHdoZW4gYW4gZXZlbnQgaXMgZGlzcGF0
Y2hlZCBhc3NlcnRfdHJ1ZTogRGlzcGF0Y2hpbmcgYW4gZXZlbnQgbXVzdCBydW4gdGhlIGNvZGUg
ZXhwZWN0ZWQgdHJ1ZSBnb3QgdW5kZWZpbmVkCitQQVNTIG9ud2Via2l0YW5pbWF0aW9uZW5kOiBk
aXNwYXRjaGluZyBhbiBFdmVudCBhdCBhIDxtZXRhPiBlbGVtZW50IG11c3QgdHJpZ2dlciBlbGVt
ZW50Lm9ud2Via2l0YW5pbWF0aW9uZW5kIAorRkFJTCBvbndlYmtpdGFuaW1hdGlvbml0ZXJhdGlv
bjogbXVzdCBiZSBvbiB0aGUgYXBwcm9wcmlhdGUgbG9jYXRpb25zIGZvciBHbG9iYWxFdmVudEhh
bmRsZXJzIGFzc2VydF90cnVlOiBIVE1MRWxlbWVudCBoYXMgYW4gb3duIHByb3BlcnR5IG5hbWVk
ICJvbndlYmtpdGFuaW1hdGlvbml0ZXJhdGlvbiIgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BB
U1Mgb253ZWJraXRhbmltYXRpb25pdGVyYXRpb246IHRoZSBkZWZhdWx0IHZhbHVlIG11c3QgYmUg
bnVsbCAKK1BBU1Mgb253ZWJraXRhbmltYXRpb25pdGVyYXRpb246IHRoZSBjb250ZW50IGF0dHJp
YnV0ZSBtdXN0IGJlIGNvbXBpbGVkIGludG8gYSBmdW5jdGlvbiBhcyB0aGUgY29ycmVzcG9uZGlu
ZyBwcm9wZXJ0eSAKK0ZBSUwgb253ZWJraXRhbmltYXRpb25pdGVyYXRpb246IHRoZSBjb250ZW50
IGF0dHJpYnV0ZSBtdXN0IGV4ZWN1dGUgd2hlbiBhbiBldmVudCBpcyBkaXNwYXRjaGVkIGFzc2Vy
dF90cnVlOiBEaXNwYXRjaGluZyBhbiBldmVudCBtdXN0IHJ1biB0aGUgY29kZSBleHBlY3RlZCB0
cnVlIGdvdCB1bmRlZmluZWQKK1BBU1Mgb253ZWJraXRhbmltYXRpb25pdGVyYXRpb246IGRpc3Bh
dGNoaW5nIGFuIEV2ZW50IGF0IGEgPG1ldGE+IGVsZW1lbnQgbXVzdCB0cmlnZ2VyIGVsZW1lbnQu
b253ZWJraXRhbmltYXRpb25pdGVyYXRpb24gCitGQUlMIG9ud2Via2l0YW5pbWF0aW9uc3RhcnQ6
IG11c3QgYmUgb24gdGhlIGFwcHJvcHJpYXRlIGxvY2F0aW9ucyBmb3IgR2xvYmFsRXZlbnRIYW5k
bGVycyBhc3NlcnRfdHJ1ZTogSFRNTEVsZW1lbnQgaGFzIGFuIG93biBwcm9wZXJ0eSBuYW1lZCAi
b253ZWJraXRhbmltYXRpb25zdGFydCIgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BBU1Mgb253
ZWJraXRhbmltYXRpb25zdGFydDogdGhlIGRlZmF1bHQgdmFsdWUgbXVzdCBiZSBudWxsIAorUEFT
UyBvbndlYmtpdGFuaW1hdGlvbnN0YXJ0OiB0aGUgY29udGVudCBhdHRyaWJ1dGUgbXVzdCBiZSBj
b21waWxlZCBpbnRvIGEgZnVuY3Rpb24gYXMgdGhlIGNvcnJlc3BvbmRpbmcgcHJvcGVydHkgCitG
QUlMIG9ud2Via2l0YW5pbWF0aW9uc3RhcnQ6IHRoZSBjb250ZW50IGF0dHJpYnV0ZSBtdXN0IGV4
ZWN1dGUgd2hlbiBhbiBldmVudCBpcyBkaXNwYXRjaGVkIGFzc2VydF90cnVlOiBEaXNwYXRjaGlu
ZyBhbiBldmVudCBtdXN0IHJ1biB0aGUgY29kZSBleHBlY3RlZCB0cnVlIGdvdCB1bmRlZmluZWQK
K1BBU1Mgb253ZWJraXRhbmltYXRpb25zdGFydDogZGlzcGF0Y2hpbmcgYW4gRXZlbnQgYXQgYSA8
bWV0YT4gZWxlbWVudCBtdXN0IHRyaWdnZXIgZWxlbWVudC5vbndlYmtpdGFuaW1hdGlvbnN0YXJ0
IAorRkFJTCBvbndlYmtpdHRyYW5zaXRpb25lbmQ6IG11c3QgYmUgb24gdGhlIGFwcHJvcHJpYXRl
IGxvY2F0aW9ucyBmb3IgR2xvYmFsRXZlbnRIYW5kbGVycyBhc3NlcnRfdHJ1ZTogSFRNTEVsZW1l
bnQgaGFzIGFuIG93biBwcm9wZXJ0eSBuYW1lZCAib253ZWJraXR0cmFuc2l0aW9uZW5kIiBleHBl
Y3RlZCB0cnVlIGdvdCBmYWxzZQorUEFTUyBvbndlYmtpdHRyYW5zaXRpb25lbmQ6IHRoZSBkZWZh
dWx0IHZhbHVlIG11c3QgYmUgbnVsbCAKK1BBU1Mgb253ZWJraXR0cmFuc2l0aW9uZW5kOiB0aGUg
Y29udGVudCBhdHRyaWJ1dGUgbXVzdCBiZSBjb21waWxlZCBpbnRvIGEgZnVuY3Rpb24gYXMgdGhl
IGNvcnJlc3BvbmRpbmcgcHJvcGVydHkgCitGQUlMIG9ud2Via2l0dHJhbnNpdGlvbmVuZDogdGhl
IGNvbnRlbnQgYXR0cmlidXRlIG11c3QgZXhlY3V0ZSB3aGVuIGFuIGV2ZW50IGlzIGRpc3BhdGNo
ZWQgYXNzZXJ0X3RydWU6IERpc3BhdGNoaW5nIGFuIGV2ZW50IG11c3QgcnVuIHRoZSBjb2RlIGV4
cGVjdGVkIHRydWUgZ290IHVuZGVmaW5lZAorUEFTUyBvbndlYmtpdHRyYW5zaXRpb25lbmQ6IGRp
c3BhdGNoaW5nIGFuIEV2ZW50IGF0IGEgPG1ldGE+IGVsZW1lbnQgbXVzdCB0cmlnZ2VyIGVsZW1l
bnQub253ZWJraXR0cmFuc2l0aW9uZW5kIAorUEFTUyBvbndoZWVsOiBtdXN0IGJlIG9uIHRoZSBh
cHByb3ByaWF0ZSBsb2NhdGlvbnMgZm9yIEdsb2JhbEV2ZW50SGFuZGxlcnMgCitQQVNTIG9ud2hl
ZWw6IHRoZSBkZWZhdWx0IHZhbHVlIG11c3QgYmUgbnVsbCAKK1BBU1Mgb253aGVlbDogdGhlIGNv
bnRlbnQgYXR0cmlidXRlIG11c3QgYmUgY29tcGlsZWQgaW50byBhIGZ1bmN0aW9uIGFzIHRoZSBj
b3JyZXNwb25kaW5nIHByb3BlcnR5IAorUEFTUyBvbndoZWVsOiB0aGUgY29udGVudCBhdHRyaWJ1
dGUgbXVzdCBleGVjdXRlIHdoZW4gYW4gZXZlbnQgaXMgZGlzcGF0Y2hlZCAKK1BBU1Mgb253aGVl
bDogZGlzcGF0Y2hpbmcgYW4gRXZlbnQgYXQgYSA8bWV0YT4gZWxlbWVudCBtdXN0IHRyaWdnZXIg
ZWxlbWVudC5vbndoZWVsIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBpcy9zY3JpcHRpbmcvZXZlbnRzL2V2ZW50
LWhhbmRsZXItYXR0cmlidXRlcy1ib2R5LXdpbmRvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBpcy9zY3JpcHRp
bmcvZXZlbnRzL2V2ZW50LWhhbmRsZXItYXR0cmlidXRlcy1ib2R5LXdpbmRvdy1leHBlY3RlZC50
eHQKaW5kZXggYTljMzI1ZWI3NjZiMjUxYWU5ZWYxZjBkOGE5ZDgyZTIyZGE2YzgwNC4uNjgzZjFl
ZWE2NTIxN2Y0MjI0ZDJlNGYyMGI2Y2U0MWFhZDk1MjU4MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3dlYmFwcGFwaXMvc2NyaXB0
aW5nL2V2ZW50cy9ldmVudC1oYW5kbGVyLWF0dHJpYnV0ZXMtYm9keS13aW5kb3ctZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC93ZWJhcHBhcGlzL3NjcmlwdGluZy9ldmVudHMvZXZlbnQtaGFuZGxlci1hdHRyaWJ1dGVzLWJv
ZHktd2luZG93LWV4cGVjdGVkLnR4dApAQCAtNTksNyArNTksNiBAQCBQQVNTIG5vdCBzaGFkb3dl
ZCBtb3VzZW1vdmUgKGRvY3VtZW50LmJvZHkpCiBQQVNTIG5vdCBzaGFkb3dlZCBtb3VzZW91dCAo
ZG9jdW1lbnQuYm9keSkgCiBQQVNTIG5vdCBzaGFkb3dlZCBtb3VzZW92ZXIgKGRvY3VtZW50LmJv
ZHkpIAogUEFTUyBub3Qgc2hhZG93ZWQgbW91c2V1cCAoZG9jdW1lbnQuYm9keSkgCi1QQVNTIG5v
dCBzaGFkb3dlZCB3aGVlbCAoZG9jdW1lbnQuYm9keSkgCiBQQVNTIG5vdCBzaGFkb3dlZCBwYXVz
ZSAoZG9jdW1lbnQuYm9keSkgCiBQQVNTIG5vdCBzaGFkb3dlZCBwbGF5IChkb2N1bWVudC5ib2R5
KSAKIFBBU1Mgbm90IHNoYWRvd2VkIHBsYXlpbmcgKGRvY3VtZW50LmJvZHkpIApAQCAtNzgsNiAr
NzcsMTEgQEAgUEFTUyBub3Qgc2hhZG93ZWQgdGltZXVwZGF0ZSAoZG9jdW1lbnQuYm9keSkKIFBB
U1Mgbm90IHNoYWRvd2VkIHRvZ2dsZSAoZG9jdW1lbnQuYm9keSkgCiBQQVNTIG5vdCBzaGFkb3dl
ZCB2b2x1bWVjaGFuZ2UgKGRvY3VtZW50LmJvZHkpIAogUEFTUyBub3Qgc2hhZG93ZWQgd2FpdGlu
ZyAoZG9jdW1lbnQuYm9keSkgCitQQVNTIG5vdCBzaGFkb3dlZCB3ZWJraXRhbmltYXRpb25lbmQg
KGRvY3VtZW50LmJvZHkpIAorUEFTUyBub3Qgc2hhZG93ZWQgd2Via2l0YW5pbWF0aW9uaXRlcmF0
aW9uIChkb2N1bWVudC5ib2R5KSAKK1BBU1Mgbm90IHNoYWRvd2VkIHdlYmtpdGFuaW1hdGlvbnN0
YXJ0IChkb2N1bWVudC5ib2R5KSAKK1BBU1Mgbm90IHNoYWRvd2VkIHdlYmtpdHRyYW5zaXRpb25l
bmQgKGRvY3VtZW50LmJvZHkpIAorUEFTUyBub3Qgc2hhZG93ZWQgd2hlZWwgKGRvY3VtZW50LmJv
ZHkpIAogRkFJTCBub3Qgc2hhZG93ZWQgY29weSAoZG9jdW1lbnQuYm9keSkgYXNzZXJ0X2VxdWFs
czogd2luZG93IHNob3VsZCByZWZsZWN0IGV4cGVjdGVkIChvYmplY3QpIG51bGwgYnV0IGdvdCAo
dW5kZWZpbmVkKSB1bmRlZmluZWQKIEZBSUwgbm90IHNoYWRvd2VkIGN1dCAoZG9jdW1lbnQuYm9k
eSkgYXNzZXJ0X2VxdWFsczogd2luZG93IHNob3VsZCByZWZsZWN0IGV4cGVjdGVkIChvYmplY3Qp
IG51bGwgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKIEZBSUwgbm90IHNoYWRvd2VkIHBh
c3RlIChkb2N1bWVudC5ib2R5KSBhc3NlcnRfZXF1YWxzOiB3aW5kb3cgc2hvdWxkIHJlZmxlY3Qg
ZXhwZWN0ZWQgKG9iamVjdCkgbnVsbCBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZApAQCAt
MTYzLDcgKzE2Nyw2IEBAIFBBU1Mgbm90IHNoYWRvd2VkIG1vdXNlbW92ZSAoZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgiYm9keSIpKQogUEFTUyBub3Qgc2hhZG93ZWQgbW91c2VvdXQgKGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImJvZHkiKSkgCiBQQVNTIG5vdCBzaGFkb3dlZCBtb3VzZW92ZXIgKGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImJvZHkiKSkgCiBQQVNTIG5vdCBzaGFkb3dlZCBtb3VzZXVw
IChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJib2R5IikpIAotUEFTUyBub3Qgc2hhZG93ZWQgd2hl
ZWwgKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJvZHkiKSkgCiBQQVNTIG5vdCBzaGFkb3dlZCBw
YXVzZSAoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYm9keSIpKSAKIFBBU1Mgbm90IHNoYWRvd2Vk
IHBsYXkgKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJvZHkiKSkgCiBQQVNTIG5vdCBzaGFkb3dl
ZCBwbGF5aW5nIChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJib2R5IikpIApAQCAtMTgyLDYgKzE4
NSwxMSBAQCBQQVNTIG5vdCBzaGFkb3dlZCB0aW1ldXBkYXRlIChkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJib2R5IikpCiBQQVNTIG5vdCBzaGFkb3dlZCB0b2dnbGUgKGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImJvZHkiKSkgCiBQQVNTIG5vdCBzaGFkb3dlZCB2b2x1bWVjaGFuZ2UgKGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImJvZHkiKSkgCiBQQVNTIG5vdCBzaGFkb3dlZCB3YWl0aW5nIChkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJib2R5IikpIAorUEFTUyBub3Qgc2hhZG93ZWQgd2Via2l0YW5p
bWF0aW9uZW5kIChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJib2R5IikpIAorUEFTUyBub3Qgc2hh
ZG93ZWQgd2Via2l0YW5pbWF0aW9uaXRlcmF0aW9uIChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJi
b2R5IikpIAorUEFTUyBub3Qgc2hhZG93ZWQgd2Via2l0YW5pbWF0aW9uc3RhcnQgKGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImJvZHkiKSkgCitQQVNTIG5vdCBzaGFkb3dlZCB3ZWJraXR0cmFuc2l0
aW9uZW5kIChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJib2R5IikpIAorUEFTUyBub3Qgc2hhZG93
ZWQgd2hlZWwgKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJvZHkiKSkgCiBGQUlMIG5vdCBzaGFk
b3dlZCBjb3B5IChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJib2R5IikpIGFzc2VydF9lcXVhbHM6
IHdpbmRvdyBzaG91bGQgcmVmbGVjdCBleHBlY3RlZCAob2JqZWN0KSBudWxsIGJ1dCBnb3QgKHVu
ZGVmaW5lZCkgdW5kZWZpbmVkCiBGQUlMIG5vdCBzaGFkb3dlZCBjdXQgKGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoImJvZHkiKSkgYXNzZXJ0X2VxdWFsczogd2luZG93IHNob3VsZCByZWZsZWN0IGV4
cGVjdGVkIChvYmplY3QpIG51bGwgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKIEZBSUwg
bm90IHNoYWRvd2VkIHBhc3RlIChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJib2R5IikpIGFzc2Vy
dF9lcXVhbHM6IHdpbmRvdyBzaG91bGQgcmVmbGVjdCBleHBlY3RlZCAob2JqZWN0KSBudWxsIGJ1
dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCkBAIC0yNjcsNyArMjc1LDYgQEAgUEFTUyBub3Qg
c2hhZG93ZWQgbW91c2Vtb3ZlICh3aW5kb3cpCiBQQVNTIG5vdCBzaGFkb3dlZCBtb3VzZW91dCAo
d2luZG93KSAKIFBBU1Mgbm90IHNoYWRvd2VkIG1vdXNlb3ZlciAod2luZG93KSAKIFBBU1Mgbm90
IHNoYWRvd2VkIG1vdXNldXAgKHdpbmRvdykgCi1QQVNTIG5vdCBzaGFkb3dlZCB3aGVlbCAod2lu
ZG93KSAKIFBBU1Mgbm90IHNoYWRvd2VkIHBhdXNlICh3aW5kb3cpIAogUEFTUyBub3Qgc2hhZG93
ZWQgcGxheSAod2luZG93KSAKIFBBU1Mgbm90IHNoYWRvd2VkIHBsYXlpbmcgKHdpbmRvdykgCkBA
IC0yODYsNiArMjkzLDExIEBAIFBBU1Mgbm90IHNoYWRvd2VkIHRpbWV1cGRhdGUgKHdpbmRvdykK
IFBBU1Mgbm90IHNoYWRvd2VkIHRvZ2dsZSAod2luZG93KSAKIFBBU1Mgbm90IHNoYWRvd2VkIHZv
bHVtZWNoYW5nZSAod2luZG93KSAKIFBBU1Mgbm90IHNoYWRvd2VkIHdhaXRpbmcgKHdpbmRvdykg
CitQQVNTIG5vdCBzaGFkb3dlZCB3ZWJraXRhbmltYXRpb25lbmQgKHdpbmRvdykgCitQQVNTIG5v
dCBzaGFkb3dlZCB3ZWJraXRhbmltYXRpb25pdGVyYXRpb24gKHdpbmRvdykgCitQQVNTIG5vdCBz
aGFkb3dlZCB3ZWJraXRhbmltYXRpb25zdGFydCAod2luZG93KSAKK1BBU1Mgbm90IHNoYWRvd2Vk
IHdlYmtpdHRyYW5zaXRpb25lbmQgKHdpbmRvdykgCitQQVNTIG5vdCBzaGFkb3dlZCB3aGVlbCAo
d2luZG93KSAKIFBBU1Mgbm90IHNoYWRvd2VkIGNvcHkgKHdpbmRvdykgCiBQQVNTIG5vdCBzaGFk
b3dlZCBjdXQgKHdpbmRvdykgCiBQQVNTIG5vdCBzaGFkb3dlZCBwYXN0ZSAod2luZG93KSAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC93ZWJhcHBhcGlzL3NjcmlwdGluZy9ldmVudHMvZXZlbnQtaGFuZGxlci1hdHRyaWJ1dGVzLXdp
bmRvd2xlc3MtYm9keS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBpcy9zY3JpcHRpbmcvZXZlbnRzL2V2ZW50LWhh
bmRsZXItYXR0cmlidXRlcy13aW5kb3dsZXNzLWJvZHktZXhwZWN0ZWQudHh0CmluZGV4IGYxNzBk
MzM4NDdlNzE1NzkzZWRkYzVhY2IwOGExYWE1ZmMwNWE0OWUuLjhmYTc2OTU5NmRmNTEwZGZkNzMz
Yzc4NmUyN2M0MzRkZjZjOWMyMjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC93ZWJhcHBhcGlzL3NjcmlwdGluZy9ldmVudHMvZXZl
bnQtaGFuZGxlci1hdHRyaWJ1dGVzLXdpbmRvd2xlc3MtYm9keS1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3dlYmFwcGFw
aXMvc2NyaXB0aW5nL2V2ZW50cy9ldmVudC1oYW5kbGVyLWF0dHJpYnV0ZXMtd2luZG93bGVzcy1i
b2R5LWV4cGVjdGVkLnR4dApAQCAtODEsNyArODEsNiBAQCBQQVNTIG1vdXNlbW92ZSBpcyB1bmFm
ZmVjdGVkIG9uIGEgd2luZG93bGVzcyBib2R5CiBQQVNTIG1vdXNlb3V0IGlzIHVuYWZmZWN0ZWQg
b24gYSB3aW5kb3dsZXNzIGJvZHkgCiBQQVNTIG1vdXNlb3ZlciBpcyB1bmFmZmVjdGVkIG9uIGEg
d2luZG93bGVzcyBib2R5IAogUEFTUyBtb3VzZXVwIGlzIHVuYWZmZWN0ZWQgb24gYSB3aW5kb3ds
ZXNzIGJvZHkgCi1QQVNTIHdoZWVsIGlzIHVuYWZmZWN0ZWQgb24gYSB3aW5kb3dsZXNzIGJvZHkg
CiBQQVNTIHBhdXNlIGlzIHVuYWZmZWN0ZWQgb24gYSB3aW5kb3dsZXNzIGJvZHkgCiBQQVNTIHBs
YXkgaXMgdW5hZmZlY3RlZCBvbiBhIHdpbmRvd2xlc3MgYm9keSAKIFBBU1MgcGxheWluZyBpcyB1
bmFmZmVjdGVkIG9uIGEgd2luZG93bGVzcyBib2R5IApAQCAtMTAwLDYgKzk5LDExIEBAIFBBU1Mg
dGltZXVwZGF0ZSBpcyB1bmFmZmVjdGVkIG9uIGEgd2luZG93bGVzcyBib2R5CiBQQVNTIHRvZ2ds
ZSBpcyB1bmFmZmVjdGVkIG9uIGEgd2luZG93bGVzcyBib2R5IAogUEFTUyB2b2x1bWVjaGFuZ2Ug
aXMgdW5hZmZlY3RlZCBvbiBhIHdpbmRvd2xlc3MgYm9keSAKIFBBU1Mgd2FpdGluZyBpcyB1bmFm
ZmVjdGVkIG9uIGEgd2luZG93bGVzcyBib2R5IAorUEFTUyB3ZWJraXRhbmltYXRpb25lbmQgaXMg
dW5hZmZlY3RlZCBvbiBhIHdpbmRvd2xlc3MgYm9keSAKK1BBU1Mgd2Via2l0YW5pbWF0aW9uaXRl
cmF0aW9uIGlzIHVuYWZmZWN0ZWQgb24gYSB3aW5kb3dsZXNzIGJvZHkgCitQQVNTIHdlYmtpdGFu
aW1hdGlvbnN0YXJ0IGlzIHVuYWZmZWN0ZWQgb24gYSB3aW5kb3dsZXNzIGJvZHkgCitQQVNTIHdl
YmtpdHRyYW5zaXRpb25lbmQgaXMgdW5hZmZlY3RlZCBvbiBhIHdpbmRvd2xlc3MgYm9keSAKK1BB
U1Mgd2hlZWwgaXMgdW5hZmZlY3RlZCBvbiBhIHdpbmRvd2xlc3MgYm9keSAKIFBBU1MgY29weSBp
cyB1bmFmZmVjdGVkIG9uIGEgd2luZG93bGVzcyBib2R5IAogUEFTUyBjdXQgaXMgdW5hZmZlY3Rl
ZCBvbiBhIHdpbmRvd2xlc3MgYm9keSAKIFBBU1MgcGFzdGUgaXMgdW5hZmZlY3RlZCBvbiBhIHdp
bmRvd2xlc3MgYm9keSAKQEAgLTE4NSw3ICsxODksNiBAQCBQQVNTIG1vdXNlbW92ZSBpcyB1bmFm
ZmVjdGVkIG9uIGEgd2luZG93bGVzcyBmcmFtZXNldAogUEFTUyBtb3VzZW91dCBpcyB1bmFmZmVj
dGVkIG9uIGEgd2luZG93bGVzcyBmcmFtZXNldCAKIFBBU1MgbW91c2VvdmVyIGlzIHVuYWZmZWN0
ZWQgb24gYSB3aW5kb3dsZXNzIGZyYW1lc2V0IAogUEFTUyBtb3VzZXVwIGlzIHVuYWZmZWN0ZWQg
b24gYSB3aW5kb3dsZXNzIGZyYW1lc2V0IAotUEFTUyB3aGVlbCBpcyB1bmFmZmVjdGVkIG9uIGEg
d2luZG93bGVzcyBmcmFtZXNldCAKIFBBU1MgcGF1c2UgaXMgdW5hZmZlY3RlZCBvbiBhIHdpbmRv
d2xlc3MgZnJhbWVzZXQgCiBQQVNTIHBsYXkgaXMgdW5hZmZlY3RlZCBvbiBhIHdpbmRvd2xlc3Mg
ZnJhbWVzZXQgCiBQQVNTIHBsYXlpbmcgaXMgdW5hZmZlY3RlZCBvbiBhIHdpbmRvd2xlc3MgZnJh
bWVzZXQgCkBAIC0yMDQsNiArMjA3LDExIEBAIFBBU1MgdGltZXVwZGF0ZSBpcyB1bmFmZmVjdGVk
IG9uIGEgd2luZG93bGVzcyBmcmFtZXNldAogUEFTUyB0b2dnbGUgaXMgdW5hZmZlY3RlZCBvbiBh
IHdpbmRvd2xlc3MgZnJhbWVzZXQgCiBQQVNTIHZvbHVtZWNoYW5nZSBpcyB1bmFmZmVjdGVkIG9u
IGEgd2luZG93bGVzcyBmcmFtZXNldCAKIFBBU1Mgd2FpdGluZyBpcyB1bmFmZmVjdGVkIG9uIGEg
d2luZG93bGVzcyBmcmFtZXNldCAKK1BBU1Mgd2Via2l0YW5pbWF0aW9uZW5kIGlzIHVuYWZmZWN0
ZWQgb24gYSB3aW5kb3dsZXNzIGZyYW1lc2V0IAorUEFTUyB3ZWJraXRhbmltYXRpb25pdGVyYXRp
b24gaXMgdW5hZmZlY3RlZCBvbiBhIHdpbmRvd2xlc3MgZnJhbWVzZXQgCitQQVNTIHdlYmtpdGFu
aW1hdGlvbnN0YXJ0IGlzIHVuYWZmZWN0ZWQgb24gYSB3aW5kb3dsZXNzIGZyYW1lc2V0IAorUEFT
UyB3ZWJraXR0cmFuc2l0aW9uZW5kIGlzIHVuYWZmZWN0ZWQgb24gYSB3aW5kb3dsZXNzIGZyYW1l
c2V0IAorUEFTUyB3aGVlbCBpcyB1bmFmZmVjdGVkIG9uIGEgd2luZG93bGVzcyBmcmFtZXNldCAK
IFBBU1MgY29weSBpcyB1bmFmZmVjdGVkIG9uIGEgd2luZG93bGVzcyBmcmFtZXNldCAKIFBBU1Mg
Y3V0IGlzIHVuYWZmZWN0ZWQgb24gYSB3aW5kb3dsZXNzIGZyYW1lc2V0IAogUEFTUyBwYXN0ZSBp
cyB1bmFmZmVjdGVkIG9uIGEgd2luZG93bGVzcyBmcmFtZXNldCAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9ET00tUGFy
c2luZy5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2lu
dGVyZmFjZXMvRE9NLVBhcnNpbmcuaWRsCmluZGV4IGJjZGJhYTY0NjIzYjhiODg3ZTkyYTZiZTZl
NTU1YzNlY2E4OGE3OWEuLjUwMjBiZTg5OTQyNWJlOWJiMzJiNDU5MmE1M2JjZTc2ZjhkMDkwYWYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aW50ZXJmYWNlcy9ET00tUGFyc2luZy5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL0RPTS1QYXJzaW5nLmlkbApAQCAtMywyMCAr
Myw2IEBACiAvLyAoaHR0cHM6Ly9naXRodWIuY29tL3RpZG91c3QvcmVmZnktcmVwb3J0cykKIC8v
IFNvdXJjZTogRE9NIFBhcnNpbmcgYW5kIFNlcmlhbGl6YXRpb24gKGh0dHBzOi8vdzNjLmdpdGh1
Yi5pby9ET00tUGFyc2luZy8pCiAKLVtFeHBvc2VkPVdpbmRvd10KLWludGVyZmFjZSBET01QYXJz
ZXIgewotICBjb25zdHJ1Y3RvcigpOwotICBbTmV3T2JqZWN0XSBEb2N1bWVudCBwYXJzZUZyb21T
dHJpbmcoRE9NU3RyaW5nIHN0ciwgU3VwcG9ydGVkVHlwZSB0eXBlKTsKLX07Ci0KLWVudW0gU3Vw
cG9ydGVkVHlwZSB7Ci0gICJ0ZXh0L2h0bWwiLAotICAidGV4dC94bWwiLAotICAiYXBwbGljYXRp
b24veG1sIiwKLSAgImFwcGxpY2F0aW9uL3hodG1sK3htbCIsCi0gICJpbWFnZS9zdmcreG1sIgot
fTsKLQogW0V4cG9zZWQ9V2luZG93XQogaW50ZXJmYWNlIFhNTFNlcmlhbGl6ZXIgewogICBjb25z
dHJ1Y3RvcigpOwpAQCAtMjQsMTQgKzEwLDE0IEBAIGludGVyZmFjZSBYTUxTZXJpYWxpemVyIHsK
IH07CiAKIGludGVyZmFjZSBtaXhpbiBJbm5lckhUTUwgewotICBbQ0VSZWFjdGlvbnNdIGF0dHJp
YnV0ZSBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBpbm5lckhUTUw7CisgIFtD
RVJlYWN0aW9uc10gYXR0cmlidXRlIFtMZWdhY3lOdWxsVG9FbXB0eVN0cmluZ10gRE9NU3RyaW5n
IGlubmVySFRNTDsKIH07CiAKIEVsZW1lbnQgaW5jbHVkZXMgSW5uZXJIVE1MOwogU2hhZG93Um9v
dCBpbmNsdWRlcyBJbm5lckhUTUw7CiAKIHBhcnRpYWwgaW50ZXJmYWNlIEVsZW1lbnQgewotICBb
Q0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmlu
ZyBvdXRlckhUTUw7CisgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIFtMZWdhY3lOdWxsVG9FbXB0
eVN0cmluZ10gRE9NU3RyaW5nIG91dGVySFRNTDsKICAgW0NFUmVhY3Rpb25zXSB2b2lkIGluc2Vy
dEFkamFjZW50SFRNTChET01TdHJpbmcgcG9zaXRpb24sIERPTVN0cmluZyB0ZXh0KTsKIH07CiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aW50ZXJmYWNlcy9JbmRleGVkREIuaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL0luZGV4ZWREQi5pZGwKaW5kZXggMzM5MjVkNjE0MjM4
ZDY4NTBjMTk2MzgxZGYwZjYwYWMxNGJkNGU0Zi4uOGFmMmJiY2YyMzgyMWUzNGY5NWZlMmNhYmRi
M2QzYjNiOTFiM2ViOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL0luZGV4ZWREQi5pZGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL0luZGV4ZWREQi5pZGwK
QEAgLTY3LDcgKzY3LDggQEAgaW50ZXJmYWNlIElEQkRhdGFiYXNlIDogRXZlbnRUYXJnZXQgewog
ICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nTGlzdCBvYmplY3RTdG9yZU5hbWVzOwogCiAg
IFtOZXdPYmplY3RdIElEQlRyYW5zYWN0aW9uIHRyYW5zYWN0aW9uKChET01TdHJpbmcgb3Igc2Vx
dWVuY2U8RE9NU3RyaW5nPikgc3RvcmVOYW1lcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgb3B0aW9uYWwgSURCVHJhbnNhY3Rpb25Nb2RlIG1vZGUgPSAicmVhZG9u
bHkiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwg
SURCVHJhbnNhY3Rpb25Nb2RlIG1vZGUgPSAicmVhZG9ubHkiLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCBJREJUcmFuc2FjdGlvbk9wdGlvbnMgb3B0
aW9ucyA9IHt9KTsKICAgdm9pZCBjbG9zZSgpOwogCiAgIFtOZXdPYmplY3RdIElEQk9iamVjdFN0
b3JlIGNyZWF0ZU9iamVjdFN0b3JlKApAQCAtODIsNiArODMsMTIgQEAgaW50ZXJmYWNlIElEQkRh
dGFiYXNlIDogRXZlbnRUYXJnZXQgewogICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9udmVyc2lv
bmNoYW5nZTsKIH07CiAKK2VudW0gSURCVHJhbnNhY3Rpb25EdXJhYmlsaXR5IHsgImRlZmF1bHQi
LCAic3RyaWN0IiwgInJlbGF4ZWQiIH07CisKK2RpY3Rpb25hcnkgSURCVHJhbnNhY3Rpb25PcHRp
b25zIHsKKyAgSURCVHJhbnNhY3Rpb25EdXJhYmlsaXR5IGR1cmFiaWxpdHkgPSAiZGVmYXVsdCI7
Cit9OworCiBkaWN0aW9uYXJ5IElEQk9iamVjdFN0b3JlUGFyYW1ldGVycyB7CiAgIChET01TdHJp
bmcgb3Igc2VxdWVuY2U8RE9NU3RyaW5nPik/IGtleVBhdGggPSBudWxsOwogICBib29sZWFuIGF1
dG9JbmNyZW1lbnQgPSBmYWxzZTsKQEAgLTE5OCw2ICsyMDUsNyBAQCBpbnRlcmZhY2UgSURCQ3Vy
c29yV2l0aFZhbHVlIDogSURCQ3Vyc29yIHsKIGludGVyZmFjZSBJREJUcmFuc2FjdGlvbiA6IEV2
ZW50VGFyZ2V0IHsKICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZ0xpc3Qgb2JqZWN0U3Rv
cmVOYW1lczsKICAgcmVhZG9ubHkgYXR0cmlidXRlIElEQlRyYW5zYWN0aW9uTW9kZSBtb2RlOwor
ICByZWFkb25seSBhdHRyaWJ1dGUgSURCVHJhbnNhY3Rpb25EdXJhYmlsaXR5IGR1cmFiaWxpdHk7
CiAgIFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgSURCRGF0YWJhc2UgZGI7CiAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBET01FeGNlcHRpb24/IGVycm9yOwogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvV2ViQ3J5
cHRvQVBJLmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aW50ZXJmYWNlcy9XZWJDcnlwdG9BUEkuaWRsCmluZGV4IGZlY2IzYjcyZDNhZmVhNzkxYTBmMDY0
OGJjZWZhNmRjMDE0ZmUzMzAuLmQ4MWE0M2JhMGY5MjM4OGZmZDg5ZjA4MDhlMzIzMTNjN2VhNThl
NTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaW50ZXJmYWNlcy9XZWJDcnlwdG9BUEkuaWRsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9XZWJDcnlwdG9BUEkuaWRsCkBAIC0x
LDcgKzEsNyBAQAogLy8gR0VORVJBVEVEIENPTlRFTlQgLSBETyBOT1QgRURJVAogLy8gQ29udGVu
dCB3YXMgYXV0b21hdGljYWxseSBleHRyYWN0ZWQgYnkgUmVmZnkgaW50byByZWZmeS1yZXBvcnRz
CiAvLyAoaHR0cHM6Ly9naXRodWIuY29tL3RpZG91c3QvcmVmZnktcmVwb3J0cykKLS8vIFNvdXJj
ZTogV2ViIENyeXB0b2dyYXBoeSBBUEkgKGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJjcnlwdG8v
T3ZlcnZpZXcuaHRtbCkKKy8vIFNvdXJjZTogV2ViIENyeXB0b2dyYXBoeSBBUEkgKGh0dHA6Ly93
M2MuZ2l0aHViLmlvL3dlYmNyeXB0by8pCiAKIHBhcnRpYWwgaW50ZXJmYWNlIG1peGluIFdpbmRv
d09yV29ya2VyR2xvYmFsU2NvcGUgewogICBbU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRl
IENyeXB0byBjcnlwdG87CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvYXBwbWFuaWZlc3QuaWRsIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2FwcG1hbmlmZXN0Lmlk
bAppbmRleCAzNWM0OTFhNWY3YmYwZTcxNGJlYzA5MTEyNzU1YzE3NGQ5NjY2M2Q0Li4yYWRjMzcw
MDEyNDIyZjUxNTE0ZGI5YTJlZTg3NjhmNTMyMDE5NzM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvYXBwbWFuaWZlc3Qu
aWRsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50
ZXJmYWNlcy9hcHBtYW5pZmVzdC5pZGwKQEAgLTMsMjYgKzMsNiBAQAogLy8gKGh0dHBzOi8vZ2l0
aHViLmNvbS90aWRvdXN0L3JlZmZ5LXJlcG9ydHMpCiAvLyBTb3VyY2U6IFdlYiBBcHAgTWFuaWZl
c3QgKGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9tYW5pZmVzdC8pCiAKLVtFeHBvc2VkPVdpbmRvd10K
LWludGVyZmFjZSBCZWZvcmVJbnN0YWxsUHJvbXB0RXZlbnQgOiBFdmVudCB7Ci0gIGNvbnN0cnVj
dG9yKERPTVN0cmluZyB0eXBlLCBvcHRpb25hbCBFdmVudEluaXQgZXZlbnRJbml0RGljdCA9IHt9
KTsKLSAgUHJvbWlzZTxQcm9tcHRSZXNwb25zZU9iamVjdD4gcHJvbXB0KCk7Ci19OwotCi1kaWN0
aW9uYXJ5IFByb21wdFJlc3BvbnNlT2JqZWN0IHsKLSAgQXBwQmFubmVyUHJvbXB0T3V0Y29tZSB1
c2VyQ2hvaWNlOwotfTsKLQotZW51bSBBcHBCYW5uZXJQcm9tcHRPdXRjb21lIHsKLSAgImFjY2Vw
dGVkIiwKLSAgImRpc21pc3NlZCIKLX07Ci0KLXBhcnRpYWwgaW50ZXJmYWNlIFdpbmRvdyB7Ci0g
IGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25hcHBpbnN0YWxsZWQ7Ci0gIGF0dHJpYnV0ZSBFdmVu
dEhhbmRsZXIgb25iZWZvcmVpbnN0YWxscHJvbXB0OwotfTsKLQogZGljdGlvbmFyeSBXZWJBcHBN
YW5pZmVzdCB7CiAgICBUZXh0RGlyZWN0aW9uVHlwZSBkaXIgPSAiYXV0byI7CiAgICBET01TdHJp
bmcgbGFuZzsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaW50ZXJmYWNlcy9iYWRnaW5nLmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9iYWRnaW5nLmlkbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4w
MTQ4MTgyMDkzNWEwODY3NWU0YmVmNzM0YWFkYTI3YjMxNTFlODE0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2Vz
L2JhZGdpbmcuaWRsCkBAIC0wLDAgKzEsMjEgQEAKKy8vIEdFTkVSQVRFRCBDT05URU5UIC0gRE8g
Tk9UIEVESVQKKy8vIENvbnRlbnQgd2FzIGF1dG9tYXRpY2FsbHkgZXh0cmFjdGVkIGJ5IFJlZmZ5
IGludG8gcmVmZnktcmVwb3J0cworLy8gKGh0dHBzOi8vZ2l0aHViLmNvbS90aWRvdXN0L3JlZmZ5
LXJlcG9ydHMpCisvLyBTb3VyY2U6IEJhZGdpbmcgQVBJIChodHRwczovL3czYy5naXRodWIuaW8v
YmFkZ2luZy8pCisKKy8vIE1ldGhvZHMgb25seSBleHBvc2VkIG9uIGRvY3VtZW50cy4KK1tTZWN1
cmVDb250ZXh0XQorcGFydGlhbCBpbnRlcmZhY2UgTmF2aWdhdG9yIHsKKyAgUHJvbWlzZTx2b2lk
PiBzZXRDbGllbnRCYWRnZShvcHRpb25hbCBbRW5mb3JjZVJhbmdlXSB1bnNpZ25lZCBsb25nIGxv
bmcgY29udGVudHMpOworICBQcm9taXNlPHZvaWQ+IGNsZWFyQ2xpZW50QmFkZ2UoKTsKK307CisK
Ky8vIE1ldGhvZHMgZXhwb3NlZCBvbiBib3RoIGRvY3VtZW50cyBhbmQgc2VydmljZSB3b3JrZXJz
LgorW1NlY3VyZUNvbnRleHRdCitpbnRlcmZhY2UgbWl4aW4gTmF2aWdhdG9yQmFkZ2UgeworICBQ
cm9taXNlPHZvaWQ+IHNldEFwcEJhZGdlKG9wdGlvbmFsIFtFbmZvcmNlUmFuZ2VdIHVuc2lnbmVk
IGxvbmcgbG9uZyBjb250ZW50cyk7CisgIFByb21pc2U8dm9pZD4gY2xlYXJBcHBCYWRnZSgpOwor
fTsKKworTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvckJhZGdlOworV29ya2VyTmF2aWdhdG9y
IGluY2x1ZGVzIE5hdmlnYXRvckJhZGdlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2NsaXBib2FyZC1hcGlzLmlkbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9j
bGlwYm9hcmQtYXBpcy5pZGwKaW5kZXggOWUzNTI4NzY5NmI5NGNiNGFhZDk5MjkyYmYxMWUzOThm
MWQ3MWYyYi4uYzk5MTEzMDU5ZWM3N2IyNjY5MTFmZTBjZTJjMmJmNTIwNDQ0ZmNkMCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZh
Y2VzL2NsaXBib2FyZC1hcGlzLmlkbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvY2xpcGJvYXJkLWFwaXMuaWRsCkBAIC03LDggKzcs
OSBAQCBkaWN0aW9uYXJ5IENsaXBib2FyZEV2ZW50SW5pdCA6IEV2ZW50SW5pdCB7CiAgIERhdGFU
cmFuc2Zlcj8gY2xpcGJvYXJkRGF0YSA9IG51bGw7CiB9OwogCi1bQ29uc3RydWN0b3IoRE9NU3Ry
aW5nIHR5cGUsIG9wdGlvbmFsIENsaXBib2FyZEV2ZW50SW5pdCBldmVudEluaXREaWN0ID0ge30p
LCBFeHBvc2VkPVdpbmRvd10KK1tFeHBvc2VkPVdpbmRvd10KIGludGVyZmFjZSBDbGlwYm9hcmRF
dmVudCA6IEV2ZW50IHsKKyAgY29uc3RydWN0b3IoRE9NU3RyaW5nIHR5cGUsIG9wdGlvbmFsIENs
aXBib2FyZEV2ZW50SW5pdCBldmVudEluaXREaWN0ID0ge30pOwogICByZWFkb25seSBhdHRyaWJ1
dGUgRGF0YVRyYW5zZmVyPyBjbGlwYm9hcmREYXRhOwogfTsKIApAQCAtMzAsOSArMzEsOSBAQCB0
eXBlZGVmIFByb21pc2U8Q2xpcGJvYXJkSXRlbURhdGFUeXBlPiBDbGlwYm9hcmRJdGVtRGF0YTsK
IAogY2FsbGJhY2sgQ2xpcGJvYXJkSXRlbURlbGF5ZWRDYWxsYmFjayA9IENsaXBib2FyZEl0ZW1E
YXRhICgpOwogCi1bQ29uc3RydWN0b3IocmVjb3JkPERPTVN0cmluZywgQ2xpcGJvYXJkSXRlbURh
dGE+IGl0ZW1zLAotICAgIG9wdGlvbmFsIENsaXBib2FyZEl0ZW1PcHRpb25zIG9wdGlvbnMgPSB7
fSksCi0gRXhwb3NlZD1XaW5kb3ddIGludGVyZmFjZSBDbGlwYm9hcmRJdGVtIHsKK1tFeHBvc2Vk
PVdpbmRvd10gaW50ZXJmYWNlIENsaXBib2FyZEl0ZW0geworICBjb25zdHJ1Y3RvcihyZWNvcmQ8
RE9NU3RyaW5nLCBDbGlwYm9hcmRJdGVtRGF0YT4gaXRlbXMsCisgICAgb3B0aW9uYWwgQ2xpcGJv
YXJkSXRlbU9wdGlvbnMgb3B0aW9ucyA9IHt9KTsKICAgc3RhdGljIENsaXBib2FyZEl0ZW0gY3Jl
YXRlRGVsYXllZCgKICAgICAgIHJlY29yZDxET01TdHJpbmcsIENsaXBib2FyZEl0ZW1EZWxheWVk
Q2FsbGJhY2s+IGl0ZW1zLAogICAgICAgb3B0aW9uYWwgQ2xpcGJvYXJkSXRlbU9wdGlvbnMgb3B0
aW9ucyA9IHt9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9jb25zdHJ1Y3Qtc3R5bGVzaGVldHMuaWRsIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2NvbnN0cnVj
dC1zdHlsZXNoZWV0cy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzUxMjE4NjZmNjZlYWE4YjY2NjM0ODBkMWE0
Y2I3MmMxY2Y4ZmQxZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9jb25zdHJ1Y3Qtc3R5bGVzaGVldHMuaWRs
CkBAIC0wLDAgKzEsMjEgQEAKKy8vIEdFTkVSQVRFRCBDT05URU5UIC0gRE8gTk9UIEVESVQKKy8v
IENvbnRlbnQgd2FzIGF1dG9tYXRpY2FsbHkgZXh0cmFjdGVkIGJ5IFJlZmZ5IGludG8gcmVmZnkt
cmVwb3J0cworLy8gKGh0dHBzOi8vZ2l0aHViLmNvbS90aWRvdXN0L3JlZmZ5LXJlcG9ydHMpCisv
LyBTb3VyY2U6IENvbnN0cnVjdGFibGUgU3R5bGVzaGVldCBPYmplY3RzIChodHRwczovL3dpY2cu
Z2l0aHViLmlvL2NvbnN0cnVjdC1zdHlsZXNoZWV0cy8pCisKK3BhcnRpYWwgaW50ZXJmYWNlIENT
U1N0eWxlU2hlZXQgeworICBjb25zdHJ1Y3RvcihvcHRpb25hbCBDU1NTdHlsZVNoZWV0SW5pdCBv
cHRpb25zID0ge30pOworICBQcm9taXNlPENTU1N0eWxlU2hlZXQ+IHJlcGxhY2UoVVNWU3RyaW5n
IHRleHQpOworICB2b2lkIHJlcGxhY2VTeW5jKFVTVlN0cmluZyB0ZXh0KTsKK307CisKK2RpY3Rp
b25hcnkgQ1NTU3R5bGVTaGVldEluaXQgeworICAoTWVkaWFMaXN0IG9yIERPTVN0cmluZykgbWVk
aWEgPSAiIjsKKyAgRE9NU3RyaW5nIHRpdGxlID0gIiI7CisgIGJvb2xlYW4gYWx0ZXJuYXRlID0g
ZmFsc2U7CisgIGJvb2xlYW4gZGlzYWJsZWQgPSBmYWxzZTsKK307CisKK3BhcnRpYWwgaW50ZXJm
YWNlIG1peGluIERvY3VtZW50T3JTaGFkb3dSb290IHsKKyAgYXR0cmlidXRlIEZyb3plbkFycmF5
PENTU1N0eWxlU2hlZXQ+IGFkb3B0ZWRTdHlsZVNoZWV0czsKK307CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvY29va2ll
LXN0b3JlLmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aW50ZXJmYWNlcy9jb29raWUtc3RvcmUuaWRsCmluZGV4IDNlMWE5MGFiNjNmNWZjNGFmYTM2ZGI4
ZGRhOWZhMTE3NDIzNmUyNmIuLmIzMmNmNmI5ZDhkOGVkMDA1YTI0MjkzNzk2YTRhYWY1ZjgyNGFk
MDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaW50ZXJmYWNlcy9jb29raWUtc3RvcmUuaWRsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9jb29raWUtc3RvcmUuaWRsCkBAIC0x
OSwxMiArMTksNiBAQCBpbnRlcmZhY2UgQ29va2llU3RvcmUgOiBFdmVudFRhcmdldCB7CiAgIFBy
b21pc2U8dm9pZD4gZGVsZXRlKFVTVlN0cmluZyBuYW1lKTsKICAgUHJvbWlzZTx2b2lkPiBkZWxl
dGUoQ29va2llU3RvcmVEZWxldGVPcHRpb25zIG9wdGlvbnMpOwogCi0gIFtFeHBvc2VkPVNlcnZp
Y2VXb3JrZXJdCi0gIFByb21pc2U8dm9pZD4gc3Vic2NyaWJlVG9DaGFuZ2VzKHNlcXVlbmNlPENv
b2tpZVN0b3JlR2V0T3B0aW9ucz4gc3Vic2NyaXB0aW9ucyk7Ci0KLSAgW0V4cG9zZWQ9U2Vydmlj
ZVdvcmtlcl0KLSAgUHJvbWlzZTxzZXF1ZW5jZTxDb29raWVTdG9yZUdldE9wdGlvbnM+PiBnZXRD
aGFuZ2VTdWJzY3JpcHRpb25zKCk7Ci0KICAgW0V4cG9zZWQ9V2luZG93XQogICBhdHRyaWJ1dGUg
RXZlbnRIYW5kbGVyIG9uY2hhbmdlOwogfTsKQEAgLTUwLDcgKzQ0LDYgQEAgZGljdGlvbmFyeSBD
b29raWVTdG9yZVNldE9wdGlvbnMgewogICBET01UaW1lU3RhbXA/IGV4cGlyZXMgPSBudWxsOwog
ICBVU1ZTdHJpbmc/IGRvbWFpbiA9IG51bGw7CiAgIFVTVlN0cmluZyBwYXRoID0gIi8iOwotICBi
b29sZWFuIHNlY3VyZSA9IHRydWU7CiAgIENvb2tpZVNhbWVTaXRlIHNhbWVTaXRlID0gInN0cmlj
dCI7CiB9OwogCkBAIC03Nyw2ICs3MCwxOSBAQCBkaWN0aW9uYXJ5IENvb2tpZUxpc3RJdGVtIHsK
IAogdHlwZWRlZiBzZXF1ZW5jZTxDb29raWVMaXN0SXRlbT4gQ29va2llTGlzdDsKIAorW0V4cG9z
ZWQ9KFNlcnZpY2VXb3JrZXIsV2luZG93KSwKKyBTZWN1cmVDb250ZXh0XQoraW50ZXJmYWNlIENv
b2tpZVN0b3JlTWFuYWdlciB7CisgIFByb21pc2U8dm9pZD4gc3Vic2NyaWJlKHNlcXVlbmNlPENv
b2tpZVN0b3JlR2V0T3B0aW9ucz4gc3Vic2NyaXB0aW9ucyk7CisgIFByb21pc2U8c2VxdWVuY2U8
Q29va2llU3RvcmVHZXRPcHRpb25zPj4gZ2V0U3Vic2NyaXB0aW9ucygpOworICBQcm9taXNlPHZv
aWQ+IHVuc3Vic2NyaWJlKHNlcXVlbmNlPENvb2tpZVN0b3JlR2V0T3B0aW9ucz4gc3Vic2NyaXB0
aW9ucyk7Cit9OworCitbRXhwb3NlZD0oU2VydmljZVdvcmtlcixXaW5kb3cpXQorcGFydGlhbCBp
bnRlcmZhY2UgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiB7CisgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBDb29raWVTdG9yZU1hbmFnZXIgY29va2llczsKK307CisKIFtFeHBvc2VkPVdpbmRvdywKICBT
ZWN1cmVDb250ZXh0XQogaW50ZXJmYWNlIENvb2tpZUNoYW5nZUV2ZW50IDogRXZlbnQgewpAQCAt
OTAsOCArOTYsOCBAQCBkaWN0aW9uYXJ5IENvb2tpZUNoYW5nZUV2ZW50SW5pdCA6IEV2ZW50SW5p
dCB7CiAgIENvb2tpZUxpc3QgZGVsZXRlZDsKIH07CiAKLVtFeHBvc2VkPVNlcnZpY2VXb3JrZXIK
LV0gaW50ZXJmYWNlIEV4dGVuZGFibGVDb29raWVDaGFuZ2VFdmVudCA6IEV4dGVuZGFibGVFdmVu
dCB7CitbRXhwb3NlZD1TZXJ2aWNlV29ya2VyXQoraW50ZXJmYWNlIEV4dGVuZGFibGVDb29raWVD
aGFuZ2VFdmVudCA6IEV4dGVuZGFibGVFdmVudCB7CiAgIGNvbnN0cnVjdG9yKERPTVN0cmluZyB0
eXBlLCBvcHRpb25hbCBFeHRlbmRhYmxlQ29va2llQ2hhbmdlRXZlbnRJbml0IGV2ZW50SW5pdERp
Y3QgPSB7fSk7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBDb29raWVMaXN0IGNoYW5nZWQ7CiAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBDb29raWVMaXN0IGRlbGV0ZWQ7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvY3NzLWZvbnQt
bG9hZGluZy5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ludGVyZmFjZXMvY3NzLWZvbnQtbG9hZGluZy5pZGwKaW5kZXggMmJiYzM1YTI1OTEyMjU2ZmIx
ZDU2YWRhMzM3MmQzNWU1OWNhNjllNS4uOTM2ZGVkNzg4YmNiYmYzOGI3MWJlNWQ1OGU4ODYwNTky
NDViNmI4OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9pbnRlcmZhY2VzL2Nzcy1mb250LWxvYWRpbmcuaWRsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9jc3MtZm9udC1sb2Fk
aW5nLmlkbApAQCAtMTgsMTAgKzE4LDEwIEBAIGRpY3Rpb25hcnkgRm9udEZhY2VEZXNjcmlwdG9y
cyB7CiAKIGVudW0gRm9udEZhY2VMb2FkU3RhdHVzIHsgInVubG9hZGVkIiwgImxvYWRpbmciLCAi
bG9hZGVkIiwgImVycm9yIiB9OwogCi1bQ29uc3RydWN0b3IoQ1NTT01TdHJpbmcgZmFtaWx5LCAo
Q1NTT01TdHJpbmcgb3IgQmluYXJ5RGF0YSkgc291cmNlLAotICAgICAgICAgICAgIG9wdGlvbmFs
IEZvbnRGYWNlRGVzY3JpcHRvcnMgZGVzY3JpcHRvcnMpLAotIEV4cG9zZWQ9KFdpbmRvdyxXb3Jr
ZXIpXQorW0V4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpXQogaW50ZXJmYWNlIEZvbnRGYWNlIHsKKyAg
Y29uc3RydWN0b3IoQ1NTT01TdHJpbmcgZmFtaWx5LCAoQ1NTT01TdHJpbmcgb3IgQmluYXJ5RGF0
YSkgc291cmNlLAorICAgICAgICAgICAgICAgIG9wdGlvbmFsIEZvbnRGYWNlRGVzY3JpcHRvcnMg
ZGVzY3JpcHRvcnMgPSB7fSk7CiAgIGF0dHJpYnV0ZSBDU1NPTVN0cmluZyBmYW1pbHk7CiAgIGF0
dHJpYnV0ZSBDU1NPTVN0cmluZyBzdHlsZTsKICAgYXR0cmlidXRlIENTU09NU3RyaW5nIHdlaWdo
dDsKQEAgLTQyLDkgKzQyLDkgQEAgZGljdGlvbmFyeSBGb250RmFjZVNldExvYWRFdmVudEluaXQg
OiBFdmVudEluaXQgewogICBzZXF1ZW5jZTxGb250RmFjZT4gZm9udGZhY2VzID0gW107CiB9Owog
Ci1bQ29uc3RydWN0b3IoQ1NTT01TdHJpbmcgdHlwZSwgb3B0aW9uYWwgRm9udEZhY2VTZXRMb2Fk
RXZlbnRJbml0IGV2ZW50SW5pdERpY3QpLAotIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpXQorW0V4
cG9zZWQ9KFdpbmRvdyxXb3JrZXIpXQogaW50ZXJmYWNlIEZvbnRGYWNlU2V0TG9hZEV2ZW50IDog
RXZlbnQgeworICBjb25zdHJ1Y3RvcihDU1NPTVN0cmluZyB0eXBlLCBvcHRpb25hbCBGb250RmFj
ZVNldExvYWRFdmVudEluaXQgZXZlbnRJbml0RGljdCA9IHt9KTsKICAgW1NhbWVPYmplY3RdIHJl
YWRvbmx5IGF0dHJpYnV0ZSBGcm96ZW5BcnJheTxGb250RmFjZT4gZm9udGZhY2VzOwogfTsKIApA
QCAtNTIsOSArNTIsMTAgQEAgZW51bSBGb250RmFjZVNldExvYWRTdGF0dXMgeyAibG9hZGluZyIs
ICJsb2FkZWQiIH07CiAKIGNhbGxiYWNrIEZvckVhY2hDYWxsYmFjayA9IHZvaWQgKEZvbnRGYWNl
IGZvbnQsIGxvbmcgaW5kZXgsIEZvbnRGYWNlU2V0IHNlbGYpOwogCi1bRXhwb3NlZD0oV2luZG93
LFdvcmtlciksCi0gQ29uc3RydWN0b3Ioc2VxdWVuY2U8Rm9udEZhY2U+IGluaXRpYWxGYWNlcyld
CitbRXhwb3NlZD0oV2luZG93LFdvcmtlcildCiBpbnRlcmZhY2UgRm9udEZhY2VTZXQgOiBFdmVu
dFRhcmdldCB7CisgIGNvbnN0cnVjdG9yKHNlcXVlbmNlPEZvbnRGYWNlPiBpbml0aWFsRmFjZXMp
OworCiAgIC8vIEZvbnRGYWNlU2V0IGlzIFNldC1saWtlIQogICBzZXRsaWtlPEZvbnRGYWNlPjsK
ICAgRm9udEZhY2VTZXQgYWRkKEZvbnRGYWNlIGZvbnQpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2Nzcy1yZWdpb25z
LmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJm
YWNlcy9jc3MtcmVnaW9ucy5pZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY3Y2Yz
ZDMxYTExNGE2NTM3MzQ5OTBlZjA4MWFjMTA5NDc4ZGZjZDguLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2Nzcy1yZWdpb25zLmlkbAorKysgL2Rldi9udWxsCkBA
IC0xLDMzICswLDAgQEAKLS8vIEdFTkVSQVRFRCBDT05URU5UIC0gRE8gTk9UIEVESVQKLS8vIENv
bnRlbnQgd2FzIGF1dG9tYXRpY2FsbHkgZXh0cmFjdGVkIGJ5IFJlZmZ5IGludG8gcmVmZnktcmVw
b3J0cwotLy8gKGh0dHBzOi8vZ2l0aHViLmNvbS90aWRvdXN0L3JlZmZ5LXJlcG9ydHMpCi0vLyBT
b3VyY2U6IENTUyBSZWdpb25zIE1vZHVsZSBMZXZlbCAxIChodHRwczovL2RyYWZ0cy5jc3N3Zy5v
cmcvY3NzLXJlZ2lvbnMvKQotCi1wYXJ0aWFsIGludGVyZmFjZSBEb2N1bWVudCB7Ci0gIHJlYWRv
bmx5IGF0dHJpYnV0ZSBOYW1lZEZsb3dNYXAgbmFtZWRGbG93czsKLX07Ci0KLVtFeHBvc2VkPVdp
bmRvdywKLSBNYXBDbGFzcz0oQ1NTT01TdHJpbmcsIE5hbWVkRmxvdyldIGludGVyZmFjZSBOYW1l
ZEZsb3dNYXAgewotICBOYW1lZEZsb3c/IGdldChDU1NPTVN0cmluZyBmbG93TmFtZSk7Ci0gIGJv
b2xlYW4gaGFzKENTU09NU3RyaW5nIGZsb3dOYW1lKTsKLSAgTmFtZWRGbG93TWFwIHNldChDU1NP
TVN0cmluZyBmbG93TmFtZSwgTmFtZWRGbG93IGZsb3dWYWx1ZSk7Ci0gIGJvb2xlYW4gZGVsZXRl
KENTU09NU3RyaW5nIGZsb3dOYW1lKTsKLX07Ci0KLVtFeHBvc2VkPVdpbmRvd10KLWludGVyZmFj
ZSBOYW1lZEZsb3cgOiBFdmVudFRhcmdldCB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBDU1NPTVN0
cmluZyBuYW1lOwotICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBvdmVyc2V0OwotICBzZXF1
ZW5jZTxSZWdpb24+IGdldFJlZ2lvbnMoKTsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHNob3J0IGZp
cnN0RW1wdHlSZWdpb25JbmRleDsKLSAgc2VxdWVuY2U8Tm9kZT4gZ2V0Q29udGVudCgpOwotICBz
ZXF1ZW5jZTxSZWdpb24+IGdldFJlZ2lvbnNCeUNvbnRlbnQoTm9kZSBub2RlKTsKLX07Ci0KLWlu
dGVyZmFjZSBtaXhpbiBSZWdpb24gewotICByZWFkb25seSBhdHRyaWJ1dGUgQ1NTT01TdHJpbmcg
cmVnaW9uT3ZlcnNldDsKLSAgc2VxdWVuY2U8UmFuZ2U+PyBnZXRSZWdpb25GbG93UmFuZ2VzKCk7
Ci19OwotCi1FbGVtZW50IGluY2x1ZGVzIFJlZ2lvbjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9jc3Mtc2hhZG93LXBh
cnRzLmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50
ZXJmYWNlcy9jc3Mtc2hhZG93LXBhcnRzLmlkbAppbmRleCA2NmFhZWJhNzNhN2E2MjI4MDE3MWVh
MTc2NTkxNTk5MWI5ZGExYmEzLi5jNDcwZThlN2RjOGE3MWYwNzg3MGFmZGM3ODk4OWI0NzdhZmE4
NzRiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ludGVyZmFjZXMvY3NzLXNoYWRvdy1wYXJ0cy5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2Nzcy1zaGFkb3ctcGFydHMu
aWRsCkBAIC0xLDcgKzEsNyBAQAogLy8gR0VORVJBVEVEIENPTlRFTlQgLSBETyBOT1QgRURJVAog
Ly8gQ29udGVudCB3YXMgYXV0b21hdGljYWxseSBleHRyYWN0ZWQgYnkgUmVmZnkgaW50byByZWZm
eS1yZXBvcnRzCiAvLyAoaHR0cHM6Ly9naXRodWIuY29tL3RpZG91c3QvcmVmZnktcmVwb3J0cykK
LS8vIFNvdXJjZTogQ1NTIFNoYWRvdyBQYXJ0cyAoaHR0cDovL2RyYWZ0cy5jc3N3Zy5vcmcvY3Nz
LXNoYWRvdy1wYXJ0cy8pCisvLyBTb3VyY2U6IENTUyBTaGFkb3cgUGFydHMgKGh0dHBzOi8vZHJh
ZnRzLmNzc3dnLm9yZy9jc3Mtc2hhZG93LXBhcnRzLykKIAogcGFydGlhbCBpbnRlcmZhY2UgRWxl
bWVudCB7CiAgIFtTYW1lT2JqZWN0LCBQdXRGb3J3YXJkcz12YWx1ZV0gcmVhZG9ubHkgYXR0cmli
dXRlIERPTVRva2VuTGlzdCBwYXJ0OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2Nzcy10eXBlZC1vbS5pZGwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvY3NzLXR5
cGVkLW9tLmlkbAppbmRleCBkZjk2NjllNTYzN2YxOGRlODk3OTJmYWNiYThmYWJlMjM0ZDY1OGY4
Li4wMGQzZjQ5YmZlNjUzY2U0NzgyZTEzZTZjMGQ0NmM2NTc4Mzg3NGNjIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvY3Nz
LXR5cGVkLW9tLmlkbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ludGVyZmFjZXMvY3NzLXR5cGVkLW9tLmlkbApAQCAtNDEsOSArNDEsOSBAQCBwYXJ0
aWFsIGludGVyZmFjZSBtaXhpbiBFbGVtZW50Q1NTSW5saW5lU3R5bGUgewogICAgIFtTYW1lT2Jq
ZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgU3R5bGVQcm9wZXJ0eU1hcCBhdHRyaWJ1dGVTdHlsZU1h
cDsKIH07CiAKLVtFeHBvc2VkPShXaW5kb3csIFdvcmtlciwgUGFpbnRXb3JrbGV0LCBMYXlvdXRX
b3JrbGV0KSwKLSBDb25zdHJ1Y3RvcihzZXF1ZW5jZTxDU1NVbnBhcnNlZFNlZ21lbnQ+IG1lbWJl
cnMpXQorW0V4cG9zZWQ9KFdpbmRvdywgV29ya2VyLCBQYWludFdvcmtsZXQsIExheW91dFdvcmts
ZXQpXQogaW50ZXJmYWNlIENTU1VucGFyc2VkVmFsdWUgOiBDU1NTdHlsZVZhbHVlIHsKKyAgICBj
b25zdHJ1Y3RvcihzZXF1ZW5jZTxDU1NVbnBhcnNlZFNlZ21lbnQ+IG1lbWJlcnMpOwogICAgIGl0
ZXJhYmxlPENTU1VucGFyc2VkU2VnbWVudD47CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2ln
bmVkIGxvbmcgbGVuZ3RoOwogICAgIGdldHRlciBDU1NVbnBhcnNlZFNlZ21lbnQgKHVuc2lnbmVk
IGxvbmcgaW5kZXgpOwpAQCAtNTIsMTYgKzUyLDE2IEBAIGludGVyZmFjZSBDU1NVbnBhcnNlZFZh
bHVlIDogQ1NTU3R5bGVWYWx1ZSB7CiAKIHR5cGVkZWYgKFVTVlN0cmluZyBvciBDU1NWYXJpYWJs
ZVJlZmVyZW5jZVZhbHVlKSBDU1NVbnBhcnNlZFNlZ21lbnQ7CiAKLVtFeHBvc2VkPShXaW5kb3cs
IFdvcmtlciwgUGFpbnRXb3JrbGV0LCBMYXlvdXRXb3JrbGV0KSwKLSBDb25zdHJ1Y3RvcihVU1ZT
dHJpbmcgdmFyaWFibGUsIG9wdGlvbmFsIENTU1VucGFyc2VkVmFsdWU/IGZhbGxiYWNrID0gbnVs
bCldCitbRXhwb3NlZD0oV2luZG93LCBXb3JrZXIsIFBhaW50V29ya2xldCwgTGF5b3V0V29ya2xl
dCldCiBpbnRlcmZhY2UgQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZSB7CisgICAgY29uc3RydWN0
b3IoVVNWU3RyaW5nIHZhcmlhYmxlLCBvcHRpb25hbCBDU1NVbnBhcnNlZFZhbHVlPyBmYWxsYmFj
ayA9IG51bGwpOwogICAgIGF0dHJpYnV0ZSBVU1ZTdHJpbmcgdmFyaWFibGU7CiAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIENTU1VucGFyc2VkVmFsdWU/IGZhbGxiYWNrOwogfTsKIAotW0V4cG9zZWQ9
KFdpbmRvdywgV29ya2VyLCBQYWludFdvcmtsZXQsIExheW91dFdvcmtsZXQpLAotIENvbnN0cnVj
dG9yKFVTVlN0cmluZyB2YWx1ZSldCitbRXhwb3NlZD0oV2luZG93LCBXb3JrZXIsIFBhaW50V29y
a2xldCwgTGF5b3V0V29ya2xldCldCiBpbnRlcmZhY2UgQ1NTS2V5d29yZFZhbHVlIDogQ1NTU3R5
bGVWYWx1ZSB7CisgICAgY29uc3RydWN0b3IoVVNWU3RyaW5nIHZhbHVlKTsKICAgICBhdHRyaWJ1
dGUgVVNWU3RyaW5nIHZhbHVlOwogfTsKIApAQCAtMTA4LDkgKzEwOCw5IEBAIGludGVyZmFjZSBD
U1NOdW1lcmljVmFsdWUgOiBDU1NTdHlsZVZhbHVlIHsKICAgICBbRXhwb3NlZD1XaW5kb3ddIHN0
YXRpYyBDU1NOdW1lcmljVmFsdWUgcGFyc2UoVVNWU3RyaW5nIGNzc1RleHQpOwogfTsKIAotW0V4
cG9zZWQ9KFdpbmRvdywgV29ya2VyLCBQYWludFdvcmtsZXQsIExheW91dFdvcmtsZXQpLAotIENv
bnN0cnVjdG9yKGRvdWJsZSB2YWx1ZSwgVVNWU3RyaW5nIHVuaXQpXQorW0V4cG9zZWQ9KFdpbmRv
dywgV29ya2VyLCBQYWludFdvcmtsZXQsIExheW91dFdvcmtsZXQpXQogaW50ZXJmYWNlIENTU1Vu
aXRWYWx1ZSA6IENTU051bWVyaWNWYWx1ZSB7CisgICAgY29uc3RydWN0b3IoZG91YmxlIHZhbHVl
LCBVU1ZTdHJpbmcgdW5pdCk7CiAgICAgYXR0cmlidXRlIGRvdWJsZSB2YWx1ZTsKICAgICByZWFk
b25seSBhdHRyaWJ1dGUgVVNWU3RyaW5nIHVuaXQ7CiB9OwpAQCAtMTIwLDQ1ICsxMjAsNDUgQEAg
aW50ZXJmYWNlIENTU01hdGhWYWx1ZSA6IENTU051bWVyaWNWYWx1ZSB7CiAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIENTU01hdGhPcGVyYXRvciBvcGVyYXRvcjsKIH07CiAKLVtFeHBvc2VkPShXaW5k
b3csIFdvcmtlciwgUGFpbnRXb3JrbGV0LCBMYXlvdXRXb3JrbGV0KSwKLSBDb25zdHJ1Y3RvcihD
U1NOdW1iZXJpc2guLi4gYXJncyldCitbRXhwb3NlZD0oV2luZG93LCBXb3JrZXIsIFBhaW50V29y
a2xldCwgTGF5b3V0V29ya2xldCldCiBpbnRlcmZhY2UgQ1NTTWF0aFN1bSA6IENTU01hdGhWYWx1
ZSB7CisgICAgY29uc3RydWN0b3IoQ1NTTnVtYmVyaXNoLi4uIGFyZ3MpOwogICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBDU1NOdW1lcmljQXJyYXkgdmFsdWVzOwogfTsKIAotW0V4cG9zZWQ9KFdpbmRv
dywgV29ya2VyLCBQYWludFdvcmtsZXQsIExheW91dFdvcmtsZXQpLAotIENvbnN0cnVjdG9yKENT
U051bWJlcmlzaC4uLiBhcmdzKV0KK1tFeHBvc2VkPShXaW5kb3csIFdvcmtlciwgUGFpbnRXb3Jr
bGV0LCBMYXlvdXRXb3JrbGV0KV0KIGludGVyZmFjZSBDU1NNYXRoUHJvZHVjdCA6IENTU01hdGhW
YWx1ZSB7CisgICAgY29uc3RydWN0b3IoQ1NTTnVtYmVyaXNoLi4uIGFyZ3MpOwogICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBDU1NOdW1lcmljQXJyYXkgdmFsdWVzOwogfTsKIAotW0V4cG9zZWQ9KFdp
bmRvdywgV29ya2VyLCBQYWludFdvcmtsZXQsIExheW91dFdvcmtsZXQpLAotIENvbnN0cnVjdG9y
KENTU051bWJlcmlzaCBhcmcpXQorW0V4cG9zZWQ9KFdpbmRvdywgV29ya2VyLCBQYWludFdvcmts
ZXQsIExheW91dFdvcmtsZXQpXQogaW50ZXJmYWNlIENTU01hdGhOZWdhdGUgOiBDU1NNYXRoVmFs
dWUgeworICAgIGNvbnN0cnVjdG9yKENTU051bWJlcmlzaCBhcmcpOwogICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBDU1NOdW1lcmljVmFsdWUgdmFsdWU7CiB9OwogCi1bRXhwb3NlZD0oV2luZG93LCBX
b3JrZXIsIFBhaW50V29ya2xldCwgTGF5b3V0V29ya2xldCksCi0gQ29uc3RydWN0b3IoQ1NTTnVt
YmVyaXNoIGFyZyldCitbRXhwb3NlZD0oV2luZG93LCBXb3JrZXIsIFBhaW50V29ya2xldCwgTGF5
b3V0V29ya2xldCldCiBpbnRlcmZhY2UgQ1NTTWF0aEludmVydCA6IENTU01hdGhWYWx1ZSB7Cisg
ICAgY29uc3RydWN0b3IoQ1NTTnVtYmVyaXNoIGFyZyk7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IENTU051bWVyaWNWYWx1ZSB2YWx1ZTsKIH07CiAKLVtFeHBvc2VkPShXaW5kb3csIFdvcmtlciwg
UGFpbnRXb3JrbGV0LCBMYXlvdXRXb3JrbGV0KSwKLSBDb25zdHJ1Y3RvcihDU1NOdW1iZXJpc2gu
Li4gYXJncyldCitbRXhwb3NlZD0oV2luZG93LCBXb3JrZXIsIFBhaW50V29ya2xldCwgTGF5b3V0
V29ya2xldCldCiBpbnRlcmZhY2UgQ1NTTWF0aE1pbiA6IENTU01hdGhWYWx1ZSB7CisgICAgY29u
c3RydWN0b3IoQ1NTTnVtYmVyaXNoLi4uIGFyZ3MpOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBD
U1NOdW1lcmljQXJyYXkgdmFsdWVzOwogfTsKIAotW0V4cG9zZWQ9KFdpbmRvdywgV29ya2VyLCBQ
YWludFdvcmtsZXQsIExheW91dFdvcmtsZXQpLAotIENvbnN0cnVjdG9yKENTU051bWJlcmlzaC4u
LiBhcmdzKV0KK1tFeHBvc2VkPShXaW5kb3csIFdvcmtlciwgUGFpbnRXb3JrbGV0LCBMYXlvdXRX
b3JrbGV0KV0KIGludGVyZmFjZSBDU1NNYXRoTWF4IDogQ1NTTWF0aFZhbHVlIHsKKyAgICBjb25z
dHJ1Y3RvcihDU1NOdW1iZXJpc2guLi4gYXJncyk7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIENT
U051bWVyaWNBcnJheSB2YWx1ZXM7CiB9OwogCi1bRXhwb3NlZD0oV2luZG93LCBXb3JrZXIsIFBh
aW50V29ya2xldCwgTGF5b3V0V29ya2xldCksCi0gQ29uc3RydWN0b3IoQ1NTTnVtYmVyaXNoIG1p
biwgQ1NTTnVtYmVyaXNoIHZhbCwgQ1NTTnVtYmVyaXNoIG1heCldCitbRXhwb3NlZD0oV2luZG93
LCBXb3JrZXIsIFBhaW50V29ya2xldCwgTGF5b3V0V29ya2xldCldCiBpbnRlcmZhY2UgQ1NTTWF0
aENsYW1wIDogQ1NTTWF0aFZhbHVlIHsKKyAgICBjb25zdHJ1Y3RvcihDU1NOdW1iZXJpc2ggbWlu
LCBDU1NOdW1iZXJpc2ggdmFsLCBDU1NOdW1iZXJpc2ggbWF4KTsKICAgICByZWFkb25seSBhdHRy
aWJ1dGUgQ1NTTnVtZXJpY1ZhbHVlIG1pbjsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgQ1NTTnVt
ZXJpY1ZhbHVlIHZhbDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgQ1NTTnVtZXJpY1ZhbHVlIG1h
eDsKQEAgLTIzMCw5ICsyMzAsOSBAQCBwYXJ0aWFsIG5hbWVzcGFjZSBDU1MgewogICAgIENTU1Vu
aXRWYWx1ZSBmcihkb3VibGUgdmFsdWUpOwogfTsKIAotW0V4cG9zZWQ9KFdpbmRvdywgV29ya2Vy
LCBQYWludFdvcmtsZXQsIExheW91dFdvcmtsZXQpLAotIENvbnN0cnVjdG9yKHNlcXVlbmNlPENT
U1RyYW5zZm9ybUNvbXBvbmVudD4gdHJhbnNmb3JtcyldCitbRXhwb3NlZD0oV2luZG93LCBXb3Jr
ZXIsIFBhaW50V29ya2xldCwgTGF5b3V0V29ya2xldCldCiBpbnRlcmZhY2UgQ1NTVHJhbnNmb3Jt
VmFsdWUgOiBDU1NTdHlsZVZhbHVlIHsKKyAgICBjb25zdHJ1Y3RvcihzZXF1ZW5jZTxDU1NUcmFu
c2Zvcm1Db21wb25lbnQ+IHRyYW5zZm9ybXMpOwogICAgIGl0ZXJhYmxlPENTU1RyYW5zZm9ybUNv
bXBvbmVudD47CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOwog
ICAgIGdldHRlciBDU1NUcmFuc2Zvcm1Db21wb25lbnQgKHVuc2lnbmVkIGxvbmcgaW5kZXgpOwpA
QCAtMjQ5LDYzICsyNDksNjMgQEAgaW50ZXJmYWNlIENTU1RyYW5zZm9ybUNvbXBvbmVudCB7CiAg
ICAgRE9NTWF0cml4IHRvTWF0cml4KCk7CiB9OwogCi1bRXhwb3NlZD0oV2luZG93LCBXb3JrZXIs
IFBhaW50V29ya2xldCwgTGF5b3V0V29ya2xldCksCi0gQ29uc3RydWN0b3IoQ1NTTnVtZXJpY1Zh
bHVlIHgsIENTU051bWVyaWNWYWx1ZSB5LCBvcHRpb25hbCBDU1NOdW1lcmljVmFsdWUgeildCitb
RXhwb3NlZD0oV2luZG93LCBXb3JrZXIsIFBhaW50V29ya2xldCwgTGF5b3V0V29ya2xldCldCiBp
bnRlcmZhY2UgQ1NTVHJhbnNsYXRlIDogQ1NTVHJhbnNmb3JtQ29tcG9uZW50IHsKKyAgICBjb25z
dHJ1Y3RvcihDU1NOdW1lcmljVmFsdWUgeCwgQ1NTTnVtZXJpY1ZhbHVlIHksIG9wdGlvbmFsIENT
U051bWVyaWNWYWx1ZSB6KTsKICAgICBhdHRyaWJ1dGUgQ1NTTnVtZXJpY1ZhbHVlIHg7CiAgICAg
YXR0cmlidXRlIENTU051bWVyaWNWYWx1ZSB5OwogICAgIGF0dHJpYnV0ZSBDU1NOdW1lcmljVmFs
dWUgejsKIH07CiAKLVtFeHBvc2VkPShXaW5kb3csIFdvcmtlciwgUGFpbnRXb3JrbGV0LCBMYXlv
dXRXb3JrbGV0KSwKLSBDb25zdHJ1Y3RvcihDU1NOdW1lcmljVmFsdWUgYW5nbGUpLAotIENvbnN0
cnVjdG9yKENTU051bWJlcmlzaCB4LCBDU1NOdW1iZXJpc2ggeSwgQ1NTTnVtYmVyaXNoIHosIENT
U051bWVyaWNWYWx1ZSBhbmdsZSldCitbRXhwb3NlZD0oV2luZG93LCBXb3JrZXIsIFBhaW50V29y
a2xldCwgTGF5b3V0V29ya2xldCldCiBpbnRlcmZhY2UgQ1NTUm90YXRlIDogQ1NTVHJhbnNmb3Jt
Q29tcG9uZW50IHsKKyAgICBjb25zdHJ1Y3RvcihDU1NOdW1lcmljVmFsdWUgYW5nbGUpOworICAg
IGNvbnN0cnVjdG9yKENTU051bWJlcmlzaCB4LCBDU1NOdW1iZXJpc2ggeSwgQ1NTTnVtYmVyaXNo
IHosIENTU051bWVyaWNWYWx1ZSBhbmdsZSk7CiAgICAgYXR0cmlidXRlIENTU051bWJlcmlzaCB4
OwogICAgIGF0dHJpYnV0ZSBDU1NOdW1iZXJpc2ggeTsKICAgICBhdHRyaWJ1dGUgQ1NTTnVtYmVy
aXNoIHo7CiAgICAgYXR0cmlidXRlIENTU051bWVyaWNWYWx1ZSBhbmdsZTsKIH07CiAKLVtFeHBv
c2VkPShXaW5kb3csIFdvcmtlciwgUGFpbnRXb3JrbGV0LCBMYXlvdXRXb3JrbGV0KSwKLSBDb25z
dHJ1Y3RvcihDU1NOdW1iZXJpc2ggeCwgQ1NTTnVtYmVyaXNoIHksIG9wdGlvbmFsIENTU051bWJl
cmlzaCB6KV0KK1tFeHBvc2VkPShXaW5kb3csIFdvcmtlciwgUGFpbnRXb3JrbGV0LCBMYXlvdXRX
b3JrbGV0KV0KIGludGVyZmFjZSBDU1NTY2FsZSA6IENTU1RyYW5zZm9ybUNvbXBvbmVudCB7Cisg
ICAgY29uc3RydWN0b3IoQ1NTTnVtYmVyaXNoIHgsIENTU051bWJlcmlzaCB5LCBvcHRpb25hbCBD
U1NOdW1iZXJpc2ggeik7CiAgICAgYXR0cmlidXRlIENTU051bWJlcmlzaCB4OwogICAgIGF0dHJp
YnV0ZSBDU1NOdW1iZXJpc2ggeTsKICAgICBhdHRyaWJ1dGUgQ1NTTnVtYmVyaXNoIHo7CiB9Owog
Ci1bRXhwb3NlZD0oV2luZG93LCBXb3JrZXIsIFBhaW50V29ya2xldCwgTGF5b3V0V29ya2xldCks
Ci0gQ29uc3RydWN0b3IoQ1NTTnVtZXJpY1ZhbHVlIGF4LCBDU1NOdW1lcmljVmFsdWUgYXkpXQor
W0V4cG9zZWQ9KFdpbmRvdywgV29ya2VyLCBQYWludFdvcmtsZXQsIExheW91dFdvcmtsZXQpXQog
aW50ZXJmYWNlIENTU1NrZXcgOiBDU1NUcmFuc2Zvcm1Db21wb25lbnQgeworICAgIGNvbnN0cnVj
dG9yKENTU051bWVyaWNWYWx1ZSBheCwgQ1NTTnVtZXJpY1ZhbHVlIGF5KTsKICAgICBhdHRyaWJ1
dGUgQ1NTTnVtZXJpY1ZhbHVlIGF4OwogICAgIGF0dHJpYnV0ZSBDU1NOdW1lcmljVmFsdWUgYXk7
CiB9OwogCi1bRXhwb3NlZD0oV2luZG93LCBXb3JrZXIsIFBhaW50V29ya2xldCwgTGF5b3V0V29y
a2xldCksCi0gQ29uc3RydWN0b3IoQ1NTTnVtZXJpY1ZhbHVlIGF4KV0KK1tFeHBvc2VkPShXaW5k
b3csIFdvcmtlciwgUGFpbnRXb3JrbGV0LCBMYXlvdXRXb3JrbGV0KV0KIGludGVyZmFjZSBDU1NT
a2V3WCA6IENTU1RyYW5zZm9ybUNvbXBvbmVudCB7CisgICAgY29uc3RydWN0b3IoQ1NTTnVtZXJp
Y1ZhbHVlIGF4KTsKICAgICBhdHRyaWJ1dGUgQ1NTTnVtZXJpY1ZhbHVlIGF4OwogfTsKIAotW0V4
cG9zZWQ9KFdpbmRvdywgV29ya2VyLCBQYWludFdvcmtsZXQsIExheW91dFdvcmtsZXQpLAotIENv
bnN0cnVjdG9yKENTU051bWVyaWNWYWx1ZSBheSldCitbRXhwb3NlZD0oV2luZG93LCBXb3JrZXIs
IFBhaW50V29ya2xldCwgTGF5b3V0V29ya2xldCldCiBpbnRlcmZhY2UgQ1NTU2tld1kgOiBDU1NU
cmFuc2Zvcm1Db21wb25lbnQgeworICAgIGNvbnN0cnVjdG9yKENTU051bWVyaWNWYWx1ZSBheSk7
CiAgICAgYXR0cmlidXRlIENTU051bWVyaWNWYWx1ZSBheTsKIH07CiAKIC8qIE5vdGUgdGhhdCBz
a2V3KHgseSkgaXMgKm5vdCogdGhlIHNhbWUgYXMgc2tld1goeCkgc2tld1koeSksCiAgICB0aHVz
IHRoZSBzZXBhcmF0ZSBpbnRlcmZhY2VzIGZvciBhbGwgdGhyZWUuICovCiAKLVtFeHBvc2VkPShX
aW5kb3csIFdvcmtlciwgUGFpbnRXb3JrbGV0LCBMYXlvdXRXb3JrbGV0KSwKLSBDb25zdHJ1Y3Rv
cihDU1NOdW1lcmljVmFsdWUgbGVuZ3RoKV0KK1tFeHBvc2VkPShXaW5kb3csIFdvcmtlciwgUGFp
bnRXb3JrbGV0LCBMYXlvdXRXb3JrbGV0KV0KIGludGVyZmFjZSBDU1NQZXJzcGVjdGl2ZSA6IENT
U1RyYW5zZm9ybUNvbXBvbmVudCB7CisgICAgY29uc3RydWN0b3IoQ1NTTnVtZXJpY1ZhbHVlIGxl
bmd0aCk7CiAgICAgYXR0cmlidXRlIENTU051bWVyaWNWYWx1ZSBsZW5ndGg7CiB9OwogCi1bRXhw
b3NlZD0oV2luZG93LCBXb3JrZXIsIFBhaW50V29ya2xldCwgTGF5b3V0V29ya2xldCksCi0gQ29u
c3RydWN0b3IoRE9NTWF0cml4UmVhZE9ubHkgbWF0cml4LCBvcHRpb25hbCBDU1NNYXRyaXhDb21w
b25lbnRPcHRpb25zIG9wdGlvbnMgPSB7fSldCitbRXhwb3NlZD0oV2luZG93LCBXb3JrZXIsIFBh
aW50V29ya2xldCwgTGF5b3V0V29ya2xldCldCiBpbnRlcmZhY2UgQ1NTTWF0cml4Q29tcG9uZW50
IDogQ1NTVHJhbnNmb3JtQ29tcG9uZW50IHsKKyAgICBjb25zdHJ1Y3RvcihET01NYXRyaXhSZWFk
T25seSBtYXRyaXgsIG9wdGlvbmFsIENTU01hdHJpeENvbXBvbmVudE9wdGlvbnMgb3B0aW9ucyA9
IHt9KTsKICAgICBhdHRyaWJ1dGUgRE9NTWF0cml4IG1hdHJpeDsKIH07CiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9j
c3NvbS12aWV3LmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaW50ZXJmYWNlcy9jc3NvbS12aWV3LmlkbAppbmRleCAzNDAzNjQ4NDE5NWUyOGIzMDY4Yzll
ZjA5ZjQ0YWNkMGJlZDZiZGE5Li44MjUxN2ZlZmNjMjE4Y2UxYWJiNDExNjlkNDVlNmFlZmM1ODBj
YTZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ludGVyZmFjZXMvY3Nzb20tdmlldy5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2Nzc29tLXZpZXcuaWRsCkBAIC0yMCw3
ICsyMCw3IEBAIHBhcnRpYWwgaW50ZXJmYWNlIFdpbmRvdyB7CiAgICAgLy8gYnJvd3NpbmcgY29u
dGV4dAogICAgIHZvaWQgbW92ZVRvKGxvbmcgeCwgbG9uZyB5KTsKICAgICB2b2lkIG1vdmVCeShs
b25nIHgsIGxvbmcgeSk7Ci0gICAgdm9pZCByZXNpemVUbyhsb25nIHgsIGxvbmcgeSk7CisgICAg
dm9pZCByZXNpemVUbyhsb25nIHdpZHRoLCBsb25nIGhlaWdodCk7CiAgICAgdm9pZCByZXNpemVC
eShsb25nIHgsIGxvbmcgeSk7CiAKICAgICAvLyB2aWV3cG9ydApAQCAtNTgsOSArNTgsOSBAQCBp
bnRlcmZhY2UgTWVkaWFRdWVyeUxpc3QgOiBFdmVudFRhcmdldCB7CiAgICAgICAgICAgIGF0dHJp
YnV0ZSBFdmVudEhhbmRsZXIgb25jaGFuZ2U7CiB9OwogCi1bRXhwb3NlZD1XaW5kb3csCi0gQ29u
c3RydWN0b3IoQ1NTT01TdHJpbmcgdHlwZSwgb3B0aW9uYWwgTWVkaWFRdWVyeUxpc3RFdmVudElu
aXQgZXZlbnRJbml0RGljdCA9IHt9KV0KK1tFeHBvc2VkPVdpbmRvd10KIGludGVyZmFjZSBNZWRp
YVF1ZXJ5TGlzdEV2ZW50IDogRXZlbnQgeworICBjb25zdHJ1Y3RvcihDU1NPTVN0cmluZyB0eXBl
LCBvcHRpb25hbCBNZWRpYVF1ZXJ5TGlzdEV2ZW50SW5pdCBldmVudEluaXREaWN0ID0ge30pOwog
ICByZWFkb25seSBhdHRyaWJ1dGUgQ1NTT01TdHJpbmcgbWVkaWE7CiAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBib29sZWFuIG1hdGNoZXM7CiB9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2Nzc29tLmlkbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9jc3NvbS5pZGwK
aW5kZXggZGM5Yjc4ZmRhNjE4MGRiYTZiNzk1OGMzNDI5YTc3ZTBmYjUwNDhiMi4uYjdkOWMzM2Q1
OTZjMzg4MmUxNGZmYTJmYTFkZWU5OWUwODdlY2VkZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2Nzc29tLmlkbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMv
Y3Nzb20uaWRsCkBAIC0xNCw3ICsxNCw3IEBAIHR5cGVkZWYgRE9NU3RyaW5nIENTU09NU3RyaW5n
OwogCiBbRXhwb3NlZD1XaW5kb3ddCiBpbnRlcmZhY2UgTWVkaWFMaXN0IHsKLSAgc3RyaW5naWZp
ZXIgYXR0cmlidXRlIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gQ1NTT01TdHJpbmcgbWVkaWFU
ZXh0OworICBzdHJpbmdpZmllciBhdHRyaWJ1dGUgW0xlZ2FjeU51bGxUb0VtcHR5U3RyaW5nXSBD
U1NPTVN0cmluZyBtZWRpYVRleHQ7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25n
IGxlbmd0aDsKICAgZ2V0dGVyIENTU09NU3RyaW5nPyBpdGVtKHVuc2lnbmVkIGxvbmcgaW5kZXgp
OwogICB2b2lkIGFwcGVuZE1lZGl1bShDU1NPTVN0cmluZyBtZWRpdW0pOwpAQCAtNzMsNyArNzMs
NyBAQCBpbnRlcmZhY2UgQ1NTUnVsZSB7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBDU1NSdWxlPyBw
YXJlbnRSdWxlOwogICByZWFkb25seSBhdHRyaWJ1dGUgQ1NTU3R5bGVTaGVldD8gcGFyZW50U3R5
bGVTaGVldDsKIAotICAvLyB0aGUgZm9sbG93aW5nIGF0dHJpYnV0ZSBhbmQgY29uc3RhbnRzIGFy
ZSBoaXN0b3JpYWwKKyAgLy8gdGhlIGZvbGxvd2luZyBhdHRyaWJ1dGUgYW5kIGNvbnN0YW50cyBh
cmUgaGlzdG9yaWNhbAogICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgdHlwZTsK
ICAgY29uc3QgdW5zaWduZWQgc2hvcnQgU1RZTEVfUlVMRSA9IDE7CiAgIGNvbnN0IHVuc2lnbmVk
IHNob3J0IENIQVJTRVRfUlVMRSA9IDI7CkBAIC0xMzAsMTAgKzEzMCwxMCBAQCBpbnRlcmZhY2Ug
Q1NTU3R5bGVEZWNsYXJhdGlvbiB7CiAgIGdldHRlciBDU1NPTVN0cmluZyBpdGVtKHVuc2lnbmVk
IGxvbmcgaW5kZXgpOwogICBDU1NPTVN0cmluZyBnZXRQcm9wZXJ0eVZhbHVlKENTU09NU3RyaW5n
IHByb3BlcnR5KTsKICAgQ1NTT01TdHJpbmcgZ2V0UHJvcGVydHlQcmlvcml0eShDU1NPTVN0cmlu
ZyBwcm9wZXJ0eSk7Ci0gIFtDRVJlYWN0aW9uc10gdm9pZCBzZXRQcm9wZXJ0eShDU1NPTVN0cmlu
ZyBwcm9wZXJ0eSwgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBDU1NPTVN0cmluZyB2YWx1ZSwg
b3B0aW9uYWwgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBDU1NPTVN0cmluZyBwcmlvcml0eSA9
ICIiKTsKKyAgW0NFUmVhY3Rpb25zXSB2b2lkIHNldFByb3BlcnR5KENTU09NU3RyaW5nIHByb3Bl
cnR5LCBbTGVnYWN5TnVsbFRvRW1wdHlTdHJpbmddIENTU09NU3RyaW5nIHZhbHVlLCBvcHRpb25h
bCBbTGVnYWN5TnVsbFRvRW1wdHlTdHJpbmddIENTU09NU3RyaW5nIHByaW9yaXR5ID0gIiIpOwog
ICBbQ0VSZWFjdGlvbnNdIENTU09NU3RyaW5nIHJlbW92ZVByb3BlcnR5KENTU09NU3RyaW5nIHBy
b3BlcnR5KTsKICAgcmVhZG9ubHkgYXR0cmlidXRlIENTU1J1bGU/IHBhcmVudFJ1bGU7Ci0gIFtD
RVJlYWN0aW9uc10gYXR0cmlidXRlIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gQ1NTT01TdHJp
bmcgY3NzRmxvYXQ7CisgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIFtMZWdhY3lOdWxsVG9FbXB0
eVN0cmluZ10gQ1NTT01TdHJpbmcgY3NzRmxvYXQ7CiB9OwogCiBpbnRlcmZhY2UgbWl4aW4gRWxl
bWVudENTU0lubGluZVN0eWxlIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9kZXZpY2UtbWVtb3J5LmlkbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9kZXZpY2Ut
bWVtb3J5LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNjY0MDEzZGRlZmVhN2JjODk1MGY3NjA0YzA2ZjUzYzFj
MWFhYzQ4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2RldmljZS1tZW1vcnkuaWRsCkBAIC0wLDAgKzEsMTQg
QEAKKy8vIEdFTkVSQVRFRCBDT05URU5UIC0gRE8gTk9UIEVESVQKKy8vIENvbnRlbnQgd2FzIGF1
dG9tYXRpY2FsbHkgZXh0cmFjdGVkIGJ5IFJlZmZ5IGludG8gcmVmZnktcmVwb3J0cworLy8gKGh0
dHBzOi8vZ2l0aHViLmNvbS90aWRvdXN0L3JlZmZ5LXJlcG9ydHMpCisvLyBTb3VyY2U6IERldmlj
ZSBNZW1vcnkgMSAoaHR0cHM6Ly93M2MuZ2l0aHViLmlvL2RldmljZS1tZW1vcnkvKQorCitbCisg
ICAgU2VjdXJlQ29udGV4dCwKKyAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyKQorXSBpbnRlcmZh
Y2UgbWl4aW4gTmF2aWdhdG9yRGV2aWNlTWVtb3J5IHsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUg
ZG91YmxlIGRldmljZU1lbW9yeTsKK307CisKK05hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JE
ZXZpY2VNZW1vcnk7CitXb3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yRGV2aWNlTWVt
b3J5OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9pbnRlcmZhY2VzL2RvbS5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvZG9tLmlkbAppbmRleCBmN2ExMGQ4OTBhYjg5MmU5OTBi
ZjlhODFiODc4ODRlNTQwODlkY2FhLi4xMDJjMjMxMjM4MTliYTJlOWI2MzM3NTVjZmI0NTNiMWYy
MTY4OTYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ludGVyZmFjZXMvZG9tLmlkbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvZG9tLmlkbApAQCAtMzAsNyArMzAsNyBAQCBp
bnRlcmZhY2UgRXZlbnQgewogICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBkZWZhdWx0UHJl
dmVudGVkOwogICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBjb21wb3NlZDsKIAotICBbVW5m
b3JnZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGlzVHJ1c3RlZDsKKyAgW0xlZ2Fj
eVVuZm9yZ2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBpc1RydXN0ZWQ7CiAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBET01IaWdoUmVzVGltZVN0YW1wIHRpbWVTdGFtcDsKIAogICB2b2lk
IGluaXRFdmVudChET01TdHJpbmcgdHlwZSwgb3B0aW9uYWwgYm9vbGVhbiBidWJibGVzID0gZmFs
c2UsIG9wdGlvbmFsIGJvb2xlYW4gY2FuY2VsYWJsZSA9IGZhbHNlKTsgLy8gaGlzdG9yaWNhbApA
QCAtNTIsNyArNTIsNyBAQCBpbnRlcmZhY2UgQ3VzdG9tRXZlbnQgOiBFdmVudCB7CiAKICAgcmVh
ZG9ubHkgYXR0cmlidXRlIGFueSBkZXRhaWw7CiAKLSAgdm9pZCBpbml0Q3VzdG9tRXZlbnQoRE9N
U3RyaW5nIHR5cGUsIG9wdGlvbmFsIGJvb2xlYW4gYnViYmxlcyA9IGZhbHNlLCBvcHRpb25hbCBi
b29sZWFuIGNhbmNlbGFibGUgPSBmYWxzZSwgb3B0aW9uYWwgYW55IGRldGFpbCA9IG51bGwpOwor
ICB2b2lkIGluaXRDdXN0b21FdmVudChET01TdHJpbmcgdHlwZSwgb3B0aW9uYWwgYm9vbGVhbiBi
dWJibGVzID0gZmFsc2UsIG9wdGlvbmFsIGJvb2xlYW4gY2FuY2VsYWJsZSA9IGZhbHNlLCBvcHRp
b25hbCBhbnkgZGV0YWlsID0gbnVsbCk7IC8vIGhpc3RvcmljYWwKIH07CiAKIGRpY3Rpb25hcnkg
Q3VzdG9tRXZlbnRJbml0IDogRXZlbnRJbml0IHsKQEAgLTExNSw2ICsxMTUsNyBAQCBpbnRlcmZh
Y2UgbWl4aW4gUGFyZW50Tm9kZSB7CiAKICAgW0NFUmVhY3Rpb25zLCBVbnNjb3BhYmxlXSB2b2lk
IHByZXBlbmQoKE5vZGUgb3IgRE9NU3RyaW5nKS4uLiBub2Rlcyk7CiAgIFtDRVJlYWN0aW9ucywg
VW5zY29wYWJsZV0gdm9pZCBhcHBlbmQoKE5vZGUgb3IgRE9NU3RyaW5nKS4uLiBub2Rlcyk7Cisg
IFtDRVJlYWN0aW9ucywgVW5zY29wYWJsZV0gdm9pZCByZXBsYWNlQ2hpbGRyZW4oKE5vZGUgb3Ig
RE9NU3RyaW5nKS4uLiBub2Rlcyk7CiAKICAgRWxlbWVudD8gcXVlcnlTZWxlY3RvcihET01TdHJp
bmcgc2VsZWN0b3JzKTsKICAgW05ld09iamVjdF0gTm9kZUxpc3QgcXVlcnlTZWxlY3RvckFsbChE
T01TdHJpbmcgc2VsZWN0b3JzKTsKQEAgLTE0MCwxMSArMTQxLDExIEBAIERvY3VtZW50VHlwZSBp
bmNsdWRlcyBDaGlsZE5vZGU7CiBFbGVtZW50IGluY2x1ZGVzIENoaWxkTm9kZTsKIENoYXJhY3Rl
ckRhdGEgaW5jbHVkZXMgQ2hpbGROb2RlOwogCi1pbnRlcmZhY2UgbWl4aW4gU2xvdGFibGUgewor
aW50ZXJmYWNlIG1peGluIFNsb3R0YWJsZSB7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1MU2xv
dEVsZW1lbnQ/IGFzc2lnbmVkU2xvdDsKIH07Ci1FbGVtZW50IGluY2x1ZGVzIFNsb3RhYmxlOwot
VGV4dCBpbmNsdWRlcyBTbG90YWJsZTsKK0VsZW1lbnQgaW5jbHVkZXMgU2xvdHRhYmxlOworVGV4
dCBpbmNsdWRlcyBTbG90dGFibGU7CiAKIFtFeHBvc2VkPVdpbmRvd10KIGludGVyZmFjZSBOb2Rl
TGlzdCB7CkBAIC0yODksNyArMjkwLDcgQEAgaW50ZXJmYWNlIERvY3VtZW50IDogTm9kZSB7CiAg
IFtOZXdPYmplY3RdIEF0dHIgY3JlYXRlQXR0cmlidXRlKERPTVN0cmluZyBsb2NhbE5hbWUpOwog
ICBbTmV3T2JqZWN0XSBBdHRyIGNyZWF0ZUF0dHJpYnV0ZU5TKERPTVN0cmluZz8gbmFtZXNwYWNl
LCBET01TdHJpbmcgcXVhbGlmaWVkTmFtZSk7CiAKLSAgW05ld09iamVjdF0gRXZlbnQgY3JlYXRl
RXZlbnQoRE9NU3RyaW5nIGludGVyZmFjZSk7CisgIFtOZXdPYmplY3RdIEV2ZW50IGNyZWF0ZUV2
ZW50KERPTVN0cmluZyBpbnRlcmZhY2UpOyAvLyBoaXN0b3JpY2FsCiAKICAgW05ld09iamVjdF0g
UmFuZ2UgY3JlYXRlUmFuZ2UoKTsKIApAQCAtMzA4LDcgKzMwOSw3IEBAIGRpY3Rpb25hcnkgRWxl
bWVudENyZWF0aW9uT3B0aW9ucyB7CiBbRXhwb3NlZD1XaW5kb3ddCiBpbnRlcmZhY2UgRE9NSW1w
bGVtZW50YXRpb24gewogICBbTmV3T2JqZWN0XSBEb2N1bWVudFR5cGUgY3JlYXRlRG9jdW1lbnRU
eXBlKERPTVN0cmluZyBxdWFsaWZpZWROYW1lLCBET01TdHJpbmcgcHVibGljSWQsIERPTVN0cmlu
ZyBzeXN0ZW1JZCk7Ci0gIFtOZXdPYmplY3RdIFhNTERvY3VtZW50IGNyZWF0ZURvY3VtZW50KERP
TVN0cmluZz8gbmFtZXNwYWNlLCBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBx
dWFsaWZpZWROYW1lLCBvcHRpb25hbCBEb2N1bWVudFR5cGU/IGRvY3R5cGUgPSBudWxsKTsKKyAg
W05ld09iamVjdF0gWE1MRG9jdW1lbnQgY3JlYXRlRG9jdW1lbnQoRE9NU3RyaW5nPyBuYW1lc3Bh
Y2UsIFtMZWdhY3lOdWxsVG9FbXB0eVN0cmluZ10gRE9NU3RyaW5nIHF1YWxpZmllZE5hbWUsIG9w
dGlvbmFsIERvY3VtZW50VHlwZT8gZG9jdHlwZSA9IG51bGwpOwogICBbTmV3T2JqZWN0XSBEb2N1
bWVudCBjcmVhdGVIVE1MRG9jdW1lbnQob3B0aW9uYWwgRE9NU3RyaW5nIHRpdGxlKTsKIAogICBi
b29sZWFuIGhhc0ZlYXR1cmUoKTsgLy8gdXNlbGVzczsgYWx3YXlzIHJldHVybnMgdHJ1ZQpAQCAt
NDEzLDcgKzQxNCw3IEBAIGludGVyZmFjZSBBdHRyIDogTm9kZSB7CiB9OwogW0V4cG9zZWQ9V2lu
ZG93XQogaW50ZXJmYWNlIENoYXJhY3RlckRhdGEgOiBOb2RlIHsKLSAgYXR0cmlidXRlIFtUcmVh
dE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGRhdGE7CisgIGF0dHJpYnV0ZSBbTGVnYWN5
TnVsbFRvRW1wdHlTdHJpbmddIERPTVN0cmluZyBkYXRhOwogICByZWFkb25seSBhdHRyaWJ1dGUg
dW5zaWduZWQgbG9uZyBsZW5ndGg7CiAgIERPTVN0cmluZyBzdWJzdHJpbmdEYXRhKHVuc2lnbmVk
IGxvbmcgb2Zmc2V0LCB1bnNpZ25lZCBsb25nIGNvdW50KTsKICAgdm9pZCBhcHBlbmREYXRhKERP
TVN0cmluZyBkYXRhKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9lbmNyeXB0ZWQtbWVkaWEuaWRsIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2VuY3J5cHRlZC1t
ZWRpYS5pZGwKaW5kZXggMjZjMDNmNmYyNGRjMDMyMTMzMmM3ZTFkMTY0NDNkMzUwZDM1OTc1YS4u
NWQ2YmJlMzZjZTM4ZTdlOTFlZTBmMDM2NGExNjFjYmVkMTZlNzU3OSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2VuY3J5
cHRlZC1tZWRpYS5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9pbnRlcmZhY2VzL2VuY3J5cHRlZC1tZWRpYS5pZGwKQEAgLTI1LDggKzI1LDkgQEAg
ZGljdGlvbmFyeSBNZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24gewogfTsKIAogZGljdGlvbmFy
eSBNZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJpbGl0eSB7Ci0gICAgICAgICAgICAgRE9NU3RyaW5n
IGNvbnRlbnRUeXBlID0gIiI7Ci0gICAgICAgICAgICAgRE9NU3RyaW5nIHJvYnVzdG5lc3MgPSAi
IjsKKyAgIERPTVN0cmluZyBjb250ZW50VHlwZSA9ICIiOworICAgRE9NU3RyaW5nPyBlbmNyeXB0
aW9uU2NoZW1lID0gbnVsbDsKKyAgIERPTVN0cmluZyByb2J1c3RuZXNzID0gIiI7CiB9OwogCiBb
RXhwb3NlZD1XaW5kb3csIFNlY3VyZUNvbnRleHRdIGludGVyZmFjZSBNZWRpYUtleVN5c3RlbUFj
Y2VzcyB7CkBAIC0zNyw3ICszOCw4IEBAIGRpY3Rpb25hcnkgTWVkaWFLZXlTeXN0ZW1NZWRpYUNh
cGFiaWxpdHkgewogCiBlbnVtIE1lZGlhS2V5U2Vzc2lvblR5cGUgewogICAgICJ0ZW1wb3Jhcnki
LAotICAgICJwZXJzaXN0ZW50LWxpY2Vuc2UiCisgICAgInBlcnNpc3RlbnQtbGljZW5zZSIsCisg
ICAgInBlcnNpc3RlbnQtdXNhZ2UtcmVjb3JkIgogfTsKIAogW0V4cG9zZWQ9V2luZG93LCBTZWN1
cmVDb250ZXh0XSBpbnRlcmZhY2UgTWVkaWFLZXlzIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9ldmVudC10aW1pbmcu
aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZh
Y2VzL2V2ZW50LXRpbWluZy5pZGwKaW5kZXggZTg0NzVkMzE5MjJmMDNkMzRkZDcwZjFmYmVlMDk0
Yzc5NzdmNjY3Ni4uZDg0ZDdjMzJkY2MyYTBlOTc0NWE2YzYwYTdhYzVkZWRhYzc4YjJkNCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRl
cmZhY2VzL2V2ZW50LXRpbWluZy5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2V2ZW50LXRpbWluZy5pZGwKQEAgLTgsNiArOCw3
IEBAIGludGVyZmFjZSBQZXJmb3JtYW5jZUV2ZW50VGltaW5nIDogUGVyZm9ybWFuY2VFbnRyeSB7
CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTUhpZ2hSZXNUaW1lU3RhbXAgcHJvY2Vzc2luZ1N0
YXJ0OwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01IaWdoUmVzVGltZVN0YW1wIHByb2Nlc3Np
bmdFbmQ7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gY2FuY2VsYWJsZTsKKyAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgTm9kZT8gdGFyZ2V0OwogICAgIFtEZWZhdWx0XSBvYmplY3QgdG9K
U09OKCk7CiB9OwogCkBAIC0yMCwzICsyMSw3IEBAIGludGVyZmFjZSBFdmVudENvdW50cyB7CiBw
YXJ0aWFsIGludGVyZmFjZSBQZXJmb3JtYW5jZSB7CiAgICAgW1NhbWVPYmplY3RdIHJlYWRvbmx5
IGF0dHJpYnV0ZSBFdmVudENvdW50cyBldmVudENvdW50czsKIH07CisKK3BhcnRpYWwgZGljdGlv
bmFyeSBQZXJmb3JtYW5jZU9ic2VydmVySW5pdCB7CisgICAgRE9NSGlnaFJlc1RpbWVTdGFtcCBk
dXJhdGlvblRocmVzaG9sZDsKK307CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvZnVsbHNjcmVlbi5pZGwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvZnVsbHNjcmVl
bi5pZGwKaW5kZXggNmY4NmQ1YzIyMGZkMjc0Y2VhOGIxMjE5MGFkMWE0YTNlZTVhMmJhOS4uNjc3
YjJlMTE2ZjZkY2Y2ZmY4MzQwNzYxZDQ3M2UzZGNmMGY4M2FmNSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2Z1bGxzY3Jl
ZW4uaWRsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aW50ZXJmYWNlcy9mdWxsc2NyZWVuLmlkbApAQCAtMjEsOCArMjEsOCBAQCBwYXJ0aWFsIGludGVy
ZmFjZSBFbGVtZW50IHsKIH07CiAKIHBhcnRpYWwgaW50ZXJmYWNlIERvY3VtZW50IHsKLSAgW0xl
bmllbnRTZXR0ZXJdIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGZ1bGxzY3JlZW5FbmFibGVk
OwotICBbTGVuaWVudFNldHRlciwgVW5zY29wYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xl
YW4gZnVsbHNjcmVlbjsgLy8gaGlzdG9yaWNhbAorICBbTGVnYWN5TGVuaWVudFNldHRlcl0gcmVh
ZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gZnVsbHNjcmVlbkVuYWJsZWQ7CisgIFtMZWdhY3lMZW5p
ZW50U2V0dGVyLCBVbnNjb3BhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBmdWxsc2Ny
ZWVuOyAvLyBoaXN0b3JpY2FsCiAKICAgUHJvbWlzZTx2b2lkPiBleGl0RnVsbHNjcmVlbigpOwog
CkBAIC0zMSw1ICszMSw1IEBAIHBhcnRpYWwgaW50ZXJmYWNlIERvY3VtZW50IHsKIH07CiAKIHBh
cnRpYWwgaW50ZXJmYWNlIG1peGluIERvY3VtZW50T3JTaGFkb3dSb290IHsKLSAgW0xlbmllbnRT
ZXR0ZXJdIHJlYWRvbmx5IGF0dHJpYnV0ZSBFbGVtZW50PyBmdWxsc2NyZWVuRWxlbWVudDsKKyAg
W0xlZ2FjeUxlbmllbnRTZXR0ZXJdIHJlYWRvbmx5IGF0dHJpYnV0ZSBFbGVtZW50PyBmdWxsc2Ny
ZWVuRWxlbWVudDsKIH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvZ2VvbG9jYXRpb24tc2Vuc29yLmlkbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9nZW9sb2Nh
dGlvbi1zZW5zb3IuaWRsCmluZGV4IDAwODNjZGFjMTk4MjhmMzFkZTc5ZDE0MGQ1MGU2MGQzMzA0
MTc2NjEuLmJhYTBmNWM3YTFlNzhhMmUyZWU5NzcyZmZhZGE1Mzc5MDExNmNkNTUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNl
cy9nZW9sb2NhdGlvbi1zZW5zb3IuaWRsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9nZW9sb2NhdGlvbi1zZW5zb3IuaWRsCkBAIC0x
LDEyICsxLDEyIEBACiAvLyBHRU5FUkFURUQgQ09OVEVOVCAtIERPIE5PVCBFRElUCiAvLyBDb250
ZW50IHdhcyBhdXRvbWF0aWNhbGx5IGV4dHJhY3RlZCBieSBSZWZmeSBpbnRvIHJlZmZ5LXJlcG9y
dHMKIC8vIChodHRwczovL2dpdGh1Yi5jb20vdGlkb3VzdC9yZWZmeS1yZXBvcnRzKQotLy8gU291
cmNlOiBHZW9sb2NhdGlvbiBTZW5zb3IgKGh0dHBzOi8vd2ljZy5naXRodWIuaW8vZ2VvbG9jYXRp
b24tc2Vuc29yLykKKy8vIFNvdXJjZTogR2VvbG9jYXRpb24gU2Vuc29yIChodHRwczovL3czYy5n
aXRodWIuaW8vZ2VvbG9jYXRpb24tc2Vuc29yLykKIAotW0NvbnN0cnVjdG9yKG9wdGlvbmFsIEdl
b2xvY2F0aW9uU2Vuc29yT3B0aW9ucyBvcHRpb25zID0ge30pLAotIFNlY3VyZUNvbnRleHQsCitb
U2VjdXJlQ29udGV4dCwKICBFeHBvc2VkPShEZWRpY2F0ZWRXb3JrZXIsIFdpbmRvdyldCiBpbnRl
cmZhY2UgR2VvbG9jYXRpb25TZW5zb3IgOiBTZW5zb3IgeworICBjb25zdHJ1Y3RvcihvcHRpb25h
bCBHZW9sb2NhdGlvblNlbnNvck9wdGlvbnMgb3B0aW9ucyA9IHt9KTsKICAgc3RhdGljIFByb21p
c2U8R2VvbG9jYXRpb25TZW5zb3JSZWFkaW5nPiByZWFkKG9wdGlvbmFsIFJlYWRPcHRpb25zIHJl
YWRPcHRpb25zID0ge30pOwogICByZWFkb25seSBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJs
ZT8gbGF0aXR1ZGU7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlPyBs
b25naXR1ZGU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ludGVyZmFjZXMvaGl0LXRlc3QuaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2hpdC10ZXN0LmlkbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5kOWY5MGIzZWM3YjIwZTc0ZGQyMDUxNDI4NDcyNzZlMzdhNGI1ZjBhCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZh
Y2VzL2hpdC10ZXN0LmlkbApAQCAtMCwwICsxLDY5IEBACisvLyBHRU5FUkFURUQgQ09OVEVOVCAt
IERPIE5PVCBFRElUCisvLyBDb250ZW50IHdhcyBhdXRvbWF0aWNhbGx5IGV4dHJhY3RlZCBieSBS
ZWZmeSBpbnRvIHJlZmZ5LXJlcG9ydHMKKy8vIChodHRwczovL2dpdGh1Yi5jb20vdGlkb3VzdC9y
ZWZmeS1yZXBvcnRzKQorLy8gU291cmNlOiBXZWJYUiBIaXQgVGVzdCBNb2R1bGUgKGh0dHBzOi8v
aW1tZXJzaXZlLXdlYi5naXRodWIuaW8vaGl0LXRlc3QvKQorCitlbnVtIFhSSGl0VGVzdFRyYWNr
YWJsZVR5cGUgeworICAicG9pbnQiLAorICAicGxhbmUiLAorICAibWVzaCIKK307CisKK2RpY3Rp
b25hcnkgWFJIaXRUZXN0T3B0aW9uc0luaXQgeworICByZXF1aXJlZCBYUlNwYWNlIHNwYWNlOwor
ICBGcm96ZW5BcnJheTxYUkhpdFRlc3RUcmFja2FibGVUeXBlPiBlbnRpdHlUeXBlczsKKyAgWFJS
YXkgb2Zmc2V0UmF5OworfTsKKworZGljdGlvbmFyeSBYUlRyYW5zaWVudElucHV0SGl0VGVzdE9w
dGlvbnNJbml0IHsKKyAgcmVxdWlyZWQgRE9NU3RyaW5nIHByb2ZpbGU7CisgIEZyb3plbkFycmF5
PFhSSGl0VGVzdFRyYWNrYWJsZVR5cGU+IGVudGl0eVR5cGVzOworICBYUlJheSBvZmZzZXRSYXk7
Cit9OworCitbU2VjdXJlQ29udGV4dCwgRXhwb3NlZD1XaW5kb3ddCitpbnRlcmZhY2UgWFJIaXRU
ZXN0U291cmNlIHsKKyAgdm9pZCBjYW5jZWwoKTsKK307CisKK1tTZWN1cmVDb250ZXh0LCBFeHBv
c2VkPVdpbmRvd10KK2ludGVyZmFjZSBYUlRyYW5zaWVudElucHV0SGl0VGVzdFNvdXJjZSB7Cisg
IHZvaWQgY2FuY2VsKCk7Cit9OworCitbU2VjdXJlQ29udGV4dCwgRXhwb3NlZD1XaW5kb3ddCitp
bnRlcmZhY2UgWFJIaXRUZXN0UmVzdWx0IHsKKyAgWFJQb3NlPyBnZXRQb3NlKFhSU3BhY2UgYmFz
ZVNwYWNlKTsKK307CisKK1tTZWN1cmVDb250ZXh0LCBFeHBvc2VkPVdpbmRvd10KK2ludGVyZmFj
ZSBYUlRyYW5zaWVudElucHV0SGl0VGVzdFJlc3VsdCB7CisgIFtTYW1lT2JqZWN0XSByZWFkb25s
eSBhdHRyaWJ1dGUgWFJJbnB1dFNvdXJjZSBpbnB1dFNvdXJjZTsKKyAgcmVhZG9ubHkgYXR0cmli
dXRlIEZyb3plbkFycmF5PFhSSGl0VGVzdFJlc3VsdD4gcmVzdWx0czsKK307CisKK3BhcnRpYWwg
aW50ZXJmYWNlIFhSU2Vzc2lvbiB7CisgIFByb21pc2U8WFJIaXRUZXN0U291cmNlPiByZXF1ZXN0
SGl0VGVzdFNvdXJjZShYUkhpdFRlc3RPcHRpb25zSW5pdCBvcHRpb25zKTsKKyAgUHJvbWlzZTxY
UlRyYW5zaWVudElucHV0SGl0VGVzdFNvdXJjZT4gcmVxdWVzdEhpdFRlc3RTb3VyY2VGb3JUcmFu
c2llbnRJbnB1dChYUlRyYW5zaWVudElucHV0SGl0VGVzdE9wdGlvbnNJbml0IG9wdGlvbnMpOwor
fTsKKworcGFydGlhbCBpbnRlcmZhY2UgWFJGcmFtZSB7CisgIEZyb3plbkFycmF5PFhSSGl0VGVz
dFJlc3VsdD4gZ2V0SGl0VGVzdFJlc3VsdHMoWFJIaXRUZXN0U291cmNlIGhpdFRlc3RTb3VyY2Up
OworICBGcm96ZW5BcnJheTxYUlRyYW5zaWVudElucHV0SGl0VGVzdFJlc3VsdD4gZ2V0SGl0VGVz
dFJlc3VsdHNGb3JUcmFuc2llbnRJbnB1dChYUlRyYW5zaWVudElucHV0SGl0VGVzdFNvdXJjZSBo
aXRUZXN0U291cmNlKTsKK307CisKK2RpY3Rpb25hcnkgWFJSYXlEaXJlY3Rpb25Jbml0IHsKKyAg
ZG91YmxlIHggPSAwOworICBkb3VibGUgeSA9IDA7CisgIGRvdWJsZSB6ID0gLTE7CisgIGRvdWJs
ZSB3ID0gMDsKK307CisKK1tTZWN1cmVDb250ZXh0LCBFeHBvc2VkPVdpbmRvd10KK2ludGVyZmFj
ZSBYUlJheSB7CisgIGNvbnN0cnVjdG9yKG9wdGlvbmFsIERPTVBvaW50SW5pdCBvcmlnaW4gPSB7
fSwgb3B0aW9uYWwgWFJSYXlEaXJlY3Rpb25Jbml0IGRpcmVjdGlvbiA9IHt9KTsKKyAgY29uc3Ry
dWN0b3IoWFJSaWdpZFRyYW5zZm9ybSB0cmFuc2Zvcm0pOworICBbU2FtZU9iamVjdF0gcmVhZG9u
bHkgYXR0cmlidXRlIERPTVBvaW50UmVhZE9ubHkgb3JpZ2luOworICBbU2FtZU9iamVjdF0gcmVh
ZG9ubHkgYXR0cmlidXRlIERPTVBvaW50UmVhZE9ubHkgZGlyZWN0aW9uOworICBbU2FtZU9iamVj
dF0gcmVhZG9ubHkgYXR0cmlidXRlIEZsb2F0MzJBcnJheSBtYXRyaXg7Cit9OwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2Vz
L2h0bWwuaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bnRlcmZhY2VzL2h0bWwuaWRsCmluZGV4IDI2NjU3NGRlNjNlOGYyYWFjNGE3ODJiYTgzNmEyNzdi
YjVhMjk5N2QuLjdiMmE5NmNlNjc2MGEwNWI0OWU5YzQ0NWI0MDUwYTk5MWFjZDM0MmIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJm
YWNlcy9odG1sLmlkbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ludGVyZmFjZXMvaHRtbC5pZGwKQEAgLTEsNyArMSw3IEBACiAvLyBHRU5FUkFURUQg
Q09OVEVOVCAtIERPIE5PVCBFRElUCiAvLyBDb250ZW50IHdhcyBhdXRvbWF0aWNhbGx5IGV4dHJh
Y3RlZCBieSBSZWZmeSBpbnRvIHJlZmZ5LXJlcG9ydHMKIC8vIChodHRwczovL2dpdGh1Yi5jb20v
dGlkb3VzdC9yZWZmeS1yZXBvcnRzKQotLy8gU291cmNlOiBIVE1MIFN0YW5kYXJkIChodHRwczov
L2h0bWwuc3BlYy53aGF0d2cub3JnLykKKy8vIFNvdXJjZTogSFRNTCBTdGFuZGFyZCAoaHR0cHM6
Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvKQogCiBbRXhwb3NlZD1XaW5kb3csCiAg
TGVnYWN5VW5lbnVtZXJhYmxlTmFtZWRQcm9wZXJ0aWVzXQpAQCAtNDUsMTAgKzQ1LDEwIEBAIGlu
dGVyZmFjZSBET01TdHJpbmdMaXN0IHsKIGVudW0gRG9jdW1lbnRSZWFkeVN0YXRlIHsgImxvYWRp
bmciLCAiaW50ZXJhY3RpdmUiLCAiY29tcGxldGUiIH07CiB0eXBlZGVmIChIVE1MU2NyaXB0RWxl
bWVudCBvciBTVkdTY3JpcHRFbGVtZW50KSBIVE1MT3JTVkdTY3JpcHRFbGVtZW50OwogCi1bT3Zl
cnJpZGVCdWlsdGluc10KK1tMZWdhY3lPdmVycmlkZUJ1aWx0SW5zXQogcGFydGlhbCBpbnRlcmZh
Y2UgRG9jdW1lbnQgewogICAvLyByZXNvdXJjZSBtZXRhZGF0YSBtYW5hZ2VtZW50Ci0gIFtQdXRG
b3J3YXJkcz1ocmVmLCBVbmZvcmdlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIExvY2F0aW9uPyBs
b2NhdGlvbjsKKyAgW1B1dEZvcndhcmRzPWhyZWYsIExlZ2FjeVVuZm9yZ2VhYmxlXSByZWFkb25s
eSBhdHRyaWJ1dGUgTG9jYXRpb24/IGxvY2F0aW9uOwogICBhdHRyaWJ1dGUgVVNWU3RyaW5nIGRv
bWFpbjsKICAgcmVhZG9ubHkgYXR0cmlidXRlIFVTVlN0cmluZyByZWZlcnJlcjsKICAgYXR0cmli
dXRlIFVTVlN0cmluZyBjb29raWU7CkBAIC04OSw3ICs4OSw3IEBAIHBhcnRpYWwgaW50ZXJmYWNl
IERvY3VtZW50IHsKICAgRE9NU3RyaW5nIHF1ZXJ5Q29tbWFuZFZhbHVlKERPTVN0cmluZyBjb21t
YW5kSWQpOwogCiAgIC8vIHNwZWNpYWwgZXZlbnQgaGFuZGxlciBJREwgYXR0cmlidXRlcyB0aGF0
IG9ubHkgYXBwbHkgdG8gRG9jdW1lbnQgb2JqZWN0cwotICBbTGVuaWVudFRoaXNdIGF0dHJpYnV0
ZSBFdmVudEhhbmRsZXIgb25yZWFkeXN0YXRlY2hhbmdlOworICBbTGVnYWN5TGVuaWVudFRoaXNd
IGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25yZWFkeXN0YXRlY2hhbmdlOwogCiAgIC8vIGFsc28g
aGFzIG9ic29sZXRlIG1lbWJlcnMKIH07CkBAIC0xMTksNyArMTE5LDcgQEAgaW50ZXJmYWNlIEhU
TUxFbGVtZW50IDogRWxlbWVudCB7CiAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIGJvb2xlYW4g
c3BlbGxjaGVjazsKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGF1dG9jYXBp
dGFsaXplOwogCi0gIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIFtUcmVhdE51bGxBcz1FbXB0eVN0
cmluZ10gRE9NU3RyaW5nIGlubmVyVGV4dDsKKyAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgW0xl
Z2FjeU51bGxUb0VtcHR5U3RyaW5nXSBET01TdHJpbmcgaW5uZXJUZXh0OwogCiAgIEVsZW1lbnRJ
bnRlcm5hbHMgYXR0YWNoSW50ZXJuYWxzKCk7CiB9OwpAQCAtMTQ1LDcgKzE0NSw3IEBAIGludGVy
ZmFjZSBtaXhpbiBIVE1MT3JTVkdFbGVtZW50IHsKIH07CiAKIFtFeHBvc2VkPVdpbmRvdywKLSBP
dmVycmlkZUJ1aWx0aW5zXQorIExlZ2FjeU92ZXJyaWRlQnVpbHRJbnNdCiBpbnRlcmZhY2UgRE9N
U3RyaW5nTWFwIHsKICAgZ2V0dGVyIERPTVN0cmluZyAoRE9NU3RyaW5nIG5hbWUpOwogICBbQ0VS
ZWFjdGlvbnNdIHNldHRlciB2b2lkIChET01TdHJpbmcgbmFtZSwgRE9NU3RyaW5nIHZhbHVlKTsK
QEAgLTE1NSw4ICsxNTUsNiBAQCBpbnRlcmZhY2UgRE9NU3RyaW5nTWFwIHsKIFtFeHBvc2VkPVdp
bmRvd10KIGludGVyZmFjZSBIVE1MSHRtbEVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgIFtIVE1M
Q29uc3RydWN0b3JdIGNvbnN0cnVjdG9yKCk7Ci0KLSAgLy8gYWxzbyBoYXMgb2Jzb2xldGUgbWVt
YmVycwogfTsKIAogW0V4cG9zZWQ9V2luZG93XQpAQCAtMTk2LDggKzE5NCw2IEBAIGludGVyZmFj
ZSBIVE1MTGlua0VsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgIFtDRVJlYWN0aW9uc10gYXR0cmli
dXRlIFVTVlN0cmluZyBpbWFnZVNyY3NldDsKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgRE9N
U3RyaW5nIGltYWdlU2l6ZXM7CiAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIERPTVN0cmluZyBy
ZWZlcnJlclBvbGljeTsKLQotICAvLyBhbHNvIGhhcyBvYnNvbGV0ZSBtZW1iZXJzCiB9OwogSFRN
TExpbmtFbGVtZW50IGluY2x1ZGVzIExpbmtTdHlsZTsKIApAQCAtMjA4LDggKzIwNCw2IEBAIGlu
dGVyZmFjZSBIVE1MTWV0YUVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgIFtDRVJlYWN0aW9uc10g
YXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwogICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBET01T
dHJpbmcgaHR0cEVxdWl2OwogICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBET01TdHJpbmcgY29u
dGVudDsKLQotICAvLyBhbHNvIGhhcyBvYnNvbGV0ZSBtZW1iZXJzCiB9OwogCiBbRXhwb3NlZD1X
aW5kb3ddCkBAIC0yMTcsMTYgKzIxMSwxMiBAQCBpbnRlcmZhY2UgSFRNTFN0eWxlRWxlbWVudCA6
IEhUTUxFbGVtZW50IHsKICAgW0hUTUxDb25zdHJ1Y3Rvcl0gY29uc3RydWN0b3IoKTsKIAogICBb
Q0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBET01TdHJpbmcgbWVkaWE7Ci0KLSAgLy8gYWxzbyBoYXMg
b2Jzb2xldGUgbWVtYmVycwogfTsKIEhUTUxTdHlsZUVsZW1lbnQgaW5jbHVkZXMgTGlua1N0eWxl
OwogCiBbRXhwb3NlZD1XaW5kb3ddCiBpbnRlcmZhY2UgSFRNTEJvZHlFbGVtZW50IDogSFRNTEVs
ZW1lbnQgewogICBbSFRNTENvbnN0cnVjdG9yXSBjb25zdHJ1Y3RvcigpOwotCi0gIC8vIGFsc28g
aGFzIG9ic29sZXRlIG1lbWJlcnMKIH07CiAKIEhUTUxCb2R5RWxlbWVudCBpbmNsdWRlcyBXaW5k
b3dFdmVudEhhbmRsZXJzOwpAQCAtMjM0LDI5ICsyMjQsMjEgQEAgSFRNTEJvZHlFbGVtZW50IGlu
Y2x1ZGVzIFdpbmRvd0V2ZW50SGFuZGxlcnM7CiBbRXhwb3NlZD1XaW5kb3ddCiBpbnRlcmZhY2Ug
SFRNTEhlYWRpbmdFbGVtZW50IDogSFRNTEVsZW1lbnQgewogICBbSFRNTENvbnN0cnVjdG9yXSBj
b25zdHJ1Y3RvcigpOwotCi0gIC8vIGFsc28gaGFzIG9ic29sZXRlIG1lbWJlcnMKIH07CiAKIFtF
eHBvc2VkPVdpbmRvd10KIGludGVyZmFjZSBIVE1MUGFyYWdyYXBoRWxlbWVudCA6IEhUTUxFbGVt
ZW50IHsKICAgW0hUTUxDb25zdHJ1Y3Rvcl0gY29uc3RydWN0b3IoKTsKLQotICAvLyBhbHNvIGhh
cyBvYnNvbGV0ZSBtZW1iZXJzCiB9OwogCiBbRXhwb3NlZD1XaW5kb3ddCiBpbnRlcmZhY2UgSFRN
TEhSRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgW0hUTUxDb25zdHJ1Y3Rvcl0gY29uc3RydWN0
b3IoKTsKLQotICAvLyBhbHNvIGhhcyBvYnNvbGV0ZSBtZW1iZXJzCiB9OwogCiBbRXhwb3NlZD1X
aW5kb3ddCiBpbnRlcmZhY2UgSFRNTFByZUVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgIFtIVE1M
Q29uc3RydWN0b3JdIGNvbnN0cnVjdG9yKCk7Ci0KLSAgLy8gYWxzbyBoYXMgb2Jzb2xldGUgbWVt
YmVycwogfTsKIAogW0V4cG9zZWQ9V2luZG93XQpAQCAtMjczLDIyICsyNTUsMTYgQEAgaW50ZXJm
YWNlIEhUTUxPTGlzdEVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgIFtDRVJlYWN0aW9uc10gYXR0
cmlidXRlIGJvb2xlYW4gcmV2ZXJzZWQ7CiAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIGxvbmcg
c3RhcnQ7CiAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIERPTVN0cmluZyB0eXBlOwotCi0gIC8v
IGFsc28gaGFzIG9ic29sZXRlIG1lbWJlcnMKIH07CiAKIFtFeHBvc2VkPVdpbmRvd10KIGludGVy
ZmFjZSBIVE1MVUxpc3RFbGVtZW50IDogSFRNTEVsZW1lbnQgewogICBbSFRNTENvbnN0cnVjdG9y
XSBjb25zdHJ1Y3RvcigpOwotCi0gIC8vIGFsc28gaGFzIG9ic29sZXRlIG1lbWJlcnMKIH07CiAK
IFtFeHBvc2VkPVdpbmRvd10KIGludGVyZmFjZSBIVE1MTWVudUVsZW1lbnQgOiBIVE1MRWxlbWVu
dCB7CiAgIFtIVE1MQ29uc3RydWN0b3JdIGNvbnN0cnVjdG9yKCk7Ci0KLSAgLy8gYWxzbyBoYXMg
b2Jzb2xldGUgbWVtYmVycwogfTsKIAogW0V4cG9zZWQ9V2luZG93XQpAQCAtMjk2LDIyICsyNzIs
MTYgQEAgaW50ZXJmYWNlIEhUTUxMSUVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgIFtIVE1MQ29u
c3RydWN0b3JdIGNvbnN0cnVjdG9yKCk7CiAKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgbG9u
ZyB2YWx1ZTsKLQotICAvLyBhbHNvIGhhcyBvYnNvbGV0ZSBtZW1iZXJzCiB9OwogCiBbRXhwb3Nl
ZD1XaW5kb3ddCiBpbnRlcmZhY2UgSFRNTERMaXN0RWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAg
W0hUTUxDb25zdHJ1Y3Rvcl0gY29uc3RydWN0b3IoKTsKLQotICAvLyBhbHNvIGhhcyBvYnNvbGV0
ZSBtZW1iZXJzCiB9OwogCiBbRXhwb3NlZD1XaW5kb3ddCiBpbnRlcmZhY2UgSFRNTERpdkVsZW1l
bnQgOiBIVE1MRWxlbWVudCB7CiAgIFtIVE1MQ29uc3RydWN0b3JdIGNvbnN0cnVjdG9yKCk7Ci0K
LSAgLy8gYWxzbyBoYXMgb2Jzb2xldGUgbWVtYmVycwogfTsKIAogW0V4cG9zZWQ9V2luZG93XQpA
QCAtMzI5LDggKzI5OSw2IEBAIGludGVyZmFjZSBIVE1MQW5jaG9yRWxlbWVudCA6IEhUTUxFbGVt
ZW50IHsKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHRleHQ7CiAKICAgW0NF
UmVhY3Rpb25zXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHJlZmVycmVyUG9saWN5OwotCi0gIC8vIGFs
c28gaGFzIG9ic29sZXRlIG1lbWJlcnMKIH07CiBIVE1MQW5jaG9yRWxlbWVudCBpbmNsdWRlcyBI
VE1MSHlwZXJsaW5rRWxlbWVudFV0aWxzOwogCkBAIC0zNTYsOCArMzI0LDYgQEAgaW50ZXJmYWNl
IEhUTUxTcGFuRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKIFtFeHBvc2VkPVdpbmRvd10KIGludGVy
ZmFjZSBIVE1MQlJFbGVtZW50IDogSFRNTEVsZW1lbnQgewogICBbSFRNTENvbnN0cnVjdG9yXSBj
b25zdHJ1Y3RvcigpOwotCi0gIC8vIGFsc28gaGFzIG9ic29sZXRlIG1lbWJlcnMKIH07CiAKIGlu
dGVyZmFjZSBtaXhpbiBIVE1MSHlwZXJsaW5rRWxlbWVudFV0aWxzIHsKQEAgLTM5OSw3ICszNjUs
NyBAQCBpbnRlcmZhY2UgSFRNTFNvdXJjZUVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiB9OwogCiBb
RXhwb3NlZD1XaW5kb3csCi0gTmFtZWRDb25zdHJ1Y3Rvcj1JbWFnZShvcHRpb25hbCB1bnNpZ25l
ZCBsb25nIHdpZHRoLCBvcHRpb25hbCB1bnNpZ25lZCBsb25nIGhlaWdodCldCisgTGVnYWN5RmFj
dG9yeUZ1bmN0aW9uPUltYWdlKG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgd2lkdGgsIG9wdGlvbmFs
IHVuc2lnbmVkIGxvbmcgaGVpZ2h0KV0KIGludGVyZmFjZSBIVE1MSW1hZ2VFbGVtZW50IDogSFRN
TEVsZW1lbnQgewogICBbSFRNTENvbnN0cnVjdG9yXSBjb25zdHJ1Y3RvcigpOwogCkBAIC00MTgs
MTAgKzM4NCw5IEBAIGludGVyZmFjZSBIVE1MSW1hZ2VFbGVtZW50IDogSFRNTEVsZW1lbnQgewog
ICByZWFkb25seSBhdHRyaWJ1dGUgVVNWU3RyaW5nIGN1cnJlbnRTcmM7CiAgIFtDRVJlYWN0aW9u
c10gYXR0cmlidXRlIERPTVN0cmluZyByZWZlcnJlclBvbGljeTsKICAgW0NFUmVhY3Rpb25zXSBh
dHRyaWJ1dGUgRE9NU3RyaW5nIGRlY29kaW5nOworICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBE
T01TdHJpbmcgbG9hZGluZzsKIAogICBQcm9taXNlPHZvaWQ+IGRlY29kZSgpOwotCi0gIC8vIGFs
c28gaGFzIG9ic29sZXRlIG1lbWJlcnMKIH07CiAKIFtFeHBvc2VkPVdpbmRvd10KQEAgLTQ0MSw4
ICs0MDYsNiBAQCBpbnRlcmZhY2UgSFRNTElGcmFtZUVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBEb2N1bWVudD8gY29udGVudERvY3VtZW50OwogICByZWFkb25s
eSBhdHRyaWJ1dGUgV2luZG93UHJveHk/IGNvbnRlbnRXaW5kb3c7CiAgIERvY3VtZW50PyBnZXRT
VkdEb2N1bWVudCgpOwotCi0gIC8vIGFsc28gaGFzIG9ic29sZXRlIG1lbWJlcnMKIH07CiAKIFtF
eHBvc2VkPVdpbmRvd10KQEAgLTQ1NCw4ICs0MTcsNiBAQCBpbnRlcmZhY2UgSFRNTEVtYmVkRWxl
bWVudCA6IEhUTUxFbGVtZW50IHsKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgRE9NU3RyaW5n
IHdpZHRoOwogICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBET01TdHJpbmcgaGVpZ2h0OwogICBE
b2N1bWVudD8gZ2V0U1ZHRG9jdW1lbnQoKTsKLQotICAvLyBhbHNvIGhhcyBvYnNvbGV0ZSBtZW1i
ZXJzCiB9OwogCiBbRXhwb3NlZD1XaW5kb3ddCkBAIC00NzksOCArNDQwLDYgQEAgaW50ZXJmYWNl
IEhUTUxPYmplY3RFbGVtZW50IDogSFRNTEVsZW1lbnQgewogICBib29sZWFuIGNoZWNrVmFsaWRp
dHkoKTsKICAgYm9vbGVhbiByZXBvcnRWYWxpZGl0eSgpOwogICB2b2lkIHNldEN1c3RvbVZhbGlk
aXR5KERPTVN0cmluZyBlcnJvcik7Ci0KLSAgLy8gYWxzbyBoYXMgb2Jzb2xldGUgbWVtYmVycwog
fTsKIAogW0V4cG9zZWQ9V2luZG93XQpAQCAtNDg5LDggKzQ0OCw2IEBAIGludGVyZmFjZSBIVE1M
UGFyYW1FbGVtZW50IDogSFRNTEVsZW1lbnQgewogCiAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRl
IERPTVN0cmluZyBuYW1lOwogICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBET01TdHJpbmcgdmFs
dWU7Ci0KLSAgLy8gYWxzbyBoYXMgb2Jzb2xldGUgbWVtYmVycwogfTsKIAogW0V4cG9zZWQ9V2lu
ZG93XQpAQCAtNTA2LDcgKzQ2Myw3IEBAIGludGVyZmFjZSBIVE1MVmlkZW9FbGVtZW50IDogSFRN
TE1lZGlhRWxlbWVudCB7CiB9OwogCiBbRXhwb3NlZD1XaW5kb3csCi0gTmFtZWRDb25zdHJ1Y3Rv
cj1BdWRpbyhvcHRpb25hbCBET01TdHJpbmcgc3JjKV0KKyBMZWdhY3lGYWN0b3J5RnVuY3Rpb249
QXVkaW8ob3B0aW9uYWwgRE9NU3RyaW5nIHNyYyldCiBpbnRlcmZhY2UgSFRNTEF1ZGlvRWxlbWVu
dCA6IEhUTUxNZWRpYUVsZW1lbnQgewogICBbSFRNTENvbnN0cnVjdG9yXSBjb25zdHJ1Y3Rvcigp
OwogfTsKQEAgLTczNiw4ICs2OTMsNiBAQCBpbnRlcmZhY2UgSFRNTEFyZWFFbGVtZW50IDogSFRN
TEVsZW1lbnQgewogICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBET01TdHJpbmcgcmVsOwogICBb
U2FtZU9iamVjdCwgUHV0Rm9yd2FyZHM9dmFsdWVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01Ub2tl
bkxpc3QgcmVsTGlzdDsKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHJlZmVy
cmVyUG9saWN5OwotCi0gIC8vIGFsc28gaGFzIG9ic29sZXRlIG1lbWJlcnMKIH07CiBIVE1MQXJl
YUVsZW1lbnQgaW5jbHVkZXMgSFRNTEh5cGVybGlua0VsZW1lbnRVdGlsczsKIApAQCAtNzYzLDE1
ICs3MTgsMTEgQEAgaW50ZXJmYWNlIEhUTUxUYWJsZUVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAg
IFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgSFRNTENvbGxlY3Rpb24gcm93czsKICAg
SFRNTFRhYmxlUm93RWxlbWVudCBpbnNlcnRSb3cob3B0aW9uYWwgbG9uZyBpbmRleCA9IC0xKTsK
ICAgW0NFUmVhY3Rpb25zXSB2b2lkIGRlbGV0ZVJvdyhsb25nIGluZGV4KTsKLQotICAvLyBhbHNv
IGhhcyBvYnNvbGV0ZSBtZW1iZXJzCiB9OwogCiBbRXhwb3NlZD1XaW5kb3ddCiBpbnRlcmZhY2Ug
SFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgIFtIVE1MQ29uc3RydWN0
b3JdIGNvbnN0cnVjdG9yKCk7Ci0KLSAgLy8gYWxzbyBoYXMgb2Jzb2xldGUgbWVtYmVycwogfTsK
IAogW0V4cG9zZWQ9V2luZG93XQpAQCAtNzc5LDggKzczMCw2IEBAIGludGVyZmFjZSBIVE1MVGFi
bGVDb2xFbGVtZW50IDogSFRNTEVsZW1lbnQgewogICBbSFRNTENvbnN0cnVjdG9yXSBjb25zdHJ1
Y3RvcigpOwogCiAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgc3BhbjsK
LQotICAvLyBhbHNvIGhhcyBvYnNvbGV0ZSBtZW1iZXJzCiB9OwogCiBbRXhwb3NlZD1XaW5kb3dd
CkBAIC03OTAsOCArNzM5LDYgQEAgaW50ZXJmYWNlIEhUTUxUYWJsZVNlY3Rpb25FbGVtZW50IDog
SFRNTEVsZW1lbnQgewogICBbU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIEhUTUxDb2xs
ZWN0aW9uIHJvd3M7CiAgIEhUTUxUYWJsZVJvd0VsZW1lbnQgaW5zZXJ0Um93KG9wdGlvbmFsIGxv
bmcgaW5kZXggPSAtMSk7CiAgIFtDRVJlYWN0aW9uc10gdm9pZCBkZWxldGVSb3cobG9uZyBpbmRl
eCk7Ci0KLSAgLy8gYWxzbyBoYXMgb2Jzb2xldGUgbWVtYmVycwogfTsKIAogW0V4cG9zZWQ9V2lu
ZG93XQpAQCAtODAzLDggKzc1MCw2IEBAIGludGVyZmFjZSBIVE1MVGFibGVSb3dFbGVtZW50IDog
SFRNTEVsZW1lbnQgewogICBbU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIEhUTUxDb2xs
ZWN0aW9uIGNlbGxzOwogICBIVE1MVGFibGVDZWxsRWxlbWVudCBpbnNlcnRDZWxsKG9wdGlvbmFs
IGxvbmcgaW5kZXggPSAtMSk7CiAgIFtDRVJlYWN0aW9uc10gdm9pZCBkZWxldGVDZWxsKGxvbmcg
aW5kZXgpOwotCi0gIC8vIGFsc28gaGFzIG9ic29sZXRlIG1lbWJlcnMKIH07CiAKIFtFeHBvc2Vk
PVdpbmRvd10KQEAgLTgxOCwxMiArNzYzLDEwIEBAIGludGVyZmFjZSBIVE1MVGFibGVDZWxsRWxl
bWVudCA6IEhUTUxFbGVtZW50IHsKIAogICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBET01TdHJp
bmcgc2NvcGU7IC8vIG9ubHkgY29uZm9ybWluZyBmb3IgdGggZWxlbWVudHMKICAgW0NFUmVhY3Rp
b25zXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGFiYnI7ICAvLyBvbmx5IGNvbmZvcm1pbmcgZm9yIHRo
IGVsZW1lbnRzCi0KLSAgLy8gYWxzbyBoYXMgb2Jzb2xldGUgbWVtYmVycwogfTsKIAogW0V4cG9z
ZWQ9V2luZG93LAotIE92ZXJyaWRlQnVpbHRpbnMsCisgTGVnYWN5T3ZlcnJpZGVCdWlsdElucywK
ICBMZWdhY3lVbmVudW1lcmFibGVOYW1lZFByb3BlcnRpZXNdCiBpbnRlcmZhY2UgSFRNTEZvcm1F
bGVtZW50IDogSFRNTEVsZW1lbnQgewogICBbSFRNTENvbnN0cnVjdG9yXSBjb25zdHJ1Y3Rvcigp
OwpAQCAtODk3LDcgKzg0MCw3IEBAIGludGVyZmFjZSBIVE1MSW5wdXRFbGVtZW50IDogSFRNTEVs
ZW1lbnQgewogICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBET01TdHJpbmcgc3RlcDsKICAgW0NF
UmVhY3Rpb25zXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHR5cGU7CiAgIFtDRVJlYWN0aW9uc10gYXR0
cmlidXRlIERPTVN0cmluZyBkZWZhdWx0VmFsdWU7Ci0gIFtDRVJlYWN0aW9uc10gYXR0cmlidXRl
IFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIHZhbHVlOworICBbQ0VSZWFjdGlv
bnNdIGF0dHJpYnV0ZSBbTGVnYWN5TnVsbFRvRW1wdHlTdHJpbmddIERPTVN0cmluZyB2YWx1ZTsK
ICAgYXR0cmlidXRlIG9iamVjdD8gdmFsdWVBc0RhdGU7CiAgIGF0dHJpYnV0ZSB1bnJlc3RyaWN0
ZWQgZG91YmxlIHZhbHVlQXNOdW1iZXI7CiAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIHVuc2ln
bmVkIGxvbmcgd2lkdGg7CkBAIC05MjEsOCArODY0LDYgQEAgaW50ZXJmYWNlIEhUTUxJbnB1dEVs
ZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgIHZvaWQgc2V0UmFuZ2VUZXh0KERPTVN0cmluZyByZXBs
YWNlbWVudCk7CiAgIHZvaWQgc2V0UmFuZ2VUZXh0KERPTVN0cmluZyByZXBsYWNlbWVudCwgdW5z
aWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQsIG9wdGlvbmFsIFNlbGVjdGlvbk1v
ZGUgc2VsZWN0aW9uTW9kZSA9ICJwcmVzZXJ2ZSIpOwogICB2b2lkIHNldFNlbGVjdGlvblJhbmdl
KHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kLCBvcHRpb25hbCBET01TdHJp
bmcgZGlyZWN0aW9uKTsKLQotICAvLyBhbHNvIGhhcyBvYnNvbGV0ZSBtZW1iZXJzCiB9OwogCiBb
RXhwb3NlZD1XaW5kb3ddCkBAIC0xMDAzLDcgKzk0NCw3IEBAIGludGVyZmFjZSBIVE1MT3B0R3Jv
dXBFbGVtZW50IDogSFRNTEVsZW1lbnQgewogfTsKIAogW0V4cG9zZWQ9V2luZG93LAotIE5hbWVk
Q29uc3RydWN0b3I9T3B0aW9uKG9wdGlvbmFsIERPTVN0cmluZyB0ZXh0ID0gIiIsIG9wdGlvbmFs
IERPTVN0cmluZyB2YWx1ZSwgb3B0aW9uYWwgYm9vbGVhbiBkZWZhdWx0U2VsZWN0ZWQgPSBmYWxz
ZSwgb3B0aW9uYWwgYm9vbGVhbiBzZWxlY3RlZCA9IGZhbHNlKV0KKyBMZWdhY3lGYWN0b3J5RnVu
Y3Rpb249T3B0aW9uKG9wdGlvbmFsIERPTVN0cmluZyB0ZXh0ID0gIiIsIG9wdGlvbmFsIERPTVN0
cmluZyB2YWx1ZSwgb3B0aW9uYWwgYm9vbGVhbiBkZWZhdWx0U2VsZWN0ZWQgPSBmYWxzZSwgb3B0
aW9uYWwgYm9vbGVhbiBzZWxlY3RlZCA9IGZhbHNlKV0KIGludGVyZmFjZSBIVE1MT3B0aW9uRWxl
bWVudCA6IEhUTUxFbGVtZW50IHsKICAgW0hUTUxDb25zdHJ1Y3Rvcl0gY29uc3RydWN0b3IoKTsK
IApAQCAtMTAzOCw3ICs5NzksNyBAQCBpbnRlcmZhY2UgSFRNTFRleHRBcmVhRWxlbWVudCA6IEhU
TUxFbGVtZW50IHsKIAogICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHR5cGU7CiAgIFtD
RVJlYWN0aW9uc10gYXR0cmlidXRlIERPTVN0cmluZyBkZWZhdWx0VmFsdWU7Ci0gIGF0dHJpYnV0
ZSBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyB2YWx1ZTsKKyAgYXR0cmlidXRl
IFtMZWdhY3lOdWxsVG9FbXB0eVN0cmluZ10gRE9NU3RyaW5nIHZhbHVlOwogICByZWFkb25seSBh
dHRyaWJ1dGUgdW5zaWduZWQgbG9uZyB0ZXh0TGVuZ3RoOwogCiAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBib29sZWFuIHdpbGxWYWxpZGF0ZTsKQEAgLTExMjksOCArMTA3MCw2IEBAIGludGVyZmFjZSBI
VE1MTGVnZW5kRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgW0hUTUxDb25zdHJ1Y3Rvcl0gY29u
c3RydWN0b3IoKTsKIAogICByZWFkb25seSBhdHRyaWJ1dGUgSFRNTEZvcm1FbGVtZW50PyBmb3Jt
OwotCi0gIC8vIGFsc28gaGFzIG9ic29sZXRlIG1lbWJlcnMKIH07CiAKIGVudW0gU2VsZWN0aW9u
TW9kZSB7CkBAIC0xMjA5LDcgKzExNDgsNiBAQCBpbnRlcmZhY2UgSFRNTFNjcmlwdEVsZW1lbnQg
OiBIVE1MRWxlbWVudCB7CiAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIERPTVN0cmluZyBpbnRl
Z3JpdHk7CiAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIERPTVN0cmluZyByZWZlcnJlclBvbGlj
eTsKIAotICAvLyBhbHNvIGhhcyBvYnNvbGV0ZSBtZW1iZXJzCiB9OwogCiBbRXhwb3NlZD1XaW5k
b3ddCkBAIC0xMzMxLDcgKzEyNjksNyBAQCBpbnRlcmZhY2UgbWl4aW4gQ2FudmFzRmlsbFN0cm9r
ZVN0eWxlcyB7CiAgIGF0dHJpYnV0ZSAoRE9NU3RyaW5nIG9yIENhbnZhc0dyYWRpZW50IG9yIENh
bnZhc1BhdHRlcm4pIGZpbGxTdHlsZTsgLy8gKGRlZmF1bHQgYmxhY2spCiAgIENhbnZhc0dyYWRp
ZW50IGNyZWF0ZUxpbmVhckdyYWRpZW50KGRvdWJsZSB4MCwgZG91YmxlIHkwLCBkb3VibGUgeDEs
IGRvdWJsZSB5MSk7CiAgIENhbnZhc0dyYWRpZW50IGNyZWF0ZVJhZGlhbEdyYWRpZW50KGRvdWJs
ZSB4MCwgZG91YmxlIHkwLCBkb3VibGUgcjAsIGRvdWJsZSB4MSwgZG91YmxlIHkxLCBkb3VibGUg
cjEpOwotICBDYW52YXNQYXR0ZXJuPyBjcmVhdGVQYXR0ZXJuKENhbnZhc0ltYWdlU291cmNlIGlt
YWdlLCBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyByZXBldGl0aW9uKTsKKyAg
Q2FudmFzUGF0dGVybj8gY3JlYXRlUGF0dGVybihDYW52YXNJbWFnZVNvdXJjZSBpbWFnZSwgW0xl
Z2FjeU51bGxUb0VtcHR5U3RyaW5nXSBET01TdHJpbmcgcmVwZXRpdGlvbik7CiAKIH07CiAKQEAg
LTE1NjYsNyArMTUwNCw3IEBAIGludGVyZmFjZSBFbGVtZW50SW50ZXJuYWxzIHsKIAogICByZWFk
b25seSBhdHRyaWJ1dGUgSFRNTEZvcm1FbGVtZW50PyBmb3JtOwogCi0gIHZvaWQgc2V0VmFsaWRp
dHkoVmFsaWRpdHlTdGF0ZUZsYWdzIGZsYWdzLAorICB2b2lkIHNldFZhbGlkaXR5KG9wdGlvbmFs
IFZhbGlkaXR5U3RhdGVGbGFncyBmbGFncyA9IHt9LAogICAgICAgICAgICAgICAgICAgIG9wdGlv
bmFsIERPTVN0cmluZyBtZXNzYWdlLAogICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIEhUTUxF
bGVtZW50IGFuY2hvcik7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIHdpbGxWYWxpZGF0
ZTsKQEAgLTE2NTUsMTEgKzE1OTMsMTEgQEAgZGljdGlvbmFyeSBEcmFnRXZlbnRJbml0IDogTW91
c2VFdmVudEluaXQgewogIExlZ2FjeVVuZW51bWVyYWJsZU5hbWVkUHJvcGVydGllc10KIGludGVy
ZmFjZSBXaW5kb3cgOiBFdmVudFRhcmdldCB7CiAgIC8vIHRoZSBjdXJyZW50IGJyb3dzaW5nIGNv
bnRleHQKLSAgW1VuZm9yZ2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgV2luZG93UHJveHkgd2lu
ZG93OworICBbTGVnYWN5VW5mb3JnZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBXaW5kb3dQcm94
eSB3aW5kb3c7CiAgIFtSZXBsYWNlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIFdpbmRvd1Byb3h5
IHNlbGY7Ci0gIFtVbmZvcmdlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIERvY3VtZW50IGRvY3Vt
ZW50OworICBbTGVnYWN5VW5mb3JnZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBEb2N1bWVudCBk
b2N1bWVudDsKICAgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwotICBbUHV0Rm9yd2FyZHM9aHJl
ZiwgVW5mb3JnZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBMb2NhdGlvbiBsb2NhdGlvbjsKKyAg
W1B1dEZvcndhcmRzPWhyZWYsIExlZ2FjeVVuZm9yZ2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUg
TG9jYXRpb24gbG9jYXRpb247CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBIaXN0b3J5IGhpc3Rvcnk7
CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBDdXN0b21FbGVtZW50UmVnaXN0cnkgY3VzdG9tRWxlbWVu
dHM7CiAgIFtSZXBsYWNlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIEJhclByb3AgbG9jYXRpb25i
YXI7CkBAIC0xNjc4LDExICsxNjE2LDExIEBAIGludGVyZmFjZSBXaW5kb3cgOiBFdmVudFRhcmdl
dCB7CiAgIC8vIG90aGVyIGJyb3dzaW5nIGNvbnRleHRzCiAgIFtSZXBsYWNlYWJsZV0gcmVhZG9u
bHkgYXR0cmlidXRlIFdpbmRvd1Byb3h5IGZyYW1lczsKICAgW1JlcGxhY2VhYmxlXSByZWFkb25s
eSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7Ci0gIFtVbmZvcmdlYWJsZV0gcmVhZG9u
bHkgYXR0cmlidXRlIFdpbmRvd1Byb3h5PyB0b3A7CisgIFtMZWdhY3lVbmZvcmdlYWJsZV0gcmVh
ZG9ubHkgYXR0cmlidXRlIFdpbmRvd1Byb3h5PyB0b3A7CiAgIGF0dHJpYnV0ZSBhbnkgb3BlbmVy
OwogICBbUmVwbGFjZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBXaW5kb3dQcm94eT8gcGFyZW50
OwogICByZWFkb25seSBhdHRyaWJ1dGUgRWxlbWVudD8gZnJhbWVFbGVtZW50OwotICBXaW5kb3dQ
cm94eT8gb3BlbihvcHRpb25hbCBVU1ZTdHJpbmcgdXJsID0gIiIsIG9wdGlvbmFsIERPTVN0cmlu
ZyB0YXJnZXQgPSAiX2JsYW5rIiwgb3B0aW9uYWwgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBE
T01TdHJpbmcgZmVhdHVyZXMgPSAiIik7CisgIFdpbmRvd1Byb3h5PyBvcGVuKG9wdGlvbmFsIFVT
VlN0cmluZyB1cmwgPSAiIiwgb3B0aW9uYWwgRE9NU3RyaW5nIHRhcmdldCA9ICJfYmxhbmsiLCBv
cHRpb25hbCBbTGVnYWN5TnVsbFRvRW1wdHlTdHJpbmddIERPTVN0cmluZyBmZWF0dXJlcyA9ICIi
KTsKICAgZ2V0dGVyIG9iamVjdCAoRE9NU3RyaW5nIG5hbWUpOwogICAvLyBTaW5jZSB0aGlzIGlz
IHRoZSBnbG9iYWwgb2JqZWN0LCB0aGUgSURMIG5hbWVkIGdldHRlciBhZGRzIGEgTmFtZWRQcm9w
ZXJ0aWVzT2JqZWN0IGV4b3RpYwogICAvLyBvYmplY3Qgb24gdGhlIHByb3RvdHlwZSBjaGFpbi4g
SW5kZWVkLCB0aGlzIGRvZXMgbm90IG1ha2UgdGhlIGdsb2JhbCBvYmplY3QgYW4gZXhvdGljIG9i
amVjdC4KQEAgLTE3MzAsMjEgKzE2NjgsMjEgQEAgaW50ZXJmYWNlIEhpc3RvcnkgewogCiBbRXhw
b3NlZD1XaW5kb3ddCiBpbnRlcmZhY2UgTG9jYXRpb24geyAvLyBidXQgc2VlIGFsc28gYWRkaXRp
b25hbCBjcmVhdGlvbiBzdGVwcyBhbmQgb3ZlcnJpZGRlbiBpbnRlcm5hbCBtZXRob2RzCi0gIFtV
bmZvcmdlYWJsZV0gc3RyaW5naWZpZXIgYXR0cmlidXRlIFVTVlN0cmluZyBocmVmOwotICBbVW5m
b3JnZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBVU1ZTdHJpbmcgb3JpZ2luOwotICBbVW5mb3Jn
ZWFibGVdIGF0dHJpYnV0ZSBVU1ZTdHJpbmcgcHJvdG9jb2w7Ci0gIFtVbmZvcmdlYWJsZV0gYXR0
cmlidXRlIFVTVlN0cmluZyBob3N0OwotICBbVW5mb3JnZWFibGVdIGF0dHJpYnV0ZSBVU1ZTdHJp
bmcgaG9zdG5hbWU7Ci0gIFtVbmZvcmdlYWJsZV0gYXR0cmlidXRlIFVTVlN0cmluZyBwb3J0Owot
ICBbVW5mb3JnZWFibGVdIGF0dHJpYnV0ZSBVU1ZTdHJpbmcgcGF0aG5hbWU7Ci0gIFtVbmZvcmdl
YWJsZV0gYXR0cmlidXRlIFVTVlN0cmluZyBzZWFyY2g7Ci0gIFtVbmZvcmdlYWJsZV0gYXR0cmli
dXRlIFVTVlN0cmluZyBoYXNoOworICBbTGVnYWN5VW5mb3JnZWFibGVdIHN0cmluZ2lmaWVyIGF0
dHJpYnV0ZSBVU1ZTdHJpbmcgaHJlZjsKKyAgW0xlZ2FjeVVuZm9yZ2VhYmxlXSByZWFkb25seSBh
dHRyaWJ1dGUgVVNWU3RyaW5nIG9yaWdpbjsKKyAgW0xlZ2FjeVVuZm9yZ2VhYmxlXSBhdHRyaWJ1
dGUgVVNWU3RyaW5nIHByb3RvY29sOworICBbTGVnYWN5VW5mb3JnZWFibGVdIGF0dHJpYnV0ZSBV
U1ZTdHJpbmcgaG9zdDsKKyAgW0xlZ2FjeVVuZm9yZ2VhYmxlXSBhdHRyaWJ1dGUgVVNWU3RyaW5n
IGhvc3RuYW1lOworICBbTGVnYWN5VW5mb3JnZWFibGVdIGF0dHJpYnV0ZSBVU1ZTdHJpbmcgcG9y
dDsKKyAgW0xlZ2FjeVVuZm9yZ2VhYmxlXSBhdHRyaWJ1dGUgVVNWU3RyaW5nIHBhdGhuYW1lOwor
ICBbTGVnYWN5VW5mb3JnZWFibGVdIGF0dHJpYnV0ZSBVU1ZTdHJpbmcgc2VhcmNoOworICBbTGVn
YWN5VW5mb3JnZWFibGVdIGF0dHJpYnV0ZSBVU1ZTdHJpbmcgaGFzaDsKIAotICBbVW5mb3JnZWFi
bGVdIHZvaWQgYXNzaWduKFVTVlN0cmluZyB1cmwpOwotICBbVW5mb3JnZWFibGVdIHZvaWQgcmVw
bGFjZShVU1ZTdHJpbmcgdXJsKTsKLSAgW1VuZm9yZ2VhYmxlXSB2b2lkIHJlbG9hZCgpOworICBb
TGVnYWN5VW5mb3JnZWFibGVdIHZvaWQgYXNzaWduKFVTVlN0cmluZyB1cmwpOworICBbTGVnYWN5
VW5mb3JnZWFibGVdIHZvaWQgcmVwbGFjZShVU1ZTdHJpbmcgdXJsKTsKKyAgW0xlZ2FjeVVuZm9y
Z2VhYmxlXSB2b2lkIHJlbG9hZCgpOwogCi0gIFtVbmZvcmdlYWJsZSwgU2FtZU9iamVjdF0gcmVh
ZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZ0xpc3QgYW5jZXN0b3JPcmlnaW5zOworICBbTGVnYWN5
VW5mb3JnZWFibGUsIFNhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmdMaXN0
IGFuY2VzdG9yT3JpZ2luczsKIH07CiAKIFtFeHBvc2VkPVdpbmRvdywKQEAgLTE4NDksMTUgKzE3
ODcsMTUgQEAgZGljdGlvbmFyeSBQcm9taXNlUmVqZWN0aW9uRXZlbnRJbml0IDogRXZlbnRJbml0
IHsKICAgYW55IHJlYXNvbjsKIH07CiAKLVtUcmVhdE5vbk9iamVjdEFzTnVsbF0KK1tMZWdhY3lU
cmVhdE5vbk9iamVjdEFzTnVsbF0KIGNhbGxiYWNrIEV2ZW50SGFuZGxlck5vbk51bGwgPSBhbnkg
KEV2ZW50IGV2ZW50KTsKIHR5cGVkZWYgRXZlbnRIYW5kbGVyTm9uTnVsbD8gRXZlbnRIYW5kbGVy
OwogCi1bVHJlYXROb25PYmplY3RBc051bGxdCitbTGVnYWN5VHJlYXROb25PYmplY3RBc051bGxd
CiBjYWxsYmFjayBPbkVycm9yRXZlbnRIYW5kbGVyTm9uTnVsbCA9IGFueSAoKEV2ZW50IG9yIERP
TVN0cmluZykgZXZlbnQsIG9wdGlvbmFsIERPTVN0cmluZyBzb3VyY2UsIG9wdGlvbmFsIHVuc2ln
bmVkIGxvbmcgbGluZW5vLCBvcHRpb25hbCB1bnNpZ25lZCBsb25nIGNvbG5vLCBvcHRpb25hbCBh
bnkgZXJyb3IpOwogdHlwZWRlZiBPbkVycm9yRXZlbnRIYW5kbGVyTm9uTnVsbD8gT25FcnJvckV2
ZW50SGFuZGxlcjsKIAotW1RyZWF0Tm9uT2JqZWN0QXNOdWxsXQorW0xlZ2FjeVRyZWF0Tm9uT2Jq
ZWN0QXNOdWxsXQogY2FsbGJhY2sgT25CZWZvcmVVbmxvYWRFdmVudEhhbmRsZXJOb25OdWxsID0g
RE9NU3RyaW5nPyAoRXZlbnQgZXZlbnQpOwogdHlwZWRlZiBPbkJlZm9yZVVubG9hZEV2ZW50SGFu
ZGxlck5vbk51bGw/IE9uQmVmb3JlVW5sb2FkRXZlbnRIYW5kbGVyOwogCkBAIC0xODk4LDEzICsx
ODM2LDEyIEBAIGludGVyZmFjZSBtaXhpbiBHbG9iYWxFdmVudEhhbmRsZXJzIHsKICAgYXR0cmli
dXRlIEV2ZW50SGFuZGxlciBvbmxvYWRlZG1ldGFkYXRhOwogICBhdHRyaWJ1dGUgRXZlbnRIYW5k
bGVyIG9ubG9hZHN0YXJ0OwogICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ubW91c2Vkb3duOwot
ICBbTGVuaWVudFRoaXNdIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25tb3VzZWVudGVyOwotICBb
TGVuaWVudFRoaXNdIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25tb3VzZWxlYXZlOworICBbTGVn
YWN5TGVuaWVudFRoaXNdIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25tb3VzZWVudGVyOworICBb
TGVnYWN5TGVuaWVudFRoaXNdIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25tb3VzZWxlYXZlOwog
ICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ubW91c2Vtb3ZlOwogICBhdHRyaWJ1dGUgRXZlbnRI
YW5kbGVyIG9ubW91c2VvdXQ7CiAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25tb3VzZW92ZXI7
CiAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25tb3VzZXVwOwotICBhdHRyaWJ1dGUgRXZlbnRI
YW5kbGVyIG9ud2hlZWw7CiAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25wYXVzZTsKICAgYXR0
cmlidXRlIEV2ZW50SGFuZGxlciBvbnBsYXk7CiAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25w
bGF5aW5nOwpAQCAtMTkyNSw2ICsxODYyLDExIEBAIGludGVyZmFjZSBtaXhpbiBHbG9iYWxFdmVu
dEhhbmRsZXJzIHsKICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbnRvZ2dsZTsKICAgYXR0cmli
dXRlIEV2ZW50SGFuZGxlciBvbnZvbHVtZWNoYW5nZTsKICAgYXR0cmlidXRlIEV2ZW50SGFuZGxl
ciBvbndhaXRpbmc7CisgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb253ZWJraXRhbmltYXRpb25l
bmQ7CisgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb253ZWJraXRhbmltYXRpb25pdGVyYXRpb247
CisgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb253ZWJraXRhbmltYXRpb25zdGFydDsKKyAgYXR0
cmlidXRlIEV2ZW50SGFuZGxlciBvbndlYmtpdHRyYW5zaXRpb25lbmQ7CisgIGF0dHJpYnV0ZSBF
dmVudEhhbmRsZXIgb253aGVlbDsKIH07CiAKIGludGVyZmFjZSBtaXhpbiBXaW5kb3dFdmVudEhh
bmRsZXJzIHsKQEAgLTE5NzcsNiArMTkxOSwyMSBAQCBpbnRlcmZhY2UgbWl4aW4gV2luZG93T3JX
b3JrZXJHbG9iYWxTY29wZSB7CiBXaW5kb3cgaW5jbHVkZXMgV2luZG93T3JXb3JrZXJHbG9iYWxT
Y29wZTsKIFdvcmtlckdsb2JhbFNjb3BlIGluY2x1ZGVzIFdpbmRvd09yV29ya2VyR2xvYmFsU2Nv
cGU7CiAKK1tFeHBvc2VkPVdpbmRvd10KK2ludGVyZmFjZSBET01QYXJzZXIgeworICBjb25zdHJ1
Y3RvcigpOworCisgIFtOZXdPYmplY3RdIERvY3VtZW50IHBhcnNlRnJvbVN0cmluZyhET01TdHJp
bmcgc3RyaW5nLCBET01QYXJzZXJTdXBwb3J0ZWRUeXBlIHR5cGUpOworfTsKKworZW51bSBET01Q
YXJzZXJTdXBwb3J0ZWRUeXBlIHsKKyAgInRleHQvaHRtbCIsCisgICJ0ZXh0L3htbCIsCisgICJh
cHBsaWNhdGlvbi94bWwiLAorICAiYXBwbGljYXRpb24veGh0bWwreG1sIiwKKyAgImltYWdlL3N2
Zyt4bWwiCit9OworCiBbRXhwb3NlZD1XaW5kb3ddCiBpbnRlcmZhY2UgTmF2aWdhdG9yIHsKICAg
Ly8gb2JqZWN0cyBpbXBsZW1lbnRpbmcgdGhpcyBpbnRlcmZhY2UgYWxzbyBpbXBsZW1lbnQgdGhl
IGludGVyZmFjZXMgZ2l2ZW4gYmVsb3cKQEAgLTIwMTIsNyArMTk2OSw3IEBAIGludGVyZmFjZSBt
aXhpbiBOYXZpZ2F0b3JMYW5ndWFnZSB7CiB9OwogCiBpbnRlcmZhY2UgbWl4aW4gTmF2aWdhdG9y
Q29udGVudFV0aWxzIHsKLSAgW1NlY3VyZUNvbnRleHRdIHZvaWQgcmVnaXN0ZXJQcm90b2NvbEhh
bmRsZXIoRE9NU3RyaW5nIHNjaGVtZSwgVVNWU3RyaW5nIHVybCwgRE9NU3RyaW5nIHRpdGxlKTsK
KyAgW1NlY3VyZUNvbnRleHRdIHZvaWQgcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoRE9NU3RyaW5n
IHNjaGVtZSwgVVNWU3RyaW5nIHVybCk7CiAgIFtTZWN1cmVDb250ZXh0XSB2b2lkIHVucmVnaXN0
ZXJQcm90b2NvbEhhbmRsZXIoRE9NU3RyaW5nIHNjaGVtZSwgVVNWU3RyaW5nIHVybCk7CiB9Owog
CkBAIC0yNDA0LDggKzIzNjEsOCBAQCBpbnRlcmZhY2UgSFRNTEZyYW1lRWxlbWVudCA6IEhUTUxF
bGVtZW50IHsKICAgcmVhZG9ubHkgYXR0cmlidXRlIERvY3VtZW50PyBjb250ZW50RG9jdW1lbnQ7
CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBXaW5kb3dQcm94eT8gY29udGVudFdpbmRvdzsKIAotICBb
Q0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmlu
ZyBtYXJnaW5IZWlnaHQ7Ci0gIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIFtUcmVhdE51bGxBcz1F
bXB0eVN0cmluZ10gRE9NU3RyaW5nIG1hcmdpbldpZHRoOworICBbQ0VSZWFjdGlvbnNdIGF0dHJp
YnV0ZSBbTGVnYWN5TnVsbFRvRW1wdHlTdHJpbmddIERPTVN0cmluZyBtYXJnaW5IZWlnaHQ7Cisg
IFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIFtMZWdhY3lOdWxsVG9FbXB0eVN0cmluZ10gRE9NU3Ry
aW5nIG1hcmdpbldpZHRoOwogfTsKIAogcGFydGlhbCBpbnRlcmZhY2UgSFRNTEFuY2hvckVsZW1l
bnQgewpAQCAtMjQyMSwxMSArMjM3OCwxMSBAQCBwYXJ0aWFsIGludGVyZmFjZSBIVE1MQXJlYUVs
ZW1lbnQgewogfTsKIAogcGFydGlhbCBpbnRlcmZhY2UgSFRNTEJvZHlFbGVtZW50IHsKLSAgW0NF
UmVhY3Rpb25zXSBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcg
dGV4dDsKLSAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5n
XSBET01TdHJpbmcgbGluazsKLSAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFz
PUVtcHR5U3RyaW5nXSBET01TdHJpbmcgdkxpbms7Ci0gIFtDRVJlYWN0aW9uc10gYXR0cmlidXRl
IFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGFMaW5rOwotICBbQ0VSZWFjdGlv
bnNdIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBiZ0NvbG9y
OworICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbTGVnYWN5TnVsbFRvRW1wdHlTdHJpbmddIERP
TVN0cmluZyB0ZXh0OworICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbTGVnYWN5TnVsbFRvRW1w
dHlTdHJpbmddIERPTVN0cmluZyBsaW5rOworICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbTGVn
YWN5TnVsbFRvRW1wdHlTdHJpbmddIERPTVN0cmluZyB2TGluazsKKyAgW0NFUmVhY3Rpb25zXSBh
dHRyaWJ1dGUgW0xlZ2FjeU51bGxUb0VtcHR5U3RyaW5nXSBET01TdHJpbmcgYUxpbms7CisgIFtD
RVJlYWN0aW9uc10gYXR0cmlidXRlIFtMZWdhY3lOdWxsVG9FbXB0eVN0cmluZ10gRE9NU3RyaW5n
IGJnQ29sb3I7CiAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIERPTVN0cmluZyBiYWNrZ3JvdW5k
OwogfTsKIApAQCAtMjQ2OSw3ICsyNDI2LDcgQEAgcGFydGlhbCBpbnRlcmZhY2UgSFRNTEVtYmVk
RWxlbWVudCB7CiBpbnRlcmZhY2UgSFRNTEZvbnRFbGVtZW50IDogSFRNTEVsZW1lbnQgewogICBb
SFRNTENvbnN0cnVjdG9yXSBjb25zdHJ1Y3RvcigpOwogCi0gIFtDRVJlYWN0aW9uc10gYXR0cmli
dXRlIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGNvbG9yOworICBbQ0VSZWFj
dGlvbnNdIGF0dHJpYnV0ZSBbTGVnYWN5TnVsbFRvRW1wdHlTdHJpbmddIERPTVN0cmluZyBjb2xv
cjsKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGZhY2U7CiAgIFtDRVJlYWN0
aW9uc10gYXR0cmlidXRlIERPTVN0cmluZyBzaXplOwogfTsKQEAgLTI0OTYsOCArMjQ1Myw4IEBA
IHBhcnRpYWwgaW50ZXJmYWNlIEhUTUxJRnJhbWVFbGVtZW50IHsKICAgW0NFUmVhY3Rpb25zXSBh
dHRyaWJ1dGUgRE9NU3RyaW5nIGZyYW1lQm9yZGVyOwogICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0
ZSBVU1ZTdHJpbmcgbG9uZ0Rlc2M7CiAKLSAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgW1RyZWF0
TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgbWFyZ2luSGVpZ2h0OwotICBbQ0VSZWFjdGlv
bnNdIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBtYXJnaW5X
aWR0aDsKKyAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgW0xlZ2FjeU51bGxUb0VtcHR5U3RyaW5n
XSBET01TdHJpbmcgbWFyZ2luSGVpZ2h0OworICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbTGVn
YWN5TnVsbFRvRW1wdHlTdHJpbmddIERPTVN0cmluZyBtYXJnaW5XaWR0aDsKIH07CiAKIHBhcnRp
YWwgaW50ZXJmYWNlIEhUTUxJbWFnZUVsZW1lbnQgewpAQCAtMjUwOCw3ICsyNDY1LDcgQEAgcGFy
dGlhbCBpbnRlcmZhY2UgSFRNTEltYWdlRWxlbWVudCB7CiAgIFtDRVJlYWN0aW9uc10gYXR0cmli
dXRlIHVuc2lnbmVkIGxvbmcgdnNwYWNlOwogICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBVU1ZT
dHJpbmcgbG9uZ0Rlc2M7CiAKLSAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFz
PUVtcHR5U3RyaW5nXSBET01TdHJpbmcgYm9yZGVyOworICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0
ZSBbTGVnYWN5TnVsbFRvRW1wdHlTdHJpbmddIERPTVN0cmluZyBib3JkZXI7CiB9OwogCiBwYXJ0
aWFsIGludGVyZmFjZSBIVE1MSW5wdXRFbGVtZW50IHsKQEAgLTI1NDksNyArMjUwNiw3IEBAIHBh
cnRpYWwgaW50ZXJmYWNlIEhUTUxPYmplY3RFbGVtZW50IHsKICAgW0NFUmVhY3Rpb25zXSBhdHRy
aWJ1dGUgRE9NU3RyaW5nIGNvZGVCYXNlOwogICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBET01T
dHJpbmcgY29kZVR5cGU7CiAKLSAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFz
PUVtcHR5U3RyaW5nXSBET01TdHJpbmcgYm9yZGVyOworICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0
ZSBbTGVnYWN5TnVsbFRvRW1wdHlTdHJpbmddIERPTVN0cmluZyBib3JkZXI7CiB9OwogCiBwYXJ0
aWFsIGludGVyZmFjZSBIVE1MT0xpc3RFbGVtZW50IHsKQEAgLTI1ODcsOSArMjU0NCw5IEBAIHBh
cnRpYWwgaW50ZXJmYWNlIEhUTUxUYWJsZUVsZW1lbnQgewogICBbQ0VSZWFjdGlvbnNdIGF0dHJp
YnV0ZSBET01TdHJpbmcgc3VtbWFyeTsKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIHdpZHRoOwogCi0gIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIFtUcmVhdE51bGxBcz1FbXB0
eVN0cmluZ10gRE9NU3RyaW5nIGJnQ29sb3I7Ci0gIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIFtU
cmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGNlbGxQYWRkaW5nOwotICBbQ0VSZWFj
dGlvbnNdIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBjZWxs
U3BhY2luZzsKKyAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgW0xlZ2FjeU51bGxUb0VtcHR5U3Ry
aW5nXSBET01TdHJpbmcgYmdDb2xvcjsKKyAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgW0xlZ2Fj
eU51bGxUb0VtcHR5U3RyaW5nXSBET01TdHJpbmcgY2VsbFBhZGRpbmc7CisgIFtDRVJlYWN0aW9u
c10gYXR0cmlidXRlIFtMZWdhY3lOdWxsVG9FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGNlbGxTcGFj
aW5nOwogfTsKIAogcGFydGlhbCBpbnRlcmZhY2UgSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQgewpA
QCAtMjYxMCw3ICsyNTY3LDcgQEAgcGFydGlhbCBpbnRlcmZhY2UgSFRNTFRhYmxlQ2VsbEVsZW1l
bnQgewogICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBib29sZWFuIG5vV3JhcDsKICAgW0NFUmVh
Y3Rpb25zXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHZBbGlnbjsKIAotICBbQ0VSZWFjdGlvbnNdIGF0
dHJpYnV0ZSBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBiZ0NvbG9yOworICBb
Q0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbTGVnYWN5TnVsbFRvRW1wdHlTdHJpbmddIERPTVN0cmlu
ZyBiZ0NvbG9yOwogfTsKIAogcGFydGlhbCBpbnRlcmZhY2UgSFRNTFRhYmxlUm93RWxlbWVudCB7
CkBAIC0yNjE5LDcgKzI1NzYsNyBAQCBwYXJ0aWFsIGludGVyZmFjZSBIVE1MVGFibGVSb3dFbGVt
ZW50IHsKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGNoT2ZmOwogICBbQ0VS
ZWFjdGlvbnNdIGF0dHJpYnV0ZSBET01TdHJpbmcgdkFsaWduOwogCi0gIFtDRVJlYWN0aW9uc10g
YXR0cmlidXRlIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGJnQ29sb3I7Cisg
IFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIFtMZWdhY3lOdWxsVG9FbXB0eVN0cmluZ10gRE9NU3Ry
aW5nIGJnQ29sb3I7CiB9OwogCiBwYXJ0aWFsIGludGVyZmFjZSBIVE1MVUxpc3RFbGVtZW50IHsK
QEAgLTI2MjgsMTEgKzI1ODUsMTEgQEAgcGFydGlhbCBpbnRlcmZhY2UgSFRNTFVMaXN0RWxlbWVu
dCB7CiB9OwogCiBwYXJ0aWFsIGludGVyZmFjZSBEb2N1bWVudCB7Ci0gIFtDRVJlYWN0aW9uc10g
YXR0cmlidXRlIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGZnQ29sb3I7Ci0g
IFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3Ry
aW5nIGxpbmtDb2xvcjsKLSAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPUVt
cHR5U3RyaW5nXSBET01TdHJpbmcgdmxpbmtDb2xvcjsKLSAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1
dGUgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgYWxpbmtDb2xvcjsKLSAgW0NF
UmVhY3Rpb25zXSBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcg
YmdDb2xvcjsKKyAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgW0xlZ2FjeU51bGxUb0VtcHR5U3Ry
aW5nXSBET01TdHJpbmcgZmdDb2xvcjsKKyAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgW0xlZ2Fj
eU51bGxUb0VtcHR5U3RyaW5nXSBET01TdHJpbmcgbGlua0NvbG9yOworICBbQ0VSZWFjdGlvbnNd
IGF0dHJpYnV0ZSBbTGVnYWN5TnVsbFRvRW1wdHlTdHJpbmddIERPTVN0cmluZyB2bGlua0NvbG9y
OworICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbTGVnYWN5TnVsbFRvRW1wdHlTdHJpbmddIERP
TVN0cmluZyBhbGlua0NvbG9yOworICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbTGVnYWN5TnVs
bFRvRW1wdHlTdHJpbmddIERPTVN0cmluZyBiZ0NvbG9yOwogCiAgIFtTYW1lT2JqZWN0XSByZWFk
b25seSBhdHRyaWJ1dGUgSFRNTENvbGxlY3Rpb24gYW5jaG9yczsKICAgW1NhbWVPYmplY3RdIHJl
YWRvbmx5IGF0dHJpYnV0ZSBIVE1MQ29sbGVjdGlvbiBhcHBsZXRzOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2ltYWdl
LWNhcHR1cmUuaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbnRlcmZhY2VzL2ltYWdlLWNhcHR1cmUuaWRsCmluZGV4IGU5MDE2YTFmOWJhYjg3ZTllZDYy
YTRiYzk5ZTdiY2QwZDk1OGFiZjQuLjA5NGYzZjVjYWZlODdhMWY4ZGJiYjAwNDg0MjcxNWQ4ZjU1
MmQwYjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaW50ZXJmYWNlcy9pbWFnZS1jYXB0dXJlLmlkbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvaW1hZ2UtY2FwdHVyZS5pZGwK
QEAgLTMsOSArMywxMCBAQAogLy8gKGh0dHBzOi8vZ2l0aHViLmNvbS90aWRvdXN0L3JlZmZ5LXJl
cG9ydHMpCiAvLyBTb3VyY2U6IE1lZGlhU3RyZWFtIEltYWdlIENhcHR1cmUgKGh0dHBzOi8vdzNj
LmdpdGh1Yi5pby9tZWRpYWNhcHR1cmUtaW1hZ2UvKQogCi1bRXhwb3NlZD1XaW5kb3csIENvbnN0
cnVjdG9yKE1lZGlhU3RyZWFtVHJhY2sgdmlkZW9UcmFjayldCitbRXhwb3NlZD1XaW5kb3ddCiBp
bnRlcmZhY2UgSW1hZ2VDYXB0dXJlIHsKLSAgIFByb21pc2U8QmxvYj4gICAgICAgICAgICAgIHRh
a2VQaG90byhvcHRpb25hbCBQaG90b1NldHRpbmdzIHBob3RvU2V0dGluZ3MpOworICAgY29uc3Ry
dWN0b3IoTWVkaWFTdHJlYW1UcmFjayB2aWRlb1RyYWNrKTsKKyAgIFByb21pc2U8QmxvYj4gICAg
ICAgICAgICAgIHRha2VQaG90byhvcHRpb25hbCBQaG90b1NldHRpbmdzIHBob3RvU2V0dGluZ3Mg
PSB7fSk7CiAgICBQcm9taXNlPFBob3RvQ2FwYWJpbGl0aWVzPiBnZXRQaG90b0NhcGFiaWxpdGll
cygpOwogICAgUHJvbWlzZTxQaG90b1NldHRpbmdzPiAgICAgZ2V0UGhvdG9TZXR0aW5ncygpOwog
CkBAIC05MiwyNyArOTMsMjcgQEAgcGFydGlhbCBkaWN0aW9uYXJ5IE1lZGlhVHJhY2tDYXBhYmls
aXRpZXMgewogfTsKIAogcGFydGlhbCBkaWN0aW9uYXJ5IE1lZGlhVHJhY2tDb25zdHJhaW50U2V0
IHsKLSAgQ29uc3RyYWluRE9NU3RyaW5nIHdoaXRlQmFsYW5jZU1vZGU7Ci0gIENvbnN0cmFpbkRP
TVN0cmluZyBleHBvc3VyZU1vZGU7Ci0gIENvbnN0cmFpbkRPTVN0cmluZyBmb2N1c01vZGU7Ci0g
IENvbnN0cmFpblBvaW50MkQgICBwb2ludHNPZkludGVyZXN0OwotCi0gIENvbnN0cmFpbkRvdWJs
ZSAgICBleHBvc3VyZUNvbXBlbnNhdGlvbjsKLSAgQ29uc3RyYWluRG91YmxlICAgIGV4cG9zdXJl
VGltZTsKLSAgQ29uc3RyYWluRG91YmxlICAgIGNvbG9yVGVtcGVyYXR1cmU7Ci0gIENvbnN0cmFp
bkRvdWJsZSAgICBpc287Ci0KLSAgQ29uc3RyYWluRG91YmxlICAgIGJyaWdodG5lc3M7Ci0gIENv
bnN0cmFpbkRvdWJsZSAgICBjb250cmFzdDsKLSAgQ29uc3RyYWluRG91YmxlICAgIHNhdHVyYXRp
b247Ci0gIENvbnN0cmFpbkRvdWJsZSAgICBzaGFycG5lc3M7Ci0KLSAgQ29uc3RyYWluRG91Ymxl
ICAgIGZvY3VzRGlzdGFuY2U7Ci0gIENvbnN0cmFpbkRvdWJsZSAgICBwYW47Ci0gIENvbnN0cmFp
bkRvdWJsZSAgICB0aWx0OwotICBDb25zdHJhaW5Eb3VibGUgICAgem9vbTsKLQotICBDb25zdHJh
aW5Cb29sZWFuICAgdG9yY2g7CisgIENvbnN0cmFpbkRPTVN0cmluZyAgICAgICAgICAgd2hpdGVC
YWxhbmNlTW9kZTsKKyAgQ29uc3RyYWluRE9NU3RyaW5nICAgICAgICAgICBleHBvc3VyZU1vZGU7
CisgIENvbnN0cmFpbkRPTVN0cmluZyAgICAgICAgICAgZm9jdXNNb2RlOworICBDb25zdHJhaW5Q
b2ludDJEICAgICAgICAgICAgIHBvaW50c09mSW50ZXJlc3Q7CisKKyAgQ29uc3RyYWluRG91Ymxl
ICAgICAgICAgICAgICBleHBvc3VyZUNvbXBlbnNhdGlvbjsKKyAgQ29uc3RyYWluRG91YmxlICAg
ICAgICAgICAgICBleHBvc3VyZVRpbWU7CisgIENvbnN0cmFpbkRvdWJsZSAgICAgICAgICAgICAg
Y29sb3JUZW1wZXJhdHVyZTsKKyAgQ29uc3RyYWluRG91YmxlICAgICAgICAgICAgICBpc287CisK
KyAgQ29uc3RyYWluRG91YmxlICAgICAgICAgICAgICBicmlnaHRuZXNzOworICBDb25zdHJhaW5E
b3VibGUgICAgICAgICAgICAgIGNvbnRyYXN0OworICBDb25zdHJhaW5Eb3VibGUgICAgICAgICAg
ICAgIHNhdHVyYXRpb247CisgIENvbnN0cmFpbkRvdWJsZSAgICAgICAgICAgICAgc2hhcnBuZXNz
OworCisgIENvbnN0cmFpbkRvdWJsZSAgICAgICAgICAgICAgZm9jdXNEaXN0YW5jZTsKKyAgKGJv
b2xlYW4gb3IgQ29uc3RyYWluRG91YmxlKSBwYW47CisgIChib29sZWFuIG9yIENvbnN0cmFpbkRv
dWJsZSkgdGlsdDsKKyAgKGJvb2xlYW4gb3IgQ29uc3RyYWluRG91YmxlKSB6b29tOworCisgIENv
bnN0cmFpbkJvb2xlYW4gICAgICAgICAgICAgdG9yY2g7CiB9OwogCiBwYXJ0aWFsIGRpY3Rpb25h
cnkgTWVkaWFUcmFja1NldHRpbmdzIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIu
aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZh
Y2VzL2ludGVyc2VjdGlvbi1vYnNlcnZlci5pZGwKaW5kZXggZmZkYThmNWM2NGRiYThkMjI1Y2M3
MTI2MzcxYjczOTgwZjRjZTQ4ZS4uNDZmYWQzNTIyZWQyNTM5ZDA0YTY4OGNjNGY1ZDA1YzhlNzZl
ZjI0ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9pbnRlcmZhY2VzL2ludGVyc2VjdGlvbi1vYnNlcnZlci5pZGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2ludGVyc2VjdGlv
bi1vYnNlcnZlci5pZGwKQEAgLTUsMTAgKzUsMTAgQEAKIAogY2FsbGJhY2sgSW50ZXJzZWN0aW9u
T2JzZXJ2ZXJDYWxsYmFjayA9IHZvaWQgKHNlcXVlbmNlPEludGVyc2VjdGlvbk9ic2VydmVyRW50
cnk+IGVudHJpZXMsIEludGVyc2VjdGlvbk9ic2VydmVyIG9ic2VydmVyKTsKIAotW0NvbnN0cnVj
dG9yKEludGVyc2VjdGlvbk9ic2VydmVyQ2FsbGJhY2sgY2FsbGJhY2ssIG9wdGlvbmFsIEludGVy
c2VjdGlvbk9ic2VydmVySW5pdCBvcHRpb25zKSwKLSBFeHBvc2VkPVdpbmRvd10KK1tFeHBvc2Vk
PVdpbmRvd10KIGludGVyZmFjZSBJbnRlcnNlY3Rpb25PYnNlcnZlciB7Ci0gIHJlYWRvbmx5IGF0
dHJpYnV0ZSBFbGVtZW50PyByb290OworICBjb25zdHJ1Y3RvcihJbnRlcnNlY3Rpb25PYnNlcnZl
ckNhbGxiYWNrIGNhbGxiYWNrLCBvcHRpb25hbCBJbnRlcnNlY3Rpb25PYnNlcnZlckluaXQgb3B0
aW9ucyA9IHt9KTsKKyAgcmVhZG9ubHkgYXR0cmlidXRlIE5vZGU/IHJvb3Q7CiAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBET01TdHJpbmcgcm9vdE1hcmdpbjsKICAgcmVhZG9ubHkgYXR0cmlidXRlIEZy
b3plbkFycmF5PGRvdWJsZT4gdGhyZXNob2xkczsKICAgdm9pZCBvYnNlcnZlKEVsZW1lbnQgdGFy
Z2V0KTsKQEAgLTE3LDggKzE3LDkgQEAgaW50ZXJmYWNlIEludGVyc2VjdGlvbk9ic2VydmVyIHsK
ICAgc2VxdWVuY2U8SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeT4gdGFrZVJlY29yZHMoKTsKIH07
CiAKLVtDb25zdHJ1Y3RvcihJbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5SW5pdCBpbnRlcnNlY3Rp
b25PYnNlcnZlckVudHJ5SW5pdCldCitbRXhwb3NlZD1XaW5kb3ddCiBpbnRlcmZhY2UgSW50ZXJz
ZWN0aW9uT2JzZXJ2ZXJFbnRyeSB7CisgIGNvbnN0cnVjdG9yKEludGVyc2VjdGlvbk9ic2VydmVy
RW50cnlJbml0IGludGVyc2VjdGlvbk9ic2VydmVyRW50cnlJbml0KTsKICAgcmVhZG9ubHkgYXR0
cmlidXRlIERPTUhpZ2hSZXNUaW1lU3RhbXAgdGltZTsKICAgcmVhZG9ubHkgYXR0cmlidXRlIERP
TVJlY3RSZWFkT25seT8gcm9vdEJvdW5kczsKICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVJlY3RS
ZWFkT25seSBib3VuZGluZ0NsaWVudFJlY3Q7CkBAIC0zOSw3ICs0MCw3IEBAIGRpY3Rpb25hcnkg
SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeUluaXQgewogfTsKIAogZGljdGlvbmFyeSBJbnRlcnNl
Y3Rpb25PYnNlcnZlckluaXQgewotICBFbGVtZW50PyAgcm9vdCA9IG51bGw7CisgIChFbGVtZW50
IG9yIERvY3VtZW50KT8gIHJvb3QgPSBudWxsOwogICBET01TdHJpbmcgcm9vdE1hcmdpbiA9ICIw
cHgiOwogICAoZG91YmxlIG9yIHNlcXVlbmNlPGRvdWJsZT4pIHRocmVzaG9sZCA9IDA7CiB9Owpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bnRlcmZhY2VzL2pzLXNlbGYtcHJvZmlsaW5nLmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9qcy1zZWxmLXByb2ZpbGluZy5pZGwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMDE1M2U2NTIzNjBlMjU4NmExMWJhNmQ4MDhkMzhiZmU1OWZlMTU5ZQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aW50ZXJmYWNlcy9qcy1zZWxmLXByb2ZpbGluZy5pZGwKQEAgLTAsMCArMSw0OCBAQAorLy8gR0VO
RVJBVEVEIENPTlRFTlQgLSBETyBOT1QgRURJVAorLy8gQ29udGVudCB3YXMgYXV0b21hdGljYWxs
eSBleHRyYWN0ZWQgYnkgUmVmZnkgaW50byByZWZmeS1yZXBvcnRzCisvLyAoaHR0cHM6Ly9naXRo
dWIuY29tL3RpZG91c3QvcmVmZnktcmVwb3J0cykKKy8vIFNvdXJjZTogSlMgU2VsZi1Qcm9maWxp
bmcgQVBJIChodHRwczovL3dpY2cuZ2l0aHViLmlvL2pzLXNlbGYtcHJvZmlsaW5nLykKKworW0V4
cG9zZWQ9KFdpbmRvdyxXb3JrZXIpXQoraW50ZXJmYWNlIFByb2ZpbGVyIHsKKyAgcmVhZG9ubHkg
YXR0cmlidXRlIERPTUhpZ2hSZXNUaW1lU3RhbXAgc2FtcGxlSW50ZXJ2YWw7CisgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBib29sZWFuIHN0b3BwZWQ7CisKKyAgUHJvbWlzZTxQcm9maWxlclRyYWNlPiBz
dG9wKCk7Cit9OworCit0eXBlZGVmIERPTVN0cmluZyBQcm9maWxlclJlc291cmNlOworCitkaWN0
aW9uYXJ5IFByb2ZpbGVyVHJhY2UgeworICByZXF1aXJlZCBzZXF1ZW5jZTxQcm9maWxlclJlc291
cmNlPiByZXNvdXJjZXM7CisgIHJlcXVpcmVkIHNlcXVlbmNlPFByb2ZpbGVyRnJhbWU+IGZyYW1l
czsKKyAgcmVxdWlyZWQgc2VxdWVuY2U8UHJvZmlsZXJTdGFjaz4gc3RhY2tzOworICByZXF1aXJl
ZCBzZXF1ZW5jZTxQcm9maWxlclNhbXBsZT4gc2FtcGxlczsKK307CisKK2RpY3Rpb25hcnkgUHJv
ZmlsZXJTYW1wbGUgeworICByZXF1aXJlZCBET01IaWdoUmVzVGltZVN0YW1wIHRpbWVzdGFtcDsK
KyAgdW5zaWduZWQgbG9uZyBsb25nIHN0YWNrSWQ7Cit9OworCitkaWN0aW9uYXJ5IFByb2ZpbGVy
U3RhY2sgeworICB1bnNpZ25lZCBsb25nIGxvbmcgcGFyZW50SWQ7CisgIHJlcXVpcmVkIHVuc2ln
bmVkIGxvbmcgbG9uZyBmcmFtZUlkOworfTsKKworZGljdGlvbmFyeSBQcm9maWxlckZyYW1lIHsK
KyAgRE9NU3RyaW5nIG5hbWU7CisgIHJlcXVpcmVkIHVuc2lnbmVkIGxvbmcgbG9uZyByZXNvdXJj
ZUlkOworICByZXF1aXJlZCB1bnNpZ25lZCBsb25nIGxvbmcgbGluZTsKKyAgcmVxdWlyZWQgdW5z
aWduZWQgbG9uZyBsb25nIGNvbHVtbjsKK307CisKK2RpY3Rpb25hcnkgUHJvZmlsZXJJbml0T3B0
aW9ucyB7CisgIHJlcXVpcmVkIERPTUhpZ2hSZXNUaW1lU3RhbXAgc2FtcGxlSW50ZXJ2YWw7Cisg
IHJlcXVpcmVkIHVuc2lnbmVkIGxvbmcgbWF4QnVmZmVyU2l6ZTsKK307CisKK1tFeHBvc2VkPShX
aW5kb3csV29ya2VyKV0KK3BhcnRpYWwgaW50ZXJmYWNlIFBlcmZvcm1hbmNlIHsKKyAgUHJvbWlz
ZTxQcm9maWxlcj4gcHJvZmlsZShQcm9maWxlckluaXRPcHRpb25zIG9wdGlvbnMpOworfTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50
ZXJmYWNlcy9sYXlvdXQtaW5zdGFiaWxpdHkuaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2xheW91dC1pbnN0YWJpbGl0eS5pZGwKaW5k
ZXggMGNkMjI2MmE5ZjMyZDRhNGQ2ZjgxYWFlMTY1YzNhNDExODY4Y2ZjNC4uM2VlMGFmYTA2MTAy
OGVjYmY5OWY5NGU5NDc5ZTQxMmExNjkxODRjMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2xheW91dC1pbnN0YWJpbGl0
eS5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bnRlcmZhY2VzL2xheW91dC1pbnN0YWJpbGl0eS5pZGwKQEAgLTUsOCArNSwxNiBAQAogCiBbRXhw
b3NlZD1XaW5kb3ddCiBpbnRlcmZhY2UgTGF5b3V0U2hpZnQgOiBQZXJmb3JtYW5jZUVudHJ5IHsK
LSAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgdmFsdWU7CisgIHJlYWRvbmx5IGF0dHJpYnV0ZSBk
b3VibGUgdmFsdWU7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGhhZFJlY2VudElucHV0
OwogICByZWFkb25seSBhdHRyaWJ1dGUgRE9NSGlnaFJlc1RpbWVTdGFtcCBsYXN0SW5wdXRUaW1l
OworICByZWFkb25seSBhdHRyaWJ1dGUgRnJvemVuQXJyYXk8TGF5b3V0U2hpZnRBdHRyaWJ1dGlv
bj4gc291cmNlczsKICAgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsKIH07CisKK1tFeHBvc2Vk
PVdpbmRvd10KK2ludGVyZmFjZSBMYXlvdXRTaGlmdEF0dHJpYnV0aW9uIHsKKyAgcmVhZG9ubHkg
YXR0cmlidXRlIE5vZGU/IG5vZGU7CisgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01SZWN0UmVhZE9u
bHkgcHJldmlvdXNSZWN0OworICByZWFkb25seSBhdHRyaWJ1dGUgRE9NUmVjdFJlYWRPbmx5IGN1
cnJlbnRSZWN0OworfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9tZWRpYS1jYXBhYmlsaXRpZXMuaWRsIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL21lZGlhLWNh
cGFiaWxpdGllcy5pZGwKaW5kZXggNmZlNDNkODdhODBiYjcyMjlkNWNlYmM1ZmJkNGNhYzA4ZjQ0
ZmEzOS4uMDhkZTM1ZWY2NzUwNjJlN2RhZDEwYWVhMWY3ZjcxMTBjMTNlNmFhOSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2Vz
L21lZGlhLWNhcGFiaWxpdGllcy5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL21lZGlhLWNhcGFiaWxpdGllcy5pZGwKQEAgLTc3
LDYgKzc3LDcgQEAgZGljdGlvbmFyeSBNZWRpYUNhcGFiaWxpdGllc0tleVN5c3RlbUNvbmZpZ3Vy
YXRpb24gewogCiBkaWN0aW9uYXJ5IEtleVN5c3RlbVRyYWNrQ29uZmlndXJhdGlvbiB7CiAgICAg
RE9NU3RyaW5nIHJvYnVzdG5lc3MgPSAiIjsKKyAgICBET01TdHJpbmc/IGVuY3J5cHRpb25TY2hl
bWUgPSBudWxsOwogICB9OwogCiBkaWN0aW9uYXJ5IE1lZGlhQ2FwYWJpbGl0aWVzSW5mbyB7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2lu
dGVyZmFjZXMvbWVkaWEtcGxheWJhY2stcXVhbGl0eS5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvbWVkaWEtcGxheWJhY2stcXVhbGl0
eS5pZGwKaW5kZXggNzFjODM1Njc3YTc2ZjQ1NGRlYzVkZGFhMTQ2ZDQxZjBjMDQ1YzE4Ni4uYzNl
ZTUyMzdlNGNhNDM2NTY4MDdkZmRiMzZjM2ZhOWM1ZDczNDRhOCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL21lZGlhLXBs
YXliYWNrLXF1YWxpdHkuaWRsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9tZWRpYS1wbGF5YmFjay1xdWFsaXR5LmlkbApAQCAtMTIs
NCArMTIsNyBAQCBpbnRlcmZhY2UgVmlkZW9QbGF5YmFja1F1YWxpdHkgewogICByZWFkb25seSBh
dHRyaWJ1dGUgRE9NSGlnaFJlc1RpbWVTdGFtcCBjcmVhdGlvblRpbWU7CiAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGRyb3BwZWRWaWRlb0ZyYW1lczsKICAgcmVhZG9ubHkgYXR0
cmlidXRlIHVuc2lnbmVkIGxvbmcgdG90YWxWaWRlb0ZyYW1lczsKKworICAvLyBEZXByZWNhdGVk
IQorICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBjb3JydXB0ZWRWaWRlb0ZyYW1l
czsKIH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ludGVyZmFjZXMvbWVkaWEtc291cmNlLmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9tZWRpYS1zb3VyY2UuaWRsCmluZGV4
IDFkM2MwMmQ4NDdlYTY2ZTZiYzVhOGMwZjUyMGQ2YzdiOWFkOWUxZDYuLmU2ZmY0Y2Q2YWMzNzhi
MmRiOWVhMmY1MDYzY2M3MjkzYjlmNDcxYzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9tZWRpYS1zb3VyY2UuaWRsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNl
cy9tZWRpYS1zb3VyY2UuaWRsCkBAIC0xNCwyMSArMTQsMjIgQEAgZW51bSBFbmRPZlN0cmVhbUVy
cm9yIHsKICAgICAiZGVjb2RlIgogfTsKIAotW0NvbnN0cnVjdG9yXQorW0V4cG9zZWQ9V2luZG93
XQogaW50ZXJmYWNlIE1lZGlhU291cmNlIDogRXZlbnRUYXJnZXQgewotICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBTb3VyY2VCdWZmZXJMaXN0ICAgIHNvdXJjZUJ1ZmZlcnM7Ci0gICAgcmVhZG9ubHkg
YXR0cmlidXRlIFNvdXJjZUJ1ZmZlckxpc3QgICAgYWN0aXZlU291cmNlQnVmZmVyczsKLSAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgUmVhZHlTdGF0ZSAgICAgICAgICByZWFkeVN0YXRlOwotICAgICAg
ICAgICAgIGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIGR1cmF0aW9uOwotICAgICAgICAg
ICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgICAgICAgIG9uc291cmNlb3BlbjsKLSAgICAgICAg
ICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyICAgICAgICBvbnNvdXJjZWVuZGVkOwotICAgICAg
ICAgICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgICAgICAgIG9uc291cmNlY2xvc2U7Ci0gICAg
U291cmNlQnVmZmVyIGFkZFNvdXJjZUJ1ZmZlcihET01TdHJpbmcgdHlwZSk7Ci0gICAgdm9pZCAg
ICAgICAgIHJlbW92ZVNvdXJjZUJ1ZmZlcihTb3VyY2VCdWZmZXIgc291cmNlQnVmZmVyKTsKLSAg
ICB2b2lkICAgICAgICAgZW5kT2ZTdHJlYW0ob3B0aW9uYWwgRW5kT2ZTdHJlYW1FcnJvciBlcnJv
cik7Ci0gICAgdm9pZCAgICAgICAgIHNldExpdmVTZWVrYWJsZVJhbmdlKGRvdWJsZSBzdGFydCwg
ZG91YmxlIGVuZCk7Ci0gICAgdm9pZCAgICAgICAgIGNsZWFyTGl2ZVNlZWthYmxlUmFuZ2UoKTsK
LSAgICBzdGF0aWMgYm9vbGVhbiBpc1R5cGVTdXBwb3J0ZWQoRE9NU3RyaW5nIHR5cGUpOworICAg
IGNvbnN0cnVjdG9yKCk7CisgICAgcmVhZG9ubHkgICAgICAgIGF0dHJpYnV0ZSBTb3VyY2VCdWZm
ZXJMaXN0ICAgIHNvdXJjZUJ1ZmZlcnM7CisgICAgcmVhZG9ubHkgICAgICAgIGF0dHJpYnV0ZSBT
b3VyY2VCdWZmZXJMaXN0ICAgIGFjdGl2ZVNvdXJjZUJ1ZmZlcnM7CisgICAgcmVhZG9ubHkgICAg
ICAgIGF0dHJpYnV0ZSBSZWFkeVN0YXRlICAgICAgICAgIHJlYWR5U3RhdGU7CisgICAgICAgICAg
ICAgICAgICAgIGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIGR1cmF0aW9uOworICAgICAg
ICAgICAgICAgICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyICAgICAgICBvbnNvdXJjZW9wZW47
CisgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgICAgICAgIG9uc291
cmNlZW5kZWQ7CisgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgICAg
ICAgIG9uc291cmNlY2xvc2U7CisgICAgU291cmNlQnVmZmVyICAgYWRkU291cmNlQnVmZmVyIChE
T01TdHJpbmcgdHlwZSk7CisgICAgdm9pZCAgICAgICAgICAgcmVtb3ZlU291cmNlQnVmZmVyIChT
b3VyY2VCdWZmZXIgc291cmNlQnVmZmVyKTsKKyAgICB2b2lkICAgICAgICAgICBlbmRPZlN0cmVh
bSAob3B0aW9uYWwgRW5kT2ZTdHJlYW1FcnJvciBlcnJvcik7CisgICAgdm9pZCAgICAgICAgICAg
c2V0TGl2ZVNlZWthYmxlUmFuZ2UgKGRvdWJsZSBzdGFydCwgZG91YmxlIGVuZCk7CisgICAgdm9p
ZCAgICAgICAgICAgY2xlYXJMaXZlU2Vla2FibGVSYW5nZSAoKTsKKyAgICBzdGF0aWMgYm9vbGVh
biBpc1R5cGVTdXBwb3J0ZWQgKERPTVN0cmluZyB0eXBlKTsKIH07CiAKIGVudW0gQXBwZW5kTW9k
ZSB7CkBAIC0zNiw0NiArMzcsNDggQEAgZW51bSBBcHBlbmRNb2RlIHsKICAgICAic2VxdWVuY2Ui
CiB9OwogCitbRXhwb3NlZD1XaW5kb3ddCiBpbnRlcmZhY2UgU291cmNlQnVmZmVyIDogRXZlbnRU
YXJnZXQgewotICAgICAgICAgICAgIGF0dHJpYnV0ZSBBcHBlbmRNb2RlICAgICAgICAgIG1vZGU7
Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gICAgICAgICAgICAgdXBkYXRpbmc7Ci0g
ICAgcmVhZG9ubHkgYXR0cmlidXRlIFRpbWVSYW5nZXMgICAgICAgICAgYnVmZmVyZWQ7Ci0gICAg
ICAgICAgICAgYXR0cmlidXRlIGRvdWJsZSAgICAgICAgICAgICAgdGltZXN0YW1wT2Zmc2V0Owot
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBBdWRpb1RyYWNrTGlzdCAgICAgIGF1ZGlvVHJhY2tzOwot
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBWaWRlb1RyYWNrTGlzdCAgICAgIHZpZGVvVHJhY2tzOwot
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBUZXh0VHJhY2tMaXN0ICAgICAgIHRleHRUcmFja3M7Ci0g
ICAgICAgICAgICAgYXR0cmlidXRlIGRvdWJsZSAgICAgICAgICAgICAgYXBwZW5kV2luZG93U3Rh
cnQ7Ci0gICAgICAgICAgICAgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGUgYXBwZW5kV2lu
ZG93RW5kOwotICAgICAgICAgICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgICAgICAgIG9udXBk
YXRlc3RhcnQ7Ci0gICAgICAgICAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciAgICAgICAgb251
cGRhdGU7Ci0gICAgICAgICAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciAgICAgICAgb251cGRh
dGVlbmQ7Ci0gICAgICAgICAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciAgICAgICAgb25lcnJv
cjsKLSAgICAgICAgICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyICAgICAgICBvbmFib3J0Owot
ICAgIHZvaWQgYXBwZW5kQnVmZmVyKEJ1ZmZlclNvdXJjZSBkYXRhKTsKLSAgICB2b2lkIGFib3J0
KCk7Ci0gICAgdm9pZCByZW1vdmUoZG91YmxlIHN0YXJ0LCB1bnJlc3RyaWN0ZWQgZG91YmxlIGVu
ZCk7CisgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBBcHBlbmRNb2RlICAgICAgICAgIG1v
ZGU7CisgICAgcmVhZG9ubHkgICAgICAgIGF0dHJpYnV0ZSBib29sZWFuICAgICAgICAgICAgIHVw
ZGF0aW5nOworICAgIHJlYWRvbmx5ICAgICAgICBhdHRyaWJ1dGUgVGltZVJhbmdlcyAgICAgICAg
ICBidWZmZXJlZDsKKyAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIGRvdWJsZSAgICAgICAg
ICAgICAgdGltZXN0YW1wT2Zmc2V0OworICAgIHJlYWRvbmx5ICAgICAgICBhdHRyaWJ1dGUgQXVk
aW9UcmFja0xpc3QgICAgICBhdWRpb1RyYWNrczsKKyAgICByZWFkb25seSAgICAgICAgYXR0cmli
dXRlIFZpZGVvVHJhY2tMaXN0ICAgICAgdmlkZW9UcmFja3M7CisgICAgcmVhZG9ubHkgICAgICAg
IGF0dHJpYnV0ZSBUZXh0VHJhY2tMaXN0ICAgICAgIHRleHRUcmFja3M7CisgICAgICAgICAgICAg
ICAgICAgIGF0dHJpYnV0ZSBkb3VibGUgICAgICAgICAgICAgIGFwcGVuZFdpbmRvd1N0YXJ0Owor
ICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZSBhcHBlbmRX
aW5kb3dFbmQ7CisgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgICAg
ICAgIG9udXBkYXRlc3RhcnQ7CisgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBFdmVudEhh
bmRsZXIgICAgICAgIG9udXBkYXRlOworICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgRXZl
bnRIYW5kbGVyICAgICAgICBvbnVwZGF0ZWVuZDsKKyAgICAgICAgICAgICAgICAgICAgYXR0cmli
dXRlIEV2ZW50SGFuZGxlciAgICAgICAgb25lcnJvcjsKKyAgICAgICAgICAgICAgICAgICAgYXR0
cmlidXRlIEV2ZW50SGFuZGxlciAgICAgICAgb25hYm9ydDsKKyAgICB2b2lkIGFwcGVuZEJ1ZmZl
ciAoQnVmZmVyU291cmNlIGRhdGEpOworICAgIHZvaWQgYWJvcnQgKCk7CisgICAgdm9pZCByZW1v
dmUgKGRvdWJsZSBzdGFydCwgdW5yZXN0cmljdGVkIGRvdWJsZSBlbmQpOwogfTsKIAorW0V4cG9z
ZWQ9V2luZG93XQogaW50ZXJmYWNlIFNvdXJjZUJ1ZmZlckxpc3QgOiBFdmVudFRhcmdldCB7Ci0g
ICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOwotICAgICAgICAgICAg
IGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgIG9uYWRkc291cmNlYnVmZmVyOwotICAgICAgICAgICAg
IGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgIG9ucmVtb3Zlc291cmNlYnVmZmVyOworICAgIHJlYWRv
bmx5ICAgICAgICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7CisgICAgICAgICAgICAg
ICAgICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgIG9uYWRkc291cmNlYnVmZmVyOworICAgICAg
ICAgICAgICAgICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyICBvbnJlbW92ZXNvdXJjZWJ1ZmZl
cjsKICAgICBnZXR0ZXIgU291cmNlQnVmZmVyICh1bnNpZ25lZCBsb25nIGluZGV4KTsKIH07CiAK
IFtFeHBvc2VkPVdpbmRvd10KIHBhcnRpYWwgaW50ZXJmYWNlIFVSTCB7Ci0gICAgc3RhdGljIERP
TVN0cmluZyBjcmVhdGVPYmplY3RVUkwoTWVkaWFTb3VyY2UgbWVkaWFTb3VyY2UpOworICAgIHN0
YXRpYyBET01TdHJpbmcgY3JlYXRlT2JqZWN0VVJMIChNZWRpYVNvdXJjZSBtZWRpYVNvdXJjZSk7
CiB9OwogCiBwYXJ0aWFsIGludGVyZmFjZSBBdWRpb1RyYWNrIHsKLSAgICByZWFkb25seSBhdHRy
aWJ1dGUgU291cmNlQnVmZmVyPyBzb3VyY2VCdWZmZXI7CisgICAgcmVhZG9ubHkgICAgICAgIGF0
dHJpYnV0ZSBTb3VyY2VCdWZmZXI/IHNvdXJjZUJ1ZmZlcjsKIH07CiAKIHBhcnRpYWwgaW50ZXJm
YWNlIFZpZGVvVHJhY2sgewotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTb3VyY2VCdWZmZXI/IHNv
dXJjZUJ1ZmZlcjsKKyAgICByZWFkb25seSAgICAgICAgYXR0cmlidXRlIFNvdXJjZUJ1ZmZlcj8g
c291cmNlQnVmZmVyOwogfTsKIAogcGFydGlhbCBpbnRlcmZhY2UgVGV4dFRyYWNrIHsKLSAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgU291cmNlQnVmZmVyPyBzb3VyY2VCdWZmZXI7CisgICAgcmVhZG9u
bHkgICAgICAgIGF0dHJpYnV0ZSBTb3VyY2VCdWZmZXI/IHNvdXJjZUJ1ZmZlcjsKIH07CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVy
ZmFjZXMvbWVkaWFzZXNzaW9uLmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9tZWRpYXNlc3Npb24uaWRsCmluZGV4IDg2NzFhZjVhY2Q5
MjA1OTc4ZTE4Mjg1MDIyNDViYTEzNDI1OGMxZTkuLjA1OWQxZWM4Y2YxNGM4MGZiNzgyODViNTAx
NGJkM2EzZThjN2U2NjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9tZWRpYXNlc3Npb24uaWRsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9tZWRpYXNlc3Np
b24uaWRsCkBAIC02OSwxMyArNjksNyBAQCBkaWN0aW9uYXJ5IE1lZGlhUG9zaXRpb25TdGF0ZSB7
CiAKIGRpY3Rpb25hcnkgTWVkaWFTZXNzaW9uQWN0aW9uRGV0YWlscyB7CiAgIHJlcXVpcmVkIE1l
ZGlhU2Vzc2lvbkFjdGlvbiBhY3Rpb247Ci19OwotCi1kaWN0aW9uYXJ5IE1lZGlhU2Vzc2lvblNl
ZWtBY3Rpb25EZXRhaWxzIDogTWVkaWFTZXNzaW9uQWN0aW9uRGV0YWlscyB7CiAgIGRvdWJsZT8g
c2Vla09mZnNldDsKLX07Ci0KLWRpY3Rpb25hcnkgTWVkaWFTZXNzaW9uU2Vla1RvQWN0aW9uRGV0
YWlscyA6IE1lZGlhU2Vzc2lvbkFjdGlvbkRldGFpbHMgewotICByZXF1aXJlZCBkb3VibGUgc2Vl
a1RpbWU7CisgIGRvdWJsZT8gc2Vla1RpbWU7CiAgIGJvb2xlYW4/IGZhc3RTZWVrOwogfTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50
ZXJmYWNlcy9tZWRpYXN0cmVhbS1yZWNvcmRpbmcuaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL21lZGlhc3RyZWFtLXJlY29yZGluZy5p
ZGwKaW5kZXggMmQ4NDliYTlhZmZlNDc2YTIzMTQxYzlmMzk3NmM2NWIyZDlmN2VmNC4uNTIyOTUx
MjVkYTY2ZDg1NjJmNjYzNjZmMjc5ZDU3YWUwNWE3ZmU4NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL21lZGlhc3RyZWFt
LXJlY29yZGluZy5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9pbnRlcmZhY2VzL21lZGlhc3RyZWFtLXJlY29yZGluZy5pZGwKQEAgLTQsNyArNCw3
IEBACiAvLyBTb3VyY2U6IE1lZGlhU3RyZWFtIFJlY29yZGluZyAoaHR0cHM6Ly93M2MuZ2l0aHVi
LmlvL21lZGlhY2FwdHVyZS1yZWNvcmQvKQogCiBbRXhwb3NlZD1XaW5kb3csCi0gQ29uc3RydWN0
b3IoTWVkaWFTdHJlYW0gc3RyZWFtLCBvcHRpb25hbCBNZWRpYVJlY29yZGVyT3B0aW9ucyBvcHRp
b25zKV0KKyBDb25zdHJ1Y3RvcihNZWRpYVN0cmVhbSBzdHJlYW0sIG9wdGlvbmFsIE1lZGlhUmVj
b3JkZXJPcHRpb25zIG9wdGlvbnMgPSB7fSldCiBpbnRlcmZhY2UgTWVkaWFSZWNvcmRlciA6IEV2
ZW50VGFyZ2V0IHsKICAgcmVhZG9ubHkgYXR0cmlidXRlIE1lZGlhU3RyZWFtIHN0cmVhbTsKICAg
cmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBtaW1lVHlwZTsKQEAgLTE3LDYgKzE3LDcgQEAg
aW50ZXJmYWNlIE1lZGlhUmVjb3JkZXIgOiBFdmVudFRhcmdldCB7CiAgIGF0dHJpYnV0ZSBFdmVu
dEhhbmRsZXIgb25lcnJvcjsKICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgdmlk
ZW9CaXRzUGVyU2Vjb25kOwogICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBhdWRp
b0JpdHNQZXJTZWNvbmQ7CisgIHJlYWRvbmx5IGF0dHJpYnV0ZSBCaXRyYXRlTW9kZSBhdWRpb0Jp
dHJhdGVNb2RlOwogCiAgIHZvaWQgc3RhcnQob3B0aW9uYWwgdW5zaWduZWQgbG9uZyB0aW1lc2xp
Y2UpOwogICB2b2lkIHN0b3AoKTsKQEAgLTMyLDYgKzMzLDEyIEBAIGRpY3Rpb25hcnkgTWVkaWFS
ZWNvcmRlck9wdGlvbnMgewogICB1bnNpZ25lZCBsb25nIGF1ZGlvQml0c1BlclNlY29uZDsKICAg
dW5zaWduZWQgbG9uZyB2aWRlb0JpdHNQZXJTZWNvbmQ7CiAgIHVuc2lnbmVkIGxvbmcgYml0c1Bl
clNlY29uZDsKKyAgQml0cmF0ZU1vZGUgYXVkaW9CaXRyYXRlTW9kZSA9ICJ2YnIiOworfTsKKwor
ZW51bSBCaXRyYXRlTW9kZSB7CisgICJjYnIiLAorICAidmJyIgogfTsKIAogZW51bSBSZWNvcmRp
bmdTdGF0ZSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ludGVyZmFjZXMvbXN0LWNvbnRlbnQtaGludC5pZGwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvbXN0LWNvbnRlbnQtaGlu
dC5pZGwKaW5kZXggMTVlMTdjZjUzNjRjODNmYzcwYmYzNzNjZDdmNTAwYzEzYjE1M2I1Zi4uZjdk
M2YyMGU3MjM2NGExYmY3ZGYwMTllMzExNWMzNGMxMGQ4MTFiYSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL21zdC1jb250
ZW50LWhpbnQuaWRsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaW50ZXJmYWNlcy9tc3QtY29udGVudC1oaW50LmlkbApAQCAtNiwzICs2LDEzIEBACiBw
YXJ0aWFsIGludGVyZmFjZSBNZWRpYVN0cmVhbVRyYWNrIHsKICAgYXR0cmlidXRlIERPTVN0cmlu
ZyBjb250ZW50SGludDsKIH07CisKK2VudW0gUlRDRGVncmFkYXRpb25QcmVmZXJlbmNlIHsKKyAg
Im1haW50YWluLWZyYW1lcmF0ZSIsCisgICJtYWludGFpbi1yZXNvbHV0aW9uIiwKKyAgImJhbGFu
Y2VkIgorfTsKKworcGFydGlhbCBkaWN0aW9uYXJ5IFJUQ1J0cFNlbmRQYXJhbWV0ZXJzIHsKKyBS
VENEZWdyYWRhdGlvblByZWZlcmVuY2UgZGVncmFkYXRpb25QcmVmZXJlbmNlOworfTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJm
YWNlcy9uYXRpdmUtZmlsZS1zeXN0ZW0uaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL25hdGl2ZS1maWxlLXN5c3RlbS5pZGwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjQ2NzkxNzVjNDZlYzc4MzFmMGM2NDIzYjAwNzVkOTVhYjk5ZGJlMAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50
ZXJmYWNlcy9uYXRpdmUtZmlsZS1zeXN0ZW0uaWRsCkBAIC0wLDAgKzEsOTIgQEAKKy8vIEdFTkVS
QVRFRCBDT05URU5UIC0gRE8gTk9UIEVESVQKKy8vIENvbnRlbnQgd2FzIGF1dG9tYXRpY2FsbHkg
ZXh0cmFjdGVkIGJ5IFJlZmZ5IGludG8gcmVmZnktcmVwb3J0cworLy8gKGh0dHBzOi8vZ2l0aHVi
LmNvbS90aWRvdXN0L3JlZmZ5LXJlcG9ydHMpCisvLyBTb3VyY2U6IE5hdGl2ZSBGaWxlIFN5c3Rl
bSAoaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9uYXRpdmUtZmlsZS1zeXN0ZW0vKQorCitkaWN0aW9u
YXJ5IEZpbGVTeXN0ZW1IYW5kbGVQZXJtaXNzaW9uRGVzY3JpcHRvciB7CisgIGJvb2xlYW4gd3Jp
dGFibGUgPSBmYWxzZTsKK307CisKK1tFeHBvc2VkPShXaW5kb3csV29ya2VyKSwgU2VjdXJlQ29u
dGV4dCwgU2VyaWFsaXphYmxlXQoraW50ZXJmYWNlIEZpbGVTeXN0ZW1IYW5kbGUgeworICByZWFk
b25seSBhdHRyaWJ1dGUgYm9vbGVhbiBpc0ZpbGU7CisgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29s
ZWFuIGlzRGlyZWN0b3J5OworICByZWFkb25seSBhdHRyaWJ1dGUgVVNWU3RyaW5nIG5hbWU7CisK
KyAgUHJvbWlzZTxQZXJtaXNzaW9uU3RhdGU+IHF1ZXJ5UGVybWlzc2lvbihvcHRpb25hbCBGaWxl
U3lzdGVtSGFuZGxlUGVybWlzc2lvbkRlc2NyaXB0b3IgZGVzY3JpcHRvciA9IHt9KTsKKyAgUHJv
bWlzZTxQZXJtaXNzaW9uU3RhdGU+IHJlcXVlc3RQZXJtaXNzaW9uKG9wdGlvbmFsIEZpbGVTeXN0
ZW1IYW5kbGVQZXJtaXNzaW9uRGVzY3JpcHRvciBkZXNjcmlwdG9yID0ge30pOworfTsKKworZGlj
dGlvbmFyeSBGaWxlU3lzdGVtQ3JlYXRlV3JpdGVyT3B0aW9ucyB7CisgIGJvb2xlYW4ga2VlcEV4
aXN0aW5nRGF0YSA9IGZhbHNlOworfTsKKworW0V4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLCBTZWN1
cmVDb250ZXh0LCBTZXJpYWxpemFibGVdCitpbnRlcmZhY2UgRmlsZVN5c3RlbUZpbGVIYW5kbGUg
OiBGaWxlU3lzdGVtSGFuZGxlIHsKKyAgUHJvbWlzZTxGaWxlPiBnZXRGaWxlKCk7CisgIFByb21p
c2U8RmlsZVN5c3RlbVdyaXRlcj4gY3JlYXRlV3JpdGVyKG9wdGlvbmFsIEZpbGVTeXN0ZW1DcmVh
dGVXcml0ZXJPcHRpb25zIG9wdGlvbnMgPSB7fSk7Cit9OworCitkaWN0aW9uYXJ5IEZpbGVTeXN0
ZW1HZXRGaWxlT3B0aW9ucyB7CisgIGJvb2xlYW4gY3JlYXRlID0gZmFsc2U7Cit9OworCitkaWN0
aW9uYXJ5IEZpbGVTeXN0ZW1HZXREaXJlY3RvcnlPcHRpb25zIHsKKyAgYm9vbGVhbiBjcmVhdGUg
PSBmYWxzZTsKK307CisKK2RpY3Rpb25hcnkgRmlsZVN5c3RlbVJlbW92ZU9wdGlvbnMgeworICBi
b29sZWFuIHJlY3Vyc2l2ZSA9IGZhbHNlOworfTsKKworW0V4cG9zZWQ9KFdpbmRvdyxXb3JrZXIp
LCBTZWN1cmVDb250ZXh0LCBTZXJpYWxpemFibGVdCitpbnRlcmZhY2UgRmlsZVN5c3RlbURpcmVj
dG9yeUhhbmRsZSA6IEZpbGVTeXN0ZW1IYW5kbGUgeworICBQcm9taXNlPEZpbGVTeXN0ZW1GaWxl
SGFuZGxlPiBnZXRGaWxlKFVTVlN0cmluZyBuYW1lLCBvcHRpb25hbCBGaWxlU3lzdGVtR2V0Rmls
ZU9wdGlvbnMgb3B0aW9ucyA9IHt9KTsKKyAgUHJvbWlzZTxGaWxlU3lzdGVtRGlyZWN0b3J5SGFu
ZGxlPiBnZXREaXJlY3RvcnkoVVNWU3RyaW5nIG5hbWUsIG9wdGlvbmFsIEZpbGVTeXN0ZW1HZXRE
aXJlY3RvcnlPcHRpb25zIG9wdGlvbnMgPSB7fSk7CisKKyAgLy8gVGhpcyByZWFsbHkgcmV0dXJu
cyBhbiBhc3luYyBpdGVyYWJsZSwgYnV0IHRoYXQgaXMgbm90IHlldCBleHByZXNzYWJsZSBpbiBX
ZWJJREwuCisgIG9iamVjdCBnZXRFbnRyaWVzKCk7CisKKyAgUHJvbWlzZTx2b2lkPiByZW1vdmVF
bnRyeShVU1ZTdHJpbmcgbmFtZSwgb3B0aW9uYWwgRmlsZVN5c3RlbVJlbW92ZU9wdGlvbnMgb3B0
aW9ucyA9IHt9KTsKK307CisKK1tFeHBvc2VkPShXaW5kb3csV29ya2VyKSwgU2VjdXJlQ29udGV4
dF0KK2ludGVyZmFjZSBGaWxlU3lzdGVtV3JpdGVyIHsKKyAgUHJvbWlzZTx2b2lkPiB3cml0ZSh1
bnNpZ25lZCBsb25nIGxvbmcgcG9zaXRpb24sIChCdWZmZXJTb3VyY2Ugb3IgQmxvYiBvciBVU1ZT
dHJpbmcpIGRhdGEpOworICBQcm9taXNlPHZvaWQ+IHRydW5jYXRlKHVuc2lnbmVkIGxvbmcgbG9u
ZyBzaXplKTsKKyAgUHJvbWlzZTx2b2lkPiBjbG9zZSgpOworfTsKKworZW51bSBDaG9vc2VGaWxl
U3lzdGVtRW50cmllc1R5cGUgeyAib3Blbi1maWxlIiwgInNhdmUtZmlsZSIsICJvcGVuLWRpcmVj
dG9yeSIgfTsKKworZGljdGlvbmFyeSBDaG9vc2VGaWxlU3lzdGVtRW50cmllc09wdGlvbnNBY2Nl
cHRzIHsKKyAgVVNWU3RyaW5nIGRlc2NyaXB0aW9uOworICBzZXF1ZW5jZTxVU1ZTdHJpbmc+IG1p
bWVUeXBlczsKKyAgc2VxdWVuY2U8VVNWU3RyaW5nPiBleHRlbnNpb25zOworfTsKKworZGljdGlv
bmFyeSBDaG9vc2VGaWxlU3lzdGVtRW50cmllc09wdGlvbnMgeworICAgIENob29zZUZpbGVTeXN0
ZW1FbnRyaWVzVHlwZSB0eXBlID0gIm9wZW4tZmlsZSI7CisgICAgYm9vbGVhbiBtdWx0aXBsZSA9
IGZhbHNlOworICAgIHNlcXVlbmNlPENob29zZUZpbGVTeXN0ZW1FbnRyaWVzT3B0aW9uc0FjY2Vw
dHM+IGFjY2VwdHM7CisgICAgYm9vbGVhbiBleGNsdWRlQWNjZXB0QWxsT3B0aW9uID0gZmFsc2U7
Cit9OworCitbU2VjdXJlQ29udGV4dF0KK3BhcnRpYWwgaW50ZXJmYWNlIFdpbmRvdyB7CisgICAg
UHJvbWlzZTwoRmlsZVN5c3RlbUhhbmRsZSBvciBzZXF1ZW5jZTxGaWxlU3lzdGVtSGFuZGxlPik+
CisgICAgICAgIGNob29zZUZpbGVTeXN0ZW1FbnRyaWVzKG9wdGlvbmFsIENob29zZUZpbGVTeXN0
ZW1FbnRyaWVzT3B0aW9ucyBvcHRpb25zID0ge30pOworfTsKKworZW51bSBTeXN0ZW1EaXJlY3Rv
cnlUeXBlIHsKKyAgInNhbmRib3giCit9OworCitkaWN0aW9uYXJ5IEdldFN5c3RlbURpcmVjdG9y
eU9wdGlvbnMgeworICByZXF1aXJlZCBTeXN0ZW1EaXJlY3RvcnlUeXBlIHR5cGU7Cit9OworCitb
U2VjdXJlQ29udGV4dF0KK3BhcnRpYWwgaW50ZXJmYWNlIEZpbGVTeXN0ZW1EaXJlY3RvcnlIYW5k
bGUgeworICBzdGF0aWMgUHJvbWlzZTxGaWxlU3lzdGVtRGlyZWN0b3J5SGFuZGxlPiBnZXRTeXN0
ZW1EaXJlY3RvcnkoR2V0U3lzdGVtRGlyZWN0b3J5T3B0aW9ucyBvcHRpb25zKTsKK307CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVy
ZmFjZXMvbmV0aW5mby5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ludGVyZmFjZXMvbmV0aW5mby5pZGwKaW5kZXggNzI5Njc4Mzk2ODg0YTE5ODc0MjM5
NDY4MDc1YmZkNTg3YzYyMTMwNS4uNTMwZGViOTk4YzQ2NTZhNGZkYTMyYWY3ZjYyODZlODk1YTE1
ZTA4MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9pbnRlcmZhY2VzL25ldGluZm8uaWRsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9uZXRpbmZvLmlkbApAQCAtMzYsNyArMzYs
NiBAQCBpbnRlcmZhY2UgTmV0d29ya0luZm9ybWF0aW9uIDogRXZlbnRUYXJnZXQgewogICByZWFk
b25seSBhdHRyaWJ1dGUgTWVnYWJpdCBkb3dubGlua01heDsKICAgcmVhZG9ubHkgYXR0cmlidXRl
IE1lZ2FiaXQgZG93bmxpbms7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBNaWxsaXNlY29uZCBydHQ7
Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIHNhdmVEYXRhOwogICBhdHRyaWJ1dGUgRXZl
bnRIYW5kbGVyIG9uY2hhbmdlOwogfTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL29yaWdpbi1wb2xpY3kuaWRsIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL29y
aWdpbi1wb2xpY3kuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU0OGUwNjMyYmQ4OWZmNzY0ZmE5YjM4NjQyMDdi
Mzk3MjNhMzg4Y2YKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvb3JpZ2luLXBvbGljeS5pZGwKQEAgLTAsMCAr
MSw4IEBACisvLyBHRU5FUkFURUQgQ09OVEVOVCAtIERPIE5PVCBFRElUCisvLyBDb250ZW50IHdh
cyBhdXRvbWF0aWNhbGx5IGV4dHJhY3RlZCBieSBSZWZmeSBpbnRvIHJlZmZ5LXJlcG9ydHMKKy8v
IChodHRwczovL2dpdGh1Yi5jb20vdGlkb3VzdC9yZWZmeS1yZXBvcnRzKQorLy8gU291cmNlOiBP
cmlnaW4gUG9saWN5IChodHRwczovL3dpY2cuZ2l0aHViLmlvL29yaWdpbi1wb2xpY3kvKQorCitw
YXJ0aWFsIGludGVyZmFjZSBtaXhpbiBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlIHsKKyAgcmVh
ZG9ubHkgYXR0cmlidXRlIEZyb3plbkFycmF5PERPTVN0cmluZz4gb3JpZ2luUG9saWN5SWRzOwor
fTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaW50ZXJmYWNlcy9wYWdlLWxpZmVjeWNsZS5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcGFnZS1saWZlY3ljbGUuaWRsCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzZDljMWYzZjU2NDc1MzlhYTg0MDY1MGJlZmIyNmU3NjgxMjA4M2QKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2lu
dGVyZmFjZXMvcGFnZS1saWZlY3ljbGUuaWRsCkBAIC0wLDAgKzEsMTkgQEAKKy8vIEdFTkVSQVRF
RCBDT05URU5UIC0gRE8gTk9UIEVESVQKKy8vIENvbnRlbnQgd2FzIGF1dG9tYXRpY2FsbHkgZXh0
cmFjdGVkIGJ5IFJlZmZ5IGludG8gcmVmZnktcmVwb3J0cworLy8gKGh0dHBzOi8vZ2l0aHViLmNv
bS90aWRvdXN0L3JlZmZ5LXJlcG9ydHMpCisvLyBTb3VyY2U6IFBhZ2UgTGlmZWN5Y2xlIChodHRw
czovL3dpY2cuZ2l0aHViLmlvL3BhZ2UtbGlmZWN5Y2xlLykKKworcGFydGlhbCBpbnRlcmZhY2Ug
RG9jdW1lbnQgeworICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25mcmVlemU7CisgICAgYXR0
cmlidXRlIEV2ZW50SGFuZGxlciBvbnJlc3VtZTsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9v
bGVhbiB3YXNEaXNjYXJkZWQ7Cit9OworCitwYXJ0aWFsIGludGVyZmFjZSBDbGllbnQgeworICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBDbGllbnRMaWZlY3ljbGVTdGF0ZSBsaWZlY3ljbGVTdGF0ZTsK
K307CisKK2VudW0gQ2xpZW50TGlmZWN5Y2xlU3RhdGUgeworICAgICJhY3RpdmUiLAorICAgICJm
cm96ZW4iCit9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3BheW1lbnQtbWV0aG9kLWJhc2ljLWNhcmQuaWRsIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3BheW1l
bnQtbWV0aG9kLWJhc2ljLWNhcmQuaWRsCmluZGV4IDkxZjFkMTk3Yjk0NjBhNGQzZmVhZjVkMTll
NjRhOGFmNDIwNjZjYTMuLjcyZTA1NTUwNjZjZjQxMDY4ZjkwN2Q0YzVlMzNjZTg2NDQzZmJjNWQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aW50ZXJmYWNlcy9wYXltZW50LW1ldGhvZC1iYXNpYy1jYXJkLmlkbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcGF5bWVudC1tZXRo
b2QtYmFzaWMtY2FyZC5pZGwKQEAgLTUsNiArNSw3IEBACiAKIGRpY3Rpb25hcnkgQmFzaWNDYXJk
UmVxdWVzdCB7CiAgIHNlcXVlbmNlPERPTVN0cmluZz4gc3VwcG9ydGVkTmV0d29ya3MgPSBbXTsK
KyAgYm9vbGVhbiByZXF1ZXN0U2VjdXJpdHlDb2RlID0gdHJ1ZTsKIH07CiAKIGRpY3Rpb25hcnkg
QmFzaWNDYXJkQ2hhbmdlRGV0YWlscyB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcGF5bWVudC1yZXF1ZXN0LmlkbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9w
YXltZW50LXJlcXVlc3QuaWRsCmluZGV4IGU0MWNhZTJmMDZkMGQ0NzlmNjgwNjZkNzg2YzczNzFl
N2Q0ZGE5MzQuLjk0MDdjNzExZTQ4YWM4NDAzYmIyM2Y1ZDgyMWQ3NDRiM2U3ZmM4MzcgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJm
YWNlcy9wYXltZW50LXJlcXVlc3QuaWRsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9wYXltZW50LXJlcXVlc3QuaWRsCkBAIC0xMDMs
MTYgKzEwMywxNiBAQCBpbnRlcmZhY2UgUGF5bWVudEFkZHJlc3MgewogfTsKIAogZGljdGlvbmFy
eSBBZGRyZXNzSW5pdCB7Ci0gIERPTVN0cmluZyBjb3VudHJ5OwotICBzZXF1ZW5jZTxET01TdHJp
bmc+IGFkZHJlc3NMaW5lOwotICBET01TdHJpbmcgcmVnaW9uOwotICBET01TdHJpbmcgY2l0eTsK
LSAgRE9NU3RyaW5nIGRlcGVuZGVudExvY2FsaXR5OwotICBET01TdHJpbmcgcG9zdGFsQ29kZTsK
LSAgRE9NU3RyaW5nIHNvcnRpbmdDb2RlOwotICBET01TdHJpbmcgb3JnYW5pemF0aW9uOwotICBE
T01TdHJpbmcgcmVjaXBpZW50OwotICBET01TdHJpbmcgcGhvbmU7CisgIERPTVN0cmluZyBjb3Vu
dHJ5ID0gIiI7CisgIHNlcXVlbmNlPERPTVN0cmluZz4gYWRkcmVzc0xpbmUgPSBbXTsKKyAgRE9N
U3RyaW5nIHJlZ2lvbiA9ICIiOworICBET01TdHJpbmcgY2l0eSA9ICIiOworICBET01TdHJpbmcg
ZGVwZW5kZW50TG9jYWxpdHkgPSAiIjsKKyAgRE9NU3RyaW5nIHBvc3RhbENvZGUgPSAiIjsKKyAg
RE9NU3RyaW5nIHNvcnRpbmdDb2RlID0gIiI7CisgIERPTVN0cmluZyBvcmdhbml6YXRpb24gPSAi
IjsKKyAgRE9NU3RyaW5nIHJlY2lwaWVudCA9ICIiOworICBET01TdHJpbmcgcGhvbmUgPSAiIjsK
IH07CiAKIGRpY3Rpb25hcnkgQWRkcmVzc0Vycm9ycyB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcGVyaW9kaWMtYmFj
a2dyb3VuZC1zeW5jLmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaW50ZXJmYWNlcy9wZXJpb2RpYy1iYWNrZ3JvdW5kLXN5bmMuaWRsCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjE0ZWU4YmJjMzBkZjFlNmZkMjkyZGI3ZTUyNTA0YTJkM2NlODRkNWIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFj
ZXMvcGVyaW9kaWMtYmFja2dyb3VuZC1zeW5jLmlkbApAQCAtMCwwICsxLDM1IEBACisvLyBHRU5F
UkFURUQgQ09OVEVOVCAtIERPIE5PVCBFRElUCisvLyBDb250ZW50IHdhcyBhdXRvbWF0aWNhbGx5
IGV4dHJhY3RlZCBieSBSZWZmeSBpbnRvIHJlZmZ5LXJlcG9ydHMKKy8vIChodHRwczovL2dpdGh1
Yi5jb20vdGlkb3VzdC9yZWZmeS1yZXBvcnRzKQorLy8gU291cmNlOiBXZWIgUGVyaW9kaWMgQmFj
a2dyb3VuZCBTeW5jaHJvbml6YXRpb24gKGh0dHBzOi8vd2ljZy5naXRodWIuaW8vcGVyaW9kaWMt
YmFja2dyb3VuZC1zeW5jLykKKworcGFydGlhbCBpbnRlcmZhY2UgU2VydmljZVdvcmtlckdsb2Jh
bFNjb3BlIHsKKyAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ucGVyaW9kaWNzeW5jOworfTsK
KworW0V4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpXQorcGFydGlhbCBpbnRlcmZhY2UgU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbiB7CisgIHJlYWRvbmx5IGF0dHJpYnV0ZSBQZXJpb2RpY1N5bmNNYW5h
Z2VyIHBlcmlvZGljU3luYzsKK307CisKK1tFeHBvc2VkPShXaW5kb3csV29ya2VyKV0KK2ludGVy
ZmFjZSBQZXJpb2RpY1N5bmNNYW5hZ2VyIHsKKyAgICBQcm9taXNlPHZvaWQ+IHJlZ2lzdGVyKERP
TVN0cmluZyB0YWcsIG9wdGlvbmFsIEJhY2tncm91bmRTeW5jT3B0aW9ucyBvcHRpb25zKTsKKyAg
ICBQcm9taXNlPHNlcXVlbmNlPERPTVN0cmluZz4+IGdldFRhZ3MoKTsKKyAgICBQcm9taXNlPHZv
aWQ+IHVucmVnaXN0ZXIoRE9NU3RyaW5nIHRhZyk7Cit9OworCitkaWN0aW9uYXJ5IEJhY2tncm91
bmRTeW5jT3B0aW9ucyB7CisgICAgW0VuZm9yY2VSYW5nZV0gdW5zaWduZWQgbG9uZyBsb25nIG1p
bkludGVydmFsID0gMDsKK307CisKK2RpY3Rpb25hcnkgUGVyaW9kaWNTeW5jRXZlbnRJbml0IDog
RXh0ZW5kYWJsZUV2ZW50SW5pdCB7CisgICAgcmVxdWlyZWQgRE9NU3RyaW5nIHRhZzsKK307CisK
K1sKKyAgICBDb25zdHJ1Y3RvcihET01TdHJpbmcgdHlwZSwgUGVyaW9kaWNTeW5jRXZlbnRJbml0
IGluaXQpLAorICAgIEV4cG9zZWQ9U2VydmljZVdvcmtlcgorXSBpbnRlcmZhY2UgUGVyaW9kaWNT
eW5jRXZlbnQgOiBFeHRlbmRhYmxlRXZlbnQgeworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01T
dHJpbmcgdGFnOworICB9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3Blcm1pc3Npb25zLXJlcXVlc3QuaWRsIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3Blcm1p
c3Npb25zLXJlcXVlc3QuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA4NDMxZmJhYjg1YWI5ODM4Mjc4YzJlMmQw
ZGQ5YWQ0MTFmMWQ1ZGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcGVybWlzc2lvbnMtcmVxdWVzdC5pZGwK
QEAgLTAsMCArMSw4IEBACisvLyBHRU5FUkFURUQgQ09OVEVOVCAtIERPIE5PVCBFRElUCisvLyBD
b250ZW50IHdhcyBhdXRvbWF0aWNhbGx5IGV4dHJhY3RlZCBieSBSZWZmeSBpbnRvIHJlZmZ5LXJl
cG9ydHMKKy8vIChodHRwczovL2dpdGh1Yi5jb20vdGlkb3VzdC9yZWZmeS1yZXBvcnRzKQorLy8g
U291cmNlOiBSZXF1ZXN0aW5nIFBlcm1pc3Npb25zIChodHRwczovL3dpY2cuZ2l0aHViLmlvL3Bl
cm1pc3Npb25zLXJlcXVlc3QvKQorCitwYXJ0aWFsIGludGVyZmFjZSBQZXJtaXNzaW9ucyB7Cisg
IFByb21pc2U8UGVybWlzc2lvblN0YXR1cz4gcmVxdWVzdChvYmplY3QgcGVybWlzc2lvbkRlc2Mp
OworfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaW50ZXJmYWNlcy9wZXJtaXNzaW9ucy1yZXZva2UuaWRsIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3Blcm1pc3Npb25zLXJldm9r
ZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNGMyYmNmN2I5OWYxNGI1OGZmZWE3MzhhMjMyNzI3NjdmNGFlNjg2
ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaW50ZXJmYWNlcy9wZXJtaXNzaW9ucy1yZXZva2UuaWRsCkBAIC0wLDAgKzEsOCBA
QAorLy8gR0VORVJBVEVEIENPTlRFTlQgLSBETyBOT1QgRURJVAorLy8gQ29udGVudCB3YXMgYXV0
b21hdGljYWxseSBleHRyYWN0ZWQgYnkgUmVmZnkgaW50byByZWZmeS1yZXBvcnRzCisvLyAoaHR0
cHM6Ly9naXRodWIuY29tL3RpZG91c3QvcmVmZnktcmVwb3J0cykKKy8vIFNvdXJjZTogUmVsaW5x
dWlzaGluZyBQZXJtaXNzaW9ucyAoaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9wZXJtaXNzaW9ucy1y
ZXZva2UvKQorCitwYXJ0aWFsIGludGVyZmFjZSBQZXJtaXNzaW9ucyB7CisgIFByb21pc2U8UGVy
bWlzc2lvblN0YXR1cz4gcmV2b2tlKG9iamVjdCBwZXJtaXNzaW9uRGVzYyk7Cit9OwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZh
Y2VzL3Blcm1pc3Npb25zLmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaW50ZXJmYWNlcy9wZXJtaXNzaW9ucy5pZGwKaW5kZXggOWNkZTM3MmExMjcxODhl
ZjEwODFhZDM5MGQ1MzAxZDJkOGIxOThmOC4uZDQ1YzdmOTNjYWM3NjgzYTc2ZTg5ZDBlN2Y0Mjlm
NWYzY2I2OTVkOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3Blcm1pc3Npb25zLmlkbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcGVybWlzc2lvbnMuaWRs
CkBAIC00Niw2ICs0NiwxMCBAQCBkaWN0aW9uYXJ5IERldmljZVBlcm1pc3Npb25EZXNjcmlwdG9y
IDogUGVybWlzc2lvbkRlc2NyaXB0b3IgewogICBET01TdHJpbmcgZGV2aWNlSWQ7CiB9OwogCitk
aWN0aW9uYXJ5IENhbWVyYURldmljZVBlcm1pc3Npb25EZXNjcmlwdG9yIDogRGV2aWNlUGVybWlz
c2lvbkRlc2NyaXB0b3IgeworICBib29sZWFuIHBhblRpbHRab29tID0gZmFsc2U7Cit9OworCiBk
aWN0aW9uYXJ5IFBlcm1pc3Npb25TZXRQYXJhbWV0ZXJzIHsKICAgcmVxdWlyZWQgUGVybWlzc2lv
bkRlc2NyaXB0b3IgZGVzY3JpcHRvcjsKICAgcmVxdWlyZWQgUGVybWlzc2lvblN0YXRlIHN0YXRl
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbnRlcmZhY2VzL3BvaW50ZXJldmVudHMuaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3BvaW50ZXJldmVudHMuaWRsCmluZGV4IGY0
NDA1NDM4NjMyYmUzY2FkNTllZTUyYzdjNjJiY2E2MzBkZjg3NWYuLjhhNDJiNWE4NDQ2Yjg0M2Mw
MWY2YTc2YzgyNGJkZjAyMmIzNmI2NDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9wb2ludGVyZXZlbnRzLmlkbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMv
cG9pbnRlcmV2ZW50cy5pZGwKQEAgLTEyLDYgKzEyLDggQEAgZGljdGlvbmFyeSBQb2ludGVyRXZl
bnRJbml0IDogTW91c2VFdmVudEluaXQgewogICAgIGxvbmcgICAgICAgIHRpbHRYID0gMDsKICAg
ICBsb25nICAgICAgICB0aWx0WSA9IDA7CiAgICAgbG9uZyAgICAgICAgdHdpc3QgPSAwOworICAg
IGRvdWJsZSAgICAgIGFsdGl0dWRlQW5nbGUgPSAwOworICAgIGRvdWJsZSAgICAgIGF6aW11dGhB
bmdsZSA9IDA7CiAgICAgRE9NU3RyaW5nICAgcG9pbnRlclR5cGUgPSAiIjsKICAgICBib29sZWFu
ICAgICBpc1ByaW1hcnkgPSBmYWxzZTsKICAgICBzZXF1ZW5jZTxQb2ludGVyRXZlbnQ+IGNvYWxl
c2NlZEV2ZW50cyA9IFtdOwpAQCAtMjksOSArMzEsMTEgQEAgaW50ZXJmYWNlIFBvaW50ZXJFdmVu
dCA6IE1vdXNlRXZlbnQgewogICAgIHJlYWRvbmx5ICAgICAgICBhdHRyaWJ1dGUgbG9uZyAgICAg
ICAgdGlsdFg7CiAgICAgcmVhZG9ubHkgICAgICAgIGF0dHJpYnV0ZSBsb25nICAgICAgICB0aWx0
WTsKICAgICByZWFkb25seSAgICAgICAgYXR0cmlidXRlIGxvbmcgICAgICAgIHR3aXN0OworICAg
IHJlYWRvbmx5ICAgICAgICBhdHRyaWJ1dGUgZG91YmxlICAgICAgYWx0aXR1ZGVBbmdsZTsKKyAg
ICByZWFkb25seSAgICAgICAgYXR0cmlidXRlIGRvdWJsZSAgICAgIGF6aW11dGhBbmdsZTsKICAg
ICByZWFkb25seSAgICAgICAgYXR0cmlidXRlIERPTVN0cmluZyAgIHBvaW50ZXJUeXBlOwogICAg
IHJlYWRvbmx5ICAgICAgICBhdHRyaWJ1dGUgYm9vbGVhbiAgICAgaXNQcmltYXJ5OwotICAgIHNl
cXVlbmNlPFBvaW50ZXJFdmVudD4gZ2V0Q29hbGVzY2VkRXZlbnRzKCk7CisgICAgW1NlY3VyZUNv
bnRleHRdIHNlcXVlbmNlPFBvaW50ZXJFdmVudD4gZ2V0Q29hbGVzY2VkRXZlbnRzKCk7CiAgICAg
c2VxdWVuY2U8UG9pbnRlckV2ZW50PiBnZXRQcmVkaWN0ZWRFdmVudHMoKTsKIH07CiAKQEAgLTQ2
LDYgKzUwLDcgQEAgcGFydGlhbCBpbnRlcmZhY2UgbWl4aW4gR2xvYmFsRXZlbnRIYW5kbGVycyB7
CiAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmxvc3Rwb2ludGVyY2FwdHVyZTsKICAgICBh
dHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ucG9pbnRlcmRvd247CiAgICAgYXR0cmlidXRlIEV2ZW50
SGFuZGxlciBvbnBvaW50ZXJtb3ZlOworICAgIFtTZWN1cmVDb250ZXh0XSBhdHRyaWJ1dGUgRXZl
bnRIYW5kbGVyIG9ucG9pbnRlcnJhd3VwZGF0ZTsKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVy
IG9ucG9pbnRlcnVwOwogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25wb2ludGVyY2FuY2Vs
OwogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25wb2ludGVyb3ZlcjsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9y
ZXBvcnRpbmcuaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbnRlcmZhY2VzL3JlcG9ydGluZy5pZGwKaW5kZXggZjUzNzBlOGYxZTY1NmFjZjc0MDlkYmRh
OTA3ZWU5NjcyZDVlOGVkMS4uZDQyZjBiYWM1OWMyZmE2ZDhmOTQ0MDJmN2I2ZTFlMjlkZTM3OTEy
MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbnRlcmZhY2VzL3JlcG9ydGluZy5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3JlcG9ydGluZy5pZGwKQEAgLTMzLDMzICsz
Myw2IEBAIGRpY3Rpb25hcnkgUmVwb3J0aW5nT2JzZXJ2ZXJPcHRpb25zIHsKIAogdHlwZWRlZiBz
ZXF1ZW5jZTxSZXBvcnQ+IFJlcG9ydExpc3Q7CiAKLVtFeHBvc2VkPShXaW5kb3csV29ya2VyKV0K
LWludGVyZmFjZSBEZXByZWNhdGlvblJlcG9ydEJvZHkgOiBSZXBvcnRCb2R5IHsKLSAgW0RlZmF1
bHRdIG9iamVjdCB0b0pTT04oKTsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBpZDsK
LSAgcmVhZG9ubHkgYXR0cmlidXRlIERhdGU/IGFudGljaXBhdGVkUmVtb3ZhbDsKLSAgcmVhZG9u
bHkgYXR0cmlidXRlIERPTVN0cmluZyBtZXNzYWdlOwotICByZWFkb25seSBhdHRyaWJ1dGUgRE9N
U3RyaW5nPyBzb3VyY2VGaWxlOwotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZz8g
bGluZU51bWJlcjsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmc/IGNvbHVtbk51
bWJlcjsKLX07Ci0KLVtFeHBvc2VkPShXaW5kb3csV29ya2VyKV0KLWludGVyZmFjZSBJbnRlcnZl
bnRpb25SZXBvcnRCb2R5IDogUmVwb3J0Qm9keSB7Ci0gIFtEZWZhdWx0XSBvYmplY3QgdG9KU09O
KCk7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgaWQ7Ci0gIHJlYWRvbmx5IGF0dHJp
YnV0ZSBET01TdHJpbmcgbWVzc2FnZTsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZz8g
c291cmNlRmlsZTsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmc/IGxpbmVOdW1i
ZXI7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nPyBjb2x1bW5OdW1iZXI7Ci19
OwotCi1bRXhwb3NlZD0oV2luZG93LFdvcmtlcildCi1pbnRlcmZhY2UgQ3Jhc2hSZXBvcnRCb2R5
IDogUmVwb3J0Qm9keSB7Ci0gIFtEZWZhdWx0XSBvYmplY3QgdG9KU09OKCk7Ci0gIHJlYWRvbmx5
IGF0dHJpYnV0ZSBET01TdHJpbmc/IHJlYXNvbjsKLX07Ci0KIGRpY3Rpb25hcnkgR2VuZXJhdGVU
ZXN0UmVwb3J0UGFyYW1ldGVycyB7CiAgIHJlcXVpcmVkIERPTVN0cmluZyBtZXNzYWdlOwogICBE
T01TdHJpbmcgZ3JvdXAgPSAiZGVmYXVsdCI7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcmVxdWVzdGlkbGVjYWxsYmFj
ay5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVy
ZmFjZXMvcmVxdWVzdGlkbGVjYWxsYmFjay5pZGwKaW5kZXggYjQ4NWRjMDc4MDVmZTg2NGNmNzlh
YmQxZWMxMWE3ZTNmZmI2OGQ0MS4uYzc2M2I1MGJkZTc4MmJiNDg0NTY0YjQ5ZTI1MDY4ZmZmODhm
NzgyYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9pbnRlcmZhY2VzL3JlcXVlc3RpZGxlY2FsbGJhY2suaWRsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9yZXF1ZXN0aWRsZWNh
bGxiYWNrLmlkbApAQCAtMTEsOCArMTEsMTAgQEAgcGFydGlhbCBpbnRlcmZhY2UgV2luZG93IHsK
IGRpY3Rpb25hcnkgSWRsZVJlcXVlc3RPcHRpb25zIHsKICAgdW5zaWduZWQgbG9uZyB0aW1lb3V0
OwogfTsKKwogW0V4cG9zZWQ9V2luZG93XSBpbnRlcmZhY2UgSWRsZURlYWRsaW5lIHsKICAgRE9N
SGlnaFJlc1RpbWVTdGFtcCB0aW1lUmVtYWluaW5nKCk7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBi
b29sZWFuIGRpZFRpbWVvdXQ7CiB9OworCiBjYWxsYmFjayBJZGxlUmVxdWVzdENhbGxiYWNrID0g
dm9pZCAoSWRsZURlYWRsaW5lIGRlYWRsaW5lKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9yZXNpemUtb2JzZXJ2ZXIu
aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZh
Y2VzL3Jlc2l6ZS1vYnNlcnZlci5pZGwKaW5kZXggZDUzZTlkYTU1ZWUzM2ZhZWYwNWFlYjEwZTUw
YmEzMWYyN2NmODhjOC4uZjIwYjcxOWQxMWU3NmNmOTI5OTdhNTYwNjFkMDA5MTg5NTQ1M2Y1MiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bnRlcmZhY2VzL3Jlc2l6ZS1vYnNlcnZlci5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3Jlc2l6ZS1vYnNlcnZlci5pZGwKQEAg
LTExLDkgKzExLDkgQEAgZGljdGlvbmFyeSBSZXNpemVPYnNlcnZlck9wdGlvbnMgewogICAgIFJl
c2l6ZU9ic2VydmVyQm94T3B0aW9ucyBib3ggPSAiY29udGVudC1ib3giOwogfTsKIAotW0V4cG9z
ZWQ9KFdpbmRvdyksCi0gQ29uc3RydWN0b3IoUmVzaXplT2JzZXJ2ZXJDYWxsYmFjayBjYWxsYmFj
ayldCitbRXhwb3NlZD0oV2luZG93KV0KIGludGVyZmFjZSBSZXNpemVPYnNlcnZlciB7CisgICAg
Y29uc3RydWN0b3IoUmVzaXplT2JzZXJ2ZXJDYWxsYmFjayBjYWxsYmFjayk7CiAgICAgdm9pZCBv
YnNlcnZlKEVsZW1lbnQgdGFyZ2V0LCBvcHRpb25hbCBSZXNpemVPYnNlcnZlck9wdGlvbnMgb3B0
aW9ucyk7CiAgICAgdm9pZCB1bm9ic2VydmUoRWxlbWVudCB0YXJnZXQpOwogICAgIHZvaWQgZGlz
Y29ubmVjdCgpOwpAQCAtMjUsOSArMjUsOSBAQCBjYWxsYmFjayBSZXNpemVPYnNlcnZlckNhbGxi
YWNrID0gdm9pZCAoc2VxdWVuY2U8UmVzaXplT2JzZXJ2ZXJFbnRyeT4gZW50cmllcywgUgogaW50
ZXJmYWNlIFJlc2l6ZU9ic2VydmVyRW50cnkgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBFbGVt
ZW50IHRhcmdldDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NUmVjdFJlYWRPbmx5IGNvbnRl
bnRSZWN0OwotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBzZXF1ZW5jZTxSZXNpemVPYnNlcnZlclNp
emU+IGJvcmRlckJveFNpemU7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIHNlcXVlbmNlPFJlc2l6
ZU9ic2VydmVyU2l6ZT4gY29udGVudEJveFNpemU7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIHNl
cXVlbmNlPFJlc2l6ZU9ic2VydmVyU2l6ZT4gZGV2aWNlUGl4ZWxDb250ZW50Qm94U2l6ZTsKKyAg
ICByZWFkb25seSBhdHRyaWJ1dGUgRnJvemVuQXJyYXk8UmVzaXplT2JzZXJ2ZXJTaXplPiBib3Jk
ZXJCb3hTaXplOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBGcm96ZW5BcnJheTxSZXNpemVPYnNl
cnZlclNpemU+IGNvbnRlbnRCb3hTaXplOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBGcm96ZW5B
cnJheTxSZXNpemVPYnNlcnZlclNpemU+IGRldmljZVBpeGVsQ29udGVudEJveFNpemU7CiB9Owog
CiBpbnRlcmZhY2UgUmVzaXplT2JzZXJ2ZXJTaXplIHsKQEAgLTM1LDEwICszNSw5IEBAIGludGVy
ZmFjZSBSZXNpemVPYnNlcnZlclNpemUgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnJlc3Ry
aWN0ZWQgZG91YmxlIGJsb2NrU2l6ZTsKIH07CiAKLVtDb25zdHJ1Y3RvcihFbGVtZW50IHRhcmdl
dCkKLV0KIGludGVyZmFjZSBSZXNpemVPYnNlcnZhdGlvbiB7CisgICAgY29uc3RydWN0b3IoRWxl
bWVudCB0YXJnZXQpOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBFbGVtZW50IHRhcmdldDsKICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgUmVzaXplT2JzZXJ2ZXJCb3hPcHRpb25zIG9ic2VydmVkQm94
OwotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBzZXF1ZW5jZTxSZXNpemVPYnNlcnZlclNpemU+IGxh
c3RSZXBvcnRlZFNpemVzOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBGcm96ZW5BcnJheTxSZXNp
emVPYnNlcnZlclNpemU+IGxhc3RSZXBvcnRlZFNpemVzOwogfTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9zY3JvbGwt
YW5pbWF0aW9ucy5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ludGVyZmFjZXMvc2Nyb2xsLWFuaW1hdGlvbnMuaWRsCmluZGV4IDhmZDY3YTdhZjdiYmRh
YTgxMjlmYjAzY2YzOTVlYjZlNDExZGJjZDQuLjAwZDBiYWU2ODEyNmFhNjdkNjcxNDY5NDQyMmEw
OTgxMDBlYjdlNzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9zY3JvbGwtYW5pbWF0aW9ucy5pZGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3Njcm9sbC1h
bmltYXRpb25zLmlkbApAQCAtMTMsMjEgKzEzLDE5IEBAIGVudW0gU2Nyb2xsRGlyZWN0aW9uIHsK
IGVudW0gU2Nyb2xsVGltZWxpbmVBdXRvS2V5d29yZCB7ICJhdXRvIiB9OwogCiBkaWN0aW9uYXJ5
IFNjcm9sbFRpbWVsaW5lT3B0aW9ucyB7Ci0gIEVsZW1lbnQ/IHNjcm9sbFNvdXJjZSA9IG51bGw7
CisgIEVsZW1lbnQ/IHNvdXJjZSA9IG51bGw7CiAgIFNjcm9sbERpcmVjdGlvbiBvcmllbnRhdGlv
biA9ICJibG9jayI7Ci0gIERPTVN0cmluZyBzdGFydFNjcm9sbE9mZnNldCA9ICJhdXRvIjsKLSAg
RE9NU3RyaW5nIGVuZFNjcm9sbE9mZnNldCA9ICJhdXRvIjsKKyAgRE9NU3RyaW5nIHN0YXJ0ID0g
ImF1dG8iOworICBET01TdHJpbmcgZW5kID0gImF1dG8iOwogICAoZG91YmxlIG9yIFNjcm9sbFRp
bWVsaW5lQXV0b0tleXdvcmQpIHRpbWVSYW5nZSA9ICJhdXRvIjsKLSAgRmlsbE1vZGUgZmlsbCA9
ICJub25lIjsKIH07CiAKLVtFeHBvc2VkPVdpbmRvdywKLSBDb25zdHJ1Y3RvcihvcHRpb25hbCBT
Y3JvbGxUaW1lbGluZU9wdGlvbnMgb3B0aW9ucyA9IHt9KV0KK1tFeHBvc2VkPVdpbmRvd10KIGlu
dGVyZmFjZSBTY3JvbGxUaW1lbGluZSA6IEFuaW1hdGlvblRpbWVsaW5lIHsKLSAgcmVhZG9ubHkg
YXR0cmlidXRlIEVsZW1lbnQgc2Nyb2xsU291cmNlOworICBjb25zdHJ1Y3RvcihvcHRpb25hbCBT
Y3JvbGxUaW1lbGluZU9wdGlvbnMgb3B0aW9ucyA9IHt9KTsKKyAgcmVhZG9ubHkgYXR0cmlidXRl
IEVsZW1lbnQgc291cmNlOwogICByZWFkb25seSBhdHRyaWJ1dGUgU2Nyb2xsRGlyZWN0aW9uIG9y
aWVudGF0aW9uOwotICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHN0YXJ0U2Nyb2xsT2Zm
c2V0OwotICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGVuZFNjcm9sbE9mZnNldDsKKyAg
cmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBzdGFydDsKKyAgcmVhZG9ubHkgYXR0cmlidXRl
IERPTVN0cmluZyBlbmQ7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSAoZG91YmxlIG9yIFNjcm9sbFRp
bWVsaW5lQXV0b0tleXdvcmQpIHRpbWVSYW5nZTsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIEZpbGxN
b2RlIGZpbGw7CiB9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3NoYXBlLWRldGVjdGlvbi1hcGkuaWRsIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3NoYXBlLWRl
dGVjdGlvbi1hcGkuaWRsCmluZGV4IDUxYzk5Njk1OWJlYTJhY2MxYjJkMGEzYzNiZTQzOGIwYzYx
ODJlMjMuLjViMWM0NWE3NzM5ODdlYjhjZThiNTlmZDViOThjMmYwYzlhZTRlYTUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNl
cy9zaGFwZS1kZXRlY3Rpb24tYXBpLmlkbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvc2hhcGUtZGV0ZWN0aW9uLWFwaS5pZGwKQEAg
LTE1LDEyICsxNSw5IEBAIGRpY3Rpb25hcnkgRmFjZURldGVjdG9yT3B0aW9ucyB7CiAgIGJvb2xl
YW4gZmFzdE1vZGU7CiB9OwogCi1bRXhwb3NlZD0oV2luZG93LFdvcmtlciksCi0gU2VjdXJlQ29u
dGV4dCwKLSBTZXJpYWxpemFibGVdCi1pbnRlcmZhY2UgRGV0ZWN0ZWRGYWNlIHsKLSAgW1NhbWVP
YmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01SZWN0UmVhZE9ubHkgYm91bmRpbmdCb3g7Ci0g
IFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgRnJvemVuQXJyYXk8TGFuZG1hcms+PyBs
YW5kbWFya3M7CitkaWN0aW9uYXJ5IERldGVjdGVkRmFjZSB7CisgIHJlcXVpcmVkIERPTVJlY3RS
ZWFkT25seSBib3VuZGluZ0JveDsKKyAgcmVxdWlyZWQgRnJvemVuQXJyYXk8TGFuZG1hcms+PyBs
YW5kbWFya3M7CiB9OwogCiBkaWN0aW9uYXJ5IExhbmRtYXJrIHsKQEAgLTQ3LDE0ICs0NCwxMSBA
QCBkaWN0aW9uYXJ5IEJhcmNvZGVEZXRlY3Rvck9wdGlvbnMgewogICBzZXF1ZW5jZTxCYXJjb2Rl
Rm9ybWF0PiBmb3JtYXRzOwogfTsKIAotW0V4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLAotIFNlY3Vy
ZUNvbnRleHQsCi0gU2VyaWFsaXphYmxlXQotaW50ZXJmYWNlIERldGVjdGVkQmFyY29kZSB7Ci0g
IFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgRE9NUmVjdFJlYWRPbmx5IGJvdW5kaW5n
Qm94OwotICBbU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyByYXdWYWx1
ZTsKLSAgW1NhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBCYXJjb2RlRm9ybWF0IGZvcm1h
dDsKLSAgW1NhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBGcm96ZW5BcnJheTxQb2ludDJE
PiBjb3JuZXJQb2ludHM7CitkaWN0aW9uYXJ5IERldGVjdGVkQmFyY29kZSB7CisgIHJlcXVpcmVk
IERPTVJlY3RSZWFkT25seSBib3VuZGluZ0JveDsKKyAgcmVxdWlyZWQgRE9NU3RyaW5nIHJhd1Zh
bHVlOworICByZXF1aXJlZCBCYXJjb2RlRm9ybWF0IGZvcm1hdDsKKyAgcmVxdWlyZWQgRnJvemVu
QXJyYXk8UG9pbnQyRD4gY29ybmVyUG9pbnRzOwogfTsKIAogZW51bSBCYXJjb2RlRm9ybWF0IHsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aW50ZXJmYWNlcy9zdG9yYWdlLWFjY2Vzcy1hcGkudGVudGF0aXZlLmlkbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9zdG9yYWdlLWFjY2Vz
cy1hcGkudGVudGF0aXZlLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hOTRiZTM3ZTkxNWU4MjIyMmUwM2JmZDU3
NDFhMzJiMjRmMjNhNDhhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3N0b3JhZ2UtYWNjZXNzLWFwaS50ZW50
YXRpdmUuaWRsCkBAIC0wLDAgKzEsNiBAQAorLy8gaHR0cHM6Ly9naXRodWIuY29tL3doYXR3Zy9o
dG1sL2lzc3Vlcy8zMzM4CisKK3BhcnRpYWwgaW50ZXJmYWNlIERvY3VtZW50IHsKKyAgUHJvbWlz
ZTxib29sPiBoYXNTdG9yYWdlQWNjZXNzKCk7CisgIFByb21pc2U8dm9pZD4gcmVxdWVzdFN0b3Jh
Z2VBY2Nlc3MoKTsKK307CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvdGV4dC1kZXRlY3Rpb24tYXBpLnRlbnRhdGl2ZS5p
ZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFj
ZXMvdGV4dC1kZXRlY3Rpb24tYXBpLnRlbnRhdGl2ZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODgzNWM1ZmVl
OTE1MTE2M2I3MDEwZmE2NTY2MDYyNjFmZTY0MTFmYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy90ZXh0LWRl
dGVjdGlvbi1hcGkudGVudGF0aXZlLmlkbApAQCAtMCwwICsxLDE4IEBACisvLyBDb250ZW50IHdh
cyBtYW51YWxseSBjb3BpZWQgQXByaWwgMSAyMDIwCisvLyBTb3VyY2U6IEFjY2VsZXJhdGVkIFRl
eHQgRGV0ZWN0aW9uIGluIEltYWdlcyAoaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9zaGFwZS1kZXRl
Y3Rpb24tYXBpL3RleHQuaHRtbCkKKy8vIFRoaXMgaXMgY3VycmVudGx5IGEgc2lzdGVyIGluZm9y
bWF0aXZlIHNwZWMgb2YgU2hhcGUgRGV0ZWN0aW9uIEFQSSwKKy8vIHNvIGl0IGNvdWxkIG5vdCBi
ZSBtZXJnZWQgaW50byAvaW50ZXJmYWNlcy9zaGFwZS1kZXRlY3Rpb24tYXBpLmlkbAorCitbCisg
ICAgQ29uc3RydWN0b3IsCisgICAgRXhwb3NlZD0oV2luZG93LFdvcmtlciksCisgICAgU2VjdXJl
Q29udGV4dAorXSBpbnRlcmZhY2UgVGV4dERldGVjdG9yIHsKKyAgICBQcm9taXNlPHNlcXVlbmNl
PERldGVjdGVkVGV4dD4+IGRldGVjdChJbWFnZUJpdG1hcFNvdXJjZSBpbWFnZSk7Cit9OworCitk
aWN0aW9uYXJ5IERldGVjdGVkVGV4dCB7CisgIHJlcXVpcmVkIERPTVJlY3RSZWFkT25seSBib3Vu
ZGluZ0JveDsKKyAgcmVxdWlyZWQgRE9NU3RyaW5nIHJhd1ZhbHVlOworICByZXF1aXJlZCBGcm96
ZW5BcnJheTxQb2ludDJEPiBjb3JuZXJQb2ludHM7Cit9OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaW50ZXJmYWNlcy90cnVzdGVkLXR5cGVzLnRlbnRhdGl2ZS5pZGwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvdHJ1c3RlZC10eXBl
cy50ZW50YXRpdmUuaWRsCmluZGV4IGJlNThiNjNiMmMzZDEwZThhNTNhYzJhZjczODhlOWE0NGY4
ZmEzZTYuLmYyMzE4ZDY4NTY3NjI5MWE1ZWM4NWExYTBjM2M0MDhmYTFhN2YwNzkgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNl
cy90cnVzdGVkLXR5cGVzLnRlbnRhdGl2ZS5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3RydXN0ZWQtdHlwZXMudGVudGF0aXZl
LmlkbApAQCAtMSwzNyArMSw0NiBAQAogLy8gaHR0cHM6Ly9naXRodWIuY29tL3dpY2cvdHJ1c3Rl
ZC10eXBlcwogCi10eXBlZGVmIChET01TdHJpbmcgb3IgVHJ1c3RlZEhUTUwpIEhUTUxTdHJpbmc7
Ci10eXBlZGVmIChET01TdHJpbmcgb3IgVHJ1c3RlZFNjcmlwdCkgU2NyaXB0U3RyaW5nOwotdHlw
ZWRlZiAoRE9NU3RyaW5nIG9yIFRydXN0ZWRTY3JpcHRVUkwpIFNjcmlwdFVSTFN0cmluZzsKLQot
W0V4cG9zZWQ9KFdpbmRvdywgV29ya2VyKV0KLWludGVyZmFjZSBUcnVzdGVkSFRNTCB7Cit0eXBl
ZGVmIFtTdHJpbmdDb250ZXh0PVRydXN0ZWRIVE1MXSBET01TdHJpbmcgSFRNTFN0cmluZzsKK3R5
cGVkZWYgW1N0cmluZ0NvbnRleHQ9VHJ1c3RlZFNjcmlwdF0gRE9NU3RyaW5nIFNjcmlwdFN0cmlu
ZzsKK3R5cGVkZWYgW1N0cmluZ0NvbnRleHQ9VHJ1c3RlZFNjcmlwdFVSTF0gVVNWU3RyaW5nIFNj
cmlwdFVSTFN0cmluZzsKKworWworICBFeHBvc2VkPShXaW5kb3csIFdvcmtlciksCisgIFNlY3Vy
ZUNvbnRleHQKK10gaW50ZXJmYWNlIFRydXN0ZWRIVE1MIHsKICAgICBzdHJpbmdpZmllcjsKIH07
CiAKLVtFeHBvc2VkPShXaW5kb3csIFdvcmtlcildCi1pbnRlcmZhY2UgVHJ1c3RlZFNjcmlwdCB7
CitbCisgIEV4cG9zZWQ9KFdpbmRvdywgV29ya2VyKSwKKyAgU2VjdXJlQ29udGV4dAorXSBpbnRl
cmZhY2UgVHJ1c3RlZFNjcmlwdCB7CiAgICAgc3RyaW5naWZpZXI7CiB9OwogCi1bRXhwb3NlZD0o
V2luZG93LCBXb3JrZXIpXQotaW50ZXJmYWNlIFRydXN0ZWRTY3JpcHRVUkwgeworWworICBFeHBv
c2VkPShXaW5kb3csIFdvcmtlciksCisgIFNlY3VyZUNvbnRleHQKK10gaW50ZXJmYWNlIFRydXN0
ZWRTY3JpcHRVUkwgewogICAgIHN0cmluZ2lmaWVyOwogfTsKIAotW0V4cG9zZWQ9KFdpbmRvdywg
V29ya2VyKV0KLWludGVyZmFjZSBUcnVzdGVkVHlwZVBvbGljeUZhY3RvcnkgewotICAgIFtVbmZv
cmdlYWJsZV0gVHJ1c3RlZFR5cGVQb2xpY3kgY3JlYXRlUG9saWN5KERPTVN0cmluZyBwb2xpY3lO
YW1lLCBUcnVzdGVkVHlwZVBvbGljeU9wdGlvbnMgcG9saWN5T3B0aW9ucyk7CitbCisgIEV4cG9z
ZWQ9KFdpbmRvdywgV29ya2VyKSwKKyAgU2VjdXJlQ29udGV4dAorXSBpbnRlcmZhY2UgVHJ1c3Rl
ZFR5cGVQb2xpY3lGYWN0b3J5IHsKKyAgICBUcnVzdGVkVHlwZVBvbGljeSBjcmVhdGVQb2xpY3ko
RE9NU3RyaW5nIHBvbGljeU5hbWUsIG9wdGlvbmFsIFRydXN0ZWRUeXBlUG9saWN5T3B0aW9ucyBw
b2xpY3lPcHRpb25zID0ge30pOwogICAgIC8vIEFsbCB0aGUgcG9saWN5IG9iamVjdCBuYW1lcyB0
aGF0IGhhdmUgYmVlbiBjcmVhdGVkCi0gICAgW1VuZm9yZ2VhYmxlXSBzZXF1ZW5jZTxET01TdHJp
bmc+IGdldFBvbGljeU5hbWVzKCk7CiB9OwogCi1bRXhwb3NlZD0oV2luZG93LCBXb3JrZXIpXQot
aW50ZXJmYWNlIFRydXN0ZWRUeXBlUG9saWN5IHsKLSAgICBbVW5mb3JnZWFibGVdIHJlYWRvbmx5
IGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLSAgICBbVW5mb3JnZWFibGVdIFRydXN0ZWRIVE1M
IGNyZWF0ZUhUTUwoRE9NU3RyaW5nIGlucHV0KTsKLSAgICBbVW5mb3JnZWFibGVdIFRydXN0ZWRT
Y3JpcHQgY3JlYXRlU2NyaXB0KERPTVN0cmluZyBpbnB1dCk7Ci0gICAgW1VuZm9yZ2VhYmxlXSBU
cnVzdGVkU2NyaXB0VVJMIGNyZWF0ZVNjcmlwdFVSTChET01TdHJpbmcgaW5wdXQpOworWworICBF
eHBvc2VkPShXaW5kb3csIFdvcmtlciksCisgIFNlY3VyZUNvbnRleHQKK10gaW50ZXJmYWNlIFRy
dXN0ZWRUeXBlUG9saWN5IHsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7
CisgICAgVHJ1c3RlZEhUTUwgY3JlYXRlSFRNTChET01TdHJpbmcgaW5wdXQpOworICAgIFRydXN0
ZWRTY3JpcHQgY3JlYXRlU2NyaXB0KERPTVN0cmluZyBpbnB1dCk7CisgICAgVHJ1c3RlZFNjcmlw
dFVSTCBjcmVhdGVTY3JpcHRVUkwoVVNWU3RyaW5nIGlucHV0KTsKIH07CiAKIGRpY3Rpb25hcnkg
VHJ1c3RlZFR5cGVQb2xpY3lPcHRpb25zIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy92aWRlby1ydmZjLmlkbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy92aWRl
by1ydmZjLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hODZlMmIzNjRkZjBkYTAzMjZmZjExNTQxMjhhOTE5OGU3
YjIzZTg5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3ZpZGVvLXJ2ZmMuaWRsCkBAIC0wLDAgKzEsMjcgQEAK
Ky8vIEdFTkVSQVRFRCBDT05URU5UIC0gRE8gTk9UIEVESVQKKy8vIENvbnRlbnQgd2FzIGF1dG9t
YXRpY2FsbHkgZXh0cmFjdGVkIGJ5IFJlZmZ5IGludG8gcmVmZnktcmVwb3J0cworLy8gKGh0dHBz
Oi8vZ2l0aHViLmNvbS90aWRvdXN0L3JlZmZ5LXJlcG9ydHMpCisvLyBTb3VyY2U6IEhUTUxWaWRl
b0VsZW1lbnQucmVxdWVzdFZpZGVvRnJhbWVDYWxsYmFjaygpIChodHRwczovL3dpY2cuZ2l0aHVi
LmlvL3ZpZGVvLXJ2ZmMvKQorCitkaWN0aW9uYXJ5IFZpZGVvRnJhbWVNZXRhZGF0YSB7CisgIHJl
cXVpcmVkIERPTUhpZ2hSZXNUaW1lU3RhbXAgcHJlc2VudGF0aW9uVGltZTsKKyAgcmVxdWlyZWQg
RE9NSGlnaFJlc1RpbWVTdGFtcCBleHBlY3RlZERpc3BsYXlUaW1lOworCisgIHJlcXVpcmVkIHVu
c2lnbmVkIGxvbmcgd2lkdGg7CisgIHJlcXVpcmVkIHVuc2lnbmVkIGxvbmcgaGVpZ2h0OworICBy
ZXF1aXJlZCBkb3VibGUgbWVkaWFUaW1lOworCisgIHJlcXVpcmVkIHVuc2lnbmVkIGxvbmcgcHJl
c2VudGVkRnJhbWVzOworICBkb3VibGUgcHJvY2Vzc2luZ0R1cmF0aW9uOworCisgIERPTUhpZ2hS
ZXNUaW1lU3RhbXAgY2FwdHVyZVRpbWU7CisgIERPTUhpZ2hSZXNUaW1lU3RhbXAgcmVjZWl2ZVRp
bWU7CisgIHVuc2lnbmVkIGxvbmcgcnRwVGltZXN0YW1wOworfTsKKworY2FsbGJhY2sgVmlkZW9G
cmFtZVJlcXVlc3RDYWxsYmFjayA9IHZvaWQoRE9NSGlnaFJlc1RpbWVTdGFtcCBub3csIFZpZGVv
RnJhbWVNZXRhZGF0YSBtZXRhZGF0YSk7CisKK3BhcnRpYWwgaW50ZXJmYWNlIEhUTUxWaWRlb0Vs
ZW1lbnQgeworICAgIHVuc2lnbmVkIGxvbmcgcmVxdWVzdFZpZGVvRnJhbWVDYWxsYmFjayhWaWRl
b0ZyYW1lUmVxdWVzdENhbGxiYWNrIGNhbGxiYWNrKTsKKyAgICB2b2lkIGNhbmNlbFZpZGVvRnJh
bWVDYWxsYmFjayh1bnNpZ25lZCBsb25nIGhhbmRsZSk7Cit9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3Zpc3VhbC12
aWV3cG9ydC5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ludGVyZmFjZXMvdmlzdWFsLXZpZXdwb3J0LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZTRiNTQxMzY5NDBk
NDM0MWQ5N2U3MzM4MzE0NGUzYjc5NDc3YjdlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3Zpc3VhbC12aWV3
cG9ydC5pZGwKQEAgLTAsMCArMSwyNSBAQAorLy8gR0VORVJBVEVEIENPTlRFTlQgLSBETyBOT1Qg
RURJVAorLy8gQ29udGVudCB3YXMgYXV0b21hdGljYWxseSBleHRyYWN0ZWQgYnkgUmVmZnkgaW50
byByZWZmeS1yZXBvcnRzCisvLyAoaHR0cHM6Ly9naXRodWIuY29tL3RpZG91c3QvcmVmZnktcmVw
b3J0cykKKy8vIFNvdXJjZTogVmlzdWFsIFZpZXdwb3J0IEFQSSAoaHR0cHM6Ly93aWNnLmdpdGh1
Yi5pby92aXN1YWwtdmlld3BvcnQvKQorCitwYXJ0aWFsIGludGVyZmFjZSBXaW5kb3cgeworICBb
U2FtZU9iamVjdCwgUmVwbGFjZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBWaXN1YWxWaWV3cG9y
dCB2aXN1YWxWaWV3cG9ydDsKK307CisKK1tFeHBvc2VkPVdpbmRvd10KK2ludGVyZmFjZSBWaXN1
YWxWaWV3cG9ydCA6IEV2ZW50VGFyZ2V0IHsKKyAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSBv
ZmZzZXRMZWZ0OworICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIG9mZnNldFRvcDsKKworICBy
ZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIHBhZ2VMZWZ0OworICByZWFkb25seSBhdHRyaWJ1dGUg
ZG91YmxlIHBhZ2VUb3A7CisKKyAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSB3aWR0aDsKKyAg
cmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSBoZWlnaHQ7CisKKyAgcmVhZG9ubHkgYXR0cmlidXRl
IGRvdWJsZSBzY2FsZTsKKworICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ucmVzaXplOworICBh
dHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uc2Nyb2xsOworfTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93M2MtaW1wb3J0
LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJm
YWNlcy93M2MtaW1wb3J0LmxvZwppbmRleCAwZmY3NTdkYzRlZjljOWQ3MThkM2I0MzUzMzE1NGQ5
N2NhMGNmODZhLi4yYmU2YjFiZjAzZGJlYzgzZjIwNzg4MThjZmFiYTJhYjM1ZWJlY2NlIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVy
ZmFjZXMvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3czYy1pbXBvcnQubG9nCkBAIC0zMiwxMSArMzIsMTMg
QEAgTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ludGVyZmFjZXMvYXBwbWFuaWZlc3QuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2F1ZGlvLW91dHB1dC5pZGwKIC9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvYmFja2dy
b3VuZC1mZXRjaC5pZGwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ludGVyZmFjZXMvYmFkZ2luZy5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvYmF0dGVyeS1zdGF0dXMuaWRsCiAvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2JlYWNvbi5pZGwK
IC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMv
Y2xpcGJvYXJkLWFwaXMuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9pbnRlcmZhY2VzL2NvbXBhdC5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvY29uc29sZS5pZGwKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvY29uc3RydWN0LXN0eWxl
c2hlZXRzLmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aW50ZXJmYWNlcy9jb29raWUtc3RvcmUuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2NvcnMtcmZjMTkxOC5pZGwKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvY3JlZGVudGlhbC1t
YW5hZ2VtZW50LmlkbApAQCAtNTQsMTIgKzU2LDEyIEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2Nzcy1wYWlu
dC1hcGkuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bnRlcmZhY2VzL2Nzcy1wcm9wZXJ0aWVzLXZhbHVlcy1hcGkuaWRsCiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2Nzcy1wc2V1ZG8uaWRsCi0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2Nz
cy1yZWdpb25zLmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaW50ZXJmYWNlcy9jc3Mtc2hhZG93LXBhcnRzLmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9jc3MtdHJhbnNpdGlvbnMuaWRsCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2Nz
cy10eXBlZC1vbS5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ludGVyZmFjZXMvY3Nzb20tdmlldy5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvY3Nzb20uaWRsCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2RldmljZS1tZW1vcnkuaWRs
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2Vz
L2RvbS5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2lu
dGVyZmFjZXMvZWxlbWVudC10aW1pbmcuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2VuY29kaW5nLmlkbApAQCAtNzYsMTIgKzc4LDE0
IEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9pbnRlcmZhY2VzL2dlb2xvY2F0aW9uLXNlbnNvci5pZGwKIC9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvZ2VvbWV0cnkuaWRsCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2d5
cm9zY29wZS5pZGwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ludGVyZmFjZXMvaGl0LXRlc3QuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2hyLXRpbWUuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2h0bWwtbWVkaWEtY2FwdHVyZS5p
ZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFj
ZXMvaHRtbC5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ludGVyZmFjZXMvaW1hZ2UtY2FwdHVyZS5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvaW5wdXQtZXZlbnRzLmlkbAogL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9pbnRlcnNlY3Rp
b24tb2JzZXJ2ZXIuaWRsCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9pbnRlcmZhY2VzL2pzLXNlbGYtcHJvZmlsaW5nLmlkbAogL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9rZXlib2FyZC1sb2NrLmlkbAog
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9r
ZXlib2FyZC1tYXAuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9pbnRlcmZhY2VzL2xhcmdlc3QtY29udGVudGZ1bC1wYWludC5pZGwKQEAgLTk3LDE3ICsx
MDEsMjMgQEAgTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvbWVkaWFzZXNzaW9uLmlkbAogL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9tZWRpYXN0cmVhbS1yZWNv
cmRpbmcuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bnRlcmZhY2VzL21zdC1jb250ZW50LWhpbnQuaWRsCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL25hdGl2ZS1maWxlLXN5c3RlbS5pZGwKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvbmF2
aWdhdGlvbi10aW1pbmcuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9pbnRlcmZhY2VzL25ldGluZm8uaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL25vdGlmaWNhdGlvbnMuaWRsCiAvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL29yaWVudGF0
aW9uLWV2ZW50LmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaW50ZXJmYWNlcy9vcmllbnRhdGlvbi1zZW5zb3IuaWRsCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL29yaWdpbi1wb2xpY3kuaWRsCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3Bh
Z2UtbGlmZWN5Y2xlLmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaW50ZXJmYWNlcy9wYWdlLXZpc2liaWxpdHkuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3BhaW50LXRpbWluZy5pZGwKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcGF5
bWVudC1oYW5kbGVyLmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaW50ZXJmYWNlcy9wYXltZW50LW1ldGhvZC1iYXNpYy1jYXJkLmlkbAogL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9wYXltZW50LXJl
cXVlc3QuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bnRlcmZhY2VzL3BlcmZvcm1hbmNlLXRpbWVsaW5lLmlkbAorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9wZXJpb2RpYy1iYWNrZ3JvdW5kLXN5
bmMuaWRsCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRl
cmZhY2VzL3Blcm1pc3Npb25zLXJlcXVlc3QuaWRsCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3Blcm1pc3Npb25zLXJldm9rZS5pZGwKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcGVy
bWlzc2lvbnMuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbnRlcmZhY2VzL3BpY3R1cmUtaW4tcGljdHVyZS5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcG9pbnRlcmV2ZW50cy5pZGwKQEAg
LTEzMCwxOSArMTQwLDI0IEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3NlcnZpY2Utd29ya2Vycy5pZGwKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvc2hh
cGUtZGV0ZWN0aW9uLWFwaS5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ludGVyZmFjZXMvc3BlZWNoLWFwaS5pZGwKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvc3RvcmFnZS1hY2Nlc3MtYXBpLnRl
bnRhdGl2ZS5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ludGVyZmFjZXMvc3RvcmFnZS5pZGwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvdGV4dC1kZXRlY3Rpb24tYXBpLnRlbnRhdGl2ZS5pZGwK
IC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMv
dG91Y2gtZXZlbnRzLmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaW50ZXJmYWNlcy90cnVzdGVkLXR5cGVzLnRlbnRhdGl2ZS5pZGwKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvdWlldmVudHMuaWRs
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2Vz
L3VybC5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2lu
dGVyZmFjZXMvdXNlci10aW1pbmcuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3ZpYnJhdGlvbi5pZGwKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvdmlkZW8tcnZmYy5pZGwKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvdmlz
dWFsLXZpZXdwb3J0LmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaW50ZXJmYWNlcy93YWktYXJpYS5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2FrZS1sb2NrLmlkbAogL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93YXNtLWpzLWFwaS5p
ZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFj
ZXMvd2FzbS13ZWItYXBpLmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaW50ZXJmYWNlcy93ZWItYW5pbWF0aW9ucy5pZGwKIC9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2ViLWJsdWV0b290aC5pZGwK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMv
d2ViLWxvY2tzLmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaW50ZXJmYWNlcy93ZWItbmZjLmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWItc2hhcmUuaWRsCiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYmF1ZGlvLmlkbApAQCAt
MTUxLDkgKzE2Niw5IEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYmdsMS5pZGwKIC9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2ViZ2wyLmlkbAogL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWJt
aWRpLmlkbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50
ZXJmYWNlcy93ZWJydGMtZHNjcC5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2VicnRjLWlkZW50aXR5LmlkbAogL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWJydGMtc3RhdHMu
aWRsCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZh
Y2VzL3dlYnJ0Yy1zdmMuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9pbnRlcmZhY2VzL3dlYnJ0Yy5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2VidXNiLmlkbAogL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWJ2dHQuaWRsCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVy
ZmFjZXMvd2FpLWFyaWEuaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9pbnRlcmZhY2VzL3dhaS1hcmlhLmlkbAppbmRleCBjNGZiZjExNDA5Y2YxNDJkODI5
NTAzOGQyNTZmNWE2ODZkODYwYTU1Li5jZjgxNjhhNjkzMTczMTUxMjBlZjRiY2RkYWZhNDRlZTMz
MGNkNDcwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ludGVyZmFjZXMvd2FpLWFyaWEuaWRsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93YWktYXJpYS5pZGwKQEAgLTEsNyAr
MSw3IEBACiAvLyBHRU5FUkFURUQgQ09OVEVOVCAtIERPIE5PVCBFRElUCiAvLyBDb250ZW50IHdh
cyBhdXRvbWF0aWNhbGx5IGV4dHJhY3RlZCBieSBSZWZmeSBpbnRvIHJlZmZ5LXJlcG9ydHMKIC8v
IChodHRwczovL2dpdGh1Yi5jb20vdGlkb3VzdC9yZWZmeS1yZXBvcnRzKQotLy8gU291cmNlOiBB
Y2Nlc3NpYmxlIFJpY2ggSW50ZXJuZXQgQXBwbGljYXRpb25zIChXQUktQVJJQSkgMS4yIChodHRw
czovL3Jhd2dpdC5jb20vdzNjL2FyaWEvbWFzdGVyLykKKy8vIFNvdXJjZTogQWNjZXNzaWJsZSBS
aWNoIEludGVybmV0IEFwcGxpY2F0aW9ucyAoV0FJLUFSSUEpIDEuMiAoaHR0cHM6Ly93M2MuZ2l0
aHViLmlvL2FyaWEvKQogCiBpbnRlcmZhY2UgbWl4aW4gQWNjZXNzaWJpbGl0eVJvbGUgewogICBh
dHRyaWJ1dGUgRE9NU3RyaW5nPyByb2xlOwpAQCAtOSw3ICs5LDcgQEAgaW50ZXJmYWNlIG1peGlu
IEFjY2Vzc2liaWxpdHlSb2xlIHsKIEVsZW1lbnQgaW5jbHVkZXMgQWNjZXNzaWJpbGl0eVJvbGU7
CiAKIGludGVyZmFjZSBtaXhpbiBBcmlhQXR0cmlidXRlcyB7Ci0gIGF0dHJpYnV0ZSBFbGVtZW50
PyBhcmlhQWN0aXZlRGVzY2VuZGFudEVsZW1lbnQ7CisKICAgYXR0cmlidXRlIERPTVN0cmluZz8g
YXJpYUF0b21pYzsKICAgYXR0cmlidXRlIERPTVN0cmluZz8gYXJpYUF1dG9Db21wbGV0ZTsKICAg
YXR0cmlidXRlIERPTVN0cmluZz8gYXJpYUJ1c3k7CkBAIC0xOCwyNyArMTgsMjggQEAgaW50ZXJm
YWNlIG1peGluIEFyaWFBdHRyaWJ1dGVzIHsKICAgYXR0cmlidXRlIERPTVN0cmluZz8gYXJpYUNv
bEluZGV4OwogICBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBhcmlhQ29sSW5kZXhUZXh0OwogICBhdHRy
aWJ1dGUgRE9NU3RyaW5nPyBhcmlhQ29sU3BhbjsKLSAgYXR0cmlidXRlIEZyb3plbkFycmF5PEVs
ZW1lbnQ+PyBhcmlhQ29udHJvbHNFbGVtZW50czsKKwogICBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBh
cmlhQ3VycmVudDsKLSAgYXR0cmlidXRlIEZyb3plbkFycmF5PEVsZW1lbnQ+PyBhcmlhRGVzY3Jp
YmVkQnlFbGVtZW50czsKLSAgYXR0cmlidXRlIEVsZW1lbnQ/IGFyaWFEZXRhaWxzRWxlbWVudDsK
KworICBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBhcmlhRGVzY3JpcHRpb247CisKICAgYXR0cmlidXRl
IERPTVN0cmluZz8gYXJpYURpc2FibGVkOwotICBhdHRyaWJ1dGUgRWxlbWVudD8gYXJpYUVycm9y
TWVzc2FnZUVsZW1lbnQ7CisKICAgYXR0cmlidXRlIERPTVN0cmluZz8gYXJpYUV4cGFuZGVkOwot
ICBhdHRyaWJ1dGUgRnJvemVuQXJyYXk8RWxlbWVudD4/IGFyaWFGbG93VG9FbGVtZW50czsKKwog
ICBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBhcmlhSGFzUG9wdXA7CiAgIGF0dHJpYnV0ZSBET01TdHJp
bmc/IGFyaWFIaWRkZW47CiAgIGF0dHJpYnV0ZSBET01TdHJpbmc/IGFyaWFJbnZhbGlkOwogICBh
dHRyaWJ1dGUgRE9NU3RyaW5nPyBhcmlhS2V5U2hvcnRjdXRzOwogICBhdHRyaWJ1dGUgRE9NU3Ry
aW5nPyBhcmlhTGFiZWw7Ci0gIGF0dHJpYnV0ZSBGcm96ZW5BcnJheTxFbGVtZW50Pj8gYXJpYUxh
YmVsbGVkQnlFbGVtZW50czsKKwogICBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBhcmlhTGV2ZWw7CiAg
IGF0dHJpYnV0ZSBET01TdHJpbmc/IGFyaWFMaXZlOwogICBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBh
cmlhTW9kYWw7CiAgIGF0dHJpYnV0ZSBET01TdHJpbmc/IGFyaWFNdWx0aUxpbmU7CiAgIGF0dHJp
YnV0ZSBET01TdHJpbmc/IGFyaWFNdWx0aVNlbGVjdGFibGU7CiAgIGF0dHJpYnV0ZSBET01TdHJp
bmc/IGFyaWFPcmllbnRhdGlvbjsKLSAgYXR0cmlidXRlIEZyb3plbkFycmF5PEVsZW1lbnQ+PyBh
cmlhT3duc0VsZW1lbnRzOworCiAgIGF0dHJpYnV0ZSBET01TdHJpbmc/IGFyaWFQbGFjZWhvbGRl
cjsKICAgYXR0cmlidXRlIERPTVN0cmluZz8gYXJpYVBvc0luU2V0OwogICBhdHRyaWJ1dGUgRE9N
U3RyaW5nPyBhcmlhUHJlc3NlZDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93YWtlLWxvY2suaWRsIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dha2UtbG9jay5p
ZGwKaW5kZXggODVkMTg2M2ZhNmY2ZDE0MjJlMDBiNDMwZWQyYjA0ZTM2MTlhMTllYy4uMWViMzBh
MDYwMjQ3MTNlNWFhYjQzNTYxMGE4ZmM2Mjg0MWRiOGE1MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dha2UtbG9jay5p
ZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRl
cmZhY2VzL3dha2UtbG9jay5pZGwKQEAgLTEsMzIgKzEsMjMgQEAKIC8vIEdFTkVSQVRFRCBDT05U
RU5UIC0gRE8gTk9UIEVESVQKIC8vIENvbnRlbnQgd2FzIGF1dG9tYXRpY2FsbHkgZXh0cmFjdGVk
IGJ5IFJlZmZ5IGludG8gcmVmZnktcmVwb3J0cwogLy8gKGh0dHBzOi8vZ2l0aHViLmNvbS90aWRv
dXN0L3JlZmZ5LXJlcG9ydHMpCi0vLyBTb3VyY2U6IFdha2UgTG9jayBBUEkgKGh0dHBzOi8vdzNj
LmdpdGh1Yi5pby93YWtlLWxvY2svKQotCi1kaWN0aW9uYXJ5IFdha2VMb2NrUGVybWlzc2lvbkRl
c2NyaXB0b3IgOiBQZXJtaXNzaW9uRGVzY3JpcHRvciB7Ci0gIHJlcXVpcmVkIFdha2VMb2NrVHlw
ZSB0eXBlOwotfTsKLQotZW51bSBXYWtlTG9ja1R5cGUgeyAic2NyZWVuIiwgInN5c3RlbSIgfTsK
Ky8vIFNvdXJjZTogU2NyZWVuIFdha2UgTG9jayBBUEkgKGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9z
Y3JlZW4td2FrZS1sb2NrLykKIAogW1NlY3VyZUNvbnRleHRdCiBwYXJ0aWFsIGludGVyZmFjZSBO
YXZpZ2F0b3IgewogICBbU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIFdha2VMb2NrIHdh
a2VMb2NrOwogfTsKIAotW1NlY3VyZUNvbnRleHRdCi1wYXJ0aWFsIGludGVyZmFjZSBXb3JrZXJO
YXZpZ2F0b3IgewotICBbU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIFdha2VMb2NrIHdh
a2VMb2NrOwotfTsKLQotW1NlY3VyZUNvbnRleHQsIEV4cG9zZWQ9KERlZGljYXRlZFdvcmtlciwg
V2luZG93KV0KK1tTZWN1cmVDb250ZXh0LCBFeHBvc2VkPShXaW5kb3cpXQogaW50ZXJmYWNlIFdh
a2VMb2NrIHsKICAgUHJvbWlzZTxXYWtlTG9ja1NlbnRpbmVsPiByZXF1ZXN0KFdha2VMb2NrVHlw
ZSB0eXBlKTsKIH07CiAKLVtTZWN1cmVDb250ZXh0LCBFeHBvc2VkPShEZWRpY2F0ZWRXb3JrZXIs
IFdpbmRvdyldCitbU2VjdXJlQ29udGV4dCwgRXhwb3NlZD0oV2luZG93KV0KIGludGVyZmFjZSBX
YWtlTG9ja1NlbnRpbmVsIDogRXZlbnRUYXJnZXQgewogICByZWFkb25seSBhdHRyaWJ1dGUgV2Fr
ZUxvY2tUeXBlIHR5cGU7CiAgIFByb21pc2U8dm9pZD4gcmVsZWFzZSgpOwogICBhdHRyaWJ1dGUg
RXZlbnRIYW5kbGVyIG9ucmVsZWFzZTsKIH07CisKK2VudW0gV2FrZUxvY2tUeXBlIHsgInNjcmVl
biIgfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaW50ZXJmYWNlcy93ZWItYW5pbWF0aW9ucy5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2ViLWFuaW1hdGlvbnMuaWRsCmlu
ZGV4IDBkNWQ0MGJhNzRmNDBlZDY4YzE5YTgyMTg3MTAyMDRiMjc2N2FlMTIuLmFlNjRiYjg2N2Vi
MjNkNmM0OTFkM2U5ZmVlNzQzYzdjZjg5NjMyMzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWItYW5pbWF0aW9ucy5p
ZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRl
cmZhY2VzL3dlYi1hbmltYXRpb25zLmlkbApAQCAtNiw2ICs2LDcgQEAKIFtFeHBvc2VkPVdpbmRv
d10KIGludGVyZmFjZSBBbmltYXRpb25UaW1lbGluZSB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IGRvdWJsZT8gY3VycmVudFRpbWU7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIFRpbWVsaW5lUGhh
c2UgcGhhc2U7CiB9OwogCiBkaWN0aW9uYXJ5IERvY3VtZW50VGltZWxpbmVPcHRpb25zIHsKQEAg
LTQ5LDYgKzUwLDggQEAgZW51bSBBbmltYXRpb25QbGF5U3RhdGUgeyAiaWRsZSIsICJydW5uaW5n
IiwgInBhdXNlZCIsICJmaW5pc2hlZCIgfTsKIAogZW51bSBBbmltYXRpb25SZXBsYWNlU3RhdGUg
eyAiYWN0aXZlIiwgInJlbW92ZWQiLCAicGVyc2lzdGVkIiB9OwogCitlbnVtIFRpbWVsaW5lUGhh
c2UgeyAiaW5hY3RpdmUiLCAiYmVmb3JlIiwgImFjdGl2ZSIsICJhZnRlciIgfTsKKwogW0V4cG9z
ZWQ9V2luZG93XQogaW50ZXJmYWNlIEFuaW1hdGlvbkVmZmVjdCB7CiAgICAgRWZmZWN0VGltaW5n
ICAgICAgICAgZ2V0VGltaW5nKCk7CkBAIC05Niw5ICs5OSw5IEBAIGludGVyZmFjZSBLZXlmcmFt
ZUVmZmVjdCA6IEFuaW1hdGlvbkVmZmVjdCB7CiAgICAgICAgICAgICAgICAgb2JqZWN0PyBrZXlm
cmFtZXMsCiAgICAgICAgICAgICAgICAgb3B0aW9uYWwgKHVucmVzdHJpY3RlZCBkb3VibGUgb3Ig
S2V5ZnJhbWVFZmZlY3RPcHRpb25zKSBvcHRpb25zID0ge30pOwogICAgIGNvbnN0cnVjdG9yKEtl
eWZyYW1lRWZmZWN0IHNvdXJjZSk7Ci0gICAgYXR0cmlidXRlIEVsZW1lbnQ/IHRhcmdldDsKLSAg
ICBhdHRyaWJ1dGUgQ1NTT01TdHJpbmc/IHBzZXVkb0VsZW1lbnQ7Ci0gICAgYXR0cmlidXRlIENv
bXBvc2l0ZU9wZXJhdGlvbiAgICAgICAgICAgICBjb21wb3NpdGU7CisgICAgYXR0cmlidXRlIEVs
ZW1lbnQ/ICAgICAgICAgICB0YXJnZXQ7CisgICAgYXR0cmlidXRlIENTU09NU3RyaW5nPyAgICAg
ICBwc2V1ZG9FbGVtZW50OworICAgIGF0dHJpYnV0ZSBDb21wb3NpdGVPcGVyYXRpb24gY29tcG9z
aXRlOwogICAgIHNlcXVlbmNlPG9iamVjdD4gZ2V0S2V5ZnJhbWVzKCk7CiAgICAgdm9pZCAgICAg
ICAgICAgICBzZXRLZXlmcmFtZXMob2JqZWN0PyBrZXlmcmFtZXMpOwogfTsKQEAgLTEzOSw2ICsx
NDIsNyBAQCBpbnRlcmZhY2UgbWl4aW4gQW5pbWF0YWJsZSB7CiAKIGRpY3Rpb25hcnkgS2V5ZnJh
bWVBbmltYXRpb25PcHRpb25zIDogS2V5ZnJhbWVFZmZlY3RPcHRpb25zIHsKICAgICBET01TdHJp
bmcgaWQgPSAiIjsKKyAgICBBbmltYXRpb25UaW1lbGluZT8gdGltZWxpbmU7CiB9OwogCiBkaWN0
aW9uYXJ5IEdldEFuaW1hdGlvbnNPcHRpb25zIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWItYmx1ZXRvb3RoLmlk
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNl
cy93ZWItYmx1ZXRvb3RoLmlkbAppbmRleCBlYzdhOGU3MWNhMDljNzY0ODgwMWU2ZjJiYjkxYzcx
MWM4NTdmZTM0Li43MzM3MWUyNjk5NjU2OGU5MDUxOTkwZmJiNjdmMWUwOGRlYWVkNWViIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVy
ZmFjZXMvd2ViLWJsdWV0b290aC5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYi1ibHVldG9vdGguaWRsCkBAIC03LDYgKzcs
NyBAQCBkaWN0aW9uYXJ5IEJsdWV0b290aERhdGFGaWx0ZXJJbml0IHsKICAgQnVmZmVyU291cmNl
IGRhdGFQcmVmaXg7CiAgIEJ1ZmZlclNvdXJjZSBtYXNrOwogfTsKKwogZGljdGlvbmFyeSBCbHVl
dG9vdGhMRVNjYW5GaWx0ZXJJbml0IHsKICAgc2VxdWVuY2U8Qmx1ZXRvb3RoU2VydmljZVVVSUQ+
IHNlcnZpY2VzOwogICBET01TdHJpbmcgbmFtZTsKQEAgLTI5LDggKzMwLDEwIEBAIGludGVyZmFj
ZSBCbHVldG9vdGggOiBFdmVudFRhcmdldCB7CiAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25h
dmFpbGFiaWxpdHljaGFuZ2VkOwogICBbU2FtZU9iamVjdF0KICAgcmVhZG9ubHkgYXR0cmlidXRl
IEJsdWV0b290aERldmljZT8gcmVmZXJyaW5nRGV2aWNlOworICBQcm9taXNlPHNlcXVlbmNlPEJs
dWV0b290aERldmljZT4+IGdldERldmljZXMoKTsKICAgUHJvbWlzZTxCbHVldG9vdGhEZXZpY2U+
IHJlcXVlc3REZXZpY2Uob3B0aW9uYWwgUmVxdWVzdERldmljZU9wdGlvbnMgb3B0aW9ucyA9IHt9
KTsKIH07CisKIEJsdWV0b290aCBpbmNsdWRlcyBCbHVldG9vdGhEZXZpY2VFdmVudEhhbmRsZXJz
OwogQmx1ZXRvb3RoIGluY2x1ZGVzIENoYXJhY3RlcmlzdGljRXZlbnRIYW5kbGVyczsKIEJsdWV0
b290aCBpbmNsdWRlcyBTZXJ2aWNlRXZlbnRIYW5kbGVyczsKQEAgLTQ5LDcgKzUyLDcgQEAgZGlj
dGlvbmFyeSBBbGxvd2VkQmx1ZXRvb3RoRGV2aWNlIHsKICAgLy8gQW4gYWxsb3dlZFNlcnZpY2Vz
IG9mICJhbGwiIG1lYW5zIGFsbCBzZXJ2aWNlcyBhcmUgYWxsb3dlZC4KICAgcmVxdWlyZWQgKERP
TVN0cmluZyBvciBzZXF1ZW5jZTxVVUlEPikgYWxsb3dlZFNlcnZpY2VzOwogfTsKLWRpY3Rpb25h
cnkgQmx1ZXRvb3RoUGVybWlzc2lvbkRhdGEgeworZGljdGlvbmFyeSBCbHVldG9vdGhQZXJtaXNz
aW9uU3RvcmFnZSB7CiAgIHJlcXVpcmVkIHNlcXVlbmNlPEFsbG93ZWRCbHVldG9vdGhEZXZpY2U+
IGFsbG93ZWREZXZpY2VzOwogfTsKIApAQCAtNzcsMTQgKzgwLDE4IEBAIGludGVyZmFjZSBCbHVl
dG9vdGhEZXZpY2UgOiBFdmVudFRhcmdldCB7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJp
bmc/IG5hbWU7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBCbHVldG9vdGhSZW1vdGVHQVRUU2VydmVy
PyBnYXR0OwogCi0gIFByb21pc2U8dm9pZD4gd2F0Y2hBZHZlcnRpc2VtZW50cygpOwotICB2b2lk
IHVud2F0Y2hBZHZlcnRpc2VtZW50cygpOworICBQcm9taXNlPHZvaWQ+IHdhdGNoQWR2ZXJ0aXNl
bWVudHMoCisgICAgICBvcHRpb25hbCBXYXRjaEFkdmVydGlzZW1lbnRzT3B0aW9ucyBvcHRpb25z
ID0ge30pOwogICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiB3YXRjaGluZ0FkdmVydGlzZW1l
bnRzOwogfTsKIEJsdWV0b290aERldmljZSBpbmNsdWRlcyBCbHVldG9vdGhEZXZpY2VFdmVudEhh
bmRsZXJzOwogQmx1ZXRvb3RoRGV2aWNlIGluY2x1ZGVzIENoYXJhY3RlcmlzdGljRXZlbnRIYW5k
bGVyczsKIEJsdWV0b290aERldmljZSBpbmNsdWRlcyBTZXJ2aWNlRXZlbnRIYW5kbGVyczsKIAor
ZGljdGlvbmFyeSBXYXRjaEFkdmVydGlzZW1lbnRzT3B0aW9ucyB7CisgIEFib3J0U2lnbmFsIHNp
Z25hbDsKK307CisKIFtFeHBvc2VkPVdpbmRvdywgU2VjdXJlQ29udGV4dF0KIGludGVyZmFjZSBC
bHVldG9vdGhNYW51ZmFjdHVyZXJEYXRhTWFwIHsKICAgcmVhZG9ubHkgbWFwbGlrZTx1bnNpZ25l
ZCBzaG9ydCwgRGF0YVZpZXc+OwpAQCAtMjEzLDYgKzIyMCw3IEBAIGludGVyZmFjZSBtaXhpbiBT
ZXJ2aWNlRXZlbnRIYW5kbGVycyB7CiB9OwogCiB0eXBlZGVmIERPTVN0cmluZyBVVUlEOworCiBb
RXhwb3NlZD1XaW5kb3ddCiBpbnRlcmZhY2UgQmx1ZXRvb3RoVVVJRCB7CiAgIHN0YXRpYyBVVUlE
IGdldFNlcnZpY2UoKERPTVN0cmluZyBvciB1bnNpZ25lZCBsb25nKSBuYW1lKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNl
cy93ZWItbG9ja3MuaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9pbnRlcmZhY2VzL3dlYi1sb2Nrcy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODM5MDVkNjRmZWMwOTU3
NTBkMjcwZjNkYmE0M2ZlOTM3ZTFmZDExOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWItbG9ja3MuaWRs
CkBAIC0wLDAgKzEsNTAgQEAKKy8vIEdFTkVSQVRFRCBDT05URU5UIC0gRE8gTk9UIEVESVQKKy8v
IENvbnRlbnQgd2FzIGF1dG9tYXRpY2FsbHkgZXh0cmFjdGVkIGJ5IFJlZmZ5IGludG8gcmVmZnkt
cmVwb3J0cworLy8gKGh0dHBzOi8vZ2l0aHViLmNvbS90aWRvdXN0L3JlZmZ5LXJlcG9ydHMpCisv
LyBTb3VyY2U6IFdlYiBMb2NrcyBBUEkgKGh0dHBzOi8vd2ljZy5naXRodWIuaW8vd2ViLWxvY2tz
LykKKworW1NlY3VyZUNvbnRleHRdCitpbnRlcmZhY2UgbWl4aW4gTmF2aWdhdG9yTG9ja3Mgewor
ICByZWFkb25seSBhdHRyaWJ1dGUgTG9ja01hbmFnZXIgbG9ja3M7Cit9OworTmF2aWdhdG9yIGlu
Y2x1ZGVzIE5hdmlnYXRvckxvY2tzOworV29ya2VyTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRv
ckxvY2tzOworCitbU2VjdXJlQ29udGV4dCwgRXhwb3NlZD0oV2luZG93LFdvcmtlcildCitpbnRl
cmZhY2UgTG9ja01hbmFnZXIgeworICBQcm9taXNlPGFueT4gcmVxdWVzdChET01TdHJpbmcgbmFt
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgTG9ja0dyYW50ZWRDYWxsYmFjayBjYWxsYmFjayk7
CisgIFByb21pc2U8YW55PiByZXF1ZXN0KERPTVN0cmluZyBuYW1lLAorICAgICAgICAgICAgICAg
ICAgICAgICBMb2NrT3B0aW9ucyBvcHRpb25zLAorICAgICAgICAgICAgICAgICAgICAgICBMb2Nr
R3JhbnRlZENhbGxiYWNrIGNhbGxiYWNrKTsKKworICBQcm9taXNlPExvY2tNYW5hZ2VyU25hcHNo
b3Q+IHF1ZXJ5KCk7Cit9OworCitjYWxsYmFjayBMb2NrR3JhbnRlZENhbGxiYWNrID0gUHJvbWlz
ZTxhbnk+IChMb2NrPyBsb2NrKTsKKworZW51bSBMb2NrTW9kZSB7ICJzaGFyZWQiLCAiZXhjbHVz
aXZlIiB9OworCitkaWN0aW9uYXJ5IExvY2tPcHRpb25zIHsKKyAgTG9ja01vZGUgbW9kZSA9ICJl
eGNsdXNpdmUiOworICBib29sZWFuIGlmQXZhaWxhYmxlID0gZmFsc2U7CisgIGJvb2xlYW4gc3Rl
YWwgPSBmYWxzZTsKKyAgQWJvcnRTaWduYWwgc2lnbmFsOworfTsKKworZGljdGlvbmFyeSBMb2Nr
TWFuYWdlclNuYXBzaG90IHsKKyAgc2VxdWVuY2U8TG9ja0luZm8+IGhlbGQ7CisgIHNlcXVlbmNl
PExvY2tJbmZvPiBwZW5kaW5nOworfTsKKworZGljdGlvbmFyeSBMb2NrSW5mbyB7CisgIERPTVN0
cmluZyBuYW1lOworICBMb2NrTW9kZSBtb2RlOworICBET01TdHJpbmcgY2xpZW50SWQ7Cit9Owor
CitbU2VjdXJlQ29udGV4dCwgRXhwb3NlZD0oV2luZG93LFdvcmtlcildCitpbnRlcmZhY2UgTG9j
ayB7CisgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKKyAgcmVhZG9ubHkgYXR0
cmlidXRlIExvY2tNb2RlIG1vZGU7Cit9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYi1uZmMuaWRsIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYi1uZmMu
aWRsCmluZGV4IGRlMjNmYWMwYzExOGMyYTc3M2E1ZTk2MjdjNmIxYWY5OWM4NjE4MzguLmYyZTMx
YjczNTI4NjdkMzllZGM5YzQzYTRmMWZmZmIzYTAyY2I5ODUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWItbmZjLmlk
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVy
ZmFjZXMvd2ViLW5mYy5pZGwKQEAgLTMsNyArMyw3IEBACiAvLyAoaHR0cHM6Ly9naXRodWIuY29t
L3RpZG91c3QvcmVmZnktcmVwb3J0cykKIC8vIFNvdXJjZTogV2ViIE5GQyAoaHR0cHM6Ly93M2Mu
Z2l0aHViLmlvL3dlYi1uZmMvKQogCi1bRXhwb3NlZD1XaW5kb3ddCitbU2VjdXJlQ29udGV4dCwg
RXhwb3NlZD1XaW5kb3ddCiBpbnRlcmZhY2UgTkRFRk1lc3NhZ2UgewogICBjb25zdHJ1Y3RvcihO
REVGTWVzc2FnZUluaXQgbWVzc2FnZUluaXQpOwogICByZWFkb25seSBhdHRyaWJ1dGUgRnJvemVu
QXJyYXk8TkRFRlJlY29yZD4gcmVjb3JkczsKQEAgLTE1LDcgKzE1LDcgQEAgZGljdGlvbmFyeSBO
REVGTWVzc2FnZUluaXQgewogCiB0eXBlZGVmIChET01TdHJpbmcgb3IgQnVmZmVyU291cmNlIG9y
IE5ERUZNZXNzYWdlSW5pdCkgTkRFRlJlY29yZERhdGFTb3VyY2U7CiAKLVtFeHBvc2VkPVdpbmRv
d10KK1tTZWN1cmVDb250ZXh0LCBFeHBvc2VkPVdpbmRvd10KIGludGVyZmFjZSBOREVGUmVjb3Jk
IHsKICAgY29uc3RydWN0b3IoTkRFRlJlY29yZEluaXQgcmVjb3JkSW5pdCk7CiAKQEAgLTI3LDcg
KzI3LDcgQEAgaW50ZXJmYWNlIE5ERUZSZWNvcmQgewogICByZWFkb25seSBhdHRyaWJ1dGUgVVNW
U3RyaW5nPyBlbmNvZGluZzsKICAgcmVhZG9ubHkgYXR0cmlidXRlIFVTVlN0cmluZz8gbGFuZzsK
IAotICBzZXF1ZW5jZTxOREVGUmVjb3JkPiB0b1JlY29yZHMoKTsKKyAgc2VxdWVuY2U8TkRFRlJl
Y29yZD4/IHRvUmVjb3JkcygpOwogfTsKIAogZGljdGlvbmFyeSBOREVGUmVjb3JkSW5pdCB7CkBA
IC00Nyw3ICs0Nyw3IEBAIHR5cGVkZWYgKERPTVN0cmluZyBvciBCdWZmZXJTb3VyY2Ugb3IgTkRF
Rk1lc3NhZ2VJbml0KSBOREVGTWVzc2FnZVNvdXJjZTsKIGludGVyZmFjZSBOREVGV3JpdGVyIHsK
ICAgY29uc3RydWN0b3IoKTsKIAotICBQcm9taXNlPHZvaWQ+IHB1c2goTkRFRk1lc3NhZ2VTb3Vy
Y2UgbWVzc2FnZSwgb3B0aW9uYWwgTkRFRlB1c2hPcHRpb25zIG9wdGlvbnM9e30pOworICBQcm9t
aXNlPHZvaWQ+IHdyaXRlKE5ERUZNZXNzYWdlU291cmNlIG1lc3NhZ2UsIG9wdGlvbmFsIE5ERUZX
cml0ZU9wdGlvbnMgb3B0aW9ucz17fSk7CiB9OwogCiBbU2VjdXJlQ29udGV4dCwgRXhwb3NlZD1X
aW5kb3ddCkBAIC03MywyMiArNzMsMTUgQEAgZGljdGlvbmFyeSBOREVGUmVhZGluZ0V2ZW50SW5p
dCA6IEV2ZW50SW5pdCB7CiAgIHJlcXVpcmVkIE5ERUZNZXNzYWdlSW5pdCBtZXNzYWdlOwogfTsK
IAotZGljdGlvbmFyeSBOREVGUHVzaE9wdGlvbnMgewotICBOREVGUHVzaFRhcmdldCB0YXJnZXQg
PSAiYW55IjsKK2RpY3Rpb25hcnkgTkRFRldyaXRlT3B0aW9ucyB7CiAgIGJvb2xlYW4gaWdub3Jl
UmVhZCA9IHRydWU7CiAgIGJvb2xlYW4gb3ZlcndyaXRlID0gdHJ1ZTsKICAgQWJvcnRTaWduYWw/
IHNpZ25hbDsKIH07CiAKLWVudW0gTkRFRlB1c2hUYXJnZXQgewotICAidGFnIiwKLSAgInBlZXIi
LAotICAiYW55IgotfTsKLQogZGljdGlvbmFyeSBOREVGU2Nhbk9wdGlvbnMgewogICBVU1ZTdHJp
bmcgaWQ7CiAgIFVTVlN0cmluZyByZWNvcmRUeXBlOwotICBVU1ZTdHJpbmcgbWVkaWFUeXBlID0g
IiI7CisgIFVTVlN0cmluZyBtZWRpYVR5cGU7CiAgIEFib3J0U2lnbmFsPyBzaWduYWw7CiB9Owpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bnRlcmZhY2VzL3dlYi1zaGFyZS5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2ViLXNoYXJlLmlkbAppbmRleCBhMjkxMDdmMDU5ODcz
NjkxMjg1OTNiOWZiMmJkM2JiMTMwMTdlYWUwLi5jMjlhMjlkMGI0ZWRlOTQxNTNhNzU4NjAzNDRh
YjQ4MjRlOTFiNmQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2ViLXNoYXJlLmlkbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2ViLXNoYXJlLmlkbApA
QCAtOCw2ICs4LDcgQEAgcGFydGlhbCBpbnRlcmZhY2UgTmF2aWdhdG9yIHsKIH07CiAKIGRpY3Rp
b25hcnkgU2hhcmVEYXRhIHsKKyAgRnJvemVuQXJyYXk8RmlsZT4gZmlsZXM7CiAgIFVTVlN0cmlu
ZyB0aXRsZTsKICAgVVNWU3RyaW5nIHRleHQ7CiAgIFVTVlN0cmluZyB1cmw7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMv
d2ViYXVkaW8uaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbnRlcmZhY2VzL3dlYmF1ZGlvLmlkbAppbmRleCA2NzQ2NzNkOTBiMWU4ZmQzZTZkMTgyZjI1
Mjg5OTQ4ZmMwMjkwY2FjLi5mMGE1YzdhOTAyMGIxZWFhMGFmNmRmMzY2NGM0MWVjZDAzZjcxMDgy
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ludGVyZmFjZXMvd2ViYXVkaW8uaWRsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWJhdWRpby5pZGwKQEAgLTI2LDI4ICsyNiwz
NiBAQCBpbnRlcmZhY2UgQmFzZUF1ZGlvQ29udGV4dCA6IEV2ZW50VGFyZ2V0IHsKIAogICBBbmFs
eXNlck5vZGUgY3JlYXRlQW5hbHlzZXIgKCk7CiAgIEJpcXVhZEZpbHRlck5vZGUgY3JlYXRlQmlx
dWFkRmlsdGVyICgpOwotICBBdWRpb0J1ZmZlciBjcmVhdGVCdWZmZXIgKHVuc2lnbmVkIGxvbmcg
bnVtYmVyT2ZDaGFubmVscywgdW5zaWduZWQgbG9uZyBsZW5ndGgsIGZsb2F0IHNhbXBsZVJhdGUp
OworICBBdWRpb0J1ZmZlciBjcmVhdGVCdWZmZXIgKHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZDaGFu
bmVscywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGxlbmd0aCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCBzYW1wbGVSYXRlKTsKICAgQXVkaW9C
dWZmZXJTb3VyY2VOb2RlIGNyZWF0ZUJ1ZmZlclNvdXJjZSAoKTsKICAgQ2hhbm5lbE1lcmdlck5v
ZGUgY3JlYXRlQ2hhbm5lbE1lcmdlciAob3B0aW9uYWwgdW5zaWduZWQgbG9uZyBudW1iZXJPZklu
cHV0cyA9IDYpOwotICBDaGFubmVsU3BsaXR0ZXJOb2RlIGNyZWF0ZUNoYW5uZWxTcGxpdHRlciAo
b3B0aW9uYWwgdW5zaWduZWQgbG9uZyBudW1iZXJPZk91dHB1dHMgPSA2KTsKKyAgQ2hhbm5lbFNw
bGl0dGVyTm9kZSBjcmVhdGVDaGFubmVsU3BsaXR0ZXIgKAorICAgIG9wdGlvbmFsIHVuc2lnbmVk
IGxvbmcgbnVtYmVyT2ZPdXRwdXRzID0gNik7CiAgIENvbnN0YW50U291cmNlTm9kZSBjcmVhdGVD
b25zdGFudFNvdXJjZSAoKTsKICAgQ29udm9sdmVyTm9kZSBjcmVhdGVDb252b2x2ZXIgKCk7CiAg
IERlbGF5Tm9kZSBjcmVhdGVEZWxheSAob3B0aW9uYWwgZG91YmxlIG1heERlbGF5VGltZSA9IDEu
MCk7CiAgIER5bmFtaWNzQ29tcHJlc3Nvck5vZGUgY3JlYXRlRHluYW1pY3NDb21wcmVzc29yICgp
OwogICBHYWluTm9kZSBjcmVhdGVHYWluICgpOwotICBJSVJGaWx0ZXJOb2RlIGNyZWF0ZUlJUkZp
bHRlciAoc2VxdWVuY2U8ZG91YmxlPiBmZWVkZm9yd2FyZCwgc2VxdWVuY2U8ZG91YmxlPiBmZWVk
YmFjayk7CisgIElJUkZpbHRlck5vZGUgY3JlYXRlSUlSRmlsdGVyIChzZXF1ZW5jZTxkb3VibGU+
IGZlZWRmb3J3YXJkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VxdWVuY2U8
ZG91YmxlPiBmZWVkYmFjayk7CiAgIE9zY2lsbGF0b3JOb2RlIGNyZWF0ZU9zY2lsbGF0b3IgKCk7
CiAgIFBhbm5lck5vZGUgY3JlYXRlUGFubmVyICgpOwotICBQZXJpb2RpY1dhdmUgY3JlYXRlUGVy
aW9kaWNXYXZlIChzZXF1ZW5jZTxmbG9hdD4gcmVhbCwgc2VxdWVuY2U8ZmxvYXQ+IGltYWcsIG9w
dGlvbmFsIFBlcmlvZGljV2F2ZUNvbnN0cmFpbnRzIGNvbnN0cmFpbnRzID0ge30pOwotICBTY3Jp
cHRQcm9jZXNzb3JOb2RlIGNyZWF0ZVNjcmlwdFByb2Nlc3NvcihvcHRpb25hbCB1bnNpZ25lZCBs
b25nIGJ1ZmZlclNpemUgPSAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBvcHRpb25hbCB1bnNpZ25lZCBsb25nIG51bWJlck9mSW5wdXRDaGFubmVscyA9IDIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIHVu
c2lnbmVkIGxvbmcgbnVtYmVyT2ZPdXRwdXRDaGFubmVscyA9IDIpOworICBQZXJpb2RpY1dhdmUg
Y3JlYXRlUGVyaW9kaWNXYXZlIChzZXF1ZW5jZTxmbG9hdD4gcmVhbCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc2VxdWVuY2U8ZmxvYXQ+IGltYWcsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIFBlcmlvZGljV2F2ZUNvbnN0cmFpbnRzIGNv
bnN0cmFpbnRzID0ge30pOworICBTY3JpcHRQcm9jZXNzb3JOb2RlIGNyZWF0ZVNjcmlwdFByb2Nl
c3NvcigKKyAgICBvcHRpb25hbCB1bnNpZ25lZCBsb25nIGJ1ZmZlclNpemUgPSAwLAorICAgIG9w
dGlvbmFsIHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZJbnB1dENoYW5uZWxzID0gMiwKKyAgICBvcHRp
b25hbCB1bnNpZ25lZCBsb25nIG51bWJlck9mT3V0cHV0Q2hhbm5lbHMgPSAyKTsKICAgU3RlcmVv
UGFubmVyTm9kZSBjcmVhdGVTdGVyZW9QYW5uZXIgKCk7CiAgIFdhdmVTaGFwZXJOb2RlIGNyZWF0
ZVdhdmVTaGFwZXIgKCk7CiAKLSAgUHJvbWlzZTxBdWRpb0J1ZmZlcj4gZGVjb2RlQXVkaW9EYXRh
IChBcnJheUJ1ZmZlciBhdWRpb0RhdGEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgb3B0aW9uYWwgRGVjb2RlU3VjY2Vzc0NhbGxiYWNrPyBzdWNjZXNzQ2FsbGJhY2ss
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgRGVjb2Rl
RXJyb3JDYWxsYmFjaz8gZXJyb3JDYWxsYmFjayk7CisgIFByb21pc2U8QXVkaW9CdWZmZXI+IGRl
Y29kZUF1ZGlvRGF0YSAoCisgICAgQXJyYXlCdWZmZXIgYXVkaW9EYXRhLAorICAgIG9wdGlvbmFs
IERlY29kZVN1Y2Nlc3NDYWxsYmFjaz8gc3VjY2Vzc0NhbGxiYWNrLAorICAgIG9wdGlvbmFsIERl
Y29kZUVycm9yQ2FsbGJhY2s/IGVycm9yQ2FsbGJhY2spOwogfTsKIAogZW51bSBBdWRpb0NvbnRl
eHRMYXRlbmN5Q2F0ZWdvcnkgewpAQCAtNjcsNyArNzUsOCBAQCBpbnRlcmZhY2UgQXVkaW9Db250
ZXh0IDogQmFzZUF1ZGlvQ29udGV4dCB7CiAgIFByb21pc2U8dm9pZD4gY2xvc2UgKCk7CiAgIE1l
ZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZSBjcmVhdGVNZWRpYUVsZW1lbnRTb3VyY2UgKEhUTUxN
ZWRpYUVsZW1lbnQgbWVkaWFFbGVtZW50KTsKICAgTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUg
Y3JlYXRlTWVkaWFTdHJlYW1Tb3VyY2UgKE1lZGlhU3RyZWFtIG1lZGlhU3RyZWFtKTsKLSAgTWVk
aWFTdHJlYW1UcmFja0F1ZGlvU291cmNlTm9kZSBjcmVhdGVNZWRpYVN0cmVhbVRyYWNrU291cmNl
IChNZWRpYVN0cmVhbVRyYWNrIG1lZGlhU3RyZWFtVHJhY2spOworICBNZWRpYVN0cmVhbVRyYWNr
QXVkaW9Tb3VyY2VOb2RlIGNyZWF0ZU1lZGlhU3RyZWFtVHJhY2tTb3VyY2UgKAorICAgIE1lZGlh
U3RyZWFtVHJhY2sgbWVkaWFTdHJlYW1UcmFjayk7CiAgIE1lZGlhU3RyZWFtQXVkaW9EZXN0aW5h
dGlvbk5vZGUgY3JlYXRlTWVkaWFTdHJlYW1EZXN0aW5hdGlvbiAoKTsKIH07CiAKQEAgLTExNiw4
ICsxMjUsMTIgQEAgaW50ZXJmYWNlIEF1ZGlvQnVmZmVyIHsKICAgcmVhZG9ubHkgYXR0cmlidXRl
IGRvdWJsZSBkdXJhdGlvbjsKICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbnVt
YmVyT2ZDaGFubmVsczsKICAgRmxvYXQzMkFycmF5IGdldENoYW5uZWxEYXRhICh1bnNpZ25lZCBs
b25nIGNoYW5uZWwpOwotICB2b2lkIGNvcHlGcm9tQ2hhbm5lbCAoRmxvYXQzMkFycmF5IGRlc3Rp
bmF0aW9uLCB1bnNpZ25lZCBsb25nIGNoYW5uZWxOdW1iZXIsIG9wdGlvbmFsIHVuc2lnbmVkIGxv
bmcgYnVmZmVyT2Zmc2V0ID0gMCk7Ci0gIHZvaWQgY29weVRvQ2hhbm5lbCAoRmxvYXQzMkFycmF5
IHNvdXJjZSwgdW5zaWduZWQgbG9uZyBjaGFubmVsTnVtYmVyLCBvcHRpb25hbCB1bnNpZ25lZCBs
b25nIGJ1ZmZlck9mZnNldCA9IDApOworICB2b2lkIGNvcHlGcm9tQ2hhbm5lbCAoRmxvYXQzMkFy
cmF5IGRlc3RpbmF0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBj
aGFubmVsTnVtYmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgdW5zaWduZWQg
bG9uZyBidWZmZXJPZmZzZXQgPSAwKTsKKyAgdm9pZCBjb3B5VG9DaGFubmVsIChGbG9hdDMyQXJy
YXkgc291cmNlLAorICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgY2hhbm5lbE51
bWJlciwKKyAgICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCB1bnNpZ25lZCBsb25nIGJ1ZmZl
ck9mZnNldCA9IDApOwogfTsKIAogZGljdGlvbmFyeSBBdWRpb0J1ZmZlck9wdGlvbnMgewpAQCAt
MTM2LDcgKzE0OSw5IEBAIGludGVyZmFjZSBBdWRpb05vZGUgOiBFdmVudFRhcmdldCB7CiAgIHZv
aWQgZGlzY29ubmVjdCAodW5zaWduZWQgbG9uZyBvdXRwdXQpOwogICB2b2lkIGRpc2Nvbm5lY3Qg
KEF1ZGlvTm9kZSBkZXN0aW5hdGlvbk5vZGUpOwogICB2b2lkIGRpc2Nvbm5lY3QgKEF1ZGlvTm9k
ZSBkZXN0aW5hdGlvbk5vZGUsIHVuc2lnbmVkIGxvbmcgb3V0cHV0KTsKLSAgdm9pZCBkaXNjb25u
ZWN0IChBdWRpb05vZGUgZGVzdGluYXRpb25Ob2RlLCB1bnNpZ25lZCBsb25nIG91dHB1dCwgdW5z
aWduZWQgbG9uZyBpbnB1dCk7CisgIHZvaWQgZGlzY29ubmVjdCAoQXVkaW9Ob2RlIGRlc3RpbmF0
aW9uTm9kZSwKKyAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIG91dHB1dCwKKyAgICAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGlucHV0KTsKICAgdm9pZCBkaXNjb25uZWN0IChB
dWRpb1BhcmFtIGRlc3RpbmF0aW9uUGFyYW0pOwogICB2b2lkIGRpc2Nvbm5lY3QgKEF1ZGlvUGFy
YW0gZGVzdGluYXRpb25QYXJhbSwgdW5zaWduZWQgbG9uZyBvdXRwdXQpOwogICByZWFkb25seSBh
dHRyaWJ1dGUgQmFzZUF1ZGlvQ29udGV4dCBjb250ZXh0OwpAQCAtMTgwLDcgKzE5NSw5IEBAIGlu
dGVyZmFjZSBBdWRpb1BhcmFtIHsKICAgQXVkaW9QYXJhbSBsaW5lYXJSYW1wVG9WYWx1ZUF0VGlt
ZSAoZmxvYXQgdmFsdWUsIGRvdWJsZSBlbmRUaW1lKTsKICAgQXVkaW9QYXJhbSBleHBvbmVudGlh
bFJhbXBUb1ZhbHVlQXRUaW1lIChmbG9hdCB2YWx1ZSwgZG91YmxlIGVuZFRpbWUpOwogICBBdWRp
b1BhcmFtIHNldFRhcmdldEF0VGltZSAoZmxvYXQgdGFyZ2V0LCBkb3VibGUgc3RhcnRUaW1lLCBm
bG9hdCB0aW1lQ29uc3RhbnQpOwotICBBdWRpb1BhcmFtIHNldFZhbHVlQ3VydmVBdFRpbWUgKHNl
cXVlbmNlPGZsb2F0PiB2YWx1ZXMsIGRvdWJsZSBzdGFydFRpbWUsIGRvdWJsZSBkdXJhdGlvbik7
CisgIEF1ZGlvUGFyYW0gc2V0VmFsdWVDdXJ2ZUF0VGltZSAoc2VxdWVuY2U8ZmxvYXQ+IHZhbHVl
cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb3VibGUgc3RhcnRUaW1lLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSBkdXJhdGlvbik7CiAgIEF1
ZGlvUGFyYW0gY2FuY2VsU2NoZWR1bGVkVmFsdWVzIChkb3VibGUgY2FuY2VsVGltZSk7CiAgIEF1
ZGlvUGFyYW0gY2FuY2VsQW5kSG9sZEF0VGltZSAoZG91YmxlIGNhbmNlbFRpbWUpOwogfTsKQEAg
LTIxNSw3ICsyMzIsOCBAQCBkaWN0aW9uYXJ5IEFuYWx5c2VyT3B0aW9ucyA6IEF1ZGlvTm9kZU9w
dGlvbnMgewogCiBbRXhwb3NlZD1XaW5kb3ddCiBpbnRlcmZhY2UgQXVkaW9CdWZmZXJTb3VyY2VO
b2RlIDogQXVkaW9TY2hlZHVsZWRTb3VyY2VOb2RlIHsKLSAgY29uc3RydWN0b3IgKEJhc2VBdWRp
b0NvbnRleHQgY29udGV4dCwgb3B0aW9uYWwgQXVkaW9CdWZmZXJTb3VyY2VPcHRpb25zIG9wdGlv
bnMgPSB7fSk7CisgIGNvbnN0cnVjdG9yIChCYXNlQXVkaW9Db250ZXh0IGNvbnRleHQsCisgICAg
ICAgICAgICAgICBvcHRpb25hbCBBdWRpb0J1ZmZlclNvdXJjZU9wdGlvbnMgb3B0aW9ucyA9IHt9
KTsKICAgYXR0cmlidXRlIEF1ZGlvQnVmZmVyPyBidWZmZXI7CiAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBBdWRpb1BhcmFtIHBsYXliYWNrUmF0ZTsKICAgcmVhZG9ubHkgYXR0cmlidXRlIEF1ZGlvUGFy
YW0gZGV0dW5lOwpAQCAtMjg5LDcgKzMwNyw5IEBAIGludGVyZmFjZSBCaXF1YWRGaWx0ZXJOb2Rl
IDogQXVkaW9Ob2RlIHsKICAgcmVhZG9ubHkgYXR0cmlidXRlIEF1ZGlvUGFyYW0gZGV0dW5lOwog
ICByZWFkb25seSBhdHRyaWJ1dGUgQXVkaW9QYXJhbSBROwogICByZWFkb25seSBhdHRyaWJ1dGUg
QXVkaW9QYXJhbSBnYWluOwotICB2b2lkIGdldEZyZXF1ZW5jeVJlc3BvbnNlIChGbG9hdDMyQXJy
YXkgZnJlcXVlbmN5SHosIEZsb2F0MzJBcnJheSBtYWdSZXNwb25zZSwgRmxvYXQzMkFycmF5IHBo
YXNlUmVzcG9uc2UpOworICB2b2lkIGdldEZyZXF1ZW5jeVJlc3BvbnNlIChGbG9hdDMyQXJyYXkg
ZnJlcXVlbmN5SHosCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZsb2F0MzJBcnJheSBt
YWdSZXNwb25zZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmxvYXQzMkFycmF5IHBo
YXNlUmVzcG9uc2UpOwogfTsKIAogZGljdGlvbmFyeSBCaXF1YWRGaWx0ZXJPcHRpb25zIDogQXVk
aW9Ob2RlT3B0aW9ucyB7CkBAIC0zNTMsNyArMzczLDggQEAgZGljdGlvbmFyeSBEZWxheU9wdGlv
bnMgOiBBdWRpb05vZGVPcHRpb25zIHsKIAogW0V4cG9zZWQ9V2luZG93XQogaW50ZXJmYWNlIER5
bmFtaWNzQ29tcHJlc3Nvck5vZGUgOiBBdWRpb05vZGUgewotICBjb25zdHJ1Y3RvciAoQmFzZUF1
ZGlvQ29udGV4dCBjb250ZXh0LCBvcHRpb25hbCBEeW5hbWljc0NvbXByZXNzb3JPcHRpb25zIG9w
dGlvbnMgPSB7fSk7CisgIGNvbnN0cnVjdG9yIChCYXNlQXVkaW9Db250ZXh0IGNvbnRleHQsCisg
ICAgICAgICAgICAgICBvcHRpb25hbCBEeW5hbWljc0NvbXByZXNzb3JPcHRpb25zIG9wdGlvbnMg
PSB7fSk7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBBdWRpb1BhcmFtIHRocmVzaG9sZDsKICAgcmVh
ZG9ubHkgYXR0cmlidXRlIEF1ZGlvUGFyYW0ga25lZTsKICAgcmVhZG9ubHkgYXR0cmlidXRlIEF1
ZGlvUGFyYW0gcmF0aW87CkBAIC0zODMsNyArNDA0LDkgQEAgZGljdGlvbmFyeSBHYWluT3B0aW9u
cyA6IEF1ZGlvTm9kZU9wdGlvbnMgewogW0V4cG9zZWQ9V2luZG93XQogaW50ZXJmYWNlIElJUkZp
bHRlck5vZGUgOiBBdWRpb05vZGUgewogICBjb25zdHJ1Y3RvciAoQmFzZUF1ZGlvQ29udGV4dCBj
b250ZXh0LCBJSVJGaWx0ZXJPcHRpb25zIG9wdGlvbnMpOwotICB2b2lkIGdldEZyZXF1ZW5jeVJl
c3BvbnNlIChGbG9hdDMyQXJyYXkgZnJlcXVlbmN5SHosIEZsb2F0MzJBcnJheSBtYWdSZXNwb25z
ZSwgRmxvYXQzMkFycmF5IHBoYXNlUmVzcG9uc2UpOworICB2b2lkIGdldEZyZXF1ZW5jeVJlc3Bv
bnNlIChGbG9hdDMyQXJyYXkgZnJlcXVlbmN5SHosCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEZsb2F0MzJBcnJheSBtYWdSZXNwb25zZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgRmxvYXQzMkFycmF5IHBoYXNlUmVzcG9uc2UpOwogfTsKIAogZGljdGlvbmFyeSBJSVJGaWx0
ZXJPcHRpb25zIDogQXVkaW9Ob2RlT3B0aW9ucyB7CkBAIC01NTUsNyArNTc4LDggQEAgY2FsbGJh
Y2sgQXVkaW9Xb3JrbGV0UHJvY2Vzc29yQ29uc3RydWN0b3IgPSBBdWRpb1dvcmtsZXRQcm9jZXNz
b3IgKG9iamVjdCBvcHRpb24KIAogW0dsb2JhbD0oV29ya2xldCwgQXVkaW9Xb3JrbGV0KSwgRXhw
b3NlZD1BdWRpb1dvcmtsZXRdCiBpbnRlcmZhY2UgQXVkaW9Xb3JrbGV0R2xvYmFsU2NvcGUgOiBX
b3JrbGV0R2xvYmFsU2NvcGUgewotICB2b2lkIHJlZ2lzdGVyUHJvY2Vzc29yIChET01TdHJpbmcg
bmFtZSwgQXVkaW9Xb3JrbGV0UHJvY2Vzc29yQ29uc3RydWN0b3IgcHJvY2Vzc29yQ3Rvcik7Cisg
IHZvaWQgcmVnaXN0ZXJQcm9jZXNzb3IgKERPTVN0cmluZyBuYW1lLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICBBdWRpb1dvcmtsZXRQcm9jZXNzb3JDb25zdHJ1Y3RvciBwcm9jZXNzb3JDdG9y
KTsKICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9uZyBjdXJyZW50RnJhbWU7
CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgY3VycmVudFRpbWU7CiAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBmbG9hdCBzYW1wbGVSYXRlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYmF1dGhuLmlkbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWJhdXRo
bi5pZGwKaW5kZXggMjkwMjVmMzVlZWNiNWM4MmIzM2ZmY2M3MDM5YzRhOTlmMDgxZjRlMy4uYTFk
NDZhMzdjZjQ0ZDdkOWI4Y2Q4MGIxMWE5MmIyZDJmNzg2MDJlZiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYmF1dGhu
LmlkbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2lu
dGVyZmFjZXMvd2ViYXV0aG4uaWRsCkBAIC0zMSw2ICszMSw5IEBAIGludGVyZmFjZSBBdXRoZW50
aWNhdG9yUmVzcG9uc2UgewogaW50ZXJmYWNlIEF1dGhlbnRpY2F0b3JBdHRlc3RhdGlvblJlc3Bv
bnNlIDogQXV0aGVudGljYXRvclJlc3BvbnNlIHsKICAgICBbU2FtZU9iamVjdF0gcmVhZG9ubHkg
YXR0cmlidXRlIEFycmF5QnVmZmVyICAgICAgYXR0ZXN0YXRpb25PYmplY3Q7CiAgICAgc2VxdWVu
Y2U8RE9NU3RyaW5nPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldFRyYW5zcG9ydHMo
KTsKKyAgICBBcnJheUJ1ZmZlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Z2V0QXV0aGVudGljYXRvckRhdGEoKTsKKyAgICBBcnJheUJ1ZmZlcj8gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZ2V0UHVibGljS2V5KCk7CisgICAgQ09TRUFsZ29yaXRobUlk
ZW50aWZpZXIgICAgICAgICAgICAgICAgICAgICAgICAgIGdldFB1YmxpY0tleUFsZ29yaXRobSgp
OwogfTsKIAogW1NlY3VyZUNvbnRleHQsIEV4cG9zZWQ9V2luZG93XQpAQCAtNTUsNyArNTgsNyBA
QCBkaWN0aW9uYXJ5IFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMgewogICAgIHVu
c2lnbmVkIGxvbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVvdXQ7CiAgICAg
c2VxdWVuY2U8UHVibGljS2V5Q3JlZGVudGlhbERlc2NyaXB0b3I+ICAgICAgZXhjbHVkZUNyZWRl
bnRpYWxzID0gW107CiAgICAgQXV0aGVudGljYXRvclNlbGVjdGlvbkNyaXRlcmlhICAgICAgICAg
ICAgICAgYXV0aGVudGljYXRvclNlbGVjdGlvbjsKLSAgICBBdHRlc3RhdGlvbkNvbnZleWFuY2VQ
cmVmZXJlbmNlICAgICAgICAgICAgICBhdHRlc3RhdGlvbiA9ICJub25lIjsKKyAgICBET01TdHJp
bmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRlc3RhdGlvbiA9ICJub25l
IjsKICAgICBBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRJbnB1dHMgICAgICAgICBleHRl
bnNpb25zOwogfTsKIApAQCAtOTMsNyArOTYsOCBAQCBlbnVtIFJlc2lkZW50S2V5UmVxdWlyZW1l
bnQgewogZW51bSBBdHRlc3RhdGlvbkNvbnZleWFuY2VQcmVmZXJlbmNlIHsKICAgICAibm9uZSIs
CiAgICAgImluZGlyZWN0IiwKLSAgICAiZGlyZWN0IgorICAgICJkaXJlY3QiLAorICAgICJlbnRl
cnByaXNlIgogfTsKIAogZGljdGlvbmFyeSBQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlv
bnMgewpAQCAtMTQyLDggKzE0Niw3IEBAIGVudW0gQXV0aGVudGljYXRvclRyYW5zcG9ydCB7CiAg
ICAgInVzYiIsCiAgICAgIm5mYyIsCiAgICAgImJsZSIsCi0gICAgImludGVybmFsIiwKLSAgICAi
bGlnaHRuaW5nIgorICAgICJpbnRlcm5hbCIKIH07CiAKIHR5cGVkZWYgbG9uZyBDT1NFQWxnb3Jp
dGhtSWRlbnRpZmllcjsKQEAgLTE2Niw2NSArMTY5LDYgQEAgcGFydGlhbCBkaWN0aW9uYXJ5IEF1
dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudElucHV0cyB7CiAgIFVTVlN0cmluZyBhcHBpZEV4
Y2x1ZGU7CiB9OwogCi1wYXJ0aWFsIGRpY3Rpb25hcnkgQXV0aGVudGljYXRpb25FeHRlbnNpb25z
Q2xpZW50SW5wdXRzIHsKLSAgVVNWU3RyaW5nIHR4QXV0aFNpbXBsZTsKLX07Ci0KLXBhcnRpYWwg
ZGljdGlvbmFyeSBBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRPdXRwdXRzIHsKLSAgVVNW
U3RyaW5nIHR4QXV0aFNpbXBsZTsKLX07Ci0KLWRpY3Rpb25hcnkgdHhBdXRoR2VuZXJpY0FyZyB7
Ci0gICAgcmVxdWlyZWQgVVNWU3RyaW5nIGNvbnRlbnRUeXBlOyAgICAvLyBNSU1FLVR5cGUgb2Yg
dGhlIGNvbnRlbnQsIGUuZy4sICJpbWFnZS9wbmciCi0gICAgcmVxdWlyZWQgQXJyYXlCdWZmZXIg
Y29udGVudDsKLX07Ci0KLXBhcnRpYWwgZGljdGlvbmFyeSBBdXRoZW50aWNhdGlvbkV4dGVuc2lv
bnNDbGllbnRJbnB1dHMgewotICB0eEF1dGhHZW5lcmljQXJnIHR4QXV0aEdlbmVyaWM7Ci19Owot
Ci1wYXJ0aWFsIGRpY3Rpb25hcnkgQXV0aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50T3V0cHV0
cyB7Ci0gIEFycmF5QnVmZmVyIHR4QXV0aEdlbmVyaWM7Ci19OwotCi10eXBlZGVmIHNlcXVlbmNl
PEFBR1VJRD4gQXV0aGVudGljYXRvclNlbGVjdGlvbkxpc3Q7Ci0KLXBhcnRpYWwgZGljdGlvbmFy
eSBBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRJbnB1dHMgewotICBBdXRoZW50aWNhdG9y
U2VsZWN0aW9uTGlzdCBhdXRoblNlbDsKLX07Ci0KLXR5cGVkZWYgQnVmZmVyU291cmNlICAgICAg
QUFHVUlEOwotCi1wYXJ0aWFsIGRpY3Rpb25hcnkgQXV0aGVudGljYXRpb25FeHRlbnNpb25zQ2xp
ZW50T3V0cHV0cyB7Ci0gIGJvb2xlYW4gYXV0aG5TZWw7Ci19OwotCi1wYXJ0aWFsIGRpY3Rpb25h
cnkgQXV0aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50SW5wdXRzIHsKLSAgYm9vbGVhbiBleHRz
OwotfTsKLQotdHlwZWRlZiBzZXF1ZW5jZTxVU1ZTdHJpbmc+IEF1dGhlbnRpY2F0aW9uRXh0ZW5z
aW9uc1N1cHBvcnRlZDsKLQotcGFydGlhbCBkaWN0aW9uYXJ5IEF1dGhlbnRpY2F0aW9uRXh0ZW5z
aW9uc0NsaWVudE91dHB1dHMgewotICBBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNTdXBwb3J0ZWQg
ZXh0czsKLX07Ci0KLXBhcnRpYWwgZGljdGlvbmFyeSBBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnND
bGllbnRJbnB1dHMgewotICBib29sZWFuIHV2aTsKLX07Ci0KLXBhcnRpYWwgZGljdGlvbmFyeSBB
dXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRPdXRwdXRzIHsKLSAgQXJyYXlCdWZmZXIgdXZp
OwotfTsKLQotcGFydGlhbCBkaWN0aW9uYXJ5IEF1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVu
dElucHV0cyB7Ci0gIGJvb2xlYW4gbG9jOwotfTsKLQotcGFydGlhbCBkaWN0aW9uYXJ5IEF1dGhl
bnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudE91dHB1dHMgewotICBHZW9sb2NhdGlvbkNvb3JkaW5h
dGVzIGxvYzsKLX07Ci0KIHBhcnRpYWwgZGljdGlvbmFyeSBBdXRoZW50aWNhdGlvbkV4dGVuc2lv
bnNDbGllbnRJbnB1dHMgewogICBib29sZWFuIHV2bTsKIH07CkBAIC0yMzYsMTEgKzE4MCw2IEBA
IHBhcnRpYWwgZGljdGlvbmFyeSBBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRPdXRwdXRz
IHsKICAgVXZtRW50cmllcyB1dm07CiB9OwogCi1kaWN0aW9uYXJ5IGF1dGhlbnRpY2F0b3JCaW9t
ZXRyaWNQZXJmQm91bmRzewotICAgIGZsb2F0IEZBUjsKLSAgICBmbG9hdCBGUlI7Ci0gICAgfTsK
LQogcGFydGlhbCBkaWN0aW9uYXJ5IEF1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudElucHV0
cyB7CiAgICAgYm9vbGVhbiBjcmVkUHJvcHM7CiB9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYm1pZGkuaWRsIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dl
Ym1pZGkuaWRsCmluZGV4IDA5NmU3YTFkYjExY2I3ODhhMTljM2VlYjViZTZiM2Y4ZmM3N2VjYmUu
LjBlMzkwZjhiZGU3MDkzNGQ5OTM0NzE0ZDhjNjg1MzcwM2RhYmIyYjggMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWJt
aWRpLmlkbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ludGVyZmFjZXMvd2VibWlkaS5pZGwKQEAgLTEsNyArMSw3IEBACiAvLyBHRU5FUkFURUQgQ09O
VEVOVCAtIERPIE5PVCBFRElUCiAvLyBDb250ZW50IHdhcyBhdXRvbWF0aWNhbGx5IGV4dHJhY3Rl
ZCBieSBSZWZmeSBpbnRvIHJlZmZ5LXJlcG9ydHMKIC8vIChodHRwczovL2dpdGh1Yi5jb20vdGlk
b3VzdC9yZWZmeS1yZXBvcnRzKQotLy8gU291cmNlOiBXZWIgTUlESSBBUEkgKGh0dHA6Ly93ZWJh
dWRpby5naXRodWIuaW8vd2ViLW1pZGktYXBpLykKKy8vIFNvdXJjZTogV2ViIE1JREkgQVBJICho
dHRwczovL3dlYmF1ZGlvLmdpdGh1Yi5pby93ZWItbWlkaS1hcGkvKQogCiBwYXJ0aWFsIGludGVy
ZmFjZSBOYXZpZ2F0b3IgewogICBbU2VjdXJlQ29udGV4dF0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWJydGMtZHNj
cC5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVy
ZmFjZXMvd2VicnRjLWRzY3AuaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MzIy
MzBiNGEzMzlkMjQ4NGZhNTI0MmZkZmM3NzIyNDQwMDc5NmIyLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWJydGMtZHNjcC5pZGwKKysrIC9kZXYvbnVsbApA
QCAtMSw4ICswLDAgQEAKLS8vIEdFTkVSQVRFRCBDT05URU5UIC0gRE8gTk9UIEVESVQKLS8vIENv
bnRlbnQgd2FzIGF1dG9tYXRpY2FsbHkgZXh0cmFjdGVkIGJ5IFJlZmZ5IGludG8gcmVmZnktcmVw
b3J0cwotLy8gKGh0dHBzOi8vZ2l0aHViLmNvbS90aWRvdXN0L3JlZmZ5LXJlcG9ydHMpCi0vLyBT
b3VyY2U6IFdlYlJUQyBEU0NQIENvbnRyb2wgQVBJIChodHRwczovL3czYy5naXRodWIuaW8vd2Vi
cnRjLWRzY3AtZXhwLykKLQotcGFydGlhbCBkaWN0aW9uYXJ5IFJUQ1J0cEVuY29kaW5nUGFyYW1l
dGVycyB7Ci0gICAgUlRDUHJpb3JpdHlUeXBlIG5ldHdvcmtQcmlvcml0eTsgIC8vIE5vdGU6IE5v
IGRlZmF1bHQKLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2VicnRjLWlkZW50aXR5LmlkbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWJydGMtaWRlbnRp
dHkuaWRsCmluZGV4IGQxZjJhNjU0NzYwOWVkMWE5NjE0YWNlMTgwZGQxNTAyN2ViOWM3OTEuLjI4
YjZhM2IyYjdmNGFjZjc4ZmRlMzg4OWM3NWQ2ZjhlOTdjOGViNTcgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWJydGMt
aWRlbnRpdHkuaWRsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaW50ZXJmYWNlcy93ZWJydGMtaWRlbnRpdHkuaWRsCkBAIC00OSw2ICs0OSwxMCBAQCBw
YXJ0aWFsIGludGVyZmFjZSBSVENQZWVyQ29ubmVjdGlvbiB7CiAgICAgcmVhZG9ubHkgICAgICAg
IGF0dHJpYnV0ZSBET01TdHJpbmc/ICAgICAgICAgICAgICAgICAgICBpZHBFcnJvckluZm87CiB9
OwogCitwYXJ0aWFsIGRpY3Rpb25hcnkgUlRDQ29uZmlndXJhdGlvbiB7CisgICAgRE9NU3RyaW5n
IHBlZXJJZGVudGl0eTsKK307CisKIGRpY3Rpb25hcnkgUlRDSWRlbnRpdHlQcm92aWRlck9wdGlv
bnMgewogICAgIERPTVN0cmluZyBwcm90b2NvbCA9ICJkZWZhdWx0IjsKICAgICBET01TdHJpbmcg
dXNlcm5hbWVIaW50OwpAQCAtNjIsNiArNjYsMjkgQEAgaW50ZXJmYWNlIFJUQ0lkZW50aXR5QXNz
ZXJ0aW9uIHsKICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7CiB9OwogCitwYXJ0aWFsIGlu
dGVyZmFjZSBSVENFcnJvciB7CisgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nPyBodHRwUmVxdWVz
dFN0YXR1c0NvZGU7Cit9OworCitwYXJ0aWFsIGRpY3Rpb25hcnkgUlRDRXJyb3JJbml0IHsKKyAg
bG9uZyBodHRwUmVxdWVzdFN0YXR1c0NvZGU7Cit9OworCisvLyBUaGlzIGlzIGFuIGV4dGVuc2lv
biBvZiBSVENFcnJvckRldGFpbFR5cGUgZnJvbSBbW1dFQlJUQy1QQ11dCisvLyBVbmZvcnR1bmF0
ZWx5LCBXZWJJREwgZG9lcyBub3Qgc3VwcG9ydCBwYXJ0aWFsIGVudW1zICh5ZXQpLgorLy8KKy8v
IHBhcnRpYWwgZW51bSBSVENFcnJvckRldGFpbFR5cGUgeworZW51bSBSVENFcnJvckRldGFpbFR5
cGVJZHAgeworICAiaWRwLWJhZC1zY3JpcHQtZmFpbHVyZSIsCisgICJpZHAtZXhlY3V0aW9uLWZh
aWx1cmUiLAorICAiaWRwLWxvYWQtZmFpbHVyZSIsCisgICJpZHAtbmVlZC1sb2dpbiIsCisgICJp
ZHAtdGltZW91dCIsCisgICJpZHAtdGxzLWZhaWx1cmUiLAorICAiaWRwLXRva2VuLWV4cGlyZWQi
LAorICAiaWRwLXRva2VuLWludmFsaWQiLAorfTsKKwogcGFydGlhbCBkaWN0aW9uYXJ5IE1lZGlh
U3RyZWFtQ29uc3RyYWludHMgewogICAgICAgICAgICAgIERPTVN0cmluZyBwZWVySWRlbnRpdHk7
CiB9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9pbnRlcmZhY2VzL3dlYnJ0Yy1zdGF0cy5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2VicnRjLXN0YXRzLmlkbAppbmRleCBj
NWQwMGFjNDQ2MmIyNGFiZjA0NmNiMDVkYjI5NDUwM2JjOTBjNjc3Li41YTQ4MzhmOTI2M2ZlMmQ0
MWI5OTNjMGJjZGZkYjJkMjQ5ZjY3ZDBiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2VicnRjLXN0YXRzLmlkbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMv
d2VicnRjLXN0YXRzLmlkbApAQCAtMjgsMTcgKzI4LDE3IEBAIGVudW0gUlRDU3RhdHNUeXBlIHsK
IH07CiAKIGRpY3Rpb25hcnkgUlRDUnRwU3RyZWFtU3RhdHMgOiBSVENTdGF0cyB7Ci0gICAgICAg
ICAgICAgdW5zaWduZWQgbG9uZyAgICAgICBzc3JjOwotICAgICAgICAgICAgIERPTVN0cmluZyAg
ICAgICAgICAga2luZDsKKyAgICAgICAgICAgICByZXF1aXJlZCB1bnNpZ25lZCBsb25nICAgICAg
IHNzcmM7CisgICAgICAgICAgICAgcmVxdWlyZWQgRE9NU3RyaW5nICAgICAgICAgICBraW5kOwog
ICAgICAgICAgICAgIERPTVN0cmluZyAgICAgICAgICAgdHJhbnNwb3J0SWQ7CiAgICAgICAgICAg
ICAgRE9NU3RyaW5nICAgICAgICAgICBjb2RlY0lkOwogfTsKIAogZGljdGlvbmFyeSBSVENDb2Rl
Y1N0YXRzIDogUlRDU3RhdHMgewotICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgcGF5bG9hZFR5
cGU7CisgICAgICAgICAgICAgcmVxdWlyZWQgdW5zaWduZWQgbG9uZyBwYXlsb2FkVHlwZTsKICAg
ICAgICAgICAgICBSVENDb2RlY1R5cGUgIGNvZGVjVHlwZTsKLSAgICAgICAgICAgICBET01TdHJp
bmcgICAgIHRyYW5zcG9ydElkOwotICAgICAgICAgICAgIERPTVN0cmluZyAgICAgbWltZVR5cGU7
CisgICAgICAgICAgICAgcmVxdWlyZWQgRE9NU3RyaW5nICAgICB0cmFuc3BvcnRJZDsKKyAgICAg
ICAgICAgICByZXF1aXJlZCBET01TdHJpbmcgICAgIG1pbWVUeXBlOwogICAgICAgICAgICAgIHVu
c2lnbmVkIGxvbmcgY2xvY2tSYXRlOwogICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgY2hhbm5l
bHM7CiAgICAgICAgICAgICAgRE9NU3RyaW5nICAgICBzZHBGbXRwTGluZTsKQEAgLTcwLDggKzcw
LDcgQEAgZGljdGlvbmFyeSBSVENSZWNlaXZlZFJ0cFN0cmVhbVN0YXRzIDogUlRDUnRwU3RyZWFt
U3RhdHMgewogfTsKIAogZGljdGlvbmFyeSBSVENJbmJvdW5kUnRwU3RyZWFtU3RhdHMgOiBSVENS
ZWNlaXZlZFJ0cFN0cmVhbVN0YXRzIHsKLSBET01TdHJpbmcgICAgICAgICAgICB0cmFja0lkOwot
IERPTVN0cmluZyAgICAgICAgICAgIHJlY2VpdmVySWQ7CisgcmVxdWlyZWQgRE9NU3RyaW5nICAg
cmVjZWl2ZXJJZDsKICBET01TdHJpbmcgICAgICAgICAgICByZW1vdGVJZDsKICB1bnNpZ25lZCBs
b25nICAgICAgICBmcmFtZXNEZWNvZGVkOwogIHVuc2lnbmVkIGxvbmcgICAgICAgIGtleUZyYW1l
c0RlY29kZWQ7CkBAIC0xMzAsNyArMTI5LDcgQEAgZGljdGlvbmFyeSBSVENTZW50UnRwU3RyZWFt
U3RhdHMgOiBSVENSdHBTdHJlYW1TdGF0cyB7CiB9OwogCiBkaWN0aW9uYXJ5IFJUQ091dGJvdW5k
UnRwU3RyZWFtU3RhdHMgOiBSVENTZW50UnRwU3RyZWFtU3RhdHMgewotICAgICAgICAgICAgIERP
TVN0cmluZyAgICAgICAgICAgIHRyYWNrSWQ7CisgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyAg
ICAgICAgcnR4U3NyYzsKICAgICAgICAgICAgICBET01TdHJpbmcgICAgICAgICAgICBtZWRpYVNv
dXJjZUlkOwogICAgICAgICAgICAgIERPTVN0cmluZyAgICAgICAgICAgIHNlbmRlcklkOwogICAg
ICAgICAgICAgIERPTVN0cmluZyAgICAgICAgICAgIHJlbW90ZUlkOwpAQCAtMTg2LDggKzE4NSw5
IEBAIGRpY3Rpb25hcnkgUlRDUmVtb3RlT3V0Ym91bmRSdHBTdHJlYW1TdGF0cyA6IFJUQ1NlbnRS
dHBTdHJlYW1TdGF0cyB7CiB9OwogCiBkaWN0aW9uYXJ5IFJUQ01lZGlhU291cmNlU3RhdHMgOiBS
VENTdGF0cyB7Ci0gICAgICAgICAgICAgRE9NU3RyaW5nICAgICAgIHRyYWNrSWRlbnRpZmllcjsK
LSAgICAgICAgICAgICBET01TdHJpbmcgICAgICAga2luZDsKKyAgICAgICAgICAgICByZXF1aXJl
ZCBET01TdHJpbmcgICAgICAgdHJhY2tJZGVudGlmaWVyOworICAgICAgICAgICAgIHJlcXVpcmVk
IERPTVN0cmluZyAgICAgICBraW5kOworICAgICAgICAgICAgIGJvb2xlYW4gICAgICAgICByZWxh
eWVkU291cmNlOwogfTsKIAogZGljdGlvbmFyeSBSVENBdWRpb1NvdXJjZVN0YXRzIDogUlRDTWVk
aWFTb3VyY2VTdGF0cyB7CkBAIC0yMDMsMTIgKzIwMywxMiBAQCBkaWN0aW9uYXJ5IFJUQ1ZpZGVv
U291cmNlU3RhdHMgOiBSVENNZWRpYVNvdXJjZVN0YXRzIHsKICAgICAgICAgICAgICB1bnNpZ25l
ZCBsb25nICAgaGVpZ2h0OwogICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgICBiaXREZXB0aDsK
ICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nICAgZnJhbWVzOwotICAgICAgICAgICAgIHVuc2ln
bmVkIGxvbmcgICBmcmFtZXNQZXJTZWNvbmQ7CisgICAgICAgICAgICAgZG91YmxlICAgICAgICAg
IGZyYW1lc1BlclNlY29uZDsKIH07CiAKIGRpY3Rpb25hcnkgUlRDUnRwQ29udHJpYnV0aW5nU291
cmNlU3RhdHMgOiBSVENTdGF0cyB7Ci0gICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBjb250cmli
dXRvclNzcmM7Ci0gICAgICAgICAgICAgRE9NU3RyaW5nICAgICBpbmJvdW5kUnRwU3RyZWFtSWQ7
CisgICAgICAgICAgICAgcmVxdWlyZWQgdW5zaWduZWQgbG9uZyBjb250cmlidXRvclNzcmM7Cisg
ICAgICAgICAgICAgcmVxdWlyZWQgRE9NU3RyaW5nICAgICBpbmJvdW5kUnRwU3RyZWFtSWQ7CiAg
ICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBwYWNrZXRzQ29udHJpYnV0ZWRUbzsKICAgICAgICAg
ICAgICBkb3VibGUgICAgICAgIGF1ZGlvTGV2ZWw7CiB9OwpAQCAtMjIwLDE4ICsyMjAsMTYgQEAg
ZGljdGlvbmFyeSBSVENQZWVyQ29ubmVjdGlvblN0YXRzIDogUlRDU3RhdHMgewogICAgICAgICAg
ICAgdW5zaWduZWQgbG9uZyBkYXRhQ2hhbm5lbHNBY2NlcHRlZDsKIH07CiAKLWRpY3Rpb25hcnkg
UlRDUnRwVHJhbnNjZWl2ZXJTdGF0cyB7Ci0gICAgRE9NU3RyaW5nIHNlbmRlcklkOwotICAgIERP
TVN0cmluZyByZWNlaXZlcklkOworZGljdGlvbmFyeSBSVENSdHBUcmFuc2NlaXZlclN0YXRzIDog
UlRDU3RhdHMgeworICAgIHJlcXVpcmVkIERPTVN0cmluZyBzZW5kZXJJZDsKKyAgICByZXF1aXJl
ZCBET01TdHJpbmcgcmVjZWl2ZXJJZDsKICAgICBET01TdHJpbmcgbWlkOwogfTsKIAogZGljdGlv
bmFyeSBSVENNZWRpYUhhbmRsZXJTdGF0cyA6IFJUQ1N0YXRzIHsKICAgICAgICAgICAgICBET01T
dHJpbmcgICAgICAgICAgIHRyYWNrSWRlbnRpZmllcjsKLSAgICAgICAgICAgICBib29sZWFuICAg
ICAgICAgICAgIHJlbW90ZVNvdXJjZTsKICAgICAgICAgICAgICBib29sZWFuICAgICAgICAgICAg
IGVuZGVkOwotICAgICAgICAgICAgIERPTVN0cmluZyAgICAgICAgICAga2luZDsKLSAgICAgICAg
ICAgICBSVENQcmlvcml0eVR5cGUgICAgIHByaW9yaXR5OworICAgICAgICAgICAgIHJlcXVpcmVk
IERPTVN0cmluZyAga2luZDsKIH07CiAKIGRpY3Rpb25hcnkgUlRDVmlkZW9IYW5kbGVyU3RhdHMg
OiBSVENNZWRpYUhhbmRsZXJTdGF0cyB7CkBAIC0yNDEsOSArMjM5LDYgQEAgZGljdGlvbmFyeSBS
VENWaWRlb1NlbmRlclN0YXRzIDogUlRDVmlkZW9IYW5kbGVyU3RhdHMgewogICAgICAgICAgICAg
IERPTVN0cmluZyAgICAgICAgICAgbWVkaWFTb3VyY2VJZDsKIH07CiAKLWRpY3Rpb25hcnkgUlRD
U2VuZGVyVmlkZW9UcmFja0F0dGFjaG1lbnRTdGF0cyA6IFJUQ1ZpZGVvU2VuZGVyU3RhdHMgewot
fTsKLQogZGljdGlvbmFyeSBSVENWaWRlb1JlY2VpdmVyU3RhdHMgOiBSVENWaWRlb0hhbmRsZXJT
dGF0cyB7CiB9OwogCkBAIC0yNTQsMTggKzI0OSwxNSBAQCBkaWN0aW9uYXJ5IFJUQ0F1ZGlvU2Vu
ZGVyU3RhdHMgOiBSVENBdWRpb0hhbmRsZXJTdGF0cyB7CiAgICAgICAgICAgICAgRE9NU3RyaW5n
ICAgICAgICAgICBtZWRpYVNvdXJjZUlkOwogfTsKIAotZGljdGlvbmFyeSBSVENTZW5kZXJBdWRp
b1RyYWNrQXR0YWNobWVudFN0YXRzIDogUlRDQXVkaW9TZW5kZXJTdGF0cyB7Ci19OwotCiBkaWN0
aW9uYXJ5IFJUQ0F1ZGlvUmVjZWl2ZXJTdGF0cyA6IFJUQ0F1ZGlvSGFuZGxlclN0YXRzIHsKIH07
CiAKIGRpY3Rpb25hcnkgUlRDRGF0YUNoYW5uZWxTdGF0cyA6IFJUQ1N0YXRzIHsKICAgICAgICAg
ICAgICBET01TdHJpbmcgICAgICAgICAgIGxhYmVsOwogICAgICAgICAgICAgIERPTVN0cmluZyAg
ICAgICAgICAgcHJvdG9jb2w7Ci0gICAgICAgICAgICAgbG9uZyAgICAgICAgICAgICAgICBkYXRh
Q2hhbm5lbElkZW50aWZpZXI7Ci0gICAgICAgICAgICAgRE9NU3RyaW5nICAgICAgICAgICB0cmFu
c3BvcnRJZDsKLSAgICAgICAgICAgICBSVENEYXRhQ2hhbm5lbFN0YXRlIHN0YXRlOworICAgICAg
ICAgICAgIHVuc2lnbmVkIHNob3J0ICAgICAgZGF0YUNoYW5uZWxJZGVudGlmaWVyOworICAgICAg
ICAgICAgIHJlcXVpcmVkIERPTVN0cmluZyAgdHJhbnNwb3J0SWQ7CisgICAgICAgICAgICAgcmVx
dWlyZWQgUlRDRGF0YUNoYW5uZWxTdGF0ZSBzdGF0ZTsKICAgICAgICAgICAgICB1bnNpZ25lZCBs
b25nICAgICAgIG1lc3NhZ2VzU2VudDsKICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGxvbmcg
IGJ5dGVzU2VudDsKICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nICAgICAgIG1lc3NhZ2VzUmVj
ZWl2ZWQ7CkBAIC0yNzksNyArMjcxLDkgQEAgZGljdGlvbmFyeSBSVENUcmFuc3BvcnRTdGF0cyA6
IFJUQ1N0YXRzIHsKICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGxvbmcgICAgYnl0ZXNSZWNl
aXZlZDsKICAgICAgICAgICAgICBET01TdHJpbmcgICAgICAgICAgICAgcnRjcFRyYW5zcG9ydFN0
YXRzSWQ7CiAgICAgICAgICAgICAgUlRDSWNlUm9sZSAgICAgICAgICAgIGljZVJvbGU7Ci0gICAg
ICAgICAgICAgUlRDRHRsc1RyYW5zcG9ydFN0YXRlIGR0bHNTdGF0ZTsKKyAgICAgICAgICAgICBE
T01TdHJpbmcgICAgICAgICAgICAgaWNlTG9jYWxVc2VybmFtZUZyYWdtZW50OworICAgICAgICAg
ICAgIHJlcXVpcmVkIFJUQ0R0bHNUcmFuc3BvcnRTdGF0ZSBkdGxzU3RhdGU7CisgICAgICAgICAg
ICAgUlRDSWNlVHJhbnNwb3J0U3RhdGUgIGljZVN0YXRlOwogICAgICAgICAgICAgIERPTVN0cmlu
ZyAgICAgICAgICAgICBzZWxlY3RlZENhbmRpZGF0ZVBhaXJJZDsKICAgICAgICAgICAgICBET01T
dHJpbmcgICAgICAgICAgICAgbG9jYWxDZXJ0aWZpY2F0ZUlkOwogICAgICAgICAgICAgIERPTVN0
cmluZyAgICAgICAgICAgICByZW1vdGVDZXJ0aWZpY2F0ZUlkOwpAQCAtMjkxLDI1ICsyODUsMjkg
QEAgZGljdGlvbmFyeSBSVENUcmFuc3BvcnRTdGF0cyA6IFJUQ1N0YXRzIHsKIH07CiAKIGRpY3Rp
b25hcnkgUlRDU2N0cFRyYW5zcG9ydFN0YXRzIDogUlRDU3RhdHMgewotICAgIGRvdWJsZSBzbW9v
dGhlZFJvdW5kVHJpcFRpbWU7CisgICAgICAgICAgICBkb3VibGUgc21vb3RoZWRSb3VuZFRyaXBU
aW1lOworICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBjb25nZXN0aW9uV2luZG93OworICAgICAg
ICAgICAgdW5zaWduZWQgbG9uZyByZWNlaXZlcldpbmRvdzsKKyAgICAgICAgICAgIHVuc2lnbmVk
IGxvbmcgbXR1OworICAgICAgICAgICAgdW5zaWduZWQgbG9uZyB1bmFja0RhdGE7CiB9OwogCiBk
aWN0aW9uYXJ5IFJUQ0ljZUNhbmRpZGF0ZVN0YXRzIDogUlRDU3RhdHMgewotICAgICAgICAgICAg
IERPTVN0cmluZyAgICAgICAgICAgICAgICB0cmFuc3BvcnRJZDsKKyAgICAgICAgICAgICByZXF1
aXJlZCBET01TdHJpbmcgICAgICAgdHJhbnNwb3J0SWQ7CiAgICAgICAgICAgICAgRE9NU3RyaW5n
PyAgICAgICAgICAgICAgIGFkZHJlc3M7CiAgICAgICAgICAgICAgbG9uZyAgICAgICAgICAgICAg
ICAgICAgIHBvcnQ7CiAgICAgICAgICAgICAgRE9NU3RyaW5nICAgICAgICAgICAgICAgIHByb3Rv
Y29sOwotICAgICAgICAgICAgIFJUQ0ljZUNhbmRpZGF0ZVR5cGUgICAgICBjYW5kaWRhdGVUeXBl
OworICAgICAgICAgICAgIHJlcXVpcmVkIFJUQ0ljZUNhbmRpZGF0ZVR5cGUgY2FuZGlkYXRlVHlw
ZTsKICAgICAgICAgICAgICBsb25nICAgICAgICAgICAgICAgICAgICAgcHJpb3JpdHk7CiAgICAg
ICAgICAgICAgRE9NU3RyaW5nICAgICAgICAgICAgICAgIHVybDsKICAgICAgICAgICAgICBET01T
dHJpbmcgICAgICAgICAgICAgICAgcmVsYXlQcm90b2NvbDsKIH07CiAKIGRpY3Rpb25hcnkgUlRD
SWNlQ2FuZGlkYXRlUGFpclN0YXRzIDogUlRDU3RhdHMgewotICAgICAgICAgICAgIERPTVN0cmlu
ZyAgICAgICAgICAgICAgICAgICAgIHRyYW5zcG9ydElkOwotICAgICAgICAgICAgIERPTVN0cmlu
ZyAgICAgICAgICAgICAgICAgICAgIGxvY2FsQ2FuZGlkYXRlSWQ7Ci0gICAgICAgICAgICAgRE9N
U3RyaW5nICAgICAgICAgICAgICAgICAgICAgcmVtb3RlQ2FuZGlkYXRlSWQ7Ci0gICAgICAgICAg
ICAgUlRDU3RhdHNJY2VDYW5kaWRhdGVQYWlyU3RhdGUgc3RhdGU7CisgICAgICAgICAgICAgcmVx
dWlyZWQgRE9NU3RyaW5nICAgICAgICAgICAgdHJhbnNwb3J0SWQ7CisgICAgICAgICAgICAgcmVx
dWlyZWQgRE9NU3RyaW5nICAgICAgICAgICAgbG9jYWxDYW5kaWRhdGVJZDsKKyAgICAgICAgICAg
ICByZXF1aXJlZCBET01TdHJpbmcgICAgICAgICAgICByZW1vdGVDYW5kaWRhdGVJZDsKKyAgICAg
ICAgICAgICByZXF1aXJlZCBSVENTdGF0c0ljZUNhbmRpZGF0ZVBhaXJTdGF0ZSBzdGF0ZTsKICAg
ICAgICAgICAgICBib29sZWFuICAgICAgICAgICAgICAgICAgICAgICBub21pbmF0ZWQ7CiAgICAg
ICAgICAgICAgdW5zaWduZWQgbG9uZyBsb25nICAgICAgICAgICAgcGFja2V0c1NlbnQ7CiAgICAg
ICAgICAgICAgdW5zaWduZWQgbG9uZyBsb25nICAgICAgICAgICAgcGFja2V0c1JlY2VpdmVkOwpA
QCAtMzM1LDYgKzMzMyw5IEBAIGRpY3Rpb25hcnkgUlRDSWNlQ2FuZGlkYXRlUGFpclN0YXRzIDog
UlRDU3RhdHMgewogICAgICAgICAgICAgIERPTUhpZ2hSZXNUaW1lU3RhbXAgICAgICAgICAgIGNv
bnNlbnRFeHBpcmVkVGltZXN0YW1wOwogICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgICAgICAg
ICAgICAgICAgIHBhY2tldHNEaXNjYXJkZWRPblNlbmQ7CiAgICAgICAgICAgICAgdW5zaWduZWQg
bG9uZyBsb25nICAgICAgICAgICAgYnl0ZXNEaXNjYXJkZWRPblNlbmQ7CisgICAgICAgICAgICAg
dW5zaWduZWQgbG9uZyBsb25nICAgICAgICAgICAgcmVxdWVzdEJ5dGVzU2VudDsKKyAgICAgICAg
ICAgICB1bnNpZ25lZCBsb25nIGxvbmcgICAgICAgICAgICBjb25zZW50UmVxdWVzdEJ5dGVzU2Vu
dDsKKyAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGxvbmcgICAgICAgICAgICByZXNwb25zZUJ5
dGVzU2VudDsKIH07CiAKIGVudW0gUlRDU3RhdHNJY2VDYW5kaWRhdGVQYWlyU3RhdGUgewpAQCAt
MzQ2LDEwMyArMzQ3LDE3IEBAIGVudW0gUlRDU3RhdHNJY2VDYW5kaWRhdGVQYWlyU3RhdGUgewog
fTsKIAogZGljdGlvbmFyeSBSVENDZXJ0aWZpY2F0ZVN0YXRzIDogUlRDU3RhdHMgewotICAgICAg
ICAgICAgIERPTVN0cmluZyBmaW5nZXJwcmludDsKLSAgICAgICAgICAgICBET01TdHJpbmcgZmlu
Z2VycHJpbnRBbGdvcml0aG07Ci0gICAgICAgICAgICAgRE9NU3RyaW5nIGJhc2U2NENlcnRpZmlj
YXRlOworICAgICAgICAgICAgIHJlcXVpcmVkIERPTVN0cmluZyBmaW5nZXJwcmludDsKKyAgICAg
ICAgICAgICByZXF1aXJlZCBET01TdHJpbmcgZmluZ2VycHJpbnRBbGdvcml0aG07CisgICAgICAg
ICAgICAgcmVxdWlyZWQgRE9NU3RyaW5nIGJhc2U2NENlcnRpZmljYXRlOwogICAgICAgICAgICAg
IERPTVN0cmluZyBpc3N1ZXJDZXJ0aWZpY2F0ZUlkOwogfTsKIAogZGljdGlvbmFyeSBSVENJY2VT
ZXJ2ZXJTdGF0cyA6IFJUQ1N0YXRzIHsKLSAgICAgICAgICAgRE9NU3RyaW5nIHVybDsKKyAgICAg
ICAgICAgcmVxdWlyZWQgRE9NU3RyaW5nIHVybDsKICAgICAgICAgICAgbG9uZyBwb3J0OwotICAg
ICAgICAgICBET01TdHJpbmcgcHJvdG9jb2w7CisgICAgICAgICAgIERPTVN0cmluZyByZWxheVBy
b3RvY29sOwogICAgICAgICAgICB1bnNpZ25lZCBsb25nIHRvdGFsUmVxdWVzdHNTZW50OwogICAg
ICAgICAgICB1bnNpZ25lZCBsb25nIHRvdGFsUmVzcG9uc2VzUmVjZWl2ZWQ7CiAgICAgICAgICAg
IGRvdWJsZSB0b3RhbFJvdW5kVHJpcFRpbWU7CiB9OwotCi1kaWN0aW9uYXJ5IFJUQ01lZGlhU3Ry
ZWFtU3RhdHMgOiBSVENTdGF0cyB7Ci0gIERPTVN0cmluZyBzdHJlYW1JZGVudGlmaWVyOwotICBz
ZXF1ZW5jZTxET01TdHJpbmc+IHRyYWNrSWRzOwotfTsKLQotZGljdGlvbmFyeSBSVENSZWNlaXZl
clZpZGVvVHJhY2tBdHRhY2htZW50U3RhdHMgOiBSVENWaWRlb1JlY2VpdmVyU3RhdHMge307Ci0K
LWRpY3Rpb25hcnkgUlRDUmVjZWl2ZXJBdWRpb1RyYWNrQXR0YWNobWVudFN0YXRzIDogUlRDQXVk
aW9SZWNlaXZlclN0YXRzIHt9OwotCi1wYXJ0aWFsIGRpY3Rpb25hcnkgUlRDQ29kZWNTdGF0cyB7
Ci0gICAgRE9NU3RyaW5nIGltcGxlbWVudGF0aW9uOwotfTsKLQotcGFydGlhbCBkaWN0aW9uYXJ5
IFJUQ0ljZUNhbmRpZGF0ZVN0YXRzIHsKLSAgICBib29sZWFuIGRlbGV0ZWQgPSBmYWxzZTsKLSAg
ICBib29sZWFuIGlzUmVtb3RlOwotfTsKLQotcGFydGlhbCBkaWN0aW9uYXJ5IFJUQ0ljZUNhbmRp
ZGF0ZVBhaXJTdGF0cyB7Ci0gICAgZG91YmxlIHRvdGFsUnR0OwotICAgIGRvdWJsZSBjdXJyZW50
UnR0OwotICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBwcmlvcml0eTsKLX07Ci0KLXBhcnRpYWwgZGlj
dGlvbmFyeSBSVENSdHBTdHJlYW1TdGF0cyB7Ci0gICAgRE9NU3RyaW5nIG1lZGlhVHlwZTsKLSAg
ICBkb3VibGUgYXZlcmFnZVJUQ1BJbnRlcnZhbDsKLX07Ci0KLXBhcnRpYWwgZGljdGlvbmFyeSBS
VENJbmJvdW5kUnRwU3RyZWFtU3RhdHMgewotICAgIGRvdWJsZSBmcmFjdGlvbkxvc3Q7Ci19Owot
Ci1wYXJ0aWFsIGRpY3Rpb25hcnkgUlRDQXVkaW9IYW5kbGVyU3RhdHMgewotICAgIGRvdWJsZSBh
dWRpb0xldmVsOwotICAgIGRvdWJsZSB0b3RhbEF1ZGlvRW5lcmd5OwotICAgIGRvdWJsZSB0b3Rh
bFNhbXBsZXNEdXJhdGlvbjsKLSAgICBib29sZWFuIHZvaWNlQWN0aXZpdHlGbGFnOwotfTsKLQot
cGFydGlhbCBkaWN0aW9uYXJ5IFJUQ0F1ZGlvU2VuZGVyU3RhdHMgewotICAgIHVuc2lnbmVkIGxv
bmcgbG9uZyB0b3RhbFNhbXBsZXNTZW50OwotICAgIGRvdWJsZSBlY2hvUmV0dXJuTG9zczsKLSAg
ICBkb3VibGUgZWNob1JldHVybkxvc3NFbmhhbmNlbWVudDsKLX07Ci0KLXBhcnRpYWwgZGljdGlv
bmFyeSBSVENBdWRpb1JlY2VpdmVyU3RhdHMgewotICAgIERPTUhpZ2hSZXNUaW1lU3RhbXAgZXN0
aW1hdGVkUGxheW91dFRpbWVzdGFtcDsKLSAgICBkb3VibGUgaml0dGVyQnVmZmVyRGVsYXk7Ci0g
ICAgdW5zaWduZWQgbG9uZyBsb25nIGppdHRlckJ1ZmZlckVtaXR0ZWRDb3VudDsKLSAgICB1bnNp
Z25lZCBsb25nIGxvbmcgdG90YWxTYW1wbGVzUmVjZWl2ZWQ7Ci0gICAgdW5zaWduZWQgbG9uZyBs
b25nIGNvbmNlYWxlZFNhbXBsZXM7Ci0gICAgdW5zaWduZWQgbG9uZyBsb25nIHNpbGVudENvbmNl
YWxlZFNhbXBsZXM7Ci0gICAgdW5zaWduZWQgbG9uZyBsb25nIGNvbmNlYWxtZW50RXZlbnRzOwot
ICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBpbnNlcnRlZFNhbXBsZXNGb3JEZWNlbGVyYXRpb247Ci0g
ICAgdW5zaWduZWQgbG9uZyBsb25nIHJlbW92ZWRTYW1wbGVzRm9yQWNjZWxlcmF0aW9uOwotICAg
IGRvdWJsZSBhdWRpb0xldmVsOwotICAgIGRvdWJsZSB0b3RhbEF1ZGlvRW5lcmd5OwotICAgIGRv
dWJsZSB0b3RhbFNhbXBsZXNEdXJhdGlvbjsKLX07Ci0KLXBhcnRpYWwgZGljdGlvbmFyeSBSVENW
aWRlb0hhbmRsZXJTdGF0cyB7Ci0gICAgdW5zaWduZWQgbG9uZyBmcmFtZVdpZHRoOwotICAgIHVu
c2lnbmVkIGxvbmcgZnJhbWVIZWlnaHQ7Ci0gICAgZG91YmxlIGZyYW1lc1BlclNlY29uZDsKLX07
Ci0KLXBhcnRpYWwgZGljdGlvbmFyeSBSVENWaWRlb1NlbmRlclN0YXRzIHsKLSAgICB1bnNpZ25l
ZCBsb25nIGtleUZyYW1lc1NlbnQ7Ci0gICAgdW5zaWduZWQgbG9uZyBmcmFtZXNDYXB0dXJlZDsK
LSAgICB1bnNpZ25lZCBsb25nIGZyYW1lc1NlbnQ7Ci0gICAgdW5zaWduZWQgbG9uZyBodWdlRnJh
bWVzU2VudDsKLX07Ci0KLXBhcnRpYWwgZGljdGlvbmFyeSBSVENWaWRlb1JlY2VpdmVyU3RhdHMg
ewotICAgIHVuc2lnbmVkIGxvbmcga2V5RnJhbWVzUmVjZWl2ZWQ7Ci0gICAgRE9NSGlnaFJlc1Rp
bWVTdGFtcCBlc3RpbWF0ZWRQbGF5b3V0VGltZXN0YW1wOwotICAgIGRvdWJsZSBqaXR0ZXJCdWZm
ZXJEZWxheTsKLSAgICB1bnNpZ25lZCBsb25nIGxvbmcgaml0dGVyQnVmZmVyRW1pdHRlZENvdW50
OwotICAgIHVuc2lnbmVkIGxvbmcgZnJhbWVzUmVjZWl2ZWQ7Ci0gICAgdW5zaWduZWQgbG9uZyBm
cmFtZXNEZWNvZGVkOwotICAgIHVuc2lnbmVkIGxvbmcgZnJhbWVzRHJvcHBlZDsKLSAgICB1bnNp
Z25lZCBsb25nIHBhcnRpYWxGcmFtZXNMb3N0OwotICAgIHVuc2lnbmVkIGxvbmcgZnVsbEZyYW1l
c0xvc3Q7Ci19OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYnJ0Yy1zdmMuaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYnJ0Yy1zdmMuaWRsCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjI2OTFhODdiMzBkMzlkN2RiNDJlMjllMDQ5NjRmYjRlOGY3ZmVmY2EKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2lu
dGVyZmFjZXMvd2VicnRjLXN2Yy5pZGwKQEAgLTAsMCArMSwxMiBAQAorLy8gR0VORVJBVEVEIENP
TlRFTlQgLSBETyBOT1QgRURJVAorLy8gQ29udGVudCB3YXMgYXV0b21hdGljYWxseSBleHRyYWN0
ZWQgYnkgUmVmZnkgaW50byByZWZmeS1yZXBvcnRzCisvLyAoaHR0cHM6Ly9naXRodWIuY29tL3Rp
ZG91c3QvcmVmZnktcmVwb3J0cykKKy8vIFNvdXJjZTogU2NhbGFibGUgVmlkZW8gQ29kaW5nIChT
VkMpIEV4dGVuc2lvbiBmb3IgV2ViUlRDIChodHRwczovL3czYy5naXRodWIuaW8vd2VicnRjLXN2
Yy8pCisKK3BhcnRpYWwgZGljdGlvbmFyeSBSVENSdHBFbmNvZGluZ1BhcmFtZXRlcnMgeworICAg
ICAgICAgICAgIERPTVN0cmluZyAgICAgICAgICAgc2NhbGFiaWxpdHlNb2RlOworfTsKKworcGFy
dGlhbCBkaWN0aW9uYXJ5IFJUQ1J0cENvZGVjQ2FwYWJpbGl0eSB7CisgICAgICAgICAgICAgc2Vx
dWVuY2U8RE9NU3RyaW5nPiAgICAgICAgICAgc2NhbGFiaWxpdHlNb2RlczsKK307CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFj
ZXMvd2VicnRjLmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaW50ZXJmYWNlcy93ZWJydGMuaWRsCmluZGV4IDNiMmJlNjFjZWRjODhiNTU5YzJlYTg2Mzg4
Zjg2Y2ZlNDRiZGI5M2EuLmVmYjIxZjRhMGNjNTVjMzM2YzBjMTQ1Mjk4ZDQ2M2QwMjYzYWE1NzUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aW50ZXJmYWNlcy93ZWJydGMuaWRsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWJydGMuaWRsCkBAIC0xMywxMiArMTMsMTMgQEAg
ZGljdGlvbmFyeSBSVENDb25maWd1cmF0aW9uIHsKIH07CiAKIGVudW0gUlRDSWNlQ3JlZGVudGlh
bFR5cGUgewotICAicGFzc3dvcmQiLAorICAicGFzc3dvcmQiCiB9OwogCiBkaWN0aW9uYXJ5IFJU
Q0ljZVNlcnZlciB7CiAgIHJlcXVpcmVkIChET01TdHJpbmcgb3Igc2VxdWVuY2U8RE9NU3RyaW5n
PikgdXJsczsKICAgRE9NU3RyaW5nIHVzZXJuYW1lOworICBET01TdHJpbmcgY3JlZGVudGlhbDsK
ICAgUlRDSWNlQ3JlZGVudGlhbFR5cGUgY3JlZGVudGlhbFR5cGUgPSAicGFzc3dvcmQiOwogfTsK
IApAQCAtODQsMTEgKzg1LDExIEBAIGludGVyZmFjZSBSVENQZWVyQ29ubmVjdGlvbiA6IEV2ZW50
VGFyZ2V0ICB7CiAgIGNvbnN0cnVjdG9yKG9wdGlvbmFsIFJUQ0NvbmZpZ3VyYXRpb24gY29uZmln
dXJhdGlvbiA9IHt9KTsKICAgUHJvbWlzZTxSVENTZXNzaW9uRGVzY3JpcHRpb25Jbml0PiBjcmVh
dGVPZmZlcihvcHRpb25hbCBSVENPZmZlck9wdGlvbnMgb3B0aW9ucyA9IHt9KTsKICAgUHJvbWlz
ZTxSVENTZXNzaW9uRGVzY3JpcHRpb25Jbml0PiBjcmVhdGVBbnN3ZXIob3B0aW9uYWwgUlRDQW5z
d2VyT3B0aW9ucyBvcHRpb25zID0ge30pOwotICBQcm9taXNlPHZvaWQ+IHNldExvY2FsRGVzY3Jp
cHRpb24ob3B0aW9uYWwgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uSW5pdCBkZXNjcmlwdGlvbiA9IHt9
KTsKKyAgUHJvbWlzZTx2b2lkPiBzZXRMb2NhbERlc2NyaXB0aW9uKG9wdGlvbmFsIFJUQ0xvY2Fs
U2Vzc2lvbkRlc2NyaXB0aW9uSW5pdCBkZXNjcmlwdGlvbiA9IHt9KTsKICAgcmVhZG9ubHkgYXR0
cmlidXRlIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbj8gbG9jYWxEZXNjcmlwdGlvbjsKICAgcmVhZG9u
bHkgYXR0cmlidXRlIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbj8gY3VycmVudExvY2FsRGVzY3JpcHRp
b247CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBSVENTZXNzaW9uRGVzY3JpcHRpb24/IHBlbmRpbmdM
b2NhbERlc2NyaXB0aW9uOwotICBQcm9taXNlPHZvaWQ+IHNldFJlbW90ZURlc2NyaXB0aW9uKG9w
dGlvbmFsIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkluaXQgZGVzY3JpcHRpb24gPSB7fSk7CisgIFBy
b21pc2U8dm9pZD4gc2V0UmVtb3RlRGVzY3JpcHRpb24oUlRDU2Vzc2lvbkRlc2NyaXB0aW9uSW5p
dCBkZXNjcmlwdGlvbik7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBSVENTZXNzaW9uRGVzY3JpcHRp
b24/IHJlbW90ZURlc2NyaXB0aW9uOwogICByZWFkb25seSBhdHRyaWJ1dGUgUlRDU2Vzc2lvbkRl
c2NyaXB0aW9uPyBjdXJyZW50UmVtb3RlRGVzY3JpcHRpb247CiAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBSVENTZXNzaW9uRGVzY3JpcHRpb24/IHBlbmRpbmdSZW1vdGVEZXNjcmlwdGlvbjsKQEAgLTEx
OCwxMiArMTE5LDEyIEBAIGludGVyZmFjZSBSVENQZWVyQ29ubmVjdGlvbiA6IEV2ZW50VGFyZ2V0
ICB7CiAgIFByb21pc2U8dm9pZD4gY3JlYXRlT2ZmZXIoUlRDU2Vzc2lvbkRlc2NyaXB0aW9uQ2Fs
bGJhY2sgc3VjY2Vzc0NhbGxiYWNrLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJUQ1Bl
ZXJDb25uZWN0aW9uRXJyb3JDYWxsYmFjayBmYWlsdXJlQ2FsbGJhY2ssCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgb3B0aW9uYWwgUlRDT2ZmZXJPcHRpb25zIG9wdGlvbnMgPSB7fSk7Ci0g
IFByb21pc2U8dm9pZD4gc2V0TG9jYWxEZXNjcmlwdGlvbihvcHRpb25hbCBSVENTZXNzaW9uRGVz
Y3JpcHRpb25Jbml0IGRlc2NyaXB0aW9uID0ge30sCisgIFByb21pc2U8dm9pZD4gc2V0TG9jYWxE
ZXNjcmlwdGlvbihvcHRpb25hbCBSVENMb2NhbFNlc3Npb25EZXNjcmlwdGlvbkluaXQgZGVzY3Jp
cHRpb24gPSB7fSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZvaWRGdW5j
dGlvbiBzdWNjZXNzQ2FsbGJhY2ssCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBSVENQZWVyQ29ubmVjdGlvbkVycm9yQ2FsbGJhY2sgZmFpbHVyZUNhbGxiYWNrKTsKICAgUHJv
bWlzZTx2b2lkPiBjcmVhdGVBbnN3ZXIoUlRDU2Vzc2lvbkRlc2NyaXB0aW9uQ2FsbGJhY2sgc3Vj
Y2Vzc0NhbGxiYWNrLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVENQZWVyQ29ubmVj
dGlvbkVycm9yQ2FsbGJhY2sgZmFpbHVyZUNhbGxiYWNrKTsKLSAgUHJvbWlzZTx2b2lkPiBzZXRS
ZW1vdGVEZXNjcmlwdGlvbihvcHRpb25hbCBSVENTZXNzaW9uRGVzY3JpcHRpb25Jbml0IGRlc2Ny
aXB0aW9uID0ge30sCisgIFByb21pc2U8dm9pZD4gc2V0UmVtb3RlRGVzY3JpcHRpb24oUlRDU2Vz
c2lvbkRlc2NyaXB0aW9uSW5pdCBkZXNjcmlwdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBWb2lkRnVuY3Rpb24gc3VjY2Vzc0NhbGxiYWNrLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFJUQ1BlZXJDb25uZWN0aW9uRXJyb3JDYWxsYmFjayBm
YWlsdXJlQ2FsbGJhY2spOwogICBQcm9taXNlPHZvaWQ+IGFkZEljZUNhbmRpZGF0ZShSVENJY2VD
YW5kaWRhdGVJbml0IGNhbmRpZGF0ZSwKQEAgLTE0OSwxMyArMTUwLDE4IEBAIGVudW0gUlRDU2Rw
VHlwZSB7CiAKIFtFeHBvc2VkPVdpbmRvd10KIGludGVyZmFjZSBSVENTZXNzaW9uRGVzY3JpcHRp
b24gewotICBjb25zdHJ1Y3RvcihvcHRpb25hbCBSVENTZXNzaW9uRGVzY3JpcHRpb25Jbml0IGRl
c2NyaXB0aW9uSW5pdERpY3QgPSB7fSk7CisgIGNvbnN0cnVjdG9yKFJUQ1Nlc3Npb25EZXNjcmlw
dGlvbkluaXQgZGVzY3JpcHRpb25Jbml0RGljdCk7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBSVENT
ZHBUeXBlIHR5cGU7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgc2RwOwogICBbRGVm
YXVsdF0gb2JqZWN0IHRvSlNPTigpOwogfTsKIAogZGljdGlvbmFyeSBSVENTZXNzaW9uRGVzY3Jp
cHRpb25Jbml0IHsKKyAgcmVxdWlyZWQgUlRDU2RwVHlwZSB0eXBlOworICBET01TdHJpbmcgc2Rw
ID0gIiI7Cit9OworCitkaWN0aW9uYXJ5IFJUQ0xvY2FsU2Vzc2lvbkRlc2NyaXB0aW9uSW5pdCB7
CiAgIFJUQ1NkcFR5cGUgdHlwZTsKICAgRE9NU3RyaW5nIHNkcCA9ICIiOwogfTsKQEAgLTIyOCw3
ICsyMzQsOCBAQCBpbnRlcmZhY2UgUlRDUGVlckNvbm5lY3Rpb25JY2VFcnJvckV2ZW50IDogRXZl
bnQgewogfTsKIAogZGljdGlvbmFyeSBSVENQZWVyQ29ubmVjdGlvbkljZUVycm9yRXZlbnRJbml0
IDogRXZlbnRJbml0IHsKLSAgRE9NU3RyaW5nIGhvc3RDYW5kaWRhdGU7CisgIERPTVN0cmluZz8g
YWRkcmVzczsKKyAgdW5zaWduZWQgc2hvcnQ/IHBvcnQ7CiAgIERPTVN0cmluZyB1cmw7CiAgIHJl
cXVpcmVkIHVuc2lnbmVkIHNob3J0IGVycm9yQ29kZTsKICAgVVNWU3RyaW5nIHN0YXR1c1RleHQ7
CkBAIC01NTksMTIgKzU2NiwxMiBAQCBpbnRlcmZhY2UgUlRDRFRNRlNlbmRlciA6IEV2ZW50VGFy
Z2V0IHsKIAogW0V4cG9zZWQ9V2luZG93XQogaW50ZXJmYWNlIFJUQ0RUTUZUb25lQ2hhbmdlRXZl
bnQgOiBFdmVudCB7Ci0gIGNvbnN0cnVjdG9yKERPTVN0cmluZyB0eXBlLCBSVENEVE1GVG9uZUNo
YW5nZUV2ZW50SW5pdCBldmVudEluaXREaWN0KTsKKyAgY29uc3RydWN0b3IoRE9NU3RyaW5nIHR5
cGUsIG9wdGlvbmFsIFJUQ0RUTUZUb25lQ2hhbmdlRXZlbnRJbml0IGV2ZW50SW5pdERpY3QgPSB7
fSk7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdG9uZTsKIH07CiAKIGRpY3Rpb25h
cnkgUlRDRFRNRlRvbmVDaGFuZ2VFdmVudEluaXQgOiBFdmVudEluaXQgewotICByZXF1aXJlZCBE
T01TdHJpbmcgdG9uZTsKKyAgRE9NU3RyaW5nIHRvbmUgPSAiIjsKIH07CiAKIHBhcnRpYWwgaW50
ZXJmYWNlIFJUQ1BlZXJDb25uZWN0aW9uIHsKQEAgLTU4Nyw3ICs1OTQsNiBAQCBpbnRlcmZhY2Ug
UlRDRXJyb3IgOiBET01FeGNlcHRpb24gewogICBjb25zdHJ1Y3RvcihSVENFcnJvckluaXQgaW5p
dCwgb3B0aW9uYWwgRE9NU3RyaW5nIG1lc3NhZ2UgPSAiIik7CiAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBSVENFcnJvckRldGFpbFR5cGUgZXJyb3JEZXRhaWw7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBs
b25nPyBzZHBMaW5lTnVtYmVyOwotICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZz8gaHR0cFJlcXVl
c3RTdGF0dXNDb2RlOwogICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZz8gc2N0cENhdXNlQ29kZTsK
ICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmc/IHJlY2VpdmVkQWxlcnQ7CiAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nPyBzZW50QWxlcnQ7CkBAIC01OTYsNyArNjAy
LDYgQEAgaW50ZXJmYWNlIFJUQ0Vycm9yIDogRE9NRXhjZXB0aW9uIHsKIGRpY3Rpb25hcnkgUlRD
RXJyb3JJbml0IHsKICAgcmVxdWlyZWQgUlRDRXJyb3JEZXRhaWxUeXBlIGVycm9yRGV0YWlsOwog
ICBsb25nIHNkcExpbmVOdW1iZXI7Ci0gIGxvbmcgaHR0cFJlcXVlc3RTdGF0dXNDb2RlOwogICBs
b25nIHNjdHBDYXVzZUNvZGU7CiAgIHVuc2lnbmVkIGxvbmcgcmVjZWl2ZWRBbGVydDsKICAgdW5z
aWduZWQgbG9uZyBzZW50QWxlcnQ7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2VieHItYXItbW9kdWxlLmlkbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWJ4
ci1hci1tb2R1bGUuaWRsCmluZGV4IGM1ODk5ZDY1N2IyOTcyNjExMjU5MDI3NzNlODU0YzE4YmRm
MGRmMmEuLjJhNTI1ZDJkYTg5YzIxNTA1NzQwNzAwMmI2ZWNkZDA4Yzg0NzJmOWMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNl
cy93ZWJ4ci1hci1tb2R1bGUuaWRsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWJ4ci1hci1tb2R1bGUuaWRsCkBAIC0xMywzICsx
MywxMyBAQCBwYXJ0aWFsIGludGVyZmFjZSBYUlNlc3Npb24gewogICAvLyBBdHRyaWJ1dGVzCiAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBYUkVudmlyb25tZW50QmxlbmRNb2RlIGVudmlyb25tZW50Qmxl
bmRNb2RlOwogfTsKKworZW51bSBYUkludGVyYWN0aW9uTW9kZSB7CisgICAgInNjcmVlbi1zcGFj
ZSIsCisgICAgIndvcmxkLXNwYWNlIiwKK307CisKK3BhcnRpYWwgaW50ZXJmYWNlIFhSU2Vzc2lv
biB7CisgIC8vIEF0dHJpYnV0ZXMKKyAgcmVhZG9ubHkgYXR0cmlidXRlIFhSSW50ZXJhY3Rpb25N
b2RlIGludGVyYWN0aW9uTW9kZTsKK307CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2VieHIuaWRsIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYnhyLmlkbApp
bmRleCAwMzYwMzA5MDc0ODE4NzhkYjcwNDI2ODg4YWEwZTNhYjk5ZDVjMTc4Li5mNzIzYWNjMGNl
NThiM2FhNTY1OTZmZmQzMzRhOTNlYjU5NmVmNDY2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2VieHIuaWRsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93
ZWJ4ci5pZGwKQEAgLTQsMTAgKzQsMTAgQEAKIC8vIFNvdXJjZTogV2ViWFIgRGV2aWNlIEFQSSAo
aHR0cHM6Ly9pbW1lcnNpdmUtd2ViLmdpdGh1Yi5pby93ZWJ4ci8pCiAKIHBhcnRpYWwgaW50ZXJm
YWNlIE5hdmlnYXRvciB7Ci0gIFtTZWN1cmVDb250ZXh0LCBTYW1lT2JqZWN0XSByZWFkb25seSBh
dHRyaWJ1dGUgWFIgeHI7CisgIFtTZWN1cmVDb250ZXh0LCBTYW1lT2JqZWN0XSByZWFkb25seSBh
dHRyaWJ1dGUgWFJTeXN0ZW0geHI7CiB9OwogCi1bU2VjdXJlQ29udGV4dCwgRXhwb3NlZD1XaW5k
b3ddIGludGVyZmFjZSBYUiA6IEV2ZW50VGFyZ2V0IHsKK1tTZWN1cmVDb250ZXh0LCBFeHBvc2Vk
PVdpbmRvd10gaW50ZXJmYWNlIFhSU3lzdGVtIDogRXZlbnRUYXJnZXQgewogICAvLyBNZXRob2Rz
CiAgIFByb21pc2U8Ym9vbGVhbj4gaXNTZXNzaW9uU3VwcG9ydGVkKFhSU2Vzc2lvbk1vZGUgbW9k
ZSk7CiAgIFtOZXdPYmplY3RdIFByb21pc2U8WFJTZXNzaW9uPiByZXF1ZXN0U2Vzc2lvbihYUlNl
c3Npb25Nb2RlIG1vZGUsIG9wdGlvbmFsIFhSU2Vzc2lvbkluaXQgb3B0aW9ucyA9IHt9KTsKQEAg
LTQzLDcgKzQzLDcgQEAgZW51bSBYUlZpc2liaWxpdHlTdGF0ZSB7CiAgIHZvaWQgdXBkYXRlUmVu
ZGVyU3RhdGUob3B0aW9uYWwgWFJSZW5kZXJTdGF0ZUluaXQgc3RhdGUgPSB7fSk7CiAgIFtOZXdP
YmplY3RdIFByb21pc2U8WFJSZWZlcmVuY2VTcGFjZT4gcmVxdWVzdFJlZmVyZW5jZVNwYWNlKFhS
UmVmZXJlbmNlU3BhY2VUeXBlIHR5cGUpOwogCi0gIGxvbmcgcmVxdWVzdEFuaW1hdGlvbkZyYW1l
KFhSRnJhbWVSZXF1ZXN0Q2FsbGJhY2sgY2FsbGJhY2spOworICB1bnNpZ25lZCBsb25nIHJlcXVl
c3RBbmltYXRpb25GcmFtZShYUkZyYW1lUmVxdWVzdENhbGxiYWNrIGNhbGxiYWNrKTsKICAgdm9p
ZCBjYW5jZWxBbmltYXRpb25GcmFtZShsb25nIGhhbmRsZSk7CiAKICAgUHJvbWlzZTx2b2lkPiBl
bmQoKTsKQEAgLTY1LDYgKzY1LDcgQEAgZGljdGlvbmFyeSBYUlJlbmRlclN0YXRlSW5pdCB7CiAg
IGRvdWJsZSBkZXB0aEZhcjsKICAgZG91YmxlIGlubGluZVZlcnRpY2FsRmllbGRPZlZpZXc7CiAg
IFhSV2ViR0xMYXllcj8gYmFzZUxheWVyOworICBzZXF1ZW5jZTxYUkxheWVyPj8gbGF5ZXJzOwog
fTsKIAogW1NlY3VyZUNvbnRleHQsIEV4cG9zZWQ9V2luZG93XSBpbnRlcmZhY2UgWFJSZW5kZXJT
dGF0ZSB7CkBAIC0xNzIsNiArMTczLDkgQEAgaW50ZXJmYWNlIFhSSW5wdXRTb3VyY2VBcnJheSB7
CiAgIGdldHRlciBYUklucHV0U291cmNlKHVuc2lnbmVkIGxvbmcgaW5kZXgpOwogfTsKIAorW1Nl
Y3VyZUNvbnRleHQsIEV4cG9zZWQ9V2luZG93XQoraW50ZXJmYWNlIFhSTGF5ZXIgOiBFdmVudFRh
cmdldCB7fTsKKwogdHlwZWRlZiAoV2ViR0xSZW5kZXJpbmdDb250ZXh0IG9yCiAgICAgICAgICBX
ZWJHTDJSZW5kZXJpbmdDb250ZXh0KSBYUldlYkdMUmVuZGVyaW5nQ29udGV4dDsKIApAQCAtMTg1
LDcgKzE4OSw3IEBAIGRpY3Rpb25hcnkgWFJXZWJHTExheWVySW5pdCB7CiB9OwogCiBbU2VjdXJl
Q29udGV4dCwgRXhwb3NlZD1XaW5kb3ddCi1pbnRlcmZhY2UgWFJXZWJHTExheWVyIHsKK2ludGVy
ZmFjZSBYUldlYkdMTGF5ZXI6IFhSTGF5ZXIgewogICBjb25zdHJ1Y3RvcihYUlNlc3Npb24gc2Vz
c2lvbiwKICAgICAgICAgICAgICBYUldlYkdMUmVuZGVyaW5nQ29udGV4dCBjb250ZXh0LAogICAg
ICAgICAgICAgIG9wdGlvbmFsIFhSV2ViR0xMYXllckluaXQgbGF5ZXJJbml0ID0ge30pOwpAQCAt
MjU4LDUgKzI2MiwxNiBAQCBpbnRlcmZhY2UgWFJSZWZlcmVuY2VTcGFjZUV2ZW50IDogRXZlbnQg
ewogCiBkaWN0aW9uYXJ5IFhSUmVmZXJlbmNlU3BhY2VFdmVudEluaXQgOiBFdmVudEluaXQgewog
ICByZXF1aXJlZCBYUlJlZmVyZW5jZVNwYWNlIHJlZmVyZW5jZVNwYWNlOwotICBYUlJpZ2lkVHJh
bnNmb3JtIHRyYW5zZm9ybTsKKyAgWFJSaWdpZFRyYW5zZm9ybT8gdHJhbnNmb3JtID0gbnVsbDsK
K307CisKK2RpY3Rpb25hcnkgWFJQZXJtaXNzaW9uRGVzY3JpcHRvcjogUGVybWlzc2lvbkRlc2Ny
aXB0b3IgeworICBYUlNlc3Npb25Nb2RlIG1vZGU7CisgIHNlcXVlbmNlPGFueT4gcmVxdWlyZWRG
ZWF0dXJlczsKKyAgc2VxdWVuY2U8YW55PiBvcHRpb25hbEZlYXR1cmVzOworfTsKKworW0V4cG9z
ZWQ9V2luZG93XQoraW50ZXJmYWNlIFhSUGVybWlzc2lvblN0YXR1czogUGVybWlzc2lvblN0YXR1
cyB7CisgIGF0dHJpYnV0ZSBGcm96ZW5BcnJheTxhbnk+IGdyYW50ZWQ7CiB9OwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2Vz
L3dvcmtsZXRzLmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaW50ZXJmYWNlcy93b3JrbGV0cy5pZGwKaW5kZXggMTYxODc2NjRiM2I0MTI0NzU4Yzg0ZDA1
NGIwMmI4ZGRiZjU4NTUwOC4uZjg5ZWFjZDUwYmQ1OGMwMjg2MGM4NGI2ZTRjNDg2YWI5NzhhNTAx
OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbnRlcmZhY2VzL3dvcmtsZXRzLmlkbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd29ya2xldHMuaWRsCkBAIC05LDcgKzksNyBA
QCBpbnRlcmZhY2UgV29ya2xldEdsb2JhbFNjb3BlIHsKIAogW0V4cG9zZWQ9V2luZG93XQogaW50
ZXJmYWNlIFdvcmtsZXQgewotICAgIFtOZXdPYmplY3RdIFByb21pc2U8dm9pZD4gYWRkTW9kdWxl
KFVTVlN0cmluZyBtb2R1bGVVUkwsIG9wdGlvbmFsIFdvcmtsZXRPcHRpb25zIG9wdGlvbnMpOwor
ICAgIFtOZXdPYmplY3RdIFByb21pc2U8dm9pZD4gYWRkTW9kdWxlKFVTVlN0cmluZyBtb2R1bGVV
UkwsIG9wdGlvbmFsIFdvcmtsZXRPcHRpb25zIG9wdGlvbnMgPSB7fSk7CiB9OwogCiBkaWN0aW9u
YXJ5IFdvcmtsZXRPcHRpb25zIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL2lkbGhhcm5lc3Mud2lu
ZG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL2lkbGhhcm5lc3Mud2luZG93LWV4cGVjdGVkLnR4
dAppbmRleCBkYjQxMDdjMjEzYmFkN2Y5MGE0NzhjMTgwZmI0MzZmNzQ2OTMxYjY3Li5jYTRiMDU1
NjgwYzhkZGRmNzliZTdlMTg4MTI1ODk1NDQ1ZGM3ZWNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9p
ZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvaWRsaGFybmVzcy53
aW5kb3ctZXhwZWN0ZWQudHh0CkBAIC00LDcgKzQsNyBAQCBQQVNTIGlkbF90ZXN0IHZhbGlkYXRp
b24KIFBBU1MgRWxlbWVudCBpbmNsdWRlcyBQYXJlbnROb2RlOiBtZW1iZXIgbmFtZXMgYXJlIHVu
aXF1ZSAKIFBBU1MgRWxlbWVudCBpbmNsdWRlcyBOb25Eb2N1bWVudFR5cGVDaGlsZE5vZGU6IG1l
bWJlciBuYW1lcyBhcmUgdW5pcXVlIAogUEFTUyBFbGVtZW50IGluY2x1ZGVzIENoaWxkTm9kZTog
bWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCi1QQVNTIEVsZW1lbnQgaW5jbHVkZXMgU2xvdGFibGU6
IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAorUEFTUyBFbGVtZW50IGluY2x1ZGVzIFNsb3R0YWJs
ZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNTIEludGVyc2VjdGlvbk9ic2VydmVyIGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCiBQ
QVNTIEludGVyc2VjdGlvbk9ic2VydmVyIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAogUEFTUyBJ
bnRlcnNlY3Rpb25PYnNlcnZlciBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21hdGhtbC9yZWxhdGlv
bnMvaHRtbDUtdHJlZS9tYXRoLWdsb2JhbC1ldmVudC1oYW5kbGVycy50ZW50YXRpdmUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tYXRo
bWwvcmVsYXRpb25zL2h0bWw1LXRyZWUvbWF0aC1nbG9iYWwtZXZlbnQtaGFuZGxlcnMudGVudGF0
aXZlLWV4cGVjdGVkLnR4dAppbmRleCA4OGRkMDc1YWU1MmM2ZTI0ZWQ2YmQwNDBiZTYxMTdjOGRh
MDhmZjNhLi5kYTI4MDZkMjI1YTFiOTY3Y2M0MDlhZmFhY2IxNzI3NzQ5NzQxMDA2IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21hdGhtbC9y
ZWxhdGlvbnMvaHRtbDUtdHJlZS9tYXRoLWdsb2JhbC1ldmVudC1oYW5kbGVycy50ZW50YXRpdmUt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvbWF0aG1sL3JlbGF0aW9ucy9odG1sNS10cmVlL21hdGgtZ2xvYmFsLWV2ZW50LWhhbmRs
ZXJzLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKQEAgLTIwNCwxMSArMjA0LDYgQEAgUEFTUyBvbm1v
dXNldXA6IHRoZSBkZWZhdWx0IHZhbHVlIG11c3QgYmUgbnVsbAogUEFTUyBvbm1vdXNldXA6IHRo
ZSBjb250ZW50IGF0dHJpYnV0ZSBtdXN0IGJlIGNvbXBpbGVkIGludG8gYSBmdW5jdGlvbiBhcyB0
aGUgY29ycmVzcG9uZGluZyBwcm9wZXJ0eSAKIFBBU1Mgb25tb3VzZXVwOiBkeW5hbWljIGNoYW5n
ZXMgb24gdGhlIGF0dHJpYnV0ZSAKIFBBU1Mgb25tb3VzZXVwOiBkaXNwYXRjaGluZyBhbiBFdmVu
dCBhdCBhIDxtYXRoPiBlbGVtZW50IG11c3QgdHJpZ2dlciBlbGVtZW50Lm9ubW91c2V1cCAKLVBB
U1Mgb253aGVlbDogbXVzdCBiZSBvbiB0aGUgYXBwcm9wcmlhdGUgbG9jYXRpb25zIGZvciBHbG9i
YWxFdmVudEhhbmRsZXJzIAotUEFTUyBvbndoZWVsOiB0aGUgZGVmYXVsdCB2YWx1ZSBtdXN0IGJl
IG51bGwgCi1QQVNTIG9ud2hlZWw6IHRoZSBjb250ZW50IGF0dHJpYnV0ZSBtdXN0IGJlIGNvbXBp
bGVkIGludG8gYSBmdW5jdGlvbiBhcyB0aGUgY29ycmVzcG9uZGluZyBwcm9wZXJ0eSAKLVBBU1Mg
b253aGVlbDogZHluYW1pYyBjaGFuZ2VzIG9uIHRoZSBhdHRyaWJ1dGUgCi1QQVNTIG9ud2hlZWw6
IGRpc3BhdGNoaW5nIGFuIEV2ZW50IGF0IGEgPG1hdGg+IGVsZW1lbnQgbXVzdCB0cmlnZ2VyIGVs
ZW1lbnQub253aGVlbCAKIFBBU1Mgb25wYXVzZTogbXVzdCBiZSBvbiB0aGUgYXBwcm9wcmlhdGUg
bG9jYXRpb25zIGZvciBHbG9iYWxFdmVudEhhbmRsZXJzIAogUEFTUyBvbnBhdXNlOiB0aGUgZGVm
YXVsdCB2YWx1ZSBtdXN0IGJlIG51bGwgCiBQQVNTIG9ucGF1c2U6IHRoZSBjb250ZW50IGF0dHJp
YnV0ZSBtdXN0IGJlIGNvbXBpbGVkIGludG8gYSBmdW5jdGlvbiBhcyB0aGUgY29ycmVzcG9uZGlu
ZyBwcm9wZXJ0eSAKQEAgLTMwOSw0ICszMDQsMjkgQEAgUEFTUyBvbndhaXRpbmc6IHRoZSBkZWZh
dWx0IHZhbHVlIG11c3QgYmUgbnVsbAogUEFTUyBvbndhaXRpbmc6IHRoZSBjb250ZW50IGF0dHJp
YnV0ZSBtdXN0IGJlIGNvbXBpbGVkIGludG8gYSBmdW5jdGlvbiBhcyB0aGUgY29ycmVzcG9uZGlu
ZyBwcm9wZXJ0eSAKIFBBU1Mgb253YWl0aW5nOiBkeW5hbWljIGNoYW5nZXMgb24gdGhlIGF0dHJp
YnV0ZSAKIFBBU1Mgb253YWl0aW5nOiBkaXNwYXRjaGluZyBhbiBFdmVudCBhdCBhIDxtYXRoPiBl
bGVtZW50IG11c3QgdHJpZ2dlciBlbGVtZW50Lm9ud2FpdGluZyAKK0ZBSUwgb253ZWJraXRhbmlt
YXRpb25lbmQ6IG11c3QgYmUgb24gdGhlIGFwcHJvcHJpYXRlIGxvY2F0aW9ucyBmb3IgR2xvYmFs
RXZlbnRIYW5kbGVycyBhc3NlcnRfZmFsc2U6IEVsZW1lbnQucHJvdG90eXBlIG11c3Qgbm90IGNv
bnRhaW4gYSAib253ZWJraXRhbmltYXRpb25lbmQiIHByb3BlcnR5IGV4cGVjdGVkIGZhbHNlIGdv
dCB0cnVlCitQQVNTIG9ud2Via2l0YW5pbWF0aW9uZW5kOiB0aGUgZGVmYXVsdCB2YWx1ZSBtdXN0
IGJlIG51bGwgCitQQVNTIG9ud2Via2l0YW5pbWF0aW9uZW5kOiB0aGUgY29udGVudCBhdHRyaWJ1
dGUgbXVzdCBiZSBjb21waWxlZCBpbnRvIGEgZnVuY3Rpb24gYXMgdGhlIGNvcnJlc3BvbmRpbmcg
cHJvcGVydHkgCitQQVNTIG9ud2Via2l0YW5pbWF0aW9uZW5kOiBkeW5hbWljIGNoYW5nZXMgb24g
dGhlIGF0dHJpYnV0ZSAKK0ZBSUwgb253ZWJraXRhbmltYXRpb25lbmQ6IGRpc3BhdGNoaW5nIGFu
IEV2ZW50IGF0IGEgPG1hdGg+IGVsZW1lbnQgbXVzdCB0cmlnZ2VyIGVsZW1lbnQub253ZWJraXRh
bmltYXRpb25lbmQgYXNzZXJ0X2VxdWFsczogVGhlIGV2ZW50IG11c3QgYmUgZmlyZWQgYXQgdGhl
IDxtYXRoPiBlbGVtZW50IGV4cGVjdGVkIChvYmplY3QpIEVsZW1lbnQgbm9kZSA8bWF0aD48L21h
dGg+IGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCitGQUlMIG9ud2Via2l0YW5pbWF0aW9u
aXRlcmF0aW9uOiBtdXN0IGJlIG9uIHRoZSBhcHByb3ByaWF0ZSBsb2NhdGlvbnMgZm9yIEdsb2Jh
bEV2ZW50SGFuZGxlcnMgYXNzZXJ0X2ZhbHNlOiBFbGVtZW50LnByb3RvdHlwZSBtdXN0IG5vdCBj
b250YWluIGEgIm9ud2Via2l0YW5pbWF0aW9uaXRlcmF0aW9uIiBwcm9wZXJ0eSBleHBlY3RlZCBm
YWxzZSBnb3QgdHJ1ZQorUEFTUyBvbndlYmtpdGFuaW1hdGlvbml0ZXJhdGlvbjogdGhlIGRlZmF1
bHQgdmFsdWUgbXVzdCBiZSBudWxsIAorUEFTUyBvbndlYmtpdGFuaW1hdGlvbml0ZXJhdGlvbjog
dGhlIGNvbnRlbnQgYXR0cmlidXRlIG11c3QgYmUgY29tcGlsZWQgaW50byBhIGZ1bmN0aW9uIGFz
IHRoZSBjb3JyZXNwb25kaW5nIHByb3BlcnR5IAorUEFTUyBvbndlYmtpdGFuaW1hdGlvbml0ZXJh
dGlvbjogZHluYW1pYyBjaGFuZ2VzIG9uIHRoZSBhdHRyaWJ1dGUgCitGQUlMIG9ud2Via2l0YW5p
bWF0aW9uaXRlcmF0aW9uOiBkaXNwYXRjaGluZyBhbiBFdmVudCBhdCBhIDxtYXRoPiBlbGVtZW50
IG11c3QgdHJpZ2dlciBlbGVtZW50Lm9ud2Via2l0YW5pbWF0aW9uaXRlcmF0aW9uIGFzc2VydF9l
cXVhbHM6IFRoZSBldmVudCBtdXN0IGJlIGZpcmVkIGF0IHRoZSA8bWF0aD4gZWxlbWVudCBleHBl
Y3RlZCAob2JqZWN0KSBFbGVtZW50IG5vZGUgPG1hdGg+PC9tYXRoPiBidXQgZ290ICh1bmRlZmlu
ZWQpIHVuZGVmaW5lZAorRkFJTCBvbndlYmtpdGFuaW1hdGlvbnN0YXJ0OiBtdXN0IGJlIG9uIHRo
ZSBhcHByb3ByaWF0ZSBsb2NhdGlvbnMgZm9yIEdsb2JhbEV2ZW50SGFuZGxlcnMgYXNzZXJ0X2Zh
bHNlOiBFbGVtZW50LnByb3RvdHlwZSBtdXN0IG5vdCBjb250YWluIGEgIm9ud2Via2l0YW5pbWF0
aW9uc3RhcnQiIHByb3BlcnR5IGV4cGVjdGVkIGZhbHNlIGdvdCB0cnVlCitQQVNTIG9ud2Via2l0
YW5pbWF0aW9uc3RhcnQ6IHRoZSBkZWZhdWx0IHZhbHVlIG11c3QgYmUgbnVsbCAKK1BBU1Mgb253
ZWJraXRhbmltYXRpb25zdGFydDogdGhlIGNvbnRlbnQgYXR0cmlidXRlIG11c3QgYmUgY29tcGls
ZWQgaW50byBhIGZ1bmN0aW9uIGFzIHRoZSBjb3JyZXNwb25kaW5nIHByb3BlcnR5IAorUEFTUyBv
bndlYmtpdGFuaW1hdGlvbnN0YXJ0OiBkeW5hbWljIGNoYW5nZXMgb24gdGhlIGF0dHJpYnV0ZSAK
K0ZBSUwgb253ZWJraXRhbmltYXRpb25zdGFydDogZGlzcGF0Y2hpbmcgYW4gRXZlbnQgYXQgYSA8
bWF0aD4gZWxlbWVudCBtdXN0IHRyaWdnZXIgZWxlbWVudC5vbndlYmtpdGFuaW1hdGlvbnN0YXJ0
IGFzc2VydF9lcXVhbHM6IFRoZSBldmVudCBtdXN0IGJlIGZpcmVkIGF0IHRoZSA8bWF0aD4gZWxl
bWVudCBleHBlY3RlZCAob2JqZWN0KSBFbGVtZW50IG5vZGUgPG1hdGg+PC9tYXRoPiBidXQgZ290
ICh1bmRlZmluZWQpIHVuZGVmaW5lZAorRkFJTCBvbndlYmtpdHRyYW5zaXRpb25lbmQ6IG11c3Qg
YmUgb24gdGhlIGFwcHJvcHJpYXRlIGxvY2F0aW9ucyBmb3IgR2xvYmFsRXZlbnRIYW5kbGVycyBh
c3NlcnRfZmFsc2U6IEVsZW1lbnQucHJvdG90eXBlIG11c3Qgbm90IGNvbnRhaW4gYSAib253ZWJr
aXR0cmFuc2l0aW9uZW5kIiBwcm9wZXJ0eSBleHBlY3RlZCBmYWxzZSBnb3QgdHJ1ZQorUEFTUyBv
bndlYmtpdHRyYW5zaXRpb25lbmQ6IHRoZSBkZWZhdWx0IHZhbHVlIG11c3QgYmUgbnVsbCAKK1BB
U1Mgb253ZWJraXR0cmFuc2l0aW9uZW5kOiB0aGUgY29udGVudCBhdHRyaWJ1dGUgbXVzdCBiZSBj
b21waWxlZCBpbnRvIGEgZnVuY3Rpb24gYXMgdGhlIGNvcnJlc3BvbmRpbmcgcHJvcGVydHkgCitQ
QVNTIG9ud2Via2l0dHJhbnNpdGlvbmVuZDogZHluYW1pYyBjaGFuZ2VzIG9uIHRoZSBhdHRyaWJ1
dGUgCitGQUlMIG9ud2Via2l0dHJhbnNpdGlvbmVuZDogZGlzcGF0Y2hpbmcgYW4gRXZlbnQgYXQg
YSA8bWF0aD4gZWxlbWVudCBtdXN0IHRyaWdnZXIgZWxlbWVudC5vbndlYmtpdHRyYW5zaXRpb25l
bmQgYXNzZXJ0X2VxdWFsczogVGhlIGV2ZW50IG11c3QgYmUgZmlyZWQgYXQgdGhlIDxtYXRoPiBl
bGVtZW50IGV4cGVjdGVkIChvYmplY3QpIEVsZW1lbnQgbm9kZSA8bWF0aD48L21hdGg+IGJ1dCBn
b3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCitQQVNTIG9ud2hlZWw6IG11c3QgYmUgb24gdGhlIGFw
cHJvcHJpYXRlIGxvY2F0aW9ucyBmb3IgR2xvYmFsRXZlbnRIYW5kbGVycyAKK1BBU1Mgb253aGVl
bDogdGhlIGRlZmF1bHQgdmFsdWUgbXVzdCBiZSBudWxsIAorUEFTUyBvbndoZWVsOiB0aGUgY29u
dGVudCBhdHRyaWJ1dGUgbXVzdCBiZSBjb21waWxlZCBpbnRvIGEgZnVuY3Rpb24gYXMgdGhlIGNv
cnJlc3BvbmRpbmcgcHJvcGVydHkgCitQQVNTIG9ud2hlZWw6IGR5bmFtaWMgY2hhbmdlcyBvbiB0
aGUgYXR0cmlidXRlIAorUEFTUyBvbndoZWVsOiBkaXNwYXRjaGluZyBhbiBFdmVudCBhdCBhIDxt
YXRoPiBlbGVtZW50IG11c3QgdHJpZ2dlciBlbGVtZW50Lm9ud2hlZWwgCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJl
LXJlY29yZC9pZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcmQvaWRsaGFybmVz
cy53aW5kb3ctZXhwZWN0ZWQudHh0CmluZGV4IDk3YWExZTI1NTZjMDMzYzJjNWUzMmMzNjg1ODcy
MjAxODdlNGY4MGUuLmY4ZWI5NTZhZTFhMTY2MzZmMjc5NzhiZjg3NjY2YmZjODg1NDQyMTMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVk
aWFjYXB0dXJlLXJlY29yZC9pZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVj
b3JkL2lkbGhhcm5lc3Mud2luZG93LWV4cGVjdGVkLnR4dApAQCAtMTgsNiArMTgsNyBAQCBGQUlM
IE1lZGlhUmVjb3JkZXIgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25yZXN1bWUgYXNzZXJ0X3RydWU6
IFRoZSBwcm90b3R5cGUgb2JqZQogUEFTUyBNZWRpYVJlY29yZGVyIGludGVyZmFjZTogYXR0cmli
dXRlIG9uZXJyb3IgCiBGQUlMIE1lZGlhUmVjb3JkZXIgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgdmlk
ZW9CaXRzUGVyU2Vjb25kIGFzc2VydF90cnVlOiBUaGUgcHJvdG90eXBlIG9iamVjdCBtdXN0IGhh
dmUgYSBwcm9wZXJ0eSAidmlkZW9CaXRzUGVyU2Vjb25kIiBleHBlY3RlZCB0cnVlIGdvdCBmYWxz
ZQogRkFJTCBNZWRpYVJlY29yZGVyIGludGVyZmFjZTogYXR0cmlidXRlIGF1ZGlvQml0c1BlclNl
Y29uZCBhc3NlcnRfdHJ1ZTogVGhlIHByb3RvdHlwZSBvYmplY3QgbXVzdCBoYXZlIGEgcHJvcGVy
dHkgImF1ZGlvQml0c1BlclNlY29uZCIgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgTWVk
aWFSZWNvcmRlciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBhdWRpb0JpdHJhdGVNb2RlIGFzc2VydF90
cnVlOiBUaGUgcHJvdG90eXBlIG9iamVjdCBtdXN0IGhhdmUgYSBwcm9wZXJ0eSAiYXVkaW9CaXRy
YXRlTW9kZSIgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKIFBBU1MgTWVkaWFSZWNvcmRlciBpbnRl
cmZhY2U6IG9wZXJhdGlvbiBzdGFydChvcHRpb25hbCB1bnNpZ25lZCBsb25nKSAKIFBBU1MgTWVk
aWFSZWNvcmRlciBpbnRlcmZhY2U6IG9wZXJhdGlvbiBzdG9wKCkgCiBGQUlMIE1lZGlhUmVjb3Jk
ZXIgaW50ZXJmYWNlOiBvcGVyYXRpb24gcGF1c2UoKSBhc3NlcnRfb3duX3Byb3BlcnR5OiBpbnRl
cmZhY2UgcHJvdG90eXBlIG9iamVjdCBtaXNzaW5nIG5vbi1zdGF0aWMgb3BlcmF0aW9uIGV4cGVj
dGVkIHByb3BlcnR5ICJwYXVzZSIgbWlzc2luZwpAQCAtMzcsNiArMzgsNyBAQCBGQUlMIE1lZGlh
UmVjb3JkZXIgaW50ZXJmYWNlOiBbb2JqZWN0IE1lZGlhUmVjb3JkZXJdIG11c3QgaW5oZXJpdCBw
cm9wZXJ0eSAib25yZQogUEFTUyBNZWRpYVJlY29yZGVyIGludGVyZmFjZTogW29iamVjdCBNZWRp
YVJlY29yZGVyXSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9uZXJyb3IiIHdpdGggdGhlIHByb3Bl
ciB0eXBlIAogRkFJTCBNZWRpYVJlY29yZGVyIGludGVyZmFjZTogW29iamVjdCBNZWRpYVJlY29y
ZGVyXSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInZpZGVvQml0c1BlclNlY29uZCIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAidmlkZW9CaXRzUGVyU2Vjb25k
IiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCiBGQUlMIE1lZGlhUmVjb3JkZXIgaW50ZXJm
YWNlOiBbb2JqZWN0IE1lZGlhUmVjb3JkZXJdIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiYXVkaW9C
aXRzUGVyU2Vjb25kIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfaW5oZXJpdHM6IHByb3Bl
cnR5ICJhdWRpb0JpdHNQZXJTZWNvbmQiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KK0ZB
SUwgTWVkaWFSZWNvcmRlciBpbnRlcmZhY2U6IFtvYmplY3QgTWVkaWFSZWNvcmRlcl0gbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJhdWRpb0JpdHJhdGVNb2RlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBh
c3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJhdWRpb0JpdHJhdGVNb2RlIiBub3QgZm91bmQgaW4g
cHJvdG90eXBlIGNoYWluCiBQQVNTIE1lZGlhUmVjb3JkZXIgaW50ZXJmYWNlOiBbb2JqZWN0IE1l
ZGlhUmVjb3JkZXJdIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAic3RhcnQob3B0aW9uYWwgdW5zaWdu
ZWQgbG9uZykiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBNZWRpYVJlY29yZGVyIGludGVy
ZmFjZTogY2FsbGluZyBzdGFydChvcHRpb25hbCB1bnNpZ25lZCBsb25nKSBvbiBbb2JqZWN0IE1l
ZGlhUmVjb3JkZXJdIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3Ig
CiBQQVNTIE1lZGlhUmVjb3JkZXIgaW50ZXJmYWNlOiBbb2JqZWN0IE1lZGlhUmVjb3JkZXJdIG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAic3RvcCgpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbXN0LWNv
bnRlbnQtaGludC9pZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21zdC1jb250ZW50LWhpbnQvaWRsaGFybmVz
cy53aW5kb3ctZXhwZWN0ZWQudHh0CmluZGV4IGI0NjU4MjdkMWIxY2UxZjEzODUyZTVkZjQ1Yzdj
MmI4MWRjYjczOGEuLjg5ZGM5YWY4NDYxMTUxZTBkZWE2MzViNzM3MDBmMzU1NjkzMTQxYWIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbXN0
LWNvbnRlbnQtaGludC9pZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tc3QtY29udGVudC1oaW50L2lk
bGhhcm5lc3Mud2luZG93LWV4cGVjdGVkLnR4dApAQCAtMyw2ICszLDcgQEAgUEFTUyBpZGxfdGVz
dCBzZXR1cAogUEFTUyBpZGxfdGVzdCB2YWxpZGF0aW9uIAogUEFTUyBQYXJ0aWFsIGludGVyZmFj
ZSBNZWRpYVN0cmVhbVRyYWNrOiBvcmlnaW5hbCBpbnRlcmZhY2UgZGVmaW5lZCAKIFBBU1MgUGFy
dGlhbCBpbnRlcmZhY2UgTWVkaWFTdHJlYW1UcmFjazogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUg
CitGQUlMIFBhcnRpYWwgZGljdGlvbmFyeSBSVENSdHBTZW5kUGFyYW1ldGVyczogb3JpZ2luYWwg
ZGljdGlvbmFyeSBkZWZpbmVkIGFzc2VydF90cnVlOiBPcmlnaW5hbCBkaWN0aW9uYXJ5IHNob3Vs
ZCBiZSBkZWZpbmVkIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCiBQQVNTIE1lZGlhU3RyZWFtVHJh
Y2sgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgY29udGVudEhpbnQgCiBQQVNTIE1lZGlhU3RyZWFtVHJh
Y2sgaW50ZXJmYWNlOiBhdWRpb1RyYWNrIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiY29udGVudEhp
bnQiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBNZWRpYVN0cmVhbVRyYWNrIGludGVyZmFj
ZTogdmlkZW9UcmFjayBtdXN0IGluaGVyaXQgcHJvcGVydHkgImNvbnRlbnRIaW50IiB3aXRoIHRo
ZSBwcm9wZXIgdHlwZSAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVtb3RlLXBsYXliYWNrL2lkbGhhcm5lc3Mud2luZG93LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVtb3Rl
LXBsYXliYWNrL2lkbGhhcm5lc3Mud2luZG93LWV4cGVjdGVkLnR4dAppbmRleCAyYmZhZTM3ZTIy
OTFhZDlkNDYxOTQ4MjI4MDU1MTFkYWU4MGQ1NzcxLi42OWY5NmJiNGYzOWEwZTEzZDRjOGVmYmRh
NTUyYzA2MTk0NTQwYjJlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3JlbW90ZS1wbGF5YmFjay9pZGxoYXJuZXNzLndpbmRvdy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZW1vdGUtcGxheWJhY2svaWRsaGFybmVzcy53aW5kb3ctZXhwZWN0ZWQudHh0CkBAIC0xMCw3ICsx
MCw3IEBAIFBBU1MgSFRNTEVsZW1lbnQgaW5jbHVkZXMgSFRNTE9yU1ZHRWxlbWVudDogbWVtYmVy
IG5hbWVzIGFyZSB1bmlxdWUKIFBBU1MgRWxlbWVudCBpbmNsdWRlcyBQYXJlbnROb2RlOiBtZW1i
ZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgRWxlbWVudCBpbmNsdWRlcyBOb25Eb2N1bWVudFR5
cGVDaGlsZE5vZGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAogUEFTUyBFbGVtZW50IGluY2x1
ZGVzIENoaWxkTm9kZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCi1QQVNTIEVsZW1lbnQgaW5j
bHVkZXMgU2xvdGFibGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAorUEFTUyBFbGVtZW50IGlu
Y2x1ZGVzIFNsb3R0YWJsZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNTIFJlbW90ZVBs
YXliYWNrIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBv
YmplY3QgCiBQQVNTIFJlbW90ZVBsYXliYWNrIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAogUEFT
UyBSZW1vdGVQbGF5YmFjayBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9p
ZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9pZGxoYXJuZXNzLndpbmRvdy1leHBl
Y3RlZC50eHQKaW5kZXggZmI0ZjU3OTZkZjRhOTAyNjE2NTFmOGI4ZmZjZjdiZjY5OTgxNWY0Ny4u
NzRiYzJlZDViYjQ4MTY0N2VmYzFiYWQyMGJhNjU3ZDAzNmEzOGQzMCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIv
aWRsaGFybmVzcy53aW5kb3ctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2lkbGhhcm5lc3Mud2luZG93
LWV4cGVjdGVkLnR4dApAQCAtNSw3ICs1LDcgQEAgUEFTUyBSZXNpemVPYnNlcnZlckVudHJ5IGNy
ZWF0b3IKIFBBU1MgRWxlbWVudCBpbmNsdWRlcyBQYXJlbnROb2RlOiBtZW1iZXIgbmFtZXMgYXJl
IHVuaXF1ZSAKIFBBU1MgRWxlbWVudCBpbmNsdWRlcyBOb25Eb2N1bWVudFR5cGVDaGlsZE5vZGU6
IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAogUEFTUyBFbGVtZW50IGluY2x1ZGVzIENoaWxkTm9k
ZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCi1QQVNTIEVsZW1lbnQgaW5jbHVkZXMgU2xvdGFi
bGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAorUEFTUyBFbGVtZW50IGluY2x1ZGVzIFNsb3R0
YWJsZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNTIFJlc2l6ZU9ic2VydmVyIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCiBQQVNT
IFJlc2l6ZU9ic2VydmVyIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAogUEFTUyBSZXNpemVPYnNl
cnZlciBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N2Zy9pZGxoYXJuZXNzLndpbmRvdy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N2Zy9p
ZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQKaW5kZXggNmJkY2NiYzdmZGVhN2IxOGVkMzA1
ZjE0YzMxYzY3ZTc4ZTUzZWQ0Yi4uYTMyM2E4ZDVjNDVmOTc5YjUwMWQ0Y2I5N2U4MTk1ZWIzMWI0
MGJmOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zdmcvaWRsaGFybmVzcy53aW5kb3ctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3ZnL2lkbGhhcm5lc3Mud2luZG93LWV4
cGVjdGVkLnR4dApAQCAtMzMsNyArMzMsNyBAQCBQQVNTIEVsZW1lbnQgaW5jbHVkZXMgQW5pbWF0
YWJsZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKIFBBU1MgRWxlbWVudCBpbmNsdWRlcyBQYXJl
bnROb2RlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgRWxlbWVudCBpbmNsdWRlcyBO
b25Eb2N1bWVudFR5cGVDaGlsZE5vZGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAogUEFTUyBF
bGVtZW50IGluY2x1ZGVzIENoaWxkTm9kZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCi1QQVNT
IEVsZW1lbnQgaW5jbHVkZXMgU2xvdGFibGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAorUEFT
UyBFbGVtZW50IGluY2x1ZGVzIFNsb3R0YWJsZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCiBQ
QVNTIERvY3VtZW50IGluY2x1ZGVzIEdsb2JhbEV2ZW50SGFuZGxlcnM6IG1lbWJlciBuYW1lcyBh
cmUgdW5pcXVlIAogUEFTUyBEb2N1bWVudCBpbmNsdWRlcyBEb2N1bWVudEFuZEVsZW1lbnRFdmVu
dEhhbmRsZXJzOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgRG9jdW1lbnQgaW5jbHVk
ZXMgTm9uRWxlbWVudFBhcmVudE5vZGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWItYW5p
bWF0aW9ucy9pZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYi1hbmltYXRpb25zL2lkbGhhcm5lc3Mud2lu
ZG93LWV4cGVjdGVkLnR4dAppbmRleCA2OTUxMTA2NTA3MzZhOTlmZTEwYjg2ZDFkMjQ5NGY4Y2Yw
YjU5ZGNiLi4yMGIwYzEwYTQwYTViODkyMzg5MWEwYWFjYWYxMjQ5MWUwOTBiNDRhIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYi1hbmlt
YXRpb25zL2lkbGhhcm5lc3Mud2luZG93LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYi1hbmltYXRpb25zL2lkbGhhcm5lc3Mu
d2luZG93LWV4cGVjdGVkLnR4dApAQCAtMTEsNyArMTEsNyBAQCBQQVNTIEVsZW1lbnQgaW5jbHVk
ZXMgQW5pbWF0YWJsZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKIFBBU1MgRWxlbWVudCBpbmNs
dWRlcyBQYXJlbnROb2RlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgRWxlbWVudCBp
bmNsdWRlcyBOb25Eb2N1bWVudFR5cGVDaGlsZE5vZGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVl
IAogUEFTUyBFbGVtZW50IGluY2x1ZGVzIENoaWxkTm9kZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlx
dWUgCi1QQVNTIEVsZW1lbnQgaW5jbHVkZXMgU2xvdGFibGU6IG1lbWJlciBuYW1lcyBhcmUgdW5p
cXVlIAorUEFTUyBFbGVtZW50IGluY2x1ZGVzIFNsb3R0YWJsZTogbWVtYmVyIG5hbWVzIGFyZSB1
bmlxdWUgCiBQQVNTIERvY3VtZW50IGluY2x1ZGVzIE5vbkVsZW1lbnRQYXJlbnROb2RlOiBtZW1i
ZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgRG9jdW1lbnQgaW5jbHVkZXMgRG9jdW1lbnRPclNo
YWRvd1Jvb3Q6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAogUEFTUyBEb2N1bWVudCBpbmNsdWRl
cyBQYXJlbnROb2RlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKQEAgLTI4LDYgKzI4LDcgQEAg
UEFTUyBBbmltYXRpb25UaW1lbGluZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2UgcHJvdG90eXAKIFBBU1MgQW5pbWF0aW9uVGltZWxpbmUgaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3Qn
cyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAogUEFTUyBBbmltYXRpb25UaW1lbGluZSBpbnRlcmZh
Y2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVj
dCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgCiBQQVNTIEFuaW1hdGlvblRpbWVsaW5lIGludGVy
ZmFjZTogYXR0cmlidXRlIGN1cnJlbnRUaW1lIAorRkFJTCBBbmltYXRpb25UaW1lbGluZSBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSBwaGFzZSBhc3NlcnRfdHJ1ZTogVGhlIHByb3RvdHlwZSBvYmplY3Qg
bXVzdCBoYXZlIGEgcHJvcGVydHkgInBoYXNlIiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQogUEFT
UyBEb2N1bWVudFRpbWVsaW5lIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBvYmplY3QgCiBQQVNTIERvY3VtZW50VGltZWxpbmUgaW50ZXJmYWNlIG9iamVj
dCBsZW5ndGggCiBQQVNTIERvY3VtZW50VGltZWxpbmUgaW50ZXJmYWNlIG9iamVjdCBuYW1lIApA
QCAtMzcsNiArMzgsNyBAQCBQQVNTIERvY3VtZW50VGltZWxpbmUgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZQogUEFTUyBEb2N1bWVudFRp
bWVsaW5lIG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgZG9jdW1lbnQudGltZWxpbmUgCiBQ
QVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBkb2N1bWVudC50aW1lbGluZSAKIFBBU1MgQW5pbWF0aW9u
VGltZWxpbmUgaW50ZXJmYWNlOiBkb2N1bWVudC50aW1lbGluZSBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgImN1cnJlbnRUaW1lIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK0ZBSUwgQW5pbWF0aW9uVGlt
ZWxpbmUgaW50ZXJmYWNlOiBkb2N1bWVudC50aW1lbGluZSBtdXN0IGluaGVyaXQgcHJvcGVydHkg
InBoYXNlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJw
aGFzZSIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgogUEFTUyBBbmltYXRpb24gaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKIFBBU1Mg
QW5pbWF0aW9uIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAogUEFTUyBBbmltYXRpb24gaW50ZXJm
YWNlIG9iamVjdCBuYW1lIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdr
Mi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvZG9tL2lkbGhhcm5lc3MuaHR0
cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvZG9tL2lkbGhhcm5lc3MuaHR0cHMtZXhwZWN0ZWQu
dHh0CmluZGV4IDM3YTA0ZjExMDAxNmMxNWU5YTc1ZWVjYjAzODY3ZGZhMjA3OGMxYzYuLmYzYWI3
ZjJiOGMyZmZhMDYyYzkxMjI0MjRjNGYwYmE3MDcxMjYxZGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2lvcy13azIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L2RvbS9pZGxoYXJuZXNzLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9pb3Mtd2syL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9kb20vaWRs
aGFybmVzcy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTE2OCw3ICsxNjgsNyBAQCBQQVNTIFNoYWRv
d1Jvb3QgaW5jbHVkZXMgRG9jdW1lbnRPclNoYWRvd1Jvb3Q6IG1lbWJlciBuYW1lcyBhcmUgdW5p
cXVlCiBQQVNTIEVsZW1lbnQgaW5jbHVkZXMgUGFyZW50Tm9kZTogbWVtYmVyIG5hbWVzIGFyZSB1
bmlxdWUgCiBQQVNTIEVsZW1lbnQgaW5jbHVkZXMgTm9uRG9jdW1lbnRUeXBlQ2hpbGROb2RlOiBt
ZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgRWxlbWVudCBpbmNsdWRlcyBDaGlsZE5vZGU6
IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAotUEFTUyBFbGVtZW50IGluY2x1ZGVzIFNsb3RhYmxl
OiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKK1BBU1MgRWxlbWVudCBpbmNsdWRlcyBTbG90dGFi
bGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAogUEFTUyBIVE1MQWxsQ29sbGVjdGlvbiBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAogUEFT
UyBIVE1MQWxsQ29sbGVjdGlvbiBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKIFBBU1MgSFRNTEFs
bENvbGxlY3Rpb24gaW50ZXJmYWNlIG9iamVjdCBuYW1lIApAQCAtMjk4LDcgKzI5OCw2IEBAIFBB
U1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25tb3VzZW1vdmUKIFBBU1MgSFRN
TEVsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25tb3VzZW91dCAKIFBBU1MgSFRNTEVsZW1l
bnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25tb3VzZW92ZXIgCiBQQVNTIEhUTUxFbGVtZW50IGlu
dGVyZmFjZTogYXR0cmlidXRlIG9ubW91c2V1cCAKLUZBSUwgSFRNTEVsZW1lbnQgaW50ZXJmYWNl
OiBhdHRyaWJ1dGUgb253aGVlbCBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgc2hvdWxkIGJlIGVudW1l
cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKIFBBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNl
OiBhdHRyaWJ1dGUgb25wYXVzZSAKIFBBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgb25wbGF5IAogUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnBsYXlp
bmcgCkBAIC0zMTksNiArMzE4LDExIEBAIFBBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgb250aW1ldXBkYXRlCiBQQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRl
IG9udG9nZ2xlIAogUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnZvbHVt
ZWNoYW5nZSAKIFBBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253YWl0aW5n
IAorRkFJTCBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndlYmtpdGFuaW1hdGlv
bmVuZCBhc3NlcnRfb3duX3Byb3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0eSAib253ZWJraXRhbmlt
YXRpb25lbmQiIG1pc3NpbmcKK0ZBSUwgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
b253ZWJraXRhbmltYXRpb25pdGVyYXRpb24gYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQg
cHJvcGVydHkgIm9ud2Via2l0YW5pbWF0aW9uaXRlcmF0aW9uIiBtaXNzaW5nCitGQUlMIEhUTUxF
bGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ud2Via2l0YW5pbWF0aW9uc3RhcnQgYXNzZXJ0
X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgIm9ud2Via2l0YW5pbWF0aW9uc3RhcnQi
IG1pc3NpbmcKK0ZBSUwgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253ZWJraXR0
cmFuc2l0aW9uZW5kIGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVjdGVkIHByb3BlcnR5ICJvbndl
YmtpdHRyYW5zaXRpb25lbmQiIG1pc3NpbmcKK0ZBSUwgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgb253aGVlbCBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgc2hvdWxkIGJlIGVudW1lcmFi
bGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKIEZBSUwgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgb25jb3B5IGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVjdGVkIHByb3BlcnR5ICJv
bmNvcHkiIG1pc3NpbmcKIEZBSUwgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25j
dXQgYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgIm9uY3V0IiBtaXNzaW5n
CiBGQUlMIEhUTUxFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ucGFzdGUgYXNzZXJ0X293
bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgIm9ucGFzdGUiIG1pc3NpbmcKQEAgLTM4OSw3
ICszOTMsNiBAQCBQQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgibm9zY3JpcHQiKSBtdXN0IGluaGVyaXQgcHJvcAogUEFTUyBIVE1MRWxlbWVudCBpbnRl
cmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm5vc2NyaXB0IikgbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJvbm1vdXNlb3V0IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgSFRNTEVsZW1l
bnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJub3NjcmlwdCIpIG11c3QgaW5o
ZXJpdCBwcm9wZXJ0eSAib25tb3VzZW92ZXIiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBI
VE1MRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm5vc2NyaXB0Iikg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbm1vdXNldXAiIHdpdGggdGhlIHByb3BlciB0eXBlIAot
UEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm5vc2Ny
aXB0IikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndoZWVsIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSAKIFBBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJu
b3NjcmlwdCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25wYXVzZSIgd2l0aCB0aGUgcHJvcGVy
IHR5cGUgCiBQQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgibm9zY3JpcHQiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ucGxheSIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUgCiBQQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgibm9zY3JpcHQiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ucGxheWluZyIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgCkBAIC00MTAsNiArNDEzLDExIEBAIFBBU1MgSFRNTEVsZW1lbnQgaW50
ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJub3NjcmlwdCIpIG11c3QgaW5oZXJpdCBw
cm9wCiBQQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
bm9zY3JpcHQiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9udG9nZ2xlIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAKIFBBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJub3NjcmlwdCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib252b2x1bWVjaGFuZ2UiIHdp
dGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoIm5vc2NyaXB0IikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndhaXRp
bmciIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoIm5vc2NyaXB0IikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJv
bndlYmtpdGFuaW1hdGlvbmVuZCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIEhUTUxFbGVt
ZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibm9zY3JpcHQiKSBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgIm9ud2Via2l0YW5pbWF0aW9uaXRlcmF0aW9uIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAKK1BBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJub3NjcmlwdCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253ZWJraXRhbmltYXRpb25z
dGFydCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTog
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibm9zY3JpcHQiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkg
Im9ud2Via2l0dHJhbnNpdGlvbmVuZCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIEhUTUxF
bGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibm9zY3JpcHQiKSBtdXN0
IGluaGVyaXQgcHJvcGVydHkgIm9ud2hlZWwiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBI
VE1MRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm5vc2NyaXB0Iikg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbmNvcHkiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFT
UyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm5vc2NyaXB0
IikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbmN1dCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQ
QVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibm9zY3Jp
cHQiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ucGFzdGUiIHdpdGggdGhlIHByb3BlciB0eXBl
IApAQCAtODkwLDYgKzg5OCw3IEBAIFBBU1MgSFRNTEltYWdlRWxlbWVudCBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBjb21wbGV0ZQogUEFTUyBIVE1MSW1hZ2VFbGVtZW50IGludGVyZmFjZTogYXR0cmli
dXRlIGN1cnJlbnRTcmMgCiBQQVNTIEhUTUxJbWFnZUVsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgcmVmZXJyZXJQb2xpY3kgCiBQQVNTIEhUTUxJbWFnZUVsZW1lbnQgaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgZGVjb2RpbmcgCitGQUlMIEhUTUxJbWFnZUVsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgbG9hZGluZyBhc3NlcnRfdHJ1ZTogVGhlIHByb3RvdHlwZSBvYmplY3QgbXVzdCBoYXZlIGEg
cHJvcGVydHkgImxvYWRpbmciIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCiBQQVNTIEhUTUxJbWFn
ZUVsZW1lbnQgaW50ZXJmYWNlOiBvcGVyYXRpb24gZGVjb2RlKCkgCiBQQVNTIEhUTUxJbWFnZUVs
ZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbmFtZSAKIFBBU1MgSFRNTEltYWdlRWxlbWVudCBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBsb3dzcmMgCkBAIC05MTUsNiArOTI0LDcgQEAgUEFTUyBIVE1M
SW1hZ2VFbGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIikgbXVz
dCBpbmhlcml0IHByb3AKIFBBU1MgSFRNTEltYWdlRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImltZyIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiY3VycmVudFNyYyIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIEhUTUxJbWFnZUVsZW1lbnQgaW50ZXJmYWNlOiBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInJlZmVy
cmVyUG9saWN5IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgSFRNTEltYWdlRWxlbWVudCBp
bnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpIG11c3QgaW5oZXJpdCBwcm9w
ZXJ0eSAiZGVjb2RpbmciIHdpdGggdGhlIHByb3BlciB0eXBlIAorRkFJTCBIVE1MSW1hZ2VFbGVt
ZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIikgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJsb2FkaW5nIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfaW5oZXJpdHM6
IHByb3BlcnR5ICJsb2FkaW5nIiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCiBQQVNTIEhU
TUxJbWFnZUVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKSBt
dXN0IGluaGVyaXQgcHJvcGVydHkgImRlY29kZSgpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBB
U1MgSFRNTEltYWdlRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlt
ZyIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibmFtZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQ
QVNTIEhUTUxJbWFnZUVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJp
bWciKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImxvd3NyYyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUg
CkBAIC05NDAsNiArOTUwLDcgQEAgUEFTUyBIVE1MSW1hZ2VFbGVtZW50IGludGVyZmFjZTogbmV3
IEltYWdlKCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJjb21wbGV0ZSIgd2kKIFBBU1MgSFRNTElt
YWdlRWxlbWVudCBpbnRlcmZhY2U6IG5ldyBJbWFnZSgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAi
Y3VycmVudFNyYyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIEhUTUxJbWFnZUVsZW1lbnQg
aW50ZXJmYWNlOiBuZXcgSW1hZ2UoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgInJlZmVycmVyUG9s
aWN5IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgSFRNTEltYWdlRWxlbWVudCBpbnRlcmZh
Y2U6IG5ldyBJbWFnZSgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGVjb2RpbmciIHdpdGggdGhl
IHByb3BlciB0eXBlIAorRkFJTCBIVE1MSW1hZ2VFbGVtZW50IGludGVyZmFjZTogbmV3IEltYWdl
KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJsb2FkaW5nIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBh
c3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJsb2FkaW5nIiBub3QgZm91bmQgaW4gcHJvdG90eXBl
IGNoYWluCiBQQVNTIEhUTUxJbWFnZUVsZW1lbnQgaW50ZXJmYWNlOiBuZXcgSW1hZ2UoKSBtdXN0
IGluaGVyaXQgcHJvcGVydHkgImRlY29kZSgpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1Mg
SFRNTEltYWdlRWxlbWVudCBpbnRlcmZhY2U6IG5ldyBJbWFnZSgpIG11c3QgaW5oZXJpdCBwcm9w
ZXJ0eSAibmFtZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIEhUTUxJbWFnZUVsZW1lbnQg
aW50ZXJmYWNlOiBuZXcgSW1hZ2UoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImxvd3NyYyIgd2l0
aCB0aGUgcHJvcGVyIHR5cGUgCkBAIC00MjE4LDcgKzQyMjksNyBAQCBGQUlMIEVsZW1lbnRJbnRl
cm5hbHMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHBy
b3RvdHlwZQogRkFJTCBFbGVtZW50SW50ZXJuYWxzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBw
cm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3Bl
cnR5ICJFbGVtZW50SW50ZXJuYWxzIiBleHBlY3RlZCBwcm9wZXJ0eSAiRWxlbWVudEludGVybmFs
cyIgbWlzc2luZwogRkFJTCBFbGVtZW50SW50ZXJuYWxzIGludGVyZmFjZTogb3BlcmF0aW9uIHNl
dEZvcm1WYWx1ZSgoRmlsZSBvciBVU1ZTdHJpbmcgb3IgRm9ybURhdGEpPywgb3B0aW9uYWwgKEZp
bGUgb3IgVVNWU3RyaW5nIG9yIEZvcm1EYXRhKT8pIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYg
ZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkVsZW1lbnRJbnRlcm5hbHMiIGV4cGVjdGVkIHBy
b3BlcnR5ICJFbGVtZW50SW50ZXJuYWxzIiBtaXNzaW5nCiBGQUlMIEVsZW1lbnRJbnRlcm5hbHMg
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgZm9ybSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMg
bm90IGhhdmUgb3duIHByb3BlcnR5ICJFbGVtZW50SW50ZXJuYWxzIiBleHBlY3RlZCBwcm9wZXJ0
eSAiRWxlbWVudEludGVybmFscyIgbWlzc2luZwotRkFJTCBFbGVtZW50SW50ZXJuYWxzIGludGVy
ZmFjZTogb3BlcmF0aW9uIHNldFZhbGlkaXR5KFZhbGlkaXR5U3RhdGVGbGFncywgb3B0aW9uYWwg
RE9NU3RyaW5nLCBvcHRpb25hbCBIVE1MRWxlbWVudCkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2Vs
ZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiRWxlbWVudEludGVybmFscyIgZXhwZWN0ZWQg
cHJvcGVydHkgIkVsZW1lbnRJbnRlcm5hbHMiIG1pc3NpbmcKK0ZBSUwgRWxlbWVudEludGVybmFs
cyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBzZXRWYWxpZGl0eShvcHRpb25hbCBWYWxpZGl0eVN0YXRl
RmxhZ3MsIG9wdGlvbmFsIERPTVN0cmluZywgb3B0aW9uYWwgSFRNTEVsZW1lbnQpIGFzc2VydF9v
d25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkVsZW1lbnRJbnRl
cm5hbHMiIGV4cGVjdGVkIHByb3BlcnR5ICJFbGVtZW50SW50ZXJuYWxzIiBtaXNzaW5nCiBGQUlM
IEVsZW1lbnRJbnRlcm5hbHMgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgd2lsbFZhbGlkYXRlIGFzc2Vy
dF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkVsZW1lbnRJ
bnRlcm5hbHMiIGV4cGVjdGVkIHByb3BlcnR5ICJFbGVtZW50SW50ZXJuYWxzIiBtaXNzaW5nCiBG
QUlMIEVsZW1lbnRJbnRlcm5hbHMgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgdmFsaWRpdHkgYXNzZXJ0
X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiRWxlbWVudElu
dGVybmFscyIgZXhwZWN0ZWQgcHJvcGVydHkgIkVsZW1lbnRJbnRlcm5hbHMiIG1pc3NpbmcKIEZB
SUwgRWxlbWVudEludGVybmFscyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSB2YWxpZGF0aW9uTWVzc2Fn
ZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJF
bGVtZW50SW50ZXJuYWxzIiBleHBlY3RlZCBwcm9wZXJ0eSAiRWxlbWVudEludGVybmFscyIgbWlz
c2luZwpAQCAtNDM1Niw3ICs0MzY3LDYgQEAgUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgb25tb3VzZW1vdmUKIFBBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ubW91c2Vv
dXQgCiBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbm1vdXNlb3ZlciAKIFBBU1Mg
V2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ubW91c2V1cCAKLUZBSUwgV2luZG93IGludGVy
ZmFjZTogYXR0cmlidXRlIG9ud2hlZWwgYXNzZXJ0X3RydWU6IHByb3BlcnR5IHNob3VsZCBiZSBl
bnVtZXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCiBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBvbnBhdXNlIAogUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25w
bGF5IAogUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25wbGF5aW5nIApAQCAtNDM3
Nyw2ICs0Mzg3LDExIEBAIFBBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9udGltZXVw
ZGF0ZQogUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb250b2dnbGUgCiBQQVNTIFdp
bmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnZvbHVtZWNoYW5nZSAKIFBBU1MgV2luZG93IGlu
dGVyZmFjZTogYXR0cmlidXRlIG9ud2FpdGluZyAKK0ZBSUwgV2luZG93IGludGVyZmFjZTogYXR0
cmlidXRlIG9ud2Via2l0YW5pbWF0aW9uZW5kIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBzaG91bGQg
YmUgZW51bWVyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBXaW5kb3cgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgb253ZWJraXRhbmltYXRpb25pdGVyYXRpb24gYXNzZXJ0X3RydWU6IHBy
b3BlcnR5IHNob3VsZCBiZSBlbnVtZXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlM
IFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndlYmtpdGFuaW1hdGlvbnN0YXJ0IGFzc2Vy
dF90cnVlOiBwcm9wZXJ0eSBzaG91bGQgYmUgZW51bWVyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBm
YWxzZQorRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253ZWJraXR0cmFuc2l0aW9u
ZW5kIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBzaG91bGQgYmUgZW51bWVyYWJsZSBleHBlY3RlZCB0
cnVlIGdvdCBmYWxzZQorRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253aGVlbCBh
c3NlcnRfdHJ1ZTogcHJvcGVydHkgc2hvdWxkIGJlIGVudW1lcmFibGUgZXhwZWN0ZWQgdHJ1ZSBn
b3QgZmFsc2UKIFBBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uYWZ0ZXJwcmludCAK
IFBBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uYmVmb3JlcHJpbnQgCiBQQVNTIFdp
bmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmJlZm9yZXVubG9hZCAKQEAgLTQ1MDEsNyArNDUx
Niw2IEBAIFBBU1MgV2luZG93IGludGVyZmFjZTogd2luZG93IG11c3QgaW5oZXJpdCBwcm9wZXJ0
eSAib25tb3VzZW1vdmUiIHdpdGggdGhlIHByb3BlCiBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IHdp
bmRvdyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ubW91c2VvdXQiIHdpdGggdGhlIHByb3BlciB0
eXBlIAogUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiB3aW5kb3cgbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJvbm1vdXNlb3ZlciIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIFdpbmRvdyBpbnRlcmZh
Y2U6IHdpbmRvdyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ubW91c2V1cCIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUgCi1QQVNTIFdpbmRvdyBpbnRlcmZhY2U6IHdpbmRvdyBtdXN0IGluaGVyaXQgcHJv
cGVydHkgIm9ud2hlZWwiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBXaW5kb3cgaW50ZXJm
YWNlOiB3aW5kb3cgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnBhdXNlIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAKIFBBU1MgV2luZG93IGludGVyZmFjZTogd2luZG93IG11c3QgaW5oZXJpdCBwcm9w
ZXJ0eSAib25wbGF5IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgV2luZG93IGludGVyZmFj
ZTogd2luZG93IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25wbGF5aW5nIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAKQEAgLTQ1MjIsNiArNDUzNiwxMSBAQCBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IHdp
bmRvdyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9udGltZXVwZGF0ZSIgd2l0aCB0aGUgcHJvcAog
UEFTUyBXaW5kb3cgaW50ZXJmYWNlOiB3aW5kb3cgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnRv
Z2dsZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IHdpbmRv
dyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9udm9sdW1lY2hhbmdlIiB3aXRoIHRoZSBwcm9wZXIg
dHlwZSAKIFBBU1MgV2luZG93IGludGVyZmFjZTogd2luZG93IG11c3QgaW5oZXJpdCBwcm9wZXJ0
eSAib253YWl0aW5nIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgV2luZG93IGludGVyZmFj
ZTogd2luZG93IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253ZWJraXRhbmltYXRpb25lbmQiIHdp
dGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiB3aW5kb3cgbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJvbndlYmtpdGFuaW1hdGlvbml0ZXJhdGlvbiIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IHdpbmRvdyBtdXN0IGluaGVyaXQgcHJv
cGVydHkgIm9ud2Via2l0YW5pbWF0aW9uc3RhcnQiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFT
UyBXaW5kb3cgaW50ZXJmYWNlOiB3aW5kb3cgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndlYmtp
dHRyYW5zaXRpb25lbmQiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBXaW5kb3cgaW50ZXJm
YWNlOiB3aW5kb3cgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndoZWVsIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAKIFBBU1MgV2luZG93IGludGVyZmFjZTogd2luZG93IG11c3QgaW5oZXJpdCBwcm9w
ZXJ0eSAib25hZnRlcnByaW50IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgV2luZG93IGlu
dGVyZmFjZTogd2luZG93IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25iZWZvcmVwcmludCIgd2l0
aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IHdpbmRvdyBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgIm9uYmVmb3JldW5sb2FkIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKQEAg
LTQ3MjIsNiArNDc0MSwxMyBAQCBQQVNTIFByb21pc2VSZWplY3Rpb25FdmVudCBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdAogUEFTUyBQcm9taXNl
UmVqZWN0aW9uRXZlbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50
ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAogUEFTUyBQ
cm9taXNlUmVqZWN0aW9uRXZlbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgcHJvbWlzZSAKIFBBU1Mg
UHJvbWlzZVJlamVjdGlvbkV2ZW50IGludGVyZmFjZTogYXR0cmlidXRlIHJlYXNvbiAKK1BBU1Mg
RE9NUGFyc2VyIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFj
ZSBvYmplY3QgCitQQVNTIERPTVBhcnNlciBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKK1BBU1Mg
RE9NUGFyc2VyIGludGVyZmFjZSBvYmplY3QgbmFtZSAKK1BBU1MgRE9NUGFyc2VyIGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0
IAorUEFTUyBET01QYXJzZXIgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2Yg
aW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAorUEFT
UyBET01QYXJzZXIgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAorUEFTUyBET01Q
YXJzZXIgaW50ZXJmYWNlOiBvcGVyYXRpb24gcGFyc2VGcm9tU3RyaW5nKERPTVN0cmluZywgRE9N
UGFyc2VyU3VwcG9ydGVkVHlwZSkgCiBQQVNTIE5hdmlnYXRvciBpbnRlcmZhY2U6IGV4aXN0ZW5j
ZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAogUEFTUyBOYXZpZ2F0b3IgaW50
ZXJmYWNlIG9iamVjdCBsZW5ndGggCiBQQVNTIE5hdmlnYXRvciBpbnRlcmZhY2Ugb2JqZWN0IG5h
bWUgCkBAIC00NzQyLDcgKzQ3NjgsNyBAQCBGQUlMIE5hdmlnYXRvciBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBvc2NwdSBhc3NlcnRfdHJ1ZTogVGhlIHByb3RvdHlwZSBvYmplY3QgbXVzdAogUEFTUyBO
YXZpZ2F0b3IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbGFuZ3VhZ2UgCiBQQVNTIE5hdmlnYXRvciBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBsYW5ndWFnZXMgCiBQQVNTIE5hdmlnYXRvciBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBvbkxpbmUgCi1GQUlMIE5hdmlnYXRvciBpbnRlcmZhY2U6IG9wZXJhdGlvbiBy
ZWdpc3RlclByb3RvY29sSGFuZGxlcihET01TdHJpbmcsIFVTVlN0cmluZywgRE9NU3RyaW5nKSBh
c3NlcnRfb3duX3Byb3BlcnR5OiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBtaXNzaW5nIG5v
bi1zdGF0aWMgb3BlcmF0aW9uIGV4cGVjdGVkIHByb3BlcnR5ICJyZWdpc3RlclByb3RvY29sSGFu
ZGxlciIgbWlzc2luZworRkFJTCBOYXZpZ2F0b3IgaW50ZXJmYWNlOiBvcGVyYXRpb24gcmVnaXN0
ZXJQcm90b2NvbEhhbmRsZXIoRE9NU3RyaW5nLCBVU1ZTdHJpbmcpIGFzc2VydF9vd25fcHJvcGVy
dHk6IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IG1pc3Npbmcgbm9uLXN0YXRpYyBvcGVyYXRp
b24gZXhwZWN0ZWQgcHJvcGVydHkgInJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyIiBtaXNzaW5nCiBG
QUlMIE5hdmlnYXRvciBpbnRlcmZhY2U6IG9wZXJhdGlvbiB1bnJlZ2lzdGVyUHJvdG9jb2xIYW5k
bGVyKERPTVN0cmluZywgVVNWU3RyaW5nKSBhc3NlcnRfb3duX3Byb3BlcnR5OiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCBtaXNzaW5nIG5vbi1zdGF0aWMgb3BlcmF0aW9uIGV4cGVjdGVkIHBy
b3BlcnR5ICJ1bnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyIiBtaXNzaW5nCiBQQVNTIE5hdmlnYXRv
ciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBjb29raWVFbmFibGVkIAogUEFTUyBOYXZpZ2F0b3IgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgcGx1Z2lucyAKQEAgLTQ3NjUsOCArNDc5MSw4IEBAIEZBSUwgTmF2
aWdhdG9yIGludGVyZmFjZTogd2luZG93Lm5hdmlnYXRvciBtdXN0IGluaGVyaXQgcHJvcGVydHkg
Im9zY3B1IiB3aXRoIHRoCiBQQVNTIE5hdmlnYXRvciBpbnRlcmZhY2U6IHdpbmRvdy5uYXZpZ2F0
b3IgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJsYW5ndWFnZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUg
CiBQQVNTIE5hdmlnYXRvciBpbnRlcmZhY2U6IHdpbmRvdy5uYXZpZ2F0b3IgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJsYW5ndWFnZXMiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBOYXZpZ2F0
b3IgaW50ZXJmYWNlOiB3aW5kb3cubmF2aWdhdG9yIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25M
aW5lIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKLUZBSUwgTmF2aWdhdG9yIGludGVyZmFjZTogd2lu
ZG93Lm5hdmlnYXRvciBtdXN0IGluaGVyaXQgcHJvcGVydHkgInJlZ2lzdGVyUHJvdG9jb2xIYW5k
bGVyKERPTVN0cmluZywgVVNWU3RyaW5nLCBET01TdHJpbmcpIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJyZWdpc3RlclByb3RvY29sSGFuZGxlciIgbm90
IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgotRkFJTCBOYXZpZ2F0b3IgaW50ZXJmYWNlOiBjYWxs
aW5nIHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKERPTVN0cmluZywgVVNWU3RyaW5nLCBET01TdHJp
bmcpIG9uIHdpbmRvdy5uYXZpZ2F0b3Igd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93
IFR5cGVFcnJvciBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJyZWdpc3RlclByb3RvY29sSGFu
ZGxlciIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgorRkFJTCBOYXZpZ2F0b3IgaW50ZXJm
YWNlOiB3aW5kb3cubmF2aWdhdG9yIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicmVnaXN0ZXJQcm90
b2NvbEhhbmRsZXIoRE9NU3RyaW5nLCBVU1ZTdHJpbmcpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBh
c3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJyZWdpc3RlclByb3RvY29sSGFuZGxlciIgbm90IGZv
dW5kIGluIHByb3RvdHlwZSBjaGFpbgorRkFJTCBOYXZpZ2F0b3IgaW50ZXJmYWNlOiBjYWxsaW5n
IHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKERPTVN0cmluZywgVVNWU3RyaW5nKSBvbiB3aW5kb3cu
bmF2aWdhdG9yIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgYXNz
ZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAicmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIiIG5vdCBmb3Vu
ZCBpbiBwcm90b3R5cGUgY2hhaW4KIEZBSUwgTmF2aWdhdG9yIGludGVyZmFjZTogd2luZG93Lm5h
dmlnYXRvciBtdXN0IGluaGVyaXQgcHJvcGVydHkgInVucmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIo
RE9NU3RyaW5nLCBVU1ZTdHJpbmcpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfaW5oZXJp
dHM6IHByb3BlcnR5ICJ1bnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyIiBub3QgZm91bmQgaW4gcHJv
dG90eXBlIGNoYWluCiBGQUlMIE5hdmlnYXRvciBpbnRlcmZhY2U6IGNhbGxpbmcgdW5yZWdpc3Rl
clByb3RvY29sSGFuZGxlcihET01TdHJpbmcsIFVTVlN0cmluZykgb24gd2luZG93Lm5hdmlnYXRv
ciB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIGFzc2VydF9pbmhl
cml0czogcHJvcGVydHkgInVucmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIiIG5vdCBmb3VuZCBpbiBw
cm90b3R5cGUgY2hhaW4KIFBBU1MgTmF2aWdhdG9yIGludGVyZmFjZTogd2luZG93Lm5hdmlnYXRv
ciBtdXN0IGluaGVyaXQgcHJvcGVydHkgImNvb2tpZUVuYWJsZWQiIHdpdGggdGhlIHByb3BlciB0
eXBlIApAQCAtNTIwMyw3ICs1MjI5LDYgQEAgUEFTUyBTVkdFbGVtZW50IGludGVyZmFjZTogYXR0
cmlidXRlIG9ubW91c2Vtb3ZlCiBQQVNTIFNWR0VsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
b25tb3VzZW91dCAKIFBBU1MgU1ZHRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbm1vdXNl
b3ZlciAKIFBBU1MgU1ZHRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbm1vdXNldXAgCi1G
QUlMIFNWR0VsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253aGVlbCBhc3NlcnRfdHJ1ZTog
cHJvcGVydHkgc2hvdWxkIGJlIGVudW1lcmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKIFBB
U1MgU1ZHRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnBhdXNlIAogUEFTUyBTVkdFbGVt
ZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ucGxheSAKIFBBU1MgU1ZHRWxlbWVudCBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBvbnBsYXlpbmcgCkBAIC01MjI0LDYgKzUyNDksMTEgQEAgUEFTUyBTVkdF
bGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9udGltZXVwZGF0ZQogUEFTUyBTVkdFbGVtZW50
IGludGVyZmFjZTogYXR0cmlidXRlIG9udG9nZ2xlIAogUEFTUyBTVkdFbGVtZW50IGludGVyZmFj
ZTogYXR0cmlidXRlIG9udm9sdW1lY2hhbmdlIAogUEFTUyBTVkdFbGVtZW50IGludGVyZmFjZTog
YXR0cmlidXRlIG9ud2FpdGluZyAKK0ZBSUwgU1ZHRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBvbndlYmtpdGFuaW1hdGlvbmVuZCBhc3NlcnRfb3duX3Byb3BlcnR5OiBleHBlY3RlZCBwcm9w
ZXJ0eSAib253ZWJraXRhbmltYXRpb25lbmQiIG1pc3NpbmcKK0ZBSUwgU1ZHRWxlbWVudCBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSBvbndlYmtpdGFuaW1hdGlvbml0ZXJhdGlvbiBhc3NlcnRfb3duX3By
b3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0eSAib253ZWJraXRhbmltYXRpb25pdGVyYXRpb24iIG1p
c3NpbmcKK0ZBSUwgU1ZHRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndlYmtpdGFuaW1h
dGlvbnN0YXJ0IGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVjdGVkIHByb3BlcnR5ICJvbndlYmtp
dGFuaW1hdGlvbnN0YXJ0IiBtaXNzaW5nCitGQUlMIFNWR0VsZW1lbnQgaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgb253ZWJraXR0cmFuc2l0aW9uZW5kIGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVjdGVk
IHByb3BlcnR5ICJvbndlYmtpdHRyYW5zaXRpb25lbmQiIG1pc3NpbmcKK0ZBSUwgU1ZHRWxlbWVu
dCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndoZWVsIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBzaG91
bGQgYmUgZW51bWVyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQogRkFJTCBTVkdFbGVtZW50
IGludGVyZmFjZTogYXR0cmlidXRlIG9uY29weSBhc3NlcnRfb3duX3Byb3BlcnR5OiBleHBlY3Rl
ZCBwcm9wZXJ0eSAib25jb3B5IiBtaXNzaW5nCiBGQUlMIFNWR0VsZW1lbnQgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgb25jdXQgYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgIm9u
Y3V0IiBtaXNzaW5nCiBGQUlMIFNWR0VsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25wYXN0
ZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0eSAib25wYXN0ZSIgbWlzc2lu
ZwpAQCAtNTMzNiw3ICs1MzY2LDYgQEAgUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBvbm1vdXNlbW92ZQogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbm1vdXNl
b3V0IAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbm1vdXNlb3ZlciAKIFBB
U1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25tb3VzZXVwIAotRkFJTCBEb2N1bWVu
dCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndoZWVsIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBzaG91
bGQgYmUgZW51bWVyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQogUEFTUyBEb2N1bWVudCBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnBhdXNlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBvbnBsYXkgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ucGxh
eWluZyAKQEAgLTUzNTcsNiArNTM4NiwxMSBAQCBQQVNTIERvY3VtZW50IGludGVyZmFjZTogYXR0
cmlidXRlIG9udGltZXVwZGF0ZQogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBv
bnRvZ2dsZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb252b2x1bWVjaGFu
Z2UgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ud2FpdGluZyAKK0ZBSUwg
RG9jdW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253ZWJraXRhbmltYXRpb25lbmQgYXNzZXJ0
X3RydWU6IHByb3BlcnR5IHNob3VsZCBiZSBlbnVtZXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZh
bHNlCitGQUlMIERvY3VtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ud2Via2l0YW5pbWF0aW9u
aXRlcmF0aW9uIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBzaG91bGQgYmUgZW51bWVyYWJsZSBleHBl
Y3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBEb2N1bWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBv
bndlYmtpdGFuaW1hdGlvbnN0YXJ0IGFzc2VydF90cnVlOiBwcm9wZXJ0eSBzaG91bGQgYmUgZW51
bWVyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBEb2N1bWVudCBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBvbndlYmtpdHRyYW5zaXRpb25lbmQgYXNzZXJ0X3RydWU6IHByb3BlcnR5IHNo
b3VsZCBiZSBlbnVtZXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIERvY3VtZW50
IGludGVyZmFjZTogYXR0cmlidXRlIG9ud2hlZWwgYXNzZXJ0X3RydWU6IHByb3BlcnR5IHNob3Vs
ZCBiZSBlbnVtZXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCiBQQVNTIERvY3VtZW50IGlu
dGVyZmFjZTogYXR0cmlidXRlIG9uY29weSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgb25jdXQgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ucGFzdGUg
CkBAIC01NDU4LDcgKzU0OTIsNiBAQCBQQVNTIERvY3VtZW50IGludGVyZmFjZTogaWZyYW1lLmNv
bnRlbnREb2N1bWVudCBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ubW91c2VtbwogUEFTUyBEb2N1
bWVudCBpbnRlcmZhY2U6IGlmcmFtZS5jb250ZW50RG9jdW1lbnQgbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJvbm1vdXNlb3V0IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50
ZXJmYWNlOiBpZnJhbWUuY29udGVudERvY3VtZW50IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25t
b3VzZW92ZXIiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6
IGlmcmFtZS5jb250ZW50RG9jdW1lbnQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbm1vdXNldXAi
IHdpdGggdGhlIHByb3BlciB0eXBlIAotUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGlmcmFtZS5j
b250ZW50RG9jdW1lbnQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndoZWVsIiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBpZnJhbWUuY29udGVudERvY3Vt
ZW50IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25wYXVzZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUg
CiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogaWZyYW1lLmNvbnRlbnREb2N1bWVudCBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgIm9ucGxheSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIERvY3Vt
ZW50IGludGVyZmFjZTogaWZyYW1lLmNvbnRlbnREb2N1bWVudCBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgIm9ucGxheWluZyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCkBAIC01NDc5LDYgKzU1MTIsMTEg
QEAgUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGlmcmFtZS5jb250ZW50RG9jdW1lbnQgbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJvbnRpbWV1cGQKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBpZnJh
bWUuY29udGVudERvY3VtZW50IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib250b2dnbGUiIHdpdGgg
dGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGlmcmFtZS5jb250ZW50
RG9jdW1lbnQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnZvbHVtZWNoYW5nZSIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogaWZyYW1lLmNvbnRlbnREb2N1
bWVudCBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2FpdGluZyIgd2l0aCB0aGUgcHJvcGVyIHR5
cGUgCitQQVNTIERvY3VtZW50IGludGVyZmFjZTogaWZyYW1lLmNvbnRlbnREb2N1bWVudCBtdXN0
IGluaGVyaXQgcHJvcGVydHkgIm9ud2Via2l0YW5pbWF0aW9uZW5kIiB3aXRoIHRoZSBwcm9wZXIg
dHlwZSAKK1BBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBpZnJhbWUuY29udGVudERvY3VtZW50IG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253ZWJraXRhbmltYXRpb25pdGVyYXRpb24iIHdpdGggdGhl
IHByb3BlciB0eXBlIAorUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGlmcmFtZS5jb250ZW50RG9j
dW1lbnQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndlYmtpdGFuaW1hdGlvbnN0YXJ0IiB3aXRo
IHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBpZnJhbWUuY29udGVu
dERvY3VtZW50IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253ZWJraXR0cmFuc2l0aW9uZW5kIiB3
aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBpZnJhbWUuY29u
dGVudERvY3VtZW50IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253aGVlbCIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogaWZyYW1lLmNvbnRlbnREb2N1bWVu
dCBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9uY29weSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQ
QVNTIERvY3VtZW50IGludGVyZmFjZTogaWZyYW1lLmNvbnRlbnREb2N1bWVudCBtdXN0IGluaGVy
aXQgcHJvcGVydHkgIm9uY3V0IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQg
aW50ZXJmYWNlOiBpZnJhbWUuY29udGVudERvY3VtZW50IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAi
b25wYXN0ZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCkBAIC01NTgwLDcgKzU2MTgsNiBAQCBQQVNT
IERvY3VtZW50IGludGVyZmFjZTogbmV3IERvY3VtZW50KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJvbm1vdXNlbW92ZSIgd2l0aAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IG5ldyBEb2N1bWVu
dCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25tb3VzZW91dCIgd2l0aCB0aGUgcHJvcGVyIHR5
cGUgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogbmV3IERvY3VtZW50KCkgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJvbm1vdXNlb3ZlciIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIERvY3Vt
ZW50IGludGVyZmFjZTogbmV3IERvY3VtZW50KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbm1v
dXNldXAiIHdpdGggdGhlIHByb3BlciB0eXBlIAotUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IG5l
dyBEb2N1bWVudCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253aGVlbCIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogbmV3IERvY3VtZW50KCkgbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJvbnBhdXNlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9j
dW1lbnQgaW50ZXJmYWNlOiBuZXcgRG9jdW1lbnQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9u
cGxheSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogbmV3
IERvY3VtZW50KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnBsYXlpbmciIHdpdGggdGhlIHBy
b3BlciB0eXBlIApAQCAtNTYwMSw2ICs1NjM4LDExIEBAIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNl
OiBuZXcgRG9jdW1lbnQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9udGltZXVwZGF0ZSIgd2l0
CiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogbmV3IERvY3VtZW50KCkgbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJvbnRvZ2dsZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIERvY3VtZW50IGlu
dGVyZmFjZTogbmV3IERvY3VtZW50KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnZvbHVtZWNo
YW5nZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogbmV3
IERvY3VtZW50KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndhaXRpbmciIHdpdGggdGhlIHBy
b3BlciB0eXBlIAorUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IG5ldyBEb2N1bWVudCgpIG11c3Qg
aW5oZXJpdCBwcm9wZXJ0eSAib253ZWJraXRhbmltYXRpb25lbmQiIHdpdGggdGhlIHByb3BlciB0
eXBlIAorUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IG5ldyBEb2N1bWVudCgpIG11c3QgaW5oZXJp
dCBwcm9wZXJ0eSAib253ZWJraXRhbmltYXRpb25pdGVyYXRpb24iIHdpdGggdGhlIHByb3BlciB0
eXBlIAorUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IG5ldyBEb2N1bWVudCgpIG11c3QgaW5oZXJp
dCBwcm9wZXJ0eSAib253ZWJraXRhbmltYXRpb25zdGFydCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUg
CitQQVNTIERvY3VtZW50IGludGVyZmFjZTogbmV3IERvY3VtZW50KCkgbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJvbndlYmtpdHRyYW5zaXRpb25lbmQiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFT
UyBEb2N1bWVudCBpbnRlcmZhY2U6IG5ldyBEb2N1bWVudCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0
eSAib253aGVlbCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIERvY3VtZW50IGludGVyZmFj
ZTogbmV3IERvY3VtZW50KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbmNvcHkiIHdpdGggdGhl
IHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IG5ldyBEb2N1bWVudCgpIG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25jdXQiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBE
b2N1bWVudCBpbnRlcmZhY2U6IG5ldyBEb2N1bWVudCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAi
b25wYXN0ZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCkBAIC01NzAyLDcgKzU3NDQsNiBAQCBQQVNT
IERvY3VtZW50IGludGVyZmFjZTogZG9jdW1lbnRXaXRoSGFuZGxlcnMgbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJvbm1vdXNlbW92ZQogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGRvY3VtZW50V2l0
aEhhbmRsZXJzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25tb3VzZW91dCIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogZG9jdW1lbnRXaXRoSGFuZGxlcnMg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbm1vdXNlb3ZlciIgd2l0aCB0aGUgcHJvcGVyIHR5cGUg
CiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogZG9jdW1lbnRXaXRoSGFuZGxlcnMgbXVzdCBpbmhl
cml0IHByb3BlcnR5ICJvbm1vdXNldXAiIHdpdGggdGhlIHByb3BlciB0eXBlIAotUEFTUyBEb2N1
bWVudCBpbnRlcmZhY2U6IGRvY3VtZW50V2l0aEhhbmRsZXJzIG11c3QgaW5oZXJpdCBwcm9wZXJ0
eSAib253aGVlbCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIERvY3VtZW50IGludGVyZmFj
ZTogZG9jdW1lbnRXaXRoSGFuZGxlcnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnBhdXNlIiB3
aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudFdp
dGhIYW5kbGVycyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ucGxheSIgd2l0aCB0aGUgcHJvcGVy
IHR5cGUgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogZG9jdW1lbnRXaXRoSGFuZGxlcnMgbXVz
dCBpbmhlcml0IHByb3BlcnR5ICJvbnBsYXlpbmciIHdpdGggdGhlIHByb3BlciB0eXBlIApAQCAt
NTcyMyw2ICs1NzY0LDExIEBAIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudFdpdGhI
YW5kbGVycyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9udGltZXVwZGF0CiBQQVNTIERvY3VtZW50
IGludGVyZmFjZTogZG9jdW1lbnRXaXRoSGFuZGxlcnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJv
bnRvZ2dsZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTog
ZG9jdW1lbnRXaXRoSGFuZGxlcnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnZvbHVtZWNoYW5n
ZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogZG9jdW1l
bnRXaXRoSGFuZGxlcnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndhaXRpbmciIHdpdGggdGhl
IHByb3BlciB0eXBlIAorUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGRvY3VtZW50V2l0aEhhbmRs
ZXJzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253ZWJraXRhbmltYXRpb25lbmQiIHdpdGggdGhl
IHByb3BlciB0eXBlIAorUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGRvY3VtZW50V2l0aEhhbmRs
ZXJzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253ZWJraXRhbmltYXRpb25pdGVyYXRpb24iIHdp
dGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGRvY3VtZW50V2l0
aEhhbmRsZXJzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253ZWJraXRhbmltYXRpb25zdGFydCIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIERvY3VtZW50IGludGVyZmFjZTogZG9jdW1lbnRX
aXRoSGFuZGxlcnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndlYmtpdHRyYW5zaXRpb25lbmQi
IHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGRvY3VtZW50
V2l0aEhhbmRsZXJzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253aGVlbCIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogZG9jdW1lbnRXaXRoSGFuZGxlcnMg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbmNvcHkiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFT
UyBEb2N1bWVudCBpbnRlcmZhY2U6IGRvY3VtZW50V2l0aEhhbmRsZXJzIG11c3QgaW5oZXJpdCBw
cm9wZXJ0eSAib25jdXQiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRl
cmZhY2U6IGRvY3VtZW50V2l0aEhhbmRsZXJzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25wYXN0
ZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMtd2sxL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9kb20vaWRsaGFy
bmVzcy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9kb20vaWRsaGFybmVzcy5odHRwcy1l
eHBlY3RlZC50eHQKaW5kZXggZDNkOWMzMGMwMmZjNzEwYWZmYTZkYWM2ZjVhZTUyM2FkMDA3ZjY4
Ny4uNzY4NWM5ZWIwMGY5Y2M5MDUxM2FhNDVhYjYyM2NlMzg2Mjc4NjUyNyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvZG9tL2lkbGhhcm5lc3MuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy13azEvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L2RvbS9pZGxoYXJuZXNzLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMTY4LDcgKzE2OCw3IEBAIFBB
U1MgU2hhZG93Um9vdCBpbmNsdWRlcyBEb2N1bWVudE9yU2hhZG93Um9vdDogbWVtYmVyIG5hbWVz
IGFyZSB1bmlxdWUKIFBBU1MgRWxlbWVudCBpbmNsdWRlcyBQYXJlbnROb2RlOiBtZW1iZXIgbmFt
ZXMgYXJlIHVuaXF1ZSAKIFBBU1MgRWxlbWVudCBpbmNsdWRlcyBOb25Eb2N1bWVudFR5cGVDaGls
ZE5vZGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAogUEFTUyBFbGVtZW50IGluY2x1ZGVzIENo
aWxkTm9kZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCi1QQVNTIEVsZW1lbnQgaW5jbHVkZXMg
U2xvdGFibGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAorUEFTUyBFbGVtZW50IGluY2x1ZGVz
IFNsb3R0YWJsZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNTIEhUTUxBbGxDb2xsZWN0
aW9uIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmpl
Y3QgCiBQQVNTIEhUTUxBbGxDb2xsZWN0aW9uIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAogUEFT
UyBIVE1MQWxsQ29sbGVjdGlvbiBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCkBAIC0yOTgsNyArMjk4
LDYgQEAgUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbm1vdXNlbW92ZQog
UEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbm1vdXNlb3V0IAogUEFTUyBI
VE1MRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbm1vdXNlb3ZlciAKIFBBU1MgSFRNTEVs
ZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25tb3VzZXVwIAotRkFJTCBIVE1MRWxlbWVudCBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndoZWVsIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBzaG91bGQg
YmUgZW51bWVyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQogUEFTUyBIVE1MRWxlbWVudCBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnBhdXNlIAogUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBvbnBsYXkgCiBQQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRl
IG9ucGxheWluZyAKQEAgLTMxOSw2ICszMTgsMTEgQEAgUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBvbnRpbWV1cGRhdGUKIFBBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgb250b2dnbGUgCiBQQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRl
IG9udm9sdW1lY2hhbmdlIAogUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBv
bndhaXRpbmcgCitGQUlMIEhUTUxFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ud2Via2l0
YW5pbWF0aW9uZW5kIGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVjdGVkIHByb3BlcnR5ICJvbndl
YmtpdGFuaW1hdGlvbmVuZCIgbWlzc2luZworRkFJTCBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBvbndlYmtpdGFuaW1hdGlvbml0ZXJhdGlvbiBhc3NlcnRfb3duX3Byb3BlcnR5OiBl
eHBlY3RlZCBwcm9wZXJ0eSAib253ZWJraXRhbmltYXRpb25pdGVyYXRpb24iIG1pc3NpbmcKK0ZB
SUwgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253ZWJraXRhbmltYXRpb25zdGFy
dCBhc3NlcnRfb3duX3Byb3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0eSAib253ZWJraXRhbmltYXRp
b25zdGFydCIgbWlzc2luZworRkFJTCBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBv
bndlYmtpdHRyYW5zaXRpb25lbmQgYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVy
dHkgIm9ud2Via2l0dHJhbnNpdGlvbmVuZCIgbWlzc2luZworRkFJTCBIVE1MRWxlbWVudCBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSBvbndoZWVsIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBzaG91bGQgYmUg
ZW51bWVyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQogRkFJTCBIVE1MRWxlbWVudCBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSBvbmNvcHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJv
cGVydHkgIm9uY29weSIgbWlzc2luZwogRkFJTCBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBvbmN1dCBhc3NlcnRfb3duX3Byb3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0eSAib25jdXQi
IG1pc3NpbmcKIEZBSUwgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25wYXN0ZSBh
c3NlcnRfb3duX3Byb3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0eSAib25wYXN0ZSIgbWlzc2luZwpA
QCAtMzg5LDcgKzM5Myw2IEBAIFBBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJub3NjcmlwdCIpIG11c3QgaW5oZXJpdCBwcm9wCiBQQVNTIEhUTUxFbGVt
ZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibm9zY3JpcHQiKSBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgIm9ubW91c2VvdXQiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBI
VE1MRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm5vc2NyaXB0Iikg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbm1vdXNlb3ZlciIgd2l0aCB0aGUgcHJvcGVyIHR5cGUg
CiBQQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibm9z
Y3JpcHQiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ubW91c2V1cCIgd2l0aCB0aGUgcHJvcGVy
IHR5cGUgCi1QQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgibm9zY3JpcHQiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2hlZWwiIHdpdGggdGhlIHBy
b3BlciB0eXBlIAogUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoIm5vc2NyaXB0IikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnBhdXNlIiB3aXRoIHRo
ZSBwcm9wZXIgdHlwZSAKIFBBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJub3NjcmlwdCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25wbGF5IiB3aXRo
IHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJub3NjcmlwdCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25wbGF5aW5n
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKQEAgLTQxMCw2ICs0MTMsMTEgQEAgUEFTUyBIVE1MRWxl
bWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm5vc2NyaXB0IikgbXVzdCBp
bmhlcml0IHByb3AKIFBBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJub3NjcmlwdCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib250b2dnbGUiIHdpdGgg
dGhlIHByb3BlciB0eXBlIAogUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoIm5vc2NyaXB0IikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnZvbHVtZWNo
YW5nZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTog
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibm9zY3JpcHQiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkg
Im9ud2FpdGluZyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIEhUTUxFbGVtZW50IGludGVy
ZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibm9zY3JpcHQiKSBtdXN0IGluaGVyaXQgcHJv
cGVydHkgIm9ud2Via2l0YW5pbWF0aW9uZW5kIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1Mg
SFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJub3NjcmlwdCIp
IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253ZWJraXRhbmltYXRpb25pdGVyYXRpb24iIHdpdGgg
dGhlIHByb3BlciB0eXBlIAorUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoIm5vc2NyaXB0IikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndlYmtpdGFu
aW1hdGlvbnN0YXJ0IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgSFRNTEVsZW1lbnQgaW50
ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJub3NjcmlwdCIpIG11c3QgaW5oZXJpdCBw
cm9wZXJ0eSAib253ZWJraXR0cmFuc2l0aW9uZW5kIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BB
U1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJub3Njcmlw
dCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253aGVlbCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUg
CiBQQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibm9z
Y3JpcHQiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9uY29weSIgd2l0aCB0aGUgcHJvcGVyIHR5
cGUgCiBQQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
bm9zY3JpcHQiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9uY3V0IiB3aXRoIHRoZSBwcm9wZXIg
dHlwZSAKIFBBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJub3NjcmlwdCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25wYXN0ZSIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUgCkBAIC04OTAsNiArODk4LDcgQEAgUEFTUyBIVE1MSW1hZ2VFbGVtZW50IGludGVy
ZmFjZTogYXR0cmlidXRlIGNvbXBsZXRlCiBQQVNTIEhUTUxJbWFnZUVsZW1lbnQgaW50ZXJmYWNl
OiBhdHRyaWJ1dGUgY3VycmVudFNyYyAKIFBBU1MgSFRNTEltYWdlRWxlbWVudCBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSByZWZlcnJlclBvbGljeSAKIFBBU1MgSFRNTEltYWdlRWxlbWVudCBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBkZWNvZGluZyAKK0ZBSUwgSFRNTEltYWdlRWxlbWVudCBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBsb2FkaW5nIGFzc2VydF90cnVlOiBUaGUgcHJvdG90eXBlIG9iamVjdCBtdXN0
IGhhdmUgYSBwcm9wZXJ0eSAibG9hZGluZyIgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKIFBBU1Mg
SFRNTEltYWdlRWxlbWVudCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBkZWNvZGUoKSAKIFBBU1MgSFRN
TEltYWdlRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBuYW1lIAogUEFTUyBIVE1MSW1hZ2VF
bGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIGxvd3NyYyAKQEAgLTkxNSw2ICs5MjQsNyBAQCBQ
QVNTIEhUTUxJbWFnZUVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJp
bWciKSBtdXN0IGluaGVyaXQgcHJvcAogUEFTUyBIVE1MSW1hZ2VFbGVtZW50IGludGVyZmFjZTog
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJjdXJy
ZW50U3JjIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgSFRNTEltYWdlRWxlbWVudCBpbnRl
cmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0
eSAicmVmZXJyZXJQb2xpY3kiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBIVE1MSW1hZ2VF
bGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIikgbXVzdCBpbmhl
cml0IHByb3BlcnR5ICJkZWNvZGluZyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitGQUlMIEhUTUxJ
bWFnZUVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKSBtdXN0
IGluaGVyaXQgcHJvcGVydHkgImxvYWRpbmciIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9p
bmhlcml0czogcHJvcGVydHkgImxvYWRpbmciIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4K
IFBBU1MgSFRNTEltYWdlRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ImltZyIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGVjb2RlKCkiIHdpdGggdGhlIHByb3BlciB0
eXBlIAogUEFTUyBIVE1MSW1hZ2VFbGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiaW1nIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJuYW1lIiB3aXRoIHRoZSBwcm9wZXIg
dHlwZSAKIFBBU1MgSFRNTEltYWdlRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImltZyIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibG93c3JjIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAKQEAgLTk0MCw2ICs5NTAsNyBAQCBQQVNTIEhUTUxJbWFnZUVsZW1lbnQgaW50ZXJm
YWNlOiBuZXcgSW1hZ2UoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImNvbXBsZXRlIiB3aQogUEFT
UyBIVE1MSW1hZ2VFbGVtZW50IGludGVyZmFjZTogbmV3IEltYWdlKCkgbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJjdXJyZW50U3JjIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgSFRNTEltYWdl
RWxlbWVudCBpbnRlcmZhY2U6IG5ldyBJbWFnZSgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicmVm
ZXJyZXJQb2xpY3kiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBIVE1MSW1hZ2VFbGVtZW50
IGludGVyZmFjZTogbmV3IEltYWdlKCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJkZWNvZGluZyIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgCitGQUlMIEhUTUxJbWFnZUVsZW1lbnQgaW50ZXJmYWNlOiBu
ZXcgSW1hZ2UoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImxvYWRpbmciIHdpdGggdGhlIHByb3Bl
ciB0eXBlIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgImxvYWRpbmciIG5vdCBmb3VuZCBpbiBw
cm90b3R5cGUgY2hhaW4KIFBBU1MgSFRNTEltYWdlRWxlbWVudCBpbnRlcmZhY2U6IG5ldyBJbWFn
ZSgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGVjb2RlKCkiIHdpdGggdGhlIHByb3BlciB0eXBl
IAogUEFTUyBIVE1MSW1hZ2VFbGVtZW50IGludGVyZmFjZTogbmV3IEltYWdlKCkgbXVzdCBpbmhl
cml0IHByb3BlcnR5ICJuYW1lIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgSFRNTEltYWdl
RWxlbWVudCBpbnRlcmZhY2U6IG5ldyBJbWFnZSgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibG93
c3JjIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKQEAgLTQyMjgsNyArNDIzOSw3IEBAIEZBSUwgRWxl
bWVudEludGVybmFscyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRl
cmZhY2UgcHJvdG90eXBlCiBGQUlMIEVsZW1lbnRJbnRlcm5hbHMgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2Nv
cGFibGVzIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBv
d24gcHJvcGVydHkgIkVsZW1lbnRJbnRlcm5hbHMiIGV4cGVjdGVkIHByb3BlcnR5ICJFbGVtZW50
SW50ZXJuYWxzIiBtaXNzaW5nCiBGQUlMIEVsZW1lbnRJbnRlcm5hbHMgaW50ZXJmYWNlOiBvcGVy
YXRpb24gc2V0Rm9ybVZhbHVlKChGaWxlIG9yIFVTVlN0cmluZyBvciBGb3JtRGF0YSk/LCBvcHRp
b25hbCAoRmlsZSBvciBVU1ZTdHJpbmcgb3IgRm9ybURhdGEpPykgYXNzZXJ0X293bl9wcm9wZXJ0
eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiRWxlbWVudEludGVybmFscyIgZXhw
ZWN0ZWQgcHJvcGVydHkgIkVsZW1lbnRJbnRlcm5hbHMiIG1pc3NpbmcKIEZBSUwgRWxlbWVudElu
dGVybmFscyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBmb3JtIGFzc2VydF9vd25fcHJvcGVydHk6IHNl
bGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkVsZW1lbnRJbnRlcm5hbHMiIGV4cGVjdGVk
IHByb3BlcnR5ICJFbGVtZW50SW50ZXJuYWxzIiBtaXNzaW5nCi1GQUlMIEVsZW1lbnRJbnRlcm5h
bHMgaW50ZXJmYWNlOiBvcGVyYXRpb24gc2V0VmFsaWRpdHkoVmFsaWRpdHlTdGF0ZUZsYWdzLCBv
cHRpb25hbCBET01TdHJpbmcsIG9wdGlvbmFsIEhUTUxFbGVtZW50KSBhc3NlcnRfb3duX3Byb3Bl
cnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJFbGVtZW50SW50ZXJuYWxzIiBl
eHBlY3RlZCBwcm9wZXJ0eSAiRWxlbWVudEludGVybmFscyIgbWlzc2luZworRkFJTCBFbGVtZW50
SW50ZXJuYWxzIGludGVyZmFjZTogb3BlcmF0aW9uIHNldFZhbGlkaXR5KG9wdGlvbmFsIFZhbGlk
aXR5U3RhdGVGbGFncywgb3B0aW9uYWwgRE9NU3RyaW5nLCBvcHRpb25hbCBIVE1MRWxlbWVudCkg
YXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiRWxl
bWVudEludGVybmFscyIgZXhwZWN0ZWQgcHJvcGVydHkgIkVsZW1lbnRJbnRlcm5hbHMiIG1pc3Np
bmcKIEZBSUwgRWxlbWVudEludGVybmFscyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSB3aWxsVmFsaWRh
dGUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAi
RWxlbWVudEludGVybmFscyIgZXhwZWN0ZWQgcHJvcGVydHkgIkVsZW1lbnRJbnRlcm5hbHMiIG1p
c3NpbmcKIEZBSUwgRWxlbWVudEludGVybmFscyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSB2YWxpZGl0
eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJF
bGVtZW50SW50ZXJuYWxzIiBleHBlY3RlZCBwcm9wZXJ0eSAiRWxlbWVudEludGVybmFscyIgbWlz
c2luZwogRkFJTCBFbGVtZW50SW50ZXJuYWxzIGludGVyZmFjZTogYXR0cmlidXRlIHZhbGlkYXRp
b25NZXNzYWdlIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJv
cGVydHkgIkVsZW1lbnRJbnRlcm5hbHMiIGV4cGVjdGVkIHByb3BlcnR5ICJFbGVtZW50SW50ZXJu
YWxzIiBtaXNzaW5nCkBAIC00MzY2LDcgKzQzNzcsNiBAQCBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBvbm1vdXNlbW92ZQogUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
b25tb3VzZW91dCAKIFBBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ubW91c2VvdmVy
IAogUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25tb3VzZXVwIAotRkFJTCBXaW5k
b3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253aGVlbCBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgc2hv
dWxkIGJlIGVudW1lcmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKIFBBU1MgV2luZG93IGlu
dGVyZmFjZTogYXR0cmlidXRlIG9ucGF1c2UgCiBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBvbnBsYXkgCiBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnBsYXlpbmcg
CkBAIC00Mzg3LDYgKzQzOTcsMTEgQEAgUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
b250aW1ldXBkYXRlCiBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnRvZ2dsZSAK
IFBBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9udm9sdW1lY2hhbmdlIAogUEFTUyBX
aW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253YWl0aW5nIAorRkFJTCBXaW5kb3cgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgb253ZWJraXRhbmltYXRpb25lbmQgYXNzZXJ0X3RydWU6IHByb3BlcnR5
IHNob3VsZCBiZSBlbnVtZXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdpbmRv
dyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndlYmtpdGFuaW1hdGlvbml0ZXJhdGlvbiBhc3NlcnRf
dHJ1ZTogcHJvcGVydHkgc2hvdWxkIGJlIGVudW1lcmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFs
c2UKK0ZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ud2Via2l0YW5pbWF0aW9uc3Rh
cnQgYXNzZXJ0X3RydWU6IHByb3BlcnR5IHNob3VsZCBiZSBlbnVtZXJhYmxlIGV4cGVjdGVkIHRy
dWUgZ290IGZhbHNlCitGQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndlYmtpdHRy
YW5zaXRpb25lbmQgYXNzZXJ0X3RydWU6IHByb3BlcnR5IHNob3VsZCBiZSBlbnVtZXJhYmxlIGV4
cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBv
bndoZWVsIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBzaG91bGQgYmUgZW51bWVyYWJsZSBleHBlY3Rl
ZCB0cnVlIGdvdCBmYWxzZQogUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25hZnRl
cnByaW50IAogUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25iZWZvcmVwcmludCAK
IFBBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uYmVmb3JldW5sb2FkIApAQCAtNDUx
MSw3ICs0NTI2LDYgQEAgUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiB3aW5kb3cgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJvbm1vdXNlbW92ZSIgd2l0aCB0aGUgcHJvcGUKIFBBU1MgV2luZG93IGludGVy
ZmFjZTogd2luZG93IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25tb3VzZW91dCIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUgCiBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IHdpbmRvdyBtdXN0IGluaGVyaXQg
cHJvcGVydHkgIm9ubW91c2VvdmVyIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgV2luZG93
IGludGVyZmFjZTogd2luZG93IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25tb3VzZXVwIiB3aXRo
IHRoZSBwcm9wZXIgdHlwZSAKLVBBU1MgV2luZG93IGludGVyZmFjZTogd2luZG93IG11c3QgaW5o
ZXJpdCBwcm9wZXJ0eSAib253aGVlbCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIFdpbmRv
dyBpbnRlcmZhY2U6IHdpbmRvdyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ucGF1c2UiIHdpdGgg
dGhlIHByb3BlciB0eXBlIAogUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiB3aW5kb3cgbXVzdCBpbmhl
cml0IHByb3BlcnR5ICJvbnBsYXkiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBXaW5kb3cg
aW50ZXJmYWNlOiB3aW5kb3cgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnBsYXlpbmciIHdpdGgg
dGhlIHByb3BlciB0eXBlIApAQCAtNDUzMiw2ICs0NTQ2LDExIEBAIFBBU1MgV2luZG93IGludGVy
ZmFjZTogd2luZG93IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib250aW1ldXBkYXRlIiB3aXRoIHRo
ZSBwcm9wCiBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IHdpbmRvdyBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgIm9udG9nZ2xlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgV2luZG93IGludGVyZmFj
ZTogd2luZG93IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib252b2x1bWVjaGFuZ2UiIHdpdGggdGhl
IHByb3BlciB0eXBlIAogUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiB3aW5kb3cgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJvbndhaXRpbmciIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBXaW5kb3cg
aW50ZXJmYWNlOiB3aW5kb3cgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndlYmtpdGFuaW1hdGlv
bmVuZCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IHdpbmRv
dyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2Via2l0YW5pbWF0aW9uaXRlcmF0aW9uIiB3aXRo
IHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgV2luZG93IGludGVyZmFjZTogd2luZG93IG11c3QgaW5o
ZXJpdCBwcm9wZXJ0eSAib253ZWJraXRhbmltYXRpb25zdGFydCIgd2l0aCB0aGUgcHJvcGVyIHR5
cGUgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IHdpbmRvdyBtdXN0IGluaGVyaXQgcHJvcGVydHkg
Im9ud2Via2l0dHJhbnNpdGlvbmVuZCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIFdpbmRv
dyBpbnRlcmZhY2U6IHdpbmRvdyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2hlZWwiIHdpdGgg
dGhlIHByb3BlciB0eXBlIAogUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiB3aW5kb3cgbXVzdCBpbmhl
cml0IHByb3BlcnR5ICJvbmFmdGVycHJpbnQiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBX
aW5kb3cgaW50ZXJmYWNlOiB3aW5kb3cgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbmJlZm9yZXBy
aW50IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgV2luZG93IGludGVyZmFjZTogd2luZG93
IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25iZWZvcmV1bmxvYWQiIHdpdGggdGhlIHByb3BlciB0
eXBlIApAQCAtNDczMiw2ICs0NzUxLDEzIEBAIFBBU1MgUHJvbWlzZVJlamVjdGlvbkV2ZW50IGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90CiBQQVNT
IFByb21pc2VSZWplY3Rpb25FdmVudCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkg
CiBQQVNTIFByb21pc2VSZWplY3Rpb25FdmVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBwcm9taXNl
IAogUEFTUyBQcm9taXNlUmVqZWN0aW9uRXZlbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgcmVhc29u
IAorUEFTUyBET01QYXJzZXIgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2Yg
aW50ZXJmYWNlIG9iamVjdCAKK1BBU1MgRE9NUGFyc2VyIGludGVyZmFjZSBvYmplY3QgbGVuZ3Ro
IAorUEFTUyBET01QYXJzZXIgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAorUEFTUyBET01QYXJzZXIg
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlw
ZSBvYmplY3QgCitQQVNTIERPTVBhcnNlciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVy
dGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVy
dHkgCitQQVNTIERPTVBhcnNlciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgCitQ
QVNTIERPTVBhcnNlciBpbnRlcmZhY2U6IG9wZXJhdGlvbiBwYXJzZUZyb21TdHJpbmcoRE9NU3Ry
aW5nLCBET01QYXJzZXJTdXBwb3J0ZWRUeXBlKSAKIFBBU1MgTmF2aWdhdG9yIGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCiBQQVNTIE5hdmln
YXRvciBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKIFBBU1MgTmF2aWdhdG9yIGludGVyZmFjZSBv
YmplY3QgbmFtZSAKQEAgLTQ3NTIsNyArNDc3OCw3IEBAIEZBSUwgTmF2aWdhdG9yIGludGVyZmFj
ZTogYXR0cmlidXRlIG9zY3B1IGFzc2VydF90cnVlOiBUaGUgcHJvdG90eXBlIG9iamVjdCBtdXN0
CiBQQVNTIE5hdmlnYXRvciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBsYW5ndWFnZSAKIFBBU1MgTmF2
aWdhdG9yIGludGVyZmFjZTogYXR0cmlidXRlIGxhbmd1YWdlcyAKIFBBU1MgTmF2aWdhdG9yIGlu
dGVyZmFjZTogYXR0cmlidXRlIG9uTGluZSAKLUZBSUwgTmF2aWdhdG9yIGludGVyZmFjZTogb3Bl
cmF0aW9uIHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKERPTVN0cmluZywgVVNWU3RyaW5nLCBET01T
dHJpbmcpIGFzc2VydF9vd25fcHJvcGVydHk6IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IG1p
c3Npbmcgbm9uLXN0YXRpYyBvcGVyYXRpb24gZXhwZWN0ZWQgcHJvcGVydHkgInJlZ2lzdGVyUHJv
dG9jb2xIYW5kbGVyIiBtaXNzaW5nCitGQUlMIE5hdmlnYXRvciBpbnRlcmZhY2U6IG9wZXJhdGlv
biByZWdpc3RlclByb3RvY29sSGFuZGxlcihET01TdHJpbmcsIFVTVlN0cmluZykgYXNzZXJ0X293
bl9wcm9wZXJ0eTogaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgbWlzc2luZyBub24tc3RhdGlj
IG9wZXJhdGlvbiBleHBlY3RlZCBwcm9wZXJ0eSAicmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIiIG1p
c3NpbmcKIEZBSUwgTmF2aWdhdG9yIGludGVyZmFjZTogb3BlcmF0aW9uIHVucmVnaXN0ZXJQcm90
b2NvbEhhbmRsZXIoRE9NU3RyaW5nLCBVU1ZTdHJpbmcpIGFzc2VydF9vd25fcHJvcGVydHk6IGlu
dGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IG1pc3Npbmcgbm9uLXN0YXRpYyBvcGVyYXRpb24gZXhw
ZWN0ZWQgcHJvcGVydHkgInVucmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIiIG1pc3NpbmcKIFBBU1Mg
TmF2aWdhdG9yIGludGVyZmFjZTogYXR0cmlidXRlIGNvb2tpZUVuYWJsZWQgCiBQQVNTIE5hdmln
YXRvciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBwbHVnaW5zIApAQCAtNDc3NSw4ICs0ODAxLDggQEAg
RkFJTCBOYXZpZ2F0b3IgaW50ZXJmYWNlOiB3aW5kb3cubmF2aWdhdG9yIG11c3QgaW5oZXJpdCBw
cm9wZXJ0eSAib3NjcHUiIHdpdGggdGgKIFBBU1MgTmF2aWdhdG9yIGludGVyZmFjZTogd2luZG93
Lm5hdmlnYXRvciBtdXN0IGluaGVyaXQgcHJvcGVydHkgImxhbmd1YWdlIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAKIFBBU1MgTmF2aWdhdG9yIGludGVyZmFjZTogd2luZG93Lm5hdmlnYXRvciBtdXN0
IGluaGVyaXQgcHJvcGVydHkgImxhbmd1YWdlcyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNT
IE5hdmlnYXRvciBpbnRlcmZhY2U6IHdpbmRvdy5uYXZpZ2F0b3IgbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJvbkxpbmUiIHdpdGggdGhlIHByb3BlciB0eXBlIAotRkFJTCBOYXZpZ2F0b3IgaW50ZXJm
YWNlOiB3aW5kb3cubmF2aWdhdG9yIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicmVnaXN0ZXJQcm90
b2NvbEhhbmRsZXIoRE9NU3RyaW5nLCBVU1ZTdHJpbmcsIERPTVN0cmluZykiIHdpdGggdGhlIHBy
b3BlciB0eXBlIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgInJlZ2lzdGVyUHJvdG9jb2xIYW5k
bGVyIiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCi1GQUlMIE5hdmlnYXRvciBpbnRlcmZh
Y2U6IGNhbGxpbmcgcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoRE9NU3RyaW5nLCBVU1ZTdHJpbmcs
IERPTVN0cmluZykgb24gd2luZG93Lm5hdmlnYXRvciB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11
c3QgdGhyb3cgVHlwZUVycm9yIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgInJlZ2lzdGVyUHJv
dG9jb2xIYW5kbGVyIiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCitGQUlMIE5hdmlnYXRv
ciBpbnRlcmZhY2U6IHdpbmRvdy5uYXZpZ2F0b3IgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJyZWdp
c3RlclByb3RvY29sSGFuZGxlcihET01TdHJpbmcsIFVTVlN0cmluZykiIHdpdGggdGhlIHByb3Bl
ciB0eXBlIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgInJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVy
IiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCitGQUlMIE5hdmlnYXRvciBpbnRlcmZhY2U6
IGNhbGxpbmcgcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoRE9NU3RyaW5nLCBVU1ZTdHJpbmcpIG9u
IHdpbmRvdy5uYXZpZ2F0b3Igd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVF
cnJvciBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJyZWdpc3RlclByb3RvY29sSGFuZGxlciIg
bm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgogRkFJTCBOYXZpZ2F0b3IgaW50ZXJmYWNlOiB3
aW5kb3cubmF2aWdhdG9yIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAidW5yZWdpc3RlclByb3RvY29s
SGFuZGxlcihET01TdHJpbmcsIFVTVlN0cmluZykiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2Vy
dF9pbmhlcml0czogcHJvcGVydHkgInVucmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIiIG5vdCBmb3Vu
ZCBpbiBwcm90b3R5cGUgY2hhaW4KIEZBSUwgTmF2aWdhdG9yIGludGVyZmFjZTogY2FsbGluZyB1
bnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKERPTVN0cmluZywgVVNWU3RyaW5nKSBvbiB3aW5kb3cu
bmF2aWdhdG9yIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgYXNz
ZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAidW5yZWdpc3RlclByb3RvY29sSGFuZGxlciIgbm90IGZv
dW5kIGluIHByb3RvdHlwZSBjaGFpbgogUEFTUyBOYXZpZ2F0b3IgaW50ZXJmYWNlOiB3aW5kb3cu
bmF2aWdhdG9yIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiY29va2llRW5hYmxlZCIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUgCkBAIC01MjEzLDcgKzUyMzksNiBAQCBQQVNTIFNWR0VsZW1lbnQgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgb25tb3VzZW1vdmUKIFBBU1MgU1ZHRWxlbWVudCBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBvbm1vdXNlb3V0IAogUEFTUyBTVkdFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRl
IG9ubW91c2VvdmVyIAogUEFTUyBTVkdFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ubW91
c2V1cCAKLUZBSUwgU1ZHRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndoZWVsIGFzc2Vy
dF90cnVlOiBwcm9wZXJ0eSBzaG91bGQgYmUgZW51bWVyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBm
YWxzZQogUEFTUyBTVkdFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ucGF1c2UgCiBQQVNT
IFNWR0VsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25wbGF5IAogUEFTUyBTVkdFbGVtZW50
IGludGVyZmFjZTogYXR0cmlidXRlIG9ucGxheWluZyAKQEAgLTUyMzQsNiArNTI1OSwxMSBAQCBQ
QVNTIFNWR0VsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb250aW1ldXBkYXRlCiBQQVNTIFNW
R0VsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb250b2dnbGUgCiBQQVNTIFNWR0VsZW1lbnQg
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgb252b2x1bWVjaGFuZ2UgCiBQQVNTIFNWR0VsZW1lbnQgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgb253YWl0aW5nIAorRkFJTCBTVkdFbGVtZW50IGludGVyZmFjZTog
YXR0cmlidXRlIG9ud2Via2l0YW5pbWF0aW9uZW5kIGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVj
dGVkIHByb3BlcnR5ICJvbndlYmtpdGFuaW1hdGlvbmVuZCIgbWlzc2luZworRkFJTCBTVkdFbGVt
ZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ud2Via2l0YW5pbWF0aW9uaXRlcmF0aW9uIGFzc2Vy
dF9vd25fcHJvcGVydHk6IGV4cGVjdGVkIHByb3BlcnR5ICJvbndlYmtpdGFuaW1hdGlvbml0ZXJh
dGlvbiIgbWlzc2luZworRkFJTCBTVkdFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ud2Vi
a2l0YW5pbWF0aW9uc3RhcnQgYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkg
Im9ud2Via2l0YW5pbWF0aW9uc3RhcnQiIG1pc3NpbmcKK0ZBSUwgU1ZHRWxlbWVudCBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBvbndlYmtpdHRyYW5zaXRpb25lbmQgYXNzZXJ0X293bl9wcm9wZXJ0eTog
ZXhwZWN0ZWQgcHJvcGVydHkgIm9ud2Via2l0dHJhbnNpdGlvbmVuZCIgbWlzc2luZworRkFJTCBT
VkdFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ud2hlZWwgYXNzZXJ0X3RydWU6IHByb3Bl
cnR5IHNob3VsZCBiZSBlbnVtZXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCiBGQUlMIFNW
R0VsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25jb3B5IGFzc2VydF9vd25fcHJvcGVydHk6
IGV4cGVjdGVkIHByb3BlcnR5ICJvbmNvcHkiIG1pc3NpbmcKIEZBSUwgU1ZHRWxlbWVudCBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSBvbmN1dCBhc3NlcnRfb3duX3Byb3BlcnR5OiBleHBlY3RlZCBwcm9w
ZXJ0eSAib25jdXQiIG1pc3NpbmcKIEZBSUwgU1ZHRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBvbnBhc3RlIGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVjdGVkIHByb3BlcnR5ICJvbnBhc3Rl
IiBtaXNzaW5nCkBAIC01MzQ2LDcgKzUzNzYsNiBAQCBQQVNTIERvY3VtZW50IGludGVyZmFjZTog
YXR0cmlidXRlIG9ubW91c2Vtb3ZlCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogYXR0cmlidXRl
IG9ubW91c2VvdXQgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ubW91c2Vv
dmVyIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbm1vdXNldXAgCi1GQUlM
IERvY3VtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ud2hlZWwgYXNzZXJ0X3RydWU6IHByb3Bl
cnR5IHNob3VsZCBiZSBlbnVtZXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCiBQQVNTIERv
Y3VtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ucGF1c2UgCiBQQVNTIERvY3VtZW50IGludGVy
ZmFjZTogYXR0cmlidXRlIG9ucGxheSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgb25wbGF5aW5nIApAQCAtNTM2Nyw2ICs1Mzk2LDExIEBAIFBBU1MgRG9jdW1lbnQgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgb250aW1ldXBkYXRlCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogYXR0
cmlidXRlIG9udG9nZ2xlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnZv
bHVtZWNoYW5nZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253YWl0aW5n
IAorRkFJTCBEb2N1bWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndlYmtpdGFuaW1hdGlvbmVu
ZCBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgc2hvdWxkIGJlIGVudW1lcmFibGUgZXhwZWN0ZWQgdHJ1
ZSBnb3QgZmFsc2UKK0ZBSUwgRG9jdW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253ZWJraXRh
bmltYXRpb25pdGVyYXRpb24gYXNzZXJ0X3RydWU6IHByb3BlcnR5IHNob3VsZCBiZSBlbnVtZXJh
YmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIERvY3VtZW50IGludGVyZmFjZTogYXR0
cmlidXRlIG9ud2Via2l0YW5pbWF0aW9uc3RhcnQgYXNzZXJ0X3RydWU6IHByb3BlcnR5IHNob3Vs
ZCBiZSBlbnVtZXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIERvY3VtZW50IGlu
dGVyZmFjZTogYXR0cmlidXRlIG9ud2Via2l0dHJhbnNpdGlvbmVuZCBhc3NlcnRfdHJ1ZTogcHJv
cGVydHkgc2hvdWxkIGJlIGVudW1lcmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwg
RG9jdW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253aGVlbCBhc3NlcnRfdHJ1ZTogcHJvcGVy
dHkgc2hvdWxkIGJlIGVudW1lcmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKIFBBU1MgRG9j
dW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25jb3B5IAogUEFTUyBEb2N1bWVudCBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBvbmN1dCAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
b25wYXN0ZSAKQEAgLTU0NjgsNyArNTUwMiw2IEBAIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBp
ZnJhbWUuY29udGVudERvY3VtZW50IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25tb3VzZW1vCiBQ
QVNTIERvY3VtZW50IGludGVyZmFjZTogaWZyYW1lLmNvbnRlbnREb2N1bWVudCBtdXN0IGluaGVy
aXQgcHJvcGVydHkgIm9ubW91c2VvdXQiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1
bWVudCBpbnRlcmZhY2U6IGlmcmFtZS5jb250ZW50RG9jdW1lbnQgbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJvbm1vdXNlb3ZlciIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIERvY3VtZW50IGlu
dGVyZmFjZTogaWZyYW1lLmNvbnRlbnREb2N1bWVudCBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9u
bW91c2V1cCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCi1QQVNTIERvY3VtZW50IGludGVyZmFjZTog
aWZyYW1lLmNvbnRlbnREb2N1bWVudCBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2hlZWwiIHdp
dGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGlmcmFtZS5jb250
ZW50RG9jdW1lbnQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnBhdXNlIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBpZnJhbWUuY29udGVudERvY3VtZW50
IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25wbGF5IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBB
U1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBpZnJhbWUuY29udGVudERvY3VtZW50IG11c3QgaW5oZXJp
dCBwcm9wZXJ0eSAib25wbGF5aW5nIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKQEAgLTU0ODksNiAr
NTUyMiwxMSBAQCBQQVNTIERvY3VtZW50IGludGVyZmFjZTogaWZyYW1lLmNvbnRlbnREb2N1bWVu
dCBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9udGltZXVwZAogUEFTUyBEb2N1bWVudCBpbnRlcmZh
Y2U6IGlmcmFtZS5jb250ZW50RG9jdW1lbnQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnRvZ2ds
ZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogaWZyYW1l
LmNvbnRlbnREb2N1bWVudCBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9udm9sdW1lY2hhbmdlIiB3
aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBpZnJhbWUuY29u
dGVudERvY3VtZW50IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253YWl0aW5nIiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSAKK1BBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBpZnJhbWUuY29udGVudERvY3Vt
ZW50IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253ZWJraXRhbmltYXRpb25lbmQiIHdpdGggdGhl
IHByb3BlciB0eXBlIAorUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGlmcmFtZS5jb250ZW50RG9j
dW1lbnQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndlYmtpdGFuaW1hdGlvbml0ZXJhdGlvbiIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIERvY3VtZW50IGludGVyZmFjZTogaWZyYW1lLmNv
bnRlbnREb2N1bWVudCBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2Via2l0YW5pbWF0aW9uc3Rh
cnQiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGlmcmFt
ZS5jb250ZW50RG9jdW1lbnQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndlYmtpdHRyYW5zaXRp
b25lbmQiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGlm
cmFtZS5jb250ZW50RG9jdW1lbnQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndoZWVsIiB3aXRo
IHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBpZnJhbWUuY29udGVu
dERvY3VtZW50IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25jb3B5IiB3aXRoIHRoZSBwcm9wZXIg
dHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBpZnJhbWUuY29udGVudERvY3VtZW50IG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25jdXQiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBE
b2N1bWVudCBpbnRlcmZhY2U6IGlmcmFtZS5jb250ZW50RG9jdW1lbnQgbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJvbnBhc3RlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKQEAgLTU1OTAsNyArNTYyOCw2
IEBAIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBuZXcgRG9jdW1lbnQoKSBtdXN0IGluaGVyaXQg
cHJvcGVydHkgIm9ubW91c2Vtb3ZlIiB3aXRoCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogbmV3
IERvY3VtZW50KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbm1vdXNlb3V0IiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBuZXcgRG9jdW1lbnQoKSBtdXN0
IGluaGVyaXQgcHJvcGVydHkgIm9ubW91c2VvdmVyIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBB
U1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBuZXcgRG9jdW1lbnQoKSBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgIm9ubW91c2V1cCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCi1QQVNTIERvY3VtZW50IGludGVy
ZmFjZTogbmV3IERvY3VtZW50KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndoZWVsIiB3aXRo
IHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBuZXcgRG9jdW1lbnQo
KSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ucGF1c2UiIHdpdGggdGhlIHByb3BlciB0eXBlIAog
UEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IG5ldyBEb2N1bWVudCgpIG11c3QgaW5oZXJpdCBwcm9w
ZXJ0eSAib25wbGF5IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJm
YWNlOiBuZXcgRG9jdW1lbnQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ucGxheWluZyIgd2l0
aCB0aGUgcHJvcGVyIHR5cGUgCkBAIC01NjExLDYgKzU2NDgsMTEgQEAgUEFTUyBEb2N1bWVudCBp
bnRlcmZhY2U6IG5ldyBEb2N1bWVudCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib250aW1ldXBk
YXRlIiB3aXQKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBuZXcgRG9jdW1lbnQoKSBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgIm9udG9nZ2xlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9j
dW1lbnQgaW50ZXJmYWNlOiBuZXcgRG9jdW1lbnQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9u
dm9sdW1lY2hhbmdlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJm
YWNlOiBuZXcgRG9jdW1lbnQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2FpdGluZyIgd2l0
aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIERvY3VtZW50IGludGVyZmFjZTogbmV3IERvY3VtZW50
KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndlYmtpdGFuaW1hdGlvbmVuZCIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUgCitQQVNTIERvY3VtZW50IGludGVyZmFjZTogbmV3IERvY3VtZW50KCkgbXVz
dCBpbmhlcml0IHByb3BlcnR5ICJvbndlYmtpdGFuaW1hdGlvbml0ZXJhdGlvbiIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUgCitQQVNTIERvY3VtZW50IGludGVyZmFjZTogbmV3IERvY3VtZW50KCkgbXVz
dCBpbmhlcml0IHByb3BlcnR5ICJvbndlYmtpdGFuaW1hdGlvbnN0YXJ0IiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAKK1BBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBuZXcgRG9jdW1lbnQoKSBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgIm9ud2Via2l0dHJhbnNpdGlvbmVuZCIgd2l0aCB0aGUgcHJvcGVyIHR5
cGUgCitQQVNTIERvY3VtZW50IGludGVyZmFjZTogbmV3IERvY3VtZW50KCkgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJvbndoZWVsIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQg
aW50ZXJmYWNlOiBuZXcgRG9jdW1lbnQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9uY29weSIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogbmV3IERvY3Vt
ZW50KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbmN1dCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUg
CiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogbmV3IERvY3VtZW50KCkgbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJvbnBhc3RlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKQEAgLTU3MTIsNyArNTc1NCw2
IEBAIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudFdpdGhIYW5kbGVycyBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgIm9ubW91c2Vtb3ZlCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogZG9j
dW1lbnRXaXRoSGFuZGxlcnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbm1vdXNlb3V0IiB3aXRo
IHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudFdpdGhI
YW5kbGVycyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ubW91c2VvdmVyIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudFdpdGhIYW5kbGVycyBt
dXN0IGluaGVyaXQgcHJvcGVydHkgIm9ubW91c2V1cCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCi1Q
QVNTIERvY3VtZW50IGludGVyZmFjZTogZG9jdW1lbnRXaXRoSGFuZGxlcnMgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJvbndoZWVsIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQg
aW50ZXJmYWNlOiBkb2N1bWVudFdpdGhIYW5kbGVycyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9u
cGF1c2UiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGRv
Y3VtZW50V2l0aEhhbmRsZXJzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25wbGF5IiB3aXRoIHRo
ZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudFdpdGhIYW5k
bGVycyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ucGxheWluZyIgd2l0aCB0aGUgcHJvcGVyIHR5
cGUgCkBAIC01NzMzLDYgKzU3NzQsMTEgQEAgUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGRvY3Vt
ZW50V2l0aEhhbmRsZXJzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib250aW1ldXBkYXQKIFBBU1Mg
RG9jdW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudFdpdGhIYW5kbGVycyBtdXN0IGluaGVyaXQgcHJv
cGVydHkgIm9udG9nZ2xlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50
ZXJmYWNlOiBkb2N1bWVudFdpdGhIYW5kbGVycyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9udm9s
dW1lY2hhbmdlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNl
OiBkb2N1bWVudFdpdGhIYW5kbGVycyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2FpdGluZyIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIERvY3VtZW50IGludGVyZmFjZTogZG9jdW1lbnRX
aXRoSGFuZGxlcnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndlYmtpdGFuaW1hdGlvbmVuZCIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIERvY3VtZW50IGludGVyZmFjZTogZG9jdW1lbnRX
aXRoSGFuZGxlcnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndlYmtpdGFuaW1hdGlvbml0ZXJh
dGlvbiIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIERvY3VtZW50IGludGVyZmFjZTogZG9j
dW1lbnRXaXRoSGFuZGxlcnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndlYmtpdGFuaW1hdGlv
bnN0YXJ0IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBk
b2N1bWVudFdpdGhIYW5kbGVycyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2Via2l0dHJhbnNp
dGlvbmVuZCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIERvY3VtZW50IGludGVyZmFjZTog
ZG9jdW1lbnRXaXRoSGFuZGxlcnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndoZWVsIiB3aXRo
IHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudFdpdGhI
YW5kbGVycyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9uY29weSIgd2l0aCB0aGUgcHJvcGVyIHR5
cGUgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogZG9jdW1lbnRXaXRoSGFuZGxlcnMgbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJvbmN1dCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIERvY3Vt
ZW50IGludGVyZmFjZTogZG9jdW1lbnRXaXRoSGFuZGxlcnMgbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJvbnBhc3RlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy13azIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Rv
bS9pZGxoYXJuZXNzLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy13azIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2RvbS9pZGxoYXJuZXNz
Lmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCA1OGY4ZTg2NjFjMGUzNTY4Yjk2ZWY0NWFlZDhhZWRh
MTkwZDU5ZDMwLi43N2Y2YTBiMmJlNmJkNmVhNWM1MWY2NWQzZGNjNDM3NGY2NmIwYzE3IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9kb20vaWRsaGFybmVzcy5odHRwcy1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvZG9tL2lkbGhhcm5lc3MuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xNjgsNyArMTY4
LDcgQEAgUEFTUyBTaGFkb3dSb290IGluY2x1ZGVzIERvY3VtZW50T3JTaGFkb3dSb290OiBtZW1i
ZXIgbmFtZXMgYXJlIHVuaXF1ZQogUEFTUyBFbGVtZW50IGluY2x1ZGVzIFBhcmVudE5vZGU6IG1l
bWJlciBuYW1lcyBhcmUgdW5pcXVlIAogUEFTUyBFbGVtZW50IGluY2x1ZGVzIE5vbkRvY3VtZW50
VHlwZUNoaWxkTm9kZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNTIEVsZW1lbnQgaW5j
bHVkZXMgQ2hpbGROb2RlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKLVBBU1MgRWxlbWVudCBp
bmNsdWRlcyBTbG90YWJsZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCitQQVNTIEVsZW1lbnQg
aW5jbHVkZXMgU2xvdHRhYmxlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgSFRNTEFs
bENvbGxlY3Rpb24gaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIG9iamVjdCAKIFBBU1MgSFRNTEFsbENvbGxlY3Rpb24gaW50ZXJmYWNlIG9iamVjdCBsZW5n
dGggCiBQQVNTIEhUTUxBbGxDb2xsZWN0aW9uIGludGVyZmFjZSBvYmplY3QgbmFtZSAKQEAgLTI5
OCw3ICsyOTgsNiBAQCBQQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ubW91
c2Vtb3ZlCiBQQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ubW91c2VvdXQg
CiBQQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ubW91c2VvdmVyIAogUEFT
UyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbm1vdXNldXAgCi1GQUlMIEhUTUxF
bGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ud2hlZWwgYXNzZXJ0X3RydWU6IHByb3BlcnR5
IHNob3VsZCBiZSBlbnVtZXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCiBQQVNTIEhUTUxF
bGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ucGF1c2UgCiBQQVNTIEhUTUxFbGVtZW50IGlu
dGVyZmFjZTogYXR0cmlidXRlIG9ucGxheSAKIFBBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgb25wbGF5aW5nIApAQCAtMzE5LDYgKzMxOCwxMSBAQCBQQVNTIEhUTUxFbGVtZW50
IGludGVyZmFjZTogYXR0cmlidXRlIG9udGltZXVwZGF0ZQogUEFTUyBIVE1MRWxlbWVudCBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSBvbnRvZ2dsZSAKIFBBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgb252b2x1bWVjaGFuZ2UgCiBQQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTogYXR0
cmlidXRlIG9ud2FpdGluZyAKK0ZBSUwgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
b253ZWJraXRhbmltYXRpb25lbmQgYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVy
dHkgIm9ud2Via2l0YW5pbWF0aW9uZW5kIiBtaXNzaW5nCitGQUlMIEhUTUxFbGVtZW50IGludGVy
ZmFjZTogYXR0cmlidXRlIG9ud2Via2l0YW5pbWF0aW9uaXRlcmF0aW9uIGFzc2VydF9vd25fcHJv
cGVydHk6IGV4cGVjdGVkIHByb3BlcnR5ICJvbndlYmtpdGFuaW1hdGlvbml0ZXJhdGlvbiIgbWlz
c2luZworRkFJTCBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndlYmtpdGFuaW1h
dGlvbnN0YXJ0IGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVjdGVkIHByb3BlcnR5ICJvbndlYmtp
dGFuaW1hdGlvbnN0YXJ0IiBtaXNzaW5nCitGQUlMIEhUTUxFbGVtZW50IGludGVyZmFjZTogYXR0
cmlidXRlIG9ud2Via2l0dHJhbnNpdGlvbmVuZCBhc3NlcnRfb3duX3Byb3BlcnR5OiBleHBlY3Rl
ZCBwcm9wZXJ0eSAib253ZWJraXR0cmFuc2l0aW9uZW5kIiBtaXNzaW5nCitGQUlMIEhUTUxFbGVt
ZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ud2hlZWwgYXNzZXJ0X3RydWU6IHByb3BlcnR5IHNo
b3VsZCBiZSBlbnVtZXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCiBGQUlMIEhUTUxFbGVt
ZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9uY29weSBhc3NlcnRfb3duX3Byb3BlcnR5OiBleHBl
Y3RlZCBwcm9wZXJ0eSAib25jb3B5IiBtaXNzaW5nCiBGQUlMIEhUTUxFbGVtZW50IGludGVyZmFj
ZTogYXR0cmlidXRlIG9uY3V0IGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVjdGVkIHByb3BlcnR5
ICJvbmN1dCIgbWlzc2luZwogRkFJTCBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBv
bnBhc3RlIGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVjdGVkIHByb3BlcnR5ICJvbnBhc3RlIiBt
aXNzaW5nCkBAIC0zODksNyArMzkzLDYgQEAgUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoIm5vc2NyaXB0IikgbXVzdCBpbmhlcml0IHByb3AKIFBBU1Mg
SFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJub3NjcmlwdCIp
IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25tb3VzZW91dCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUg
CiBQQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibm9z
Y3JpcHQiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ubW91c2VvdmVyIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAKIFBBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJub3NjcmlwdCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25tb3VzZXVwIiB3aXRoIHRo
ZSBwcm9wZXIgdHlwZSAKLVBBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJub3NjcmlwdCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253aGVlbCIgd2l0
aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgibm9zY3JpcHQiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ucGF1c2Ui
IHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoIm5vc2NyaXB0IikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnBs
YXkiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoIm5vc2NyaXB0IikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJv
bnBsYXlpbmciIHdpdGggdGhlIHByb3BlciB0eXBlIApAQCAtNDEwLDYgKzQxMywxMSBAQCBQQVNT
IEhUTUxFbGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibm9zY3JpcHQi
KSBtdXN0IGluaGVyaXQgcHJvcAogUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoIm5vc2NyaXB0IikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnRvZ2ds
ZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTogZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgibm9zY3JpcHQiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9u
dm9sdW1lY2hhbmdlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgSFRNTEVsZW1lbnQgaW50
ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJub3NjcmlwdCIpIG11c3QgaW5oZXJpdCBw
cm9wZXJ0eSAib253YWl0aW5nIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgSFRNTEVsZW1l
bnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJub3NjcmlwdCIpIG11c3QgaW5o
ZXJpdCBwcm9wZXJ0eSAib253ZWJraXRhbmltYXRpb25lbmQiIHdpdGggdGhlIHByb3BlciB0eXBl
IAorUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm5v
c2NyaXB0IikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndlYmtpdGFuaW1hdGlvbml0ZXJhdGlv
biIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTogZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgibm9zY3JpcHQiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9u
d2Via2l0YW5pbWF0aW9uc3RhcnQiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBIVE1MRWxl
bWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm5vc2NyaXB0IikgbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJvbndlYmtpdHRyYW5zaXRpb25lbmQiIHdpdGggdGhlIHByb3BlciB0
eXBlIAorUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
Im5vc2NyaXB0IikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndoZWVsIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAKIFBBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJub3NjcmlwdCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25jb3B5IiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSAKIFBBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJub3NjcmlwdCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25jdXQiIHdpdGggdGhl
IHByb3BlciB0eXBlIAogUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoIm5vc2NyaXB0IikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnBhc3RlIiB3aXRo
IHRoZSBwcm9wZXIgdHlwZSAKQEAgLTg5MCw2ICs4OTgsNyBAQCBQQVNTIEhUTUxJbWFnZUVsZW1l
bnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgY29tcGxldGUKIFBBU1MgSFRNTEltYWdlRWxlbWVudCBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBjdXJyZW50U3JjIAogUEFTUyBIVE1MSW1hZ2VFbGVtZW50IGlu
dGVyZmFjZTogYXR0cmlidXRlIHJlZmVycmVyUG9saWN5IAogUEFTUyBIVE1MSW1hZ2VFbGVtZW50
IGludGVyZmFjZTogYXR0cmlidXRlIGRlY29kaW5nIAorRkFJTCBIVE1MSW1hZ2VFbGVtZW50IGlu
dGVyZmFjZTogYXR0cmlidXRlIGxvYWRpbmcgYXNzZXJ0X3RydWU6IFRoZSBwcm90b3R5cGUgb2Jq
ZWN0IG11c3QgaGF2ZSBhIHByb3BlcnR5ICJsb2FkaW5nIiBleHBlY3RlZCB0cnVlIGdvdCBmYWxz
ZQogUEFTUyBIVE1MSW1hZ2VFbGVtZW50IGludGVyZmFjZTogb3BlcmF0aW9uIGRlY29kZSgpIAog
UEFTUyBIVE1MSW1hZ2VFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG5hbWUgCiBQQVNTIEhU
TUxJbWFnZUVsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbG93c3JjIApAQCAtOTE1LDYgKzky
NCw3IEBAIFBBU1MgSFRNTEltYWdlRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImltZyIpIG11c3QgaW5oZXJpdCBwcm9wCiBQQVNTIEhUTUxJbWFnZUVsZW1lbnQgaW50
ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKSBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgImN1cnJlbnRTcmMiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBIVE1MSW1hZ2VFbGVt
ZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIikgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJyZWZlcnJlclBvbGljeSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIEhU
TUxJbWFnZUVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKSBt
dXN0IGluaGVyaXQgcHJvcGVydHkgImRlY29kaW5nIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK0ZB
SUwgSFRNTEltYWdlRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlt
ZyIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibG9hZGluZyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUg
YXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAibG9hZGluZyIgbm90IGZvdW5kIGluIHByb3RvdHlw
ZSBjaGFpbgogUEFTUyBIVE1MSW1hZ2VFbGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgiaW1nIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJkZWNvZGUoKSIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUgCiBQQVNTIEhUTUxJbWFnZUVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJpbWciKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm5hbWUiIHdpdGggdGhl
IHByb3BlciB0eXBlIAogUEFTUyBIVE1MSW1hZ2VFbGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgiaW1nIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJsb3dzcmMiIHdpdGgg
dGhlIHByb3BlciB0eXBlIApAQCAtOTQwLDYgKzk1MCw3IEBAIFBBU1MgSFRNTEltYWdlRWxlbWVu
dCBpbnRlcmZhY2U6IG5ldyBJbWFnZSgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiY29tcGxldGUi
IHdpCiBQQVNTIEhUTUxJbWFnZUVsZW1lbnQgaW50ZXJmYWNlOiBuZXcgSW1hZ2UoKSBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgImN1cnJlbnRTcmMiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBI
VE1MSW1hZ2VFbGVtZW50IGludGVyZmFjZTogbmV3IEltYWdlKCkgbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJyZWZlcnJlclBvbGljeSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIEhUTUxJbWFn
ZUVsZW1lbnQgaW50ZXJmYWNlOiBuZXcgSW1hZ2UoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImRl
Y29kaW5nIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK0ZBSUwgSFRNTEltYWdlRWxlbWVudCBpbnRl
cmZhY2U6IG5ldyBJbWFnZSgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibG9hZGluZyIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAibG9hZGluZyIgbm90IGZv
dW5kIGluIHByb3RvdHlwZSBjaGFpbgogUEFTUyBIVE1MSW1hZ2VFbGVtZW50IGludGVyZmFjZTog
bmV3IEltYWdlKCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJkZWNvZGUoKSIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUgCiBQQVNTIEhUTUxJbWFnZUVsZW1lbnQgaW50ZXJmYWNlOiBuZXcgSW1hZ2UoKSBt
dXN0IGluaGVyaXQgcHJvcGVydHkgIm5hbWUiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBI
VE1MSW1hZ2VFbGVtZW50IGludGVyZmFjZTogbmV3IEltYWdlKCkgbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJsb3dzcmMiIHdpdGggdGhlIHByb3BlciB0eXBlIApAQCAtNDIyOCw3ICs0MjM5LDcgQEAg
RkFJTCBFbGVtZW50SW50ZXJuYWxzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBwcm90b3R5cGUKIEZBSUwgRWxlbWVudEludGVybmFscyBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdz
IEBAdW5zY29wYWJsZXMgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5v
dCBoYXZlIG93biBwcm9wZXJ0eSAiRWxlbWVudEludGVybmFscyIgZXhwZWN0ZWQgcHJvcGVydHkg
IkVsZW1lbnRJbnRlcm5hbHMiIG1pc3NpbmcKIEZBSUwgRWxlbWVudEludGVybmFscyBpbnRlcmZh
Y2U6IG9wZXJhdGlvbiBzZXRGb3JtVmFsdWUoKEZpbGUgb3IgVVNWU3RyaW5nIG9yIEZvcm1EYXRh
KT8sIG9wdGlvbmFsIChGaWxlIG9yIFVTVlN0cmluZyBvciBGb3JtRGF0YSk/KSBhc3NlcnRfb3du
X3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJFbGVtZW50SW50ZXJu
YWxzIiBleHBlY3RlZCBwcm9wZXJ0eSAiRWxlbWVudEludGVybmFscyIgbWlzc2luZwogRkFJTCBF
bGVtZW50SW50ZXJuYWxzIGludGVyZmFjZTogYXR0cmlidXRlIGZvcm0gYXNzZXJ0X293bl9wcm9w
ZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiRWxlbWVudEludGVybmFscyIg
ZXhwZWN0ZWQgcHJvcGVydHkgIkVsZW1lbnRJbnRlcm5hbHMiIG1pc3NpbmcKLUZBSUwgRWxlbWVu
dEludGVybmFscyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBzZXRWYWxpZGl0eShWYWxpZGl0eVN0YXRl
RmxhZ3MsIG9wdGlvbmFsIERPTVN0cmluZywgb3B0aW9uYWwgSFRNTEVsZW1lbnQpIGFzc2VydF9v
d25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkVsZW1lbnRJbnRl
cm5hbHMiIGV4cGVjdGVkIHByb3BlcnR5ICJFbGVtZW50SW50ZXJuYWxzIiBtaXNzaW5nCitGQUlM
IEVsZW1lbnRJbnRlcm5hbHMgaW50ZXJmYWNlOiBvcGVyYXRpb24gc2V0VmFsaWRpdHkob3B0aW9u
YWwgVmFsaWRpdHlTdGF0ZUZsYWdzLCBvcHRpb25hbCBET01TdHJpbmcsIG9wdGlvbmFsIEhUTUxF
bGVtZW50KSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3Bl
cnR5ICJFbGVtZW50SW50ZXJuYWxzIiBleHBlY3RlZCBwcm9wZXJ0eSAiRWxlbWVudEludGVybmFs
cyIgbWlzc2luZwogRkFJTCBFbGVtZW50SW50ZXJuYWxzIGludGVyZmFjZTogYXR0cmlidXRlIHdp
bGxWYWxpZGF0ZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHBy
b3BlcnR5ICJFbGVtZW50SW50ZXJuYWxzIiBleHBlY3RlZCBwcm9wZXJ0eSAiRWxlbWVudEludGVy
bmFscyIgbWlzc2luZwogRkFJTCBFbGVtZW50SW50ZXJuYWxzIGludGVyZmFjZTogYXR0cmlidXRl
IHZhbGlkaXR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJv
cGVydHkgIkVsZW1lbnRJbnRlcm5hbHMiIGV4cGVjdGVkIHByb3BlcnR5ICJFbGVtZW50SW50ZXJu
YWxzIiBtaXNzaW5nCiBGQUlMIEVsZW1lbnRJbnRlcm5hbHMgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
dmFsaWRhdGlvbk1lc3NhZ2UgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZl
IG93biBwcm9wZXJ0eSAiRWxlbWVudEludGVybmFscyIgZXhwZWN0ZWQgcHJvcGVydHkgIkVsZW1l
bnRJbnRlcm5hbHMiIG1pc3NpbmcKQEAgLTQzNjYsNyArNDM3Nyw2IEBAIFBBU1MgV2luZG93IGlu
dGVyZmFjZTogYXR0cmlidXRlIG9ubW91c2Vtb3ZlCiBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBvbm1vdXNlb3V0IAogUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25t
b3VzZW92ZXIgCiBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbm1vdXNldXAgCi1G
QUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndoZWVsIGFzc2VydF90cnVlOiBwcm9w
ZXJ0eSBzaG91bGQgYmUgZW51bWVyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQogUEFTUyBX
aW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25wYXVzZSAKIFBBU1MgV2luZG93IGludGVyZmFj
ZTogYXR0cmlidXRlIG9ucGxheSAKIFBBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9u
cGxheWluZyAKQEAgLTQzODcsNiArNDM5NywxMSBAQCBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBvbnRpbWV1cGRhdGUKIFBBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9u
dG9nZ2xlIAogUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb252b2x1bWVjaGFuZ2Ug
CiBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndhaXRpbmcgCitGQUlMIFdpbmRv
dyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndlYmtpdGFuaW1hdGlvbmVuZCBhc3NlcnRfdHJ1ZTog
cHJvcGVydHkgc2hvdWxkIGJlIGVudW1lcmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZB
SUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ud2Via2l0YW5pbWF0aW9uaXRlcmF0aW9u
IGFzc2VydF90cnVlOiBwcm9wZXJ0eSBzaG91bGQgYmUgZW51bWVyYWJsZSBleHBlY3RlZCB0cnVl
IGdvdCBmYWxzZQorRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253ZWJraXRhbmlt
YXRpb25zdGFydCBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgc2hvdWxkIGJlIGVudW1lcmFibGUgZXhw
ZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9u
d2Via2l0dHJhbnNpdGlvbmVuZCBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgc2hvdWxkIGJlIGVudW1l
cmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2luZG93IGludGVyZmFjZTogYXR0
cmlidXRlIG9ud2hlZWwgYXNzZXJ0X3RydWU6IHByb3BlcnR5IHNob3VsZCBiZSBlbnVtZXJhYmxl
IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCiBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBvbmFmdGVycHJpbnQgCiBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmJlZm9y
ZXByaW50IAogUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25iZWZvcmV1bmxvYWQg
CkBAIC00NTExLDcgKzQ1MjYsNiBAQCBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IHdpbmRvdyBtdXN0
IGluaGVyaXQgcHJvcGVydHkgIm9ubW91c2Vtb3ZlIiB3aXRoIHRoZSBwcm9wZQogUEFTUyBXaW5k
b3cgaW50ZXJmYWNlOiB3aW5kb3cgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbm1vdXNlb3V0IiB3
aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgV2luZG93IGludGVyZmFjZTogd2luZG93IG11c3Qg
aW5oZXJpdCBwcm9wZXJ0eSAib25tb3VzZW92ZXIiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFT
UyBXaW5kb3cgaW50ZXJmYWNlOiB3aW5kb3cgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbm1vdXNl
dXAiIHdpdGggdGhlIHByb3BlciB0eXBlIAotUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiB3aW5kb3cg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndoZWVsIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBB
U1MgV2luZG93IGludGVyZmFjZTogd2luZG93IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25wYXVz
ZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IHdpbmRvdyBt
dXN0IGluaGVyaXQgcHJvcGVydHkgIm9ucGxheSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNT
IFdpbmRvdyBpbnRlcmZhY2U6IHdpbmRvdyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ucGxheWlu
ZyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCkBAIC00NTMyLDYgKzQ1NDYsMTEgQEAgUEFTUyBXaW5k
b3cgaW50ZXJmYWNlOiB3aW5kb3cgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnRpbWV1cGRhdGUi
IHdpdGggdGhlIHByb3AKIFBBU1MgV2luZG93IGludGVyZmFjZTogd2luZG93IG11c3QgaW5oZXJp
dCBwcm9wZXJ0eSAib250b2dnbGUiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBXaW5kb3cg
aW50ZXJmYWNlOiB3aW5kb3cgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnZvbHVtZWNoYW5nZSIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IHdpbmRvdyBtdXN0
IGluaGVyaXQgcHJvcGVydHkgIm9ud2FpdGluZyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNT
IFdpbmRvdyBpbnRlcmZhY2U6IHdpbmRvdyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2Via2l0
YW5pbWF0aW9uZW5kIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgV2luZG93IGludGVyZmFj
ZTogd2luZG93IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253ZWJraXRhbmltYXRpb25pdGVyYXRp
b24iIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiB3aW5kb3cg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndlYmtpdGFuaW1hdGlvbnN0YXJ0IiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSAKK1BBU1MgV2luZG93IGludGVyZmFjZTogd2luZG93IG11c3QgaW5oZXJpdCBw
cm9wZXJ0eSAib253ZWJraXR0cmFuc2l0aW9uZW5kIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BB
U1MgV2luZG93IGludGVyZmFjZTogd2luZG93IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253aGVl
bCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IHdpbmRvdyBt
dXN0IGluaGVyaXQgcHJvcGVydHkgIm9uYWZ0ZXJwcmludCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUg
CiBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IHdpbmRvdyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9u
YmVmb3JlcHJpbnQiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBXaW5kb3cgaW50ZXJmYWNl
OiB3aW5kb3cgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbmJlZm9yZXVubG9hZCIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUgCkBAIC00NzMyLDYgKzQ3NTEsMTMgQEAgUEFTUyBQcm9taXNlUmVqZWN0aW9u
RXZlbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHBy
b3QKIFBBU1MgUHJvbWlzZVJlamVjdGlvbkV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBw
cm9wZXJ0eSAKIFBBU1MgUHJvbWlzZVJlamVjdGlvbkV2ZW50IGludGVyZmFjZTogYXR0cmlidXRl
IHByb21pc2UgCiBQQVNTIFByb21pc2VSZWplY3Rpb25FdmVudCBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSByZWFzb24gCitQQVNTIERPTVBhcnNlciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVy
dGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAorUEFTUyBET01QYXJzZXIgaW50ZXJmYWNlIG9iamVj
dCBsZW5ndGggCitQQVNTIERPTVBhcnNlciBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCitQQVNTIERP
TVBhcnNlciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCAKK1BBU1MgRE9NUGFyc2VyIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9y
IiBwcm9wZXJ0eSAKK1BBU1MgRE9NUGFyc2VyIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9w
ZXJ0eSAKK1BBU1MgRE9NUGFyc2VyIGludGVyZmFjZTogb3BlcmF0aW9uIHBhcnNlRnJvbVN0cmlu
ZyhET01TdHJpbmcsIERPTVBhcnNlclN1cHBvcnRlZFR5cGUpIAogUEFTUyBOYXZpZ2F0b3IgaW50
ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKIFBB
U1MgTmF2aWdhdG9yIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAogUEFTUyBOYXZpZ2F0b3IgaW50
ZXJmYWNlIG9iamVjdCBuYW1lIApAQCAtNDc1Miw3ICs0Nzc4LDcgQEAgRkFJTCBOYXZpZ2F0b3Ig
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgb3NjcHUgYXNzZXJ0X3RydWU6IFRoZSBwcm90b3R5cGUgb2Jq
ZWN0IG11c3QKIFBBU1MgTmF2aWdhdG9yIGludGVyZmFjZTogYXR0cmlidXRlIGxhbmd1YWdlIAog
UEFTUyBOYXZpZ2F0b3IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbGFuZ3VhZ2VzIAogUEFTUyBOYXZp
Z2F0b3IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25MaW5lIAotRkFJTCBOYXZpZ2F0b3IgaW50ZXJm
YWNlOiBvcGVyYXRpb24gcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoRE9NU3RyaW5nLCBVU1ZTdHJp
bmcsIERPTVN0cmluZykgYXNzZXJ0X293bl9wcm9wZXJ0eTogaW50ZXJmYWNlIHByb3RvdHlwZSBv
YmplY3QgbWlzc2luZyBub24tc3RhdGljIG9wZXJhdGlvbiBleHBlY3RlZCBwcm9wZXJ0eSAicmVn
aXN0ZXJQcm90b2NvbEhhbmRsZXIiIG1pc3NpbmcKK0ZBSUwgTmF2aWdhdG9yIGludGVyZmFjZTog
b3BlcmF0aW9uIHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKERPTVN0cmluZywgVVNWU3RyaW5nKSBh
c3NlcnRfb3duX3Byb3BlcnR5OiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBtaXNzaW5nIG5v
bi1zdGF0aWMgb3BlcmF0aW9uIGV4cGVjdGVkIHByb3BlcnR5ICJyZWdpc3RlclByb3RvY29sSGFu
ZGxlciIgbWlzc2luZwogRkFJTCBOYXZpZ2F0b3IgaW50ZXJmYWNlOiBvcGVyYXRpb24gdW5yZWdp
c3RlclByb3RvY29sSGFuZGxlcihET01TdHJpbmcsIFVTVlN0cmluZykgYXNzZXJ0X293bl9wcm9w
ZXJ0eTogaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgbWlzc2luZyBub24tc3RhdGljIG9wZXJh
dGlvbiBleHBlY3RlZCBwcm9wZXJ0eSAidW5yZWdpc3RlclByb3RvY29sSGFuZGxlciIgbWlzc2lu
ZwogUEFTUyBOYXZpZ2F0b3IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgY29va2llRW5hYmxlZCAKIFBB
U1MgTmF2aWdhdG9yIGludGVyZmFjZTogYXR0cmlidXRlIHBsdWdpbnMgCkBAIC00Nzc1LDggKzQ4
MDEsOCBAQCBGQUlMIE5hdmlnYXRvciBpbnRlcmZhY2U6IHdpbmRvdy5uYXZpZ2F0b3IgbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJvc2NwdSIgd2l0aCB0aAogUEFTUyBOYXZpZ2F0b3IgaW50ZXJmYWNl
OiB3aW5kb3cubmF2aWdhdG9yIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibGFuZ3VhZ2UiIHdpdGgg
dGhlIHByb3BlciB0eXBlIAogUEFTUyBOYXZpZ2F0b3IgaW50ZXJmYWNlOiB3aW5kb3cubmF2aWdh
dG9yIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibGFuZ3VhZ2VzIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSAKIFBBU1MgTmF2aWdhdG9yIGludGVyZmFjZTogd2luZG93Lm5hdmlnYXRvciBtdXN0IGluaGVy
aXQgcHJvcGVydHkgIm9uTGluZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCi1GQUlMIE5hdmlnYXRv
ciBpbnRlcmZhY2U6IHdpbmRvdy5uYXZpZ2F0b3IgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJyZWdp
c3RlclByb3RvY29sSGFuZGxlcihET01TdHJpbmcsIFVTVlN0cmluZywgRE9NU3RyaW5nKSIgd2l0
aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAicmVnaXN0ZXJQcm90
b2NvbEhhbmRsZXIiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KLUZBSUwgTmF2aWdhdG9y
IGludGVyZmFjZTogY2FsbGluZyByZWdpc3RlclByb3RvY29sSGFuZGxlcihET01TdHJpbmcsIFVT
VlN0cmluZywgRE9NU3RyaW5nKSBvbiB3aW5kb3cubmF2aWdhdG9yIHdpdGggdG9vIGZldyBhcmd1
bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAicmVn
aXN0ZXJQcm90b2NvbEhhbmRsZXIiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KK0ZBSUwg
TmF2aWdhdG9yIGludGVyZmFjZTogd2luZG93Lm5hdmlnYXRvciBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgInJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKERPTVN0cmluZywgVVNWU3RyaW5nKSIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAicmVnaXN0ZXJQcm90b2Nv
bEhhbmRsZXIiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KK0ZBSUwgTmF2aWdhdG9yIGlu
dGVyZmFjZTogY2FsbGluZyByZWdpc3RlclByb3RvY29sSGFuZGxlcihET01TdHJpbmcsIFVTVlN0
cmluZykgb24gd2luZG93Lm5hdmlnYXRvciB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhy
b3cgVHlwZUVycm9yIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgInJlZ2lzdGVyUHJvdG9jb2xI
YW5kbGVyIiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCiBGQUlMIE5hdmlnYXRvciBpbnRl
cmZhY2U6IHdpbmRvdy5uYXZpZ2F0b3IgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJ1bnJlZ2lzdGVy
UHJvdG9jb2xIYW5kbGVyKERPTVN0cmluZywgVVNWU3RyaW5nKSIgd2l0aCB0aGUgcHJvcGVyIHR5
cGUgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAidW5yZWdpc3RlclByb3RvY29sSGFuZGxlciIg
bm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgogRkFJTCBOYXZpZ2F0b3IgaW50ZXJmYWNlOiBj
YWxsaW5nIHVucmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoRE9NU3RyaW5nLCBVU1ZTdHJpbmcpIG9u
IHdpbmRvdy5uYXZpZ2F0b3Igd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVF
cnJvciBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJ1bnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVy
IiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCiBQQVNTIE5hdmlnYXRvciBpbnRlcmZhY2U6
IHdpbmRvdy5uYXZpZ2F0b3IgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJjb29raWVFbmFibGVkIiB3
aXRoIHRoZSBwcm9wZXIgdHlwZSAKQEAgLTUyMTMsNyArNTIzOSw2IEBAIFBBU1MgU1ZHRWxlbWVu
dCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbm1vdXNlbW92ZQogUEFTUyBTVkdFbGVtZW50IGludGVy
ZmFjZTogYXR0cmlidXRlIG9ubW91c2VvdXQgCiBQQVNTIFNWR0VsZW1lbnQgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgb25tb3VzZW92ZXIgCiBQQVNTIFNWR0VsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgb25tb3VzZXVwIAotRkFJTCBTVkdFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ud2hl
ZWwgYXNzZXJ0X3RydWU6IHByb3BlcnR5IHNob3VsZCBiZSBlbnVtZXJhYmxlIGV4cGVjdGVkIHRy
dWUgZ290IGZhbHNlCiBQQVNTIFNWR0VsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25wYXVz
ZSAKIFBBU1MgU1ZHRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnBsYXkgCiBQQVNTIFNW
R0VsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25wbGF5aW5nIApAQCAtNTIzNCw2ICs1MjU5
LDExIEBAIFBBU1MgU1ZHRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnRpbWV1cGRhdGUK
IFBBU1MgU1ZHRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnRvZ2dsZSAKIFBBU1MgU1ZH
RWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnZvbHVtZWNoYW5nZSAKIFBBU1MgU1ZHRWxl
bWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndhaXRpbmcgCitGQUlMIFNWR0VsZW1lbnQgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgb253ZWJraXRhbmltYXRpb25lbmQgYXNzZXJ0X293bl9wcm9wZXJ0
eTogZXhwZWN0ZWQgcHJvcGVydHkgIm9ud2Via2l0YW5pbWF0aW9uZW5kIiBtaXNzaW5nCitGQUlM
IFNWR0VsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253ZWJraXRhbmltYXRpb25pdGVyYXRp
b24gYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgIm9ud2Via2l0YW5pbWF0
aW9uaXRlcmF0aW9uIiBtaXNzaW5nCitGQUlMIFNWR0VsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgb253ZWJraXRhbmltYXRpb25zdGFydCBhc3NlcnRfb3duX3Byb3BlcnR5OiBleHBlY3RlZCBw
cm9wZXJ0eSAib253ZWJraXRhbmltYXRpb25zdGFydCIgbWlzc2luZworRkFJTCBTVkdFbGVtZW50
IGludGVyZmFjZTogYXR0cmlidXRlIG9ud2Via2l0dHJhbnNpdGlvbmVuZCBhc3NlcnRfb3duX3By
b3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0eSAib253ZWJraXR0cmFuc2l0aW9uZW5kIiBtaXNzaW5n
CitGQUlMIFNWR0VsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253aGVlbCBhc3NlcnRfdHJ1
ZTogcHJvcGVydHkgc2hvdWxkIGJlIGVudW1lcmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UK
IEZBSUwgU1ZHRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmNvcHkgYXNzZXJ0X293bl9w
cm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgIm9uY29weSIgbWlzc2luZwogRkFJTCBTVkdFbGVt
ZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9uY3V0IGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVj
dGVkIHByb3BlcnR5ICJvbmN1dCIgbWlzc2luZwogRkFJTCBTVkdFbGVtZW50IGludGVyZmFjZTog
YXR0cmlidXRlIG9ucGFzdGUgYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkg
Im9ucGFzdGUiIG1pc3NpbmcKQEAgLTUzNDYsNyArNTM3Niw2IEBAIFBBU1MgRG9jdW1lbnQgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgb25tb3VzZW1vdmUKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgb25tb3VzZW91dCAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
b25tb3VzZW92ZXIgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ubW91c2V1
cCAKLUZBSUwgRG9jdW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253aGVlbCBhc3NlcnRfdHJ1
ZTogcHJvcGVydHkgc2hvdWxkIGJlIGVudW1lcmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UK
IFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25wYXVzZSAKIFBBU1MgRG9jdW1l
bnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25wbGF5IAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBvbnBsYXlpbmcgCkBAIC01MzY3LDYgKzUzOTYsMTEgQEAgUEFTUyBEb2N1bWVu
dCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnRpbWV1cGRhdGUKIFBBU1MgRG9jdW1lbnQgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgb250b2dnbGUgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogYXR0cmli
dXRlIG9udm9sdW1lY2hhbmdlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBv
bndhaXRpbmcgCitGQUlMIERvY3VtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ud2Via2l0YW5p
bWF0aW9uZW5kIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBzaG91bGQgYmUgZW51bWVyYWJsZSBleHBl
Y3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBEb2N1bWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBv
bndlYmtpdGFuaW1hdGlvbml0ZXJhdGlvbiBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgc2hvdWxkIGJl
IGVudW1lcmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgRG9jdW1lbnQgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgb253ZWJraXRhbmltYXRpb25zdGFydCBhc3NlcnRfdHJ1ZTogcHJvcGVy
dHkgc2hvdWxkIGJlIGVudW1lcmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgRG9j
dW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253ZWJraXR0cmFuc2l0aW9uZW5kIGFzc2VydF90
cnVlOiBwcm9wZXJ0eSBzaG91bGQgYmUgZW51bWVyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxz
ZQorRkFJTCBEb2N1bWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndoZWVsIGFzc2VydF90cnVl
OiBwcm9wZXJ0eSBzaG91bGQgYmUgZW51bWVyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQog
UEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmNvcHkgCiBQQVNTIERvY3VtZW50
IGludGVyZmFjZTogYXR0cmlidXRlIG9uY3V0IAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBvbnBhc3RlIApAQCAtNTQ2OCw3ICs1NTAyLDYgQEAgUEFTUyBEb2N1bWVudCBpbnRl
cmZhY2U6IGlmcmFtZS5jb250ZW50RG9jdW1lbnQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbm1v
dXNlbW8KIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBpZnJhbWUuY29udGVudERvY3VtZW50IG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25tb3VzZW91dCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQ
QVNTIERvY3VtZW50IGludGVyZmFjZTogaWZyYW1lLmNvbnRlbnREb2N1bWVudCBtdXN0IGluaGVy
aXQgcHJvcGVydHkgIm9ubW91c2VvdmVyIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9j
dW1lbnQgaW50ZXJmYWNlOiBpZnJhbWUuY29udGVudERvY3VtZW50IG11c3QgaW5oZXJpdCBwcm9w
ZXJ0eSAib25tb3VzZXVwIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKLVBBU1MgRG9jdW1lbnQgaW50
ZXJmYWNlOiBpZnJhbWUuY29udGVudERvY3VtZW50IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253
aGVlbCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogaWZy
YW1lLmNvbnRlbnREb2N1bWVudCBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ucGF1c2UiIHdpdGgg
dGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGlmcmFtZS5jb250ZW50
RG9jdW1lbnQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnBsYXkiIHdpdGggdGhlIHByb3BlciB0
eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGlmcmFtZS5jb250ZW50RG9jdW1lbnQgbXVz
dCBpbmhlcml0IHByb3BlcnR5ICJvbnBsYXlpbmciIHdpdGggdGhlIHByb3BlciB0eXBlIApAQCAt
NTQ4OSw2ICs1NTIyLDExIEBAIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBpZnJhbWUuY29udGVu
dERvY3VtZW50IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib250aW1ldXBkCiBQQVNTIERvY3VtZW50
IGludGVyZmFjZTogaWZyYW1lLmNvbnRlbnREb2N1bWVudCBtdXN0IGluaGVyaXQgcHJvcGVydHkg
Im9udG9nZ2xlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNl
OiBpZnJhbWUuY29udGVudERvY3VtZW50IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib252b2x1bWVj
aGFuZ2UiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGlm
cmFtZS5jb250ZW50RG9jdW1lbnQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndhaXRpbmciIHdp
dGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGlmcmFtZS5jb250
ZW50RG9jdW1lbnQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndlYmtpdGFuaW1hdGlvbmVuZCIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIERvY3VtZW50IGludGVyZmFjZTogaWZyYW1lLmNv
bnRlbnREb2N1bWVudCBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2Via2l0YW5pbWF0aW9uaXRl
cmF0aW9uIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBp
ZnJhbWUuY29udGVudERvY3VtZW50IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253ZWJraXRhbmlt
YXRpb25zdGFydCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIERvY3VtZW50IGludGVyZmFj
ZTogaWZyYW1lLmNvbnRlbnREb2N1bWVudCBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2Via2l0
dHJhbnNpdGlvbmVuZCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIERvY3VtZW50IGludGVy
ZmFjZTogaWZyYW1lLmNvbnRlbnREb2N1bWVudCBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2hl
ZWwiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGlmcmFt
ZS5jb250ZW50RG9jdW1lbnQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbmNvcHkiIHdpdGggdGhl
IHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGlmcmFtZS5jb250ZW50RG9j
dW1lbnQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbmN1dCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUg
CiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogaWZyYW1lLmNvbnRlbnREb2N1bWVudCBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgIm9ucGFzdGUiIHdpdGggdGhlIHByb3BlciB0eXBlIApAQCAtNTU5MCw3
ICs1NjI4LDYgQEAgUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IG5ldyBEb2N1bWVudCgpIG11c3Qg
aW5oZXJpdCBwcm9wZXJ0eSAib25tb3VzZW1vdmUiIHdpdGgKIFBBU1MgRG9jdW1lbnQgaW50ZXJm
YWNlOiBuZXcgRG9jdW1lbnQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ubW91c2VvdXQiIHdp
dGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IG5ldyBEb2N1bWVu
dCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25tb3VzZW92ZXIiIHdpdGggdGhlIHByb3BlciB0
eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IG5ldyBEb2N1bWVudCgpIG11c3QgaW5oZXJp
dCBwcm9wZXJ0eSAib25tb3VzZXVwIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKLVBBU1MgRG9jdW1l
bnQgaW50ZXJmYWNlOiBuZXcgRG9jdW1lbnQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2hl
ZWwiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IG5ldyBE
b2N1bWVudCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25wYXVzZSIgd2l0aCB0aGUgcHJvcGVy
IHR5cGUgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogbmV3IERvY3VtZW50KCkgbXVzdCBpbmhl
cml0IHByb3BlcnR5ICJvbnBsYXkiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVu
dCBpbnRlcmZhY2U6IG5ldyBEb2N1bWVudCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25wbGF5
aW5nIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKQEAgLTU2MTEsNiArNTY0OCwxMSBAQCBQQVNTIERv
Y3VtZW50IGludGVyZmFjZTogbmV3IERvY3VtZW50KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJv
bnRpbWV1cGRhdGUiIHdpdAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IG5ldyBEb2N1bWVudCgp
IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib250b2dnbGUiIHdpdGggdGhlIHByb3BlciB0eXBlIAog
UEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IG5ldyBEb2N1bWVudCgpIG11c3QgaW5oZXJpdCBwcm9w
ZXJ0eSAib252b2x1bWVjaGFuZ2UiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVu
dCBpbnRlcmZhY2U6IG5ldyBEb2N1bWVudCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253YWl0
aW5nIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBuZXcg
RG9jdW1lbnQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2Via2l0YW5pbWF0aW9uZW5kIiB3
aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBuZXcgRG9jdW1l
bnQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2Via2l0YW5pbWF0aW9uaXRlcmF0aW9uIiB3
aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBuZXcgRG9jdW1l
bnQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2Via2l0YW5pbWF0aW9uc3RhcnQiIHdpdGgg
dGhlIHByb3BlciB0eXBlIAorUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IG5ldyBEb2N1bWVudCgp
IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253ZWJraXR0cmFuc2l0aW9uZW5kIiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSAKK1BBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBuZXcgRG9jdW1lbnQoKSBtdXN0
IGluaGVyaXQgcHJvcGVydHkgIm9ud2hlZWwiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBE
b2N1bWVudCBpbnRlcmZhY2U6IG5ldyBEb2N1bWVudCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAi
b25jb3B5IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBu
ZXcgRG9jdW1lbnQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9uY3V0IiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBuZXcgRG9jdW1lbnQoKSBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgIm9ucGFzdGUiIHdpdGggdGhlIHByb3BlciB0eXBlIApAQCAtNTcxMiw3
ICs1NzU0LDYgQEAgUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGRvY3VtZW50V2l0aEhhbmRsZXJz
IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25tb3VzZW1vdmUKIFBBU1MgRG9jdW1lbnQgaW50ZXJm
YWNlOiBkb2N1bWVudFdpdGhIYW5kbGVycyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ubW91c2Vv
dXQiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGRvY3Vt
ZW50V2l0aEhhbmRsZXJzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25tb3VzZW92ZXIiIHdpdGgg
dGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGRvY3VtZW50V2l0aEhh
bmRsZXJzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25tb3VzZXVwIiB3aXRoIHRoZSBwcm9wZXIg
dHlwZSAKLVBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudFdpdGhIYW5kbGVycyBtdXN0
IGluaGVyaXQgcHJvcGVydHkgIm9ud2hlZWwiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBE
b2N1bWVudCBpbnRlcmZhY2U6IGRvY3VtZW50V2l0aEhhbmRsZXJzIG11c3QgaW5oZXJpdCBwcm9w
ZXJ0eSAib25wYXVzZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIERvY3VtZW50IGludGVy
ZmFjZTogZG9jdW1lbnRXaXRoSGFuZGxlcnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnBsYXki
IHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGRvY3VtZW50
V2l0aEhhbmRsZXJzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25wbGF5aW5nIiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSAKQEAgLTU3MzMsNiArNTc3NCwxMSBAQCBQQVNTIERvY3VtZW50IGludGVyZmFj
ZTogZG9jdW1lbnRXaXRoSGFuZGxlcnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnRpbWV1cGRh
dAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGRvY3VtZW50V2l0aEhhbmRsZXJzIG11c3QgaW5o
ZXJpdCBwcm9wZXJ0eSAib250b2dnbGUiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1
bWVudCBpbnRlcmZhY2U6IGRvY3VtZW50V2l0aEhhbmRsZXJzIG11c3QgaW5oZXJpdCBwcm9wZXJ0
eSAib252b2x1bWVjaGFuZ2UiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBp
bnRlcmZhY2U6IGRvY3VtZW50V2l0aEhhbmRsZXJzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253
YWl0aW5nIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBk
b2N1bWVudFdpdGhIYW5kbGVycyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2Via2l0YW5pbWF0
aW9uZW5kIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBk
b2N1bWVudFdpdGhIYW5kbGVycyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2Via2l0YW5pbWF0
aW9uaXRlcmF0aW9uIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgRG9jdW1lbnQgaW50ZXJm
YWNlOiBkb2N1bWVudFdpdGhIYW5kbGVycyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2Via2l0
YW5pbWF0aW9uc3RhcnQiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBEb2N1bWVudCBpbnRl
cmZhY2U6IGRvY3VtZW50V2l0aEhhbmRsZXJzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253ZWJr
aXR0cmFuc2l0aW9uZW5kIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgRG9jdW1lbnQgaW50
ZXJmYWNlOiBkb2N1bWVudFdpdGhIYW5kbGVycyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2hl
ZWwiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGRvY3Vt
ZW50V2l0aEhhbmRsZXJzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25jb3B5IiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudFdpdGhIYW5kbGVy
cyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9uY3V0IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBB
U1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudFdpdGhIYW5kbGVycyBtdXN0IGluaGVyaXQg
cHJvcGVydHkgIm9ucGFzdGUiIHdpdGggdGhlIHByb3BlciB0eXBlIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>400583</attachid>
            <date>2020-05-29 08:26:25 -0700</date>
            <delta_ts>2020-05-29 08:27:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-212501-20200529082624.patch</filename>
            <type>text/plain</type>
            <size>2635614</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyMjY1CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNWQ1NWZiY2Q1Y2U2NDI5ODUyNzlm
Nzk4MDJjYWM3ZDU2MGFhYTNmMi4uY2YzYzIwMWMxM2UwNzFhZjAxMWJmMWNiYWYwYTdkY2RjMzRl
NjJhMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTA1LTI4ICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgVXBkYXRlIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRl
cmZhY2VzIGZyb20gdXBzdHJlYW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIxMjUwMQorCisgICAgICAgIFJldmlld2VkIGJ5IEFsZXggQ2hyaXN0ZW5z
ZW4uCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2sxL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9kb20vaWRsaGFybmVzcy5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogcGxhdGZvcm0vbWFjLXdrMi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
ZG9tL2lkbGhhcm5lc3MuaHR0cHMtZXhwZWN0ZWQudHh0OgorCiAyMDIwLTA1LTI4ICBLYXRlIENo
ZW5leSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUuY29tPgogCiAgICAgICAgIE1pbmltdW0gdXNl
ciBpbnRlcmFjdGlvbiB0aW1lIGluIFJlc291cmNlTG9hZFN0YXRpc3RpY3Mgc2hvdWxkIGhhbmRs
ZSB0aGUgY2FzZSBvZiAtMQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggNGI4Mzc3
ZjAyNGYzOWVhOTgxZTMyN2IyMzVlNjhhMWIzNDk3N2ZmNC4uMWU1NWVkOTAyMmJiN2MzYTZhODVk
ZTk5Y2Q3MjIyZGMxOTYzNmE4ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTI1IEBACisyMDIwLTA1LTI4ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+
CisKKyAgICAgICAgVXBkYXRlIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzIGZyb20gdXBz
dHJlYW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIx
MjUwMQorCisgICAgICAgIFJldmlld2VkIGJ5IEFsZXggQ2hyaXN0ZW5zZW4uCisKKyAgICAgICAg
VW5yZXZpZXdlZCwgcmViYXNlbGluZSB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcyBmcm9t
IHVwc3RyZWFtIDZhNzZhMTg1ZjkxM2UzYzAyN2UzNjlhLgorCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi9pZGxoYXJuZXNzLmFueS1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jcmVkZW50aWFsLW1hbmFn
ZW1lbnQvaWRsaGFybmVzcy5odHRwcy53aW5kb3ctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvaWRsaGFybmVzcy1leHBlY3RlZC50
eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdHJhbnNpdGlvbnMvaWRs
aGFybmVzcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3NvbS12aWV3L2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3Nzb20vaW50ZXJmYWNlcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2RvbS9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9kb20vaWRsaGFybmVzcy53aW5kb3ctZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9kb21wYXJzaW5nL2lkbGhhcm5l
c3Mud2luZG93LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9kb20vaWRsaGFybmVzcy53b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL3dlYmFwcGFwaXMvc2NyaXB0aW5nL2V2ZW50cy9ldmVudC1oYW5kbGVy
LWFsbC1nbG9iYWwtZXZlbnRzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC93ZWJhcHBhcGlzL3NjcmlwdGluZy9ldmVudHMvZXZlbnQtaGFuZGxlci1hdHRy
aWJ1dGVzLWJvZHktd2luZG93LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC93ZWJhcHBhcGlzL3NjcmlwdGluZy9ldmVudHMvZXZlbnQtaGFuZGxlci1hdHRy
aWJ1dGVzLXdpbmRvd2xlc3MtYm9keS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2ludGVyZmFjZXMvRE9NLVBhcnNpbmcuaWRsOgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL0luZGV4ZWREQi5pZGw6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2ludGVyZmFjZXMvV2ViQ3J5cHRvQVBJLmlkbDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9hcHBtYW5pZmVzdC5pZGw6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvYmFkZ2luZy5pZGw6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2NsaXBib2FyZC1hcGlzLmlkbDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9jb25zdHJ1Y3Qtc3R5bGVzaGVldHMuaWRs
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9jb29raWUt
c3RvcmUuaWRsOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2Nzcy1m
b250LWxvYWRpbmcuaWRsOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2Vz
L2Nzcy1yZWdpb25zLmlkbDogUmVtb3ZlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
aW50ZXJmYWNlcy9jc3Mtc2hhZG93LXBhcnRzLmlkbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvaW50ZXJmYWNlcy9jc3MtdHlwZWQtb20uaWRsOgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9pbnRlcmZhY2VzL2Nzc29tLXZpZXcuaWRsOgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9pbnRlcmZhY2VzL2Nzc29tLmlkbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvaW50ZXJmYWNlcy9kZXZpY2UtbWVtb3J5LmlkbDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvZG9tLmlkbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvaW50ZXJmYWNlcy9lbmNyeXB0ZWQtbWVkaWEuaWRsOgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2V2ZW50LXRpbWluZy5pZGw6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvZnVsbHNjcmVlbi5pZGw6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvZ2VvbG9jYXRpb24tc2Vuc29yLmlkbDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9oaXQtdGVzdC5pZGw6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2h0bWwuaWRsOgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2ltYWdlLWNhcHR1cmUuaWRsOgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2ludGVyc2VjdGlvbi1vYnNlcnZlci5p
ZGw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvanMtc2VsZi1wcm9m
aWxpbmcuaWRsOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNl
cy9sYXlvdXQtaW5zdGFiaWxpdHkuaWRsOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9p
bnRlcmZhY2VzL21lZGlhLWNhcGFiaWxpdGllcy5pZGw6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2ludGVyZmFjZXMvbWVkaWEtcGxheWJhY2stcXVhbGl0eS5pZGw6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvbWVkaWEtc291cmNlLmlkbDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9tZWRpYXNlc3Npb24uaWRsOgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL21lZGlhc3RyZWFtLXJlY29yZGluZy5p
ZGw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvbXN0LWNvbnRlbnQt
aGludC5pZGw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvbmF0aXZl
LWZpbGUtc3lzdGVtLmlkbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2lu
dGVyZmFjZXMvbmV0aW5mby5pZGw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVy
ZmFjZXMvb3JpZ2luLXBvbGljeS5pZGw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9pbnRlcmZhY2VzL3BhZ2UtbGlmZWN5Y2xlLmlkbDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcGF5bWVudC1tZXRob2QtYmFzaWMtY2FyZC5pZGw6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcGF5bWVudC1yZXF1ZXN0
LmlkbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9wZXJpb2RpYy1i
YWNrZ3JvdW5kLXN5bmMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
aW50ZXJmYWNlcy9wZXJtaXNzaW9ucy1yZXF1ZXN0LmlkbDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcGVybWlzc2lvbnMtcmV2b2tlLmlkbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcGVybWlzc2lvbnMuaWRs
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3BvaW50ZXJldmVudHMu
aWRsOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3JlcG9ydGluZy5p
ZGw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcmVxdWVzdGlkbGVj
YWxsYmFjay5pZGw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcmVz
aXplLW9ic2VydmVyLmlkbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNl
cy9zY3JvbGwtYW5pbWF0aW9ucy5pZGw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2lu
dGVyZmFjZXMvc2hhcGUtZGV0ZWN0aW9uLWFwaS5pZGw6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2ludGVyZmFjZXMvc3RvcmFnZS1hY2Nlc3MtYXBpLnRlbnRhdGl2ZS5pZGw6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3RleHQtZGV0ZWN0aW9u
LWFwaS50ZW50YXRpdmUuaWRsOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
aW50ZXJmYWNlcy90cnVzdGVkLXR5cGVzLnRlbnRhdGl2ZS5pZGw6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvdmlkZW8tcnZmYy5pZGw6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3Zpc3VhbC12aWV3cG9ydC5pZGw6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3czYy1pbXBvcnQubG9n
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dhaS1hcmlhLmlkbDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93YWtlLWxvY2suaWRsOgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYi1hbmltYXRpb25zLmlk
bDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWItYmx1ZXRvb3Ro
LmlkbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWItbG9ja3Mu
aWRsOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWIt
bmZjLmlkbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWItc2hh
cmUuaWRsOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYmF1ZGlv
LmlkbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWJhdXRobi5p
ZGw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2VibWlkaS5pZGw6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2VicnRjLWRzY3AuaWRs
OiBSZW1vdmVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYnJ0
Yy1pZGVudGl0eS5pZGw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMv
d2VicnRjLXN0YXRzLmlkbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNl
cy93ZWJydGMtc3ZjLmlkbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2lu
dGVyZmFjZXMvd2VicnRjLmlkbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJm
YWNlcy93ZWJ4ci1hci1tb2R1bGUuaWRsOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9p
bnRlcmZhY2VzL3dlYnhyLmlkbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJm
YWNlcy93b3JrbGV0cy5pZGw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2Vj
dGlvbi1vYnNlcnZlci9pZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQ6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL21hdGhtbC9yZWxhdGlvbnMvaHRtbDUtdHJlZS9tYXRoLWdsb2Jh
bC1ldmVudC1oYW5kbGVycy50ZW50YXRpdmUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL2lkbGhhcm5lc3Mud2luZG93LWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvbXN0LWNvbnRlbnQtaGludC9p
ZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3JlbW90ZS1wbGF5YmFjay9pZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9pZGxoYXJuZXNzLndpbmRv
dy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3N2Zy9pZGxoYXJu
ZXNzLndpbmRvdy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dl
Yi1hbmltYXRpb25zL2lkbGhhcm5lc3Mud2luZG93LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvd2Vic29ja2V0cy9iYXNpYy1hdXRoLmFueS5qczoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvd2Vic29ja2V0cy9idWZmZXJlZEFtb3VudC11bmNoYW5nZWQt
Ynktc3luYy14aHIuYW55LmpzOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93ZWJzb2Nr
ZXRzL2J1ZmZlcmVkQW1vdW50LXVuY2hhbmdlZC1ieS1zeW5jLXhoci5hbnkud29ya2VyLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMveGhyL2lkbGhhcm5lc3MuYW55
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMveGhyL2lkbGhhcm5l
c3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3hoci9zeW5jLW5vLXRpbWVvdXQuYW55LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMveGhyL3N5bmMtbm8tdGltZW91dC5hbnkud29ya2VyLWV4cGVjdGVkLnR4dDoK
KworMjAyMC0wNS0yOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAg
IFVwZGF0ZSB3ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMgZnJvbSB1cHN0cmVhbQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEyNDk4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIHdlYi1wbGF0Zm9y
bS10ZXN0cy90b29scyBmcm9tIHVwc3RyZWFtIDZhNzZhMTg1ZjkxM2UzYzAyN2UzNjlhLgorCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzLyo6IFVwZGF0ZWQuCisKIDIwMjAtMDUt
MjggIE9yaW9sIEJydWZhdSAgPG9icnVmYXVAaWdhbGlhLmNvbT4KIAogICAgICAgICBbY3NzLWdy
aWRdIEZpeCByZWZlcmVuY2luZyBncmlkIGxpbmUgbmFtZXMgd2l0aCBhdXRvIHJlcGVhdCgpCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0lu
ZGV4ZWREQi9pZGxoYXJuZXNzLmFueS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGxoYXJuZXNzLmFueS1leHBlY3Rl
ZC50eHQKaW5kZXggZTE1N2EwNzI2Y2ZhMjFlMjFiOGE3NTY4NWQzYzZhMjg4MDlmNTBhNy4uMTEy
OGRhNjJiOGNkNDQyYzcxMjAyNjdkMjE2N2MxNGU4NTdlYWU1MyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRsaGFybmVz
cy5hbnktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkbGhhcm5lc3MuYW55LWV4cGVjdGVkLnR4dApAQCAtNzIs
NyArNzIsNyBAQCBQQVNTIElEQkRhdGFiYXNlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZQogUEFTUyBJREJEYXRhYmFzZSBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSBuYW1lIAogUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSB2ZXJzaW9uIAogUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvYmpl
Y3RTdG9yZU5hbWVzIAotUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiB0cmFu
c2FjdGlvbigoRE9NU3RyaW5nIG9yIHNlcXVlbmNlPERPTVN0cmluZz4pLCBvcHRpb25hbCBJREJU
cmFuc2FjdGlvbk1vZGUpIAorUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiB0
cmFuc2FjdGlvbigoRE9NU3RyaW5nIG9yIHNlcXVlbmNlPERPTVN0cmluZz4pLCBvcHRpb25hbCBJ
REJUcmFuc2FjdGlvbk1vZGUsIG9wdGlvbmFsIElEQlRyYW5zYWN0aW9uT3B0aW9ucykgCiBQQVNT
IElEQkRhdGFiYXNlIGludGVyZmFjZTogb3BlcmF0aW9uIGNsb3NlKCkgCiBQQVNTIElEQkRhdGFi
YXNlIGludGVyZmFjZTogb3BlcmF0aW9uIGNyZWF0ZU9iamVjdFN0b3JlKERPTVN0cmluZywgb3B0
aW9uYWwgSURCT2JqZWN0U3RvcmVQYXJhbWV0ZXJzKSAKIFBBU1MgSURCRGF0YWJhc2UgaW50ZXJm
YWNlOiBvcGVyYXRpb24gZGVsZXRlT2JqZWN0U3RvcmUoRE9NU3RyaW5nKSAKQEAgLTE4NSw2ICsx
ODUsNyBAQCBQQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgbwogUEFTUyBJREJUcmFuc2FjdGlvbiBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9i
amVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgCiBQQVNTIElEQlRyYW5zYWN0aW9uIGludGVy
ZmFjZTogYXR0cmlidXRlIG9iamVjdFN0b3JlTmFtZXMgCiBQQVNTIElEQlRyYW5zYWN0aW9uIGlu
dGVyZmFjZTogYXR0cmlidXRlIG1vZGUgCitGQUlMIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTog
YXR0cmlidXRlIGR1cmFiaWxpdHkgYXNzZXJ0X3RydWU6IFRoZSBwcm90b3R5cGUgb2JqZWN0IG11
c3QgaGF2ZSBhIHByb3BlcnR5ICJkdXJhYmlsaXR5IiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQog
UEFTUyBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBkYiAKIFBBU1MgSURCVHJh
bnNhY3Rpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgZXJyb3IgCiBQQVNTIElEQlRyYW5zYWN0aW9u
IGludGVyZmFjZTogb3BlcmF0aW9uIG9iamVjdFN0b3JlKERPTVN0cmluZykgCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9p
ZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvaWRsaGFybmVzcy5hbnkud29ya2VyLWV4
cGVjdGVkLnR4dAppbmRleCAwYmM3ODBlOTM5ZmJjYzBiNzA2ODA5MTA5NTdkNzc5OTgyYTM4ZDI4
Li45MjkyOWUxNjE4YjY2YTEwODk4MDBiYWY4MjVmMjU4ZjUyNWEyYTE3IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pZGxo
YXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2lkbGhhcm5lc3MuYW55Lndvcmtlci1l
eHBlY3RlZC50eHQKQEAgLTcyLDcgKzcyLDcgQEAgUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamUKIFBB
U1MgSURCRGF0YWJhc2UgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbmFtZSAKIFBBU1MgSURCRGF0YWJh
c2UgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgdmVyc2lvbiAKIFBBU1MgSURCRGF0YWJhc2UgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgb2JqZWN0U3RvcmVOYW1lcyAKLVBBU1MgSURCRGF0YWJhc2UgaW50ZXJm
YWNlOiBvcGVyYXRpb24gdHJhbnNhY3Rpb24oKERPTVN0cmluZyBvciBzZXF1ZW5jZTxET01TdHJp
bmc+KSwgb3B0aW9uYWwgSURCVHJhbnNhY3Rpb25Nb2RlKSAKK1BBU1MgSURCRGF0YWJhc2UgaW50
ZXJmYWNlOiBvcGVyYXRpb24gdHJhbnNhY3Rpb24oKERPTVN0cmluZyBvciBzZXF1ZW5jZTxET01T
dHJpbmc+KSwgb3B0aW9uYWwgSURCVHJhbnNhY3Rpb25Nb2RlLCBvcHRpb25hbCBJREJUcmFuc2Fj
dGlvbk9wdGlvbnMpIAogUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjbG9z
ZSgpIAogUEFTUyBJREJEYXRhYmFzZSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjcmVhdGVPYmplY3RT
dG9yZShET01TdHJpbmcsIG9wdGlvbmFsIElEQk9iamVjdFN0b3JlUGFyYW1ldGVycykgCiBQQVNT
IElEQkRhdGFiYXNlIGludGVyZmFjZTogb3BlcmF0aW9uIGRlbGV0ZU9iamVjdFN0b3JlKERPTVN0
cmluZykgCkBAIC0xODUsNiArMTg1LDcgQEAgUEFTUyBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG8KIFBBU1Mg
SURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50
ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAogUEFTUyBJ
REJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvYmplY3RTdG9yZU5hbWVzIAogUEFT
UyBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBtb2RlIAorRkFJTCBJREJUcmFu
c2FjdGlvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBkdXJhYmlsaXR5IGFzc2VydF90cnVlOiBUaGUg
cHJvdG90eXBlIG9iamVjdCBtdXN0IGhhdmUgYSBwcm9wZXJ0eSAiZHVyYWJpbGl0eSIgZXhwZWN0
ZWQgdHJ1ZSBnb3QgZmFsc2UKIFBBU1MgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgZGIgCiBQQVNTIElEQlRyYW5zYWN0aW9uIGludGVyZmFjZTogYXR0cmlidXRlIGVycm9yIAog
UEFTUyBJREJUcmFuc2FjdGlvbiBpbnRlcmZhY2U6IG9wZXJhdGlvbiBvYmplY3RTdG9yZShET01T
dHJpbmcpIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jb250ZW50LXNlY3VyaXR5LXBvbGljeS9mcmFtZS1hbmNlc3RvcnMvZnJhbWUtYW5j
ZXN0b3JzLW5lc3RlZC1jcm9zcy1pbi1zYW1lLW5vbmUtYmxvY2stZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb250ZW50LXNlY3VyaXR5
LXBvbGljeS9mcmFtZS1hbmNlc3RvcnMvZnJhbWUtYW5jZXN0b3JzLW5lc3RlZC1jcm9zcy1pbi1z
YW1lLW5vbmUtYmxvY2stZXhwZWN0ZWQudHh0CmluZGV4IDE2MDBjYTIyYWQ0NjIwN2MxMTE0OTdl
NWEwZDNkMTM0YzlhOTQwNmYuLjNhNTI3MTYzYTkwNTNiMWYxNzhmOWU5OTcxYTIwYTFlZmUxNWU0
YjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY29udGVudC1zZWN1cml0eS1wb2xpY3kvZnJhbWUtYW5jZXN0b3JzL2ZyYW1lLWFuY2VzdG9y
cy1uZXN0ZWQtY3Jvc3MtaW4tc2FtZS1ub25lLWJsb2NrLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbnRlbnQtc2VjdXJpdHkt
cG9saWN5L2ZyYW1lLWFuY2VzdG9ycy9mcmFtZS1hbmNlc3RvcnMtbmVzdGVkLWNyb3NzLWluLXNh
bWUtbm9uZS1ibG9jay1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACi1CbG9ja2VkIGFjY2Vz
cyB0byBleHRlcm5hbCBVUkwgaHR0cDovL3d3dzEubG9jYWxob3N0Ojg4MDEvY29udGVudC1zZWN1
cml0eS1wb2xpY3kvZnJhbWUtYW5jZXN0b3JzL3N1cHBvcnQvZnJhbWUtYW5jZXN0b3JzLnN1Yi5o
dG1sP3BvbGljeT0lMjdub25lJTI3CitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0
cDovL3d3dzEubG9jYWxob3N0Ojg4MDEvY29udGVudC1zZWN1cml0eS1wb2xpY3kvZnJhbWUtYW5j
ZXN0b3JzL3N1cHBvcnQvZnJhbWUtYW5jZXN0b3JzLnN1Yi5odG1sP3BvbGljeT0mI3gyNztub25l
JiN4Mjc7CiAKIAogRkFJTCBBICdmcmFtZS1hbmNlc3RvcnMnIENTUCBkaXJlY3RpdmUgd2l0aCBh
IHZhbHVlICdub25lJyBzaG91bGQgYmxvY2sgcmVuZGVyaW5nIGluIG5lc3RlZCBmcmFtZXMuIGFz
c2VydF91bnJlYWNoZWQ6IElubmVyIElGcmFtZSBtc2c6IFRoZSBJRnJhbWUgc2hvdWxkIGhhdmUg
YmVlbiBibG9ja2VkIChvciBjcm9zcy1vcmlnaW4pLiBJdCB3YXNuJ3QuIFJlYWNoZWQgdW5yZWFj
aGFibGUgY29kZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jb250ZW50LXNlY3VyaXR5LXBvbGljeS9mcmFtZS1hbmNlc3RvcnMvZnJhbWUt
YW5jZXN0b3JzLW5lc3RlZC1jcm9zcy1pbi1zYW1lLXNlbGYtYmxvY2stZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb250ZW50LXNlY3Vy
aXR5LXBvbGljeS9mcmFtZS1hbmNlc3RvcnMvZnJhbWUtYW5jZXN0b3JzLW5lc3RlZC1jcm9zcy1p
bi1zYW1lLXNlbGYtYmxvY2stZXhwZWN0ZWQudHh0CmluZGV4IGJkNWIzMDgxMzRiYzU2NTQ2NTQw
MTVhZWM4YWQ0NDEwMWI2ODQ0NjcuLmRlM2Y1YjFhZDU4MWU0MTQ1OTlmOThkZDU3YzBjYjJhMGQy
M2FkZWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY29udGVudC1zZWN1cml0eS1wb2xpY3kvZnJhbWUtYW5jZXN0b3JzL2ZyYW1lLWFuY2Vz
dG9ycy1uZXN0ZWQtY3Jvc3MtaW4tc2FtZS1zZWxmLWJsb2NrLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbnRlbnQtc2VjdXJp
dHktcG9saWN5L2ZyYW1lLWFuY2VzdG9ycy9mcmFtZS1hbmNlc3RvcnMtbmVzdGVkLWNyb3NzLWlu
LXNhbWUtc2VsZi1ibG9jay1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACi1CbG9ja2VkIGFj
Y2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cDovL3d3dzEubG9jYWxob3N0Ojg4MDEvY29udGVudC1z
ZWN1cml0eS1wb2xpY3kvZnJhbWUtYW5jZXN0b3JzL3N1cHBvcnQvZnJhbWUtYW5jZXN0b3JzLnN1
Yi5odG1sP3BvbGljeT0lMjdzZWxmJTI3CitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwg
aHR0cDovL3d3dzEubG9jYWxob3N0Ojg4MDEvY29udGVudC1zZWN1cml0eS1wb2xpY3kvZnJhbWUt
YW5jZXN0b3JzL3N1cHBvcnQvZnJhbWUtYW5jZXN0b3JzLnN1Yi5odG1sP3BvbGljeT0mI3gyNztz
ZWxmJiN4Mjc7CiAKIAogRkFJTCBBICdmcmFtZS1hbmNlc3RvcnMnIENTUCBkaXJlY3RpdmUgd2l0
aCBhIHZhbHVlICdzYW1lJyBzaG91bGQgYmxvY2sgcmVuZGVyIGluIHNhbWUtb3JpZ2luIG5lc3Rl
ZCBmcmFtZXMuIGFzc2VydF91bnJlYWNoZWQ6IElubmVyIElGcmFtZSBtc2c6IFRoZSBJRnJhbWUg
c2hvdWxkIGhhdmUgYmVlbiBibG9ja2VkIChvciBjcm9zcy1vcmlnaW4pLiBJdCB3YXNuJ3QuIFJl
YWNoZWQgdW5yZWFjaGFibGUgY29kZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb250ZW50LXNlY3VyaXR5LXBvbGljeS9mcmFtZS1hbmNl
c3RvcnMvZnJhbWUtYW5jZXN0b3JzLW5lc3RlZC1zYW1lLWluLXNhbWUtc2VsZi1hbGxvdy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nv
bnRlbnQtc2VjdXJpdHktcG9saWN5L2ZyYW1lLWFuY2VzdG9ycy9mcmFtZS1hbmNlc3RvcnMtbmVz
dGVkLXNhbWUtaW4tc2FtZS1zZWxmLWFsbG93LWV4cGVjdGVkLnR4dAppbmRleCBjYTM1M2E4NDcw
MTdhYmI2OWFhN2U0NjhjODVlZTc5OWJmMTNiMzBmLi4xOWViOTFmMzc4MjVhMjRjOTQ3MTUyYTQw
MWI2NTYzNjVlNjJmYTI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2NvbnRlbnQtc2VjdXJpdHktcG9saWN5L2ZyYW1lLWFuY2VzdG9ycy9m
cmFtZS1hbmNlc3RvcnMtbmVzdGVkLXNhbWUtaW4tc2FtZS1zZWxmLWFsbG93LWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbnRl
bnQtc2VjdXJpdHktcG9saWN5L2ZyYW1lLWFuY2VzdG9ycy9mcmFtZS1hbmNlc3RvcnMtbmVzdGVk
LXNhbWUtaW4tc2FtZS1zZWxmLWFsbG93LWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKIAog
Ci1QQVNTIEEgJ2ZyYW1lLWFuY2VzdG9ycycgQ1NQIGRpcmVjdGl2ZSB3aXRoIGEgdmFsdWUgJ3Nh
bWUnIHNob3VsZCBibG9jayByZW5kZXIgaW4gc2FtZS1vcmlnaW4gbmVzdGVkIGZyYW1lcy4gCitG
QUlMIEEgJ2ZyYW1lLWFuY2VzdG9ycycgQ1NQIGRpcmVjdGl2ZSB3aXRoIGEgdmFsdWUgJ3NhbWUn
IHNob3VsZCBibG9jayByZW5kZXIgaW4gc2FtZS1vcmlnaW4gbmVzdGVkIGZyYW1lcy4gYXNzZXJ0
X3VucmVhY2hlZDogSW5uZXIgSUZyYW1lIG1zZzogVGhlIElGcmFtZSBzaG91bGQgbm90IGhhdmUg
YmVlbiBibG9ja2VkLiBJdCB3YXMuIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbnRlbnQt
c2VjdXJpdHktcG9saWN5L25hdmlnYXRpb24vamF2YXNjcmlwdC11cmwtbmF2aWdhdGlvbi1pbmhl
cml0cy1jc3AtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jb250ZW50LXNlY3VyaXR5LXBvbGljeS9uYXZpZ2F0aW9uL2phdmFzY3JpcHQt
dXJsLW5hdmlnYXRpb24taW5oZXJpdHMtY3NwLWV4cGVjdGVkLnR4dAppbmRleCBhMWJjM2I2NDQy
ZTZmNWY5YjZhY2M1OWVkOTUyMmQ0NzUzMDk5NjRiLi44YjEzNzg5MTc5MWZlOTY5MjdhZDc4ZTY0
YjBhYWQ3YmRlZDA4YmRjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2NvbnRlbnQtc2VjdXJpdHktcG9saWN5L25hdmlnYXRpb24vamF2YXNj
cmlwdC11cmwtbmF2aWdhdGlvbi1pbmhlcml0cy1jc3AtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29udGVudC1zZWN1cml0eS1w
b2xpY3kvbmF2aWdhdGlvbi9qYXZhc2NyaXB0LXVybC1uYXZpZ2F0aW9uLWluaGVyaXRzLWNzcC1l
eHBlY3RlZC50eHQKQEAgLTEsMyArMSBAQAogCi1GQUlMIFZpb2xhdGlvbiByZXBvcnQgc3RhdHVz
IE9LLiBhc3NlcnRfdHJ1ZTogdmlvbGF0ZWQtZGlyZWN0aXZlIHZhbHVlIG9mICAiZGVmYXVsdC1z
cmMgJ25vbmUnIiBkaWQgbm90IG1hdGNoIGZyYW1lLXNyYy4gZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFs
c2UKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jcmVkZW50aWFsLW1hbmFnZW1lbnQvaWRsaGFybmVzcy5odHRwcy53aW5kb3ctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jcmVk
ZW50aWFsLW1hbmFnZW1lbnQvaWRsaGFybmVzcy5odHRwcy53aW5kb3ctZXhwZWN0ZWQudHh0Cmlu
ZGV4IDA0ZGNmOWQ4NmU4NjkxOGE0NGRkYzM2NDNlMzkyMGY4ZDVjMTcwMzIuLmRlZDMzY2ZhY2Nh
Y2Y3YTI0NjZiZDczMGNjZTE3ZDliMzQyMTNjYzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3JlZGVudGlhbC1tYW5hZ2VtZW50L2lkbGhh
cm5lc3MuaHR0cHMud2luZG93LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NyZWRlbnRpYWwtbWFuYWdlbWVudC9pZGxoYXJuZXNz
Lmh0dHBzLndpbmRvdy1leHBlY3RlZC50eHQKQEAgLTI4LDcgKzI4LDcgQEAgUEFTUyBOYXZpZ2F0
b3IgaW5jbHVkZXMgTmF2aWdhdG9yQ29uY3VycmVudEhhcmR3YXJlOiBtZW1iZXIgbmFtZXMgYXJl
IHVuaXF1ZQogUEFTUyBFbGVtZW50IGluY2x1ZGVzIFBhcmVudE5vZGU6IG1lbWJlciBuYW1lcyBh
cmUgdW5pcXVlIAogUEFTUyBFbGVtZW50IGluY2x1ZGVzIE5vbkRvY3VtZW50VHlwZUNoaWxkTm9k
ZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNTIEVsZW1lbnQgaW5jbHVkZXMgQ2hpbGRO
b2RlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKLVBBU1MgRWxlbWVudCBpbmNsdWRlcyBTbG90
YWJsZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCitQQVNTIEVsZW1lbnQgaW5jbHVkZXMgU2xv
dHRhYmxlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgQ3JlZGVudGlhbCBpbnRlcmZh
Y2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAogUEFTUyBD
cmVkZW50aWFsIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAogUEFTUyBDcmVkZW50aWFsIGludGVy
ZmFjZSBvYmplY3QgbmFtZSAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbmltYXRpb25zL2lkbGhhcm5lc3MtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWFuaW1hdGlvbnMvaWRsaGFybmVzcy1leHBlY3RlZC50eHQKaW5kZXggNTAyMzM4MzAzYjJhY2Y5
YzNmNzRkYjczYjNlMzA4NjI5OWExMmMxMS4uOWRkMTJkYmZmZGY4NTE3NTYyNDc1YmY1NWNiNmM5
MGJhOTUxODc4NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWFuaW1hdGlvbnMvaWRsaGFybmVzcy1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFu
aW1hdGlvbnMvaWRsaGFybmVzcy1leHBlY3RlZC50eHQKQEAgLTI3LDcgKzI3LDcgQEAgUEFTUyBX
aW5kb3cgaW5jbHVkZXMgV2luZG93TG9jYWxTdG9yYWdlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1
ZQogUEFTUyBFbGVtZW50IGluY2x1ZGVzIFBhcmVudE5vZGU6IG1lbWJlciBuYW1lcyBhcmUgdW5p
cXVlIAogUEFTUyBFbGVtZW50IGluY2x1ZGVzIE5vbkRvY3VtZW50VHlwZUNoaWxkTm9kZTogbWVt
YmVyIG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNTIEVsZW1lbnQgaW5jbHVkZXMgQ2hpbGROb2RlOiBt
ZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKLVBBU1MgRWxlbWVudCBpbmNsdWRlcyBTbG90YWJsZTog
bWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCitQQVNTIEVsZW1lbnQgaW5jbHVkZXMgU2xvdHRhYmxl
OiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgQW5pbWF0aW9uRXZlbnQgaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKIFBBU1MgQW5p
bWF0aW9uRXZlbnQgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCiBQQVNTIEFuaW1hdGlvbkV2ZW50
IGludGVyZmFjZSBvYmplY3QgbmFtZSAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy10cmFuc2l0aW9ucy9pZGxoYXJuZXNzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy10cmFuc2l0aW9ucy9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dAppbmRleCA0MzU4ZDU4
MjczOTEwZTkxYzk4MjE5OWE3ZTE0MjlkZTA0YjlmZTgxLi5jNjRkMDFmNTg5ZjVkMGZmM2RiYWIy
MmIzYTM0ZGJkMzY2ZjRhOTVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdHJhbnNpdGlvbnMvaWRsaGFybmVzcy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLXRyYW5zaXRpb25zL2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0CkBAIC0yNCw3ICsyNCw3
IEBAIFBBU1MgV2luZG93IGluY2x1ZGVzIFdpbmRvd0xvY2FsU3RvcmFnZTogbWVtYmVyIG5hbWVz
IGFyZSB1bmlxdWUKIFBBU1MgRWxlbWVudCBpbmNsdWRlcyBQYXJlbnROb2RlOiBtZW1iZXIgbmFt
ZXMgYXJlIHVuaXF1ZSAKIFBBU1MgRWxlbWVudCBpbmNsdWRlcyBOb25Eb2N1bWVudFR5cGVDaGls
ZE5vZGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAogUEFTUyBFbGVtZW50IGluY2x1ZGVzIENo
aWxkTm9kZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCi1QQVNTIEVsZW1lbnQgaW5jbHVkZXMg
U2xvdGFibGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAorUEFTUyBFbGVtZW50IGluY2x1ZGVz
IFNsb3R0YWJsZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNTIFRyYW5zaXRpb25FdmVu
dCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0
IAogUEFTUyBUcmFuc2l0aW9uRXZlbnQgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCiBQQVNTIFRy
YW5zaXRpb25FdmVudCBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L2lkbGhh
cm5lc3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3Nzb20tdmlldy9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dAppbmRleCBmMDYy
NTQ4ZTkyMWVlYzdjMmYxZTFiMGRhMTVjNTkwMzQwNWZhMTJlLi5iNzJkMzRhYzcxNzY4N2QyYWE1
NTgzODJkMDMwNTNiODIxNDdmYTA3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L2lkbGhhcm5lc3MtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzc29tLXZpZXcvaWRsaGFybmVzcy1leHBlY3RlZC50eHQKQEAgLTI5LDEyICsyOSwxMiBAQCBQ
QVNTIFBhcnRpYWwgaW50ZXJmYWNlIEhUTUxJbWFnZUVsZW1lbnRbMl06IG1lbWJlciBuYW1lcyBh
cmUgdW5pcXVlCiBQQVNTIFBhcnRpYWwgaW50ZXJmYWNlIERvY3VtZW50WzRdOiBtZW1iZXIgbmFt
ZXMgYXJlIHVuaXF1ZSAKIFBBU1MgUGFydGlhbCBpbnRlcmZhY2UgV2luZG93WzNdOiBtZW1iZXIg
bmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgVGV4dCBpbmNsdWRlcyBHZW9tZXRyeVV0aWxzOiBtZW1i
ZXIgbmFtZXMgYXJlIHVuaXF1ZSAKLVBBU1MgVGV4dCBpbmNsdWRlcyBTbG90YWJsZTogbWVtYmVy
IG5hbWVzIGFyZSB1bmlxdWUgCitQQVNTIFRleHQgaW5jbHVkZXMgU2xvdHRhYmxlOiBtZW1iZXIg
bmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgRWxlbWVudCBpbmNsdWRlcyBHZW9tZXRyeVV0aWxzOiBt
ZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgRWxlbWVudCBpbmNsdWRlcyBQYXJlbnROb2Rl
OiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgRWxlbWVudCBpbmNsdWRlcyBOb25Eb2N1
bWVudFR5cGVDaGlsZE5vZGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAogUEFTUyBFbGVtZW50
IGluY2x1ZGVzIENoaWxkTm9kZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCi1QQVNTIEVsZW1l
bnQgaW5jbHVkZXMgU2xvdGFibGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAorUEFTUyBFbGVt
ZW50IGluY2x1ZGVzIFNsb3R0YWJsZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNTIENT
U1BzZXVkb0VsZW1lbnQgaW5jbHVkZXMgR2VvbWV0cnlVdGlsczogbWVtYmVyIG5hbWVzIGFyZSB1
bmlxdWUgCiBQQVNTIERvY3VtZW50IGluY2x1ZGVzIEdlb21ldHJ5VXRpbHM6IG1lbWJlciBuYW1l
cyBhcmUgdW5pcXVlIAogUEFTUyBEb2N1bWVudCBpbmNsdWRlcyBHbG9iYWxFdmVudEhhbmRsZXJz
OiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tL2ludGVyZmFjZXMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
b20vaW50ZXJmYWNlcy1leHBlY3RlZC50eHQKaW5kZXggYzAxMGYwMmJkNTUyZjVmMWY4MjFlYWVl
YWUwN2VhNTEwZDg1ZDc0OS4uMjBiMjZiYjBiMjAwZjFkMjQwZWVhNTE2OTJkZDgyNGJhYzdkNDc3
MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3Nzb20vaW50ZXJmYWNlcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20vaW50ZXJmYWNlcy1leHBlY3Rl
ZC50eHQKQEAgLTEyMywxMSArMTIzLDExIEBAIFBBU1MgU2hhZG93Um9vdCBpbmNsdWRlcyBEb2N1
bWVudE9yU2hhZG93Um9vdDogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKIFBBU1MgRWxlbWVudCBp
bmNsdWRlcyBQYXJlbnROb2RlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgRWxlbWVu
dCBpbmNsdWRlcyBOb25Eb2N1bWVudFR5cGVDaGlsZE5vZGU6IG1lbWJlciBuYW1lcyBhcmUgdW5p
cXVlIAogUEFTUyBFbGVtZW50IGluY2x1ZGVzIENoaWxkTm9kZTogbWVtYmVyIG5hbWVzIGFyZSB1
bmlxdWUgCi1QQVNTIEVsZW1lbnQgaW5jbHVkZXMgU2xvdGFibGU6IG1lbWJlciBuYW1lcyBhcmUg
dW5pcXVlIAorUEFTUyBFbGVtZW50IGluY2x1ZGVzIFNsb3R0YWJsZTogbWVtYmVyIG5hbWVzIGFy
ZSB1bmlxdWUgCiBQQVNTIENoYXJhY3RlckRhdGEgaW5jbHVkZXMgTm9uRG9jdW1lbnRUeXBlQ2hp
bGROb2RlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgQ2hhcmFjdGVyRGF0YSBpbmNs
dWRlcyBDaGlsZE5vZGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAogUEFTUyBEb2N1bWVudFR5
cGUgaW5jbHVkZXMgQ2hpbGROb2RlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKLVBBU1MgVGV4
dCBpbmNsdWRlcyBTbG90YWJsZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCitQQVNTIFRleHQg
aW5jbHVkZXMgU2xvdHRhYmxlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgWFBhdGhF
dmFsdWF0b3IgaW5jbHVkZXMgWFBhdGhFdmFsdWF0b3JCYXNlOiBtZW1iZXIgbmFtZXMgYXJlIHVu
aXF1ZSAKIFBBU1MgUHJvY2Vzc2luZ0luc3RydWN0aW9uIGluY2x1ZGVzIExpbmtTdHlsZTogbWVt
YmVyIG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNTIFNWR0VsZW1lbnQgaW5jbHVkZXMgRWxlbWVudENT
U0lubGluZVN0eWxlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2lkbGhhcm5lc3MuYW55
Lndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2RvbS9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IDMy
NGZhMzBlZDU2NmM4N2M2NWNiMjFmZmMwZmNlNDc5ODEzNmRjMGEuLjViZWRhZWMzNDU0ZDQ3MjY2
Y2E4MjZhNmRkYjBjYmM5N2U3NmNkYTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9k
b20vaWRsaGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMTYsMTEgKzE2LDExIEBA
IFBBU1MgRG9jdW1lbnRGcmFnbWVudCBpbmNsdWRlcyBQYXJlbnROb2RlOiBtZW1iZXIgbmFtZXMg
YXJlIHVuaXF1ZQogUEFTUyBFbGVtZW50IGluY2x1ZGVzIFBhcmVudE5vZGU6IG1lbWJlciBuYW1l
cyBhcmUgdW5pcXVlIAogUEFTUyBFbGVtZW50IGluY2x1ZGVzIE5vbkRvY3VtZW50VHlwZUNoaWxk
Tm9kZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNTIEVsZW1lbnQgaW5jbHVkZXMgQ2hp
bGROb2RlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKLVBBU1MgRWxlbWVudCBpbmNsdWRlcyBT
bG90YWJsZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCitQQVNTIEVsZW1lbnQgaW5jbHVkZXMg
U2xvdHRhYmxlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgQ2hhcmFjdGVyRGF0YSBp
bmNsdWRlcyBOb25Eb2N1bWVudFR5cGVDaGlsZE5vZGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVl
IAogUEFTUyBDaGFyYWN0ZXJEYXRhIGluY2x1ZGVzIENoaWxkTm9kZTogbWVtYmVyIG5hbWVzIGFy
ZSB1bmlxdWUgCiBQQVNTIERvY3VtZW50VHlwZSBpbmNsdWRlcyBDaGlsZE5vZGU6IG1lbWJlciBu
YW1lcyBhcmUgdW5pcXVlIAotUEFTUyBUZXh0IGluY2x1ZGVzIFNsb3RhYmxlOiBtZW1iZXIgbmFt
ZXMgYXJlIHVuaXF1ZSAKK1BBU1MgVGV4dCBpbmNsdWRlcyBTbG90dGFibGU6IG1lbWJlciBuYW1l
cyBhcmUgdW5pcXVlIAogUEFTUyBYUGF0aEV2YWx1YXRvciBpbmNsdWRlcyBYUGF0aEV2YWx1YXRv
ckJhc2U6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAogUEFTUyBIVE1MRWxlbWVudCBpbmNsdWRl
cyBHbG9iYWxFdmVudEhhbmRsZXJzOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgSFRN
TEVsZW1lbnQgaW5jbHVkZXMgRG9jdW1lbnRBbmRFbGVtZW50RXZlbnRIYW5kbGVyczogbWVtYmVy
IG5hbWVzIGFyZSB1bmlxdWUgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9pZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9pZGxoYXJuZXNz
LndpbmRvdy1leHBlY3RlZC50eHQKaW5kZXggMTM4ZWJiYThjNmNkMjk3NjRkOTE2NGYxNjFiMmVm
NzMzMmQ5MDgxZC4uY2U4YmYwYjJlY2ZiZWE5ZmNiZDI3ZjhmZWI2MWE0Y2UwZWIyZjJjMyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20v
aWRsaGFybmVzcy53aW5kb3ctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2lkbGhhcm5lc3Mud2luZG93LWV4cGVjdGVkLnR4
dApAQCAtMTYsMTEgKzE2LDExIEBAIFBBU1MgRG9jdW1lbnRGcmFnbWVudCBpbmNsdWRlcyBQYXJl
bnROb2RlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQogUEFTUyBFbGVtZW50IGluY2x1ZGVzIFBh
cmVudE5vZGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAogUEFTUyBFbGVtZW50IGluY2x1ZGVz
IE5vbkRvY3VtZW50VHlwZUNoaWxkTm9kZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNT
IEVsZW1lbnQgaW5jbHVkZXMgQ2hpbGROb2RlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKLVBB
U1MgRWxlbWVudCBpbmNsdWRlcyBTbG90YWJsZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCitQ
QVNTIEVsZW1lbnQgaW5jbHVkZXMgU2xvdHRhYmxlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAK
IFBBU1MgQ2hhcmFjdGVyRGF0YSBpbmNsdWRlcyBOb25Eb2N1bWVudFR5cGVDaGlsZE5vZGU6IG1l
bWJlciBuYW1lcyBhcmUgdW5pcXVlIAogUEFTUyBDaGFyYWN0ZXJEYXRhIGluY2x1ZGVzIENoaWxk
Tm9kZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNTIERvY3VtZW50VHlwZSBpbmNsdWRl
cyBDaGlsZE5vZGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAotUEFTUyBUZXh0IGluY2x1ZGVz
IFNsb3RhYmxlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKK1BBU1MgVGV4dCBpbmNsdWRlcyBT
bG90dGFibGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAogUEFTUyBYUGF0aEV2YWx1YXRvciBp
bmNsdWRlcyBYUGF0aEV2YWx1YXRvckJhc2U6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAogUEFT
UyBIVE1MRWxlbWVudCBpbmNsdWRlcyBHbG9iYWxFdmVudEhhbmRsZXJzOiBtZW1iZXIgbmFtZXMg
YXJlIHVuaXF1ZSAKIFBBU1MgSFRNTEVsZW1lbnQgaW5jbHVkZXMgRG9jdW1lbnRBbmRFbGVtZW50
RXZlbnRIYW5kbGVyczogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCkBAIC0zNjcsNiArMzY3LDcg
QEAgUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBsYXN0RWxlbWVudENoaWxkCiBQ
QVNTIERvY3VtZW50IGludGVyZmFjZTogYXR0cmlidXRlIGNoaWxkRWxlbWVudENvdW50IAogUEFT
UyBEb2N1bWVudCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBwcmVwZW5kKChOb2RlIG9yIERPTVN0cmlu
ZykuLi4pIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBhcHBlbmQoKE5vZGUg
b3IgRE9NU3RyaW5nKS4uLikgCitGQUlMIERvY3VtZW50IGludGVyZmFjZTogb3BlcmF0aW9uIHJl
cGxhY2VDaGlsZHJlbigoTm9kZSBvciBET01TdHJpbmcpLi4uKSBhc3NlcnRfb3duX3Byb3BlcnR5
OiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBtaXNzaW5nIG5vbi1zdGF0aWMgb3BlcmF0aW9u
IGV4cGVjdGVkIHByb3BlcnR5ICJyZXBsYWNlQ2hpbGRyZW4iIG1pc3NpbmcKIFBBU1MgRG9jdW1l
bnQgaW50ZXJmYWNlOiBvcGVyYXRpb24gcXVlcnlTZWxlY3RvcihET01TdHJpbmcpIAogUEFTUyBE
b2N1bWVudCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBxdWVyeVNlbGVjdG9yQWxsKERPTVN0cmluZykg
CiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogb3BlcmF0aW9uIGNyZWF0ZUV4cHJlc3Npb24oRE9N
U3RyaW5nLCBvcHRpb25hbCBYUGF0aE5TUmVzb2x2ZXI/KSAKQEAgLTQyOCw2ICs0MjksOCBAQCBQ
QVNTIERvY3VtZW50IGludGVyZmFjZTogbmV3IERvY3VtZW50KCkgbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJwcmVwZW5kKChOb2RlIG9yCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogY2FsbGluZyBw
cmVwZW5kKChOb2RlIG9yIERPTVN0cmluZykuLi4pIG9uIG5ldyBEb2N1bWVudCgpIHdpdGggdG9v
IGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCiBQQVNTIERvY3VtZW50IGludGVy
ZmFjZTogbmV3IERvY3VtZW50KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJhcHBlbmQoKE5vZGUg
b3IgRE9NU3RyaW5nKS4uLikiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBp
bnRlcmZhY2U6IGNhbGxpbmcgYXBwZW5kKChOb2RlIG9yIERPTVN0cmluZykuLi4pIG9uIG5ldyBE
b2N1bWVudCgpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCitG
QUlMIERvY3VtZW50IGludGVyZmFjZTogbmV3IERvY3VtZW50KCkgbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJyZXBsYWNlQ2hpbGRyZW4oKE5vZGUgb3IgRE9NU3RyaW5nKS4uLikiIHdpdGggdGhlIHBy
b3BlciB0eXBlIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgInJlcGxhY2VDaGlsZHJlbiIgbm90
IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgorRkFJTCBEb2N1bWVudCBpbnRlcmZhY2U6IGNhbGxp
bmcgcmVwbGFjZUNoaWxkcmVuKChOb2RlIG9yIERPTVN0cmluZykuLi4pIG9uIG5ldyBEb2N1bWVu
dCgpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgYXNzZXJ0X2lu
aGVyaXRzOiBwcm9wZXJ0eSAicmVwbGFjZUNoaWxkcmVuIiBub3QgZm91bmQgaW4gcHJvdG90eXBl
IGNoYWluCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogbmV3IERvY3VtZW50KCkgbXVzdCBpbmhl
cml0IHByb3BlcnR5ICJxdWVyeVNlbGVjdG9yKERPTVN0cmluZykiIHdpdGggdGhlIHByb3BlciB0
eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGNhbGxpbmcgcXVlcnlTZWxlY3RvcihET01T
dHJpbmcpIG9uIG5ldyBEb2N1bWVudCgpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJv
dyBUeXBlRXJyb3IgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogbmV3IERvY3VtZW50KCkgbXVz
dCBpbmhlcml0IHByb3BlcnR5ICJxdWVyeVNlbGVjdG9yQWxsKERPTVN0cmluZykiIHdpdGggdGhl
IHByb3BlciB0eXBlIApAQCAtNTY2LDYgKzU2OSw4IEBAIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNl
OiB4bWxEb2MgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJwcmVwZW5kKChOb2RlIG9yIERPTVN0cmlu
CiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogY2FsbGluZyBwcmVwZW5kKChOb2RlIG9yIERPTVN0
cmluZykuLi4pIG9uIHhtbERvYyB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlw
ZUVycm9yIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IHhtbERvYyBtdXN0IGluaGVyaXQgcHJv
cGVydHkgImFwcGVuZCgoTm9kZSBvciBET01TdHJpbmcpLi4uKSIgd2l0aCB0aGUgcHJvcGVyIHR5
cGUgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogY2FsbGluZyBhcHBlbmQoKE5vZGUgb3IgRE9N
U3RyaW5nKS4uLikgb24geG1sRG9jIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBU
eXBlRXJyb3IgCitGQUlMIERvY3VtZW50IGludGVyZmFjZTogeG1sRG9jIG11c3QgaW5oZXJpdCBw
cm9wZXJ0eSAicmVwbGFjZUNoaWxkcmVuKChOb2RlIG9yIERPTVN0cmluZykuLi4pIiB3aXRoIHRo
ZSBwcm9wZXIgdHlwZSBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJyZXBsYWNlQ2hpbGRyZW4i
IG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KK0ZBSUwgRG9jdW1lbnQgaW50ZXJmYWNlOiBj
YWxsaW5nIHJlcGxhY2VDaGlsZHJlbigoTm9kZSBvciBET01TdHJpbmcpLi4uKSBvbiB4bWxEb2Mg
d2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciBhc3NlcnRfaW5oZXJp
dHM6IHByb3BlcnR5ICJyZXBsYWNlQ2hpbGRyZW4iIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hh
aW4KIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiB4bWxEb2MgbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJxdWVyeVNlbGVjdG9yKERPTVN0cmluZykiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBE
b2N1bWVudCBpbnRlcmZhY2U6IGNhbGxpbmcgcXVlcnlTZWxlY3RvcihET01TdHJpbmcpIG9uIHht
bERvYyB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIAogUEFTUyBE
b2N1bWVudCBpbnRlcmZhY2U6IHhtbERvYyBtdXN0IGluaGVyaXQgcHJvcGVydHkgInF1ZXJ5U2Vs
ZWN0b3JBbGwoRE9NU3RyaW5nKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCkBAIC03NjUsNiArNzcw
LDcgQEAgUEFTUyBEb2N1bWVudEZyYWdtZW50IGludGVyZmFjZTogYXR0cmlidXRlIGxhc3RFbGVt
ZW50Q2hpbGQKIFBBU1MgRG9jdW1lbnRGcmFnbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBjaGls
ZEVsZW1lbnRDb3VudCAKIFBBU1MgRG9jdW1lbnRGcmFnbWVudCBpbnRlcmZhY2U6IG9wZXJhdGlv
biBwcmVwZW5kKChOb2RlIG9yIERPTVN0cmluZykuLi4pIAogUEFTUyBEb2N1bWVudEZyYWdtZW50
IGludGVyZmFjZTogb3BlcmF0aW9uIGFwcGVuZCgoTm9kZSBvciBET01TdHJpbmcpLi4uKSAKK0ZB
SUwgRG9jdW1lbnRGcmFnbWVudCBpbnRlcmZhY2U6IG9wZXJhdGlvbiByZXBsYWNlQ2hpbGRyZW4o
KE5vZGUgb3IgRE9NU3RyaW5nKS4uLikgYXNzZXJ0X293bl9wcm9wZXJ0eTogaW50ZXJmYWNlIHBy
b3RvdHlwZSBvYmplY3QgbWlzc2luZyBub24tc3RhdGljIG9wZXJhdGlvbiBleHBlY3RlZCBwcm9w
ZXJ0eSAicmVwbGFjZUNoaWxkcmVuIiBtaXNzaW5nCiBQQVNTIERvY3VtZW50RnJhZ21lbnQgaW50
ZXJmYWNlOiBvcGVyYXRpb24gcXVlcnlTZWxlY3RvcihET01TdHJpbmcpIAogUEFTUyBEb2N1bWVu
dEZyYWdtZW50IGludGVyZmFjZTogb3BlcmF0aW9uIHF1ZXJ5U2VsZWN0b3JBbGwoRE9NU3RyaW5n
KSAKIFBBU1MgRG9jdW1lbnRGcmFnbWVudCBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIGRv
Y3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSAKQEAgLTc3OSw2ICs3ODUsOCBAQCBQQVNT
IERvY3VtZW50RnJhZ21lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdt
ZW50KCkgbXVzdCBpbmhlcml0CiBQQVNTIERvY3VtZW50RnJhZ21lbnQgaW50ZXJmYWNlOiBjYWxs
aW5nIHByZXBlbmQoKE5vZGUgb3IgRE9NU3RyaW5nKS4uLikgb24gZG9jdW1lbnQuY3JlYXRlRG9j
dW1lbnRGcmFnbWVudCgpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJy
b3IgCiBQQVNTIERvY3VtZW50RnJhZ21lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVEb2N1
bWVudEZyYWdtZW50KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJhcHBlbmQoKE5vZGUgb3IgRE9N
U3RyaW5nKS4uLikiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudEZyYWdtZW50
IGludGVyZmFjZTogY2FsbGluZyBhcHBlbmQoKE5vZGUgb3IgRE9NU3RyaW5nKS4uLikgb24gZG9j
dW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVz
dCB0aHJvdyBUeXBlRXJyb3IgCitGQUlMIERvY3VtZW50RnJhZ21lbnQgaW50ZXJmYWNlOiBkb2N1
bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJyZXBs
YWNlQ2hpbGRyZW4oKE5vZGUgb3IgRE9NU3RyaW5nKS4uLikiIHdpdGggdGhlIHByb3BlciB0eXBl
IGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgInJlcGxhY2VDaGlsZHJlbiIgbm90IGZvdW5kIGlu
IHByb3RvdHlwZSBjaGFpbgorRkFJTCBEb2N1bWVudEZyYWdtZW50IGludGVyZmFjZTogY2FsbGlu
ZyByZXBsYWNlQ2hpbGRyZW4oKE5vZGUgb3IgRE9NU3RyaW5nKS4uLikgb24gZG9jdW1lbnQuY3Jl
YXRlRG9jdW1lbnRGcmFnbWVudCgpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBU
eXBlRXJyb3IgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAicmVwbGFjZUNoaWxkcmVuIiBub3Qg
Zm91bmQgaW4gcHJvdG90eXBlIGNoYWluCiBQQVNTIERvY3VtZW50RnJhZ21lbnQgaW50ZXJmYWNl
OiBkb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJxdWVyeVNlbGVjdG9yKERPTVN0cmluZykiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBE
b2N1bWVudEZyYWdtZW50IGludGVyZmFjZTogY2FsbGluZyBxdWVyeVNlbGVjdG9yKERPTVN0cmlu
Zykgb24gZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpIHdpdGggdG9vIGZldyBhcmd1
bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCiBQQVNTIERvY3VtZW50RnJhZ21lbnQgaW50ZXJm
YWNlOiBkb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCkgbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJxdWVyeVNlbGVjdG9yQWxsKERPTVN0cmluZykiIHdpdGggdGhlIHByb3BlciB0eXBlIApA
QCAtOTA1LDYgKzkxMyw3IEBAIFBBU1MgRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBsYXN0
RWxlbWVudENoaWxkCiBQQVNTIEVsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgY2hpbGRFbGVt
ZW50Q291bnQgCiBQQVNTIEVsZW1lbnQgaW50ZXJmYWNlOiBvcGVyYXRpb24gcHJlcGVuZCgoTm9k
ZSBvciBET01TdHJpbmcpLi4uKSAKIFBBU1MgRWxlbWVudCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBh
cHBlbmQoKE5vZGUgb3IgRE9NU3RyaW5nKS4uLikgCitGQUlMIEVsZW1lbnQgaW50ZXJmYWNlOiBv
cGVyYXRpb24gcmVwbGFjZUNoaWxkcmVuKChOb2RlIG9yIERPTVN0cmluZykuLi4pIGFzc2VydF9v
d25fcHJvcGVydHk6IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IG1pc3Npbmcgbm9uLXN0YXRp
YyBvcGVyYXRpb24gZXhwZWN0ZWQgcHJvcGVydHkgInJlcGxhY2VDaGlsZHJlbiIgbWlzc2luZwog
UEFTUyBFbGVtZW50IGludGVyZmFjZTogb3BlcmF0aW9uIHF1ZXJ5U2VsZWN0b3IoRE9NU3RyaW5n
KSAKIFBBU1MgRWxlbWVudCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBxdWVyeVNlbGVjdG9yQWxsKERP
TVN0cmluZykgCiBQQVNTIEVsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgcHJldmlvdXNFbGVt
ZW50U2libGluZyAKQEAgLTk4Miw2ICs5OTEsOCBAQCBQQVNTIEVsZW1lbnQgaW50ZXJmYWNlOiBl
bGVtZW50IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicHJlcGVuZCgoTm9kZSBvciBET01TdHJpbgog
UEFTUyBFbGVtZW50IGludGVyZmFjZTogY2FsbGluZyBwcmVwZW5kKChOb2RlIG9yIERPTVN0cmlu
ZykuLi4pIG9uIGVsZW1lbnQgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVF
cnJvciAKIFBBU1MgRWxlbWVudCBpbnRlcmZhY2U6IGVsZW1lbnQgbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJhcHBlbmQoKE5vZGUgb3IgRE9NU3RyaW5nKS4uLikiIHdpdGggdGhlIHByb3BlciB0eXBl
IAogUEFTUyBFbGVtZW50IGludGVyZmFjZTogY2FsbGluZyBhcHBlbmQoKE5vZGUgb3IgRE9NU3Ry
aW5nKS4uLikgb24gZWxlbWVudCB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlw
ZUVycm9yIAorRkFJTCBFbGVtZW50IGludGVyZmFjZTogZWxlbWVudCBtdXN0IGluaGVyaXQgcHJv
cGVydHkgInJlcGxhY2VDaGlsZHJlbigoTm9kZSBvciBET01TdHJpbmcpLi4uKSIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAicmVwbGFjZUNoaWxkcmVuIiBu
b3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCitGQUlMIEVsZW1lbnQgaW50ZXJmYWNlOiBjYWxs
aW5nIHJlcGxhY2VDaGlsZHJlbigoTm9kZSBvciBET01TdHJpbmcpLi4uKSBvbiBlbGVtZW50IHdp
dGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgYXNzZXJ0X2luaGVyaXRz
OiBwcm9wZXJ0eSAicmVwbGFjZUNoaWxkcmVuIiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWlu
CiBQQVNTIEVsZW1lbnQgaW50ZXJmYWNlOiBlbGVtZW50IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAi
cXVlcnlTZWxlY3RvcihET01TdHJpbmcpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRWxl
bWVudCBpbnRlcmZhY2U6IGNhbGxpbmcgcXVlcnlTZWxlY3RvcihET01TdHJpbmcpIG9uIGVsZW1l
bnQgd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKIFBBU1MgRWxl
bWVudCBpbnRlcmZhY2U6IGVsZW1lbnQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJxdWVyeVNlbGVj
dG9yQWxsKERPTVN0cmluZykiIHdpdGggdGhlIHByb3BlciB0eXBlIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb21wYXJzaW5nL2lkbGhh
cm5lc3Mud2luZG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZG9tcGFyc2luZy9pZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQK
aW5kZXggNjUwZDM4MzA4MDQ3MWI4Mzc4NDNhOTRjYmVjNWY1ZDBjMDVlNjhlOC4uN2M1NzI5MTJi
YmUyNzYwMmE3ODk4NjY1Y2UxOGJlYWZjNjQ4N2MyMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb21wYXJzaW5nL2lkbGhhcm5lc3Mud2lu
ZG93LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2RvbXBhcnNpbmcvaWRsaGFybmVzcy53aW5kb3ctZXhwZWN0ZWQudHh0CkBAIC05
LDIxICs5LDEwIEBAIFBBU1MgRWxlbWVudCBpbmNsdWRlcyBJbm5lckhUTUw6IG1lbWJlciBuYW1l
cyBhcmUgdW5pcXVlCiBQQVNTIEVsZW1lbnQgaW5jbHVkZXMgUGFyZW50Tm9kZTogbWVtYmVyIG5h
bWVzIGFyZSB1bmlxdWUgCiBQQVNTIEVsZW1lbnQgaW5jbHVkZXMgTm9uRG9jdW1lbnRUeXBlQ2hp
bGROb2RlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgRWxlbWVudCBpbmNsdWRlcyBD
aGlsZE5vZGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAotUEFTUyBFbGVtZW50IGluY2x1ZGVz
IFNsb3RhYmxlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKK1BBU1MgRWxlbWVudCBpbmNsdWRl
cyBTbG90dGFibGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAogUEFTUyBTaGFkb3dSb290IGlu
Y2x1ZGVzIElubmVySFRNTDogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNTIERvY3VtZW50
RnJhZ21lbnQgaW5jbHVkZXMgTm9uRWxlbWVudFBhcmVudE5vZGU6IG1lbWJlciBuYW1lcyBhcmUg
dW5pcXVlIAogUEFTUyBEb2N1bWVudEZyYWdtZW50IGluY2x1ZGVzIFBhcmVudE5vZGU6IG1lbWJl
ciBuYW1lcyBhcmUgdW5pcXVlIAotUEFTUyBET01QYXJzZXIgaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKLVBBU1MgRE9NUGFyc2VyIGludGVy
ZmFjZSBvYmplY3QgbGVuZ3RoIAotUEFTUyBET01QYXJzZXIgaW50ZXJmYWNlIG9iamVjdCBuYW1l
IAotUEFTUyBET01QYXJzZXIgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2Yg
aW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgCi1QQVNTIERPTVBhcnNlciBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJj
b25zdHJ1Y3RvciIgcHJvcGVydHkgCi1QQVNTIERPTVBhcnNlciBpbnRlcmZhY2U6IGV4aXN0ZW5j
ZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29w
YWJsZXMgcHJvcGVydHkgCi1QQVNTIERPTVBhcnNlciBpbnRlcmZhY2U6IG9wZXJhdGlvbiBwYXJz
ZUZyb21TdHJpbmcoRE9NU3RyaW5nLCBTdXBwb3J0ZWRUeXBlKSAKLVBBU1MgRE9NUGFyc2VyIG11
c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmV3IERPTVBhcnNlcigpIAotUEFTUyBTdHJpbmdp
ZmljYXRpb24gb2YgbmV3IERPTVBhcnNlcigpIAotUEFTUyBET01QYXJzZXIgaW50ZXJmYWNlOiBu
ZXcgRE9NUGFyc2VyKCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJwYXJzZUZyb21TdHJpbmcoRE9N
U3RyaW5nLCBTdXBwb3J0ZWRUeXBlKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCi1QQVNTIERPTVBh
cnNlciBpbnRlcmZhY2U6IGNhbGxpbmcgcGFyc2VGcm9tU3RyaW5nKERPTVN0cmluZywgU3VwcG9y
dGVkVHlwZSkgb24gbmV3IERPTVBhcnNlcigpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0
aHJvdyBUeXBlRXJyb3IgCiBQQVNTIFhNTFNlcmlhbGl6ZXIgaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKIFBBU1MgWE1MU2VyaWFsaXplciBp
bnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKIFBBU1MgWE1MU2VyaWFsaXplciBpbnRlcmZhY2Ugb2Jq
ZWN0IG5hbWUgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ZldGNoL2FwaS9iYXNpYy9pbnRlZ3JpdHkuc3ViLmFueS5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2Jhc2ljL2ludGVn
cml0eS5zdWIuYW55LmpzCmluZGV4IGQ0ODdjMzczOGFjNDk4ZjRiOTM2ZTI2OWMwOTNjYTJiYWQ1
ODFjYjAuLjU2ZGJkNDkwOWY2YTQzZTQ4OWVlNWI2YzUwMDU0ZDJiNDRkMDcwOWUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBp
L2Jhc2ljL2ludGVncml0eS5zdWIuYW55LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2Jhc2ljL2ludGVncml0eS5zdWIuYW55Lmpz
CkBAIC0xLDQgKzEsNCBAQAotLy8gTUVUQTogZ2xvYmFsPXNoYXJlZHdvcmtlcgorLy8gTUVUQTog
Z2xvYmFsPXdpbmRvdyxkZWRpY2F0ZWR3b3JrZXIsc2hhcmVkd29ya2VyCiAvLyBNRVRBOiBzY3Jp
cHQ9Li4vcmVzb3VyY2VzL3V0aWxzLmpzCiAKIGZ1bmN0aW9uIGludGVncml0eShkZXNjLCB1cmws
IGludGVncml0eSwgaW5pdFJlcXVlc3RNb2RlLCBzaG91bGRQYXNzKSB7CkBAIC0yMCw3ICsyMCw3
IEBAIGZ1bmN0aW9uIGludGVncml0eShkZXNjLCB1cmwsIGludGVncml0eSwgaW5pdFJlcXVlc3RN
b2RlLCBzaG91bGRQYXNzKSB7CiAgICAgfSwgZGVzYyk7CiAgIH0gZWxzZSB7CiAgICAgcHJvbWlz
ZV90ZXN0KGZ1bmN0aW9uKHRlc3QpIHsKLSAgICAgIHJldHVybiBwcm9taXNlX3JlamVjdHModGVz
dCwgbmV3IFR5cGVFcnJvcigpLCBmZXRjaCh1cmwsIGZldGNoUmVxdWVzdEluaXQpKTsKKyAgICAg
IHJldHVybiBwcm9taXNlX3JlamVjdHNfanModGVzdCwgVHlwZUVycm9yLCBmZXRjaCh1cmwsIGZl
dGNoUmVxdWVzdEluaXQpKTsKICAgICB9LCBkZXNjKTsKICAgfQogfQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvYmFzaWMv
c3RyZWFtLXNhZmUtY3JlYXRpb24uYW55LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvYmFzaWMvc3RyZWFtLXNhZmUtY3JlYXRpb24uYW55
LmpzCmluZGV4IDE4MGQzMzg2NTkwMjFmZWQzZDI5ZTA4Y2NlYTQxNWNjNTg1MmZlZDIuLjM3Yzgy
MWNlNzNmMjVjNWUyYzVkMDJhNjg3ZDZhODAwNmVmNTA2MGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2Jhc2ljL3N0cmVh
bS1zYWZlLWNyZWF0aW9uLmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9iYXNpYy9zdHJlYW0tc2FmZS1jcmVhdGlvbi5hbnku
anMKQEAgLTEsNCArMSw0IEBACi0vLyBNRVRBOiBnbG9iYWw9d29ya2VyCisvLyBNRVRBOiBnbG9i
YWw9d2luZG93LHdvcmtlcgogCiAvLyBUaGVzZSB0ZXN0cyB2ZXJpZnkgdGhhdCBzdHJlYW0gY3Jl
YXRpb24gaXMgbm90IGFmZmVjdGVkIGJ5IGNoYW5nZXMgdG8KIC8vIE9iamVjdC5wcm90b3R5cGUu
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvZG9tL2lkbGhhcm5lc3Mud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9kb20vaWRsaGFybmVzcy53b3JrZXIt
ZXhwZWN0ZWQudHh0CmluZGV4IGZjNjAxZjExMmYwMTU3Y2M0YTljY2FiYTM0MmRjNWY0YWIwOGNj
MTkuLjI4OTIxZjkwNzJkNzI2NzIyMGI5ZDMxODNhZjhmMDcwOTA4MDBiODEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9kb20vaWRs
aGFybmVzcy53b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9kb20vaWRsaGFybmVzcy53b3JrZXItZXhwZWN0ZWQu
dHh0CkBAIC0xNTIsNyArMTUyLDcgQEAgUEFTUyBTaGFkb3dSb290IGluY2x1ZGVzIERvY3VtZW50
T3JTaGFkb3dSb290OiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQogUEFTUyBFbGVtZW50IGluY2x1
ZGVzIFBhcmVudE5vZGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAogUEFTUyBFbGVtZW50IGlu
Y2x1ZGVzIE5vbkRvY3VtZW50VHlwZUNoaWxkTm9kZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUg
CiBQQVNTIEVsZW1lbnQgaW5jbHVkZXMgQ2hpbGROb2RlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1
ZSAKLVBBU1MgRWxlbWVudCBpbmNsdWRlcyBTbG90YWJsZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlx
dWUgCitQQVNTIEVsZW1lbnQgaW5jbHVkZXMgU2xvdHRhYmxlOiBtZW1iZXIgbmFtZXMgYXJlIHVu
aXF1ZSAKIFBBU1MgSFRNTEFsbENvbGxlY3Rpb24gaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHBy
b3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKIFBBU1MgSFRNTEZvcm1Db250cm9sc0NvbGxl
Y3Rpb24gaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9i
amVjdCAKIFBBU1MgUmFkaW9Ob2RlTGlzdCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVy
dGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IApAQCAtNDM1LDYgKzQzNSw3IEBAIFBBU1MgUHJvbWlz
ZVJlamVjdGlvbkV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBwcm90CiBQQVNTIFByb21pc2VSZWplY3Rpb25FdmVudCBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5z
Y29wYWJsZXMgcHJvcGVydHkgCiBQQVNTIFByb21pc2VSZWplY3Rpb25FdmVudCBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBwcm9taXNlIAogUEFTUyBQcm9taXNlUmVqZWN0aW9uRXZlbnQgaW50ZXJmYWNl
OiBhdHRyaWJ1dGUgcmVhc29uIAorUEFTUyBET01QYXJzZXIgaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKIFBBU1MgTmF2aWdhdG9yIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCiBQQVNT
IFBsdWdpbkFycmF5IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBvYmplY3QgCiBQQVNTIE1pbWVUeXBlQXJyYXkgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC93ZWJhcHBhcGlzL3NjcmlwdGlu
Zy9ldmVudHMvZXZlbnQtaGFuZGxlci1hbGwtZ2xvYmFsLWV2ZW50cy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBp
cy9zY3JpcHRpbmcvZXZlbnRzL2V2ZW50LWhhbmRsZXItYWxsLWdsb2JhbC1ldmVudHMtZXhwZWN0
ZWQudHh0CmluZGV4IGZjMzg3NWYxOWIzM2U1ODIyZjE5ZGVlNzEzMTA3ODg0MjNkZWU0NWIuLjIy
MGU0MWVlNWE5YTRkYjE3YmY0ODRlNjc1MGE1ODM0ZmRkNTY3MGIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC93ZWJhcHBhcGlzL3Nj
cmlwdGluZy9ldmVudHMvZXZlbnQtaGFuZGxlci1hbGwtZ2xvYmFsLWV2ZW50cy1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3dlYmFwcGFwaXMvc2NyaXB0aW5nL2V2ZW50cy9ldmVudC1oYW5kbGVyLWFsbC1nbG9iYWwtZXZl
bnRzLWV4cGVjdGVkLnR4dApAQCAtMjA0LDExICsyMDQsNiBAQCBQQVNTIG9ubW91c2V1cDogdGhl
IGRlZmF1bHQgdmFsdWUgbXVzdCBiZSBudWxsCiBQQVNTIG9ubW91c2V1cDogdGhlIGNvbnRlbnQg
YXR0cmlidXRlIG11c3QgYmUgY29tcGlsZWQgaW50byBhIGZ1bmN0aW9uIGFzIHRoZSBjb3JyZXNw
b25kaW5nIHByb3BlcnR5IAogUEFTUyBvbm1vdXNldXA6IHRoZSBjb250ZW50IGF0dHJpYnV0ZSBt
dXN0IGV4ZWN1dGUgd2hlbiBhbiBldmVudCBpcyBkaXNwYXRjaGVkIAogUEFTUyBvbm1vdXNldXA6
IGRpc3BhdGNoaW5nIGFuIEV2ZW50IGF0IGEgPG1ldGE+IGVsZW1lbnQgbXVzdCB0cmlnZ2VyIGVs
ZW1lbnQub25tb3VzZXVwIAotUEFTUyBvbndoZWVsOiBtdXN0IGJlIG9uIHRoZSBhcHByb3ByaWF0
ZSBsb2NhdGlvbnMgZm9yIEdsb2JhbEV2ZW50SGFuZGxlcnMgCi1QQVNTIG9ud2hlZWw6IHRoZSBk
ZWZhdWx0IHZhbHVlIG11c3QgYmUgbnVsbCAKLVBBU1Mgb253aGVlbDogdGhlIGNvbnRlbnQgYXR0
cmlidXRlIG11c3QgYmUgY29tcGlsZWQgaW50byBhIGZ1bmN0aW9uIGFzIHRoZSBjb3JyZXNwb25k
aW5nIHByb3BlcnR5IAotUEFTUyBvbndoZWVsOiB0aGUgY29udGVudCBhdHRyaWJ1dGUgbXVzdCBl
eGVjdXRlIHdoZW4gYW4gZXZlbnQgaXMgZGlzcGF0Y2hlZCAKLVBBU1Mgb253aGVlbDogZGlzcGF0
Y2hpbmcgYW4gRXZlbnQgYXQgYSA8bWV0YT4gZWxlbWVudCBtdXN0IHRyaWdnZXIgZWxlbWVudC5v
bndoZWVsIAogUEFTUyBvbnBhdXNlOiBtdXN0IGJlIG9uIHRoZSBhcHByb3ByaWF0ZSBsb2NhdGlv
bnMgZm9yIEdsb2JhbEV2ZW50SGFuZGxlcnMgCiBQQVNTIG9ucGF1c2U6IHRoZSBkZWZhdWx0IHZh
bHVlIG11c3QgYmUgbnVsbCAKIFBBU1Mgb25wYXVzZTogdGhlIGNvbnRlbnQgYXR0cmlidXRlIG11
c3QgYmUgY29tcGlsZWQgaW50byBhIGZ1bmN0aW9uIGFzIHRoZSBjb3JyZXNwb25kaW5nIHByb3Bl
cnR5IApAQCAtMzA5LDQgKzMwNCwyOSBAQCBQQVNTIG9ud2FpdGluZzogdGhlIGRlZmF1bHQgdmFs
dWUgbXVzdCBiZSBudWxsCiBQQVNTIG9ud2FpdGluZzogdGhlIGNvbnRlbnQgYXR0cmlidXRlIG11
c3QgYmUgY29tcGlsZWQgaW50byBhIGZ1bmN0aW9uIGFzIHRoZSBjb3JyZXNwb25kaW5nIHByb3Bl
cnR5IAogUEFTUyBvbndhaXRpbmc6IHRoZSBjb250ZW50IGF0dHJpYnV0ZSBtdXN0IGV4ZWN1dGUg
d2hlbiBhbiBldmVudCBpcyBkaXNwYXRjaGVkIAogUEFTUyBvbndhaXRpbmc6IGRpc3BhdGNoaW5n
IGFuIEV2ZW50IGF0IGEgPG1ldGE+IGVsZW1lbnQgbXVzdCB0cmlnZ2VyIGVsZW1lbnQub253YWl0
aW5nIAorRkFJTCBvbndlYmtpdGFuaW1hdGlvbmVuZDogbXVzdCBiZSBvbiB0aGUgYXBwcm9wcmlh
dGUgbG9jYXRpb25zIGZvciBHbG9iYWxFdmVudEhhbmRsZXJzIGFzc2VydF90cnVlOiBIVE1MRWxl
bWVudCBoYXMgYW4gb3duIHByb3BlcnR5IG5hbWVkICJvbndlYmtpdGFuaW1hdGlvbmVuZCIgZXhw
ZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BBU1Mgb253ZWJraXRhbmltYXRpb25lbmQ6IHRoZSBkZWZh
dWx0IHZhbHVlIG11c3QgYmUgbnVsbCAKK1BBU1Mgb253ZWJraXRhbmltYXRpb25lbmQ6IHRoZSBj
b250ZW50IGF0dHJpYnV0ZSBtdXN0IGJlIGNvbXBpbGVkIGludG8gYSBmdW5jdGlvbiBhcyB0aGUg
Y29ycmVzcG9uZGluZyBwcm9wZXJ0eSAKK0ZBSUwgb253ZWJraXRhbmltYXRpb25lbmQ6IHRoZSBj
b250ZW50IGF0dHJpYnV0ZSBtdXN0IGV4ZWN1dGUgd2hlbiBhbiBldmVudCBpcyBkaXNwYXRjaGVk
IGFzc2VydF90cnVlOiBEaXNwYXRjaGluZyBhbiBldmVudCBtdXN0IHJ1biB0aGUgY29kZSBleHBl
Y3RlZCB0cnVlIGdvdCB1bmRlZmluZWQKK1BBU1Mgb253ZWJraXRhbmltYXRpb25lbmQ6IGRpc3Bh
dGNoaW5nIGFuIEV2ZW50IGF0IGEgPG1ldGE+IGVsZW1lbnQgbXVzdCB0cmlnZ2VyIGVsZW1lbnQu
b253ZWJraXRhbmltYXRpb25lbmQgCitGQUlMIG9ud2Via2l0YW5pbWF0aW9uaXRlcmF0aW9uOiBt
dXN0IGJlIG9uIHRoZSBhcHByb3ByaWF0ZSBsb2NhdGlvbnMgZm9yIEdsb2JhbEV2ZW50SGFuZGxl
cnMgYXNzZXJ0X3RydWU6IEhUTUxFbGVtZW50IGhhcyBhbiBvd24gcHJvcGVydHkgbmFtZWQgIm9u
d2Via2l0YW5pbWF0aW9uaXRlcmF0aW9uIiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorUEFTUyBv
bndlYmtpdGFuaW1hdGlvbml0ZXJhdGlvbjogdGhlIGRlZmF1bHQgdmFsdWUgbXVzdCBiZSBudWxs
IAorUEFTUyBvbndlYmtpdGFuaW1hdGlvbml0ZXJhdGlvbjogdGhlIGNvbnRlbnQgYXR0cmlidXRl
IG11c3QgYmUgY29tcGlsZWQgaW50byBhIGZ1bmN0aW9uIGFzIHRoZSBjb3JyZXNwb25kaW5nIHBy
b3BlcnR5IAorRkFJTCBvbndlYmtpdGFuaW1hdGlvbml0ZXJhdGlvbjogdGhlIGNvbnRlbnQgYXR0
cmlidXRlIG11c3QgZXhlY3V0ZSB3aGVuIGFuIGV2ZW50IGlzIGRpc3BhdGNoZWQgYXNzZXJ0X3Ry
dWU6IERpc3BhdGNoaW5nIGFuIGV2ZW50IG11c3QgcnVuIHRoZSBjb2RlIGV4cGVjdGVkIHRydWUg
Z290IHVuZGVmaW5lZAorUEFTUyBvbndlYmtpdGFuaW1hdGlvbml0ZXJhdGlvbjogZGlzcGF0Y2hp
bmcgYW4gRXZlbnQgYXQgYSA8bWV0YT4gZWxlbWVudCBtdXN0IHRyaWdnZXIgZWxlbWVudC5vbndl
YmtpdGFuaW1hdGlvbml0ZXJhdGlvbiAKK0ZBSUwgb253ZWJraXRhbmltYXRpb25zdGFydDogbXVz
dCBiZSBvbiB0aGUgYXBwcm9wcmlhdGUgbG9jYXRpb25zIGZvciBHbG9iYWxFdmVudEhhbmRsZXJz
IGFzc2VydF90cnVlOiBIVE1MRWxlbWVudCBoYXMgYW4gb3duIHByb3BlcnR5IG5hbWVkICJvbndl
YmtpdGFuaW1hdGlvbnN0YXJ0IiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorUEFTUyBvbndlYmtp
dGFuaW1hdGlvbnN0YXJ0OiB0aGUgZGVmYXVsdCB2YWx1ZSBtdXN0IGJlIG51bGwgCitQQVNTIG9u
d2Via2l0YW5pbWF0aW9uc3RhcnQ6IHRoZSBjb250ZW50IGF0dHJpYnV0ZSBtdXN0IGJlIGNvbXBp
bGVkIGludG8gYSBmdW5jdGlvbiBhcyB0aGUgY29ycmVzcG9uZGluZyBwcm9wZXJ0eSAKK0ZBSUwg
b253ZWJraXRhbmltYXRpb25zdGFydDogdGhlIGNvbnRlbnQgYXR0cmlidXRlIG11c3QgZXhlY3V0
ZSB3aGVuIGFuIGV2ZW50IGlzIGRpc3BhdGNoZWQgYXNzZXJ0X3RydWU6IERpc3BhdGNoaW5nIGFu
IGV2ZW50IG11c3QgcnVuIHRoZSBjb2RlIGV4cGVjdGVkIHRydWUgZ290IHVuZGVmaW5lZAorUEFT
UyBvbndlYmtpdGFuaW1hdGlvbnN0YXJ0OiBkaXNwYXRjaGluZyBhbiBFdmVudCBhdCBhIDxtZXRh
PiBlbGVtZW50IG11c3QgdHJpZ2dlciBlbGVtZW50Lm9ud2Via2l0YW5pbWF0aW9uc3RhcnQgCitG
QUlMIG9ud2Via2l0dHJhbnNpdGlvbmVuZDogbXVzdCBiZSBvbiB0aGUgYXBwcm9wcmlhdGUgbG9j
YXRpb25zIGZvciBHbG9iYWxFdmVudEhhbmRsZXJzIGFzc2VydF90cnVlOiBIVE1MRWxlbWVudCBo
YXMgYW4gb3duIHByb3BlcnR5IG5hbWVkICJvbndlYmtpdHRyYW5zaXRpb25lbmQiIGV4cGVjdGVk
IHRydWUgZ290IGZhbHNlCitQQVNTIG9ud2Via2l0dHJhbnNpdGlvbmVuZDogdGhlIGRlZmF1bHQg
dmFsdWUgbXVzdCBiZSBudWxsIAorUEFTUyBvbndlYmtpdHRyYW5zaXRpb25lbmQ6IHRoZSBjb250
ZW50IGF0dHJpYnV0ZSBtdXN0IGJlIGNvbXBpbGVkIGludG8gYSBmdW5jdGlvbiBhcyB0aGUgY29y
cmVzcG9uZGluZyBwcm9wZXJ0eSAKK0ZBSUwgb253ZWJraXR0cmFuc2l0aW9uZW5kOiB0aGUgY29u
dGVudCBhdHRyaWJ1dGUgbXVzdCBleGVjdXRlIHdoZW4gYW4gZXZlbnQgaXMgZGlzcGF0Y2hlZCBh
c3NlcnRfdHJ1ZTogRGlzcGF0Y2hpbmcgYW4gZXZlbnQgbXVzdCBydW4gdGhlIGNvZGUgZXhwZWN0
ZWQgdHJ1ZSBnb3QgdW5kZWZpbmVkCitQQVNTIG9ud2Via2l0dHJhbnNpdGlvbmVuZDogZGlzcGF0
Y2hpbmcgYW4gRXZlbnQgYXQgYSA8bWV0YT4gZWxlbWVudCBtdXN0IHRyaWdnZXIgZWxlbWVudC5v
bndlYmtpdHRyYW5zaXRpb25lbmQgCitQQVNTIG9ud2hlZWw6IG11c3QgYmUgb24gdGhlIGFwcHJv
cHJpYXRlIGxvY2F0aW9ucyBmb3IgR2xvYmFsRXZlbnRIYW5kbGVycyAKK1BBU1Mgb253aGVlbDog
dGhlIGRlZmF1bHQgdmFsdWUgbXVzdCBiZSBudWxsIAorUEFTUyBvbndoZWVsOiB0aGUgY29udGVu
dCBhdHRyaWJ1dGUgbXVzdCBiZSBjb21waWxlZCBpbnRvIGEgZnVuY3Rpb24gYXMgdGhlIGNvcnJl
c3BvbmRpbmcgcHJvcGVydHkgCitQQVNTIG9ud2hlZWw6IHRoZSBjb250ZW50IGF0dHJpYnV0ZSBt
dXN0IGV4ZWN1dGUgd2hlbiBhbiBldmVudCBpcyBkaXNwYXRjaGVkIAorUEFTUyBvbndoZWVsOiBk
aXNwYXRjaGluZyBhbiBFdmVudCBhdCBhIDxtZXRhPiBlbGVtZW50IG11c3QgdHJpZ2dlciBlbGVt
ZW50Lm9ud2hlZWwgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC93ZWJhcHBhcGlzL3NjcmlwdGluZy9ldmVudHMvZXZlbnQtaGFu
ZGxlci1hdHRyaWJ1dGVzLWJvZHktd2luZG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC93ZWJhcHBhcGlzL3NjcmlwdGluZy9l
dmVudHMvZXZlbnQtaGFuZGxlci1hdHRyaWJ1dGVzLWJvZHktd2luZG93LWV4cGVjdGVkLnR4dApp
bmRleCBhOWMzMjVlYjc2NmIyNTFhZTllZjFmMGQ4YTlkODJlMjJkYTZjODA0Li42ODNmMWVlYTY1
MjE3ZjQyMjRkMmU0ZjIwYjZjZTQxYWFkOTUyNTgzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBpcy9zY3JpcHRpbmcv
ZXZlbnRzL2V2ZW50LWhhbmRsZXItYXR0cmlidXRlcy1ib2R5LXdpbmRvdy1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3dl
YmFwcGFwaXMvc2NyaXB0aW5nL2V2ZW50cy9ldmVudC1oYW5kbGVyLWF0dHJpYnV0ZXMtYm9keS13
aW5kb3ctZXhwZWN0ZWQudHh0CkBAIC01OSw3ICs1OSw2IEBAIFBBU1Mgbm90IHNoYWRvd2VkIG1v
dXNlbW92ZSAoZG9jdW1lbnQuYm9keSkKIFBBU1Mgbm90IHNoYWRvd2VkIG1vdXNlb3V0IChkb2N1
bWVudC5ib2R5KSAKIFBBU1Mgbm90IHNoYWRvd2VkIG1vdXNlb3ZlciAoZG9jdW1lbnQuYm9keSkg
CiBQQVNTIG5vdCBzaGFkb3dlZCBtb3VzZXVwIChkb2N1bWVudC5ib2R5KSAKLVBBU1Mgbm90IHNo
YWRvd2VkIHdoZWVsIChkb2N1bWVudC5ib2R5KSAKIFBBU1Mgbm90IHNoYWRvd2VkIHBhdXNlIChk
b2N1bWVudC5ib2R5KSAKIFBBU1Mgbm90IHNoYWRvd2VkIHBsYXkgKGRvY3VtZW50LmJvZHkpIAog
UEFTUyBub3Qgc2hhZG93ZWQgcGxheWluZyAoZG9jdW1lbnQuYm9keSkgCkBAIC03OCw2ICs3Nywx
MSBAQCBQQVNTIG5vdCBzaGFkb3dlZCB0aW1ldXBkYXRlIChkb2N1bWVudC5ib2R5KQogUEFTUyBu
b3Qgc2hhZG93ZWQgdG9nZ2xlIChkb2N1bWVudC5ib2R5KSAKIFBBU1Mgbm90IHNoYWRvd2VkIHZv
bHVtZWNoYW5nZSAoZG9jdW1lbnQuYm9keSkgCiBQQVNTIG5vdCBzaGFkb3dlZCB3YWl0aW5nIChk
b2N1bWVudC5ib2R5KSAKK1BBU1Mgbm90IHNoYWRvd2VkIHdlYmtpdGFuaW1hdGlvbmVuZCAoZG9j
dW1lbnQuYm9keSkgCitQQVNTIG5vdCBzaGFkb3dlZCB3ZWJraXRhbmltYXRpb25pdGVyYXRpb24g
KGRvY3VtZW50LmJvZHkpIAorUEFTUyBub3Qgc2hhZG93ZWQgd2Via2l0YW5pbWF0aW9uc3RhcnQg
KGRvY3VtZW50LmJvZHkpIAorUEFTUyBub3Qgc2hhZG93ZWQgd2Via2l0dHJhbnNpdGlvbmVuZCAo
ZG9jdW1lbnQuYm9keSkgCitQQVNTIG5vdCBzaGFkb3dlZCB3aGVlbCAoZG9jdW1lbnQuYm9keSkg
CiBGQUlMIG5vdCBzaGFkb3dlZCBjb3B5IChkb2N1bWVudC5ib2R5KSBhc3NlcnRfZXF1YWxzOiB3
aW5kb3cgc2hvdWxkIHJlZmxlY3QgZXhwZWN0ZWQgKG9iamVjdCkgbnVsbCBidXQgZ290ICh1bmRl
ZmluZWQpIHVuZGVmaW5lZAogRkFJTCBub3Qgc2hhZG93ZWQgY3V0IChkb2N1bWVudC5ib2R5KSBh
c3NlcnRfZXF1YWxzOiB3aW5kb3cgc2hvdWxkIHJlZmxlY3QgZXhwZWN0ZWQgKG9iamVjdCkgbnVs
bCBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAogRkFJTCBub3Qgc2hhZG93ZWQgcGFzdGUg
KGRvY3VtZW50LmJvZHkpIGFzc2VydF9lcXVhbHM6IHdpbmRvdyBzaG91bGQgcmVmbGVjdCBleHBl
Y3RlZCAob2JqZWN0KSBudWxsIGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCkBAIC0xNjMs
NyArMTY3LDYgQEAgUEFTUyBub3Qgc2hhZG93ZWQgbW91c2Vtb3ZlIChkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJib2R5IikpCiBQQVNTIG5vdCBzaGFkb3dlZCBtb3VzZW91dCAoZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgiYm9keSIpKSAKIFBBU1Mgbm90IHNoYWRvd2VkIG1vdXNlb3ZlciAoZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgiYm9keSIpKSAKIFBBU1Mgbm90IHNoYWRvd2VkIG1vdXNldXAgKGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImJvZHkiKSkgCi1QQVNTIG5vdCBzaGFkb3dlZCB3aGVlbCAo
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYm9keSIpKSAKIFBBU1Mgbm90IHNoYWRvd2VkIHBhdXNl
IChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJib2R5IikpIAogUEFTUyBub3Qgc2hhZG93ZWQgcGxh
eSAoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYm9keSIpKSAKIFBBU1Mgbm90IHNoYWRvd2VkIHBs
YXlpbmcgKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJvZHkiKSkgCkBAIC0xODIsNiArMTg1LDEx
IEBAIFBBU1Mgbm90IHNoYWRvd2VkIHRpbWV1cGRhdGUgKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ImJvZHkiKSkKIFBBU1Mgbm90IHNoYWRvd2VkIHRvZ2dsZSAoZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiYm9keSIpKSAKIFBBU1Mgbm90IHNoYWRvd2VkIHZvbHVtZWNoYW5nZSAoZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgiYm9keSIpKSAKIFBBU1Mgbm90IHNoYWRvd2VkIHdhaXRpbmcgKGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImJvZHkiKSkgCitQQVNTIG5vdCBzaGFkb3dlZCB3ZWJraXRhbmltYXRp
b25lbmQgKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJvZHkiKSkgCitQQVNTIG5vdCBzaGFkb3dl
ZCB3ZWJraXRhbmltYXRpb25pdGVyYXRpb24gKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJvZHki
KSkgCitQQVNTIG5vdCBzaGFkb3dlZCB3ZWJraXRhbmltYXRpb25zdGFydCAoZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgiYm9keSIpKSAKK1BBU1Mgbm90IHNoYWRvd2VkIHdlYmtpdHRyYW5zaXRpb25l
bmQgKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJvZHkiKSkgCitQQVNTIG5vdCBzaGFkb3dlZCB3
aGVlbCAoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYm9keSIpKSAKIEZBSUwgbm90IHNoYWRvd2Vk
IGNvcHkgKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJvZHkiKSkgYXNzZXJ0X2VxdWFsczogd2lu
ZG93IHNob3VsZCByZWZsZWN0IGV4cGVjdGVkIChvYmplY3QpIG51bGwgYnV0IGdvdCAodW5kZWZp
bmVkKSB1bmRlZmluZWQKIEZBSUwgbm90IHNoYWRvd2VkIGN1dCAoZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiYm9keSIpKSBhc3NlcnRfZXF1YWxzOiB3aW5kb3cgc2hvdWxkIHJlZmxlY3QgZXhwZWN0
ZWQgKG9iamVjdCkgbnVsbCBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAogRkFJTCBub3Qg
c2hhZG93ZWQgcGFzdGUgKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJvZHkiKSkgYXNzZXJ0X2Vx
dWFsczogd2luZG93IHNob3VsZCByZWZsZWN0IGV4cGVjdGVkIChvYmplY3QpIG51bGwgYnV0IGdv
dCAodW5kZWZpbmVkKSB1bmRlZmluZWQKQEAgLTI2Nyw3ICsyNzUsNiBAQCBQQVNTIG5vdCBzaGFk
b3dlZCBtb3VzZW1vdmUgKHdpbmRvdykKIFBBU1Mgbm90IHNoYWRvd2VkIG1vdXNlb3V0ICh3aW5k
b3cpIAogUEFTUyBub3Qgc2hhZG93ZWQgbW91c2VvdmVyICh3aW5kb3cpIAogUEFTUyBub3Qgc2hh
ZG93ZWQgbW91c2V1cCAod2luZG93KSAKLVBBU1Mgbm90IHNoYWRvd2VkIHdoZWVsICh3aW5kb3cp
IAogUEFTUyBub3Qgc2hhZG93ZWQgcGF1c2UgKHdpbmRvdykgCiBQQVNTIG5vdCBzaGFkb3dlZCBw
bGF5ICh3aW5kb3cpIAogUEFTUyBub3Qgc2hhZG93ZWQgcGxheWluZyAod2luZG93KSAKQEAgLTI4
Niw2ICsyOTMsMTEgQEAgUEFTUyBub3Qgc2hhZG93ZWQgdGltZXVwZGF0ZSAod2luZG93KQogUEFT
UyBub3Qgc2hhZG93ZWQgdG9nZ2xlICh3aW5kb3cpIAogUEFTUyBub3Qgc2hhZG93ZWQgdm9sdW1l
Y2hhbmdlICh3aW5kb3cpIAogUEFTUyBub3Qgc2hhZG93ZWQgd2FpdGluZyAod2luZG93KSAKK1BB
U1Mgbm90IHNoYWRvd2VkIHdlYmtpdGFuaW1hdGlvbmVuZCAod2luZG93KSAKK1BBU1Mgbm90IHNo
YWRvd2VkIHdlYmtpdGFuaW1hdGlvbml0ZXJhdGlvbiAod2luZG93KSAKK1BBU1Mgbm90IHNoYWRv
d2VkIHdlYmtpdGFuaW1hdGlvbnN0YXJ0ICh3aW5kb3cpIAorUEFTUyBub3Qgc2hhZG93ZWQgd2Vi
a2l0dHJhbnNpdGlvbmVuZCAod2luZG93KSAKK1BBU1Mgbm90IHNoYWRvd2VkIHdoZWVsICh3aW5k
b3cpIAogUEFTUyBub3Qgc2hhZG93ZWQgY29weSAod2luZG93KSAKIFBBU1Mgbm90IHNoYWRvd2Vk
IGN1dCAod2luZG93KSAKIFBBU1Mgbm90IHNoYWRvd2VkIHBhc3RlICh3aW5kb3cpIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3dl
YmFwcGFwaXMvc2NyaXB0aW5nL2V2ZW50cy9ldmVudC1oYW5kbGVyLWF0dHJpYnV0ZXMtd2luZG93
bGVzcy1ib2R5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC93ZWJhcHBhcGlzL3NjcmlwdGluZy9ldmVudHMvZXZlbnQtaGFuZGxl
ci1hdHRyaWJ1dGVzLXdpbmRvd2xlc3MtYm9keS1leHBlY3RlZC50eHQKaW5kZXggZjE3MGQzMzg0
N2U3MTU3OTNlZGRjNWFjYjA4YTFhYTVmYzA1YTQ5ZS4uOGZhNzY5NTk2ZGY1MTBkZmQ3MzNjNzg2
ZTI3YzQzNGRmNmM5YzIyOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL3dlYmFwcGFwaXMvc2NyaXB0aW5nL2V2ZW50cy9ldmVudC1o
YW5kbGVyLWF0dHJpYnV0ZXMtd2luZG93bGVzcy1ib2R5LWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBpcy9z
Y3JpcHRpbmcvZXZlbnRzL2V2ZW50LWhhbmRsZXItYXR0cmlidXRlcy13aW5kb3dsZXNzLWJvZHkt
ZXhwZWN0ZWQudHh0CkBAIC04MSw3ICs4MSw2IEBAIFBBU1MgbW91c2Vtb3ZlIGlzIHVuYWZmZWN0
ZWQgb24gYSB3aW5kb3dsZXNzIGJvZHkKIFBBU1MgbW91c2VvdXQgaXMgdW5hZmZlY3RlZCBvbiBh
IHdpbmRvd2xlc3MgYm9keSAKIFBBU1MgbW91c2VvdmVyIGlzIHVuYWZmZWN0ZWQgb24gYSB3aW5k
b3dsZXNzIGJvZHkgCiBQQVNTIG1vdXNldXAgaXMgdW5hZmZlY3RlZCBvbiBhIHdpbmRvd2xlc3Mg
Ym9keSAKLVBBU1Mgd2hlZWwgaXMgdW5hZmZlY3RlZCBvbiBhIHdpbmRvd2xlc3MgYm9keSAKIFBB
U1MgcGF1c2UgaXMgdW5hZmZlY3RlZCBvbiBhIHdpbmRvd2xlc3MgYm9keSAKIFBBU1MgcGxheSBp
cyB1bmFmZmVjdGVkIG9uIGEgd2luZG93bGVzcyBib2R5IAogUEFTUyBwbGF5aW5nIGlzIHVuYWZm
ZWN0ZWQgb24gYSB3aW5kb3dsZXNzIGJvZHkgCkBAIC0xMDAsNiArOTksMTEgQEAgUEFTUyB0aW1l
dXBkYXRlIGlzIHVuYWZmZWN0ZWQgb24gYSB3aW5kb3dsZXNzIGJvZHkKIFBBU1MgdG9nZ2xlIGlz
IHVuYWZmZWN0ZWQgb24gYSB3aW5kb3dsZXNzIGJvZHkgCiBQQVNTIHZvbHVtZWNoYW5nZSBpcyB1
bmFmZmVjdGVkIG9uIGEgd2luZG93bGVzcyBib2R5IAogUEFTUyB3YWl0aW5nIGlzIHVuYWZmZWN0
ZWQgb24gYSB3aW5kb3dsZXNzIGJvZHkgCitQQVNTIHdlYmtpdGFuaW1hdGlvbmVuZCBpcyB1bmFm
ZmVjdGVkIG9uIGEgd2luZG93bGVzcyBib2R5IAorUEFTUyB3ZWJraXRhbmltYXRpb25pdGVyYXRp
b24gaXMgdW5hZmZlY3RlZCBvbiBhIHdpbmRvd2xlc3MgYm9keSAKK1BBU1Mgd2Via2l0YW5pbWF0
aW9uc3RhcnQgaXMgdW5hZmZlY3RlZCBvbiBhIHdpbmRvd2xlc3MgYm9keSAKK1BBU1Mgd2Via2l0
dHJhbnNpdGlvbmVuZCBpcyB1bmFmZmVjdGVkIG9uIGEgd2luZG93bGVzcyBib2R5IAorUEFTUyB3
aGVlbCBpcyB1bmFmZmVjdGVkIG9uIGEgd2luZG93bGVzcyBib2R5IAogUEFTUyBjb3B5IGlzIHVu
YWZmZWN0ZWQgb24gYSB3aW5kb3dsZXNzIGJvZHkgCiBQQVNTIGN1dCBpcyB1bmFmZmVjdGVkIG9u
IGEgd2luZG93bGVzcyBib2R5IAogUEFTUyBwYXN0ZSBpcyB1bmFmZmVjdGVkIG9uIGEgd2luZG93
bGVzcyBib2R5IApAQCAtMTg1LDcgKzE4OSw2IEBAIFBBU1MgbW91c2Vtb3ZlIGlzIHVuYWZmZWN0
ZWQgb24gYSB3aW5kb3dsZXNzIGZyYW1lc2V0CiBQQVNTIG1vdXNlb3V0IGlzIHVuYWZmZWN0ZWQg
b24gYSB3aW5kb3dsZXNzIGZyYW1lc2V0IAogUEFTUyBtb3VzZW92ZXIgaXMgdW5hZmZlY3RlZCBv
biBhIHdpbmRvd2xlc3MgZnJhbWVzZXQgCiBQQVNTIG1vdXNldXAgaXMgdW5hZmZlY3RlZCBvbiBh
IHdpbmRvd2xlc3MgZnJhbWVzZXQgCi1QQVNTIHdoZWVsIGlzIHVuYWZmZWN0ZWQgb24gYSB3aW5k
b3dsZXNzIGZyYW1lc2V0IAogUEFTUyBwYXVzZSBpcyB1bmFmZmVjdGVkIG9uIGEgd2luZG93bGVz
cyBmcmFtZXNldCAKIFBBU1MgcGxheSBpcyB1bmFmZmVjdGVkIG9uIGEgd2luZG93bGVzcyBmcmFt
ZXNldCAKIFBBU1MgcGxheWluZyBpcyB1bmFmZmVjdGVkIG9uIGEgd2luZG93bGVzcyBmcmFtZXNl
dCAKQEAgLTIwNCw2ICsyMDcsMTEgQEAgUEFTUyB0aW1ldXBkYXRlIGlzIHVuYWZmZWN0ZWQgb24g
YSB3aW5kb3dsZXNzIGZyYW1lc2V0CiBQQVNTIHRvZ2dsZSBpcyB1bmFmZmVjdGVkIG9uIGEgd2lu
ZG93bGVzcyBmcmFtZXNldCAKIFBBU1Mgdm9sdW1lY2hhbmdlIGlzIHVuYWZmZWN0ZWQgb24gYSB3
aW5kb3dsZXNzIGZyYW1lc2V0IAogUEFTUyB3YWl0aW5nIGlzIHVuYWZmZWN0ZWQgb24gYSB3aW5k
b3dsZXNzIGZyYW1lc2V0IAorUEFTUyB3ZWJraXRhbmltYXRpb25lbmQgaXMgdW5hZmZlY3RlZCBv
biBhIHdpbmRvd2xlc3MgZnJhbWVzZXQgCitQQVNTIHdlYmtpdGFuaW1hdGlvbml0ZXJhdGlvbiBp
cyB1bmFmZmVjdGVkIG9uIGEgd2luZG93bGVzcyBmcmFtZXNldCAKK1BBU1Mgd2Via2l0YW5pbWF0
aW9uc3RhcnQgaXMgdW5hZmZlY3RlZCBvbiBhIHdpbmRvd2xlc3MgZnJhbWVzZXQgCitQQVNTIHdl
YmtpdHRyYW5zaXRpb25lbmQgaXMgdW5hZmZlY3RlZCBvbiBhIHdpbmRvd2xlc3MgZnJhbWVzZXQg
CitQQVNTIHdoZWVsIGlzIHVuYWZmZWN0ZWQgb24gYSB3aW5kb3dsZXNzIGZyYW1lc2V0IAogUEFT
UyBjb3B5IGlzIHVuYWZmZWN0ZWQgb24gYSB3aW5kb3dsZXNzIGZyYW1lc2V0IAogUEFTUyBjdXQg
aXMgdW5hZmZlY3RlZCBvbiBhIHdpbmRvd2xlc3MgZnJhbWVzZXQgCiBQQVNTIHBhc3RlIGlzIHVu
YWZmZWN0ZWQgb24gYSB3aW5kb3dsZXNzIGZyYW1lc2V0IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL0RPTS1QYXJzaW5n
LmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJm
YWNlcy9ET00tUGFyc2luZy5pZGwKaW5kZXggYmNkYmFhNjQ2MjNiOGI4ODdlOTJhNmJlNmU1NTVj
M2VjYTg4YTc5YS4uNTAyMGJlODk5NDI1YmU5YmIzMmI0NTkyYTUzYmNlNzZmOGQwOTBhZiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRl
cmZhY2VzL0RPTS1QYXJzaW5nLmlkbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvRE9NLVBhcnNpbmcuaWRsCkBAIC0zLDIwICszLDYg
QEAKIC8vIChodHRwczovL2dpdGh1Yi5jb20vdGlkb3VzdC9yZWZmeS1yZXBvcnRzKQogLy8gU291
cmNlOiBET00gUGFyc2luZyBhbmQgU2VyaWFsaXphdGlvbiAoaHR0cHM6Ly93M2MuZ2l0aHViLmlv
L0RPTS1QYXJzaW5nLykKIAotW0V4cG9zZWQ9V2luZG93XQotaW50ZXJmYWNlIERPTVBhcnNlciB7
Ci0gIGNvbnN0cnVjdG9yKCk7Ci0gIFtOZXdPYmplY3RdIERvY3VtZW50IHBhcnNlRnJvbVN0cmlu
ZyhET01TdHJpbmcgc3RyLCBTdXBwb3J0ZWRUeXBlIHR5cGUpOwotfTsKLQotZW51bSBTdXBwb3J0
ZWRUeXBlIHsKLSAgInRleHQvaHRtbCIsCi0gICJ0ZXh0L3htbCIsCi0gICJhcHBsaWNhdGlvbi94
bWwiLAotICAiYXBwbGljYXRpb24veGh0bWwreG1sIiwKLSAgImltYWdlL3N2Zyt4bWwiCi19Owot
CiBbRXhwb3NlZD1XaW5kb3ddCiBpbnRlcmZhY2UgWE1MU2VyaWFsaXplciB7CiAgIGNvbnN0cnVj
dG9yKCk7CkBAIC0yNCwxNCArMTAsMTQgQEAgaW50ZXJmYWNlIFhNTFNlcmlhbGl6ZXIgewogfTsK
IAogaW50ZXJmYWNlIG1peGluIElubmVySFRNTCB7Ci0gIFtDRVJlYWN0aW9uc10gYXR0cmlidXRl
IFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGlubmVySFRNTDsKKyAgW0NFUmVh
Y3Rpb25zXSBhdHRyaWJ1dGUgW0xlZ2FjeU51bGxUb0VtcHR5U3RyaW5nXSBET01TdHJpbmcgaW5u
ZXJIVE1MOwogfTsKIAogRWxlbWVudCBpbmNsdWRlcyBJbm5lckhUTUw7CiBTaGFkb3dSb290IGlu
Y2x1ZGVzIElubmVySFRNTDsKIAogcGFydGlhbCBpbnRlcmZhY2UgRWxlbWVudCB7Ci0gIFtDRVJl
YWN0aW9uc10gYXR0cmlidXRlIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIG91
dGVySFRNTDsKKyAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgW0xlZ2FjeU51bGxUb0VtcHR5U3Ry
aW5nXSBET01TdHJpbmcgb3V0ZXJIVE1MOwogICBbQ0VSZWFjdGlvbnNdIHZvaWQgaW5zZXJ0QWRq
YWNlbnRIVE1MKERPTVN0cmluZyBwb3NpdGlvbiwgRE9NU3RyaW5nIHRleHQpOwogfTsKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRl
cmZhY2VzL0luZGV4ZWREQi5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ludGVyZmFjZXMvSW5kZXhlZERCLmlkbAppbmRleCAzMzkyNWQ2MTQyMzhkNjg1
MGMxOTYzODFkZjBmNjBhYzE0YmQ0ZTRmLi44YWYyYmJjZjIzODIxZTM0Zjk1ZmUyY2FiZGIzZDNi
M2I5MWIzZWI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ludGVyZmFjZXMvSW5kZXhlZERCLmlkbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvSW5kZXhlZERCLmlkbApAQCAt
NjcsNyArNjcsOCBAQCBpbnRlcmZhY2UgSURCRGF0YWJhc2UgOiBFdmVudFRhcmdldCB7CiAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmdMaXN0IG9iamVjdFN0b3JlTmFtZXM7CiAKICAgW05l
d09iamVjdF0gSURCVHJhbnNhY3Rpb24gdHJhbnNhY3Rpb24oKERPTVN0cmluZyBvciBzZXF1ZW5j
ZTxET01TdHJpbmc+KSBzdG9yZU5hbWVzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBvcHRpb25hbCBJREJUcmFuc2FjdGlvbk1vZGUgbW9kZSA9ICJyZWFkb25seSIp
OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCBJREJU
cmFuc2FjdGlvbk1vZGUgbW9kZSA9ICJyZWFkb25seSIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIElEQlRyYW5zYWN0aW9uT3B0aW9ucyBvcHRpb25z
ID0ge30pOwogICB2b2lkIGNsb3NlKCk7CiAKICAgW05ld09iamVjdF0gSURCT2JqZWN0U3RvcmUg
Y3JlYXRlT2JqZWN0U3RvcmUoCkBAIC04Miw2ICs4MywxMiBAQCBpbnRlcmZhY2UgSURCRGF0YWJh
c2UgOiBFdmVudFRhcmdldCB7CiAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb252ZXJzaW9uY2hh
bmdlOwogfTsKIAorZW51bSBJREJUcmFuc2FjdGlvbkR1cmFiaWxpdHkgeyAiZGVmYXVsdCIsICJz
dHJpY3QiLCAicmVsYXhlZCIgfTsKKworZGljdGlvbmFyeSBJREJUcmFuc2FjdGlvbk9wdGlvbnMg
eworICBJREJUcmFuc2FjdGlvbkR1cmFiaWxpdHkgZHVyYWJpbGl0eSA9ICJkZWZhdWx0IjsKK307
CisKIGRpY3Rpb25hcnkgSURCT2JqZWN0U3RvcmVQYXJhbWV0ZXJzIHsKICAgKERPTVN0cmluZyBv
ciBzZXF1ZW5jZTxET01TdHJpbmc+KT8ga2V5UGF0aCA9IG51bGw7CiAgIGJvb2xlYW4gYXV0b0lu
Y3JlbWVudCA9IGZhbHNlOwpAQCAtMTk4LDYgKzIwNSw3IEBAIGludGVyZmFjZSBJREJDdXJzb3JX
aXRoVmFsdWUgOiBJREJDdXJzb3IgewogaW50ZXJmYWNlIElEQlRyYW5zYWN0aW9uIDogRXZlbnRU
YXJnZXQgewogICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nTGlzdCBvYmplY3RTdG9yZU5h
bWVzOwogICByZWFkb25seSBhdHRyaWJ1dGUgSURCVHJhbnNhY3Rpb25Nb2RlIG1vZGU7CisgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBJREJUcmFuc2FjdGlvbkR1cmFiaWxpdHkgZHVyYWJpbGl0eTsKICAg
W1NhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBJREJEYXRhYmFzZSBkYjsKICAgcmVhZG9u
bHkgYXR0cmlidXRlIERPTUV4Y2VwdGlvbj8gZXJyb3I7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9XZWJDcnlwdG9B
UEkuaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRl
cmZhY2VzL1dlYkNyeXB0b0FQSS5pZGwKaW5kZXggZmVjYjNiNzJkM2FmZWE3OTFhMGYwNjQ4YmNl
ZmE2ZGMwMTRmZTMzMC4uZDgxYTQzYmEwZjkyMzg4ZmZkODlmMDgwOGUzMjMxM2M3ZWE1OGU1NiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bnRlcmZhY2VzL1dlYkNyeXB0b0FQSS5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL1dlYkNyeXB0b0FQSS5pZGwKQEAgLTEsNyAr
MSw3IEBACiAvLyBHRU5FUkFURUQgQ09OVEVOVCAtIERPIE5PVCBFRElUCiAvLyBDb250ZW50IHdh
cyBhdXRvbWF0aWNhbGx5IGV4dHJhY3RlZCBieSBSZWZmeSBpbnRvIHJlZmZ5LXJlcG9ydHMKIC8v
IChodHRwczovL2dpdGh1Yi5jb20vdGlkb3VzdC9yZWZmeS1yZXBvcnRzKQotLy8gU291cmNlOiBX
ZWIgQ3J5cHRvZ3JhcGh5IEFQSSAoaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYmNyeXB0by9PdmVy
dmlldy5odG1sKQorLy8gU291cmNlOiBXZWIgQ3J5cHRvZ3JhcGh5IEFQSSAoaHR0cDovL3czYy5n
aXRodWIuaW8vd2ViY3J5cHRvLykKIAogcGFydGlhbCBpbnRlcmZhY2UgbWl4aW4gV2luZG93T3JX
b3JrZXJHbG9iYWxTY29wZSB7CiAgIFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgQ3J5
cHRvIGNyeXB0bzsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9hcHBtYW5pZmVzdC5pZGwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvYXBwbWFuaWZlc3QuaWRsCmlu
ZGV4IDM1YzQ5MWE1ZjdiZjBlNzE0YmVjMDkxMTI3NTVjMTc0ZDk2NjYzZDQuLjJhZGMzNzAwMTI0
MjJmNTE1MTRkYjlhMmVlODc2OGY1MzIwMTk3MzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9hcHBtYW5pZmVzdC5pZGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZh
Y2VzL2FwcG1hbmlmZXN0LmlkbApAQCAtMywyNiArMyw2IEBACiAvLyAoaHR0cHM6Ly9naXRodWIu
Y29tL3RpZG91c3QvcmVmZnktcmVwb3J0cykKIC8vIFNvdXJjZTogV2ViIEFwcCBNYW5pZmVzdCAo
aHR0cHM6Ly93M2MuZ2l0aHViLmlvL21hbmlmZXN0LykKIAotW0V4cG9zZWQ9V2luZG93XQotaW50
ZXJmYWNlIEJlZm9yZUluc3RhbGxQcm9tcHRFdmVudCA6IEV2ZW50IHsKLSAgY29uc3RydWN0b3Io
RE9NU3RyaW5nIHR5cGUsIG9wdGlvbmFsIEV2ZW50SW5pdCBldmVudEluaXREaWN0ID0ge30pOwot
ICBQcm9taXNlPFByb21wdFJlc3BvbnNlT2JqZWN0PiBwcm9tcHQoKTsKLX07Ci0KLWRpY3Rpb25h
cnkgUHJvbXB0UmVzcG9uc2VPYmplY3QgewotICBBcHBCYW5uZXJQcm9tcHRPdXRjb21lIHVzZXJD
aG9pY2U7Ci19OwotCi1lbnVtIEFwcEJhbm5lclByb21wdE91dGNvbWUgewotICAiYWNjZXB0ZWQi
LAotICAiZGlzbWlzc2VkIgotfTsKLQotcGFydGlhbCBpbnRlcmZhY2UgV2luZG93IHsKLSAgYXR0
cmlidXRlIEV2ZW50SGFuZGxlciBvbmFwcGluc3RhbGxlZDsKLSAgYXR0cmlidXRlIEV2ZW50SGFu
ZGxlciBvbmJlZm9yZWluc3RhbGxwcm9tcHQ7Ci19OwotCiBkaWN0aW9uYXJ5IFdlYkFwcE1hbmlm
ZXN0IHsKICAgIFRleHREaXJlY3Rpb25UeXBlIGRpciA9ICJhdXRvIjsKICAgIERPTVN0cmluZyBs
YW5nOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9pbnRlcmZhY2VzL2JhZGdpbmcuaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2JhZGdpbmcuaWRsCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAxNDgx
ODIwOTM1YTA4Njc1ZTRiZWY3MzRhYWRhMjdiMzE1MWU4MTQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvYmFk
Z2luZy5pZGwKQEAgLTAsMCArMSwyMSBAQAorLy8gR0VORVJBVEVEIENPTlRFTlQgLSBETyBOT1Qg
RURJVAorLy8gQ29udGVudCB3YXMgYXV0b21hdGljYWxseSBleHRyYWN0ZWQgYnkgUmVmZnkgaW50
byByZWZmeS1yZXBvcnRzCisvLyAoaHR0cHM6Ly9naXRodWIuY29tL3RpZG91c3QvcmVmZnktcmVw
b3J0cykKKy8vIFNvdXJjZTogQmFkZ2luZyBBUEkgKGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9iYWRn
aW5nLykKKworLy8gTWV0aG9kcyBvbmx5IGV4cG9zZWQgb24gZG9jdW1lbnRzLgorW1NlY3VyZUNv
bnRleHRdCitwYXJ0aWFsIGludGVyZmFjZSBOYXZpZ2F0b3IgeworICBQcm9taXNlPHZvaWQ+IHNl
dENsaWVudEJhZGdlKG9wdGlvbmFsIFtFbmZvcmNlUmFuZ2VdIHVuc2lnbmVkIGxvbmcgbG9uZyBj
b250ZW50cyk7CisgIFByb21pc2U8dm9pZD4gY2xlYXJDbGllbnRCYWRnZSgpOworfTsKKworLy8g
TWV0aG9kcyBleHBvc2VkIG9uIGJvdGggZG9jdW1lbnRzIGFuZCBzZXJ2aWNlIHdvcmtlcnMuCitb
U2VjdXJlQ29udGV4dF0KK2ludGVyZmFjZSBtaXhpbiBOYXZpZ2F0b3JCYWRnZSB7CisgIFByb21p
c2U8dm9pZD4gc2V0QXBwQmFkZ2Uob3B0aW9uYWwgW0VuZm9yY2VSYW5nZV0gdW5zaWduZWQgbG9u
ZyBsb25nIGNvbnRlbnRzKTsKKyAgUHJvbWlzZTx2b2lkPiBjbGVhckFwcEJhZGdlKCk7Cit9Owor
CitOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yQmFkZ2U7CitXb3JrZXJOYXZpZ2F0b3IgaW5j
bHVkZXMgTmF2aWdhdG9yQmFkZ2U7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvY2xpcGJvYXJkLWFwaXMuaWRsIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2NsaXBi
b2FyZC1hcGlzLmlkbAppbmRleCA5ZTM1Mjg3Njk2Yjk0Y2I0YWFkOTkyOTJiZjExZTM5OGYxZDcx
ZjJiLi5jOTkxMTMwNTllYzc3YjI2NjkxMWZlMGNlMmMyYmY1MjA0NDRmY2QwIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMv
Y2xpcGJvYXJkLWFwaXMuaWRsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9jbGlwYm9hcmQtYXBpcy5pZGwKQEAgLTcsOCArNyw5IEBA
IGRpY3Rpb25hcnkgQ2xpcGJvYXJkRXZlbnRJbml0IDogRXZlbnRJbml0IHsKICAgRGF0YVRyYW5z
ZmVyPyBjbGlwYm9hcmREYXRhID0gbnVsbDsKIH07CiAKLVtDb25zdHJ1Y3RvcihET01TdHJpbmcg
dHlwZSwgb3B0aW9uYWwgQ2xpcGJvYXJkRXZlbnRJbml0IGV2ZW50SW5pdERpY3QgPSB7fSksIEV4
cG9zZWQ9V2luZG93XQorW0V4cG9zZWQ9V2luZG93XQogaW50ZXJmYWNlIENsaXBib2FyZEV2ZW50
IDogRXZlbnQgeworICBjb25zdHJ1Y3RvcihET01TdHJpbmcgdHlwZSwgb3B0aW9uYWwgQ2xpcGJv
YXJkRXZlbnRJbml0IGV2ZW50SW5pdERpY3QgPSB7fSk7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBE
YXRhVHJhbnNmZXI/IGNsaXBib2FyZERhdGE7CiB9OwogCkBAIC0zMCw5ICszMSw5IEBAIHR5cGVk
ZWYgUHJvbWlzZTxDbGlwYm9hcmRJdGVtRGF0YVR5cGU+IENsaXBib2FyZEl0ZW1EYXRhOwogCiBj
YWxsYmFjayBDbGlwYm9hcmRJdGVtRGVsYXllZENhbGxiYWNrID0gQ2xpcGJvYXJkSXRlbURhdGEg
KCk7CiAKLVtDb25zdHJ1Y3RvcihyZWNvcmQ8RE9NU3RyaW5nLCBDbGlwYm9hcmRJdGVtRGF0YT4g
aXRlbXMsCi0gICAgb3B0aW9uYWwgQ2xpcGJvYXJkSXRlbU9wdGlvbnMgb3B0aW9ucyA9IHt9KSwK
LSBFeHBvc2VkPVdpbmRvd10gaW50ZXJmYWNlIENsaXBib2FyZEl0ZW0geworW0V4cG9zZWQ9V2lu
ZG93XSBpbnRlcmZhY2UgQ2xpcGJvYXJkSXRlbSB7CisgIGNvbnN0cnVjdG9yKHJlY29yZDxET01T
dHJpbmcsIENsaXBib2FyZEl0ZW1EYXRhPiBpdGVtcywKKyAgICBvcHRpb25hbCBDbGlwYm9hcmRJ
dGVtT3B0aW9ucyBvcHRpb25zID0ge30pOwogICBzdGF0aWMgQ2xpcGJvYXJkSXRlbSBjcmVhdGVE
ZWxheWVkKAogICAgICAgcmVjb3JkPERPTVN0cmluZywgQ2xpcGJvYXJkSXRlbURlbGF5ZWRDYWxs
YmFjaz4gaXRlbXMsCiAgICAgICBvcHRpb25hbCBDbGlwYm9hcmRJdGVtT3B0aW9ucyBvcHRpb25z
ID0ge30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9pbnRlcmZhY2VzL2NvbnN0cnVjdC1zdHlsZXNoZWV0cy5pZGwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvY29uc3RydWN0LXN0
eWxlc2hlZXRzLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNTEyMTg2NmY2NmVhYThiNjY2MzQ4MGQxYTRjYjcy
YzFjZjhmZDFlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2NvbnN0cnVjdC1zdHlsZXNoZWV0cy5pZGwKQEAg
LTAsMCArMSwyMSBAQAorLy8gR0VORVJBVEVEIENPTlRFTlQgLSBETyBOT1QgRURJVAorLy8gQ29u
dGVudCB3YXMgYXV0b21hdGljYWxseSBleHRyYWN0ZWQgYnkgUmVmZnkgaW50byByZWZmeS1yZXBv
cnRzCisvLyAoaHR0cHM6Ly9naXRodWIuY29tL3RpZG91c3QvcmVmZnktcmVwb3J0cykKKy8vIFNv
dXJjZTogQ29uc3RydWN0YWJsZSBTdHlsZXNoZWV0IE9iamVjdHMgKGh0dHBzOi8vd2ljZy5naXRo
dWIuaW8vY29uc3RydWN0LXN0eWxlc2hlZXRzLykKKworcGFydGlhbCBpbnRlcmZhY2UgQ1NTU3R5
bGVTaGVldCB7CisgIGNvbnN0cnVjdG9yKG9wdGlvbmFsIENTU1N0eWxlU2hlZXRJbml0IG9wdGlv
bnMgPSB7fSk7CisgIFByb21pc2U8Q1NTU3R5bGVTaGVldD4gcmVwbGFjZShVU1ZTdHJpbmcgdGV4
dCk7CisgIHZvaWQgcmVwbGFjZVN5bmMoVVNWU3RyaW5nIHRleHQpOworfTsKKworZGljdGlvbmFy
eSBDU1NTdHlsZVNoZWV0SW5pdCB7CisgIChNZWRpYUxpc3Qgb3IgRE9NU3RyaW5nKSBtZWRpYSA9
ICIiOworICBET01TdHJpbmcgdGl0bGUgPSAiIjsKKyAgYm9vbGVhbiBhbHRlcm5hdGUgPSBmYWxz
ZTsKKyAgYm9vbGVhbiBkaXNhYmxlZCA9IGZhbHNlOworfTsKKworcGFydGlhbCBpbnRlcmZhY2Ug
bWl4aW4gRG9jdW1lbnRPclNoYWRvd1Jvb3QgeworICBhdHRyaWJ1dGUgRnJvemVuQXJyYXk8Q1NT
U3R5bGVTaGVldD4gYWRvcHRlZFN0eWxlU2hlZXRzOworfTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9jb29raWUtc3Rv
cmUuaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRl
cmZhY2VzL2Nvb2tpZS1zdG9yZS5pZGwKaW5kZXggM2UxYTkwYWI2M2Y1ZmM0YWZhMzZkYjhkZGE5
ZmExMTc0MjM2ZTI2Yi4uYjMyY2Y2YjlkOGQ4ZWQwMDVhMjQyOTM3OTZhNGFhZjVmODI0YWQwNyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bnRlcmZhY2VzL2Nvb2tpZS1zdG9yZS5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2Nvb2tpZS1zdG9yZS5pZGwKQEAgLTE5LDEy
ICsxOSw2IEBAIGludGVyZmFjZSBDb29raWVTdG9yZSA6IEV2ZW50VGFyZ2V0IHsKICAgUHJvbWlz
ZTx2b2lkPiBkZWxldGUoVVNWU3RyaW5nIG5hbWUpOwogICBQcm9taXNlPHZvaWQ+IGRlbGV0ZShD
b29raWVTdG9yZURlbGV0ZU9wdGlvbnMgb3B0aW9ucyk7CiAKLSAgW0V4cG9zZWQ9U2VydmljZVdv
cmtlcl0KLSAgUHJvbWlzZTx2b2lkPiBzdWJzY3JpYmVUb0NoYW5nZXMoc2VxdWVuY2U8Q29va2ll
U3RvcmVHZXRPcHRpb25zPiBzdWJzY3JpcHRpb25zKTsKLQotICBbRXhwb3NlZD1TZXJ2aWNlV29y
a2VyXQotICBQcm9taXNlPHNlcXVlbmNlPENvb2tpZVN0b3JlR2V0T3B0aW9ucz4+IGdldENoYW5n
ZVN1YnNjcmlwdGlvbnMoKTsKLQogICBbRXhwb3NlZD1XaW5kb3ddCiAgIGF0dHJpYnV0ZSBFdmVu
dEhhbmRsZXIgb25jaGFuZ2U7CiB9OwpAQCAtNTAsNyArNDQsNiBAQCBkaWN0aW9uYXJ5IENvb2tp
ZVN0b3JlU2V0T3B0aW9ucyB7CiAgIERPTVRpbWVTdGFtcD8gZXhwaXJlcyA9IG51bGw7CiAgIFVT
VlN0cmluZz8gZG9tYWluID0gbnVsbDsKICAgVVNWU3RyaW5nIHBhdGggPSAiLyI7Ci0gIGJvb2xl
YW4gc2VjdXJlID0gdHJ1ZTsKICAgQ29va2llU2FtZVNpdGUgc2FtZVNpdGUgPSAic3RyaWN0IjsK
IH07CiAKQEAgLTc3LDYgKzcwLDE5IEBAIGRpY3Rpb25hcnkgQ29va2llTGlzdEl0ZW0gewogCiB0
eXBlZGVmIHNlcXVlbmNlPENvb2tpZUxpc3RJdGVtPiBDb29raWVMaXN0OwogCitbRXhwb3NlZD0o
U2VydmljZVdvcmtlcixXaW5kb3cpLAorIFNlY3VyZUNvbnRleHRdCitpbnRlcmZhY2UgQ29va2ll
U3RvcmVNYW5hZ2VyIHsKKyAgUHJvbWlzZTx2b2lkPiBzdWJzY3JpYmUoc2VxdWVuY2U8Q29va2ll
U3RvcmVHZXRPcHRpb25zPiBzdWJzY3JpcHRpb25zKTsKKyAgUHJvbWlzZTxzZXF1ZW5jZTxDb29r
aWVTdG9yZUdldE9wdGlvbnM+PiBnZXRTdWJzY3JpcHRpb25zKCk7CisgIFByb21pc2U8dm9pZD4g
dW5zdWJzY3JpYmUoc2VxdWVuY2U8Q29va2llU3RvcmVHZXRPcHRpb25zPiBzdWJzY3JpcHRpb25z
KTsKK307CisKK1tFeHBvc2VkPShTZXJ2aWNlV29ya2VyLFdpbmRvdyldCitwYXJ0aWFsIGludGVy
ZmFjZSBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIHsKKyAgcmVhZG9ubHkgYXR0cmlidXRlIENv
b2tpZVN0b3JlTWFuYWdlciBjb29raWVzOworfTsKKwogW0V4cG9zZWQ9V2luZG93LAogIFNlY3Vy
ZUNvbnRleHRdCiBpbnRlcmZhY2UgQ29va2llQ2hhbmdlRXZlbnQgOiBFdmVudCB7CkBAIC05MCw4
ICs5Niw4IEBAIGRpY3Rpb25hcnkgQ29va2llQ2hhbmdlRXZlbnRJbml0IDogRXZlbnRJbml0IHsK
ICAgQ29va2llTGlzdCBkZWxldGVkOwogfTsKIAotW0V4cG9zZWQ9U2VydmljZVdvcmtlcgotXSBp
bnRlcmZhY2UgRXh0ZW5kYWJsZUNvb2tpZUNoYW5nZUV2ZW50IDogRXh0ZW5kYWJsZUV2ZW50IHsK
K1tFeHBvc2VkPVNlcnZpY2VXb3JrZXJdCitpbnRlcmZhY2UgRXh0ZW5kYWJsZUNvb2tpZUNoYW5n
ZUV2ZW50IDogRXh0ZW5kYWJsZUV2ZW50IHsKICAgY29uc3RydWN0b3IoRE9NU3RyaW5nIHR5cGUs
IG9wdGlvbmFsIEV4dGVuZGFibGVDb29raWVDaGFuZ2VFdmVudEluaXQgZXZlbnRJbml0RGljdCA9
IHt9KTsKICAgcmVhZG9ubHkgYXR0cmlidXRlIENvb2tpZUxpc3QgY2hhbmdlZDsKICAgcmVhZG9u
bHkgYXR0cmlidXRlIENvb2tpZUxpc3QgZGVsZXRlZDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9jc3MtZm9udC1sb2Fk
aW5nLmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50
ZXJmYWNlcy9jc3MtZm9udC1sb2FkaW5nLmlkbAppbmRleCAyYmJjMzVhMjU5MTIyNTZmYjFkNTZh
ZGEzMzcyZDM1ZTU5Y2E2OWU1Li45MzZkZWQ3ODhiY2JiZjM4YjcxYmU1ZDU4ZTg4NjA1OTI0NWI2
Yjg5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ludGVyZmFjZXMvY3NzLWZvbnQtbG9hZGluZy5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2Nzcy1mb250LWxvYWRpbmcu
aWRsCkBAIC0xOCwxMCArMTgsMTAgQEAgZGljdGlvbmFyeSBGb250RmFjZURlc2NyaXB0b3JzIHsK
IAogZW51bSBGb250RmFjZUxvYWRTdGF0dXMgeyAidW5sb2FkZWQiLCAibG9hZGluZyIsICJsb2Fk
ZWQiLCAiZXJyb3IiIH07CiAKLVtDb25zdHJ1Y3RvcihDU1NPTVN0cmluZyBmYW1pbHksIChDU1NP
TVN0cmluZyBvciBCaW5hcnlEYXRhKSBzb3VyY2UsCi0gICAgICAgICAgICAgb3B0aW9uYWwgRm9u
dEZhY2VEZXNjcmlwdG9ycyBkZXNjcmlwdG9ycyksCi0gRXhwb3NlZD0oV2luZG93LFdvcmtlcild
CitbRXhwb3NlZD0oV2luZG93LFdvcmtlcildCiBpbnRlcmZhY2UgRm9udEZhY2UgeworICBjb25z
dHJ1Y3RvcihDU1NPTVN0cmluZyBmYW1pbHksIChDU1NPTVN0cmluZyBvciBCaW5hcnlEYXRhKSBz
b3VyY2UsCisgICAgICAgICAgICAgICAgb3B0aW9uYWwgRm9udEZhY2VEZXNjcmlwdG9ycyBkZXNj
cmlwdG9ycyA9IHt9KTsKICAgYXR0cmlidXRlIENTU09NU3RyaW5nIGZhbWlseTsKICAgYXR0cmli
dXRlIENTU09NU3RyaW5nIHN0eWxlOwogICBhdHRyaWJ1dGUgQ1NTT01TdHJpbmcgd2VpZ2h0OwpA
QCAtNDIsOSArNDIsOSBAQCBkaWN0aW9uYXJ5IEZvbnRGYWNlU2V0TG9hZEV2ZW50SW5pdCA6IEV2
ZW50SW5pdCB7CiAgIHNlcXVlbmNlPEZvbnRGYWNlPiBmb250ZmFjZXMgPSBbXTsKIH07CiAKLVtD
b25zdHJ1Y3RvcihDU1NPTVN0cmluZyB0eXBlLCBvcHRpb25hbCBGb250RmFjZVNldExvYWRFdmVu
dEluaXQgZXZlbnRJbml0RGljdCksCi0gRXhwb3NlZD0oV2luZG93LFdvcmtlcildCitbRXhwb3Nl
ZD0oV2luZG93LFdvcmtlcildCiBpbnRlcmZhY2UgRm9udEZhY2VTZXRMb2FkRXZlbnQgOiBFdmVu
dCB7CisgIGNvbnN0cnVjdG9yKENTU09NU3RyaW5nIHR5cGUsIG9wdGlvbmFsIEZvbnRGYWNlU2V0
TG9hZEV2ZW50SW5pdCBldmVudEluaXREaWN0ID0ge30pOwogICBbU2FtZU9iamVjdF0gcmVhZG9u
bHkgYXR0cmlidXRlIEZyb3plbkFycmF5PEZvbnRGYWNlPiBmb250ZmFjZXM7CiB9OwogCkBAIC01
Miw5ICs1MiwxMCBAQCBlbnVtIEZvbnRGYWNlU2V0TG9hZFN0YXR1cyB7ICJsb2FkaW5nIiwgImxv
YWRlZCIgfTsKIAogY2FsbGJhY2sgRm9yRWFjaENhbGxiYWNrID0gdm9pZCAoRm9udEZhY2UgZm9u
dCwgbG9uZyBpbmRleCwgRm9udEZhY2VTZXQgc2VsZik7CiAKLVtFeHBvc2VkPShXaW5kb3csV29y
a2VyKSwKLSBDb25zdHJ1Y3RvcihzZXF1ZW5jZTxGb250RmFjZT4gaW5pdGlhbEZhY2VzKV0KK1tF
eHBvc2VkPShXaW5kb3csV29ya2VyKV0KIGludGVyZmFjZSBGb250RmFjZVNldCA6IEV2ZW50VGFy
Z2V0IHsKKyAgY29uc3RydWN0b3Ioc2VxdWVuY2U8Rm9udEZhY2U+IGluaXRpYWxGYWNlcyk7CisK
ICAgLy8gRm9udEZhY2VTZXQgaXMgU2V0LWxpa2UhCiAgIHNldGxpa2U8Rm9udEZhY2U+OwogICBG
b250RmFjZVNldCBhZGQoRm9udEZhY2UgZm9udCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvY3NzLXJlZ2lvbnMuaWRs
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2Vz
L2Nzcy1yZWdpb25zLmlkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjdjZjNkMzFh
MTE0YTY1MzczNDk5MGVmMDgxYWMxMDk0NzhkZmNkOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ludGVyZmFjZXMvY3NzLXJlZ2lvbnMuaWRsCisrKyAvZGV2L251bGwKQEAgLTEs
MzMgKzAsMCBAQAotLy8gR0VORVJBVEVEIENPTlRFTlQgLSBETyBOT1QgRURJVAotLy8gQ29udGVu
dCB3YXMgYXV0b21hdGljYWxseSBleHRyYWN0ZWQgYnkgUmVmZnkgaW50byByZWZmeS1yZXBvcnRz
Ci0vLyAoaHR0cHM6Ly9naXRodWIuY29tL3RpZG91c3QvcmVmZnktcmVwb3J0cykKLS8vIFNvdXJj
ZTogQ1NTIFJlZ2lvbnMgTW9kdWxlIExldmVsIDEgKGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9j
c3MtcmVnaW9ucy8pCi0KLXBhcnRpYWwgaW50ZXJmYWNlIERvY3VtZW50IHsKLSAgcmVhZG9ubHkg
YXR0cmlidXRlIE5hbWVkRmxvd01hcCBuYW1lZEZsb3dzOwotfTsKLQotW0V4cG9zZWQ9V2luZG93
LAotIE1hcENsYXNzPShDU1NPTVN0cmluZywgTmFtZWRGbG93KV0gaW50ZXJmYWNlIE5hbWVkRmxv
d01hcCB7Ci0gIE5hbWVkRmxvdz8gZ2V0KENTU09NU3RyaW5nIGZsb3dOYW1lKTsKLSAgYm9vbGVh
biBoYXMoQ1NTT01TdHJpbmcgZmxvd05hbWUpOwotICBOYW1lZEZsb3dNYXAgc2V0KENTU09NU3Ry
aW5nIGZsb3dOYW1lLCBOYW1lZEZsb3cgZmxvd1ZhbHVlKTsKLSAgYm9vbGVhbiBkZWxldGUoQ1NT
T01TdHJpbmcgZmxvd05hbWUpOwotfTsKLQotW0V4cG9zZWQ9V2luZG93XQotaW50ZXJmYWNlIE5h
bWVkRmxvdyA6IEV2ZW50VGFyZ2V0IHsKLSAgcmVhZG9ubHkgYXR0cmlidXRlIENTU09NU3RyaW5n
IG5hbWU7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIG92ZXJzZXQ7Ci0gIHNlcXVlbmNl
PFJlZ2lvbj4gZ2V0UmVnaW9ucygpOwotICByZWFkb25seSBhdHRyaWJ1dGUgc2hvcnQgZmlyc3RF
bXB0eVJlZ2lvbkluZGV4OwotICBzZXF1ZW5jZTxOb2RlPiBnZXRDb250ZW50KCk7Ci0gIHNlcXVl
bmNlPFJlZ2lvbj4gZ2V0UmVnaW9uc0J5Q29udGVudChOb2RlIG5vZGUpOwotfTsKLQotaW50ZXJm
YWNlIG1peGluIFJlZ2lvbiB7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBDU1NPTVN0cmluZyByZWdp
b25PdmVyc2V0OwotICBzZXF1ZW5jZTxSYW5nZT4/IGdldFJlZ2lvbkZsb3dSYW5nZXMoKTsKLX07
Ci0KLUVsZW1lbnQgaW5jbHVkZXMgUmVnaW9uOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2Nzcy1zaGFkb3ctcGFydHMu
aWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZh
Y2VzL2Nzcy1zaGFkb3ctcGFydHMuaWRsCmluZGV4IDY2YWFlYmE3M2E3YTYyMjgwMTcxZWExNzY1
OTE1OTkxYjlkYTFiYTMuLmM0NzBlOGU3ZGM4YTcxZjA3ODcwYWZkYzc4OTg5YjQ3N2FmYTg3NGIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aW50ZXJmYWNlcy9jc3Mtc2hhZG93LXBhcnRzLmlkbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvY3NzLXNoYWRvdy1wYXJ0cy5pZGwK
QEAgLTEsNyArMSw3IEBACiAvLyBHRU5FUkFURUQgQ09OVEVOVCAtIERPIE5PVCBFRElUCiAvLyBD
b250ZW50IHdhcyBhdXRvbWF0aWNhbGx5IGV4dHJhY3RlZCBieSBSZWZmeSBpbnRvIHJlZmZ5LXJl
cG9ydHMKIC8vIChodHRwczovL2dpdGh1Yi5jb20vdGlkb3VzdC9yZWZmeS1yZXBvcnRzKQotLy8g
U291cmNlOiBDU1MgU2hhZG93IFBhcnRzIChodHRwOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3Mtc2hh
ZG93LXBhcnRzLykKKy8vIFNvdXJjZTogQ1NTIFNoYWRvdyBQYXJ0cyAoaHR0cHM6Ly9kcmFmdHMu
Y3Nzd2cub3JnL2Nzcy1zaGFkb3ctcGFydHMvKQogCiBwYXJ0aWFsIGludGVyZmFjZSBFbGVtZW50
IHsKICAgW1NhbWVPYmplY3QsIFB1dEZvcndhcmRzPXZhbHVlXSByZWFkb25seSBhdHRyaWJ1dGUg
RE9NVG9rZW5MaXN0IHBhcnQ7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvY3NzLXR5cGVkLW9tLmlkbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9jc3MtdHlwZWQt
b20uaWRsCmluZGV4IGRmOTY2OWU1NjM3ZjE4ZGU4OTc5MmZhY2JhOGZhYmUyMzRkNjU4ZjguLjAw
ZDNmNDliZmU2NTNjZTQ3ODJlMTNlNmMwZDQ2YzY1NzgzODc0Y2MgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9jc3MtdHlw
ZWQtb20uaWRsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaW50ZXJmYWNlcy9jc3MtdHlwZWQtb20uaWRsCkBAIC00MSw5ICs0MSw5IEBAIHBhcnRpYWwg
aW50ZXJmYWNlIG1peGluIEVsZW1lbnRDU1NJbmxpbmVTdHlsZSB7CiAgICAgW1NhbWVPYmplY3Rd
IHJlYWRvbmx5IGF0dHJpYnV0ZSBTdHlsZVByb3BlcnR5TWFwIGF0dHJpYnV0ZVN0eWxlTWFwOwog
fTsKIAotW0V4cG9zZWQ9KFdpbmRvdywgV29ya2VyLCBQYWludFdvcmtsZXQsIExheW91dFdvcmts
ZXQpLAotIENvbnN0cnVjdG9yKHNlcXVlbmNlPENTU1VucGFyc2VkU2VnbWVudD4gbWVtYmVycyld
CitbRXhwb3NlZD0oV2luZG93LCBXb3JrZXIsIFBhaW50V29ya2xldCwgTGF5b3V0V29ya2xldCld
CiBpbnRlcmZhY2UgQ1NTVW5wYXJzZWRWYWx1ZSA6IENTU1N0eWxlVmFsdWUgeworICAgIGNvbnN0
cnVjdG9yKHNlcXVlbmNlPENTU1VucGFyc2VkU2VnbWVudD4gbWVtYmVycyk7CiAgICAgaXRlcmFi
bGU8Q1NTVW5wYXJzZWRTZWdtZW50PjsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQg
bG9uZyBsZW5ndGg7CiAgICAgZ2V0dGVyIENTU1VucGFyc2VkU2VnbWVudCAodW5zaWduZWQgbG9u
ZyBpbmRleCk7CkBAIC01MiwxNiArNTIsMTYgQEAgaW50ZXJmYWNlIENTU1VucGFyc2VkVmFsdWUg
OiBDU1NTdHlsZVZhbHVlIHsKIAogdHlwZWRlZiAoVVNWU3RyaW5nIG9yIENTU1ZhcmlhYmxlUmVm
ZXJlbmNlVmFsdWUpIENTU1VucGFyc2VkU2VnbWVudDsKIAotW0V4cG9zZWQ9KFdpbmRvdywgV29y
a2VyLCBQYWludFdvcmtsZXQsIExheW91dFdvcmtsZXQpLAotIENvbnN0cnVjdG9yKFVTVlN0cmlu
ZyB2YXJpYWJsZSwgb3B0aW9uYWwgQ1NTVW5wYXJzZWRWYWx1ZT8gZmFsbGJhY2sgPSBudWxsKV0K
K1tFeHBvc2VkPShXaW5kb3csIFdvcmtlciwgUGFpbnRXb3JrbGV0LCBMYXlvdXRXb3JrbGV0KV0K
IGludGVyZmFjZSBDU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlIHsKKyAgICBjb25zdHJ1Y3RvcihV
U1ZTdHJpbmcgdmFyaWFibGUsIG9wdGlvbmFsIENTU1VucGFyc2VkVmFsdWU/IGZhbGxiYWNrID0g
bnVsbCk7CiAgICAgYXR0cmlidXRlIFVTVlN0cmluZyB2YXJpYWJsZTsKICAgICByZWFkb25seSBh
dHRyaWJ1dGUgQ1NTVW5wYXJzZWRWYWx1ZT8gZmFsbGJhY2s7CiB9OwogCi1bRXhwb3NlZD0oV2lu
ZG93LCBXb3JrZXIsIFBhaW50V29ya2xldCwgTGF5b3V0V29ya2xldCksCi0gQ29uc3RydWN0b3Io
VVNWU3RyaW5nIHZhbHVlKV0KK1tFeHBvc2VkPShXaW5kb3csIFdvcmtlciwgUGFpbnRXb3JrbGV0
LCBMYXlvdXRXb3JrbGV0KV0KIGludGVyZmFjZSBDU1NLZXl3b3JkVmFsdWUgOiBDU1NTdHlsZVZh
bHVlIHsKKyAgICBjb25zdHJ1Y3RvcihVU1ZTdHJpbmcgdmFsdWUpOwogICAgIGF0dHJpYnV0ZSBV
U1ZTdHJpbmcgdmFsdWU7CiB9OwogCkBAIC0xMDgsOSArMTA4LDkgQEAgaW50ZXJmYWNlIENTU051
bWVyaWNWYWx1ZSA6IENTU1N0eWxlVmFsdWUgewogICAgIFtFeHBvc2VkPVdpbmRvd10gc3RhdGlj
IENTU051bWVyaWNWYWx1ZSBwYXJzZShVU1ZTdHJpbmcgY3NzVGV4dCk7CiB9OwogCi1bRXhwb3Nl
ZD0oV2luZG93LCBXb3JrZXIsIFBhaW50V29ya2xldCwgTGF5b3V0V29ya2xldCksCi0gQ29uc3Ry
dWN0b3IoZG91YmxlIHZhbHVlLCBVU1ZTdHJpbmcgdW5pdCldCitbRXhwb3NlZD0oV2luZG93LCBX
b3JrZXIsIFBhaW50V29ya2xldCwgTGF5b3V0V29ya2xldCldCiBpbnRlcmZhY2UgQ1NTVW5pdFZh
bHVlIDogQ1NTTnVtZXJpY1ZhbHVlIHsKKyAgICBjb25zdHJ1Y3Rvcihkb3VibGUgdmFsdWUsIFVT
VlN0cmluZyB1bml0KTsKICAgICBhdHRyaWJ1dGUgZG91YmxlIHZhbHVlOwogICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBVU1ZTdHJpbmcgdW5pdDsKIH07CkBAIC0xMjAsNDUgKzEyMCw0NSBAQCBpbnRl
cmZhY2UgQ1NTTWF0aFZhbHVlIDogQ1NTTnVtZXJpY1ZhbHVlIHsKICAgICByZWFkb25seSBhdHRy
aWJ1dGUgQ1NTTWF0aE9wZXJhdG9yIG9wZXJhdG9yOwogfTsKIAotW0V4cG9zZWQ9KFdpbmRvdywg
V29ya2VyLCBQYWludFdvcmtsZXQsIExheW91dFdvcmtsZXQpLAotIENvbnN0cnVjdG9yKENTU051
bWJlcmlzaC4uLiBhcmdzKV0KK1tFeHBvc2VkPShXaW5kb3csIFdvcmtlciwgUGFpbnRXb3JrbGV0
LCBMYXlvdXRXb3JrbGV0KV0KIGludGVyZmFjZSBDU1NNYXRoU3VtIDogQ1NTTWF0aFZhbHVlIHsK
KyAgICBjb25zdHJ1Y3RvcihDU1NOdW1iZXJpc2guLi4gYXJncyk7CiAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIENTU051bWVyaWNBcnJheSB2YWx1ZXM7CiB9OwogCi1bRXhwb3NlZD0oV2luZG93LCBX
b3JrZXIsIFBhaW50V29ya2xldCwgTGF5b3V0V29ya2xldCksCi0gQ29uc3RydWN0b3IoQ1NTTnVt
YmVyaXNoLi4uIGFyZ3MpXQorW0V4cG9zZWQ9KFdpbmRvdywgV29ya2VyLCBQYWludFdvcmtsZXQs
IExheW91dFdvcmtsZXQpXQogaW50ZXJmYWNlIENTU01hdGhQcm9kdWN0IDogQ1NTTWF0aFZhbHVl
IHsKKyAgICBjb25zdHJ1Y3RvcihDU1NOdW1iZXJpc2guLi4gYXJncyk7CiAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIENTU051bWVyaWNBcnJheSB2YWx1ZXM7CiB9OwogCi1bRXhwb3NlZD0oV2luZG93
LCBXb3JrZXIsIFBhaW50V29ya2xldCwgTGF5b3V0V29ya2xldCksCi0gQ29uc3RydWN0b3IoQ1NT
TnVtYmVyaXNoIGFyZyldCitbRXhwb3NlZD0oV2luZG93LCBXb3JrZXIsIFBhaW50V29ya2xldCwg
TGF5b3V0V29ya2xldCldCiBpbnRlcmZhY2UgQ1NTTWF0aE5lZ2F0ZSA6IENTU01hdGhWYWx1ZSB7
CisgICAgY29uc3RydWN0b3IoQ1NTTnVtYmVyaXNoIGFyZyk7CiAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIENTU051bWVyaWNWYWx1ZSB2YWx1ZTsKIH07CiAKLVtFeHBvc2VkPShXaW5kb3csIFdvcmtl
ciwgUGFpbnRXb3JrbGV0LCBMYXlvdXRXb3JrbGV0KSwKLSBDb25zdHJ1Y3RvcihDU1NOdW1iZXJp
c2ggYXJnKV0KK1tFeHBvc2VkPShXaW5kb3csIFdvcmtlciwgUGFpbnRXb3JrbGV0LCBMYXlvdXRX
b3JrbGV0KV0KIGludGVyZmFjZSBDU1NNYXRoSW52ZXJ0IDogQ1NTTWF0aFZhbHVlIHsKKyAgICBj
b25zdHJ1Y3RvcihDU1NOdW1iZXJpc2ggYXJnKTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgQ1NT
TnVtZXJpY1ZhbHVlIHZhbHVlOwogfTsKIAotW0V4cG9zZWQ9KFdpbmRvdywgV29ya2VyLCBQYWlu
dFdvcmtsZXQsIExheW91dFdvcmtsZXQpLAotIENvbnN0cnVjdG9yKENTU051bWJlcmlzaC4uLiBh
cmdzKV0KK1tFeHBvc2VkPShXaW5kb3csIFdvcmtlciwgUGFpbnRXb3JrbGV0LCBMYXlvdXRXb3Jr
bGV0KV0KIGludGVyZmFjZSBDU1NNYXRoTWluIDogQ1NTTWF0aFZhbHVlIHsKKyAgICBjb25zdHJ1
Y3RvcihDU1NOdW1iZXJpc2guLi4gYXJncyk7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIENTU051
bWVyaWNBcnJheSB2YWx1ZXM7CiB9OwogCi1bRXhwb3NlZD0oV2luZG93LCBXb3JrZXIsIFBhaW50
V29ya2xldCwgTGF5b3V0V29ya2xldCksCi0gQ29uc3RydWN0b3IoQ1NTTnVtYmVyaXNoLi4uIGFy
Z3MpXQorW0V4cG9zZWQ9KFdpbmRvdywgV29ya2VyLCBQYWludFdvcmtsZXQsIExheW91dFdvcmts
ZXQpXQogaW50ZXJmYWNlIENTU01hdGhNYXggOiBDU1NNYXRoVmFsdWUgeworICAgIGNvbnN0cnVj
dG9yKENTU051bWJlcmlzaC4uLiBhcmdzKTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgQ1NTTnVt
ZXJpY0FycmF5IHZhbHVlczsKIH07CiAKLVtFeHBvc2VkPShXaW5kb3csIFdvcmtlciwgUGFpbnRX
b3JrbGV0LCBMYXlvdXRXb3JrbGV0KSwKLSBDb25zdHJ1Y3RvcihDU1NOdW1iZXJpc2ggbWluLCBD
U1NOdW1iZXJpc2ggdmFsLCBDU1NOdW1iZXJpc2ggbWF4KV0KK1tFeHBvc2VkPShXaW5kb3csIFdv
cmtlciwgUGFpbnRXb3JrbGV0LCBMYXlvdXRXb3JrbGV0KV0KIGludGVyZmFjZSBDU1NNYXRoQ2xh
bXAgOiBDU1NNYXRoVmFsdWUgeworICAgIGNvbnN0cnVjdG9yKENTU051bWJlcmlzaCBtaW4sIENT
U051bWJlcmlzaCB2YWwsIENTU051bWJlcmlzaCBtYXgpOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBDU1NOdW1lcmljVmFsdWUgbWluOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBDU1NOdW1lcmlj
VmFsdWUgdmFsOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBDU1NOdW1lcmljVmFsdWUgbWF4OwpA
QCAtMjMwLDkgKzIzMCw5IEBAIHBhcnRpYWwgbmFtZXNwYWNlIENTUyB7CiAgICAgQ1NTVW5pdFZh
bHVlIGZyKGRvdWJsZSB2YWx1ZSk7CiB9OwogCi1bRXhwb3NlZD0oV2luZG93LCBXb3JrZXIsIFBh
aW50V29ya2xldCwgTGF5b3V0V29ya2xldCksCi0gQ29uc3RydWN0b3Ioc2VxdWVuY2U8Q1NTVHJh
bnNmb3JtQ29tcG9uZW50PiB0cmFuc2Zvcm1zKV0KK1tFeHBvc2VkPShXaW5kb3csIFdvcmtlciwg
UGFpbnRXb3JrbGV0LCBMYXlvdXRXb3JrbGV0KV0KIGludGVyZmFjZSBDU1NUcmFuc2Zvcm1WYWx1
ZSA6IENTU1N0eWxlVmFsdWUgeworICAgIGNvbnN0cnVjdG9yKHNlcXVlbmNlPENTU1RyYW5zZm9y
bUNvbXBvbmVudD4gdHJhbnNmb3Jtcyk7CiAgICAgaXRlcmFibGU8Q1NTVHJhbnNmb3JtQ29tcG9u
ZW50PjsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7CiAgICAg
Z2V0dGVyIENTU1RyYW5zZm9ybUNvbXBvbmVudCAodW5zaWduZWQgbG9uZyBpbmRleCk7CkBAIC0y
NDksNjMgKzI0OSw2MyBAQCBpbnRlcmZhY2UgQ1NTVHJhbnNmb3JtQ29tcG9uZW50IHsKICAgICBE
T01NYXRyaXggdG9NYXRyaXgoKTsKIH07CiAKLVtFeHBvc2VkPShXaW5kb3csIFdvcmtlciwgUGFp
bnRXb3JrbGV0LCBMYXlvdXRXb3JrbGV0KSwKLSBDb25zdHJ1Y3RvcihDU1NOdW1lcmljVmFsdWUg
eCwgQ1NTTnVtZXJpY1ZhbHVlIHksIG9wdGlvbmFsIENTU051bWVyaWNWYWx1ZSB6KV0KK1tFeHBv
c2VkPShXaW5kb3csIFdvcmtlciwgUGFpbnRXb3JrbGV0LCBMYXlvdXRXb3JrbGV0KV0KIGludGVy
ZmFjZSBDU1NUcmFuc2xhdGUgOiBDU1NUcmFuc2Zvcm1Db21wb25lbnQgeworICAgIGNvbnN0cnVj
dG9yKENTU051bWVyaWNWYWx1ZSB4LCBDU1NOdW1lcmljVmFsdWUgeSwgb3B0aW9uYWwgQ1NTTnVt
ZXJpY1ZhbHVlIHopOwogICAgIGF0dHJpYnV0ZSBDU1NOdW1lcmljVmFsdWUgeDsKICAgICBhdHRy
aWJ1dGUgQ1NTTnVtZXJpY1ZhbHVlIHk7CiAgICAgYXR0cmlidXRlIENTU051bWVyaWNWYWx1ZSB6
OwogfTsKIAotW0V4cG9zZWQ9KFdpbmRvdywgV29ya2VyLCBQYWludFdvcmtsZXQsIExheW91dFdv
cmtsZXQpLAotIENvbnN0cnVjdG9yKENTU051bWVyaWNWYWx1ZSBhbmdsZSksCi0gQ29uc3RydWN0
b3IoQ1NTTnVtYmVyaXNoIHgsIENTU051bWJlcmlzaCB5LCBDU1NOdW1iZXJpc2ggeiwgQ1NTTnVt
ZXJpY1ZhbHVlIGFuZ2xlKV0KK1tFeHBvc2VkPShXaW5kb3csIFdvcmtlciwgUGFpbnRXb3JrbGV0
LCBMYXlvdXRXb3JrbGV0KV0KIGludGVyZmFjZSBDU1NSb3RhdGUgOiBDU1NUcmFuc2Zvcm1Db21w
b25lbnQgeworICAgIGNvbnN0cnVjdG9yKENTU051bWVyaWNWYWx1ZSBhbmdsZSk7CisgICAgY29u
c3RydWN0b3IoQ1NTTnVtYmVyaXNoIHgsIENTU051bWJlcmlzaCB5LCBDU1NOdW1iZXJpc2ggeiwg
Q1NTTnVtZXJpY1ZhbHVlIGFuZ2xlKTsKICAgICBhdHRyaWJ1dGUgQ1NTTnVtYmVyaXNoIHg7CiAg
ICAgYXR0cmlidXRlIENTU051bWJlcmlzaCB5OwogICAgIGF0dHJpYnV0ZSBDU1NOdW1iZXJpc2gg
ejsKICAgICBhdHRyaWJ1dGUgQ1NTTnVtZXJpY1ZhbHVlIGFuZ2xlOwogfTsKIAotW0V4cG9zZWQ9
KFdpbmRvdywgV29ya2VyLCBQYWludFdvcmtsZXQsIExheW91dFdvcmtsZXQpLAotIENvbnN0cnVj
dG9yKENTU051bWJlcmlzaCB4LCBDU1NOdW1iZXJpc2ggeSwgb3B0aW9uYWwgQ1NTTnVtYmVyaXNo
IHopXQorW0V4cG9zZWQ9KFdpbmRvdywgV29ya2VyLCBQYWludFdvcmtsZXQsIExheW91dFdvcmts
ZXQpXQogaW50ZXJmYWNlIENTU1NjYWxlIDogQ1NTVHJhbnNmb3JtQ29tcG9uZW50IHsKKyAgICBj
b25zdHJ1Y3RvcihDU1NOdW1iZXJpc2ggeCwgQ1NTTnVtYmVyaXNoIHksIG9wdGlvbmFsIENTU051
bWJlcmlzaCB6KTsKICAgICBhdHRyaWJ1dGUgQ1NTTnVtYmVyaXNoIHg7CiAgICAgYXR0cmlidXRl
IENTU051bWJlcmlzaCB5OwogICAgIGF0dHJpYnV0ZSBDU1NOdW1iZXJpc2ggejsKIH07CiAKLVtF
eHBvc2VkPShXaW5kb3csIFdvcmtlciwgUGFpbnRXb3JrbGV0LCBMYXlvdXRXb3JrbGV0KSwKLSBD
b25zdHJ1Y3RvcihDU1NOdW1lcmljVmFsdWUgYXgsIENTU051bWVyaWNWYWx1ZSBheSldCitbRXhw
b3NlZD0oV2luZG93LCBXb3JrZXIsIFBhaW50V29ya2xldCwgTGF5b3V0V29ya2xldCldCiBpbnRl
cmZhY2UgQ1NTU2tldyA6IENTU1RyYW5zZm9ybUNvbXBvbmVudCB7CisgICAgY29uc3RydWN0b3Io
Q1NTTnVtZXJpY1ZhbHVlIGF4LCBDU1NOdW1lcmljVmFsdWUgYXkpOwogICAgIGF0dHJpYnV0ZSBD
U1NOdW1lcmljVmFsdWUgYXg7CiAgICAgYXR0cmlidXRlIENTU051bWVyaWNWYWx1ZSBheTsKIH07
CiAKLVtFeHBvc2VkPShXaW5kb3csIFdvcmtlciwgUGFpbnRXb3JrbGV0LCBMYXlvdXRXb3JrbGV0
KSwKLSBDb25zdHJ1Y3RvcihDU1NOdW1lcmljVmFsdWUgYXgpXQorW0V4cG9zZWQ9KFdpbmRvdywg
V29ya2VyLCBQYWludFdvcmtsZXQsIExheW91dFdvcmtsZXQpXQogaW50ZXJmYWNlIENTU1NrZXdY
IDogQ1NTVHJhbnNmb3JtQ29tcG9uZW50IHsKKyAgICBjb25zdHJ1Y3RvcihDU1NOdW1lcmljVmFs
dWUgYXgpOwogICAgIGF0dHJpYnV0ZSBDU1NOdW1lcmljVmFsdWUgYXg7CiB9OwogCi1bRXhwb3Nl
ZD0oV2luZG93LCBXb3JrZXIsIFBhaW50V29ya2xldCwgTGF5b3V0V29ya2xldCksCi0gQ29uc3Ry
dWN0b3IoQ1NTTnVtZXJpY1ZhbHVlIGF5KV0KK1tFeHBvc2VkPShXaW5kb3csIFdvcmtlciwgUGFp
bnRXb3JrbGV0LCBMYXlvdXRXb3JrbGV0KV0KIGludGVyZmFjZSBDU1NTa2V3WSA6IENTU1RyYW5z
Zm9ybUNvbXBvbmVudCB7CisgICAgY29uc3RydWN0b3IoQ1NTTnVtZXJpY1ZhbHVlIGF5KTsKICAg
ICBhdHRyaWJ1dGUgQ1NTTnVtZXJpY1ZhbHVlIGF5OwogfTsKIAogLyogTm90ZSB0aGF0IHNrZXco
eCx5KSBpcyAqbm90KiB0aGUgc2FtZSBhcyBza2V3WCh4KSBza2V3WSh5KSwKICAgIHRodXMgdGhl
IHNlcGFyYXRlIGludGVyZmFjZXMgZm9yIGFsbCB0aHJlZS4gKi8KIAotW0V4cG9zZWQ9KFdpbmRv
dywgV29ya2VyLCBQYWludFdvcmtsZXQsIExheW91dFdvcmtsZXQpLAotIENvbnN0cnVjdG9yKENT
U051bWVyaWNWYWx1ZSBsZW5ndGgpXQorW0V4cG9zZWQ9KFdpbmRvdywgV29ya2VyLCBQYWludFdv
cmtsZXQsIExheW91dFdvcmtsZXQpXQogaW50ZXJmYWNlIENTU1BlcnNwZWN0aXZlIDogQ1NTVHJh
bnNmb3JtQ29tcG9uZW50IHsKKyAgICBjb25zdHJ1Y3RvcihDU1NOdW1lcmljVmFsdWUgbGVuZ3Ro
KTsKICAgICBhdHRyaWJ1dGUgQ1NTTnVtZXJpY1ZhbHVlIGxlbmd0aDsKIH07CiAKLVtFeHBvc2Vk
PShXaW5kb3csIFdvcmtlciwgUGFpbnRXb3JrbGV0LCBMYXlvdXRXb3JrbGV0KSwKLSBDb25zdHJ1
Y3RvcihET01NYXRyaXhSZWFkT25seSBtYXRyaXgsIG9wdGlvbmFsIENTU01hdHJpeENvbXBvbmVu
dE9wdGlvbnMgb3B0aW9ucyA9IHt9KV0KK1tFeHBvc2VkPShXaW5kb3csIFdvcmtlciwgUGFpbnRX
b3JrbGV0LCBMYXlvdXRXb3JrbGV0KV0KIGludGVyZmFjZSBDU1NNYXRyaXhDb21wb25lbnQgOiBD
U1NUcmFuc2Zvcm1Db21wb25lbnQgeworICAgIGNvbnN0cnVjdG9yKERPTU1hdHJpeFJlYWRPbmx5
IG1hdHJpeCwgb3B0aW9uYWwgQ1NTTWF0cml4Q29tcG9uZW50T3B0aW9ucyBvcHRpb25zID0ge30p
OwogICAgIGF0dHJpYnV0ZSBET01NYXRyaXggbWF0cml4OwogfTsKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2Nzc29t
LXZpZXcuaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bnRlcmZhY2VzL2Nzc29tLXZpZXcuaWRsCmluZGV4IDM0MDM2NDg0MTk1ZTI4YjMwNjhjOWVmMDlm
NDRhY2QwYmVkNmJkYTkuLjgyNTE3ZmVmY2MyMThjZTFhYmI0MTE2OWQ0NWU2YWVmYzU4MGNhNmQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aW50ZXJmYWNlcy9jc3NvbS12aWV3LmlkbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvY3Nzb20tdmlldy5pZGwKQEAgLTIwLDcgKzIw
LDcgQEAgcGFydGlhbCBpbnRlcmZhY2UgV2luZG93IHsKICAgICAvLyBicm93c2luZyBjb250ZXh0
CiAgICAgdm9pZCBtb3ZlVG8obG9uZyB4LCBsb25nIHkpOwogICAgIHZvaWQgbW92ZUJ5KGxvbmcg
eCwgbG9uZyB5KTsKLSAgICB2b2lkIHJlc2l6ZVRvKGxvbmcgeCwgbG9uZyB5KTsKKyAgICB2b2lk
IHJlc2l6ZVRvKGxvbmcgd2lkdGgsIGxvbmcgaGVpZ2h0KTsKICAgICB2b2lkIHJlc2l6ZUJ5KGxv
bmcgeCwgbG9uZyB5KTsKIAogICAgIC8vIHZpZXdwb3J0CkBAIC01OCw5ICs1OCw5IEBAIGludGVy
ZmFjZSBNZWRpYVF1ZXJ5TGlzdCA6IEV2ZW50VGFyZ2V0IHsKICAgICAgICAgICAgYXR0cmlidXRl
IEV2ZW50SGFuZGxlciBvbmNoYW5nZTsKIH07CiAKLVtFeHBvc2VkPVdpbmRvdywKLSBDb25zdHJ1
Y3RvcihDU1NPTVN0cmluZyB0eXBlLCBvcHRpb25hbCBNZWRpYVF1ZXJ5TGlzdEV2ZW50SW5pdCBl
dmVudEluaXREaWN0ID0ge30pXQorW0V4cG9zZWQ9V2luZG93XQogaW50ZXJmYWNlIE1lZGlhUXVl
cnlMaXN0RXZlbnQgOiBFdmVudCB7CisgIGNvbnN0cnVjdG9yKENTU09NU3RyaW5nIHR5cGUsIG9w
dGlvbmFsIE1lZGlhUXVlcnlMaXN0RXZlbnRJbml0IGV2ZW50SW5pdERpY3QgPSB7fSk7CiAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBDU1NPTVN0cmluZyBtZWRpYTsKICAgcmVhZG9ubHkgYXR0cmlidXRl
IGJvb2xlYW4gbWF0Y2hlczsKIH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvY3Nzb20uaWRsIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2Nzc29tLmlkbAppbmRl
eCBkYzliNzhmZGE2MTgwZGJhNmI3OTU4YzM0MjlhNzdlMGZiNTA0OGIyLi5iN2Q5YzMzZDU5NmMz
ODgyZTE0ZmZhMmZhMWRlZTk5ZTA4N2VjZWRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvY3Nzb20uaWRsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9jc3Nv
bS5pZGwKQEAgLTE0LDcgKzE0LDcgQEAgdHlwZWRlZiBET01TdHJpbmcgQ1NTT01TdHJpbmc7CiAK
IFtFeHBvc2VkPVdpbmRvd10KIGludGVyZmFjZSBNZWRpYUxpc3QgewotICBzdHJpbmdpZmllciBh
dHRyaWJ1dGUgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBDU1NPTVN0cmluZyBtZWRpYVRleHQ7
CisgIHN0cmluZ2lmaWVyIGF0dHJpYnV0ZSBbTGVnYWN5TnVsbFRvRW1wdHlTdHJpbmddIENTU09N
U3RyaW5nIG1lZGlhVGV4dDsKICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVu
Z3RoOwogICBnZXR0ZXIgQ1NTT01TdHJpbmc/IGl0ZW0odW5zaWduZWQgbG9uZyBpbmRleCk7CiAg
IHZvaWQgYXBwZW5kTWVkaXVtKENTU09NU3RyaW5nIG1lZGl1bSk7CkBAIC03Myw3ICs3Myw3IEBA
IGludGVyZmFjZSBDU1NSdWxlIHsKICAgcmVhZG9ubHkgYXR0cmlidXRlIENTU1J1bGU/IHBhcmVu
dFJ1bGU7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBDU1NTdHlsZVNoZWV0PyBwYXJlbnRTdHlsZVNo
ZWV0OwogCi0gIC8vIHRoZSBmb2xsb3dpbmcgYXR0cmlidXRlIGFuZCBjb25zdGFudHMgYXJlIGhp
c3RvcmlhbAorICAvLyB0aGUgZm9sbG93aW5nIGF0dHJpYnV0ZSBhbmQgY29uc3RhbnRzIGFyZSBo
aXN0b3JpY2FsCiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCB0eXBlOwogICBj
b25zdCB1bnNpZ25lZCBzaG9ydCBTVFlMRV9SVUxFID0gMTsKICAgY29uc3QgdW5zaWduZWQgc2hv
cnQgQ0hBUlNFVF9SVUxFID0gMjsKQEAgLTEzMCwxMCArMTMwLDEwIEBAIGludGVyZmFjZSBDU1NT
dHlsZURlY2xhcmF0aW9uIHsKICAgZ2V0dGVyIENTU09NU3RyaW5nIGl0ZW0odW5zaWduZWQgbG9u
ZyBpbmRleCk7CiAgIENTU09NU3RyaW5nIGdldFByb3BlcnR5VmFsdWUoQ1NTT01TdHJpbmcgcHJv
cGVydHkpOwogICBDU1NPTVN0cmluZyBnZXRQcm9wZXJ0eVByaW9yaXR5KENTU09NU3RyaW5nIHBy
b3BlcnR5KTsKLSAgW0NFUmVhY3Rpb25zXSB2b2lkIHNldFByb3BlcnR5KENTU09NU3RyaW5nIHBy
b3BlcnR5LCBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIENTU09NU3RyaW5nIHZhbHVlLCBvcHRp
b25hbCBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIENTU09NU3RyaW5nIHByaW9yaXR5ID0gIiIp
OworICBbQ0VSZWFjdGlvbnNdIHZvaWQgc2V0UHJvcGVydHkoQ1NTT01TdHJpbmcgcHJvcGVydHks
IFtMZWdhY3lOdWxsVG9FbXB0eVN0cmluZ10gQ1NTT01TdHJpbmcgdmFsdWUsIG9wdGlvbmFsIFtM
ZWdhY3lOdWxsVG9FbXB0eVN0cmluZ10gQ1NTT01TdHJpbmcgcHJpb3JpdHkgPSAiIik7CiAgIFtD
RVJlYWN0aW9uc10gQ1NTT01TdHJpbmcgcmVtb3ZlUHJvcGVydHkoQ1NTT01TdHJpbmcgcHJvcGVy
dHkpOwogICByZWFkb25seSBhdHRyaWJ1dGUgQ1NTUnVsZT8gcGFyZW50UnVsZTsKLSAgW0NFUmVh
Y3Rpb25zXSBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBDU1NPTVN0cmluZyBj
c3NGbG9hdDsKKyAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgW0xlZ2FjeU51bGxUb0VtcHR5U3Ry
aW5nXSBDU1NPTVN0cmluZyBjc3NGbG9hdDsKIH07CiAKIGludGVyZmFjZSBtaXhpbiBFbGVtZW50
Q1NTSW5saW5lU3R5bGUgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2RldmljZS1tZW1vcnkuaWRsIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2RldmljZS1tZW1v
cnkuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmY2NjQwMTNkZGVmZWE3YmM4OTUwZjc2MDRjMDZmNTNjMWMxYWFj
NDgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ludGVyZmFjZXMvZGV2aWNlLW1lbW9yeS5pZGwKQEAgLTAsMCArMSwxNCBAQAor
Ly8gR0VORVJBVEVEIENPTlRFTlQgLSBETyBOT1QgRURJVAorLy8gQ29udGVudCB3YXMgYXV0b21h
dGljYWxseSBleHRyYWN0ZWQgYnkgUmVmZnkgaW50byByZWZmeS1yZXBvcnRzCisvLyAoaHR0cHM6
Ly9naXRodWIuY29tL3RpZG91c3QvcmVmZnktcmVwb3J0cykKKy8vIFNvdXJjZTogRGV2aWNlIE1l
bW9yeSAxIChodHRwczovL3czYy5naXRodWIuaW8vZGV2aWNlLW1lbW9yeS8pCisKK1sKKyAgICBT
ZWN1cmVDb250ZXh0LAorICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpCitdIGludGVyZmFjZSBt
aXhpbiBOYXZpZ2F0b3JEZXZpY2VNZW1vcnkgeworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3Vi
bGUgZGV2aWNlTWVtb3J5OworfTsKKworTmF2aWdhdG9yIGluY2x1ZGVzIE5hdmlnYXRvckRldmlj
ZU1lbW9yeTsKK1dvcmtlck5hdmlnYXRvciBpbmNsdWRlcyBOYXZpZ2F0b3JEZXZpY2VNZW1vcnk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ludGVyZmFjZXMvZG9tLmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaW50ZXJmYWNlcy9kb20uaWRsCmluZGV4IGY3YTEwZDg5MGFiODkyZTk5MGJmOWE4
MWI4Nzg4NGU1NDA4OWRjYWEuLjEwMmMyMzEyMzgxOWJhMmU5YjYzMzc1NWNmYjQ1M2IxZjIxNjg5
NjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaW50ZXJmYWNlcy9kb20uaWRsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9kb20uaWRsCkBAIC0zMCw3ICszMCw3IEBAIGludGVy
ZmFjZSBFdmVudCB7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGRlZmF1bHRQcmV2ZW50
ZWQ7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGNvbXBvc2VkOwogCi0gIFtVbmZvcmdl
YWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gaXNUcnVzdGVkOworICBbTGVnYWN5VW5m
b3JnZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGlzVHJ1c3RlZDsKICAgcmVhZG9u
bHkgYXR0cmlidXRlIERPTUhpZ2hSZXNUaW1lU3RhbXAgdGltZVN0YW1wOwogCiAgIHZvaWQgaW5p
dEV2ZW50KERPTVN0cmluZyB0eXBlLCBvcHRpb25hbCBib29sZWFuIGJ1YmJsZXMgPSBmYWxzZSwg
b3B0aW9uYWwgYm9vbGVhbiBjYW5jZWxhYmxlID0gZmFsc2UpOyAvLyBoaXN0b3JpY2FsCkBAIC01
Miw3ICs1Miw3IEBAIGludGVyZmFjZSBDdXN0b21FdmVudCA6IEV2ZW50IHsKIAogICByZWFkb25s
eSBhdHRyaWJ1dGUgYW55IGRldGFpbDsKIAotICB2b2lkIGluaXRDdXN0b21FdmVudChET01TdHJp
bmcgdHlwZSwgb3B0aW9uYWwgYm9vbGVhbiBidWJibGVzID0gZmFsc2UsIG9wdGlvbmFsIGJvb2xl
YW4gY2FuY2VsYWJsZSA9IGZhbHNlLCBvcHRpb25hbCBhbnkgZGV0YWlsID0gbnVsbCk7CisgIHZv
aWQgaW5pdEN1c3RvbUV2ZW50KERPTVN0cmluZyB0eXBlLCBvcHRpb25hbCBib29sZWFuIGJ1YmJs
ZXMgPSBmYWxzZSwgb3B0aW9uYWwgYm9vbGVhbiBjYW5jZWxhYmxlID0gZmFsc2UsIG9wdGlvbmFs
IGFueSBkZXRhaWwgPSBudWxsKTsgLy8gaGlzdG9yaWNhbAogfTsKIAogZGljdGlvbmFyeSBDdXN0
b21FdmVudEluaXQgOiBFdmVudEluaXQgewpAQCAtMTE1LDYgKzExNSw3IEBAIGludGVyZmFjZSBt
aXhpbiBQYXJlbnROb2RlIHsKIAogICBbQ0VSZWFjdGlvbnMsIFVuc2NvcGFibGVdIHZvaWQgcHJl
cGVuZCgoTm9kZSBvciBET01TdHJpbmcpLi4uIG5vZGVzKTsKICAgW0NFUmVhY3Rpb25zLCBVbnNj
b3BhYmxlXSB2b2lkIGFwcGVuZCgoTm9kZSBvciBET01TdHJpbmcpLi4uIG5vZGVzKTsKKyAgW0NF
UmVhY3Rpb25zLCBVbnNjb3BhYmxlXSB2b2lkIHJlcGxhY2VDaGlsZHJlbigoTm9kZSBvciBET01T
dHJpbmcpLi4uIG5vZGVzKTsKIAogICBFbGVtZW50PyBxdWVyeVNlbGVjdG9yKERPTVN0cmluZyBz
ZWxlY3RvcnMpOwogICBbTmV3T2JqZWN0XSBOb2RlTGlzdCBxdWVyeVNlbGVjdG9yQWxsKERPTVN0
cmluZyBzZWxlY3RvcnMpOwpAQCAtMTQwLDExICsxNDEsMTEgQEAgRG9jdW1lbnRUeXBlIGluY2x1
ZGVzIENoaWxkTm9kZTsKIEVsZW1lbnQgaW5jbHVkZXMgQ2hpbGROb2RlOwogQ2hhcmFjdGVyRGF0
YSBpbmNsdWRlcyBDaGlsZE5vZGU7CiAKLWludGVyZmFjZSBtaXhpbiBTbG90YWJsZSB7CitpbnRl
cmZhY2UgbWl4aW4gU2xvdHRhYmxlIHsKICAgcmVhZG9ubHkgYXR0cmlidXRlIEhUTUxTbG90RWxl
bWVudD8gYXNzaWduZWRTbG90OwogfTsKLUVsZW1lbnQgaW5jbHVkZXMgU2xvdGFibGU7Ci1UZXh0
IGluY2x1ZGVzIFNsb3RhYmxlOworRWxlbWVudCBpbmNsdWRlcyBTbG90dGFibGU7CitUZXh0IGlu
Y2x1ZGVzIFNsb3R0YWJsZTsKIAogW0V4cG9zZWQ9V2luZG93XQogaW50ZXJmYWNlIE5vZGVMaXN0
IHsKQEAgLTI4OSw3ICsyOTAsNyBAQCBpbnRlcmZhY2UgRG9jdW1lbnQgOiBOb2RlIHsKICAgW05l
d09iamVjdF0gQXR0ciBjcmVhdGVBdHRyaWJ1dGUoRE9NU3RyaW5nIGxvY2FsTmFtZSk7CiAgIFtO
ZXdPYmplY3RdIEF0dHIgY3JlYXRlQXR0cmlidXRlTlMoRE9NU3RyaW5nPyBuYW1lc3BhY2UsIERP
TVN0cmluZyBxdWFsaWZpZWROYW1lKTsKIAotICBbTmV3T2JqZWN0XSBFdmVudCBjcmVhdGVFdmVu
dChET01TdHJpbmcgaW50ZXJmYWNlKTsKKyAgW05ld09iamVjdF0gRXZlbnQgY3JlYXRlRXZlbnQo
RE9NU3RyaW5nIGludGVyZmFjZSk7IC8vIGhpc3RvcmljYWwKIAogICBbTmV3T2JqZWN0XSBSYW5n
ZSBjcmVhdGVSYW5nZSgpOwogCkBAIC0zMDgsNyArMzA5LDcgQEAgZGljdGlvbmFyeSBFbGVtZW50
Q3JlYXRpb25PcHRpb25zIHsKIFtFeHBvc2VkPVdpbmRvd10KIGludGVyZmFjZSBET01JbXBsZW1l
bnRhdGlvbiB7CiAgIFtOZXdPYmplY3RdIERvY3VtZW50VHlwZSBjcmVhdGVEb2N1bWVudFR5cGUo
RE9NU3RyaW5nIHF1YWxpZmllZE5hbWUsIERPTVN0cmluZyBwdWJsaWNJZCwgRE9NU3RyaW5nIHN5
c3RlbUlkKTsKLSAgW05ld09iamVjdF0gWE1MRG9jdW1lbnQgY3JlYXRlRG9jdW1lbnQoRE9NU3Ry
aW5nPyBuYW1lc3BhY2UsIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIHF1YWxp
ZmllZE5hbWUsIG9wdGlvbmFsIERvY3VtZW50VHlwZT8gZG9jdHlwZSA9IG51bGwpOworICBbTmV3
T2JqZWN0XSBYTUxEb2N1bWVudCBjcmVhdGVEb2N1bWVudChET01TdHJpbmc/IG5hbWVzcGFjZSwg
W0xlZ2FjeU51bGxUb0VtcHR5U3RyaW5nXSBET01TdHJpbmcgcXVhbGlmaWVkTmFtZSwgb3B0aW9u
YWwgRG9jdW1lbnRUeXBlPyBkb2N0eXBlID0gbnVsbCk7CiAgIFtOZXdPYmplY3RdIERvY3VtZW50
IGNyZWF0ZUhUTUxEb2N1bWVudChvcHRpb25hbCBET01TdHJpbmcgdGl0bGUpOwogCiAgIGJvb2xl
YW4gaGFzRmVhdHVyZSgpOyAvLyB1c2VsZXNzOyBhbHdheXMgcmV0dXJucyB0cnVlCkBAIC00MTMs
NyArNDE0LDcgQEAgaW50ZXJmYWNlIEF0dHIgOiBOb2RlIHsKIH07CiBbRXhwb3NlZD1XaW5kb3dd
CiBpbnRlcmZhY2UgQ2hhcmFjdGVyRGF0YSA6IE5vZGUgewotICBhdHRyaWJ1dGUgW1RyZWF0TnVs
bEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgZGF0YTsKKyAgYXR0cmlidXRlIFtMZWdhY3lOdWxs
VG9FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGRhdGE7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNp
Z25lZCBsb25nIGxlbmd0aDsKICAgRE9NU3RyaW5nIHN1YnN0cmluZ0RhdGEodW5zaWduZWQgbG9u
ZyBvZmZzZXQsIHVuc2lnbmVkIGxvbmcgY291bnQpOwogICB2b2lkIGFwcGVuZERhdGEoRE9NU3Ry
aW5nIGRhdGEpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2VuY3J5cHRlZC1tZWRpYS5pZGwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvZW5jcnlwdGVkLW1lZGlh
LmlkbAppbmRleCAyNmMwM2Y2ZjI0ZGMwMzIxMzMyYzdlMWQxNjQ0M2QzNTBkMzU5NzVhLi41ZDZi
YmUzNmNlMzhlN2U5MWVlMGYwMzY0YTE2MWNiZWQxNmU3NTc5IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvZW5jcnlwdGVk
LW1lZGlhLmlkbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ludGVyZmFjZXMvZW5jcnlwdGVkLW1lZGlhLmlkbApAQCAtMjUsOCArMjUsOSBAQCBkaWN0
aW9uYXJ5IE1lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbiB7CiB9OwogCiBkaWN0aW9uYXJ5IE1l
ZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5IHsKLSAgICAgICAgICAgICBET01TdHJpbmcgY29u
dGVudFR5cGUgPSAiIjsKLSAgICAgICAgICAgICBET01TdHJpbmcgcm9idXN0bmVzcyA9ICIiOwor
ICAgRE9NU3RyaW5nIGNvbnRlbnRUeXBlID0gIiI7CisgICBET01TdHJpbmc/IGVuY3J5cHRpb25T
Y2hlbWUgPSBudWxsOworICAgRE9NU3RyaW5nIHJvYnVzdG5lc3MgPSAiIjsKIH07CiAKIFtFeHBv
c2VkPVdpbmRvdywgU2VjdXJlQ29udGV4dF0gaW50ZXJmYWNlIE1lZGlhS2V5U3lzdGVtQWNjZXNz
IHsKQEAgLTM3LDcgKzM4LDggQEAgZGljdGlvbmFyeSBNZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJp
bGl0eSB7CiAKIGVudW0gTWVkaWFLZXlTZXNzaW9uVHlwZSB7CiAgICAgInRlbXBvcmFyeSIsCi0g
ICAgInBlcnNpc3RlbnQtbGljZW5zZSIKKyAgICAicGVyc2lzdGVudC1saWNlbnNlIiwKKyAgICAi
cGVyc2lzdGVudC11c2FnZS1yZWNvcmQiCiB9OwogCiBbRXhwb3NlZD1XaW5kb3csIFNlY3VyZUNv
bnRleHRdIGludGVyZmFjZSBNZWRpYUtleXMgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2V2ZW50LXRpbWluZy5pZGwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMv
ZXZlbnQtdGltaW5nLmlkbAppbmRleCBlODQ3NWQzMTkyMmYwM2QzNGRkNzBmMWZiZWUwOTRjNzk3
N2Y2Njc2Li5kODRkN2MzMmRjYzJhMGU5NzQ1YTZjNjBhN2FjNWRlZGFjNzhiMmQ0IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFj
ZXMvZXZlbnQtdGltaW5nLmlkbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvZXZlbnQtdGltaW5nLmlkbApAQCAtOCw2ICs4LDcgQEAg
aW50ZXJmYWNlIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcgOiBQZXJmb3JtYW5jZUVudHJ5IHsKICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgRE9NSGlnaFJlc1RpbWVTdGFtcCBwcm9jZXNzaW5nU3RhcnQ7
CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTUhpZ2hSZXNUaW1lU3RhbXAgcHJvY2Vzc2luZ0Vu
ZDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBjYW5jZWxhYmxlOworICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBOb2RlPyB0YXJnZXQ7CiAgICAgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04o
KTsKIH07CiAKQEAgLTIwLDMgKzIxLDcgQEAgaW50ZXJmYWNlIEV2ZW50Q291bnRzIHsKIHBhcnRp
YWwgaW50ZXJmYWNlIFBlcmZvcm1hbmNlIHsKICAgICBbU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0
cmlidXRlIEV2ZW50Q291bnRzIGV2ZW50Q291bnRzOwogfTsKKworcGFydGlhbCBkaWN0aW9uYXJ5
IFBlcmZvcm1hbmNlT2JzZXJ2ZXJJbml0IHsKKyAgICBET01IaWdoUmVzVGltZVN0YW1wIGR1cmF0
aW9uVGhyZXNob2xkOworfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9mdWxsc2NyZWVuLmlkbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9mdWxsc2NyZWVuLmlk
bAppbmRleCA2Zjg2ZDVjMjIwZmQyNzRjZWE4YjEyMTkwYWQxYTRhM2VlNWEyYmE5Li42NzdiMmUx
MTZmNmRjZjZmZjgzNDA3NjFkNDczZTNkY2YwZjgzYWY1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvZnVsbHNjcmVlbi5p
ZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRl
cmZhY2VzL2Z1bGxzY3JlZW4uaWRsCkBAIC0yMSw4ICsyMSw4IEBAIHBhcnRpYWwgaW50ZXJmYWNl
IEVsZW1lbnQgewogfTsKIAogcGFydGlhbCBpbnRlcmZhY2UgRG9jdW1lbnQgewotICBbTGVuaWVu
dFNldHRlcl0gcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gZnVsbHNjcmVlbkVuYWJsZWQ7Ci0g
IFtMZW5pZW50U2V0dGVyLCBVbnNjb3BhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBm
dWxsc2NyZWVuOyAvLyBoaXN0b3JpY2FsCisgIFtMZWdhY3lMZW5pZW50U2V0dGVyXSByZWFkb25s
eSBhdHRyaWJ1dGUgYm9vbGVhbiBmdWxsc2NyZWVuRW5hYmxlZDsKKyAgW0xlZ2FjeUxlbmllbnRT
ZXR0ZXIsIFVuc2NvcGFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGZ1bGxzY3JlZW47
IC8vIGhpc3RvcmljYWwKIAogICBQcm9taXNlPHZvaWQ+IGV4aXRGdWxsc2NyZWVuKCk7CiAKQEAg
LTMxLDUgKzMxLDUgQEAgcGFydGlhbCBpbnRlcmZhY2UgRG9jdW1lbnQgewogfTsKIAogcGFydGlh
bCBpbnRlcmZhY2UgbWl4aW4gRG9jdW1lbnRPclNoYWRvd1Jvb3QgewotICBbTGVuaWVudFNldHRl
cl0gcmVhZG9ubHkgYXR0cmlidXRlIEVsZW1lbnQ/IGZ1bGxzY3JlZW5FbGVtZW50OworICBbTGVn
YWN5TGVuaWVudFNldHRlcl0gcmVhZG9ubHkgYXR0cmlidXRlIEVsZW1lbnQ/IGZ1bGxzY3JlZW5F
bGVtZW50OwogfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9nZW9sb2NhdGlvbi1zZW5zb3IuaWRsIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2dlb2xvY2F0aW9u
LXNlbnNvci5pZGwKaW5kZXggMDA4M2NkYWMxOTgyOGYzMWRlNzlkMTQwZDUwZTYwZDMzMDQxNzY2
MS4uYmFhMGY1YzdhMWU3OGEyZTJlZTk3NzJmZmFkYTUzNzkwMTE2Y2Q1NSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2dl
b2xvY2F0aW9uLXNlbnNvci5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2dlb2xvY2F0aW9uLXNlbnNvci5pZGwKQEAgLTEsMTIg
KzEsMTIgQEAKIC8vIEdFTkVSQVRFRCBDT05URU5UIC0gRE8gTk9UIEVESVQKIC8vIENvbnRlbnQg
d2FzIGF1dG9tYXRpY2FsbHkgZXh0cmFjdGVkIGJ5IFJlZmZ5IGludG8gcmVmZnktcmVwb3J0cwog
Ly8gKGh0dHBzOi8vZ2l0aHViLmNvbS90aWRvdXN0L3JlZmZ5LXJlcG9ydHMpCi0vLyBTb3VyY2U6
IEdlb2xvY2F0aW9uIFNlbnNvciAoaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9nZW9sb2NhdGlvbi1z
ZW5zb3IvKQorLy8gU291cmNlOiBHZW9sb2NhdGlvbiBTZW5zb3IgKGh0dHBzOi8vdzNjLmdpdGh1
Yi5pby9nZW9sb2NhdGlvbi1zZW5zb3IvKQogCi1bQ29uc3RydWN0b3Iob3B0aW9uYWwgR2VvbG9j
YXRpb25TZW5zb3JPcHRpb25zIG9wdGlvbnMgPSB7fSksCi0gU2VjdXJlQ29udGV4dCwKK1tTZWN1
cmVDb250ZXh0LAogIEV4cG9zZWQ9KERlZGljYXRlZFdvcmtlciwgV2luZG93KV0KIGludGVyZmFj
ZSBHZW9sb2NhdGlvblNlbnNvciA6IFNlbnNvciB7CisgIGNvbnN0cnVjdG9yKG9wdGlvbmFsIEdl
b2xvY2F0aW9uU2Vuc29yT3B0aW9ucyBvcHRpb25zID0ge30pOwogICBzdGF0aWMgUHJvbWlzZTxH
ZW9sb2NhdGlvblNlbnNvclJlYWRpbmc+IHJlYWQob3B0aW9uYWwgUmVhZE9wdGlvbnMgcmVhZE9w
dGlvbnMgPSB7fSk7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlPyBs
YXRpdHVkZTsKICAgcmVhZG9ubHkgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGU/IGxvbmdp
dHVkZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaW50ZXJmYWNlcy9oaXQtdGVzdC5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvaGl0LXRlc3QuaWRsCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ5
ZjkwYjNlYzdiMjBlNzRkZDIwNTE0Mjg0NzI3NmUzN2E0YjVmMGEKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMv
aGl0LXRlc3QuaWRsCkBAIC0wLDAgKzEsNjkgQEAKKy8vIEdFTkVSQVRFRCBDT05URU5UIC0gRE8g
Tk9UIEVESVQKKy8vIENvbnRlbnQgd2FzIGF1dG9tYXRpY2FsbHkgZXh0cmFjdGVkIGJ5IFJlZmZ5
IGludG8gcmVmZnktcmVwb3J0cworLy8gKGh0dHBzOi8vZ2l0aHViLmNvbS90aWRvdXN0L3JlZmZ5
LXJlcG9ydHMpCisvLyBTb3VyY2U6IFdlYlhSIEhpdCBUZXN0IE1vZHVsZSAoaHR0cHM6Ly9pbW1l
cnNpdmUtd2ViLmdpdGh1Yi5pby9oaXQtdGVzdC8pCisKK2VudW0gWFJIaXRUZXN0VHJhY2thYmxl
VHlwZSB7CisgICJwb2ludCIsCisgICJwbGFuZSIsCisgICJtZXNoIgorfTsKKworZGljdGlvbmFy
eSBYUkhpdFRlc3RPcHRpb25zSW5pdCB7CisgIHJlcXVpcmVkIFhSU3BhY2Ugc3BhY2U7CisgIEZy
b3plbkFycmF5PFhSSGl0VGVzdFRyYWNrYWJsZVR5cGU+IGVudGl0eVR5cGVzOworICBYUlJheSBv
ZmZzZXRSYXk7Cit9OworCitkaWN0aW9uYXJ5IFhSVHJhbnNpZW50SW5wdXRIaXRUZXN0T3B0aW9u
c0luaXQgeworICByZXF1aXJlZCBET01TdHJpbmcgcHJvZmlsZTsKKyAgRnJvemVuQXJyYXk8WFJI
aXRUZXN0VHJhY2thYmxlVHlwZT4gZW50aXR5VHlwZXM7CisgIFhSUmF5IG9mZnNldFJheTsKK307
CisKK1tTZWN1cmVDb250ZXh0LCBFeHBvc2VkPVdpbmRvd10KK2ludGVyZmFjZSBYUkhpdFRlc3RT
b3VyY2UgeworICB2b2lkIGNhbmNlbCgpOworfTsKKworW1NlY3VyZUNvbnRleHQsIEV4cG9zZWQ9
V2luZG93XQoraW50ZXJmYWNlIFhSVHJhbnNpZW50SW5wdXRIaXRUZXN0U291cmNlIHsKKyAgdm9p
ZCBjYW5jZWwoKTsKK307CisKK1tTZWN1cmVDb250ZXh0LCBFeHBvc2VkPVdpbmRvd10KK2ludGVy
ZmFjZSBYUkhpdFRlc3RSZXN1bHQgeworICBYUlBvc2U/IGdldFBvc2UoWFJTcGFjZSBiYXNlU3Bh
Y2UpOworfTsKKworW1NlY3VyZUNvbnRleHQsIEV4cG9zZWQ9V2luZG93XQoraW50ZXJmYWNlIFhS
VHJhbnNpZW50SW5wdXRIaXRUZXN0UmVzdWx0IHsKKyAgW1NhbWVPYmplY3RdIHJlYWRvbmx5IGF0
dHJpYnV0ZSBYUklucHV0U291cmNlIGlucHV0U291cmNlOworICByZWFkb25seSBhdHRyaWJ1dGUg
RnJvemVuQXJyYXk8WFJIaXRUZXN0UmVzdWx0PiByZXN1bHRzOworfTsKKworcGFydGlhbCBpbnRl
cmZhY2UgWFJTZXNzaW9uIHsKKyAgUHJvbWlzZTxYUkhpdFRlc3RTb3VyY2U+IHJlcXVlc3RIaXRU
ZXN0U291cmNlKFhSSGl0VGVzdE9wdGlvbnNJbml0IG9wdGlvbnMpOworICBQcm9taXNlPFhSVHJh
bnNpZW50SW5wdXRIaXRUZXN0U291cmNlPiByZXF1ZXN0SGl0VGVzdFNvdXJjZUZvclRyYW5zaWVu
dElucHV0KFhSVHJhbnNpZW50SW5wdXRIaXRUZXN0T3B0aW9uc0luaXQgb3B0aW9ucyk7Cit9Owor
CitwYXJ0aWFsIGludGVyZmFjZSBYUkZyYW1lIHsKKyAgRnJvemVuQXJyYXk8WFJIaXRUZXN0UmVz
dWx0PiBnZXRIaXRUZXN0UmVzdWx0cyhYUkhpdFRlc3RTb3VyY2UgaGl0VGVzdFNvdXJjZSk7Cisg
IEZyb3plbkFycmF5PFhSVHJhbnNpZW50SW5wdXRIaXRUZXN0UmVzdWx0PiBnZXRIaXRUZXN0UmVz
dWx0c0ZvclRyYW5zaWVudElucHV0KFhSVHJhbnNpZW50SW5wdXRIaXRUZXN0U291cmNlIGhpdFRl
c3RTb3VyY2UpOworfTsKKworZGljdGlvbmFyeSBYUlJheURpcmVjdGlvbkluaXQgeworICBkb3Vi
bGUgeCA9IDA7CisgIGRvdWJsZSB5ID0gMDsKKyAgZG91YmxlIHogPSAtMTsKKyAgZG91YmxlIHcg
PSAwOworfTsKKworW1NlY3VyZUNvbnRleHQsIEV4cG9zZWQ9V2luZG93XQoraW50ZXJmYWNlIFhS
UmF5IHsKKyAgY29uc3RydWN0b3Iob3B0aW9uYWwgRE9NUG9pbnRJbml0IG9yaWdpbiA9IHt9LCBv
cHRpb25hbCBYUlJheURpcmVjdGlvbkluaXQgZGlyZWN0aW9uID0ge30pOworICBjb25zdHJ1Y3Rv
cihYUlJpZ2lkVHJhbnNmb3JtIHRyYW5zZm9ybSk7CisgIFtTYW1lT2JqZWN0XSByZWFkb25seSBh
dHRyaWJ1dGUgRE9NUG9pbnRSZWFkT25seSBvcmlnaW47CisgIFtTYW1lT2JqZWN0XSByZWFkb25s
eSBhdHRyaWJ1dGUgRE9NUG9pbnRSZWFkT25seSBkaXJlY3Rpb247CisgIFtTYW1lT2JqZWN0XSBy
ZWFkb25seSBhdHRyaWJ1dGUgRmxvYXQzMkFycmF5IG1hdHJpeDsKK307CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvaHRt
bC5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVy
ZmFjZXMvaHRtbC5pZGwKaW5kZXggMjY2NTc0ZGU2M2U4ZjJhYWM0YTc4MmJhODM2YTI3N2JiNWEy
OTk3ZC4uN2IyYTk2Y2U2NzYwYTA1YjQ5ZTljNDQ1YjQwNTBhOTkxYWNkMzQyYiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2Vz
L2h0bWwuaWRsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaW50ZXJmYWNlcy9odG1sLmlkbApAQCAtMSw3ICsxLDcgQEAKIC8vIEdFTkVSQVRFRCBDT05U
RU5UIC0gRE8gTk9UIEVESVQKIC8vIENvbnRlbnQgd2FzIGF1dG9tYXRpY2FsbHkgZXh0cmFjdGVk
IGJ5IFJlZmZ5IGludG8gcmVmZnktcmVwb3J0cwogLy8gKGh0dHBzOi8vZ2l0aHViLmNvbS90aWRv
dXN0L3JlZmZ5LXJlcG9ydHMpCi0vLyBTb3VyY2U6IEhUTUwgU3RhbmRhcmQgKGh0dHBzOi8vaHRt
bC5zcGVjLndoYXR3Zy5vcmcvKQorLy8gU291cmNlOiBIVE1MIFN0YW5kYXJkIChodHRwczovL2h0
bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS8pCiAKIFtFeHBvc2VkPVdpbmRvdywKICBMZWdh
Y3lVbmVudW1lcmFibGVOYW1lZFByb3BlcnRpZXNdCkBAIC00NSwxMCArNDUsMTAgQEAgaW50ZXJm
YWNlIERPTVN0cmluZ0xpc3QgewogZW51bSBEb2N1bWVudFJlYWR5U3RhdGUgeyAibG9hZGluZyIs
ICJpbnRlcmFjdGl2ZSIsICJjb21wbGV0ZSIgfTsKIHR5cGVkZWYgKEhUTUxTY3JpcHRFbGVtZW50
IG9yIFNWR1NjcmlwdEVsZW1lbnQpIEhUTUxPclNWR1NjcmlwdEVsZW1lbnQ7CiAKLVtPdmVycmlk
ZUJ1aWx0aW5zXQorW0xlZ2FjeU92ZXJyaWRlQnVpbHRJbnNdCiBwYXJ0aWFsIGludGVyZmFjZSBE
b2N1bWVudCB7CiAgIC8vIHJlc291cmNlIG1ldGFkYXRhIG1hbmFnZW1lbnQKLSAgW1B1dEZvcndh
cmRzPWhyZWYsIFVuZm9yZ2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgTG9jYXRpb24/IGxvY2F0
aW9uOworICBbUHV0Rm9yd2FyZHM9aHJlZiwgTGVnYWN5VW5mb3JnZWFibGVdIHJlYWRvbmx5IGF0
dHJpYnV0ZSBMb2NhdGlvbj8gbG9jYXRpb247CiAgIGF0dHJpYnV0ZSBVU1ZTdHJpbmcgZG9tYWlu
OwogICByZWFkb25seSBhdHRyaWJ1dGUgVVNWU3RyaW5nIHJlZmVycmVyOwogICBhdHRyaWJ1dGUg
VVNWU3RyaW5nIGNvb2tpZTsKQEAgLTg5LDcgKzg5LDcgQEAgcGFydGlhbCBpbnRlcmZhY2UgRG9j
dW1lbnQgewogICBET01TdHJpbmcgcXVlcnlDb21tYW5kVmFsdWUoRE9NU3RyaW5nIGNvbW1hbmRJ
ZCk7CiAKICAgLy8gc3BlY2lhbCBldmVudCBoYW5kbGVyIElETCBhdHRyaWJ1dGVzIHRoYXQgb25s
eSBhcHBseSB0byBEb2N1bWVudCBvYmplY3RzCi0gIFtMZW5pZW50VGhpc10gYXR0cmlidXRlIEV2
ZW50SGFuZGxlciBvbnJlYWR5c3RhdGVjaGFuZ2U7CisgIFtMZWdhY3lMZW5pZW50VGhpc10gYXR0
cmlidXRlIEV2ZW50SGFuZGxlciBvbnJlYWR5c3RhdGVjaGFuZ2U7CiAKICAgLy8gYWxzbyBoYXMg
b2Jzb2xldGUgbWVtYmVycwogfTsKQEAgLTExOSw3ICsxMTksNyBAQCBpbnRlcmZhY2UgSFRNTEVs
ZW1lbnQgOiBFbGVtZW50IHsKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgYm9vbGVhbiBzcGVs
bGNoZWNrOwogICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBET01TdHJpbmcgYXV0b2NhcGl0YWxp
emU7CiAKLSAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5n
XSBET01TdHJpbmcgaW5uZXJUZXh0OworICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbTGVnYWN5
TnVsbFRvRW1wdHlTdHJpbmddIERPTVN0cmluZyBpbm5lclRleHQ7CiAKICAgRWxlbWVudEludGVy
bmFscyBhdHRhY2hJbnRlcm5hbHMoKTsKIH07CkBAIC0xNDUsNyArMTQ1LDcgQEAgaW50ZXJmYWNl
IG1peGluIEhUTUxPclNWR0VsZW1lbnQgewogfTsKIAogW0V4cG9zZWQ9V2luZG93LAotIE92ZXJy
aWRlQnVpbHRpbnNdCisgTGVnYWN5T3ZlcnJpZGVCdWlsdEluc10KIGludGVyZmFjZSBET01TdHJp
bmdNYXAgewogICBnZXR0ZXIgRE9NU3RyaW5nIChET01TdHJpbmcgbmFtZSk7CiAgIFtDRVJlYWN0
aW9uc10gc2V0dGVyIHZvaWQgKERPTVN0cmluZyBuYW1lLCBET01TdHJpbmcgdmFsdWUpOwpAQCAt
MTU1LDggKzE1NSw2IEBAIGludGVyZmFjZSBET01TdHJpbmdNYXAgewogW0V4cG9zZWQ9V2luZG93
XQogaW50ZXJmYWNlIEhUTUxIdG1sRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgW0hUTUxDb25z
dHJ1Y3Rvcl0gY29uc3RydWN0b3IoKTsKLQotICAvLyBhbHNvIGhhcyBvYnNvbGV0ZSBtZW1iZXJz
CiB9OwogCiBbRXhwb3NlZD1XaW5kb3ddCkBAIC0xOTYsOCArMTk0LDYgQEAgaW50ZXJmYWNlIEhU
TUxMaW5rRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUg
VVNWU3RyaW5nIGltYWdlU3Jjc2V0OwogICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBET01TdHJp
bmcgaW1hZ2VTaXplczsKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHJlZmVy
cmVyUG9saWN5OwotCi0gIC8vIGFsc28gaGFzIG9ic29sZXRlIG1lbWJlcnMKIH07CiBIVE1MTGlu
a0VsZW1lbnQgaW5jbHVkZXMgTGlua1N0eWxlOwogCkBAIC0yMDgsOCArMjA0LDYgQEAgaW50ZXJm
YWNlIEhUTUxNZXRhRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgW0NFUmVhY3Rpb25zXSBhdHRy
aWJ1dGUgRE9NU3RyaW5nIG5hbWU7CiAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIERPTVN0cmlu
ZyBodHRwRXF1aXY7CiAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIERPTVN0cmluZyBjb250ZW50
OwotCi0gIC8vIGFsc28gaGFzIG9ic29sZXRlIG1lbWJlcnMKIH07CiAKIFtFeHBvc2VkPVdpbmRv
d10KQEAgLTIxNywxNiArMjExLDEyIEBAIGludGVyZmFjZSBIVE1MU3R5bGVFbGVtZW50IDogSFRN
TEVsZW1lbnQgewogICBbSFRNTENvbnN0cnVjdG9yXSBjb25zdHJ1Y3RvcigpOwogCiAgIFtDRVJl
YWN0aW9uc10gYXR0cmlidXRlIERPTVN0cmluZyBtZWRpYTsKLQotICAvLyBhbHNvIGhhcyBvYnNv
bGV0ZSBtZW1iZXJzCiB9OwogSFRNTFN0eWxlRWxlbWVudCBpbmNsdWRlcyBMaW5rU3R5bGU7CiAK
IFtFeHBvc2VkPVdpbmRvd10KIGludGVyZmFjZSBIVE1MQm9keUVsZW1lbnQgOiBIVE1MRWxlbWVu
dCB7CiAgIFtIVE1MQ29uc3RydWN0b3JdIGNvbnN0cnVjdG9yKCk7Ci0KLSAgLy8gYWxzbyBoYXMg
b2Jzb2xldGUgbWVtYmVycwogfTsKIAogSFRNTEJvZHlFbGVtZW50IGluY2x1ZGVzIFdpbmRvd0V2
ZW50SGFuZGxlcnM7CkBAIC0yMzQsMjkgKzIyNCwyMSBAQCBIVE1MQm9keUVsZW1lbnQgaW5jbHVk
ZXMgV2luZG93RXZlbnRIYW5kbGVyczsKIFtFeHBvc2VkPVdpbmRvd10KIGludGVyZmFjZSBIVE1M
SGVhZGluZ0VsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgIFtIVE1MQ29uc3RydWN0b3JdIGNvbnN0
cnVjdG9yKCk7Ci0KLSAgLy8gYWxzbyBoYXMgb2Jzb2xldGUgbWVtYmVycwogfTsKIAogW0V4cG9z
ZWQ9V2luZG93XQogaW50ZXJmYWNlIEhUTUxQYXJhZ3JhcGhFbGVtZW50IDogSFRNTEVsZW1lbnQg
ewogICBbSFRNTENvbnN0cnVjdG9yXSBjb25zdHJ1Y3RvcigpOwotCi0gIC8vIGFsc28gaGFzIG9i
c29sZXRlIG1lbWJlcnMKIH07CiAKIFtFeHBvc2VkPVdpbmRvd10KIGludGVyZmFjZSBIVE1MSFJF
bGVtZW50IDogSFRNTEVsZW1lbnQgewogICBbSFRNTENvbnN0cnVjdG9yXSBjb25zdHJ1Y3Rvcigp
OwotCi0gIC8vIGFsc28gaGFzIG9ic29sZXRlIG1lbWJlcnMKIH07CiAKIFtFeHBvc2VkPVdpbmRv
d10KIGludGVyZmFjZSBIVE1MUHJlRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgW0hUTUxDb25z
dHJ1Y3Rvcl0gY29uc3RydWN0b3IoKTsKLQotICAvLyBhbHNvIGhhcyBvYnNvbGV0ZSBtZW1iZXJz
CiB9OwogCiBbRXhwb3NlZD1XaW5kb3ddCkBAIC0yNzMsMjIgKzI1NSwxNiBAQCBpbnRlcmZhY2Ug
SFRNTE9MaXN0RWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1
dGUgYm9vbGVhbiByZXZlcnNlZDsKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgbG9uZyBzdGFy
dDsKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHR5cGU7Ci0KLSAgLy8gYWxz
byBoYXMgb2Jzb2xldGUgbWVtYmVycwogfTsKIAogW0V4cG9zZWQ9V2luZG93XQogaW50ZXJmYWNl
IEhUTUxVTGlzdEVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgIFtIVE1MQ29uc3RydWN0b3JdIGNv
bnN0cnVjdG9yKCk7Ci0KLSAgLy8gYWxzbyBoYXMgb2Jzb2xldGUgbWVtYmVycwogfTsKIAogW0V4
cG9zZWQ9V2luZG93XQogaW50ZXJmYWNlIEhUTUxNZW51RWxlbWVudCA6IEhUTUxFbGVtZW50IHsK
ICAgW0hUTUxDb25zdHJ1Y3Rvcl0gY29uc3RydWN0b3IoKTsKLQotICAvLyBhbHNvIGhhcyBvYnNv
bGV0ZSBtZW1iZXJzCiB9OwogCiBbRXhwb3NlZD1XaW5kb3ddCkBAIC0yOTYsMjIgKzI3MiwxNiBA
QCBpbnRlcmZhY2UgSFRNTExJRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgW0hUTUxDb25zdHJ1
Y3Rvcl0gY29uc3RydWN0b3IoKTsKIAogICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBsb25nIHZh
bHVlOwotCi0gIC8vIGFsc28gaGFzIG9ic29sZXRlIG1lbWJlcnMKIH07CiAKIFtFeHBvc2VkPVdp
bmRvd10KIGludGVyZmFjZSBIVE1MRExpc3RFbGVtZW50IDogSFRNTEVsZW1lbnQgewogICBbSFRN
TENvbnN0cnVjdG9yXSBjb25zdHJ1Y3RvcigpOwotCi0gIC8vIGFsc28gaGFzIG9ic29sZXRlIG1l
bWJlcnMKIH07CiAKIFtFeHBvc2VkPVdpbmRvd10KIGludGVyZmFjZSBIVE1MRGl2RWxlbWVudCA6
IEhUTUxFbGVtZW50IHsKICAgW0hUTUxDb25zdHJ1Y3Rvcl0gY29uc3RydWN0b3IoKTsKLQotICAv
LyBhbHNvIGhhcyBvYnNvbGV0ZSBtZW1iZXJzCiB9OwogCiBbRXhwb3NlZD1XaW5kb3ddCkBAIC0z
MjksOCArMjk5LDYgQEAgaW50ZXJmYWNlIEhUTUxBbmNob3JFbGVtZW50IDogSFRNTEVsZW1lbnQg
ewogICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBET01TdHJpbmcgdGV4dDsKIAogICBbQ0VSZWFj
dGlvbnNdIGF0dHJpYnV0ZSBET01TdHJpbmcgcmVmZXJyZXJQb2xpY3k7Ci0KLSAgLy8gYWxzbyBo
YXMgb2Jzb2xldGUgbWVtYmVycwogfTsKIEhUTUxBbmNob3JFbGVtZW50IGluY2x1ZGVzIEhUTUxI
eXBlcmxpbmtFbGVtZW50VXRpbHM7CiAKQEAgLTM1Niw4ICszMjQsNiBAQCBpbnRlcmZhY2UgSFRN
TFNwYW5FbGVtZW50IDogSFRNTEVsZW1lbnQgewogW0V4cG9zZWQ9V2luZG93XQogaW50ZXJmYWNl
IEhUTUxCUkVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgIFtIVE1MQ29uc3RydWN0b3JdIGNvbnN0
cnVjdG9yKCk7Ci0KLSAgLy8gYWxzbyBoYXMgb2Jzb2xldGUgbWVtYmVycwogfTsKIAogaW50ZXJm
YWNlIG1peGluIEhUTUxIeXBlcmxpbmtFbGVtZW50VXRpbHMgewpAQCAtMzk5LDcgKzM2NSw3IEBA
IGludGVyZmFjZSBIVE1MU291cmNlRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKIH07CiAKIFtFeHBv
c2VkPVdpbmRvdywKLSBOYW1lZENvbnN0cnVjdG9yPUltYWdlKG9wdGlvbmFsIHVuc2lnbmVkIGxv
bmcgd2lkdGgsIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgaGVpZ2h0KV0KKyBMZWdhY3lGYWN0b3J5
RnVuY3Rpb249SW1hZ2Uob3B0aW9uYWwgdW5zaWduZWQgbG9uZyB3aWR0aCwgb3B0aW9uYWwgdW5z
aWduZWQgbG9uZyBoZWlnaHQpXQogaW50ZXJmYWNlIEhUTUxJbWFnZUVsZW1lbnQgOiBIVE1MRWxl
bWVudCB7CiAgIFtIVE1MQ29uc3RydWN0b3JdIGNvbnN0cnVjdG9yKCk7CiAKQEAgLTQxOCwxMCAr
Mzg0LDkgQEAgaW50ZXJmYWNlIEhUTUxJbWFnZUVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBVU1ZTdHJpbmcgY3VycmVudFNyYzsKICAgW0NFUmVhY3Rpb25zXSBh
dHRyaWJ1dGUgRE9NU3RyaW5nIHJlZmVycmVyUG9saWN5OwogICBbQ0VSZWFjdGlvbnNdIGF0dHJp
YnV0ZSBET01TdHJpbmcgZGVjb2Rpbmc7CisgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIERPTVN0
cmluZyBsb2FkaW5nOwogCiAgIFByb21pc2U8dm9pZD4gZGVjb2RlKCk7Ci0KLSAgLy8gYWxzbyBo
YXMgb2Jzb2xldGUgbWVtYmVycwogfTsKIAogW0V4cG9zZWQ9V2luZG93XQpAQCAtNDQxLDggKzQw
Niw2IEBAIGludGVyZmFjZSBIVE1MSUZyYW1lRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgcmVh
ZG9ubHkgYXR0cmlidXRlIERvY3VtZW50PyBjb250ZW50RG9jdW1lbnQ7CiAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBXaW5kb3dQcm94eT8gY29udGVudFdpbmRvdzsKICAgRG9jdW1lbnQ/IGdldFNWR0Rv
Y3VtZW50KCk7Ci0KLSAgLy8gYWxzbyBoYXMgb2Jzb2xldGUgbWVtYmVycwogfTsKIAogW0V4cG9z
ZWQ9V2luZG93XQpAQCAtNDU0LDggKzQxNyw2IEBAIGludGVyZmFjZSBIVE1MRW1iZWRFbGVtZW50
IDogSFRNTEVsZW1lbnQgewogICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBET01TdHJpbmcgd2lk
dGg7CiAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIERPTVN0cmluZyBoZWlnaHQ7CiAgIERvY3Vt
ZW50PyBnZXRTVkdEb2N1bWVudCgpOwotCi0gIC8vIGFsc28gaGFzIG9ic29sZXRlIG1lbWJlcnMK
IH07CiAKIFtFeHBvc2VkPVdpbmRvd10KQEAgLTQ3OSw4ICs0NDAsNiBAQCBpbnRlcmZhY2UgSFRN
TE9iamVjdEVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgIGJvb2xlYW4gY2hlY2tWYWxpZGl0eSgp
OwogICBib29sZWFuIHJlcG9ydFZhbGlkaXR5KCk7CiAgIHZvaWQgc2V0Q3VzdG9tVmFsaWRpdHko
RE9NU3RyaW5nIGVycm9yKTsKLQotICAvLyBhbHNvIGhhcyBvYnNvbGV0ZSBtZW1iZXJzCiB9Owog
CiBbRXhwb3NlZD1XaW5kb3ddCkBAIC00ODksOCArNDQ4LDYgQEAgaW50ZXJmYWNlIEhUTUxQYXJh
bUVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgRE9N
U3RyaW5nIG5hbWU7CiAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIERPTVN0cmluZyB2YWx1ZTsK
LQotICAvLyBhbHNvIGhhcyBvYnNvbGV0ZSBtZW1iZXJzCiB9OwogCiBbRXhwb3NlZD1XaW5kb3dd
CkBAIC01MDYsNyArNDYzLDcgQEAgaW50ZXJmYWNlIEhUTUxWaWRlb0VsZW1lbnQgOiBIVE1MTWVk
aWFFbGVtZW50IHsKIH07CiAKIFtFeHBvc2VkPVdpbmRvdywKLSBOYW1lZENvbnN0cnVjdG9yPUF1
ZGlvKG9wdGlvbmFsIERPTVN0cmluZyBzcmMpXQorIExlZ2FjeUZhY3RvcnlGdW5jdGlvbj1BdWRp
byhvcHRpb25hbCBET01TdHJpbmcgc3JjKV0KIGludGVyZmFjZSBIVE1MQXVkaW9FbGVtZW50IDog
SFRNTE1lZGlhRWxlbWVudCB7CiAgIFtIVE1MQ29uc3RydWN0b3JdIGNvbnN0cnVjdG9yKCk7CiB9
OwpAQCAtNzM2LDggKzY5Myw2IEBAIGludGVyZmFjZSBIVE1MQXJlYUVsZW1lbnQgOiBIVE1MRWxl
bWVudCB7CiAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIERPTVN0cmluZyByZWw7CiAgIFtTYW1l
T2JqZWN0LCBQdXRGb3J3YXJkcz12YWx1ZV0gcmVhZG9ubHkgYXR0cmlidXRlIERPTVRva2VuTGlz
dCByZWxMaXN0OwogICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBET01TdHJpbmcgcmVmZXJyZXJQ
b2xpY3k7Ci0KLSAgLy8gYWxzbyBoYXMgb2Jzb2xldGUgbWVtYmVycwogfTsKIEhUTUxBcmVhRWxl
bWVudCBpbmNsdWRlcyBIVE1MSHlwZXJsaW5rRWxlbWVudFV0aWxzOwogCkBAIC03NjMsMTUgKzcx
OCwxMSBAQCBpbnRlcmZhY2UgSFRNTFRhYmxlRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgW1Nh
bWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1MQ29sbGVjdGlvbiByb3dzOwogICBIVE1M
VGFibGVSb3dFbGVtZW50IGluc2VydFJvdyhvcHRpb25hbCBsb25nIGluZGV4ID0gLTEpOwogICBb
Q0VSZWFjdGlvbnNdIHZvaWQgZGVsZXRlUm93KGxvbmcgaW5kZXgpOwotCi0gIC8vIGFsc28gaGFz
IG9ic29sZXRlIG1lbWJlcnMKIH07CiAKIFtFeHBvc2VkPVdpbmRvd10KIGludGVyZmFjZSBIVE1M
VGFibGVDYXB0aW9uRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgW0hUTUxDb25zdHJ1Y3Rvcl0g
Y29uc3RydWN0b3IoKTsKLQotICAvLyBhbHNvIGhhcyBvYnNvbGV0ZSBtZW1iZXJzCiB9OwogCiBb
RXhwb3NlZD1XaW5kb3ddCkBAIC03NzksOCArNzMwLDYgQEAgaW50ZXJmYWNlIEhUTUxUYWJsZUNv
bEVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgIFtIVE1MQ29uc3RydWN0b3JdIGNvbnN0cnVjdG9y
KCk7CiAKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBzcGFuOwotCi0g
IC8vIGFsc28gaGFzIG9ic29sZXRlIG1lbWJlcnMKIH07CiAKIFtFeHBvc2VkPVdpbmRvd10KQEAg
LTc5MCw4ICs3MzksNiBAQCBpbnRlcmZhY2UgSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQgOiBIVE1M
RWxlbWVudCB7CiAgIFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgSFRNTENvbGxlY3Rp
b24gcm93czsKICAgSFRNTFRhYmxlUm93RWxlbWVudCBpbnNlcnRSb3cob3B0aW9uYWwgbG9uZyBp
bmRleCA9IC0xKTsKICAgW0NFUmVhY3Rpb25zXSB2b2lkIGRlbGV0ZVJvdyhsb25nIGluZGV4KTsK
LQotICAvLyBhbHNvIGhhcyBvYnNvbGV0ZSBtZW1iZXJzCiB9OwogCiBbRXhwb3NlZD1XaW5kb3dd
CkBAIC04MDMsOCArNzUwLDYgQEAgaW50ZXJmYWNlIEhUTUxUYWJsZVJvd0VsZW1lbnQgOiBIVE1M
RWxlbWVudCB7CiAgIFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgSFRNTENvbGxlY3Rp
b24gY2VsbHM7CiAgIEhUTUxUYWJsZUNlbGxFbGVtZW50IGluc2VydENlbGwob3B0aW9uYWwgbG9u
ZyBpbmRleCA9IC0xKTsKICAgW0NFUmVhY3Rpb25zXSB2b2lkIGRlbGV0ZUNlbGwobG9uZyBpbmRl
eCk7Ci0KLSAgLy8gYWxzbyBoYXMgb2Jzb2xldGUgbWVtYmVycwogfTsKIAogW0V4cG9zZWQ9V2lu
ZG93XQpAQCAtODE4LDEyICs3NjMsMTAgQEAgaW50ZXJmYWNlIEhUTUxUYWJsZUNlbGxFbGVtZW50
IDogSFRNTEVsZW1lbnQgewogCiAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIERPTVN0cmluZyBz
Y29wZTsgLy8gb25seSBjb25mb3JtaW5nIGZvciB0aCBlbGVtZW50cwogICBbQ0VSZWFjdGlvbnNd
IGF0dHJpYnV0ZSBET01TdHJpbmcgYWJicjsgIC8vIG9ubHkgY29uZm9ybWluZyBmb3IgdGggZWxl
bWVudHMKLQotICAvLyBhbHNvIGhhcyBvYnNvbGV0ZSBtZW1iZXJzCiB9OwogCiBbRXhwb3NlZD1X
aW5kb3csCi0gT3ZlcnJpZGVCdWlsdGlucywKKyBMZWdhY3lPdmVycmlkZUJ1aWx0SW5zLAogIExl
Z2FjeVVuZW51bWVyYWJsZU5hbWVkUHJvcGVydGllc10KIGludGVyZmFjZSBIVE1MRm9ybUVsZW1l
bnQgOiBIVE1MRWxlbWVudCB7CiAgIFtIVE1MQ29uc3RydWN0b3JdIGNvbnN0cnVjdG9yKCk7CkBA
IC04OTcsNyArODQwLDcgQEAgaW50ZXJmYWNlIEhUTUxJbnB1dEVsZW1lbnQgOiBIVE1MRWxlbWVu
dCB7CiAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIERPTVN0cmluZyBzdGVwOwogICBbQ0VSZWFj
dGlvbnNdIGF0dHJpYnV0ZSBET01TdHJpbmcgdHlwZTsKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1
dGUgRE9NU3RyaW5nIGRlZmF1bHRWYWx1ZTsKLSAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgW1Ry
ZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgdmFsdWU7CisgIFtDRVJlYWN0aW9uc10g
YXR0cmlidXRlIFtMZWdhY3lOdWxsVG9FbXB0eVN0cmluZ10gRE9NU3RyaW5nIHZhbHVlOwogICBh
dHRyaWJ1dGUgb2JqZWN0PyB2YWx1ZUFzRGF0ZTsKICAgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBk
b3VibGUgdmFsdWVBc051bWJlcjsKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgdW5zaWduZWQg
bG9uZyB3aWR0aDsKQEAgLTkyMSw4ICs4NjQsNiBAQCBpbnRlcmZhY2UgSFRNTElucHV0RWxlbWVu
dCA6IEhUTUxFbGVtZW50IHsKICAgdm9pZCBzZXRSYW5nZVRleHQoRE9NU3RyaW5nIHJlcGxhY2Vt
ZW50KTsKICAgdm9pZCBzZXRSYW5nZVRleHQoRE9NU3RyaW5nIHJlcGxhY2VtZW50LCB1bnNpZ25l
ZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCwgb3B0aW9uYWwgU2VsZWN0aW9uTW9kZSBz
ZWxlY3Rpb25Nb2RlID0gInByZXNlcnZlIik7CiAgIHZvaWQgc2V0U2VsZWN0aW9uUmFuZ2UodW5z
aWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQsIG9wdGlvbmFsIERPTVN0cmluZyBk
aXJlY3Rpb24pOwotCi0gIC8vIGFsc28gaGFzIG9ic29sZXRlIG1lbWJlcnMKIH07CiAKIFtFeHBv
c2VkPVdpbmRvd10KQEAgLTEwMDMsNyArOTQ0LDcgQEAgaW50ZXJmYWNlIEhUTUxPcHRHcm91cEVs
ZW1lbnQgOiBIVE1MRWxlbWVudCB7CiB9OwogCiBbRXhwb3NlZD1XaW5kb3csCi0gTmFtZWRDb25z
dHJ1Y3Rvcj1PcHRpb24ob3B0aW9uYWwgRE9NU3RyaW5nIHRleHQgPSAiIiwgb3B0aW9uYWwgRE9N
U3RyaW5nIHZhbHVlLCBvcHRpb25hbCBib29sZWFuIGRlZmF1bHRTZWxlY3RlZCA9IGZhbHNlLCBv
cHRpb25hbCBib29sZWFuIHNlbGVjdGVkID0gZmFsc2UpXQorIExlZ2FjeUZhY3RvcnlGdW5jdGlv
bj1PcHRpb24ob3B0aW9uYWwgRE9NU3RyaW5nIHRleHQgPSAiIiwgb3B0aW9uYWwgRE9NU3RyaW5n
IHZhbHVlLCBvcHRpb25hbCBib29sZWFuIGRlZmF1bHRTZWxlY3RlZCA9IGZhbHNlLCBvcHRpb25h
bCBib29sZWFuIHNlbGVjdGVkID0gZmFsc2UpXQogaW50ZXJmYWNlIEhUTUxPcHRpb25FbGVtZW50
IDogSFRNTEVsZW1lbnQgewogICBbSFRNTENvbnN0cnVjdG9yXSBjb25zdHJ1Y3RvcigpOwogCkBA
IC0xMDM4LDcgKzk3OSw3IEBAIGludGVyZmFjZSBIVE1MVGV4dEFyZWFFbGVtZW50IDogSFRNTEVs
ZW1lbnQgewogCiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdHlwZTsKICAgW0NFUmVh
Y3Rpb25zXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGRlZmF1bHRWYWx1ZTsKLSAgYXR0cmlidXRlIFtU
cmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIHZhbHVlOworICBhdHRyaWJ1dGUgW0xl
Z2FjeU51bGxUb0VtcHR5U3RyaW5nXSBET01TdHJpbmcgdmFsdWU7CiAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSB1bnNpZ25lZCBsb25nIHRleHRMZW5ndGg7CiAKICAgcmVhZG9ubHkgYXR0cmlidXRlIGJv
b2xlYW4gd2lsbFZhbGlkYXRlOwpAQCAtMTEyOSw4ICsxMDcwLDYgQEAgaW50ZXJmYWNlIEhUTUxM
ZWdlbmRFbGVtZW50IDogSFRNTEVsZW1lbnQgewogICBbSFRNTENvbnN0cnVjdG9yXSBjb25zdHJ1
Y3RvcigpOwogCiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1MRm9ybUVsZW1lbnQ/IGZvcm07Ci0K
LSAgLy8gYWxzbyBoYXMgb2Jzb2xldGUgbWVtYmVycwogfTsKIAogZW51bSBTZWxlY3Rpb25Nb2Rl
IHsKQEAgLTEyMDksNyArMTE0OCw2IEBAIGludGVyZmFjZSBIVE1MU2NyaXB0RWxlbWVudCA6IEhU
TUxFbGVtZW50IHsKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGludGVncml0
eTsKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHJlZmVycmVyUG9saWN5Owog
Ci0gIC8vIGFsc28gaGFzIG9ic29sZXRlIG1lbWJlcnMKIH07CiAKIFtFeHBvc2VkPVdpbmRvd10K
QEAgLTEzMzEsNyArMTI2OSw3IEBAIGludGVyZmFjZSBtaXhpbiBDYW52YXNGaWxsU3Ryb2tlU3R5
bGVzIHsKICAgYXR0cmlidXRlIChET01TdHJpbmcgb3IgQ2FudmFzR3JhZGllbnQgb3IgQ2FudmFz
UGF0dGVybikgZmlsbFN0eWxlOyAvLyAoZGVmYXVsdCBibGFjaykKICAgQ2FudmFzR3JhZGllbnQg
Y3JlYXRlTGluZWFyR3JhZGllbnQoZG91YmxlIHgwLCBkb3VibGUgeTAsIGRvdWJsZSB4MSwgZG91
YmxlIHkxKTsKICAgQ2FudmFzR3JhZGllbnQgY3JlYXRlUmFkaWFsR3JhZGllbnQoZG91YmxlIHgw
LCBkb3VibGUgeTAsIGRvdWJsZSByMCwgZG91YmxlIHgxLCBkb3VibGUgeTEsIGRvdWJsZSByMSk7
Ci0gIENhbnZhc1BhdHRlcm4/IGNyZWF0ZVBhdHRlcm4oQ2FudmFzSW1hZ2VTb3VyY2UgaW1hZ2Us
IFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIHJlcGV0aXRpb24pOworICBDYW52
YXNQYXR0ZXJuPyBjcmVhdGVQYXR0ZXJuKENhbnZhc0ltYWdlU291cmNlIGltYWdlLCBbTGVnYWN5
TnVsbFRvRW1wdHlTdHJpbmddIERPTVN0cmluZyByZXBldGl0aW9uKTsKIAogfTsKIApAQCAtMTU2
Niw3ICsxNTA0LDcgQEAgaW50ZXJmYWNlIEVsZW1lbnRJbnRlcm5hbHMgewogCiAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBIVE1MRm9ybUVsZW1lbnQ/IGZvcm07CiAKLSAgdm9pZCBzZXRWYWxpZGl0eShW
YWxpZGl0eVN0YXRlRmxhZ3MgZmxhZ3MsCisgIHZvaWQgc2V0VmFsaWRpdHkob3B0aW9uYWwgVmFs
aWRpdHlTdGF0ZUZsYWdzIGZsYWdzID0ge30sCiAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwg
RE9NU3RyaW5nIG1lc3NhZ2UsCiAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgSFRNTEVsZW1l
bnQgYW5jaG9yKTsKICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gd2lsbFZhbGlkYXRlOwpA
QCAtMTY1NSwxMSArMTU5MywxMSBAQCBkaWN0aW9uYXJ5IERyYWdFdmVudEluaXQgOiBNb3VzZUV2
ZW50SW5pdCB7CiAgTGVnYWN5VW5lbnVtZXJhYmxlTmFtZWRQcm9wZXJ0aWVzXQogaW50ZXJmYWNl
IFdpbmRvdyA6IEV2ZW50VGFyZ2V0IHsKICAgLy8gdGhlIGN1cnJlbnQgYnJvd3NpbmcgY29udGV4
dAotICBbVW5mb3JnZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBXaW5kb3dQcm94eSB3aW5kb3c7
CisgIFtMZWdhY3lVbmZvcmdlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIFdpbmRvd1Byb3h5IHdp
bmRvdzsKICAgW1JlcGxhY2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgV2luZG93UHJveHkgc2Vs
ZjsKLSAgW1VuZm9yZ2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgRG9jdW1lbnQgZG9jdW1lbnQ7
CisgIFtMZWdhY3lVbmZvcmdlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIERvY3VtZW50IGRvY3Vt
ZW50OwogICBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7Ci0gIFtQdXRGb3J3YXJkcz1ocmVmLCBV
bmZvcmdlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIExvY2F0aW9uIGxvY2F0aW9uOworICBbUHV0
Rm9yd2FyZHM9aHJlZiwgTGVnYWN5VW5mb3JnZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBMb2Nh
dGlvbiBsb2NhdGlvbjsKICAgcmVhZG9ubHkgYXR0cmlidXRlIEhpc3RvcnkgaGlzdG9yeTsKICAg
cmVhZG9ubHkgYXR0cmlidXRlIEN1c3RvbUVsZW1lbnRSZWdpc3RyeSBjdXN0b21FbGVtZW50czsK
ICAgW1JlcGxhY2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgQmFyUHJvcCBsb2NhdGlvbmJhcjsK
QEAgLTE2NzgsMTEgKzE2MTYsMTEgQEAgaW50ZXJmYWNlIFdpbmRvdyA6IEV2ZW50VGFyZ2V0IHsK
ICAgLy8gb3RoZXIgYnJvd3NpbmcgY29udGV4dHMKICAgW1JlcGxhY2VhYmxlXSByZWFkb25seSBh
dHRyaWJ1dGUgV2luZG93UHJveHkgZnJhbWVzOwogICBbUmVwbGFjZWFibGVdIHJlYWRvbmx5IGF0
dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKLSAgW1VuZm9yZ2VhYmxlXSByZWFkb25seSBh
dHRyaWJ1dGUgV2luZG93UHJveHk/IHRvcDsKKyAgW0xlZ2FjeVVuZm9yZ2VhYmxlXSByZWFkb25s
eSBhdHRyaWJ1dGUgV2luZG93UHJveHk/IHRvcDsKICAgYXR0cmlidXRlIGFueSBvcGVuZXI7CiAg
IFtSZXBsYWNlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIFdpbmRvd1Byb3h5PyBwYXJlbnQ7CiAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBFbGVtZW50PyBmcmFtZUVsZW1lbnQ7Ci0gIFdpbmRvd1Byb3h5
PyBvcGVuKG9wdGlvbmFsIFVTVlN0cmluZyB1cmwgPSAiIiwgb3B0aW9uYWwgRE9NU3RyaW5nIHRh
cmdldCA9ICJfYmxhbmsiLCBvcHRpb25hbCBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0
cmluZyBmZWF0dXJlcyA9ICIiKTsKKyAgV2luZG93UHJveHk/IG9wZW4ob3B0aW9uYWwgVVNWU3Ry
aW5nIHVybCA9ICIiLCBvcHRpb25hbCBET01TdHJpbmcgdGFyZ2V0ID0gIl9ibGFuayIsIG9wdGlv
bmFsIFtMZWdhY3lOdWxsVG9FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGZlYXR1cmVzID0gIiIpOwog
ICBnZXR0ZXIgb2JqZWN0IChET01TdHJpbmcgbmFtZSk7CiAgIC8vIFNpbmNlIHRoaXMgaXMgdGhl
IGdsb2JhbCBvYmplY3QsIHRoZSBJREwgbmFtZWQgZ2V0dGVyIGFkZHMgYSBOYW1lZFByb3BlcnRp
ZXNPYmplY3QgZXhvdGljCiAgIC8vIG9iamVjdCBvbiB0aGUgcHJvdG90eXBlIGNoYWluLiBJbmRl
ZWQsIHRoaXMgZG9lcyBub3QgbWFrZSB0aGUgZ2xvYmFsIG9iamVjdCBhbiBleG90aWMgb2JqZWN0
LgpAQCAtMTczMCwyMSArMTY2OCwyMSBAQCBpbnRlcmZhY2UgSGlzdG9yeSB7CiAKIFtFeHBvc2Vk
PVdpbmRvd10KIGludGVyZmFjZSBMb2NhdGlvbiB7IC8vIGJ1dCBzZWUgYWxzbyBhZGRpdGlvbmFs
IGNyZWF0aW9uIHN0ZXBzIGFuZCBvdmVycmlkZGVuIGludGVybmFsIG1ldGhvZHMKLSAgW1VuZm9y
Z2VhYmxlXSBzdHJpbmdpZmllciBhdHRyaWJ1dGUgVVNWU3RyaW5nIGhyZWY7Ci0gIFtVbmZvcmdl
YWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIFVTVlN0cmluZyBvcmlnaW47Ci0gIFtVbmZvcmdlYWJs
ZV0gYXR0cmlidXRlIFVTVlN0cmluZyBwcm90b2NvbDsKLSAgW1VuZm9yZ2VhYmxlXSBhdHRyaWJ1
dGUgVVNWU3RyaW5nIGhvc3Q7Ci0gIFtVbmZvcmdlYWJsZV0gYXR0cmlidXRlIFVTVlN0cmluZyBo
b3N0bmFtZTsKLSAgW1VuZm9yZ2VhYmxlXSBhdHRyaWJ1dGUgVVNWU3RyaW5nIHBvcnQ7Ci0gIFtV
bmZvcmdlYWJsZV0gYXR0cmlidXRlIFVTVlN0cmluZyBwYXRobmFtZTsKLSAgW1VuZm9yZ2VhYmxl
XSBhdHRyaWJ1dGUgVVNWU3RyaW5nIHNlYXJjaDsKLSAgW1VuZm9yZ2VhYmxlXSBhdHRyaWJ1dGUg
VVNWU3RyaW5nIGhhc2g7CisgIFtMZWdhY3lVbmZvcmdlYWJsZV0gc3RyaW5naWZpZXIgYXR0cmli
dXRlIFVTVlN0cmluZyBocmVmOworICBbTGVnYWN5VW5mb3JnZWFibGVdIHJlYWRvbmx5IGF0dHJp
YnV0ZSBVU1ZTdHJpbmcgb3JpZ2luOworICBbTGVnYWN5VW5mb3JnZWFibGVdIGF0dHJpYnV0ZSBV
U1ZTdHJpbmcgcHJvdG9jb2w7CisgIFtMZWdhY3lVbmZvcmdlYWJsZV0gYXR0cmlidXRlIFVTVlN0
cmluZyBob3N0OworICBbTGVnYWN5VW5mb3JnZWFibGVdIGF0dHJpYnV0ZSBVU1ZTdHJpbmcgaG9z
dG5hbWU7CisgIFtMZWdhY3lVbmZvcmdlYWJsZV0gYXR0cmlidXRlIFVTVlN0cmluZyBwb3J0Owor
ICBbTGVnYWN5VW5mb3JnZWFibGVdIGF0dHJpYnV0ZSBVU1ZTdHJpbmcgcGF0aG5hbWU7CisgIFtM
ZWdhY3lVbmZvcmdlYWJsZV0gYXR0cmlidXRlIFVTVlN0cmluZyBzZWFyY2g7CisgIFtMZWdhY3lV
bmZvcmdlYWJsZV0gYXR0cmlidXRlIFVTVlN0cmluZyBoYXNoOwogCi0gIFtVbmZvcmdlYWJsZV0g
dm9pZCBhc3NpZ24oVVNWU3RyaW5nIHVybCk7Ci0gIFtVbmZvcmdlYWJsZV0gdm9pZCByZXBsYWNl
KFVTVlN0cmluZyB1cmwpOwotICBbVW5mb3JnZWFibGVdIHZvaWQgcmVsb2FkKCk7CisgIFtMZWdh
Y3lVbmZvcmdlYWJsZV0gdm9pZCBhc3NpZ24oVVNWU3RyaW5nIHVybCk7CisgIFtMZWdhY3lVbmZv
cmdlYWJsZV0gdm9pZCByZXBsYWNlKFVTVlN0cmluZyB1cmwpOworICBbTGVnYWN5VW5mb3JnZWFi
bGVdIHZvaWQgcmVsb2FkKCk7CiAKLSAgW1VuZm9yZ2VhYmxlLCBTYW1lT2JqZWN0XSByZWFkb25s
eSBhdHRyaWJ1dGUgRE9NU3RyaW5nTGlzdCBhbmNlc3Rvck9yaWdpbnM7CisgIFtMZWdhY3lVbmZv
cmdlYWJsZSwgU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZ0xpc3QgYW5j
ZXN0b3JPcmlnaW5zOwogfTsKIAogW0V4cG9zZWQ9V2luZG93LApAQCAtMTg0OSwxNSArMTc4Nywx
NSBAQCBkaWN0aW9uYXJ5IFByb21pc2VSZWplY3Rpb25FdmVudEluaXQgOiBFdmVudEluaXQgewog
ICBhbnkgcmVhc29uOwogfTsKIAotW1RyZWF0Tm9uT2JqZWN0QXNOdWxsXQorW0xlZ2FjeVRyZWF0
Tm9uT2JqZWN0QXNOdWxsXQogY2FsbGJhY2sgRXZlbnRIYW5kbGVyTm9uTnVsbCA9IGFueSAoRXZl
bnQgZXZlbnQpOwogdHlwZWRlZiBFdmVudEhhbmRsZXJOb25OdWxsPyBFdmVudEhhbmRsZXI7CiAK
LVtUcmVhdE5vbk9iamVjdEFzTnVsbF0KK1tMZWdhY3lUcmVhdE5vbk9iamVjdEFzTnVsbF0KIGNh
bGxiYWNrIE9uRXJyb3JFdmVudEhhbmRsZXJOb25OdWxsID0gYW55ICgoRXZlbnQgb3IgRE9NU3Ry
aW5nKSBldmVudCwgb3B0aW9uYWwgRE9NU3RyaW5nIHNvdXJjZSwgb3B0aW9uYWwgdW5zaWduZWQg
bG9uZyBsaW5lbm8sIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgY29sbm8sIG9wdGlvbmFsIGFueSBl
cnJvcik7CiB0eXBlZGVmIE9uRXJyb3JFdmVudEhhbmRsZXJOb25OdWxsPyBPbkVycm9yRXZlbnRI
YW5kbGVyOwogCi1bVHJlYXROb25PYmplY3RBc051bGxdCitbTGVnYWN5VHJlYXROb25PYmplY3RB
c051bGxdCiBjYWxsYmFjayBPbkJlZm9yZVVubG9hZEV2ZW50SGFuZGxlck5vbk51bGwgPSBET01T
dHJpbmc/IChFdmVudCBldmVudCk7CiB0eXBlZGVmIE9uQmVmb3JlVW5sb2FkRXZlbnRIYW5kbGVy
Tm9uTnVsbD8gT25CZWZvcmVVbmxvYWRFdmVudEhhbmRsZXI7CiAKQEAgLTE4OTgsMTMgKzE4MzYs
MTIgQEAgaW50ZXJmYWNlIG1peGluIEdsb2JhbEV2ZW50SGFuZGxlcnMgewogICBhdHRyaWJ1dGUg
RXZlbnRIYW5kbGVyIG9ubG9hZGVkbWV0YWRhdGE7CiAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIg
b25sb2Fkc3RhcnQ7CiAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25tb3VzZWRvd247Ci0gIFtM
ZW5pZW50VGhpc10gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbm1vdXNlZW50ZXI7Ci0gIFtMZW5p
ZW50VGhpc10gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbm1vdXNlbGVhdmU7CisgIFtMZWdhY3lM
ZW5pZW50VGhpc10gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbm1vdXNlZW50ZXI7CisgIFtMZWdh
Y3lMZW5pZW50VGhpc10gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbm1vdXNlbGVhdmU7CiAgIGF0
dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25tb3VzZW1vdmU7CiAgIGF0dHJpYnV0ZSBFdmVudEhhbmRs
ZXIgb25tb3VzZW91dDsKICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbm1vdXNlb3ZlcjsKICAg
YXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbm1vdXNldXA7Ci0gIGF0dHJpYnV0ZSBFdmVudEhhbmRs
ZXIgb253aGVlbDsKICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbnBhdXNlOwogICBhdHRyaWJ1
dGUgRXZlbnRIYW5kbGVyIG9ucGxheTsKICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbnBsYXlp
bmc7CkBAIC0xOTI1LDYgKzE4NjIsMTEgQEAgaW50ZXJmYWNlIG1peGluIEdsb2JhbEV2ZW50SGFu
ZGxlcnMgewogICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9udG9nZ2xlOwogICBhdHRyaWJ1dGUg
RXZlbnRIYW5kbGVyIG9udm9sdW1lY2hhbmdlOwogICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9u
d2FpdGluZzsKKyAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbndlYmtpdGFuaW1hdGlvbmVuZDsK
KyAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbndlYmtpdGFuaW1hdGlvbml0ZXJhdGlvbjsKKyAg
YXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbndlYmtpdGFuaW1hdGlvbnN0YXJ0OworICBhdHRyaWJ1
dGUgRXZlbnRIYW5kbGVyIG9ud2Via2l0dHJhbnNpdGlvbmVuZDsKKyAgYXR0cmlidXRlIEV2ZW50
SGFuZGxlciBvbndoZWVsOwogfTsKIAogaW50ZXJmYWNlIG1peGluIFdpbmRvd0V2ZW50SGFuZGxl
cnMgewpAQCAtMTk3Nyw2ICsxOTE5LDIxIEBAIGludGVyZmFjZSBtaXhpbiBXaW5kb3dPcldvcmtl
ckdsb2JhbFNjb3BlIHsKIFdpbmRvdyBpbmNsdWRlcyBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3Bl
OwogV29ya2VyR2xvYmFsU2NvcGUgaW5jbHVkZXMgV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZTsK
IAorW0V4cG9zZWQ9V2luZG93XQoraW50ZXJmYWNlIERPTVBhcnNlciB7CisgIGNvbnN0cnVjdG9y
KCk7CisKKyAgW05ld09iamVjdF0gRG9jdW1lbnQgcGFyc2VGcm9tU3RyaW5nKERPTVN0cmluZyBz
dHJpbmcsIERPTVBhcnNlclN1cHBvcnRlZFR5cGUgdHlwZSk7Cit9OworCitlbnVtIERPTVBhcnNl
clN1cHBvcnRlZFR5cGUgeworICAidGV4dC9odG1sIiwKKyAgInRleHQveG1sIiwKKyAgImFwcGxp
Y2F0aW9uL3htbCIsCisgICJhcHBsaWNhdGlvbi94aHRtbCt4bWwiLAorICAiaW1hZ2Uvc3ZnK3ht
bCIKK307CisKIFtFeHBvc2VkPVdpbmRvd10KIGludGVyZmFjZSBOYXZpZ2F0b3IgewogICAvLyBv
YmplY3RzIGltcGxlbWVudGluZyB0aGlzIGludGVyZmFjZSBhbHNvIGltcGxlbWVudCB0aGUgaW50
ZXJmYWNlcyBnaXZlbiBiZWxvdwpAQCAtMjAxMiw3ICsxOTY5LDcgQEAgaW50ZXJmYWNlIG1peGlu
IE5hdmlnYXRvckxhbmd1YWdlIHsKIH07CiAKIGludGVyZmFjZSBtaXhpbiBOYXZpZ2F0b3JDb250
ZW50VXRpbHMgewotICBbU2VjdXJlQ29udGV4dF0gdm9pZCByZWdpc3RlclByb3RvY29sSGFuZGxl
cihET01TdHJpbmcgc2NoZW1lLCBVU1ZTdHJpbmcgdXJsLCBET01TdHJpbmcgdGl0bGUpOworICBb
U2VjdXJlQ29udGV4dF0gdm9pZCByZWdpc3RlclByb3RvY29sSGFuZGxlcihET01TdHJpbmcgc2No
ZW1lLCBVU1ZTdHJpbmcgdXJsKTsKICAgW1NlY3VyZUNvbnRleHRdIHZvaWQgdW5yZWdpc3RlclBy
b3RvY29sSGFuZGxlcihET01TdHJpbmcgc2NoZW1lLCBVU1ZTdHJpbmcgdXJsKTsKIH07CiAKQEAg
LTI0MDQsOCArMjM2MSw4IEBAIGludGVyZmFjZSBIVE1MRnJhbWVFbGVtZW50IDogSFRNTEVsZW1l
bnQgewogICByZWFkb25seSBhdHRyaWJ1dGUgRG9jdW1lbnQ/IGNvbnRlbnREb2N1bWVudDsKICAg
cmVhZG9ubHkgYXR0cmlidXRlIFdpbmRvd1Byb3h5PyBjb250ZW50V2luZG93OwogCi0gIFtDRVJl
YWN0aW9uc10gYXR0cmlidXRlIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIG1h
cmdpbkhlaWdodDsKLSAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPUVtcHR5
U3RyaW5nXSBET01TdHJpbmcgbWFyZ2luV2lkdGg7CisgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRl
IFtMZWdhY3lOdWxsVG9FbXB0eVN0cmluZ10gRE9NU3RyaW5nIG1hcmdpbkhlaWdodDsKKyAgW0NF
UmVhY3Rpb25zXSBhdHRyaWJ1dGUgW0xlZ2FjeU51bGxUb0VtcHR5U3RyaW5nXSBET01TdHJpbmcg
bWFyZ2luV2lkdGg7CiB9OwogCiBwYXJ0aWFsIGludGVyZmFjZSBIVE1MQW5jaG9yRWxlbWVudCB7
CkBAIC0yNDIxLDExICsyMzc4LDExIEBAIHBhcnRpYWwgaW50ZXJmYWNlIEhUTUxBcmVhRWxlbWVu
dCB7CiB9OwogCiBwYXJ0aWFsIGludGVyZmFjZSBIVE1MQm9keUVsZW1lbnQgewotICBbQ0VSZWFj
dGlvbnNdIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyB0ZXh0
OwotICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERP
TVN0cmluZyBsaW5rOwotICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9RW1w
dHlTdHJpbmddIERPTVN0cmluZyB2TGluazsKLSAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgW1Ry
ZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgYUxpbms7Ci0gIFtDRVJlYWN0aW9uc10g
YXR0cmlidXRlIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGJnQ29sb3I7Cisg
IFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIFtMZWdhY3lOdWxsVG9FbXB0eVN0cmluZ10gRE9NU3Ry
aW5nIHRleHQ7CisgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIFtMZWdhY3lOdWxsVG9FbXB0eVN0
cmluZ10gRE9NU3RyaW5nIGxpbms7CisgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIFtMZWdhY3lO
dWxsVG9FbXB0eVN0cmluZ10gRE9NU3RyaW5nIHZMaW5rOworICBbQ0VSZWFjdGlvbnNdIGF0dHJp
YnV0ZSBbTGVnYWN5TnVsbFRvRW1wdHlTdHJpbmddIERPTVN0cmluZyBhTGluazsKKyAgW0NFUmVh
Y3Rpb25zXSBhdHRyaWJ1dGUgW0xlZ2FjeU51bGxUb0VtcHR5U3RyaW5nXSBET01TdHJpbmcgYmdD
b2xvcjsKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGJhY2tncm91bmQ7CiB9
OwogCkBAIC0yNDY5LDcgKzI0MjYsNyBAQCBwYXJ0aWFsIGludGVyZmFjZSBIVE1MRW1iZWRFbGVt
ZW50IHsKIGludGVyZmFjZSBIVE1MRm9udEVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgIFtIVE1M
Q29uc3RydWN0b3JdIGNvbnN0cnVjdG9yKCk7CiAKLSAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUg
W1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgY29sb3I7CisgIFtDRVJlYWN0aW9u
c10gYXR0cmlidXRlIFtMZWdhY3lOdWxsVG9FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGNvbG9yOwog
ICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBET01TdHJpbmcgZmFjZTsKICAgW0NFUmVhY3Rpb25z
XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHNpemU7CiB9OwpAQCAtMjQ5Niw4ICsyNDUzLDggQEAgcGFy
dGlhbCBpbnRlcmZhY2UgSFRNTElGcmFtZUVsZW1lbnQgewogICBbQ0VSZWFjdGlvbnNdIGF0dHJp
YnV0ZSBET01TdHJpbmcgZnJhbWVCb3JkZXI7CiAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIFVT
VlN0cmluZyBsb25nRGVzYzsKIAotICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbVHJlYXROdWxs
QXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBtYXJnaW5IZWlnaHQ7Ci0gIFtDRVJlYWN0aW9uc10g
YXR0cmlidXRlIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIG1hcmdpbldpZHRo
OworICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbTGVnYWN5TnVsbFRvRW1wdHlTdHJpbmddIERP
TVN0cmluZyBtYXJnaW5IZWlnaHQ7CisgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIFtMZWdhY3lO
dWxsVG9FbXB0eVN0cmluZ10gRE9NU3RyaW5nIG1hcmdpbldpZHRoOwogfTsKIAogcGFydGlhbCBp
bnRlcmZhY2UgSFRNTEltYWdlRWxlbWVudCB7CkBAIC0yNTA4LDcgKzI0NjUsNyBAQCBwYXJ0aWFs
IGludGVyZmFjZSBIVE1MSW1hZ2VFbGVtZW50IHsKICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUg
dW5zaWduZWQgbG9uZyB2c3BhY2U7CiAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIFVTVlN0cmlu
ZyBsb25nRGVzYzsKIAotICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9RW1w
dHlTdHJpbmddIERPTVN0cmluZyBib3JkZXI7CisgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIFtM
ZWdhY3lOdWxsVG9FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGJvcmRlcjsKIH07CiAKIHBhcnRpYWwg
aW50ZXJmYWNlIEhUTUxJbnB1dEVsZW1lbnQgewpAQCAtMjU0OSw3ICsyNTA2LDcgQEAgcGFydGlh
bCBpbnRlcmZhY2UgSFRNTE9iamVjdEVsZW1lbnQgewogICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0
ZSBET01TdHJpbmcgY29kZUJhc2U7CiAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIERPTVN0cmlu
ZyBjb2RlVHlwZTsKIAotICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9RW1w
dHlTdHJpbmddIERPTVN0cmluZyBib3JkZXI7CisgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIFtM
ZWdhY3lOdWxsVG9FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGJvcmRlcjsKIH07CiAKIHBhcnRpYWwg
aW50ZXJmYWNlIEhUTUxPTGlzdEVsZW1lbnQgewpAQCAtMjU4Nyw5ICsyNTQ0LDkgQEAgcGFydGlh
bCBpbnRlcmZhY2UgSFRNTFRhYmxlRWxlbWVudCB7CiAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRl
IERPTVN0cmluZyBzdW1tYXJ5OwogICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBET01TdHJpbmcg
d2lkdGg7CiAKLSAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPUVtcHR5U3Ry
aW5nXSBET01TdHJpbmcgYmdDb2xvcjsKLSAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgW1RyZWF0
TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgY2VsbFBhZGRpbmc7Ci0gIFtDRVJlYWN0aW9u
c10gYXR0cmlidXRlIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGNlbGxTcGFj
aW5nOworICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbTGVnYWN5TnVsbFRvRW1wdHlTdHJpbmdd
IERPTVN0cmluZyBiZ0NvbG9yOworICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbTGVnYWN5TnVs
bFRvRW1wdHlTdHJpbmddIERPTVN0cmluZyBjZWxsUGFkZGluZzsKKyAgW0NFUmVhY3Rpb25zXSBh
dHRyaWJ1dGUgW0xlZ2FjeU51bGxUb0VtcHR5U3RyaW5nXSBET01TdHJpbmcgY2VsbFNwYWNpbmc7
CiB9OwogCiBwYXJ0aWFsIGludGVyZmFjZSBIVE1MVGFibGVTZWN0aW9uRWxlbWVudCB7CkBAIC0y
NjEwLDcgKzI1NjcsNyBAQCBwYXJ0aWFsIGludGVyZmFjZSBIVE1MVGFibGVDZWxsRWxlbWVudCB7
CiAgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIGJvb2xlYW4gbm9XcmFwOwogICBbQ0VSZWFjdGlv
bnNdIGF0dHJpYnV0ZSBET01TdHJpbmcgdkFsaWduOwogCi0gIFtDRVJlYWN0aW9uc10gYXR0cmli
dXRlIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGJnQ29sb3I7CisgIFtDRVJl
YWN0aW9uc10gYXR0cmlidXRlIFtMZWdhY3lOdWxsVG9FbXB0eVN0cmluZ10gRE9NU3RyaW5nIGJn
Q29sb3I7CiB9OwogCiBwYXJ0aWFsIGludGVyZmFjZSBIVE1MVGFibGVSb3dFbGVtZW50IHsKQEAg
LTI2MTksNyArMjU3Niw3IEBAIHBhcnRpYWwgaW50ZXJmYWNlIEhUTUxUYWJsZVJvd0VsZW1lbnQg
ewogICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBET01TdHJpbmcgY2hPZmY7CiAgIFtDRVJlYWN0
aW9uc10gYXR0cmlidXRlIERPTVN0cmluZyB2QWxpZ247CiAKLSAgW0NFUmVhY3Rpb25zXSBhdHRy
aWJ1dGUgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgYmdDb2xvcjsKKyAgW0NF
UmVhY3Rpb25zXSBhdHRyaWJ1dGUgW0xlZ2FjeU51bGxUb0VtcHR5U3RyaW5nXSBET01TdHJpbmcg
YmdDb2xvcjsKIH07CiAKIHBhcnRpYWwgaW50ZXJmYWNlIEhUTUxVTGlzdEVsZW1lbnQgewpAQCAt
MjYyOCwxMSArMjU4NSwxMSBAQCBwYXJ0aWFsIGludGVyZmFjZSBIVE1MVUxpc3RFbGVtZW50IHsK
IH07CiAKIHBhcnRpYWwgaW50ZXJmYWNlIERvY3VtZW50IHsKLSAgW0NFUmVhY3Rpb25zXSBhdHRy
aWJ1dGUgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcgZmdDb2xvcjsKLSAgW0NF
UmVhY3Rpb25zXSBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBET01TdHJpbmcg
bGlua0NvbG9yOwotICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9RW1wdHlT
dHJpbmddIERPTVN0cmluZyB2bGlua0NvbG9yOwotICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBb
VHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBhbGlua0NvbG9yOwotICBbQ0VSZWFj
dGlvbnNdIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIERPTVN0cmluZyBiZ0Nv
bG9yOworICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbTGVnYWN5TnVsbFRvRW1wdHlTdHJpbmdd
IERPTVN0cmluZyBmZ0NvbG9yOworICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbTGVnYWN5TnVs
bFRvRW1wdHlTdHJpbmddIERPTVN0cmluZyBsaW5rQ29sb3I7CisgIFtDRVJlYWN0aW9uc10gYXR0
cmlidXRlIFtMZWdhY3lOdWxsVG9FbXB0eVN0cmluZ10gRE9NU3RyaW5nIHZsaW5rQ29sb3I7Cisg
IFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIFtMZWdhY3lOdWxsVG9FbXB0eVN0cmluZ10gRE9NU3Ry
aW5nIGFsaW5rQ29sb3I7CisgIFtDRVJlYWN0aW9uc10gYXR0cmlidXRlIFtMZWdhY3lOdWxsVG9F
bXB0eVN0cmluZ10gRE9NU3RyaW5nIGJnQ29sb3I7CiAKICAgW1NhbWVPYmplY3RdIHJlYWRvbmx5
IGF0dHJpYnV0ZSBIVE1MQ29sbGVjdGlvbiBhbmNob3JzOwogICBbU2FtZU9iamVjdF0gcmVhZG9u
bHkgYXR0cmlidXRlIEhUTUxDb2xsZWN0aW9uIGFwcGxldHM7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvaW1hZ2UtY2Fw
dHVyZS5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2lu
dGVyZmFjZXMvaW1hZ2UtY2FwdHVyZS5pZGwKaW5kZXggZTkwMTZhMWY5YmFiODdlOWVkNjJhNGJj
OTllN2JjZDBkOTU4YWJmNC4uMDk0ZjNmNWNhZmU4N2ExZjhkYmJiMDA0ODQyNzE1ZDhmNTUyZDBi
NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbnRlcmZhY2VzL2ltYWdlLWNhcHR1cmUuaWRsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9pbWFnZS1jYXB0dXJlLmlkbApAQCAt
Myw5ICszLDEwIEBACiAvLyAoaHR0cHM6Ly9naXRodWIuY29tL3RpZG91c3QvcmVmZnktcmVwb3J0
cykKIC8vIFNvdXJjZTogTWVkaWFTdHJlYW0gSW1hZ2UgQ2FwdHVyZSAoaHR0cHM6Ly93M2MuZ2l0
aHViLmlvL21lZGlhY2FwdHVyZS1pbWFnZS8pCiAKLVtFeHBvc2VkPVdpbmRvdywgQ29uc3RydWN0
b3IoTWVkaWFTdHJlYW1UcmFjayB2aWRlb1RyYWNrKV0KK1tFeHBvc2VkPVdpbmRvd10KIGludGVy
ZmFjZSBJbWFnZUNhcHR1cmUgewotICAgUHJvbWlzZTxCbG9iPiAgICAgICAgICAgICAgdGFrZVBo
b3RvKG9wdGlvbmFsIFBob3RvU2V0dGluZ3MgcGhvdG9TZXR0aW5ncyk7CisgICBjb25zdHJ1Y3Rv
cihNZWRpYVN0cmVhbVRyYWNrIHZpZGVvVHJhY2spOworICAgUHJvbWlzZTxCbG9iPiAgICAgICAg
ICAgICAgdGFrZVBob3RvKG9wdGlvbmFsIFBob3RvU2V0dGluZ3MgcGhvdG9TZXR0aW5ncyA9IHt9
KTsKICAgIFByb21pc2U8UGhvdG9DYXBhYmlsaXRpZXM+IGdldFBob3RvQ2FwYWJpbGl0aWVzKCk7
CiAgICBQcm9taXNlPFBob3RvU2V0dGluZ3M+ICAgICBnZXRQaG90b1NldHRpbmdzKCk7CiAKQEAg
LTkyLDI3ICs5MywyNyBAQCBwYXJ0aWFsIGRpY3Rpb25hcnkgTWVkaWFUcmFja0NhcGFiaWxpdGll
cyB7CiB9OwogCiBwYXJ0aWFsIGRpY3Rpb25hcnkgTWVkaWFUcmFja0NvbnN0cmFpbnRTZXQgewot
ICBDb25zdHJhaW5ET01TdHJpbmcgd2hpdGVCYWxhbmNlTW9kZTsKLSAgQ29uc3RyYWluRE9NU3Ry
aW5nIGV4cG9zdXJlTW9kZTsKLSAgQ29uc3RyYWluRE9NU3RyaW5nIGZvY3VzTW9kZTsKLSAgQ29u
c3RyYWluUG9pbnQyRCAgIHBvaW50c09mSW50ZXJlc3Q7Ci0KLSAgQ29uc3RyYWluRG91YmxlICAg
IGV4cG9zdXJlQ29tcGVuc2F0aW9uOwotICBDb25zdHJhaW5Eb3VibGUgICAgZXhwb3N1cmVUaW1l
OwotICBDb25zdHJhaW5Eb3VibGUgICAgY29sb3JUZW1wZXJhdHVyZTsKLSAgQ29uc3RyYWluRG91
YmxlICAgIGlzbzsKLQotICBDb25zdHJhaW5Eb3VibGUgICAgYnJpZ2h0bmVzczsKLSAgQ29uc3Ry
YWluRG91YmxlICAgIGNvbnRyYXN0OwotICBDb25zdHJhaW5Eb3VibGUgICAgc2F0dXJhdGlvbjsK
LSAgQ29uc3RyYWluRG91YmxlICAgIHNoYXJwbmVzczsKLQotICBDb25zdHJhaW5Eb3VibGUgICAg
Zm9jdXNEaXN0YW5jZTsKLSAgQ29uc3RyYWluRG91YmxlICAgIHBhbjsKLSAgQ29uc3RyYWluRG91
YmxlICAgIHRpbHQ7Ci0gIENvbnN0cmFpbkRvdWJsZSAgICB6b29tOwotCi0gIENvbnN0cmFpbkJv
b2xlYW4gICB0b3JjaDsKKyAgQ29uc3RyYWluRE9NU3RyaW5nICAgICAgICAgICB3aGl0ZUJhbGFu
Y2VNb2RlOworICBDb25zdHJhaW5ET01TdHJpbmcgICAgICAgICAgIGV4cG9zdXJlTW9kZTsKKyAg
Q29uc3RyYWluRE9NU3RyaW5nICAgICAgICAgICBmb2N1c01vZGU7CisgIENvbnN0cmFpblBvaW50
MkQgICAgICAgICAgICAgcG9pbnRzT2ZJbnRlcmVzdDsKKworICBDb25zdHJhaW5Eb3VibGUgICAg
ICAgICAgICAgIGV4cG9zdXJlQ29tcGVuc2F0aW9uOworICBDb25zdHJhaW5Eb3VibGUgICAgICAg
ICAgICAgIGV4cG9zdXJlVGltZTsKKyAgQ29uc3RyYWluRG91YmxlICAgICAgICAgICAgICBjb2xv
clRlbXBlcmF0dXJlOworICBDb25zdHJhaW5Eb3VibGUgICAgICAgICAgICAgIGlzbzsKKworICBD
b25zdHJhaW5Eb3VibGUgICAgICAgICAgICAgIGJyaWdodG5lc3M7CisgIENvbnN0cmFpbkRvdWJs
ZSAgICAgICAgICAgICAgY29udHJhc3Q7CisgIENvbnN0cmFpbkRvdWJsZSAgICAgICAgICAgICAg
c2F0dXJhdGlvbjsKKyAgQ29uc3RyYWluRG91YmxlICAgICAgICAgICAgICBzaGFycG5lc3M7CisK
KyAgQ29uc3RyYWluRG91YmxlICAgICAgICAgICAgICBmb2N1c0Rpc3RhbmNlOworICAoYm9vbGVh
biBvciBDb25zdHJhaW5Eb3VibGUpIHBhbjsKKyAgKGJvb2xlYW4gb3IgQ29uc3RyYWluRG91Ymxl
KSB0aWx0OworICAoYm9vbGVhbiBvciBDb25zdHJhaW5Eb3VibGUpIHpvb207CisKKyAgQ29uc3Ry
YWluQm9vbGVhbiAgICAgICAgICAgICB0b3JjaDsKIH07CiAKIHBhcnRpYWwgZGljdGlvbmFyeSBN
ZWRpYVRyYWNrU2V0dGluZ3MgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2ludGVyc2VjdGlvbi1vYnNlcnZlci5pZGwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMv
aW50ZXJzZWN0aW9uLW9ic2VydmVyLmlkbAppbmRleCBmZmRhOGY1YzY0ZGJhOGQyMjVjYzcxMjYz
NzFiNzM5ODBmNGNlNDhlLi40NmZhZDM1MjJlZDI1MzlkMDRhNjg4Y2M0ZjVkMDVjOGU3NmVmMjRm
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ludGVyZmFjZXMvaW50ZXJzZWN0aW9uLW9ic2VydmVyLmlkbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvaW50ZXJzZWN0aW9uLW9i
c2VydmVyLmlkbApAQCAtNSwxMCArNSwxMCBAQAogCiBjYWxsYmFjayBJbnRlcnNlY3Rpb25PYnNl
cnZlckNhbGxiYWNrID0gdm9pZCAoc2VxdWVuY2U8SW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeT4g
ZW50cmllcywgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgb2JzZXJ2ZXIpOwogCi1bQ29uc3RydWN0b3Io
SW50ZXJzZWN0aW9uT2JzZXJ2ZXJDYWxsYmFjayBjYWxsYmFjaywgb3B0aW9uYWwgSW50ZXJzZWN0
aW9uT2JzZXJ2ZXJJbml0IG9wdGlvbnMpLAotIEV4cG9zZWQ9V2luZG93XQorW0V4cG9zZWQ9V2lu
ZG93XQogaW50ZXJmYWNlIEludGVyc2VjdGlvbk9ic2VydmVyIHsKLSAgcmVhZG9ubHkgYXR0cmli
dXRlIEVsZW1lbnQ/IHJvb3Q7CisgIGNvbnN0cnVjdG9yKEludGVyc2VjdGlvbk9ic2VydmVyQ2Fs
bGJhY2sgY2FsbGJhY2ssIG9wdGlvbmFsIEludGVyc2VjdGlvbk9ic2VydmVySW5pdCBvcHRpb25z
ID0ge30pOworICByZWFkb25seSBhdHRyaWJ1dGUgTm9kZT8gcm9vdDsKICAgcmVhZG9ubHkgYXR0
cmlidXRlIERPTVN0cmluZyByb290TWFyZ2luOwogICByZWFkb25seSBhdHRyaWJ1dGUgRnJvemVu
QXJyYXk8ZG91YmxlPiB0aHJlc2hvbGRzOwogICB2b2lkIG9ic2VydmUoRWxlbWVudCB0YXJnZXQp
OwpAQCAtMTcsOCArMTcsOSBAQCBpbnRlcmZhY2UgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgewogICBz
ZXF1ZW5jZTxJbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5PiB0YWtlUmVjb3JkcygpOwogfTsKIAot
W0NvbnN0cnVjdG9yKEludGVyc2VjdGlvbk9ic2VydmVyRW50cnlJbml0IGludGVyc2VjdGlvbk9i
c2VydmVyRW50cnlJbml0KV0KK1tFeHBvc2VkPVdpbmRvd10KIGludGVyZmFjZSBJbnRlcnNlY3Rp
b25PYnNlcnZlckVudHJ5IHsKKyAgY29uc3RydWN0b3IoSW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRy
eUluaXQgaW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeUluaXQpOwogICByZWFkb25seSBhdHRyaWJ1
dGUgRE9NSGlnaFJlc1RpbWVTdGFtcCB0aW1lOwogICByZWFkb25seSBhdHRyaWJ1dGUgRE9NUmVj
dFJlYWRPbmx5PyByb290Qm91bmRzOwogICByZWFkb25seSBhdHRyaWJ1dGUgRE9NUmVjdFJlYWRP
bmx5IGJvdW5kaW5nQ2xpZW50UmVjdDsKQEAgLTM5LDcgKzQwLDcgQEAgZGljdGlvbmFyeSBJbnRl
cnNlY3Rpb25PYnNlcnZlckVudHJ5SW5pdCB7CiB9OwogCiBkaWN0aW9uYXJ5IEludGVyc2VjdGlv
bk9ic2VydmVySW5pdCB7Ci0gIEVsZW1lbnQ/ICByb290ID0gbnVsbDsKKyAgKEVsZW1lbnQgb3Ig
RG9jdW1lbnQpPyAgcm9vdCA9IG51bGw7CiAgIERPTVN0cmluZyByb290TWFyZ2luID0gIjBweCI7
CiAgIChkb3VibGUgb3Igc2VxdWVuY2U8ZG91YmxlPikgdGhyZXNob2xkID0gMDsKIH07CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVy
ZmFjZXMvanMtc2VsZi1wcm9maWxpbmcuaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2pzLXNlbGYtcHJvZmlsaW5nLmlkbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4wMTUzZTY1MjM2MGUyNTg2YTExYmE2ZDgwOGQzOGJmZTU5ZmUxNTllCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRl
cmZhY2VzL2pzLXNlbGYtcHJvZmlsaW5nLmlkbApAQCAtMCwwICsxLDQ4IEBACisvLyBHRU5FUkFU
RUQgQ09OVEVOVCAtIERPIE5PVCBFRElUCisvLyBDb250ZW50IHdhcyBhdXRvbWF0aWNhbGx5IGV4
dHJhY3RlZCBieSBSZWZmeSBpbnRvIHJlZmZ5LXJlcG9ydHMKKy8vIChodHRwczovL2dpdGh1Yi5j
b20vdGlkb3VzdC9yZWZmeS1yZXBvcnRzKQorLy8gU291cmNlOiBKUyBTZWxmLVByb2ZpbGluZyBB
UEkgKGh0dHBzOi8vd2ljZy5naXRodWIuaW8vanMtc2VsZi1wcm9maWxpbmcvKQorCitbRXhwb3Nl
ZD0oV2luZG93LFdvcmtlcildCitpbnRlcmZhY2UgUHJvZmlsZXIgeworICByZWFkb25seSBhdHRy
aWJ1dGUgRE9NSGlnaFJlc1RpbWVTdGFtcCBzYW1wbGVJbnRlcnZhbDsKKyAgcmVhZG9ubHkgYXR0
cmlidXRlIGJvb2xlYW4gc3RvcHBlZDsKKworICBQcm9taXNlPFByb2ZpbGVyVHJhY2U+IHN0b3Ao
KTsKK307CisKK3R5cGVkZWYgRE9NU3RyaW5nIFByb2ZpbGVyUmVzb3VyY2U7CisKK2RpY3Rpb25h
cnkgUHJvZmlsZXJUcmFjZSB7CisgIHJlcXVpcmVkIHNlcXVlbmNlPFByb2ZpbGVyUmVzb3VyY2U+
IHJlc291cmNlczsKKyAgcmVxdWlyZWQgc2VxdWVuY2U8UHJvZmlsZXJGcmFtZT4gZnJhbWVzOwor
ICByZXF1aXJlZCBzZXF1ZW5jZTxQcm9maWxlclN0YWNrPiBzdGFja3M7CisgIHJlcXVpcmVkIHNl
cXVlbmNlPFByb2ZpbGVyU2FtcGxlPiBzYW1wbGVzOworfTsKKworZGljdGlvbmFyeSBQcm9maWxl
clNhbXBsZSB7CisgIHJlcXVpcmVkIERPTUhpZ2hSZXNUaW1lU3RhbXAgdGltZXN0YW1wOworICB1
bnNpZ25lZCBsb25nIGxvbmcgc3RhY2tJZDsKK307CisKK2RpY3Rpb25hcnkgUHJvZmlsZXJTdGFj
ayB7CisgIHVuc2lnbmVkIGxvbmcgbG9uZyBwYXJlbnRJZDsKKyAgcmVxdWlyZWQgdW5zaWduZWQg
bG9uZyBsb25nIGZyYW1lSWQ7Cit9OworCitkaWN0aW9uYXJ5IFByb2ZpbGVyRnJhbWUgeworICBE
T01TdHJpbmcgbmFtZTsKKyAgcmVxdWlyZWQgdW5zaWduZWQgbG9uZyBsb25nIHJlc291cmNlSWQ7
CisgIHJlcXVpcmVkIHVuc2lnbmVkIGxvbmcgbG9uZyBsaW5lOworICByZXF1aXJlZCB1bnNpZ25l
ZCBsb25nIGxvbmcgY29sdW1uOworfTsKKworZGljdGlvbmFyeSBQcm9maWxlckluaXRPcHRpb25z
IHsKKyAgcmVxdWlyZWQgRE9NSGlnaFJlc1RpbWVTdGFtcCBzYW1wbGVJbnRlcnZhbDsKKyAgcmVx
dWlyZWQgdW5zaWduZWQgbG9uZyBtYXhCdWZmZXJTaXplOworfTsKKworW0V4cG9zZWQ9KFdpbmRv
dyxXb3JrZXIpXQorcGFydGlhbCBpbnRlcmZhY2UgUGVyZm9ybWFuY2UgeworICBQcm9taXNlPFBy
b2ZpbGVyPiBwcm9maWxlKFByb2ZpbGVySW5pdE9wdGlvbnMgb3B0aW9ucyk7Cit9OwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZh
Y2VzL2xheW91dC1pbnN0YWJpbGl0eS5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvbGF5b3V0LWluc3RhYmlsaXR5LmlkbAppbmRleCAw
Y2QyMjYyYTlmMzJkNGE0ZDZmODFhYWUxNjVjM2E0MTE4NjhjZmM0Li4zZWUwYWZhMDYxMDI4ZWNi
Zjk5Zjk0ZTk0NzllNDEyYTE2OTE4NGMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvbGF5b3V0LWluc3RhYmlsaXR5Lmlk
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVy
ZmFjZXMvbGF5b3V0LWluc3RhYmlsaXR5LmlkbApAQCAtNSw4ICs1LDE2IEBACiAKIFtFeHBvc2Vk
PVdpbmRvd10KIGludGVyZmFjZSBMYXlvdXRTaGlmdCA6IFBlcmZvcm1hbmNlRW50cnkgewotICBy
ZWFkb25seSBhdHRyaWJ1dGUgbG9uZyB2YWx1ZTsKKyAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJs
ZSB2YWx1ZTsKICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gaGFkUmVjZW50SW5wdXQ7CiAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBET01IaWdoUmVzVGltZVN0YW1wIGxhc3RJbnB1dFRpbWU7Cisg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBGcm96ZW5BcnJheTxMYXlvdXRTaGlmdEF0dHJpYnV0aW9uPiBz
b3VyY2VzOwogICBbRGVmYXVsdF0gb2JqZWN0IHRvSlNPTigpOwogfTsKKworW0V4cG9zZWQ9V2lu
ZG93XQoraW50ZXJmYWNlIExheW91dFNoaWZ0QXR0cmlidXRpb24geworICByZWFkb25seSBhdHRy
aWJ1dGUgTm9kZT8gbm9kZTsKKyAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVJlY3RSZWFkT25seSBw
cmV2aW91c1JlY3Q7CisgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01SZWN0UmVhZE9ubHkgY3VycmVu
dFJlY3Q7Cit9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL21lZGlhLWNhcGFiaWxpdGllcy5pZGwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvbWVkaWEtY2FwYWJp
bGl0aWVzLmlkbAppbmRleCA2ZmU0M2Q4N2E4MGJiNzIyOWQ1Y2ViYzVmYmQ0Y2FjMDhmNDRmYTM5
Li4wOGRlMzVlZjY3NTA2MmU3ZGFkMTBhZWExZjdmNzExMGMxM2U2YWE5IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvbWVk
aWEtY2FwYWJpbGl0aWVzLmlkbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvbWVkaWEtY2FwYWJpbGl0aWVzLmlkbApAQCAtNzcsNiAr
NzcsNyBAQCBkaWN0aW9uYXJ5IE1lZGlhQ2FwYWJpbGl0aWVzS2V5U3lzdGVtQ29uZmlndXJhdGlv
biB7CiAKIGRpY3Rpb25hcnkgS2V5U3lzdGVtVHJhY2tDb25maWd1cmF0aW9uIHsKICAgICBET01T
dHJpbmcgcm9idXN0bmVzcyA9ICIiOworICAgIERPTVN0cmluZz8gZW5jcnlwdGlvblNjaGVtZSA9
IG51bGw7CiAgIH07CiAKIGRpY3Rpb25hcnkgTWVkaWFDYXBhYmlsaXRpZXNJbmZvIHsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJm
YWNlcy9tZWRpYS1wbGF5YmFjay1xdWFsaXR5LmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9tZWRpYS1wbGF5YmFjay1xdWFsaXR5Lmlk
bAppbmRleCA3MWM4MzU2NzdhNzZmNDU0ZGVjNWRkYWExNDZkNDFmMGMwNDVjMTg2Li5jM2VlNTIz
N2U0Y2E0MzY1NjgwN2RmZGIzNmMzZmE5YzVkNzM0NGE4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvbWVkaWEtcGxheWJh
Y2stcXVhbGl0eS5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9pbnRlcmZhY2VzL21lZGlhLXBsYXliYWNrLXF1YWxpdHkuaWRsCkBAIC0xMiw0ICsx
Miw3IEBAIGludGVyZmFjZSBWaWRlb1BsYXliYWNrUXVhbGl0eSB7CiAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBET01IaWdoUmVzVGltZVN0YW1wIGNyZWF0aW9uVGltZTsKICAgcmVhZG9ubHkgYXR0cmli
dXRlIHVuc2lnbmVkIGxvbmcgZHJvcHBlZFZpZGVvRnJhbWVzOwogICByZWFkb25seSBhdHRyaWJ1
dGUgdW5zaWduZWQgbG9uZyB0b3RhbFZpZGVvRnJhbWVzOworCisgIC8vIERlcHJlY2F0ZWQhCisg
IHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGNvcnJ1cHRlZFZpZGVvRnJhbWVzOwog
fTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaW50ZXJmYWNlcy9tZWRpYS1zb3VyY2UuaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL21lZGlhLXNvdXJjZS5pZGwKaW5kZXggMWQz
YzAyZDg0N2VhNjZlNmJjNWE4YzBmNTIwZDZjN2I5YWQ5ZTFkNi4uZTZmZjRjZDZhYzM3OGIyZGI5
ZWEyZjUwNjNjYzcyOTNiOWY0NzFjMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL21lZGlhLXNvdXJjZS5pZGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL21l
ZGlhLXNvdXJjZS5pZGwKQEAgLTE0LDIxICsxNCwyMiBAQCBlbnVtIEVuZE9mU3RyZWFtRXJyb3Ig
ewogICAgICJkZWNvZGUiCiB9OwogCi1bQ29uc3RydWN0b3JdCitbRXhwb3NlZD1XaW5kb3ddCiBp
bnRlcmZhY2UgTWVkaWFTb3VyY2UgOiBFdmVudFRhcmdldCB7Ci0gICAgcmVhZG9ubHkgYXR0cmli
dXRlIFNvdXJjZUJ1ZmZlckxpc3QgICAgc291cmNlQnVmZmVyczsKLSAgICByZWFkb25seSBhdHRy
aWJ1dGUgU291cmNlQnVmZmVyTGlzdCAgICBhY3RpdmVTb3VyY2VCdWZmZXJzOwotICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBSZWFkeVN0YXRlICAgICAgICAgIHJlYWR5U3RhdGU7Ci0gICAgICAgICAg
ICAgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGUgZHVyYXRpb247Ci0gICAgICAgICAgICAg
YXR0cmlidXRlIEV2ZW50SGFuZGxlciAgICAgICAgb25zb3VyY2VvcGVuOwotICAgICAgICAgICAg
IGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgICAgICAgIG9uc291cmNlZW5kZWQ7Ci0gICAgICAgICAg
ICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciAgICAgICAgb25zb3VyY2VjbG9zZTsKLSAgICBTb3Vy
Y2VCdWZmZXIgYWRkU291cmNlQnVmZmVyKERPTVN0cmluZyB0eXBlKTsKLSAgICB2b2lkICAgICAg
ICAgcmVtb3ZlU291cmNlQnVmZmVyKFNvdXJjZUJ1ZmZlciBzb3VyY2VCdWZmZXIpOwotICAgIHZv
aWQgICAgICAgICBlbmRPZlN0cmVhbShvcHRpb25hbCBFbmRPZlN0cmVhbUVycm9yIGVycm9yKTsK
LSAgICB2b2lkICAgICAgICAgc2V0TGl2ZVNlZWthYmxlUmFuZ2UoZG91YmxlIHN0YXJ0LCBkb3Vi
bGUgZW5kKTsKLSAgICB2b2lkICAgICAgICAgY2xlYXJMaXZlU2Vla2FibGVSYW5nZSgpOwotICAg
IHN0YXRpYyBib29sZWFuIGlzVHlwZVN1cHBvcnRlZChET01TdHJpbmcgdHlwZSk7CisgICAgY29u
c3RydWN0b3IoKTsKKyAgICByZWFkb25seSAgICAgICAgYXR0cmlidXRlIFNvdXJjZUJ1ZmZlckxp
c3QgICAgc291cmNlQnVmZmVyczsKKyAgICByZWFkb25seSAgICAgICAgYXR0cmlidXRlIFNvdXJj
ZUJ1ZmZlckxpc3QgICAgYWN0aXZlU291cmNlQnVmZmVyczsKKyAgICByZWFkb25seSAgICAgICAg
YXR0cmlidXRlIFJlYWR5U3RhdGUgICAgICAgICAgcmVhZHlTdGF0ZTsKKyAgICAgICAgICAgICAg
ICAgICAgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGUgZHVyYXRpb247CisgICAgICAgICAg
ICAgICAgICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgICAgICAgIG9uc291cmNlb3BlbjsKKyAg
ICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciAgICAgICAgb25zb3VyY2Vl
bmRlZDsKKyAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciAgICAgICAg
b25zb3VyY2VjbG9zZTsKKyAgICBTb3VyY2VCdWZmZXIgICBhZGRTb3VyY2VCdWZmZXIgKERPTVN0
cmluZyB0eXBlKTsKKyAgICB2b2lkICAgICAgICAgICByZW1vdmVTb3VyY2VCdWZmZXIgKFNvdXJj
ZUJ1ZmZlciBzb3VyY2VCdWZmZXIpOworICAgIHZvaWQgICAgICAgICAgIGVuZE9mU3RyZWFtIChv
cHRpb25hbCBFbmRPZlN0cmVhbUVycm9yIGVycm9yKTsKKyAgICB2b2lkICAgICAgICAgICBzZXRM
aXZlU2Vla2FibGVSYW5nZSAoZG91YmxlIHN0YXJ0LCBkb3VibGUgZW5kKTsKKyAgICB2b2lkICAg
ICAgICAgICBjbGVhckxpdmVTZWVrYWJsZVJhbmdlICgpOworICAgIHN0YXRpYyBib29sZWFuIGlz
VHlwZVN1cHBvcnRlZCAoRE9NU3RyaW5nIHR5cGUpOwogfTsKIAogZW51bSBBcHBlbmRNb2RlIHsK
QEAgLTM2LDQ2ICszNyw0OCBAQCBlbnVtIEFwcGVuZE1vZGUgewogICAgICJzZXF1ZW5jZSIKIH07
CiAKK1tFeHBvc2VkPVdpbmRvd10KIGludGVyZmFjZSBTb3VyY2VCdWZmZXIgOiBFdmVudFRhcmdl
dCB7Ci0gICAgICAgICAgICAgYXR0cmlidXRlIEFwcGVuZE1vZGUgICAgICAgICAgbW9kZTsKLSAg
ICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiAgICAgICAgICAgICB1cGRhdGluZzsKLSAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgVGltZVJhbmdlcyAgICAgICAgICBidWZmZXJlZDsKLSAgICAgICAg
ICAgICBhdHRyaWJ1dGUgZG91YmxlICAgICAgICAgICAgICB0aW1lc3RhbXBPZmZzZXQ7Ci0gICAg
cmVhZG9ubHkgYXR0cmlidXRlIEF1ZGlvVHJhY2tMaXN0ICAgICAgYXVkaW9UcmFja3M7Ci0gICAg
cmVhZG9ubHkgYXR0cmlidXRlIFZpZGVvVHJhY2tMaXN0ICAgICAgdmlkZW9UcmFja3M7Ci0gICAg
cmVhZG9ubHkgYXR0cmlidXRlIFRleHRUcmFja0xpc3QgICAgICAgdGV4dFRyYWNrczsKLSAgICAg
ICAgICAgICBhdHRyaWJ1dGUgZG91YmxlICAgICAgICAgICAgICBhcHBlbmRXaW5kb3dTdGFydDsK
LSAgICAgICAgICAgICBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZSBhcHBlbmRXaW5kb3dF
bmQ7Ci0gICAgICAgICAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciAgICAgICAgb251cGRhdGVz
dGFydDsKLSAgICAgICAgICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyICAgICAgICBvbnVwZGF0
ZTsKLSAgICAgICAgICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyICAgICAgICBvbnVwZGF0ZWVu
ZDsKLSAgICAgICAgICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyICAgICAgICBvbmVycm9yOwot
ICAgICAgICAgICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgICAgICAgIG9uYWJvcnQ7Ci0gICAg
dm9pZCBhcHBlbmRCdWZmZXIoQnVmZmVyU291cmNlIGRhdGEpOwotICAgIHZvaWQgYWJvcnQoKTsK
LSAgICB2b2lkIHJlbW92ZShkb3VibGUgc3RhcnQsIHVucmVzdHJpY3RlZCBkb3VibGUgZW5kKTsK
KyAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIEFwcGVuZE1vZGUgICAgICAgICAgbW9kZTsK
KyAgICByZWFkb25seSAgICAgICAgYXR0cmlidXRlIGJvb2xlYW4gICAgICAgICAgICAgdXBkYXRp
bmc7CisgICAgcmVhZG9ubHkgICAgICAgIGF0dHJpYnV0ZSBUaW1lUmFuZ2VzICAgICAgICAgIGJ1
ZmZlcmVkOworICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgZG91YmxlICAgICAgICAgICAg
ICB0aW1lc3RhbXBPZmZzZXQ7CisgICAgcmVhZG9ubHkgICAgICAgIGF0dHJpYnV0ZSBBdWRpb1Ry
YWNrTGlzdCAgICAgIGF1ZGlvVHJhY2tzOworICAgIHJlYWRvbmx5ICAgICAgICBhdHRyaWJ1dGUg
VmlkZW9UcmFja0xpc3QgICAgICB2aWRlb1RyYWNrczsKKyAgICByZWFkb25seSAgICAgICAgYXR0
cmlidXRlIFRleHRUcmFja0xpc3QgICAgICAgdGV4dFRyYWNrczsKKyAgICAgICAgICAgICAgICAg
ICAgYXR0cmlidXRlIGRvdWJsZSAgICAgICAgICAgICAgYXBwZW5kV2luZG93U3RhcnQ7CisgICAg
ICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIGFwcGVuZFdpbmRv
d0VuZDsKKyAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciAgICAgICAg
b251cGRhdGVzdGFydDsKKyAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxl
ciAgICAgICAgb251cGRhdGU7CisgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBFdmVudEhh
bmRsZXIgICAgICAgIG9udXBkYXRlZW5kOworICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUg
RXZlbnRIYW5kbGVyICAgICAgICBvbmVycm9yOworICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1
dGUgRXZlbnRIYW5kbGVyICAgICAgICBvbmFib3J0OworICAgIHZvaWQgYXBwZW5kQnVmZmVyIChC
dWZmZXJTb3VyY2UgZGF0YSk7CisgICAgdm9pZCBhYm9ydCAoKTsKKyAgICB2b2lkIHJlbW92ZSAo
ZG91YmxlIHN0YXJ0LCB1bnJlc3RyaWN0ZWQgZG91YmxlIGVuZCk7CiB9OwogCitbRXhwb3NlZD1X
aW5kb3ddCiBpbnRlcmZhY2UgU291cmNlQnVmZmVyTGlzdCA6IEV2ZW50VGFyZ2V0IHsKLSAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7Ci0gICAgICAgICAgICAgYXR0
cmlidXRlIEV2ZW50SGFuZGxlciAgb25hZGRzb3VyY2VidWZmZXI7Ci0gICAgICAgICAgICAgYXR0
cmlidXRlIEV2ZW50SGFuZGxlciAgb25yZW1vdmVzb3VyY2VidWZmZXI7CisgICAgcmVhZG9ubHkg
ICAgICAgIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKKyAgICAgICAgICAgICAgICAg
ICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciAgb25hZGRzb3VyY2VidWZmZXI7CisgICAgICAgICAg
ICAgICAgICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgIG9ucmVtb3Zlc291cmNlYnVmZmVyOwog
ICAgIGdldHRlciBTb3VyY2VCdWZmZXIgKHVuc2lnbmVkIGxvbmcgaW5kZXgpOwogfTsKIAogW0V4
cG9zZWQ9V2luZG93XQogcGFydGlhbCBpbnRlcmZhY2UgVVJMIHsKLSAgICBzdGF0aWMgRE9NU3Ry
aW5nIGNyZWF0ZU9iamVjdFVSTChNZWRpYVNvdXJjZSBtZWRpYVNvdXJjZSk7CisgICAgc3RhdGlj
IERPTVN0cmluZyBjcmVhdGVPYmplY3RVUkwgKE1lZGlhU291cmNlIG1lZGlhU291cmNlKTsKIH07
CiAKIHBhcnRpYWwgaW50ZXJmYWNlIEF1ZGlvVHJhY2sgewotICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBTb3VyY2VCdWZmZXI/IHNvdXJjZUJ1ZmZlcjsKKyAgICByZWFkb25seSAgICAgICAgYXR0cmli
dXRlIFNvdXJjZUJ1ZmZlcj8gc291cmNlQnVmZmVyOwogfTsKIAogcGFydGlhbCBpbnRlcmZhY2Ug
VmlkZW9UcmFjayB7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIFNvdXJjZUJ1ZmZlcj8gc291cmNl
QnVmZmVyOworICAgIHJlYWRvbmx5ICAgICAgICBhdHRyaWJ1dGUgU291cmNlQnVmZmVyPyBzb3Vy
Y2VCdWZmZXI7CiB9OwogCiBwYXJ0aWFsIGludGVyZmFjZSBUZXh0VHJhY2sgewotICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBTb3VyY2VCdWZmZXI/IHNvdXJjZUJ1ZmZlcjsKKyAgICByZWFkb25seSAg
ICAgICAgYXR0cmlidXRlIFNvdXJjZUJ1ZmZlcj8gc291cmNlQnVmZmVyOwogfTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNl
cy9tZWRpYXNlc3Npb24uaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9pbnRlcmZhY2VzL21lZGlhc2Vzc2lvbi5pZGwKaW5kZXggODY3MWFmNWFjZDkyMDU5
NzhlMTgyODUwMjI0NWJhMTM0MjU4YzFlOS4uMDU5ZDFlYzhjZjE0YzgwZmI3ODI4NWI1MDE0YmQz
YTNlOGM3ZTY2NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL21lZGlhc2Vzc2lvbi5pZGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL21lZGlhc2Vzc2lvbi5p
ZGwKQEAgLTY5LDEzICs2OSw3IEBAIGRpY3Rpb25hcnkgTWVkaWFQb3NpdGlvblN0YXRlIHsKIAog
ZGljdGlvbmFyeSBNZWRpYVNlc3Npb25BY3Rpb25EZXRhaWxzIHsKICAgcmVxdWlyZWQgTWVkaWFT
ZXNzaW9uQWN0aW9uIGFjdGlvbjsKLX07Ci0KLWRpY3Rpb25hcnkgTWVkaWFTZXNzaW9uU2Vla0Fj
dGlvbkRldGFpbHMgOiBNZWRpYVNlc3Npb25BY3Rpb25EZXRhaWxzIHsKICAgZG91YmxlPyBzZWVr
T2Zmc2V0OwotfTsKLQotZGljdGlvbmFyeSBNZWRpYVNlc3Npb25TZWVrVG9BY3Rpb25EZXRhaWxz
IDogTWVkaWFTZXNzaW9uQWN0aW9uRGV0YWlscyB7Ci0gIHJlcXVpcmVkIGRvdWJsZSBzZWVrVGlt
ZTsKKyAgZG91YmxlPyBzZWVrVGltZTsKICAgYm9vbGVhbj8gZmFzdFNlZWs7CiB9OwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZh
Y2VzL21lZGlhc3RyZWFtLXJlY29yZGluZy5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvbWVkaWFzdHJlYW0tcmVjb3JkaW5nLmlkbApp
bmRleCAyZDg0OWJhOWFmZmU0NzZhMjMxNDFjOWYzOTc2YzY1YjJkOWY3ZWY0Li41MjI5NTEyNWRh
NjZkODU2MmY2NjM2NmYyNzlkNTdhZTA1YTdmZTg2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvbWVkaWFzdHJlYW0tcmVj
b3JkaW5nLmlkbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ludGVyZmFjZXMvbWVkaWFzdHJlYW0tcmVjb3JkaW5nLmlkbApAQCAtNCw3ICs0LDcgQEAK
IC8vIFNvdXJjZTogTWVkaWFTdHJlYW0gUmVjb3JkaW5nIChodHRwczovL3czYy5naXRodWIuaW8v
bWVkaWFjYXB0dXJlLXJlY29yZC8pCiAKIFtFeHBvc2VkPVdpbmRvdywKLSBDb25zdHJ1Y3RvcihN
ZWRpYVN0cmVhbSBzdHJlYW0sIG9wdGlvbmFsIE1lZGlhUmVjb3JkZXJPcHRpb25zIG9wdGlvbnMp
XQorIENvbnN0cnVjdG9yKE1lZGlhU3RyZWFtIHN0cmVhbSwgb3B0aW9uYWwgTWVkaWFSZWNvcmRl
ck9wdGlvbnMgb3B0aW9ucyA9IHt9KV0KIGludGVyZmFjZSBNZWRpYVJlY29yZGVyIDogRXZlbnRU
YXJnZXQgewogICByZWFkb25seSBhdHRyaWJ1dGUgTWVkaWFTdHJlYW0gc3RyZWFtOwogICByZWFk
b25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG1pbWVUeXBlOwpAQCAtMTcsNiArMTcsNyBAQCBpbnRl
cmZhY2UgTWVkaWFSZWNvcmRlciA6IEV2ZW50VGFyZ2V0IHsKICAgYXR0cmlidXRlIEV2ZW50SGFu
ZGxlciBvbmVycm9yOwogICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyB2aWRlb0Jp
dHNQZXJTZWNvbmQ7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGF1ZGlvQml0
c1BlclNlY29uZDsKKyAgcmVhZG9ubHkgYXR0cmlidXRlIEJpdHJhdGVNb2RlIGF1ZGlvQml0cmF0
ZU1vZGU7CiAKICAgdm9pZCBzdGFydChvcHRpb25hbCB1bnNpZ25lZCBsb25nIHRpbWVzbGljZSk7
CiAgIHZvaWQgc3RvcCgpOwpAQCAtMzIsNiArMzMsMTIgQEAgZGljdGlvbmFyeSBNZWRpYVJlY29y
ZGVyT3B0aW9ucyB7CiAgIHVuc2lnbmVkIGxvbmcgYXVkaW9CaXRzUGVyU2Vjb25kOwogICB1bnNp
Z25lZCBsb25nIHZpZGVvQml0c1BlclNlY29uZDsKICAgdW5zaWduZWQgbG9uZyBiaXRzUGVyU2Vj
b25kOworICBCaXRyYXRlTW9kZSBhdWRpb0JpdHJhdGVNb2RlID0gInZiciI7Cit9OworCitlbnVt
IEJpdHJhdGVNb2RlIHsKKyAgImNiciIsCisgICJ2YnIiCiB9OwogCiBlbnVtIFJlY29yZGluZ1N0
YXRlIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaW50ZXJmYWNlcy9tc3QtY29udGVudC1oaW50LmlkbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9tc3QtY29udGVudC1oaW50Lmlk
bAppbmRleCAxNWUxN2NmNTM2NGM4M2ZjNzBiZjM3M2NkN2Y1MDBjMTNiMTUzYjVmLi5mN2QzZjIw
ZTcyMzY0YTFiZjdkZjAxOWUzMTE1YzM0YzEwZDgxMWJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvbXN0LWNvbnRlbnQt
aGludC5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbnRlcmZhY2VzL21zdC1jb250ZW50LWhpbnQuaWRsCkBAIC02LDMgKzYsMTMgQEAKIHBhcnRp
YWwgaW50ZXJmYWNlIE1lZGlhU3RyZWFtVHJhY2sgewogICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGNv
bnRlbnRIaW50OwogfTsKKworZW51bSBSVENEZWdyYWRhdGlvblByZWZlcmVuY2UgeworICAibWFp
bnRhaW4tZnJhbWVyYXRlIiwKKyAgIm1haW50YWluLXJlc29sdXRpb24iLAorICAiYmFsYW5jZWQi
Cit9OworCitwYXJ0aWFsIGRpY3Rpb25hcnkgUlRDUnRwU2VuZFBhcmFtZXRlcnMgeworIFJUQ0Rl
Z3JhZGF0aW9uUHJlZmVyZW5jZSBkZWdyYWRhdGlvblByZWZlcmVuY2U7Cit9OwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2Vz
L25hdGl2ZS1maWxlLXN5c3RlbS5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvbmF0aXZlLWZpbGUtc3lzdGVtLmlkbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mNDY3OTE3NWM0NmVjNzgzMWYwYzY0MjNiMDA3NWQ5NWFiOTlkYmUwCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZh
Y2VzL25hdGl2ZS1maWxlLXN5c3RlbS5pZGwKQEAgLTAsMCArMSw5MiBAQAorLy8gR0VORVJBVEVE
IENPTlRFTlQgLSBETyBOT1QgRURJVAorLy8gQ29udGVudCB3YXMgYXV0b21hdGljYWxseSBleHRy
YWN0ZWQgYnkgUmVmZnkgaW50byByZWZmeS1yZXBvcnRzCisvLyAoaHR0cHM6Ly9naXRodWIuY29t
L3RpZG91c3QvcmVmZnktcmVwb3J0cykKKy8vIFNvdXJjZTogTmF0aXZlIEZpbGUgU3lzdGVtICho
dHRwczovL3dpY2cuZ2l0aHViLmlvL25hdGl2ZS1maWxlLXN5c3RlbS8pCisKK2RpY3Rpb25hcnkg
RmlsZVN5c3RlbUhhbmRsZVBlcm1pc3Npb25EZXNjcmlwdG9yIHsKKyAgYm9vbGVhbiB3cml0YWJs
ZSA9IGZhbHNlOworfTsKKworW0V4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLCBTZWN1cmVDb250ZXh0
LCBTZXJpYWxpemFibGVdCitpbnRlcmZhY2UgRmlsZVN5c3RlbUhhbmRsZSB7CisgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBib29sZWFuIGlzRmlsZTsKKyAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4g
aXNEaXJlY3Rvcnk7CisgIHJlYWRvbmx5IGF0dHJpYnV0ZSBVU1ZTdHJpbmcgbmFtZTsKKworICBQ
cm9taXNlPFBlcm1pc3Npb25TdGF0ZT4gcXVlcnlQZXJtaXNzaW9uKG9wdGlvbmFsIEZpbGVTeXN0
ZW1IYW5kbGVQZXJtaXNzaW9uRGVzY3JpcHRvciBkZXNjcmlwdG9yID0ge30pOworICBQcm9taXNl
PFBlcm1pc3Npb25TdGF0ZT4gcmVxdWVzdFBlcm1pc3Npb24ob3B0aW9uYWwgRmlsZVN5c3RlbUhh
bmRsZVBlcm1pc3Npb25EZXNjcmlwdG9yIGRlc2NyaXB0b3IgPSB7fSk7Cit9OworCitkaWN0aW9u
YXJ5IEZpbGVTeXN0ZW1DcmVhdGVXcml0ZXJPcHRpb25zIHsKKyAgYm9vbGVhbiBrZWVwRXhpc3Rp
bmdEYXRhID0gZmFsc2U7Cit9OworCitbRXhwb3NlZD0oV2luZG93LFdvcmtlciksIFNlY3VyZUNv
bnRleHQsIFNlcmlhbGl6YWJsZV0KK2ludGVyZmFjZSBGaWxlU3lzdGVtRmlsZUhhbmRsZSA6IEZp
bGVTeXN0ZW1IYW5kbGUgeworICBQcm9taXNlPEZpbGU+IGdldEZpbGUoKTsKKyAgUHJvbWlzZTxG
aWxlU3lzdGVtV3JpdGVyPiBjcmVhdGVXcml0ZXIob3B0aW9uYWwgRmlsZVN5c3RlbUNyZWF0ZVdy
aXRlck9wdGlvbnMgb3B0aW9ucyA9IHt9KTsKK307CisKK2RpY3Rpb25hcnkgRmlsZVN5c3RlbUdl
dEZpbGVPcHRpb25zIHsKKyAgYm9vbGVhbiBjcmVhdGUgPSBmYWxzZTsKK307CisKK2RpY3Rpb25h
cnkgRmlsZVN5c3RlbUdldERpcmVjdG9yeU9wdGlvbnMgeworICBib29sZWFuIGNyZWF0ZSA9IGZh
bHNlOworfTsKKworZGljdGlvbmFyeSBGaWxlU3lzdGVtUmVtb3ZlT3B0aW9ucyB7CisgIGJvb2xl
YW4gcmVjdXJzaXZlID0gZmFsc2U7Cit9OworCitbRXhwb3NlZD0oV2luZG93LFdvcmtlciksIFNl
Y3VyZUNvbnRleHQsIFNlcmlhbGl6YWJsZV0KK2ludGVyZmFjZSBGaWxlU3lzdGVtRGlyZWN0b3J5
SGFuZGxlIDogRmlsZVN5c3RlbUhhbmRsZSB7CisgIFByb21pc2U8RmlsZVN5c3RlbUZpbGVIYW5k
bGU+IGdldEZpbGUoVVNWU3RyaW5nIG5hbWUsIG9wdGlvbmFsIEZpbGVTeXN0ZW1HZXRGaWxlT3B0
aW9ucyBvcHRpb25zID0ge30pOworICBQcm9taXNlPEZpbGVTeXN0ZW1EaXJlY3RvcnlIYW5kbGU+
IGdldERpcmVjdG9yeShVU1ZTdHJpbmcgbmFtZSwgb3B0aW9uYWwgRmlsZVN5c3RlbUdldERpcmVj
dG9yeU9wdGlvbnMgb3B0aW9ucyA9IHt9KTsKKworICAvLyBUaGlzIHJlYWxseSByZXR1cm5zIGFu
IGFzeW5jIGl0ZXJhYmxlLCBidXQgdGhhdCBpcyBub3QgeWV0IGV4cHJlc3NhYmxlIGluIFdlYklE
TC4KKyAgb2JqZWN0IGdldEVudHJpZXMoKTsKKworICBQcm9taXNlPHZvaWQ+IHJlbW92ZUVudHJ5
KFVTVlN0cmluZyBuYW1lLCBvcHRpb25hbCBGaWxlU3lzdGVtUmVtb3ZlT3B0aW9ucyBvcHRpb25z
ID0ge30pOworfTsKKworW0V4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLCBTZWN1cmVDb250ZXh0XQor
aW50ZXJmYWNlIEZpbGVTeXN0ZW1Xcml0ZXIgeworICBQcm9taXNlPHZvaWQ+IHdyaXRlKHVuc2ln
bmVkIGxvbmcgbG9uZyBwb3NpdGlvbiwgKEJ1ZmZlclNvdXJjZSBvciBCbG9iIG9yIFVTVlN0cmlu
ZykgZGF0YSk7CisgIFByb21pc2U8dm9pZD4gdHJ1bmNhdGUodW5zaWduZWQgbG9uZyBsb25nIHNp
emUpOworICBQcm9taXNlPHZvaWQ+IGNsb3NlKCk7Cit9OworCitlbnVtIENob29zZUZpbGVTeXN0
ZW1FbnRyaWVzVHlwZSB7ICJvcGVuLWZpbGUiLCAic2F2ZS1maWxlIiwgIm9wZW4tZGlyZWN0b3J5
IiB9OworCitkaWN0aW9uYXJ5IENob29zZUZpbGVTeXN0ZW1FbnRyaWVzT3B0aW9uc0FjY2VwdHMg
eworICBVU1ZTdHJpbmcgZGVzY3JpcHRpb247CisgIHNlcXVlbmNlPFVTVlN0cmluZz4gbWltZVR5
cGVzOworICBzZXF1ZW5jZTxVU1ZTdHJpbmc+IGV4dGVuc2lvbnM7Cit9OworCitkaWN0aW9uYXJ5
IENob29zZUZpbGVTeXN0ZW1FbnRyaWVzT3B0aW9ucyB7CisgICAgQ2hvb3NlRmlsZVN5c3RlbUVu
dHJpZXNUeXBlIHR5cGUgPSAib3Blbi1maWxlIjsKKyAgICBib29sZWFuIG11bHRpcGxlID0gZmFs
c2U7CisgICAgc2VxdWVuY2U8Q2hvb3NlRmlsZVN5c3RlbUVudHJpZXNPcHRpb25zQWNjZXB0cz4g
YWNjZXB0czsKKyAgICBib29sZWFuIGV4Y2x1ZGVBY2NlcHRBbGxPcHRpb24gPSBmYWxzZTsKK307
CisKK1tTZWN1cmVDb250ZXh0XQorcGFydGlhbCBpbnRlcmZhY2UgV2luZG93IHsKKyAgICBQcm9t
aXNlPChGaWxlU3lzdGVtSGFuZGxlIG9yIHNlcXVlbmNlPEZpbGVTeXN0ZW1IYW5kbGU+KT4KKyAg
ICAgICAgY2hvb3NlRmlsZVN5c3RlbUVudHJpZXMob3B0aW9uYWwgQ2hvb3NlRmlsZVN5c3RlbUVu
dHJpZXNPcHRpb25zIG9wdGlvbnMgPSB7fSk7Cit9OworCitlbnVtIFN5c3RlbURpcmVjdG9yeVR5
cGUgeworICAic2FuZGJveCIKK307CisKK2RpY3Rpb25hcnkgR2V0U3lzdGVtRGlyZWN0b3J5T3B0
aW9ucyB7CisgIHJlcXVpcmVkIFN5c3RlbURpcmVjdG9yeVR5cGUgdHlwZTsKK307CisKK1tTZWN1
cmVDb250ZXh0XQorcGFydGlhbCBpbnRlcmZhY2UgRmlsZVN5c3RlbURpcmVjdG9yeUhhbmRsZSB7
CisgIHN0YXRpYyBQcm9taXNlPEZpbGVTeXN0ZW1EaXJlY3RvcnlIYW5kbGU+IGdldFN5c3RlbURp
cmVjdG9yeShHZXRTeXN0ZW1EaXJlY3RvcnlPcHRpb25zIG9wdGlvbnMpOworfTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNl
cy9uZXRpbmZvLmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaW50ZXJmYWNlcy9uZXRpbmZvLmlkbAppbmRleCA3Mjk2NzgzOTY4ODRhMTk4NzQyMzk0Njgw
NzViZmQ1ODdjNjIxMzA1Li41MzBkZWI5OThjNDY1NmE0ZmRhMzJhZjdmNjI4NmU4OTVhMTVlMDgy
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ludGVyZmFjZXMvbmV0aW5mby5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL25ldGluZm8uaWRsCkBAIC0zNiw3ICszNiw2IEBA
IGludGVyZmFjZSBOZXR3b3JrSW5mb3JtYXRpb24gOiBFdmVudFRhcmdldCB7CiAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBNZWdhYml0IGRvd25saW5rTWF4OwogICByZWFkb25seSBhdHRyaWJ1dGUgTWVn
YWJpdCBkb3dubGluazsKICAgcmVhZG9ubHkgYXR0cmlidXRlIE1pbGxpc2Vjb25kIHJ0dDsKLSAg
cmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gc2F2ZURhdGE7CiAgIGF0dHJpYnV0ZSBFdmVudEhh
bmRsZXIgb25jaGFuZ2U7CiB9OwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvb3JpZ2luLXBvbGljeS5pZGwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvb3JpZ2lu
LXBvbGljeS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTQ4ZTA2MzJiZDg5ZmY3NjRmYTliMzg2NDIwN2IzOTcy
M2EzODhjZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9vcmlnaW4tcG9saWN5LmlkbApAQCAtMCwwICsxLDgg
QEAKKy8vIEdFTkVSQVRFRCBDT05URU5UIC0gRE8gTk9UIEVESVQKKy8vIENvbnRlbnQgd2FzIGF1
dG9tYXRpY2FsbHkgZXh0cmFjdGVkIGJ5IFJlZmZ5IGludG8gcmVmZnktcmVwb3J0cworLy8gKGh0
dHBzOi8vZ2l0aHViLmNvbS90aWRvdXN0L3JlZmZ5LXJlcG9ydHMpCisvLyBTb3VyY2U6IE9yaWdp
biBQb2xpY3kgKGh0dHBzOi8vd2ljZy5naXRodWIuaW8vb3JpZ2luLXBvbGljeS8pCisKK3BhcnRp
YWwgaW50ZXJmYWNlIG1peGluIFdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUgeworICByZWFkb25s
eSBhdHRyaWJ1dGUgRnJvemVuQXJyYXk8RE9NU3RyaW5nPiBvcmlnaW5Qb2xpY3lJZHM7Cit9Owpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bnRlcmZhY2VzL3BhZ2UtbGlmZWN5Y2xlLmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9wYWdlLWxpZmVjeWNsZS5pZGwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjNkOWMxZjNmNTY0NzUzOWFhODQwNjUwYmVmYjI2ZTc2ODEyMDgzZAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJm
YWNlcy9wYWdlLWxpZmVjeWNsZS5pZGwKQEAgLTAsMCArMSwxOSBAQAorLy8gR0VORVJBVEVEIENP
TlRFTlQgLSBETyBOT1QgRURJVAorLy8gQ29udGVudCB3YXMgYXV0b21hdGljYWxseSBleHRyYWN0
ZWQgYnkgUmVmZnkgaW50byByZWZmeS1yZXBvcnRzCisvLyAoaHR0cHM6Ly9naXRodWIuY29tL3Rp
ZG91c3QvcmVmZnktcmVwb3J0cykKKy8vIFNvdXJjZTogUGFnZSBMaWZlY3ljbGUgKGh0dHBzOi8v
d2ljZy5naXRodWIuaW8vcGFnZS1saWZlY3ljbGUvKQorCitwYXJ0aWFsIGludGVyZmFjZSBEb2N1
bWVudCB7CisgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmZyZWV6ZTsKKyAgICBhdHRyaWJ1
dGUgRXZlbnRIYW5kbGVyIG9ucmVzdW1lOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFu
IHdhc0Rpc2NhcmRlZDsKK307CisKK3BhcnRpYWwgaW50ZXJmYWNlIENsaWVudCB7CisgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIENsaWVudExpZmVjeWNsZVN0YXRlIGxpZmVjeWNsZVN0YXRlOworfTsK
KworZW51bSBDbGllbnRMaWZlY3ljbGVTdGF0ZSB7CisgICAgImFjdGl2ZSIsCisgICAgImZyb3pl
biIKK307CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ludGVyZmFjZXMvcGF5bWVudC1tZXRob2QtYmFzaWMtY2FyZC5pZGwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcGF5bWVudC1t
ZXRob2QtYmFzaWMtY2FyZC5pZGwKaW5kZXggOTFmMWQxOTdiOTQ2MGE0ZDNmZWFmNWQxOWU2NGE4
YWY0MjA2NmNhMy4uNzJlMDU1NTA2NmNmNDEwNjhmOTA3ZDRjNWUzM2NlODY0NDNmYmM1ZCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRl
cmZhY2VzL3BheW1lbnQtbWV0aG9kLWJhc2ljLWNhcmQuaWRsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9wYXltZW50LW1ldGhvZC1i
YXNpYy1jYXJkLmlkbApAQCAtNSw2ICs1LDcgQEAKIAogZGljdGlvbmFyeSBCYXNpY0NhcmRSZXF1
ZXN0IHsKICAgc2VxdWVuY2U8RE9NU3RyaW5nPiBzdXBwb3J0ZWROZXR3b3JrcyA9IFtdOworICBi
b29sZWFuIHJlcXVlc3RTZWN1cml0eUNvZGUgPSB0cnVlOwogfTsKIAogZGljdGlvbmFyeSBCYXNp
Y0NhcmRDaGFuZ2VEZXRhaWxzIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9wYXltZW50LXJlcXVlc3QuaWRsIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3BheW1l
bnQtcmVxdWVzdC5pZGwKaW5kZXggZTQxY2FlMmYwNmQwZDQ3OWY2ODA2NmQ3ODZjNzM3MWU3ZDRk
YTkzNC4uOTQwN2M3MTFlNDhhYzg0MDNiYjIzZjVkODIxZDc0NGIzZTdmYzgzNyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2Vz
L3BheW1lbnQtcmVxdWVzdC5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3BheW1lbnQtcmVxdWVzdC5pZGwKQEAgLTEwMywxNiAr
MTAzLDE2IEBAIGludGVyZmFjZSBQYXltZW50QWRkcmVzcyB7CiB9OwogCiBkaWN0aW9uYXJ5IEFk
ZHJlc3NJbml0IHsKLSAgRE9NU3RyaW5nIGNvdW50cnk7Ci0gIHNlcXVlbmNlPERPTVN0cmluZz4g
YWRkcmVzc0xpbmU7Ci0gIERPTVN0cmluZyByZWdpb247Ci0gIERPTVN0cmluZyBjaXR5OwotICBE
T01TdHJpbmcgZGVwZW5kZW50TG9jYWxpdHk7Ci0gIERPTVN0cmluZyBwb3N0YWxDb2RlOwotICBE
T01TdHJpbmcgc29ydGluZ0NvZGU7Ci0gIERPTVN0cmluZyBvcmdhbml6YXRpb247Ci0gIERPTVN0
cmluZyByZWNpcGllbnQ7Ci0gIERPTVN0cmluZyBwaG9uZTsKKyAgRE9NU3RyaW5nIGNvdW50cnkg
PSAiIjsKKyAgc2VxdWVuY2U8RE9NU3RyaW5nPiBhZGRyZXNzTGluZSA9IFtdOworICBET01TdHJp
bmcgcmVnaW9uID0gIiI7CisgIERPTVN0cmluZyBjaXR5ID0gIiI7CisgIERPTVN0cmluZyBkZXBl
bmRlbnRMb2NhbGl0eSA9ICIiOworICBET01TdHJpbmcgcG9zdGFsQ29kZSA9ICIiOworICBET01T
dHJpbmcgc29ydGluZ0NvZGUgPSAiIjsKKyAgRE9NU3RyaW5nIG9yZ2FuaXphdGlvbiA9ICIiOwor
ICBET01TdHJpbmcgcmVjaXBpZW50ID0gIiI7CisgIERPTVN0cmluZyBwaG9uZSA9ICIiOwogfTsK
IAogZGljdGlvbmFyeSBBZGRyZXNzRXJyb3JzIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9wZXJpb2RpYy1iYWNrZ3Jv
dW5kLXN5bmMuaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbnRlcmZhY2VzL3BlcmlvZGljLWJhY2tncm91bmQtc3luYy5pZGwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTRl
ZThiYmMzMGRmMWU2ZmQyOTJkYjdlNTI1MDRhMmQzY2U4NGQ1YgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9w
ZXJpb2RpYy1iYWNrZ3JvdW5kLXN5bmMuaWRsCkBAIC0wLDAgKzEsMzUgQEAKKy8vIEdFTkVSQVRF
RCBDT05URU5UIC0gRE8gTk9UIEVESVQKKy8vIENvbnRlbnQgd2FzIGF1dG9tYXRpY2FsbHkgZXh0
cmFjdGVkIGJ5IFJlZmZ5IGludG8gcmVmZnktcmVwb3J0cworLy8gKGh0dHBzOi8vZ2l0aHViLmNv
bS90aWRvdXN0L3JlZmZ5LXJlcG9ydHMpCisvLyBTb3VyY2U6IFdlYiBQZXJpb2RpYyBCYWNrZ3Jv
dW5kIFN5bmNocm9uaXphdGlvbiAoaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9wZXJpb2RpYy1iYWNr
Z3JvdW5kLXN5bmMvKQorCitwYXJ0aWFsIGludGVyZmFjZSBTZXJ2aWNlV29ya2VyR2xvYmFsU2Nv
cGUgeworICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25wZXJpb2RpY3N5bmM7Cit9OworCitb
RXhwb3NlZD0oV2luZG93LFdvcmtlcildCitwYXJ0aWFsIGludGVyZmFjZSBTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uIHsKKyAgcmVhZG9ubHkgYXR0cmlidXRlIFBlcmlvZGljU3luY01hbmFnZXIg
cGVyaW9kaWNTeW5jOworfTsKKworW0V4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpXQoraW50ZXJmYWNl
IFBlcmlvZGljU3luY01hbmFnZXIgeworICAgIFByb21pc2U8dm9pZD4gcmVnaXN0ZXIoRE9NU3Ry
aW5nIHRhZywgb3B0aW9uYWwgQmFja2dyb3VuZFN5bmNPcHRpb25zIG9wdGlvbnMpOworICAgIFBy
b21pc2U8c2VxdWVuY2U8RE9NU3RyaW5nPj4gZ2V0VGFncygpOworICAgIFByb21pc2U8dm9pZD4g
dW5yZWdpc3RlcihET01TdHJpbmcgdGFnKTsKK307CisKK2RpY3Rpb25hcnkgQmFja2dyb3VuZFN5
bmNPcHRpb25zIHsKKyAgICBbRW5mb3JjZVJhbmdlXSB1bnNpZ25lZCBsb25nIGxvbmcgbWluSW50
ZXJ2YWwgPSAwOworfTsKKworZGljdGlvbmFyeSBQZXJpb2RpY1N5bmNFdmVudEluaXQgOiBFeHRl
bmRhYmxlRXZlbnRJbml0IHsKKyAgICByZXF1aXJlZCBET01TdHJpbmcgdGFnOworfTsKKworWwor
ICAgIENvbnN0cnVjdG9yKERPTVN0cmluZyB0eXBlLCBQZXJpb2RpY1N5bmNFdmVudEluaXQgaW5p
dCksCisgICAgRXhwb3NlZD1TZXJ2aWNlV29ya2VyCitdIGludGVyZmFjZSBQZXJpb2RpY1N5bmNF
dmVudCA6IEV4dGVuZGFibGVFdmVudCB7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmlu
ZyB0YWc7CisgIH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcGVybWlzc2lvbnMtcmVxdWVzdC5pZGwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcGVybWlzc2lv
bnMtcmVxdWVzdC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDg0MzFmYmFiODVhYjk4MzgyNzhjMmUyZDBkZDlh
ZDQxMWYxZDVkZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9wZXJtaXNzaW9ucy1yZXF1ZXN0LmlkbApAQCAt
MCwwICsxLDggQEAKKy8vIEdFTkVSQVRFRCBDT05URU5UIC0gRE8gTk9UIEVESVQKKy8vIENvbnRl
bnQgd2FzIGF1dG9tYXRpY2FsbHkgZXh0cmFjdGVkIGJ5IFJlZmZ5IGludG8gcmVmZnktcmVwb3J0
cworLy8gKGh0dHBzOi8vZ2l0aHViLmNvbS90aWRvdXN0L3JlZmZ5LXJlcG9ydHMpCisvLyBTb3Vy
Y2U6IFJlcXVlc3RpbmcgUGVybWlzc2lvbnMgKGh0dHBzOi8vd2ljZy5naXRodWIuaW8vcGVybWlz
c2lvbnMtcmVxdWVzdC8pCisKK3BhcnRpYWwgaW50ZXJmYWNlIFBlcm1pc3Npb25zIHsKKyAgUHJv
bWlzZTxQZXJtaXNzaW9uU3RhdHVzPiByZXF1ZXN0KG9iamVjdCBwZXJtaXNzaW9uRGVzYyk7Cit9
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbnRlcmZhY2VzL3Blcm1pc3Npb25zLXJldm9rZS5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcGVybWlzc2lvbnMtcmV2b2tlLmlk
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi40YzJiY2Y3Yjk5ZjE0YjU4ZmZlYTczOGEyMzI3Mjc2N2Y0YWU2ODZmCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9pbnRlcmZhY2VzL3Blcm1pc3Npb25zLXJldm9rZS5pZGwKQEAgLTAsMCArMSw4IEBACisv
LyBHRU5FUkFURUQgQ09OVEVOVCAtIERPIE5PVCBFRElUCisvLyBDb250ZW50IHdhcyBhdXRvbWF0
aWNhbGx5IGV4dHJhY3RlZCBieSBSZWZmeSBpbnRvIHJlZmZ5LXJlcG9ydHMKKy8vIChodHRwczov
L2dpdGh1Yi5jb20vdGlkb3VzdC9yZWZmeS1yZXBvcnRzKQorLy8gU291cmNlOiBSZWxpbnF1aXNo
aW5nIFBlcm1pc3Npb25zIChodHRwczovL3dpY2cuZ2l0aHViLmlvL3Blcm1pc3Npb25zLXJldm9r
ZS8pCisKK3BhcnRpYWwgaW50ZXJmYWNlIFBlcm1pc3Npb25zIHsKKyAgUHJvbWlzZTxQZXJtaXNz
aW9uU3RhdHVzPiByZXZva2Uob2JqZWN0IHBlcm1pc3Npb25EZXNjKTsKK307CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMv
cGVybWlzc2lvbnMuaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9pbnRlcmZhY2VzL3Blcm1pc3Npb25zLmlkbAppbmRleCA5Y2RlMzcyYTEyNzE4OGVmMTA4
MWFkMzkwZDUzMDFkMmQ4YjE5OGY4Li5kNDVjN2Y5M2NhYzc2ODNhNzZlODlkMGU3ZjQyOWY1ZjNj
YjY5NWQ5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ludGVyZmFjZXMvcGVybWlzc2lvbnMuaWRsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9wZXJtaXNzaW9ucy5pZGwKQEAg
LTQ2LDYgKzQ2LDEwIEBAIGRpY3Rpb25hcnkgRGV2aWNlUGVybWlzc2lvbkRlc2NyaXB0b3IgOiBQ
ZXJtaXNzaW9uRGVzY3JpcHRvciB7CiAgIERPTVN0cmluZyBkZXZpY2VJZDsKIH07CiAKK2RpY3Rp
b25hcnkgQ2FtZXJhRGV2aWNlUGVybWlzc2lvbkRlc2NyaXB0b3IgOiBEZXZpY2VQZXJtaXNzaW9u
RGVzY3JpcHRvciB7CisgIGJvb2xlYW4gcGFuVGlsdFpvb20gPSBmYWxzZTsKK307CisKIGRpY3Rp
b25hcnkgUGVybWlzc2lvblNldFBhcmFtZXRlcnMgewogICByZXF1aXJlZCBQZXJtaXNzaW9uRGVz
Y3JpcHRvciBkZXNjcmlwdG9yOwogICByZXF1aXJlZCBQZXJtaXNzaW9uU3RhdGUgc3RhdGU7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2lu
dGVyZmFjZXMvcG9pbnRlcmV2ZW50cy5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcG9pbnRlcmV2ZW50cy5pZGwKaW5kZXggZjQ0MDU0
Mzg2MzJiZTNjYWQ1OWVlNTJjN2M2MmJjYTYzMGRmODc1Zi4uOGE0MmI1YTg0NDZiODQzYzAxZjZh
NzZjODI0YmRmMDIyYjM2YjY0NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3BvaW50ZXJldmVudHMuaWRsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9wb2lu
dGVyZXZlbnRzLmlkbApAQCAtMTIsNiArMTIsOCBAQCBkaWN0aW9uYXJ5IFBvaW50ZXJFdmVudElu
aXQgOiBNb3VzZUV2ZW50SW5pdCB7CiAgICAgbG9uZyAgICAgICAgdGlsdFggPSAwOwogICAgIGxv
bmcgICAgICAgIHRpbHRZID0gMDsKICAgICBsb25nICAgICAgICB0d2lzdCA9IDA7CisgICAgZG91
YmxlICAgICAgYWx0aXR1ZGVBbmdsZSA9IDA7CisgICAgZG91YmxlICAgICAgYXppbXV0aEFuZ2xl
ID0gMDsKICAgICBET01TdHJpbmcgICBwb2ludGVyVHlwZSA9ICIiOwogICAgIGJvb2xlYW4gICAg
IGlzUHJpbWFyeSA9IGZhbHNlOwogICAgIHNlcXVlbmNlPFBvaW50ZXJFdmVudD4gY29hbGVzY2Vk
RXZlbnRzID0gW107CkBAIC0yOSw5ICszMSwxMSBAQCBpbnRlcmZhY2UgUG9pbnRlckV2ZW50IDog
TW91c2VFdmVudCB7CiAgICAgcmVhZG9ubHkgICAgICAgIGF0dHJpYnV0ZSBsb25nICAgICAgICB0
aWx0WDsKICAgICByZWFkb25seSAgICAgICAgYXR0cmlidXRlIGxvbmcgICAgICAgIHRpbHRZOwog
ICAgIHJlYWRvbmx5ICAgICAgICBhdHRyaWJ1dGUgbG9uZyAgICAgICAgdHdpc3Q7CisgICAgcmVh
ZG9ubHkgICAgICAgIGF0dHJpYnV0ZSBkb3VibGUgICAgICBhbHRpdHVkZUFuZ2xlOworICAgIHJl
YWRvbmx5ICAgICAgICBhdHRyaWJ1dGUgZG91YmxlICAgICAgYXppbXV0aEFuZ2xlOwogICAgIHJl
YWRvbmx5ICAgICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nICAgcG9pbnRlclR5cGU7CiAgICAgcmVh
ZG9ubHkgICAgICAgIGF0dHJpYnV0ZSBib29sZWFuICAgICBpc1ByaW1hcnk7Ci0gICAgc2VxdWVu
Y2U8UG9pbnRlckV2ZW50PiBnZXRDb2FsZXNjZWRFdmVudHMoKTsKKyAgICBbU2VjdXJlQ29udGV4
dF0gc2VxdWVuY2U8UG9pbnRlckV2ZW50PiBnZXRDb2FsZXNjZWRFdmVudHMoKTsKICAgICBzZXF1
ZW5jZTxQb2ludGVyRXZlbnQ+IGdldFByZWRpY3RlZEV2ZW50cygpOwogfTsKIApAQCAtNDYsNiAr
NTAsNyBAQCBwYXJ0aWFsIGludGVyZmFjZSBtaXhpbiBHbG9iYWxFdmVudEhhbmRsZXJzIHsKICAg
ICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ubG9zdHBvaW50ZXJjYXB0dXJlOwogICAgIGF0dHJp
YnV0ZSBFdmVudEhhbmRsZXIgb25wb2ludGVyZG93bjsKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5k
bGVyIG9ucG9pbnRlcm1vdmU7CisgICAgW1NlY3VyZUNvbnRleHRdIGF0dHJpYnV0ZSBFdmVudEhh
bmRsZXIgb25wb2ludGVycmF3dXBkYXRlOwogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25w
b2ludGVydXA7CiAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbnBvaW50ZXJjYW5jZWw7CiAg
ICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbnBvaW50ZXJvdmVyOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3JlcG9y
dGluZy5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2lu
dGVyZmFjZXMvcmVwb3J0aW5nLmlkbAppbmRleCBmNTM3MGU4ZjFlNjU2YWNmNzQwOWRiZGE5MDdl
ZTk2NzJkNWU4ZWQxLi5kNDJmMGJhYzU5YzJmYTZkOGY5NDQwMmY3YjZlMWUyOWRlMzc5MTIzIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2lu
dGVyZmFjZXMvcmVwb3J0aW5nLmlkbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcmVwb3J0aW5nLmlkbApAQCAtMzMsMzMgKzMzLDYg
QEAgZGljdGlvbmFyeSBSZXBvcnRpbmdPYnNlcnZlck9wdGlvbnMgewogCiB0eXBlZGVmIHNlcXVl
bmNlPFJlcG9ydD4gUmVwb3J0TGlzdDsKIAotW0V4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpXQotaW50
ZXJmYWNlIERlcHJlY2F0aW9uUmVwb3J0Qm9keSA6IFJlcG9ydEJvZHkgewotICBbRGVmYXVsdF0g
b2JqZWN0IHRvSlNPTigpOwotICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGlkOwotICBy
ZWFkb25seSBhdHRyaWJ1dGUgRGF0ZT8gYW50aWNpcGF0ZWRSZW1vdmFsOwotICByZWFkb25seSBh
dHRyaWJ1dGUgRE9NU3RyaW5nIG1lc3NhZ2U7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJp
bmc/IHNvdXJjZUZpbGU7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nPyBsaW5l
TnVtYmVyOwotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZz8gY29sdW1uTnVtYmVy
OwotfTsKLQotW0V4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpXQotaW50ZXJmYWNlIEludGVydmVudGlv
blJlcG9ydEJvZHkgOiBSZXBvcnRCb2R5IHsKLSAgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsK
LSAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBpZDsKLSAgcmVhZG9ubHkgYXR0cmlidXRl
IERPTVN0cmluZyBtZXNzYWdlOwotICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBzb3Vy
Y2VGaWxlOwotICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZz8gbGluZU51bWJlcjsK
LSAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmc/IGNvbHVtbk51bWJlcjsKLX07Ci0K
LVtFeHBvc2VkPShXaW5kb3csV29ya2VyKV0KLWludGVyZmFjZSBDcmFzaFJlcG9ydEJvZHkgOiBS
ZXBvcnRCb2R5IHsKLSAgW0RlZmF1bHRdIG9iamVjdCB0b0pTT04oKTsKLSAgcmVhZG9ubHkgYXR0
cmlidXRlIERPTVN0cmluZz8gcmVhc29uOwotfTsKLQogZGljdGlvbmFyeSBHZW5lcmF0ZVRlc3RS
ZXBvcnRQYXJhbWV0ZXJzIHsKICAgcmVxdWlyZWQgRE9NU3RyaW5nIG1lc3NhZ2U7CiAgIERPTVN0
cmluZyBncm91cCA9ICJkZWZhdWx0IjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9yZXF1ZXN0aWRsZWNhbGxiYWNrLmlk
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNl
cy9yZXF1ZXN0aWRsZWNhbGxiYWNrLmlkbAppbmRleCBiNDg1ZGMwNzgwNWZlODY0Y2Y3OWFiZDFl
YzExYTdlM2ZmYjY4ZDQxLi5jNzYzYjUwYmRlNzgyYmI0ODQ1NjRiNDllMjUwNjhmZmY4OGY3ODJi
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ludGVyZmFjZXMvcmVxdWVzdGlkbGVjYWxsYmFjay5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3JlcXVlc3RpZGxlY2FsbGJh
Y2suaWRsCkBAIC0xMSw4ICsxMSwxMCBAQCBwYXJ0aWFsIGludGVyZmFjZSBXaW5kb3cgewogZGlj
dGlvbmFyeSBJZGxlUmVxdWVzdE9wdGlvbnMgewogICB1bnNpZ25lZCBsb25nIHRpbWVvdXQ7CiB9
OworCiBbRXhwb3NlZD1XaW5kb3ddIGludGVyZmFjZSBJZGxlRGVhZGxpbmUgewogICBET01IaWdo
UmVzVGltZVN0YW1wIHRpbWVSZW1haW5pbmcoKTsKICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xl
YW4gZGlkVGltZW91dDsKIH07CisKIGNhbGxiYWNrIElkbGVSZXF1ZXN0Q2FsbGJhY2sgPSB2b2lk
IChJZGxlRGVhZGxpbmUgZGVhZGxpbmUpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3Jlc2l6ZS1vYnNlcnZlci5pZGwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMv
cmVzaXplLW9ic2VydmVyLmlkbAppbmRleCBkNTNlOWRhNTVlZTMzZmFlZjA1YWViMTBlNTBiYTMx
ZjI3Y2Y4OGM4Li5mMjBiNzE5ZDExZTc2Y2Y5Mjk5N2E1NjA2MWQwMDkxODk1NDUzZjUyIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVy
ZmFjZXMvcmVzaXplLW9ic2VydmVyLmlkbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcmVzaXplLW9ic2VydmVyLmlkbApAQCAtMTEs
OSArMTEsOSBAQCBkaWN0aW9uYXJ5IFJlc2l6ZU9ic2VydmVyT3B0aW9ucyB7CiAgICAgUmVzaXpl
T2JzZXJ2ZXJCb3hPcHRpb25zIGJveCA9ICJjb250ZW50LWJveCI7CiB9OwogCi1bRXhwb3NlZD0o
V2luZG93KSwKLSBDb25zdHJ1Y3RvcihSZXNpemVPYnNlcnZlckNhbGxiYWNrIGNhbGxiYWNrKV0K
K1tFeHBvc2VkPShXaW5kb3cpXQogaW50ZXJmYWNlIFJlc2l6ZU9ic2VydmVyIHsKKyAgICBjb25z
dHJ1Y3RvcihSZXNpemVPYnNlcnZlckNhbGxiYWNrIGNhbGxiYWNrKTsKICAgICB2b2lkIG9ic2Vy
dmUoRWxlbWVudCB0YXJnZXQsIG9wdGlvbmFsIFJlc2l6ZU9ic2VydmVyT3B0aW9ucyBvcHRpb25z
KTsKICAgICB2b2lkIHVub2JzZXJ2ZShFbGVtZW50IHRhcmdldCk7CiAgICAgdm9pZCBkaXNjb25u
ZWN0KCk7CkBAIC0yNSw5ICsyNSw5IEBAIGNhbGxiYWNrIFJlc2l6ZU9ic2VydmVyQ2FsbGJhY2sg
PSB2b2lkIChzZXF1ZW5jZTxSZXNpemVPYnNlcnZlckVudHJ5PiBlbnRyaWVzLCBSCiBpbnRlcmZh
Y2UgUmVzaXplT2JzZXJ2ZXJFbnRyeSB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEVsZW1lbnQg
dGFyZ2V0OwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01SZWN0UmVhZE9ubHkgY29udGVudFJl
Y3Q7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIHNlcXVlbmNlPFJlc2l6ZU9ic2VydmVyU2l6ZT4g
Ym9yZGVyQm94U2l6ZTsKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgc2VxdWVuY2U8UmVzaXplT2Jz
ZXJ2ZXJTaXplPiBjb250ZW50Qm94U2l6ZTsKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgc2VxdWVu
Y2U8UmVzaXplT2JzZXJ2ZXJTaXplPiBkZXZpY2VQaXhlbENvbnRlbnRCb3hTaXplOworICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBGcm96ZW5BcnJheTxSZXNpemVPYnNlcnZlclNpemU+IGJvcmRlckJv
eFNpemU7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIEZyb3plbkFycmF5PFJlc2l6ZU9ic2VydmVy
U2l6ZT4gY29udGVudEJveFNpemU7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIEZyb3plbkFycmF5
PFJlc2l6ZU9ic2VydmVyU2l6ZT4gZGV2aWNlUGl4ZWxDb250ZW50Qm94U2l6ZTsKIH07CiAKIGlu
dGVyZmFjZSBSZXNpemVPYnNlcnZlclNpemUgewpAQCAtMzUsMTAgKzM1LDkgQEAgaW50ZXJmYWNl
IFJlc2l6ZU9ic2VydmVyU2l6ZSB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVucmVzdHJpY3Rl
ZCBkb3VibGUgYmxvY2tTaXplOwogfTsKIAotW0NvbnN0cnVjdG9yKEVsZW1lbnQgdGFyZ2V0KQot
XQogaW50ZXJmYWNlIFJlc2l6ZU9ic2VydmF0aW9uIHsKKyAgICBjb25zdHJ1Y3RvcihFbGVtZW50
IHRhcmdldCk7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEVsZW1lbnQgdGFyZ2V0OwogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBSZXNpemVPYnNlcnZlckJveE9wdGlvbnMgb2JzZXJ2ZWRCb3g7Ci0g
ICAgcmVhZG9ubHkgYXR0cmlidXRlIHNlcXVlbmNlPFJlc2l6ZU9ic2VydmVyU2l6ZT4gbGFzdFJl
cG9ydGVkU2l6ZXM7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIEZyb3plbkFycmF5PFJlc2l6ZU9i
c2VydmVyU2l6ZT4gbGFzdFJlcG9ydGVkU2l6ZXM7CiB9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3Njcm9sbC1hbmlt
YXRpb25zLmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aW50ZXJmYWNlcy9zY3JvbGwtYW5pbWF0aW9ucy5pZGwKaW5kZXggOGZkNjdhN2FmN2JiZGFhODEy
OWZiMDNjZjM5NWViNmU0MTFkYmNkNC4uMDBkMGJhZTY4MTI2YWE2N2Q2NzE0Njk0NDIyYTA5ODEw
MGViN2U3MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9pbnRlcmZhY2VzL3Njcm9sbC1hbmltYXRpb25zLmlkbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvc2Nyb2xsLWFuaW1h
dGlvbnMuaWRsCkBAIC0xMywyMSArMTMsMTkgQEAgZW51bSBTY3JvbGxEaXJlY3Rpb24gewogZW51
bSBTY3JvbGxUaW1lbGluZUF1dG9LZXl3b3JkIHsgImF1dG8iIH07CiAKIGRpY3Rpb25hcnkgU2Ny
b2xsVGltZWxpbmVPcHRpb25zIHsKLSAgRWxlbWVudD8gc2Nyb2xsU291cmNlID0gbnVsbDsKKyAg
RWxlbWVudD8gc291cmNlID0gbnVsbDsKICAgU2Nyb2xsRGlyZWN0aW9uIG9yaWVudGF0aW9uID0g
ImJsb2NrIjsKLSAgRE9NU3RyaW5nIHN0YXJ0U2Nyb2xsT2Zmc2V0ID0gImF1dG8iOwotICBET01T
dHJpbmcgZW5kU2Nyb2xsT2Zmc2V0ID0gImF1dG8iOworICBET01TdHJpbmcgc3RhcnQgPSAiYXV0
byI7CisgIERPTVN0cmluZyBlbmQgPSAiYXV0byI7CiAgIChkb3VibGUgb3IgU2Nyb2xsVGltZWxp
bmVBdXRvS2V5d29yZCkgdGltZVJhbmdlID0gImF1dG8iOwotICBGaWxsTW9kZSBmaWxsID0gIm5v
bmUiOwogfTsKIAotW0V4cG9zZWQ9V2luZG93LAotIENvbnN0cnVjdG9yKG9wdGlvbmFsIFNjcm9s
bFRpbWVsaW5lT3B0aW9ucyBvcHRpb25zID0ge30pXQorW0V4cG9zZWQ9V2luZG93XQogaW50ZXJm
YWNlIFNjcm9sbFRpbWVsaW5lIDogQW5pbWF0aW9uVGltZWxpbmUgewotICByZWFkb25seSBhdHRy
aWJ1dGUgRWxlbWVudCBzY3JvbGxTb3VyY2U7CisgIGNvbnN0cnVjdG9yKG9wdGlvbmFsIFNjcm9s
bFRpbWVsaW5lT3B0aW9ucyBvcHRpb25zID0ge30pOworICByZWFkb25seSBhdHRyaWJ1dGUgRWxl
bWVudCBzb3VyY2U7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTY3JvbGxEaXJlY3Rpb24gb3JpZW50
YXRpb247Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgc3RhcnRTY3JvbGxPZmZzZXQ7
Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgZW5kU2Nyb2xsT2Zmc2V0OworICByZWFk
b25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHN0YXJ0OworICByZWFkb25seSBhdHRyaWJ1dGUgRE9N
U3RyaW5nIGVuZDsKICAgcmVhZG9ubHkgYXR0cmlidXRlIChkb3VibGUgb3IgU2Nyb2xsVGltZWxp
bmVBdXRvS2V5d29yZCkgdGltZVJhbmdlOwotICByZWFkb25seSBhdHRyaWJ1dGUgRmlsbE1vZGUg
ZmlsbDsKIH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ludGVyZmFjZXMvc2hhcGUtZGV0ZWN0aW9uLWFwaS5pZGwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvc2hhcGUtZGV0ZWN0
aW9uLWFwaS5pZGwKaW5kZXggNTFjOTk2OTU5YmVhMmFjYzFiMmQwYTNjM2JlNDM4YjBjNjE4MmUy
My4uNWIxYzQ1YTc3Mzk4N2ViOGNlOGI1OWZkNWI5OGMyZjBjOWFlNGVhNSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3No
YXBlLWRldGVjdGlvbi1hcGkuaWRsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9zaGFwZS1kZXRlY3Rpb24tYXBpLmlkbApAQCAtMTUs
MTIgKzE1LDkgQEAgZGljdGlvbmFyeSBGYWNlRGV0ZWN0b3JPcHRpb25zIHsKICAgYm9vbGVhbiBm
YXN0TW9kZTsKIH07CiAKLVtFeHBvc2VkPShXaW5kb3csV29ya2VyKSwKLSBTZWN1cmVDb250ZXh0
LAotIFNlcmlhbGl6YWJsZV0KLWludGVyZmFjZSBEZXRlY3RlZEZhY2UgewotICBbU2FtZU9iamVj
dF0gcmVhZG9ubHkgYXR0cmlidXRlIERPTVJlY3RSZWFkT25seSBib3VuZGluZ0JveDsKLSAgW1Nh
bWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBGcm96ZW5BcnJheTxMYW5kbWFyaz4/IGxhbmRt
YXJrczsKK2RpY3Rpb25hcnkgRGV0ZWN0ZWRGYWNlIHsKKyAgcmVxdWlyZWQgRE9NUmVjdFJlYWRP
bmx5IGJvdW5kaW5nQm94OworICByZXF1aXJlZCBGcm96ZW5BcnJheTxMYW5kbWFyaz4/IGxhbmRt
YXJrczsKIH07CiAKIGRpY3Rpb25hcnkgTGFuZG1hcmsgewpAQCAtNDcsMTQgKzQ0LDExIEBAIGRp
Y3Rpb25hcnkgQmFyY29kZURldGVjdG9yT3B0aW9ucyB7CiAgIHNlcXVlbmNlPEJhcmNvZGVGb3Jt
YXQ+IGZvcm1hdHM7CiB9OwogCi1bRXhwb3NlZD0oV2luZG93LFdvcmtlciksCi0gU2VjdXJlQ29u
dGV4dCwKLSBTZXJpYWxpemFibGVdCi1pbnRlcmZhY2UgRGV0ZWN0ZWRCYXJjb2RlIHsKLSAgW1Nh
bWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01SZWN0UmVhZE9ubHkgYm91bmRpbmdCb3g7
Ci0gIFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHJhd1ZhbHVlOwot
ICBbU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIEJhcmNvZGVGb3JtYXQgZm9ybWF0Owot
ICBbU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIEZyb3plbkFycmF5PFBvaW50MkQ+IGNv
cm5lclBvaW50czsKK2RpY3Rpb25hcnkgRGV0ZWN0ZWRCYXJjb2RlIHsKKyAgcmVxdWlyZWQgRE9N
UmVjdFJlYWRPbmx5IGJvdW5kaW5nQm94OworICByZXF1aXJlZCBET01TdHJpbmcgcmF3VmFsdWU7
CisgIHJlcXVpcmVkIEJhcmNvZGVGb3JtYXQgZm9ybWF0OworICByZXF1aXJlZCBGcm96ZW5BcnJh
eTxQb2ludDJEPiBjb3JuZXJQb2ludHM7CiB9OwogCiBlbnVtIEJhcmNvZGVGb3JtYXQgewpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRl
cmZhY2VzL3N0b3JhZ2UtYWNjZXNzLWFwaS50ZW50YXRpdmUuaWRsIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3N0b3JhZ2UtYWNjZXNzLWFw
aS50ZW50YXRpdmUuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE5NGJlMzdlOTE1ZTgyMjIyZTAzYmZkNTc0MWEz
MmIyNGYyM2E0OGEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvc3RvcmFnZS1hY2Nlc3MtYXBpLnRlbnRhdGl2
ZS5pZGwKQEAgLTAsMCArMSw2IEBACisvLyBodHRwczovL2dpdGh1Yi5jb20vd2hhdHdnL2h0bWwv
aXNzdWVzLzMzMzgKKworcGFydGlhbCBpbnRlcmZhY2UgRG9jdW1lbnQgeworICBQcm9taXNlPGJv
b2w+IGhhc1N0b3JhZ2VBY2Nlc3MoKTsKKyAgUHJvbWlzZTx2b2lkPiByZXF1ZXN0U3RvcmFnZUFj
Y2VzcygpOworfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaW50ZXJmYWNlcy90ZXh0LWRldGVjdGlvbi1hcGkudGVudGF0aXZlLmlkbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy90
ZXh0LWRldGVjdGlvbi1hcGkudGVudGF0aXZlLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ODM1YzVmZWU5MTUx
MTYzYjcwMTBmYTY1NjYwNjI2MWZlNjQxMWZjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3RleHQtZGV0ZWN0
aW9uLWFwaS50ZW50YXRpdmUuaWRsCkBAIC0wLDAgKzEsMTggQEAKKy8vIENvbnRlbnQgd2FzIG1h
bnVhbGx5IGNvcGllZCBBcHJpbCAxIDIwMjAKKy8vIFNvdXJjZTogQWNjZWxlcmF0ZWQgVGV4dCBE
ZXRlY3Rpb24gaW4gSW1hZ2VzIChodHRwczovL3dpY2cuZ2l0aHViLmlvL3NoYXBlLWRldGVjdGlv
bi1hcGkvdGV4dC5odG1sKQorLy8gVGhpcyBpcyBjdXJyZW50bHkgYSBzaXN0ZXIgaW5mb3JtYXRp
dmUgc3BlYyBvZiBTaGFwZSBEZXRlY3Rpb24gQVBJLAorLy8gc28gaXQgY291bGQgbm90IGJlIG1l
cmdlZCBpbnRvIC9pbnRlcmZhY2VzL3NoYXBlLWRldGVjdGlvbi1hcGkuaWRsCisKK1sKKyAgICBD
b25zdHJ1Y3RvciwKKyAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyKSwKKyAgICBTZWN1cmVDb250
ZXh0CitdIGludGVyZmFjZSBUZXh0RGV0ZWN0b3IgeworICAgIFByb21pc2U8c2VxdWVuY2U8RGV0
ZWN0ZWRUZXh0Pj4gZGV0ZWN0KEltYWdlQml0bWFwU291cmNlIGltYWdlKTsKK307CisKK2RpY3Rp
b25hcnkgRGV0ZWN0ZWRUZXh0IHsKKyAgcmVxdWlyZWQgRE9NUmVjdFJlYWRPbmx5IGJvdW5kaW5n
Qm94OworICByZXF1aXJlZCBET01TdHJpbmcgcmF3VmFsdWU7CisgIHJlcXVpcmVkIEZyb3plbkFy
cmF5PFBvaW50MkQ+IGNvcm5lclBvaW50czsKK307ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbnRlcmZhY2VzL3RydXN0ZWQtdHlwZXMudGVudGF0aXZlLmlkbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy90cnVzdGVkLXR5cGVzLnRl
bnRhdGl2ZS5pZGwKaW5kZXggYmU1OGI2M2IyYzNkMTBlOGE1M2FjMmFmNzM4OGU5YTQ0ZjhmYTNl
Ni4uZjIzMThkNjg1Njc2MjkxYTVlYzg1YTFhMGMzYzQwOGZhMWE3ZjA3OSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3Ry
dXN0ZWQtdHlwZXMudGVudGF0aXZlLmlkbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvdHJ1c3RlZC10eXBlcy50ZW50YXRpdmUuaWRs
CkBAIC0xLDM3ICsxLDQ2IEBACiAvLyBodHRwczovL2dpdGh1Yi5jb20vd2ljZy90cnVzdGVkLXR5
cGVzCiAKLXR5cGVkZWYgKERPTVN0cmluZyBvciBUcnVzdGVkSFRNTCkgSFRNTFN0cmluZzsKLXR5
cGVkZWYgKERPTVN0cmluZyBvciBUcnVzdGVkU2NyaXB0KSBTY3JpcHRTdHJpbmc7Ci10eXBlZGVm
IChET01TdHJpbmcgb3IgVHJ1c3RlZFNjcmlwdFVSTCkgU2NyaXB0VVJMU3RyaW5nOwotCi1bRXhw
b3NlZD0oV2luZG93LCBXb3JrZXIpXQotaW50ZXJmYWNlIFRydXN0ZWRIVE1MIHsKK3R5cGVkZWYg
W1N0cmluZ0NvbnRleHQ9VHJ1c3RlZEhUTUxdIERPTVN0cmluZyBIVE1MU3RyaW5nOwordHlwZWRl
ZiBbU3RyaW5nQ29udGV4dD1UcnVzdGVkU2NyaXB0XSBET01TdHJpbmcgU2NyaXB0U3RyaW5nOwor
dHlwZWRlZiBbU3RyaW5nQ29udGV4dD1UcnVzdGVkU2NyaXB0VVJMXSBVU1ZTdHJpbmcgU2NyaXB0
VVJMU3RyaW5nOworCitbCisgIEV4cG9zZWQ9KFdpbmRvdywgV29ya2VyKSwKKyAgU2VjdXJlQ29u
dGV4dAorXSBpbnRlcmZhY2UgVHJ1c3RlZEhUTUwgewogICAgIHN0cmluZ2lmaWVyOwogfTsKIAot
W0V4cG9zZWQ9KFdpbmRvdywgV29ya2VyKV0KLWludGVyZmFjZSBUcnVzdGVkU2NyaXB0IHsKK1sK
KyAgRXhwb3NlZD0oV2luZG93LCBXb3JrZXIpLAorICBTZWN1cmVDb250ZXh0CitdIGludGVyZmFj
ZSBUcnVzdGVkU2NyaXB0IHsKICAgICBzdHJpbmdpZmllcjsKIH07CiAKLVtFeHBvc2VkPShXaW5k
b3csIFdvcmtlcildCi1pbnRlcmZhY2UgVHJ1c3RlZFNjcmlwdFVSTCB7CitbCisgIEV4cG9zZWQ9
KFdpbmRvdywgV29ya2VyKSwKKyAgU2VjdXJlQ29udGV4dAorXSBpbnRlcmZhY2UgVHJ1c3RlZFNj
cmlwdFVSTCB7CiAgICAgc3RyaW5naWZpZXI7CiB9OwogCi1bRXhwb3NlZD0oV2luZG93LCBXb3Jr
ZXIpXQotaW50ZXJmYWNlIFRydXN0ZWRUeXBlUG9saWN5RmFjdG9yeSB7Ci0gICAgW1VuZm9yZ2Vh
YmxlXSBUcnVzdGVkVHlwZVBvbGljeSBjcmVhdGVQb2xpY3koRE9NU3RyaW5nIHBvbGljeU5hbWUs
IFRydXN0ZWRUeXBlUG9saWN5T3B0aW9ucyBwb2xpY3lPcHRpb25zKTsKK1sKKyAgRXhwb3NlZD0o
V2luZG93LCBXb3JrZXIpLAorICBTZWN1cmVDb250ZXh0CitdIGludGVyZmFjZSBUcnVzdGVkVHlw
ZVBvbGljeUZhY3RvcnkgeworICAgIFRydXN0ZWRUeXBlUG9saWN5IGNyZWF0ZVBvbGljeShET01T
dHJpbmcgcG9saWN5TmFtZSwgb3B0aW9uYWwgVHJ1c3RlZFR5cGVQb2xpY3lPcHRpb25zIHBvbGlj
eU9wdGlvbnMgPSB7fSk7CiAgICAgLy8gQWxsIHRoZSBwb2xpY3kgb2JqZWN0IG5hbWVzIHRoYXQg
aGF2ZSBiZWVuIGNyZWF0ZWQKLSAgICBbVW5mb3JnZWFibGVdIHNlcXVlbmNlPERPTVN0cmluZz4g
Z2V0UG9saWN5TmFtZXMoKTsKIH07CiAKLVtFeHBvc2VkPShXaW5kb3csIFdvcmtlcildCi1pbnRl
cmZhY2UgVHJ1c3RlZFR5cGVQb2xpY3kgewotICAgIFtVbmZvcmdlYWJsZV0gcmVhZG9ubHkgYXR0
cmlidXRlIERPTVN0cmluZyBuYW1lOwotICAgIFtVbmZvcmdlYWJsZV0gVHJ1c3RlZEhUTUwgY3Jl
YXRlSFRNTChET01TdHJpbmcgaW5wdXQpOwotICAgIFtVbmZvcmdlYWJsZV0gVHJ1c3RlZFNjcmlw
dCBjcmVhdGVTY3JpcHQoRE9NU3RyaW5nIGlucHV0KTsKLSAgICBbVW5mb3JnZWFibGVdIFRydXN0
ZWRTY3JpcHRVUkwgY3JlYXRlU2NyaXB0VVJMKERPTVN0cmluZyBpbnB1dCk7CitbCisgIEV4cG9z
ZWQ9KFdpbmRvdywgV29ya2VyKSwKKyAgU2VjdXJlQ29udGV4dAorXSBpbnRlcmZhY2UgVHJ1c3Rl
ZFR5cGVQb2xpY3kgeworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKKyAg
ICBUcnVzdGVkSFRNTCBjcmVhdGVIVE1MKERPTVN0cmluZyBpbnB1dCk7CisgICAgVHJ1c3RlZFNj
cmlwdCBjcmVhdGVTY3JpcHQoRE9NU3RyaW5nIGlucHV0KTsKKyAgICBUcnVzdGVkU2NyaXB0VVJM
IGNyZWF0ZVNjcmlwdFVSTChVU1ZTdHJpbmcgaW5wdXQpOwogfTsKIAogZGljdGlvbmFyeSBUcnVz
dGVkVHlwZVBvbGljeU9wdGlvbnMgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3ZpZGVvLXJ2ZmMuaWRsIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3ZpZGVvLXJ2
ZmMuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmE4NmUyYjM2NGRmMGRhMDMyNmZmMTE1NDEyOGE5MTk4ZTdiMjNl
ODkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ludGVyZmFjZXMvdmlkZW8tcnZmYy5pZGwKQEAgLTAsMCArMSwyNyBAQAorLy8g
R0VORVJBVEVEIENPTlRFTlQgLSBETyBOT1QgRURJVAorLy8gQ29udGVudCB3YXMgYXV0b21hdGlj
YWxseSBleHRyYWN0ZWQgYnkgUmVmZnkgaW50byByZWZmeS1yZXBvcnRzCisvLyAoaHR0cHM6Ly9n
aXRodWIuY29tL3RpZG91c3QvcmVmZnktcmVwb3J0cykKKy8vIFNvdXJjZTogSFRNTFZpZGVvRWxl
bWVudC5yZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrKCkgKGh0dHBzOi8vd2ljZy5naXRodWIuaW8v
dmlkZW8tcnZmYy8pCisKK2RpY3Rpb25hcnkgVmlkZW9GcmFtZU1ldGFkYXRhIHsKKyAgcmVxdWly
ZWQgRE9NSGlnaFJlc1RpbWVTdGFtcCBwcmVzZW50YXRpb25UaW1lOworICByZXF1aXJlZCBET01I
aWdoUmVzVGltZVN0YW1wIGV4cGVjdGVkRGlzcGxheVRpbWU7CisKKyAgcmVxdWlyZWQgdW5zaWdu
ZWQgbG9uZyB3aWR0aDsKKyAgcmVxdWlyZWQgdW5zaWduZWQgbG9uZyBoZWlnaHQ7CisgIHJlcXVp
cmVkIGRvdWJsZSBtZWRpYVRpbWU7CisKKyAgcmVxdWlyZWQgdW5zaWduZWQgbG9uZyBwcmVzZW50
ZWRGcmFtZXM7CisgIGRvdWJsZSBwcm9jZXNzaW5nRHVyYXRpb247CisKKyAgRE9NSGlnaFJlc1Rp
bWVTdGFtcCBjYXB0dXJlVGltZTsKKyAgRE9NSGlnaFJlc1RpbWVTdGFtcCByZWNlaXZlVGltZTsK
KyAgdW5zaWduZWQgbG9uZyBydHBUaW1lc3RhbXA7Cit9OworCitjYWxsYmFjayBWaWRlb0ZyYW1l
UmVxdWVzdENhbGxiYWNrID0gdm9pZChET01IaWdoUmVzVGltZVN0YW1wIG5vdywgVmlkZW9GcmFt
ZU1ldGFkYXRhIG1ldGFkYXRhKTsKKworcGFydGlhbCBpbnRlcmZhY2UgSFRNTFZpZGVvRWxlbWVu
dCB7CisgICAgdW5zaWduZWQgbG9uZyByZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrKFZpZGVvRnJh
bWVSZXF1ZXN0Q2FsbGJhY2sgY2FsbGJhY2spOworICAgIHZvaWQgY2FuY2VsVmlkZW9GcmFtZUNh
bGxiYWNrKHVuc2lnbmVkIGxvbmcgaGFuZGxlKTsKK307CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvdmlzdWFsLXZpZXdw
b3J0LmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50
ZXJmYWNlcy92aXN1YWwtdmlld3BvcnQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVlNGI1NDEzNjk0MGQ0MzQx
ZDk3ZTczMzgzMTQ0ZTNiNzk0NzdiN2UKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvdmlzdWFsLXZpZXdwb3J0
LmlkbApAQCAtMCwwICsxLDI1IEBACisvLyBHRU5FUkFURUQgQ09OVEVOVCAtIERPIE5PVCBFRElU
CisvLyBDb250ZW50IHdhcyBhdXRvbWF0aWNhbGx5IGV4dHJhY3RlZCBieSBSZWZmeSBpbnRvIHJl
ZmZ5LXJlcG9ydHMKKy8vIChodHRwczovL2dpdGh1Yi5jb20vdGlkb3VzdC9yZWZmeS1yZXBvcnRz
KQorLy8gU291cmNlOiBWaXN1YWwgVmlld3BvcnQgQVBJIChodHRwczovL3dpY2cuZ2l0aHViLmlv
L3Zpc3VhbC12aWV3cG9ydC8pCisKK3BhcnRpYWwgaW50ZXJmYWNlIFdpbmRvdyB7CisgIFtTYW1l
T2JqZWN0LCBSZXBsYWNlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIFZpc3VhbFZpZXdwb3J0IHZp
c3VhbFZpZXdwb3J0OworfTsKKworW0V4cG9zZWQ9V2luZG93XQoraW50ZXJmYWNlIFZpc3VhbFZp
ZXdwb3J0IDogRXZlbnRUYXJnZXQgeworICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIG9mZnNl
dExlZnQ7CisgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgb2Zmc2V0VG9wOworCisgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBkb3VibGUgcGFnZUxlZnQ7CisgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3Vi
bGUgcGFnZVRvcDsKKworICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIHdpZHRoOworICByZWFk
b25seSBhdHRyaWJ1dGUgZG91YmxlIGhlaWdodDsKKworICByZWFkb25seSBhdHRyaWJ1dGUgZG91
YmxlIHNjYWxlOworCisgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25yZXNpemU7CisgIGF0dHJp
YnV0ZSBFdmVudEhhbmRsZXIgb25zY3JvbGw7Cit9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3czYy1pbXBvcnQubG9n
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2Vz
L3czYy1pbXBvcnQubG9nCmluZGV4IDBmZjc1N2RjNGVmOWM5ZDcxOGQzYjQzNTMzMTU0ZDk3Y2Ew
Y2Y4NmEuLjJiZTZiMWJmMDNkYmVjODNmMjA3ODgxOGNmYWJhMmFiMzVlYmVjY2UgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNl
cy93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ludGVyZmFjZXMvdzNjLWltcG9ydC5sb2cKQEAgLTMyLDExICszMiwxMyBAQCBM
aXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaW50ZXJmYWNlcy9hcHBtYW5pZmVzdC5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvYXVkaW8tb3V0cHV0LmlkbAogL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9iYWNrZ3JvdW5k
LWZldGNoLmlkbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aW50ZXJmYWNlcy9iYWRnaW5nLmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9iYXR0ZXJ5LXN0YXR1cy5pZGwKIC9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvYmVhY29uLmlkbAogL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9jbGlw
Ym9hcmQtYXBpcy5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ludGVyZmFjZXMvY29tcGF0LmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9jb25zb2xlLmlkbAorL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9jb25zdHJ1Y3Qtc3R5bGVzaGVl
dHMuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRl
cmZhY2VzL2Nvb2tpZS1zdG9yZS5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvY29ycy1yZmMxOTE4LmlkbAogL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9jcmVkZW50aWFsLW1hbmFn
ZW1lbnQuaWRsCkBAIC01NCwxMiArNTYsMTIgQEAgTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvY3NzLXBhaW50LWFw
aS5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVy
ZmFjZXMvY3NzLXByb3BlcnRpZXMtdmFsdWVzLWFwaS5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvY3NzLXBzZXVkby5pZGwKLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvY3NzLXJl
Z2lvbnMuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bnRlcmZhY2VzL2Nzcy1zaGFkb3ctcGFydHMuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2Nzcy10cmFuc2l0aW9ucy5pZGwKIC9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvY3NzLXR5
cGVkLW9tLmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aW50ZXJmYWNlcy9jc3NvbS12aWV3LmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9jc3NvbS5pZGwKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvZGV2aWNlLW1lbW9yeS5pZGwKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvZG9t
LmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJm
YWNlcy9lbGVtZW50LXRpbWluZy5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvZW5jb2RpbmcuaWRsCkBAIC03NiwxMiArNzgsMTQgQEAg
TGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ludGVyZmFjZXMvZ2VvbG9jYXRpb24tc2Vuc29yLmlkbAogL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9nZW9tZXRyeS5pZGwKIC9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvZ3lyb3Nj
b3BlLmlkbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50
ZXJmYWNlcy9oaXQtdGVzdC5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ludGVyZmFjZXMvaHItdGltZS5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvaHRtbC1tZWRpYS1jYXB0dXJlLmlkbAog
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9o
dG1sLmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50
ZXJmYWNlcy9pbWFnZS1jYXB0dXJlLmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9pbnB1dC1ldmVudHMuaWRsCiAvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2ludGVyc2VjdGlvbi1v
YnNlcnZlci5pZGwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ludGVyZmFjZXMvanMtc2VsZi1wcm9maWxpbmcuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2tleWJvYXJkLWxvY2suaWRsCiAvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL2tleWJv
YXJkLW1hcC5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ludGVyZmFjZXMvbGFyZ2VzdC1jb250ZW50ZnVsLXBhaW50LmlkbApAQCAtOTcsMTcgKzEwMSwy
MyBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaW50ZXJmYWNlcy9tZWRpYXNlc3Npb24uaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL21lZGlhc3RyZWFtLXJlY29yZGlu
Zy5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVy
ZmFjZXMvbXN0LWNvbnRlbnQtaGludC5pZGwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvbmF0aXZlLWZpbGUtc3lzdGVtLmlkbAogL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9uYXZpZ2F0
aW9uLXRpbWluZy5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ludGVyZmFjZXMvbmV0aW5mby5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvbm90aWZpY2F0aW9ucy5pZGwKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvb3JpZW50YXRpb24t
ZXZlbnQuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bnRlcmZhY2VzL29yaWVudGF0aW9uLXNlbnNvci5pZGwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvb3JpZ2luLXBvbGljeS5pZGwKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcGFnZS1s
aWZlY3ljbGUuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbnRlcmZhY2VzL3BhZ2UtdmlzaWJpbGl0eS5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcGFpbnQtdGltaW5nLmlkbAogL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9wYXltZW50
LWhhbmRsZXIuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbnRlcmZhY2VzL3BheW1lbnQtbWV0aG9kLWJhc2ljLWNhcmQuaWRsCiAvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3BheW1lbnQtcmVxdWVz
dC5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVy
ZmFjZXMvcGVyZm9ybWFuY2UtdGltZWxpbmUuaWRsCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3BlcmlvZGljLWJhY2tncm91bmQtc3luYy5p
ZGwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFj
ZXMvcGVybWlzc2lvbnMtcmVxdWVzdC5pZGwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvcGVybWlzc2lvbnMtcmV2b2tlLmlkbAogL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9wZXJtaXNz
aW9ucy5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2lu
dGVyZmFjZXMvcGljdHVyZS1pbi1waWN0dXJlLmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9wb2ludGVyZXZlbnRzLmlkbApAQCAtMTMw
LDE5ICsxNDAsMjQgQEAgTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvc2VydmljZS13b3JrZXJzLmlkbAogL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9zaGFwZS1k
ZXRlY3Rpb24tYXBpLmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaW50ZXJmYWNlcy9zcGVlY2gtYXBpLmlkbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy9zdG9yYWdlLWFjY2Vzcy1hcGkudGVudGF0
aXZlLmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50
ZXJmYWNlcy9zdG9yYWdlLmlkbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaW50ZXJmYWNlcy90ZXh0LWRldGVjdGlvbi1hcGkudGVudGF0aXZlLmlkbAogL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy90b3Vj
aC1ldmVudHMuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbnRlcmZhY2VzL3RydXN0ZWQtdHlwZXMudGVudGF0aXZlLmlkbAogL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy91aWV2ZW50cy5pZGwKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvdXJs
LmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJm
YWNlcy91c2VyLXRpbWluZy5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ludGVyZmFjZXMvdmlicmF0aW9uLmlkbAorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy92aWRlby1ydmZjLmlkbAorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy92aXN1YWwt
dmlld3BvcnQuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbnRlcmZhY2VzL3dhaS1hcmlhLmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93YWtlLWxvY2suaWRsCiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dhc20tanMtYXBpLmlkbAog
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93
YXNtLXdlYi1hcGkuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9pbnRlcmZhY2VzL3dlYi1hbmltYXRpb25zLmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWItYmx1ZXRvb3RoLmlkbAorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWIt
bG9ja3MuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bnRlcmZhY2VzL3dlYi1uZmMuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYi1zaGFyZS5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2ViYXVkaW8uaWRsCkBAIC0xNTEs
OSArMTY2LDkgQEAgTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2ViZ2wxLmlkbAogL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWJnbDIuaWRsCiAvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYm1pZGku
aWRsCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZh
Y2VzL3dlYnJ0Yy1kc2NwLmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaW50ZXJmYWNlcy93ZWJydGMtaWRlbnRpdHkuaWRsCiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYnJ0Yy1zdGF0cy5pZGwK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMv
d2VicnRjLXN2Yy5pZGwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ludGVyZmFjZXMvd2VicnRjLmlkbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWJ1c2IuaWRsCiAvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYnZ0dC5pZGwKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNl
cy93YWktYXJpYS5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ludGVyZmFjZXMvd2FpLWFyaWEuaWRsCmluZGV4IGM0ZmJmMTE0MDljZjE0MmQ4Mjk1MDM4
ZDI1NmY1YTY4NmQ4NjBhNTUuLmNmODE2OGE2OTMxNzMxNTEyMGVmNGJjZGRhZmE0NGVlMzMwY2Q0
NzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaW50ZXJmYWNlcy93YWktYXJpYS5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dhaS1hcmlhLmlkbApAQCAtMSw3ICsxLDcg
QEAKIC8vIEdFTkVSQVRFRCBDT05URU5UIC0gRE8gTk9UIEVESVQKIC8vIENvbnRlbnQgd2FzIGF1
dG9tYXRpY2FsbHkgZXh0cmFjdGVkIGJ5IFJlZmZ5IGludG8gcmVmZnktcmVwb3J0cwogLy8gKGh0
dHBzOi8vZ2l0aHViLmNvbS90aWRvdXN0L3JlZmZ5LXJlcG9ydHMpCi0vLyBTb3VyY2U6IEFjY2Vz
c2libGUgUmljaCBJbnRlcm5ldCBBcHBsaWNhdGlvbnMgKFdBSS1BUklBKSAxLjIgKGh0dHBzOi8v
cmF3Z2l0LmNvbS93M2MvYXJpYS9tYXN0ZXIvKQorLy8gU291cmNlOiBBY2Nlc3NpYmxlIFJpY2gg
SW50ZXJuZXQgQXBwbGljYXRpb25zIChXQUktQVJJQSkgMS4yIChodHRwczovL3czYy5naXRodWIu
aW8vYXJpYS8pCiAKIGludGVyZmFjZSBtaXhpbiBBY2Nlc3NpYmlsaXR5Um9sZSB7CiAgIGF0dHJp
YnV0ZSBET01TdHJpbmc/IHJvbGU7CkBAIC05LDcgKzksNyBAQCBpbnRlcmZhY2UgbWl4aW4gQWNj
ZXNzaWJpbGl0eVJvbGUgewogRWxlbWVudCBpbmNsdWRlcyBBY2Nlc3NpYmlsaXR5Um9sZTsKIAog
aW50ZXJmYWNlIG1peGluIEFyaWFBdHRyaWJ1dGVzIHsKLSAgYXR0cmlidXRlIEVsZW1lbnQ/IGFy
aWFBY3RpdmVEZXNjZW5kYW50RWxlbWVudDsKKwogICBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBhcmlh
QXRvbWljOwogICBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBhcmlhQXV0b0NvbXBsZXRlOwogICBhdHRy
aWJ1dGUgRE9NU3RyaW5nPyBhcmlhQnVzeTsKQEAgLTE4LDI3ICsxOCwyOCBAQCBpbnRlcmZhY2Ug
bWl4aW4gQXJpYUF0dHJpYnV0ZXMgewogICBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBhcmlhQ29sSW5k
ZXg7CiAgIGF0dHJpYnV0ZSBET01TdHJpbmc/IGFyaWFDb2xJbmRleFRleHQ7CiAgIGF0dHJpYnV0
ZSBET01TdHJpbmc/IGFyaWFDb2xTcGFuOwotICBhdHRyaWJ1dGUgRnJvemVuQXJyYXk8RWxlbWVu
dD4/IGFyaWFDb250cm9sc0VsZW1lbnRzOworCiAgIGF0dHJpYnV0ZSBET01TdHJpbmc/IGFyaWFD
dXJyZW50OwotICBhdHRyaWJ1dGUgRnJvemVuQXJyYXk8RWxlbWVudD4/IGFyaWFEZXNjcmliZWRC
eUVsZW1lbnRzOwotICBhdHRyaWJ1dGUgRWxlbWVudD8gYXJpYURldGFpbHNFbGVtZW50OworCisg
IGF0dHJpYnV0ZSBET01TdHJpbmc/IGFyaWFEZXNjcmlwdGlvbjsKKwogICBhdHRyaWJ1dGUgRE9N
U3RyaW5nPyBhcmlhRGlzYWJsZWQ7Ci0gIGF0dHJpYnV0ZSBFbGVtZW50PyBhcmlhRXJyb3JNZXNz
YWdlRWxlbWVudDsKKwogICBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBhcmlhRXhwYW5kZWQ7Ci0gIGF0
dHJpYnV0ZSBGcm96ZW5BcnJheTxFbGVtZW50Pj8gYXJpYUZsb3dUb0VsZW1lbnRzOworCiAgIGF0
dHJpYnV0ZSBET01TdHJpbmc/IGFyaWFIYXNQb3B1cDsKICAgYXR0cmlidXRlIERPTVN0cmluZz8g
YXJpYUhpZGRlbjsKICAgYXR0cmlidXRlIERPTVN0cmluZz8gYXJpYUludmFsaWQ7CiAgIGF0dHJp
YnV0ZSBET01TdHJpbmc/IGFyaWFLZXlTaG9ydGN1dHM7CiAgIGF0dHJpYnV0ZSBET01TdHJpbmc/
IGFyaWFMYWJlbDsKLSAgYXR0cmlidXRlIEZyb3plbkFycmF5PEVsZW1lbnQ+PyBhcmlhTGFiZWxs
ZWRCeUVsZW1lbnRzOworCiAgIGF0dHJpYnV0ZSBET01TdHJpbmc/IGFyaWFMZXZlbDsKICAgYXR0
cmlidXRlIERPTVN0cmluZz8gYXJpYUxpdmU7CiAgIGF0dHJpYnV0ZSBET01TdHJpbmc/IGFyaWFN
b2RhbDsKICAgYXR0cmlidXRlIERPTVN0cmluZz8gYXJpYU11bHRpTGluZTsKICAgYXR0cmlidXRl
IERPTVN0cmluZz8gYXJpYU11bHRpU2VsZWN0YWJsZTsKICAgYXR0cmlidXRlIERPTVN0cmluZz8g
YXJpYU9yaWVudGF0aW9uOwotICBhdHRyaWJ1dGUgRnJvemVuQXJyYXk8RWxlbWVudD4/IGFyaWFP
d25zRWxlbWVudHM7CisKICAgYXR0cmlidXRlIERPTVN0cmluZz8gYXJpYVBsYWNlaG9sZGVyOwog
ICBhdHRyaWJ1dGUgRE9NU3RyaW5nPyBhcmlhUG9zSW5TZXQ7CiAgIGF0dHJpYnV0ZSBET01TdHJp
bmc/IGFyaWFQcmVzc2VkOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dha2UtbG9jay5pZGwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2FrZS1sb2NrLmlkbApp
bmRleCA4NWQxODYzZmE2ZjZkMTQyMmUwMGI0MzBlZDJiMDRlMzYxOWExOWVjLi4xZWIzMGEwNjAy
NDcxM2U1YWFiNDM1NjEwYThmYzYyODQxZGI4YTUwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2FrZS1sb2NrLmlkbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFj
ZXMvd2FrZS1sb2NrLmlkbApAQCAtMSwzMiArMSwyMyBAQAogLy8gR0VORVJBVEVEIENPTlRFTlQg
LSBETyBOT1QgRURJVAogLy8gQ29udGVudCB3YXMgYXV0b21hdGljYWxseSBleHRyYWN0ZWQgYnkg
UmVmZnkgaW50byByZWZmeS1yZXBvcnRzCiAvLyAoaHR0cHM6Ly9naXRodWIuY29tL3RpZG91c3Qv
cmVmZnktcmVwb3J0cykKLS8vIFNvdXJjZTogV2FrZSBMb2NrIEFQSSAoaHR0cHM6Ly93M2MuZ2l0
aHViLmlvL3dha2UtbG9jay8pCi0KLWRpY3Rpb25hcnkgV2FrZUxvY2tQZXJtaXNzaW9uRGVzY3Jp
cHRvciA6IFBlcm1pc3Npb25EZXNjcmlwdG9yIHsKLSAgcmVxdWlyZWQgV2FrZUxvY2tUeXBlIHR5
cGU7Ci19OwotCi1lbnVtIFdha2VMb2NrVHlwZSB7ICJzY3JlZW4iLCAic3lzdGVtIiB9OworLy8g
U291cmNlOiBTY3JlZW4gV2FrZSBMb2NrIEFQSSAoaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3NjcmVl
bi13YWtlLWxvY2svKQogCiBbU2VjdXJlQ29udGV4dF0KIHBhcnRpYWwgaW50ZXJmYWNlIE5hdmln
YXRvciB7CiAgIFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgV2FrZUxvY2sgd2FrZUxv
Y2s7CiB9OwogCi1bU2VjdXJlQ29udGV4dF0KLXBhcnRpYWwgaW50ZXJmYWNlIFdvcmtlck5hdmln
YXRvciB7Ci0gIFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgV2FrZUxvY2sgd2FrZUxv
Y2s7Ci19OwotCi1bU2VjdXJlQ29udGV4dCwgRXhwb3NlZD0oRGVkaWNhdGVkV29ya2VyLCBXaW5k
b3cpXQorW1NlY3VyZUNvbnRleHQsIEV4cG9zZWQ9KFdpbmRvdyldCiBpbnRlcmZhY2UgV2FrZUxv
Y2sgewogICBQcm9taXNlPFdha2VMb2NrU2VudGluZWw+IHJlcXVlc3QoV2FrZUxvY2tUeXBlIHR5
cGUpOwogfTsKIAotW1NlY3VyZUNvbnRleHQsIEV4cG9zZWQ9KERlZGljYXRlZFdvcmtlciwgV2lu
ZG93KV0KK1tTZWN1cmVDb250ZXh0LCBFeHBvc2VkPShXaW5kb3cpXQogaW50ZXJmYWNlIFdha2VM
b2NrU2VudGluZWwgOiBFdmVudFRhcmdldCB7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBXYWtlTG9j
a1R5cGUgdHlwZTsKICAgUHJvbWlzZTx2b2lkPiByZWxlYXNlKCk7CiAgIGF0dHJpYnV0ZSBFdmVu
dEhhbmRsZXIgb25yZWxlYXNlOwogfTsKKworZW51bSBXYWtlTG9ja1R5cGUgeyAic2NyZWVuIiB9
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbnRlcmZhY2VzL3dlYi1hbmltYXRpb25zLmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWItYW5pbWF0aW9ucy5pZGwKaW5kZXgg
MGQ1ZDQwYmE3NGY0MGVkNjhjMTlhODIxODcxMDIwNGIyNzY3YWUxMi4uYWU2NGJiODY3ZWIyM2Q2
YzQ5MWQzZTlmZWU3NDNjN2NmODk2MzIzNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYi1hbmltYXRpb25zLmlkbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFj
ZXMvd2ViLWFuaW1hdGlvbnMuaWRsCkBAIC02LDYgKzYsNyBAQAogW0V4cG9zZWQ9V2luZG93XQog
aW50ZXJmYWNlIEFuaW1hdGlvblRpbWVsaW5lIHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91
YmxlPyBjdXJyZW50VGltZTsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgVGltZWxpbmVQaGFzZSBw
aGFzZTsKIH07CiAKIGRpY3Rpb25hcnkgRG9jdW1lbnRUaW1lbGluZU9wdGlvbnMgewpAQCAtNDks
NiArNTAsOCBAQCBlbnVtIEFuaW1hdGlvblBsYXlTdGF0ZSB7ICJpZGxlIiwgInJ1bm5pbmciLCAi
cGF1c2VkIiwgImZpbmlzaGVkIiB9OwogCiBlbnVtIEFuaW1hdGlvblJlcGxhY2VTdGF0ZSB7ICJh
Y3RpdmUiLCAicmVtb3ZlZCIsICJwZXJzaXN0ZWQiIH07CiAKK2VudW0gVGltZWxpbmVQaGFzZSB7
ICJpbmFjdGl2ZSIsICJiZWZvcmUiLCAiYWN0aXZlIiwgImFmdGVyIiB9OworCiBbRXhwb3NlZD1X
aW5kb3ddCiBpbnRlcmZhY2UgQW5pbWF0aW9uRWZmZWN0IHsKICAgICBFZmZlY3RUaW1pbmcgICAg
ICAgICBnZXRUaW1pbmcoKTsKQEAgLTk2LDkgKzk5LDkgQEAgaW50ZXJmYWNlIEtleWZyYW1lRWZm
ZWN0IDogQW5pbWF0aW9uRWZmZWN0IHsKICAgICAgICAgICAgICAgICBvYmplY3Q/IGtleWZyYW1l
cywKICAgICAgICAgICAgICAgICBvcHRpb25hbCAodW5yZXN0cmljdGVkIGRvdWJsZSBvciBLZXlm
cmFtZUVmZmVjdE9wdGlvbnMpIG9wdGlvbnMgPSB7fSk7CiAgICAgY29uc3RydWN0b3IoS2V5ZnJh
bWVFZmZlY3Qgc291cmNlKTsKLSAgICBhdHRyaWJ1dGUgRWxlbWVudD8gdGFyZ2V0OwotICAgIGF0
dHJpYnV0ZSBDU1NPTVN0cmluZz8gcHNldWRvRWxlbWVudDsKLSAgICBhdHRyaWJ1dGUgQ29tcG9z
aXRlT3BlcmF0aW9uICAgICAgICAgICAgIGNvbXBvc2l0ZTsKKyAgICBhdHRyaWJ1dGUgRWxlbWVu
dD8gICAgICAgICAgIHRhcmdldDsKKyAgICBhdHRyaWJ1dGUgQ1NTT01TdHJpbmc/ICAgICAgIHBz
ZXVkb0VsZW1lbnQ7CisgICAgYXR0cmlidXRlIENvbXBvc2l0ZU9wZXJhdGlvbiBjb21wb3NpdGU7
CiAgICAgc2VxdWVuY2U8b2JqZWN0PiBnZXRLZXlmcmFtZXMoKTsKICAgICB2b2lkICAgICAgICAg
ICAgIHNldEtleWZyYW1lcyhvYmplY3Q/IGtleWZyYW1lcyk7CiB9OwpAQCAtMTM5LDYgKzE0Miw3
IEBAIGludGVyZmFjZSBtaXhpbiBBbmltYXRhYmxlIHsKIAogZGljdGlvbmFyeSBLZXlmcmFtZUFu
aW1hdGlvbk9wdGlvbnMgOiBLZXlmcmFtZUVmZmVjdE9wdGlvbnMgewogICAgIERPTVN0cmluZyBp
ZCA9ICIiOworICAgIEFuaW1hdGlvblRpbWVsaW5lPyB0aW1lbGluZTsKIH07CiAKIGRpY3Rpb25h
cnkgR2V0QW5pbWF0aW9uc09wdGlvbnMgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYi1ibHVldG9vdGguaWRsIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dl
Yi1ibHVldG9vdGguaWRsCmluZGV4IGVjN2E4ZTcxY2EwOWM3NjQ4ODAxZTZmMmJiOTFjNzExYzg1
N2ZlMzQuLjczMzcxZTI2OTk2NTY4ZTkwNTE5OTBmYmI2N2YxZTA4ZGVhZWQ1ZWIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNl
cy93ZWItYmx1ZXRvb3RoLmlkbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2ViLWJsdWV0b290aC5pZGwKQEAgLTcsNiArNyw3IEBA
IGRpY3Rpb25hcnkgQmx1ZXRvb3RoRGF0YUZpbHRlckluaXQgewogICBCdWZmZXJTb3VyY2UgZGF0
YVByZWZpeDsKICAgQnVmZmVyU291cmNlIG1hc2s7CiB9OworCiBkaWN0aW9uYXJ5IEJsdWV0b290
aExFU2NhbkZpbHRlckluaXQgewogICBzZXF1ZW5jZTxCbHVldG9vdGhTZXJ2aWNlVVVJRD4gc2Vy
dmljZXM7CiAgIERPTVN0cmluZyBuYW1lOwpAQCAtMjksOCArMzAsMTAgQEAgaW50ZXJmYWNlIEJs
dWV0b290aCA6IEV2ZW50VGFyZ2V0IHsKICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmF2YWls
YWJpbGl0eWNoYW5nZWQ7CiAgIFtTYW1lT2JqZWN0XQogICByZWFkb25seSBhdHRyaWJ1dGUgQmx1
ZXRvb3RoRGV2aWNlPyByZWZlcnJpbmdEZXZpY2U7CisgIFByb21pc2U8c2VxdWVuY2U8Qmx1ZXRv
b3RoRGV2aWNlPj4gZ2V0RGV2aWNlcygpOwogICBQcm9taXNlPEJsdWV0b290aERldmljZT4gcmVx
dWVzdERldmljZShvcHRpb25hbCBSZXF1ZXN0RGV2aWNlT3B0aW9ucyBvcHRpb25zID0ge30pOwog
fTsKKwogQmx1ZXRvb3RoIGluY2x1ZGVzIEJsdWV0b290aERldmljZUV2ZW50SGFuZGxlcnM7CiBC
bHVldG9vdGggaW5jbHVkZXMgQ2hhcmFjdGVyaXN0aWNFdmVudEhhbmRsZXJzOwogQmx1ZXRvb3Ro
IGluY2x1ZGVzIFNlcnZpY2VFdmVudEhhbmRsZXJzOwpAQCAtNDksNyArNTIsNyBAQCBkaWN0aW9u
YXJ5IEFsbG93ZWRCbHVldG9vdGhEZXZpY2UgewogICAvLyBBbiBhbGxvd2VkU2VydmljZXMgb2Yg
ImFsbCIgbWVhbnMgYWxsIHNlcnZpY2VzIGFyZSBhbGxvd2VkLgogICByZXF1aXJlZCAoRE9NU3Ry
aW5nIG9yIHNlcXVlbmNlPFVVSUQ+KSBhbGxvd2VkU2VydmljZXM7CiB9OwotZGljdGlvbmFyeSBC
bHVldG9vdGhQZXJtaXNzaW9uRGF0YSB7CitkaWN0aW9uYXJ5IEJsdWV0b290aFBlcm1pc3Npb25T
dG9yYWdlIHsKICAgcmVxdWlyZWQgc2VxdWVuY2U8QWxsb3dlZEJsdWV0b290aERldmljZT4gYWxs
b3dlZERldmljZXM7CiB9OwogCkBAIC03NywxNCArODAsMTggQEAgaW50ZXJmYWNlIEJsdWV0b290
aERldmljZSA6IEV2ZW50VGFyZ2V0IHsKICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZz8g
bmFtZTsKICAgcmVhZG9ubHkgYXR0cmlidXRlIEJsdWV0b290aFJlbW90ZUdBVFRTZXJ2ZXI/IGdh
dHQ7CiAKLSAgUHJvbWlzZTx2b2lkPiB3YXRjaEFkdmVydGlzZW1lbnRzKCk7Ci0gIHZvaWQgdW53
YXRjaEFkdmVydGlzZW1lbnRzKCk7CisgIFByb21pc2U8dm9pZD4gd2F0Y2hBZHZlcnRpc2VtZW50
cygKKyAgICAgIG9wdGlvbmFsIFdhdGNoQWR2ZXJ0aXNlbWVudHNPcHRpb25zIG9wdGlvbnMgPSB7
fSk7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIHdhdGNoaW5nQWR2ZXJ0aXNlbWVudHM7
CiB9OwogQmx1ZXRvb3RoRGV2aWNlIGluY2x1ZGVzIEJsdWV0b290aERldmljZUV2ZW50SGFuZGxl
cnM7CiBCbHVldG9vdGhEZXZpY2UgaW5jbHVkZXMgQ2hhcmFjdGVyaXN0aWNFdmVudEhhbmRsZXJz
OwogQmx1ZXRvb3RoRGV2aWNlIGluY2x1ZGVzIFNlcnZpY2VFdmVudEhhbmRsZXJzOwogCitkaWN0
aW9uYXJ5IFdhdGNoQWR2ZXJ0aXNlbWVudHNPcHRpb25zIHsKKyAgQWJvcnRTaWduYWwgc2lnbmFs
OworfTsKKwogW0V4cG9zZWQ9V2luZG93LCBTZWN1cmVDb250ZXh0XQogaW50ZXJmYWNlIEJsdWV0
b290aE1hbnVmYWN0dXJlckRhdGFNYXAgewogICByZWFkb25seSBtYXBsaWtlPHVuc2lnbmVkIHNo
b3J0LCBEYXRhVmlldz47CkBAIC0yMTMsNiArMjIwLDcgQEAgaW50ZXJmYWNlIG1peGluIFNlcnZp
Y2VFdmVudEhhbmRsZXJzIHsKIH07CiAKIHR5cGVkZWYgRE9NU3RyaW5nIFVVSUQ7CisKIFtFeHBv
c2VkPVdpbmRvd10KIGludGVyZmFjZSBCbHVldG9vdGhVVUlEIHsKICAgc3RhdGljIFVVSUQgZ2V0
U2VydmljZSgoRE9NU3RyaW5nIG9yIHVuc2lnbmVkIGxvbmcpIG5hbWUpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dl
Yi1sb2Nrcy5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ludGVyZmFjZXMvd2ViLWxvY2tzLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MzkwNWQ2NGZlYzA5NTc1MGQy
NzBmM2RiYTQzZmU5MzdlMWZkMTE5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYi1sb2Nrcy5pZGwKQEAg
LTAsMCArMSw1MCBAQAorLy8gR0VORVJBVEVEIENPTlRFTlQgLSBETyBOT1QgRURJVAorLy8gQ29u
dGVudCB3YXMgYXV0b21hdGljYWxseSBleHRyYWN0ZWQgYnkgUmVmZnkgaW50byByZWZmeS1yZXBv
cnRzCisvLyAoaHR0cHM6Ly9naXRodWIuY29tL3RpZG91c3QvcmVmZnktcmVwb3J0cykKKy8vIFNv
dXJjZTogV2ViIExvY2tzIEFQSSAoaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby93ZWItbG9ja3MvKQor
CitbU2VjdXJlQ29udGV4dF0KK2ludGVyZmFjZSBtaXhpbiBOYXZpZ2F0b3JMb2NrcyB7CisgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBMb2NrTWFuYWdlciBsb2NrczsKK307CitOYXZpZ2F0b3IgaW5jbHVk
ZXMgTmF2aWdhdG9yTG9ja3M7CitXb3JrZXJOYXZpZ2F0b3IgaW5jbHVkZXMgTmF2aWdhdG9yTG9j
a3M7CisKK1tTZWN1cmVDb250ZXh0LCBFeHBvc2VkPShXaW5kb3csV29ya2VyKV0KK2ludGVyZmFj
ZSBMb2NrTWFuYWdlciB7CisgIFByb21pc2U8YW55PiByZXF1ZXN0KERPTVN0cmluZyBuYW1lLAor
ICAgICAgICAgICAgICAgICAgICAgICBMb2NrR3JhbnRlZENhbGxiYWNrIGNhbGxiYWNrKTsKKyAg
UHJvbWlzZTxhbnk+IHJlcXVlc3QoRE9NU3RyaW5nIG5hbWUsCisgICAgICAgICAgICAgICAgICAg
ICAgIExvY2tPcHRpb25zIG9wdGlvbnMsCisgICAgICAgICAgICAgICAgICAgICAgIExvY2tHcmFu
dGVkQ2FsbGJhY2sgY2FsbGJhY2spOworCisgIFByb21pc2U8TG9ja01hbmFnZXJTbmFwc2hvdD4g
cXVlcnkoKTsKK307CisKK2NhbGxiYWNrIExvY2tHcmFudGVkQ2FsbGJhY2sgPSBQcm9taXNlPGFu
eT4gKExvY2s/IGxvY2spOworCitlbnVtIExvY2tNb2RlIHsgInNoYXJlZCIsICJleGNsdXNpdmUi
IH07CisKK2RpY3Rpb25hcnkgTG9ja09wdGlvbnMgeworICBMb2NrTW9kZSBtb2RlID0gImV4Y2x1
c2l2ZSI7CisgIGJvb2xlYW4gaWZBdmFpbGFibGUgPSBmYWxzZTsKKyAgYm9vbGVhbiBzdGVhbCA9
IGZhbHNlOworICBBYm9ydFNpZ25hbCBzaWduYWw7Cit9OworCitkaWN0aW9uYXJ5IExvY2tNYW5h
Z2VyU25hcHNob3QgeworICBzZXF1ZW5jZTxMb2NrSW5mbz4gaGVsZDsKKyAgc2VxdWVuY2U8TG9j
a0luZm8+IHBlbmRpbmc7Cit9OworCitkaWN0aW9uYXJ5IExvY2tJbmZvIHsKKyAgRE9NU3RyaW5n
IG5hbWU7CisgIExvY2tNb2RlIG1vZGU7CisgIERPTVN0cmluZyBjbGllbnRJZDsKK307CisKK1tT
ZWN1cmVDb250ZXh0LCBFeHBvc2VkPShXaW5kb3csV29ya2VyKV0KK2ludGVyZmFjZSBMb2NrIHsK
KyAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOworICByZWFkb25seSBhdHRyaWJ1
dGUgTG9ja01vZGUgbW9kZTsKK307CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2ViLW5mYy5pZGwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2ViLW5mYy5pZGwK
aW5kZXggZGUyM2ZhYzBjMTE4YzJhNzczYTVlOTYyN2M2YjFhZjk5Yzg2MTgzOC4uZjJlMzFiNzM1
Mjg2N2QzOWVkYzljNDNhNGYxZmZmYjNhMDJjYjk4NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYi1uZmMuaWRsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNl
cy93ZWItbmZjLmlkbApAQCAtMyw3ICszLDcgQEAKIC8vIChodHRwczovL2dpdGh1Yi5jb20vdGlk
b3VzdC9yZWZmeS1yZXBvcnRzKQogLy8gU291cmNlOiBXZWIgTkZDIChodHRwczovL3czYy5naXRo
dWIuaW8vd2ViLW5mYy8pCiAKLVtFeHBvc2VkPVdpbmRvd10KK1tTZWN1cmVDb250ZXh0LCBFeHBv
c2VkPVdpbmRvd10KIGludGVyZmFjZSBOREVGTWVzc2FnZSB7CiAgIGNvbnN0cnVjdG9yKE5ERUZN
ZXNzYWdlSW5pdCBtZXNzYWdlSW5pdCk7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBGcm96ZW5BcnJh
eTxOREVGUmVjb3JkPiByZWNvcmRzOwpAQCAtMTUsNyArMTUsNyBAQCBkaWN0aW9uYXJ5IE5ERUZN
ZXNzYWdlSW5pdCB7CiAKIHR5cGVkZWYgKERPTVN0cmluZyBvciBCdWZmZXJTb3VyY2Ugb3IgTkRF
Rk1lc3NhZ2VJbml0KSBOREVGUmVjb3JkRGF0YVNvdXJjZTsKIAotW0V4cG9zZWQ9V2luZG93XQor
W1NlY3VyZUNvbnRleHQsIEV4cG9zZWQ9V2luZG93XQogaW50ZXJmYWNlIE5ERUZSZWNvcmQgewog
ICBjb25zdHJ1Y3RvcihOREVGUmVjb3JkSW5pdCByZWNvcmRJbml0KTsKIApAQCAtMjcsNyArMjcs
NyBAQCBpbnRlcmZhY2UgTkRFRlJlY29yZCB7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBVU1ZTdHJp
bmc/IGVuY29kaW5nOwogICByZWFkb25seSBhdHRyaWJ1dGUgVVNWU3RyaW5nPyBsYW5nOwogCi0g
IHNlcXVlbmNlPE5ERUZSZWNvcmQ+IHRvUmVjb3JkcygpOworICBzZXF1ZW5jZTxOREVGUmVjb3Jk
Pj8gdG9SZWNvcmRzKCk7CiB9OwogCiBkaWN0aW9uYXJ5IE5ERUZSZWNvcmRJbml0IHsKQEAgLTQ3
LDcgKzQ3LDcgQEAgdHlwZWRlZiAoRE9NU3RyaW5nIG9yIEJ1ZmZlclNvdXJjZSBvciBOREVGTWVz
c2FnZUluaXQpIE5ERUZNZXNzYWdlU291cmNlOwogaW50ZXJmYWNlIE5ERUZXcml0ZXIgewogICBj
b25zdHJ1Y3RvcigpOwogCi0gIFByb21pc2U8dm9pZD4gcHVzaChOREVGTWVzc2FnZVNvdXJjZSBt
ZXNzYWdlLCBvcHRpb25hbCBOREVGUHVzaE9wdGlvbnMgb3B0aW9ucz17fSk7CisgIFByb21pc2U8
dm9pZD4gd3JpdGUoTkRFRk1lc3NhZ2VTb3VyY2UgbWVzc2FnZSwgb3B0aW9uYWwgTkRFRldyaXRl
T3B0aW9ucyBvcHRpb25zPXt9KTsKIH07CiAKIFtTZWN1cmVDb250ZXh0LCBFeHBvc2VkPVdpbmRv
d10KQEAgLTczLDIyICs3MywxNSBAQCBkaWN0aW9uYXJ5IE5ERUZSZWFkaW5nRXZlbnRJbml0IDog
RXZlbnRJbml0IHsKICAgcmVxdWlyZWQgTkRFRk1lc3NhZ2VJbml0IG1lc3NhZ2U7CiB9OwogCi1k
aWN0aW9uYXJ5IE5ERUZQdXNoT3B0aW9ucyB7Ci0gIE5ERUZQdXNoVGFyZ2V0IHRhcmdldCA9ICJh
bnkiOworZGljdGlvbmFyeSBOREVGV3JpdGVPcHRpb25zIHsKICAgYm9vbGVhbiBpZ25vcmVSZWFk
ID0gdHJ1ZTsKICAgYm9vbGVhbiBvdmVyd3JpdGUgPSB0cnVlOwogICBBYm9ydFNpZ25hbD8gc2ln
bmFsOwogfTsKIAotZW51bSBOREVGUHVzaFRhcmdldCB7Ci0gICJ0YWciLAotICAicGVlciIsCi0g
ICJhbnkiCi19OwotCiBkaWN0aW9uYXJ5IE5ERUZTY2FuT3B0aW9ucyB7CiAgIFVTVlN0cmluZyBp
ZDsKICAgVVNWU3RyaW5nIHJlY29yZFR5cGU7Ci0gIFVTVlN0cmluZyBtZWRpYVR5cGUgPSAiIjsK
KyAgVVNWU3RyaW5nIG1lZGlhVHlwZTsKICAgQWJvcnRTaWduYWw/IHNpZ25hbDsKIH07CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVy
ZmFjZXMvd2ViLXNoYXJlLmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaW50ZXJmYWNlcy93ZWItc2hhcmUuaWRsCmluZGV4IGEyOTEwN2YwNTk4NzM2OTEy
ODU5M2I5ZmIyYmQzYmIxMzAxN2VhZTAuLmMyOWEyOWQwYjRlZGU5NDE1M2E3NTg2MDM0NGFiNDgy
NGU5MWI2ZDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaW50ZXJmYWNlcy93ZWItc2hhcmUuaWRsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWItc2hhcmUuaWRsCkBAIC04
LDYgKzgsNyBAQCBwYXJ0aWFsIGludGVyZmFjZSBOYXZpZ2F0b3IgewogfTsKIAogZGljdGlvbmFy
eSBTaGFyZURhdGEgeworICBGcm96ZW5BcnJheTxGaWxlPiBmaWxlczsKICAgVVNWU3RyaW5nIHRp
dGxlOwogICBVU1ZTdHJpbmcgdGV4dDsKICAgVVNWU3RyaW5nIHVybDsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWJh
dWRpby5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2lu
dGVyZmFjZXMvd2ViYXVkaW8uaWRsCmluZGV4IDY3NDY3M2Q5MGIxZThmZDNlNmQxODJmMjUyODk5
NDhmYzAyOTBjYWMuLmYwYTVjN2E5MDIwYjFlYWEwYWY2ZGYzNjY0YzQxZWNkMDNmNzEwODIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50
ZXJmYWNlcy93ZWJhdWRpby5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYmF1ZGlvLmlkbApAQCAtMjYsMjggKzI2LDM2IEBA
IGludGVyZmFjZSBCYXNlQXVkaW9Db250ZXh0IDogRXZlbnRUYXJnZXQgewogCiAgIEFuYWx5c2Vy
Tm9kZSBjcmVhdGVBbmFseXNlciAoKTsKICAgQmlxdWFkRmlsdGVyTm9kZSBjcmVhdGVCaXF1YWRG
aWx0ZXIgKCk7Ci0gIEF1ZGlvQnVmZmVyIGNyZWF0ZUJ1ZmZlciAodW5zaWduZWQgbG9uZyBudW1i
ZXJPZkNoYW5uZWxzLCB1bnNpZ25lZCBsb25nIGxlbmd0aCwgZmxvYXQgc2FtcGxlUmF0ZSk7Cisg
IEF1ZGlvQnVmZmVyIGNyZWF0ZUJ1ZmZlciAodW5zaWduZWQgbG9uZyBudW1iZXJPZkNoYW5uZWxz
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbGVuZ3RoLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0IHNhbXBsZVJhdGUpOwogICBBdWRpb0J1ZmZl
clNvdXJjZU5vZGUgY3JlYXRlQnVmZmVyU291cmNlICgpOwogICBDaGFubmVsTWVyZ2VyTm9kZSBj
cmVhdGVDaGFubmVsTWVyZ2VyIChvcHRpb25hbCB1bnNpZ25lZCBsb25nIG51bWJlck9mSW5wdXRz
ID0gNik7Ci0gIENoYW5uZWxTcGxpdHRlck5vZGUgY3JlYXRlQ2hhbm5lbFNwbGl0dGVyIChvcHRp
b25hbCB1bnNpZ25lZCBsb25nIG51bWJlck9mT3V0cHV0cyA9IDYpOworICBDaGFubmVsU3BsaXR0
ZXJOb2RlIGNyZWF0ZUNoYW5uZWxTcGxpdHRlciAoCisgICAgb3B0aW9uYWwgdW5zaWduZWQgbG9u
ZyBudW1iZXJPZk91dHB1dHMgPSA2KTsKICAgQ29uc3RhbnRTb3VyY2VOb2RlIGNyZWF0ZUNvbnN0
YW50U291cmNlICgpOwogICBDb252b2x2ZXJOb2RlIGNyZWF0ZUNvbnZvbHZlciAoKTsKICAgRGVs
YXlOb2RlIGNyZWF0ZURlbGF5IChvcHRpb25hbCBkb3VibGUgbWF4RGVsYXlUaW1lID0gMS4wKTsK
ICAgRHluYW1pY3NDb21wcmVzc29yTm9kZSBjcmVhdGVEeW5hbWljc0NvbXByZXNzb3IgKCk7CiAg
IEdhaW5Ob2RlIGNyZWF0ZUdhaW4gKCk7Ci0gIElJUkZpbHRlck5vZGUgY3JlYXRlSUlSRmlsdGVy
IChzZXF1ZW5jZTxkb3VibGU+IGZlZWRmb3J3YXJkLCBzZXF1ZW5jZTxkb3VibGU+IGZlZWRiYWNr
KTsKKyAgSUlSRmlsdGVyTm9kZSBjcmVhdGVJSVJGaWx0ZXIgKHNlcXVlbmNlPGRvdWJsZT4gZmVl
ZGZvcndhcmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXF1ZW5jZTxkb3Vi
bGU+IGZlZWRiYWNrKTsKICAgT3NjaWxsYXRvck5vZGUgY3JlYXRlT3NjaWxsYXRvciAoKTsKICAg
UGFubmVyTm9kZSBjcmVhdGVQYW5uZXIgKCk7Ci0gIFBlcmlvZGljV2F2ZSBjcmVhdGVQZXJpb2Rp
Y1dhdmUgKHNlcXVlbmNlPGZsb2F0PiByZWFsLCBzZXF1ZW5jZTxmbG9hdD4gaW1hZywgb3B0aW9u
YWwgUGVyaW9kaWNXYXZlQ29uc3RyYWludHMgY29uc3RyYWludHMgPSB7fSk7Ci0gIFNjcmlwdFBy
b2Nlc3Nvck5vZGUgY3JlYXRlU2NyaXB0UHJvY2Vzc29yKG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcg
YnVmZmVyU2l6ZSA9IDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZJbnB1dENoYW5uZWxzID0gMiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgdW5zaWdu
ZWQgbG9uZyBudW1iZXJPZk91dHB1dENoYW5uZWxzID0gMik7CisgIFBlcmlvZGljV2F2ZSBjcmVh
dGVQZXJpb2RpY1dhdmUgKHNlcXVlbmNlPGZsb2F0PiByZWFsLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBzZXF1ZW5jZTxmbG9hdD4gaW1hZywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgUGVyaW9kaWNXYXZlQ29uc3RyYWludHMgY29uc3Ry
YWludHMgPSB7fSk7CisgIFNjcmlwdFByb2Nlc3Nvck5vZGUgY3JlYXRlU2NyaXB0UHJvY2Vzc29y
KAorICAgIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgYnVmZmVyU2l6ZSA9IDAsCisgICAgb3B0aW9u
YWwgdW5zaWduZWQgbG9uZyBudW1iZXJPZklucHV0Q2hhbm5lbHMgPSAyLAorICAgIG9wdGlvbmFs
IHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZPdXRwdXRDaGFubmVscyA9IDIpOwogICBTdGVyZW9QYW5u
ZXJOb2RlIGNyZWF0ZVN0ZXJlb1Bhbm5lciAoKTsKICAgV2F2ZVNoYXBlck5vZGUgY3JlYXRlV2F2
ZVNoYXBlciAoKTsKIAotICBQcm9taXNlPEF1ZGlvQnVmZmVyPiBkZWNvZGVBdWRpb0RhdGEgKEFy
cmF5QnVmZmVyIGF1ZGlvRGF0YSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBvcHRpb25hbCBEZWNvZGVTdWNjZXNzQ2FsbGJhY2s/IHN1Y2Nlc3NDYWxsYmFjaywKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCBEZWNvZGVFcnJv
ckNhbGxiYWNrPyBlcnJvckNhbGxiYWNrKTsKKyAgUHJvbWlzZTxBdWRpb0J1ZmZlcj4gZGVjb2Rl
QXVkaW9EYXRhICgKKyAgICBBcnJheUJ1ZmZlciBhdWRpb0RhdGEsCisgICAgb3B0aW9uYWwgRGVj
b2RlU3VjY2Vzc0NhbGxiYWNrPyBzdWNjZXNzQ2FsbGJhY2ssCisgICAgb3B0aW9uYWwgRGVjb2Rl
RXJyb3JDYWxsYmFjaz8gZXJyb3JDYWxsYmFjayk7CiB9OwogCiBlbnVtIEF1ZGlvQ29udGV4dExh
dGVuY3lDYXRlZ29yeSB7CkBAIC02Nyw3ICs3NSw4IEBAIGludGVyZmFjZSBBdWRpb0NvbnRleHQg
OiBCYXNlQXVkaW9Db250ZXh0IHsKICAgUHJvbWlzZTx2b2lkPiBjbG9zZSAoKTsKICAgTWVkaWFF
bGVtZW50QXVkaW9Tb3VyY2VOb2RlIGNyZWF0ZU1lZGlhRWxlbWVudFNvdXJjZSAoSFRNTE1lZGlh
RWxlbWVudCBtZWRpYUVsZW1lbnQpOwogICBNZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9kZSBjcmVh
dGVNZWRpYVN0cmVhbVNvdXJjZSAoTWVkaWFTdHJlYW0gbWVkaWFTdHJlYW0pOwotICBNZWRpYVN0
cmVhbVRyYWNrQXVkaW9Tb3VyY2VOb2RlIGNyZWF0ZU1lZGlhU3RyZWFtVHJhY2tTb3VyY2UgKE1l
ZGlhU3RyZWFtVHJhY2sgbWVkaWFTdHJlYW1UcmFjayk7CisgIE1lZGlhU3RyZWFtVHJhY2tBdWRp
b1NvdXJjZU5vZGUgY3JlYXRlTWVkaWFTdHJlYW1UcmFja1NvdXJjZSAoCisgICAgTWVkaWFTdHJl
YW1UcmFjayBtZWRpYVN0cmVhbVRyYWNrKTsKICAgTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9u
Tm9kZSBjcmVhdGVNZWRpYVN0cmVhbURlc3RpbmF0aW9uICgpOwogfTsKIApAQCAtMTE2LDggKzEy
NSwxMiBAQCBpbnRlcmZhY2UgQXVkaW9CdWZmZXIgewogICByZWFkb25seSBhdHRyaWJ1dGUgZG91
YmxlIGR1cmF0aW9uOwogICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBudW1iZXJP
ZkNoYW5uZWxzOwogICBGbG9hdDMyQXJyYXkgZ2V0Q2hhbm5lbERhdGEgKHVuc2lnbmVkIGxvbmcg
Y2hhbm5lbCk7Ci0gIHZvaWQgY29weUZyb21DaGFubmVsIChGbG9hdDMyQXJyYXkgZGVzdGluYXRp
b24sIHVuc2lnbmVkIGxvbmcgY2hhbm5lbE51bWJlciwgb3B0aW9uYWwgdW5zaWduZWQgbG9uZyBi
dWZmZXJPZmZzZXQgPSAwKTsKLSAgdm9pZCBjb3B5VG9DaGFubmVsIChGbG9hdDMyQXJyYXkgc291
cmNlLCB1bnNpZ25lZCBsb25nIGNoYW5uZWxOdW1iZXIsIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcg
YnVmZmVyT2Zmc2V0ID0gMCk7CisgIHZvaWQgY29weUZyb21DaGFubmVsIChGbG9hdDMyQXJyYXkg
ZGVzdGluYXRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGNoYW5u
ZWxOdW1iZXIsCisgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25hbCB1bnNpZ25lZCBsb25n
IGJ1ZmZlck9mZnNldCA9IDApOworICB2b2lkIGNvcHlUb0NoYW5uZWwgKEZsb2F0MzJBcnJheSBz
b3VyY2UsCisgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBjaGFubmVsTnVtYmVy
LAorICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgYnVmZmVyT2Zm
c2V0ID0gMCk7CiB9OwogCiBkaWN0aW9uYXJ5IEF1ZGlvQnVmZmVyT3B0aW9ucyB7CkBAIC0xMzYs
NyArMTQ5LDkgQEAgaW50ZXJmYWNlIEF1ZGlvTm9kZSA6IEV2ZW50VGFyZ2V0IHsKICAgdm9pZCBk
aXNjb25uZWN0ICh1bnNpZ25lZCBsb25nIG91dHB1dCk7CiAgIHZvaWQgZGlzY29ubmVjdCAoQXVk
aW9Ob2RlIGRlc3RpbmF0aW9uTm9kZSk7CiAgIHZvaWQgZGlzY29ubmVjdCAoQXVkaW9Ob2RlIGRl
c3RpbmF0aW9uTm9kZSwgdW5zaWduZWQgbG9uZyBvdXRwdXQpOwotICB2b2lkIGRpc2Nvbm5lY3Qg
KEF1ZGlvTm9kZSBkZXN0aW5hdGlvbk5vZGUsIHVuc2lnbmVkIGxvbmcgb3V0cHV0LCB1bnNpZ25l
ZCBsb25nIGlucHV0KTsKKyAgdm9pZCBkaXNjb25uZWN0IChBdWRpb05vZGUgZGVzdGluYXRpb25O
b2RlLAorICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgb3V0cHV0LAorICAgICAgICAg
ICAgICAgICAgIHVuc2lnbmVkIGxvbmcgaW5wdXQpOwogICB2b2lkIGRpc2Nvbm5lY3QgKEF1ZGlv
UGFyYW0gZGVzdGluYXRpb25QYXJhbSk7CiAgIHZvaWQgZGlzY29ubmVjdCAoQXVkaW9QYXJhbSBk
ZXN0aW5hdGlvblBhcmFtLCB1bnNpZ25lZCBsb25nIG91dHB1dCk7CiAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBCYXNlQXVkaW9Db250ZXh0IGNvbnRleHQ7CkBAIC0xODAsNyArMTk1LDkgQEAgaW50ZXJm
YWNlIEF1ZGlvUGFyYW0gewogICBBdWRpb1BhcmFtIGxpbmVhclJhbXBUb1ZhbHVlQXRUaW1lIChm
bG9hdCB2YWx1ZSwgZG91YmxlIGVuZFRpbWUpOwogICBBdWRpb1BhcmFtIGV4cG9uZW50aWFsUmFt
cFRvVmFsdWVBdFRpbWUgKGZsb2F0IHZhbHVlLCBkb3VibGUgZW5kVGltZSk7CiAgIEF1ZGlvUGFy
YW0gc2V0VGFyZ2V0QXRUaW1lIChmbG9hdCB0YXJnZXQsIGRvdWJsZSBzdGFydFRpbWUsIGZsb2F0
IHRpbWVDb25zdGFudCk7Ci0gIEF1ZGlvUGFyYW0gc2V0VmFsdWVDdXJ2ZUF0VGltZSAoc2VxdWVu
Y2U8ZmxvYXQ+IHZhbHVlcywgZG91YmxlIHN0YXJ0VGltZSwgZG91YmxlIGR1cmF0aW9uKTsKKyAg
QXVkaW9QYXJhbSBzZXRWYWx1ZUN1cnZlQXRUaW1lIChzZXF1ZW5jZTxmbG9hdD4gdmFsdWVzLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSBzdGFydFRpbWUsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG91YmxlIGR1cmF0aW9uKTsKICAgQXVkaW9Q
YXJhbSBjYW5jZWxTY2hlZHVsZWRWYWx1ZXMgKGRvdWJsZSBjYW5jZWxUaW1lKTsKICAgQXVkaW9Q
YXJhbSBjYW5jZWxBbmRIb2xkQXRUaW1lIChkb3VibGUgY2FuY2VsVGltZSk7CiB9OwpAQCAtMjE1
LDcgKzIzMiw4IEBAIGRpY3Rpb25hcnkgQW5hbHlzZXJPcHRpb25zIDogQXVkaW9Ob2RlT3B0aW9u
cyB7CiAKIFtFeHBvc2VkPVdpbmRvd10KIGludGVyZmFjZSBBdWRpb0J1ZmZlclNvdXJjZU5vZGUg
OiBBdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGUgewotICBjb25zdHJ1Y3RvciAoQmFzZUF1ZGlvQ29u
dGV4dCBjb250ZXh0LCBvcHRpb25hbCBBdWRpb0J1ZmZlclNvdXJjZU9wdGlvbnMgb3B0aW9ucyA9
IHt9KTsKKyAgY29uc3RydWN0b3IgKEJhc2VBdWRpb0NvbnRleHQgY29udGV4dCwKKyAgICAgICAg
ICAgICAgIG9wdGlvbmFsIEF1ZGlvQnVmZmVyU291cmNlT3B0aW9ucyBvcHRpb25zID0ge30pOwog
ICBhdHRyaWJ1dGUgQXVkaW9CdWZmZXI/IGJ1ZmZlcjsKICAgcmVhZG9ubHkgYXR0cmlidXRlIEF1
ZGlvUGFyYW0gcGxheWJhY2tSYXRlOwogICByZWFkb25seSBhdHRyaWJ1dGUgQXVkaW9QYXJhbSBk
ZXR1bmU7CkBAIC0yODksNyArMzA3LDkgQEAgaW50ZXJmYWNlIEJpcXVhZEZpbHRlck5vZGUgOiBB
dWRpb05vZGUgewogICByZWFkb25seSBhdHRyaWJ1dGUgQXVkaW9QYXJhbSBkZXR1bmU7CiAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBBdWRpb1BhcmFtIFE7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBBdWRp
b1BhcmFtIGdhaW47Ci0gIHZvaWQgZ2V0RnJlcXVlbmN5UmVzcG9uc2UgKEZsb2F0MzJBcnJheSBm
cmVxdWVuY3lIeiwgRmxvYXQzMkFycmF5IG1hZ1Jlc3BvbnNlLCBGbG9hdDMyQXJyYXkgcGhhc2VS
ZXNwb25zZSk7CisgIHZvaWQgZ2V0RnJlcXVlbmN5UmVzcG9uc2UgKEZsb2F0MzJBcnJheSBmcmVx
dWVuY3lIeiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmxvYXQzMkFycmF5IG1hZ1Jl
c3BvbnNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGbG9hdDMyQXJyYXkgcGhhc2VS
ZXNwb25zZSk7CiB9OwogCiBkaWN0aW9uYXJ5IEJpcXVhZEZpbHRlck9wdGlvbnMgOiBBdWRpb05v
ZGVPcHRpb25zIHsKQEAgLTM1Myw3ICszNzMsOCBAQCBkaWN0aW9uYXJ5IERlbGF5T3B0aW9ucyA6
IEF1ZGlvTm9kZU9wdGlvbnMgewogCiBbRXhwb3NlZD1XaW5kb3ddCiBpbnRlcmZhY2UgRHluYW1p
Y3NDb21wcmVzc29yTm9kZSA6IEF1ZGlvTm9kZSB7Ci0gIGNvbnN0cnVjdG9yIChCYXNlQXVkaW9D
b250ZXh0IGNvbnRleHQsIG9wdGlvbmFsIER5bmFtaWNzQ29tcHJlc3Nvck9wdGlvbnMgb3B0aW9u
cyA9IHt9KTsKKyAgY29uc3RydWN0b3IgKEJhc2VBdWRpb0NvbnRleHQgY29udGV4dCwKKyAgICAg
ICAgICAgICAgIG9wdGlvbmFsIER5bmFtaWNzQ29tcHJlc3Nvck9wdGlvbnMgb3B0aW9ucyA9IHt9
KTsKICAgcmVhZG9ubHkgYXR0cmlidXRlIEF1ZGlvUGFyYW0gdGhyZXNob2xkOwogICByZWFkb25s
eSBhdHRyaWJ1dGUgQXVkaW9QYXJhbSBrbmVlOwogICByZWFkb25seSBhdHRyaWJ1dGUgQXVkaW9Q
YXJhbSByYXRpbzsKQEAgLTM4Myw3ICs0MDQsOSBAQCBkaWN0aW9uYXJ5IEdhaW5PcHRpb25zIDog
QXVkaW9Ob2RlT3B0aW9ucyB7CiBbRXhwb3NlZD1XaW5kb3ddCiBpbnRlcmZhY2UgSUlSRmlsdGVy
Tm9kZSA6IEF1ZGlvTm9kZSB7CiAgIGNvbnN0cnVjdG9yIChCYXNlQXVkaW9Db250ZXh0IGNvbnRl
eHQsIElJUkZpbHRlck9wdGlvbnMgb3B0aW9ucyk7Ci0gIHZvaWQgZ2V0RnJlcXVlbmN5UmVzcG9u
c2UgKEZsb2F0MzJBcnJheSBmcmVxdWVuY3lIeiwgRmxvYXQzMkFycmF5IG1hZ1Jlc3BvbnNlLCBG
bG9hdDMyQXJyYXkgcGhhc2VSZXNwb25zZSk7CisgIHZvaWQgZ2V0RnJlcXVlbmN5UmVzcG9uc2Ug
KEZsb2F0MzJBcnJheSBmcmVxdWVuY3lIeiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
RmxvYXQzMkFycmF5IG1hZ1Jlc3BvbnNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBG
bG9hdDMyQXJyYXkgcGhhc2VSZXNwb25zZSk7CiB9OwogCiBkaWN0aW9uYXJ5IElJUkZpbHRlck9w
dGlvbnMgOiBBdWRpb05vZGVPcHRpb25zIHsKQEAgLTU1NSw3ICs1NzgsOCBAQCBjYWxsYmFjayBB
dWRpb1dvcmtsZXRQcm9jZXNzb3JDb25zdHJ1Y3RvciA9IEF1ZGlvV29ya2xldFByb2Nlc3NvciAo
b2JqZWN0IG9wdGlvbgogCiBbR2xvYmFsPShXb3JrbGV0LCBBdWRpb1dvcmtsZXQpLCBFeHBvc2Vk
PUF1ZGlvV29ya2xldF0KIGludGVyZmFjZSBBdWRpb1dvcmtsZXRHbG9iYWxTY29wZSA6IFdvcmts
ZXRHbG9iYWxTY29wZSB7Ci0gIHZvaWQgcmVnaXN0ZXJQcm9jZXNzb3IgKERPTVN0cmluZyBuYW1l
LCBBdWRpb1dvcmtsZXRQcm9jZXNzb3JDb25zdHJ1Y3RvciBwcm9jZXNzb3JDdG9yKTsKKyAgdm9p
ZCByZWdpc3RlclByb2Nlc3NvciAoRE9NU3RyaW5nIG5hbWUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgIEF1ZGlvV29ya2xldFByb2Nlc3NvckNvbnN0cnVjdG9yIHByb2Nlc3NvckN0b3IpOwog
ICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsb25nIGN1cnJlbnRGcmFtZTsKICAg
cmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSBjdXJyZW50VGltZTsKICAgcmVhZG9ubHkgYXR0cmli
dXRlIGZsb2F0IHNhbXBsZVJhdGU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2ViYXV0aG4uaWRsIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYmF1dGhuLmlk
bAppbmRleCAyOTAyNWYzNWVlY2I1YzgyYjMzZmZjYzcwMzljNGE5OWYwODFmNGUzLi5hMWQ0NmEz
N2NmNDRkN2Q5YjhjZDgwYjExYTkyYjJkMmY3ODYwMmVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2ViYXV0aG4uaWRs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJm
YWNlcy93ZWJhdXRobi5pZGwKQEAgLTMxLDYgKzMxLDkgQEAgaW50ZXJmYWNlIEF1dGhlbnRpY2F0
b3JSZXNwb25zZSB7CiBpbnRlcmZhY2UgQXV0aGVudGljYXRvckF0dGVzdGF0aW9uUmVzcG9uc2Ug
OiBBdXRoZW50aWNhdG9yUmVzcG9uc2UgewogICAgIFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRy
aWJ1dGUgQXJyYXlCdWZmZXIgICAgICBhdHRlc3RhdGlvbk9iamVjdDsKICAgICBzZXF1ZW5jZTxE
T01TdHJpbmc+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0VHJhbnNwb3J0cygpOwor
ICAgIEFycmF5QnVmZmVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRB
dXRoZW50aWNhdG9yRGF0YSgpOworICAgIEFycmF5QnVmZmVyPyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBnZXRQdWJsaWNLZXkoKTsKKyAgICBDT1NFQWxnb3JpdGhtSWRlbnRp
ZmllciAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0UHVibGljS2V5QWxnb3JpdGhtKCk7CiB9
OwogCiBbU2VjdXJlQ29udGV4dCwgRXhwb3NlZD1XaW5kb3ddCkBAIC01NSw3ICs1OCw3IEBAIGRp
Y3Rpb25hcnkgUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucyB7CiAgICAgdW5zaWdu
ZWQgbG9uZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZW91dDsKICAgICBzZXF1
ZW5jZTxQdWJsaWNLZXlDcmVkZW50aWFsRGVzY3JpcHRvcj4gICAgICBleGNsdWRlQ3JlZGVudGlh
bHMgPSBbXTsKICAgICBBdXRoZW50aWNhdG9yU2VsZWN0aW9uQ3JpdGVyaWEgICAgICAgICAgICAg
ICBhdXRoZW50aWNhdG9yU2VsZWN0aW9uOwotICAgIEF0dGVzdGF0aW9uQ29udmV5YW5jZVByZWZl
cmVuY2UgICAgICAgICAgICAgIGF0dGVzdGF0aW9uID0gIm5vbmUiOworICAgIERPTVN0cmluZyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dGVzdGF0aW9uID0gIm5vbmUiOwog
ICAgIEF1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudElucHV0cyAgICAgICAgIGV4dGVuc2lv
bnM7CiB9OwogCkBAIC05Myw3ICs5Niw4IEBAIGVudW0gUmVzaWRlbnRLZXlSZXF1aXJlbWVudCB7
CiBlbnVtIEF0dGVzdGF0aW9uQ29udmV5YW5jZVByZWZlcmVuY2UgewogICAgICJub25lIiwKICAg
ICAiaW5kaXJlY3QiLAotICAgICJkaXJlY3QiCisgICAgImRpcmVjdCIsCisgICAgImVudGVycHJp
c2UiCiB9OwogCiBkaWN0aW9uYXJ5IFB1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucyB7
CkBAIC0xNDIsOCArMTQ2LDcgQEAgZW51bSBBdXRoZW50aWNhdG9yVHJhbnNwb3J0IHsKICAgICAi
dXNiIiwKICAgICAibmZjIiwKICAgICAiYmxlIiwKLSAgICAiaW50ZXJuYWwiLAotICAgICJsaWdo
dG5pbmciCisgICAgImludGVybmFsIgogfTsKIAogdHlwZWRlZiBsb25nIENPU0VBbGdvcml0aG1J
ZGVudGlmaWVyOwpAQCAtMTY2LDY1ICsxNjksNiBAQCBwYXJ0aWFsIGRpY3Rpb25hcnkgQXV0aGVu
dGljYXRpb25FeHRlbnNpb25zQ2xpZW50SW5wdXRzIHsKICAgVVNWU3RyaW5nIGFwcGlkRXhjbHVk
ZTsKIH07CiAKLXBhcnRpYWwgZGljdGlvbmFyeSBBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGll
bnRJbnB1dHMgewotICBVU1ZTdHJpbmcgdHhBdXRoU2ltcGxlOwotfTsKLQotcGFydGlhbCBkaWN0
aW9uYXJ5IEF1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudE91dHB1dHMgewotICBVU1ZTdHJp
bmcgdHhBdXRoU2ltcGxlOwotfTsKLQotZGljdGlvbmFyeSB0eEF1dGhHZW5lcmljQXJnIHsKLSAg
ICByZXF1aXJlZCBVU1ZTdHJpbmcgY29udGVudFR5cGU7ICAgIC8vIE1JTUUtVHlwZSBvZiB0aGUg
Y29udGVudCwgZS5nLiwgImltYWdlL3BuZyIKLSAgICByZXF1aXJlZCBBcnJheUJ1ZmZlciBjb250
ZW50OwotfTsKLQotcGFydGlhbCBkaWN0aW9uYXJ5IEF1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0Ns
aWVudElucHV0cyB7Ci0gIHR4QXV0aEdlbmVyaWNBcmcgdHhBdXRoR2VuZXJpYzsKLX07Ci0KLXBh
cnRpYWwgZGljdGlvbmFyeSBBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRPdXRwdXRzIHsK
LSAgQXJyYXlCdWZmZXIgdHhBdXRoR2VuZXJpYzsKLX07Ci0KLXR5cGVkZWYgc2VxdWVuY2U8QUFH
VUlEPiBBdXRoZW50aWNhdG9yU2VsZWN0aW9uTGlzdDsKLQotcGFydGlhbCBkaWN0aW9uYXJ5IEF1
dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudElucHV0cyB7Ci0gIEF1dGhlbnRpY2F0b3JTZWxl
Y3Rpb25MaXN0IGF1dGhuU2VsOwotfTsKLQotdHlwZWRlZiBCdWZmZXJTb3VyY2UgICAgICBBQUdV
SUQ7Ci0KLXBhcnRpYWwgZGljdGlvbmFyeSBBdXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRP
dXRwdXRzIHsKLSAgYm9vbGVhbiBhdXRoblNlbDsKLX07Ci0KLXBhcnRpYWwgZGljdGlvbmFyeSBB
dXRoZW50aWNhdGlvbkV4dGVuc2lvbnNDbGllbnRJbnB1dHMgewotICBib29sZWFuIGV4dHM7Ci19
OwotCi10eXBlZGVmIHNlcXVlbmNlPFVTVlN0cmluZz4gQXV0aGVudGljYXRpb25FeHRlbnNpb25z
U3VwcG9ydGVkOwotCi1wYXJ0aWFsIGRpY3Rpb25hcnkgQXV0aGVudGljYXRpb25FeHRlbnNpb25z
Q2xpZW50T3V0cHV0cyB7Ci0gIEF1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc1N1cHBvcnRlZCBleHRz
OwotfTsKLQotcGFydGlhbCBkaWN0aW9uYXJ5IEF1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVu
dElucHV0cyB7Ci0gIGJvb2xlYW4gdXZpOwotfTsKLQotcGFydGlhbCBkaWN0aW9uYXJ5IEF1dGhl
bnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudE91dHB1dHMgewotICBBcnJheUJ1ZmZlciB1dmk7Ci19
OwotCi1wYXJ0aWFsIGRpY3Rpb25hcnkgQXV0aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50SW5w
dXRzIHsKLSAgYm9vbGVhbiBsb2M7Ci19OwotCi1wYXJ0aWFsIGRpY3Rpb25hcnkgQXV0aGVudGlj
YXRpb25FeHRlbnNpb25zQ2xpZW50T3V0cHV0cyB7Ci0gIEdlb2xvY2F0aW9uQ29vcmRpbmF0ZXMg
bG9jOwotfTsKLQogcGFydGlhbCBkaWN0aW9uYXJ5IEF1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0Ns
aWVudElucHV0cyB7CiAgIGJvb2xlYW4gdXZtOwogfTsKQEAgLTIzNiwxMSArMTgwLDYgQEAgcGFy
dGlhbCBkaWN0aW9uYXJ5IEF1dGhlbnRpY2F0aW9uRXh0ZW5zaW9uc0NsaWVudE91dHB1dHMgewog
ICBVdm1FbnRyaWVzIHV2bTsKIH07CiAKLWRpY3Rpb25hcnkgYXV0aGVudGljYXRvckJpb21ldHJp
Y1BlcmZCb3VuZHN7Ci0gICAgZmxvYXQgRkFSOwotICAgIGZsb2F0IEZSUjsKLSAgICB9OwotCiBw
YXJ0aWFsIGRpY3Rpb25hcnkgQXV0aGVudGljYXRpb25FeHRlbnNpb25zQ2xpZW50SW5wdXRzIHsK
ICAgICBib29sZWFuIGNyZWRQcm9wczsKIH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2VibWlkaS5pZGwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2VibWlk
aS5pZGwKaW5kZXggMDk2ZTdhMWRiMTFjYjc4OGExOWMzZWViNWJlNmIzZjhmYzc3ZWNiZS4uMGUz
OTBmOGJkZTcwOTM0ZDk5MzQ3MTRkOGM2ODUzNzAzZGFiYjJiOCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYm1pZGku
aWRsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50
ZXJmYWNlcy93ZWJtaWRpLmlkbApAQCAtMSw3ICsxLDcgQEAKIC8vIEdFTkVSQVRFRCBDT05URU5U
IC0gRE8gTk9UIEVESVQKIC8vIENvbnRlbnQgd2FzIGF1dG9tYXRpY2FsbHkgZXh0cmFjdGVkIGJ5
IFJlZmZ5IGludG8gcmVmZnktcmVwb3J0cwogLy8gKGh0dHBzOi8vZ2l0aHViLmNvbS90aWRvdXN0
L3JlZmZ5LXJlcG9ydHMpCi0vLyBTb3VyY2U6IFdlYiBNSURJIEFQSSAoaHR0cDovL3dlYmF1ZGlv
LmdpdGh1Yi5pby93ZWItbWlkaS1hcGkvKQorLy8gU291cmNlOiBXZWIgTUlESSBBUEkgKGh0dHBz
Oi8vd2ViYXVkaW8uZ2l0aHViLmlvL3dlYi1taWRpLWFwaS8pCiAKIHBhcnRpYWwgaW50ZXJmYWNl
IE5hdmlnYXRvciB7CiAgIFtTZWN1cmVDb250ZXh0XQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYnJ0Yy1kc2NwLmlk
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNl
cy93ZWJydGMtZHNjcC5pZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDczMjIzMGI0
YTMzOWQyNDg0ZmE1MjQyZmRmYzc3MjI0NDAwNzk2YjIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYnJ0Yy1kc2NwLmlkbAorKysgL2Rldi9udWxsCkBAIC0x
LDggKzAsMCBAQAotLy8gR0VORVJBVEVEIENPTlRFTlQgLSBETyBOT1QgRURJVAotLy8gQ29udGVu
dCB3YXMgYXV0b21hdGljYWxseSBleHRyYWN0ZWQgYnkgUmVmZnkgaW50byByZWZmeS1yZXBvcnRz
Ci0vLyAoaHR0cHM6Ly9naXRodWIuY29tL3RpZG91c3QvcmVmZnktcmVwb3J0cykKLS8vIFNvdXJj
ZTogV2ViUlRDIERTQ1AgQ29udHJvbCBBUEkgKGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJydGMt
ZHNjcC1leHAvKQotCi1wYXJ0aWFsIGRpY3Rpb25hcnkgUlRDUnRwRW5jb2RpbmdQYXJhbWV0ZXJz
IHsKLSAgICBSVENQcmlvcml0eVR5cGUgbmV0d29ya1ByaW9yaXR5OyAgLy8gTm90ZTogTm8gZGVm
YXVsdAotfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaW50ZXJmYWNlcy93ZWJydGMtaWRlbnRpdHkuaWRsIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYnJ0Yy1pZGVudGl0eS5p
ZGwKaW5kZXggZDFmMmE2NTQ3NjA5ZWQxYTk2MTRhY2UxODBkZDE1MDI3ZWI5Yzc5MS4uMjhiNmEz
YjJiN2Y0YWNmNzhmZGUzODg5Yzc1ZDZmOGU5N2M4ZWI1NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYnJ0Yy1pZGVu
dGl0eS5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbnRlcmZhY2VzL3dlYnJ0Yy1pZGVudGl0eS5pZGwKQEAgLTQ5LDYgKzQ5LDEwIEBAIHBhcnRp
YWwgaW50ZXJmYWNlIFJUQ1BlZXJDb25uZWN0aW9uIHsKICAgICByZWFkb25seSAgICAgICAgYXR0
cmlidXRlIERPTVN0cmluZz8gICAgICAgICAgICAgICAgICAgIGlkcEVycm9ySW5mbzsKIH07CiAK
K3BhcnRpYWwgZGljdGlvbmFyeSBSVENDb25maWd1cmF0aW9uIHsKKyAgICBET01TdHJpbmcgcGVl
cklkZW50aXR5OworfTsKKwogZGljdGlvbmFyeSBSVENJZGVudGl0eVByb3ZpZGVyT3B0aW9ucyB7
CiAgICAgRE9NU3RyaW5nIHByb3RvY29sID0gImRlZmF1bHQiOwogICAgIERPTVN0cmluZyB1c2Vy
bmFtZUhpbnQ7CkBAIC02Miw2ICs2NiwyOSBAQCBpbnRlcmZhY2UgUlRDSWRlbnRpdHlBc3NlcnRp
b24gewogICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKIH07CiAKK3BhcnRpYWwgaW50ZXJm
YWNlIFJUQ0Vycm9yIHsKKyAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmc/IGh0dHBSZXF1ZXN0U3Rh
dHVzQ29kZTsKK307CisKK3BhcnRpYWwgZGljdGlvbmFyeSBSVENFcnJvckluaXQgeworICBsb25n
IGh0dHBSZXF1ZXN0U3RhdHVzQ29kZTsKK307CisKKy8vIFRoaXMgaXMgYW4gZXh0ZW5zaW9uIG9m
IFJUQ0Vycm9yRGV0YWlsVHlwZSBmcm9tIFtbV0VCUlRDLVBDXV0KKy8vIFVuZm9ydHVuYXRlbHks
IFdlYklETCBkb2VzIG5vdCBzdXBwb3J0IHBhcnRpYWwgZW51bXMgKHlldCkuCisvLworLy8gcGFy
dGlhbCBlbnVtIFJUQ0Vycm9yRGV0YWlsVHlwZSB7CitlbnVtIFJUQ0Vycm9yRGV0YWlsVHlwZUlk
cCB7CisgICJpZHAtYmFkLXNjcmlwdC1mYWlsdXJlIiwKKyAgImlkcC1leGVjdXRpb24tZmFpbHVy
ZSIsCisgICJpZHAtbG9hZC1mYWlsdXJlIiwKKyAgImlkcC1uZWVkLWxvZ2luIiwKKyAgImlkcC10
aW1lb3V0IiwKKyAgImlkcC10bHMtZmFpbHVyZSIsCisgICJpZHAtdG9rZW4tZXhwaXJlZCIsCisg
ICJpZHAtdG9rZW4taW52YWxpZCIsCit9OworCiBwYXJ0aWFsIGRpY3Rpb25hcnkgTWVkaWFTdHJl
YW1Db25zdHJhaW50cyB7CiAgICAgICAgICAgICAgRE9NU3RyaW5nIHBlZXJJZGVudGl0eTsKIH07
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ludGVyZmFjZXMvd2VicnRjLXN0YXRzLmlkbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWJydGMtc3RhdHMuaWRsCmluZGV4IGM1ZDAw
YWM0NDYyYjI0YWJmMDQ2Y2IwNWRiMjk0NTAzYmM5MGM2NzcuLjVhNDgzOGY5MjYzZmUyZDQxYjk5
M2MwYmNkZmRiMmQyNDlmNjdkMGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWJydGMtc3RhdHMuaWRsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWJy
dGMtc3RhdHMuaWRsCkBAIC0yOCwxNyArMjgsMTcgQEAgZW51bSBSVENTdGF0c1R5cGUgewogfTsK
IAogZGljdGlvbmFyeSBSVENSdHBTdHJlYW1TdGF0cyA6IFJUQ1N0YXRzIHsKLSAgICAgICAgICAg
ICB1bnNpZ25lZCBsb25nICAgICAgIHNzcmM7Ci0gICAgICAgICAgICAgRE9NU3RyaW5nICAgICAg
ICAgICBraW5kOworICAgICAgICAgICAgIHJlcXVpcmVkIHVuc2lnbmVkIGxvbmcgICAgICAgc3Ny
YzsKKyAgICAgICAgICAgICByZXF1aXJlZCBET01TdHJpbmcgICAgICAgICAgIGtpbmQ7CiAgICAg
ICAgICAgICAgRE9NU3RyaW5nICAgICAgICAgICB0cmFuc3BvcnRJZDsKICAgICAgICAgICAgICBE
T01TdHJpbmcgICAgICAgICAgIGNvZGVjSWQ7CiB9OwogCiBkaWN0aW9uYXJ5IFJUQ0NvZGVjU3Rh
dHMgOiBSVENTdGF0cyB7Ci0gICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBwYXlsb2FkVHlwZTsK
KyAgICAgICAgICAgICByZXF1aXJlZCB1bnNpZ25lZCBsb25nIHBheWxvYWRUeXBlOwogICAgICAg
ICAgICAgIFJUQ0NvZGVjVHlwZSAgY29kZWNUeXBlOwotICAgICAgICAgICAgIERPTVN0cmluZyAg
ICAgdHJhbnNwb3J0SWQ7Ci0gICAgICAgICAgICAgRE9NU3RyaW5nICAgICBtaW1lVHlwZTsKKyAg
ICAgICAgICAgICByZXF1aXJlZCBET01TdHJpbmcgICAgIHRyYW5zcG9ydElkOworICAgICAgICAg
ICAgIHJlcXVpcmVkIERPTVN0cmluZyAgICAgbWltZVR5cGU7CiAgICAgICAgICAgICAgdW5zaWdu
ZWQgbG9uZyBjbG9ja1JhdGU7CiAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBjaGFubmVsczsK
ICAgICAgICAgICAgICBET01TdHJpbmcgICAgIHNkcEZtdHBMaW5lOwpAQCAtNzAsOCArNzAsNyBA
QCBkaWN0aW9uYXJ5IFJUQ1JlY2VpdmVkUnRwU3RyZWFtU3RhdHMgOiBSVENSdHBTdHJlYW1TdGF0
cyB7CiB9OwogCiBkaWN0aW9uYXJ5IFJUQ0luYm91bmRSdHBTdHJlYW1TdGF0cyA6IFJUQ1JlY2Vp
dmVkUnRwU3RyZWFtU3RhdHMgewotIERPTVN0cmluZyAgICAgICAgICAgIHRyYWNrSWQ7Ci0gRE9N
U3RyaW5nICAgICAgICAgICAgcmVjZWl2ZXJJZDsKKyByZXF1aXJlZCBET01TdHJpbmcgICByZWNl
aXZlcklkOwogIERPTVN0cmluZyAgICAgICAgICAgIHJlbW90ZUlkOwogIHVuc2lnbmVkIGxvbmcg
ICAgICAgIGZyYW1lc0RlY29kZWQ7CiAgdW5zaWduZWQgbG9uZyAgICAgICAga2V5RnJhbWVzRGVj
b2RlZDsKQEAgLTEzMCw3ICsxMjksNyBAQCBkaWN0aW9uYXJ5IFJUQ1NlbnRSdHBTdHJlYW1TdGF0
cyA6IFJUQ1J0cFN0cmVhbVN0YXRzIHsKIH07CiAKIGRpY3Rpb25hcnkgUlRDT3V0Ym91bmRSdHBT
dHJlYW1TdGF0cyA6IFJUQ1NlbnRSdHBTdHJlYW1TdGF0cyB7Ci0gICAgICAgICAgICAgRE9NU3Ry
aW5nICAgICAgICAgICAgdHJhY2tJZDsKKyAgICAgICAgICAgICB1bnNpZ25lZCBsb25nICAgICAg
ICBydHhTc3JjOwogICAgICAgICAgICAgIERPTVN0cmluZyAgICAgICAgICAgIG1lZGlhU291cmNl
SWQ7CiAgICAgICAgICAgICAgRE9NU3RyaW5nICAgICAgICAgICAgc2VuZGVySWQ7CiAgICAgICAg
ICAgICAgRE9NU3RyaW5nICAgICAgICAgICAgcmVtb3RlSWQ7CkBAIC0xODYsOCArMTg1LDkgQEAg
ZGljdGlvbmFyeSBSVENSZW1vdGVPdXRib3VuZFJ0cFN0cmVhbVN0YXRzIDogUlRDU2VudFJ0cFN0
cmVhbVN0YXRzIHsKIH07CiAKIGRpY3Rpb25hcnkgUlRDTWVkaWFTb3VyY2VTdGF0cyA6IFJUQ1N0
YXRzIHsKLSAgICAgICAgICAgICBET01TdHJpbmcgICAgICAgdHJhY2tJZGVudGlmaWVyOwotICAg
ICAgICAgICAgIERPTVN0cmluZyAgICAgICBraW5kOworICAgICAgICAgICAgIHJlcXVpcmVkIERP
TVN0cmluZyAgICAgICB0cmFja0lkZW50aWZpZXI7CisgICAgICAgICAgICAgcmVxdWlyZWQgRE9N
U3RyaW5nICAgICAgIGtpbmQ7CisgICAgICAgICAgICAgYm9vbGVhbiAgICAgICAgIHJlbGF5ZWRT
b3VyY2U7CiB9OwogCiBkaWN0aW9uYXJ5IFJUQ0F1ZGlvU291cmNlU3RhdHMgOiBSVENNZWRpYVNv
dXJjZVN0YXRzIHsKQEAgLTIwMywxMiArMjAzLDEyIEBAIGRpY3Rpb25hcnkgUlRDVmlkZW9Tb3Vy
Y2VTdGF0cyA6IFJUQ01lZGlhU291cmNlU3RhdHMgewogICAgICAgICAgICAgIHVuc2lnbmVkIGxv
bmcgICBoZWlnaHQ7CiAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyAgIGJpdERlcHRoOwogICAg
ICAgICAgICAgIHVuc2lnbmVkIGxvbmcgICBmcmFtZXM7Ci0gICAgICAgICAgICAgdW5zaWduZWQg
bG9uZyAgIGZyYW1lc1BlclNlY29uZDsKKyAgICAgICAgICAgICBkb3VibGUgICAgICAgICAgZnJh
bWVzUGVyU2Vjb25kOwogfTsKIAogZGljdGlvbmFyeSBSVENSdHBDb250cmlidXRpbmdTb3VyY2VT
dGF0cyA6IFJUQ1N0YXRzIHsKLSAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGNvbnRyaWJ1dG9y
U3NyYzsKLSAgICAgICAgICAgICBET01TdHJpbmcgICAgIGluYm91bmRSdHBTdHJlYW1JZDsKKyAg
ICAgICAgICAgICByZXF1aXJlZCB1bnNpZ25lZCBsb25nIGNvbnRyaWJ1dG9yU3NyYzsKKyAgICAg
ICAgICAgICByZXF1aXJlZCBET01TdHJpbmcgICAgIGluYm91bmRSdHBTdHJlYW1JZDsKICAgICAg
ICAgICAgICB1bnNpZ25lZCBsb25nIHBhY2tldHNDb250cmlidXRlZFRvOwogICAgICAgICAgICAg
IGRvdWJsZSAgICAgICAgYXVkaW9MZXZlbDsKIH07CkBAIC0yMjAsMTggKzIyMCwxNiBAQCBkaWN0
aW9uYXJ5IFJUQ1BlZXJDb25uZWN0aW9uU3RhdHMgOiBSVENTdGF0cyB7CiAgICAgICAgICAgICB1
bnNpZ25lZCBsb25nIGRhdGFDaGFubmVsc0FjY2VwdGVkOwogfTsKIAotZGljdGlvbmFyeSBSVENS
dHBUcmFuc2NlaXZlclN0YXRzIHsKLSAgICBET01TdHJpbmcgc2VuZGVySWQ7Ci0gICAgRE9NU3Ry
aW5nIHJlY2VpdmVySWQ7CitkaWN0aW9uYXJ5IFJUQ1J0cFRyYW5zY2VpdmVyU3RhdHMgOiBSVENT
dGF0cyB7CisgICAgcmVxdWlyZWQgRE9NU3RyaW5nIHNlbmRlcklkOworICAgIHJlcXVpcmVkIERP
TVN0cmluZyByZWNlaXZlcklkOwogICAgIERPTVN0cmluZyBtaWQ7CiB9OwogCiBkaWN0aW9uYXJ5
IFJUQ01lZGlhSGFuZGxlclN0YXRzIDogUlRDU3RhdHMgewogICAgICAgICAgICAgIERPTVN0cmlu
ZyAgICAgICAgICAgdHJhY2tJZGVudGlmaWVyOwotICAgICAgICAgICAgIGJvb2xlYW4gICAgICAg
ICAgICAgcmVtb3RlU291cmNlOwogICAgICAgICAgICAgIGJvb2xlYW4gICAgICAgICAgICAgZW5k
ZWQ7Ci0gICAgICAgICAgICAgRE9NU3RyaW5nICAgICAgICAgICBraW5kOwotICAgICAgICAgICAg
IFJUQ1ByaW9yaXR5VHlwZSAgICAgcHJpb3JpdHk7CisgICAgICAgICAgICAgcmVxdWlyZWQgRE9N
U3RyaW5nICBraW5kOwogfTsKIAogZGljdGlvbmFyeSBSVENWaWRlb0hhbmRsZXJTdGF0cyA6IFJU
Q01lZGlhSGFuZGxlclN0YXRzIHsKQEAgLTI0MSw5ICsyMzksNiBAQCBkaWN0aW9uYXJ5IFJUQ1Zp
ZGVvU2VuZGVyU3RhdHMgOiBSVENWaWRlb0hhbmRsZXJTdGF0cyB7CiAgICAgICAgICAgICAgRE9N
U3RyaW5nICAgICAgICAgICBtZWRpYVNvdXJjZUlkOwogfTsKIAotZGljdGlvbmFyeSBSVENTZW5k
ZXJWaWRlb1RyYWNrQXR0YWNobWVudFN0YXRzIDogUlRDVmlkZW9TZW5kZXJTdGF0cyB7Ci19Owot
CiBkaWN0aW9uYXJ5IFJUQ1ZpZGVvUmVjZWl2ZXJTdGF0cyA6IFJUQ1ZpZGVvSGFuZGxlclN0YXRz
IHsKIH07CiAKQEAgLTI1NCwxOCArMjQ5LDE1IEBAIGRpY3Rpb25hcnkgUlRDQXVkaW9TZW5kZXJT
dGF0cyA6IFJUQ0F1ZGlvSGFuZGxlclN0YXRzIHsKICAgICAgICAgICAgICBET01TdHJpbmcgICAg
ICAgICAgIG1lZGlhU291cmNlSWQ7CiB9OwogCi1kaWN0aW9uYXJ5IFJUQ1NlbmRlckF1ZGlvVHJh
Y2tBdHRhY2htZW50U3RhdHMgOiBSVENBdWRpb1NlbmRlclN0YXRzIHsKLX07Ci0KIGRpY3Rpb25h
cnkgUlRDQXVkaW9SZWNlaXZlclN0YXRzIDogUlRDQXVkaW9IYW5kbGVyU3RhdHMgewogfTsKIAog
ZGljdGlvbmFyeSBSVENEYXRhQ2hhbm5lbFN0YXRzIDogUlRDU3RhdHMgewogICAgICAgICAgICAg
IERPTVN0cmluZyAgICAgICAgICAgbGFiZWw7CiAgICAgICAgICAgICAgRE9NU3RyaW5nICAgICAg
ICAgICBwcm90b2NvbDsKLSAgICAgICAgICAgICBsb25nICAgICAgICAgICAgICAgIGRhdGFDaGFu
bmVsSWRlbnRpZmllcjsKLSAgICAgICAgICAgICBET01TdHJpbmcgICAgICAgICAgIHRyYW5zcG9y
dElkOwotICAgICAgICAgICAgIFJUQ0RhdGFDaGFubmVsU3RhdGUgc3RhdGU7CisgICAgICAgICAg
ICAgdW5zaWduZWQgc2hvcnQgICAgICBkYXRhQ2hhbm5lbElkZW50aWZpZXI7CisgICAgICAgICAg
ICAgcmVxdWlyZWQgRE9NU3RyaW5nICB0cmFuc3BvcnRJZDsKKyAgICAgICAgICAgICByZXF1aXJl
ZCBSVENEYXRhQ2hhbm5lbFN0YXRlIHN0YXRlOwogICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcg
ICAgICAgbWVzc2FnZXNTZW50OwogICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbG9uZyAgYnl0
ZXNTZW50OwogICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgICAgICAgbWVzc2FnZXNSZWNlaXZl
ZDsKQEAgLTI3OSw3ICsyNzEsOSBAQCBkaWN0aW9uYXJ5IFJUQ1RyYW5zcG9ydFN0YXRzIDogUlRD
U3RhdHMgewogICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbG9uZyAgICBieXRlc1JlY2VpdmVk
OwogICAgICAgICAgICAgIERPTVN0cmluZyAgICAgICAgICAgICBydGNwVHJhbnNwb3J0U3RhdHNJ
ZDsKICAgICAgICAgICAgICBSVENJY2VSb2xlICAgICAgICAgICAgaWNlUm9sZTsKLSAgICAgICAg
ICAgICBSVENEdGxzVHJhbnNwb3J0U3RhdGUgZHRsc1N0YXRlOworICAgICAgICAgICAgIERPTVN0
cmluZyAgICAgICAgICAgICBpY2VMb2NhbFVzZXJuYW1lRnJhZ21lbnQ7CisgICAgICAgICAgICAg
cmVxdWlyZWQgUlRDRHRsc1RyYW5zcG9ydFN0YXRlIGR0bHNTdGF0ZTsKKyAgICAgICAgICAgICBS
VENJY2VUcmFuc3BvcnRTdGF0ZSAgaWNlU3RhdGU7CiAgICAgICAgICAgICAgRE9NU3RyaW5nICAg
ICAgICAgICAgIHNlbGVjdGVkQ2FuZGlkYXRlUGFpcklkOwogICAgICAgICAgICAgIERPTVN0cmlu
ZyAgICAgICAgICAgICBsb2NhbENlcnRpZmljYXRlSWQ7CiAgICAgICAgICAgICAgRE9NU3RyaW5n
ICAgICAgICAgICAgIHJlbW90ZUNlcnRpZmljYXRlSWQ7CkBAIC0yOTEsMjUgKzI4NSwyOSBAQCBk
aWN0aW9uYXJ5IFJUQ1RyYW5zcG9ydFN0YXRzIDogUlRDU3RhdHMgewogfTsKIAogZGljdGlvbmFy
eSBSVENTY3RwVHJhbnNwb3J0U3RhdHMgOiBSVENTdGF0cyB7Ci0gICAgZG91YmxlIHNtb290aGVk
Um91bmRUcmlwVGltZTsKKyAgICAgICAgICAgIGRvdWJsZSBzbW9vdGhlZFJvdW5kVHJpcFRpbWU7
CisgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGNvbmdlc3Rpb25XaW5kb3c7CisgICAgICAgICAg
ICB1bnNpZ25lZCBsb25nIHJlY2VpdmVyV2luZG93OworICAgICAgICAgICAgdW5zaWduZWQgbG9u
ZyBtdHU7CisgICAgICAgICAgICB1bnNpZ25lZCBsb25nIHVuYWNrRGF0YTsKIH07CiAKIGRpY3Rp
b25hcnkgUlRDSWNlQ2FuZGlkYXRlU3RhdHMgOiBSVENTdGF0cyB7Ci0gICAgICAgICAgICAgRE9N
U3RyaW5nICAgICAgICAgICAgICAgIHRyYW5zcG9ydElkOworICAgICAgICAgICAgIHJlcXVpcmVk
IERPTVN0cmluZyAgICAgICB0cmFuc3BvcnRJZDsKICAgICAgICAgICAgICBET01TdHJpbmc/ICAg
ICAgICAgICAgICAgYWRkcmVzczsKICAgICAgICAgICAgICBsb25nICAgICAgICAgICAgICAgICAg
ICAgcG9ydDsKICAgICAgICAgICAgICBET01TdHJpbmcgICAgICAgICAgICAgICAgcHJvdG9jb2w7
Ci0gICAgICAgICAgICAgUlRDSWNlQ2FuZGlkYXRlVHlwZSAgICAgIGNhbmRpZGF0ZVR5cGU7Cisg
ICAgICAgICAgICAgcmVxdWlyZWQgUlRDSWNlQ2FuZGlkYXRlVHlwZSBjYW5kaWRhdGVUeXBlOwog
ICAgICAgICAgICAgIGxvbmcgICAgICAgICAgICAgICAgICAgICBwcmlvcml0eTsKICAgICAgICAg
ICAgICBET01TdHJpbmcgICAgICAgICAgICAgICAgdXJsOwogICAgICAgICAgICAgIERPTVN0cmlu
ZyAgICAgICAgICAgICAgICByZWxheVByb3RvY29sOwogfTsKIAogZGljdGlvbmFyeSBSVENJY2VD
YW5kaWRhdGVQYWlyU3RhdHMgOiBSVENTdGF0cyB7Ci0gICAgICAgICAgICAgRE9NU3RyaW5nICAg
ICAgICAgICAgICAgICAgICAgdHJhbnNwb3J0SWQ7Ci0gICAgICAgICAgICAgRE9NU3RyaW5nICAg
ICAgICAgICAgICAgICAgICAgbG9jYWxDYW5kaWRhdGVJZDsKLSAgICAgICAgICAgICBET01TdHJp
bmcgICAgICAgICAgICAgICAgICAgICByZW1vdGVDYW5kaWRhdGVJZDsKLSAgICAgICAgICAgICBS
VENTdGF0c0ljZUNhbmRpZGF0ZVBhaXJTdGF0ZSBzdGF0ZTsKKyAgICAgICAgICAgICByZXF1aXJl
ZCBET01TdHJpbmcgICAgICAgICAgICB0cmFuc3BvcnRJZDsKKyAgICAgICAgICAgICByZXF1aXJl
ZCBET01TdHJpbmcgICAgICAgICAgICBsb2NhbENhbmRpZGF0ZUlkOworICAgICAgICAgICAgIHJl
cXVpcmVkIERPTVN0cmluZyAgICAgICAgICAgIHJlbW90ZUNhbmRpZGF0ZUlkOworICAgICAgICAg
ICAgIHJlcXVpcmVkIFJUQ1N0YXRzSWNlQ2FuZGlkYXRlUGFpclN0YXRlIHN0YXRlOwogICAgICAg
ICAgICAgIGJvb2xlYW4gICAgICAgICAgICAgICAgICAgICAgIG5vbWluYXRlZDsKICAgICAgICAg
ICAgICB1bnNpZ25lZCBsb25nIGxvbmcgICAgICAgICAgICBwYWNrZXRzU2VudDsKICAgICAgICAg
ICAgICB1bnNpZ25lZCBsb25nIGxvbmcgICAgICAgICAgICBwYWNrZXRzUmVjZWl2ZWQ7CkBAIC0z
MzUsNiArMzMzLDkgQEAgZGljdGlvbmFyeSBSVENJY2VDYW5kaWRhdGVQYWlyU3RhdHMgOiBSVENT
dGF0cyB7CiAgICAgICAgICAgICAgRE9NSGlnaFJlc1RpbWVTdGFtcCAgICAgICAgICAgY29uc2Vu
dEV4cGlyZWRUaW1lc3RhbXA7CiAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyAgICAgICAgICAg
ICAgICAgcGFja2V0c0Rpc2NhcmRlZE9uU2VuZDsKICAgICAgICAgICAgICB1bnNpZ25lZCBsb25n
IGxvbmcgICAgICAgICAgICBieXRlc0Rpc2NhcmRlZE9uU2VuZDsKKyAgICAgICAgICAgICB1bnNp
Z25lZCBsb25nIGxvbmcgICAgICAgICAgICByZXF1ZXN0Qnl0ZXNTZW50OworICAgICAgICAgICAg
IHVuc2lnbmVkIGxvbmcgbG9uZyAgICAgICAgICAgIGNvbnNlbnRSZXF1ZXN0Qnl0ZXNTZW50Owor
ICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbG9uZyAgICAgICAgICAgIHJlc3BvbnNlQnl0ZXNT
ZW50OwogfTsKIAogZW51bSBSVENTdGF0c0ljZUNhbmRpZGF0ZVBhaXJTdGF0ZSB7CkBAIC0zNDYs
MTAzICszNDcsMTcgQEAgZW51bSBSVENTdGF0c0ljZUNhbmRpZGF0ZVBhaXJTdGF0ZSB7CiB9Owog
CiBkaWN0aW9uYXJ5IFJUQ0NlcnRpZmljYXRlU3RhdHMgOiBSVENTdGF0cyB7Ci0gICAgICAgICAg
ICAgRE9NU3RyaW5nIGZpbmdlcnByaW50OwotICAgICAgICAgICAgIERPTVN0cmluZyBmaW5nZXJw
cmludEFsZ29yaXRobTsKLSAgICAgICAgICAgICBET01TdHJpbmcgYmFzZTY0Q2VydGlmaWNhdGU7
CisgICAgICAgICAgICAgcmVxdWlyZWQgRE9NU3RyaW5nIGZpbmdlcnByaW50OworICAgICAgICAg
ICAgIHJlcXVpcmVkIERPTVN0cmluZyBmaW5nZXJwcmludEFsZ29yaXRobTsKKyAgICAgICAgICAg
ICByZXF1aXJlZCBET01TdHJpbmcgYmFzZTY0Q2VydGlmaWNhdGU7CiAgICAgICAgICAgICAgRE9N
U3RyaW5nIGlzc3VlckNlcnRpZmljYXRlSWQ7CiB9OwogCiBkaWN0aW9uYXJ5IFJUQ0ljZVNlcnZl
clN0YXRzIDogUlRDU3RhdHMgewotICAgICAgICAgICBET01TdHJpbmcgdXJsOworICAgICAgICAg
ICByZXF1aXJlZCBET01TdHJpbmcgdXJsOwogICAgICAgICAgICBsb25nIHBvcnQ7Ci0gICAgICAg
ICAgIERPTVN0cmluZyBwcm90b2NvbDsKKyAgICAgICAgICAgRE9NU3RyaW5nIHJlbGF5UHJvdG9j
b2w7CiAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgdG90YWxSZXF1ZXN0c1NlbnQ7CiAgICAgICAg
ICAgIHVuc2lnbmVkIGxvbmcgdG90YWxSZXNwb25zZXNSZWNlaXZlZDsKICAgICAgICAgICAgZG91
YmxlIHRvdGFsUm91bmRUcmlwVGltZTsKIH07Ci0KLWRpY3Rpb25hcnkgUlRDTWVkaWFTdHJlYW1T
dGF0cyA6IFJUQ1N0YXRzIHsKLSAgRE9NU3RyaW5nIHN0cmVhbUlkZW50aWZpZXI7Ci0gIHNlcXVl
bmNlPERPTVN0cmluZz4gdHJhY2tJZHM7Ci19OwotCi1kaWN0aW9uYXJ5IFJUQ1JlY2VpdmVyVmlk
ZW9UcmFja0F0dGFjaG1lbnRTdGF0cyA6IFJUQ1ZpZGVvUmVjZWl2ZXJTdGF0cyB7fTsKLQotZGlj
dGlvbmFyeSBSVENSZWNlaXZlckF1ZGlvVHJhY2tBdHRhY2htZW50U3RhdHMgOiBSVENBdWRpb1Jl
Y2VpdmVyU3RhdHMge307Ci0KLXBhcnRpYWwgZGljdGlvbmFyeSBSVENDb2RlY1N0YXRzIHsKLSAg
ICBET01TdHJpbmcgaW1wbGVtZW50YXRpb247Ci19OwotCi1wYXJ0aWFsIGRpY3Rpb25hcnkgUlRD
SWNlQ2FuZGlkYXRlU3RhdHMgewotICAgIGJvb2xlYW4gZGVsZXRlZCA9IGZhbHNlOwotICAgIGJv
b2xlYW4gaXNSZW1vdGU7Ci19OwotCi1wYXJ0aWFsIGRpY3Rpb25hcnkgUlRDSWNlQ2FuZGlkYXRl
UGFpclN0YXRzIHsKLSAgICBkb3VibGUgdG90YWxSdHQ7Ci0gICAgZG91YmxlIGN1cnJlbnRSdHQ7
Ci0gICAgdW5zaWduZWQgbG9uZyBsb25nIHByaW9yaXR5OwotfTsKLQotcGFydGlhbCBkaWN0aW9u
YXJ5IFJUQ1J0cFN0cmVhbVN0YXRzIHsKLSAgICBET01TdHJpbmcgbWVkaWFUeXBlOwotICAgIGRv
dWJsZSBhdmVyYWdlUlRDUEludGVydmFsOwotfTsKLQotcGFydGlhbCBkaWN0aW9uYXJ5IFJUQ0lu
Ym91bmRSdHBTdHJlYW1TdGF0cyB7Ci0gICAgZG91YmxlIGZyYWN0aW9uTG9zdDsKLX07Ci0KLXBh
cnRpYWwgZGljdGlvbmFyeSBSVENBdWRpb0hhbmRsZXJTdGF0cyB7Ci0gICAgZG91YmxlIGF1ZGlv
TGV2ZWw7Ci0gICAgZG91YmxlIHRvdGFsQXVkaW9FbmVyZ3k7Ci0gICAgZG91YmxlIHRvdGFsU2Ft
cGxlc0R1cmF0aW9uOwotICAgIGJvb2xlYW4gdm9pY2VBY3Rpdml0eUZsYWc7Ci19OwotCi1wYXJ0
aWFsIGRpY3Rpb25hcnkgUlRDQXVkaW9TZW5kZXJTdGF0cyB7Ci0gICAgdW5zaWduZWQgbG9uZyBs
b25nIHRvdGFsU2FtcGxlc1NlbnQ7Ci0gICAgZG91YmxlIGVjaG9SZXR1cm5Mb3NzOwotICAgIGRv
dWJsZSBlY2hvUmV0dXJuTG9zc0VuaGFuY2VtZW50OwotfTsKLQotcGFydGlhbCBkaWN0aW9uYXJ5
IFJUQ0F1ZGlvUmVjZWl2ZXJTdGF0cyB7Ci0gICAgRE9NSGlnaFJlc1RpbWVTdGFtcCBlc3RpbWF0
ZWRQbGF5b3V0VGltZXN0YW1wOwotICAgIGRvdWJsZSBqaXR0ZXJCdWZmZXJEZWxheTsKLSAgICB1
bnNpZ25lZCBsb25nIGxvbmcgaml0dGVyQnVmZmVyRW1pdHRlZENvdW50OwotICAgIHVuc2lnbmVk
IGxvbmcgbG9uZyB0b3RhbFNhbXBsZXNSZWNlaXZlZDsKLSAgICB1bnNpZ25lZCBsb25nIGxvbmcg
Y29uY2VhbGVkU2FtcGxlczsKLSAgICB1bnNpZ25lZCBsb25nIGxvbmcgc2lsZW50Q29uY2VhbGVk
U2FtcGxlczsKLSAgICB1bnNpZ25lZCBsb25nIGxvbmcgY29uY2VhbG1lbnRFdmVudHM7Ci0gICAg
dW5zaWduZWQgbG9uZyBsb25nIGluc2VydGVkU2FtcGxlc0ZvckRlY2VsZXJhdGlvbjsKLSAgICB1
bnNpZ25lZCBsb25nIGxvbmcgcmVtb3ZlZFNhbXBsZXNGb3JBY2NlbGVyYXRpb247Ci0gICAgZG91
YmxlIGF1ZGlvTGV2ZWw7Ci0gICAgZG91YmxlIHRvdGFsQXVkaW9FbmVyZ3k7Ci0gICAgZG91Ymxl
IHRvdGFsU2FtcGxlc0R1cmF0aW9uOwotfTsKLQotcGFydGlhbCBkaWN0aW9uYXJ5IFJUQ1ZpZGVv
SGFuZGxlclN0YXRzIHsKLSAgICB1bnNpZ25lZCBsb25nIGZyYW1lV2lkdGg7Ci0gICAgdW5zaWdu
ZWQgbG9uZyBmcmFtZUhlaWdodDsKLSAgICBkb3VibGUgZnJhbWVzUGVyU2Vjb25kOwotfTsKLQot
cGFydGlhbCBkaWN0aW9uYXJ5IFJUQ1ZpZGVvU2VuZGVyU3RhdHMgewotICAgIHVuc2lnbmVkIGxv
bmcga2V5RnJhbWVzU2VudDsKLSAgICB1bnNpZ25lZCBsb25nIGZyYW1lc0NhcHR1cmVkOwotICAg
IHVuc2lnbmVkIGxvbmcgZnJhbWVzU2VudDsKLSAgICB1bnNpZ25lZCBsb25nIGh1Z2VGcmFtZXNT
ZW50OwotfTsKLQotcGFydGlhbCBkaWN0aW9uYXJ5IFJUQ1ZpZGVvUmVjZWl2ZXJTdGF0cyB7Ci0g
ICAgdW5zaWduZWQgbG9uZyBrZXlGcmFtZXNSZWNlaXZlZDsKLSAgICBET01IaWdoUmVzVGltZVN0
YW1wIGVzdGltYXRlZFBsYXlvdXRUaW1lc3RhbXA7Ci0gICAgZG91YmxlIGppdHRlckJ1ZmZlckRl
bGF5OwotICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBqaXR0ZXJCdWZmZXJFbWl0dGVkQ291bnQ7Ci0g
ICAgdW5zaWduZWQgbG9uZyBmcmFtZXNSZWNlaXZlZDsKLSAgICB1bnNpZ25lZCBsb25nIGZyYW1l
c0RlY29kZWQ7Ci0gICAgdW5zaWduZWQgbG9uZyBmcmFtZXNEcm9wcGVkOwotICAgIHVuc2lnbmVk
IGxvbmcgcGFydGlhbEZyYW1lc0xvc3Q7Ci0gICAgdW5zaWduZWQgbG9uZyBmdWxsRnJhbWVzTG9z
dDsKLX07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ludGVyZmFjZXMvd2VicnRjLXN2Yy5pZGwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2VicnRjLXN2Yy5pZGwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjY5MWE4N2IzMGQzOWQ3ZGI0MmUyOWUwNDk2NGZiNGU4ZjdmZWZjYQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJm
YWNlcy93ZWJydGMtc3ZjLmlkbApAQCAtMCwwICsxLDEyIEBACisvLyBHRU5FUkFURUQgQ09OVEVO
VCAtIERPIE5PVCBFRElUCisvLyBDb250ZW50IHdhcyBhdXRvbWF0aWNhbGx5IGV4dHJhY3RlZCBi
eSBSZWZmeSBpbnRvIHJlZmZ5LXJlcG9ydHMKKy8vIChodHRwczovL2dpdGh1Yi5jb20vdGlkb3Vz
dC9yZWZmeS1yZXBvcnRzKQorLy8gU291cmNlOiBTY2FsYWJsZSBWaWRlbyBDb2RpbmcgKFNWQykg
RXh0ZW5zaW9uIGZvciBXZWJSVEMgKGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJydGMtc3ZjLykK
KworcGFydGlhbCBkaWN0aW9uYXJ5IFJUQ1J0cEVuY29kaW5nUGFyYW1ldGVycyB7CisgICAgICAg
ICAgICAgRE9NU3RyaW5nICAgICAgICAgICBzY2FsYWJpbGl0eU1vZGU7Cit9OworCitwYXJ0aWFs
IGRpY3Rpb25hcnkgUlRDUnRwQ29kZWNDYXBhYmlsaXR5IHsKKyAgICAgICAgICAgICBzZXF1ZW5j
ZTxET01TdHJpbmc+ICAgICAgICAgICBzY2FsYWJpbGl0eU1vZGVzOworfTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93
ZWJydGMuaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bnRlcmZhY2VzL3dlYnJ0Yy5pZGwKaW5kZXggM2IyYmU2MWNlZGM4OGI1NTljMmVhODYzODhmODZj
ZmU0NGJkYjkzYS4uZWZiMjFmNGEwY2M1NWMzMzZjMGMxNDUyOThkNDYzZDAyNjNhYTU3NSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRl
cmZhY2VzL3dlYnJ0Yy5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYnJ0Yy5pZGwKQEAgLTEzLDEyICsxMywxMyBAQCBkaWN0
aW9uYXJ5IFJUQ0NvbmZpZ3VyYXRpb24gewogfTsKIAogZW51bSBSVENJY2VDcmVkZW50aWFsVHlw
ZSB7Ci0gICJwYXNzd29yZCIsCisgICJwYXNzd29yZCIKIH07CiAKIGRpY3Rpb25hcnkgUlRDSWNl
U2VydmVyIHsKICAgcmVxdWlyZWQgKERPTVN0cmluZyBvciBzZXF1ZW5jZTxET01TdHJpbmc+KSB1
cmxzOwogICBET01TdHJpbmcgdXNlcm5hbWU7CisgIERPTVN0cmluZyBjcmVkZW50aWFsOwogICBS
VENJY2VDcmVkZW50aWFsVHlwZSBjcmVkZW50aWFsVHlwZSA9ICJwYXNzd29yZCI7CiB9OwogCkBA
IC04NCwxMSArODUsMTEgQEAgaW50ZXJmYWNlIFJUQ1BlZXJDb25uZWN0aW9uIDogRXZlbnRUYXJn
ZXQgIHsKICAgY29uc3RydWN0b3Iob3B0aW9uYWwgUlRDQ29uZmlndXJhdGlvbiBjb25maWd1cmF0
aW9uID0ge30pOwogICBQcm9taXNlPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkluaXQ+IGNyZWF0ZU9m
ZmVyKG9wdGlvbmFsIFJUQ09mZmVyT3B0aW9ucyBvcHRpb25zID0ge30pOwogICBQcm9taXNlPFJU
Q1Nlc3Npb25EZXNjcmlwdGlvbkluaXQ+IGNyZWF0ZUFuc3dlcihvcHRpb25hbCBSVENBbnN3ZXJP
cHRpb25zIG9wdGlvbnMgPSB7fSk7Ci0gIFByb21pc2U8dm9pZD4gc2V0TG9jYWxEZXNjcmlwdGlv
bihvcHRpb25hbCBSVENTZXNzaW9uRGVzY3JpcHRpb25Jbml0IGRlc2NyaXB0aW9uID0ge30pOwor
ICBQcm9taXNlPHZvaWQ+IHNldExvY2FsRGVzY3JpcHRpb24ob3B0aW9uYWwgUlRDTG9jYWxTZXNz
aW9uRGVzY3JpcHRpb25Jbml0IGRlc2NyaXB0aW9uID0ge30pOwogICByZWFkb25seSBhdHRyaWJ1
dGUgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uPyBsb2NhbERlc2NyaXB0aW9uOwogICByZWFkb25seSBh
dHRyaWJ1dGUgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uPyBjdXJyZW50TG9jYWxEZXNjcmlwdGlvbjsK
ICAgcmVhZG9ubHkgYXR0cmlidXRlIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbj8gcGVuZGluZ0xvY2Fs
RGVzY3JpcHRpb247Ci0gIFByb21pc2U8dm9pZD4gc2V0UmVtb3RlRGVzY3JpcHRpb24ob3B0aW9u
YWwgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uSW5pdCBkZXNjcmlwdGlvbiA9IHt9KTsKKyAgUHJvbWlz
ZTx2b2lkPiBzZXRSZW1vdGVEZXNjcmlwdGlvbihSVENTZXNzaW9uRGVzY3JpcHRpb25Jbml0IGRl
c2NyaXB0aW9uKTsKICAgcmVhZG9ubHkgYXR0cmlidXRlIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbj8g
cmVtb3RlRGVzY3JpcHRpb247CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBSVENTZXNzaW9uRGVzY3Jp
cHRpb24/IGN1cnJlbnRSZW1vdGVEZXNjcmlwdGlvbjsKICAgcmVhZG9ubHkgYXR0cmlidXRlIFJU
Q1Nlc3Npb25EZXNjcmlwdGlvbj8gcGVuZGluZ1JlbW90ZURlc2NyaXB0aW9uOwpAQCAtMTE4LDEy
ICsxMTksMTIgQEAgaW50ZXJmYWNlIFJUQ1BlZXJDb25uZWN0aW9uIDogRXZlbnRUYXJnZXQgIHsK
ICAgUHJvbWlzZTx2b2lkPiBjcmVhdGVPZmZlcihSVENTZXNzaW9uRGVzY3JpcHRpb25DYWxsYmFj
ayBzdWNjZXNzQ2FsbGJhY2ssCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRDUGVlckNv
bm5lY3Rpb25FcnJvckNhbGxiYWNrIGZhaWx1cmVDYWxsYmFjaywKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBvcHRpb25hbCBSVENPZmZlck9wdGlvbnMgb3B0aW9ucyA9IHt9KTsKLSAgUHJv
bWlzZTx2b2lkPiBzZXRMb2NhbERlc2NyaXB0aW9uKG9wdGlvbmFsIFJUQ1Nlc3Npb25EZXNjcmlw
dGlvbkluaXQgZGVzY3JpcHRpb24gPSB7fSwKKyAgUHJvbWlzZTx2b2lkPiBzZXRMb2NhbERlc2Ny
aXB0aW9uKG9wdGlvbmFsIFJUQ0xvY2FsU2Vzc2lvbkRlc2NyaXB0aW9uSW5pdCBkZXNjcmlwdGlv
biA9IHt9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVm9pZEZ1bmN0aW9u
IHN1Y2Nlc3NDYWxsYmFjaywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJU
Q1BlZXJDb25uZWN0aW9uRXJyb3JDYWxsYmFjayBmYWlsdXJlQ2FsbGJhY2spOwogICBQcm9taXNl
PHZvaWQ+IGNyZWF0ZUFuc3dlcihSVENTZXNzaW9uRGVzY3JpcHRpb25DYWxsYmFjayBzdWNjZXNz
Q2FsbGJhY2ssCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJUQ1BlZXJDb25uZWN0aW9u
RXJyb3JDYWxsYmFjayBmYWlsdXJlQ2FsbGJhY2spOwotICBQcm9taXNlPHZvaWQ+IHNldFJlbW90
ZURlc2NyaXB0aW9uKG9wdGlvbmFsIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkluaXQgZGVzY3JpcHRp
b24gPSB7fSwKKyAgUHJvbWlzZTx2b2lkPiBzZXRSZW1vdGVEZXNjcmlwdGlvbihSVENTZXNzaW9u
RGVzY3JpcHRpb25Jbml0IGRlc2NyaXB0aW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFZvaWRGdW5jdGlvbiBzdWNjZXNzQ2FsbGJhY2ssCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgUlRDUGVlckNvbm5lY3Rpb25FcnJvckNhbGxiYWNrIGZhaWx1
cmVDYWxsYmFjayk7CiAgIFByb21pc2U8dm9pZD4gYWRkSWNlQ2FuZGlkYXRlKFJUQ0ljZUNhbmRp
ZGF0ZUluaXQgY2FuZGlkYXRlLApAQCAtMTQ5LDEzICsxNTAsMTggQEAgZW51bSBSVENTZHBUeXBl
IHsKIAogW0V4cG9zZWQ9V2luZG93XQogaW50ZXJmYWNlIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiB7
Ci0gIGNvbnN0cnVjdG9yKG9wdGlvbmFsIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbkluaXQgZGVzY3Jp
cHRpb25Jbml0RGljdCA9IHt9KTsKKyAgY29uc3RydWN0b3IoUlRDU2Vzc2lvbkRlc2NyaXB0aW9u
SW5pdCBkZXNjcmlwdGlvbkluaXREaWN0KTsKICAgcmVhZG9ubHkgYXR0cmlidXRlIFJUQ1NkcFR5
cGUgdHlwZTsKICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBzZHA7CiAgIFtEZWZhdWx0
XSBvYmplY3QgdG9KU09OKCk7CiB9OwogCiBkaWN0aW9uYXJ5IFJUQ1Nlc3Npb25EZXNjcmlwdGlv
bkluaXQgeworICByZXF1aXJlZCBSVENTZHBUeXBlIHR5cGU7CisgIERPTVN0cmluZyBzZHAgPSAi
IjsKK307CisKK2RpY3Rpb25hcnkgUlRDTG9jYWxTZXNzaW9uRGVzY3JpcHRpb25Jbml0IHsKICAg
UlRDU2RwVHlwZSB0eXBlOwogICBET01TdHJpbmcgc2RwID0gIiI7CiB9OwpAQCAtMjI4LDcgKzIz
NCw4IEBAIGludGVyZmFjZSBSVENQZWVyQ29ubmVjdGlvbkljZUVycm9yRXZlbnQgOiBFdmVudCB7
CiB9OwogCiBkaWN0aW9uYXJ5IFJUQ1BlZXJDb25uZWN0aW9uSWNlRXJyb3JFdmVudEluaXQgOiBF
dmVudEluaXQgewotICBET01TdHJpbmcgaG9zdENhbmRpZGF0ZTsKKyAgRE9NU3RyaW5nPyBhZGRy
ZXNzOworICB1bnNpZ25lZCBzaG9ydD8gcG9ydDsKICAgRE9NU3RyaW5nIHVybDsKICAgcmVxdWly
ZWQgdW5zaWduZWQgc2hvcnQgZXJyb3JDb2RlOwogICBVU1ZTdHJpbmcgc3RhdHVzVGV4dDsKQEAg
LTU1OSwxMiArNTY2LDEyIEBAIGludGVyZmFjZSBSVENEVE1GU2VuZGVyIDogRXZlbnRUYXJnZXQg
ewogCiBbRXhwb3NlZD1XaW5kb3ddCiBpbnRlcmZhY2UgUlRDRFRNRlRvbmVDaGFuZ2VFdmVudCA6
IEV2ZW50IHsKLSAgY29uc3RydWN0b3IoRE9NU3RyaW5nIHR5cGUsIFJUQ0RUTUZUb25lQ2hhbmdl
RXZlbnRJbml0IGV2ZW50SW5pdERpY3QpOworICBjb25zdHJ1Y3RvcihET01TdHJpbmcgdHlwZSwg
b3B0aW9uYWwgUlRDRFRNRlRvbmVDaGFuZ2VFdmVudEluaXQgZXZlbnRJbml0RGljdCA9IHt9KTsK
ICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB0b25lOwogfTsKIAogZGljdGlvbmFyeSBS
VENEVE1GVG9uZUNoYW5nZUV2ZW50SW5pdCA6IEV2ZW50SW5pdCB7Ci0gIHJlcXVpcmVkIERPTVN0
cmluZyB0b25lOworICBET01TdHJpbmcgdG9uZSA9ICIiOwogfTsKIAogcGFydGlhbCBpbnRlcmZh
Y2UgUlRDUGVlckNvbm5lY3Rpb24gewpAQCAtNTg3LDcgKzU5NCw2IEBAIGludGVyZmFjZSBSVENF
cnJvciA6IERPTUV4Y2VwdGlvbiB7CiAgIGNvbnN0cnVjdG9yKFJUQ0Vycm9ySW5pdCBpbml0LCBv
cHRpb25hbCBET01TdHJpbmcgbWVzc2FnZSA9ICIiKTsKICAgcmVhZG9ubHkgYXR0cmlidXRlIFJU
Q0Vycm9yRGV0YWlsVHlwZSBlcnJvckRldGFpbDsKICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmc/
IHNkcExpbmVOdW1iZXI7Ci0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nPyBodHRwUmVxdWVzdFN0
YXR1c0NvZGU7CiAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nPyBzY3RwQ2F1c2VDb2RlOwogICBy
ZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZz8gcmVjZWl2ZWRBbGVydDsKICAgcmVhZG9u
bHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmc/IHNlbnRBbGVydDsKQEAgLTU5Niw3ICs2MDIsNiBA
QCBpbnRlcmZhY2UgUlRDRXJyb3IgOiBET01FeGNlcHRpb24gewogZGljdGlvbmFyeSBSVENFcnJv
ckluaXQgewogICByZXF1aXJlZCBSVENFcnJvckRldGFpbFR5cGUgZXJyb3JEZXRhaWw7CiAgIGxv
bmcgc2RwTGluZU51bWJlcjsKLSAgbG9uZyBodHRwUmVxdWVzdFN0YXR1c0NvZGU7CiAgIGxvbmcg
c2N0cENhdXNlQ29kZTsKICAgdW5zaWduZWQgbG9uZyByZWNlaXZlZEFsZXJ0OwogICB1bnNpZ25l
ZCBsb25nIHNlbnRBbGVydDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWJ4ci1hci1tb2R1bGUuaWRsIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYnhyLWFy
LW1vZHVsZS5pZGwKaW5kZXggYzU4OTlkNjU3YjI5NzI2MTEyNTkwMjc3M2U4NTRjMThiZGYwZGYy
YS4uMmE1MjVkMmRhODljMjE1MDU3NDA3MDAyYjZlY2RkMDhjODQ3MmY5YyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dl
YnhyLWFyLW1vZHVsZS5pZGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYnhyLWFyLW1vZHVsZS5pZGwKQEAgLTEzLDMgKzEzLDEz
IEBAIHBhcnRpYWwgaW50ZXJmYWNlIFhSU2Vzc2lvbiB7CiAgIC8vIEF0dHJpYnV0ZXMKICAgcmVh
ZG9ubHkgYXR0cmlidXRlIFhSRW52aXJvbm1lbnRCbGVuZE1vZGUgZW52aXJvbm1lbnRCbGVuZE1v
ZGU7CiB9OworCitlbnVtIFhSSW50ZXJhY3Rpb25Nb2RlIHsKKyAgICAic2NyZWVuLXNwYWNlIiwK
KyAgICAid29ybGQtc3BhY2UiLAorfTsKKworcGFydGlhbCBpbnRlcmZhY2UgWFJTZXNzaW9uIHsK
KyAgLy8gQXR0cmlidXRlcworICByZWFkb25seSBhdHRyaWJ1dGUgWFJJbnRlcmFjdGlvbk1vZGUg
aW50ZXJhY3Rpb25Nb2RlOworfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWJ4ci5pZGwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd2VieHIuaWRsCmluZGV4
IDAzNjAzMDkwNzQ4MTg3OGRiNzA0MjY4ODhhYTBlM2FiOTlkNWMxNzguLmY3MjNhY2MwY2U1OGIz
YWE1NjU5NmZmZDMzNGE5M2ViNTk2ZWY0NjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93ZWJ4ci5pZGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcmZhY2VzL3dlYnhy
LmlkbApAQCAtNCwxMCArNCwxMCBAQAogLy8gU291cmNlOiBXZWJYUiBEZXZpY2UgQVBJIChodHRw
czovL2ltbWVyc2l2ZS13ZWIuZ2l0aHViLmlvL3dlYnhyLykKIAogcGFydGlhbCBpbnRlcmZhY2Ug
TmF2aWdhdG9yIHsKLSAgW1NlY3VyZUNvbnRleHQsIFNhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJp
YnV0ZSBYUiB4cjsKKyAgW1NlY3VyZUNvbnRleHQsIFNhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJp
YnV0ZSBYUlN5c3RlbSB4cjsKIH07CiAKLVtTZWN1cmVDb250ZXh0LCBFeHBvc2VkPVdpbmRvd10g
aW50ZXJmYWNlIFhSIDogRXZlbnRUYXJnZXQgeworW1NlY3VyZUNvbnRleHQsIEV4cG9zZWQ9V2lu
ZG93XSBpbnRlcmZhY2UgWFJTeXN0ZW0gOiBFdmVudFRhcmdldCB7CiAgIC8vIE1ldGhvZHMKICAg
UHJvbWlzZTxib29sZWFuPiBpc1Nlc3Npb25TdXBwb3J0ZWQoWFJTZXNzaW9uTW9kZSBtb2RlKTsK
ICAgW05ld09iamVjdF0gUHJvbWlzZTxYUlNlc3Npb24+IHJlcXVlc3RTZXNzaW9uKFhSU2Vzc2lv
bk1vZGUgbW9kZSwgb3B0aW9uYWwgWFJTZXNzaW9uSW5pdCBvcHRpb25zID0ge30pOwpAQCAtNDMs
NyArNDMsNyBAQCBlbnVtIFhSVmlzaWJpbGl0eVN0YXRlIHsKICAgdm9pZCB1cGRhdGVSZW5kZXJT
dGF0ZShvcHRpb25hbCBYUlJlbmRlclN0YXRlSW5pdCBzdGF0ZSA9IHt9KTsKICAgW05ld09iamVj
dF0gUHJvbWlzZTxYUlJlZmVyZW5jZVNwYWNlPiByZXF1ZXN0UmVmZXJlbmNlU3BhY2UoWFJSZWZl
cmVuY2VTcGFjZVR5cGUgdHlwZSk7CiAKLSAgbG9uZyByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoWFJG
cmFtZVJlcXVlc3RDYWxsYmFjayBjYWxsYmFjayk7CisgIHVuc2lnbmVkIGxvbmcgcmVxdWVzdEFu
aW1hdGlvbkZyYW1lKFhSRnJhbWVSZXF1ZXN0Q2FsbGJhY2sgY2FsbGJhY2spOwogICB2b2lkIGNh
bmNlbEFuaW1hdGlvbkZyYW1lKGxvbmcgaGFuZGxlKTsKIAogICBQcm9taXNlPHZvaWQ+IGVuZCgp
OwpAQCAtNjUsNiArNjUsNyBAQCBkaWN0aW9uYXJ5IFhSUmVuZGVyU3RhdGVJbml0IHsKICAgZG91
YmxlIGRlcHRoRmFyOwogICBkb3VibGUgaW5saW5lVmVydGljYWxGaWVsZE9mVmlldzsKICAgWFJX
ZWJHTExheWVyPyBiYXNlTGF5ZXI7CisgIHNlcXVlbmNlPFhSTGF5ZXI+PyBsYXllcnM7CiB9Owog
CiBbU2VjdXJlQ29udGV4dCwgRXhwb3NlZD1XaW5kb3ddIGludGVyZmFjZSBYUlJlbmRlclN0YXRl
IHsKQEAgLTE3Miw2ICsxNzMsOSBAQCBpbnRlcmZhY2UgWFJJbnB1dFNvdXJjZUFycmF5IHsKICAg
Z2V0dGVyIFhSSW5wdXRTb3VyY2UodW5zaWduZWQgbG9uZyBpbmRleCk7CiB9OwogCitbU2VjdXJl
Q29udGV4dCwgRXhwb3NlZD1XaW5kb3ddCitpbnRlcmZhY2UgWFJMYXllciA6IEV2ZW50VGFyZ2V0
IHt9OworCiB0eXBlZGVmIChXZWJHTFJlbmRlcmluZ0NvbnRleHQgb3IKICAgICAgICAgIFdlYkdM
MlJlbmRlcmluZ0NvbnRleHQpIFhSV2ViR0xSZW5kZXJpbmdDb250ZXh0OwogCkBAIC0xODUsNyAr
MTg5LDcgQEAgZGljdGlvbmFyeSBYUldlYkdMTGF5ZXJJbml0IHsKIH07CiAKIFtTZWN1cmVDb250
ZXh0LCBFeHBvc2VkPVdpbmRvd10KLWludGVyZmFjZSBYUldlYkdMTGF5ZXIgeworaW50ZXJmYWNl
IFhSV2ViR0xMYXllcjogWFJMYXllciB7CiAgIGNvbnN0cnVjdG9yKFhSU2Vzc2lvbiBzZXNzaW9u
LAogICAgICAgICAgICAgIFhSV2ViR0xSZW5kZXJpbmdDb250ZXh0IGNvbnRleHQsCiAgICAgICAg
ICAgICAgb3B0aW9uYWwgWFJXZWJHTExheWVySW5pdCBsYXllckluaXQgPSB7fSk7CkBAIC0yNTgs
NSArMjYyLDE2IEBAIGludGVyZmFjZSBYUlJlZmVyZW5jZVNwYWNlRXZlbnQgOiBFdmVudCB7CiAK
IGRpY3Rpb25hcnkgWFJSZWZlcmVuY2VTcGFjZUV2ZW50SW5pdCA6IEV2ZW50SW5pdCB7CiAgIHJl
cXVpcmVkIFhSUmVmZXJlbmNlU3BhY2UgcmVmZXJlbmNlU3BhY2U7Ci0gIFhSUmlnaWRUcmFuc2Zv
cm0gdHJhbnNmb3JtOworICBYUlJpZ2lkVHJhbnNmb3JtPyB0cmFuc2Zvcm0gPSBudWxsOworfTsK
KworZGljdGlvbmFyeSBYUlBlcm1pc3Npb25EZXNjcmlwdG9yOiBQZXJtaXNzaW9uRGVzY3JpcHRv
ciB7CisgIFhSU2Vzc2lvbk1vZGUgbW9kZTsKKyAgc2VxdWVuY2U8YW55PiByZXF1aXJlZEZlYXR1
cmVzOworICBzZXF1ZW5jZTxhbnk+IG9wdGlvbmFsRmVhdHVyZXM7Cit9OworCitbRXhwb3NlZD1X
aW5kb3ddCitpbnRlcmZhY2UgWFJQZXJtaXNzaW9uU3RhdHVzOiBQZXJtaXNzaW9uU3RhdHVzIHsK
KyAgYXR0cmlidXRlIEZyb3plbkFycmF5PGFueT4gZ3JhbnRlZDsKIH07CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyZmFjZXMvd29y
a2xldHMuaWRsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9p
bnRlcmZhY2VzL3dvcmtsZXRzLmlkbAppbmRleCAxNjE4NzY2NGIzYjQxMjQ3NThjODRkMDU0YjAy
YjhkZGJmNTg1NTA4Li5mODllYWNkNTBiZDU4YzAyODYwYzg0YjZlNGM0ODZhYjk3OGE1MDE4IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2lu
dGVyZmFjZXMvd29ya2xldHMuaWRsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaW50ZXJmYWNlcy93b3JrbGV0cy5pZGwKQEAgLTksNyArOSw3IEBAIGlu
dGVyZmFjZSBXb3JrbGV0R2xvYmFsU2NvcGUgewogCiBbRXhwb3NlZD1XaW5kb3ddCiBpbnRlcmZh
Y2UgV29ya2xldCB7Ci0gICAgW05ld09iamVjdF0gUHJvbWlzZTx2b2lkPiBhZGRNb2R1bGUoVVNW
U3RyaW5nIG1vZHVsZVVSTCwgb3B0aW9uYWwgV29ya2xldE9wdGlvbnMgb3B0aW9ucyk7CisgICAg
W05ld09iamVjdF0gUHJvbWlzZTx2b2lkPiBhZGRNb2R1bGUoVVNWU3RyaW5nIG1vZHVsZVVSTCwg
b3B0aW9uYWwgV29ya2xldE9wdGlvbnMgb3B0aW9ucyA9IHt9KTsKIH07CiAKIGRpY3Rpb25hcnkg
V29ya2xldE9wdGlvbnMgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5kb3ct
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5kb3ctZXhwZWN0ZWQudHh0Cmlu
ZGV4IGRiNDEwN2MyMTNiYWQ3ZjkwYTQ3OGMxODBmYjQzNmY3NDY5MzFiNjcuLmNhNGIwNTU2ODBj
OGRkZGY3OWJlN2UxODgxMjU4OTU0NDVkYzdlY2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL2lkbGhh
cm5lc3Mud2luZG93LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9pZGxoYXJuZXNzLndpbmRv
dy1leHBlY3RlZC50eHQKQEAgLTQsNyArNCw3IEBAIFBBU1MgaWRsX3Rlc3QgdmFsaWRhdGlvbgog
UEFTUyBFbGVtZW50IGluY2x1ZGVzIFBhcmVudE5vZGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVl
IAogUEFTUyBFbGVtZW50IGluY2x1ZGVzIE5vbkRvY3VtZW50VHlwZUNoaWxkTm9kZTogbWVtYmVy
IG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNTIEVsZW1lbnQgaW5jbHVkZXMgQ2hpbGROb2RlOiBtZW1i
ZXIgbmFtZXMgYXJlIHVuaXF1ZSAKLVBBU1MgRWxlbWVudCBpbmNsdWRlcyBTbG90YWJsZTogbWVt
YmVyIG5hbWVzIGFyZSB1bmlxdWUgCitQQVNTIEVsZW1lbnQgaW5jbHVkZXMgU2xvdHRhYmxlOiBt
ZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKIFBBU1Mg
SW50ZXJzZWN0aW9uT2JzZXJ2ZXIgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCiBQQVNTIEludGVy
c2VjdGlvbk9ic2VydmVyIGludGVyZmFjZSBvYmplY3QgbmFtZSAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWF0aG1sL3JlbGF0aW9ucy9o
dG1sNS10cmVlL21hdGgtZ2xvYmFsLWV2ZW50LWhhbmRsZXJzLnRlbnRhdGl2ZS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21hdGhtbC9y
ZWxhdGlvbnMvaHRtbDUtdHJlZS9tYXRoLWdsb2JhbC1ldmVudC1oYW5kbGVycy50ZW50YXRpdmUt
ZXhwZWN0ZWQudHh0CmluZGV4IDg4ZGQwNzVhZTUyYzZlMjRlZDZiZDA0MGJlNjExN2M4ZGEwOGZm
M2EuLmRhMjgwNmQyMjVhMWI5NjdjYzQwOWFmYWFjYjE3Mjc3NDk3NDEwMDYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWF0aG1sL3JlbGF0
aW9ucy9odG1sNS10cmVlL21hdGgtZ2xvYmFsLWV2ZW50LWhhbmRsZXJzLnRlbnRhdGl2ZS1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9tYXRobWwvcmVsYXRpb25zL2h0bWw1LXRyZWUvbWF0aC1nbG9iYWwtZXZlbnQtaGFuZGxlcnMu
dGVudGF0aXZlLWV4cGVjdGVkLnR4dApAQCAtMjA0LDExICsyMDQsNiBAQCBQQVNTIG9ubW91c2V1
cDogdGhlIGRlZmF1bHQgdmFsdWUgbXVzdCBiZSBudWxsCiBQQVNTIG9ubW91c2V1cDogdGhlIGNv
bnRlbnQgYXR0cmlidXRlIG11c3QgYmUgY29tcGlsZWQgaW50byBhIGZ1bmN0aW9uIGFzIHRoZSBj
b3JyZXNwb25kaW5nIHByb3BlcnR5IAogUEFTUyBvbm1vdXNldXA6IGR5bmFtaWMgY2hhbmdlcyBv
biB0aGUgYXR0cmlidXRlIAogUEFTUyBvbm1vdXNldXA6IGRpc3BhdGNoaW5nIGFuIEV2ZW50IGF0
IGEgPG1hdGg+IGVsZW1lbnQgbXVzdCB0cmlnZ2VyIGVsZW1lbnQub25tb3VzZXVwIAotUEFTUyBv
bndoZWVsOiBtdXN0IGJlIG9uIHRoZSBhcHByb3ByaWF0ZSBsb2NhdGlvbnMgZm9yIEdsb2JhbEV2
ZW50SGFuZGxlcnMgCi1QQVNTIG9ud2hlZWw6IHRoZSBkZWZhdWx0IHZhbHVlIG11c3QgYmUgbnVs
bCAKLVBBU1Mgb253aGVlbDogdGhlIGNvbnRlbnQgYXR0cmlidXRlIG11c3QgYmUgY29tcGlsZWQg
aW50byBhIGZ1bmN0aW9uIGFzIHRoZSBjb3JyZXNwb25kaW5nIHByb3BlcnR5IAotUEFTUyBvbndo
ZWVsOiBkeW5hbWljIGNoYW5nZXMgb24gdGhlIGF0dHJpYnV0ZSAKLVBBU1Mgb253aGVlbDogZGlz
cGF0Y2hpbmcgYW4gRXZlbnQgYXQgYSA8bWF0aD4gZWxlbWVudCBtdXN0IHRyaWdnZXIgZWxlbWVu
dC5vbndoZWVsIAogUEFTUyBvbnBhdXNlOiBtdXN0IGJlIG9uIHRoZSBhcHByb3ByaWF0ZSBsb2Nh
dGlvbnMgZm9yIEdsb2JhbEV2ZW50SGFuZGxlcnMgCiBQQVNTIG9ucGF1c2U6IHRoZSBkZWZhdWx0
IHZhbHVlIG11c3QgYmUgbnVsbCAKIFBBU1Mgb25wYXVzZTogdGhlIGNvbnRlbnQgYXR0cmlidXRl
IG11c3QgYmUgY29tcGlsZWQgaW50byBhIGZ1bmN0aW9uIGFzIHRoZSBjb3JyZXNwb25kaW5nIHBy
b3BlcnR5IApAQCAtMzA5LDQgKzMwNCwyOSBAQCBQQVNTIG9ud2FpdGluZzogdGhlIGRlZmF1bHQg
dmFsdWUgbXVzdCBiZSBudWxsCiBQQVNTIG9ud2FpdGluZzogdGhlIGNvbnRlbnQgYXR0cmlidXRl
IG11c3QgYmUgY29tcGlsZWQgaW50byBhIGZ1bmN0aW9uIGFzIHRoZSBjb3JyZXNwb25kaW5nIHBy
b3BlcnR5IAogUEFTUyBvbndhaXRpbmc6IGR5bmFtaWMgY2hhbmdlcyBvbiB0aGUgYXR0cmlidXRl
IAogUEFTUyBvbndhaXRpbmc6IGRpc3BhdGNoaW5nIGFuIEV2ZW50IGF0IGEgPG1hdGg+IGVsZW1l
bnQgbXVzdCB0cmlnZ2VyIGVsZW1lbnQub253YWl0aW5nIAorRkFJTCBvbndlYmtpdGFuaW1hdGlv
bmVuZDogbXVzdCBiZSBvbiB0aGUgYXBwcm9wcmlhdGUgbG9jYXRpb25zIGZvciBHbG9iYWxFdmVu
dEhhbmRsZXJzIGFzc2VydF9mYWxzZTogRWxlbWVudC5wcm90b3R5cGUgbXVzdCBub3QgY29udGFp
biBhICJvbndlYmtpdGFuaW1hdGlvbmVuZCIgcHJvcGVydHkgZXhwZWN0ZWQgZmFsc2UgZ290IHRy
dWUKK1BBU1Mgb253ZWJraXRhbmltYXRpb25lbmQ6IHRoZSBkZWZhdWx0IHZhbHVlIG11c3QgYmUg
bnVsbCAKK1BBU1Mgb253ZWJraXRhbmltYXRpb25lbmQ6IHRoZSBjb250ZW50IGF0dHJpYnV0ZSBt
dXN0IGJlIGNvbXBpbGVkIGludG8gYSBmdW5jdGlvbiBhcyB0aGUgY29ycmVzcG9uZGluZyBwcm9w
ZXJ0eSAKK1BBU1Mgb253ZWJraXRhbmltYXRpb25lbmQ6IGR5bmFtaWMgY2hhbmdlcyBvbiB0aGUg
YXR0cmlidXRlIAorRkFJTCBvbndlYmtpdGFuaW1hdGlvbmVuZDogZGlzcGF0Y2hpbmcgYW4gRXZl
bnQgYXQgYSA8bWF0aD4gZWxlbWVudCBtdXN0IHRyaWdnZXIgZWxlbWVudC5vbndlYmtpdGFuaW1h
dGlvbmVuZCBhc3NlcnRfZXF1YWxzOiBUaGUgZXZlbnQgbXVzdCBiZSBmaXJlZCBhdCB0aGUgPG1h
dGg+IGVsZW1lbnQgZXhwZWN0ZWQgKG9iamVjdCkgRWxlbWVudCBub2RlIDxtYXRoPjwvbWF0aD4g
YnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKK0ZBSUwgb253ZWJraXRhbmltYXRpb25pdGVy
YXRpb246IG11c3QgYmUgb24gdGhlIGFwcHJvcHJpYXRlIGxvY2F0aW9ucyBmb3IgR2xvYmFsRXZl
bnRIYW5kbGVycyBhc3NlcnRfZmFsc2U6IEVsZW1lbnQucHJvdG90eXBlIG11c3Qgbm90IGNvbnRh
aW4gYSAib253ZWJraXRhbmltYXRpb25pdGVyYXRpb24iIHByb3BlcnR5IGV4cGVjdGVkIGZhbHNl
IGdvdCB0cnVlCitQQVNTIG9ud2Via2l0YW5pbWF0aW9uaXRlcmF0aW9uOiB0aGUgZGVmYXVsdCB2
YWx1ZSBtdXN0IGJlIG51bGwgCitQQVNTIG9ud2Via2l0YW5pbWF0aW9uaXRlcmF0aW9uOiB0aGUg
Y29udGVudCBhdHRyaWJ1dGUgbXVzdCBiZSBjb21waWxlZCBpbnRvIGEgZnVuY3Rpb24gYXMgdGhl
IGNvcnJlc3BvbmRpbmcgcHJvcGVydHkgCitQQVNTIG9ud2Via2l0YW5pbWF0aW9uaXRlcmF0aW9u
OiBkeW5hbWljIGNoYW5nZXMgb24gdGhlIGF0dHJpYnV0ZSAKK0ZBSUwgb253ZWJraXRhbmltYXRp
b25pdGVyYXRpb246IGRpc3BhdGNoaW5nIGFuIEV2ZW50IGF0IGEgPG1hdGg+IGVsZW1lbnQgbXVz
dCB0cmlnZ2VyIGVsZW1lbnQub253ZWJraXRhbmltYXRpb25pdGVyYXRpb24gYXNzZXJ0X2VxdWFs
czogVGhlIGV2ZW50IG11c3QgYmUgZmlyZWQgYXQgdGhlIDxtYXRoPiBlbGVtZW50IGV4cGVjdGVk
IChvYmplY3QpIEVsZW1lbnQgbm9kZSA8bWF0aD48L21hdGg+IGJ1dCBnb3QgKHVuZGVmaW5lZCkg
dW5kZWZpbmVkCitGQUlMIG9ud2Via2l0YW5pbWF0aW9uc3RhcnQ6IG11c3QgYmUgb24gdGhlIGFw
cHJvcHJpYXRlIGxvY2F0aW9ucyBmb3IgR2xvYmFsRXZlbnRIYW5kbGVycyBhc3NlcnRfZmFsc2U6
IEVsZW1lbnQucHJvdG90eXBlIG11c3Qgbm90IGNvbnRhaW4gYSAib253ZWJraXRhbmltYXRpb25z
dGFydCIgcHJvcGVydHkgZXhwZWN0ZWQgZmFsc2UgZ290IHRydWUKK1BBU1Mgb253ZWJraXRhbmlt
YXRpb25zdGFydDogdGhlIGRlZmF1bHQgdmFsdWUgbXVzdCBiZSBudWxsIAorUEFTUyBvbndlYmtp
dGFuaW1hdGlvbnN0YXJ0OiB0aGUgY29udGVudCBhdHRyaWJ1dGUgbXVzdCBiZSBjb21waWxlZCBp
bnRvIGEgZnVuY3Rpb24gYXMgdGhlIGNvcnJlc3BvbmRpbmcgcHJvcGVydHkgCitQQVNTIG9ud2Vi
a2l0YW5pbWF0aW9uc3RhcnQ6IGR5bmFtaWMgY2hhbmdlcyBvbiB0aGUgYXR0cmlidXRlIAorRkFJ
TCBvbndlYmtpdGFuaW1hdGlvbnN0YXJ0OiBkaXNwYXRjaGluZyBhbiBFdmVudCBhdCBhIDxtYXRo
PiBlbGVtZW50IG11c3QgdHJpZ2dlciBlbGVtZW50Lm9ud2Via2l0YW5pbWF0aW9uc3RhcnQgYXNz
ZXJ0X2VxdWFsczogVGhlIGV2ZW50IG11c3QgYmUgZmlyZWQgYXQgdGhlIDxtYXRoPiBlbGVtZW50
IGV4cGVjdGVkIChvYmplY3QpIEVsZW1lbnQgbm9kZSA8bWF0aD48L21hdGg+IGJ1dCBnb3QgKHVu
ZGVmaW5lZCkgdW5kZWZpbmVkCitGQUlMIG9ud2Via2l0dHJhbnNpdGlvbmVuZDogbXVzdCBiZSBv
biB0aGUgYXBwcm9wcmlhdGUgbG9jYXRpb25zIGZvciBHbG9iYWxFdmVudEhhbmRsZXJzIGFzc2Vy
dF9mYWxzZTogRWxlbWVudC5wcm90b3R5cGUgbXVzdCBub3QgY29udGFpbiBhICJvbndlYmtpdHRy
YW5zaXRpb25lbmQiIHByb3BlcnR5IGV4cGVjdGVkIGZhbHNlIGdvdCB0cnVlCitQQVNTIG9ud2Vi
a2l0dHJhbnNpdGlvbmVuZDogdGhlIGRlZmF1bHQgdmFsdWUgbXVzdCBiZSBudWxsIAorUEFTUyBv
bndlYmtpdHRyYW5zaXRpb25lbmQ6IHRoZSBjb250ZW50IGF0dHJpYnV0ZSBtdXN0IGJlIGNvbXBp
bGVkIGludG8gYSBmdW5jdGlvbiBhcyB0aGUgY29ycmVzcG9uZGluZyBwcm9wZXJ0eSAKK1BBU1Mg
b253ZWJraXR0cmFuc2l0aW9uZW5kOiBkeW5hbWljIGNoYW5nZXMgb24gdGhlIGF0dHJpYnV0ZSAK
K0ZBSUwgb253ZWJraXR0cmFuc2l0aW9uZW5kOiBkaXNwYXRjaGluZyBhbiBFdmVudCBhdCBhIDxt
YXRoPiBlbGVtZW50IG11c3QgdHJpZ2dlciBlbGVtZW50Lm9ud2Via2l0dHJhbnNpdGlvbmVuZCBh
c3NlcnRfZXF1YWxzOiBUaGUgZXZlbnQgbXVzdCBiZSBmaXJlZCBhdCB0aGUgPG1hdGg+IGVsZW1l
bnQgZXhwZWN0ZWQgKG9iamVjdCkgRWxlbWVudCBub2RlIDxtYXRoPjwvbWF0aD4gYnV0IGdvdCAo
dW5kZWZpbmVkKSB1bmRlZmluZWQKK1BBU1Mgb253aGVlbDogbXVzdCBiZSBvbiB0aGUgYXBwcm9w
cmlhdGUgbG9jYXRpb25zIGZvciBHbG9iYWxFdmVudEhhbmRsZXJzIAorUEFTUyBvbndoZWVsOiB0
aGUgZGVmYXVsdCB2YWx1ZSBtdXN0IGJlIG51bGwgCitQQVNTIG9ud2hlZWw6IHRoZSBjb250ZW50
IGF0dHJpYnV0ZSBtdXN0IGJlIGNvbXBpbGVkIGludG8gYSBmdW5jdGlvbiBhcyB0aGUgY29ycmVz
cG9uZGluZyBwcm9wZXJ0eSAKK1BBU1Mgb253aGVlbDogZHluYW1pYyBjaGFuZ2VzIG9uIHRoZSBh
dHRyaWJ1dGUgCitQQVNTIG9ud2hlZWw6IGRpc3BhdGNoaW5nIGFuIEV2ZW50IGF0IGEgPG1hdGg+
IGVsZW1lbnQgbXVzdCB0cmlnZ2VyIGVsZW1lbnQub253aGVlbCAKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVj
b3JkL2lkbGhhcm5lc3Mud2luZG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZC9pZGxoYXJuZXNzLndp
bmRvdy1leHBlY3RlZC50eHQKaW5kZXggOTdhYTFlMjU1NmMwMzNjMmM1ZTMyYzM2ODU4NzIyMDE4
N2U0ZjgwZS4uZjhlYjk1NmFlMWExNjYzNmYyNzk3OGJmODc2NjZiZmM4ODU0NDIxMyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNh
cHR1cmUtcmVjb3JkL2lkbGhhcm5lc3Mud2luZG93LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcmQv
aWRsaGFybmVzcy53aW5kb3ctZXhwZWN0ZWQudHh0CkBAIC0xOCw2ICsxOCw3IEBAIEZBSUwgTWVk
aWFSZWNvcmRlciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnJlc3VtZSBhc3NlcnRfdHJ1ZTogVGhl
IHByb3RvdHlwZSBvYmplCiBQQVNTIE1lZGlhUmVjb3JkZXIgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
b25lcnJvciAKIEZBSUwgTWVkaWFSZWNvcmRlciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSB2aWRlb0Jp
dHNQZXJTZWNvbmQgYXNzZXJ0X3RydWU6IFRoZSBwcm90b3R5cGUgb2JqZWN0IG11c3QgaGF2ZSBh
IHByb3BlcnR5ICJ2aWRlb0JpdHNQZXJTZWNvbmQiIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCiBG
QUlMIE1lZGlhUmVjb3JkZXIgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgYXVkaW9CaXRzUGVyU2Vjb25k
IGFzc2VydF90cnVlOiBUaGUgcHJvdG90eXBlIG9iamVjdCBtdXN0IGhhdmUgYSBwcm9wZXJ0eSAi
YXVkaW9CaXRzUGVyU2Vjb25kIiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBNZWRpYVJl
Y29yZGVyIGludGVyZmFjZTogYXR0cmlidXRlIGF1ZGlvQml0cmF0ZU1vZGUgYXNzZXJ0X3RydWU6
IFRoZSBwcm90b3R5cGUgb2JqZWN0IG11c3QgaGF2ZSBhIHByb3BlcnR5ICJhdWRpb0JpdHJhdGVN
b2RlIiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQogUEFTUyBNZWRpYVJlY29yZGVyIGludGVyZmFj
ZTogb3BlcmF0aW9uIHN0YXJ0KG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcpIAogUEFTUyBNZWRpYVJl
Y29yZGVyIGludGVyZmFjZTogb3BlcmF0aW9uIHN0b3AoKSAKIEZBSUwgTWVkaWFSZWNvcmRlciBp
bnRlcmZhY2U6IG9wZXJhdGlvbiBwYXVzZSgpIGFzc2VydF9vd25fcHJvcGVydHk6IGludGVyZmFj
ZSBwcm90b3R5cGUgb2JqZWN0IG1pc3Npbmcgbm9uLXN0YXRpYyBvcGVyYXRpb24gZXhwZWN0ZWQg
cHJvcGVydHkgInBhdXNlIiBtaXNzaW5nCkBAIC0zNyw2ICszOCw3IEBAIEZBSUwgTWVkaWFSZWNv
cmRlciBpbnRlcmZhY2U6IFtvYmplY3QgTWVkaWFSZWNvcmRlcl0gbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJvbnJlCiBQQVNTIE1lZGlhUmVjb3JkZXIgaW50ZXJmYWNlOiBbb2JqZWN0IE1lZGlhUmVj
b3JkZXJdIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25lcnJvciIgd2l0aCB0aGUgcHJvcGVyIHR5
cGUgCiBGQUlMIE1lZGlhUmVjb3JkZXIgaW50ZXJmYWNlOiBbb2JqZWN0IE1lZGlhUmVjb3JkZXJd
IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAidmlkZW9CaXRzUGVyU2Vjb25kIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJ2aWRlb0JpdHNQZXJTZWNvbmQiIG5v
dCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KIEZBSUwgTWVkaWFSZWNvcmRlciBpbnRlcmZhY2U6
IFtvYmplY3QgTWVkaWFSZWNvcmRlcl0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJhdWRpb0JpdHNQ
ZXJTZWNvbmQiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkg
ImF1ZGlvQml0c1BlclNlY29uZCIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgorRkFJTCBN
ZWRpYVJlY29yZGVyIGludGVyZmFjZTogW29iamVjdCBNZWRpYVJlY29yZGVyXSBtdXN0IGluaGVy
aXQgcHJvcGVydHkgImF1ZGlvQml0cmF0ZU1vZGUiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2Vy
dF9pbmhlcml0czogcHJvcGVydHkgImF1ZGlvQml0cmF0ZU1vZGUiIG5vdCBmb3VuZCBpbiBwcm90
b3R5cGUgY2hhaW4KIFBBU1MgTWVkaWFSZWNvcmRlciBpbnRlcmZhY2U6IFtvYmplY3QgTWVkaWFS
ZWNvcmRlcl0gbXVzdCBpbmhlcml0IHByb3BlcnR5ICJzdGFydChvcHRpb25hbCB1bnNpZ25lZCBs
b25nKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIE1lZGlhUmVjb3JkZXIgaW50ZXJmYWNl
OiBjYWxsaW5nIHN0YXJ0KG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcpIG9uIFtvYmplY3QgTWVkaWFS
ZWNvcmRlcl0gd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciAKIFBB
U1MgTWVkaWFSZWNvcmRlciBpbnRlcmZhY2U6IFtvYmplY3QgTWVkaWFSZWNvcmRlcl0gbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJzdG9wKCkiIHdpdGggdGhlIHByb3BlciB0eXBlIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tc3QtY29udGVu
dC1oaW50L2lkbGhhcm5lc3Mud2luZG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbXN0LWNvbnRlbnQtaGludC9pZGxoYXJuZXNzLndp
bmRvdy1leHBlY3RlZC50eHQKaW5kZXggYjQ2NTgyN2QxYjFjZTFmMTM4NTJlNWRmNDVjN2MyYjgx
ZGNiNzM4YS4uODlkYzlhZjg0NjExNTFlMGRlYTYzNWI3MzcwMGYzNTU2OTMxNDFhYiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tc3QtY29u
dGVudC1oaW50L2lkbGhhcm5lc3Mud2luZG93LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21zdC1jb250ZW50LWhpbnQvaWRsaGFy
bmVzcy53aW5kb3ctZXhwZWN0ZWQudHh0CkBAIC0zLDYgKzMsNyBAQCBQQVNTIGlkbF90ZXN0IHNl
dHVwCiBQQVNTIGlkbF90ZXN0IHZhbGlkYXRpb24gCiBQQVNTIFBhcnRpYWwgaW50ZXJmYWNlIE1l
ZGlhU3RyZWFtVHJhY2s6IG9yaWdpbmFsIGludGVyZmFjZSBkZWZpbmVkIAogUEFTUyBQYXJ0aWFs
IGludGVyZmFjZSBNZWRpYVN0cmVhbVRyYWNrOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKK0ZB
SUwgUGFydGlhbCBkaWN0aW9uYXJ5IFJUQ1J0cFNlbmRQYXJhbWV0ZXJzOiBvcmlnaW5hbCBkaWN0
aW9uYXJ5IGRlZmluZWQgYXNzZXJ0X3RydWU6IE9yaWdpbmFsIGRpY3Rpb25hcnkgc2hvdWxkIGJl
IGRlZmluZWQgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKIFBBU1MgTWVkaWFTdHJlYW1UcmFjayBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBjb250ZW50SGludCAKIFBBU1MgTWVkaWFTdHJlYW1UcmFjayBp
bnRlcmZhY2U6IGF1ZGlvVHJhY2sgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJjb250ZW50SGludCIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIE1lZGlhU3RyZWFtVHJhY2sgaW50ZXJmYWNlOiB2
aWRlb1RyYWNrIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiY29udGVudEhpbnQiIHdpdGggdGhlIHBy
b3BlciB0eXBlIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZW1vdGUtcGxheWJhY2svaWRsaGFybmVzcy53aW5kb3ctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZW1vdGUtcGxh
eWJhY2svaWRsaGFybmVzcy53aW5kb3ctZXhwZWN0ZWQudHh0CmluZGV4IDJiZmFlMzdlMjI5MWFk
OWQ0NjE5NDgyMjgwNTUxMWRhZTgwZDU3NzEuLjY5Zjk2YmI0ZjM5YTBlMTNkNGM4ZWZiZGE1NTJj
MDYxOTQ1NDBiMmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVtb3RlLXBsYXliYWNrL2lkbGhhcm5lc3Mud2luZG93LWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3JlbW90
ZS1wbGF5YmFjay9pZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQKQEAgLTEwLDcgKzEwLDcg
QEAgUEFTUyBIVE1MRWxlbWVudCBpbmNsdWRlcyBIVE1MT3JTVkdFbGVtZW50OiBtZW1iZXIgbmFt
ZXMgYXJlIHVuaXF1ZQogUEFTUyBFbGVtZW50IGluY2x1ZGVzIFBhcmVudE5vZGU6IG1lbWJlciBu
YW1lcyBhcmUgdW5pcXVlIAogUEFTUyBFbGVtZW50IGluY2x1ZGVzIE5vbkRvY3VtZW50VHlwZUNo
aWxkTm9kZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNTIEVsZW1lbnQgaW5jbHVkZXMg
Q2hpbGROb2RlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKLVBBU1MgRWxlbWVudCBpbmNsdWRl
cyBTbG90YWJsZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCitQQVNTIEVsZW1lbnQgaW5jbHVk
ZXMgU2xvdHRhYmxlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgUmVtb3RlUGxheWJh
Y2sgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVj
dCAKIFBBU1MgUmVtb3RlUGxheWJhY2sgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCiBQQVNTIFJl
bW90ZVBsYXliYWNrIGludGVyZmFjZSBvYmplY3QgbmFtZSAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2lkbGhh
cm5lc3Mud2luZG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2lkbGhhcm5lc3Mud2luZG93LWV4cGVjdGVk
LnR4dAppbmRleCBmYjRmNTc5NmRmNGE5MDI2MTY1MWY4YjhmZmNmN2JmNjk5ODE1ZjQ3Li43NGJj
MmVkNWJiNDgxNjQ3ZWZjMWJhZDIwYmE2NTdkMDM2YTM4ZDMwIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9pZGxo
YXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5kb3ctZXhw
ZWN0ZWQudHh0CkBAIC01LDcgKzUsNyBAQCBQQVNTIFJlc2l6ZU9ic2VydmVyRW50cnkgY3JlYXRv
cgogUEFTUyBFbGVtZW50IGluY2x1ZGVzIFBhcmVudE5vZGU6IG1lbWJlciBuYW1lcyBhcmUgdW5p
cXVlIAogUEFTUyBFbGVtZW50IGluY2x1ZGVzIE5vbkRvY3VtZW50VHlwZUNoaWxkTm9kZTogbWVt
YmVyIG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNTIEVsZW1lbnQgaW5jbHVkZXMgQ2hpbGROb2RlOiBt
ZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKLVBBU1MgRWxlbWVudCBpbmNsdWRlcyBTbG90YWJsZTog
bWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCitQQVNTIEVsZW1lbnQgaW5jbHVkZXMgU2xvdHRhYmxl
OiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgUmVzaXplT2JzZXJ2ZXIgaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKIFBBU1MgUmVz
aXplT2JzZXJ2ZXIgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCiBQQVNTIFJlc2l6ZU9ic2VydmVy
IGludGVyZmFjZSBvYmplY3QgbmFtZSAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3ZnL2lkbGhhcm5lc3Mud2luZG93LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc3ZnL2lkbGhh
cm5lc3Mud2luZG93LWV4cGVjdGVkLnR4dAppbmRleCA2YmRjY2JjN2ZkZWE3YjE4ZWQzMDVmMTRj
MzFjNjdlNzhlNTNlZDRiLi5hMzIzYThkNWM0NWY5NzliNTAxZDRjYjk3ZTgxOTVlYjMxYjQwYmY5
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3N2Zy9pZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdmcvaWRsaGFybmVzcy53aW5kb3ctZXhwZWN0
ZWQudHh0CkBAIC0zMyw3ICszMyw3IEBAIFBBU1MgRWxlbWVudCBpbmNsdWRlcyBBbmltYXRhYmxl
OiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZQogUEFTUyBFbGVtZW50IGluY2x1ZGVzIFBhcmVudE5v
ZGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAogUEFTUyBFbGVtZW50IGluY2x1ZGVzIE5vbkRv
Y3VtZW50VHlwZUNoaWxkTm9kZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNTIEVsZW1l
bnQgaW5jbHVkZXMgQ2hpbGROb2RlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKLVBBU1MgRWxl
bWVudCBpbmNsdWRlcyBTbG90YWJsZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCitQQVNTIEVs
ZW1lbnQgaW5jbHVkZXMgU2xvdHRhYmxlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1Mg
RG9jdW1lbnQgaW5jbHVkZXMgR2xvYmFsRXZlbnRIYW5kbGVyczogbWVtYmVyIG5hbWVzIGFyZSB1
bmlxdWUgCiBQQVNTIERvY3VtZW50IGluY2x1ZGVzIERvY3VtZW50QW5kRWxlbWVudEV2ZW50SGFu
ZGxlcnM6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAogUEFTUyBEb2N1bWVudCBpbmNsdWRlcyBO
b25FbGVtZW50UGFyZW50Tm9kZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL01FVEEu
eW1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9N
RVRBLnltbAppbmRleCA3Y2MyMmEyOGMyMGMwMWYyYzYwMmI2Yjc5ODE0ZmM2ODQ0MDU0MzA2Li4z
ZWI4OTNmNGU2NWMzYzBlNTU2NzY4OGJkMzA3MjViYzIxZWI0MGNiIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL01FVEEueW1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvTUVU
QS55bWwKQEAgLTEsNCArMSw1IEBACiBzdWdnZXN0ZWRfcmV2aWV3ZXJzOgogICAtIGpncmFoYW0K
LSAgLSBnc25lZGRlcnMKLSAgLSBqdWdnbGlubWlrZQorICAtIEhleGNsZXMKKyAgLSBzdGVwaGVu
bWNncnVlcgorICAtIEx1a2VaaWVsaW5za2kKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvY2VydHMvY2FjZXJ0LmtleSBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvY2VydHMvY2FjZXJ0
LmtleQppbmRleCAxYTEyMWRmYWM5NTJkZmU4ODg2YjFiNWU0MWU3YzczMTFkNWYwYjMyLi40NDVh
YWUxYjlmYjk3NjBlMzkwZTdlNGQwNDc2YTgwOGM0ZTNmODBiIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2NlcnRzL2NhY2VydC5r
ZXkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9jZXJ0cy9jYWNlcnQua2V5CkBAIC0xLDMwICsxLDMwIEBACi0tLS0tLUJFR0lOIEVOQ1JZUFRF
RCBQUklWQVRFIEtFWS0tLS0tCi1NSUlGSHpCSkJna3Foa2lHOXcwQkJRMHdQREFiQmdrcWhraUc5
dzBCQlF3d0RnUUltaW5IVHprWGhyc0NBZ2dBCi1NQjBHQ1dDR1NBRmxBd1FCS2dRUVhWd0pjcVd6
ZTZBM1ZZdUFTMEJQZ3dTQ0JOQ1J0dnJvQjZxcm9RbEY1OEhFCi01U0pIRi9qUVJKUnhmMDUxbHJx
K2pmVXhNN2tadWNOTitteVYyemlMb2dhNk9RTTU3OUQ4dnk4dHFrckxwbnNUCi1jWGtnSHV3dEJK
RjQ3dzFZQVBHR0FSZTNLc3YvMkM5c1VWY1B2bW5WcnpTTVg4NkVzZXJmZnFNM3pmd1oySDNTCi1q
eFREU3lJdkpVVSs0WGZ4cldlZ1RpUVFQTnFEeUxmTzVkQmZhdFQyenRYQ211M0JGaXB1aEdGcHd3
Q0ppcktyCi0xeGI2WFBFdVQwUEN6VE5wZVNVUnBYRktITURNa2NqT2tOQVV5Z0lFdytMZzdldFZm
TGNzZ0J1ekVBM1JXd2YzCi1PTVkxbVRCSmx2eDZ6WnhkWDdhMFFteGVyVURrRFM5WVlBRUdTRmEr
Rng2Y0dXNVB5ZWVmOXh0bEh4WkhpK3BtCi1UeEN3Y3ZKeVhxZUQ0Z1dtM3MxZ3dPamk1V21Ydm8y
RWlyY3hmU0trOFRVd2FweGZDWVFiT2pRSVBhSG5FR29hCi1DUWhTRWdEWDV1ZndzWEo5L3BTUDZr
alcreStmMGduaEhWdUtKS3NPQm1qZzZpcXducUVodyt1TkZXS0tsL01vCi1URlQ3Q3JheUpUdm8r
OVVkUVRKVjlNQkFzTVVRUzdkK0hIOWtOT0FuL2hmbUV6ekdVS1ZUWjB6SWQwZktIMTNwCi1Ubm9Z
Z01ZYm0yVXJuME5YQkZPOFJ2elkzS3BLeVJoTWNPTEt4a1BWVWpLVUE1QnVBdjZyY3ZNZmxJNkhu
NXdVCi1xUE0rdUVDU2dkT25OZUltaTFGZitjVzhkVEdHUmIraWhhK0VuQUJvWDN3UjVPdnpnQ1lI
ZUVOSmIzMkZVb1ZzCi1JRDJUNU1adFFOQXJraXMveFdaN0p5UGJtc1FvMnd5aUZMYXNYOFdnaCs4
TWdGeG9scHZqbFgzL1FkVFRKcUVjCi1yb2ZWR09QT21mb0hvM2VZTkpPbExiYUpUREllOE9ySzQ5
UElldTFnbTh6cUIyV1lxbUYvM0FZeTRJQUl3VVl1Ci1yYlB3VUM5SHljZVJQU1llUE05V2YxeE0y
cHJvSzNubXA2YXBkSENSTmpiZDQ2ODlFTG1COTBiMmF3Nk5GaWFtCi0zdGFLUG1GTGIvdnQyWXhn
cU90YWdQclRsYzFRTEhCS3JzbnBnL0JoY0JqdXBxUktHRm1YQ0p6aVBJYURLdkFzCi1qdGc0S0Rv
OGpOSXhtd1FBd0VWNCthSDBoaE11bXhhOHlhWG9DLzNHNkp4RDJzZG9yYU9wK3ZyVHpqVU1rSW9j
Ci14THFXbDhHSFZMRjA5ZlpKNFN0SmZJV0lPbW1waWNTeFcxdkRJQ2FadVUraVB3bE5PekY3c2VQ
UmtpeGJhckhyCi1pcVRsTEcvLytIdXEvbjlJUnhoem1TT3VyNjNXTVhGUnkwc0tXNVcrdVE5eHNu
VjhTZGp3Um1BR0x0blpIcTRZCi1OT0NRLyt5T1JsNHl4a1B2VjAxSHlrQWw0Q1J0UEJHUis0WkM1
TktocHloSmJ1NldjcXdpWHlBZWhVL2NQZ0wrCi1oOE53RW95UCtPSHJ2RVlkeTRvY0JuSnEvNDM2
V3d6ZldpczhuSUc0YlNsRDNEU0VnSkYvUVVtcTRpL0VVcS9BCi1ENlNmemJGcFBHdFRqM0taNkQ4
RFByd1dHNjhPQ0ZzcVJXOVlFdlVJSzhKVDI2NUJOM016STVpMC8razRDZEFnCi1hU2FpQzk3cWc3
cUphVk05YjlFSHNjVVhSL2ZlRnh2TzVRa2trWTVDVFUzQnhiMHMxSTRSdzJNWW9BZE1HdGJBCi02
bWR6bVJWWW9SdjlOTWR6TDZ6T1RvUFU2b09nNm1iakhnWlFnTmQ3dzhHdFRGVytzZnNsTE9YWEM4
ZXJ6YkhsCi1CeVFKR2NGR3RLVEJVRCs3VkhaaHB3TTdiUE9idHp5QTJyMFViUzFReDBJem52dWJk
RlZjWHlFN2RJalc3Y0FnCi1JYkJ6S2VpRVJ3cHUzck1xMmJZVlczREEzM1ZsclRmcGpYdWpoSHYx
aVgxNWk2cXNXZDdPdFp3Nng3VGNjSDFaCi1qZG1oOVhCOXhEeWRuc3MzdTlEd0dSRU1ZQzlUZFBa
WS9udWk2bGdDampPaGFUYXVuTXVpZ0ZCTVdVQmtEbEliCi11anUrQXR2K1BTQlQ5RG1UeVRRR2hQ
WlJJdz09Ci0tLS0tLUVORCBFTkNSWVBURUQgUFJJVkFURSBLRVktLS0tLQorLS0tLS1CRUdJTiBF
TkNSWVBURUQgUFJJVkFURSBLRVktLS0tLQ0KK01JSUZIREJPQmdrcWhraUc5dzBCQlEwd1FUQXBC
Z2txaGtpRzl3MEJCUXd3SEFRSUF3c3VaN3lKeExzQ0FnZ0ENCitNQXdHQ0NxR1NJYjNEUUlKQlFB
d0ZBWUlLb1pJaHZjTkF3Y0VDQ0tSc3dMWHNoOVBCSUlFeUtPdDQybUxlTDZoDQordVBCaDYzZG9I
b3FKeEI5NXB3cHRSNjNmcXAyUmZ2WlVVemZyV25JMmRubjB4UnRSY1BtZjUyQlI0c2xpSUpKeg0K
K0sraDEwVk80YWlsRzRtTWVQKzJWUEhGdWZsUW41eGdTQzVWZDdqZWRWMFZleWNNcjBnZloxWGJj
TXVWSXJyVzINCit3UVZNL0RiYjNBNk5IVDV5VUErWlR5YW0zU1loMFZyQkxwOEZRbi8yMnhpdm1q
QzVqcVpiRnF2VWwrTm5CRjBIDQordTkrbWRDbmxZcWNxOXFUMWIyaEMvVlZTZU95aUNaWFZFRThY
bjd0ckxHbFNHSWpmZ05XbWRISllhZEw5SnVXWA0KKy81eEVVMy9NWnRmajdEZmFyWXZKWU9OVjlw
bkJFdXVjV1VqUkpnYlBnTXVxWjJzYjdJcC85L1haSHZnRmdWcnkNCitMSUplc0xpRmxrOEVtZTdr
REg4RVBueTRJNVJVdXVmdE9mWHo1c2VtQ09pUUtxc1Y1aktsQnlQeFlNZGgrQURWDQoramlvMHVF
NTVMYjRNR2ZoeFd1emNXRC9Sb3Y2SXdJZzB1dVhXcEV6aktyMEp5VmwvODR3Z25pNUhxMU85RWdl
WQ0KKzA3VkJRT3VpRXptaGxtVkdsa3FpMS9rRkFaK1BrZE5VU043SlBndm5WQS9WZ2ZpZ3RsY0lK
OWFtcHNxYXUyeW0NCitLV2gzYlVLaVYwZUpWUEEzL3R2RWRCb29Ybis4RFFidDQ0c3lEN1A1Mk1m
bC9iUzJMYzV5Nm1QdHRWTy9tRHp1DQorWGc2Ym9ETnphWEIvSERVRjJUZDhSYWNrdnFySFBLS1hY
b0F6OXc4c3hZRkdlOEpWZXVPd2ZPNUhYNkpIeXNjZA0KK2NLcUVaTk1CTGp4ZWRwTDBFWk16cDcy
YnNlMVhjdnZJdi9YQ2habmZLMllmaGZ4Y2wzUklpVFB4M3M2RmVlSW8NCitUc3JOaVRGOGQvY09M
SzExLzAyaEVVZG8ycjVqZzhQSG9abVhsMEE4bjZhYlhWY09uV2k1TTF0RWpOZHV3S002DQorQVFV
Ulk3WjlBbFNzUVh3NnhqMno2MHppOCtJd3UzdGdENEhQN05xd1pSc0Q5OWxhMDlIZGNJMGNTbWVh
RU9URQ0KK0J5clZ5cW5PQnI4WkpWTUx1ZTR5TTcrQmRsR1VhYlRXKzB1MHF5OVExQXh1ZVF6VW1F
NFZGS3RmalJxSVVsQUENCis2SHJmRXNPZTdIUkxLeG5kY3RKN3VCWEk1Z2h2M3pHZDB1Wm1SeWpY
c0VqR3IySnFhWmExSGV4cmFCL0dIWEdEDQorOVBaVEpXUzFtTDhLRTNvMWhTajF5VGdsaGZoSjdX
Zi9lcmZCR3pjdFVQS1FCa2twelZxWk1TNlkyQUlIVEI1Rw0KK2Iyd294L2x3dkZBMmNsb2RvVDN0
YmVEbWhOSHhJdUdsT25ZdGNQaElMRDdNUmVETnVsMVI5SEwvU3NXN0FCNisNCitxNlI1NFBzU2No
TmdGaExTZHowcTZhelhVbGs2bWNGNUJnUk92Z3lvYSs3R3YwVWxiU1FiVXVWdUxEMGszU01VDQor
RG1wci93OU9tcVVzT2N6WWxuUFdvdmgrR2JWaHplK2VGVE5JR1Yvd1ZOTkpRUkMxUlVOckMvZThh
ZjRjcC8vcg0KKzZqaVE1ZU5mOHJWQjhWTWVNWFJVSHhQd1JYdEZWRUN1dVRkTWRQbjRVMlRISm8r
NDVaMGJWRzl5dFo2Q1VQMG4NCis1NkRXSDYvZEtlSWl2RUZ6L2JZNG9DWm1zSWZrak5lbzU0NUdS
ZmhGTk5HUmdyZGpDZXZyMHBKdFk0aDVWakkyDQoraVBVTDg1UjB4emU4b0NUMGEvR0hZNlh2cGJu
Uno1cXJ5MWMyRG9SM0llRFFrcTl5UWpBN1dhdXRUYnA4VXpDZA0KKzFTN1JYSWtyelBDZzRYQklw
UXU1aHN3S0M3Vy9VaUg3SDkycHR5bDJncmlDN0UwSk9mWi9Ndmd4WnBGaTh1cGUNCit5WThqMUdE
SWd3cHRmOVFHTGttL2Vwdi9RTTZMMjV3R0VFOTE2elErM3JrVVhUWFQyb1BJaThqYVFSc2xvWGNp
DQorTkkzbDFGRkVRak40VjRpdDNHMnRWbmVnY0FRZFg5bnNaOTdwQXErTk9LMjhPaU45a0ROOW9s
VitBMExNZTc1aQ0KK0JJQi96UlVmSWVnL1RTYllpRlYyY1E9PQ0KKy0tLS0tRU5EIEVOQ1JZUFRF
RCBQUklWQVRFIEtFWS0tLS0tDQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9jZXJ0cy9jYWNlcnQucGVtIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9jZXJ0cy9jYWNlcnQucGVtCmlu
ZGV4IGUxYjVhZGQ1NGU3OTdkYjFjNmMxZDNlZGE5NjFhZjNlNTRiYzdhNzcuLmVlYmE1MjhkMjZk
MzU3MzIwYmE0MmY1MTZmMTdlMzI0NDdhODNhZDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvY2VydHMvY2FjZXJ0LnBlbQorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2NlcnRz
L2NhY2VydC5wZW0KQEAgLTEsMTI1ICsxLDM0NCBAQAotLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0t
LS0tCi1NSUlXNXpDQ0ZjK2dBd0lCQWdJREJiRkhNQTBHQ1NxR1NJYjNEUUVCQ3dVQU1CMHhHekFa
QmdOVkJBTU1FbmRsCi1ZaTF3YkdGMFptOXliUzEwWlhOMGN6QWVGdzB4T1RFd01UUXhNelE1TWps
YUZ3MHlPVEV3TVRFeE16UTVNamxhCi1NQjB4R3pBWkJnTlZCQU1NRW5kbFlpMXdiR0YwWm05eWJT
MTBaWE4wY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCCi1CUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFOUUkx
MHZ5dFBONUc4bTZjV2VQWkxIWWdCSUpzV2ZqeDJOV2svV0ZFTG9jCi1EblV2MnpScDVFMjdBaHhF
Sko2YzZKR3UrM1dqVDdsK2ZHeWtvSzFSd09uNE9pL0tOSm5ERTJYZVNqUUgvYXdQCi1NaTJqMGhB
aXZUdkNYbm9tVFhuM2NxY1RrcmFwY0RYVjErV1VTYWViSncrOHdITG9KVVdJYmVVN0tMVmdYc2Nm
Ci1oTEdCUUI2cC91UWV3em1tYjFiVWJpekYzR25iRnhTYkZna0szVHRmOU5wSHFxUnRnVUFhWnRQ
OWVkYS9rUlA3Ci1qMGlJUW5jQ3lod1VNY0VnLzlZc0tlTE9TVUd6TGpVU0NKcU9JdlVMblF3UkJZ
aklFd3VpMDBxZENocVY4Y2h6Ci1LYmszMmRqNnZMRnMzdDdQK3hvai9KalpYWmlXUUZUekZTVmpw
UzVBN01FQ0F3RUFBYU9DRkM0d2doUXFNQXdHCi1BMVVkRXdRRk1BTUJBZjh3SFFZRFZSME9CQllF
RkVGSi80eG1VRitIb1Fhb3U2dUszWE1ORGpjYU1FY0dBMVVkCi1Jd1JBTUQ2QUZFRkovNHhtVUYr
SG9RYW91NnVLM1hNTkRqY2FvU0drSHpBZE1Sc3dHUVlEVlFRRERCSjNaV0l0Ci1jR3hoZEdadmNt
MHRkR1Z6ZEhPQ0F3V3hSekFMQmdOVkhROEVCQU1DQWdRd2dnb0ZCZ05WSFI0RWdnbjhNSUlKCi0r
S0NDQ2ZRd0U0SVJkMlZpTFhCc1lYUm1iM0p0TG5SbGMzUXdGNElWYm05MExYZGxZaTF3YkdGMFpt
OXliUzUwCi1aWE4wTUJlQ0ZYZDNkeTUzWldJdGNHeGhkR1p2Y20wdWRHVnpkREFZZ2haM2QzY3hM
bmRsWWkxd2JHRjBabTl5Ci1iUzUwWlhOME1CaUNGbmQzZHpJdWQyVmlMWEJzWVhSbWIzSnRMblJs
YzNRd0c0SVpkM2QzTG01dmRDMTNaV0l0Ci1jR3hoZEdadmNtMHVkR1Z6ZERBYmdobDNkM2N1ZDNk
M0xuZGxZaTF3YkdGMFptOXliUzUwWlhOME1CeUNHbmQzCi1kekl1Ym05MExYZGxZaTF3YkdGMFpt
OXliUzUwWlhOME1CeUNHbmQzZHpFdWJtOTBMWGRsWWkxd2JHRjBabTl5Ci1iUzUwWlhOME1CeUNH
bmQzZHk1M2QzY3lMbmRsWWkxd2JHRjBabTl5YlM1MFpYTjBNQnlDR25kM2R6SXVkM2QzCi1MbmRs
WWkxd2JHRjBabTl5YlM1MFpYTjBNQnlDR25kM2R6RXVkM2QzTG5kbFlpMXdiR0YwWm05eWJTNTBa
WE4wCi1NQnlDR25kM2R5NTNkM2N4TG5kbFlpMXdiR0YwWm05eWJTNTBaWE4wTUIyQ0czZDNkekV1
ZDNkM01TNTNaV0l0Ci1jR3hoZEdadmNtMHVkR1Z6ZERBZGdodDNkM2N4TG5kM2R6SXVkMlZpTFhC
c1lYUm1iM0p0TG5SbGMzUXdIWUliCi1kM2QzTWk1M2QzY3lMbmRsWWkxd2JHRjBabTl5YlM1MFpY
TjBNQjJDRzNkM2R6SXVkM2QzTVM1M1pXSXRjR3hoCi1kR1p2Y20wdWRHVnpkREFmZ2gxM2QzY3Vk
M2QzTG01dmRDMTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemREQWdnaDUzCi1kM2N1ZDNkM01pNXViM1F0
ZDJWaUxYQnNZWFJtYjNKdExuUmxjM1F3SUlJZWQzZDNNUzUzZDNjdWJtOTBMWGRsCi1ZaTF3YkdG
MFptOXliUzUwWlhOME1DQ0NIbmh1TFMxc2RtVXRObXhoWkM1M1pXSXRjR3hoZEdadmNtMHVkR1Z6
Ci1kREFnZ2g1M2QzY3VkM2QzTVM1dWIzUXRkMlZpTFhCc1lYUm1iM0p0TG5SbGMzUXdJSUllZDNk
M01pNTNkM2N1Ci1ibTkwTFhkbFlpMXdiR0YwWm05eWJTNTBaWE4wTUNHQ0gzZDNkekl1ZDNkM01p
NXViM1F0ZDJWaUxYQnNZWFJtCi1iM0p0TG5SbGMzUXdJWUlmZDNkM01pNTNkM2N4TG01dmRDMTNa
V0l0Y0d4aGRHWnZjbTB1ZEdWemREQWhnaDkzCi1kM2N4TG5kM2R6RXVibTkwTFhkbFlpMXdiR0Yw
Wm05eWJTNTBaWE4wTUNHQ0gzZDNkekV1ZDNkM01pNXViM1F0Ci1kMlZpTFhCc1lYUm1iM0p0TG5S
bGMzUXdKSUlpZUc0dExXeDJaUzAyYkdGa0xuZDNkeTUzWldJdGNHeGhkR1p2Ci1jbTB1ZEdWemRE
QWtnaUozZDNjdWVHNHRMV3gyWlMwMmJHRmtMbmRsWWkxd2JHRjBabTl5YlM1MFpYTjBNQ1NDCi1J
bmh1TFMxc2RtVXRObXhoWkM1dWIzUXRkMlZpTFhCc1lYUm1iM0p0TG5SbGMzUXdKWUlqZUc0dExX
eDJaUzAyCi1iR0ZrTG5kM2R6RXVkMlZpTFhCc1lYUm1iM0p0TG5SbGMzUXdKWUlqZDNkM01pNTRi
aTB0YkhabExUWnNZV1F1Ci1kMlZpTFhCc1lYUm1iM0p0TG5SbGMzUXdKWUlqZDNkM01TNTRiaTB0
YkhabExUWnNZV1F1ZDJWaUxYQnNZWFJtCi1iM0p0TG5SbGMzUXdKWUlqZUc0dExXeDJaUzAyYkdG
a0xuZDNkekl1ZDJWaUxYQnNZWFJtYjNKdExuUmxjM1F3Ci1LSUltZUc0dExXeDJaUzAyYkdGa0xu
ZDNkeTV1YjNRdGQyVmlMWEJzWVhSbWIzSnRMblJsYzNRd0tJSW1kM2QzCi1Mbmh1TFMxc2RtVXRO
bXhoWkM1dWIzUXRkMlZpTFhCc1lYUm1iM0p0TG5SbGMzUXdLWUluZUc0dExXeDJaUzAyCi1iR0Zr
TG5kM2R6RXVibTkwTFhkbFlpMXdiR0YwWm05eWJTNTBaWE4wTUNtQ0ozZDNkekl1ZUc0dExXeDJa
UzAyCi1iR0ZrTG01dmRDMTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemREQXBnaWQzZDNjeExuaHVMUzFz
ZG1VdE5teGhaQzV1Ci1iM1F0ZDJWaUxYQnNZWFJtYjNKdExuUmxjM1F3S1lJbmVHNHRMV3gyWlMw
MmJHRmtMbmQzZHpJdWJtOTBMWGRsCi1ZaTF3YkdGMFptOXliUzUwWlhOME1DdUNLWGh1TFMxdU9H
bzJaSE0xTTJ4M2QydHljV2gyTWpoaExuZGxZaTF3Ci1iR0YwWm05eWJTNTBaWE4wTUMyQ0szaHVM
UzFzZG1VdE5teGhaQzU0YmkwdGJIWmxMVFpzWVdRdWQyVmlMWEJzCi1ZWFJtYjNKdExuUmxjM1F3
TDRJdGVHNHRMVzQ0YWpaa2N6VXpiSGQzYTNKeGFIWXlPR0V1Ym05MExYZGxZaTF3Ci1iR0YwWm05
eWJTNTBaWE4wTUMrQ0xYaHVMUzF1T0dvMlpITTFNMngzZDJ0eWNXaDJNamhoTG5kM2R5NTNaV0l0
Ci1jR3hoZEdadmNtMHVkR1Z6ZERBdmdpMTNkM2N1ZUc0dExXNDRhalprY3pVemJIZDNhM0p4YUhZ
eU9HRXVkMlZpCi1MWEJzWVhSbWIzSnRMblJsYzNRd01JSXVkM2QzTVM1NGJpMHRiamhxTm1Sek5U
TnNkM2RyY25Gb2RqSTRZUzUzCi1aV0l0Y0d4aGRHWnZjbTB1ZEdWemREQXdnaTU0YmkwdGJqaHFO
bVJ6TlROc2QzZHJjbkZvZGpJNFlTNTNkM2N4Ci1MbmRsWWkxd2JHRjBabTl5YlM1MFpYTjBNREND
TG5kM2R6SXVlRzR0TFc0NGFqWmtjelV6YkhkM2EzSnhhSFl5Ci1PR0V1ZDJWaUxYQnNZWFJtYjNK
dExuUmxjM1F3TUlJdWVHNHRMVzQ0YWpaa2N6VXpiSGQzYTNKeGFIWXlPR0V1Ci1kM2QzTWk1M1pX
SXRjR3hoZEdadmNtMHVkR1Z6ZERBeGdpOTRiaTB0YkhabExUWnNZV1F1ZUc0dExXeDJaUzAyCi1i
R0ZrTG01dmRDMTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemREQXpnakY0YmkwdGJqaHFObVJ6TlROc2Qz
ZHJjbkZvCi1kakk0WVM1M2QzY3VibTkwTFhkbFlpMXdiR0YwWm05eWJTNTBaWE4wTURPQ01YZDNk
eTU0YmkwdGJqaHFObVJ6Ci1OVE5zZDNkcmNuRm9kakk0WVM1dWIzUXRkMlZpTFhCc1lYUm1iM0p0
TG5SbGMzUXdOSUl5ZDNkM01TNTRiaTB0Ci1iamhxTm1Sek5UTnNkM2RyY25Gb2RqSTRZUzV1YjNR
dGQyVmlMWEJzWVhSbWIzSnRMblJsYzNRd05JSXllRzR0Ci1MVzQ0YWpaa2N6VXpiSGQzYTNKeGFI
WXlPR0V1ZDNkM01pNXViM1F0ZDJWaUxYQnNZWFJtYjNKdExuUmxjM1F3Ci1OSUl5ZUc0dExXNDRh
alprY3pVemJIZDNhM0p4YUhZeU9HRXVkM2QzTVM1dWIzUXRkMlZpTFhCc1lYUm1iM0p0Ci1MblJs
YzNRd05JSXlkM2QzTWk1NGJpMHRiamhxTm1Sek5UTnNkM2RyY25Gb2RqSTRZUzV1YjNRdGQyVmlM
WEJzCi1ZWFJtYjNKdExuUmxjM1F3T0lJMmVHNHRMVzQ0YWpaa2N6VXpiSGQzYTNKeGFIWXlPR0V1
ZUc0dExXeDJaUzAyCi1iR0ZrTG5kbFlpMXdiR0YwWm05eWJTNTBaWE4wTURpQ05uaHVMUzFzZG1V
dE5teGhaQzU0YmkwdGJqaHFObVJ6Ci1OVE5zZDNkcmNuRm9kakk0WVM1M1pXSXRjR3hoZEdadmNt
MHVkR1Z6ZERBOGdqcDRiaTB0YkhabExUWnNZV1F1Ci1lRzR0TFc0NGFqWmtjelV6YkhkM2EzSnhh
SFl5T0dFdWJtOTBMWGRsWWkxd2JHRjBabTl5YlM1MFpYTjBNRHlDCi1Pbmh1TFMxdU9HbzJaSE0x
TTJ4M2QydHljV2gyTWpoaExuaHVMUzFzZG1VdE5teGhaQzV1YjNRdGQyVmlMWEJzCi1ZWFJtYjNK
dExuUmxjM1F3UTRKQmVHNHRMVzQ0YWpaa2N6VXpiSGQzYTNKeGFIWXlPR0V1ZUc0dExXNDRhalpr
Ci1jelV6YkhkM2EzSnhhSFl5T0dFdWQyVmlMWEJzWVhSbWIzSnRMblJsYzNRd1I0SkZlRzR0TFc0
NGFqWmtjelV6Ci1iSGQzYTNKeGFIWXlPR0V1ZUc0dExXNDRhalprY3pVemJIZDNhM0p4YUhZeU9H
RXVibTkwTFhkbFlpMXdiR0YwCi1abTl5YlM1MFpYTjBNQk1HQTFVZEpRUU1NQW9HQ0NzR0FRVUZC
d01CTUlJSmhRWURWUjBSQklJSmZEQ0NDWGlDCi1FWGRsWWkxd2JHRjBabTl5YlM1MFpYTjBnaFZ1
YjNRdGQyVmlMWEJzWVhSbWIzSnRMblJsYzNTQ0ZYZDNkeTUzCi1aV0l0Y0d4aGRHWnZjbTB1ZEdW
emRJSVdkM2QzTVM1M1pXSXRjR3hoZEdadmNtMHVkR1Z6ZElJV2QzZDNNaTUzCi1aV0l0Y0d4aGRH
WnZjbTB1ZEdWemRJSVpkM2QzTG01dmRDMTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSVpkM2QzCi1M
bmQzZHk1M1pXSXRjR3hoZEdadmNtMHVkR1Z6ZElJYWQzZDNNaTV1YjNRdGQyVmlMWEJzWVhSbWIz
SnRMblJsCi1jM1NDR25kM2R6RXVibTkwTFhkbFlpMXdiR0YwWm05eWJTNTBaWE4wZ2hwM2QzY3Vk
M2QzTWk1M1pXSXRjR3hoCi1kR1p2Y20wdWRHVnpkSUlhZDNkM01pNTNkM2N1ZDJWaUxYQnNZWFJt
YjNKdExuUmxjM1NDR25kM2R6RXVkM2QzCi1MbmRsWWkxd2JHRjBabTl5YlM1MFpYTjBnaHAzZDNj
dWQzZDNNUzUzWldJdGNHeGhkR1p2Y20wdWRHVnpkSUliCi1kM2QzTVM1M2QzY3hMbmRsWWkxd2JH
RjBabTl5YlM1MFpYTjBnaHQzZDNjeExuZDNkekl1ZDJWaUxYQnNZWFJtCi1iM0p0TG5SbGMzU0NH
M2QzZHpJdWQzZDNNaTUzWldJdGNHeGhkR1p2Y20wdWRHVnpkSUliZDNkM01pNTNkM2N4Ci1MbmRs
WWkxd2JHRjBabTl5YlM1MFpYTjBnaDEzZDNjdWQzZDNMbTV2ZEMxM1pXSXRjR3hoZEdadmNtMHVk
R1Z6Ci1kSUllZDNkM0xuZDNkekl1Ym05MExYZGxZaTF3YkdGMFptOXliUzUwWlhOMGdoNTNkM2N4
TG5kM2R5NXViM1F0Ci1kMlZpTFhCc1lYUm1iM0p0TG5SbGMzU0NIbmh1TFMxc2RtVXRObXhoWkM1
M1pXSXRjR3hoZEdadmNtMHVkR1Z6Ci1kSUllZDNkM0xuZDNkekV1Ym05MExYZGxZaTF3YkdGMFpt
OXliUzUwWlhOMGdoNTNkM2N5TG5kM2R5NXViM1F0Ci1kMlZpTFhCc1lYUm1iM0p0TG5SbGMzU0NI
M2QzZHpJdWQzZDNNaTV1YjNRdGQyVmlMWEJzWVhSbWIzSnRMblJsCi1jM1NDSDNkM2R6SXVkM2Qz
TVM1dWIzUXRkMlZpTFhCc1lYUm1iM0p0TG5SbGMzU0NIM2QzZHpFdWQzZDNNUzV1Ci1iM1F0ZDJW
aUxYQnNZWFJtYjNKdExuUmxjM1NDSDNkM2R6RXVkM2QzTWk1dWIzUXRkMlZpTFhCc1lYUm1iM0p0
Ci1MblJsYzNTQ0luaHVMUzFzZG1VdE5teGhaQzUzZDNjdWQyVmlMWEJzWVhSbWIzSnRMblJsYzNT
Q0luZDNkeTU0Ci1iaTB0YkhabExUWnNZV1F1ZDJWaUxYQnNZWFJtYjNKdExuUmxjM1NDSW5odUxT
MXNkbVV0Tm14aFpDNXViM1F0Ci1kMlZpTFhCc1lYUm1iM0p0TG5SbGMzU0NJM2h1TFMxc2RtVXRO
bXhoWkM1M2QzY3hMbmRsWWkxd2JHRjBabTl5Ci1iUzUwWlhOMGdpTjNkM2N5TG5odUxTMXNkbVV0
Tm14aFpDNTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSWpkM2QzCi1NUzU0YmkwdGJIWmxMVFpzWVdR
dWQyVmlMWEJzWVhSbWIzSnRMblJsYzNTQ0kzaHVMUzFzZG1VdE5teGhaQzUzCi1kM2N5TG5kbFlp
MXdiR0YwWm05eWJTNTBaWE4wZ2laNGJpMHRiSFpsTFRac1lXUXVkM2QzTG01dmRDMTNaV0l0Ci1j
R3hoZEdadmNtMHVkR1Z6ZElJbWQzZDNMbmh1TFMxc2RtVXRObXhoWkM1dWIzUXRkMlZpTFhCc1lY
Um1iM0p0Ci1MblJsYzNTQ0ozaHVMUzFzZG1VdE5teGhaQzUzZDNjeExtNXZkQzEzWldJdGNHeGhk
R1p2Y20wdWRHVnpkSUluCi1kM2QzTWk1NGJpMHRiSFpsTFRac1lXUXVibTkwTFhkbFlpMXdiR0Yw
Wm05eWJTNTBaWE4wZ2lkM2QzY3hMbmh1Ci1MUzFzZG1VdE5teGhaQzV1YjNRdGQyVmlMWEJzWVhS
bWIzSnRMblJsYzNTQ0ozaHVMUzFzZG1VdE5teGhaQzUzCi1kM2N5TG01dmRDMTNaV0l0Y0d4aGRH
WnZjbTB1ZEdWemRJSXBlRzR0TFc0NGFqWmtjelV6YkhkM2EzSnhhSFl5Ci1PR0V1ZDJWaUxYQnNZ
WFJtYjNKdExuUmxjM1NDSzNodUxTMXNkbVV0Tm14aFpDNTRiaTB0YkhabExUWnNZV1F1Ci1kMlZp
TFhCc1lYUm1iM0p0TG5SbGMzU0NMWGh1TFMxdU9HbzJaSE0xTTJ4M2QydHljV2gyTWpoaExtNXZk
QzEzCi1aV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSXRlRzR0TFc0NGFqWmtjelV6YkhkM2EzSnhhSFl5
T0dFdWQzZDNMbmRsCi1ZaTF3YkdGMFptOXliUzUwWlhOMGdpMTNkM2N1ZUc0dExXNDRhalprY3pV
emJIZDNhM0p4YUhZeU9HRXVkMlZpCi1MWEJzWVhSbWIzSnRMblJsYzNTQ0xuZDNkekV1ZUc0dExX
NDRhalprY3pVemJIZDNhM0p4YUhZeU9HRXVkMlZpCi1MWEJzWVhSbWIzSnRMblJsYzNTQ0xuaHVM
UzF1T0dvMlpITTFNMngzZDJ0eWNXaDJNamhoTG5kM2R6RXVkMlZpCi1MWEJzWVhSbWIzSnRMblJs
YzNTQ0xuZDNkekl1ZUc0dExXNDRhalprY3pVemJIZDNhM0p4YUhZeU9HRXVkMlZpCi1MWEJzWVhS
bWIzSnRMblJsYzNTQ0xuaHVMUzF1T0dvMlpITTFNMngzZDJ0eWNXaDJNamhoTG5kM2R6SXVkMlZp
Ci1MWEJzWVhSbWIzSnRMblJsYzNTQ0wzaHVMUzFzZG1VdE5teGhaQzU0YmkwdGJIWmxMVFpzWVdR
dWJtOTBMWGRsCi1ZaTF3YkdGMFptOXliUzUwWlhOMGdqRjRiaTB0YmpocU5tUnpOVE5zZDNkcmNu
Rm9kakk0WVM1M2QzY3VibTkwCi1MWGRsWWkxd2JHRjBabTl5YlM1MFpYTjBnakYzZDNjdWVHNHRM
VzQ0YWpaa2N6VXpiSGQzYTNKeGFIWXlPR0V1Ci1ibTkwTFhkbFlpMXdiR0YwWm05eWJTNTBaWE4w
Z2pKM2QzY3hMbmh1TFMxdU9HbzJaSE0xTTJ4M2QydHljV2gyCi1NamhoTG01dmRDMTNaV0l0Y0d4
aGRHWnZjbTB1ZEdWemRJSXllRzR0TFc0NGFqWmtjelV6YkhkM2EzSnhhSFl5Ci1PR0V1ZDNkM01p
NXViM1F0ZDJWaUxYQnNZWFJtYjNKdExuUmxjM1NDTW5odUxTMXVPR28yWkhNMU0yeDNkMnR5Ci1j
V2gyTWpoaExuZDNkekV1Ym05MExYZGxZaTF3YkdGMFptOXliUzUwWlhOMGdqSjNkM2N5TG5odUxT
MXVPR28yCi1aSE0xTTJ4M2QydHljV2gyTWpoaExtNXZkQzEzWldJdGNHeGhkR1p2Y20wdWRHVnpk
SUkyZUc0dExXNDRhalprCi1jelV6YkhkM2EzSnhhSFl5T0dFdWVHNHRMV3gyWlMwMmJHRmtMbmRs
WWkxd2JHRjBabTl5YlM1MFpYTjBnalo0Ci1iaTB0YkhabExUWnNZV1F1ZUc0dExXNDRhalprY3pV
emJIZDNhM0p4YUhZeU9HRXVkMlZpTFhCc1lYUm1iM0p0Ci1MblJsYzNTQ09uaHVMUzFzZG1VdE5t
eGhaQzU0YmkwdGJqaHFObVJ6TlROc2QzZHJjbkZvZGpJNFlTNXViM1F0Ci1kMlZpTFhCc1lYUm1i
M0p0TG5SbGMzU0NPbmh1TFMxdU9HbzJaSE0xTTJ4M2QydHljV2gyTWpoaExuaHVMUzFzCi1kbVV0
Tm14aFpDNXViM1F0ZDJWaUxYQnNZWFJtYjNKdExuUmxjM1NDUVhodUxTMXVPR28yWkhNMU0yeDNk
MnR5Ci1jV2gyTWpoaExuaHVMUzF1T0dvMlpITTFNMngzZDJ0eWNXaDJNamhoTG5kbFlpMXdiR0Yw
Wm05eWJTNTBaWE4wCi1na1Y0YmkwdGJqaHFObVJ6TlROc2QzZHJjbkZvZGpJNFlTNTRiaTB0Ympo
cU5tUnpOVE5zZDNkcmNuRm9kakk0Ci1ZUzV1YjNRdGQyVmlMWEJzWVhSbWIzSnRMblJsYzNRd0RR
WUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFIWGlxMXZBCi14amM4aWozNGk0Yis4aW5WQlZ3VFd5SHRj
emxabklRVEN4cUpDRGs4M3B6OFFGSEd5SFl6K2RiMzZVNll3SGFrCi1JM0hZaGlwUE1CMVZubEhr
TUE2eEZ1WkwvYUZXeXdMTlU5blRtYUFWMGZQL1I1azl2dDhBRW0wWm1FV2tOWXRMCi1vcGN5MHJx
akFhWFRJV2VzOTFPWmZuaVRGUURITWl1cks4VnErZnEvT3p3K1lRYlJiVTFLbEhDTmF5aXN2UWE0
Ci1UTE8rRGpNUjBoekRUM0RIRXdQSkxQWWFhNlJuSXdvOHp2Q3FrMFpSUEF4ZXVsZEFlL3UxUHp0
ZVhSekVIVEFFCi1ETVZMTXdNNzUyYkxGdWZ2MUdSQ1pOSEVMWkt5aFVvRnJQMzBBcUU3cjNwbndR
Ulc4S2RpZDM4SU1vN3U5RGVtCi11NS90SGVmUEtEN2JtL1k9Ci0tLS0tLUVORCBDRVJUSUZJQ0FU
RS0tLS0tCistLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0NCitNSUpBR3pDQ1B3T2dBd0lCQWdJ
REMvT3VNQTBHQ1NxR1NJYjNEUUVCQ3dVQU1CMHhHekFaQmdOVkJBTU1FbmRsDQorWWkxd2JHRjBa
bTl5YlMxMFpYTjBjekFlRncweU1EQXlNVGd5TURJNU5EZGFGdzB6TURBeU1UVXlNREk1TkRkYQ0K
K01CMHhHekFaQmdOVkJBTU1FbmRsWWkxd2JHRjBabTl5YlMxMFpYTjBjekNDQVNJd0RRWUpLb1pJ
aHZjTkFRRUINCitCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFMOTlhV2szZFJpWXhJak5IbHhMelpMTXFh
ZmEvd0FyRzVROVQyRUx4YjByDQorT2dEa1ZVTXBpVkJtQTRyV3BHSXU4UmdlL3RIb2EzRk03NnZr
eHl1M0I2L3NJZlNQV3BuVTdZTi9QUTk0YmpCNA0KK1dUVUZRUjBMQm5LVUdiWTFYVnhlNUFPMWQx
ZlkzdEFtejNOSEE0NmlmV3piVnFSUFpTelhwdU5nNWV0Qm1mSjINCitmWjZyZVl0Z1M5VklxdVVv
UFNBRk1LTXQzSjQ2YkQ2VlA4UVBjVkZ6WUlMMERyblJscWQxb29NRkZCTWl6WHE2DQorOVpTbFky
U1hBK001N2E0bExtdlVUNTFmNVcvQnRCN3VjS2JhT254ZVpaTFlBTDkrMCtycDkyMkVlMkRyb0l0
Rg0KK01na0FRUWN2Y3VEb3RXUzg2VmdTRjdkUFRqUTEyRS83ZUgrOW9QUUZTeHNDQXdFQUFhT0NQ
V0l3Z2oxZU1Bd0cNCitBMVVkRXdRRk1BTUJBZjh3SFFZRFZSME9CQllFRlBhNTJoWUhCYnR2eVdN
d3htZEF5d1BUSHBEc01FY0dBMVVkDQorSXdSQU1ENkFGUGE1MmhZSEJidHZ5V013eG1kQXl3UFRI
cERzb1NHa0h6QWRNUnN3R1FZRFZRUUREQkozWldJdA0KK2NHeGhkR1p2Y20wdGRHVnpkSE9DQXd2
enJqQUxCZ05WSFE4RUJBTUNBZ1F3Z2g5akJnTlZIUjRFZ2g5YU1JSWYNCitWcUNDSDFJd0U0SVJk
MlZpTFhCc1lYUm1iM0p0TG5SbGMzUXdGNElWYjNBeUxuZGxZaTF3YkdGMFptOXliUzUwDQorWlhO
ME1CZUNGVzl3T1M1M1pXSXRjR3hoZEdadmNtMHVkR1Z6ZERBWGdoVnZjRGN1ZDJWaUxYQnNZWFJt
YjNKdA0KK0xuUmxjM1F3RjRJVmIzQXhMbmRsWWkxd2JHRjBabTl5YlM1MFpYTjBNQmVDRlc5d015
NTNaV0l0Y0d4aGRHWnYNCitjbTB1ZEdWemREQVhnaFZ2Y0RZdWQyVmlMWEJzWVhSbWIzSnRMblJs
YzNRd0Y0SVZibTkwTFhkbFlpMXdiR0YwDQorWm05eWJTNTBaWE4wTUJlQ0ZXOXdOUzUzWldJdGNH
eGhkR1p2Y20wdWRHVnpkREFYZ2hWdmNEUXVkMlZpTFhCcw0KK1lYUm1iM0p0TG5SbGMzUXdGNElW
YjNBNExuZGxZaTF3YkdGMFptOXliUzUwWlhOME1CZUNGWGQzZHk1M1pXSXQNCitjR3hoZEdadmNt
MHVkR1Z6ZERBWWdoWnZjRGczTG5kbFlpMXdiR0YwWm05eWJTNTBaWE4wTUJpQ0ZtOXdPREF1DQor
ZDJWaUxYQnNZWFJtYjNKdExuUmxjM1F3R0lJV2IzQTVOQzUzWldJdGNHeGhkR1p2Y20wdWRHVnpk
REFZZ2hadg0KK2NERTJMbmRsWWkxd2JHRjBabTl5YlM1MFpYTjBNQmlDRm05d05EQXVkMlZpTFhC
c1lYUm1iM0p0TG5SbGMzUXcNCitHSUlXYjNBeE55NTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemREQVln
aFp2Y0RjeUxuZGxZaTF3YkdGMFptOXliUzUwDQorWlhOME1CaUNGbTl3TmpRdWQyVmlMWEJzWVhS
bWIzSnRMblJsYzNRd0dJSVdiM0F5TXk1M1pXSXRjR3hoZEdadg0KK2NtMHVkR1Z6ZERBWWdoWnZj
REk0TG5kbFlpMXdiR0YwWm05eWJTNTBaWE4wTUJpQ0ZtOXdNVE11ZDJWaUxYQnMNCitZWFJtYjNK
dExuUmxjM1F3R0lJV2IzQXpOaTUzWldJdGNHeGhkR1p2Y20wdWRHVnpkREFZZ2hadmNERXhMbmRs
DQorWWkxd2JHRjBabTl5YlM1MFpYTjBNQmlDRm05d056a3VkMlZpTFhCc1lYUm1iM0p0TG5SbGMz
UXdHSUlXYjNBMg0KK01TNTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemREQVlnaFp2Y0RRNExuZGxZaTF3
YkdGMFptOXliUzUwWlhOME1CaUMNCitGbTl3TVRrdWQyVmlMWEJzWVhSbWIzSnRMblJsYzNRd0dJ
SVdiM0EwTWk1M1pXSXRjR3hoZEdadmNtMHVkR1Z6DQorZERBWWdoWnZjRFEyTG5kbFlpMXdiR0Yw
Wm05eWJTNTBaWE4wTUJpQ0ZtOXdNemN1ZDJWaUxYQnNZWFJtYjNKdA0KK0xuUmxjM1F3R0lJV2Iz
QTVPQzUzWldJdGNHeGhkR1p2Y20wdWRHVnpkREFZZ2hadmNEWTJMbmRsWWkxd2JHRjANCitabTl5
YlM1MFpYTjBNQmlDRm5kM2R6RXVkMlZpTFhCc1lYUm1iM0p0TG5SbGMzUXdHSUlXYjNBeU5pNTNa
V0l0DQorY0d4aGRHWnZjbTB1ZEdWemREQVlnaFp2Y0RZM0xuZGxZaTF3YkdGMFptOXliUzUwWlhO
ME1CaUNGbTl3TnpNdQ0KK2QyVmlMWEJzWVhSbWIzSnRMblJsYzNRd0dJSVdiM0F6T0M1M1pXSXRj
R3hoZEdadmNtMHVkR1Z6ZERBWWdoWnYNCitjRFl5TG5kbFlpMXdiR0YwWm05eWJTNTBaWE4wTUJp
Q0ZtOXdOVGd1ZDJWaUxYQnNZWFJtYjNKdExuUmxjM1F3DQorR0lJV2IzQTFOaTUzWldJdGNHeGhk
R1p2Y20wdWRHVnpkREFZZ2hadmNESXlMbmRsWWkxd2JHRjBabTl5YlM1MA0KK1pYTjBNQmlDRm05
d01qUXVkMlZpTFhCc1lYUm1iM0p0TG5SbGMzUXdHSUlXZDNkM01pNTNaV0l0Y0d4aGRHWnYNCitj
bTB1ZEdWemREQVlnaFp2Y0RFNExuZGxZaTF3YkdGMFptOXliUzUwWlhOME1CaUNGbTl3TnpRdWQy
VmlMWEJzDQorWVhSbWIzSnRMblJsYzNRd0dJSVdiM0E1TVM1M1pXSXRjR3hoZEdadmNtMHVkR1Z6
ZERBWWdoWnZjRE16TG5kbA0KK1lpMXdiR0YwWm05eWJTNTBaWE4wTUJpQ0ZtOXdOamt1ZDJWaUxY
QnNZWFJtYjNKdExuUmxjM1F3R0lJV2IzQXoNCitNQzUzWldJdGNHeGhkR1p2Y20wdWRHVnpkREFZ
Z2hadmNETTVMbmRsWWkxd2JHRjBabTl5YlM1MFpYTjBNQmlDDQorRm05d05USXVkMlZpTFhCc1lY
Um1iM0p0TG5SbGMzUXdHSUlXYjNBME15NTNaV0l0Y0d4aGRHWnZjbTB1ZEdWeg0KK2REQVlnaFp2
Y0RnMUxuZGxZaTF3YkdGMFptOXliUzUwWlhOME1CaUNGbTl3TXpRdWQyVmlMWEJzWVhSbWIzSnQN
CitMblJsYzNRd0dJSVdiM0F5TVM1M1pXSXRjR3hoZEdadmNtMHVkR1Z6ZERBWWdoWnZjRGN4TG5k
bFlpMXdiR0YwDQorWm05eWJTNTBaWE4wTUJpQ0ZtOXdOVEF1ZDJWaUxYQnNZWFJtYjNKdExuUmxj
M1F3R0lJV2IzQTROQzUzWldJdA0KK2NHeGhkR1p2Y20wdWRHVnpkREFZZ2hadmNETXhMbmRsWWkx
d2JHRjBabTl5YlM1MFpYTjBNQmlDRm05d05UUXUNCitkMlZpTFhCc1lYUm1iM0p0TG5SbGMzUXdH
SUlXYjNBME9TNTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemREQVlnaFp2DQorY0RRMExuZGxZaTF3YkdG
MFptOXliUzUwWlhOME1CaUNGbTl3TkRVdWQyVmlMWEJzWVhSbWIzSnRMblJsYzNRdw0KK0dJSVdi
M0F6TlM1M1pXSXRjR3hoZEdadmNtMHVkR1Z6ZERBWWdoWnZjRGMyTG5kbFlpMXdiR0YwWm05eWJT
NTANCitaWE4wTUJpQ0ZtOXdNVFF1ZDJWaUxYQnNZWFJtYjNKdExuUmxjM1F3R0lJV2IzQTRNUzUz
WldJdGNHeGhkR1p2DQorY20wdWRHVnpkREFZZ2hadmNEZzRMbmRsWWkxd2JHRjBabTl5YlM1MFpY
TjBNQmlDRm05d01qQXVkMlZpTFhCcw0KK1lYUm1iM0p0TG5SbGMzUXdHSUlXYjNBNU5TNTNaV0l0
Y0d4aGRHWnZjbTB1ZEdWemREQVlnaFp2Y0RVeExuZGwNCitZaTF3YkdGMFptOXliUzUwWlhOME1C
aUNGbTl3T0RZdWQyVmlMWEJzWVhSbWIzSnRMblJsYzNRd0dJSVdiM0ExDQorTlM1M1pXSXRjR3ho
ZEdadmNtMHVkR1Z6ZERBWWdoWnZjREkzTG5kbFlpMXdiR0YwWm05eWJTNTBaWE4wTUJpQw0KK0Zt
OXdNVEl1ZDJWaUxYQnNZWFJtYjNKdExuUmxjM1F3R0lJV2IzQTNOUzUzWldJdGNHeGhkR1p2Y20w
dWRHVnoNCitkREFZZ2hadmNEUTNMbmRsWWkxd2JHRjBabTl5YlM1MFpYTjBNQmlDRm05d09UWXVk
MlZpTFhCc1lYUm1iM0p0DQorTG5SbGMzUXdHSUlXYjNBNU15NTNaV0l0Y0d4aGRHWnZjbTB1ZEdW
emREQVlnaFp2Y0RVM0xuZGxZaTF3YkdGMA0KK1ptOXliUzUwWlhOME1CaUNGbTl3TmpNdWQyVmlM
WEJzWVhSbWIzSnRMblJsYzNRd0dJSVdiM0ExTXk1M1pXSXQNCitjR3hoZEdadmNtMHVkR1Z6ZERB
WWdoWnZjREk1TG5kbFlpMXdiR0YwWm05eWJTNTBaWE4wTUJpQ0ZtOXdNalV1DQorZDJWaUxYQnNZ
WFJtYjNKdExuUmxjM1F3R0lJV2IzQTRNeTUzWldJdGNHeGhkR1p2Y20wdWRHVnpkREFZZ2hadg0K
K2NEazNMbmRsWWkxd2JHRjBabTl5YlM1MFpYTjBNQmlDRm05d05ERXVkMlZpTFhCc1lYUm1iM0p0
TG5SbGMzUXcNCitHSUlXYjNBek1pNTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemREQVlnaFp2Y0Rjd0xu
ZGxZaTF3YkdGMFptOXliUzUwDQorWlhOME1CaUNGbTl3TmpBdWQyVmlMWEJzWVhSbWIzSnRMblJs
YzNRd0dJSVdiM0E1TWk1M1pXSXRjR3hoZEdadg0KK2NtMHVkR1Z6ZERBWWdoWnZjRGM0TG5kbFlp
MXdiR0YwWm05eWJTNTBaWE4wTUJpQ0ZtOXdPRGt1ZDJWaUxYQnMNCitZWFJtYjNKdExuUmxjM1F3
R0lJV2IzQXhNQzUzWldJdGNHeGhkR1p2Y20wdWRHVnpkREFZZ2hadmNEYzNMbmRsDQorWWkxd2JH
RjBabTl5YlM1MFpYTjBNQmlDRm05d05Ua3VkMlZpTFhCc1lYUm1iM0p0TG5SbGMzUXdHSUlXYjNB
eA0KK05TNTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemREQVlnaFp2Y0RZMUxuZGxZaTF3YkdGMFptOXli
UzUwWlhOME1CaUMNCitGbTl3TmpndWQyVmlMWEJzWVhSbWIzSnRMblJsYzNRd0dJSVdiM0E1TUM1
M1pXSXRjR3hoZEdadmNtMHVkR1Z6DQorZERBWWdoWnZjRGd5TG5kbFlpMXdiR0YwWm05eWJTNTBa
WE4wTUJ1Q0dXOXdOaTV1YjNRdGQyVmlMWEJzWVhSbQ0KK2IzSnRMblJsYzNRd0c0SVpiM0E0TG01
dmRDMTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemREQWJnaGx2Y0RrdWJtOTANCitMWGRsWWkxd2JHRjBa
bTl5YlM1MFpYTjBNQnVDR1c5d05DNXViM1F0ZDJWaUxYQnNZWFJtYjNKdExuUmxjM1F3DQorRzRJ
WmIzQTNMbTV2ZEMxM1pXSXRjR3hoZEdadmNtMHVkR1Z6ZERBYmdobDNkM2N1ZDNkM0xuZGxZaTF3
YkdGMA0KK1ptOXliUzUwWlhOME1CdUNHVzl3TWk1dWIzUXRkMlZpTFhCc1lYUm1iM0p0TG5SbGMz
UXdHNElaYjNBeExtNXYNCitkQzEzWldJdGNHeGhkR1p2Y20wdWRHVnpkREFiZ2hsM2QzY3VibTkw
TFhkbFlpMXdiR0YwWm05eWJTNTBaWE4wDQorTUJ1Q0dXOXdOUzV1YjNRdGQyVmlMWEJzWVhSbWIz
SnRMblJsYzNRd0c0SVpiM0F6TG01dmRDMTNaV0l0Y0d4aA0KK2RHWnZjbTB1ZEdWemREQWNnaHB2
Y0RJM0xtNXZkQzEzWldJdGNHeGhkR1p2Y20wdWRHVnpkREFjZ2hwdmNEUXcNCitMbTV2ZEMxM1pX
SXRjR3hoZEdadmNtMHVkR1Z6ZERBY2docHZjRFExTG01dmRDMTNaV0l0Y0d4aGRHWnZjbTB1DQor
ZEdWemREQWNnaHB2Y0RrMkxtNXZkQzEzWldJdGNHeGhkR1p2Y20wdWRHVnpkREFjZ2hwdmNESTRM
bTV2ZEMxMw0KK1pXSXRjR3hoZEdadmNtMHVkR1Z6ZERBY2docHZjRGd6TG01dmRDMTNaV0l0Y0d4
aGRHWnZjbTB1ZEdWemREQWMNCitnaHB2Y0RNekxtNXZkQzEzWldJdGNHeGhkR1p2Y20wdWRHVnpk
REFjZ2hwdmNEVTJMbTV2ZEMxM1pXSXRjR3hoDQorZEdadmNtMHVkR1Z6ZERBY2docDNkM2N4TG01
dmRDMTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemREQWNnaHB2Y0RZeQ0KK0xtNXZkQzEzWldJdGNHeGhk
R1p2Y20wdWRHVnpkREFjZ2hwdmNERTRMbTV2ZEMxM1pXSXRjR3hoZEdadmNtMHUNCitkR1Z6ZERB
Y2docHZjRFE0TG01dmRDMTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemREQWNnaHB2Y0RRekxtNXZkQzEz
DQorWldJdGNHeGhkR1p2Y20wdWRHVnpkREFjZ2hwdmNEZzVMbTV2ZEMxM1pXSXRjR3hoZEdadmNt
MHVkR1Z6ZERBYw0KK2docHZjRFl3TG01dmRDMTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemREQWNnaHB2
Y0RrMUxtNXZkQzEzWldJdGNHeGgNCitkR1p2Y20wdWRHVnpkREFjZ2hwdmNEY3pMbTV2ZEMxM1pX
SXRjR3hoZEdadmNtMHVkR1Z6ZERBY2docHZjRGt4DQorTG01dmRDMTNaV0l0Y0d4aGRHWnZjbTB1
ZEdWemREQWNnaHB2Y0RReUxtNXZkQzEzWldJdGNHeGhkR1p2Y20wdQ0KK2RHVnpkREFjZ2hwdmNE
STJMbTV2ZEMxM1pXSXRjR3hoZEdadmNtMHVkR1Z6ZERBY2docHZjRFk1TG01dmRDMTMNCitaV0l0
Y0d4aGRHWnZjbTB1ZEdWemREQWNnaHB2Y0RNeUxtNXZkQzEzWldJdGNHeGhkR1p2Y20wdWRHVnpk
REFjDQorZ2hwdmNETTNMbTV2ZEMxM1pXSXRjR3hoZEdadmNtMHVkR1Z6ZERBY2docHZjRGs0TG01
dmRDMTNaV0l0Y0d4aA0KK2RHWnZjbTB1ZEdWemREQWNnaHB2Y0RFNUxtNXZkQzEzWldJdGNHeGhk
R1p2Y20wdWRHVnpkREFjZ2hwdmNEYzINCitMbTV2ZEMxM1pXSXRjR3hoZEdadmNtMHVkR1Z6ZERB
Y2docHZjREV6TG01dmRDMTNaV0l0Y0d4aGRHWnZjbTB1DQorZEdWemREQWNnaHB2Y0RjNUxtNXZk
QzEzWldJdGNHeGhkR1p2Y20wdWRHVnpkREFjZ2hwM2QzY3lMbmQzZHk1Mw0KK1pXSXRjR3hoZEda
dmNtMHVkR1Z6ZERBY2docHZjRGcyTG01dmRDMTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemREQWMNCitn
aHB2Y0RjM0xtNXZkQzEzWldJdGNHeGhkR1p2Y20wdWRHVnpkREFjZ2hwdmNESTVMbTV2ZEMxM1pX
SXRjR3hoDQorZEdadmNtMHVkR1Z6ZERBY2docHZjRFUxTG01dmRDMTNaV0l0Y0d4aGRHWnZjbTB1
ZEdWemREQWNnaHB2Y0RreQ0KK0xtNXZkQzEzWldJdGNHeGhkR1p2Y20wdWRHVnpkREFjZ2hwdmNE
UTBMbTV2ZEMxM1pXSXRjR3hoZEdadmNtMHUNCitkR1Z6ZERBY2docHZjRFUwTG01dmRDMTNaV0l0
Y0d4aGRHWnZjbTB1ZEdWemREQWNnaHB2Y0RrMExtNXZkQzEzDQorWldJdGNHeGhkR1p2Y20wdWRH
VnpkREFjZ2hwdmNETTBMbTV2ZEMxM1pXSXRjR3hoZEdadmNtMHVkR1Z6ZERBYw0KK2docHZjRE13
TG01dmRDMTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemREQWNnaHAzZDNjeExuZDNkeTUzWldJdGNHeGgN
CitkR1p2Y20wdWRHVnpkREFjZ2hwdmNESTFMbTV2ZEMxM1pXSXRjR3hoZEdadmNtMHVkR1Z6ZERB
Y2docHZjRFkwDQorTG01dmRDMTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemREQWNnaHB2Y0RJd0xtNXZk
QzEzWldJdGNHeGhkR1p2Y20wdQ0KK2RHVnpkREFjZ2hwdmNEVXhMbTV2ZEMxM1pXSXRjR3hoZEda
dmNtMHVkR1Z6ZERBY2docHZjRFF4TG01dmRDMTMNCitaV0l0Y0d4aGRHWnZjbTB1ZEdWemREQWNn
aHB2Y0RFeUxtNXZkQzEzWldJdGNHeGhkR1p2Y20wdWRHVnpkREFjDQorZ2hwdmNERXdMbTV2ZEMx
M1pXSXRjR3hoZEdadmNtMHVkR1Z6ZERBY2docHZjRGN5TG01dmRDMTNaV0l0Y0d4aA0KK2RHWnZj
bTB1ZEdWemREQWNnaHB2Y0RJeUxtNXZkQzEzWldJdGNHeGhkR1p2Y20wdWRHVnpkREFjZ2hwdmNE
VXkNCitMbTV2ZEMxM1pXSXRjR3hoZEdadmNtMHVkR1Z6ZERBY2docHZjRGMwTG01dmRDMTNaV0l0
Y0d4aGRHWnZjbTB1DQorZEdWemREQWNnaHB2Y0RZM0xtNXZkQzEzWldJdGNHeGhkR1p2Y20wdWRH
VnpkREFjZ2hwdmNEZ3dMbTV2ZEMxMw0KK1pXSXRjR3hoZEdadmNtMHVkR1Z6ZERBY2docHZjRGcw
TG01dmRDMTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemREQWMNCitnaHB2Y0RNeExtNXZkQzEzWldJdGNH
eGhkR1p2Y20wdWRHVnpkREFjZ2hwdmNEVXpMbTV2ZEMxM1pXSXRjR3hoDQorZEdadmNtMHVkR1Z6
ZERBY2docHZjREl6TG01dmRDMTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemREQWNnaHB2Y0RNMQ0KK0xt
NXZkQzEzWldJdGNHeGhkR1p2Y20wdWRHVnpkREFjZ2hwdmNERTJMbTV2ZEMxM1pXSXRjR3hoZEda
dmNtMHUNCitkR1Z6ZERBY2docHZjRFl6TG01dmRDMTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemREQWNn
aHB2Y0RNNExtNXZkQzEzDQorWldJdGNHeGhkR1p2Y20wdWRHVnpkREFjZ2hwdmNEVTRMbTV2ZEMx
M1pXSXRjR3hoZEdadmNtMHVkR1Z6ZERBYw0KK2docHZjRFl4TG01dmRDMTNaV0l0Y0d4aGRHWnZj
bTB1ZEdWemREQWNnaHB2Y0RFMExtNXZkQzEzWldJdGNHeGgNCitkR1p2Y20wdWRHVnpkREFjZ2hw
dmNEa3dMbTV2ZEMxM1pXSXRjR3hoZEdadmNtMHVkR1Z6ZERBY2docHZjRGN3DQorTG01dmRDMTNa
V0l0Y0d4aGRHWnZjbTB1ZEdWemREQWNnaHB2Y0RFeExtNXZkQzEzWldJdGNHeGhkR1p2Y20wdQ0K
K2RHVnpkREFjZ2hwdmNERTFMbTV2ZEMxM1pXSXRjR3hoZEdadmNtMHVkR1Z6ZERBY2docHZjRFkx
TG01dmRDMTMNCitaV0l0Y0d4aGRHWnZjbTB1ZEdWemREQWNnaHB2Y0RVd0xtNXZkQzEzWldJdGNH
eGhkR1p2Y20wdWRHVnpkREFjDQorZ2hwdmNEWTRMbTV2ZEMxM1pXSXRjR3hoZEdadmNtMHVkR1Z6
ZERBY2docHZjRGczTG01dmRDMTNaV0l0Y0d4aA0KK2RHWnZjbTB1ZEdWemREQWNnaHB2Y0RjNExt
NXZkQzEzWldJdGNHeGhkR1p2Y20wdWRHVnpkREFjZ2hwM2QzY3UNCitkM2QzTWk1M1pXSXRjR3ho
ZEdadmNtMHVkR1Z6ZERBY2docHZjRGd5TG01dmRDMTNaV0l0Y0d4aGRHWnZjbTB1DQorZEdWemRE
QWNnaHB2Y0RrekxtNXZkQzEzWldJdGNHeGhkR1p2Y20wdWRHVnpkREFjZ2hwM2QzY3VkM2QzTVM1
Mw0KK1pXSXRjR3hoZEdadmNtMHVkR1Z6ZERBY2docHZjREl4TG01dmRDMTNaV0l0Y0d4aGRHWnZj
bTB1ZEdWemREQWMNCitnaHB2Y0RjeExtNXZkQzEzWldJdGNHeGhkR1p2Y20wdWRHVnpkREFjZ2hw
dmNEazNMbTV2ZEMxM1pXSXRjR3hoDQorZEdadmNtMHVkR1Z6ZERBY2docHZjRGc0TG01dmRDMTNa
V0l0Y0d4aGRHWnZjbTB1ZEdWemREQWNnaHB2Y0RJMA0KK0xtNXZkQzEzWldJdGNHeGhkR1p2Y20w
dWRHVnpkREFjZ2hwdmNEWTJMbTV2ZEMxM1pXSXRjR3hoZEdadmNtMHUNCitkR1Z6ZERBY2docHZj
RFE1TG01dmRDMTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemREQWNnaHB2Y0RVNUxtNXZkQzEzDQorWldJ
dGNHeGhkR1p2Y20wdWRHVnpkREFjZ2hwdmNEUTJMbTV2ZEMxM1pXSXRjR3hoZEdadmNtMHVkR1Z6
ZERBYw0KK2docHZjRE0yTG01dmRDMTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemREQWNnaHB2Y0RNNUxt
NXZkQzEzWldJdGNHeGgNCitkR1p2Y20wdWRHVnpkREFjZ2hwdmNEUTNMbTV2ZEMxM1pXSXRjR3ho
ZEdadmNtMHVkR1Z6ZERBY2docHZjREUzDQorTG01dmRDMTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRE
QWNnaHB2Y0RjMUxtNXZkQzEzWldJdGNHeGhkR1p2Y20wdQ0KK2RHVnpkREFjZ2hwdmNEZzFMbTV2
ZEMxM1pXSXRjR3hoZEdadmNtMHVkR1Z6ZERBY2docHZjRFUzTG01dmRDMTMNCitaV0l0Y0d4aGRH
WnZjbTB1ZEdWemREQWNnaHAzZDNjeUxtNXZkQzEzWldJdGNHeGhkR1p2Y20wdWRHVnpkREFjDQor
Z2hwdmNEZ3hMbTV2ZEMxM1pXSXRjR3hoZEdadmNtMHVkR1Z6ZERBZGdodDNkM2N5TG5kM2R6RXVk
MlZpTFhCcw0KK1lYUm1iM0p0TG5SbGMzUXdIWUliZDNkM01TNTNkM2N5TG5kbFlpMXdiR0YwWm05
eWJTNTBaWE4wTUIyQ0czZDMNCitkekl1ZDNkM01pNTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemREQWRn
aHQzZDNjeExuZDNkekV1ZDJWaUxYQnNZWFJtDQorYjNKdExuUmxjM1F3SDRJZGQzZDNMbmQzZHk1
dWIzUXRkMlZpTFhCc1lYUm1iM0p0TG5SbGMzUXdJSUllZDNkMw0KK01pNTNkM2N1Ym05MExYZGxZ
aTF3YkdGMFptOXliUzUwWlhOME1DQ0NIbmh1TFMxc2RtVXRObXhoWkM1M1pXSXQNCitjR3hoZEda
dmNtMHVkR1Z6ZERBZ2doNTNkM2N4TG5kM2R5NXViM1F0ZDJWaUxYQnNZWFJtYjNKdExuUmxjM1F3
DQorSUlJZWQzZDNMbmQzZHpFdWJtOTBMWGRsWWkxd2JHRjBabTl5YlM1MFpYTjBNQ0NDSG5kM2R5
NTNkM2N5TG01dg0KK2RDMTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemREQWhnaDkzZDNjeExuZDNkekl1
Ym05MExYZGxZaTF3YkdGMFptOXkNCitiUzUwWlhOME1DR0NIM2QzZHpFdWQzZDNNUzV1YjNRdGQy
VmlMWEJzWVhSbWIzSnRMblJsYzNRd0lZSWZkM2QzDQorTWk1M2QzY3hMbTV2ZEMxM1pXSXRjR3ho
ZEdadmNtMHVkR1Z6ZERBaGdoOTNkM2N5TG5kM2R6SXVibTkwTFhkbA0KK1lpMXdiR0YwWm05eWJT
NTBaWE4wTUNTQ0luaHVMUzFzZG1VdE5teGhaQzUzZDNjdWQyVmlMWEJzWVhSbWIzSnQNCitMblJs
YzNRd0pJSWllRzR0TFd4MlpTMDJiR0ZrTG01dmRDMTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemREQWtn
aUozDQorZDNjdWVHNHRMV3gyWlMwMmJHRmtMbmRsWWkxd2JHRjBabTl5YlM1MFpYTjBNQ1dDSTNk
M2R6RXVlRzR0TFd4Mg0KK1pTMDJiR0ZrTG5kbFlpMXdiR0YwWm05eWJTNTBaWE4wTUNXQ0kzZDNk
ekl1ZUc0dExXeDJaUzAyYkdGa0xuZGwNCitZaTF3YkdGMFptOXliUzUwWlhOME1DV0NJM2h1TFMx
c2RtVXRObXhoWkM1M2QzY3lMbmRsWWkxd2JHRjBabTl5DQorYlM1MFpYTjBNQ1dDSTNodUxTMXNk
bVV0Tm14aFpDNTNkM2N4TG5kbFlpMXdiR0YwWm05eWJTNTBaWE4wTUNpQw0KK0puZDNkeTU0Ymkw
dGJIWmxMVFpzWVdRdWJtOTBMWGRsWWkxd2JHRjBabTl5YlM1MFpYTjBNQ2lDSm5odUxTMXMNCitk
bVV0Tm14aFpDNTNkM2N1Ym05MExYZGxZaTF3YkdGMFptOXliUzUwWlhOME1DbUNKM2QzZHpFdWVH
NHRMV3gyDQorWlMwMmJHRmtMbTV2ZEMxM1pXSXRjR3hoZEdadmNtMHVkR1Z6ZERBcGdpZDNkM2N5
TG5odUxTMXNkbVV0Tm14aA0KK1pDNXViM1F0ZDJWaUxYQnNZWFJtYjNKdExuUmxjM1F3S1lJbmVH
NHRMV3gyWlMwMmJHRmtMbmQzZHpFdWJtOTANCitMWGRsWWkxd2JHRjBabTl5YlM1MFpYTjBNQ21D
SjNodUxTMXNkbVV0Tm14aFpDNTNkM2N5TG01dmRDMTNaV0l0DQorY0d4aGRHWnZjbTB1ZEdWemRE
QXJnaWw0YmkwdGJqaHFObVJ6TlROc2QzZHJjbkZvZGpJNFlTNTNaV0l0Y0d4aA0KK2RHWnZjbTB1
ZEdWemREQXRnaXQ0YmkwdGJIWmxMVFpzWVdRdWVHNHRMV3gyWlMwMmJHRmtMbmRsWWkxd2JHRjAN
CitabTl5YlM1MFpYTjBNQytDTFhodUxTMXVPR28yWkhNMU0yeDNkMnR5Y1doMk1qaGhMbTV2ZEMx
M1pXSXRjR3hoDQorZEdadmNtMHVkR1Z6ZERBdmdpMTRiaTB0YmpocU5tUnpOVE5zZDNkcmNuRm9k
akk0WVM1M2QzY3VkMlZpTFhCcw0KK1lYUm1iM0p0TG5SbGMzUXdMNEl0ZDNkM0xuaHVMUzF1T0dv
MlpITTFNMngzZDJ0eWNXaDJNamhoTG5kbFlpMXcNCitiR0YwWm05eWJTNTBaWE4wTURDQ0xuZDNk
ekl1ZUc0dExXNDRhalprY3pVemJIZDNhM0p4YUhZeU9HRXVkMlZpDQorTFhCc1lYUm1iM0p0TG5S
bGMzUXdNSUl1ZDNkM01TNTRiaTB0YmpocU5tUnpOVE5zZDNkcmNuRm9kakk0WVM1Mw0KK1pXSXRj
R3hoZEdadmNtMHVkR1Z6ZERBd2dpNTRiaTB0YmpocU5tUnpOVE5zZDNkcmNuRm9kakk0WVM1M2Qz
Y3gNCitMbmRsWWkxd2JHRjBabTl5YlM1MFpYTjBNRENDTG5odUxTMXVPR28yWkhNMU0yeDNkMnR5
Y1doMk1qaGhMbmQzDQorZHpJdWQyVmlMWEJzWVhSbWIzSnRMblJsYzNRd01ZSXZlRzR0TFd4MlpT
MDJiR0ZrTG5odUxTMXNkbVV0Tm14aA0KK1pDNXViM1F0ZDJWaUxYQnNZWFJtYjNKdExuUmxjM1F3
TTRJeGVHNHRMVzQ0YWpaa2N6VXpiSGQzYTNKeGFIWXkNCitPR0V1ZDNkM0xtNXZkQzEzWldJdGNH
eGhkR1p2Y20wdWRHVnpkREF6Z2pGM2QzY3VlRzR0TFc0NGFqWmtjelV6DQorYkhkM2EzSnhhSFl5
T0dFdWJtOTBMWGRsWWkxd2JHRjBabTl5YlM1MFpYTjBNRFNDTW5kM2R6RXVlRzR0TFc0NA0KK2Fq
WmtjelV6YkhkM2EzSnhhSFl5T0dFdWJtOTBMWGRsWWkxd2JHRjBabTl5YlM1MFpYTjBNRFNDTW5o
dUxTMXUNCitPR28yWkhNMU0yeDNkMnR5Y1doMk1qaGhMbmQzZHpFdWJtOTBMWGRsWWkxd2JHRjBa
bTl5YlM1MFpYTjBNRFNDDQorTW5kM2R6SXVlRzR0TFc0NGFqWmtjelV6YkhkM2EzSnhhSFl5T0dF
dWJtOTBMWGRsWWkxd2JHRjBabTl5YlM1MA0KK1pYTjBNRFNDTW5odUxTMXVPR28yWkhNMU0yeDNk
MnR5Y1doMk1qaGhMbmQzZHpJdWJtOTBMWGRsWWkxd2JHRjANCitabTl5YlM1MFpYTjBNRGlDTm5o
dUxTMXVPR28yWkhNMU0yeDNkMnR5Y1doMk1qaGhMbmh1TFMxc2RtVXRObXhoDQorWkM1M1pXSXRj
R3hoZEdadmNtMHVkR1Z6ZERBNGdqWjRiaTB0YkhabExUWnNZV1F1ZUc0dExXNDRhalprY3pVeg0K
K2JIZDNhM0p4YUhZeU9HRXVkMlZpTFhCc1lYUm1iM0p0TG5SbGMzUXdQSUk2ZUc0dExXeDJaUzAy
YkdGa0xuaHUNCitMUzF1T0dvMlpITTFNMngzZDJ0eWNXaDJNamhoTG01dmRDMTNaV0l0Y0d4aGRH
WnZjbTB1ZEdWemREQThnanA0DQorYmkwdGJqaHFObVJ6TlROc2QzZHJjbkZvZGpJNFlTNTRiaTB0
YkhabExUWnNZV1F1Ym05MExYZGxZaTF3YkdGMA0KK1ptOXliUzUwWlhOME1FT0NRWGh1TFMxdU9H
bzJaSE0xTTJ4M2QydHljV2gyTWpoaExuaHVMUzF1T0dvMlpITTENCitNMngzZDJ0eWNXaDJNamho
TG5kbFlpMXdiR0YwWm05eWJTNTBaWE4wTUVlQ1JYaHVMUzF1T0dvMlpITTFNMngzDQorZDJ0eWNX
aDJNamhoTG5odUxTMXVPR28yWkhNMU0yeDNkMnR5Y1doMk1qaGhMbTV2ZEMxM1pXSXRjR3hoZEda
dg0KK2NtMHVkR1Z6ZERBVEJnTlZIU1VFRERBS0JnZ3JCZ0VGQlFjREFUQ0NIVnNHQTFVZEVRU0NI
Vkl3Z2gxT2doRjMNCitaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSVZiM0F5TG5kbFlpMXdiR0YwWm05
eWJTNTBaWE4wZ2hWdmNEa3VkMlZpDQorTFhCc1lYUm1iM0p0TG5SbGMzU0NGVzl3Tnk1M1pXSXRj
R3hoZEdadmNtMHVkR1Z6ZElJVmIzQXhMbmRsWWkxdw0KK2JHRjBabTl5YlM1MFpYTjBnaFZ2Y0RN
dWQyVmlMWEJzWVhSbWIzSnRMblJsYzNTQ0ZXOXdOaTUzWldJdGNHeGgNCitkR1p2Y20wdWRHVnpk
SUlWYm05MExYZGxZaTF3YkdGMFptOXliUzUwWlhOMGdoVnZjRFV1ZDJWaUxYQnNZWFJtDQorYjNK
dExuUmxjM1NDRlc5d05DNTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSVZiM0E0TG5kbFlpMXdiR0Yw
Wm05eQ0KK2JTNTBaWE4wZ2hWM2QzY3VkMlZpTFhCc1lYUm1iM0p0TG5SbGMzU0NGbTl3T0RjdWQy
VmlMWEJzWVhSbWIzSnQNCitMblJsYzNTQ0ZtOXdPREF1ZDJWaUxYQnNZWFJtYjNKdExuUmxjM1ND
Rm05d09UUXVkMlZpTFhCc1lYUm1iM0p0DQorTG5SbGMzU0NGbTl3TVRZdWQyVmlMWEJzWVhSbWIz
SnRMblJsYzNTQ0ZtOXdOREF1ZDJWaUxYQnNZWFJtYjNKdA0KK0xuUmxjM1NDRm05d01UY3VkMlZp
TFhCc1lYUm1iM0p0TG5SbGMzU0NGbTl3TnpJdWQyVmlMWEJzWVhSbWIzSnQNCitMblJsYzNTQ0Zt
OXdOalF1ZDJWaUxYQnNZWFJtYjNKdExuUmxjM1NDRm05d01qTXVkMlZpTFhCc1lYUm1iM0p0DQor
TG5SbGMzU0NGbTl3TWpndWQyVmlMWEJzWVhSbWIzSnRMblJsYzNTQ0ZtOXdNVE11ZDJWaUxYQnNZ
WFJtYjNKdA0KK0xuUmxjM1NDRm05d016WXVkMlZpTFhCc1lYUm1iM0p0TG5SbGMzU0NGbTl3TVRF
dWQyVmlMWEJzWVhSbWIzSnQNCitMblJsYzNTQ0ZtOXdOemt1ZDJWaUxYQnNZWFJtYjNKdExuUmxj
M1NDRm05d05qRXVkMlZpTFhCc1lYUm1iM0p0DQorTG5SbGMzU0NGbTl3TkRndWQyVmlMWEJzWVhS
bWIzSnRMblJsYzNTQ0ZtOXdNVGt1ZDJWaUxYQnNZWFJtYjNKdA0KK0xuUmxjM1NDRm05d05ESXVk
MlZpTFhCc1lYUm1iM0p0TG5SbGMzU0NGbTl3TkRZdWQyVmlMWEJzWVhSbWIzSnQNCitMblJsYzNT
Q0ZtOXdNemN1ZDJWaUxYQnNZWFJtYjNKdExuUmxjM1NDRm05d09UZ3VkMlZpTFhCc1lYUm1iM0p0
DQorTG5SbGMzU0NGbTl3TmpZdWQyVmlMWEJzWVhSbWIzSnRMblJsYzNTQ0ZuZDNkekV1ZDJWaUxY
QnNZWFJtYjNKdA0KK0xuUmxjM1NDRm05d01qWXVkMlZpTFhCc1lYUm1iM0p0TG5SbGMzU0NGbTl3
TmpjdWQyVmlMWEJzWVhSbWIzSnQNCitMblJsYzNTQ0ZtOXdOek11ZDJWaUxYQnNZWFJtYjNKdExu
UmxjM1NDRm05d016Z3VkMlZpTFhCc1lYUm1iM0p0DQorTG5SbGMzU0NGbTl3TmpJdWQyVmlMWEJz
WVhSbWIzSnRMblJsYzNTQ0ZtOXdOVGd1ZDJWaUxYQnNZWFJtYjNKdA0KK0xuUmxjM1NDRm05d05U
WXVkMlZpTFhCc1lYUm1iM0p0TG5SbGMzU0NGbTl3TWpJdWQyVmlMWEJzWVhSbWIzSnQNCitMblJs
YzNTQ0ZtOXdNalF1ZDJWaUxYQnNZWFJtYjNKdExuUmxjM1NDRm5kM2R6SXVkMlZpTFhCc1lYUm1i
M0p0DQorTG5SbGMzU0NGbTl3TVRndWQyVmlMWEJzWVhSbWIzSnRMblJsYzNTQ0ZtOXdOelF1ZDJW
aUxYQnNZWFJtYjNKdA0KK0xuUmxjM1NDRm05d09URXVkMlZpTFhCc1lYUm1iM0p0TG5SbGMzU0NG
bTl3TXpNdWQyVmlMWEJzWVhSbWIzSnQNCitMblJsYzNTQ0ZtOXdOamt1ZDJWaUxYQnNZWFJtYjNK
dExuUmxjM1NDRm05d016QXVkMlZpTFhCc1lYUm1iM0p0DQorTG5SbGMzU0NGbTl3TXprdWQyVmlM
WEJzWVhSbWIzSnRMblJsYzNTQ0ZtOXdOVEl1ZDJWaUxYQnNZWFJtYjNKdA0KK0xuUmxjM1NDRm05
d05ETXVkMlZpTFhCc1lYUm1iM0p0TG5SbGMzU0NGbTl3T0RVdWQyVmlMWEJzWVhSbWIzSnQNCitM
blJsYzNTQ0ZtOXdNelF1ZDJWaUxYQnNZWFJtYjNKdExuUmxjM1NDRm05d01qRXVkMlZpTFhCc1lY
Um1iM0p0DQorTG5SbGMzU0NGbTl3TnpFdWQyVmlMWEJzWVhSbWIzSnRMblJsYzNTQ0ZtOXdOVEF1
ZDJWaUxYQnNZWFJtYjNKdA0KK0xuUmxjM1NDRm05d09EUXVkMlZpTFhCc1lYUm1iM0p0TG5SbGMz
U0NGbTl3TXpFdWQyVmlMWEJzWVhSbWIzSnQNCitMblJsYzNTQ0ZtOXdOVFF1ZDJWaUxYQnNZWFJt
YjNKdExuUmxjM1NDRm05d05Ea3VkMlZpTFhCc1lYUm1iM0p0DQorTG5SbGMzU0NGbTl3TkRRdWQy
VmlMWEJzWVhSbWIzSnRMblJsYzNTQ0ZtOXdORFV1ZDJWaUxYQnNZWFJtYjNKdA0KK0xuUmxjM1ND
Rm05d016VXVkMlZpTFhCc1lYUm1iM0p0TG5SbGMzU0NGbTl3TnpZdWQyVmlMWEJzWVhSbWIzSnQN
CitMblJsYzNTQ0ZtOXdNVFF1ZDJWaUxYQnNZWFJtYjNKdExuUmxjM1NDRm05d09ERXVkMlZpTFhC
c1lYUm1iM0p0DQorTG5SbGMzU0NGbTl3T0RndWQyVmlMWEJzWVhSbWIzSnRMblJsYzNTQ0ZtOXdN
akF1ZDJWaUxYQnNZWFJtYjNKdA0KK0xuUmxjM1NDRm05d09UVXVkMlZpTFhCc1lYUm1iM0p0TG5S
bGMzU0NGbTl3TlRFdWQyVmlMWEJzWVhSbWIzSnQNCitMblJsYzNTQ0ZtOXdPRFl1ZDJWaUxYQnNZ
WFJtYjNKdExuUmxjM1NDRm05d05UVXVkMlZpTFhCc1lYUm1iM0p0DQorTG5SbGMzU0NGbTl3TWpj
dWQyVmlMWEJzWVhSbWIzSnRMblJsYzNTQ0ZtOXdNVEl1ZDJWaUxYQnNZWFJtYjNKdA0KK0xuUmxj
M1NDRm05d056VXVkMlZpTFhCc1lYUm1iM0p0TG5SbGMzU0NGbTl3TkRjdWQyVmlMWEJzWVhSbWIz
SnQNCitMblJsYzNTQ0ZtOXdPVFl1ZDJWaUxYQnNZWFJtYjNKdExuUmxjM1NDRm05d09UTXVkMlZp
TFhCc1lYUm1iM0p0DQorTG5SbGMzU0NGbTl3TlRjdWQyVmlMWEJzWVhSbWIzSnRMblJsYzNTQ0Zt
OXdOak11ZDJWaUxYQnNZWFJtYjNKdA0KK0xuUmxjM1NDRm05d05UTXVkMlZpTFhCc1lYUm1iM0p0
TG5SbGMzU0NGbTl3TWprdWQyVmlMWEJzWVhSbWIzSnQNCitMblJsYzNTQ0ZtOXdNalV1ZDJWaUxY
QnNZWFJtYjNKdExuUmxjM1NDRm05d09ETXVkMlZpTFhCc1lYUm1iM0p0DQorTG5SbGMzU0NGbTl3
T1RjdWQyVmlMWEJzWVhSbWIzSnRMblJsYzNTQ0ZtOXdOREV1ZDJWaUxYQnNZWFJtYjNKdA0KK0xu
UmxjM1NDRm05d016SXVkMlZpTFhCc1lYUm1iM0p0TG5SbGMzU0NGbTl3TnpBdWQyVmlMWEJzWVhS
bWIzSnQNCitMblJsYzNTQ0ZtOXdOakF1ZDJWaUxYQnNZWFJtYjNKdExuUmxjM1NDRm05d09USXVk
MlZpTFhCc1lYUm1iM0p0DQorTG5SbGMzU0NGbTl3TnpndWQyVmlMWEJzWVhSbWIzSnRMblJsYzNT
Q0ZtOXdPRGt1ZDJWaUxYQnNZWFJtYjNKdA0KK0xuUmxjM1NDRm05d01UQXVkMlZpTFhCc1lYUm1i
M0p0TG5SbGMzU0NGbTl3TnpjdWQyVmlMWEJzWVhSbWIzSnQNCitMblJsYzNTQ0ZtOXdOVGt1ZDJW
aUxYQnNZWFJtYjNKdExuUmxjM1NDRm05d01UVXVkMlZpTFhCc1lYUm1iM0p0DQorTG5SbGMzU0NG
bTl3TmpVdWQyVmlMWEJzWVhSbWIzSnRMblJsYzNTQ0ZtOXdOamd1ZDJWaUxYQnNZWFJtYjNKdA0K
K0xuUmxjM1NDRm05d09UQXVkMlZpTFhCc1lYUm1iM0p0TG5SbGMzU0NGbTl3T0RJdWQyVmlMWEJz
WVhSbWIzSnQNCitMblJsYzNTQ0dXOXdOaTV1YjNRdGQyVmlMWEJzWVhSbWIzSnRMblJsYzNTQ0dX
OXdPQzV1YjNRdGQyVmlMWEJzDQorWVhSbWIzSnRMblJsYzNTQ0dXOXdPUzV1YjNRdGQyVmlMWEJz
WVhSbWIzSnRMblJsYzNTQ0dXOXdOQzV1YjNRdA0KK2QyVmlMWEJzWVhSbWIzSnRMblJsYzNTQ0dX
OXdOeTV1YjNRdGQyVmlMWEJzWVhSbWIzSnRMblJsYzNTQ0dYZDMNCitkeTUzZDNjdWQyVmlMWEJz
WVhSbWIzSnRMblJsYzNTQ0dXOXdNaTV1YjNRdGQyVmlMWEJzWVhSbWIzSnRMblJsDQorYzNTQ0dX
OXdNUzV1YjNRdGQyVmlMWEJzWVhSbWIzSnRMblJsYzNTQ0dYZDNkeTV1YjNRdGQyVmlMWEJzWVhS
bQ0KK2IzSnRMblJsYzNTQ0dXOXdOUzV1YjNRdGQyVmlMWEJzWVhSbWIzSnRMblJsYzNTQ0dXOXdN
eTV1YjNRdGQyVmkNCitMWEJzWVhSbWIzSnRMblJsYzNTQ0dtOXdNamN1Ym05MExYZGxZaTF3YkdG
MFptOXliUzUwWlhOMGdocHZjRFF3DQorTG01dmRDMTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSWFi
M0EwTlM1dWIzUXRkMlZpTFhCc1lYUm1iM0p0TG5SbA0KK2MzU0NHbTl3T1RZdWJtOTBMWGRsWWkx
d2JHRjBabTl5YlM1MFpYTjBnaHB2Y0RJNExtNXZkQzEzWldJdGNHeGgNCitkR1p2Y20wdWRHVnpk
SUlhYjNBNE15NXViM1F0ZDJWaUxYQnNZWFJtYjNKdExuUmxjM1NDR205d016TXVibTkwDQorTFhk
bFlpMXdiR0YwWm05eWJTNTBaWE4wZ2hwdmNEVTJMbTV2ZEMxM1pXSXRjR3hoZEdadmNtMHVkR1Z6
ZElJYQ0KK2QzZDNNUzV1YjNRdGQyVmlMWEJzWVhSbWIzSnRMblJsYzNTQ0dtOXdOakl1Ym05MExY
ZGxZaTF3YkdGMFptOXkNCitiUzUwWlhOMGdocHZjREU0TG01dmRDMTNaV0l0Y0d4aGRHWnZjbTB1
ZEdWemRJSWFiM0EwT0M1dWIzUXRkMlZpDQorTFhCc1lYUm1iM0p0TG5SbGMzU0NHbTl3TkRNdWJt
OTBMWGRsWWkxd2JHRjBabTl5YlM1MFpYTjBnaHB2Y0RnNQ0KK0xtNXZkQzEzWldJdGNHeGhkR1p2
Y20wdWRHVnpkSUlhYjNBMk1DNXViM1F0ZDJWaUxYQnNZWFJtYjNKdExuUmwNCitjM1NDR205d09U
VXVibTkwTFhkbFlpMXdiR0YwWm05eWJTNTBaWE4wZ2hwdmNEY3pMbTV2ZEMxM1pXSXRjR3hoDQor
ZEdadmNtMHVkR1Z6ZElJYWIzQTVNUzV1YjNRdGQyVmlMWEJzWVhSbWIzSnRMblJsYzNTQ0dtOXdO
REl1Ym05MA0KK0xYZGxZaTF3YkdGMFptOXliUzUwWlhOMGdocHZjREkyTG01dmRDMTNaV0l0Y0d4
aGRHWnZjbTB1ZEdWemRJSWENCitiM0EyT1M1dWIzUXRkMlZpTFhCc1lYUm1iM0p0TG5SbGMzU0NH
bTl3TXpJdWJtOTBMWGRsWWkxd2JHRjBabTl5DQorYlM1MFpYTjBnaHB2Y0RNM0xtNXZkQzEzWldJ
dGNHeGhkR1p2Y20wdWRHVnpkSUlhYjNBNU9DNXViM1F0ZDJWaQ0KK0xYQnNZWFJtYjNKdExuUmxj
M1NDR205d01Ua3VibTkwTFhkbFlpMXdiR0YwWm05eWJTNTBaWE4wZ2hwdmNEYzINCitMbTV2ZEMx
M1pXSXRjR3hoZEdadmNtMHVkR1Z6ZElJYWIzQXhNeTV1YjNRdGQyVmlMWEJzWVhSbWIzSnRMblJs
DQorYzNTQ0dtOXdOemt1Ym05MExYZGxZaTF3YkdGMFptOXliUzUwWlhOMGdocDNkM2N5TG5kM2R5
NTNaV0l0Y0d4aA0KK2RHWnZjbTB1ZEdWemRJSWFiM0E0Tmk1dWIzUXRkMlZpTFhCc1lYUm1iM0p0
TG5SbGMzU0NHbTl3TnpjdWJtOTANCitMWGRsWWkxd2JHRjBabTl5YlM1MFpYTjBnaHB2Y0RJNUxt
NXZkQzEzWldJdGNHeGhkR1p2Y20wdWRHVnpkSUlhDQorYjNBMU5TNXViM1F0ZDJWaUxYQnNZWFJt
YjNKdExuUmxjM1NDR205d09USXVibTkwTFhkbFlpMXdiR0YwWm05eQ0KK2JTNTBaWE4wZ2hwdmNE
UTBMbTV2ZEMxM1pXSXRjR3hoZEdadmNtMHVkR1Z6ZElJYWIzQTFOQzV1YjNRdGQyVmkNCitMWEJz
WVhSbWIzSnRMblJsYzNTQ0dtOXdPVFF1Ym05MExYZGxZaTF3YkdGMFptOXliUzUwWlhOMGdocHZj
RE0wDQorTG01dmRDMTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSWFiM0F6TUM1dWIzUXRkMlZpTFhC
c1lYUm1iM0p0TG5SbA0KK2MzU0NHbmQzZHpFdWQzZDNMbmRsWWkxd2JHRjBabTl5YlM1MFpYTjBn
aHB2Y0RJMUxtNXZkQzEzWldJdGNHeGgNCitkR1p2Y20wdWRHVnpkSUlhYjNBMk5DNXViM1F0ZDJW
aUxYQnNZWFJtYjNKdExuUmxjM1NDR205d01qQXVibTkwDQorTFhkbFlpMXdiR0YwWm05eWJTNTBa
WE4wZ2hwdmNEVXhMbTV2ZEMxM1pXSXRjR3hoZEdadmNtMHVkR1Z6ZElJYQ0KK2IzQTBNUzV1YjNR
dGQyVmlMWEJzWVhSbWIzSnRMblJsYzNTQ0dtOXdNVEl1Ym05MExYZGxZaTF3YkdGMFptOXkNCiti
UzUwWlhOMGdocHZjREV3TG01dmRDMTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSWFiM0EzTWk1dWIz
UXRkMlZpDQorTFhCc1lYUm1iM0p0TG5SbGMzU0NHbTl3TWpJdWJtOTBMWGRsWWkxd2JHRjBabTl5
YlM1MFpYTjBnaHB2Y0RVeQ0KK0xtNXZkQzEzWldJdGNHeGhkR1p2Y20wdWRHVnpkSUlhYjNBM05D
NXViM1F0ZDJWaUxYQnNZWFJtYjNKdExuUmwNCitjM1NDR205d05qY3VibTkwTFhkbFlpMXdiR0Yw
Wm05eWJTNTBaWE4wZ2hwdmNEZ3dMbTV2ZEMxM1pXSXRjR3hoDQorZEdadmNtMHVkR1Z6ZElJYWIz
QTROQzV1YjNRdGQyVmlMWEJzWVhSbWIzSnRMblJsYzNTQ0dtOXdNekV1Ym05MA0KK0xYZGxZaTF3
YkdGMFptOXliUzUwWlhOMGdocHZjRFV6TG01dmRDMTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSWEN
CitiM0F5TXk1dWIzUXRkMlZpTFhCc1lYUm1iM0p0TG5SbGMzU0NHbTl3TXpVdWJtOTBMWGRsWWkx
d2JHRjBabTl5DQorYlM1MFpYTjBnaHB2Y0RFMkxtNXZkQzEzWldJdGNHeGhkR1p2Y20wdWRHVnpk
SUlhYjNBMk15NXViM1F0ZDJWaQ0KK0xYQnNZWFJtYjNKdExuUmxjM1NDR205d016Z3VibTkwTFhk
bFlpMXdiR0YwWm05eWJTNTBaWE4wZ2hwdmNEVTQNCitMbTV2ZEMxM1pXSXRjR3hoZEdadmNtMHVk
R1Z6ZElJYWIzQTJNUzV1YjNRdGQyVmlMWEJzWVhSbWIzSnRMblJsDQorYzNTQ0dtOXdNVFF1Ym05
MExYZGxZaTF3YkdGMFptOXliUzUwWlhOMGdocHZjRGt3TG01dmRDMTNaV0l0Y0d4aA0KK2RHWnZj
bTB1ZEdWemRJSWFiM0EzTUM1dWIzUXRkMlZpTFhCc1lYUm1iM0p0TG5SbGMzU0NHbTl3TVRFdWJt
OTANCitMWGRsWWkxd2JHRjBabTl5YlM1MFpYTjBnaHB2Y0RFMUxtNXZkQzEzWldJdGNHeGhkR1p2
Y20wdWRHVnpkSUlhDQorYjNBMk5TNXViM1F0ZDJWaUxYQnNZWFJtYjNKdExuUmxjM1NDR205d05U
QXVibTkwTFhkbFlpMXdiR0YwWm05eQ0KK2JTNTBaWE4wZ2hwdmNEWTRMbTV2ZEMxM1pXSXRjR3ho
ZEdadmNtMHVkR1Z6ZElJYWIzQTROeTV1YjNRdGQyVmkNCitMWEJzWVhSbWIzSnRMblJsYzNTQ0dt
OXdOemd1Ym05MExYZGxZaTF3YkdGMFptOXliUzUwWlhOMGdocDNkM2N1DQorZDNkM01pNTNaV0l0
Y0d4aGRHWnZjbTB1ZEdWemRJSWFiM0E0TWk1dWIzUXRkMlZpTFhCc1lYUm1iM0p0TG5SbA0KK2Mz
U0NHbTl3T1RNdWJtOTBMWGRsWWkxd2JHRjBabTl5YlM1MFpYTjBnaHAzZDNjdWQzZDNNUzUzWldJ
dGNHeGgNCitkR1p2Y20wdWRHVnpkSUlhYjNBeU1TNXViM1F0ZDJWaUxYQnNZWFJtYjNKdExuUmxj
M1NDR205d056RXVibTkwDQorTFhkbFlpMXdiR0YwWm05eWJTNTBaWE4wZ2hwdmNEazNMbTV2ZEMx
M1pXSXRjR3hoZEdadmNtMHVkR1Z6ZElJYQ0KK2IzQTRPQzV1YjNRdGQyVmlMWEJzWVhSbWIzSnRM
blJsYzNTQ0dtOXdNalF1Ym05MExYZGxZaTF3YkdGMFptOXkNCitiUzUwWlhOMGdocHZjRFkyTG01
dmRDMTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSWFiM0EwT1M1dWIzUXRkMlZpDQorTFhCc1lYUm1i
M0p0TG5SbGMzU0NHbTl3TlRrdWJtOTBMWGRsWWkxd2JHRjBabTl5YlM1MFpYTjBnaHB2Y0RRMg0K
K0xtNXZkQzEzWldJdGNHeGhkR1p2Y20wdWRHVnpkSUlhYjNBek5pNXViM1F0ZDJWaUxYQnNZWFJt
YjNKdExuUmwNCitjM1NDR205d016a3VibTkwTFhkbFlpMXdiR0YwWm05eWJTNTBaWE4wZ2hwdmNE
UTNMbTV2ZEMxM1pXSXRjR3hoDQorZEdadmNtMHVkR1Z6ZElJYWIzQXhOeTV1YjNRdGQyVmlMWEJz
WVhSbWIzSnRMblJsYzNTQ0dtOXdOelV1Ym05MA0KK0xYZGxZaTF3YkdGMFptOXliUzUwWlhOMGdo
cHZjRGcxTG01dmRDMTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSWENCitiM0ExTnk1dWIzUXRkMlZp
TFhCc1lYUm1iM0p0TG5SbGMzU0NHbmQzZHpJdWJtOTBMWGRsWWkxd2JHRjBabTl5DQorYlM1MFpY
TjBnaHB2Y0RneExtNXZkQzEzWldJdGNHeGhkR1p2Y20wdWRHVnpkSUliZDNkM01pNTNkM2N4TG5k
bA0KK1lpMXdiR0YwWm05eWJTNTBaWE4wZ2h0M2QzY3hMbmQzZHpJdWQyVmlMWEJzWVhSbWIzSnRM
blJsYzNTQ0czZDMNCitkekl1ZDNkM01pNTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSWJkM2QzTVM1
M2QzY3hMbmRsWWkxd2JHRjBabTl5DQorYlM1MFpYTjBnaDEzZDNjdWQzZDNMbTV2ZEMxM1pXSXRj
R3hoZEdadmNtMHVkR1Z6ZElJZWQzZDNNaTUzZDNjdQ0KK2JtOTBMWGRsWWkxd2JHRjBabTl5YlM1
MFpYTjBnaDU0YmkwdGJIWmxMVFpzWVdRdWQyVmlMWEJzWVhSbWIzSnQNCitMblJsYzNTQ0huZDNk
ekV1ZDNkM0xtNXZkQzEzWldJdGNHeGhkR1p2Y20wdWRHVnpkSUllZDNkM0xuZDNkekV1DQorYm05
MExYZGxZaTF3YkdGMFptOXliUzUwWlhOMGdoNTNkM2N1ZDNkM01pNXViM1F0ZDJWaUxYQnNZWFJt
YjNKdA0KK0xuUmxjM1NDSDNkM2R6RXVkM2QzTWk1dWIzUXRkMlZpTFhCc1lYUm1iM0p0TG5SbGMz
U0NIM2QzZHpFdWQzZDMNCitNUzV1YjNRdGQyVmlMWEJzWVhSbWIzSnRMblJsYzNTQ0gzZDNkekl1
ZDNkM01TNXViM1F0ZDJWaUxYQnNZWFJtDQorYjNKdExuUmxjM1NDSDNkM2R6SXVkM2QzTWk1dWIz
UXRkMlZpTFhCc1lYUm1iM0p0TG5SbGMzU0NJbmh1TFMxcw0KK2RtVXRObXhoWkM1M2QzY3VkMlZp
TFhCc1lYUm1iM0p0TG5SbGMzU0NJbmh1TFMxc2RtVXRObXhoWkM1dWIzUXQNCitkMlZpTFhCc1lY
Um1iM0p0TG5SbGMzU0NJbmQzZHk1NGJpMHRiSFpsTFRac1lXUXVkMlZpTFhCc1lYUm1iM0p0DQor
TG5SbGMzU0NJM2QzZHpFdWVHNHRMV3gyWlMwMmJHRmtMbmRsWWkxd2JHRjBabTl5YlM1MFpYTjBn
aU4zZDNjeQ0KK0xuaHVMUzFzZG1VdE5teGhaQzUzWldJdGNHeGhkR1p2Y20wdWRHVnpkSUlqZUc0
dExXeDJaUzAyYkdGa0xuZDMNCitkekl1ZDJWaUxYQnNZWFJtYjNKdExuUmxjM1NDSTNodUxTMXNk
bVV0Tm14aFpDNTNkM2N4TG5kbFlpMXdiR0YwDQorWm05eWJTNTBaWE4wZ2laM2QzY3VlRzR0TFd4
MlpTMDJiR0ZrTG01dmRDMTNaV0l0Y0d4aGRHWnZjbTB1ZEdWeg0KK2RJSW1lRzR0TFd4MlpTMDJi
R0ZrTG5kM2R5NXViM1F0ZDJWaUxYQnNZWFJtYjNKdExuUmxjM1NDSjNkM2R6RXUNCitlRzR0TFd4
MlpTMDJiR0ZrTG01dmRDMTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSW5kM2QzTWk1NGJpMHRiSFps
DQorTFRac1lXUXVibTkwTFhkbFlpMXdiR0YwWm05eWJTNTBaWE4wZ2lkNGJpMHRiSFpsTFRac1lX
UXVkM2QzTVM1dQ0KK2IzUXRkMlZpTFhCc1lYUm1iM0p0TG5SbGMzU0NKM2h1TFMxc2RtVXRObXho
WkM1M2QzY3lMbTV2ZEMxM1pXSXQNCitjR3hoZEdadmNtMHVkR1Z6ZElJcGVHNHRMVzQ0YWpaa2N6
VXpiSGQzYTNKeGFIWXlPR0V1ZDJWaUxYQnNZWFJtDQorYjNKdExuUmxjM1NDSzNodUxTMXNkbVV0
Tm14aFpDNTRiaTB0YkhabExUWnNZV1F1ZDJWaUxYQnNZWFJtYjNKdA0KK0xuUmxjM1NDTFhodUxT
MXVPR28yWkhNMU0yeDNkMnR5Y1doMk1qaGhMbTV2ZEMxM1pXSXRjR3hoZEdadmNtMHUNCitkR1Z6
ZElJdGVHNHRMVzQ0YWpaa2N6VXpiSGQzYTNKeGFIWXlPR0V1ZDNkM0xuZGxZaTF3YkdGMFptOXli
UzUwDQorWlhOMGdpMTNkM2N1ZUc0dExXNDRhalprY3pVemJIZDNhM0p4YUhZeU9HRXVkMlZpTFhC
c1lYUm1iM0p0TG5SbA0KK2MzU0NMbmQzZHpJdWVHNHRMVzQ0YWpaa2N6VXpiSGQzYTNKeGFIWXlP
R0V1ZDJWaUxYQnNZWFJtYjNKdExuUmwNCitjM1NDTG5kM2R6RXVlRzR0TFc0NGFqWmtjelV6Ykhk
M2EzSnhhSFl5T0dFdWQyVmlMWEJzWVhSbWIzSnRMblJsDQorYzNTQ0xuaHVMUzF1T0dvMlpITTFN
MngzZDJ0eWNXaDJNamhoTG5kM2R6RXVkMlZpTFhCc1lYUm1iM0p0TG5SbA0KK2MzU0NMbmh1TFMx
dU9HbzJaSE0xTTJ4M2QydHljV2gyTWpoaExuZDNkekl1ZDJWaUxYQnNZWFJtYjNKdExuUmwNCitj
M1NDTDNodUxTMXNkbVV0Tm14aFpDNTRiaTB0YkhabExUWnNZV1F1Ym05MExYZGxZaTF3YkdGMFpt
OXliUzUwDQorWlhOMGdqRjRiaTB0YmpocU5tUnpOVE5zZDNkcmNuRm9kakk0WVM1M2QzY3VibTkw
TFhkbFlpMXdiR0YwWm05eQ0KK2JTNTBaWE4wZ2pGM2QzY3VlRzR0TFc0NGFqWmtjelV6YkhkM2Ez
SnhhSFl5T0dFdWJtOTBMWGRsWWkxd2JHRjANCitabTl5YlM1MFpYTjBnakozZDNjeExuaHVMUzF1
T0dvMlpITTFNMngzZDJ0eWNXaDJNamhoTG01dmRDMTNaV0l0DQorY0d4aGRHWnZjbTB1ZEdWemRJ
SXllRzR0TFc0NGFqWmtjelV6YkhkM2EzSnhhSFl5T0dFdWQzZDNNUzV1YjNRdA0KK2QyVmlMWEJz
WVhSbWIzSnRMblJsYzNTQ01uZDNkekl1ZUc0dExXNDRhalprY3pVemJIZDNhM0p4YUhZeU9HRXUN
CitibTkwTFhkbFlpMXdiR0YwWm05eWJTNTBaWE4wZ2pKNGJpMHRiamhxTm1Sek5UTnNkM2RyY25G
b2RqSTRZUzUzDQorZDNjeUxtNXZkQzEzWldJdGNHeGhkR1p2Y20wdWRHVnpkSUkyZUc0dExXNDRh
alprY3pVemJIZDNhM0p4YUhZeQ0KK09HRXVlRzR0TFd4MlpTMDJiR0ZrTG5kbFlpMXdiR0YwWm05
eWJTNTBaWE4wZ2paNGJpMHRiSFpsTFRac1lXUXUNCitlRzR0TFc0NGFqWmtjelV6YkhkM2EzSnhh
SFl5T0dFdWQyVmlMWEJzWVhSbWIzSnRMblJsYzNTQ09uaHVMUzFzDQorZG1VdE5teGhaQzU0Ymkw
dGJqaHFObVJ6TlROc2QzZHJjbkZvZGpJNFlTNXViM1F0ZDJWaUxYQnNZWFJtYjNKdA0KK0xuUmxj
M1NDT25odUxTMXVPR28yWkhNMU0yeDNkMnR5Y1doMk1qaGhMbmh1TFMxc2RtVXRObXhoWkM1dWIz
UXQNCitkMlZpTFhCc1lYUm1iM0p0TG5SbGMzU0NRWGh1TFMxdU9HbzJaSE0xTTJ4M2QydHljV2gy
TWpoaExuaHVMUzF1DQorT0dvMlpITTFNMngzZDJ0eWNXaDJNamhoTG5kbFlpMXdiR0YwWm05eWJT
NTBaWE4wZ2tWNGJpMHRiamhxTm1Seg0KK05UTnNkM2RyY25Gb2RqSTRZUzU0YmkwdGJqaHFObVJ6
TlROc2QzZHJjbkZvZGpJNFlTNXViM1F0ZDJWaUxYQnMNCitZWFJtYjNKdExuUmxjM1F3RFFZSktv
WklodmNOQVFFTEJRQURnZ0VCQUllVHUySXlUcEFQYlVZQ3hmUjNUNkJxDQorZDVZbW8zVEc4cG5a
cnNZcXpIdENJdkdvTzgxSkVJSmRoUHlpdGJKZC91c2J0a0VUaExoYWZlUWk5Um1pQ1pZdg0KK0NV
ZXgwSWRVeEhhVzM2Wng0a0l6TkxmMDJ6Y3h3Qkp0QUZwZi95QXNRZEtJSTBaRk5HUjFXa1JxbmF0
Zno1dHkNCitTSy9TNTkzTVk5c083eGR4c1BjUW5KN1dQYVhLNjYweU8xR290Ymg0YlJ3cGRMOHVK
dkZWcGU2K1VBT1M2NE1rDQorakt5Rkl5M1o5SGxiK0hQVjB3RkJTODlXcXFFZkFvTGticmYwS0Vq
b0JydklsSVhmOC90TG9nVFRVU2JaZDY2Nw0KK3FmODhTWC8wdFlWTUVZQzYvSVVpeWlnQXgvaE1p
dVdDRENTMTBtV0x3WWZQczJKd0RRUmxTSW92ZU5CcCt3Zz0NCistLS0tLUVORCBDRVJUSUZJQ0FU
RS0tLS0tDQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9jZXJ0cy93ZWItcGxhdGZvcm0udGVzdC5rZXkgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2NlcnRzL3dlYi1wbGF0Zm9ybS50
ZXN0LmtleQppbmRleCBiNjJhZjIwOGMzNGNiMzE2N2FlNjQwMzhjZGZmNjk2ZjA0Nzg5M2ViLi5j
ZmFjY2NlNDIzZWRlZGRiODkwZDRhODA2ODNjNzQ3NjkyZTIzZmUwIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2NlcnRzL3dlYi1w
bGF0Zm9ybS50ZXN0LmtleQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL2NlcnRzL3dlYi1wbGF0Zm9ybS50ZXN0LmtleQpAQCAtMSwyOCArMSwy
OCBAQAotLS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCi1NSUlFdmdJQkFEQU5CZ2txaGtpRzl3
MEJBUUVGQUFTQ0JLZ3dnZ1NrQWdFQUFvSUJBUUNyWlhWWG1PUGxxby8rCi0yeGoxNVBnY1pHSEdv
L2JvZmlRUTNnbDZKTDFWWDFHcHRZSU5oVHEyc1VoZk44dENiK2NIeXphcE85b1Vtd3F3Ci1wNVVw
N3RKNElwN3VFMS93d1N4VmN2Q2F3RzUvUE41aUQ3SDJ3c21FcHBIWE9jM0xsMDg1L2d6ZXMrMStO
bitxCi1BUm1wMWJGL3ZqcGxENlZkSDJyQlczc0ozREFvQmFvWGxBTWZlUkFGRHBhcWErOWx4TXJN
NVdrVUhuZFErdUVNCi02a1p5ZXZoeXAwMlhEUDB2THdOQ3RQTEdCMGVtQUFmQzd4cHdSR1ZHU3RF
c1VoZi9tYzl5Tk5hS2dxQktJMG5vCi1vVm51VTNSR2RLSFAxOHZjanRCU1YwbFlnamZnOWEwN09C
dTFoZ1FmZmhvZmkyQnlkZmFDcEJBTXpGaGx1MXV5Ci1zNmFoVmtKcEFnTUJBQUVDZ2dFQWZtdnp4
WTBNYkZjR3AyRk1ZL05qM3UxY0FYem5uazJNcExSaUlTb0FUWHhsCi1hOXhwOVRjVU83VkFRSnVT
M1lwVXlyYmx0cVpqRVZmYTVycDFsOXlFZWdCdllnUUFmRURBUnJibEtnQk9nS09SCi1GSnVuRlBC
UVcvdlJEd09mL0UrN0xIZHJYc2t3b0N2cXRxYmhHeGg0T0ZWRUZVOFpGanNhTDAwZTBBTU5zalps
Ci0wT3NFT05sSUg0bkNhN0U2RFRhc0h4YzFWa0hRcjN1dkJsNS80SGZPYzA1dHIrWktsTVlYekFQ
V2tMMHNDMjE2Ci1EcXk0QXhKME0wYXg4QllFWnVvMGdxUW1NQW9uSlRrRW5weW9ENHo4OVM4Nzd2
RnA4dzFWUGJHWWtWNDh5alYvCi1JN2ZRNllqdDN5ZythcytzNGFyR0VzVUIwbCtYQXBCWVlZL0or
cWNZVVFLQmdRRGVkN0RPTUpVYzNrUFRGRWNOCi1wL0ViU2g5VFh4Uy83NGNJeUdpZDlJRWlSRUpZ
eFl2OGt6MEtwbEd1Sm9sSVEzL0lrOVJhYzZCM1R1NFdrVzBnCi1UUGJOdW5ZRXN5ZFpCQW5hUTRl
QVZkT2Z2UlE2VjNlQloydkVyc0hKUkZhajVjT2Nlc1VYeEJaSTZtMnRRRVN4Ci1kQldGRE5HOWt6
dHIwSG1hTDZQdXo0elpJd0tCZ1FERk94ZlI3RmNwR2R3NjF6aVNzWm10dmtmNmVwa0czK291Ci11
aFk1MEowVXJUYks3VHVpbWtvUncvWEhlQmU0ZGIrZWpPT3VMRDlRRS95WHZtdEVXdXlVVFRZT1Z2
WitIdU5qCi1ScDNrZGkxR3VXWG42Z1J2ZGxrZjlYd1c3akhtZ2twYkE1QSt1RFhzM0VZWWExOEx4
UE5mTVN2aHlIZGtGblVHCi1hVHp5WU5wZEF3S0JnR3YvUU5hbjRRdDFud2x1VTV2K2hsNlFHaXI0
QW5PMnpSL25ZbG9qNHppR1dJc053NHBtCi0xQUJDZzI1K2lMQ0xEQktNS1UrTHlEK0RFclBqLzB6
cDcvb3BaYmVjWFNLcWdqbnlCR3E1djVWUlRldVFvSlF5Ci1aNi9BZ3BTNVZ6SVRqV1YrZUFXMGpI
anpUVEVJL1JBRVlab0lnaDE4eHlEc3dNdW9DdllZemJCdkFvR0JBTU0yCi1JL053K3l3QkhvdFdy
Zlh6dHVuU3BpZHk1TGQ3Tkt5ZkhwU0d1SkxZaHB6L2hjRUErVUx3TS9vRUVXWlBsU04yCi15M3Qr
N0FOMFpOUkVjcU1yWTNHOW9qMDdNYW5QSkwwRURnOHNNTkFKZktXNGFEOXlZZkJSNTBwQzVEMEV4
RmVsCi1CVVl1eWFEd3ZLZzZ6YzQyVjdQbVZVcWFRaUZjWU9QQmtjTk12WlRGQW9HQkFMQnRkdDBp
SXZ0Qm9wcCtJUWFWCi16Wk1BNVpRSVE1bjV2MDcxTEthMXM3YXIzK2hJb0RSc1piTTdYa1VJQTh6
UWxyd0ZSaGJVNVlGTmNicG9vUVNtCi03ajQrZkl1ZGNweGo5dEFNR0FiNXlnODlrMURqVHk3RlVX
TDllbEdJZ3ZKTXFnRjZJUTUzK3ZSOHh3R0R5UUxCCi1zUDVtaXpGMXdpNDdEWVBKUWNEUkN6VSsK
LS0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0KKy0tLS0tQkVHSU4gUFJJVkFURSBLRVktLS0tLQ0K
K01JSUV2UUlCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQktjd2dnU2pBZ0VBQW9JQkFRQy9mdVlx
YkpMWUtvVHcNCitGemF1blNKMzYybXBBN0JvV09JTWlURmtHSzF0WkFncHoycnZ6QkQ1c3pOTUly
SGFKRi9ETWZIeGUyQ1hzbmtEDQorWFdiYzBjdUQ3Tk1NNGRLYmZSYmpudHhZM1d5SmQ1aWpETEo4
YnRDL1BTd1pvY21Id2dwT3FCNDBxRy9hTFFwTg0KK3dMUnhCa2xoNmhyQVpNSFRzSS9BTzRJQktN
VG9NWXNIUzdYN1loZE1LZzNlcTg3Y2dHaS9xeDFGNHFTaUFXb0YNCiszMEhtL2ZpVUx1S2ZwQUZW
ZmV2QlBUNWhVS0RxTnlyVnh4aE03UFVOT1cxVTB3UXhSdGdTb0FxQ1kyMkNwSTdXDQorZ2tOaG14
MlVtckFkTlFMNHUxVi9qUGNoNG1VMlFxbUxXQkdRb0h3b1JkaWJpSldhSnVuOVJ3ZURjSXFZR3d0
Tw0KK2hJd0d0K0xqQWdNQkFBRUNnZ0VBY0Rlb0g3SlNkelNyaEpyRjQ1dVhxRmlmS1hsTTlra241
cHE3QStKbU54V0kNCitweCt5bGVXckNQalhsY1U3SGc5MHdzbFE4K2NPR3JkdXJPY2VNVWNNRVRw
R0QyV0NhclhxSk9kaVR2MHE3bi9VDQorUmJCYUpBczRidWtsSDd3c2drN1doWE9GaCt3dzU5Uy9G
Z05ZZW1kcHQyUmQydUx3cHVIdnk0SFQxR1FVeDgvQw0KKzlxaE51dTkyQk5FdzVZWFpqV2xVWHNY
NC9NT2hRczZpYUVmZUdwaG8yMHVoVVJSWmxHNWt2L3pDcTl5Q1grc2ENCitPNUM1MDR6a1pnWG9q
Q3ZlYWhPWGVXTHJoTm5ScDFkdDNESFZwM2NGMmZ5UDBJUmIrK3l3MFpZZHZjYnljODJzDQorQkhl
bmpDM3ZCd25nN2FBOTVRZWh5ZUxRTzNQVlZqOFFQbmRWQjcyYVFRS0JnUUQ3MXlZMnRCeVh6akhn
RFJhRw0KK2RERFlRdGd5VmZ6NGNYK2tTK0JZV1d6dUNRbzkvVW9id3VjVVRtVXoxUmMwNC9xdVNr
L3A2M2FnMXZicXh5b0cNCitwVnlWMlA2SVk1K0YzcEVrbFd0ZlhteTdBbnVrOGpVZ1hqZ1MyKzc4
Z3hQenk0OU53ZVROVFVjbExBWkpTRmtMDQorR0FCNm9YVzB0YWVWUnNDWjlnZ3B2MFVTb1FLQmdR
RENxSmgrTW10cDA0emNqUm0wZ1VabWY4RXJGWFlqNnVxcg0KK3JWc0dRTG42d1JSY2M4SnJOQTRY
YmxxN3JqZjdCNUQyRHM4SXBvUGVGb0I4R2ErUEdlNE1RSlpkRzBVbXZRRmcNCitSWHBBaUI2Tzdu
NCs4b2FYU09tRnBGTDVKZDAvQ2RHdXRXRzQ0Q3dKb3JiQ0JZcVY4ZklGNVVhWUZHaWdKRVVUDQor
V3JjUFEwUExBd0tCZ0hSWG5HdkJJVVJ3R1ZKc09XKzcxYVRTbkpZRWEyMUs0YkRBN005ajRKTEcw
bGg0M3ZlYw0KK1BxeCsydm5yQTJHSHdKTXIrV2NUUkNaaHFJZ2xvaUNYM0FITjBTaW8vVlVXME82
WnFKVFNSbURPY05odW5HUnINCitvblB6N3AvdzNoTE9nMUZrdFpLeWxKOXppeVBuckZzWHA0RC9m
aVVSbG0yNzFkWktkdEx5YmJLQkFvR0FTUkV2DQorN0c3UWt2Q3R0enZmb2puRVMwVTVKUXJ4Ulpv
d2JEQ3VNaktwbk01TTdrY2xlMGdXNGdTeVdqQ1RJczg4UXFCYw0KK1prcmF4TXA5Z0JmRUpscjlW
K3dHaFB4dmdKTUJxVGxySWozMStvRGJNcFdtbjdMbXRSdHhhY1Frd0R6WFVGVVYNCitVV2dVSDZu
TUlCZ2taUlJrWElJcmRYcHpxMmp4NU1ud1hQSkt5REVDZ1lFQTA5UDJad2VCSkU5YTlvb0tHV29p
DQorMmlSVjRHQWVJWkdVWHkxc1QvRFdNNmVVc3B1RnNJRTFkYWswSjVWVktkSWNlN0NWM0lwREU4
UFo1UDBpVWZpZQ0KK2dMMTcwS3hmSlJrT2ZJNnB4NHdCV0dlL1JNMG5JbldKSUlSNW9HY2lmekJ4
N3RWUXFLYnpOY2xMVWtNT2hoZzcNCitlcFpkUEpKdVpTZ3JpeGFQbzd5bXo0MD0NCistLS0tLUVO
RCBQUklWQVRFIEtFWS0tLS0tDQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9jZXJ0cy93ZWItcGxhdGZvcm0udGVzdC5wZW0gYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2NlcnRzL3dl
Yi1wbGF0Zm9ybS50ZXN0LnBlbQppbmRleCA1OTU5MzE2YmI1YjQ4MjVlNjQwYmIxZjdjYWIwOGJj
OWY0MDVhNjNhLi42OGE5Yjk2ZjNlZTlkOWNkYTU3ZGFlYjY3OTZiNWI2NzRkNzVhYzQwIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L2NlcnRzL3dlYi1wbGF0Zm9ybS50ZXN0LnBlbQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2NlcnRzL3dlYi1wbGF0Zm9ybS50ZXN0LnBlbQpA
QCAtMSwxMzMgKzEsMjM5IEBACi1DZXJ0aWZpY2F0ZToKLSAgICBEYXRhOgotICAgICAgICBWZXJz
aW9uOiAzICgweDIpCi0gICAgICAgIFNlcmlhbCBOdW1iZXI6IDM3MzA2NCAoMHg1YjE0OCkKLSAg
ICBTaWduYXR1cmUgQWxnb3JpdGhtOiBzaGEyNTZXaXRoUlNBRW5jcnlwdGlvbgotICAgICAgICBJ
c3N1ZXI6IENOPXdlYi1wbGF0Zm9ybS10ZXN0cwotICAgICAgICBWYWxpZGl0eQotICAgICAgICAg
ICAgTm90IEJlZm9yZTogT2N0IDE0IDEzOjQ5OjI5IDIwMTkgR01UCi0gICAgICAgICAgICBOb3Qg
QWZ0ZXIgOiBPY3QgMTEgMTM6NDk6MjkgMjAyOSBHTVQKLSAgICAgICAgU3ViamVjdDogQ049d2Vi
LXBsYXRmb3JtLnRlc3QKLSAgICAgICAgU3ViamVjdCBQdWJsaWMgS2V5IEluZm86Ci0gICAgICAg
ICAgICBQdWJsaWMgS2V5IEFsZ29yaXRobTogcnNhRW5jcnlwdGlvbgotICAgICAgICAgICAgICAg
IFB1YmxpYy1LZXk6ICgyMDQ4IGJpdCkKLSAgICAgICAgICAgICAgICBNb2R1bHVzOgotICAgICAg
ICAgICAgICAgICAgICAwMDphYjo2NTo3NTo1Nzo5ODplMzplNTphYTo4ZjpmZTpkYjoxODpmNTpl
NDoKLSAgICAgICAgICAgICAgICAgICAgZjg6MWM6NjQ6NjE6YzY6YTM6ZjY6ZTg6N2U6MjQ6MTA6
ZGU6MDk6N2E6MjQ6Ci0gICAgICAgICAgICAgICAgICAgIGJkOjU1OjVmOjUxOmE5OmI1OjgyOjBk
Ojg1OjNhOmI2OmIxOjQ4OjVmOjM3OgotICAgICAgICAgICAgICAgICAgICBjYjo0Mjo2ZjplNzow
NzpjYjozNjphOTozYjpkYToxNDo5YjowYTpiMDphNzoKLSAgICAgICAgICAgICAgICAgICAgOTU6
Mjk6ZWU6ZDI6Nzg6MjI6OWU6ZWU6MTM6NWY6ZjA6YzE6MmM6NTU6NzI6Ci0gICAgICAgICAgICAg
ICAgICAgIGYwOjlhOmMwOjZlOjdmOjNjOmRlOjYyOjBmOmIxOmY2OmMyOmM5Ojg0OmE2OgotICAg
ICAgICAgICAgICAgICAgICA5MTpkNzozOTpjZDpjYjo5Nzo0ZjozOTpmZTowYzpkZTpiMzplZDo3
ZTozNjoKLSAgICAgICAgICAgICAgICAgICAgN2Y6YWE6MDE6MTk6YTk6ZDU6YjE6N2Y6YmU6M2E6
NjU6MGY6YTU6NWQ6MWY6Ci0gICAgICAgICAgICAgICAgICAgIDZhOmMxOjViOjdiOjA5OmRjOjMw
OjI4OjA1OmFhOjE3Ojk0OjAzOjFmOjc5OgotICAgICAgICAgICAgICAgICAgICAxMDowNTowZTo5
NjphYTo2YjplZjo2NTpjNDpjYTpjYzplNTo2OToxNDoxZToKLSAgICAgICAgICAgICAgICAgICAg
Nzc6NTA6ZmE6ZTE6MGM6ZWE6NDY6NzI6N2E6Zjg6NzI6YTc6NGQ6OTc6MGM6Ci0gICAgICAgICAg
ICAgICAgICAgIGZkOjJmOjJmOjAzOjQyOmI0OmYyOmM2OjA3OjQ3OmE2OjAwOjA3OmMyOmVmOgot
ICAgICAgICAgICAgICAgICAgICAxYTo3MDo0NDo2NTo0Njo0YTpkMToyYzo1MjoxNzpmZjo5OTpj
Zjo3MjozNDoKLSAgICAgICAgICAgICAgICAgICAgZDY6OGE6ODI6YTA6NGE6MjM6NDk6ZTg6YTE6
NTk6ZWU6NTM6NzQ6NDY6NzQ6Ci0gICAgICAgICAgICAgICAgICAgIGExOmNmOmQ3OmNiOmRjOjhl
OmQwOjUyOjU3OjQ5OjU4OjgyOjM3OmUwOmY1OgotICAgICAgICAgICAgICAgICAgICBhZDozYjoz
ODoxYjpiNTo4NjowNDoxZjo3ZToxYToxZjo4Yjo2MDo3Mjo3NToKLSAgICAgICAgICAgICAgICAg
ICAgZjY6ODI6YTQ6MTA6MGM6Y2M6NTg6NjU6YmI6NWI6YjI6YjM6YTY6YTE6NTY6Ci0gICAgICAg
ICAgICAgICAgICAgIDQyOjY5Ci0gICAgICAgICAgICAgICAgRXhwb25lbnQ6IDY1NTM3ICgweDEw
MDAxKQotICAgICAgICBYNTA5djMgZXh0ZW5zaW9uczoKLSAgICAgICAgICAgIFg1MDl2MyBCYXNp
YyBDb25zdHJhaW50czogCi0gICAgICAgICAgICAgICAgQ0E6RkFMU0UKLSAgICAgICAgICAgIFg1
MDl2MyBTdWJqZWN0IEtleSBJZGVudGlmaWVyOiAKLSAgICAgICAgICAgICAgICAyQToxODowQjow
OToyMjo2RToyODpEMjpEQjpGRDpDMjoyRDo0MDpBNjpGMzozODo2Mjo2RTpDNzpDNQotICAgICAg
ICAgICAgWDUwOXYzIEF1dGhvcml0eSBLZXkgSWRlbnRpZmllcjogCi0gICAgICAgICAgICAgICAg
a2V5aWQ6NDE6NDk6RkY6OEM6NjY6NTA6NUY6ODc6QTE6MDY6QTg6QkI6QUI6OEE6REQ6NzM6MEQ6
MEU6Mzc6MUEKLQotICAgICAgICAgICAgWDUwOXYzIEtleSBVc2FnZTogCi0gICAgICAgICAgICAg
ICAgRGlnaXRhbCBTaWduYXR1cmUsIE5vbiBSZXB1ZGlhdGlvbiwgS2V5IEVuY2lwaGVybWVudAot
ICAgICAgICAgICAgWDUwOXYzIEV4dGVuZGVkIEtleSBVc2FnZTogCi0gICAgICAgICAgICAgICAg
VExTIFdlYiBTZXJ2ZXIgQXV0aGVudGljYXRpb24KLSAgICAgICAgICAgIFg1MDl2MyBTdWJqZWN0
IEFsdGVybmF0aXZlIE5hbWU6IAotICAgICAgICAgICAgICAgIEROUzp3ZWItcGxhdGZvcm0udGVz
dCwgRE5TOm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOnd3dy53ZWItcGxhdGZvcm0udGVzdCwg
RE5TOnd3dzEud2ViLXBsYXRmb3JtLnRlc3QsIEROUzp3d3cyLndlYi1wbGF0Zm9ybS50ZXN0LCBE
TlM6d3d3Lm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOnd3dy53d3cud2ViLXBsYXRmb3JtLnRl
c3QsIEROUzp3d3cyLm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOnd3dzEubm90LXdlYi1wbGF0
Zm9ybS50ZXN0LCBETlM6d3d3Lnd3dzIud2ViLXBsYXRmb3JtLnRlc3QsIEROUzp3d3cyLnd3dy53
ZWItcGxhdGZvcm0udGVzdCwgRE5TOnd3dzEud3d3LndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6d3d3
Lnd3dzEud2ViLXBsYXRmb3JtLnRlc3QsIEROUzp3d3cxLnd3dzEud2ViLXBsYXRmb3JtLnRlc3Qs
IEROUzp3d3cxLnd3dzIud2ViLXBsYXRmb3JtLnRlc3QsIEROUzp3d3cyLnd3dzIud2ViLXBsYXRm
b3JtLnRlc3QsIEROUzp3d3cyLnd3dzEud2ViLXBsYXRmb3JtLnRlc3QsIEROUzp3d3cud3d3Lm5v
dC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOnd3dy53d3cyLm5vdC13ZWItcGxhdGZvcm0udGVzdCwg
RE5TOnd3dzEud3d3Lm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOnhuLS1sdmUtNmxhZC53ZWIt
cGxhdGZvcm0udGVzdCwgRE5TOnd3dy53d3cxLm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOnd3
dzIud3d3Lm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOnd3dzIud3d3Mi5ub3Qtd2ViLXBsYXRm
b3JtLnRlc3QsIEROUzp3d3cyLnd3dzEubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6d3d3MS53
d3cxLm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOnd3dzEud3d3Mi5ub3Qtd2ViLXBsYXRmb3Jt
LnRlc3QsIEROUzp4bi0tbHZlLTZsYWQud3d3LndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6d3d3Lnhu
LS1sdmUtNmxhZC53ZWItcGxhdGZvcm0udGVzdCwgRE5TOnhuLS1sdmUtNmxhZC5ub3Qtd2ViLXBs
YXRmb3JtLnRlc3QsIEROUzp4bi0tbHZlLTZsYWQud3d3MS53ZWItcGxhdGZvcm0udGVzdCwgRE5T
Ond3dzIueG4tLWx2ZS02bGFkLndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6d3d3MS54bi0tbHZlLTZs
YWQud2ViLXBsYXRmb3JtLnRlc3QsIEROUzp4bi0tbHZlLTZsYWQud3d3Mi53ZWItcGxhdGZvcm0u
dGVzdCwgRE5TOnhuLS1sdmUtNmxhZC53d3cubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6d3d3
LnhuLS1sdmUtNmxhZC5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzp4bi0tbHZlLTZsYWQud3d3
MS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzp3d3cyLnhuLS1sdmUtNmxhZC5ub3Qtd2ViLXBs
YXRmb3JtLnRlc3QsIEROUzp3d3cxLnhuLS1sdmUtNmxhZC5ub3Qtd2ViLXBsYXRmb3JtLnRlc3Qs
IEROUzp4bi0tbHZlLTZsYWQud3d3Mi5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzp4bi0tbjhq
NmRzNTNsd3drcnFodjI4YS53ZWItcGxhdGZvcm0udGVzdCwgRE5TOnhuLS1sdmUtNmxhZC54bi0t
bHZlLTZsYWQud2ViLXBsYXRmb3JtLnRlc3QsIEROUzp4bi0tbjhqNmRzNTNsd3drcnFodjI4YS5u
b3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzp4bi0tbjhqNmRzNTNsd3drcnFodjI4YS53d3cud2Vi
LXBsYXRmb3JtLnRlc3QsIEROUzp3d3cueG4tLW44ajZkczUzbHd3a3JxaHYyOGEud2ViLXBsYXRm
b3JtLnRlc3QsIEROUzp3d3cxLnhuLS1uOGo2ZHM1M2x3d2tycWh2MjhhLndlYi1wbGF0Zm9ybS50
ZXN0LCBETlM6eG4tLW44ajZkczUzbHd3a3JxaHYyOGEud3d3MS53ZWItcGxhdGZvcm0udGVzdCwg
RE5TOnd3dzIueG4tLW44ajZkczUzbHd3a3JxaHYyOGEud2ViLXBsYXRmb3JtLnRlc3QsIEROUzp4
bi0tbjhqNmRzNTNsd3drcnFodjI4YS53d3cyLndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6eG4tLWx2
ZS02bGFkLnhuLS1sdmUtNmxhZC5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzp4bi0tbjhqNmRz
NTNsd3drcnFodjI4YS53d3cubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6d3d3LnhuLS1uOGo2
ZHM1M2x3d2tycWh2MjhhLm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOnd3dzEueG4tLW44ajZk
czUzbHd3a3JxaHYyOGEubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6eG4tLW44ajZkczUzbHd3
a3JxaHYyOGEud3d3Mi5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzp4bi0tbjhqNmRzNTNsd3dr
cnFodjI4YS53d3cxLm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOnd3dzIueG4tLW44ajZkczUz
bHd3a3JxaHYyOGEubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6eG4tLW44ajZkczUzbHd3a3Jx
aHYyOGEueG4tLWx2ZS02bGFkLndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6eG4tLWx2ZS02bGFkLnhu
LS1uOGo2ZHM1M2x3d2tycWh2MjhhLndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6eG4tLWx2ZS02bGFk
LnhuLS1uOGo2ZHM1M2x3d2tycWh2MjhhLm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOnhuLS1u
OGo2ZHM1M2x3d2tycWh2MjhhLnhuLS1sdmUtNmxhZC5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIERO
Uzp4bi0tbjhqNmRzNTNsd3drcnFodjI4YS54bi0tbjhqNmRzNTNsd3drcnFodjI4YS53ZWItcGxh
dGZvcm0udGVzdCwgRE5TOnhuLS1uOGo2ZHM1M2x3d2tycWh2MjhhLnhuLS1uOGo2ZHM1M2x3d2ty
cWh2MjhhLm5vdC13ZWItcGxhdGZvcm0udGVzdAotICAgIFNpZ25hdHVyZSBBbGdvcml0aG06IHNo
YTI1NldpdGhSU0FFbmNyeXB0aW9uCi0gICAgICAgICBhZjpjMjplYTpjYzo2YTo1ZTo0OTplMDpk
Yjo3MjoxNDowNTozYzoyMTphMDo4YjpmZjpiNjoKLSAgICAgICAgIGE5OjcxOjgyOmY3OjYxOmNk
OjIzOjJhOjAwOjY2OjkxOmFjOjAxOjk5OjYzOjM4OjExOjIxOgotICAgICAgICAgODU6YjI6NTc6
OTI6MGI6M2Y6Nzk6Njg6ZjU6ZDg6NTk6OGI6YTc6NzQ6MTk6ZWI6MGI6ZTc6Ci0gICAgICAgICAz
ZDo4Njo0ZTo2NjpkNDplNjoyZjpmZjplZDo2Yzo3ZDo5YTo1ZToxMjo0ZTpiZjozOTpmZjoKLSAg
ICAgICAgIGY3OmQwOmZiOjUyOjUzOmEwOmZiOmIxOjVjOjlhOjkxOjkyOjM2OjAwOmQ4OmE0OjZm
OmY5OgotICAgICAgICAgOWM6MzY6MjE6YjI6YzI6NWU6MTQ6MTE6Y2E6NTU6ZTc6ODg6MzA6NjA6
OGQ6ODY6ZGE6NjU6Ci0gICAgICAgICAyNjpmZjplMjo0NTozNjoyYTowOTozZDphNDpiYjozODo2
MTo0ZDo1NzplNDpjOTpiNjo1MDoKLSAgICAgICAgIDNjOjA2OjJmOjZiOmJmOjA0OjM0OjQyOjU0
OmRjOjUzOmI2OjYxOmM1OjRlOjQwOjAwOmQ2OgotICAgICAgICAgNWU6MTk6MTc6M2E6NTQ6MmM6
YzU6MTY6N2E6NmQ6NGE6NzA6NTY6NDU6Y2Q6OTk6NWE6MmE6Ci0gICAgICAgICBkMTphNzo0ZToz
NTo5NzozZDpkODpjOTo5NTo4MDphYjoxNTo0Mjo4NjpmNjphMDphNjpjMzoKLSAgICAgICAgIDIx
OmMxOjlhOjA3OjM0OjQ5OmFkOjYxOjNjOmJjOjk0OmIyOjJkOjkyOmY3OjQ0OjgwOjAxOgotICAg
ICAgICAgNWY6Mjc6YmQ6ODM6ZjU6NTE6MjI6Mzk6Y2Q6OTg6YjE6Mzk6MjM6Yjg6ZjQ6NWM6MDg6
MjA6Ci0gICAgICAgICA5ZTpmZTpmMToyZDo5YTplOTo5YjpjNzo1ZTpiODozMzo4YjoxNjo3Nzo1
MjozZDpjOTo3YToKLSAgICAgICAgIDQzOjllOjI1OmQwOmM3OjVhOjk2OjA4OjUzOjFhOmRjOjc1
OjUzOjc1OjQ0OjYyOjE4OjdjOgotICAgICAgICAgZWY6ZmI6NzM6NTIKLS0tLS0tQkVHSU4gQ0VS
VElGSUNBVEUtLS0tLQotTUlJTXNqQ0NDNXFnQXdJQkFnSURCYkZJTUEwR0NTcUdTSWIzRFFFQkN3
VUFNQjB4R3pBWkJnTlZCQU1NRW5kbAotWWkxd2JHRjBabTl5YlMxMFpYTjBjekFlRncweE9URXdN
VFF4TXpRNU1qbGFGdzB5T1RFd01URXhNelE1TWpsYQotTUJ3eEdqQVlCZ05WQkFNTUVYZGxZaTF3
YkdGMFptOXliUzUwWlhOME1JSUJJakFOQmdrcWhraUc5dzBCQVFFRgotQUFPQ0FROEFNSUlCQ2dL
Q0FRRUFxMlYxVjVqajVhcVAvdHNZOWVUNEhHUmh4cVAyNkg0a0VONEplaVM5VlY5UgotcWJXQ0RZ
VTZ0ckZJWHpmTFFtL25COHMycVR2YUZKc0tzS2VWS2U3U2VDS2U3aE5mOE1Fc1ZYTHdtc0J1Znp6
ZQotWWcreDlzTEpoS2FSMXpuTnk1ZFBPZjRNM3JQdGZqWi9xZ0VacWRXeGY3NDZaUStsWFI5cXdW
dDdDZHd3S0FXcQotRjVRREgza1FCUTZXcW12dlpjVEt6T1ZwRkI1M1VQcmhET3BHY25yNGNxZE5s
d3o5THk4RFFyVHl4Z2RIcGdBSAotd3U4YWNFUmxSa3JSTEZJWC81blBjalRXaW9LZ1NpTko2S0Za
N2xOMFJuU2h6OWZMM0k3UVVsZEpXSUkzNFBXdAotT3pnYnRZWUVIMzRhSDR0Z2NuWDJncVFRRE14
WVpidGJzck9tb1ZaQ2FRSURBUUFCbzRJSitqQ0NDZll3Q1FZRAotVlIwVEJBSXdBREFkQmdOVkhR
NEVGZ1FVS2hnTENTSnVLTkxiL2NJdFFLYnpPR0p1eDhVd0h3WURWUjBqQkJndwotRm9BVVFVbi9q
R1pRWDRlaEJxaTdxNHJkY3cwT054b3dDd1lEVlIwUEJBUURBZ1hnTUJNR0ExVWRKUVFNTUFvRwot
Q0NzR0FRVUZCd01CTUlJSmhRWURWUjBSQklJSmZEQ0NDWGlDRVhkbFlpMXdiR0YwWm05eWJTNTBa
WE4wZ2hWdQotYjNRdGQyVmlMWEJzWVhSbWIzSnRMblJsYzNTQ0ZYZDNkeTUzWldJdGNHeGhkR1p2
Y20wdWRHVnpkSUlXZDNkMwotTVM1M1pXSXRjR3hoZEdadmNtMHVkR1Z6ZElJV2QzZDNNaTUzWldJ
dGNHeGhkR1p2Y20wdWRHVnpkSUlaZDNkMwotTG01dmRDMTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJ
SVpkM2QzTG5kM2R5NTNaV0l0Y0d4aGRHWnZjbTB1ZEdWegotZElJYWQzZDNNaTV1YjNRdGQyVmlM
WEJzWVhSbWIzSnRMblJsYzNTQ0duZDNkekV1Ym05MExYZGxZaTF3YkdGMAotWm05eWJTNTBaWE4w
Z2hwM2QzY3VkM2QzTWk1M1pXSXRjR3hoZEdadmNtMHVkR1Z6ZElJYWQzZDNNaTUzZDNjdQotZDJW
aUxYQnNZWFJtYjNKdExuUmxjM1NDR25kM2R6RXVkM2QzTG5kbFlpMXdiR0YwWm05eWJTNTBaWE4w
Z2hwMwotZDNjdWQzZDNNUzUzWldJdGNHeGhkR1p2Y20wdWRHVnpkSUliZDNkM01TNTNkM2N4TG5k
bFlpMXdiR0YwWm05eQotYlM1MFpYTjBnaHQzZDNjeExuZDNkekl1ZDJWaUxYQnNZWFJtYjNKdExu
UmxjM1NDRzNkM2R6SXVkM2QzTWk1MwotWldJdGNHeGhkR1p2Y20wdWRHVnpkSUliZDNkM01pNTNk
M2N4TG5kbFlpMXdiR0YwWm05eWJTNTBaWE4wZ2gxMwotZDNjdWQzZDNMbTV2ZEMxM1pXSXRjR3ho
ZEdadmNtMHVkR1Z6ZElJZWQzZDNMbmQzZHpJdWJtOTBMWGRsWWkxdwotYkdGMFptOXliUzUwWlhO
MGdoNTNkM2N4TG5kM2R5NXViM1F0ZDJWaUxYQnNZWFJtYjNKdExuUmxjM1NDSG5odQotTFMxc2Rt
VXRObXhoWkM1M1pXSXRjR3hoZEdadmNtMHVkR1Z6ZElJZWQzZDNMbmQzZHpFdWJtOTBMWGRsWWkx
dwotYkdGMFptOXliUzUwWlhOMGdoNTNkM2N5TG5kM2R5NXViM1F0ZDJWaUxYQnNZWFJtYjNKdExu
UmxjM1NDSDNkMwotZHpJdWQzZDNNaTV1YjNRdGQyVmlMWEJzWVhSbWIzSnRMblJsYzNTQ0gzZDNk
ekl1ZDNkM01TNXViM1F0ZDJWaQotTFhCc1lYUm1iM0p0TG5SbGMzU0NIM2QzZHpFdWQzZDNNUzV1
YjNRdGQyVmlMWEJzWVhSbWIzSnRMblJsYzNTQwotSDNkM2R6RXVkM2QzTWk1dWIzUXRkMlZpTFhC
c1lYUm1iM0p0TG5SbGMzU0NJbmh1TFMxc2RtVXRObXhoWkM1MwotZDNjdWQyVmlMWEJzWVhSbWIz
SnRMblJsYzNTQ0luZDNkeTU0YmkwdGJIWmxMVFpzWVdRdWQyVmlMWEJzWVhSbQotYjNKdExuUmxj
M1NDSW5odUxTMXNkbVV0Tm14aFpDNXViM1F0ZDJWaUxYQnNZWFJtYjNKdExuUmxjM1NDSTNodQot
TFMxc2RtVXRObXhoWkM1M2QzY3hMbmRsWWkxd2JHRjBabTl5YlM1MFpYTjBnaU4zZDNjeUxuaHVM
UzFzZG1VdAotTm14aFpDNTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSWpkM2QzTVM1NGJpMHRiSFps
TFRac1lXUXVkMlZpTFhCcwotWVhSbWIzSnRMblJsYzNTQ0kzaHVMUzFzZG1VdE5teGhaQzUzZDNj
eUxuZGxZaTF3YkdGMFptOXliUzUwWlhOMAotZ2laNGJpMHRiSFpsTFRac1lXUXVkM2QzTG01dmRD
MTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSW1kM2QzTG5odQotTFMxc2RtVXRObXhoWkM1dWIzUXRk
MlZpTFhCc1lYUm1iM0p0TG5SbGMzU0NKM2h1TFMxc2RtVXRObXhoWkM1MwotZDNjeExtNXZkQzEz
WldJdGNHeGhkR1p2Y20wdWRHVnpkSUluZDNkM01pNTRiaTB0YkhabExUWnNZV1F1Ym05MAotTFhk
bFlpMXdiR0YwWm05eWJTNTBaWE4wZ2lkM2QzY3hMbmh1TFMxc2RtVXRObXhoWkM1dWIzUXRkMlZp
TFhCcwotWVhSbWIzSnRMblJsYzNTQ0ozaHVMUzFzZG1VdE5teGhaQzUzZDNjeUxtNXZkQzEzWldJ
dGNHeGhkR1p2Y20wdQotZEdWemRJSXBlRzR0TFc0NGFqWmtjelV6YkhkM2EzSnhhSFl5T0dFdWQy
VmlMWEJzWVhSbWIzSnRMblJsYzNTQwotSzNodUxTMXNkbVV0Tm14aFpDNTRiaTB0YkhabExUWnNZ
V1F1ZDJWaUxYQnNZWFJtYjNKdExuUmxjM1NDTFhodQotTFMxdU9HbzJaSE0xTTJ4M2QydHljV2gy
TWpoaExtNXZkQzEzWldJdGNHeGhkR1p2Y20wdWRHVnpkSUl0ZUc0dAotTFc0NGFqWmtjelV6Ykhk
M2EzSnhhSFl5T0dFdWQzZDNMbmRsWWkxd2JHRjBabTl5YlM1MFpYTjBnaTEzZDNjdQotZUc0dExX
NDRhalprY3pVemJIZDNhM0p4YUhZeU9HRXVkMlZpTFhCc1lYUm1iM0p0TG5SbGMzU0NMbmQzZHpF
dQotZUc0dExXNDRhalprY3pVemJIZDNhM0p4YUhZeU9HRXVkMlZpTFhCc1lYUm1iM0p0TG5SbGMz
U0NMbmh1TFMxdQotT0dvMlpITTFNMngzZDJ0eWNXaDJNamhoTG5kM2R6RXVkMlZpTFhCc1lYUm1i
M0p0TG5SbGMzU0NMbmQzZHpJdQotZUc0dExXNDRhalprY3pVemJIZDNhM0p4YUhZeU9HRXVkMlZp
TFhCc1lYUm1iM0p0TG5SbGMzU0NMbmh1TFMxdQotT0dvMlpITTFNMngzZDJ0eWNXaDJNamhoTG5k
M2R6SXVkMlZpTFhCc1lYUm1iM0p0TG5SbGMzU0NMM2h1TFMxcwotZG1VdE5teGhaQzU0YmkwdGJI
WmxMVFpzWVdRdWJtOTBMWGRsWWkxd2JHRjBabTl5YlM1MFpYTjBnakY0YmkwdAotYmpocU5tUnpO
VE5zZDNkcmNuRm9kakk0WVM1M2QzY3VibTkwTFhkbFlpMXdiR0YwWm05eWJTNTBaWE4wZ2pGMwot
ZDNjdWVHNHRMVzQ0YWpaa2N6VXpiSGQzYTNKeGFIWXlPR0V1Ym05MExYZGxZaTF3YkdGMFptOXli
UzUwWlhOMAotZ2pKM2QzY3hMbmh1TFMxdU9HbzJaSE0xTTJ4M2QydHljV2gyTWpoaExtNXZkQzEz
WldJdGNHeGhkR1p2Y20wdQotZEdWemRJSXllRzR0TFc0NGFqWmtjelV6YkhkM2EzSnhhSFl5T0dF
dWQzZDNNaTV1YjNRdGQyVmlMWEJzWVhSbQotYjNKdExuUmxjM1NDTW5odUxTMXVPR28yWkhNMU0y
eDNkMnR5Y1doMk1qaGhMbmQzZHpFdWJtOTBMWGRsWWkxdwotYkdGMFptOXliUzUwWlhOMGdqSjNk
M2N5TG5odUxTMXVPR28yWkhNMU0yeDNkMnR5Y1doMk1qaGhMbTV2ZEMxMwotWldJdGNHeGhkR1p2
Y20wdWRHVnpkSUkyZUc0dExXNDRhalprY3pVemJIZDNhM0p4YUhZeU9HRXVlRzR0TFd4MgotWlMw
MmJHRmtMbmRsWWkxd2JHRjBabTl5YlM1MFpYTjBnalo0YmkwdGJIWmxMVFpzWVdRdWVHNHRMVzQ0
YWpaawotY3pVemJIZDNhM0p4YUhZeU9HRXVkMlZpTFhCc1lYUm1iM0p0TG5SbGMzU0NPbmh1TFMx
c2RtVXRObXhoWkM1NAotYmkwdGJqaHFObVJ6TlROc2QzZHJjbkZvZGpJNFlTNXViM1F0ZDJWaUxY
QnNZWFJtYjNKdExuUmxjM1NDT25odQotTFMxdU9HbzJaSE0xTTJ4M2QydHljV2gyTWpoaExuaHVM
UzFzZG1VdE5teGhaQzV1YjNRdGQyVmlMWEJzWVhSbQotYjNKdExuUmxjM1NDUVhodUxTMXVPR28y
WkhNMU0yeDNkMnR5Y1doMk1qaGhMbmh1TFMxdU9HbzJaSE0xTTJ4MwotZDJ0eWNXaDJNamhoTG5k
bFlpMXdiR0YwWm05eWJTNTBaWE4wZ2tWNGJpMHRiamhxTm1Sek5UTnNkM2RyY25GbwotZGpJNFlT
NTRiaTB0YmpocU5tUnpOVE5zZDNkcmNuRm9kakk0WVM1dWIzUXRkMlZpTFhCc1lYUm1iM0p0TG5S
bAotYzNRd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFLL0M2c3hxWGtuZzIzSVVCVHdob0l2L3Rx
bHhndmRoelNNcQotQUdhUnJBR1pZemdSSVlXeVY1SUxQM2xvOWRoWmk2ZDBHZXNMNXoyR1RtYlU1
aS8vN1d4OW1sNFNUcjg1Ly9mUQotKzFKVG9QdXhYSnFSa2pZQTJLUnYrWncySWJMQ1hoUVJ5bFhu
aURCZ2pZYmFaU2IvNGtVMktnazlwTHM0WVUxWAotNU1tMlVEd0dMMnUvQkRSQ1ZOeFR0bUhGVGtB
QTFsNFpGenBVTE1VV2VtMUtjRlpGelpsYUt0R25UaldYUGRqSgotbFlDckZVS0c5cUNtd3lIQm1n
YzBTYTFoUEx5VXNpMlM5MFNBQVY4bnZZUDFVU0k1elppeE9TTzQ5RndJSUo3KwotOFMyYTZadkhY
cmd6aXhaM1VqM0pla09lSmRESFdwWUlVeHJjZFZOMVJHSVlmTy83YzFJPQotLS0tLS1FTkQgQ0VS
VElGSUNBVEUtLS0tLQorQ2VydGlmaWNhdGU6DQorICAgIERhdGE6DQorICAgICAgICBWZXJzaW9u
OiAzICgweDIpDQorICAgICAgICBTZXJpYWwgTnVtYmVyOiA3ODMyNzkgKDB4YmYzYWYpDQorICAg
ICAgICBTaWduYXR1cmUgQWxnb3JpdGhtOiBzaGEyNTZXaXRoUlNBRW5jcnlwdGlvbg0KKyAgICAg
ICAgSXNzdWVyOiBDTj13ZWItcGxhdGZvcm0tdGVzdHMNCisgICAgICAgIFZhbGlkaXR5DQorICAg
ICAgICAgICAgTm90IEJlZm9yZTogRmViIDE4IDIwOjI5OjQ3IDIwMjAgR01UDQorICAgICAgICAg
ICAgTm90IEFmdGVyIDogRmViIDE1IDIwOjI5OjQ3IDIwMzAgR01UDQorICAgICAgICBTdWJqZWN0
OiBDTj13ZWItcGxhdGZvcm0udGVzdA0KKyAgICAgICAgU3ViamVjdCBQdWJsaWMgS2V5IEluZm86
DQorICAgICAgICAgICAgUHVibGljIEtleSBBbGdvcml0aG06IHJzYUVuY3J5cHRpb24NCisgICAg
ICAgICAgICAgICAgUlNBIFB1YmxpYy1LZXk6ICgyMDQ4IGJpdCkNCisgICAgICAgICAgICAgICAg
TW9kdWx1czoNCisgICAgICAgICAgICAgICAgICAgIDAwOmJmOjdlOmU2OjJhOjZjOjkyOmQ4OjJh
Ojg0OmYwOjE3OjM2OmFlOjlkOg0KKyAgICAgICAgICAgICAgICAgICAgMjI6Nzc6ZWI6Njk6YTk6
MDM6YjA6Njg6NTg6ZTI6MGM6ODk6MzE6NjQ6MTg6DQorICAgICAgICAgICAgICAgICAgICBhZDo2
ZDo2NDowODoyOTpjZjo2YTplZjpjYzoxMDpmOTpiMzozMzo0YzoyMjoNCisgICAgICAgICAgICAg
ICAgICAgIGIxOmRhOjI0OjVmOmMzOjMxOmYxOmYxOjdiOjYwOjk3OmIyOjc5OjAzOjVkOg0KKyAg
ICAgICAgICAgICAgICAgICAgNjY6ZGM6ZDE6Y2I6ODM6ZWM6ZDM6MGM6ZTE6ZDI6OWI6N2Q6MTY6
ZTM6OWU6DQorICAgICAgICAgICAgICAgICAgICBkYzo1ODpkZDo2Yzo4OTo3Nzo5ODphMzowYzpi
Mjo3Yzo2ZTpkMDpiZjozZDoNCisgICAgICAgICAgICAgICAgICAgIDJjOjE5OmExOmM5Ojg3OmMy
OjBhOjRlOmE4OjFlOjM0OmE4OjZmOmRhOjJkOg0KKyAgICAgICAgICAgICAgICAgICAgMGE6NGQ6
YzA6YjQ6NzE6MDY6NDk6NjE6ZWE6MWE6YzA6NjQ6YzE6ZDM6YjA6DQorICAgICAgICAgICAgICAg
ICAgICA4ZjpjMDozYjo4MjowMToyODpjNDplODozMTo4YjowNzo0YjpiNTpmYjo2MjoNCisgICAg
ICAgICAgICAgICAgICAgIDE3OjRjOjJhOjBkOmRlOmFiOmNlOmRjOjgwOjY4OmJmOmFiOjFkOjQ1
OmUyOg0KKyAgICAgICAgICAgICAgICAgICAgYTQ6YTI6MDE6NmE6MDU6ZGY6NDE6ZTY6ZmQ6Zjg6
OTQ6MmU6ZTI6OWY6YTQ6DQorICAgICAgICAgICAgICAgICAgICAwMTo1NTo3ZDplYjpjMTozZDoz
ZTo2MTo1MDphMDplYTozNzoyYTpkNTpjNzoNCisgICAgICAgICAgICAgICAgICAgIDE4OjRjOmVj
OmY1OjBkOjM5OjZkOjU0OmQzOjA0OjMxOjQ2OmQ4OjEyOmEwOg0KKyAgICAgICAgICAgICAgICAg
ICAgMGE6ODI6NjM6NmQ6ODI6YTQ6OGU6ZDY6ODI6NDM6NjE6OWI6MWQ6OTQ6OWE6DQorICAgICAg
ICAgICAgICAgICAgICBiMDoxZDozNTowMjpmODpiYjo1NTo3Zjo4YzpmNzoyMTplMjo2NTozNjo0
MjoNCisgICAgICAgICAgICAgICAgICAgIGE5OjhiOjU4OjExOjkwOmEwOjdjOjI4OjQ1OmQ4Ojli
Ojg4Ojk1OjlhOjI2Og0KKyAgICAgICAgICAgICAgICAgICAgZTk6ZmQ6NDc6MDc6ODM6NzA6OGE6
OTg6MWI6MGI6NGU6ODQ6OGM6MDY6Yjc6DQorICAgICAgICAgICAgICAgICAgICBlMjplMw0KKyAg
ICAgICAgICAgICAgICBFeHBvbmVudDogNjU1MzcgKDB4MTAwMDEpDQorICAgICAgICBYNTA5djMg
ZXh0ZW5zaW9uczoNCisgICAgICAgICAgICBYNTA5djMgQmFzaWMgQ29uc3RyYWludHM6IA0KKyAg
ICAgICAgICAgICAgICBDQTpGQUxTRQ0KKyAgICAgICAgICAgIFg1MDl2MyBTdWJqZWN0IEtleSBJ
ZGVudGlmaWVyOiANCisgICAgICAgICAgICAgICAgQUU6RDg6MkY6OTk6QkE6QjE6RTg6MDM6RDI6
QTU6QzU6MkM6MEQ6QkI6MTY6NUM6OUI6OUY6Rjc6MDgNCisgICAgICAgICAgICBYNTA5djMgQXV0
aG9yaXR5IEtleSBJZGVudGlmaWVyOiANCisgICAgICAgICAgICAgICAga2V5aWQ6RjY6Qjk6REE6
MTY6MDc6MDU6QkI6NkY6Qzk6NjM6MzA6QzY6Njc6NDA6Q0I6MDM6RDM6MUU6OTA6RUMNCisNCisg
ICAgICAgICAgICBYNTA5djMgS2V5IFVzYWdlOiANCisgICAgICAgICAgICAgICAgRGlnaXRhbCBT
aWduYXR1cmUsIE5vbiBSZXB1ZGlhdGlvbiwgS2V5IEVuY2lwaGVybWVudA0KKyAgICAgICAgICAg
IFg1MDl2MyBFeHRlbmRlZCBLZXkgVXNhZ2U6IA0KKyAgICAgICAgICAgICAgICBUTFMgV2ViIFNl
cnZlciBBdXRoZW50aWNhdGlvbg0KKyAgICAgICAgICAgIFg1MDl2MyBTdWJqZWN0IEFsdGVybmF0
aXZlIE5hbWU6IA0KKyAgICAgICAgICAgICAgICBETlM6d2ViLXBsYXRmb3JtLnRlc3QsIEROUzpv
cDIud2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDkud2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDcu
d2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDEud2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDMud2Vi
LXBsYXRmb3JtLnRlc3QsIEROUzpvcDYud2ViLXBsYXRmb3JtLnRlc3QsIEROUzpub3Qtd2ViLXBs
YXRmb3JtLnRlc3QsIEROUzpvcDUud2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDQud2ViLXBsYXRm
b3JtLnRlc3QsIEROUzpvcDgud2ViLXBsYXRmb3JtLnRlc3QsIEROUzp3d3cud2ViLXBsYXRmb3Jt
LnRlc3QsIEROUzpvcDg3LndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A4MC53ZWItcGxhdGZvcm0u
dGVzdCwgRE5TOm9wOTQud2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDE2LndlYi1wbGF0Zm9ybS50
ZXN0LCBETlM6b3A0MC53ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wMTcud2ViLXBsYXRmb3JtLnRl
c3QsIEROUzpvcDcyLndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A2NC53ZWItcGxhdGZvcm0udGVz
dCwgRE5TOm9wMjMud2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDI4LndlYi1wbGF0Zm9ybS50ZXN0
LCBETlM6b3AxMy53ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wMzYud2ViLXBsYXRmb3JtLnRlc3Qs
IEROUzpvcDExLndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A3OS53ZWItcGxhdGZvcm0udGVzdCwg
RE5TOm9wNjEud2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDQ4LndlYi1wbGF0Zm9ybS50ZXN0LCBE
TlM6b3AxOS53ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wNDIud2ViLXBsYXRmb3JtLnRlc3QsIERO
UzpvcDQ2LndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3AzNy53ZWItcGxhdGZvcm0udGVzdCwgRE5T
Om9wOTgud2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDY2LndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6
d3d3MS53ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wMjYud2ViLXBsYXRmb3JtLnRlc3QsIEROUzpv
cDY3LndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A3My53ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9w
Mzgud2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDYyLndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A1
OC53ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wNTYud2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDIy
LndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3AyNC53ZWItcGxhdGZvcm0udGVzdCwgRE5TOnd3dzIu
d2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDE4LndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A3NC53
ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wOTEud2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDMzLndl
Yi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A2OS53ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wMzAud2Vi
LXBsYXRmb3JtLnRlc3QsIEROUzpvcDM5LndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A1Mi53ZWIt
cGxhdGZvcm0udGVzdCwgRE5TOm9wNDMud2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDg1LndlYi1w
bGF0Zm9ybS50ZXN0LCBETlM6b3AzNC53ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wMjEud2ViLXBs
YXRmb3JtLnRlc3QsIEROUzpvcDcxLndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A1MC53ZWItcGxh
dGZvcm0udGVzdCwgRE5TOm9wODQud2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDMxLndlYi1wbGF0
Zm9ybS50ZXN0LCBETlM6b3A1NC53ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wNDkud2ViLXBsYXRm
b3JtLnRlc3QsIEROUzpvcDQ0LndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A0NS53ZWItcGxhdGZv
cm0udGVzdCwgRE5TOm9wMzUud2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDc2LndlYi1wbGF0Zm9y
bS50ZXN0LCBETlM6b3AxNC53ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wODEud2ViLXBsYXRmb3Jt
LnRlc3QsIEROUzpvcDg4LndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3AyMC53ZWItcGxhdGZvcm0u
dGVzdCwgRE5TOm9wOTUud2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDUxLndlYi1wbGF0Zm9ybS50
ZXN0LCBETlM6b3A4Ni53ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wNTUud2ViLXBsYXRmb3JtLnRl
c3QsIEROUzpvcDI3LndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3AxMi53ZWItcGxhdGZvcm0udGVz
dCwgRE5TOm9wNzUud2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDQ3LndlYi1wbGF0Zm9ybS50ZXN0
LCBETlM6b3A5Ni53ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wOTMud2ViLXBsYXRmb3JtLnRlc3Qs
IEROUzpvcDU3LndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A2My53ZWItcGxhdGZvcm0udGVzdCwg
RE5TOm9wNTMud2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDI5LndlYi1wbGF0Zm9ybS50ZXN0LCBE
TlM6b3AyNS53ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wODMud2ViLXBsYXRmb3JtLnRlc3QsIERO
UzpvcDk3LndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A0MS53ZWItcGxhdGZvcm0udGVzdCwgRE5T
Om9wMzIud2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDcwLndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6
b3A2MC53ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wOTIud2ViLXBsYXRmb3JtLnRlc3QsIEROUzpv
cDc4LndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A4OS53ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9w
MTAud2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDc3LndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A1
OS53ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wMTUud2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDY1
LndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A2OC53ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wOTAu
d2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDgyLndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A2Lm5v
dC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wOC5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzpv
cDkubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A0Lm5vdC13ZWItcGxhdGZvcm0udGVzdCwg
RE5TOm9wNy5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzp3d3cud3d3LndlYi1wbGF0Zm9ybS50
ZXN0LCBETlM6b3AyLm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wMS5ub3Qtd2ViLXBsYXRm
b3JtLnRlc3QsIEROUzp3d3cubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A1Lm5vdC13ZWIt
cGxhdGZvcm0udGVzdCwgRE5TOm9wMy5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDI3Lm5v
dC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wNDAubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6
b3A0NS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDk2Lm5vdC13ZWItcGxhdGZvcm0udGVz
dCwgRE5TOm9wMjgubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A4My5ub3Qtd2ViLXBsYXRm
b3JtLnRlc3QsIEROUzpvcDMzLm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wNTYubm90LXdl
Yi1wbGF0Zm9ybS50ZXN0LCBETlM6d3d3MS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDYy
Lm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wMTgubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBE
TlM6b3A0OC5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDQzLm5vdC13ZWItcGxhdGZvcm0u
dGVzdCwgRE5TOm9wODkubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A2MC5ub3Qtd2ViLXBs
YXRmb3JtLnRlc3QsIEROUzpvcDk1Lm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wNzMubm90
LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A5MS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzpv
cDQyLm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wMjYubm90LXdlYi1wbGF0Zm9ybS50ZXN0
LCBETlM6b3A2OS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDMyLm5vdC13ZWItcGxhdGZv
cm0udGVzdCwgRE5TOm9wMzcubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A5OC5ub3Qtd2Vi
LXBsYXRmb3JtLnRlc3QsIEROUzpvcDE5Lm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wNzYu
bm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3AxMy5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIERO
UzpvcDc5Lm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOnd3dzIud3d3LndlYi1wbGF0Zm9ybS50
ZXN0LCBETlM6b3A4Ni5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDc3Lm5vdC13ZWItcGxh
dGZvcm0udGVzdCwgRE5TOm9wMjkubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A1NS5ub3Qt
d2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDkyLm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9w
NDQubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A1NC5ub3Qtd2ViLXBsYXRmb3JtLnRlc3Qs
IEROUzpvcDk0Lm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wMzQubm90LXdlYi1wbGF0Zm9y
bS50ZXN0LCBETlM6b3AzMC5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzp3d3cxLnd3dy53ZWIt
cGxhdGZvcm0udGVzdCwgRE5TOm9wMjUubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A2NC5u
b3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDIwLm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5T
Om9wNTEubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A0MS5ub3Qtd2ViLXBsYXRmb3JtLnRl
c3QsIEROUzpvcDEyLm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wMTAubm90LXdlYi1wbGF0
Zm9ybS50ZXN0LCBETlM6b3A3Mi5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDIyLm5vdC13
ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wNTIubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A3
NC5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDY3Lm5vdC13ZWItcGxhdGZvcm0udGVzdCwg
RE5TOm9wODAubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A4NC5ub3Qtd2ViLXBsYXRmb3Jt
LnRlc3QsIEROUzpvcDMxLm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wNTMubm90LXdlYi1w
bGF0Zm9ybS50ZXN0LCBETlM6b3AyMy5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDM1Lm5v
dC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wMTYubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6
b3A2My5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDM4Lm5vdC13ZWItcGxhdGZvcm0udGVz
dCwgRE5TOm9wNTgubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A2MS5ub3Qtd2ViLXBsYXRm
b3JtLnRlc3QsIEROUzpvcDE0Lm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wOTAubm90LXdl
Yi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A3MC5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDEx
Lm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wMTUubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBE
TlM6b3A2NS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDUwLm5vdC13ZWItcGxhdGZvcm0u
dGVzdCwgRE5TOm9wNjgubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A4Ny5ub3Qtd2ViLXBs
YXRmb3JtLnRlc3QsIEROUzpvcDc4Lm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOnd3dy53d3cy
LndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A4Mi5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzpv
cDkzLm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOnd3dy53d3cxLndlYi1wbGF0Zm9ybS50ZXN0
LCBETlM6b3AyMS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDcxLm5vdC13ZWItcGxhdGZv
cm0udGVzdCwgRE5TOm9wOTcubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A4OC5ub3Qtd2Vi
LXBsYXRmb3JtLnRlc3QsIEROUzpvcDI0Lm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wNjYu
bm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A0OS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIERO
UzpvcDU5Lm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wNDYubm90LXdlYi1wbGF0Zm9ybS50
ZXN0LCBETlM6b3AzNi5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDM5Lm5vdC13ZWItcGxh
dGZvcm0udGVzdCwgRE5TOm9wNDcubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3AxNy5ub3Qt
d2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDc1Lm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9w
ODUubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A1Ny5ub3Qtd2ViLXBsYXRmb3JtLnRlc3Qs
IEROUzp3d3cyLm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wODEubm90LXdlYi1wbGF0Zm9y
bS50ZXN0LCBETlM6d3d3Mi53d3cxLndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6d3d3MS53d3cyLndl
Yi1wbGF0Zm9ybS50ZXN0LCBETlM6d3d3Mi53d3cyLndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6d3d3
MS53d3cxLndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6d3d3Lnd3dy5ub3Qtd2ViLXBsYXRmb3JtLnRl
c3QsIEROUzp3d3cyLnd3dy5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzp4bi0tbHZlLTZsYWQu
d2ViLXBsYXRmb3JtLnRlc3QsIEROUzp3d3cxLnd3dy5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIERO
Uzp3d3cud3d3MS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzp3d3cud3d3Mi5ub3Qtd2ViLXBs
YXRmb3JtLnRlc3QsIEROUzp3d3cxLnd3dzIubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6d3d3
MS53d3cxLm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOnd3dzIud3d3MS5ub3Qtd2ViLXBsYXRm
b3JtLnRlc3QsIEROUzp3d3cyLnd3dzIubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6eG4tLWx2
ZS02bGFkLnd3dy53ZWItcGxhdGZvcm0udGVzdCwgRE5TOnhuLS1sdmUtNmxhZC5ub3Qtd2ViLXBs
YXRmb3JtLnRlc3QsIEROUzp3d3cueG4tLWx2ZS02bGFkLndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6
d3d3MS54bi0tbHZlLTZsYWQud2ViLXBsYXRmb3JtLnRlc3QsIEROUzp3d3cyLnhuLS1sdmUtNmxh
ZC53ZWItcGxhdGZvcm0udGVzdCwgRE5TOnhuLS1sdmUtNmxhZC53d3cyLndlYi1wbGF0Zm9ybS50
ZXN0LCBETlM6eG4tLWx2ZS02bGFkLnd3dzEud2ViLXBsYXRmb3JtLnRlc3QsIEROUzp3d3cueG4t
LWx2ZS02bGFkLm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOnhuLS1sdmUtNmxhZC53d3cubm90
LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6d3d3MS54bi0tbHZlLTZsYWQubm90LXdlYi1wbGF0Zm9y
bS50ZXN0LCBETlM6d3d3Mi54bi0tbHZlLTZsYWQubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6
eG4tLWx2ZS02bGFkLnd3dzEubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6eG4tLWx2ZS02bGFk
Lnd3dzIubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6eG4tLW44ajZkczUzbHd3a3JxaHYyOGEu
d2ViLXBsYXRmb3JtLnRlc3QsIEROUzp4bi0tbHZlLTZsYWQueG4tLWx2ZS02bGFkLndlYi1wbGF0
Zm9ybS50ZXN0LCBETlM6eG4tLW44ajZkczUzbHd3a3JxaHYyOGEubm90LXdlYi1wbGF0Zm9ybS50
ZXN0LCBETlM6eG4tLW44ajZkczUzbHd3a3JxaHYyOGEud3d3LndlYi1wbGF0Zm9ybS50ZXN0LCBE
TlM6d3d3LnhuLS1uOGo2ZHM1M2x3d2tycWh2MjhhLndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6d3d3
Mi54bi0tbjhqNmRzNTNsd3drcnFodjI4YS53ZWItcGxhdGZvcm0udGVzdCwgRE5TOnd3dzEueG4t
LW44ajZkczUzbHd3a3JxaHYyOGEud2ViLXBsYXRmb3JtLnRlc3QsIEROUzp4bi0tbjhqNmRzNTNs
d3drcnFodjI4YS53d3cxLndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6eG4tLW44ajZkczUzbHd3a3Jx
aHYyOGEud3d3Mi53ZWItcGxhdGZvcm0udGVzdCwgRE5TOnhuLS1sdmUtNmxhZC54bi0tbHZlLTZs
YWQubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6eG4tLW44ajZkczUzbHd3a3JxaHYyOGEud3d3
Lm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOnd3dy54bi0tbjhqNmRzNTNsd3drcnFodjI4YS5u
b3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzp3d3cxLnhuLS1uOGo2ZHM1M2x3d2tycWh2MjhhLm5v
dC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOnhuLS1uOGo2ZHM1M2x3d2tycWh2MjhhLnd3dzEubm90
LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6d3d3Mi54bi0tbjhqNmRzNTNsd3drcnFodjI4YS5ub3Qt
d2ViLXBsYXRmb3JtLnRlc3QsIEROUzp4bi0tbjhqNmRzNTNsd3drcnFodjI4YS53d3cyLm5vdC13
ZWItcGxhdGZvcm0udGVzdCwgRE5TOnhuLS1uOGo2ZHM1M2x3d2tycWh2MjhhLnhuLS1sdmUtNmxh
ZC53ZWItcGxhdGZvcm0udGVzdCwgRE5TOnhuLS1sdmUtNmxhZC54bi0tbjhqNmRzNTNsd3drcnFo
djI4YS53ZWItcGxhdGZvcm0udGVzdCwgRE5TOnhuLS1sdmUtNmxhZC54bi0tbjhqNmRzNTNsd3dr
cnFodjI4YS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzp4bi0tbjhqNmRzNTNsd3drcnFodjI4
YS54bi0tbHZlLTZsYWQubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6eG4tLW44ajZkczUzbHd3
a3JxaHYyOGEueG4tLW44ajZkczUzbHd3a3JxaHYyOGEud2ViLXBsYXRmb3JtLnRlc3QsIEROUzp4
bi0tbjhqNmRzNTNsd3drcnFodjI4YS54bi0tbjhqNmRzNTNsd3drcnFodjI4YS5ub3Qtd2ViLXBs
YXRmb3JtLnRlc3QNCisgICAgU2lnbmF0dXJlIEFsZ29yaXRobTogc2hhMjU2V2l0aFJTQUVuY3J5
cHRpb24NCisgICAgICAgICA4OTphNDo0NDo0MzplZjowZjphNjozNjo3MjozMTo4Nzo0NDo3NTo4
NjpiNjo1Yjo1ODoyYzoNCisgICAgICAgICBjYjoxYzowYToyZTozNTozMjo4Mzo4MDo3MDo3MDox
YzpiNzo0YTpkMTo0NTo0NDo3ODpjNDoNCisgICAgICAgICAxNzpkODo3NzozNDo0ZTo0MjpkMjo3
MjoyMjpmZTowZDowYTphZTpiODowNjo5NDpkMDo2ZDoNCisgICAgICAgICA3YToyMTpkODphNDo4
MzozMzoxNzpkMzowNDphODo5Mzo2Zjo2NjpmMDozMzoxOTowNTowNzoNCisgICAgICAgICBiNToz
NTo4MzoyODphOTo4Zjo4NToxODoxYTo4NjpkZjplODpiZTo4ZDpjZjo2YToyNDpjMToNCisgICAg
ICAgICAwODoyNjpkZDowMjo5ODoxYzowMTpkODo4MTo0YTplNDoyMDoxNDoxOTo3YzplZjo5MTpi
NToNCisgICAgICAgICAzZTpkYTo1YTpmNjoxNDo0NToxODo3ZDo0NTo0YjoyODo3NjozMzo1ODpj
NTo4YzpjOToyZDoNCisgICAgICAgICBlZjo4OToxMTo3MDo3ZDplYjo0Nzo5ZToxMjpiMDo4MTox
OTpjODowNzpkOTpjYzo4NzpmMToNCisgICAgICAgICAxYjpmZTpmMDo4ZjpiMjpjMzpmMTpkYTpm
MDo1NTplNTo0YTo5YjpmZjowZDowMTo1Zjo2NToNCisgICAgICAgICA5NTowNzo5MjpjNjo3Yjo3
Mzo5NTo1OTphYTo2YjpjNjo5YzowMTo0ZTphMjoyYjplYTo3NzoNCisgICAgICAgICBkNDpmNDph
YjpkNjplNTo5NDplYjo4MTozNzo1NTo5Yzo5MDozZjo3MzoyMzoxZDo4NDpjMjoNCisgICAgICAg
ICA4Mjo0Mjo1Njo5YToxMzo2OTozMzo0ODpkNjowZDowZTo1ODo4MjphYzo5MDplZjpiMzphMDoN
CisgICAgICAgICA2YzpkZTo3OTpmNjoxNzpjNTpmMDoxZTpmMzozNzo3NDowMTpmMDo0Nzo5Yzo3
Nzo5YzphNzoNCisgICAgICAgICBhZjplMDo2MDpjYTpkNzowMjpkZDo1MDo0ODo2OTpiMToxYjo4
Mzo4Nzo1YTo3Yzo3NDo0NDoNCisgICAgICAgICBkYTpjNTpkZTpiOA0KKy0tLS0tQkVHSU4gQ0VS
VElGSUNBVEUtLS0tLQ0KK01JSWdpRENDSDNDZ0F3SUJBZ0lEQy9Pdk1BMEdDU3FHU0liM0RRRUJD
d1VBTUIweEd6QVpCZ05WQkFNTUVuZGwNCitZaTF3YkdGMFptOXliUzEwWlhOMGN6QWVGdzB5TURB
eU1UZ3lNREk1TkRkYUZ3MHpNREF5TVRVeU1ESTVORGRhDQorTUJ3eEdqQVlCZ05WQkFNTUVYZGxZ
aTF3YkdGMFptOXliUzUwWlhOME1JSUJJakFOQmdrcWhraUc5dzBCQVFFRg0KK0FBT0NBUThBTUlJ
QkNnS0NBUUVBdjM3bUtteVMyQ3FFOEJjMnJwMGlkK3RwcVFPd2FGamlESWt4WkJpdGJXUUkNCitL
YzlxNzh3UStiTXpUQ0t4MmlSZnd6SHg4WHRnbDdKNUExMW0zTkhMZyt6VERPSFNtMzBXNDU3Y1dO
MXNpWGVZDQorb3d5eWZHN1F2ejBzR2FISmg4SUtUcWdlTktodjJpMEtUY0MwY1FaSlllb2F3R1RC
MDdDUHdEdUNBU2pFNkRHTA0KK0IwdTErMklYVENvTjNxdk8zSUJvdjZzZFJlS2tvZ0ZxQmQ5QjV2
MzRsQzdpbjZRQlZYM3J3VDArWVZDZzZqY3ENCisxY2NZVE96MURUbHRWTk1FTVViWUVxQUtnbU50
Z3FTTzFvSkRZWnNkbEpxd0hUVUMrTHRWZjR6M0llSmxOa0twDQoraTFnUmtLQjhLRVhZbTRpVm1p
YnAvVWNIZzNDS21Cc0xUb1NNQnJmaTR3SURBUUFCbzRJZDBEQ0NIY3d3Q1FZRA0KK1ZSMFRCQUl3
QURBZEJnTlZIUTRFRmdRVXJ0Z3ZtYnF4NkFQU3BjVXNEYnNXWEp1Zjl3Z3dId1lEVlIwakJCZ3cN
CitGb0FVOXJuYUZnY0Z1Mi9KWXpER1owRExBOU1la093d0N3WURWUjBQQkFRREFnWGdNQk1HQTFV
ZEpRUU1NQW9HDQorQ0NzR0FRVUZCd01CTUlJZFd3WURWUjBSQklJZFVqQ0NIVTZDRVhkbFlpMXdi
R0YwWm05eWJTNTBaWE4wZ2hWdg0KK2NESXVkMlZpTFhCc1lYUm1iM0p0TG5SbGMzU0NGVzl3T1M1
M1pXSXRjR3hoZEdadmNtMHVkR1Z6ZElJVmIzQTMNCitMbmRsWWkxd2JHRjBabTl5YlM1MFpYTjBn
aFZ2Y0RFdWQyVmlMWEJzWVhSbWIzSnRMblJsYzNTQ0ZXOXdNeTUzDQorWldJdGNHeGhkR1p2Y20w
dWRHVnpkSUlWYjNBMkxuZGxZaTF3YkdGMFptOXliUzUwWlhOMGdoVnViM1F0ZDJWaQ0KK0xYQnNZ
WFJtYjNKdExuUmxjM1NDRlc5d05TNTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSVZiM0EwTG5kbFlp
MXcNCitiR0YwWm05eWJTNTBaWE4wZ2hWdmNEZ3VkMlZpTFhCc1lYUm1iM0p0TG5SbGMzU0NGWGQz
ZHk1M1pXSXRjR3hoDQorZEdadmNtMHVkR1Z6ZElJV2IzQTROeTUzWldJdGNHeGhkR1p2Y20wdWRH
VnpkSUlXYjNBNE1DNTNaV0l0Y0d4aA0KK2RHWnZjbTB1ZEdWemRJSVdiM0E1TkM1M1pXSXRjR3ho
ZEdadmNtMHVkR1Z6ZElJV2IzQXhOaTUzWldJdGNHeGgNCitkR1p2Y20wdWRHVnpkSUlXYjNBME1D
NTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSVdiM0F4Tnk1M1pXSXRjR3hoDQorZEdadmNtMHVkR1Z6
ZElJV2IzQTNNaTUzWldJdGNHeGhkR1p2Y20wdWRHVnpkSUlXYjNBMk5DNTNaV0l0Y0d4aA0KK2RH
WnZjbTB1ZEdWemRJSVdiM0F5TXk1M1pXSXRjR3hoZEdadmNtMHVkR1Z6ZElJV2IzQXlPQzUzWldJ
dGNHeGgNCitkR1p2Y20wdWRHVnpkSUlXYjNBeE15NTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSVdi
M0F6Tmk1M1pXSXRjR3hoDQorZEdadmNtMHVkR1Z6ZElJV2IzQXhNUzUzWldJdGNHeGhkR1p2Y20w
dWRHVnpkSUlXYjNBM09TNTNaV0l0Y0d4aA0KK2RHWnZjbTB1ZEdWemRJSVdiM0EyTVM1M1pXSXRj
R3hoZEdadmNtMHVkR1Z6ZElJV2IzQTBPQzUzWldJdGNHeGgNCitkR1p2Y20wdWRHVnpkSUlXYjNB
eE9TNTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSVdiM0EwTWk1M1pXSXRjR3hoDQorZEdadmNtMHVk
R1Z6ZElJV2IzQTBOaTUzWldJdGNHeGhkR1p2Y20wdWRHVnpkSUlXYjNBek55NTNaV0l0Y0d4aA0K
K2RHWnZjbTB1ZEdWemRJSVdiM0E1T0M1M1pXSXRjR3hoZEdadmNtMHVkR1Z6ZElJV2IzQTJOaTUz
WldJdGNHeGgNCitkR1p2Y20wdWRHVnpkSUlXZDNkM01TNTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJ
SVdiM0F5Tmk1M1pXSXRjR3hoDQorZEdadmNtMHVkR1Z6ZElJV2IzQTJOeTUzWldJdGNHeGhkR1p2
Y20wdWRHVnpkSUlXYjNBM015NTNaV0l0Y0d4aA0KK2RHWnZjbTB1ZEdWemRJSVdiM0F6T0M1M1pX
SXRjR3hoZEdadmNtMHVkR1Z6ZElJV2IzQTJNaTUzWldJdGNHeGgNCitkR1p2Y20wdWRHVnpkSUlX
YjNBMU9DNTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSVdiM0ExTmk1M1pXSXRjR3hoDQorZEdadmNt
MHVkR1Z6ZElJV2IzQXlNaTUzWldJdGNHeGhkR1p2Y20wdWRHVnpkSUlXYjNBeU5DNTNaV0l0Y0d4
aA0KK2RHWnZjbTB1ZEdWemRJSVdkM2QzTWk1M1pXSXRjR3hoZEdadmNtMHVkR1Z6ZElJV2IzQXhP
QzUzWldJdGNHeGgNCitkR1p2Y20wdWRHVnpkSUlXYjNBM05DNTNaV0l0Y0d4aGRHWnZjbTB1ZEdW
emRJSVdiM0E1TVM1M1pXSXRjR3hoDQorZEdadmNtMHVkR1Z6ZElJV2IzQXpNeTUzWldJdGNHeGhk
R1p2Y20wdWRHVnpkSUlXYjNBMk9TNTNaV0l0Y0d4aA0KK2RHWnZjbTB1ZEdWemRJSVdiM0F6TUM1
M1pXSXRjR3hoZEdadmNtMHVkR1Z6ZElJV2IzQXpPUzUzWldJdGNHeGgNCitkR1p2Y20wdWRHVnpk
SUlXYjNBMU1pNTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSVdiM0EwTXk1M1pXSXRjR3hoDQorZEda
dmNtMHVkR1Z6ZElJV2IzQTROUzUzWldJdGNHeGhkR1p2Y20wdWRHVnpkSUlXYjNBek5DNTNaV0l0
Y0d4aA0KK2RHWnZjbTB1ZEdWemRJSVdiM0F5TVM1M1pXSXRjR3hoZEdadmNtMHVkR1Z6ZElJV2Iz
QTNNUzUzWldJdGNHeGgNCitkR1p2Y20wdWRHVnpkSUlXYjNBMU1DNTNaV0l0Y0d4aGRHWnZjbTB1
ZEdWemRJSVdiM0E0TkM1M1pXSXRjR3hoDQorZEdadmNtMHVkR1Z6ZElJV2IzQXpNUzUzWldJdGNH
eGhkR1p2Y20wdWRHVnpkSUlXYjNBMU5DNTNaV0l0Y0d4aA0KK2RHWnZjbTB1ZEdWemRJSVdiM0Ew
T1M1M1pXSXRjR3hoZEdadmNtMHVkR1Z6ZElJV2IzQTBOQzUzWldJdGNHeGgNCitkR1p2Y20wdWRH
VnpkSUlXYjNBME5TNTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSVdiM0F6TlM1M1pXSXRjR3hoDQor
ZEdadmNtMHVkR1Z6ZElJV2IzQTNOaTUzWldJdGNHeGhkR1p2Y20wdWRHVnpkSUlXYjNBeE5DNTNa
V0l0Y0d4aA0KK2RHWnZjbTB1ZEdWemRJSVdiM0E0TVM1M1pXSXRjR3hoZEdadmNtMHVkR1Z6ZElJ
V2IzQTRPQzUzWldJdGNHeGgNCitkR1p2Y20wdWRHVnpkSUlXYjNBeU1DNTNaV0l0Y0d4aGRHWnZj
bTB1ZEdWemRJSVdiM0E1TlM1M1pXSXRjR3hoDQorZEdadmNtMHVkR1Z6ZElJV2IzQTFNUzUzWldJ
dGNHeGhkR1p2Y20wdWRHVnpkSUlXYjNBNE5pNTNaV0l0Y0d4aA0KK2RHWnZjbTB1ZEdWemRJSVdi
M0ExTlM1M1pXSXRjR3hoZEdadmNtMHVkR1Z6ZElJV2IzQXlOeTUzWldJdGNHeGgNCitkR1p2Y20w
dWRHVnpkSUlXYjNBeE1pNTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSVdiM0EzTlM1M1pXSXRjR3ho
DQorZEdadmNtMHVkR1Z6ZElJV2IzQTBOeTUzWldJdGNHeGhkR1p2Y20wdWRHVnpkSUlXYjNBNU5p
NTNaV0l0Y0d4aA0KK2RHWnZjbTB1ZEdWemRJSVdiM0E1TXk1M1pXSXRjR3hoZEdadmNtMHVkR1Z6
ZElJV2IzQTFOeTUzWldJdGNHeGgNCitkR1p2Y20wdWRHVnpkSUlXYjNBMk15NTNaV0l0Y0d4aGRH
WnZjbTB1ZEdWemRJSVdiM0ExTXk1M1pXSXRjR3hoDQorZEdadmNtMHVkR1Z6ZElJV2IzQXlPUzUz
WldJdGNHeGhkR1p2Y20wdWRHVnpkSUlXYjNBeU5TNTNaV0l0Y0d4aA0KK2RHWnZjbTB1ZEdWemRJ
SVdiM0E0TXk1M1pXSXRjR3hoZEdadmNtMHVkR1Z6ZElJV2IzQTVOeTUzWldJdGNHeGgNCitkR1p2
Y20wdWRHVnpkSUlXYjNBME1TNTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSVdiM0F6TWk1M1pXSXRj
R3hoDQorZEdadmNtMHVkR1Z6ZElJV2IzQTNNQzUzWldJdGNHeGhkR1p2Y20wdWRHVnpkSUlXYjNB
Mk1DNTNaV0l0Y0d4aA0KK2RHWnZjbTB1ZEdWemRJSVdiM0E1TWk1M1pXSXRjR3hoZEdadmNtMHVk
R1Z6ZElJV2IzQTNPQzUzWldJdGNHeGgNCitkR1p2Y20wdWRHVnpkSUlXYjNBNE9TNTNaV0l0Y0d4
aGRHWnZjbTB1ZEdWemRJSVdiM0F4TUM1M1pXSXRjR3hoDQorZEdadmNtMHVkR1Z6ZElJV2IzQTNO
eTUzWldJdGNHeGhkR1p2Y20wdWRHVnpkSUlXYjNBMU9TNTNaV0l0Y0d4aA0KK2RHWnZjbTB1ZEdW
emRJSVdiM0F4TlM1M1pXSXRjR3hoZEdadmNtMHVkR1Z6ZElJV2IzQTJOUzUzWldJdGNHeGgNCitk
R1p2Y20wdWRHVnpkSUlXYjNBMk9DNTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSVdiM0E1TUM1M1pX
SXRjR3hoDQorZEdadmNtMHVkR1Z6ZElJV2IzQTRNaTUzWldJdGNHeGhkR1p2Y20wdWRHVnpkSUla
YjNBMkxtNXZkQzEzWldJdA0KK2NHeGhkR1p2Y20wdWRHVnpkSUlaYjNBNExtNXZkQzEzWldJdGNH
eGhkR1p2Y20wdWRHVnpkSUlaYjNBNUxtNXYNCitkQzEzWldJdGNHeGhkR1p2Y20wdWRHVnpkSUla
YjNBMExtNXZkQzEzWldJdGNHeGhkR1p2Y20wdWRHVnpkSUlaDQorYjNBM0xtNXZkQzEzWldJdGNH
eGhkR1p2Y20wdWRHVnpkSUlaZDNkM0xuZDNkeTUzWldJdGNHeGhkR1p2Y20wdQ0KK2RHVnpkSUla
YjNBeUxtNXZkQzEzWldJdGNHeGhkR1p2Y20wdWRHVnpkSUlaYjNBeExtNXZkQzEzWldJdGNHeGgN
CitkR1p2Y20wdWRHVnpkSUlaZDNkM0xtNXZkQzEzWldJdGNHeGhkR1p2Y20wdWRHVnpkSUlaYjNB
MUxtNXZkQzEzDQorWldJdGNHeGhkR1p2Y20wdWRHVnpkSUlaYjNBekxtNXZkQzEzWldJdGNHeGhk
R1p2Y20wdWRHVnpkSUlhYjNBeQ0KK055NXViM1F0ZDJWaUxYQnNZWFJtYjNKdExuUmxjM1NDR205
d05EQXVibTkwTFhkbFlpMXdiR0YwWm05eWJTNTANCitaWE4wZ2hwdmNEUTFMbTV2ZEMxM1pXSXRj
R3hoZEdadmNtMHVkR1Z6ZElJYWIzQTVOaTV1YjNRdGQyVmlMWEJzDQorWVhSbWIzSnRMblJsYzNT
Q0dtOXdNamd1Ym05MExYZGxZaTF3YkdGMFptOXliUzUwWlhOMGdocHZjRGd6TG01dg0KK2RDMTNa
V0l0Y0d4aGRHWnZjbTB1ZEdWemRJSWFiM0F6TXk1dWIzUXRkMlZpTFhCc1lYUm1iM0p0TG5SbGMz
U0MNCitHbTl3TlRZdWJtOTBMWGRsWWkxd2JHRjBabTl5YlM1MFpYTjBnaHAzZDNjeExtNXZkQzEz
WldJdGNHeGhkR1p2DQorY20wdWRHVnpkSUlhYjNBMk1pNXViM1F0ZDJWaUxYQnNZWFJtYjNKdExu
UmxjM1NDR205d01UZ3VibTkwTFhkbA0KK1lpMXdiR0YwWm05eWJTNTBaWE4wZ2hwdmNEUTRMbTV2
ZEMxM1pXSXRjR3hoZEdadmNtMHVkR1Z6ZElJYWIzQTANCitNeTV1YjNRdGQyVmlMWEJzWVhSbWIz
SnRMblJsYzNTQ0dtOXdPRGt1Ym05MExYZGxZaTF3YkdGMFptOXliUzUwDQorWlhOMGdocHZjRFl3
TG01dmRDMTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSWFiM0E1TlM1dWIzUXRkMlZpTFhCcw0KK1lY
Um1iM0p0TG5SbGMzU0NHbTl3TnpNdWJtOTBMWGRsWWkxd2JHRjBabTl5YlM1MFpYTjBnaHB2Y0Rr
eExtNXYNCitkQzEzWldJdGNHeGhkR1p2Y20wdWRHVnpkSUlhYjNBME1pNXViM1F0ZDJWaUxYQnNZ
WFJtYjNKdExuUmxjM1NDDQorR205d01qWXVibTkwTFhkbFlpMXdiR0YwWm05eWJTNTBaWE4wZ2hw
dmNEWTVMbTV2ZEMxM1pXSXRjR3hoZEdadg0KK2NtMHVkR1Z6ZElJYWIzQXpNaTV1YjNRdGQyVmlM
WEJzWVhSbWIzSnRMblJsYzNTQ0dtOXdNemN1Ym05MExYZGwNCitZaTF3YkdGMFptOXliUzUwWlhO
MGdocHZjRGs0TG01dmRDMTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSWFiM0F4DQorT1M1dWIzUXRk
MlZpTFhCc1lYUm1iM0p0TG5SbGMzU0NHbTl3TnpZdWJtOTBMWGRsWWkxd2JHRjBabTl5YlM1MA0K
K1pYTjBnaHB2Y0RFekxtNXZkQzEzWldJdGNHeGhkR1p2Y20wdWRHVnpkSUlhYjNBM09TNXViM1F0
ZDJWaUxYQnMNCitZWFJtYjNKdExuUmxjM1NDR25kM2R6SXVkM2QzTG5kbFlpMXdiR0YwWm05eWJT
NTBaWE4wZ2hwdmNEZzJMbTV2DQorZEMxM1pXSXRjR3hoZEdadmNtMHVkR1Z6ZElJYWIzQTNOeTV1
YjNRdGQyVmlMWEJzWVhSbWIzSnRMblJsYzNTQw0KK0dtOXdNamt1Ym05MExYZGxZaTF3YkdGMFpt
OXliUzUwWlhOMGdocHZjRFUxTG01dmRDMTNaV0l0Y0d4aGRHWnYNCitjbTB1ZEdWemRJSWFiM0E1
TWk1dWIzUXRkMlZpTFhCc1lYUm1iM0p0TG5SbGMzU0NHbTl3TkRRdWJtOTBMWGRsDQorWWkxd2JH
RjBabTl5YlM1MFpYTjBnaHB2Y0RVMExtNXZkQzEzWldJdGNHeGhkR1p2Y20wdWRHVnpkSUlhYjNB
NQ0KK05DNXViM1F0ZDJWaUxYQnNZWFJtYjNKdExuUmxjM1NDR205d016UXVibTkwTFhkbFlpMXdi
R0YwWm05eWJTNTANCitaWE4wZ2hwdmNETXdMbTV2ZEMxM1pXSXRjR3hoZEdadmNtMHVkR1Z6ZElJ
YWQzZDNNUzUzZDNjdWQyVmlMWEJzDQorWVhSbWIzSnRMblJsYzNTQ0dtOXdNalV1Ym05MExYZGxZ
aTF3YkdGMFptOXliUzUwWlhOMGdocHZjRFkwTG01dg0KK2RDMTNaV0l0Y0d4aGRHWnZjbTB1ZEdW
emRJSWFiM0F5TUM1dWIzUXRkMlZpTFhCc1lYUm1iM0p0TG5SbGMzU0MNCitHbTl3TlRFdWJtOTBM
WGRsWWkxd2JHRjBabTl5YlM1MFpYTjBnaHB2Y0RReExtNXZkQzEzWldJdGNHeGhkR1p2DQorY20w
dWRHVnpkSUlhYjNBeE1pNXViM1F0ZDJWaUxYQnNZWFJtYjNKdExuUmxjM1NDR205d01UQXVibTkw
TFhkbA0KK1lpMXdiR0YwWm05eWJTNTBaWE4wZ2hwdmNEY3lMbTV2ZEMxM1pXSXRjR3hoZEdadmNt
MHVkR1Z6ZElJYWIzQXkNCitNaTV1YjNRdGQyVmlMWEJzWVhSbWIzSnRMblJsYzNTQ0dtOXdOVEl1
Ym05MExYZGxZaTF3YkdGMFptOXliUzUwDQorWlhOMGdocHZjRGMwTG01dmRDMTNaV0l0Y0d4aGRH
WnZjbTB1ZEdWemRJSWFiM0EyTnk1dWIzUXRkMlZpTFhCcw0KK1lYUm1iM0p0TG5SbGMzU0NHbTl3
T0RBdWJtOTBMWGRsWWkxd2JHRjBabTl5YlM1MFpYTjBnaHB2Y0RnMExtNXYNCitkQzEzWldJdGNH
eGhkR1p2Y20wdWRHVnpkSUlhYjNBek1TNXViM1F0ZDJWaUxYQnNZWFJtYjNKdExuUmxjM1NDDQor
R205d05UTXVibTkwTFhkbFlpMXdiR0YwWm05eWJTNTBaWE4wZ2hwdmNESXpMbTV2ZEMxM1pXSXRj
R3hoZEdadg0KK2NtMHVkR1Z6ZElJYWIzQXpOUzV1YjNRdGQyVmlMWEJzWVhSbWIzSnRMblJsYzNT
Q0dtOXdNVFl1Ym05MExYZGwNCitZaTF3YkdGMFptOXliUzUwWlhOMGdocHZjRFl6TG01dmRDMTNa
V0l0Y0d4aGRHWnZjbTB1ZEdWemRJSWFiM0F6DQorT0M1dWIzUXRkMlZpTFhCc1lYUm1iM0p0TG5S
bGMzU0NHbTl3TlRndWJtOTBMWGRsWWkxd2JHRjBabTl5YlM1MA0KK1pYTjBnaHB2Y0RZeExtNXZk
QzEzWldJdGNHeGhkR1p2Y20wdWRHVnpkSUlhYjNBeE5DNXViM1F0ZDJWaUxYQnMNCitZWFJtYjNK
dExuUmxjM1NDR205d09UQXVibTkwTFhkbFlpMXdiR0YwWm05eWJTNTBaWE4wZ2hwdmNEY3dMbTV2
DQorZEMxM1pXSXRjR3hoZEdadmNtMHVkR1Z6ZElJYWIzQXhNUzV1YjNRdGQyVmlMWEJzWVhSbWIz
SnRMblJsYzNTQw0KK0dtOXdNVFV1Ym05MExYZGxZaTF3YkdGMFptOXliUzUwWlhOMGdocHZjRFkx
TG01dmRDMTNaV0l0Y0d4aGRHWnYNCitjbTB1ZEdWemRJSWFiM0ExTUM1dWIzUXRkMlZpTFhCc1lY
Um1iM0p0TG5SbGMzU0NHbTl3TmpndWJtOTBMWGRsDQorWWkxd2JHRjBabTl5YlM1MFpYTjBnaHB2
Y0RnM0xtNXZkQzEzWldJdGNHeGhkR1p2Y20wdWRHVnpkSUlhYjNBMw0KK09DNXViM1F0ZDJWaUxY
QnNZWFJtYjNKdExuUmxjM1NDR25kM2R5NTNkM2N5TG5kbFlpMXdiR0YwWm05eWJTNTANCitaWE4w
Z2hwdmNEZ3lMbTV2ZEMxM1pXSXRjR3hoZEdadmNtMHVkR1Z6ZElJYWIzQTVNeTV1YjNRdGQyVmlM
WEJzDQorWVhSbWIzSnRMblJsYzNTQ0duZDNkeTUzZDNjeExuZGxZaTF3YkdGMFptOXliUzUwWlhO
MGdocHZjREl4TG01dg0KK2RDMTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSWFiM0EzTVM1dWIzUXRk
MlZpTFhCc1lYUm1iM0p0TG5SbGMzU0MNCitHbTl3T1RjdWJtOTBMWGRsWWkxd2JHRjBabTl5YlM1
MFpYTjBnaHB2Y0RnNExtNXZkQzEzWldJdGNHeGhkR1p2DQorY20wdWRHVnpkSUlhYjNBeU5DNXVi
M1F0ZDJWaUxYQnNZWFJtYjNKdExuUmxjM1NDR205d05qWXVibTkwTFhkbA0KK1lpMXdiR0YwWm05
eWJTNTBaWE4wZ2hwdmNEUTVMbTV2ZEMxM1pXSXRjR3hoZEdadmNtMHVkR1Z6ZElJYWIzQTENCitP
UzV1YjNRdGQyVmlMWEJzWVhSbWIzSnRMblJsYzNTQ0dtOXdORFl1Ym05MExYZGxZaTF3YkdGMFpt
OXliUzUwDQorWlhOMGdocHZjRE0yTG01dmRDMTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSWFiM0F6
T1M1dWIzUXRkMlZpTFhCcw0KK1lYUm1iM0p0TG5SbGMzU0NHbTl3TkRjdWJtOTBMWGRsWWkxd2JH
RjBabTl5YlM1MFpYTjBnaHB2Y0RFM0xtNXYNCitkQzEzWldJdGNHeGhkR1p2Y20wdWRHVnpkSUlh
YjNBM05TNXViM1F0ZDJWaUxYQnNZWFJtYjNKdExuUmxjM1NDDQorR205d09EVXVibTkwTFhkbFlp
MXdiR0YwWm05eWJTNTBaWE4wZ2hwdmNEVTNMbTV2ZEMxM1pXSXRjR3hoZEdadg0KK2NtMHVkR1Z6
ZElJYWQzZDNNaTV1YjNRdGQyVmlMWEJzWVhSbWIzSnRMblJsYzNTQ0dtOXdPREV1Ym05MExYZGwN
CitZaTF3YkdGMFptOXliUzUwWlhOMGdodDNkM2N5TG5kM2R6RXVkMlZpTFhCc1lYUm1iM0p0TG5S
bGMzU0NHM2QzDQorZHpFdWQzZDNNaTUzWldJdGNHeGhkR1p2Y20wdWRHVnpkSUliZDNkM01pNTNk
M2N5TG5kbFlpMXdiR0YwWm05eQ0KK2JTNTBaWE4wZ2h0M2QzY3hMbmQzZHpFdWQyVmlMWEJzWVhS
bWIzSnRMblJsYzNTQ0hYZDNkeTUzZDNjdWJtOTANCitMWGRsWWkxd2JHRjBabTl5YlM1MFpYTjBn
aDUzZDNjeUxuZDNkeTV1YjNRdGQyVmlMWEJzWVhSbWIzSnRMblJsDQorYzNTQ0huaHVMUzFzZG1V
dE5teGhaQzUzWldJdGNHeGhkR1p2Y20wdWRHVnpkSUllZDNkM01TNTNkM2N1Ym05MA0KK0xYZGxZ
aTF3YkdGMFptOXliUzUwWlhOMGdoNTNkM2N1ZDNkM01TNXViM1F0ZDJWaUxYQnNZWFJtYjNKdExu
UmwNCitjM1NDSG5kM2R5NTNkM2N5TG01dmRDMTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSWZkM2Qz
TVM1M2QzY3lMbTV2DQorZEMxM1pXSXRjR3hoZEdadmNtMHVkR1Z6ZElJZmQzZDNNUzUzZDNjeExt
NXZkQzEzWldJdGNHeGhkR1p2Y20wdQ0KK2RHVnpkSUlmZDNkM01pNTNkM2N4TG01dmRDMTNaV0l0
Y0d4aGRHWnZjbTB1ZEdWemRJSWZkM2QzTWk1M2QzY3kNCitMbTV2ZEMxM1pXSXRjR3hoZEdadmNt
MHVkR1Z6ZElJaWVHNHRMV3gyWlMwMmJHRmtMbmQzZHk1M1pXSXRjR3hoDQorZEdadmNtMHVkR1Z6
ZElJaWVHNHRMV3gyWlMwMmJHRmtMbTV2ZEMxM1pXSXRjR3hoZEdadmNtMHVkR1Z6ZElJaQ0KK2Qz
ZDNMbmh1TFMxc2RtVXRObXhoWkM1M1pXSXRjR3hoZEdadmNtMHVkR1Z6ZElJamQzZDNNUzU0Ymkw
dGJIWmwNCitMVFpzWVdRdWQyVmlMWEJzWVhSbWIzSnRMblJsYzNTQ0kzZDNkekl1ZUc0dExXeDJa
UzAyYkdGa0xuZGxZaTF3DQorYkdGMFptOXliUzUwWlhOMGdpTjRiaTB0YkhabExUWnNZV1F1ZDNk
M01pNTNaV0l0Y0d4aGRHWnZjbTB1ZEdWeg0KK2RJSWplRzR0TFd4MlpTMDJiR0ZrTG5kM2R6RXVk
MlZpTFhCc1lYUm1iM0p0TG5SbGMzU0NKbmQzZHk1NGJpMHQNCitiSFpsTFRac1lXUXVibTkwTFhk
bFlpMXdiR0YwWm05eWJTNTBaWE4wZ2laNGJpMHRiSFpsTFRac1lXUXVkM2QzDQorTG01dmRDMTNa
V0l0Y0d4aGRHWnZjbTB1ZEdWemRJSW5kM2QzTVM1NGJpMHRiSFpsTFRac1lXUXVibTkwTFhkbA0K
K1lpMXdiR0YwWm05eWJTNTBaWE4wZ2lkM2QzY3lMbmh1TFMxc2RtVXRObXhoWkM1dWIzUXRkMlZp
TFhCc1lYUm0NCitiM0p0TG5SbGMzU0NKM2h1TFMxc2RtVXRObXhoWkM1M2QzY3hMbTV2ZEMxM1pX
SXRjR3hoZEdadmNtMHVkR1Z6DQorZElJbmVHNHRMV3gyWlMwMmJHRmtMbmQzZHpJdWJtOTBMWGRs
WWkxd2JHRjBabTl5YlM1MFpYTjBnaWw0YmkwdA0KK2JqaHFObVJ6TlROc2QzZHJjbkZvZGpJNFlT
NTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSXJlRzR0TFd4MlpTMDINCitiR0ZrTG5odUxTMXNkbVV0
Tm14aFpDNTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSXRlRzR0TFc0NGFqWmtjelV6DQorYkhkM2Ez
SnhhSFl5T0dFdWJtOTBMWGRsWWkxd2JHRjBabTl5YlM1MFpYTjBnaTE0YmkwdGJqaHFObVJ6TlRO
cw0KK2QzZHJjbkZvZGpJNFlTNTNkM2N1ZDJWaUxYQnNZWFJtYjNKdExuUmxjM1NDTFhkM2R5NTRi
aTB0YmpocU5tUnoNCitOVE5zZDNkcmNuRm9kakk0WVM1M1pXSXRjR3hoZEdadmNtMHVkR1Z6ZElJ
dWQzZDNNaTU0YmkwdGJqaHFObVJ6DQorTlROc2QzZHJjbkZvZGpJNFlTNTNaV0l0Y0d4aGRHWnZj
bTB1ZEdWemRJSXVkM2QzTVM1NGJpMHRiamhxTm1Seg0KK05UTnNkM2RyY25Gb2RqSTRZUzUzWldJ
dGNHeGhkR1p2Y20wdWRHVnpkSUl1ZUc0dExXNDRhalprY3pVemJIZDMNCithM0p4YUhZeU9HRXVk
M2QzTVM1M1pXSXRjR3hoZEdadmNtMHVkR1Z6ZElJdWVHNHRMVzQ0YWpaa2N6VXpiSGQzDQorYTNK
eGFIWXlPR0V1ZDNkM01pNTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSXZlRzR0TFd4MlpTMDJiR0Zr
TG5odQ0KK0xTMXNkbVV0Tm14aFpDNXViM1F0ZDJWaUxYQnNZWFJtYjNKdExuUmxjM1NDTVhodUxT
MXVPR28yWkhNMU0yeDMNCitkMnR5Y1doMk1qaGhMbmQzZHk1dWIzUXRkMlZpTFhCc1lYUm1iM0p0
TG5SbGMzU0NNWGQzZHk1NGJpMHRiamhxDQorTm1Sek5UTnNkM2RyY25Gb2RqSTRZUzV1YjNRdGQy
VmlMWEJzWVhSbWIzSnRMblJsYzNTQ01uZDNkekV1ZUc0dA0KK0xXNDRhalprY3pVemJIZDNhM0p4
YUhZeU9HRXVibTkwTFhkbFlpMXdiR0YwWm05eWJTNTBaWE4wZ2pKNGJpMHQNCitiamhxTm1Sek5U
TnNkM2RyY25Gb2RqSTRZUzUzZDNjeExtNXZkQzEzWldJdGNHeGhkR1p2Y20wdWRHVnpkSUl5DQor
ZDNkM01pNTRiaTB0YmpocU5tUnpOVE5zZDNkcmNuRm9kakk0WVM1dWIzUXRkMlZpTFhCc1lYUm1i
M0p0TG5SbA0KK2MzU0NNbmh1TFMxdU9HbzJaSE0xTTJ4M2QydHljV2gyTWpoaExuZDNkekl1Ym05
MExYZGxZaTF3YkdGMFptOXkNCitiUzUwWlhOMGdqWjRiaTB0YmpocU5tUnpOVE5zZDNkcmNuRm9k
akk0WVM1NGJpMHRiSFpsTFRac1lXUXVkMlZpDQorTFhCc1lYUm1iM0p0TG5SbGMzU0NObmh1TFMx
c2RtVXRObXhoWkM1NGJpMHRiamhxTm1Sek5UTnNkM2RyY25Gbw0KK2RqSTRZUzUzWldJdGNHeGhk
R1p2Y20wdWRHVnpkSUk2ZUc0dExXeDJaUzAyYkdGa0xuaHVMUzF1T0dvMlpITTENCitNMngzZDJ0
eWNXaDJNamhoTG01dmRDMTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSTZlRzR0TFc0NGFqWmtjelV6
DQorYkhkM2EzSnhhSFl5T0dFdWVHNHRMV3gyWlMwMmJHRmtMbTV2ZEMxM1pXSXRjR3hoZEdadmNt
MHVkR1Z6ZElKQg0KK2VHNHRMVzQ0YWpaa2N6VXpiSGQzYTNKeGFIWXlPR0V1ZUc0dExXNDRhalpr
Y3pVemJIZDNhM0p4YUhZeU9HRXUNCitkMlZpTFhCc1lYUm1iM0p0TG5SbGMzU0NSWGh1TFMxdU9H
bzJaSE0xTTJ4M2QydHljV2gyTWpoaExuaHVMUzF1DQorT0dvMlpITTFNMngzZDJ0eWNXaDJNamho
TG01dmRDMTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemREQU5CZ2txaGtpRw0KKzl3MEJBUXNGQUFPQ0FR
RUFpYVJFUSs4UHBqWnlNWWRFZFlhMlcxZ3N5eHdLTGpVeWc0QndjQnkzU3RGRlJIakUNCitGOWgz
TkU1QzBuSWkvZzBLcnJnR2xOQnRlaUhZcElNekY5TUVxSk52WnZBekdRVUh0VFdES0ttUGhSZ2Fo
dC9vDQordm8zUGFpVEJDQ2JkQXBnY0FkaUJTdVFnRkJsODc1RzFQdHBhOWhSRkdIMUZTeWgyTTFq
RmpNa3Q3NGtSY0gzcg0KK1I1NFNzSUVaeUFmWnpJZnhHLzd3ajdMRDhkcndWZVZLbS84TkFWOWxs
UWVTeG50emxWbXFhOGFjQVU2aUsrcDMNCisxUFNyMXVXVTY0RTNWWnlRUDNNakhZVENna0pXbWhO
cE0waldEUTVZZ3F5UTc3T2diTjU1OWhmRjhCN3pOM1FCDQorOEVlY2Q1eW5yK0JneXRjQzNWQklh
YkViZzRkYWZIUkUyc1hldUE9PQ0KKy0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0NCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2Np
L2F6dXJlL2FmZmVjdGVkX3Rlc3RzLnltbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvY2kvYXp1cmUvYWZmZWN0ZWRfdGVzdHMueW1sCmluZGV4IDc4
MTFiYTk1OTE3YmIzY2M2YjVkMzJlY2JlOWU4OTUyOTc2MWFkYzMuLjQ5NGZmMWVmYTE5Y2MwMjEz
MzM3MDk0ODM4M2U1ZmIyMjE0NGQ0ZmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvY2kvYXp1cmUvYWZmZWN0ZWRfdGVzdHMueW1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
Y2kvYXp1cmUvYWZmZWN0ZWRfdGVzdHMueW1sCkBAIC0xNSw3ICsxNSw3IEBAIHN0ZXBzOgogLSB0
ZW1wbGF0ZTogaW5zdGFsbF9zYWZhcmkueW1sCiAtIHRlbXBsYXRlOiB1cGRhdGVfaG9zdHMueW1s
CiAtIHRlbXBsYXRlOiB1cGRhdGVfbWFuaWZlc3QueW1sCi0tIHNjcmlwdDogbm9fcHJveHk9Jyon
IC4vd3B0IHJ1biAtLXllcyAtLW5vLXBhdXNlIC0tbm8tZmFpbC1vbi11bmV4cGVjdGVkIC0tbm8t
cmVzdGFydC1vbi11bmV4cGVjdGVkIC0tYWZmZWN0ZWQgJHt7IHBhcmFtZXRlcnMuYWZmZWN0ZWRS
YW5nZSB9fSAtLWxvZy13cHRyZXBvcnQgJChCdWlsZC5BcnRpZmFjdFN0YWdpbmdEaXJlY3Rvcnkp
L3dwdF9yZXBvcnQuanNvbiAtLWxvZy13cHRzY3JlZW5zaG90ICQoQnVpbGQuQXJ0aWZhY3RTdGFn
aW5nRGlyZWN0b3J5KS93cHRfc2NyZWVuc2hvdC50eHQgLS1jaGFubmVsIHByZXZpZXcgc2FmYXJp
CistIHNjcmlwdDogLi93cHQgcnVuIC0teWVzIC0tbm8tcGF1c2UgLS1uby1mYWlsLW9uLXVuZXhw
ZWN0ZWQgLS1uby1yZXN0YXJ0LW9uLXVuZXhwZWN0ZWQgLS1hZmZlY3RlZCAke3sgcGFyYW1ldGVy
cy5hZmZlY3RlZFJhbmdlIH19IC0tbG9nLXdwdHJlcG9ydCAkKEJ1aWxkLkFydGlmYWN0U3RhZ2lu
Z0RpcmVjdG9yeSkvd3B0X3JlcG9ydC5qc29uIC0tbG9nLXdwdHNjcmVlbnNob3QgJChCdWlsZC5B
cnRpZmFjdFN0YWdpbmdEaXJlY3RvcnkpL3dwdF9zY3JlZW5zaG90LnR4dCAtLWNoYW5uZWwgcHJl
dmlldyBzYWZhcmkKICAgZGlzcGxheU5hbWU6ICdSdW4gdGVzdHMnCiAtIHRhc2s6IFB1Ymxpc2hC
dWlsZEFydGlmYWN0c0AxCiAgIGRpc3BsYXlOYW1lOiAnUHVibGlzaCByZXN1bHRzJwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9j
aS9henVyZS9jb20uYXBwbGUuU2FmYXJpLnBsaXN0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9jaS9henVyZS9jb20uYXBwbGUuU2FmYXJpLnBsaXN0
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMjIwODA5NzJjOWY2MzQxMDA2MmVlOGQz
M2QwZWQwMjg2YWY4ZjExLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
Y2kvYXp1cmUvY29tLmFwcGxlLlNhZmFyaS5wbGlzdAorKysgL2Rldi9udWxsCkBAIC0xLDggKzAs
MCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBw
bGlzdCBQVUJMSUMgIi0vL0FwcGxlLy9EVEQgUExJU1QgMS4wLy9FTiIgImh0dHA6Ly93d3cuYXBw
bGUuY29tL0RURHMvUHJvcGVydHlMaXN0LTEuMC5kdGQiPgotPHBsaXN0IHZlcnNpb249IjEuMCI+
Ci08ZGljdD4KLQk8a2V5PkFsbG93UmVtb3RlQXV0b21hdGlvbjwva2V5PgotCTx0cnVlLz4KLTwv
ZGljdD4KLTwvcGxpc3Q+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2NpL2F6dXJlL2luc3RhbGxfY2hyb21lLnltbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvY2kvYXp1cmUvaW5z
dGFsbF9jaHJvbWUueW1sCmluZGV4IDZiZDVjMjMzNGFkNGUzZTRkNWQ2ZmFhZjgwMDVmNGUwYjQ0
Y2YxZmUuLmZkNjUwZTgwYWFhZDMwOWM4ZTk4MzI3NGQyYjgyM2JiYTkxYjFmYjEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvY2kv
YXp1cmUvaW5zdGFsbF9jaHJvbWUueW1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvY2kvYXp1cmUvaW5zdGFsbF9jaHJvbWUueW1sCkBAIC0x
LDYgKzEsOSBAQAogc3RlcHM6Ci0jIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgSG9tZWJyZXcvaG9t
ZWJyZXctY2Fzay12ZXJzaW9ucy9nb29nbGUtY2hyb21lLWRldmAsCi0jIGJ1dCB0aGUgcmF3IFVS
TCBpcyB1c2VkIHRvIGJ5cGFzcyBjYWNoaW5nLgotLSBzY3JpcHQ6IEhPTUVCUkVXX05PX0FVVE9f
VVBEQVRFPTEgYnJldyBjYXNrIGluc3RhbGwgaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQu
Y29tL0hvbWVicmV3L2hvbWVicmV3LWNhc2stdmVyc2lvbnMvbWFzdGVyL0Nhc2tzL2dvb2dsZS1j
aHJvbWUtZGV2LnJiCisjIFRoZSBjb25mbGljdGluZyBnb29nbGUtY2hyb21lIGFuZCBjaHJvbWVk
cml2ZXIgY2Fza3MgYXJlIGZpcnN0IHVuaW5zdGFsbGVkLgorIyBUaGUgcmF3IGdvb2dsZS1jaHJv
bWUtZGV2IGNhc2sgVVJMIGlzIHVzZWQgdG8gYnlwYXNzIGNhY2hpbmcuCistIHNjcmlwdDogfAor
ICAgIEhPTUVCUkVXX05PX0FVVE9fVVBEQVRFPTEgYnJldyBjYXNrIHVuaW5zdGFsbCBnb29nbGUt
Y2hyb21lIHx8IHRydWUKKyAgICBIT01FQlJFV19OT19BVVRPX1VQREFURT0xIGJyZXcgY2FzayB1
bmluc3RhbGwgY2hyb21lZHJpdmVyIHx8IHRydWUKKyAgICBIT01FQlJFV19OT19BVVRPX1VQREFU
RT0xIGJyZXcgY2FzayBpbnN0YWxsIGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9I
b21lYnJldy9ob21lYnJldy1jYXNrLXZlcnNpb25zL21hc3Rlci9DYXNrcy9nb29nbGUtY2hyb21l
LWRldi5yYgogICBkaXNwbGF5TmFtZTogJ0luc3RhbGwgQ2hyb21lIERldicKICAgY29uZGl0aW9u
OiBhbmQoc3VjY2VlZGVkKCksIGVxKHZhcmlhYmxlc1snQWdlbnQuT1MnXSwgJ0RhcndpbicpKQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy9jaS9henVyZS9pbnN0YWxsX2VkZ2UueW1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9jaS9henVyZS9pbnN0YWxsX2VkZ2UueW1sCmluZGV4
IGU0YzQyNWFiN2EwZjAzMjE4ZDkyMmU3MzEwZWE5ZDhmZGUwZjUxYWEuLjI5N2I2ZTYwYjI5ZjNh
OWJiZDAwYjNlZTAwYjcwNTYzNTEzOGYyY2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvY2kvYXp1cmUvaW5zdGFsbF9lZGdlLnlt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L2NpL2F6dXJlL2luc3RhbGxfZWRnZS55bWwKQEAgLTQsNiArNCwyNiBAQCBwYXJhbWV0ZXJzOgog
IyBTaG91bGQgbWF0Y2ggaHR0cHM6Ly93ZWItcGxhdGZvcm0tdGVzdHMub3JnL3J1bm5pbmctdGVz
dHMvY2hyb21lLmh0bWwKICMgSnVzdCByZXBsYWNlIGNocm9tZSB3aXRoIGVkZ2VjaHJvbWl1bQog
c3RlcHM6CistICR7eyBpZiBlcShwYXJhbWV0ZXJzLmNoYW5uZWwsICdzdGFibGUnKSB9fToKKyAg
LSBwb3dlcnNoZWxsOiB8CisgICAgICAkZWRnZUluc3RhbGxlck5hbWUgPSAnTWljcm9zb2Z0RWRn
ZVNldHVwLmV4ZScKKyAgICAgICMgTGluayB0byBTdGFibGUgY2hhbm5lbCBpbnN0YWxsZXIKKyAg
ICAgIFN0YXJ0LUJpdHNUcmFuc2ZlciAtU291cmNlICdodHRwczovL2dvLm1pY3Jvc29mdC5jb20v
ZndsaW5rLz9saW5raWQ9MjEwODgzNCZDaGFubmVsPVN0YWJsZSZsYW5ndWFnZT1lbicgLURlc3Rp
bmF0aW9uIE1pY3Jvc29mdEVkZ2VTZXR1cC5leGUKKyAgICAgIGlmICgtbm90IChUZXN0LVBhdGgg
JGVkZ2VJbnN0YWxsZXJOYW1lKSkgeworICAgICAgICBUaHJvdyAiRmFpbGVkIHRvIGRvd25sb2Fk
IEVkZ2UgaW5zdGFsbGVyIHRvICRlZGdlSW5zdGFsbGVyTmFtZS4iCisgICAgICB9CisgICAgICBj
bWQgL2MgU1RBUlQgL1dBSVQgJGVkZ2VJbnN0YWxsZXJOYW1lIC9zaWxlbnQgL2luc3RhbGwKKyAg
ICAgICRlZGdlUGF0aCA9ICIkZW52OnN5c3RlbWRyaXZlXFByb2dyYW0gRmlsZXMgKHg4NilcTWlj
cm9zb2Z0XEVkZ2VcQXBwbGljYXRpb24iCisgICAgICBpZiAoVGVzdC1QYXRoICRlZGdlUGF0aCkg
eworICAgICAgICBXcml0ZS1Ib3N0ICIjI3Zzb1t0YXNrLnByZXBlbmRwYXRoXSRlZGdlUGF0aCIK
KyAgICAgICAgV3JpdGUtSG9zdCAiRWRnZSBTdGFibGUgaW5zdGFsbGVkIGF0ICRlZGdlUGF0aC4i
CisgICAgICAgIChHZXQtSXRlbSAtUGF0aCAiJGVkZ2VQYXRoXG1zZWRnZS5leGUiKS5WZXJzaW9u
SW5mbyB8IEZvcm1hdC1MaXN0CisgICAgICB9IGVsc2UgeworICAgICAgICBDb3B5LUl0ZW0gLVBh
dGggIiRlbnY6dGVtcFwqZWRnZSoubG9nIiAtRGVzdGluYXRpb24gJChCdWlsZC5BcnRpZmFjdFN0
YWdpbmdEaXJlY3RvcnkpICAtRm9yY2UKKyAgICAgICAgVGhyb3cgIkZhaWxlZCB0byBpbnN0YWxs
IEVkZ2UgYXQgJGVkZ2VQYXRoIgorICAgICAgfQorICAgIGRpc3BsYXlOYW1lOiAnSW5zdGFsbCBF
ZGdlIFN0YWJsZScKKwogLSAke3sgaWYgZXEocGFyYW1ldGVycy5jaGFubmVsLCAnY2FuYXJ5Jykg
fX06CiAgIC0gcG93ZXJzaGVsbDogfAogICAgICAgJGVkZ2VJbnN0YWxsZXJOYW1lID0gJ01pY3Jv
c29mdEVkZ2VTZXR1cC5leGUnCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2NpL2F6dXJlL2luc3RhbGxfc2FmYXJpLnltbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvY2kvYXp1cmUv
aW5zdGFsbF9zYWZhcmkueW1sCmluZGV4IGE4NjQxNDY1YWM4ZWFlNzAwODZiZDBjZWQ0YTgwZDNh
MmRhMzUxMTMuLmQwNjYwZDE1MmJiZGZjODlmMzA4YmZjMDQ4Y2QyMjIxZTllYTc1MjQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
Y2kvYXp1cmUvaW5zdGFsbF9zYWZhcmkueW1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvY2kvYXp1cmUvaW5zdGFsbF9zYWZhcmkueW1sCkBA
IC0zLDYgKzMsOSBAQCBwYXJhbWV0ZXJzOgogCiAjIFNob3VsZCBtYXRjaCBodHRwczovL3dlYi1w
bGF0Zm9ybS10ZXN0cy5vcmcvcnVubmluZy10ZXN0cy9zYWZhcmkuaHRtbAogc3RlcHM6CistIHNj
cmlwdDogZGVmYXVsdHMgd3JpdGUgY29tLmFwcGxlLldlYkRyaXZlciBEaWFnbm9zdGljc0VuYWJs
ZWQgMQorICBkaXNwbGF5TmFtZTogJ0VuYWJsZSBzYWZhcmlkcml2ZXIgZGlhZ25vc3RpY3MnCisg
IGNvbmRpdGlvbjogZXEodmFyaWFibGVzWydzYWZhcmlkcml2ZXJfZGlhZ25vc2UnXSwgdHJ1ZSkK
IC0gJHt7IGlmIGVxKHBhcmFtZXRlcnMuY2hhbm5lbCwgJ3ByZXZpZXcnKSB9fToKICAgLSBzY3Jp
cHQ6IHwKICAgICAgIEhPTUVCUkVXX05PX0FVVE9fVVBEQVRFPTEgYnJldyBjYXNrIGluc3RhbGwg
dG9vbHMvY2kvYXp1cmUvc2FmYXJpLXRlY2hub2xvZ3ktcHJldmlldy5yYgpAQCAtMTIsOSArMTUs
NiBAQCBzdGVwczoKICAgICBkaXNwbGF5TmFtZTogJ0luc3RhbGwgU2FmYXJpIFRlY2hub2xvZ3kg
UHJldmlldycKIC0gJHt7IGlmIGVxKHBhcmFtZXRlcnMuY2hhbm5lbCwgJ3N0YWJsZScpIH19Ogog
ICAtIHNjcmlwdDogfAotICAgICAgIyBXb3JrYXJvdW5kIGZvciBgc3VkbyBzYWZhcmRyaXZlciAt
LWVuYWJsZWAgbm90IHdvcmtpbmc6Ci0gICAgICAjIGh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxh
dGZvcm0tdGVzdHMvd3B0L2lzc3Vlcy8xOTg0NQotICAgICAgbWtkaXIgLXAgfi9MaWJyYXJ5L1dl
YkRyaXZlci8KLSAgICAgIGNwIHRvb2xzL2NpL2F6dXJlL2NvbS5hcHBsZS5TYWZhcmkucGxpc3Qg
fi9MaWJyYXJ5L1dlYkRyaXZlci8KKyAgICAgIHN1ZG8gc2FmYXJpZHJpdmVyIC0tZW5hYmxlCiAg
ICAgICBkZWZhdWx0cyB3cml0ZSBjb20uYXBwbGUuU2FmYXJpIFdlYktpdEphdmFTY3JpcHRDYW5P
cGVuV2luZG93c0F1dG9tYXRpY2FsbHkgMQogICAgIGRpc3BsYXlOYW1lOiAnQ29uZmlndXJlIFNh
ZmFyaScKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvY2kvYXp1cmUvcGlwX2luc3RhbGwueW1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9jaS9henVyZS9waXBfaW5zdGFsbC55bWwK
aW5kZXggYzg3OTUzNDVmNmJjZjRhOTQzZTA3YTQ1OTk0N2U3MThhZDZhMGFmYy4uMThkMTg3OWU5
NzE2MTM1MzJmYWM1NjczZDlhODA0YWNjMWJjODY3MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9jaS9henVyZS9waXBfaW5zdGFs
bC55bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy9jaS9henVyZS9waXBfaW5zdGFsbC55bWwKQEAgLTIsMTQgKzIsNSBAQCBwYXJhbWV0ZXJz
OgogICBwYWNrYWdlczogJycKIAogc3RlcHM6Ci0tIHNjcmlwdDogfAotICAgICMgYHN1ZG8gcGlw
IGluc3RhbGxgIGlzIG5vdCB1c2VkIGJlY2F1c2Ugc29tZSBwYWNrYWdlcyAoZS5nLiB0b3gpIGRl
cGVuZCBvbgotICAgICMgc3lzdGVtIHBhY2thZ2VzIChlLmcuIHNldHVwdG9vbHMpIHdoaWNoIGNh
bm5vdCBiZSB1cGdyYWRlZCBkdWUgdG8gU3lzdGVtCi0gICAgIyBJbnRlZ3JpdHkgUHJvdGVjdGlv
biwgc2VlIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8zMzAwNDkyMC4KLSAgICBwaXAgaW5z
dGFsbCAtLXVzZXIgJHt7IHBhcmFtZXRlcnMucGFja2FnZXMgfX0KLSAgICBlY2hvICIjI3Zzb1t0
YXNrLnByZXBlbmRwYXRoXSRIT01FL0xpYnJhcnkvUHl0aG9uLzIuNy9iaW4iCi0gIGRpc3BsYXlO
YW1lOiAnSW5zdGFsbCBQeXRob24gcGFja2FnZXMgKG1hY09TKScKLSAgY29uZGl0aW9uOiBhbmQo
c3VjY2VlZGVkKCksIGVxKHZhcmlhYmxlc1snQWdlbnQuT1MnXSwgJ0RhcndpbicpKQogLSBzY3Jp
cHQ6IHBpcCAtLWRpc2FibGUtcGlwLXZlcnNpb24tY2hlY2sgaW5zdGFsbCAtLXVwZ3JhZGUgJHt7
IHBhcmFtZXRlcnMucGFja2FnZXMgfX0KLSAgZGlzcGxheU5hbWU6ICdJbnN0YWxsIFB5dGhvbiBw
YWNrYWdlcyAoV2luZG93cyknCi0gIGNvbmRpdGlvbjogYW5kKHN1Y2NlZWRlZCgpLCBlcSh2YXJp
YWJsZXNbJ0FnZW50Lk9TJ10sICdXaW5kb3dzX05UJykpCisgIGRpc3BsYXlOYW1lOiAnSW5zdGFs
bCBQeXRob24gcGFja2FnZXMnCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2NpL2F6dXJlL3B1Ymxpc2hfbG9ncy55bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2NpL2F6dXJlL3B1
Ymxpc2hfbG9ncy55bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTQ5Mzk3YTkxYWQ3Y2E0MjQ4NjRjNTMyNmI1ZmU3
YjRhMzY4NWE0MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvY2kvYXp1cmUvcHVibGlzaF9sb2dzLnltbApAQCAtMCww
ICsxLDcgQEAKK3N0ZXBzOgorLSB0YXNrOiBQdWJsaXNoQnVpbGRBcnRpZmFjdHNAMQorICBkaXNw
bGF5TmFtZTogJ1B1Ymxpc2ggc2FmYXJpZHJpdmVyIGxvZ3MnCisgIGlucHV0czoKKyAgICBwYXRo
dG9QdWJsaXNoOiAvVXNlcnMvcnVubmVyL0xpYnJhcnkvTG9ncy9jb20uYXBwbGUuV2ViRHJpdmVy
LworICAgIGFydGlmYWN0TmFtZTogc2FmYXJpZHJpdmVyLWxvZ3MKKyAgY29uZGl0aW9uOiBlcSh2
YXJpYWJsZXNbJ3NhZmFyaWRyaXZlcl9kaWFnbm9zZSddLCB0cnVlKQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9jaS9henVyZS9z
YWZhcmktdGVjaG5vbG9neS1wcmV2aWV3LnJiIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9jaS9henVyZS9zYWZhcmktdGVjaG5vbG9neS1wcmV2aWV3
LnJiCmluZGV4IGIzMjczOWJlNThhNzAyOGQ1ZmY0YTJkZTliNTZkZmI3ZWEwOTk4MmIuLmVhZTAz
NDc0YTQ5ZmY3YmVjZTMyZGFmNDgyMzkwMDI1YzNjZTllMmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvY2kvYXp1cmUvc2FmYXJp
LXRlY2hub2xvZ3ktcHJldmlldy5yYgorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2NpL2F6dXJlL3NhZmFyaS10ZWNobm9sb2d5LXByZXZpZXcu
cmIKQEAgLTEsMTAgKzEsMTAgQEAKIGNhc2sgJ3NhZmFyaS10ZWNobm9sb2d5LXByZXZpZXcnIGRv
CiAgIGlmIE1hY09TLnZlcnNpb24gPD0gOm1vamF2ZQotICAgIHZlcnNpb24gJzk2LDA2MS00NDA1
Ni0yMDE5MTEyMC1hYzdiYjE5Ni0yNzI0LTQ4NDAtYmNlOS02YzgzZWNkYmZiMmMnCi0gICAgc2hh
MjU2ICdlODBjZWFjZGZmN2U3NTIxODM2NTk5M2U1YWYxYzgxYzliY2M0Nzg1MjkxYWUwMGFiYmEz
ZDE0YWM1NjE0MzE3JworICAgIHZlcnNpb24gJzEwNiwwMDEtMDU5NjYtMjAyMDA1MTMtODY1NzFi
ZTYtODc4ZS00MTFiLWE1YjktNjVhOTcxNTczZmFlJworICAgIHNoYTI1NiAnODUxOGM4OTE3YTkx
NzJhZWI3NWRlZWI2MTA2MGQzNTMyMjk3NjBmZDU0ZGM4NWJkMzhhMDg5N2NjMWQxMjEwNScKICAg
ZWxzZQotICAgIHZlcnNpb24gJzk2LDA2MS00NzcxOC0yMDE5MTEyMC0wMmJjNzU2OS1lZTZiLTRj
MjgtOWVjNC0wY2VlZGEzYzNjM2EnCi0gICAgc2hhMjU2ICdiYmZjZGMzNmJmOWI1NWFlYzU4Mzhk
NjZlMzRjNDFkZDNmNmE2NDA5MTQwNmJjMzhmNDVjODg4MzYwZjE5MWZlJworICAgIHZlcnNpb24g
JzEwNiwwMDEtMDU4OTAtMjAyMDA1MTMtMzIxYTY5YjQtZGU1OC00NDBlLTgxODItOGFjMDNkNjVm
NmNlJworICAgIHNoYTI1NiAnZjNjMDczZDliNjBmZjZkMTFmODJhYmJjNmNjMTMxZTU5MTNlNmQw
ZjJhMTFmMDk2OGFlNzdkYjFiNTFlMWUzNScKICAgZW5kCiAKICAgdXJsICJodHRwczovL3NlY3Vy
ZS1hcHBsZG5sZC5hcHBsZS5jb20vU1RQLyN7dmVyc2lvbi5hZnRlcl9jb21tYX0vU2FmYXJpVGVj
aG5vbG9neVByZXZpZXcuZG1nIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9jaS9henVyZS90b3hfcHl0ZXN0LnltbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvY2kvYXp1cmUvdG94
X3B5dGVzdC55bWwKaW5kZXggYmM5MzA4MzZkM2Q3YjY2YmM2M2FjMjM5MmI1MDVmZDk5YWYzZTEx
ZC4uMTJlZDY2YTlhMDIwNmY2ODY2ZmIxMjBlMjY0YmUzOWRjN2UyOTJlNCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9jaS9henVy
ZS90b3hfcHl0ZXN0LnltbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL2NpL2F6dXJlL3RveF9weXRlc3QueW1sCkBAIC0xLDcgKzEsNyBAQAog
cGFyYW1ldGVyczoKICAgZGlyZWN0b3J5OiAnJwogICB0b3hlbnY6ICdBTEwnCi0KKyAgCiBzdGVw
czoKIC0gdGVtcGxhdGU6IHBpcF9pbnN0YWxsLnltbAogICBwYXJhbWV0ZXJzOgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9jaS9h
enVyZS93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvY2kvYXp1cmUvdzNjLWltcG9ydC5sb2cKaW5kZXggNDRmNTQzMTljMmI5
ZjAyNGVhOTI1YTZjM2VjN2NlMjBlZTRkNTBkMi4uY2U3MDEyZjczMzk5YTYyODZmNzdkNzMxNjIx
NDAxNzRiMDljMzI3ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy9jaS9henVyZS93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2NpL2F6dXJlL3czYy1p
bXBvcnQubG9nCkBAIC0xOCw3ICsxOCw2IEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9jaS9henVyZS9hZmZlY3RlZF90
ZXN0cy55bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL2NpL2F6dXJlL2NoZWNrb3V0LnltbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvY2kvYXp1cmUvY2xlYW51cF93aW4xMC55bWwKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2NpL2F6dXJlL2NvbS5h
cHBsZS5TYWZhcmkucGxpc3QKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL2NpL2F6dXJlL2Z5aV9ob29rLnltbAogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvY2kvYXp1cmUvaW5zdGFsbF9jZXJ0cy55bWwK
IC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2NpL2F6
dXJlL2luc3RhbGxfY2hyb21lLnltbApAQCAtMjgsNiArMjcsNyBAQCBMaXN0IG9mIGZpbGVzOgog
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvY2kvYXp1
cmUvaW5zdGFsbF9weXRob24ueW1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy9jaS9henVyZS9pbnN0YWxsX3NhZmFyaS55bWwKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2NpL2F6dXJlL3BpcF9pbnN0
YWxsLnltbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvY2kvYXp1cmUvcHVibGlzaF9sb2dzLnltbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvY2kvYXp1cmUvc2FmYXJpLXRlY2hub2xvZ3ktcHJldmll
dy5yYgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
Y2kvYXp1cmUvc3lzdGVtX2luZm8ueW1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy9jaS9henVyZS90b3hfcHl0ZXN0LnltbApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9jaS9jaV9i
dWlsdF9kaWZmLnNoIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy9jaS9jaV9idWlsdF9kaWZmLnNoCmluZGV4IDcwOWNjMmFhN2U2ODY3ZjU0OGQ0ZWZk
ZDYyZDc0YWJjMTg1ZTY1N2IuLmY4YWUzZTYxYmY3NTZkOTdjNzhlMmQ5NTg5MTIxYjdkNjAxMDY2
ZmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvY2kvY2lfYnVpbHRfZGlmZi5zaAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2NpL2NpX2J1aWx0X2RpZmYuc2gKQEAgLTEyLDE0
ICsxMiwxNCBAQCBtYWluKCkgewogCiAgICAgI8KgRXhjbHVkZSB0ZXN0cyB0aGF0IHJlbHkgb24g
Zm9udCByZW5kZXJpbmcKICAgICBleGNsdWRlZD0oCi0gICAgICAgICcyZGNvbnRleHQvZHJhd2lu
Zy10ZXh0LXRvLXRoZS1jYW52YXMvMmQudGV4dC5kcmF3LmZpbGwuYmFzaWMucG5nJwotICAgICAg
ICAnMmRjb250ZXh0L2RyYXdpbmctdGV4dC10by10aGUtY2FudmFzLzJkLnRleHQuZHJhdy5maWxs
Lm1heFdpZHRoLmxhcmdlLnBuZycKLSAgICAgICAgJzJkY29udGV4dC9kcmF3aW5nLXRleHQtdG8t
dGhlLWNhbnZhcy8yZC50ZXh0LmRyYXcuZmlsbC5ydGwucG5nJwotICAgICAgICAnMmRjb250ZXh0
L2RyYXdpbmctdGV4dC10by10aGUtY2FudmFzLzJkLnRleHQuZHJhdy5zdHJva2UuYmFzaWMucG5n
JwotICAgICAgICAnb2Zmc2NyZWVuLWNhbnZhcy90ZXh0LzJkLnRleHQuZHJhdy5maWxsLmJhc2lj
LnBuZycKLSAgICAgICAgJ29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50ZXh0LmRyYXcuZmlsbC5t
YXhXaWR0aC5sYXJnZS5wbmcnCi0gICAgICAgICdvZmZzY3JlZW4tY2FudmFzL3RleHQvMmQudGV4
dC5kcmF3LmZpbGwucnRsLnBuZycKLSAgICAgICAgJ29mZnNjcmVlbi1jYW52YXMvdGV4dC8yZC50
ZXh0LmRyYXcuc3Ryb2tlLmJhc2ljLnBuZycKKyAgICAgICAgJ2h0bWwvY2FudmFzL2VsZW1lbnQv
ZHJhd2luZy10ZXh0LXRvLXRoZS1jYW52YXMvMmQudGV4dC5kcmF3LmZpbGwuYmFzaWMucG5nJwor
ICAgICAgICAnaHRtbC9jYW52YXMvZWxlbWVudC9kcmF3aW5nLXRleHQtdG8tdGhlLWNhbnZhcy8y
ZC50ZXh0LmRyYXcuZmlsbC5tYXhXaWR0aC5sYXJnZS5wbmcnCisgICAgICAgICdodG1sL2NhbnZh
cy9lbGVtZW50L2RyYXdpbmctdGV4dC10by10aGUtY2FudmFzLzJkLnRleHQuZHJhdy5maWxsLnJ0
bC5wbmcnCisgICAgICAgICdodG1sL2NhbnZhcy9lbGVtZW50L2RyYXdpbmctdGV4dC10by10aGUt
Y2FudmFzLzJkLnRleHQuZHJhdy5zdHJva2UuYmFzaWMucG5nJworICAgICAgICAnaHRtbC9jYW52
YXMvb2Zmc2NyZWVuL3RleHQvMmQudGV4dC5kcmF3LmZpbGwuYmFzaWMucG5nJworICAgICAgICAn
aHRtbC9jYW52YXMvb2Zmc2NyZWVuL3RleHQvMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGgubGFy
Z2UucG5nJworICAgICAgICAnaHRtbC9jYW52YXMvb2Zmc2NyZWVuL3RleHQvMmQudGV4dC5kcmF3
LmZpbGwucnRsLnBuZycKKyAgICAgICAgJ2h0bWwvY2FudmFzL29mZnNjcmVlbi90ZXh0LzJkLnRl
eHQuZHJhdy5zdHJva2UuYmFzaWMucG5nJwogICAgICkKIAogICAgIC4vdXBkYXRlLWJ1aWx0LXRl
c3RzLnNoCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL2NpL2NpX3dwdHJ1bm5lcl9pbmZyYXN0cnVjdHVyZS5zaCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvY2kvY2lfd3B0cnVubmVy
X2luZnJhc3RydWN0dXJlLnNoCmluZGV4IDhkYjA4Nzk0YWRlMjZiZWY4OTlmMDVjNDg5MGMyYjg4
ZTY4ZGYyOTIuLjg5MjY3YjUwY2I2NDMyYzQ5NWQ0MjhhMTgwYzU5NjU5YjVjNWE2MGEgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
Y2kvY2lfd3B0cnVubmVyX2luZnJhc3RydWN0dXJlLnNoCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvY2kvY2lfd3B0cnVubmVyX2luZnJhc3Ry
dWN0dXJlLnNoCkBAIC01LDMxICs1LDI1IEBAIFNDUklQVF9ESVI9JChjZCAkKGRpcm5hbWUgIiQw
IikgJiYgcHdkIC1QKQogV1BUX1JPT1Q9JFNDUklQVF9ESVIvLi4vLi4KIGNkICRXUFRfUk9PVAog
Ci1hZGRfd3B0X2hvc3RzKCkgewotICAgIC4vd3B0IG1ha2UtaG9zdHMtZmlsZSB8IHN1ZG8gdGVl
IC1hIC9ldGMvaG9zdHMKLX0KLQogdGVzdF9pbmZyYXN0cnVjdHVyZSgpIHsKLSAgICBsb2NhbCBB
UkdTPSIiOwotICAgIGlmIFsgJFBST0RVQ1QgPT0gImZpcmVmb3giIF07IHRoZW4KLSAgICAgICAg
QVJHUz0iLS1pbnN0YWxsLWJyb3dzZXIiCi0gICAgZWxzZQotICAgICAgICBBUkdTPSQxCi0gICAg
ZmkKLSAgICBURVJNPWR1bWIgLi93cHQgcnVuIC0tbG9nLW1hY2ggLSAtLXllcyAtLW1hbmlmZXN0
IH4vbWV0YS9NQU5JRkVTVC5qc29uIC0tbWV0YWRhdGEgaW5mcmFzdHJ1Y3R1cmUvbWV0YWRhdGEv
IC0taW5zdGFsbC1mb250cyAkQVJHUyAkUFJPRFVDVCBpbmZyYXN0cnVjdHVyZS8KKyAgICBQWTNf
RkxBRz0iJDIiCisgICAgVEVSTT1kdW1iIC4vd3B0ICRQWTNfRkxBRyBydW4gLS1sb2ctbWFjaCAt
IC0teWVzIC0tbWFuaWZlc3Qgfi9tZXRhL01BTklGRVNULmpzb24gLS1tZXRhZGF0YSBpbmZyYXN0
cnVjdHVyZS9tZXRhZGF0YS8gLS1pbnN0YWxsLWZvbnRzICQxICRQUk9EVUNUIGluZnJhc3RydWN0
dXJlLwogfQogCiBtYWluKCkgewotICAgIFBST0RVQ1RTPSggImZpcmVmb3giICJjaHJvbWUiICkK
KyAgICBpZiBbWyAkIyAtZXEgMSAmJiAiJDEiID0gIi0tcHkzIiBdXTsgdGhlbgorICAgICAgICBQ
Uk9EVUNUUz0oICJjaHJvbWUiICkKKyAgICBlbHNlCisgICAgICAgIFBST0RVQ1RTPSggImZpcmVm
b3giICJjaHJvbWUiICkKKyAgICBmaQogICAgIC4vd3B0IG1hbmlmZXN0IC0tcmVidWlsZCAtcCB+
L21ldGEvTUFOSUZFU1QuanNvbgogICAgIGZvciBQUk9EVUNUIGluICIke1BST0RVQ1RTW0BdfSI7
IGRvCiAgICAgICAgIGlmIFtbICIkUFJPRFVDVCIgPT0gImNocm9tZSIgXV07IHRoZW4KLSAgICAg
ICAgICAgIGFkZF93cHRfaG9zdHMKLSAgICAgICAgICAgIHRlc3RfaW5mcmFzdHJ1Y3R1cmUgIi0t
YmluYXJ5PSQod2hpY2ggZ29vZ2xlLWNocm9tZS11bnN0YWJsZSkgLS1jaGFubmVsIGRldiIKKyAg
ICAgICAgICAgIHRlc3RfaW5mcmFzdHJ1Y3R1cmUgIi0tYmluYXJ5PSQod2hpY2ggZ29vZ2xlLWNo
cm9tZS11bnN0YWJsZSkgLS1jaGFubmVsIGRldiIgIiQxIgogICAgICAgICBlbHNlCi0gICAgICAg
ICAgICB0ZXN0X2luZnJhc3RydWN0dXJlCisgICAgICAgICAgICB0ZXN0X2luZnJhc3RydWN0dXJl
ICItLWJpbmFyeT1+L2J1aWxkL2ZpcmVmb3gvZmlyZWZveCIKICAgICAgICAgZmkKICAgICBkb25l
CiB9CiAKLW1haW4KK21haW4gJDEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvY2kvam9icy5weSBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvY2kvam9icy5weQppbmRleCAzZDgwOWVm
YTM3Y2NmZjJjMjU4MzQzYjY0NzkxNzYyZmM1MDdhOTBmLi43NjI0ZWIwZDUxNmZjMTZhNTcyNGE2
NzE0ZDI3NjdiYzRlMTIzMjVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2NpL2pvYnMucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9jaS9qb2JzLnB5CkBAIC0zMywxNSAr
MzMsMTYgQEAgam9iX3BhdGhfbWFwID0gewogICAgICJ3cHRydW5uZXJfdW5pdHRlc3QiOiBbInRv
b2xzLyJdLAogICAgICJidWlsZF9jc3MiOiBbImNzcy8iXSwKICAgICAidXBkYXRlX2J1aWx0Ijog
WyJ1cGRhdGUtYnVpbHQtdGVzdHNcXC5zaCIsCi0gICAgICAgICAgICAgICAgICAgICAiMmRjb250
ZXh0LyIsCiAgICAgICAgICAgICAgICAgICAgICAiaW5mcmFzdHJ1Y3R1cmUvIiwKICAgICAgICAg
ICAgICAgICAgICAgICJodG1sLyIsCi0gICAgICAgICAgICAgICAgICAgICAib2Zmc2NyZWVuLWNh
bnZhcy8iLAogICAgICAgICAgICAgICAgICAgICAgIm1pbWVzbmlmZi8iLAogICAgICAgICAgICAg
ICAgICAgICAgImNzcy9jc3MtdWkvIiwKICAgICAgICAgICAgICAgICAgICAgICJXZWJJREwiXSwK
ICAgICAid3B0X2ludGVncmF0aW9uIjogWyJ0b29scy8iXSwKLSAgICAid3B0cnVubmVyX2luZnJh
c3RydWN0dXJlIjogWyJpbmZyYXN0cnVjdHVyZS8iLCAidG9vbHMvIiwgInJlc291cmNlcy8iXSwK
KyAgICAid3B0cnVubmVyX2luZnJhc3RydWN0dXJlIjogWyJpbmZyYXN0cnVjdHVyZS8iLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRvb2xzLyIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAicmVzb3VyY2VzLyIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAid2ViZHJpdmVyL3Rlc3RzL3N1cHBvcnQiXSwKIH0KIAogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2NpL21hbmlm
ZXN0X2J1aWxkLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy9jaS9tYW5pZmVzdF9idWlsZC5weQppbmRleCAxZTM4OGRmYTc0MTlhMjFiMjA1MDNi
MzA3NWMzNmJjMTExMzZkZDdkLi4yMGY5NmQ5YTNlZWVjNjM5OTc0Y2E0NjFkOWQ0NWY5MWM5NmMw
MTcwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL2NpL21hbmlmZXN0X2J1aWxkLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvY2kvbWFuaWZlc3RfYnVpbGQucHkKQEAgLTg0
LDggKzg0LDcgQEAgZGVmIHJlcXVlc3QodXJsLCBkZXNjLCBtZXRob2Q9Tm9uZSwgZGF0YT1Ob25l
LCBqc29uX2RhdGE9Tm9uZSwgcGFyYW1zPU5vbmUsIGhlYWQKICAgICB0cnk6CiAgICAgICAgIHJl
dHVybiByZXNwLmpzb24oKQogICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgotICAgICAgICBsb2dnZXIu
ZXJyb3IoIiVzIGZhaWxlZDogUmV0dXJuZWQgZGF0YSB3YXMgbm90IEpTT04gUmVzcG9uc2U6IiAl
Ci0gICAgICAgICAgICAgICAgICAgICAoZGVzYywgcmVzcC5zdGF0dXNfY29kZSkpCisgICAgICAg
IGxvZ2dlci5lcnJvcigiJXMgZmFpbGVkOiBSZXR1cm5lZCBkYXRhIHdhcyBub3QgSlNPTiBSZXNw
b25zZToiICUgZGVzYykKICAgICAgICAgbG9nZ2VyLmVycm9yKHJlc3AudGV4dCkKIAogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L2NpL3ByX3ByZXZpZXcucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL2NpL3ByX3ByZXZpZXcucHkKaW5kZXggYmE3Nzc0NDQ2ZTA4MzZlMzE5YzBk
MDcxZDYyNjJlNTYyZmIxNDZlMS4uYmE1OTk3ZjY4YTYxNWY0OTMyMmFjMDA5YTE1YWViZjBhNWEw
NzFmMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy9jaS9wcl9wcmV2aWV3LnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvY2kvcHJfcHJldmlldy5weQpAQCAtMTIzLDYgKzEy
MywyNyBAQCBjbGFzcyBQcm9qZWN0KG9iamVjdCk6CiAKICAgICAgICAgcmV0dXJuIGRhdGFbJ2l0
ZW1zJ10KIAorICAgIEBndWFyZCgnY29yZScpCisgICAgZGVmIHB1bGxfcmVxdWVzdF9pc19mcm9t
X2Zvcmsoc2VsZiwgcHVsbF9yZXF1ZXN0KToKKyAgICAgICAgcHJfbnVtYmVyID0gcHVsbF9yZXF1
ZXN0WydudW1iZXInXQorICAgICAgICB1cmwgPSAne30vcmVwb3Mve30vcHVsbHMve30nLmZvcm1h
dCgKKyAgICAgICAgICAgIHNlbGYuX2hvc3QsIHNlbGYuX2dpdGh1Yl9wcm9qZWN0LCBwcl9udW1i
ZXIKKyAgICAgICAgKQorCisgICAgICAgIGxvZ2dlci5pbmZvKCdDaGVja2luZyBpZiBwdWxsIHJl
cXVlc3QgJXMgaXMgZnJvbSBhIGZvcmsnLCBwcl9udW1iZXIpCisKKyAgICAgICAgZGF0YSA9IGdo
X3JlcXVlc3QoJ0dFVCcsIHVybCkKKworICAgICAgICByZXBvX25hbWUgPSBkYXRhWydoZWFkJ11b
J3JlcG8nXVsnZnVsbF9uYW1lJ10KKyAgICAgICAgaXNfZm9yayA9IHJlcG9fbmFtZSAhPSBzZWxm
Ll9naXRodWJfcHJvamVjdAorCisgICAgICAgIGxvZ2dlci5pbmZvKAorICAgICAgICAgICAgJ1B1
bGwgcmVxdWVzdCAlcyBpcyBmcm9tIFwnJXNcJy4gSXMgYSBmb3JrOiAlcycsCisgICAgICAgICAg
ICBwcl9udW1iZXIsIHJlcG9fbmFtZSwgaXNfZm9yaworICAgICAgICApCisKKyAgICAgICAgcmV0
dXJuIGlzX2ZvcmsKKwogICAgIEBndWFyZCgnY29yZScpCiAgICAgZGVmIGNyZWF0ZV9yZWYoc2Vs
ZiwgcmVmc3BlYywgcmV2aXNpb24pOgogICAgICAgICB1cmwgPSAne30vcmVwb3Mve30vZ2l0L3Jl
ZnMnLmZvcm1hdChzZWxmLl9ob3N0LCBzZWxmLl9naXRodWJfcHJvamVjdCkKQEAgLTE4MCw5ICsy
MDEsOCBAQCBjbGFzcyBQcm9qZWN0KG9iamVjdCk6CiAgICAgQGd1YXJkKCdjb3JlJykKICAgICBk
ZWYgdXBkYXRlX2RlcGxveW1lbnQoc2VsZiwgdGFyZ2V0LCBkZXBsb3ltZW50LCBzdGF0ZSwgZGVz
Y3JpcHRpb249JycpOgogICAgICAgICBpZiBzdGF0ZSBpbiAoJ3BlbmRpbmcnLCAnc3VjY2Vzcycp
OgotICAgICAgICAgICAgZW52aXJvbm1lbnRfdXJsID0gJ3t9L3N1Ym1pc3Npb25zL3t9Jy5mb3Jt
YXQoCi0gICAgICAgICAgICAgICAgdGFyZ2V0LCBkZXBsb3ltZW50WydlbnZpcm9ubWVudCddCi0g
ICAgICAgICAgICApCisgICAgICAgICAgICBwcl9udW1iZXIgPSBkZXBsb3ltZW50WydlbnZpcm9u
bWVudCddW2xlbihERVBMT1lNRU5UX1BSRUZJWCk6XQorICAgICAgICAgICAgZW52aXJvbm1lbnRf
dXJsID0gJ3t9L3t9Jy5mb3JtYXQodGFyZ2V0LCBwcl9udW1iZXIpCiAgICAgICAgIGVsc2U6CiAg
ICAgICAgICAgICBlbnZpcm9ubWVudF91cmwgPSBOb25lCiAgICAgICAgIHVybCA9ICd7fS9yZXBv
cy97fS9kZXBsb3ltZW50cy97fS9zdGF0dXNlcycuZm9ybWF0KApAQCAtMjQ2LDEzICsyNjYsMTYg
QEAgZGVmIGhhc19taXJyb3JpbmdfbGFiZWwocHVsbF9yZXF1ZXN0KToKIAogICAgIHJldHVybiBG
YWxzZQogCi1kZWYgc2hvdWxkX2JlX21pcnJvcmVkKHB1bGxfcmVxdWVzdCk6CitkZWYgc2hvdWxk
X2JlX21pcnJvcmVkKHByb2plY3QsIHB1bGxfcmVxdWVzdCk6CiAgICAgcmV0dXJuICgKLSAgICAg
ICAgaXNfb3BlbihwdWxsX3JlcXVlc3QpIGFuZAotICAgICAgICBwdWxsX3JlcXVlc3RbJ3VzZXIn
XVsnbG9naW4nXSBub3QgaW4gQVVUT01BVElPTl9HSVRIVUJfVVNFUlMgYW5kICgKLSAgICAgICAg
ICAgIHB1bGxfcmVxdWVzdFsnYXV0aG9yX2Fzc29jaWF0aW9uJ10gaW4gVFJVU1RFRF9BVVRIT1Jf
QVNTT0NJQVRJT05TIG9yCi0gICAgICAgICAgICBoYXNfbWlycm9yaW5nX2xhYmVsKHB1bGxfcmVx
dWVzdCkKLSAgICAgICAgKQorICAgICAgICBpc19vcGVuKHB1bGxfcmVxdWVzdCkgYW5kICgKKyAg
ICAgICAgICAgIGhhc19taXJyb3JpbmdfbGFiZWwocHVsbF9yZXF1ZXN0KSBvciAoCisgICAgICAg
ICAgICAgICAgcHVsbF9yZXF1ZXN0Wyd1c2VyJ11bJ2xvZ2luJ10gbm90IGluIEFVVE9NQVRJT05f
R0lUSFVCX1VTRVJTIGFuZAorICAgICAgICAgICAgICAgIHB1bGxfcmVxdWVzdFsnYXV0aG9yX2Fz
c29jaWF0aW9uJ10gaW4gVFJVU1RFRF9BVVRIT1JfQVNTT0NJQVRJT05TCisgICAgICAgICAgICAp
CisgICAgICAgICkgYW5kCisgICAgICAgICMgUXVlcnkgdGhpcyBsYXN0IGFzIGl0IHJlcXVpcmVz
IGFub3RoZXIgQVBJIGNhbGwgdG8gdmVyaWZ5CisgICAgICAgIG5vdCBwcm9qZWN0LnB1bGxfcmVx
dWVzdF9pc19mcm9tX2ZvcmsocHVsbF9yZXF1ZXN0KQogICAgICkKIAogZGVmIGlzX2RlcGxveWVk
KGhvc3QsIGRlcGxveW1lbnQpOgpAQCAtMjkxLDcgKzMxNCw3IEBAIGRlZiBzeW5jaHJvbml6ZSho
b3N0LCBnaXRodWJfcHJvamVjdCwgd2luZG93KToKICAgICAgICAgcmV2aXNpb25fdHJ1c3RlZCA9
IHJlbW90ZS5nZXRfcmV2aXNpb24ocmVmc3BlY190cnVzdGVkKQogICAgICAgICByZXZpc2lvbl9v
cGVuID0gcmVtb3RlLmdldF9yZXZpc2lvbihyZWZzcGVjX29wZW4pCiAKLSAgICAgICAgaWYgc2hv
dWxkX2JlX21pcnJvcmVkKHB1bGxfcmVxdWVzdCk6CisgICAgICAgIGlmIHNob3VsZF9iZV9taXJy
b3JlZChwcm9qZWN0LCBwdWxsX3JlcXVlc3QpOgogICAgICAgICAgICAgbG9nZ2VyLmluZm8oJ1B1
bGwgUmVxdWVzdCBzaG91bGQgYmUgbWlycm9yZWQnKQogCiAgICAgICAgICAgICBpZiByZXZpc2lv
bl90cnVzdGVkIGlzIE5vbmU6CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2NpL3J1bl90Yy5weSBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvY2kvcnVuX3RjLnB5CmluZGV4IGY5MDg2
YTMxYmQ5M2JhZjcyODE5ZmM0NTBmOTBhMjkwZDY1Njc0ZmQuLmE1YThjYTdkYjI5YWI0ODRmZTM5
NzQ3NWY5YjVjZmM0MTJkNjUxN2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvY2kvcnVuX3RjLnB5CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvY2kvcnVuX3RjLnB5CkBAIC0z
NiwxMSArMzYsMTUgQEAgdGhlIHNlcmlhbGl6YXRpb24gb2YgYSBHaXRIdWIgZXZlbnQgcGF5bG9h
ZC4KICIiIgogCiBpbXBvcnQgYXJncGFyc2UKK2ltcG9ydCBmbm1hdGNoCiBpbXBvcnQganNvbgog
aW1wb3J0IG9zCiBpbXBvcnQgc3VicHJvY2VzcwogaW1wb3J0IHN5cworaW1wb3J0IHRhcmZpbGUK
IGltcG9ydCB0ZW1wZmlsZQoraW1wb3J0IHRpbWUKK2ltcG9ydCB6aXBmaWxlCiBmcm9tIHNvY2tl
dCBpbXBvcnQgZXJyb3IgYXMgU29ja2V0RXJyb3IgICMgTk9RQTogTjgxMgogaW1wb3J0IGVycm5v
CiB0cnk6CkBAIC0xNDcsMTMgKzE1MSwxNCBAQCBkZWYgaW5zdGFsbF9jaHJvbWUoY2hhbm5lbCk6
CiAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIlVucmVjb2duaXplZCByZWxlYXNlIGNoYW5uZWw6
ICVzIiAlIGNoYW5uZWwpCiAKICAgICBkZXN0ID0gb3MucGF0aC5qb2luKCIvdG1wIiwgZGViX2Fy
Y2hpdmUpCi0gICAgcmVzcCA9IHVybG9wZW4oImh0dHBzOi8vZGwuZ29vZ2xlLmNvbS9saW51eC9k
aXJlY3QvJXMiICUgZGViX2FyY2hpdmUpCisgICAgZGViX3VybCA9ICJodHRwczovL2RsLmdvb2ds
ZS5jb20vbGludXgvZGlyZWN0LyVzIiAlIGRlYl9hcmNoaXZlCiAgICAgd2l0aCBvcGVuKGRlc3Qs
ICJ3IikgYXMgZjoKLSAgICAgICAgZi53cml0ZShyZXNwLnJlYWQoKSkKKyAgICAgICAgZG93bmxv
YWRfdXJsX3RvX2Rlc2NyaXB0b3IoZiwgZGViX3VybCkKIAogICAgIHJ1bihbInN1ZG8iLCAiYXB0
LWdldCIsICItcXF5IiwgInVwZGF0ZSJdKQogICAgIHJ1bihbInN1ZG8iLCAiZ2RlYmkiLCAiLXFu
IiwgIi90bXAvJXMiICUgZGViX2FyY2hpdmVdKQogCisKIGRlZiBpbnN0YWxsX3dlYmtpdGd0a19m
cm9tX2FwdF9yZXBvc2l0b3J5KGNoYW5uZWwpOgogICAgICMgQ29uZmlndXJlIHdlYmtpdGd0ay5v
cmcvZGViaWFuIHJlcG9zaXRvcnkgZm9yICRjaGFubmVsIGFuZCBwaW4gaXQgd2l0aCBtYXhpbXVt
IHByaW9yaXR5CiAgICAgcnVuKFsic3VkbyIsICJhcHQta2V5IiwgImFkdiIsICItLWZldGNoLWtl
eXMiLCAiaHR0cHM6Ly93ZWJraXRndGsub3JnL2RlYmlhbi9hcHQua2V5Il0pCkBAIC0xNjksMTUg
KzE3NCwxNiBAQCBkZWYgaW5zdGFsbF93ZWJraXRndGtfZnJvbV9hcHRfcmVwb3NpdG9yeShjaGFu
bmVsKToKICAgICBydW4oWyJzdWRvIiwgImFwdC1nZXQiLCAiLXFxeSIsICItdCIsICJiaW9uaWMt
d3B0LXdlYmtpdC11cGRhdGVzIiwgImluc3RhbGwiLCAid2Via2l0Mmd0ay1kcml2ZXIiXSkKIAog
Ci0jIERvd25sb2FkIGFuIFVSTCBpbiBjaHVua3MgYW5kIHNhdmVzIGl0IHRvIGEgZmlsZSBkZXNj
cmlwdG9yICh0cnVuY2F0aW5nIGl0KQotIyBJdCBkb2Vzbid0IGNsb3NlIHRoZSBkZXNjcmlwdG9y
LCBidXQgZmx1c2hlcyBpdCBvbiBzdWNjZXNzLgotIyBJdCByZXRyaWVzIHRoZSBkb3dubG9hZCBp
biBjYXNlIG9mIEVDT05OUkVTRVQgdXAgdG8gbWF4X3JldHJpZXMuCi1kZWYgZG93bmxvYWRfdXJs
X3RvX2Rlc2NyaXB0b3IoZmQsIHVybCwgbWF4X3JldHJpZXM9Myk6Ci0gICAgZG93bmxvYWRfc3Vj
Y2VlZCA9IEZhbHNlCi0gICAgaWYgbWF4X3JldHJpZXMgPCAwOgotICAgICAgICBtYXhfcmV0cmll
cyA9IDAKLSAgICBmb3IgY3VycmVudF9yZXRyeSBpbiByYW5nZShtYXhfcmV0cmllcysxKToKK2Rl
ZiBkb3dubG9hZF91cmxfdG9fZGVzY3JpcHRvcihmZCwgdXJsLCBtYXhfcmV0cmllcz01KToKKyAg
ICAiIiJEb3dubG9hZCBhbiBVUkwgaW4gY2h1bmtzIGFuZCBzYXZlcyBpdCB0byBhIGZpbGUgZGVz
Y3JpcHRvciAodHJ1bmNhdGluZyBpdCkKKyAgICBJdCBkb2Vzbid0IGNsb3NlIHRoZSBkZXNjcmlw
dG9yLCBidXQgZmx1c2hlcyBpdCBvbiBzdWNjZXNzLgorICAgIEl0IHJldHJpZXMgdGhlIGRvd25s
b2FkIGluIGNhc2Ugb2YgRUNPTk5SRVNFVCB1cCB0byBtYXhfcmV0cmllcy4iIiIKKyAgICBpZiBt
YXhfcmV0cmllcyA8IDE6CisgICAgICAgIG1heF9yZXRyaWVzID0gMQorICAgIHdhaXQgPSAyCisg
ICAgZm9yIGN1cnJlbnRfcmV0cnkgaW4gcmFuZ2UoMSwgbWF4X3JldHJpZXMrMSk6CiAgICAgICAg
IHRyeToKKyAgICAgICAgICAgIHByaW50KCJJTkZPOiBEb3dubG9hZGluZyAlcyBUcnkgJWQvJWQi
ICUgKHVybCwgY3VycmVudF9yZXRyeSwgbWF4X3JldHJpZXMpKQogICAgICAgICAgICAgcmVzcCA9
IHVybG9wZW4odXJsKQogICAgICAgICAgICAgIyBXZSBtYXkgY29tZSBoZXJlIGluIGEgcmV0cnks
IGVuc3VyZSB0byB0cnVuY2F0ZSBmZCBiZWZvcmUgc3RhcnQgd3JpdGluZy4KICAgICAgICAgICAg
IGZkLnNlZWsoMCkKQEAgLTE4OCwyMiArMTk0LDIzIEBAIGRlZiBkb3dubG9hZF91cmxfdG9fZGVz
Y3JpcHRvcihmZCwgdXJsLCBtYXhfcmV0cmllcz0zKToKICAgICAgICAgICAgICAgICAgICAgYnJl
YWsgICMgRG93bmxvYWQgZmluaXNoZWQKICAgICAgICAgICAgICAgICBmZC53cml0ZShjaHVuaykK
ICAgICAgICAgICAgIGZkLmZsdXNoKCkKLSAgICAgICAgICAgIGRvd25sb2FkX3N1Y2NlZWQgPSBU
cnVlCi0gICAgICAgICAgICBicmVhayAgIyBTdWNlc3MKKyAgICAgICAgICAgICMgU3VjY2Vzcwor
ICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgIGV4Y2VwdCBTb2NrZXRFcnJvciBhcyBlOgotICAg
ICAgICAgICAgaWYgZS5lcnJubyAhPSBlcnJuby5FQ09OTlJFU0VUOgotICAgICAgICAgICAgICAg
IHJhaXNlICAjIFVua25vd24gZXJyb3IKLSAgICAgICAgICAgIGlmIGN1cnJlbnRfcmV0cnkgPCBt
YXhfcmV0cmllczoKLSAgICAgICAgICAgICAgICBwcmludCgiRVJST1I6IENvbm5lY3Rpb24gcmVz
ZXQgYnkgcGVlci4gUmV0cnlpbmcgLi4uIikKLSAgICAgICAgICAgICAgICBjb250aW51ZSAgIyBS
ZXRyeQotICAgIHJldHVybiBkb3dubG9hZF9zdWNjZWVkCisgICAgICAgICAgICBpZiBjdXJyZW50
X3JldHJ5IDwgbWF4X3JldHJpZXMgYW5kIGUuZXJybm8gPT0gZXJybm8uRUNPTk5SRVNFVDoKKyAg
ICAgICAgICAgICAgICAjIFJldHJ5CisgICAgICAgICAgICAgICAgcHJpbnQoIkVSUk9SOiBDb25u
ZWN0aW9uIHJlc2V0IGJ5IHBlZXIuIFJldHJ5aW5nIGFmdGVyICVkcy4uLiIgJSB3YWl0KQorICAg
ICAgICAgICAgICAgIHRpbWUuc2xlZXAod2FpdCkKKyAgICAgICAgICAgICAgICB3YWl0ICo9IDIK
KyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgIyBNYXhpbXVtIHJldHJpZXMgb3Ig
dW5rbm93biBlcnJvcgorICAgICAgICAgICAgICAgIHJhaXNlCiAKIAogZGVmIGluc3RhbGxfd2Vi
a2l0Z3RrX2Zyb21fdGFyYmFsbF9idW5kbGUoY2hhbm5lbCk6CiAgICAgd2l0aCB0ZW1wZmlsZS5O
YW1lZFRlbXBvcmFyeUZpbGUoc3VmZml4PSIudGFyLnh6IikgYXMgdGVtcF90YXJiYWxsOgogICAg
ICAgICBkb3dubG9hZF91cmwgPSAiaHR0cHM6Ly93ZWJraXRndGsub3JnL2J1aWx0LXByb2R1Y3Rz
L25pZ2h0bHkvd2Via2l0Z3RrLW5pZ2h0bHktYnVpbGQtbGFzdC50YXIueHoiCi0gICAgICAgIGlm
IG5vdCBkb3dubG9hZF91cmxfdG9fZGVzY3JpcHRvcih0ZW1wX3RhcmJhbGwsIGRvd25sb2FkX3Vy
bCk6Ci0gICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoIkNhbid0IGRvd25sb2FkICVzLiBB
Ym9ydGluZyIgJSBkb3dubG9hZF91cmwpCisgICAgICAgIGRvd25sb2FkX3VybF90b19kZXNjcmlw
dG9yKHRlbXBfdGFyYmFsbCwgZG93bmxvYWRfdXJsKQogICAgICAgICBydW4oWyJzdWRvIiwgInRh
ciIsICJ4ZmEiLCB0ZW1wX3RhcmJhbGwubmFtZSwgIi1DIiwgIi8iXSkKICAgICAjIEluc3RhbGwg
ZGVwZW5kZW5jaWVzCiAgICAgcnVuKFsic3VkbyIsICJhcHQtZ2V0IiwgIi1xcXkiLCAidXBkYXRl
Il0pCkBAIC0yMTgsNiArMjI1LDcgQEAgZGVmIGluc3RhbGxfd2Via2l0Z3RrKGNoYW5uZWwpOgog
ICAgIGVsc2U6CiAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIlVucmVjb2duaXplZCByZWxlYXNl
IGNoYW5uZWw6ICVzIiAlIGNoYW5uZWwpCiAKKwogZGVmIHN0YXJ0X3h2ZmIoKToKICAgICBzdGFy
dChbInN1ZG8iLCAiWHZmYiIsIG9zLmVudmlyb25bIkRJU1BMQVkiXSwgIi1zY3JlZW4iLCAiMCIs
CiAgICAgICAgICAgICIlc3glc3glcyIgJSAob3MuZW52aXJvblsiU0NSRUVOX1dJRFRIIl0sCkBA
IC0yNDYsNyArMjU0LDY3IEBAIGRlZiBzZXRfdmFyaWFibGVzKGV2ZW50KToKICAgICAgICAgb3Mu
ZW52aXJvblsiR0lUSFVCX0JSQU5DSCJdID0gYnJhbmNoCiAKIAorZGVmIHRhc2tfdXJsKHRhc2tf
aWQpOgorICAgIHJvb3RfdXJsID0gb3MuZW52aXJvblsnVEFTS0NMVVNURVJfUk9PVF9VUkwnXQor
ICAgIGlmIHJvb3RfdXJsID09ICdodHRwczovL3Rhc2tjbHVzdGVyLm5ldCc6CisgICAgICAgIHF1
ZXVlX2Jhc2UgPSAiaHR0cHM6Ly9xdWV1ZS50YXNrY2x1c3Rlci5uZXQvdjEvdGFzayIKKyAgICBl
bHNlOgorICAgICAgICBxdWV1ZV9iYXNlID0gcm9vdF91cmwgKyAiL2FwaS9xdWV1ZS92MS90YXNr
IgorCisgICAgcmV0dXJuICIlcy8lcyIgJSAocXVldWVfYmFzZSwgdGFza19pZCkKKworCitkZWYg
ZG93bmxvYWRfYXJ0aWZhY3RzKGFydGlmYWN0cyk6CisgICAgYXJ0aWZhY3RfbGlzdF9ieV90YXNr
ID0ge30KKyAgICBmb3IgYXJ0aWZhY3QgaW4gYXJ0aWZhY3RzOgorICAgICAgICBiYXNlX3VybCA9
IHRhc2tfdXJsKGFydGlmYWN0WyJ0YXNrIl0pCisgICAgICAgIGlmIGFydGlmYWN0WyJ0YXNrIl0g
bm90IGluIGFydGlmYWN0X2xpc3RfYnlfdGFzazoKKyAgICAgICAgICAgIHdpdGggdGVtcGZpbGUu
VGVtcG9yYXJ5RmlsZSgpIGFzIGY6CisgICAgICAgICAgICAgICAgZG93bmxvYWRfdXJsX3RvX2Rl
c2NyaXB0b3IoZiwgYmFzZV91cmwgKyAiL2FydGlmYWN0cyIpCisgICAgICAgICAgICAgICAgZi5z
ZWVrKDApCisgICAgICAgICAgICAgICAgYXJ0aWZhY3RzX2RhdGEgPSBqc29uLmxvYWQoZikKKyAg
ICAgICAgICAgIGFydGlmYWN0X2xpc3RfYnlfdGFza1thcnRpZmFjdFsidGFzayJdXSA9IGFydGlm
YWN0c19kYXRhCisKKyAgICAgICAgYXJ0aWZhY3RzX2RhdGEgPSBhcnRpZmFjdF9saXN0X2J5X3Rh
c2tbYXJ0aWZhY3RbInRhc2siXV0KKyAgICAgICAgcHJpbnQoIkRFQlVHOiBHb3QgYXJ0aWZhY3Rz
ICVzIiAlIGFydGlmYWN0c19kYXRhKQorICAgICAgICBmb3VuZCA9IEZhbHNlCisgICAgICAgIGZv
ciBjYW5kaWRhdGUgaW4gYXJ0aWZhY3RzX2RhdGFbImFydGlmYWN0cyJdOgorICAgICAgICAgICAg
cHJpbnQoIkRFQlVHOiBjYW5kaWRhdGU6ICVzIGdsb2I6ICVzIiAlIChjYW5kaWRhdGVbIm5hbWUi
XSwgYXJ0aWZhY3RbImdsb2IiXSkpCisgICAgICAgICAgICBpZiBmbm1hdGNoLmZubWF0Y2goY2Fu
ZGlkYXRlWyJuYW1lIl0sIGFydGlmYWN0WyJnbG9iIl0pOgorICAgICAgICAgICAgICAgIGZvdW5k
ID0gVHJ1ZQorICAgICAgICAgICAgICAgIHByaW50KCJJTkZPOiBGZXRjaGluZyBhcml0ZmFjdCAl
cyBmcm9tIHRhc2sgJXMiICUgKGNhbmRpZGF0ZVsibmFtZSJdLCBhcnRpZmFjdFsidGFzayJdKSkK
KyAgICAgICAgICAgICAgICBmaWxlX25hbWUgPSBjYW5kaWRhdGVbIm5hbWUiXS5yc3BsaXQoIi8i
LCAxKVsxXQorICAgICAgICAgICAgICAgIHVybCA9IGJhc2VfdXJsICsgIi9hcnRpZmFjdHMvIiAr
IGNhbmRpZGF0ZVsibmFtZSJdCisgICAgICAgICAgICAgICAgZGVzdF9wYXRoID0gb3MucGF0aC5l
eHBhbmR1c2VyKG9zLnBhdGguam9pbigifiIsIGFydGlmYWN0WyJkZXN0Il0sIGZpbGVfbmFtZSkp
CisgICAgICAgICAgICAgICAgZGVzdF9kaXIgPSBvcy5wYXRoLmRpcm5hbWUoZGVzdF9wYXRoKQor
ICAgICAgICAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhkZXN0X2Rpcik6CisgICAgICAg
ICAgICAgICAgICAgIG9zLm1ha2VkaXJzKGRlc3RfZGlyKQorICAgICAgICAgICAgICAgIHdpdGgg
b3BlbihkZXN0X3BhdGgsICJ3YiIpIGFzIGY6CisgICAgICAgICAgICAgICAgICAgIGRvd25sb2Fk
X3VybF90b19kZXNjcmlwdG9yKGYsIHVybCkKKworICAgICAgICAgICAgICAgIGlmIGFydGlmYWN0
LmdldCgiZXh0cmFjdCIpOgorICAgICAgICAgICAgICAgICAgICB1bnBhY2soZGVzdF9wYXRoKQor
ICAgICAgICBpZiBub3QgZm91bmQ6CisgICAgICAgICAgICBwcmludCgiV0FSTklORzogTm8gYXJ0
aWZhY3QgZm91bmQgbWF0Y2hpbmcgJXMgaW4gdGFzayAlcyIgJSAoYXJ0aWZhY3RbImdsb2IiXSwg
YXJ0aWZhY3RbInRhc2siXSkpCisKKworZGVmIHVucGFjayhwYXRoKToKKyAgICBkZXN0ID0gb3Mu
cGF0aC5kaXJuYW1lKHBhdGgpCisgICAgaWYgdGFyZmlsZS5pc190YXJmaWxlKHBhdGgpOgorICAg
ICAgICBydW4oWyJ0YXIiLCAiLXhmIiwgcGF0aF0sIGN3ZD1vcy5wYXRoLmRpcm5hbWUocGF0aCkp
CisgICAgZWxpZiB6aXBmaWxlLmlzX3ppcGZpbGUocGF0aCk6CisgICAgICAgIHdpdGggemlwZmls
ZS5aaXBGaWxlKHBhdGgpIGFzIGFyY2hpdmU6CisgICAgICAgICAgICBhcmNoaXZlLmV4dHJhY3Rh
bGwoZGVzdCkKKyAgICBlbHNlOgorICAgICAgICBwcmludCgiRVJST1I6IERvbid0IGtub3cgaG93
IHRvIGV4dHJhY3QgJXMiICUgcGF0aCkKKyAgICAgICAgcmFpc2UgRXhjZXB0aW9uCisKKwogZGVm
IHNldHVwX2Vudmlyb25tZW50KGFyZ3MpOgorICAgIGlmICJUQVNLX0FSVElGQUNUUyIgaW4gb3Mu
ZW52aXJvbjoKKyAgICAgICAgYXJ0aWZhY3RzID0ganNvbi5sb2Fkcyhvcy5lbnZpcm9uWyJUQVNL
X0FSVElGQUNUUyJdKQorICAgICAgICBkb3dubG9hZF9hcnRpZmFjdHMoYXJ0aWZhY3RzKQorCiAg
ICAgaWYgYXJncy5ob3N0c19maWxlOgogICAgICAgICBtYWtlX2hvc3RzX2ZpbGUoKQogCkBAIC0z
NjQsMTYgKzQzMiwxMCBAQCBkZWYgZmV0Y2hfZXZlbnRfZGF0YSgpOgogICAgICAgICAjIEZvciBl
eGFtcGxlIHVuZGVyIGxvY2FsIHRlc3RpbmcKICAgICAgICAgcmV0dXJuIE5vbmUKIAotICAgIHJv
b3RfdXJsID0gb3MuZW52aXJvblsnVEFTS0NMVVNURVJfUk9PVF9VUkwnXQotICAgIGlmIHJvb3Rf
dXJsID09ICdodHRwczovL3Rhc2tjbHVzdGVyLm5ldCc6Ci0gICAgICAgIHF1ZXVlX2Jhc2UgPSAi
aHR0cHM6Ly9xdWV1ZS50YXNrY2x1c3Rlci5uZXQvdjEvdGFzayIKLSAgICBlbHNlOgotICAgICAg
ICBxdWV1ZV9iYXNlID0gcm9vdF91cmwgKyAiL2FwaS9xdWV1ZS92MS90YXNrIgotCi0KLSAgICBy
ZXNwID0gdXJsb3BlbigiJXMvJXMiICUgKHF1ZXVlX2Jhc2UsIHRhc2tfaWQpKQotCi0gICAgdGFz
a19kYXRhID0ganNvbi5sb2FkKHJlc3ApCisgICAgd2l0aCB0ZW1wZmlsZS5UZW1wb3JhcnlGaWxl
KCkgYXMgZjoKKyAgICAgICAgZG93bmxvYWRfdXJsX3RvX2Rlc2NyaXB0b3IoZiwgdGFza191cmwo
dGFza19pZCkpCisgICAgICAgIGYuc2VlaygwKQorICAgICAgICB0YXNrX2RhdGEgPSBqc29uLmxv
YWQoZikKICAgICBldmVudF9kYXRhID0gdGFza19kYXRhLmdldCgiZXh0cmEiLCB7fSkuZ2V0KCJn
aXRodWJfZXZlbnQiKQogICAgIGlmIGV2ZW50X2RhdGEgaXMgbm90IE5vbmU6CiAgICAgICAgIHJl
dHVybiBqc29uLmxvYWRzKGV2ZW50X2RhdGEpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2NpL3Rhc2tjbHVzdGVyLXJ1bi5weSBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvY2kvdGFz
a2NsdXN0ZXItcnVuLnB5CmluZGV4IGFjNWFiYzEyYjFmMTdkMmZjOTNjNmFjNTYzNmJmZDZmZTdj
YWZhMDQuLmQ4ZTQyY2NlYTIxMTI2OTRjNmQzYjhiMWFhNmNhNzAzNGVhMjIyODIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvY2kv
dGFza2NsdXN0ZXItcnVuLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvY2kvdGFza2NsdXN0ZXItcnVuLnB5CkBAIC05LDEwICs5LDE4IEBA
IGltcG9ydCBzdWJwcm9jZXNzCiBpbXBvcnQgc3lzCiAKIGJyb3dzZXJfc3BlY2lmaWNfYXJncyA9
IHsKLSAgICAiZmlyZWZveCI6IFsiLS1pbnN0YWxsLWJyb3dzZXIiXSwKICAgICAic2Vydm8iOiBb
Ii0taW5zdGFsbC1icm93c2VyIiwgIi0tcHJvY2Vzc2VzPTEyIl0KIH0KIAorZGVmIGdldF9icm93
c2VyX2FyZ3MocHJvZHVjdCk6CisgICAgaWYgcHJvZHVjdCA9PSAiZmlyZWZveCI6CisgICAgICAg
IGxvY2FsX2JpbmFyeSA9IG9zLnBhdGguZXhwYW5kdXNlcihvcy5wYXRoLmpvaW4oIn4iLCAiYnVp
bGQiLCAiZmlyZWZveCIsICJmaXJlZm94IikpCisgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKGxv
Y2FsX2JpbmFyeSk6CisgICAgICAgICAgICByZXR1cm4gWyItLWJpbmFyeT0lcyIgJSBsb2NhbF9i
aW5hcnldCisgICAgICAgIHByaW50KCJXQVJOSU5HOiBMb2NhbCBmaXJlZm94IGJpbmFyeSBub3Qg
Zm91bmQiKQorICAgICAgICByZXR1cm4gWyItLWluc3RhbGwtYnJvd3NlciJdCisgICAgcmV0dXJu
IGJyb3dzZXJfc3BlY2lmaWNfYXJncy5nZXQocHJvZHVjdCwgW10pCisKIAogZGVmIGZpbmRfd3B0
cmVwb3J0KGFyZ3MpOgogICAgIHBhcnNlciA9IGFyZ3BhcnNlLkFyZ3VtZW50UGFyc2VyKCkKQEAg
LTY2LDcgKzc0LDcgQEAgZGVmIG1haW4ocHJvZHVjdCwgY29tbWl0X3JhbmdlLCB3cHRfYXJncyk6
CiAgICAgICAgICItLW5vLWhlYWRsZXNzIiwKICAgICAgICAgIi0tdmVyaWZ5LWxvZy1mdWxsIgog
ICAgIF0KLSAgICB3cHRfYXJncyArPSBicm93c2VyX3NwZWNpZmljX2FyZ3MuZ2V0KHByb2R1Y3Qs
IFtdKQorICAgIHdwdF9hcmdzICs9IGdldF9icm93c2VyX2FyZ3MocHJvZHVjdCkKIAogICAgICMg
SGFjayB0byBydW4gc2Vydm8gd2l0aCBvbmUgcHJvY2VzcyBvbmx5IGZvciB3ZHNwZWMKICAgICBp
ZiBwcm9kdWN0ID09ICJzZXJ2byIgYW5kICItLXRlc3QtdHlwZT13ZHNwZWMiIGluIHdwdF9hcmdz
OgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy9jaS90Yy9SRUFETUUubWQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL2NpL3RjL1JFQURNRS5tZAppbmRleCAxMWYzNjdmOTg2Zjk3ZmRi
ZmU0MGYwOWIyYWU0MTE0ZjI2MzkxNmY3Li43ODVjODJjY2EzOWNkZmIxODZmZGEyNDEwM2E1YTZm
ZDY0OWJlZTVhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL2NpL3RjL1JFQURNRS5tZAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2NpL3RjL1JFQURNRS5tZApAQCAtNDAsNiAr
NDAsMTQgQEAgdG9wLWxldmVsIHByb3BlcnRpZXM6CiAqIGBuYW1lYDogT3B0aW9uYWwgU3RyaW5n
LiBOYW1lIHRvIHVzZSBmb3IgdGhlIHRhc2sgb3ZlcnJpZGluZyB0aGUKICAgcHJvcGVydHkgbmFt
ZS4gVGhpcyBpcyB1c2VmdWwgaW4gY29tYmluYXRpb24gd2l0aCBzdWJzdGl0dXRpb25zCiAgIGRl
c2NyaWJlZCBiZWxvdy4KKyogYGRvd25sb2FkLWFydGlmYWN0c2A6IE9wdGlvbmFsIE9iamVjdC4g
QW4gYXJ0aWZhY3QgdG8gZG93bmxvYWQgZnJvbQorICBhIHRhc2sgdGhhdCB0aGlzIHRhc2sgZGVw
ZW5kcyBvbi4gVGhpcyBoYXMgdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzOgorICAtIGB0YXNrYCAt
IE5hbWUgb2YgdGhlIHRhc2sgcHJvZHVjaW5nIHRoZSBhcnRpZmFjdAorICAtIGBnbG9iYCAtIEEg
Z2xvYiBwYXR0ZXJuIGZvciB0aGUgZmlsZW5hbWUgb2YgdGhlIGFydGlmYWN0CisgIC0gYGRlc3Rg
IC0gQSBkaXJlY3RvcnkgcmVsdGl2ZSB0byB0aGUgaG9tZSBkaXJlY3RvcnkgaW4gd2hpY2ggdG8g
cGxhY2UKKyAgICAgICAgICAgICB0aGUgYXJ0aWZhY3QKKyAgLSBgZXh0cmFjdGAgLSBPcHRpb25h
bC4gQSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciBhbiBhcmNoaXZlIGFydGlmYWN0CisgICAg
ICAgICAgICAgICAgc2hvdWxkIGJlIGV4dHJhY3RlZCBpbi1wbGFjZS4KIAogIyMgVGFzayBFeHBh
bnNpb25zCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvY2kvdGMvZGVjaXNpb24ucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2NpL3RjL2RlY2lzaW9uLnB5CmluZGV4IDBjOTM1
YjkzZjhlZTg3ZjY2ZGFkZWZkZGQzYTExNjE2MGVkOWRkM2YuLmY4ZjE4NmY3NDRkODA4Mjc5MGE4
YzNiZWM4NjU0ZmExNWNhN2YzZTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvY2kvdGMvZGVjaXNpb24ucHkKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9jaS90Yy9kZWNpc2lv
bi5weQpAQCAtMTk5LDYgKzE5OSw3IEBAIGRlZiBidWlsZF9mdWxsX2NvbW1hbmQoZXZlbnQsIHRh
c2spOgogfi9zdGFydC5zaCBcCiAgICUocmVwb191cmwpcyBcCiAgICUoZmV0Y2hfcmVmKXM7Citz
dWRvIGFkZC1hcHQtcmVwb3NpdG9yeSBwcGE6ZGVhZHNuYWtlcy9wcGEKICUoaW5zdGFsbF9zdHIp
cwogY2Qgd2ViLXBsYXRmb3JtLXRlc3RzOwogLi90b29scy9jaS9ydW5fdGMucHkgJShvcHRpb25z
X3N0cilzIC0tICUodGFza19jbWQpczsKQEAgLTIxMyw3ICsyMTQsNyBAQCBkZWYgZ2V0X293bmVy
KGV2ZW50KToKICAgICByZXR1cm4gIndlYi1wbGF0Zm9ybS10ZXN0c0B1c2Vycy5ub3JlcGx5Lmdp
dGh1Yi5jb20iCiAKIAotZGVmIGNyZWF0ZV90Y190YXNrKGV2ZW50LCB0YXNrLCB0YXNrZ3JvdXBf
aWQsIGRlcGVuZHNfb25faWRzKToKK2RlZiBjcmVhdGVfdGNfdGFzayhldmVudCwgdGFzaywgdGFz
a2dyb3VwX2lkLCBkZXBlbmRzX29uX2lkcywgZW52X2V4dHJhPU5vbmUpOgogICAgIGNvbW1hbmQg
PSBidWlsZF9mdWxsX2NvbW1hbmQoZXZlbnQsIHRhc2spCiAgICAgdGFza19pZCA9IHRhc2tjbHVz
dGVyLnNsdWdJZCgpCiAgICAgdGFza19kYXRhID0gewpAQCAtMjQwLDEyICsyNDEsMjQgQEAgZGVm
IGNyZWF0ZV90Y190YXNrKGV2ZW50LCB0YXNrLCB0YXNrZ3JvdXBfaWQsIGRlcGVuZHNfb25faWRz
KToKICAgICAgICAgICAgICJnaXRodWJfZXZlbnQiOiBqc29uLmR1bXBzKGV2ZW50KQogICAgICAg
ICB9CiAgICAgfQorICAgIGlmIGVudl9leHRyYToKKyAgICAgICAgdGFza19kYXRhWyJwYXlsb2Fk
Il1bImVudiJdLnVwZGF0ZShlbnZfZXh0cmEpCiAgICAgaWYgZGVwZW5kc19vbl9pZHM6CiAgICAg
ICAgIHRhc2tfZGF0YVsiZGVwZW5kZW5jaWVzIl0gPSBkZXBlbmRzX29uX2lkcwogICAgICAgICB0
YXNrX2RhdGFbInJlcXVpcmVzIl0gPSAiYWxsLWNvbXBsZXRlZCIKICAgICByZXR1cm4gdGFza19p
ZCwgdGFza19kYXRhCiAKIAorZGVmIGdldF9hcnRpZmFjdF9kYXRhKGFydGlmYWN0LCB0YXNrX2lk
X21hcCk6CisgICAgdGFza19pZCwgZGF0YSA9IHRhc2tfaWRfbWFwW2FydGlmYWN0WyJ0YXNrIl1d
CisgICAgcmV0dXJuIHsKKyAgICAgICAgInRhc2siOiB0YXNrX2lkLAorICAgICAgICAiZ2xvYiI6
IGFydGlmYWN0WyJnbG9iIl0sCisgICAgICAgICJkZXN0IjogYXJ0aWZhY3RbImRlc3QiXSwKKyAg
ICAgICAgImV4dHJhY3QiOiBhcnRpZmFjdC5nZXQoImV4dHJhY3QiLCBGYWxzZSkKKyAgICB9CisK
KwogZGVmIGJ1aWxkX3Rhc2tfZ3JhcGgoZXZlbnQsIGFsbF90YXNrcywgdGFza3MpOgogICAgIHRh
c2tfaWRfbWFwID0gT3JkZXJlZERpY3QoKQogICAgIHRhc2tncm91cF9pZCA9IG9zLmVudmlyb24u
Z2V0KCJUQVNLX0lEIiwgdGFza2NsdXN0ZXIuc2x1Z0lkKCkpCkBAIC0yNTgsNyArMjcxLDE0IEBA
IGRlZiBidWlsZF90YXNrX2dyYXBoKGV2ZW50LCBhbGxfdGFza3MsIHRhc2tzKToKICAgICAgICAg
ICAgICAgICAgICAgYWRkX3Rhc2soZGVwZW5kc19uYW1lLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBhbGxfdGFza3NbZGVwZW5kc19uYW1lXSkKICAgICAgICAgICAgICAgICBkZXBlbmRz
X29uX2lkcy5hcHBlbmQodGFza19pZF9tYXBbZGVwZW5kc19uYW1lXVswXSkKLSAgICAgICAgdGFz
a19pZCwgdGFza19kYXRhID0gY3JlYXRlX3RjX3Rhc2soZXZlbnQsIHRhc2ssIHRhc2tncm91cF9p
ZCwgZGVwZW5kc19vbl9pZHMpCisgICAgICAgIGVudl9leHRyYSA9IHt9CisgICAgICAgIGlmICJk
b3dubG9hZC1hcnRpZmFjdHMiIGluIHRhc2s6CisgICAgICAgICAgICBlbnZfZXh0cmFbIlRBU0tf
QVJUSUZBQ1RTIl0gPSBqc29uLmR1bXBzKAorICAgICAgICAgICAgICAgIFtnZXRfYXJ0aWZhY3Rf
ZGF0YShhcnRpZmFjdCwgdGFza19pZF9tYXApCisgICAgICAgICAgICAgICAgIGZvciBhcnRpZmFj
dCBpbiB0YXNrWyJkb3dubG9hZC1hcnRpZmFjdHMiXV0pCisKKyAgICAgICAgdGFza19pZCwgdGFz
a19kYXRhID0gY3JlYXRlX3RjX3Rhc2soZXZlbnQsIHRhc2ssIHRhc2tncm91cF9pZCwgZGVwZW5k
c19vbl9pZHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVu
dl9leHRyYT1lbnZfZXh0cmEpCiAgICAgICAgIHRhc2tfaWRfbWFwW3Rhc2tfbmFtZV0gPSAodGFz
a19pZCwgdGFza19kYXRhKQogCiAgICAgZm9yIHRhc2tfbmFtZSwgdGFzayBpbiBpdGVyaXRlbXMo
dGFza3MpOgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9jaS90Yy90YXNrcy90ZXN0LnltbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvY2kvdGMvdGFza3MvdGVzdC55bWwKaW5kZXgg
ZTgwZTc5NDIwM2VkY2EzYzhkNWYxOWVhOTgzM2E0Zjc5ZTk3OWYwOC4uMzE4NDM3YTgwZWMzMjQw
NzIxYTE3Y2M2MjUzZjI0MTEwOTAzOGI2NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9jaS90Yy90YXNrcy90ZXN0LnltbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2NpL3Rj
L3Rhc2tzL3Rlc3QueW1sCkBAIC00LDcgKzQsNyBAQCBjb21wb25lbnRzOgogICAgIHdvcmtlclR5
cGU6IGNpCiAgICAgc2NoZWR1bGVySWQ6IHRhc2tjbHVzdGVyLWdpdGh1YgogICAgIGRlYWRsaW5l
OiAiMjQgaG91cnMiCi0gICAgaW1hZ2U6IGhhcmpnYW0vd2ViLXBsYXRmb3JtLXRlc3RzOjAuMzQK
KyAgICBpbWFnZTogd2VicGxhdGZvcm10ZXN0cy93cHQ6MC4zNwogICAgIG1heFJ1blRpbWU6IDcy
MDAKICAgICBhcnRpZmFjdHM6CiAgICAgICBwdWJsaWMvcmVzdWx0czoKQEAgLTgyLDYgKzgyLDEx
IEBAIGNvbXBvbmVudHM6CiAgIGJyb3dzZXItZmlyZWZveDoKICAgICBkZXBlbmRzLW9uOgogICAg
ICAgLSBkb3dubG9hZC1maXJlZm94LSR7dmFycy5jaGFubmVsfQorICAgIGRvd25sb2FkLWFydGlm
YWN0czoKKyAgICAgIC0gdGFzazogZG93bmxvYWQtZmlyZWZveC0ke3ZhcnMuY2hhbm5lbH0KKyAg
ICAgICAgZ2xvYjogcHVibGljL3Jlc3VsdHMvZmlyZWZveC0ke3ZhcnMuY2hhbm5lbH0uKgorICAg
ICAgICBkZXN0OiBidWlsZC8KKyAgICAgICAgZXh0cmFjdDogdHJ1ZQogCiAgIGJyb3dzZXItd2Vi
a2l0Z3RrX21pbmlicm93c2VyOiB7fQogCkBAIC05OCw4ICsxMDMsMTUgQEAgY29tcG9uZW50czoK
ICAgICBlbnY6CiAgICAgICBUT1hFTlY6IHB5MzYKICAgICAgIFBZX0NPTE9SUzogMAorCisgIHRv
eC1weXRob24zODoKKyAgICBlbnY6CisgICAgICBUT1hFTlY6IHB5MzgKKyAgICAgIFBZX0NPTE9S
UzogMAogICAgIGluc3RhbGw6Ci0gICAgICAtIHB5dGhvbjMtcGlwCisgICAgICAtIHB5dGhvbjMu
OAorICAgICAgLSBweXRob24zLjgtZGlzdHV0aWxzCisgICAgICAtIHB5dGhvbjMuOC1kZXYKIAog
ICB0ZXN0cy1hZmZlY3RlZDoKICAgICBvcHRpb25zOgpAQCAtMjE4LDYgKzIzMCw3IEBAIHRhc2tz
OgogICAgICAgICAgICAgICAtLQogICAgICAgICAgICAgICAtLWNoYW5uZWw9JHt2YXJzLmNoYW5u
ZWx9CiAgICAgICAgICAgICAgIC0tdmVyaWZ5CisgICAgICAgICAgICAgIC0tdmVyaWZ5LW5vLWNo
YW9zLW1vZGUKIAogICAgICAgICAtIHdwdC0ke3ZhcnMuYnJvd3Nlcn0tJHt2YXJzLmNoYW5uZWx9
LXJlc3VsdHM6CiAgICAgICAgICAgICB1c2U6CkBAIC0yNzIsNyArMjg1LDcgQEAgdGFza3M6CiAg
ICAgICAgIGRvd25sb2FkLWZpcmVmb3gtJHt2YXJzLmNoYW5uZWx9OgogICAgICAgICAgIHVzZToK
ICAgICAgICAgICAgIC0gd3B0LWJhc2UKLSAgICAgICAgICBjb21tYW5kOiAiLi93cHQgaW5zdGFs
bCAtLWRvd25sb2FkLW9ubHkgLS1kZXN0aW5hdGlvbiAvaG9tZS90ZXN0L2FydGlmYWN0cy8gLS1j
aGFubmVsPSR7dmFycy5jaGFubmVsfSBmaXJlZm94IGJyb3dzZXIiCisgICAgICAgICAgY29tbWFu
ZDogIi4vd3B0IGluc3RhbGwgLS1kb3dubG9hZC1vbmx5IC0tZGVzdGluYXRpb24gL2hvbWUvdGVz
dC9hcnRpZmFjdHMvIC0tY2hhbm5lbD0ke3ZhcnMuY2hhbm5lbH0gIC0tcmVuYW1lPWZpcmVmb3gt
JHt2YXJzLmNoYW5uZWx9IGZpcmVmb3ggYnJvd3NlciIKIAogICAtIGxpbnQ6CiAgICAgICB1c2U6
CkBAIC0zMDYsOSArMzE5LDkgQEAgdGFza3M6CiAgICAgICAgIHJ1bi1qb2I6CiAgICAgICAgICAg
LSB0b29sc191bml0dGVzdAogCi0gIC0gdG9vbHMvIHVuaXR0ZXN0cyAoUHl0aG9uIDMpOgorICAt
IHRvb2xzLyB1bml0dGVzdHMgKFB5dGhvbiAzLjYpOgogICAgICAgZGVzY3JpcHRpb246ID4tCi0g
ICAgICAgIFVuaXQgdGVzdHMgZm9yIHRvb2xzIHJ1bm5pbmcgdW5kZXIgUHl0aG9uIDMsIGV4Y2x1
ZGluZyB3cHRydW5uZXIKKyAgICAgICAgVW5pdCB0ZXN0cyBmb3IgdG9vbHMgcnVubmluZyB1bmRl
ciBQeXRob24gMy42LCBleGNsdWRpbmcgd3B0cnVubmVyCiAgICAgICB1c2U6CiAgICAgICAgIC0g
d3B0LWJhc2UKICAgICAgICAgLSB0cmlnZ2VyLXByCkBAIC0zMjAsNyArMzMzLDIxIEBAIHRhc2tz
OgogICAgICAgICBydW4tam9iOgogICAgICAgICAgIC0gdG9vbHNfdW5pdHRlc3QKIAotICAtIHRv
b2xzL3dwdC8gdGVzdHM6CisgIC0gdG9vbHMvIHVuaXR0ZXN0cyAoUHl0aG9uIDMuOCk6CisgICAg
ICBkZXNjcmlwdGlvbjogPi0KKyAgICAgICAgVW5pdCB0ZXN0cyBmb3IgdG9vbHMgcnVubmluZyB1
bmRlciBQeXRob24gMy44LCBleGNsdWRpbmcgd3B0cnVubmVyCisgICAgICB1c2U6CisgICAgICAg
IC0gd3B0LWJhc2UKKyAgICAgICAgLSB0cmlnZ2VyLXByCisgICAgICAgIC0gdG94LXB5dGhvbjM4
CisgICAgICBjb21tYW5kOiAuL3Rvb2xzL2NpL2NpX3Rvb2xzX3VuaXR0ZXN0LnNoCisgICAgICBl
bnY6CisgICAgICAgIEhZUE9USEVTSVNfUFJPRklMRTogY2kKKyAgICAgIHNjaGVkdWxlLWlmOgor
ICAgICAgICBydW4tam9iOgorICAgICAgICAgIC0gdG9vbHNfdW5pdHRlc3QKKworICAtIHRvb2xz
L3dwdC8gdGVzdHMgKFB5dGhvbiAyKToKICAgICAgIGRlc2NyaXB0aW9uOiA+LQogICAgICAgICBJ
bnRlZ3JhdGlvbiB0ZXN0cyBmb3Igd3B0IGNvbW1hbmRzCiAgICAgICB1c2U6CkBAIC0zNDIsNiAr
MzY5LDUwIEBAIHRhc2tzOgogICAgICAgICBydW4tam9iOgogICAgICAgICAgIC0gd3B0X2ludGVn
cmF0aW9uCiAKKyAgLSB0b29scy93cHQvIHRlc3RzIChQeXRob24gMy42KToKKyAgICAgIGRlc2Ny
aXB0aW9uOiA+LQorICAgICAgICBJbnRlZ3JhdGlvbiB0ZXN0cyBmb3Igd3B0IGNvbW1hbmRzCisg
ICAgICB1c2U6CisgICAgICAgIC0gd3B0LWJhc2UKKyAgICAgICAgLSB0cmlnZ2VyLXByCisgICAg
ICAgIC0gdG94LXB5dGhvbjMKKyAgICAgIGNvbW1hbmQ6IC4vdG9vbHMvY2kvY2lfd3B0LnNoCisg
ICAgICBpbnN0YWxsOgorICAgICAgICAtIGxpYm5zczMtdG9vbHMKKyAgICAgIG9wdGlvbnM6Cisg
ICAgICAgIG9vbS1raWxsZXI6IHRydWUKKyAgICAgICAgYnJvd3NlcjoKKyAgICAgICAgICAtIGZp
cmVmb3gKKyAgICAgICAgICAtIGNocm9tZQorICAgICAgICBjaGFubmVsOiBleHBlcmltZW50YWwK
KyAgICAgICAgeHZmYjogdHJ1ZQorICAgICAgICBob3N0czogdHJ1ZQorICAgICAgc2NoZWR1bGUt
aWY6CisgICAgICAgIHJ1bi1qb2I6CisgICAgICAgICAgLSB3cHRfaW50ZWdyYXRpb24KKworICAt
IHRvb2xzL3dwdC8gdGVzdHMgKFB5dGhvbiAzLjgpOgorICAgICAgZGVzY3JpcHRpb246ID4tCisg
ICAgICAgIEludGVncmF0aW9uIHRlc3RzIGZvciB3cHQgY29tbWFuZHMKKyAgICAgIHVzZToKKyAg
ICAgICAgLSB3cHQtYmFzZQorICAgICAgICAtIHRyaWdnZXItcHIKKyAgICAgICAgLSB0b3gtcHl0
aG9uMzgKKyAgICAgIGNvbW1hbmQ6IC4vdG9vbHMvY2kvY2lfd3B0LnNoCisgICAgICBpbnN0YWxs
OgorICAgICAgICAtIGxpYm5zczMtdG9vbHMKKyAgICAgIG9wdGlvbnM6CisgICAgICAgIG9vbS1r
aWxsZXI6IHRydWUKKyAgICAgICAgYnJvd3NlcjoKKyAgICAgICAgICAtIGZpcmVmb3gKKyAgICAg
ICAgICAtIGNocm9tZQorICAgICAgICBjaGFubmVsOiBleHBlcmltZW50YWwKKyAgICAgICAgeHZm
YjogdHJ1ZQorICAgICAgICBob3N0czogdHJ1ZQorICAgICAgc2NoZWR1bGUtaWY6CisgICAgICAg
IHJ1bi1qb2I6CisgICAgICAgICAgLSB3cHRfaW50ZWdyYXRpb24KKwogICAtIHJlc291cmNlcy8g
dGVzdHM6CiAgICAgICBkZXNjcmlwdGlvbjogPi0KICAgICAgICAgVGVzdHMgZm9yIHRlc3RoYXJu
ZXNzLmpzIGFuZCBvdGhlciBmaWxlcyBpbiByZXNvdXJjZXMvCkBAIC0zNjIsMTAgKzQzMywxMiBA
QCB0YXNrczoKICAgLSBpbmZyYXN0cnVjdHVyZS8gdGVzdHM6CiAgICAgICBkZXNjcmlwdGlvbjog
Pi0KICAgICAgICAgU21va2V0ZXN0cyBmb3Igd3B0cnVubmVyCisgICAgICB2YXJzOgorICAgICAg
ICBjaGFubmVsOiBuaWdodGx5CiAgICAgICB1c2U6CiAgICAgICAgIC0gd3B0LWJhc2UKICAgICAg
ICAgLSB0cmlnZ2VyLXByCi0gICAgICAgIC0gdG94LXB5dGhvbjIKKyAgICAgICAgLSBicm93c2Vy
LWZpcmVmb3gKICAgICAgIGNvbW1hbmQ6IC4vdG9vbHMvY2kvY2lfd3B0cnVubmVyX2luZnJhc3Ry
dWN0dXJlLnNoCiAgICAgICBpbnN0YWxsOgogICAgICAgICAtIGxpYm5zczMtdG9vbHMKQEAgLTM4
MiwzICs0NTUsMjggQEAgdGFza3M6CiAgICAgICBzY2hlZHVsZS1pZjoKICAgICAgICAgcnVuLWpv
YjoKICAgICAgICAgICAtIHdwdHJ1bm5lcl9pbmZyYXN0cnVjdHVyZQorCisgIC0gaW5mcmFzdHJ1
Y3R1cmUvIHRlc3RzIChQeXRob24gMyk6CisgICAgICBkZXNjcmlwdGlvbjogPi0KKyAgICAgICAg
U21va2V0ZXN0cyBmb3Igd3B0cnVubmVyCisgICAgICB2YXJzOgorICAgICAgICBjaGFubmVsOiBu
aWdodGx5CisgICAgICB1c2U6CisgICAgICAgIC0gd3B0LWJhc2UKKyAgICAgICAgLSB0cmlnZ2Vy
LXByCisgICAgICBjb21tYW5kOiAuL3Rvb2xzL2NpL2NpX3dwdHJ1bm5lcl9pbmZyYXN0cnVjdHVy
ZS5zaCAtLXB5MworICAgICAgaW5zdGFsbDoKKyAgICAgICAgLSBweXRob24zLXBpcAorICAgICAg
ICAtIGxpYm5zczMtdG9vbHMKKyAgICAgICAgLSBsaWJhcHBpbmRpY2F0b3IxCisgICAgICAgIC0g
Zm9udHMtbGliZXJhdGlvbgorICAgICAgb3B0aW9uczoKKyAgICAgICAgb29tLWtpbGxlcjogdHJ1
ZQorICAgICAgICBicm93c2VyOgorICAgICAgICAgIC0gY2hyb21lCisgICAgICAgIGNoYW5uZWw6
IGV4cGVyaW1lbnRhbAorICAgICAgICB4dmZiOiB0cnVlCisgICAgICAgIGhvc3RzOiBmYWxzZQor
ICAgICAgc2NoZWR1bGUtaWY6CisgICAgICAgIHJ1bi1qb2I6CisgICAgICAgICAgLSB3cHRydW5u
ZXJfaW5mcmFzdHJ1Y3R1cmUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvY2kvdGMvdGVzdHMvdGVzdF92YWxpZC5weSBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvY2kvdGMvdGVzdHMv
dGVzdF92YWxpZC5weQppbmRleCBiMTcwOTI4YjI5MGEyN2Y3NWVhZGE2NjE2MmVhNDA0YTFkYmFl
OWY5Li40N2NiYzJlODdiYjgwNTk3ZGQ5ODBlOWY5OGJjNDEzYjA0MTZiNTUyIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2NpL3Rj
L3Rlc3RzL3Rlc3RfdmFsaWQucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy9jaS90Yy90ZXN0cy90ZXN0X3ZhbGlkLnB5CkBAIC02LDcgKzYs
NiBAQCBpbXBvcnQganNvbmUKIGltcG9ydCBtb2NrCiBpbXBvcnQgcHl0ZXN0CiBpbXBvcnQgcmVx
dWVzdHMKLWltcG9ydCBzeXMKIGltcG9ydCB5YW1sCiBmcm9tIGpzb25zY2hlbWEgaW1wb3J0IHZh
bGlkYXRlCiAKQEAgLTIwLDkgKzE5LDYgQEAgZGVmIGRhdGFfcGF0aChmaWxlbmFtZSk6CiAgICAg
cmV0dXJuIG9zLnBhdGguam9pbihoZXJlLCAiLi4iLCAidGVzdGRhdGEiLCBmaWxlbmFtZSkKIAog
Ci1AcHl0ZXN0Lm1hcmsueGZhaWwoc3lzLnZlcnNpb25faW5mby5tYWpvciA9PSAyLAotICAgICAg
ICAgICAgICAgICAgIHJlYXNvbj0idGFza2NsdXN0ZXIgbGlicmFyeSBoYXMgYW4gZW5jb2Rpbmcg
YnVnICIKLSAgICAgICAgICAgICAgICAgICAiaHR0cHM6Ly9naXRodWIuY29tL3Rhc2tjbHVzdGVy
L2pzb24tZS9pc3N1ZXMvMzM4IikKIGRlZiB0ZXN0X3ZlcmlmeV90YXNrY2x1c3Rlcl95bWwoKToK
ICAgICAiIiJWZXJpZnkgdGhhdCB0aGUganNvbi1lIGluIHRoZSAudGFza2NsdXN0ZXIueW1sIGlz
IHZhbGlkIiIiCiAgICAgd2l0aCBvcGVuKG9zLnBhdGguam9pbihyb290LCAiLnRhc2tjbHVzdGVy
LnltbCIpLCBlbmNvZGluZz0idXRmOCIpIGFzIGY6CkBAIC00NiwxMSArNDIsMTcgQEAgZGVmIHRl
c3RfdmVyaWZ5X3BheWxvYWQoKToKICAgICAiIiJWZXJpZnkgdGhhdCB0aGUgZGVjaXNpb24gdGFz
ayBwcm9kdWNlcyB0YXNrcyB3aXRoIGEgdmFsaWQgcGF5bG9hZCIiIgogICAgIGZyb20gdG9vbHMu
Y2kudGMuZGVjaXNpb24gaW1wb3J0IGRlY2lkZQogCi0gICAgY3JlYXRlX3Rhc2tfc2NoZW1hID0g
cmVxdWVzdHMuZ2V0KAotICAgICAgICAiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29t
L3Rhc2tjbHVzdGVyL3Rhc2tjbHVzdGVyL2Jsb2IvbWFzdGVyL3NlcnZpY2VzL3F1ZXVlL3NjaGVt
YXMvdjEvY3JlYXRlLXRhc2stcmVxdWVzdC55bWwiKQotICAgIGNyZWF0ZV90YXNrX3NjaGVtYSA9
IHlhbWwuc2FmZV9sb2FkKGNyZWF0ZV90YXNrX3NjaGVtYS5jb250ZW50KQorICAgIHIgPSByZXF1
ZXN0cy5nZXQoImh0dHBzOi8vY29tbXVuaXR5LXRjLnNlcnZpY2VzLm1vemlsbGEuY29tL3NjaGVt
YXMvcXVldWUvdjEvY3JlYXRlLXRhc2stcmVxdWVzdC5qc29uIikKKyAgICByLnJhaXNlX2Zvcl9z
dGF0dXMoKQorICAgIGNyZWF0ZV90YXNrX3NjaGVtYSA9IHIuanNvbigpCiAKLSAgICBwYXlsb2Fk
X3NjaGVtYSA9IHJlcXVlc3RzLmdldCgiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29t
L3Rhc2tjbHVzdGVyL2RvY2tlci13b3JrZXIvbWFzdGVyL3NjaGVtYXMvdjEvcGF5bG9hZC5qc29u
IikuanNvbigpCisgICAgIyBUT0RPKEhleGNsZXMpOiBDaGFuZ2UgaXQgdG8gaHR0cHM6Ly9jb21t
dW5pdHktdGMuc2VydmljZXMubW96aWxsYS5jb20vcmVmZXJlbmNlcy9zY2hlbWFzL2RvY2tlci13
b3JrZXIvdjEvcGF5bG9hZC5qc29uCisgICAgIyBhZnRlciB0aGUgbmV4dCBDb21tdW5pdHktVEMg
cmVsZWFzZSAoc2VlIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lk
PTE2Mzk3MzIpLi4KKyAgICByID0gcmVxdWVzdHMuZ2V0KAorICAgICAgICAiaHR0cHM6Ly9yYXcu
Z2l0aHVidXNlcmNvbnRlbnQuY29tL3Rhc2tjbHVzdGVyL3Rhc2tjbHVzdGVyLyIKKyAgICAgICAg
IjNlZDUxMWVmOTExOWRhNTRmYzA5M2U5NzZiN2I1OTU1ODc0YzliNTQvd29ya2Vycy9kb2NrZXIt
d29ya2VyL3NjaGVtYXMvdjEvcGF5bG9hZC5qc29uIikKKyAgICByLnJhaXNlX2Zvcl9zdGF0dXMo
KQorICAgIHBheWxvYWRfc2NoZW1hID0gci5qc29uKCkKIAogICAgIGpvYnMgPSBbImxpbnQiLAog
ICAgICAgICAgICAgIm1hbmlmZXN0X3VwbG9hZCIsCkBAIC0xMjcsMTIgKzEyOSwxNyBAQCBkZWYg
dGVzdF92ZXJpZnlfcGF5bG9hZCgpOgogICAgICAgJ3dwdC1jaHJvbWUtZGV2LWNyYXNodGVzdC0x
JywKICAgICAgICdsaW50J30pLAogICAgICgicHJfZXZlbnQuanNvbiIsIFRydWUsIHsiLnRhc2tj
bHVzdGVyLnltbCIsIi50cmF2aXMueW1sIiwidG9vbHMvY2kvc3RhcnQuc2gifSwKLSAgICAgeyds
aW50JywKKyAgICAgeydkb3dubG9hZC1maXJlZm94LW5pZ2h0bHknLAorICAgICAgJ2xpbnQnLAog
ICAgICAgJ3Rvb2xzLyB1bml0dGVzdHMgKFB5dGhvbiAyKScsCi0gICAgICAndG9vbHMvIHVuaXR0
ZXN0cyAoUHl0aG9uIDMpJywKLSAgICAgICd0b29scy93cHQvIHRlc3RzJywKKyAgICAgICd0b29s
cy8gdW5pdHRlc3RzIChQeXRob24gMy42KScsCisgICAgICAndG9vbHMvIHVuaXR0ZXN0cyAoUHl0
aG9uIDMuOCknLAorICAgICAgJ3Rvb2xzL3dwdC8gdGVzdHMgKFB5dGhvbiAyKScsCisgICAgICAn
dG9vbHMvd3B0LyB0ZXN0cyAoUHl0aG9uIDMuNiknLAorICAgICAgJ3Rvb2xzL3dwdC8gdGVzdHMg
KFB5dGhvbiAzLjgpJywKICAgICAgICdyZXNvdXJjZXMvIHRlc3RzJywKLSAgICAgICdpbmZyYXN0
cnVjdHVyZS8gdGVzdHMnfSksCisgICAgICAnaW5mcmFzdHJ1Y3R1cmUvIHRlc3RzJywKKyAgICAg
ICdpbmZyYXN0cnVjdHVyZS8gdGVzdHMgKFB5dGhvbiAzKSd9KSwKICAgICAjIE1vcmUgdGVzdHMg
YXJlIGFmZmVjdGVkIGluIHRoZSBhY3R1YWwgUFIgYnV0IGl0IHNob3VsZG4ndCBhZmZlY3QgdGhl
IHNjaGVkdWxlZCB0YXNrcwogICAgICgicHJfZXZlbnRfdGVzdHNfYWZmZWN0ZWQuanNvbiIsIFRy
dWUsIHsibGF5b3V0LWluc3RhYmlsaXR5L2NsaXAtbmVnYXRpdmUtYm90dG9tLW1hcmdpbi5odG1s
IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxheW91dC1p
bnN0YWJpbGl0eS9jb21wb3NpdGVkLWVsZW1lbnQtbW92ZW1lbnQuaHRtbCJ9LApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9jaS90
ZXN0cy90ZXN0X2pvYnMucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL2NpL3Rlc3RzL3Rlc3Rfam9icy5weQppbmRleCA5NGY3OTk4NzcwY2Y1ZDhi
YWQzNmQxODhkZDYzZTI1M2Y5ODE5OWE4Li5hYTEyNzM4MjA0ZjM2NTJlMmRmOTY0NDQ0NjkzNjhl
MGU2MjYxOTIzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL2NpL3Rlc3RzL3Rlc3Rfam9icy5weQorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2NpL3Rlc3RzL3Rlc3Rfam9icy5w
eQpAQCAtMTE0LDExICsxMTQsMTEgQEAgZGVmIHRlc3RfYnVpbGRfY3NzKCk6CiAKIAogZGVmIHRl
c3RfdXBkYXRlX2J1aWx0KCk6Ci0gICAgYXNzZXJ0IGpvYnMuZ2V0X2pvYnMoWyIyZGNvbnRleHQv
Zm9vLmh0bWwiXSwKKyAgICBhc3NlcnQgam9icy5nZXRfam9icyhbImh0bWwvY2FudmFzL2VsZW1l
bnQvZm9vLmh0bWwiXSwKICAgICAgICAgICAgICAgICAgICAgICAgICBpbmNsdWRlcz1bInVwZGF0
ZV9idWlsdCJdKSA9PSB7InVwZGF0ZV9idWlsdCJ9CiAgICAgYXNzZXJ0IGpvYnMuZ2V0X2pvYnMo
WyJodG1sL2Zvby5odG1sIl0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgaW5jbHVkZXM9WyJ1
cGRhdGVfYnVpbHQiXSkgPT0geyJ1cGRhdGVfYnVpbHQifQotICAgIGFzc2VydCBqb2JzLmdldF9q
b2JzKFsib2Zmc2NyZWVuLWNhbnZhcy9mb28uaHRtbCJdLAorICAgIGFzc2VydCBqb2JzLmdldF9q
b2JzKFsiaHRtbC9jYW52YXMvb2Zmc2NyZWVuL2Zvby5odG1sIl0sCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgaW5jbHVkZXM9WyJ1cGRhdGVfYnVpbHQiXSkgPT0geyJ1cGRhdGVfYnVpbHQifQog
CiAKQEAgLTEzNCwzICsxMzQsNyBAQCBkZWYgdGVzdF93cHRfaW5mcmFzdHJ1Y3R1cmUoKToKICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbmNsdWRlcz1bIndwdHJ1bm5lcl9pbmZyYXN0cnVjdHVy
ZSJdKSA9PSB7IndwdHJ1bm5lcl9pbmZyYXN0cnVjdHVyZSJ9CiAgICAgYXNzZXJ0IGpvYnMuZ2V0
X2pvYnMoWyJpbmZyYXN0cnVjdHVyZS9hc3N1bXB0aW9ucy9haGVtLmh0bWwiXSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbmNsdWRlcz1bIndwdHJ1bm5lcl9pbmZyYXN0cnVjdHVyZSJdKSA9
PSB7IndwdHJ1bm5lcl9pbmZyYXN0cnVjdHVyZSJ9CisKK2RlZiB0ZXN0X3dkc3BlY19zdXBwb3J0
KCk6CisgICAgYXNzZXJ0IGpvYnMuZ2V0X2pvYnMoWyJ3ZWJkcml2ZXIvdGVzdHMvc3VwcG9ydC9f
X2luaXRfXy5weSJdLAorICAgICAgICAgICAgICAgICAgICAgICAgIGluY2x1ZGVzPVsid3B0cnVu
bmVyX2luZnJhc3RydWN0dXJlIl0pID09IHsid3B0cnVubmVyX2luZnJhc3RydWN0dXJlIn0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvY2kvdGVzdHMvdGVzdF9wcl9wcmV2aWV3LnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9jaS90ZXN0cy90ZXN0X3ByX3ByZXZpZXcucHkKaW5k
ZXggNjM0ODJmYjE4NGM3ZjE0ZGIwZWJkNDVjMTg3OTRlM2E5NzcxYzkwYi4uMmQ5OTY2ZmM4Y2Y0
MTg3OTEzYWRjZTg2MDllZTc1MGFkZTFiOTc5NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9jaS90ZXN0cy90ZXN0X3ByX3ByZXZp
ZXcucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy9jaS90ZXN0cy90ZXN0X3ByX3ByZXZpZXcucHkKQEAgLTExNSw2ICsxMTUsNyBAQCBjbGFz
cyBNb2NrU2VydmVyKEhUVFBTZXJ2ZXIsIG9iamVjdCk6CiBjbGFzcyBSZXF1ZXN0cyhvYmplY3Qp
OgogICAgIGdldF9yYXRlID0gKCdHRVQnLCAnL3JhdGVfbGltaXQnLCB7fSkKICAgICBzZWFyY2gg
PSAoJ0dFVCcsICcvc2VhcmNoL2lzc3VlcycsIHt9KQorICAgIHByX2RldGFpbHMgPSAoJ0dFVCcs
ICcvcmVwb3MvdGVzdC1vcmcvdGVzdC1yZXBvL3B1bGxzLzIzJywge30pCiAgICAgcmVmX2NyZWF0
ZV9vcGVuID0gKAogICAgICAgICAnUE9TVCcsICcvcmVwb3MvdGVzdC1vcmcvdGVzdC1yZXBvL2dp
dC9yZWZzJywgeydyZWYnOidyZWZzL3Bycy1vcGVuLzIzJ30KICAgICApCkBAIC0zNzYsNiArMzc3
LDcgQEAgZGVmIHRlc3Rfc3luY2hyb25pemVfc3luY19jb2xsYWJvcmF0b3IoKToKICAgICAgICAg
KFJlcXVlc3RzLmdldF9yYXRlLCBSZXNwb25zZXMubm9fbGltaXQpLAogICAgICAgICAoUmVxdWVz
dHMuZ2V0X3JhdGUsIFJlc3BvbnNlcy5ub19saW1pdCksCiAgICAgICAgIChSZXF1ZXN0cy5nZXRf
cmF0ZSwgUmVzcG9uc2VzLm5vX2xpbWl0KSwKKyAgICAgICAgKFJlcXVlc3RzLmdldF9yYXRlLCBS
ZXNwb25zZXMubm9fbGltaXQpLAogICAgICAgICAoUmVxdWVzdHMuc2VhcmNoLCAoCiAgICAgICAg
ICAgICAyMDAsCiAgICAgICAgICAgICB7CkBAIC0zOTEsNiArMzkzLDE1IEBAIGRlZiB0ZXN0X3N5
bmNocm9uaXplX3N5bmNfY29sbGFib3JhdG9yKCk6CiAgICAgICAgICAgICAgICAgJ2luY29tcGxl
dGVfcmVzdWx0cyc6IEZhbHNlCiAgICAgICAgICAgICB9CiAgICAgICAgICkpLAorICAgICAgICAo
UmVxdWVzdHMucHJfZGV0YWlscywgKDIwMCwKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICAnaGVhZCc6IHsKKyAgICAgICAgICAgICAgICAgICAgJ3JlcG8nOiB7CisgICAgICAgICAgICAg
ICAgICAgICAgICAnZnVsbF9uYW1lJzogJ3Rlc3Qtb3JnL3Rlc3QtcmVwbycKKyAgICAgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgKSks
CiAgICAgICAgIChSZXF1ZXN0cy5yZWZfY3JlYXRlX29wZW4sICgyMDAsIHt9KSksCiAgICAgICAg
IChSZXF1ZXN0cy5yZWZfY3JlYXRlX3RydXN0ZWQsICgyMDAsIHt9KSksCiAgICAgICAgIChSZXF1
ZXN0cy5kZXBsb3ltZW50X2dldCwgKDIwMCwge30pKSwKQEAgLTQ1Miw2ICs0NjMsNDEgQEAgZGVm
IHRlc3Rfc3luY2hyb25pemVfaWdub3JlX3VudHJ1c3RlZF9jb250cmlidXRvcigpOgogICAgIGFz
c2VydCByZXR1cm5jb2RlID09IDAKICAgICBhc3NlcnQgc2FtZV9tZW1iZXJzKGV4cGVjdGVkX3Ry
YWZmaWMsIGFjdHVhbF90cmFmZmljKQogCitkZWYgdGVzdF9zeW5jaHJvbml6ZV9pZ25vcmVfcHVs
bF9yZXF1ZXN0X2Zyb21fZm9yaygpOgorICAgIGV4cGVjdGVkX3RyYWZmaWMgPSBbCisgICAgICAg
IChSZXF1ZXN0cy5nZXRfcmF0ZSwgUmVzcG9uc2VzLm5vX2xpbWl0KSwKKyAgICAgICAgKFJlcXVl
c3RzLmdldF9yYXRlLCBSZXNwb25zZXMubm9fbGltaXQpLAorICAgICAgICAoUmVxdWVzdHMuc2Vh
cmNoLCAoCisgICAgICAgICAgICAyMDAsCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
J2l0ZW1zJzogWworICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAg
ICAnbnVtYmVyJzogMjMsCisgICAgICAgICAgICAgICAgICAgICAgICAnbGFiZWxzJzogW10sCisg
ICAgICAgICAgICAgICAgICAgICAgICAnY2xvc2VkX2F0JzogTm9uZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICd1c2VyJzogeydsb2dpbic6ICdncmFjZSd9LAorICAgICAgICAgICAgICAgICAg
ICAgICAgJ2F1dGhvcl9hc3NvY2lhdGlvbic6ICdDT0xMQUJPUkFUT1InCisgICAgICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgICAgICBdLAorICAgICAgICAgICAgICAgICdpbmNvbXBsZXRl
X3Jlc3VsdHMnOiBGYWxzZQorICAgICAgICAgICAgfQorICAgICAgICApKSwKKyAgICAgICAgKFJl
cXVlc3RzLnByX2RldGFpbHMsICgyMDAsCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
J2hlYWQnOiB7CisgICAgICAgICAgICAgICAgICAgICdyZXBvJzogeworICAgICAgICAgICAgICAg
ICAgICAgICAgJ2Z1bGxfbmFtZSc6ICdzb21lLW90aGVyLW9yZy90ZXN0LXJlcG8nCisgICAgICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAg
ICkpLAorICAgIF0KKworICAgIHJldHVybmNvZGUsIGFjdHVhbF90cmFmZmljLCByZW1vdGVfcmVm
cyA9IHN5bmNocm9uaXplKGV4cGVjdGVkX3RyYWZmaWMpCisKKyAgICBhc3NlcnQgcmV0dXJuY29k
ZSA9PSAwCisgICAgYXNzZXJ0IHNhbWVfbWVtYmVycyhleHBlY3RlZF90cmFmZmljLCBhY3R1YWxf
dHJhZmZpYykKKwogZGVmIHRlc3Rfc3luY2hyb25pemVfc3luY190cnVzdGVkX2NvbnRyaWJ1dG9y
KCk6CiAgICAgZXhwZWN0ZWRfdHJhZmZpYyA9IFsKICAgICAgICAgKFJlcXVlc3RzLmdldF9yYXRl
LCBSZXNwb25zZXMubm9fbGltaXQpLApAQCAtNDU5LDEyICs1MDUsMTUgQEAgZGVmIHRlc3Rfc3lu
Y2hyb25pemVfc3luY190cnVzdGVkX2NvbnRyaWJ1dG9yKCk6CiAgICAgICAgIChSZXF1ZXN0cy5n
ZXRfcmF0ZSwgUmVzcG9uc2VzLm5vX2xpbWl0KSwKICAgICAgICAgKFJlcXVlc3RzLmdldF9yYXRl
LCBSZXNwb25zZXMubm9fbGltaXQpLAogICAgICAgICAoUmVxdWVzdHMuZ2V0X3JhdGUsIFJlc3Bv
bnNlcy5ub19saW1pdCksCisgICAgICAgIChSZXF1ZXN0cy5nZXRfcmF0ZSwgUmVzcG9uc2VzLm5v
X2xpbWl0KSwKICAgICAgICAgKFJlcXVlc3RzLnNlYXJjaCwgKAogICAgICAgICAgICAgMjAwLAog
ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICdpdGVtcyc6IFsKICAgICAgICAgICAgICAg
ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgJ251bWJlcic6IDIzLAorICAgICAgICAg
ICAgICAgICAgICAgICAgIyB1c2VyIGhlcmUgaXMgYSBjb250cmlidXRvciAodW50cnVzdGVkKSwg
YnV0IHRoZSBpc3N1ZQorICAgICAgICAgICAgICAgICAgICAgICAgIyBoYXMgYmVlbiBsYWJlbGxl
ZCBhcyBzYWZlLgogICAgICAgICAgICAgICAgICAgICAgICAgJ2xhYmVscyc6IFt7J25hbWUnOiAn
c2FmZSBmb3IgcHJldmlldyd9XSwKICAgICAgICAgICAgICAgICAgICAgICAgICdjbG9zZWRfYXQn
OiBOb25lLAogICAgICAgICAgICAgICAgICAgICAgICAgJ3VzZXInOiB7J2xvZ2luJzogJ0hleGNs
ZXMnfSwKQEAgLTQ3NCw2ICs1MjMsNjAgQEAgZGVmIHRlc3Rfc3luY2hyb25pemVfc3luY190cnVz
dGVkX2NvbnRyaWJ1dG9yKCk6CiAgICAgICAgICAgICAgICAgJ2luY29tcGxldGVfcmVzdWx0cyc6
IEZhbHNlCiAgICAgICAgICAgICB9CiAgICAgICAgICkpLAorICAgICAgICAoUmVxdWVzdHMucHJf
ZGV0YWlscywgKDIwMCwKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAnaGVhZCc6IHsK
KyAgICAgICAgICAgICAgICAgICAgJ3JlcG8nOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAn
ZnVsbF9uYW1lJzogJ3Rlc3Qtb3JnL3Rlc3QtcmVwbycKKyAgICAgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgKSksCisgICAgICAgIChS
ZXF1ZXN0cy5yZWZfY3JlYXRlX29wZW4sICgyMDAsIHt9KSksCisgICAgICAgIChSZXF1ZXN0cy5y
ZWZfY3JlYXRlX3RydXN0ZWQsICgyMDAsIHt9KSksCisgICAgICAgIChSZXF1ZXN0cy5kZXBsb3lt
ZW50X2dldCwgKDIwMCwgW10pKSwKKyAgICAgICAgKFJlcXVlc3RzLmRlcGxveW1lbnRfY3JlYXRl
LCAoMjAwLCB7fSkpCisgICAgXQorCisgICAgcmV0dXJuY29kZSwgYWN0dWFsX3RyYWZmaWMsIHJl
bW90ZV9yZWZzID0gc3luY2hyb25pemUoZXhwZWN0ZWRfdHJhZmZpYykKKworICAgIGFzc2VydCBy
ZXR1cm5jb2RlID09IDAKKyAgICBhc3NlcnQgc2FtZV9tZW1iZXJzKGV4cGVjdGVkX3RyYWZmaWMs
IGFjdHVhbF90cmFmZmljKQorCitkZWYgdGVzdF9zeW5jaHJvbml6ZV9zeW5jX2JvdF93aXRoX2xh
YmVsKCk6CisgICAgZXhwZWN0ZWRfdHJhZmZpYyA9IFsKKyAgICAgICAgKFJlcXVlc3RzLmdldF9y
YXRlLCBSZXNwb25zZXMubm9fbGltaXQpLAorICAgICAgICAoUmVxdWVzdHMuZ2V0X3JhdGUsIFJl
c3BvbnNlcy5ub19saW1pdCksCisgICAgICAgIChSZXF1ZXN0cy5nZXRfcmF0ZSwgUmVzcG9uc2Vz
Lm5vX2xpbWl0KSwKKyAgICAgICAgKFJlcXVlc3RzLmdldF9yYXRlLCBSZXNwb25zZXMubm9fbGlt
aXQpLAorICAgICAgICAoUmVxdWVzdHMuZ2V0X3JhdGUsIFJlc3BvbnNlcy5ub19saW1pdCksCisg
ICAgICAgIChSZXF1ZXN0cy5nZXRfcmF0ZSwgUmVzcG9uc2VzLm5vX2xpbWl0KSwKKyAgICAgICAg
KFJlcXVlc3RzLnNlYXJjaCwgKAorICAgICAgICAgICAgMjAwLAorICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgICdpdGVtcyc6IFsKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAg
ICAgICAgICAgICAgICAgJ251bWJlcic6IDIzLAorICAgICAgICAgICAgICAgICAgICAgICAgIyB1
c2VyIGhlcmUgaXMgYSBib3Qgd2hpY2ggaXMgbm9ybWFsbHkgbm90IG1pcnJvcmVkLAorICAgICAg
ICAgICAgICAgICAgICAgICAgIyBidXQgdGhlIGlzc3VlIGhhcyBiZWVuIGxhYmVsbGVkIGFzIHNh
ZmUuCisgICAgICAgICAgICAgICAgICAgICAgICAnbGFiZWxzJzogW3snbmFtZSc6ICdzYWZlIGZv
ciBwcmV2aWV3J31dLAorICAgICAgICAgICAgICAgICAgICAgICAgJ2Nsb3NlZF9hdCc6IE5vbmUs
CisgICAgICAgICAgICAgICAgICAgICAgICAndXNlcic6IHsnbG9naW4nOiAnY2hyb21pdW0td3B0
LWV4cG9ydC1ib3QnfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICdhdXRob3JfYXNzb2NpYXRp
b24nOiAnQ09MTEFCT1JBVE9SJworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAg
ICAgXSwKKyAgICAgICAgICAgICAgICAnaW5jb21wbGV0ZV9yZXN1bHRzJzogRmFsc2UKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgKSksCisgICAgICAgIChSZXF1ZXN0cy5wcl9kZXRhaWxzLCAoMjAw
LAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICdoZWFkJzogeworICAgICAgICAgICAg
ICAgICAgICAncmVwbyc6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICdmdWxsX25hbWUnOiAn
dGVzdC1vcmcvdGVzdC1yZXBvJworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfQorICAgICAgICApKSwKICAgICAgICAgKFJlcXVlc3RzLnJlZl9j
cmVhdGVfb3BlbiwgKDIwMCwge30pKSwKICAgICAgICAgKFJlcXVlc3RzLnJlZl9jcmVhdGVfdHJ1
c3RlZCwgKDIwMCwge30pKSwKICAgICAgICAgKFJlcXVlc3RzLmRlcGxveW1lbnRfZ2V0LCAoMjAw
LCBbXSkpLApAQCAtNDkyLDYgKzU5NSw3IEBAIGRlZiB0ZXN0X3N5bmNocm9uaXplX3VwZGF0ZV9j
b2xsYWJvcmF0b3IoKToKICAgICAgICAgKFJlcXVlc3RzLmdldF9yYXRlLCBSZXNwb25zZXMubm9f
bGltaXQpLAogICAgICAgICAoUmVxdWVzdHMuZ2V0X3JhdGUsIFJlc3BvbnNlcy5ub19saW1pdCks
CiAgICAgICAgIChSZXF1ZXN0cy5nZXRfcmF0ZSwgUmVzcG9uc2VzLm5vX2xpbWl0KSwKKyAgICAg
ICAgKFJlcXVlc3RzLmdldF9yYXRlLCBSZXNwb25zZXMubm9fbGltaXQpLAogICAgICAgICAoUmVx
dWVzdHMuc2VhcmNoLCAoMjAwLAogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICdpdGVt
cyc6IFsKQEAgLTUwNiw2ICs2MTAsMTUgQEAgZGVmIHRlc3Rfc3luY2hyb25pemVfdXBkYXRlX2Nv
bGxhYm9yYXRvcigpOgogICAgICAgICAgICAgICAgICdpbmNvbXBsZXRlX3Jlc3VsdHMnOiBGYWxz
ZQogICAgICAgICAgICAgfQogICAgICAgICApKSwKKyAgICAgICAgKFJlcXVlc3RzLnByX2RldGFp
bHMsICgyMDAsCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgJ2hlYWQnOiB7CisgICAg
ICAgICAgICAgICAgICAgICdyZXBvJzogeworICAgICAgICAgICAgICAgICAgICAgICAgJ2Z1bGxf
bmFtZSc6ICd0ZXN0LW9yZy90ZXN0LXJlcG8nCisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICkpLAogICAgICAgICAoUmVxdWVz
dHMuZGVwbG95bWVudF9nZXQsICgyMDAsIFtdKSksCiAgICAgICAgIChSZXF1ZXN0cy5yZWZfdXBk
YXRlX29wZW4sICgyMDAsIHt9KSksCiAgICAgICAgIChSZXF1ZXN0cy5yZWZfdXBkYXRlX3RydXN0
ZWQsICgyMDAsIHt9KSksCkBAIC01MjgsNiArNjQxLDcgQEAgZGVmIHRlc3Rfc3luY2hyb25pemVf
dXBkYXRlX21lbWJlcigpOgogICAgICAgICAoUmVxdWVzdHMuZ2V0X3JhdGUsIFJlc3BvbnNlcy5u
b19saW1pdCksCiAgICAgICAgIChSZXF1ZXN0cy5nZXRfcmF0ZSwgUmVzcG9uc2VzLm5vX2xpbWl0
KSwKICAgICAgICAgKFJlcXVlc3RzLmdldF9yYXRlLCBSZXNwb25zZXMubm9fbGltaXQpLAorICAg
ICAgICAoUmVxdWVzdHMuZ2V0X3JhdGUsIFJlc3BvbnNlcy5ub19saW1pdCksCiAgICAgICAgIChS
ZXF1ZXN0cy5zZWFyY2gsICgyMDAsCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgJ2l0
ZW1zJzogWwpAQCAtNTQyLDYgKzY1NiwxNSBAQCBkZWYgdGVzdF9zeW5jaHJvbml6ZV91cGRhdGVf
bWVtYmVyKCk6CiAgICAgICAgICAgICAgICAgJ2luY29tcGxldGVfcmVzdWx0cyc6IEZhbHNlCiAg
ICAgICAgICAgICB9CiAgICAgICAgICkpLAorICAgICAgICAoUmVxdWVzdHMucHJfZGV0YWlscywg
KDIwMCwKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAnaGVhZCc6IHsKKyAgICAgICAg
ICAgICAgICAgICAgJ3JlcG8nOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAnZnVsbF9uYW1l
JzogJ3Rlc3Qtb3JnL3Rlc3QtcmVwbycKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgKSksCiAgICAgICAgIChSZXF1ZXN0cy5k
ZXBsb3ltZW50X2dldCwgKDIwMCwgW3snc29tZSc6ICdkZXBsb3ltZW50J31dKSksCiAgICAgICAg
IChSZXF1ZXN0cy5yZWZfdXBkYXRlX29wZW4sICgyMDAsIHt9KSksCiAgICAgICAgIChSZXF1ZXN0
cy5yZWZfdXBkYXRlX3RydXN0ZWQsICgyMDAsIHt9KSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvZG9ja2VyL0RvY2tlcmZpbGUg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2RvY2tl
ci9Eb2NrZXJmaWxlCmluZGV4IDBhODQyZGUxYWI4NTdkMWY2NTViOTM2NWRmNjFmM2ZhOTc4ZTMx
YmUuLmYzOTI3ZmQwZDcxY2NmMjkyZDk2OTlkNTk3YTQ3OTk0NWE4ZTUxMTQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvZG9ja2Vy
L0RvY2tlcmZpbGUKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy9kb2NrZXIvRG9ja2VyZmlsZQpAQCAtMjUsNiArMjUsOCBAQCBSVU4gYXB0LWdl
dCAtcXF5IHVwZGF0ZSBcCiAgICAgcHVsc2VhdWRpbyBcCiAgICAgcHl0aG9uIFwKICAgICBweXRo
b24tcGlwIFwKKyAgICBweXRob24zIFwKKyAgICBweXRob24zLXBpcCBcCiAgICAgcWVtdS1rdm0g
XAogICAgIHR6ZGF0YSBcCiAgICAgc3VkbyBcCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2RvY2tlci9SRUFETUUubWQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2RvY2tlci9SRUFE
TUUubWQKaW5kZXggNDUwOTgxZjY4NmJmYWNlMmQ5MjQzZTU2MjgwNDBiYjZiMmY2YzRlMC4uOTM0
MmFkZWQyOThiZGQwZTVkYWFjMTIyODljNzgxNjNkMWQ1YmVjNSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9kb2NrZXIvUkVBRE1F
Lm1kCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvZG9ja2VyL1JFQURNRS5tZApAQCAtMSwxMCArMSwxOCBAQAogVGhpcyBkb2NrZXIgaW1hZ2Vz
IGlzIHVzZWQgZm9yIHRlc3RpbmcgQ2hyb21lLCBGaXJlZm94LCBXZWJLaXRHVEsgYW5kIHJ1bm5p
bmcKIG90aGVyIHRhc2tzIG9uIFRhc2tjbHVzdGVyLiBXaGVuIGFueSBvZiB0aGUgZmlsZXMgaW4g
dGhpcyBkaXJlY3RvcnkgY2hhbmdlLCB0aGUKLWltYWdlcyBtdXN0IGJlIHVwZGF0ZWQgYXMgd2Vs
bC4gVG8gZG8gdGhpcywgYXNzdW1pbmcgeW91IGhhdmUgZG9ja2VyIGluc3RhbGxlZDoKK2ltYWdl
cyBtdXN0IGJlIHVwZGF0ZWQgYXMgd2VsbC4gRG9pbmcgdGhpcyByZXF1aXJlcyB5b3UgYmUgcGFy
dCBvZiB0aGUKKyd3ZWJwbGF0Zm9ybXRlc3RzJyBvcmdhbml6YXRpb24gb24gRG9ja2VyIEh1Yjsg
cGluZyBASGV4Y2xlcyBvciBAc3RlcGhlbm1jZ3J1ZXIKK2lmIHlvdSBhcmUgbm90IGEgbWVtYmVy
LgorCitJbiB0aGlzIGRpcmVjdG9yeSwgcnVuIHRoZSBmb2xsb3dpbmcsIHdoZXJlIGA8dGFnPmAg
aXMgb2YgdGhlIGZvcm0KK2B3ZWJwbGF0Zm9ybXRlc3RzL3dwdDp7Y3VycmVudC12ZXJzaW9uICsg
MC4wMX1gOgogCi1JbiB0aGlzIGRpcmVjdG9yeSwgcnVuCiBgYGBzaAotZG9ja2VyIGJ1aWxkIC10
IDx0YWc+IC4KKyMgLS1wdWxsIGZvcmNlcyBEb2NrZXIgdG8gZ2V0IHRoZSBuZXdlc3QgYmFzZSBp
bWFnZS4KK2RvY2tlciBidWlsZCAtLXB1bGwgLXQgPHRhZz4gLgogZG9ja2VyIHB1c2ggPHRhZz4K
IGBgYAogCitUaGVuIHVwZGF0ZSB0aGUgZm9sbG93aW5nIFRhc2tjbHVzdGVyIGNvbmZpZ3VyYXRp
b25zIHRvIHVzZSB0aGUgbmV3IGltYWdlOgorKiBgLnRhc2tjbHVzdGVyLnltbGAgKHRoZSBkZWNp
c2lvbiB0YXNrKQorKiBgdG9vbHMvY2kvdGMvdGFza3MvdGVzdC55bWxgIChhbGwgdGhlIG90aGVy
IHRhc2tzKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9kb2NrZXIvZnJvbnRlbmQucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2RvY2tlci9mcm9udGVuZC5weQppbmRleCA5NzYx
NTZjZjY1YTAwODIxYTExYTMzNTEzMDFiNDdjMTA3OGM4NDE2Li41OWExY2ZmMmViZDBlZmRhMDZm
YWRkMTQ0YTg0YjVkMzViMmQ4MWM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2RvY2tlci9mcm9udGVuZC5weQorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2RvY2tlci9mcm9u
dGVuZC5weQpAQCAtOCw2ICs4LDcgQEAgd3B0X3Jvb3QgPSBvcy5wYXRoLmFic3BhdGgob3MucGF0
aC5qb2luKGhlcmUsIG9zLnBhcmRpciwgb3MucGFyZGlyKSkKIGRlZiBidWlsZCgqYXJncywgKipr
d2FyZ3MpOgogICAgIHN1YnByb2Nlc3MuY2hlY2tfY2FsbChbImRvY2tlciIsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAiYnVpbGQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0t
cHVsbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLS10YWciLCAid3B0OmxvY2FsIiwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlcmVdKQogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2RvY2tlci9yZXRyeS5w
eSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvZG9j
a2VyL3JldHJ5LnB5CmluZGV4IDYxMjZiNzgxYmZhZGQxNWU4MmI4YTNhM2I5NDk0MDUwOTM5ZWFi
NmMuLjVjOGU2ZDc5YzMwMzhkZGZmNDk2ODhkNGYxZmM3ZTdmMjk0YWQwNzIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvZG9ja2Vy
L3JldHJ5LnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvZG9ja2VyL3JldHJ5LnB5CkBAIC0yMSwyMyArMjEsMjggQEAgZGVmIGl0ZXJfcmFu
Z2Uobik6CiAgICAgICAgIGkgKz0gMQogCiAKK2RlZiBsb2codmFsdWUpOgorICAgIHByaW50KHZh
bHVlKQorICAgIHN5cy5zdGRvdXQuZmx1c2goKQorCisKIGRlZiBtYWluKCk6CiAgICAgYXJncyA9
IGdldF9hcmdzKCkucGFyc2VfYXJncygpCiAKICAgICBpZiBub3QgYXJncy5jbWQ6Ci0gICAgICAg
IHByaW50KCJObyBjb21tYW5kIHN1cHBsaWVkIikKKyAgICAgICAgbG9nKCJObyBjb21tYW5kIHN1
cHBsaWVkIikKICAgICAgICAgc3lzLmV4aXQoMSkKIAogICAgIHJldGNvZGUgPSBOb25lCiAKICAg
ICBmb3IgbiBpbiBpdGVyX3JhbmdlKGFyZ3MuY291bnQpOgogICAgICAgICB0cnk6Ci0gICAgICAg
ICAgICBwcmludCgiUnVubmluZyAlcyBbdHJ5ICVkLyVkXSIgJSAoIiAiLmpvaW4oYXJncy5jbWQp
LCAobisxKSwgYXJncy5jb3VudCkpCisgICAgICAgICAgICBsb2coIlJ1bm5pbmcgJXMgW3RyeSAl
ZC8lZF0iICUgKCIgIi5qb2luKGFyZ3MuY21kKSwgKG4rMSksIGFyZ3MuY291bnQpKQogICAgICAg
ICAgICAgc3VicHJvY2Vzcy5jaGVja19jYWxsKGFyZ3MuY21kKQogICAgICAgICBleGNlcHQgc3Vi
cHJvY2Vzcy5DYWxsZWRQcm9jZXNzRXJyb3IgYXMgZToKICAgICAgICAgICAgIHJldGNvZGUgPSBl
LnJldHVybmNvZGUKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHByaW50KCJDb21tYW5kIHN1
Y2NlZWRlZCIpCisgICAgICAgICAgICBsb2coIkNvbW1hbmQgc3VjY2VlZGVkIikKICAgICAgICAg
ICAgIHJldGNvZGUgPSAwCiAgICAgICAgICAgICBicmVhawogCkBAIC00NiwxMCArNTEsMTAgQEAg
ZGVmIG1haW4oKToKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHdhaXRfdGltZSA9IGFyZ3Mu
ZmFjdG9yKipuICogYXJncy5kZWxheQogICAgICAgICBpZiBuIDwgYXJncy5jb3VudCAtIDE6Ci0g
ICAgICAgICAgICBwcmludCgiQ29tbWFuZCBmYWlsZWQsIHdhaXRpbmcgJXMgc2Vjb25kcyB0byBy
ZXRyeSIgJSB3YWl0X3RpbWUpCisgICAgICAgICAgICBsb2coIkNvbW1hbmQgZmFpbGVkLCB3YWl0
aW5nICVzIHNlY29uZHMgdG8gcmV0cnkiICUgd2FpdF90aW1lKQogICAgICAgICAgICAgdGltZS5z
bGVlcCh3YWl0X3RpbWUpCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBwcmludCgiQ29tbWFu
ZCBmYWlsZWQsIG91dCBvZiByZXRyaWVzIikKKyAgICAgICAgICAgIGxvZygiQ29tbWFuZCBmYWls
ZWQsIG91dCBvZiByZXRyaWVzIikKIAogICAgIHN5cy5leGl0KHJldGNvZGUpCiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvZ2l0
aWdub3JlL2dpdGlnbm9yZS5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvZ2l0aWdub3JlL2dpdGlnbm9yZS5weQppbmRleCBkNWVhNGE2YThmM2Q2
NGQ0YWJhM2I4ZGNiZTVmZmU4NDliNzRlOTY5Li4wZjNkOTQ1MGQxMjM0NDljMGRjYzNmZjNjMDRj
YTg2YzgxYjI0YmVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL2dpdGlnbm9yZS9naXRpZ25vcmUucHkKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9naXRpZ25vcmUvZ2l0aWdu
b3JlLnB5CkBAIC0yNjksNyArMjY5LDcgQEAgY2xhc3MgUGF0aEZpbHRlcihvYmplY3QpOgogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldC5hcHBlbmQoaXRlbSkKIAogICAgICAgICAg
ICAgZGlybmFtZXNbOl0gPSBrZWVwX2RpcnMKLSAgICAgICAgICAgIGFzc2VydCAiLmdpdCIgbm90
IGluIGRpcm5hbWVzCisgICAgICAgICAgICBhc3NlcnQgbm90IGFueSgiLmdpdCIgPT0gbmFtZSBm
b3IgbmFtZSwgXyBpbiBkaXJuYW1lcykKICAgICAgICAgICAgIHlpZWxkIG9yaWdfZGlycGF0aCwg
ZGlybmFtZXMsIGtlZXBfZmlsZXMKIAogICAgIGRlZiBfX2NhbGxfXyhzZWxmLApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50
L2xpbnQucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL2xpbnQvbGludC5weQppbmRleCBhMDUwY2ZhOGE4ZTRlMjY5OWRiNDRjZTllNTJmOGYyMzBh
MzRhODY5Li5mYzFhODE2ZjhhYmY4NWVmY2UzMWEzYThlNjE0YmE1OTFiNjAwOTU0IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xp
bnQvbGludC5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL2xpbnQvbGludC5weQpAQCAtMjAsNyArMjAsNyBAQCBmcm9tIC4uZ2l0aWdub3Jl
LmdpdGlnbm9yZSBpbXBvcnQgUGF0aEZpbHRlcgogZnJvbSAuLndwdCBpbXBvcnQgdGVzdGZpbGVz
CiBmcm9tIC4ubWFuaWZlc3QudmNzIGltcG9ydCB3YWxrCiAKLWZyb20gLi5tYW5pZmVzdC5zb3Vy
Y2VmaWxlIGltcG9ydCBTb3VyY2VGaWxlLCBqc19tZXRhX3JlLCBweXRob25fbWV0YV9yZSwgc3Bh
Y2VfY2hhcnMsIGdldF9hbnlfdmFyaWFudHMsIGdldF9kZWZhdWx0X2FueV92YXJpYW50cworZnJv
bSAuLm1hbmlmZXN0LnNvdXJjZWZpbGUgaW1wb3J0IFNvdXJjZUZpbGUsIGpzX21ldGFfcmUsIHB5
dGhvbl9tZXRhX3JlLCBzcGFjZV9jaGFycywgZ2V0X2FueV92YXJpYW50cwogZnJvbSBzaXggaW1w
b3J0IGJpbmFyeV90eXBlLCBpdGVyaXRlbXMsIGl0ZXJ2YWx1ZXMsIHdpdGhfbWV0YWNsYXNzCiBm
cm9tIHNpeC5tb3ZlcyBpbXBvcnQgcmFuZ2UKIGZyb20gc2l4Lm1vdmVzLnVybGxpYi5wYXJzZSBp
bXBvcnQgdXJsc3BsaXQsIHVybGpvaW4KQEAgLTQxLDcgKzQxLDEyIEBAIGlmIE1ZUFk6CiAgICAg
ZnJvbSB0eXBpbmcgaW1wb3J0IFR5cGUKICAgICBmcm9tIHR5cGluZyBpbXBvcnQgVW5pb24KIAot
ICAgIFdoaXRlbGlzdCA9IERpY3RbVGV4dCwgRGljdFtUZXh0LCBTZXRbT3B0aW9uYWxbaW50XV1d
XQorICAgICMgVGhlIElnbm9yZWxpc3QgaXMgYSB0d28gbGV2ZWwgZGljdGlvbmFyeS4gVGhlIHRv
cCBsZXZlbCBpcyBpbmRleGVkIGJ5CisgICAgIyBlcnJvciBuYW1lcyAoZS5nLiAnVFJBSUxJTkcg
V0hJVEVTUEFDRScpLiBFYWNoIG9mIHRob3NlIHRoZW4gaGFzIGEgbWFwIG9mCisgICAgIyBmaWxl
IHBhdHRlcm5zIChlLmcuICdmb28vKicpIHRvIGEgc2V0IG9mIHNwZWNpZmljIGxpbmUgbnVtYmVy
cyBmb3IgdGhlCisgICAgIyBleGNlcHRpb24uIFRoZSBsaW5lIG51bWJlcnMgYXJlIG9wdGlvbmFs
OyBpZiBtaXNzaW5nIHRoZSBlbnRpcmUgZmlsZQorICAgICMgaWdub3JlcyB0aGUgZXJyb3IuCisg
ICAgSWdub3JlbGlzdCA9IERpY3RbVGV4dCwgRGljdFtUZXh0LCBTZXRbT3B0aW9uYWxbaW50XV1d
XQogCiAKIGxvZ2dlciA9IE5vbmUgICMgdHlwZTogT3B0aW9uYWxbbG9nZ2luZy5Mb2dnZXJdCkBA
IC03NSwxMiArODAsMTIgQEAgRVJST1JfTVNHID0gIiIiWW91IG11c3QgZml4IGFsbCBlcnJvcnM7
IGZvciBkZXRhaWxzIG9uIGhvdyB0byBmaXggdGhlbSwgc2VlCiBodHRwczovL3dlYi1wbGF0Zm9y
bS10ZXN0cy5vcmcvd3JpdGluZy10ZXN0cy9saW50LXRvb2wuaHRtbAogCiBIb3dldmVyLCBpbnN0
ZWFkIG9mIGZpeGluZyBhIHBhcnRpY3VsYXIgZXJyb3IsIGl0J3Mgc29tZXRpbWVzCi1PSyB0byBh
ZGQgYSBsaW5lIHRvIHRoZSBsaW50LndoaXRlbGlzdCBmaWxlIGluIHRoZSByb290IG9mIHRoZQor
T0sgdG8gYWRkIGEgbGluZSB0byB0aGUgbGludC5pZ25vcmUgZmlsZSBpbiB0aGUgcm9vdCBvZiB0
aGUKIHdlYi1wbGF0Zm9ybS10ZXN0cyBkaXJlY3RvcnkgdG8gbWFrZSB0aGUgbGludCB0b29sIGln
bm9yZSBpdC4KIAogRm9yIGV4YW1wbGUsIHRvIG1ha2UgdGhlIGxpbnQgdG9vbCBpZ25vcmUgYWxs
ICclcycKIGVycm9ycyBpbiB0aGUgJXMgZmlsZSwKLXlvdSBjb3VsZCBhZGQgdGhlIGZvbGxvd2lu
ZyBsaW5lIHRvIHRoZSBsaW50LndoaXRlbGlzdCBmaWxlLgoreW91IGNvdWxkIGFkZCB0aGUgZm9s
bG93aW5nIGxpbmUgdG8gdGhlIGxpbnQuaWdub3JlIGZpbGUuCiAKICVzOiAlcyIiIgogCkBAIC0z
MTgsMTQgKzMyMyw1MiBAQCBkZWYgY2hlY2tfY3NzX2dsb2JhbGx5X3VuaXF1ZShyZXBvX3Jvb3Qs
IHBhdGhzKToKICAgICByZXR1cm4gZXJyb3JzCiAKIAotZGVmIHBhcnNlX3doaXRlbGlzdChmKToK
LSAgICAjIHR5cGU6IChJT1tieXRlc10pIC0+IFR1cGxlW1doaXRlbGlzdCwgU2V0W1RleHRdXQor
ZGVmIGNoZWNrX3VuaXF1ZV90ZXN0aGFybmVzc19iYXNlbmFtZXMocmVwb19yb290LCBwYXRocyk6
CisgICAgIyB0eXBlOiAoc3RyLCBMaXN0W3N0cl0pIC0+IExpc3RbcnVsZXMuRXJyb3JdCisgICAg
IiIiCisgICAgQ2hlY2tzIHRoYXQgYWxsIHRlc3RoYXJuZXNzIGZpbGVzIGhhdmUgdW5pcXVlIGJh
c2VuYW1lIHBhdGhzLgorCisgICAgVGhlICdiYXNlbmFtZSBwYXRoJyByZWZlcnMgdG8gdGhlIGVu
dGlyZSBwYXRoIGV4Y2x1ZGluZyB0aGUgZXh0ZW5zaW9uLiBGb3IKKyAgICBleGFtcGxlLCAnZm9v
L2Jhci9iYXouaHRtbCcgYW5kICdmb28vYmFyL2Jhei54aHRtbCcgaGF2ZSB0aGUgc2FtZSBiYXNl
bmFtZQorICAgIHBhdGgsIGJ1dCAnZm9vL2Jhci9iYXouaHRtbCcgYW5kICdmb28vcXV4L2Jhei5o
dG1sJyBkbyBub3QuCisKKyAgICBUZXN0aGFybmVzcyBmaWxlcyB3aXRoIGlkZW50aWNhbCBiYXNl
bmFtZXMgaGF2ZSBjYXVzZWQgaXNzdWVzIGluIGRvd25zdHJlYW0KKyAgICBpbmZyYXN0cnVjdHVy
ZSAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2lzc3Vlcy83
NTcwKSwKKyAgICBhbmQgbWF5IGNhdXNlIGNvbmZ1c2lvbiBpbiBnZW5lcmFsLgorCisgICAgOnBh
cmFtIHJlcG9fcm9vdDogdGhlIHJlcG9zaXRvcnkgcm9vdAorICAgIDpwYXJhbSBwYXRoczogbGlz
dCBvZiBhbGwgcGF0aHMKKyAgICA6cmV0dXJuczogYSBsaXN0IG9mIGVycm9ycyBmb3VuZCBpbiBg
YHBhdGhzYGAKKyAgICAiIiIKKworICAgIGVycm9ycyA9IFtdCisgICAgZmlsZV9kaWN0ID0gZGVm
YXVsdGRpY3QobGlzdCkKKyAgICBmb3IgcGF0aCBpbiBwYXRoczoKKyAgICAgICAgc291cmNlX2Zp
bGUgPSBTb3VyY2VGaWxlKHJlcG9fcm9vdCwgcGF0aCwgIi8iKQorICAgICAgICBpZiBzb3VyY2Vf
ZmlsZS50eXBlICE9ICJ0ZXN0aGFybmVzcyI6CisgICAgICAgICAgICBjb250aW51ZQorICAgICAg
ICBmaWxlX25hbWUsIGZpbGVfZXh0ZW5zaW9uID0gb3MucGF0aC5zcGxpdGV4dChwYXRoKQorICAg
ICAgICBmaWxlX2RpY3RbZmlsZV9uYW1lXS5hcHBlbmQoZmlsZV9leHRlbnNpb24pCisgICAgZm9y
IGssIHYgaW4gZmlsZV9kaWN0Lml0ZW1zKCk6CisgICAgICAgIGlmIGxlbih2KSA9PSAxOgorICAg
ICAgICAgICAgY29udGludWUKKyAgICAgICAgY29udGV4dCA9ICgnLCAnLmpvaW4odiksKQorICAg
ICAgICBmb3IgZXh0ZW5zaW9uIGluIHY6CisgICAgICAgICAgICBlcnJvcnMuYXBwZW5kKHJ1bGVz
LkR1cGxpY2F0ZUJhc2VuYW1lUGF0aC5lcnJvcihrICsgZXh0ZW5zaW9uLCBjb250ZXh0KSkKKyAg
ICByZXR1cm4gZXJyb3JzCisKKworZGVmIHBhcnNlX2lnbm9yZWxpc3QoZik6CisgICAgIyB0eXBl
OiAoSU9bYnl0ZXNdKSAtPiBUdXBsZVtJZ25vcmVsaXN0LCBTZXRbVGV4dF1dCiAgICAgIiIiCi0g
ICAgUGFyc2UgdGhlIHdoaXRlbGlzdCBmaWxlIGdpdmVuIGJ5IGBmYCwgYW5kIHJldHVybiB0aGUg
cGFyc2VkIHN0cnVjdHVyZS4KKyAgICBQYXJzZSB0aGUgaWdub3JlbGlzdCBmaWxlIGdpdmVuIGJ5
IGBmYCwgYW5kIHJldHVybiB0aGUgcGFyc2VkIHN0cnVjdHVyZS4KKworICAgIDpyZXR1cm5zOiBh
IHR1cGxlIG9mIGFuIElnbm9yZWxpc3QgYW5kIGEgc2V0IG9mIGZpbGVzIHRoYXQgYXJlIGNvbXBs
ZXRlbHkKKyAgICAgICAgICAgICAgc2tpcHBlZCBieSB0aGUgbGludGVyIChpLmUuIGhhdmUgYSAn
KicgZW50cnkpLgogICAgICIiIgogCi0gICAgZGF0YSA9IGRlZmF1bHRkaWN0KGxhbWJkYTpkZWZh
dWx0ZGljdChzZXQpKSAgIyB0eXBlOiBXaGl0ZWxpc3QKLSAgICBpZ25vcmVkX2ZpbGVzID0gc2V0
KCkgICMgdHlwZTogU2V0W1RleHRdCisgICAgZGF0YSA9IGRlZmF1bHRkaWN0KGxhbWJkYTpkZWZh
dWx0ZGljdChzZXQpKSAgIyB0eXBlOiBJZ25vcmVsaXN0CisgICAgc2tpcHBlZF9maWxlcyA9IHNl
dCgpICAjIHR5cGU6IFNldFtUZXh0XQogCiAgICAgZm9yIGxpbmUgaW4gZjoKICAgICAgICAgbGlu
ZSA9IGxpbmUuc3RyaXAoKQpAQCAtMzQ0LDM3ICszODcsMzcgQEAgZGVmIHBhcnNlX3doaXRlbGlz
dChmKToKICAgICAgICAgZmlsZV9tYXRjaCA9IG9zLnBhdGgubm9ybWNhc2UoZmlsZV9tYXRjaCkK
IAogICAgICAgICBpZiAiKiIgaW4gZXJyb3JfdHlwZXM6Ci0gICAgICAgICAgICBpZ25vcmVkX2Zp
bGVzLmFkZChmaWxlX21hdGNoKQorICAgICAgICAgICAgc2tpcHBlZF9maWxlcy5hZGQoZmlsZV9t
YXRjaCkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGZvciBlcnJvcl90eXBlIGluIGVycm9y
X3R5cGVzOgogICAgICAgICAgICAgICAgIGRhdGFbZXJyb3JfdHlwZV1bZmlsZV9tYXRjaF0uYWRk
KGxpbmVfbnVtYmVyKQogCi0gICAgcmV0dXJuIGRhdGEsIGlnbm9yZWRfZmlsZXMKKyAgICByZXR1
cm4gZGF0YSwgc2tpcHBlZF9maWxlcwogCiAKLWRlZiBmaWx0ZXJfd2hpdGVsaXN0X2Vycm9ycyhk
YXRhLCBlcnJvcnMpOgotICAgICMgdHlwZTogKFdoaXRlbGlzdCwgU2VxdWVuY2VbcnVsZXMuRXJy
b3JdKSAtPiBMaXN0W3J1bGVzLkVycm9yXQorZGVmIGZpbHRlcl9pZ25vcmVsaXN0X2Vycm9ycyhk
YXRhLCBlcnJvcnMpOgorICAgICMgdHlwZTogKElnbm9yZWxpc3QsIFNlcXVlbmNlW3J1bGVzLkVy
cm9yXSkgLT4gTGlzdFtydWxlcy5FcnJvcl0KICAgICAiIiIKLSAgICBGaWx0ZXIgb3V0IHRob3Nl
IGVycm9ycyB0aGF0IGFyZSB3aGl0ZWxpc3RlZCBpbiBgZGF0YWAuCisgICAgRmlsdGVyIG91dCB0
aG9zZSBlcnJvcnMgdGhhdCBhcmUgaWdub3JlZCBpbiBgZGF0YWAuCiAgICAgIiIiCiAKICAgICBp
ZiBub3QgZXJyb3JzOgogICAgICAgICByZXR1cm4gW10KIAotICAgIHdoaXRlbGlzdGVkID0gW0Zh
bHNlIGZvciBpdGVtIGluIHJhbmdlKGxlbihlcnJvcnMpKV0KKyAgICBza2lwcGVkID0gW0ZhbHNl
IGZvciBpdGVtIGluIHJhbmdlKGxlbihlcnJvcnMpKV0KIAogICAgIGZvciBpLCAoZXJyb3JfdHlw
ZSwgbXNnLCBwYXRoLCBsaW5lKSBpbiBlbnVtZXJhdGUoZXJyb3JzKToKICAgICAgICAgbm9ybXBh
dGggPSBvcy5wYXRoLm5vcm1jYXNlKHBhdGgpCi0gICAgICAgICMgQWxsb3cgd2hpdGVsaXN0aW5n
IGFsbCBsaW50IGVycm9ycyBleGNlcHQgdGhlIElHTk9SRUQgUEFUSCBsaW50LAotICAgICAgICAj
IHdoaWNoIGV4cGxhaW5zIGhvdyB0byBmaXggaXQgY29ycmVjdGx5IGFuZCBzaG91bGRuJ3QgYmUg
aWdub3JlZC4KKyAgICAgICAgIyBBbGxvdyBza2lwcGluZyBhbGwgbGludCBlcnJvcnMgZXhjZXB0
IHRoZSBJR05PUkVEIFBBVEggbGludCwKKyAgICAgICAgIyB3aGljaCBleHBsYWlucyBob3cgdG8g
Zml4IGl0IGNvcnJlY3RseSBhbmQgc2hvdWxkbid0IGJlIHNraXBwZWQuCiAgICAgICAgIGlmIGVy
cm9yX3R5cGUgaW4gZGF0YSBhbmQgZXJyb3JfdHlwZSAhPSAiSUdOT1JFRCBQQVRIIjoKICAgICAg
ICAgICAgIHdsX2ZpbGVzID0gZGF0YVtlcnJvcl90eXBlXQogICAgICAgICAgICAgZm9yIGZpbGVf
bWF0Y2gsIGFsbG93ZWRfbGluZXMgaW4gaXRlcml0ZW1zKHdsX2ZpbGVzKToKICAgICAgICAgICAg
ICAgICBpZiBOb25lIGluIGFsbG93ZWRfbGluZXMgb3IgbGluZSBpbiBhbGxvd2VkX2xpbmVzOgog
ICAgICAgICAgICAgICAgICAgICBpZiBmbm1hdGNoLmZubWF0Y2hjYXNlKG5vcm1wYXRoLCBmaWxl
X21hdGNoKToKLSAgICAgICAgICAgICAgICAgICAgICAgIHdoaXRlbGlzdGVkW2ldID0gVHJ1ZQor
ICAgICAgICAgICAgICAgICAgICAgICAgc2tpcHBlZFtpXSA9IFRydWUKIAotICAgIHJldHVybiBb
aXRlbSBmb3IgaSwgaXRlbSBpbiBlbnVtZXJhdGUoZXJyb3JzKSBpZiBub3Qgd2hpdGVsaXN0ZWRb
aV1dCisgICAgcmV0dXJuIFtpdGVtIGZvciBpLCBpdGVtIGluIGVudW1lcmF0ZShlcnJvcnMpIGlm
IG5vdCBza2lwcGVkW2ldXQogCiAKIHJlZ2V4cHMgPSBbaXRlbSgpIGZvciBpdGVtIGluICAjIHR5
cGU6IGlnbm9yZQpAQCAtMzkwLDcgKzQzMywxMCBAQCByZWdleHBzID0gW2l0ZW0oKSBmb3IgaXRl
bSBpbiAgIyB0eXBlOiBpZ25vcmUKICAgICAgICAgICAgIHJ1bGVzLlByaW50UmVnZXhwLAogICAg
ICAgICAgICAgcnVsZXMuTGF5b3V0VGVzdHNSZWdleHAsCiAgICAgICAgICAgICBydWxlcy5NaXNz
aW5nRGVwc1JlZ2V4cCwKLSAgICAgICAgICAgIHJ1bGVzLlNwZWNpYWxQb3dlcnNSZWdleHBdXQor
ICAgICAgICAgICAgcnVsZXMuU3BlY2lhbFBvd2Vyc1JlZ2V4cCwKKyAgICAgICAgICAgIHJ1bGVz
LkFzc2VydFRocm93c1JlZ2V4cCwKKyAgICAgICAgICAgIHJ1bGVzLlByb21pc2VSZWplY3RzUmVn
ZXhwLAorICAgICAgICAgICAgcnVsZXMuQXNzZXJ0UHJlY29uZGl0aW9uUmVnZXhwXV0KIAogCiBk
ZWYgY2hlY2tfcmVnZXhwX2xpbmUocmVwb19yb290LCBwYXRoLCBmKToKQEAgLTQyMSw2ICs0Njcs
NyBAQCBkZWYgY2hlY2tfcGFyc2VkKHJlcG9fcm9vdCwgcGF0aCwgZik6CiAKICAgICAgICAgaWYg
KHNvdXJjZV9maWxlLnR5cGUgIT0gInN1cHBvcnQiIGFuZAogICAgICAgICAgICAgbm90IHNvdXJj
ZV9maWxlLm5hbWVfaXNfcmVmZXJlbmNlIGFuZAorICAgICAgICAgICAgbm90IHNvdXJjZV9maWxl
Lm5hbWVfaXNfdGVudGF0aXZlIGFuZAogICAgICAgICAgICAgbm90IHNvdXJjZV9maWxlLnNwZWNf
bGlua3MpOgogICAgICAgICAgICAgcmV0dXJuIFtydWxlcy5NaXNzaW5nTGluay5lcnJvcihwYXRo
KV0KIApAQCAtNTg0LDcgKzYzMSw4IEBAIGFzdF9jaGVja2VycyA9IFtpdGVtKCkgZm9yIGl0ZW0g
aW4gW09wZW5Nb2RlQ2hlY2tdXQogCiBkZWYgY2hlY2tfcHl0aG9uX2FzdChyZXBvX3Jvb3QsIHBh
dGgsIGYpOgogICAgICMgdHlwZTogKHN0ciwgc3RyLCBJT1tieXRlc10pIC0+IExpc3RbcnVsZXMu
RXJyb3JdCi0gICAgaWYgbm90IHBhdGguZW5kc3dpdGgoIi5weSIpOgorICAgICMgKi5xdWljLnB5
IGFyZSBQeXRob24gMyBvbmx5IGFuZCBjYW5ub3QgYmUgcGFyc2VkIGJ5IFB5dGhvbiAyLgorICAg
IGlmIG5vdCBwYXRoLmVuZHN3aXRoKCIucHkiKSBvciBwYXRoLmVuZHN3aXRoKCIucXVpYy5weSIp
OgogICAgICAgICByZXR1cm4gW10KIAogICAgIHRyeToKQEAgLTYwNSwzMCArNjUzLDEyIEBAIGJy
b2tlbl9weXRob25fbWV0YWRhdGEgPSByZS5jb21waWxlKGJyIiNccypNRVRBOiIpCiAKIGRlZiBj
aGVja19nbG9iYWxfbWV0YWRhdGEodmFsdWUpOgogICAgICMgdHlwZTogKHN0cikgLT4gSXRlcmFi
bGVbVHVwbGVbVHlwZVtydWxlcy5SdWxlXSwgVHVwbGVbQW55LCAuLi5dXV0KLSAgICBnbG9iYWxf
dmFsdWVzID0ge2l0ZW0uc3RyaXAoKSBmb3IgaXRlbSBpbiB2YWx1ZS5zcGxpdChiIiwiKSBpZiBp
dGVtLnN0cmlwKCl9Ci0KLSAgICBpbmNsdWRlZF92YXJpYW50cyA9IHNldC51bmlvbihnZXRfZGVm
YXVsdF9hbnlfdmFyaWFudHMoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAq
KGdldF9hbnlfdmFyaWFudHModikgZm9yIHYgaW4gZ2xvYmFsX3ZhbHVlcyBpZiBub3Qgdi5zdGFy
dHN3aXRoKGIiISIpKSkKKyAgICBnbG9iYWxfdmFsdWVzID0ge2l0ZW0uc3RyaXAoKS5kZWNvZGUo
InV0ZjgiKSBmb3IgaXRlbSBpbiB2YWx1ZS5zcGxpdChiIiwiKSBpZiBpdGVtLnN0cmlwKCl9CiAK
KyAgICAjIFRPRE86IHRoaXMgY291bGQgY2hlY2sgZm9yIGR1cGxpY2F0ZXMgYW5kIHN1Y2gKICAg
ICBmb3IgZ2xvYmFsX3ZhbHVlIGluIGdsb2JhbF92YWx1ZXM6Ci0gICAgICAgIGlmIGdsb2JhbF92
YWx1ZS5zdGFydHN3aXRoKGIiISIpOgotICAgICAgICAgICAgZXhjbHVkZWRfdmFsdWUgPSBnbG9i
YWxfdmFsdWVbMTpdCi0gICAgICAgICAgICBpZiBub3QgZ2V0X2FueV92YXJpYW50cyhleGNsdWRl
ZF92YWx1ZSk6Ci0gICAgICAgICAgICAgICAgeWllbGQgKHJ1bGVzLlVua25vd25HbG9iYWxNZXRh
ZGF0YSwgKCkpCi0KLSAgICAgICAgICAgIGVsaWYgZXhjbHVkZWRfdmFsdWUgaW4gZ2xvYmFsX3Zh
bHVlczoKLSAgICAgICAgICAgICAgICB5aWVsZCAocnVsZXMuQnJva2VuR2xvYmFsTWV0YWRhdGEs
Ci0gICAgICAgICAgICAgICAgICAgICAgICgoIkNhbm5vdCBzcGVjaWZ5IGJvdGggJXMgYW5kICVz
IiAlIChnbG9iYWxfdmFsdWUsIGV4Y2x1ZGVkX3ZhbHVlKSksKSkKLQotICAgICAgICAgICAgZWxz
ZToKLSAgICAgICAgICAgICAgICBleGNsdWRlZF92YXJpYW50cyA9IGdldF9hbnlfdmFyaWFudHMo
ZXhjbHVkZWRfdmFsdWUpCi0gICAgICAgICAgICAgICAgaWYgbm90IChleGNsdWRlZF92YXJpYW50
cyAmIGluY2x1ZGVkX3ZhcmlhbnRzKToKLSAgICAgICAgICAgICAgICAgICAgeWllbGQgKHJ1bGVz
LkJyb2tlbkdsb2JhbE1ldGFkYXRhLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgiQ2Fu
bm90IGV4Y2x1ZGUgJXMgaWYgaXQgaXMgbm90IGluY2x1ZGVkIiAlIChleGNsdWRlZF92YWx1ZSwp
KSwpKQotCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBpZiBub3QgZ2V0X2FueV92YXJpYW50
cyhnbG9iYWxfdmFsdWUpOgotICAgICAgICAgICAgICAgIHlpZWxkIChydWxlcy5Vbmtub3duR2xv
YmFsTWV0YWRhdGEsICgpKQorICAgICAgICBpZiBub3QgZ2V0X2FueV92YXJpYW50cyhnbG9iYWxf
dmFsdWUpOgorICAgICAgICAgICAgeWllbGQgKHJ1bGVzLlVua25vd25HbG9iYWxNZXRhZGF0YSwg
KCkpCiAKIAogZGVmIGNoZWNrX3NjcmlwdF9tZXRhZGF0YShyZXBvX3Jvb3QsIHBhdGgsIGYpOgpA
QCAtNjU3LDEzICs2ODcsNyBAQCBkZWYgY2hlY2tfc2NyaXB0X21ldGFkYXRhKHJlcG9fcm9vdCwg
cGF0aCwgZik6CiAgICAgICAgICAgICAgICAgaWYgdmFsdWUgIT0gYiJsb25nIjoKICAgICAgICAg
ICAgICAgICAgICAgZXJyb3JzLmFwcGVuZChydWxlcy5Vbmtub3duVGltZW91dE1ldGFkYXRhLmVy
cm9yKHBhdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBsaW5lX25vPWlkeCArIDEpKQotICAgICAgICAgICAgZWxp
ZiBrZXkgPT0gYiJ0aXRsZSI6Ci0gICAgICAgICAgICAgICAgcGFzcwotICAgICAgICAgICAgZWxp
ZiBrZXkgPT0gYiJzY3JpcHQiOgotICAgICAgICAgICAgICAgIHBhc3MKLSAgICAgICAgICAgIGVs
aWYga2V5ID09IGIidmFyaWFudCI6Ci0gICAgICAgICAgICAgICAgcGFzcwotICAgICAgICAgICAg
ZWxzZToKKyAgICAgICAgICAgIGVsaWYga2V5IG5vdCBpbiAoYiJ0aXRsZSIsIGIic2NyaXB0Iiwg
YiJ2YXJpYW50IiwgYiJxdWljIik6CiAgICAgICAgICAgICAgICAgZXJyb3JzLmFwcGVuZChydWxl
cy5Vbmtub3duTWV0YWRhdGEuZXJyb3IocGF0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lX25vPWlkeCArIDEpKQogICAgICAg
ICBlbHNlOgpAQCAtODI1LDcgKzg0OSw3IEBAIGRlZiBsaW50X3BhdGhzKGt3YXJncywgd3B0X3Jv
b3QpOgogICAgICAgICBmb3JjZV9hbGwgPSBGYWxzZQogICAgICAgICBmb3IgcGF0aCBpbiBjaGFu
Z2VkX3BhdGhzOgogICAgICAgICAgICAgcGF0aCA9IHBhdGgucmVwbGFjZShvcy5wYXRoLnNlcCwg
Ii8iKQotICAgICAgICAgICAgaWYgcGF0aCA9PSAibGludC53aGl0ZWxpc3QiIG9yIHBhdGguc3Rh
cnRzd2l0aCgidG9vbHMvbGludC8iKToKKyAgICAgICAgICAgIGlmIHBhdGggPT0gImxpbnQuaWdu
b3JlIiBvciBwYXRoLnN0YXJ0c3dpdGgoInRvb2xzL2xpbnQvIik6CiAgICAgICAgICAgICAgICAg
Zm9yY2VfYWxsID0gVHJ1ZQogICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgIHBhdGhzID0g
KGxpc3QoY2hhbmdlZF9wYXRocykgaWYgbm90IGZvcmNlX2FsbCAgIyB0eXBlOiBpZ25vcmUKQEAg
LTg0Myw3ICs4NjcsNyBAQCBkZWYgY3JlYXRlX3BhcnNlcigpOgogICAgICAgICAgICAgICAgICAg
ICAgICAgaGVscD0iT3V0cHV0IG1hY2hpbmUtcmVhZGFibGUgSlNPTiBmb3JtYXQiKQogICAgIHBh
cnNlci5hZGRfYXJndW1lbnQoIi0tbWFya2Rvd24iLCBhY3Rpb249InN0b3JlX3RydWUiLAogICAg
ICAgICAgICAgICAgICAgICAgICAgaGVscD0iT3V0cHV0IG1hcmtkb3duIikKLSAgICBwYXJzZXIu
YWRkX2FyZ3VtZW50KCItLXJlcG8tcm9vdCIsIGhlbHA9IlRoZSBXUFQgZGlyZWN0b3J5LiBVc2Ug
dGhpcyIKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCItLXJlcG8tcm9vdCIsIGhlbHA9IlRoZSBX
UFQgZGlyZWN0b3J5LiBVc2UgdGhpcyAiCiAgICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9u
IGlmIHRoZSBsaW50IHNjcmlwdCBleGlzdHMgb3V0c2lkZSB0aGUgcmVwb3NpdG9yeSIpCiAgICAg
cGFyc2VyLmFkZF9hcmd1bWVudCgiLS1pZ25vcmUtZ2xvYiIsIGhlbHA9IkFkZGl0aW9uYWwgZmls
ZSBnbG9iIHRvIGlnbm9yZS4iKQogICAgIHBhcnNlci5hZGRfYXJndW1lbnQoIi0tYWxsIiwgYWN0
aW9uPSJzdG9yZV90cnVlIiwgaGVscD0iSWYgbm8gcGF0aHMgYXJlIHBhc3NlZCwgdHJ5IHRvIGxp
bnQgdGhlIHdob2xlICIKQEAgLTg3OSwxMSArOTAzLDExIEBAIGRlZiBsaW50KHJlcG9fcm9vdCwg
cGF0aHMsIG91dHB1dF9mb3JtYXQsIGlnbm9yZV9nbG9iPXN0cigpKToKICAgICBlcnJvcl9jb3Vu
dCA9IGRlZmF1bHRkaWN0KGludCkgICMgdHlwZTogRGljdFtUZXh0LCBpbnRdCiAgICAgbGFzdCA9
IE5vbmUKIAotICAgIHdpdGggb3Blbihvcy5wYXRoLmpvaW4ocmVwb19yb290LCAibGludC53aGl0
ZWxpc3QiKSkgYXMgZjoKLSAgICAgICAgd2hpdGVsaXN0LCBpZ25vcmVkX2ZpbGVzID0gcGFyc2Vf
d2hpdGVsaXN0KGYpCisgICAgd2l0aCBvcGVuKG9zLnBhdGguam9pbihyZXBvX3Jvb3QsICJsaW50
Lmlnbm9yZSIpKSBhcyBmOgorICAgICAgICBpZ25vcmVsaXN0LCBza2lwcGVkX2ZpbGVzID0gcGFy
c2VfaWdub3JlbGlzdChmKQogCiAgICAgaWYgaWdub3JlX2dsb2I6Ci0gICAgICAgIGlnbm9yZWRf
ZmlsZXMuYWRkKGlnbm9yZV9nbG9iKQorICAgICAgICBza2lwcGVkX2ZpbGVzLmFkZChpZ25vcmVf
Z2xvYikKIAogICAgIG91dHB1dF9lcnJvcnMgPSB7Impzb24iOiBvdXRwdXRfZXJyb3JzX2pzb24s
CiAgICAgICAgICAgICAgICAgICAgICAibWFya2Rvd24iOiBvdXRwdXRfZXJyb3JzX21hcmtkb3du
LApAQCAtODk5LDcgKzkyMyw3IEBAIGRlZiBsaW50KHJlcG9fcm9vdCwgcGF0aHMsIG91dHB1dF9m
b3JtYXQsIGlnbm9yZV9nbG9iPXN0cigpKToKICAgICAgICAgICAgICAgICAgIGEgdHVwbGUgb2Yg
dGhlIGVycm9yIHR5cGUgYW5kIHRoZSBwYXRoIG90aGVyd2lzZQogICAgICAgICAiIiIKIAotICAg
ICAgICBlcnJvcnMgPSBmaWx0ZXJfd2hpdGVsaXN0X2Vycm9ycyh3aGl0ZWxpc3QsIGVycm9ycykK
KyAgICAgICAgZXJyb3JzID0gZmlsdGVyX2lnbm9yZWxpc3RfZXJyb3JzKGlnbm9yZWxpc3QsIGVy
cm9ycykKIAogICAgICAgICBpZiBub3QgZXJyb3JzOgogICAgICAgICAgICAgcmV0dXJuIE5vbmUK
QEAgLTkxNiw3ICs5NDAsNyBAQCBkZWYgbGludChyZXBvX3Jvb3QsIHBhdGhzLCBvdXRwdXRfZm9y
bWF0LCBpZ25vcmVfZ2xvYj1zdHIoKSk6CiAgICAgICAgICAgICBwYXRocy5yZW1vdmUocGF0aCkK
ICAgICAgICAgICAgIGNvbnRpbnVlCiAKLSAgICAgICAgaWYgYW55KGZubWF0Y2guZm5tYXRjaChw
YXRoLCBmaWxlX21hdGNoKSBmb3IgZmlsZV9tYXRjaCBpbiBpZ25vcmVkX2ZpbGVzKToKKyAgICAg
ICAgaWYgYW55KGZubWF0Y2guZm5tYXRjaChwYXRoLCBmaWxlX21hdGNoKSBmb3IgZmlsZV9tYXRj
aCBpbiBza2lwcGVkX2ZpbGVzKToKICAgICAgICAgICAgIHBhdGhzLnJlbW92ZShwYXRoKQogICAg
ICAgICAgICAgY29udGludWUKIApAQCAtOTQyLDcgKzk2Niw3IEBAIGRlZiBsaW50KHJlcG9fcm9v
dCwgcGF0aHMsIG91dHB1dF9mb3JtYXQsIGlnbm9yZV9nbG9iPXN0cigpKToKIAogcGF0aF9saW50
cyA9IFtjaGVja19maWxlX3R5cGUsIGNoZWNrX3BhdGhfbGVuZ3RoLCBjaGVja193b3JrZXJfY29s
bGlzaW9uLCBjaGVja19haGVtX2NvcHksCiAgICAgICAgICAgICAgIGNoZWNrX2dpdGlnbm9yZV9m
aWxlXQotYWxsX3BhdGhzX2xpbnRzID0gW2NoZWNrX2Nzc19nbG9iYWxseV91bmlxdWVdCithbGxf
cGF0aHNfbGludHMgPSBbY2hlY2tfY3NzX2dsb2JhbGx5X3VuaXF1ZSwgY2hlY2tfdW5pcXVlX3Rl
c3RoYXJuZXNzX2Jhc2VuYW1lc10KIGZpbGVfbGludHMgPSBbY2hlY2tfcmVnZXhwX2xpbmUsIGNo
ZWNrX3BhcnNlZCwgY2hlY2tfcHl0aG9uX2FzdCwgY2hlY2tfc2NyaXB0X21ldGFkYXRhLAogICAg
ICAgICAgICAgICBjaGVja19haGVtX3N5c3RlbV9mb250XQogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvcnVsZXMucHkg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQv
cnVsZXMucHkKaW5kZXggZmFhMjg1ZmQ3Y2RiY2M0MDZmOGMwMmFiMDNlZDZiZWIzNmViMGJlZi4u
Njk1ZjZjZDRlNTMyOGNhZjJmMDg1YTExNWQzMWE5YzBiNGFlMjcxMiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3J1bGVz
LnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvbGludC9ydWxlcy5weQpAQCAtMzIyLDYgKzMyMiwxNSBAQCBjbGFzcyBUZXN0aGFybmVzc0lu
T3RoZXJUeXBlKFJ1bGUpOgogICAgIGRlc2NyaXB0aW9uID0gInRlc3RoYXJuZXNzLmpzIGluY2x1
ZGVkIGluIGEgJXMgdGVzdCIKIAogCitjbGFzcyBEdXBsaWNhdGVCYXNlbmFtZVBhdGgoUnVsZSk6
CisgICAgbmFtZSA9ICJEVVBMSUNBVEUtQkFTRU5BTUUtUEFUSCIKKyAgICBkZXNjcmlwdGlvbiA9
IGNvbGxhcHNlKCIiIgorICAgICAgICAgICAgRmlsZSBoYXMgaWRlbnRpY2FsIGJhc2VuYW1lIHBh
dGggKHBhdGggZXhjbHVkaW5nIGV4dGVuc2lvbikgYXMKKyAgICAgICAgICAgIG90aGVyIGZpbGUo
cykgKGZvdW5kIGV4dGVuc2lvbnM6ICVzKQorICAgICIiIikKKyAgICB0b19maXggPSAicmVuYW1l
IGZpbGVzIHNvIHRoZXkgaGF2ZSB1bmlxdWUgYmFzZW5hbWUgcGF0aHMiCisKKwogY2xhc3MgUmVn
ZXhwKHNpeC53aXRoX21ldGFjbGFzcyhhYmMuQUJDTWV0YSkpOgogICAgIEBhYmMuYWJzdHJhY3Rw
cm9wZXJ0eQogICAgIGRlZiBwYXR0ZXJuKHNlbGYpOgpAQCAtNDYyLDMgKzQ3MSwyNyBAQCBjbGFz
cyBUcmFpbGluZ1doaXRlc3BhY2VSZWdleHAoUmVnZXhwKToKICAgICBkZXNjcmlwdGlvbiA9ICJX
aGl0ZXNwYWNlIGF0IEVPTCIKICAgICBwYXR0ZXJuID0gYiJbIFx0XGZcdl0kIgogICAgIHRvX2Zp
eCA9ICIiIlJlbW92ZSB0cmFpbGluZyB3aGl0ZXNwYWNlIGZyb20gYWxsIGxpbmVzIGluIHRoZSBm
aWxlLiIiIgorCisKK2NsYXNzIEFzc2VydFRocm93c1JlZ2V4cChSZWdleHApOgorICAgIHBhdHRl
cm4gPSBiciJbXi5dYXNzZXJ0X3Rocm93c1woIgorICAgIG5hbWUgPSAiQVNTRVJUX1RIUk9XUyIK
KyAgICBmaWxlX2V4dGVuc2lvbnMgPSBbIi5odG1sIiwgIi5odG0iLCAiLmpzIiwgIi54aHQiLCAi
LnhodG1sIiwgIi5zdmciXQorICAgIGRlc2NyaXB0aW9uID0gIlRlc3QtZmlsZSBsaW5lIGhhcyBh
biBgYXNzZXJ0X3Rocm93cyguLi4pYCBjYWxsIgorICAgIHRvX2ZpeCA9ICIiIlJlcGxhY2Ugd2l0
aCBgYXNzZXJ0X3Rocm93c19kb21gIG9yIGBhc3NlcnRfdGhyb3dzX2pzYCBvciBgYXNzZXJ0X3Ro
cm93c19leGFjdGx5YCIiIgorCisKK2NsYXNzIFByb21pc2VSZWplY3RzUmVnZXhwKFJlZ2V4cCk6
CisgICAgcGF0dGVybiA9IGJyInByb21pc2VfcmVqZWN0c1woIgorICAgIG5hbWUgPSAiUFJPTUlT
RV9SRUpFQ1RTIgorICAgIGZpbGVfZXh0ZW5zaW9ucyA9IFsiLmh0bWwiLCAiLmh0bSIsICIuanMi
LCAiLnhodCIsICIueGh0bWwiLCAiLnN2ZyJdCisgICAgZGVzY3JpcHRpb24gPSAiVGVzdC1maWxl
IGxpbmUgaGFzIGEgYHByb21pc2VfcmVqZWN0cyguLi4pYCBjYWxsIgorICAgIHRvX2ZpeCA9ICIi
IlJlcGxhY2Ugd2l0aCBwcm9taXNlX3JlamVjdHNfZG9tIG9yIHByb21pc2VfcmVqZWN0c19qcyBv
ciBgcHJvbWlzZV9yZWplY3RzX2V4YWN0bHlgIiIiCisKKworY2xhc3MgQXNzZXJ0UHJlY29uZGl0
aW9uUmVnZXhwKFJlZ2V4cCk6CisgICAgcGF0dGVybiA9IGJyIlteLl1hc3NlcnRfcHJlY29uZGl0
aW9uXCgiCisgICAgbmFtZSA9ICJBU1NFUlQtUFJFQ09ORElUSU9OIgorICAgIGZpbGVfZXh0ZW5z
aW9ucyA9IFsiLmh0bWwiLCAiLmh0bSIsICIuanMiLCAiLnhodCIsICIueGh0bWwiLCAiLnN2ZyJd
CisgICAgZGVzY3JpcHRpb24gPSAiVGVzdC1maWxlIGxpbmUgaGFzIGFuIGBhc3NlcnRfcHJlY29u
ZGl0aW9uKC4uLilgIGNhbGwiCisgICAgdG9fZml4ID0gIiIiUmVwbGFjZSB3aXRoIGBhc3NlcnRf
aW1wbGVtZW50c2Agb3IgYGFzc2VydF9pbXBsZW1lbnRzX29wdGlvbmFsYCIiIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50
L3Rlc3RzL2R1bW15L2xpbnQuaWdub3JlIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L2xpbnQuaWdub3JlCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmE3NjNlNDQzMmU1YWZhMjEyMzAzNTM0NWUxMzBkMDE4NzEwZmZkZDAKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L2xpbnQvdGVzdHMvZHVtbXkvbGludC5pZ25vcmUKQEAgLTAsMCArMSBAQAorKjpicm9rZW5faWdu
b3JlZC5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvbGludC53aGl0ZWxpc3QgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVt
bXkvbGludC53aGl0ZWxpc3QKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE3NjNlNDQz
MmU1YWZhMjEyMzAzNTM0NWUxMzBkMDE4NzEwZmZkZDAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L2xpbnQud2hpdGVsaXN0CisrKyAvZGV2
L251bGwKQEAgLTEgKzAsMCBAQAotKjpicm9rZW5faWdub3JlZC5odG1sCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVz
dHMvZHVtbXkvdGVzdHMvZGlyMS9hLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvdGVzdHMvZGlyMS9hLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjQxMjU5M2IwNDVlZjQ3NWUwYWY1ZTU4NTNkZThmZjU4YmNkNzI0NAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS90ZXN0cy9kaXIxL2EuaHRtbApAQCAtMCwwICsxLDQg
QEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1
bW15L3Rlc3RzL2RpcjEvYS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS90ZXN0cy9kaXIxL2EuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYTg1NWRhYjZhNzdjYjI4MTAzY2MxNThmZjBmOWNjZGU5NmI1MjU5NQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
bGludC90ZXN0cy9kdW1teS90ZXN0cy9kaXIxL2EuanMKQEAgLTAsMCArMSw2IEBACisvLyBUaGlz
IGlzIGEgZHVtbXkgSmF2YVNjcmlwdCBmaWxlLCBtZWFudCB0byBpbmRpY2F0ZSBhICdzdXBwb3J0
JyBmaWxlIG9mCisvLyBzb3J0cyB0aGF0IG1heSBiZSBpbmNsdWRlZCBieSBzb21lIHRlc3QuCisK
K2Z1bmN0aW9uIGhlbGxvV29ybGQoKSB7CisgIHJldHVybiAnSGVsbG8sIHdvcmxkISc7Cit9CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL2xpbnQvdGVzdHMvZHVtbXkvdGVzdHMvZGlyMS9hLnhodG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L3Rlc3Rz
L2RpcjEvYS54aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jOGI0Y2MyZTUyMjNhODYyNTVlZmI1MzFhNGQ1YTQ0
MzBmOTUxYjE1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L3Rlc3RzL2RpcjEvYS54aHRt
bApAQCAtMCwwICsxLDUgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+
Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xp
bnQvdGVzdHMvZHVtbXkvdGVzdHMvZGlyMS9iLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvdGVzdHMvZGlyMS9i
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjQxMjU5M2IwNDVlZjQ3NWUwYWY1ZTU4NTNkZThmZjU4YmNkNzI0
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS90ZXN0cy9kaXIxL2IuaHRtbApAQCAtMCww
ICsxLDQgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rl
c3RzL2R1bW15L3Rlc3RzL2RpcjEvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvdGVzdHMvZGly
MS93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMjI5OTFkOWJlNmNjZjQxODgwMTAwMDZhNmU2
ZDgzNjk4ZDI4ZTdlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L3Rlc3RzL2RpcjEvdzNj
LWltcG9ydC5sb2cKQEAgLTAsMCArMSwyMCBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5
IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRo
ZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVx
dWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3Jt
LXRlc3RzL3dwdAorCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3Rz
IGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZp
bGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZp
eGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitO
b25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L3Rlc3RzL2Rp
cjEvYS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy9saW50L3Rlc3RzL2R1bW15L3Rlc3RzL2RpcjEvYS5qcworL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS90ZXN0cy9k
aXIxL2EueGh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvdGVzdHMvZGlyMS9iLmh0bWwKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0
cy9kdW1teS90ZXN0cy9kaXIyL2EueGh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvdGVzdHMvZGlyMi9hLnhodG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmM4YjRjYzJlNTIyM2E4NjI1NWVmYjUzMWE0ZDVhNDQzMGY5NTFiMTUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvdGVzdHMvZGlyMi9hLnhodG1sCkBAIC0wLDAgKzEs
NSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxodG1sIHhtbG5z
PSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1t
eS90ZXN0cy9kaXIyL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L3Rlc3RzL2RpcjIvdzNjLWlt
cG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYmNkNjY5ZTY1M2JmYzIzN2I2Mzc4ZjNhZTllZTY2NzUwYzU1
MGJhYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS90ZXN0cy9kaXIyL3czYy1pbXBvcnQu
bG9nCkBAIC0wLDAgKzEsMTcgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGlt
cG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0
cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24g
dGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93
cHQKKworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJL
aXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCist
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05v
bmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS90ZXN0cy9kaXIyL2EueGh0
bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0cy9kdW1teS93M2Mt
aW1wb3J0LmxvZwppbmRleCA0NjA1NmU2NzEzZmQzMTNkZmUyNGIxYjg4MmMyODM4OWNiZWNmYzlj
Li5mMzRkMTY3MzBmNzAwNGY3NGQyMzRjOWNjYWRiMmMwZWNlZDJiNTA5IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVz
dHMvZHVtbXkvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L3czYy1pbXBvcnQubG9nCkBA
IC0xOCw1ICsxOCw1IEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L2Jyb2tlbi5odG1sCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rl
c3RzL2R1bW15L2Jyb2tlbl9pZ25vcmVkLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvZHVtbXkvZGVwZW5kZW5jeS5odG1s
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50
L3Rlc3RzL2R1bW15L2xpbnQud2hpdGVsaXN0CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL2R1bW15L2xpbnQuaWdub3JlCiAvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3Rz
L2R1bW15L29rYXkuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL3Rlc3RfZmlsZV9saW50cy5weSBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbGludC90ZXN0
cy90ZXN0X2ZpbGVfbGludHMucHkKaW5kZXggMDhjMDliNmIwOTUwYjJjZjU0OGMzYjVlNDE1MzAz
NTk3ZGQ4YzY1NC4uN2RhY2ZhZDYzODBkYzhiNjY4YTIyZGM3YzRmZTJlNzRkMzc1NDY5ZiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9saW50L3Rlc3RzL3Rlc3RfZmlsZV9saW50cy5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvdGVzdF9maWxlX2xpbnRz
LnB5CkBAIC02MzMsNiArNjMzLDggQEAgZGVmIHRlc3RfbGF0ZV90aW1lb3V0KCk6CiAgICAgICAg
ICAgICBdCiAKIAorIyBOb3RlOiBUaGlzIHRlc3QgY2hlY2tzIHRoZSBwcmludCAqc3RhdGVtZW50
KiAod2hpY2ggZG9lc24ndCBleGlzdCBpbiBweXRob24gMykuCisjICAgICAgIFRoZSBwcmludCAq
ZnVuY3Rpb24qIGlzIGNoZWNrZWQgaW4gdGVzdF9wcmludF9mdW5jdGlvbiBiZWxvdy4KIEBweXRl
c3QubWFyay5za2lwaWYoc2l4LlBZMywgcmVhc29uPSJDYW5ub3QgcGFyc2UgcHJpbnQgc3RhdGVt
ZW50cyBmcm9tIHB5dGhvbiAzIikKIGRlZiB0ZXN0X3ByaW50X3N0YXRlbWVudCgpOgogICAgIGVy
cm9yX21hcCA9IGNoZWNrX3dpdGhfZmlsZXMoYiJkZWYgZm9vKCk6XG4gIHByaW50ICdzdGF0ZW1l
bnQnXG4gIHByaW50XG4iKQpAQCAtNzk0LDYgKzc5NiwyMCBAQCBkZWYgdGVzdF9jc3NfbWlzc2lu
Z19maWxlX21hbnVhbCgpOgogICAgIF0KIAogCitkZWYgdGVzdF9jc3NfbWlzc2luZ19maWxlX3Rl
bnRhdGl2ZSgpOgorICAgIGNvZGUgPSBiIiIiXAorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMu
b3JnLzE5OTkveGh0bWwiPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgorPC9odG1sPgorIiIiCisKKyAgICAjIFRoZSB0ZW50YXRpdmUgZmxhZyBjb3Zl
cnMgdGVzdHMgdGhhdCBtYWtlIGFzc2VydGlvbnMgJ25vdCB5ZXQgcmVxdWlyZWQgYnkKKyAgICAj
IGFueSBzcGVjaWZpY2F0aW9uJywgc28gdGhleSBuZWVkIG5vdCBoYXZlIGEgc3BlY2lmaWNhdGlv
biBsaW5rLgorICAgIGVycm9ycyA9IGNoZWNrX2ZpbGVfY29udGVudHMoIiIsICJjc3MvZm9vL2Jh
ci50ZW50YXRpdmUuaHRtbCIsIHNpeC5CeXRlc0lPKGNvZGUpKQorICAgIGFzc2VydCBub3QgZXJy
b3JzCisKKwogQHB5dGVzdC5tYXJrLnBhcmFtZXRyaXplKCJmaWxlbmFtZSIsIFsKICAgICAiZm9v
Lndvcmtlci5qcyIsCiAgICAgImZvby5hbnkuanMiLApAQCAtODQyLDE3ICs4NTgsMTcgQEAgZGVm
IHRlc3Rfc2NyaXB0X21ldGFkYXRhKGZpbGVuYW1lLCBpbnB1dCwgZXJyb3IpOgogCiBAcHl0ZXN0
Lm1hcmsucGFyYW1ldHJpemUoImdsb2JhbHMsZXJyb3IiLCBbCiAgICAgKGIiIiwgTm9uZSksCi0g
ICAgKGIiZGVmYXVsdCIsIE5vbmUpLAotICAgIChiIiFkZWZhdWx0IiwgTm9uZSksCisgICAgKGIi
ZGVmYXVsdCIsICJVTktOT1dOLUdMT0JBTC1NRVRBREFUQSIpLAorICAgIChiIiFkZWZhdWx0Iiwg
IlVOS05PV04tR0xPQkFMLU1FVEFEQVRBIiksCiAgICAgKGIid2luZG93IiwgTm9uZSksCi0gICAg
KGIiIXdpbmRvdyIsIE5vbmUpLAotICAgIChiIiFkZWRpY2F0ZWR3b3JrZXIiLCBOb25lKSwKLSAg
ICAoYiJ3aW5kb3csICF3aW5kb3ciLCAiQlJPS0VOLUdMT0JBTC1NRVRBREFUQSIpLAotICAgIChi
IiFzZXJ2aWNld29ya2VyIiwgIkJST0tFTi1HTE9CQUwtTUVUQURBVEEiKSwKLSAgICAoYiJzZXJ2
aWNld29ya2VyLCAhc2VydmljZXdvcmtlciIsICJCUk9LRU4tR0xPQkFMLU1FVEFEQVRBIiksCi0g
ICAgKGIid29ya2VyLCAhZGVkaWNhdGVkd29ya2VyIiwgTm9uZSksCi0gICAgKGIid29ya2VyLCAh
c2VydmljZXdvcmtlciIsIE5vbmUpLAotICAgIChiIiF3b3JrZXIiLCBOb25lKSwKKyAgICAoYiIh
d2luZG93IiwgIlVOS05PV04tR0xPQkFMLU1FVEFEQVRBIiksCisgICAgKGIiIWRlZGljYXRlZHdv
cmtlciIsICJVTktOT1dOLUdMT0JBTC1NRVRBREFUQSIpLAorICAgIChiIndpbmRvdywgIXdpbmRv
dyIsICJVTktOT1dOLUdMT0JBTC1NRVRBREFUQSIpLAorICAgIChiIiFzZXJ2aWNld29ya2VyIiwg
IlVOS05PV04tR0xPQkFMLU1FVEFEQVRBIiksCisgICAgKGIic2VydmljZXdvcmtlciwgIXNlcnZp
Y2V3b3JrZXIiLCAiVU5LTk9XTi1HTE9CQUwtTUVUQURBVEEiKSwKKyAgICAoYiJ3b3JrZXIsICFk
ZWRpY2F0ZWR3b3JrZXIiLCAiVU5LTk9XTi1HTE9CQUwtTUVUQURBVEEiKSwKKyAgICAoYiJ3b3Jr
ZXIsICFzZXJ2aWNld29ya2VyIiwgIlVOS05PV04tR0xPQkFMLU1FVEFEQVRBIiksCisgICAgKGIi
IXdvcmtlciIsICJVTktOT1dOLUdMT0JBTC1NRVRBREFUQSIpLAogICAgIChiImZvbyIsICJVTktO
T1dOLUdMT0JBTC1NRVRBREFUQSIpLAogICAgIChiIiFmb28iLCAiVU5LTk9XTi1HTE9CQUwtTUVU
QURBVEEiKSwKIF0pCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvdGVzdF9saW50LnB5IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9saW50L3Rlc3RzL3Rlc3RfbGlu
dC5weQppbmRleCBhZjJiN2QzZDRhYTE5ZjBjMWQ3MmE1NTc1YjUwMTNjNzg5N2UxZGM0Li4xMGQ5
NzI4YjQwNTc1MWJkYjI4ZGI1ZTAxOTMxNjJlYzdmNmRmNDg2IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xpbnQvdGVzdHMvdGVz
dF9saW50LnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvbGludC90ZXN0cy90ZXN0X2xpbnQucHkKQEAgLTgsNyArOCw3IEBAIGltcG9ydCBz
aXgKIAogZnJvbSAuLi5sb2NhbHBhdGhzIGltcG9ydCByZXBvX3Jvb3QKIGZyb20gLi4gaW1wb3J0
IGxpbnQgYXMgbGludF9tb2QKLWZyb20gLi5saW50IGltcG9ydCBmaWx0ZXJfd2hpdGVsaXN0X2Vy
cm9ycywgcGFyc2Vfd2hpdGVsaXN0LCBsaW50LCBjcmVhdGVfcGFyc2VyCitmcm9tIC4ubGludCBp
bXBvcnQgZmlsdGVyX2lnbm9yZWxpc3RfZXJyb3JzLCBwYXJzZV9pZ25vcmVsaXN0LCBsaW50LCBj
cmVhdGVfcGFyc2VyCiAKIF9kdW1teV9yZXBvID0gb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFt
ZShfX2ZpbGVfXyksICJkdW1teSIpCiAKQEAgLTE3LDggKzE3LDggQEAgZGVmIF9tb2NrX2xpbnQo
bmFtZSwgKiprd2FyZ3MpOgogICAgIHJldHVybiBtb2NrLnBhdGNoKGxpbnRfbW9kLl9fbmFtZV9f
ICsgIi4iICsgbmFtZSwgd3JhcHM9d3JhcHBlZCwgKiprd2FyZ3MpCiAKIAotZGVmIHRlc3RfZmls
dGVyX3doaXRlbGlzdF9lcnJvcnMoKToKLSAgICB3aGl0ZWxpc3QgPSB7CitkZWYgdGVzdF9maWx0
ZXJfaWdub3JlbGlzdF9lcnJvcnMoKToKKyAgICBpZ25vcmVsaXN0ID0gewogICAgICAgICAnQ09O
U09MRSc6IHsKICAgICAgICAgICAgICdzdmcvKic6IHsxMn0KICAgICAgICAgfSwKQEAgLTI2LDM0
ICsyNiwzNCBAQCBkZWYgdGVzdF9maWx0ZXJfd2hpdGVsaXN0X2Vycm9ycygpOgogICAgICAgICAg
ICAgJ3N2Zy8qJzoge05vbmV9CiAgICAgICAgIH0KICAgICB9Ci0gICAgIyBwYXJzZV93aGl0ZWxp
c3Qgbm9ybWFsaXNlcyB0aGUgY2FzZS9wYXRoIG9mIHRoZSBtYXRjaCBzdHJpbmcgc28gbmVlZCB0
byBkbyB0aGUgc2FtZQotICAgIHdoaXRlbGlzdCA9IHtlOiB7b3MucGF0aC5ub3JtY2FzZShrKTog
diBmb3IgaywgdiBpbiBwLml0ZW1zKCl9Ci0gICAgICAgICAgICAgICAgIGZvciBlLCBwIGluIHdo
aXRlbGlzdC5pdGVtcygpfQotICAgICMgcGF0aHMgcGFzc2VkIGludG8gZmlsdGVyX3doaXRlbGlz
dF9lcnJvcnMgYXJlIGFsd2F5cyBVbml4IHN0eWxlCisgICAgIyBwYXJzZV9pZ25vcmVsaXN0IG5v
cm1hbGlzZXMgdGhlIGNhc2UvcGF0aCBvZiB0aGUgbWF0Y2ggc3RyaW5nIHNvIG5lZWQgdG8gZG8g
dGhlIHNhbWUKKyAgICBpZ25vcmVsaXN0ID0ge2U6IHtvcy5wYXRoLm5vcm1jYXNlKGspOiB2IGZv
ciBrLCB2IGluIHAuaXRlbXMoKX0KKyAgICAgICAgICAgICAgICAgZm9yIGUsIHAgaW4gaWdub3Jl
bGlzdC5pdGVtcygpfQorICAgICMgcGF0aHMgcGFzc2VkIGludG8gZmlsdGVyX2lnbm9yZWxpc3Rf
ZXJyb3JzIGFyZSBhbHdheXMgVW5peCBzdHlsZQogICAgIGZpbHRlcmVkZmlsZSA9ICdzdmcvdGVz
dC5odG1sJwogICAgIHVuZmlsdGVyZWRmaWxlID0gJ2h0bWwvdGVzdC5odG1sJwogICAgICMgVGVz
dHMgZm9yIHBhc3Npbmcgbm8gZXJyb3JzCi0gICAgZmlsdGVyZWQgPSBmaWx0ZXJfd2hpdGVsaXN0
X2Vycm9ycyh3aGl0ZWxpc3QsIFtdKQorICAgIGZpbHRlcmVkID0gZmlsdGVyX2lnbm9yZWxpc3Rf
ZXJyb3JzKGlnbm9yZWxpc3QsIFtdKQogICAgIGFzc2VydCBmaWx0ZXJlZCA9PSBbXQotICAgIGZp
bHRlcmVkID0gZmlsdGVyX3doaXRlbGlzdF9lcnJvcnMod2hpdGVsaXN0LCBbXSkKKyAgICBmaWx0
ZXJlZCA9IGZpbHRlcl9pZ25vcmVsaXN0X2Vycm9ycyhpZ25vcmVsaXN0LCBbXSkKICAgICBhc3Nl
cnQgZmlsdGVyZWQgPT0gW10KICAgICAjIFRlc3RzIGZvciBmaWx0ZXJpbmcgb24gZmlsZSBhbmQg
bGluZSBudW1iZXIKLSAgICBmaWx0ZXJlZCA9IGZpbHRlcl93aGl0ZWxpc3RfZXJyb3JzKHdoaXRl
bGlzdCwgW1snQ09OU09MRScsICcnLCBmaWx0ZXJlZGZpbGUsIDEyXV0pCisgICAgZmlsdGVyZWQg
PSBmaWx0ZXJfaWdub3JlbGlzdF9lcnJvcnMoaWdub3JlbGlzdCwgW1snQ09OU09MRScsICcnLCBm
aWx0ZXJlZGZpbGUsIDEyXV0pCiAgICAgYXNzZXJ0IGZpbHRlcmVkID09IFtdCi0gICAgZmlsdGVy
ZWQgPSBmaWx0ZXJfd2hpdGVsaXN0X2Vycm9ycyh3aGl0ZWxpc3QsIFtbJ0NPTlNPTEUnLCAnJywg
dW5maWx0ZXJlZGZpbGUsIDEyXV0pCisgICAgZmlsdGVyZWQgPSBmaWx0ZXJfaWdub3JlbGlzdF9l
cnJvcnMoaWdub3JlbGlzdCwgW1snQ09OU09MRScsICcnLCB1bmZpbHRlcmVkZmlsZSwgMTJdXSkK
ICAgICBhc3NlcnQgZmlsdGVyZWQgPT0gW1snQ09OU09MRScsICcnLCB1bmZpbHRlcmVkZmlsZSwg
MTJdXQotICAgIGZpbHRlcmVkID0gZmlsdGVyX3doaXRlbGlzdF9lcnJvcnMod2hpdGVsaXN0LCBb
WydDT05TT0xFJywgJycsIGZpbHRlcmVkZmlsZSwgMTFdXSkKKyAgICBmaWx0ZXJlZCA9IGZpbHRl
cl9pZ25vcmVsaXN0X2Vycm9ycyhpZ25vcmVsaXN0LCBbWydDT05TT0xFJywgJycsIGZpbHRlcmVk
ZmlsZSwgMTFdXSkKICAgICBhc3NlcnQgZmlsdGVyZWQgPT0gW1snQ09OU09MRScsICcnLCBmaWx0
ZXJlZGZpbGUsIDExXV0KICAgICAjIFRlc3RzIGZvciBmaWx0ZXJpbmcgb24ganVzdCBmaWxlCi0g
ICAgZmlsdGVyZWQgPSBmaWx0ZXJfd2hpdGVsaXN0X2Vycm9ycyh3aGl0ZWxpc3QsIFtbJ0lOREVO
VCBUQUJTJywgJycsIGZpbHRlcmVkZmlsZSwgMTJdXSkKKyAgICBmaWx0ZXJlZCA9IGZpbHRlcl9p
Z25vcmVsaXN0X2Vycm9ycyhpZ25vcmVsaXN0LCBbWydJTkRFTlQgVEFCUycsICcnLCBmaWx0ZXJl
ZGZpbGUsIDEyXV0pCiAgICAgYXNzZXJ0IGZpbHRlcmVkID09IFtdCi0gICAgZmlsdGVyZWQgPSBm
aWx0ZXJfd2hpdGVsaXN0X2Vycm9ycyh3aGl0ZWxpc3QsIFtbJ0lOREVOVCBUQUJTJywgJycsIGZp
bHRlcmVkZmlsZSwgMTFdXSkKKyAgICBmaWx0ZXJlZCA9IGZpbHRlcl9pZ25vcmVsaXN0X2Vycm9y
cyhpZ25vcmVsaXN0LCBbWydJTkRFTlQgVEFCUycsICcnLCBmaWx0ZXJlZGZpbGUsIDExXV0pCiAg
ICAgYXNzZXJ0IGZpbHRlcmVkID09IFtdCi0gICAgZmlsdGVyZWQgPSBmaWx0ZXJfd2hpdGVsaXN0
X2Vycm9ycyh3aGl0ZWxpc3QsIFtbJ0lOREVOVCBUQUJTJywgJycsIHVuZmlsdGVyZWRmaWxlLCAx
MV1dKQorICAgIGZpbHRlcmVkID0gZmlsdGVyX2lnbm9yZWxpc3RfZXJyb3JzKGlnbm9yZWxpc3Qs
IFtbJ0lOREVOVCBUQUJTJywgJycsIHVuZmlsdGVyZWRmaWxlLCAxMV1dKQogICAgIGFzc2VydCBm
aWx0ZXJlZCA9PSBbWydJTkRFTlQgVEFCUycsICcnLCB1bmZpbHRlcmVkZmlsZSwgMTFdXQogCiAK
LWRlZiB0ZXN0X3BhcnNlX3doaXRlbGlzdCgpOgorZGVmIHRlc3RfcGFyc2VfaWdub3JlbGlzdCgp
OgogICAgIGlucHV0X2J1ZmZlciA9IHNpeC5TdHJpbmdJTygiIiIKICMgQ29tbWVudAogQ1IgQVQg
RU9MOiBzdmcvaW1wb3J0LyoKQEAgLTEwMCwxMCArMTAwLDEwIEBAIENSIEFUIEVPTCwgSU5ERU5U
IFRBQlM6IGh0bWwvdGVzdDIuanM6IDQyCiAgICAgfQogICAgIGV4cGVjdGVkX2RhdGEgPSB7ZTog
e29zLnBhdGgubm9ybWNhc2Uoayk6IHYgZm9yIGssIHYgaW4gcC5pdGVtcygpfQogICAgICAgICAg
ICAgICAgICAgICAgZm9yIGUsIHAgaW4gZXhwZWN0ZWRfZGF0YS5pdGVtcygpfQotICAgIGV4cGVj
dGVkX2lnbm9yZWQgPSB7b3MucGF0aC5ub3JtY2FzZSh4KSBmb3IgeCBpbiB7IioucGRmIiwgInJl
c291cmNlcy8qIiwgIioucG5nIn19Ci0gICAgZGF0YSwgaWdub3JlZCA9IHBhcnNlX3doaXRlbGlz
dChpbnB1dF9idWZmZXIpCisgICAgZXhwZWN0ZWRfc2tpcHBlZCA9IHtvcy5wYXRoLm5vcm1jYXNl
KHgpIGZvciB4IGluIHsiKi5wZGYiLCAicmVzb3VyY2VzLyoiLCAiKi5wbmcifX0KKyAgICBkYXRh
LCBza2lwcGVkX2ZpbGVzID0gcGFyc2VfaWdub3JlbGlzdChpbnB1dF9idWZmZXIpCiAgICAgYXNz
ZXJ0IGRhdGEgPT0gZXhwZWN0ZWRfZGF0YQotICAgIGFzc2VydCBpZ25vcmVkID09IGV4cGVjdGVk
X2lnbm9yZWQKKyAgICBhc3NlcnQgc2tpcHBlZF9maWxlcyA9PSBleHBlY3RlZF9za2lwcGVkCiAK
IAogZGVmIHRlc3RfbGludF9ub19maWxlcyhjYXBsb2cpOgpAQCAtMzk4LDYgKzM5OCw2NSBAQCBk
ZWYgdGVzdF9jaGVja19jc3NfZ2xvYmFsbHlfdW5pcXVlX2lnbm9yZWRfZGlyKGNhcGxvZyk6CiAg
ICAgYXNzZXJ0IGNhcGxvZy50ZXh0ID09ICIiCiAKIAorZGVmIHRlc3RfY2hlY2tfdW5pcXVlX3Rl
c3RoYXJuZXNzX2Jhc2VuYW1lX3NhbWVfYmFzZW5hbWUoY2FwbG9nKToKKyAgICAjIFByZWNvbmRp
dGlvbjogVGhlcmUgYXJlIHRlc3RoYXJuZXNzIGZpbGVzIHdpdGggY29uZmxpY3RpbmcgYmFzZW5h
bWUgcGF0aHMuCisgICAgYXNzZXJ0IG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihfZHVtbXlf
cmVwbywgJ3Rlc3RzJywgJ2RpcjEnLCAnYS5odG1sJykpCisgICAgYXNzZXJ0IG9zLnBhdGguZXhp
c3RzKG9zLnBhdGguam9pbihfZHVtbXlfcmVwbywgJ3Rlc3RzJywgJ2RpcjEnLCAnYS54aHRtbCcp
KQorCisgICAgd2l0aCBfbW9ja19saW50KCJjaGVja19wYXRoIikgYXMgbW9ja2VkX2NoZWNrX3Bh
dGg6CisgICAgICAgIHdpdGggX21vY2tfbGludCgiY2hlY2tfZmlsZV9jb250ZW50cyIpIGFzIG1v
Y2tlZF9jaGVja19maWxlX2NvbnRlbnRzOgorICAgICAgICAgICAgcnYgPSBsaW50KF9kdW1teV9y
ZXBvLCBbInRlc3RzL2RpcjEvYS5odG1sIiwgInRlc3RzL2RpcjEvYS54aHRtbCJdLCAibm9ybWFs
IikKKyAgICAgICAgICAgICMgVGhlcmUgd2lsbCBiZSBvbmUgZmFpbHVyZSBmb3IgZWFjaCBmaWxl
LgorICAgICAgICAgICAgYXNzZXJ0IHJ2ID09IDIKKyAgICAgICAgICAgIGFzc2VydCBtb2NrZWRf
Y2hlY2tfcGF0aC5jYWxsX2NvdW50ID09IDIKKyAgICAgICAgICAgIGFzc2VydCBtb2NrZWRfY2hl
Y2tfZmlsZV9jb250ZW50cy5jYWxsX2NvdW50ID09IDIKKyAgICBhc3NlcnQgIkRVUExJQ0FURS1C
QVNFTkFNRS1QQVRIIiBpbiBjYXBsb2cudGV4dAorCisKK2RlZiB0ZXN0X2NoZWNrX3VuaXF1ZV90
ZXN0aGFybmVzc19iYXNlbmFtZV9kaWZmZXJlbnRfbmFtZShjYXBsb2cpOgorICAgICMgUHJlY29u
ZGl0aW9uOiBUaGVyZSBhcmUgdHdvIHRlc3RoYXJuZXNzIGZpbGVzIGluIHRoZSBzYW1lIGRpcmVj
dG9yeSB3aXRoCisgICAgIyBkaWZmZXJlbnQgbmFtZXMuCisgICAgYXNzZXJ0IG9zLnBhdGguZXhp
c3RzKG9zLnBhdGguam9pbihfZHVtbXlfcmVwbywgJ3Rlc3RzJywgJ2RpcjEnLCAnYS5odG1sJykp
CisgICAgYXNzZXJ0IG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihfZHVtbXlfcmVwbywgJ3Rl
c3RzJywgJ2RpcjEnLCAnYi5odG1sJykpCisKKyAgICB3aXRoIF9tb2NrX2xpbnQoImNoZWNrX3Bh
dGgiKSBhcyBtb2NrZWRfY2hlY2tfcGF0aDoKKyAgICAgICAgd2l0aCBfbW9ja19saW50KCJjaGVj
a19maWxlX2NvbnRlbnRzIikgYXMgbW9ja2VkX2NoZWNrX2ZpbGVfY29udGVudHM6CisgICAgICAg
ICAgICBydiA9IGxpbnQoX2R1bW15X3JlcG8sIFsidGVzdHMvZGlyMS9hLmh0bWwiLCAidGVzdHMv
ZGlyMS9iLmh0bWwiXSwgIm5vcm1hbCIpCisgICAgICAgICAgICBhc3NlcnQgcnYgPT0gMAorICAg
ICAgICAgICAgYXNzZXJ0IG1vY2tlZF9jaGVja19wYXRoLmNhbGxfY291bnQgPT0gMgorICAgICAg
ICAgICAgYXNzZXJ0IG1vY2tlZF9jaGVja19maWxlX2NvbnRlbnRzLmNhbGxfY291bnQgPT0gMgor
ICAgIGFzc2VydCBjYXBsb2cudGV4dCA9PSAiIgorCisKK2RlZiB0ZXN0X2NoZWNrX3VuaXF1ZV90
ZXN0aGFybmVzc19iYXNlbmFtZV9kaWZmZXJlbnRfZGlyKGNhcGxvZyk6CisgICAgIyBQcmVjb25k
aXRpb246IFRoZXJlIGFyZSB0d28gdGVzdGhhcm5lc3MgZmlsZXMgaW4gZGlmZmVyZW50IGRpcmVj
dG9yaWVzCisgICAgIyB3aXRoIHRoZSBzYW1lIGJhc2VuYW1lLgorICAgIGFzc2VydCBvcy5wYXRo
LmV4aXN0cyhvcy5wYXRoLmpvaW4oX2R1bW15X3JlcG8sICd0ZXN0cycsICdkaXIxJywgJ2EuaHRt
bCcpKQorICAgIGFzc2VydCBvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4oX2R1bW15X3JlcG8s
ICd0ZXN0cycsICdkaXIyJywgJ2EueGh0bWwnKSkKKworICAgIHdpdGggX21vY2tfbGludCgiY2hl
Y2tfcGF0aCIpIGFzIG1vY2tlZF9jaGVja19wYXRoOgorICAgICAgICB3aXRoIF9tb2NrX2xpbnQo
ImNoZWNrX2ZpbGVfY29udGVudHMiKSBhcyBtb2NrZWRfY2hlY2tfZmlsZV9jb250ZW50czoKKyAg
ICAgICAgICAgIHJ2ID0gbGludChfZHVtbXlfcmVwbywgWyJ0ZXN0cy9kaXIxL2EuaHRtbCIsICJ0
ZXN0cy9kaXIyL2EueGh0bWwiXSwgIm5vcm1hbCIpCisgICAgICAgICAgICBhc3NlcnQgcnYgPT0g
MAorICAgICAgICAgICAgYXNzZXJ0IG1vY2tlZF9jaGVja19wYXRoLmNhbGxfY291bnQgPT0gMgor
ICAgICAgICAgICAgYXNzZXJ0IG1vY2tlZF9jaGVja19maWxlX2NvbnRlbnRzLmNhbGxfY291bnQg
PT0gMgorICAgIGFzc2VydCBjYXBsb2cudGV4dCA9PSAiIgorCisKK2RlZiB0ZXN0X2NoZWNrX3Vu
aXF1ZV90ZXN0aGFybmVzc19iYXNlbmFtZV9ub3RfdGVzdGhhcm5lc3MoY2FwbG9nKToKKyAgICAj
IFByZWNvbmRpdGlvbjogVGhlcmUgYXJlIG5vbi10ZXN0aGFybmVzcyBmaWxlcyB3aXRoIGNvbmZs
aWN0aW5nIGJhc2VuYW1lIHBhdGhzLgorICAgIGFzc2VydCBvcy5wYXRoLmV4aXN0cyhvcy5wYXRo
LmpvaW4oX2R1bW15X3JlcG8sICd0ZXN0cycsICdkaXIxJywgJ2EuaHRtbCcpKQorICAgIGFzc2Vy
dCBvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4oX2R1bW15X3JlcG8sICd0ZXN0cycsICdkaXIx
JywgJ2EuanMnKSkKKworICAgIHdpdGggX21vY2tfbGludCgiY2hlY2tfcGF0aCIpIGFzIG1vY2tl
ZF9jaGVja19wYXRoOgorICAgICAgICB3aXRoIF9tb2NrX2xpbnQoImNoZWNrX2ZpbGVfY29udGVu
dHMiKSBhcyBtb2NrZWRfY2hlY2tfZmlsZV9jb250ZW50czoKKyAgICAgICAgICAgIHJ2ID0gbGlu
dChfZHVtbXlfcmVwbywgWyJ0ZXN0cy9kaXIxL2EuaHRtbCIsICJ0ZXN0cy9kaXIxL2EuanMiXSwg
Im5vcm1hbCIpCisgICAgICAgICAgICBhc3NlcnQgcnYgPT0gMAorICAgICAgICAgICAgYXNzZXJ0
IG1vY2tlZF9jaGVja19wYXRoLmNhbGxfY291bnQgPT0gMgorICAgICAgICAgICAgYXNzZXJ0IG1v
Y2tlZF9jaGVja19maWxlX2NvbnRlbnRzLmNhbGxfY291bnQgPT0gMgorICAgIGFzc2VydCBjYXBs
b2cudGV4dCA9PSAiIgorCisKIGRlZiB0ZXN0X2lnbm9yZV9nbG9iKGNhcGxvZyk6CiAgICAgIyBM
aW50IHR3byBmaWxlcyBpbiB0aGUgcmVmLyBkaXJlY3RvcnksIGFuZCBwYXNzIGluIGlnbm9yZV9n
bG9iIHRvIG9taXQgb25lCiAgICAgIyBvZiB0aGVtLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9sb2NhbHBhdGhzLnB5IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9sb2NhbHBhdGhz
LnB5CmluZGV4IGY2ZTI0YjQ4NmQ1OGI3ODhiOTQ0MTE3NWM1ZTFjODlmOTM4NzRmZWIuLmNlM2I0
MWUzMDBjOWYxMTM4MGVhMDY1ZjViMjg4ZDVhZWY4MTI1ODggMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbG9jYWxwYXRocy5weQor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2xv
Y2FscGF0aHMucHkKQEAgLTYsNyArNiw3IEBAIHJlcG9fcm9vdCA9IG9zLnBhdGguYWJzcGF0aChv
cy5wYXRoLmpvaW4oaGVyZSwgb3MucGFyZGlyKSkKIAogc3lzLnBhdGguaW5zZXJ0KDAsIG9zLnBh
dGguam9pbihoZXJlKSkKIHN5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRoLmpvaW4oaGVyZSwgIndw
dHNlcnZlIikpCi1zeXMucGF0aC5pbnNlcnQoMCwgb3MucGF0aC5qb2luKGhlcmUsICJweXdlYnNv
Y2tldCIpKQorc3lzLnBhdGguaW5zZXJ0KDAsIG9zLnBhdGguam9pbihoZXJlLCAidGhpcmRfcGFy
dHkiLCAicHl3ZWJzb2NrZXQzIikpCiBzeXMucGF0aC5pbnNlcnQoMCwgb3MucGF0aC5qb2luKGhl
cmUsICJ0aGlyZF9wYXJ0eSIsICJhdG9taWN3cml0ZXMiKSkKIHN5cy5wYXRoLmluc2VydCgwLCBv
cy5wYXRoLmpvaW4oaGVyZSwgInRoaXJkX3BhcnR5IiwgImF0dHJzIiwgInNyYyIpKQogc3lzLnBh
dGguaW5zZXJ0KDAsIG9zLnBhdGguam9pbihoZXJlLCAidGhpcmRfcGFydHkiLCAiZnVuY3NpZ3Mi
KSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvbWFuaWZlc3QvY2F0YWxvZy94aHRtbC5kdGQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL21hbmlmZXN0L2NhdGFsb2cveGh0bWwuZHRk
CmluZGV4IDQzMDdiMWMyYzQzMzJiMjk0OTk5YTVmYTMxM2E2YTI4ZWVjNTdmZjYuLjgwNDIzNDgw
YmM1OTc1NDI2OTEwMTBhNTBjYTJjMTZmOTQ1YTcwODQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbWFuaWZlc3QvY2F0YWxvZy94
aHRtbC5kdGQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy9tYW5pZmVzdC9jYXRhbG9nL3hodG1sLmR0ZApAQCAtMSwyMTI1ICsxLDIxMjUgQEAK
LTwhRU5USVRZIFRhYiAiJiN4OTsiPgotPCFFTlRJVFkgTmV3TGluZSAiJiN4QTsiPgotPCFFTlRJ
VFkgZXhjbCAiJiN4MjE7Ij4KLTwhRU5USVRZIHF1b3QgIiYjeDIyOyI+Ci08IUVOVElUWSBRVU9U
ICImI3gyMjsiPgotPCFFTlRJVFkgbnVtICImI3gyMzsiPgotPCFFTlRJVFkgZG9sbGFyICImI3gy
NDsiPgotPCFFTlRJVFkgcGVyY250ICImI3gyNTsiPgotPCFFTlRJVFkgYW1wICImI3gyNjsjeDI2
OyI+Ci08IUVOVElUWSBBTVAgIiYjeDI2OyN4MjY7Ij4KLTwhRU5USVRZIGFwb3MgIiYjeDI3OyI+
Ci08IUVOVElUWSBscGFyICImI3gyODsiPgotPCFFTlRJVFkgcnBhciAiJiN4Mjk7Ij4KLTwhRU5U
SVRZIGFzdCAiJiN4MkE7Ij4KLTwhRU5USVRZIG1pZGFzdCAiJiN4MkE7Ij4KLTwhRU5USVRZIHBs
dXMgIiYjeDJCOyI+Ci08IUVOVElUWSBjb21tYSAiJiN4MkM7Ij4KLTwhRU5USVRZIHBlcmlvZCAi
JiN4MkU7Ij4KLTwhRU5USVRZIHNvbCAiJiN4MkY7Ij4KLTwhRU5USVRZIGNvbG9uICImI3gzQTsi
PgotPCFFTlRJVFkgc2VtaSAiJiN4M0I7Ij4KLTwhRU5USVRZIGx0ICImI3gyNjsjeDNDOyI+Ci08
IUVOVElUWSBMVCAiJiN4MjY7I3gzQzsiPgotPCFFTlRJVFkgbnZsdCAiJiN4MjY7I3gzQzsmI3gy
MEQyOyI+Ci08IUVOVElUWSBlcXVhbHMgIiYjeDNEOyI+Ci08IUVOVElUWSBibmUgIiYjeDNEOyYj
eDIwRTU7Ij4KLTwhRU5USVRZIGd0ICImI3gzRTsiPgotPCFFTlRJVFkgR1QgIiYjeDNFOyI+Ci08
IUVOVElUWSBudmd0ICImI3gzRTsmI3gyMEQyOyI+Ci08IUVOVElUWSBxdWVzdCAiJiN4M0Y7Ij4K
LTwhRU5USVRZIGNvbW1hdCAiJiN4NDA7Ij4KLTwhRU5USVRZIGxzcWIgIiYjeDVCOyI+Ci08IUVO
VElUWSBsYnJhY2sgIiYjeDVCOyI+Ci08IUVOVElUWSBic29sICImI3g1QzsiPgotPCFFTlRJVFkg
cnNxYiAiJiN4NUQ7Ij4KLTwhRU5USVRZIHJicmFjayAiJiN4NUQ7Ij4KLTwhRU5USVRZIEhhdCAi
JiN4NUU7Ij4KLTwhRU5USVRZIGxvd2JhciAiJiN4NUY7Ij4KLTwhRU5USVRZIFVuZGVyQmFyICIm
I3g1RjsiPgotPCFFTlRJVFkgZ3JhdmUgIiYjeDYwOyI+Ci08IUVOVElUWSBEaWFjcml0aWNhbEdy
YXZlICImI3g2MDsiPgotPCFFTlRJVFkgZmpsaWcgIiYjeDY2OyYjeDZBOyI+Ci08IUVOVElUWSBs
Y3ViICImI3g3QjsiPgotPCFFTlRJVFkgbGJyYWNlICImI3g3QjsiPgotPCFFTlRJVFkgdmVyYmFy
ICImI3g3QzsiPgotPCFFTlRJVFkgdmVydCAiJiN4N0M7Ij4KLTwhRU5USVRZIFZlcnRpY2FsTGlu
ZSAiJiN4N0M7Ij4KLTwhRU5USVRZIHJjdWIgIiYjeDdEOyI+Ci08IUVOVElUWSByYnJhY2UgIiYj
eDdEOyI+Ci08IUVOVElUWSBuYnNwICImI3hBMDsiPgotPCFFTlRJVFkgTm9uQnJlYWtpbmdTcGFj
ZSAiJiN4QTA7Ij4KLTwhRU5USVRZIGlleGNsICImI3hBMTsiPgotPCFFTlRJVFkgY2VudCAiJiN4
QTI7Ij4KLTwhRU5USVRZIHBvdW5kICImI3hBMzsiPgotPCFFTlRJVFkgY3VycmVuICImI3hBNDsi
PgotPCFFTlRJVFkgeWVuICImI3hBNTsiPgotPCFFTlRJVFkgYnJ2YmFyICImI3hBNjsiPgotPCFF
TlRJVFkgc2VjdCAiJiN4QTc7Ij4KLTwhRU5USVRZIERvdCAiJiN4QTg7Ij4KLTwhRU5USVRZIGRp
ZSAiJiN4QTg7Ij4KLTwhRU5USVRZIERvdWJsZURvdCAiJiN4QTg7Ij4KLTwhRU5USVRZIHVtbCAi
JiN4QTg7Ij4KLTwhRU5USVRZIGNvcHkgIiYjeEE5OyI+Ci08IUVOVElUWSBDT1BZICImI3hBOTsi
PgotPCFFTlRJVFkgb3JkZiAiJiN4QUE7Ij4KLTwhRU5USVRZIGxhcXVvICImI3hBQjsiPgotPCFF
TlRJVFkgbm90ICImI3hBQzsiPgotPCFFTlRJVFkgc2h5ICImI3hBRDsiPgotPCFFTlRJVFkgcmVn
ICImI3hBRTsiPgotPCFFTlRJVFkgY2lyY2xlZFIgIiYjeEFFOyI+Ci08IUVOVElUWSBSRUcgIiYj
eEFFOyI+Ci08IUVOVElUWSBtYWNyICImI3hBRjsiPgotPCFFTlRJVFkgc3RybnMgIiYjeEFGOyI+
Ci08IUVOVElUWSBkZWcgIiYjeEIwOyI+Ci08IUVOVElUWSBwbHVzbW4gIiYjeEIxOyI+Ci08IUVO
VElUWSBwbSAiJiN4QjE7Ij4KLTwhRU5USVRZIFBsdXNNaW51cyAiJiN4QjE7Ij4KLTwhRU5USVRZ
IHN1cDIgIiYjeEIyOyI+Ci08IUVOVElUWSBzdXAzICImI3hCMzsiPgotPCFFTlRJVFkgYWN1dGUg
IiYjeEI0OyI+Ci08IUVOVElUWSBEaWFjcml0aWNhbEFjdXRlICImI3hCNDsiPgotPCFFTlRJVFkg
bWljcm8gIiYjeEI1OyI+Ci08IUVOVElUWSBwYXJhICImI3hCNjsiPgotPCFFTlRJVFkgbWlkZG90
ICImI3hCNzsiPgotPCFFTlRJVFkgY2VudGVyZG90ICImI3hCNzsiPgotPCFFTlRJVFkgQ2VudGVy
RG90ICImI3hCNzsiPgotPCFFTlRJVFkgY2VkaWwgIiYjeEI4OyI+Ci08IUVOVElUWSBDZWRpbGxh
ICImI3hCODsiPgotPCFFTlRJVFkgc3VwMSAiJiN4Qjk7Ij4KLTwhRU5USVRZIG9yZG0gIiYjeEJB
OyI+Ci08IUVOVElUWSByYXF1byAiJiN4QkI7Ij4KLTwhRU5USVRZIGZyYWMxNCAiJiN4QkM7Ij4K
LTwhRU5USVRZIGZyYWMxMiAiJiN4QkQ7Ij4KLTwhRU5USVRZIGhhbGYgIiYjeEJEOyI+Ci08IUVO
VElUWSBmcmFjMzQgIiYjeEJFOyI+Ci08IUVOVElUWSBpcXVlc3QgIiYjeEJGOyI+Ci08IUVOVElU
WSBBZ3JhdmUgIiYjeEMwOyI+Ci08IUVOVElUWSBBYWN1dGUgIiYjeEMxOyI+Ci08IUVOVElUWSBB
Y2lyYyAiJiN4QzI7Ij4KLTwhRU5USVRZIEF0aWxkZSAiJiN4QzM7Ij4KLTwhRU5USVRZIEF1bWwg
IiYjeEM0OyI+Ci08IUVOVElUWSBBcmluZyAiJiN4QzU7Ij4KLTwhRU5USVRZIGFuZ3N0ICImI3hD
NTsiPgotPCFFTlRJVFkgQUVsaWcgIiYjeEM2OyI+Ci08IUVOVElUWSBDY2VkaWwgIiYjeEM3OyI+
Ci08IUVOVElUWSBFZ3JhdmUgIiYjeEM4OyI+Ci08IUVOVElUWSBFYWN1dGUgIiYjeEM5OyI+Ci08
IUVOVElUWSBFY2lyYyAiJiN4Q0E7Ij4KLTwhRU5USVRZIEV1bWwgIiYjeENCOyI+Ci08IUVOVElU
WSBJZ3JhdmUgIiYjeENDOyI+Ci08IUVOVElUWSBJYWN1dGUgIiYjeENEOyI+Ci08IUVOVElUWSBJ
Y2lyYyAiJiN4Q0U7Ij4KLTwhRU5USVRZIEl1bWwgIiYjeENGOyI+Ci08IUVOVElUWSBFVEggIiYj
eEQwOyI+Ci08IUVOVElUWSBOdGlsZGUgIiYjeEQxOyI+Ci08IUVOVElUWSBPZ3JhdmUgIiYjeEQy
OyI+Ci08IUVOVElUWSBPYWN1dGUgIiYjeEQzOyI+Ci08IUVOVElUWSBPY2lyYyAiJiN4RDQ7Ij4K
LTwhRU5USVRZIE90aWxkZSAiJiN4RDU7Ij4KLTwhRU5USVRZIE91bWwgIiYjeEQ2OyI+Ci08IUVO
VElUWSB0aW1lcyAiJiN4RDc7Ij4KLTwhRU5USVRZIE9zbGFzaCAiJiN4RDg7Ij4KLTwhRU5USVRZ
IFVncmF2ZSAiJiN4RDk7Ij4KLTwhRU5USVRZIFVhY3V0ZSAiJiN4REE7Ij4KLTwhRU5USVRZIFVj
aXJjICImI3hEQjsiPgotPCFFTlRJVFkgVXVtbCAiJiN4REM7Ij4KLTwhRU5USVRZIFlhY3V0ZSAi
JiN4REQ7Ij4KLTwhRU5USVRZIFRIT1JOICImI3hERTsiPgotPCFFTlRJVFkgc3psaWcgIiYjeERG
OyI+Ci08IUVOVElUWSBhZ3JhdmUgIiYjeEUwOyI+Ci08IUVOVElUWSBhYWN1dGUgIiYjeEUxOyI+
Ci08IUVOVElUWSBhY2lyYyAiJiN4RTI7Ij4KLTwhRU5USVRZIGF0aWxkZSAiJiN4RTM7Ij4KLTwh
RU5USVRZIGF1bWwgIiYjeEU0OyI+Ci08IUVOVElUWSBhcmluZyAiJiN4RTU7Ij4KLTwhRU5USVRZ
IGFlbGlnICImI3hFNjsiPgotPCFFTlRJVFkgY2NlZGlsICImI3hFNzsiPgotPCFFTlRJVFkgZWdy
YXZlICImI3hFODsiPgotPCFFTlRJVFkgZWFjdXRlICImI3hFOTsiPgotPCFFTlRJVFkgZWNpcmMg
IiYjeEVBOyI+Ci08IUVOVElUWSBldW1sICImI3hFQjsiPgotPCFFTlRJVFkgaWdyYXZlICImI3hF
QzsiPgotPCFFTlRJVFkgaWFjdXRlICImI3hFRDsiPgotPCFFTlRJVFkgaWNpcmMgIiYjeEVFOyI+
Ci08IUVOVElUWSBpdW1sICImI3hFRjsiPgotPCFFTlRJVFkgZXRoICImI3hGMDsiPgotPCFFTlRJ
VFkgbnRpbGRlICImI3hGMTsiPgotPCFFTlRJVFkgb2dyYXZlICImI3hGMjsiPgotPCFFTlRJVFkg
b2FjdXRlICImI3hGMzsiPgotPCFFTlRJVFkgb2NpcmMgIiYjeEY0OyI+Ci08IUVOVElUWSBvdGls
ZGUgIiYjeEY1OyI+Ci08IUVOVElUWSBvdW1sICImI3hGNjsiPgotPCFFTlRJVFkgZGl2aWRlICIm
I3hGNzsiPgotPCFFTlRJVFkgZGl2ICImI3hGNzsiPgotPCFFTlRJVFkgb3NsYXNoICImI3hGODsi
PgotPCFFTlRJVFkgdWdyYXZlICImI3hGOTsiPgotPCFFTlRJVFkgdWFjdXRlICImI3hGQTsiPgot
PCFFTlRJVFkgdWNpcmMgIiYjeEZCOyI+Ci08IUVOVElUWSB1dW1sICImI3hGQzsiPgotPCFFTlRJ
VFkgeWFjdXRlICImI3hGRDsiPgotPCFFTlRJVFkgdGhvcm4gIiYjeEZFOyI+Ci08IUVOVElUWSB5
dW1sICImI3hGRjsiPgotPCFFTlRJVFkgQW1hY3IgIiYjeDEwMDsiPgotPCFFTlRJVFkgYW1hY3Ig
IiYjeDEwMTsiPgotPCFFTlRJVFkgQWJyZXZlICImI3gxMDI7Ij4KLTwhRU5USVRZIGFicmV2ZSAi
JiN4MTAzOyI+Ci08IUVOVElUWSBBb2dvbiAiJiN4MTA0OyI+Ci08IUVOVElUWSBhb2dvbiAiJiN4
MTA1OyI+Ci08IUVOVElUWSBDYWN1dGUgIiYjeDEwNjsiPgotPCFFTlRJVFkgY2FjdXRlICImI3gx
MDc7Ij4KLTwhRU5USVRZIENjaXJjICImI3gxMDg7Ij4KLTwhRU5USVRZIGNjaXJjICImI3gxMDk7
Ij4KLTwhRU5USVRZIENkb3QgIiYjeDEwQTsiPgotPCFFTlRJVFkgY2RvdCAiJiN4MTBCOyI+Ci08
IUVOVElUWSBDY2Fyb24gIiYjeDEwQzsiPgotPCFFTlRJVFkgY2Nhcm9uICImI3gxMEQ7Ij4KLTwh
RU5USVRZIERjYXJvbiAiJiN4MTBFOyI+Ci08IUVOVElUWSBkY2Fyb24gIiYjeDEwRjsiPgotPCFF
TlRJVFkgRHN0cm9rICImI3gxMTA7Ij4KLTwhRU5USVRZIGRzdHJvayAiJiN4MTExOyI+Ci08IUVO
VElUWSBFbWFjciAiJiN4MTEyOyI+Ci08IUVOVElUWSBlbWFjciAiJiN4MTEzOyI+Ci08IUVOVElU
WSBFZG90ICImI3gxMTY7Ij4KLTwhRU5USVRZIGVkb3QgIiYjeDExNzsiPgotPCFFTlRJVFkgRW9n
b24gIiYjeDExODsiPgotPCFFTlRJVFkgZW9nb24gIiYjeDExOTsiPgotPCFFTlRJVFkgRWNhcm9u
ICImI3gxMUE7Ij4KLTwhRU5USVRZIGVjYXJvbiAiJiN4MTFCOyI+Ci08IUVOVElUWSBHY2lyYyAi
JiN4MTFDOyI+Ci08IUVOVElUWSBnY2lyYyAiJiN4MTFEOyI+Ci08IUVOVElUWSBHYnJldmUgIiYj
eDExRTsiPgotPCFFTlRJVFkgZ2JyZXZlICImI3gxMUY7Ij4KLTwhRU5USVRZIEdkb3QgIiYjeDEy
MDsiPgotPCFFTlRJVFkgZ2RvdCAiJiN4MTIxOyI+Ci08IUVOVElUWSBHY2VkaWwgIiYjeDEyMjsi
PgotPCFFTlRJVFkgSGNpcmMgIiYjeDEyNDsiPgotPCFFTlRJVFkgaGNpcmMgIiYjeDEyNTsiPgot
PCFFTlRJVFkgSHN0cm9rICImI3gxMjY7Ij4KLTwhRU5USVRZIGhzdHJvayAiJiN4MTI3OyI+Ci08
IUVOVElUWSBJdGlsZGUgIiYjeDEyODsiPgotPCFFTlRJVFkgaXRpbGRlICImI3gxMjk7Ij4KLTwh
RU5USVRZIEltYWNyICImI3gxMkE7Ij4KLTwhRU5USVRZIGltYWNyICImI3gxMkI7Ij4KLTwhRU5U
SVRZIElvZ29uICImI3gxMkU7Ij4KLTwhRU5USVRZIGlvZ29uICImI3gxMkY7Ij4KLTwhRU5USVRZ
IElkb3QgIiYjeDEzMDsiPgotPCFFTlRJVFkgaW1hdGggIiYjeDEzMTsiPgotPCFFTlRJVFkgaW5v
ZG90ICImI3gxMzE7Ij4KLTwhRU5USVRZIElKbGlnICImI3gxMzI7Ij4KLTwhRU5USVRZIGlqbGln
ICImI3gxMzM7Ij4KLTwhRU5USVRZIEpjaXJjICImI3gxMzQ7Ij4KLTwhRU5USVRZIGpjaXJjICIm
I3gxMzU7Ij4KLTwhRU5USVRZIEtjZWRpbCAiJiN4MTM2OyI+Ci08IUVOVElUWSBrY2VkaWwgIiYj
eDEzNzsiPgotPCFFTlRJVFkga2dyZWVuICImI3gxMzg7Ij4KLTwhRU5USVRZIExhY3V0ZSAiJiN4
MTM5OyI+Ci08IUVOVElUWSBsYWN1dGUgIiYjeDEzQTsiPgotPCFFTlRJVFkgTGNlZGlsICImI3gx
M0I7Ij4KLTwhRU5USVRZIGxjZWRpbCAiJiN4MTNDOyI+Ci08IUVOVElUWSBMY2Fyb24gIiYjeDEz
RDsiPgotPCFFTlRJVFkgbGNhcm9uICImI3gxM0U7Ij4KLTwhRU5USVRZIExtaWRvdCAiJiN4MTNG
OyI+Ci08IUVOVElUWSBsbWlkb3QgIiYjeDE0MDsiPgotPCFFTlRJVFkgTHN0cm9rICImI3gxNDE7
Ij4KLTwhRU5USVRZIGxzdHJvayAiJiN4MTQyOyI+Ci08IUVOVElUWSBOYWN1dGUgIiYjeDE0Mzsi
PgotPCFFTlRJVFkgbmFjdXRlICImI3gxNDQ7Ij4KLTwhRU5USVRZIE5jZWRpbCAiJiN4MTQ1OyI+
Ci08IUVOVElUWSBuY2VkaWwgIiYjeDE0NjsiPgotPCFFTlRJVFkgTmNhcm9uICImI3gxNDc7Ij4K
LTwhRU5USVRZIG5jYXJvbiAiJiN4MTQ4OyI+Ci08IUVOVElUWSBuYXBvcyAiJiN4MTQ5OyI+Ci08
IUVOVElUWSBFTkcgIiYjeDE0QTsiPgotPCFFTlRJVFkgZW5nICImI3gxNEI7Ij4KLTwhRU5USVRZ
IE9tYWNyICImI3gxNEM7Ij4KLTwhRU5USVRZIG9tYWNyICImI3gxNEQ7Ij4KLTwhRU5USVRZIE9k
YmxhYyAiJiN4MTUwOyI+Ci08IUVOVElUWSBvZGJsYWMgIiYjeDE1MTsiPgotPCFFTlRJVFkgT0Vs
aWcgIiYjeDE1MjsiPgotPCFFTlRJVFkgb2VsaWcgIiYjeDE1MzsiPgotPCFFTlRJVFkgUmFjdXRl
ICImI3gxNTQ7Ij4KLTwhRU5USVRZIHJhY3V0ZSAiJiN4MTU1OyI+Ci08IUVOVElUWSBSY2VkaWwg
IiYjeDE1NjsiPgotPCFFTlRJVFkgcmNlZGlsICImI3gxNTc7Ij4KLTwhRU5USVRZIFJjYXJvbiAi
JiN4MTU4OyI+Ci08IUVOVElUWSByY2Fyb24gIiYjeDE1OTsiPgotPCFFTlRJVFkgU2FjdXRlICIm
I3gxNUE7Ij4KLTwhRU5USVRZIHNhY3V0ZSAiJiN4MTVCOyI+Ci08IUVOVElUWSBTY2lyYyAiJiN4
MTVDOyI+Ci08IUVOVElUWSBzY2lyYyAiJiN4MTVEOyI+Ci08IUVOVElUWSBTY2VkaWwgIiYjeDE1
RTsiPgotPCFFTlRJVFkgc2NlZGlsICImI3gxNUY7Ij4KLTwhRU5USVRZIFNjYXJvbiAiJiN4MTYw
OyI+Ci08IUVOVElUWSBzY2Fyb24gIiYjeDE2MTsiPgotPCFFTlRJVFkgVGNlZGlsICImI3gxNjI7
Ij4KLTwhRU5USVRZIHRjZWRpbCAiJiN4MTYzOyI+Ci08IUVOVElUWSBUY2Fyb24gIiYjeDE2NDsi
PgotPCFFTlRJVFkgdGNhcm9uICImI3gxNjU7Ij4KLTwhRU5USVRZIFRzdHJvayAiJiN4MTY2OyI+
Ci08IUVOVElUWSB0c3Ryb2sgIiYjeDE2NzsiPgotPCFFTlRJVFkgVXRpbGRlICImI3gxNjg7Ij4K
LTwhRU5USVRZIHV0aWxkZSAiJiN4MTY5OyI+Ci08IUVOVElUWSBVbWFjciAiJiN4MTZBOyI+Ci08
IUVOVElUWSB1bWFjciAiJiN4MTZCOyI+Ci08IUVOVElUWSBVYnJldmUgIiYjeDE2QzsiPgotPCFF
TlRJVFkgdWJyZXZlICImI3gxNkQ7Ij4KLTwhRU5USVRZIFVyaW5nICImI3gxNkU7Ij4KLTwhRU5U
SVRZIHVyaW5nICImI3gxNkY7Ij4KLTwhRU5USVRZIFVkYmxhYyAiJiN4MTcwOyI+Ci08IUVOVElU
WSB1ZGJsYWMgIiYjeDE3MTsiPgotPCFFTlRJVFkgVW9nb24gIiYjeDE3MjsiPgotPCFFTlRJVFkg
dW9nb24gIiYjeDE3MzsiPgotPCFFTlRJVFkgV2NpcmMgIiYjeDE3NDsiPgotPCFFTlRJVFkgd2Np
cmMgIiYjeDE3NTsiPgotPCFFTlRJVFkgWWNpcmMgIiYjeDE3NjsiPgotPCFFTlRJVFkgeWNpcmMg
IiYjeDE3NzsiPgotPCFFTlRJVFkgWXVtbCAiJiN4MTc4OyI+Ci08IUVOVElUWSBaYWN1dGUgIiYj
eDE3OTsiPgotPCFFTlRJVFkgemFjdXRlICImI3gxN0E7Ij4KLTwhRU5USVRZIFpkb3QgIiYjeDE3
QjsiPgotPCFFTlRJVFkgemRvdCAiJiN4MTdDOyI+Ci08IUVOVElUWSBaY2Fyb24gIiYjeDE3RDsi
PgotPCFFTlRJVFkgemNhcm9uICImI3gxN0U7Ij4KLTwhRU5USVRZIGZub2YgIiYjeDE5MjsiPgot
PCFFTlRJVFkgaW1wZWQgIiYjeDFCNTsiPgotPCFFTlRJVFkgZ2FjdXRlICImI3gxRjU7Ij4KLTwh
RU5USVRZIGptYXRoICImI3gyMzc7Ij4KLTwhRU5USVRZIGNpcmMgIiYjeDJDNjsiPgotPCFFTlRJ
VFkgY2Fyb24gIiYjeDJDNzsiPgotPCFFTlRJVFkgSGFjZWsgIiYjeDJDNzsiPgotPCFFTlRJVFkg
YnJldmUgIiYjeDJEODsiPgotPCFFTlRJVFkgQnJldmUgIiYjeDJEODsiPgotPCFFTlRJVFkgZG90
ICImI3gyRDk7Ij4KLTwhRU5USVRZIERpYWNyaXRpY2FsRG90ICImI3gyRDk7Ij4KLTwhRU5USVRZ
IHJpbmcgIiYjeDJEQTsiPgotPCFFTlRJVFkgb2dvbiAiJiN4MkRCOyI+Ci08IUVOVElUWSB0aWxk
ZSAiJiN4MkRDOyI+Ci08IUVOVElUWSBEaWFjcml0aWNhbFRpbGRlICImI3gyREM7Ij4KLTwhRU5U
SVRZIGRibGFjICImI3gyREQ7Ij4KLTwhRU5USVRZIERpYWNyaXRpY2FsRG91YmxlQWN1dGUgIiYj
eDJERDsiPgotPCFFTlRJVFkgRG93bkJyZXZlICImI3gzMTE7Ij4KLTwhRU5USVRZIEFscGhhICIm
I3gzOTE7Ij4KLTwhRU5USVRZIEJldGEgIiYjeDM5MjsiPgotPCFFTlRJVFkgR2FtbWEgIiYjeDM5
MzsiPgotPCFFTlRJVFkgRGVsdGEgIiYjeDM5NDsiPgotPCFFTlRJVFkgRXBzaWxvbiAiJiN4Mzk1
OyI+Ci08IUVOVElUWSBaZXRhICImI3gzOTY7Ij4KLTwhRU5USVRZIEV0YSAiJiN4Mzk3OyI+Ci08
IUVOVElUWSBUaGV0YSAiJiN4Mzk4OyI+Ci08IUVOVElUWSBJb3RhICImI3gzOTk7Ij4KLTwhRU5U
SVRZIEthcHBhICImI3gzOUE7Ij4KLTwhRU5USVRZIExhbWJkYSAiJiN4MzlCOyI+Ci08IUVOVElU
WSBNdSAiJiN4MzlDOyI+Ci08IUVOVElUWSBOdSAiJiN4MzlEOyI+Ci08IUVOVElUWSBYaSAiJiN4
MzlFOyI+Ci08IUVOVElUWSBPbWljcm9uICImI3gzOUY7Ij4KLTwhRU5USVRZIFBpICImI3gzQTA7
Ij4KLTwhRU5USVRZIFJobyAiJiN4M0ExOyI+Ci08IUVOVElUWSBTaWdtYSAiJiN4M0EzOyI+Ci08
IUVOVElUWSBUYXUgIiYjeDNBNDsiPgotPCFFTlRJVFkgVXBzaWxvbiAiJiN4M0E1OyI+Ci08IUVO
VElUWSBQaGkgIiYjeDNBNjsiPgotPCFFTlRJVFkgQ2hpICImI3gzQTc7Ij4KLTwhRU5USVRZIFBz
aSAiJiN4M0E4OyI+Ci08IUVOVElUWSBPbWVnYSAiJiN4M0E5OyI+Ci08IUVOVElUWSBvaG0gIiYj
eDNBOTsiPgotPCFFTlRJVFkgYWxwaGEgIiYjeDNCMTsiPgotPCFFTlRJVFkgYmV0YSAiJiN4M0Iy
OyI+Ci08IUVOVElUWSBnYW1tYSAiJiN4M0IzOyI+Ci08IUVOVElUWSBkZWx0YSAiJiN4M0I0OyI+
Ci08IUVOVElUWSBlcHNpICImI3gzQjU7Ij4KLTwhRU5USVRZIGVwc2lsb24gIiYjeDNCNTsiPgot
PCFFTlRJVFkgemV0YSAiJiN4M0I2OyI+Ci08IUVOVElUWSBldGEgIiYjeDNCNzsiPgotPCFFTlRJ
VFkgdGhldGEgIiYjeDNCODsiPgotPCFFTlRJVFkgaW90YSAiJiN4M0I5OyI+Ci08IUVOVElUWSBr
YXBwYSAiJiN4M0JBOyI+Ci08IUVOVElUWSBsYW1iZGEgIiYjeDNCQjsiPgotPCFFTlRJVFkgbXUg
IiYjeDNCQzsiPgotPCFFTlRJVFkgbnUgIiYjeDNCRDsiPgotPCFFTlRJVFkgeGkgIiYjeDNCRTsi
PgotPCFFTlRJVFkgb21pY3JvbiAiJiN4M0JGOyI+Ci08IUVOVElUWSBwaSAiJiN4M0MwOyI+Ci08
IUVOVElUWSByaG8gIiYjeDNDMTsiPgotPCFFTlRJVFkgc2lnbWF2ICImI3gzQzI7Ij4KLTwhRU5U
SVRZIHZhcnNpZ21hICImI3gzQzI7Ij4KLTwhRU5USVRZIHNpZ21hZiAiJiN4M0MyOyI+Ci08IUVO
VElUWSBzaWdtYSAiJiN4M0MzOyI+Ci08IUVOVElUWSB0YXUgIiYjeDNDNDsiPgotPCFFTlRJVFkg
dXBzaSAiJiN4M0M1OyI+Ci08IUVOVElUWSB1cHNpbG9uICImI3gzQzU7Ij4KLTwhRU5USVRZIHBo
aSAiJiN4M0M2OyI+Ci08IUVOVElUWSBjaGkgIiYjeDNDNzsiPgotPCFFTlRJVFkgcHNpICImI3gz
Qzg7Ij4KLTwhRU5USVRZIG9tZWdhICImI3gzQzk7Ij4KLTwhRU5USVRZIHRoZXRhdiAiJiN4M0Qx
OyI+Ci08IUVOVElUWSB2YXJ0aGV0YSAiJiN4M0QxOyI+Ci08IUVOVElUWSB0aGV0YXN5bSAiJiN4
M0QxOyI+Ci08IUVOVElUWSBVcHNpICImI3gzRDI7Ij4KLTwhRU5USVRZIHVwc2loICImI3gzRDI7
Ij4KLTwhRU5USVRZIHN0cmFpZ2h0cGhpICImI3gzRDU7Ij4KLTwhRU5USVRZIHBoaXYgIiYjeDNE
NTsiPgotPCFFTlRJVFkgdmFycGhpICImI3gzRDU7Ij4KLTwhRU5USVRZIHBpdiAiJiN4M0Q2OyI+
Ci08IUVOVElUWSB2YXJwaSAiJiN4M0Q2OyI+Ci08IUVOVElUWSBHYW1tYWQgIiYjeDNEQzsiPgot
PCFFTlRJVFkgZ2FtbWFkICImI3gzREQ7Ij4KLTwhRU5USVRZIGRpZ2FtbWEgIiYjeDNERDsiPgot
PCFFTlRJVFkga2FwcGF2ICImI3gzRjA7Ij4KLTwhRU5USVRZIHZhcmthcHBhICImI3gzRjA7Ij4K
LTwhRU5USVRZIHJob3YgIiYjeDNGMTsiPgotPCFFTlRJVFkgdmFycmhvICImI3gzRjE7Ij4KLTwh
RU5USVRZIGVwc2l2ICImI3gzRjU7Ij4KLTwhRU5USVRZIHN0cmFpZ2h0ZXBzaWxvbiAiJiN4M0Y1
OyI+Ci08IUVOVElUWSB2YXJlcHNpbG9uICImI3gzRjU7Ij4KLTwhRU5USVRZIGJlcHNpICImI3gz
RjY7Ij4KLTwhRU5USVRZIGJhY2tlcHNpbG9uICImI3gzRjY7Ij4KLTwhRU5USVRZIElPY3kgIiYj
eDQwMTsiPgotPCFFTlRJVFkgREpjeSAiJiN4NDAyOyI+Ci08IUVOVElUWSBHSmN5ICImI3g0MDM7
Ij4KLTwhRU5USVRZIEp1a2N5ICImI3g0MDQ7Ij4KLTwhRU5USVRZIERTY3kgIiYjeDQwNTsiPgot
PCFFTlRJVFkgSXVrY3kgIiYjeDQwNjsiPgotPCFFTlRJVFkgWUljeSAiJiN4NDA3OyI+Ci08IUVO
VElUWSBKc2VyY3kgIiYjeDQwODsiPgotPCFFTlRJVFkgTEpjeSAiJiN4NDA5OyI+Ci08IUVOVElU
WSBOSmN5ICImI3g0MEE7Ij4KLTwhRU5USVRZIFRTSGN5ICImI3g0MEI7Ij4KLTwhRU5USVRZIEtK
Y3kgIiYjeDQwQzsiPgotPCFFTlRJVFkgVWJyY3kgIiYjeDQwRTsiPgotPCFFTlRJVFkgRFpjeSAi
JiN4NDBGOyI+Ci08IUVOVElUWSBBY3kgIiYjeDQxMDsiPgotPCFFTlRJVFkgQmN5ICImI3g0MTE7
Ij4KLTwhRU5USVRZIFZjeSAiJiN4NDEyOyI+Ci08IUVOVElUWSBHY3kgIiYjeDQxMzsiPgotPCFF
TlRJVFkgRGN5ICImI3g0MTQ7Ij4KLTwhRU5USVRZIElFY3kgIiYjeDQxNTsiPgotPCFFTlRJVFkg
WkhjeSAiJiN4NDE2OyI+Ci08IUVOVElUWSBaY3kgIiYjeDQxNzsiPgotPCFFTlRJVFkgSWN5ICIm
I3g0MTg7Ij4KLTwhRU5USVRZIEpjeSAiJiN4NDE5OyI+Ci08IUVOVElUWSBLY3kgIiYjeDQxQTsi
PgotPCFFTlRJVFkgTGN5ICImI3g0MUI7Ij4KLTwhRU5USVRZIE1jeSAiJiN4NDFDOyI+Ci08IUVO
VElUWSBOY3kgIiYjeDQxRDsiPgotPCFFTlRJVFkgT2N5ICImI3g0MUU7Ij4KLTwhRU5USVRZIFBj
eSAiJiN4NDFGOyI+Ci08IUVOVElUWSBSY3kgIiYjeDQyMDsiPgotPCFFTlRJVFkgU2N5ICImI3g0
MjE7Ij4KLTwhRU5USVRZIFRjeSAiJiN4NDIyOyI+Ci08IUVOVElUWSBVY3kgIiYjeDQyMzsiPgot
PCFFTlRJVFkgRmN5ICImI3g0MjQ7Ij4KLTwhRU5USVRZIEtIY3kgIiYjeDQyNTsiPgotPCFFTlRJ
VFkgVFNjeSAiJiN4NDI2OyI+Ci08IUVOVElUWSBDSGN5ICImI3g0Mjc7Ij4KLTwhRU5USVRZIFNI
Y3kgIiYjeDQyODsiPgotPCFFTlRJVFkgU0hDSGN5ICImI3g0Mjk7Ij4KLTwhRU5USVRZIEhBUkRj
eSAiJiN4NDJBOyI+Ci08IUVOVElUWSBZY3kgIiYjeDQyQjsiPgotPCFFTlRJVFkgU09GVGN5ICIm
I3g0MkM7Ij4KLTwhRU5USVRZIEVjeSAiJiN4NDJEOyI+Ci08IUVOVElUWSBZVWN5ICImI3g0MkU7
Ij4KLTwhRU5USVRZIFlBY3kgIiYjeDQyRjsiPgotPCFFTlRJVFkgYWN5ICImI3g0MzA7Ij4KLTwh
RU5USVRZIGJjeSAiJiN4NDMxOyI+Ci08IUVOVElUWSB2Y3kgIiYjeDQzMjsiPgotPCFFTlRJVFkg
Z2N5ICImI3g0MzM7Ij4KLTwhRU5USVRZIGRjeSAiJiN4NDM0OyI+Ci08IUVOVElUWSBpZWN5ICIm
I3g0MzU7Ij4KLTwhRU5USVRZIHpoY3kgIiYjeDQzNjsiPgotPCFFTlRJVFkgemN5ICImI3g0Mzc7
Ij4KLTwhRU5USVRZIGljeSAiJiN4NDM4OyI+Ci08IUVOVElUWSBqY3kgIiYjeDQzOTsiPgotPCFF
TlRJVFkga2N5ICImI3g0M0E7Ij4KLTwhRU5USVRZIGxjeSAiJiN4NDNCOyI+Ci08IUVOVElUWSBt
Y3kgIiYjeDQzQzsiPgotPCFFTlRJVFkgbmN5ICImI3g0M0Q7Ij4KLTwhRU5USVRZIG9jeSAiJiN4
NDNFOyI+Ci08IUVOVElUWSBwY3kgIiYjeDQzRjsiPgotPCFFTlRJVFkgcmN5ICImI3g0NDA7Ij4K
LTwhRU5USVRZIHNjeSAiJiN4NDQxOyI+Ci08IUVOVElUWSB0Y3kgIiYjeDQ0MjsiPgotPCFFTlRJ
VFkgdWN5ICImI3g0NDM7Ij4KLTwhRU5USVRZIGZjeSAiJiN4NDQ0OyI+Ci08IUVOVElUWSBraGN5
ICImI3g0NDU7Ij4KLTwhRU5USVRZIHRzY3kgIiYjeDQ0NjsiPgotPCFFTlRJVFkgY2hjeSAiJiN4
NDQ3OyI+Ci08IUVOVElUWSBzaGN5ICImI3g0NDg7Ij4KLTwhRU5USVRZIHNoY2hjeSAiJiN4NDQ5
OyI+Ci08IUVOVElUWSBoYXJkY3kgIiYjeDQ0QTsiPgotPCFFTlRJVFkgeWN5ICImI3g0NEI7Ij4K
LTwhRU5USVRZIHNvZnRjeSAiJiN4NDRDOyI+Ci08IUVOVElUWSBlY3kgIiYjeDQ0RDsiPgotPCFF
TlRJVFkgeXVjeSAiJiN4NDRFOyI+Ci08IUVOVElUWSB5YWN5ICImI3g0NEY7Ij4KLTwhRU5USVRZ
IGlvY3kgIiYjeDQ1MTsiPgotPCFFTlRJVFkgZGpjeSAiJiN4NDUyOyI+Ci08IUVOVElUWSBnamN5
ICImI3g0NTM7Ij4KLTwhRU5USVRZIGp1a2N5ICImI3g0NTQ7Ij4KLTwhRU5USVRZIGRzY3kgIiYj
eDQ1NTsiPgotPCFFTlRJVFkgaXVrY3kgIiYjeDQ1NjsiPgotPCFFTlRJVFkgeWljeSAiJiN4NDU3
OyI+Ci08IUVOVElUWSBqc2VyY3kgIiYjeDQ1ODsiPgotPCFFTlRJVFkgbGpjeSAiJiN4NDU5OyI+
Ci08IUVOVElUWSBuamN5ICImI3g0NUE7Ij4KLTwhRU5USVRZIHRzaGN5ICImI3g0NUI7Ij4KLTwh
RU5USVRZIGtqY3kgIiYjeDQ1QzsiPgotPCFFTlRJVFkgdWJyY3kgIiYjeDQ1RTsiPgotPCFFTlRJ
VFkgZHpjeSAiJiN4NDVGOyI+Ci08IUVOVElUWSBlbnNwICImI3gyMDAyOyI+Ci08IUVOVElUWSBl
bXNwICImI3gyMDAzOyI+Ci08IUVOVElUWSBlbXNwMTMgIiYjeDIwMDQ7Ij4KLTwhRU5USVRZIGVt
c3AxNCAiJiN4MjAwNTsiPgotPCFFTlRJVFkgbnVtc3AgIiYjeDIwMDc7Ij4KLTwhRU5USVRZIHB1
bmNzcCAiJiN4MjAwODsiPgotPCFFTlRJVFkgdGhpbnNwICImI3gyMDA5OyI+Ci08IUVOVElUWSBU
aGluU3BhY2UgIiYjeDIwMDk7Ij4KLTwhRU5USVRZIGhhaXJzcCAiJiN4MjAwQTsiPgotPCFFTlRJ
VFkgVmVyeVRoaW5TcGFjZSAiJiN4MjAwQTsiPgotPCFFTlRJVFkgWmVyb1dpZHRoU3BhY2UgIiYj
eDIwMEI7Ij4KLTwhRU5USVRZIE5lZ2F0aXZlVmVyeVRoaW5TcGFjZSAiJiN4MjAwQjsiPgotPCFF
TlRJVFkgTmVnYXRpdmVUaGluU3BhY2UgIiYjeDIwMEI7Ij4KLTwhRU5USVRZIE5lZ2F0aXZlTWVk
aXVtU3BhY2UgIiYjeDIwMEI7Ij4KLTwhRU5USVRZIE5lZ2F0aXZlVGhpY2tTcGFjZSAiJiN4MjAw
QjsiPgotPCFFTlRJVFkgenduaiAiJiN4MjAwQzsiPgotPCFFTlRJVFkgendqICImI3gyMDBEOyI+
Ci08IUVOVElUWSBscm0gIiYjeDIwMEU7Ij4KLTwhRU5USVRZIHJsbSAiJiN4MjAwRjsiPgotPCFF
TlRJVFkgaHlwaGVuICImI3gyMDEwOyI+Ci08IUVOVElUWSBkYXNoICImI3gyMDEwOyI+Ci08IUVO
VElUWSBuZGFzaCAiJiN4MjAxMzsiPgotPCFFTlRJVFkgbWRhc2ggIiYjeDIwMTQ7Ij4KLTwhRU5U
SVRZIGhvcmJhciAiJiN4MjAxNTsiPgotPCFFTlRJVFkgVmVyYmFyICImI3gyMDE2OyI+Ci08IUVO
VElUWSBWZXJ0ICImI3gyMDE2OyI+Ci08IUVOVElUWSBsc3F1byAiJiN4MjAxODsiPgotPCFFTlRJ
VFkgT3BlbkN1cmx5UXVvdGUgIiYjeDIwMTg7Ij4KLTwhRU5USVRZIHJzcXVvICImI3gyMDE5OyI+
Ci08IUVOVElUWSByc3F1b3IgIiYjeDIwMTk7Ij4KLTwhRU5USVRZIENsb3NlQ3VybHlRdW90ZSAi
JiN4MjAxOTsiPgotPCFFTlRJVFkgbHNxdW9yICImI3gyMDFBOyI+Ci08IUVOVElUWSBzYnF1byAi
JiN4MjAxQTsiPgotPCFFTlRJVFkgbGRxdW8gIiYjeDIwMUM7Ij4KLTwhRU5USVRZIE9wZW5DdXJs
eURvdWJsZVF1b3RlICImI3gyMDFDOyI+Ci08IUVOVElUWSByZHF1byAiJiN4MjAxRDsiPgotPCFF
TlRJVFkgcmRxdW9yICImI3gyMDFEOyI+Ci08IUVOVElUWSBDbG9zZUN1cmx5RG91YmxlUXVvdGUg
IiYjeDIwMUQ7Ij4KLTwhRU5USVRZIGxkcXVvciAiJiN4MjAxRTsiPgotPCFFTlRJVFkgYmRxdW8g
IiYjeDIwMUU7Ij4KLTwhRU5USVRZIGRhZ2dlciAiJiN4MjAyMDsiPgotPCFFTlRJVFkgRGFnZ2Vy
ICImI3gyMDIxOyI+Ci08IUVOVElUWSBkZGFnZ2VyICImI3gyMDIxOyI+Ci08IUVOVElUWSBidWxs
ICImI3gyMDIyOyI+Ci08IUVOVElUWSBidWxsZXQgIiYjeDIwMjI7Ij4KLTwhRU5USVRZIG5sZHIg
IiYjeDIwMjU7Ij4KLTwhRU5USVRZIGhlbGxpcCAiJiN4MjAyNjsiPgotPCFFTlRJVFkgbWxkciAi
JiN4MjAyNjsiPgotPCFFTlRJVFkgcGVybWlsICImI3gyMDMwOyI+Ci08IUVOVElUWSBwZXJ0ZW5r
ICImI3gyMDMxOyI+Ci08IUVOVElUWSBwcmltZSAiJiN4MjAzMjsiPgotPCFFTlRJVFkgUHJpbWUg
IiYjeDIwMzM7Ij4KLTwhRU5USVRZIHRwcmltZSAiJiN4MjAzNDsiPgotPCFFTlRJVFkgYnByaW1l
ICImI3gyMDM1OyI+Ci08IUVOVElUWSBiYWNrcHJpbWUgIiYjeDIwMzU7Ij4KLTwhRU5USVRZIGxz
YXF1byAiJiN4MjAzOTsiPgotPCFFTlRJVFkgcnNhcXVvICImI3gyMDNBOyI+Ci08IUVOVElUWSBv
bGluZSAiJiN4MjAzRTsiPgotPCFFTlRJVFkgT3ZlckJhciAiJiN4MjAzRTsiPgotPCFFTlRJVFkg
Y2FyZXQgIiYjeDIwNDE7Ij4KLTwhRU5USVRZIGh5YnVsbCAiJiN4MjA0MzsiPgotPCFFTlRJVFkg
ZnJhc2wgIiYjeDIwNDQ7Ij4KLTwhRU5USVRZIGJzZW1pICImI3gyMDRGOyI+Ci08IUVOVElUWSBx
cHJpbWUgIiYjeDIwNTc7Ij4KLTwhRU5USVRZIE1lZGl1bVNwYWNlICImI3gyMDVGOyI+Ci08IUVO
VElUWSBUaGlja1NwYWNlICImI3gyMDVGOyYjeDIwMEE7Ij4KLTwhRU5USVRZIE5vQnJlYWsgIiYj
eDIwNjA7Ij4KLTwhRU5USVRZIEFwcGx5RnVuY3Rpb24gIiYjeDIwNjE7Ij4KLTwhRU5USVRZIGFm
ICImI3gyMDYxOyI+Ci08IUVOVElUWSBJbnZpc2libGVUaW1lcyAiJiN4MjA2MjsiPgotPCFFTlRJ
VFkgaXQgIiYjeDIwNjI7Ij4KLTwhRU5USVRZIEludmlzaWJsZUNvbW1hICImI3gyMDYzOyI+Ci08
IUVOVElUWSBpYyAiJiN4MjA2MzsiPgotPCFFTlRJVFkgZXVybyAiJiN4MjBBQzsiPgotPCFFTlRJ
VFkgdGRvdCAiJiN4MjBEQjsiPgotPCFFTlRJVFkgVHJpcGxlRG90ICImI3gyMERCOyI+Ci08IUVO
VElUWSBEb3REb3QgIiYjeDIwREM7Ij4KLTwhRU5USVRZIENvcGYgIiYjeDIxMDI7Ij4KLTwhRU5U
SVRZIGNvbXBsZXhlcyAiJiN4MjEwMjsiPgotPCFFTlRJVFkgaW5jYXJlICImI3gyMTA1OyI+Ci08
IUVOVElUWSBnc2NyICImI3gyMTBBOyI+Ci08IUVOVElUWSBoYW1pbHQgIiYjeDIxMEI7Ij4KLTwh
RU5USVRZIEhpbGJlcnRTcGFjZSAiJiN4MjEwQjsiPgotPCFFTlRJVFkgSHNjciAiJiN4MjEwQjsi
PgotPCFFTlRJVFkgSGZyICImI3gyMTBDOyI+Ci08IUVOVElUWSBQb2luY2FyZXBsYW5lICImI3gy
MTBDOyI+Ci08IUVOVElUWSBxdWF0ZXJuaW9ucyAiJiN4MjEwRDsiPgotPCFFTlRJVFkgSG9wZiAi
JiN4MjEwRDsiPgotPCFFTlRJVFkgcGxhbmNraCAiJiN4MjEwRTsiPgotPCFFTlRJVFkgcGxhbmNr
ICImI3gyMTBGOyI+Ci08IUVOVElUWSBoYmFyICImI3gyMTBGOyI+Ci08IUVOVElUWSBwbGFua3Yg
IiYjeDIxMEY7Ij4KLTwhRU5USVRZIGhzbGFzaCAiJiN4MjEwRjsiPgotPCFFTlRJVFkgSXNjciAi
JiN4MjExMDsiPgotPCFFTlRJVFkgaW1hZ2xpbmUgIiYjeDIxMTA7Ij4KLTwhRU5USVRZIGltYWdl
ICImI3gyMTExOyI+Ci08IUVOVElUWSBJbSAiJiN4MjExMTsiPgotPCFFTlRJVFkgaW1hZ3BhcnQg
IiYjeDIxMTE7Ij4KLTwhRU5USVRZIElmciAiJiN4MjExMTsiPgotPCFFTlRJVFkgTHNjciAiJiN4
MjExMjsiPgotPCFFTlRJVFkgbGFncmFuICImI3gyMTEyOyI+Ci08IUVOVElUWSBMYXBsYWNldHJm
ICImI3gyMTEyOyI+Ci08IUVOVElUWSBlbGwgIiYjeDIxMTM7Ij4KLTwhRU5USVRZIE5vcGYgIiYj
eDIxMTU7Ij4KLTwhRU5USVRZIG5hdHVyYWxzICImI3gyMTE1OyI+Ci08IUVOVElUWSBudW1lcm8g
IiYjeDIxMTY7Ij4KLTwhRU5USVRZIGNvcHlzciAiJiN4MjExNzsiPgotPCFFTlRJVFkgd2VpZXJw
ICImI3gyMTE4OyI+Ci08IUVOVElUWSB3cCAiJiN4MjExODsiPgotPCFFTlRJVFkgUG9wZiAiJiN4
MjExOTsiPgotPCFFTlRJVFkgcHJpbWVzICImI3gyMTE5OyI+Ci08IUVOVElUWSByYXRpb25hbHMg
IiYjeDIxMUE7Ij4KLTwhRU5USVRZIFFvcGYgIiYjeDIxMUE7Ij4KLTwhRU5USVRZIFJzY3IgIiYj
eDIxMUI7Ij4KLTwhRU5USVRZIHJlYWxpbmUgIiYjeDIxMUI7Ij4KLTwhRU5USVRZIHJlYWwgIiYj
eDIxMUM7Ij4KLTwhRU5USVRZIFJlICImI3gyMTFDOyI+Ci08IUVOVElUWSByZWFscGFydCAiJiN4
MjExQzsiPgotPCFFTlRJVFkgUmZyICImI3gyMTFDOyI+Ci08IUVOVElUWSByZWFscyAiJiN4MjEx
RDsiPgotPCFFTlRJVFkgUm9wZiAiJiN4MjExRDsiPgotPCFFTlRJVFkgcnggIiYjeDIxMUU7Ij4K
LTwhRU5USVRZIHRyYWRlICImI3gyMTIyOyI+Ci08IUVOVElUWSBUUkFERSAiJiN4MjEyMjsiPgot
PCFFTlRJVFkgaW50ZWdlcnMgIiYjeDIxMjQ7Ij4KLTwhRU5USVRZIFpvcGYgIiYjeDIxMjQ7Ij4K
LTwhRU5USVRZIG1obyAiJiN4MjEyNzsiPgotPCFFTlRJVFkgWmZyICImI3gyMTI4OyI+Ci08IUVO
VElUWSB6ZWV0cmYgIiYjeDIxMjg7Ij4KLTwhRU5USVRZIGlpb3RhICImI3gyMTI5OyI+Ci08IUVO
VElUWSBiZXJub3UgIiYjeDIxMkM7Ij4KLTwhRU5USVRZIEJlcm5vdWxsaXMgIiYjeDIxMkM7Ij4K
LTwhRU5USVRZIEJzY3IgIiYjeDIxMkM7Ij4KLTwhRU5USVRZIENmciAiJiN4MjEyRDsiPgotPCFF
TlRJVFkgQ2F5bGV5cyAiJiN4MjEyRDsiPgotPCFFTlRJVFkgZXNjciAiJiN4MjEyRjsiPgotPCFF
TlRJVFkgRXNjciAiJiN4MjEzMDsiPgotPCFFTlRJVFkgZXhwZWN0YXRpb24gIiYjeDIxMzA7Ij4K
LTwhRU5USVRZIEZzY3IgIiYjeDIxMzE7Ij4KLTwhRU5USVRZIEZvdXJpZXJ0cmYgIiYjeDIxMzE7
Ij4KLTwhRU5USVRZIHBobW1hdCAiJiN4MjEzMzsiPgotPCFFTlRJVFkgTWVsbGludHJmICImI3gy
MTMzOyI+Ci08IUVOVElUWSBNc2NyICImI3gyMTMzOyI+Ci08IUVOVElUWSBvcmRlciAiJiN4MjEz
NDsiPgotPCFFTlRJVFkgb3JkZXJvZiAiJiN4MjEzNDsiPgotPCFFTlRJVFkgb3NjciAiJiN4MjEz
NDsiPgotPCFFTlRJVFkgYWxlZnN5bSAiJiN4MjEzNTsiPgotPCFFTlRJVFkgYWxlcGggIiYjeDIx
MzU7Ij4KLTwhRU5USVRZIGJldGggIiYjeDIxMzY7Ij4KLTwhRU5USVRZIGdpbWVsICImI3gyMTM3
OyI+Ci08IUVOVElUWSBkYWxldGggIiYjeDIxMzg7Ij4KLTwhRU5USVRZIENhcGl0YWxEaWZmZXJl
bnRpYWxEICImI3gyMTQ1OyI+Ci08IUVOVElUWSBERCAiJiN4MjE0NTsiPgotPCFFTlRJVFkgRGlm
ZmVyZW50aWFsRCAiJiN4MjE0NjsiPgotPCFFTlRJVFkgZGQgIiYjeDIxNDY7Ij4KLTwhRU5USVRZ
IEV4cG9uZW50aWFsRSAiJiN4MjE0NzsiPgotPCFFTlRJVFkgZXhwb25lbnRpYWxlICImI3gyMTQ3
OyI+Ci08IUVOVElUWSBlZSAiJiN4MjE0NzsiPgotPCFFTlRJVFkgSW1hZ2luYXJ5SSAiJiN4MjE0
ODsiPgotPCFFTlRJVFkgaWkgIiYjeDIxNDg7Ij4KLTwhRU5USVRZIGZyYWMxMyAiJiN4MjE1Mzsi
PgotPCFFTlRJVFkgZnJhYzIzICImI3gyMTU0OyI+Ci08IUVOVElUWSBmcmFjMTUgIiYjeDIxNTU7
Ij4KLTwhRU5USVRZIGZyYWMyNSAiJiN4MjE1NjsiPgotPCFFTlRJVFkgZnJhYzM1ICImI3gyMTU3
OyI+Ci08IUVOVElUWSBmcmFjNDUgIiYjeDIxNTg7Ij4KLTwhRU5USVRZIGZyYWMxNiAiJiN4MjE1
OTsiPgotPCFFTlRJVFkgZnJhYzU2ICImI3gyMTVBOyI+Ci08IUVOVElUWSBmcmFjMTggIiYjeDIx
NUI7Ij4KLTwhRU5USVRZIGZyYWMzOCAiJiN4MjE1QzsiPgotPCFFTlRJVFkgZnJhYzU4ICImI3gy
MTVEOyI+Ci08IUVOVElUWSBmcmFjNzggIiYjeDIxNUU7Ij4KLTwhRU5USVRZIGxhcnIgIiYjeDIx
OTA7Ij4KLTwhRU5USVRZIGxlZnRhcnJvdyAiJiN4MjE5MDsiPgotPCFFTlRJVFkgTGVmdEFycm93
ICImI3gyMTkwOyI+Ci08IUVOVElUWSBzbGFyciAiJiN4MjE5MDsiPgotPCFFTlRJVFkgU2hvcnRM
ZWZ0QXJyb3cgIiYjeDIxOTA7Ij4KLTwhRU5USVRZIHVhcnIgIiYjeDIxOTE7Ij4KLTwhRU5USVRZ
IHVwYXJyb3cgIiYjeDIxOTE7Ij4KLTwhRU5USVRZIFVwQXJyb3cgIiYjeDIxOTE7Ij4KLTwhRU5U
SVRZIFNob3J0VXBBcnJvdyAiJiN4MjE5MTsiPgotPCFFTlRJVFkgcmFyciAiJiN4MjE5MjsiPgot
PCFFTlRJVFkgcmlnaHRhcnJvdyAiJiN4MjE5MjsiPgotPCFFTlRJVFkgUmlnaHRBcnJvdyAiJiN4
MjE5MjsiPgotPCFFTlRJVFkgc3JhcnIgIiYjeDIxOTI7Ij4KLTwhRU5USVRZIFNob3J0UmlnaHRB
cnJvdyAiJiN4MjE5MjsiPgotPCFFTlRJVFkgZGFyciAiJiN4MjE5MzsiPgotPCFFTlRJVFkgZG93
bmFycm93ICImI3gyMTkzOyI+Ci08IUVOVElUWSBEb3duQXJyb3cgIiYjeDIxOTM7Ij4KLTwhRU5U
SVRZIFNob3J0RG93bkFycm93ICImI3gyMTkzOyI+Ci08IUVOVElUWSBoYXJyICImI3gyMTk0OyI+
Ci08IUVOVElUWSBsZWZ0cmlnaHRhcnJvdyAiJiN4MjE5NDsiPgotPCFFTlRJVFkgTGVmdFJpZ2h0
QXJyb3cgIiYjeDIxOTQ7Ij4KLTwhRU5USVRZIHZhcnIgIiYjeDIxOTU7Ij4KLTwhRU5USVRZIHVw
ZG93bmFycm93ICImI3gyMTk1OyI+Ci08IUVOVElUWSBVcERvd25BcnJvdyAiJiN4MjE5NTsiPgot
PCFFTlRJVFkgbndhcnIgIiYjeDIxOTY7Ij4KLTwhRU5USVRZIFVwcGVyTGVmdEFycm93ICImI3gy
MTk2OyI+Ci08IUVOVElUWSBud2Fycm93ICImI3gyMTk2OyI+Ci08IUVOVElUWSBuZWFyciAiJiN4
MjE5NzsiPgotPCFFTlRJVFkgVXBwZXJSaWdodEFycm93ICImI3gyMTk3OyI+Ci08IUVOVElUWSBu
ZWFycm93ICImI3gyMTk3OyI+Ci08IUVOVElUWSBzZWFyciAiJiN4MjE5ODsiPgotPCFFTlRJVFkg
c2VhcnJvdyAiJiN4MjE5ODsiPgotPCFFTlRJVFkgTG93ZXJSaWdodEFycm93ICImI3gyMTk4OyI+
Ci08IUVOVElUWSBzd2FyciAiJiN4MjE5OTsiPgotPCFFTlRJVFkgc3dhcnJvdyAiJiN4MjE5OTsi
PgotPCFFTlRJVFkgTG93ZXJMZWZ0QXJyb3cgIiYjeDIxOTk7Ij4KLTwhRU5USVRZIG5sYXJyICIm
I3gyMTlBOyI+Ci08IUVOVElUWSBubGVmdGFycm93ICImI3gyMTlBOyI+Ci08IUVOVElUWSBucmFy
ciAiJiN4MjE5QjsiPgotPCFFTlRJVFkgbnJpZ2h0YXJyb3cgIiYjeDIxOUI7Ij4KLTwhRU5USVRZ
IHJhcnJ3ICImI3gyMTlEOyI+Ci08IUVOVElUWSByaWdodHNxdWlnYXJyb3cgIiYjeDIxOUQ7Ij4K
LTwhRU5USVRZIG5yYXJydyAiJiN4MjE5RDsmI3gzMzg7Ij4KLTwhRU5USVRZIExhcnIgIiYjeDIx
OUU7Ij4KLTwhRU5USVRZIHR3b2hlYWRsZWZ0YXJyb3cgIiYjeDIxOUU7Ij4KLTwhRU5USVRZIFVh
cnIgIiYjeDIxOUY7Ij4KLTwhRU5USVRZIFJhcnIgIiYjeDIxQTA7Ij4KLTwhRU5USVRZIHR3b2hl
YWRyaWdodGFycm93ICImI3gyMUEwOyI+Ci08IUVOVElUWSBEYXJyICImI3gyMUExOyI+Ci08IUVO
VElUWSBsYXJydGwgIiYjeDIxQTI7Ij4KLTwhRU5USVRZIGxlZnRhcnJvd3RhaWwgIiYjeDIxQTI7
Ij4KLTwhRU5USVRZIHJhcnJ0bCAiJiN4MjFBMzsiPgotPCFFTlRJVFkgcmlnaHRhcnJvd3RhaWwg
IiYjeDIxQTM7Ij4KLTwhRU5USVRZIExlZnRUZWVBcnJvdyAiJiN4MjFBNDsiPgotPCFFTlRJVFkg
bWFwc3RvbGVmdCAiJiN4MjFBNDsiPgotPCFFTlRJVFkgVXBUZWVBcnJvdyAiJiN4MjFBNTsiPgot
PCFFTlRJVFkgbWFwc3RvdXAgIiYjeDIxQTU7Ij4KLTwhRU5USVRZIG1hcCAiJiN4MjFBNjsiPgot
PCFFTlRJVFkgUmlnaHRUZWVBcnJvdyAiJiN4MjFBNjsiPgotPCFFTlRJVFkgbWFwc3RvICImI3gy
MUE2OyI+Ci08IUVOVElUWSBEb3duVGVlQXJyb3cgIiYjeDIxQTc7Ij4KLTwhRU5USVRZIG1hcHN0
b2Rvd24gIiYjeDIxQTc7Ij4KLTwhRU5USVRZIGxhcnJoayAiJiN4MjFBOTsiPgotPCFFTlRJVFkg
aG9va2xlZnRhcnJvdyAiJiN4MjFBOTsiPgotPCFFTlRJVFkgcmFycmhrICImI3gyMUFBOyI+Ci08
IUVOVElUWSBob29rcmlnaHRhcnJvdyAiJiN4MjFBQTsiPgotPCFFTlRJVFkgbGFycmxwICImI3gy
MUFCOyI+Ci08IUVOVElUWSBsb29wYXJyb3dsZWZ0ICImI3gyMUFCOyI+Ci08IUVOVElUWSByYXJy
bHAgIiYjeDIxQUM7Ij4KLTwhRU5USVRZIGxvb3BhcnJvd3JpZ2h0ICImI3gyMUFDOyI+Ci08IUVO
VElUWSBoYXJydyAiJiN4MjFBRDsiPgotPCFFTlRJVFkgbGVmdHJpZ2h0c3F1aWdhcnJvdyAiJiN4
MjFBRDsiPgotPCFFTlRJVFkgbmhhcnIgIiYjeDIxQUU7Ij4KLTwhRU5USVRZIG5sZWZ0cmlnaHRh
cnJvdyAiJiN4MjFBRTsiPgotPCFFTlRJVFkgbHNoICImI3gyMUIwOyI+Ci08IUVOVElUWSBMc2gg
IiYjeDIxQjA7Ij4KLTwhRU5USVRZIHJzaCAiJiN4MjFCMTsiPgotPCFFTlRJVFkgUnNoICImI3gy
MUIxOyI+Ci08IUVOVElUWSBsZHNoICImI3gyMUIyOyI+Ci08IUVOVElUWSByZHNoICImI3gyMUIz
OyI+Ci08IUVOVElUWSBjcmFyciAiJiN4MjFCNTsiPgotPCFFTlRJVFkgY3VsYXJyICImI3gyMUI2
OyI+Ci08IUVOVElUWSBjdXJ2ZWFycm93bGVmdCAiJiN4MjFCNjsiPgotPCFFTlRJVFkgY3VyYXJy
ICImI3gyMUI3OyI+Ci08IUVOVElUWSBjdXJ2ZWFycm93cmlnaHQgIiYjeDIxQjc7Ij4KLTwhRU5U
SVRZIG9sYXJyICImI3gyMUJBOyI+Ci08IUVOVElUWSBjaXJjbGVhcnJvd2xlZnQgIiYjeDIxQkE7
Ij4KLTwhRU5USVRZIG9yYXJyICImI3gyMUJCOyI+Ci08IUVOVElUWSBjaXJjbGVhcnJvd3JpZ2h0
ICImI3gyMUJCOyI+Ci08IUVOVElUWSBsaGFydSAiJiN4MjFCQzsiPgotPCFFTlRJVFkgTGVmdFZl
Y3RvciAiJiN4MjFCQzsiPgotPCFFTlRJVFkgbGVmdGhhcnBvb251cCAiJiN4MjFCQzsiPgotPCFF
TlRJVFkgbGhhcmQgIiYjeDIxQkQ7Ij4KLTwhRU5USVRZIGxlZnRoYXJwb29uZG93biAiJiN4MjFC
RDsiPgotPCFFTlRJVFkgRG93bkxlZnRWZWN0b3IgIiYjeDIxQkQ7Ij4KLTwhRU5USVRZIHVoYXJy
ICImI3gyMUJFOyI+Ci08IUVOVElUWSB1cGhhcnBvb25yaWdodCAiJiN4MjFCRTsiPgotPCFFTlRJ
VFkgUmlnaHRVcFZlY3RvciAiJiN4MjFCRTsiPgotPCFFTlRJVFkgdWhhcmwgIiYjeDIxQkY7Ij4K
LTwhRU5USVRZIHVwaGFycG9vbmxlZnQgIiYjeDIxQkY7Ij4KLTwhRU5USVRZIExlZnRVcFZlY3Rv
ciAiJiN4MjFCRjsiPgotPCFFTlRJVFkgcmhhcnUgIiYjeDIxQzA7Ij4KLTwhRU5USVRZIFJpZ2h0
VmVjdG9yICImI3gyMUMwOyI+Ci08IUVOVElUWSByaWdodGhhcnBvb251cCAiJiN4MjFDMDsiPgot
PCFFTlRJVFkgcmhhcmQgIiYjeDIxQzE7Ij4KLTwhRU5USVRZIHJpZ2h0aGFycG9vbmRvd24gIiYj
eDIxQzE7Ij4KLTwhRU5USVRZIERvd25SaWdodFZlY3RvciAiJiN4MjFDMTsiPgotPCFFTlRJVFkg
ZGhhcnIgIiYjeDIxQzI7Ij4KLTwhRU5USVRZIFJpZ2h0RG93blZlY3RvciAiJiN4MjFDMjsiPgot
PCFFTlRJVFkgZG93bmhhcnBvb25yaWdodCAiJiN4MjFDMjsiPgotPCFFTlRJVFkgZGhhcmwgIiYj
eDIxQzM7Ij4KLTwhRU5USVRZIExlZnREb3duVmVjdG9yICImI3gyMUMzOyI+Ci08IUVOVElUWSBk
b3duaGFycG9vbmxlZnQgIiYjeDIxQzM7Ij4KLTwhRU5USVRZIHJsYXJyICImI3gyMUM0OyI+Ci08
IUVOVElUWSByaWdodGxlZnRhcnJvd3MgIiYjeDIxQzQ7Ij4KLTwhRU5USVRZIFJpZ2h0QXJyb3dM
ZWZ0QXJyb3cgIiYjeDIxQzQ7Ij4KLTwhRU5USVRZIHVkYXJyICImI3gyMUM1OyI+Ci08IUVOVElU
WSBVcEFycm93RG93bkFycm93ICImI3gyMUM1OyI+Ci08IUVOVElUWSBscmFyciAiJiN4MjFDNjsi
PgotPCFFTlRJVFkgbGVmdHJpZ2h0YXJyb3dzICImI3gyMUM2OyI+Ci08IUVOVElUWSBMZWZ0QXJy
b3dSaWdodEFycm93ICImI3gyMUM2OyI+Ci08IUVOVElUWSBsbGFyciAiJiN4MjFDNzsiPgotPCFF
TlRJVFkgbGVmdGxlZnRhcnJvd3MgIiYjeDIxQzc7Ij4KLTwhRU5USVRZIHV1YXJyICImI3gyMUM4
OyI+Ci08IUVOVElUWSB1cHVwYXJyb3dzICImI3gyMUM4OyI+Ci08IUVOVElUWSBycmFyciAiJiN4
MjFDOTsiPgotPCFFTlRJVFkgcmlnaHRyaWdodGFycm93cyAiJiN4MjFDOTsiPgotPCFFTlRJVFkg
ZGRhcnIgIiYjeDIxQ0E7Ij4KLTwhRU5USVRZIGRvd25kb3duYXJyb3dzICImI3gyMUNBOyI+Ci08
IUVOVElUWSBscmhhciAiJiN4MjFDQjsiPgotPCFFTlRJVFkgUmV2ZXJzZUVxdWlsaWJyaXVtICIm
I3gyMUNCOyI+Ci08IUVOVElUWSBsZWZ0cmlnaHRoYXJwb29ucyAiJiN4MjFDQjsiPgotPCFFTlRJ
VFkgcmxoYXIgIiYjeDIxQ0M7Ij4KLTwhRU5USVRZIHJpZ2h0bGVmdGhhcnBvb25zICImI3gyMUND
OyI+Ci08IUVOVElUWSBFcXVpbGlicml1bSAiJiN4MjFDQzsiPgotPCFFTlRJVFkgbmxBcnIgIiYj
eDIxQ0Q7Ij4KLTwhRU5USVRZIG5MZWZ0YXJyb3cgIiYjeDIxQ0Q7Ij4KLTwhRU5USVRZIG5oQXJy
ICImI3gyMUNFOyI+Ci08IUVOVElUWSBuTGVmdHJpZ2h0YXJyb3cgIiYjeDIxQ0U7Ij4KLTwhRU5U
SVRZIG5yQXJyICImI3gyMUNGOyI+Ci08IUVOVElUWSBuUmlnaHRhcnJvdyAiJiN4MjFDRjsiPgot
PCFFTlRJVFkgbEFyciAiJiN4MjFEMDsiPgotPCFFTlRJVFkgTGVmdGFycm93ICImI3gyMUQwOyI+
Ci08IUVOVElUWSBEb3VibGVMZWZ0QXJyb3cgIiYjeDIxRDA7Ij4KLTwhRU5USVRZIHVBcnIgIiYj
eDIxRDE7Ij4KLTwhRU5USVRZIFVwYXJyb3cgIiYjeDIxRDE7Ij4KLTwhRU5USVRZIERvdWJsZVVw
QXJyb3cgIiYjeDIxRDE7Ij4KLTwhRU5USVRZIHJBcnIgIiYjeDIxRDI7Ij4KLTwhRU5USVRZIFJp
Z2h0YXJyb3cgIiYjeDIxRDI7Ij4KLTwhRU5USVRZIEltcGxpZXMgIiYjeDIxRDI7Ij4KLTwhRU5U
SVRZIERvdWJsZVJpZ2h0QXJyb3cgIiYjeDIxRDI7Ij4KLTwhRU5USVRZIGRBcnIgIiYjeDIxRDM7
Ij4KLTwhRU5USVRZIERvd25hcnJvdyAiJiN4MjFEMzsiPgotPCFFTlRJVFkgRG91YmxlRG93bkFy
cm93ICImI3gyMUQzOyI+Ci08IUVOVElUWSBoQXJyICImI3gyMUQ0OyI+Ci08IUVOVElUWSBMZWZ0
cmlnaHRhcnJvdyAiJiN4MjFENDsiPgotPCFFTlRJVFkgRG91YmxlTGVmdFJpZ2h0QXJyb3cgIiYj
eDIxRDQ7Ij4KLTwhRU5USVRZIGlmZiAiJiN4MjFENDsiPgotPCFFTlRJVFkgdkFyciAiJiN4MjFE
NTsiPgotPCFFTlRJVFkgVXBkb3duYXJyb3cgIiYjeDIxRDU7Ij4KLTwhRU5USVRZIERvdWJsZVVw
RG93bkFycm93ICImI3gyMUQ1OyI+Ci08IUVOVElUWSBud0FyciAiJiN4MjFENjsiPgotPCFFTlRJ
VFkgbmVBcnIgIiYjeDIxRDc7Ij4KLTwhRU5USVRZIHNlQXJyICImI3gyMUQ4OyI+Ci08IUVOVElU
WSBzd0FyciAiJiN4MjFEOTsiPgotPCFFTlRJVFkgbEFhcnIgIiYjeDIxREE7Ij4KLTwhRU5USVRZ
IExsZWZ0YXJyb3cgIiYjeDIxREE7Ij4KLTwhRU5USVRZIHJBYXJyICImI3gyMURCOyI+Ci08IUVO
VElUWSBScmlnaHRhcnJvdyAiJiN4MjFEQjsiPgotPCFFTlRJVFkgemlncmFyciAiJiN4MjFERDsi
PgotPCFFTlRJVFkgbGFycmIgIiYjeDIxRTQ7Ij4KLTwhRU5USVRZIExlZnRBcnJvd0JhciAiJiN4
MjFFNDsiPgotPCFFTlRJVFkgcmFycmIgIiYjeDIxRTU7Ij4KLTwhRU5USVRZIFJpZ2h0QXJyb3dC
YXIgIiYjeDIxRTU7Ij4KLTwhRU5USVRZIGR1YXJyICImI3gyMUY1OyI+Ci08IUVOVElUWSBEb3du
QXJyb3dVcEFycm93ICImI3gyMUY1OyI+Ci08IUVOVElUWSBsb2FyciAiJiN4MjFGRDsiPgotPCFF
TlRJVFkgcm9hcnIgIiYjeDIxRkU7Ij4KLTwhRU5USVRZIGhvYXJyICImI3gyMUZGOyI+Ci08IUVO
VElUWSBmb3JhbGwgIiYjeDIyMDA7Ij4KLTwhRU5USVRZIEZvckFsbCAiJiN4MjIwMDsiPgotPCFF
TlRJVFkgY29tcCAiJiN4MjIwMTsiPgotPCFFTlRJVFkgY29tcGxlbWVudCAiJiN4MjIwMTsiPgot
PCFFTlRJVFkgcGFydCAiJiN4MjIwMjsiPgotPCFFTlRJVFkgUGFydGlhbEQgIiYjeDIyMDI7Ij4K
LTwhRU5USVRZIG5wYXJ0ICImI3gyMjAyOyYjeDMzODsiPgotPCFFTlRJVFkgZXhpc3QgIiYjeDIy
MDM7Ij4KLTwhRU5USVRZIEV4aXN0cyAiJiN4MjIwMzsiPgotPCFFTlRJVFkgbmV4aXN0ICImI3gy
MjA0OyI+Ci08IUVOVElUWSBOb3RFeGlzdHMgIiYjeDIyMDQ7Ij4KLTwhRU5USVRZIG5leGlzdHMg
IiYjeDIyMDQ7Ij4KLTwhRU5USVRZIGVtcHR5ICImI3gyMjA1OyI+Ci08IUVOVElUWSBlbXB0eXNl
dCAiJiN4MjIwNTsiPgotPCFFTlRJVFkgZW1wdHl2ICImI3gyMjA1OyI+Ci08IUVOVElUWSB2YXJu
b3RoaW5nICImI3gyMjA1OyI+Ci08IUVOVElUWSBuYWJsYSAiJiN4MjIwNzsiPgotPCFFTlRJVFkg
RGVsICImI3gyMjA3OyI+Ci08IUVOVElUWSBpc2luICImI3gyMjA4OyI+Ci08IUVOVElUWSBpc2lu
diAiJiN4MjIwODsiPgotPCFFTlRJVFkgRWxlbWVudCAiJiN4MjIwODsiPgotPCFFTlRJVFkgaW4g
IiYjeDIyMDg7Ij4KLTwhRU5USVRZIG5vdGluICImI3gyMjA5OyI+Ci08IUVOVElUWSBOb3RFbGVt
ZW50ICImI3gyMjA5OyI+Ci08IUVOVElUWSBub3RpbnZhICImI3gyMjA5OyI+Ci08IUVOVElUWSBu
aXYgIiYjeDIyMEI7Ij4KLTwhRU5USVRZIFJldmVyc2VFbGVtZW50ICImI3gyMjBCOyI+Ci08IUVO
VElUWSBuaSAiJiN4MjIwQjsiPgotPCFFTlRJVFkgU3VjaFRoYXQgIiYjeDIyMEI7Ij4KLTwhRU5U
SVRZIG5vdG5pICImI3gyMjBDOyI+Ci08IUVOVElUWSBub3RuaXZhICImI3gyMjBDOyI+Ci08IUVO
VElUWSBOb3RSZXZlcnNlRWxlbWVudCAiJiN4MjIwQzsiPgotPCFFTlRJVFkgcHJvZCAiJiN4MjIw
RjsiPgotPCFFTlRJVFkgUHJvZHVjdCAiJiN4MjIwRjsiPgotPCFFTlRJVFkgY29wcm9kICImI3gy
MjEwOyI+Ci08IUVOVElUWSBDb3Byb2R1Y3QgIiYjeDIyMTA7Ij4KLTwhRU5USVRZIHN1bSAiJiN4
MjIxMTsiPgotPCFFTlRJVFkgU3VtICImI3gyMjExOyI+Ci08IUVOVElUWSBtaW51cyAiJiN4MjIx
MjsiPgotPCFFTlRJVFkgbW5wbHVzICImI3gyMjEzOyI+Ci08IUVOVElUWSBtcCAiJiN4MjIxMzsi
PgotPCFFTlRJVFkgTWludXNQbHVzICImI3gyMjEzOyI+Ci08IUVOVElUWSBwbHVzZG8gIiYjeDIy
MTQ7Ij4KLTwhRU5USVRZIGRvdHBsdXMgIiYjeDIyMTQ7Ij4KLTwhRU5USVRZIHNldG1uICImI3gy
MjE2OyI+Ci08IUVOVElUWSBzZXRtaW51cyAiJiN4MjIxNjsiPgotPCFFTlRJVFkgQmFja3NsYXNo
ICImI3gyMjE2OyI+Ci08IUVOVElUWSBzc2V0bW4gIiYjeDIyMTY7Ij4KLTwhRU5USVRZIHNtYWxs
c2V0bWludXMgIiYjeDIyMTY7Ij4KLTwhRU5USVRZIGxvd2FzdCAiJiN4MjIxNzsiPgotPCFFTlRJ
VFkgY29tcGZuICImI3gyMjE4OyI+Ci08IUVOVElUWSBTbWFsbENpcmNsZSAiJiN4MjIxODsiPgot
PCFFTlRJVFkgcmFkaWMgIiYjeDIyMUE7Ij4KLTwhRU5USVRZIFNxcnQgIiYjeDIyMUE7Ij4KLTwh
RU5USVRZIHByb3AgIiYjeDIyMUQ7Ij4KLTwhRU5USVRZIHByb3B0byAiJiN4MjIxRDsiPgotPCFF
TlRJVFkgUHJvcG9ydGlvbmFsICImI3gyMjFEOyI+Ci08IUVOVElUWSB2cHJvcCAiJiN4MjIxRDsi
PgotPCFFTlRJVFkgdmFycHJvcHRvICImI3gyMjFEOyI+Ci08IUVOVElUWSBpbmZpbiAiJiN4MjIx
RTsiPgotPCFFTlRJVFkgYW5ncnQgIiYjeDIyMUY7Ij4KLTwhRU5USVRZIGFuZyAiJiN4MjIyMDsi
PgotPCFFTlRJVFkgYW5nbGUgIiYjeDIyMjA7Ij4KLTwhRU5USVRZIG5hbmcgIiYjeDIyMjA7JiN4
MjBEMjsiPgotPCFFTlRJVFkgYW5nbXNkICImI3gyMjIxOyI+Ci08IUVOVElUWSBtZWFzdXJlZGFu
Z2xlICImI3gyMjIxOyI+Ci08IUVOVElUWSBhbmdzcGggIiYjeDIyMjI7Ij4KLTwhRU5USVRZIG1p
ZCAiJiN4MjIyMzsiPgotPCFFTlRJVFkgVmVydGljYWxCYXIgIiYjeDIyMjM7Ij4KLTwhRU5USVRZ
IHNtaWQgIiYjeDIyMjM7Ij4KLTwhRU5USVRZIHNob3J0bWlkICImI3gyMjIzOyI+Ci08IUVOVElU
WSBubWlkICImI3gyMjI0OyI+Ci08IUVOVElUWSBOb3RWZXJ0aWNhbEJhciAiJiN4MjIyNDsiPgot
PCFFTlRJVFkgbnNtaWQgIiYjeDIyMjQ7Ij4KLTwhRU5USVRZIG5zaG9ydG1pZCAiJiN4MjIyNDsi
PgotPCFFTlRJVFkgcGFyICImI3gyMjI1OyI+Ci08IUVOVElUWSBwYXJhbGxlbCAiJiN4MjIyNTsi
PgotPCFFTlRJVFkgRG91YmxlVmVydGljYWxCYXIgIiYjeDIyMjU7Ij4KLTwhRU5USVRZIHNwYXIg
IiYjeDIyMjU7Ij4KLTwhRU5USVRZIHNob3J0cGFyYWxsZWwgIiYjeDIyMjU7Ij4KLTwhRU5USVRZ
IG5wYXIgIiYjeDIyMjY7Ij4KLTwhRU5USVRZIG5wYXJhbGxlbCAiJiN4MjIyNjsiPgotPCFFTlRJ
VFkgTm90RG91YmxlVmVydGljYWxCYXIgIiYjeDIyMjY7Ij4KLTwhRU5USVRZIG5zcGFyICImI3gy
MjI2OyI+Ci08IUVOVElUWSBuc2hvcnRwYXJhbGxlbCAiJiN4MjIyNjsiPgotPCFFTlRJVFkgYW5k
ICImI3gyMjI3OyI+Ci08IUVOVElUWSB3ZWRnZSAiJiN4MjIyNzsiPgotPCFFTlRJVFkgb3IgIiYj
eDIyMjg7Ij4KLTwhRU5USVRZIHZlZSAiJiN4MjIyODsiPgotPCFFTlRJVFkgY2FwICImI3gyMjI5
OyI+Ci08IUVOVElUWSBjYXBzICImI3gyMjI5OyYjeEZFMDA7Ij4KLTwhRU5USVRZIGN1cCAiJiN4
MjIyQTsiPgotPCFFTlRJVFkgY3VwcyAiJiN4MjIyQTsmI3hGRTAwOyI+Ci08IUVOVElUWSBpbnQg
IiYjeDIyMkI7Ij4KLTwhRU5USVRZIEludGVncmFsICImI3gyMjJCOyI+Ci08IUVOVElUWSBJbnQg
IiYjeDIyMkM7Ij4KLTwhRU5USVRZIHRpbnQgIiYjeDIyMkQ7Ij4KLTwhRU5USVRZIGlpaW50ICIm
I3gyMjJEOyI+Ci08IUVOVElUWSBjb25pbnQgIiYjeDIyMkU7Ij4KLTwhRU5USVRZIG9pbnQgIiYj
eDIyMkU7Ij4KLTwhRU5USVRZIENvbnRvdXJJbnRlZ3JhbCAiJiN4MjIyRTsiPgotPCFFTlRJVFkg
Q29uaW50ICImI3gyMjJGOyI+Ci08IUVOVElUWSBEb3VibGVDb250b3VySW50ZWdyYWwgIiYjeDIy
MkY7Ij4KLTwhRU5USVRZIENjb25pbnQgIiYjeDIyMzA7Ij4KLTwhRU5USVRZIGN3aW50ICImI3gy
MjMxOyI+Ci08IUVOVElUWSBjd2NvbmludCAiJiN4MjIzMjsiPgotPCFFTlRJVFkgQ2xvY2t3aXNl
Q29udG91ckludGVncmFsICImI3gyMjMyOyI+Ci08IUVOVElUWSBhd2NvbmludCAiJiN4MjIzMzsi
PgotPCFFTlRJVFkgQ291bnRlckNsb2Nrd2lzZUNvbnRvdXJJbnRlZ3JhbCAiJiN4MjIzMzsiPgot
PCFFTlRJVFkgdGhlcmU0ICImI3gyMjM0OyI+Ci08IUVOVElUWSB0aGVyZWZvcmUgIiYjeDIyMzQ7
Ij4KLTwhRU5USVRZIFRoZXJlZm9yZSAiJiN4MjIzNDsiPgotPCFFTlRJVFkgYmVjYXVzICImI3gy
MjM1OyI+Ci08IUVOVElUWSBiZWNhdXNlICImI3gyMjM1OyI+Ci08IUVOVElUWSBCZWNhdXNlICIm
I3gyMjM1OyI+Ci08IUVOVElUWSByYXRpbyAiJiN4MjIzNjsiPgotPCFFTlRJVFkgQ29sb24gIiYj
eDIyMzc7Ij4KLTwhRU5USVRZIFByb3BvcnRpb24gIiYjeDIyMzc7Ij4KLTwhRU5USVRZIG1pbnVz
ZCAiJiN4MjIzODsiPgotPCFFTlRJVFkgZG90bWludXMgIiYjeDIyMzg7Ij4KLTwhRU5USVRZIG1E
RG90ICImI3gyMjNBOyI+Ci08IUVOVElUWSBob210aHQgIiYjeDIyM0I7Ij4KLTwhRU5USVRZIHNp
bSAiJiN4MjIzQzsiPgotPCFFTlRJVFkgVGlsZGUgIiYjeDIyM0M7Ij4KLTwhRU5USVRZIHRoa3Np
bSAiJiN4MjIzQzsiPgotPCFFTlRJVFkgdGhpY2tzaW0gIiYjeDIyM0M7Ij4KLTwhRU5USVRZIG52
c2ltICImI3gyMjNDOyYjeDIwRDI7Ij4KLTwhRU5USVRZIGJzaW0gIiYjeDIyM0Q7Ij4KLTwhRU5U
SVRZIGJhY2tzaW0gIiYjeDIyM0Q7Ij4KLTwhRU5USVRZIHJhY2UgIiYjeDIyM0Q7JiN4MzMxOyI+
Ci08IUVOVElUWSBhYyAiJiN4MjIzRTsiPgotPCFFTlRJVFkgbXN0cG9zICImI3gyMjNFOyI+Ci08
IUVOVElUWSBhY0UgIiYjeDIyM0U7JiN4MzMzOyI+Ci08IUVOVElUWSBhY2QgIiYjeDIyM0Y7Ij4K
LTwhRU5USVRZIHdyZWF0aCAiJiN4MjI0MDsiPgotPCFFTlRJVFkgVmVydGljYWxUaWxkZSAiJiN4
MjI0MDsiPgotPCFFTlRJVFkgd3IgIiYjeDIyNDA7Ij4KLTwhRU5USVRZIG5zaW0gIiYjeDIyNDE7
Ij4KLTwhRU5USVRZIE5vdFRpbGRlICImI3gyMjQxOyI+Ci08IUVOVElUWSBlc2ltICImI3gyMjQy
OyI+Ci08IUVOVElUWSBFcXVhbFRpbGRlICImI3gyMjQyOyI+Ci08IUVOVElUWSBlcXNpbSAiJiN4
MjI0MjsiPgotPCFFTlRJVFkgTm90RXF1YWxUaWxkZSAiJiN4MjI0MjsmI3gzMzg7Ij4KLTwhRU5U
SVRZIG5lc2ltICImI3gyMjQyOyYjeDMzODsiPgotPCFFTlRJVFkgc2ltZSAiJiN4MjI0MzsiPgot
PCFFTlRJVFkgVGlsZGVFcXVhbCAiJiN4MjI0MzsiPgotPCFFTlRJVFkgc2ltZXEgIiYjeDIyNDM7
Ij4KLTwhRU5USVRZIG5zaW1lICImI3gyMjQ0OyI+Ci08IUVOVElUWSBuc2ltZXEgIiYjeDIyNDQ7
Ij4KLTwhRU5USVRZIE5vdFRpbGRlRXF1YWwgIiYjeDIyNDQ7Ij4KLTwhRU5USVRZIGNvbmcgIiYj
eDIyNDU7Ij4KLTwhRU5USVRZIFRpbGRlRnVsbEVxdWFsICImI3gyMjQ1OyI+Ci08IUVOVElUWSBz
aW1uZSAiJiN4MjI0NjsiPgotPCFFTlRJVFkgbmNvbmcgIiYjeDIyNDc7Ij4KLTwhRU5USVRZIE5v
dFRpbGRlRnVsbEVxdWFsICImI3gyMjQ3OyI+Ci08IUVOVElUWSBhc3ltcCAiJiN4MjI0ODsiPgot
PCFFTlRJVFkgYXAgIiYjeDIyNDg7Ij4KLTwhRU5USVRZIFRpbGRlVGlsZGUgIiYjeDIyNDg7Ij4K
LTwhRU5USVRZIGFwcHJveCAiJiN4MjI0ODsiPgotPCFFTlRJVFkgdGhrYXAgIiYjeDIyNDg7Ij4K
LTwhRU5USVRZIHRoaWNrYXBwcm94ICImI3gyMjQ4OyI+Ci08IUVOVElUWSBuYXAgIiYjeDIyNDk7
Ij4KLTwhRU5USVRZIE5vdFRpbGRlVGlsZGUgIiYjeDIyNDk7Ij4KLTwhRU5USVRZIG5hcHByb3gg
IiYjeDIyNDk7Ij4KLTwhRU5USVRZIGFwZSAiJiN4MjI0QTsiPgotPCFFTlRJVFkgYXBwcm94ZXEg
IiYjeDIyNEE7Ij4KLTwhRU5USVRZIGFwaWQgIiYjeDIyNEI7Ij4KLTwhRU5USVRZIG5hcGlkICIm
I3gyMjRCOyYjeDMzODsiPgotPCFFTlRJVFkgYmNvbmcgIiYjeDIyNEM7Ij4KLTwhRU5USVRZIGJh
Y2tjb25nICImI3gyMjRDOyI+Ci08IUVOVElUWSBhc3ltcGVxICImI3gyMjREOyI+Ci08IUVOVElU
WSBDdXBDYXAgIiYjeDIyNEQ7Ij4KLTwhRU5USVRZIG52YXAgIiYjeDIyNEQ7JiN4MjBEMjsiPgot
PCFFTlRJVFkgYnVtcCAiJiN4MjI0RTsiPgotPCFFTlRJVFkgSHVtcERvd25IdW1wICImI3gyMjRF
OyI+Ci08IUVOVElUWSBCdW1wZXEgIiYjeDIyNEU7Ij4KLTwhRU5USVRZIE5vdEh1bXBEb3duSHVt
cCAiJiN4MjI0RTsmI3gzMzg7Ij4KLTwhRU5USVRZIG5idW1wICImI3gyMjRFOyYjeDMzODsiPgot
PCFFTlRJVFkgYnVtcGUgIiYjeDIyNEY7Ij4KLTwhRU5USVRZIEh1bXBFcXVhbCAiJiN4MjI0Rjsi
PgotPCFFTlRJVFkgYnVtcGVxICImI3gyMjRGOyI+Ci08IUVOVElUWSBuYnVtcGUgIiYjeDIyNEY7
JiN4MzM4OyI+Ci08IUVOVElUWSBOb3RIdW1wRXF1YWwgIiYjeDIyNEY7JiN4MzM4OyI+Ci08IUVO
VElUWSBlc2RvdCAiJiN4MjI1MDsiPgotPCFFTlRJVFkgRG90RXF1YWwgIiYjeDIyNTA7Ij4KLTwh
RU5USVRZIGRvdGVxICImI3gyMjUwOyI+Ci08IUVOVElUWSBuZWRvdCAiJiN4MjI1MDsmI3gzMzg7
Ij4KLTwhRU5USVRZIGVEb3QgIiYjeDIyNTE7Ij4KLTwhRU5USVRZIGRvdGVxZG90ICImI3gyMjUx
OyI+Ci08IUVOVElUWSBlZkRvdCAiJiN4MjI1MjsiPgotPCFFTlRJVFkgZmFsbGluZ2RvdHNlcSAi
JiN4MjI1MjsiPgotPCFFTlRJVFkgZXJEb3QgIiYjeDIyNTM7Ij4KLTwhRU5USVRZIHJpc2luZ2Rv
dHNlcSAiJiN4MjI1MzsiPgotPCFFTlRJVFkgY29sb25lICImI3gyMjU0OyI+Ci08IUVOVElUWSBj
b2xvbmVxICImI3gyMjU0OyI+Ci08IUVOVElUWSBBc3NpZ24gIiYjeDIyNTQ7Ij4KLTwhRU5USVRZ
IGVjb2xvbiAiJiN4MjI1NTsiPgotPCFFTlRJVFkgZXFjb2xvbiAiJiN4MjI1NTsiPgotPCFFTlRJ
VFkgZWNpciAiJiN4MjI1NjsiPgotPCFFTlRJVFkgZXFjaXJjICImI3gyMjU2OyI+Ci08IUVOVElU
WSBjaXJlICImI3gyMjU3OyI+Ci08IUVOVElUWSBjaXJjZXEgIiYjeDIyNTc7Ij4KLTwhRU5USVRZ
IHdlZGdlcSAiJiN4MjI1OTsiPgotPCFFTlRJVFkgdmVlZXEgIiYjeDIyNUE7Ij4KLTwhRU5USVRZ
IHRyaWUgIiYjeDIyNUM7Ij4KLTwhRU5USVRZIHRyaWFuZ2xlcSAiJiN4MjI1QzsiPgotPCFFTlRJ
VFkgZXF1ZXN0ICImI3gyMjVGOyI+Ci08IUVOVElUWSBxdWVzdGVxICImI3gyMjVGOyI+Ci08IUVO
VElUWSBuZSAiJiN4MjI2MDsiPgotPCFFTlRJVFkgTm90RXF1YWwgIiYjeDIyNjA7Ij4KLTwhRU5U
SVRZIGVxdWl2ICImI3gyMjYxOyI+Ci08IUVOVElUWSBDb25ncnVlbnQgIiYjeDIyNjE7Ij4KLTwh
RU5USVRZIGJuZXF1aXYgIiYjeDIyNjE7JiN4MjBFNTsiPgotPCFFTlRJVFkgbmVxdWl2ICImI3gy
MjYyOyI+Ci08IUVOVElUWSBOb3RDb25ncnVlbnQgIiYjeDIyNjI7Ij4KLTwhRU5USVRZIGxlICIm
I3gyMjY0OyI+Ci08IUVOVElUWSBsZXEgIiYjeDIyNjQ7Ij4KLTwhRU5USVRZIG52bGUgIiYjeDIy
NjQ7JiN4MjBEMjsiPgotPCFFTlRJVFkgZ2UgIiYjeDIyNjU7Ij4KLTwhRU5USVRZIEdyZWF0ZXJF
cXVhbCAiJiN4MjI2NTsiPgotPCFFTlRJVFkgZ2VxICImI3gyMjY1OyI+Ci08IUVOVElUWSBudmdl
ICImI3gyMjY1OyYjeDIwRDI7Ij4KLTwhRU5USVRZIGxFICImI3gyMjY2OyI+Ci08IUVOVElUWSBM
ZXNzRnVsbEVxdWFsICImI3gyMjY2OyI+Ci08IUVOVElUWSBsZXFxICImI3gyMjY2OyI+Ci08IUVO
VElUWSBubEUgIiYjeDIyNjY7JiN4MzM4OyI+Ci08IUVOVElUWSBubGVxcSAiJiN4MjI2NjsmI3gz
Mzg7Ij4KLTwhRU5USVRZIGdFICImI3gyMjY3OyI+Ci08IUVOVElUWSBHcmVhdGVyRnVsbEVxdWFs
ICImI3gyMjY3OyI+Ci08IUVOVElUWSBnZXFxICImI3gyMjY3OyI+Ci08IUVOVElUWSBuZ0UgIiYj
eDIyNjc7JiN4MzM4OyI+Ci08IUVOVElUWSBuZ2VxcSAiJiN4MjI2NzsmI3gzMzg7Ij4KLTwhRU5U
SVRZIE5vdEdyZWF0ZXJGdWxsRXF1YWwgIiYjeDIyNjc7JiN4MzM4OyI+Ci08IUVOVElUWSBsbkUg
IiYjeDIyNjg7Ij4KLTwhRU5USVRZIGxuZXFxICImI3gyMjY4OyI+Ci08IUVOVElUWSBsdm5FICIm
I3gyMjY4OyYjeEZFMDA7Ij4KLTwhRU5USVRZIGx2ZXJ0bmVxcSAiJiN4MjI2ODsmI3hGRTAwOyI+
Ci08IUVOVElUWSBnbkUgIiYjeDIyNjk7Ij4KLTwhRU5USVRZIGduZXFxICImI3gyMjY5OyI+Ci08
IUVOVElUWSBndm5FICImI3gyMjY5OyYjeEZFMDA7Ij4KLTwhRU5USVRZIGd2ZXJ0bmVxcSAiJiN4
MjI2OTsmI3hGRTAwOyI+Ci08IUVOVElUWSBMdCAiJiN4MjI2QTsiPgotPCFFTlRJVFkgTmVzdGVk
TGVzc0xlc3MgIiYjeDIyNkE7Ij4KLTwhRU5USVRZIGxsICImI3gyMjZBOyI+Ci08IUVOVElUWSBu
THR2ICImI3gyMjZBOyYjeDMzODsiPgotPCFFTlRJVFkgTm90TGVzc0xlc3MgIiYjeDIyNkE7JiN4
MzM4OyI+Ci08IUVOVElUWSBuTHQgIiYjeDIyNkE7JiN4MjBEMjsiPgotPCFFTlRJVFkgR3QgIiYj
eDIyNkI7Ij4KLTwhRU5USVRZIE5lc3RlZEdyZWF0ZXJHcmVhdGVyICImI3gyMjZCOyI+Ci08IUVO
VElUWSBnZyAiJiN4MjI2QjsiPgotPCFFTlRJVFkgbkd0diAiJiN4MjI2QjsmI3gzMzg7Ij4KLTwh
RU5USVRZIE5vdEdyZWF0ZXJHcmVhdGVyICImI3gyMjZCOyYjeDMzODsiPgotPCFFTlRJVFkgbkd0
ICImI3gyMjZCOyYjeDIwRDI7Ij4KLTwhRU5USVRZIHR3aXh0ICImI3gyMjZDOyI+Ci08IUVOVElU
WSBiZXR3ZWVuICImI3gyMjZDOyI+Ci08IUVOVElUWSBOb3RDdXBDYXAgIiYjeDIyNkQ7Ij4KLTwh
RU5USVRZIG5sdCAiJiN4MjI2RTsiPgotPCFFTlRJVFkgTm90TGVzcyAiJiN4MjI2RTsiPgotPCFF
TlRJVFkgbmxlc3MgIiYjeDIyNkU7Ij4KLTwhRU5USVRZIG5ndCAiJiN4MjI2RjsiPgotPCFFTlRJ
VFkgTm90R3JlYXRlciAiJiN4MjI2RjsiPgotPCFFTlRJVFkgbmd0ciAiJiN4MjI2RjsiPgotPCFF
TlRJVFkgbmxlICImI3gyMjcwOyI+Ci08IUVOVElUWSBOb3RMZXNzRXF1YWwgIiYjeDIyNzA7Ij4K
LTwhRU5USVRZIG5sZXEgIiYjeDIyNzA7Ij4KLTwhRU5USVRZIG5nZSAiJiN4MjI3MTsiPgotPCFF
TlRJVFkgTm90R3JlYXRlckVxdWFsICImI3gyMjcxOyI+Ci08IUVOVElUWSBuZ2VxICImI3gyMjcx
OyI+Ci08IUVOVElUWSBsc2ltICImI3gyMjcyOyI+Ci08IUVOVElUWSBMZXNzVGlsZGUgIiYjeDIy
NzI7Ij4KLTwhRU5USVRZIGxlc3NzaW0gIiYjeDIyNzI7Ij4KLTwhRU5USVRZIGdzaW0gIiYjeDIy
NzM7Ij4KLTwhRU5USVRZIGd0cnNpbSAiJiN4MjI3MzsiPgotPCFFTlRJVFkgR3JlYXRlclRpbGRl
ICImI3gyMjczOyI+Ci08IUVOVElUWSBubHNpbSAiJiN4MjI3NDsiPgotPCFFTlRJVFkgTm90TGVz
c1RpbGRlICImI3gyMjc0OyI+Ci08IUVOVElUWSBuZ3NpbSAiJiN4MjI3NTsiPgotPCFFTlRJVFkg
Tm90R3JlYXRlclRpbGRlICImI3gyMjc1OyI+Ci08IUVOVElUWSBsZyAiJiN4MjI3NjsiPgotPCFF
TlRJVFkgbGVzc2d0ciAiJiN4MjI3NjsiPgotPCFFTlRJVFkgTGVzc0dyZWF0ZXIgIiYjeDIyNzY7
Ij4KLTwhRU5USVRZIGdsICImI3gyMjc3OyI+Ci08IUVOVElUWSBndHJsZXNzICImI3gyMjc3OyI+
Ci08IUVOVElUWSBHcmVhdGVyTGVzcyAiJiN4MjI3NzsiPgotPCFFTlRJVFkgbnRsZyAiJiN4MjI3
ODsiPgotPCFFTlRJVFkgTm90TGVzc0dyZWF0ZXIgIiYjeDIyNzg7Ij4KLTwhRU5USVRZIG50Z2wg
IiYjeDIyNzk7Ij4KLTwhRU5USVRZIE5vdEdyZWF0ZXJMZXNzICImI3gyMjc5OyI+Ci08IUVOVElU
WSBwciAiJiN4MjI3QTsiPgotPCFFTlRJVFkgUHJlY2VkZXMgIiYjeDIyN0E7Ij4KLTwhRU5USVRZ
IHByZWMgIiYjeDIyN0E7Ij4KLTwhRU5USVRZIHNjICImI3gyMjdCOyI+Ci08IUVOVElUWSBTdWNj
ZWVkcyAiJiN4MjI3QjsiPgotPCFFTlRJVFkgc3VjYyAiJiN4MjI3QjsiPgotPCFFTlRJVFkgcHJj
dWUgIiYjeDIyN0M7Ij4KLTwhRU5USVRZIFByZWNlZGVzU2xhbnRFcXVhbCAiJiN4MjI3QzsiPgot
PCFFTlRJVFkgcHJlY2N1cmx5ZXEgIiYjeDIyN0M7Ij4KLTwhRU5USVRZIHNjY3VlICImI3gyMjdE
OyI+Ci08IUVOVElUWSBTdWNjZWVkc1NsYW50RXF1YWwgIiYjeDIyN0Q7Ij4KLTwhRU5USVRZIHN1
Y2NjdXJseWVxICImI3gyMjdEOyI+Ci08IUVOVElUWSBwcnNpbSAiJiN4MjI3RTsiPgotPCFFTlRJ
VFkgcHJlY3NpbSAiJiN4MjI3RTsiPgotPCFFTlRJVFkgUHJlY2VkZXNUaWxkZSAiJiN4MjI3RTsi
PgotPCFFTlRJVFkgc2NzaW0gIiYjeDIyN0Y7Ij4KLTwhRU5USVRZIHN1Y2NzaW0gIiYjeDIyN0Y7
Ij4KLTwhRU5USVRZIFN1Y2NlZWRzVGlsZGUgIiYjeDIyN0Y7Ij4KLTwhRU5USVRZIE5vdFN1Y2Nl
ZWRzVGlsZGUgIiYjeDIyN0Y7JiN4MzM4OyI+Ci08IUVOVElUWSBucHIgIiYjeDIyODA7Ij4KLTwh
RU5USVRZIG5wcmVjICImI3gyMjgwOyI+Ci08IUVOVElUWSBOb3RQcmVjZWRlcyAiJiN4MjI4MDsi
PgotPCFFTlRJVFkgbnNjICImI3gyMjgxOyI+Ci08IUVOVElUWSBuc3VjYyAiJiN4MjI4MTsiPgot
PCFFTlRJVFkgTm90U3VjY2VlZHMgIiYjeDIyODE7Ij4KLTwhRU5USVRZIHN1YiAiJiN4MjI4Mjsi
PgotPCFFTlRJVFkgc3Vic2V0ICImI3gyMjgyOyI+Ci08IUVOVElUWSB2bnN1YiAiJiN4MjI4Mjsm
I3gyMEQyOyI+Ci08IUVOVElUWSBuc3Vic2V0ICImI3gyMjgyOyYjeDIwRDI7Ij4KLTwhRU5USVRZ
IE5vdFN1YnNldCAiJiN4MjI4MjsmI3gyMEQyOyI+Ci08IUVOVElUWSBzdXAgIiYjeDIyODM7Ij4K
LTwhRU5USVRZIHN1cHNldCAiJiN4MjI4MzsiPgotPCFFTlRJVFkgU3VwZXJzZXQgIiYjeDIyODM7
Ij4KLTwhRU5USVRZIHZuc3VwICImI3gyMjgzOyYjeDIwRDI7Ij4KLTwhRU5USVRZIG5zdXBzZXQg
IiYjeDIyODM7JiN4MjBEMjsiPgotPCFFTlRJVFkgTm90U3VwZXJzZXQgIiYjeDIyODM7JiN4MjBE
MjsiPgotPCFFTlRJVFkgbnN1YiAiJiN4MjI4NDsiPgotPCFFTlRJVFkgbnN1cCAiJiN4MjI4NTsi
PgotPCFFTlRJVFkgc3ViZSAiJiN4MjI4NjsiPgotPCFFTlRJVFkgU3Vic2V0RXF1YWwgIiYjeDIy
ODY7Ij4KLTwhRU5USVRZIHN1YnNldGVxICImI3gyMjg2OyI+Ci08IUVOVElUWSBzdXBlICImI3gy
Mjg3OyI+Ci08IUVOVElUWSBzdXBzZXRlcSAiJiN4MjI4NzsiPgotPCFFTlRJVFkgU3VwZXJzZXRF
cXVhbCAiJiN4MjI4NzsiPgotPCFFTlRJVFkgbnN1YmUgIiYjeDIyODg7Ij4KLTwhRU5USVRZIG5z
dWJzZXRlcSAiJiN4MjI4ODsiPgotPCFFTlRJVFkgTm90U3Vic2V0RXF1YWwgIiYjeDIyODg7Ij4K
LTwhRU5USVRZIG5zdXBlICImI3gyMjg5OyI+Ci08IUVOVElUWSBuc3Vwc2V0ZXEgIiYjeDIyODk7
Ij4KLTwhRU5USVRZIE5vdFN1cGVyc2V0RXF1YWwgIiYjeDIyODk7Ij4KLTwhRU5USVRZIHN1Ym5l
ICImI3gyMjhBOyI+Ci08IUVOVElUWSBzdWJzZXRuZXEgIiYjeDIyOEE7Ij4KLTwhRU5USVRZIHZz
dWJuZSAiJiN4MjI4QTsmI3hGRTAwOyI+Ci08IUVOVElUWSB2YXJzdWJzZXRuZXEgIiYjeDIyOEE7
JiN4RkUwMDsiPgotPCFFTlRJVFkgc3VwbmUgIiYjeDIyOEI7Ij4KLTwhRU5USVRZIHN1cHNldG5l
cSAiJiN4MjI4QjsiPgotPCFFTlRJVFkgdnN1cG5lICImI3gyMjhCOyYjeEZFMDA7Ij4KLTwhRU5U
SVRZIHZhcnN1cHNldG5lcSAiJiN4MjI4QjsmI3hGRTAwOyI+Ci08IUVOVElUWSBjdXBkb3QgIiYj
eDIyOEQ7Ij4KLTwhRU5USVRZIHVwbHVzICImI3gyMjhFOyI+Ci08IUVOVElUWSBVbmlvblBsdXMg
IiYjeDIyOEU7Ij4KLTwhRU5USVRZIHNxc3ViICImI3gyMjhGOyI+Ci08IUVOVElUWSBTcXVhcmVT
dWJzZXQgIiYjeDIyOEY7Ij4KLTwhRU5USVRZIHNxc3Vic2V0ICImI3gyMjhGOyI+Ci08IUVOVElU
WSBOb3RTcXVhcmVTdWJzZXQgIiYjeDIyOEY7JiN4MzM4OyI+Ci08IUVOVElUWSBzcXN1cCAiJiN4
MjI5MDsiPgotPCFFTlRJVFkgU3F1YXJlU3VwZXJzZXQgIiYjeDIyOTA7Ij4KLTwhRU5USVRZIHNx
c3Vwc2V0ICImI3gyMjkwOyI+Ci08IUVOVElUWSBOb3RTcXVhcmVTdXBlcnNldCAiJiN4MjI5MDsm
I3gzMzg7Ij4KLTwhRU5USVRZIHNxc3ViZSAiJiN4MjI5MTsiPgotPCFFTlRJVFkgU3F1YXJlU3Vi
c2V0RXF1YWwgIiYjeDIyOTE7Ij4KLTwhRU5USVRZIHNxc3Vic2V0ZXEgIiYjeDIyOTE7Ij4KLTwh
RU5USVRZIHNxc3VwZSAiJiN4MjI5MjsiPgotPCFFTlRJVFkgU3F1YXJlU3VwZXJzZXRFcXVhbCAi
JiN4MjI5MjsiPgotPCFFTlRJVFkgc3FzdXBzZXRlcSAiJiN4MjI5MjsiPgotPCFFTlRJVFkgc3Fj
YXAgIiYjeDIyOTM7Ij4KLTwhRU5USVRZIFNxdWFyZUludGVyc2VjdGlvbiAiJiN4MjI5MzsiPgot
PCFFTlRJVFkgc3FjYXBzICImI3gyMjkzOyYjeEZFMDA7Ij4KLTwhRU5USVRZIHNxY3VwICImI3gy
Mjk0OyI+Ci08IUVOVElUWSBTcXVhcmVVbmlvbiAiJiN4MjI5NDsiPgotPCFFTlRJVFkgc3FjdXBz
ICImI3gyMjk0OyYjeEZFMDA7Ij4KLTwhRU5USVRZIG9wbHVzICImI3gyMjk1OyI+Ci08IUVOVElU
WSBDaXJjbGVQbHVzICImI3gyMjk1OyI+Ci08IUVOVElUWSBvbWludXMgIiYjeDIyOTY7Ij4KLTwh
RU5USVRZIENpcmNsZU1pbnVzICImI3gyMjk2OyI+Ci08IUVOVElUWSBvdGltZXMgIiYjeDIyOTc7
Ij4KLTwhRU5USVRZIENpcmNsZVRpbWVzICImI3gyMjk3OyI+Ci08IUVOVElUWSBvc29sICImI3gy
Mjk4OyI+Ci08IUVOVElUWSBvZG90ICImI3gyMjk5OyI+Ci08IUVOVElUWSBDaXJjbGVEb3QgIiYj
eDIyOTk7Ij4KLTwhRU5USVRZIG9jaXIgIiYjeDIyOUE7Ij4KLTwhRU5USVRZIGNpcmNsZWRjaXJj
ICImI3gyMjlBOyI+Ci08IUVOVElUWSBvYXN0ICImI3gyMjlCOyI+Ci08IUVOVElUWSBjaXJjbGVk
YXN0ICImI3gyMjlCOyI+Ci08IUVOVElUWSBvZGFzaCAiJiN4MjI5RDsiPgotPCFFTlRJVFkgY2ly
Y2xlZGRhc2ggIiYjeDIyOUQ7Ij4KLTwhRU5USVRZIHBsdXNiICImI3gyMjlFOyI+Ci08IUVOVElU
WSBib3hwbHVzICImI3gyMjlFOyI+Ci08IUVOVElUWSBtaW51c2IgIiYjeDIyOUY7Ij4KLTwhRU5U
SVRZIGJveG1pbnVzICImI3gyMjlGOyI+Ci08IUVOVElUWSB0aW1lc2IgIiYjeDIyQTA7Ij4KLTwh
RU5USVRZIGJveHRpbWVzICImI3gyMkEwOyI+Ci08IUVOVElUWSBzZG90YiAiJiN4MjJBMTsiPgot
PCFFTlRJVFkgZG90c3F1YXJlICImI3gyMkExOyI+Ci08IUVOVElUWSB2ZGFzaCAiJiN4MjJBMjsi
PgotPCFFTlRJVFkgUmlnaHRUZWUgIiYjeDIyQTI7Ij4KLTwhRU5USVRZIGRhc2h2ICImI3gyMkEz
OyI+Ci08IUVOVElUWSBMZWZ0VGVlICImI3gyMkEzOyI+Ci08IUVOVElUWSB0b3AgIiYjeDIyQTQ7
Ij4KLTwhRU5USVRZIERvd25UZWUgIiYjeDIyQTQ7Ij4KLTwhRU5USVRZIGJvdHRvbSAiJiN4MjJB
NTsiPgotPCFFTlRJVFkgYm90ICImI3gyMkE1OyI+Ci08IUVOVElUWSBwZXJwICImI3gyMkE1OyI+
Ci08IUVOVElUWSBVcFRlZSAiJiN4MjJBNTsiPgotPCFFTlRJVFkgbW9kZWxzICImI3gyMkE3OyI+
Ci08IUVOVElUWSB2RGFzaCAiJiN4MjJBODsiPgotPCFFTlRJVFkgRG91YmxlUmlnaHRUZWUgIiYj
eDIyQTg7Ij4KLTwhRU5USVRZIFZkYXNoICImI3gyMkE5OyI+Ci08IUVOVElUWSBWdmRhc2ggIiYj
eDIyQUE7Ij4KLTwhRU5USVRZIFZEYXNoICImI3gyMkFCOyI+Ci08IUVOVElUWSBudmRhc2ggIiYj
eDIyQUM7Ij4KLTwhRU5USVRZIG52RGFzaCAiJiN4MjJBRDsiPgotPCFFTlRJVFkgblZkYXNoICIm
I3gyMkFFOyI+Ci08IUVOVElUWSBuVkRhc2ggIiYjeDIyQUY7Ij4KLTwhRU5USVRZIHBydXJlbCAi
JiN4MjJCMDsiPgotPCFFTlRJVFkgdmx0cmkgIiYjeDIyQjI7Ij4KLTwhRU5USVRZIHZhcnRyaWFu
Z2xlbGVmdCAiJiN4MjJCMjsiPgotPCFFTlRJVFkgTGVmdFRyaWFuZ2xlICImI3gyMkIyOyI+Ci08
IUVOVElUWSB2cnRyaSAiJiN4MjJCMzsiPgotPCFFTlRJVFkgdmFydHJpYW5nbGVyaWdodCAiJiN4
MjJCMzsiPgotPCFFTlRJVFkgUmlnaHRUcmlhbmdsZSAiJiN4MjJCMzsiPgotPCFFTlRJVFkgbHRy
aWUgIiYjeDIyQjQ7Ij4KLTwhRU5USVRZIHRyaWFuZ2xlbGVmdGVxICImI3gyMkI0OyI+Ci08IUVO
VElUWSBMZWZ0VHJpYW5nbGVFcXVhbCAiJiN4MjJCNDsiPgotPCFFTlRJVFkgbnZsdHJpZSAiJiN4
MjJCNDsmI3gyMEQyOyI+Ci08IUVOVElUWSBydHJpZSAiJiN4MjJCNTsiPgotPCFFTlRJVFkgdHJp
YW5nbGVyaWdodGVxICImI3gyMkI1OyI+Ci08IUVOVElUWSBSaWdodFRyaWFuZ2xlRXF1YWwgIiYj
eDIyQjU7Ij4KLTwhRU5USVRZIG52cnRyaWUgIiYjeDIyQjU7JiN4MjBEMjsiPgotPCFFTlRJVFkg
b3JpZ29mICImI3gyMkI2OyI+Ci08IUVOVElUWSBpbW9mICImI3gyMkI3OyI+Ci08IUVOVElUWSBt
dW1hcCAiJiN4MjJCODsiPgotPCFFTlRJVFkgbXVsdGltYXAgIiYjeDIyQjg7Ij4KLTwhRU5USVRZ
IGhlcmNvbiAiJiN4MjJCOTsiPgotPCFFTlRJVFkgaW50Y2FsICImI3gyMkJBOyI+Ci08IUVOVElU
WSBpbnRlcmNhbCAiJiN4MjJCQTsiPgotPCFFTlRJVFkgdmVlYmFyICImI3gyMkJCOyI+Ci08IUVO
VElUWSBiYXJ2ZWUgIiYjeDIyQkQ7Ij4KLTwhRU5USVRZIGFuZ3J0dmIgIiYjeDIyQkU7Ij4KLTwh
RU5USVRZIGxydHJpICImI3gyMkJGOyI+Ci08IUVOVElUWSB4d2VkZ2UgIiYjeDIyQzA7Ij4KLTwh
RU5USVRZIFdlZGdlICImI3gyMkMwOyI+Ci08IUVOVElUWSBiaWd3ZWRnZSAiJiN4MjJDMDsiPgot
PCFFTlRJVFkgeHZlZSAiJiN4MjJDMTsiPgotPCFFTlRJVFkgVmVlICImI3gyMkMxOyI+Ci08IUVO
VElUWSBiaWd2ZWUgIiYjeDIyQzE7Ij4KLTwhRU5USVRZIHhjYXAgIiYjeDIyQzI7Ij4KLTwhRU5U
SVRZIEludGVyc2VjdGlvbiAiJiN4MjJDMjsiPgotPCFFTlRJVFkgYmlnY2FwICImI3gyMkMyOyI+
Ci08IUVOVElUWSB4Y3VwICImI3gyMkMzOyI+Ci08IUVOVElUWSBVbmlvbiAiJiN4MjJDMzsiPgot
PCFFTlRJVFkgYmlnY3VwICImI3gyMkMzOyI+Ci08IUVOVElUWSBkaWFtICImI3gyMkM0OyI+Ci08
IUVOVElUWSBkaWFtb25kICImI3gyMkM0OyI+Ci08IUVOVElUWSBEaWFtb25kICImI3gyMkM0OyI+
Ci08IUVOVElUWSBzZG90ICImI3gyMkM1OyI+Ci08IUVOVElUWSBzc3RhcmYgIiYjeDIyQzY7Ij4K
LTwhRU5USVRZIFN0YXIgIiYjeDIyQzY7Ij4KLTwhRU5USVRZIGRpdm9ueCAiJiN4MjJDNzsiPgot
PCFFTlRJVFkgZGl2aWRlb250aW1lcyAiJiN4MjJDNzsiPgotPCFFTlRJVFkgYm93dGllICImI3gy
MkM4OyI+Ci08IUVOVElUWSBsdGltZXMgIiYjeDIyQzk7Ij4KLTwhRU5USVRZIHJ0aW1lcyAiJiN4
MjJDQTsiPgotPCFFTlRJVFkgbHRocmVlICImI3gyMkNCOyI+Ci08IUVOVElUWSBsZWZ0dGhyZWV0
aW1lcyAiJiN4MjJDQjsiPgotPCFFTlRJVFkgcnRocmVlICImI3gyMkNDOyI+Ci08IUVOVElUWSBy
aWdodHRocmVldGltZXMgIiYjeDIyQ0M7Ij4KLTwhRU5USVRZIGJzaW1lICImI3gyMkNEOyI+Ci08
IUVOVElUWSBiYWNrc2ltZXEgIiYjeDIyQ0Q7Ij4KLTwhRU5USVRZIGN1dmVlICImI3gyMkNFOyI+
Ci08IUVOVElUWSBjdXJseXZlZSAiJiN4MjJDRTsiPgotPCFFTlRJVFkgY3V3ZWQgIiYjeDIyQ0Y7
Ij4KLTwhRU5USVRZIGN1cmx5d2VkZ2UgIiYjeDIyQ0Y7Ij4KLTwhRU5USVRZIFN1YiAiJiN4MjJE
MDsiPgotPCFFTlRJVFkgU3Vic2V0ICImI3gyMkQwOyI+Ci08IUVOVElUWSBTdXAgIiYjeDIyRDE7
Ij4KLTwhRU5USVRZIFN1cHNldCAiJiN4MjJEMTsiPgotPCFFTlRJVFkgQ2FwICImI3gyMkQyOyI+
Ci08IUVOVElUWSBDdXAgIiYjeDIyRDM7Ij4KLTwhRU5USVRZIGZvcmsgIiYjeDIyRDQ7Ij4KLTwh
RU5USVRZIHBpdGNoZm9yayAiJiN4MjJENDsiPgotPCFFTlRJVFkgZXBhciAiJiN4MjJENTsiPgot
PCFFTlRJVFkgbHRkb3QgIiYjeDIyRDY7Ij4KLTwhRU5USVRZIGxlc3Nkb3QgIiYjeDIyRDY7Ij4K
LTwhRU5USVRZIGd0ZG90ICImI3gyMkQ3OyI+Ci08IUVOVElUWSBndHJkb3QgIiYjeDIyRDc7Ij4K
LTwhRU5USVRZIExsICImI3gyMkQ4OyI+Ci08IUVOVElUWSBuTGwgIiYjeDIyRDg7JiN4MzM4OyI+
Ci08IUVOVElUWSBHZyAiJiN4MjJEOTsiPgotPCFFTlRJVFkgZ2dnICImI3gyMkQ5OyI+Ci08IUVO
VElUWSBuR2cgIiYjeDIyRDk7JiN4MzM4OyI+Ci08IUVOVElUWSBsZWcgIiYjeDIyREE7Ij4KLTwh
RU5USVRZIExlc3NFcXVhbEdyZWF0ZXIgIiYjeDIyREE7Ij4KLTwhRU5USVRZIGxlc3NlcWd0ciAi
JiN4MjJEQTsiPgotPCFFTlRJVFkgbGVzZyAiJiN4MjJEQTsmI3hGRTAwOyI+Ci08IUVOVElUWSBn
ZWwgIiYjeDIyREI7Ij4KLTwhRU5USVRZIGd0cmVxbGVzcyAiJiN4MjJEQjsiPgotPCFFTlRJVFkg
R3JlYXRlckVxdWFsTGVzcyAiJiN4MjJEQjsiPgotPCFFTlRJVFkgZ2VzbCAiJiN4MjJEQjsmI3hG
RTAwOyI+Ci08IUVOVElUWSBjdWVwciAiJiN4MjJERTsiPgotPCFFTlRJVFkgY3VybHllcXByZWMg
IiYjeDIyREU7Ij4KLTwhRU5USVRZIGN1ZXNjICImI3gyMkRGOyI+Ci08IUVOVElUWSBjdXJseWVx
c3VjYyAiJiN4MjJERjsiPgotPCFFTlRJVFkgbnByY3VlICImI3gyMkUwOyI+Ci08IUVOVElUWSBO
b3RQcmVjZWRlc1NsYW50RXF1YWwgIiYjeDIyRTA7Ij4KLTwhRU5USVRZIG5zY2N1ZSAiJiN4MjJF
MTsiPgotPCFFTlRJVFkgTm90U3VjY2VlZHNTbGFudEVxdWFsICImI3gyMkUxOyI+Ci08IUVOVElU
WSBuc3FzdWJlICImI3gyMkUyOyI+Ci08IUVOVElUWSBOb3RTcXVhcmVTdWJzZXRFcXVhbCAiJiN4
MjJFMjsiPgotPCFFTlRJVFkgbnNxc3VwZSAiJiN4MjJFMzsiPgotPCFFTlRJVFkgTm90U3F1YXJl
U3VwZXJzZXRFcXVhbCAiJiN4MjJFMzsiPgotPCFFTlRJVFkgbG5zaW0gIiYjeDIyRTY7Ij4KLTwh
RU5USVRZIGduc2ltICImI3gyMkU3OyI+Ci08IUVOVElUWSBwcm5zaW0gIiYjeDIyRTg7Ij4KLTwh
RU5USVRZIHByZWNuc2ltICImI3gyMkU4OyI+Ci08IUVOVElUWSBzY25zaW0gIiYjeDIyRTk7Ij4K
LTwhRU5USVRZIHN1Y2Nuc2ltICImI3gyMkU5OyI+Ci08IUVOVElUWSBubHRyaSAiJiN4MjJFQTsi
PgotPCFFTlRJVFkgbnRyaWFuZ2xlbGVmdCAiJiN4MjJFQTsiPgotPCFFTlRJVFkgTm90TGVmdFRy
aWFuZ2xlICImI3gyMkVBOyI+Ci08IUVOVElUWSBucnRyaSAiJiN4MjJFQjsiPgotPCFFTlRJVFkg
bnRyaWFuZ2xlcmlnaHQgIiYjeDIyRUI7Ij4KLTwhRU5USVRZIE5vdFJpZ2h0VHJpYW5nbGUgIiYj
eDIyRUI7Ij4KLTwhRU5USVRZIG5sdHJpZSAiJiN4MjJFQzsiPgotPCFFTlRJVFkgbnRyaWFuZ2xl
bGVmdGVxICImI3gyMkVDOyI+Ci08IUVOVElUWSBOb3RMZWZ0VHJpYW5nbGVFcXVhbCAiJiN4MjJF
QzsiPgotPCFFTlRJVFkgbnJ0cmllICImI3gyMkVEOyI+Ci08IUVOVElUWSBudHJpYW5nbGVyaWdo
dGVxICImI3gyMkVEOyI+Ci08IUVOVElUWSBOb3RSaWdodFRyaWFuZ2xlRXF1YWwgIiYjeDIyRUQ7
Ij4KLTwhRU5USVRZIHZlbGxpcCAiJiN4MjJFRTsiPgotPCFFTlRJVFkgY3Rkb3QgIiYjeDIyRUY7
Ij4KLTwhRU5USVRZIHV0ZG90ICImI3gyMkYwOyI+Ci08IUVOVElUWSBkdGRvdCAiJiN4MjJGMTsi
PgotPCFFTlRJVFkgZGlzaW4gIiYjeDIyRjI7Ij4KLTwhRU5USVRZIGlzaW5zdiAiJiN4MjJGMzsi
PgotPCFFTlRJVFkgaXNpbnMgIiYjeDIyRjQ7Ij4KLTwhRU5USVRZIGlzaW5kb3QgIiYjeDIyRjU7
Ij4KLTwhRU5USVRZIG5vdGluZG90ICImI3gyMkY1OyYjeDMzODsiPgotPCFFTlRJVFkgbm90aW52
YyAiJiN4MjJGNjsiPgotPCFFTlRJVFkgbm90aW52YiAiJiN4MjJGNzsiPgotPCFFTlRJVFkgaXNp
bkUgIiYjeDIyRjk7Ij4KLTwhRU5USVRZIG5vdGluRSAiJiN4MjJGOTsmI3gzMzg7Ij4KLTwhRU5U
SVRZIG5pc2QgIiYjeDIyRkE7Ij4KLTwhRU5USVRZIHhuaXMgIiYjeDIyRkI7Ij4KLTwhRU5USVRZ
IG5pcyAiJiN4MjJGQzsiPgotPCFFTlRJVFkgbm90bml2YyAiJiN4MjJGRDsiPgotPCFFTlRJVFkg
bm90bml2YiAiJiN4MjJGRTsiPgotPCFFTlRJVFkgYmFyd2VkICImI3gyMzA1OyI+Ci08IUVOVElU
WSBiYXJ3ZWRnZSAiJiN4MjMwNTsiPgotPCFFTlRJVFkgQmFyd2VkICImI3gyMzA2OyI+Ci08IUVO
VElUWSBkb3VibGViYXJ3ZWRnZSAiJiN4MjMwNjsiPgotPCFFTlRJVFkgbGNlaWwgIiYjeDIzMDg7
Ij4KLTwhRU5USVRZIExlZnRDZWlsaW5nICImI3gyMzA4OyI+Ci08IUVOVElUWSByY2VpbCAiJiN4
MjMwOTsiPgotPCFFTlRJVFkgUmlnaHRDZWlsaW5nICImI3gyMzA5OyI+Ci08IUVOVElUWSBsZmxv
b3IgIiYjeDIzMEE7Ij4KLTwhRU5USVRZIExlZnRGbG9vciAiJiN4MjMwQTsiPgotPCFFTlRJVFkg
cmZsb29yICImI3gyMzBCOyI+Ci08IUVOVElUWSBSaWdodEZsb29yICImI3gyMzBCOyI+Ci08IUVO
VElUWSBkcmNyb3AgIiYjeDIzMEM7Ij4KLTwhRU5USVRZIGRsY3JvcCAiJiN4MjMwRDsiPgotPCFF
TlRJVFkgdXJjcm9wICImI3gyMzBFOyI+Ci08IUVOVElUWSB1bGNyb3AgIiYjeDIzMEY7Ij4KLTwh
RU5USVRZIGJub3QgIiYjeDIzMTA7Ij4KLTwhRU5USVRZIHByb2ZsaW5lICImI3gyMzEyOyI+Ci08
IUVOVElUWSBwcm9mc3VyZiAiJiN4MjMxMzsiPgotPCFFTlRJVFkgdGVscmVjICImI3gyMzE1OyI+
Ci08IUVOVElUWSB0YXJnZXQgIiYjeDIzMTY7Ij4KLTwhRU5USVRZIHVsY29ybiAiJiN4MjMxQzsi
PgotPCFFTlRJVFkgdWxjb3JuZXIgIiYjeDIzMUM7Ij4KLTwhRU5USVRZIHVyY29ybiAiJiN4MjMx
RDsiPgotPCFFTlRJVFkgdXJjb3JuZXIgIiYjeDIzMUQ7Ij4KLTwhRU5USVRZIGRsY29ybiAiJiN4
MjMxRTsiPgotPCFFTlRJVFkgbGxjb3JuZXIgIiYjeDIzMUU7Ij4KLTwhRU5USVRZIGRyY29ybiAi
JiN4MjMxRjsiPgotPCFFTlRJVFkgbHJjb3JuZXIgIiYjeDIzMUY7Ij4KLTwhRU5USVRZIGZyb3du
ICImI3gyMzIyOyI+Ci08IUVOVElUWSBzZnJvd24gIiYjeDIzMjI7Ij4KLTwhRU5USVRZIHNtaWxl
ICImI3gyMzIzOyI+Ci08IUVOVElUWSBzc21pbGUgIiYjeDIzMjM7Ij4KLTwhRU5USVRZIGN5bGN0
eSAiJiN4MjMyRDsiPgotPCFFTlRJVFkgcHJvZmFsYXIgIiYjeDIzMkU7Ij4KLTwhRU5USVRZIHRv
cGJvdCAiJiN4MjMzNjsiPgotPCFFTlRJVFkgb3ZiYXIgIiYjeDIzM0Q7Ij4KLTwhRU5USVRZIHNv
bGJhciAiJiN4MjMzRjsiPgotPCFFTlRJVFkgYW5nemFyciAiJiN4MjM3QzsiPgotPCFFTlRJVFkg
bG1vdXN0ICImI3gyM0IwOyI+Ci08IUVOVElUWSBsbW91c3RhY2hlICImI3gyM0IwOyI+Ci08IUVO
VElUWSBybW91c3QgIiYjeDIzQjE7Ij4KLTwhRU5USVRZIHJtb3VzdGFjaGUgIiYjeDIzQjE7Ij4K
LTwhRU5USVRZIHRicmsgIiYjeDIzQjQ7Ij4KLTwhRU5USVRZIE92ZXJCcmFja2V0ICImI3gyM0I0
OyI+Ci08IUVOVElUWSBiYnJrICImI3gyM0I1OyI+Ci08IUVOVElUWSBVbmRlckJyYWNrZXQgIiYj
eDIzQjU7Ij4KLTwhRU5USVRZIGJicmt0YnJrICImI3gyM0I2OyI+Ci08IUVOVElUWSBPdmVyUGFy
ZW50aGVzaXMgIiYjeDIzREM7Ij4KLTwhRU5USVRZIFVuZGVyUGFyZW50aGVzaXMgIiYjeDIzREQ7
Ij4KLTwhRU5USVRZIE92ZXJCcmFjZSAiJiN4MjNERTsiPgotPCFFTlRJVFkgVW5kZXJCcmFjZSAi
JiN4MjNERjsiPgotPCFFTlRJVFkgdHJwZXppdW0gIiYjeDIzRTI7Ij4KLTwhRU5USVRZIGVsaW50
ZXJzICImI3gyM0U3OyI+Ci08IUVOVElUWSBibGFuayAiJiN4MjQyMzsiPgotPCFFTlRJVFkgb1Mg
IiYjeDI0Qzg7Ij4KLTwhRU5USVRZIGNpcmNsZWRTICImI3gyNEM4OyI+Ci08IUVOVElUWSBib3ho
ICImI3gyNTAwOyI+Ci08IUVOVElUWSBIb3Jpem9udGFsTGluZSAiJiN4MjUwMDsiPgotPCFFTlRJ
VFkgYm94diAiJiN4MjUwMjsiPgotPCFFTlRJVFkgYm94ZHIgIiYjeDI1MEM7Ij4KLTwhRU5USVRZ
IGJveGRsICImI3gyNTEwOyI+Ci08IUVOVElUWSBib3h1ciAiJiN4MjUxNDsiPgotPCFFTlRJVFkg
Ym94dWwgIiYjeDI1MTg7Ij4KLTwhRU5USVRZIGJveHZyICImI3gyNTFDOyI+Ci08IUVOVElUWSBi
b3h2bCAiJiN4MjUyNDsiPgotPCFFTlRJVFkgYm94aGQgIiYjeDI1MkM7Ij4KLTwhRU5USVRZIGJv
eGh1ICImI3gyNTM0OyI+Ci08IUVOVElUWSBib3h2aCAiJiN4MjUzQzsiPgotPCFFTlRJVFkgYm94
SCAiJiN4MjU1MDsiPgotPCFFTlRJVFkgYm94ViAiJiN4MjU1MTsiPgotPCFFTlRJVFkgYm94ZFIg
IiYjeDI1NTI7Ij4KLTwhRU5USVRZIGJveERyICImI3gyNTUzOyI+Ci08IUVOVElUWSBib3hEUiAi
JiN4MjU1NDsiPgotPCFFTlRJVFkgYm94ZEwgIiYjeDI1NTU7Ij4KLTwhRU5USVRZIGJveERsICIm
I3gyNTU2OyI+Ci08IUVOVElUWSBib3hETCAiJiN4MjU1NzsiPgotPCFFTlRJVFkgYm94dVIgIiYj
eDI1NTg7Ij4KLTwhRU5USVRZIGJveFVyICImI3gyNTU5OyI+Ci08IUVOVElUWSBib3hVUiAiJiN4
MjU1QTsiPgotPCFFTlRJVFkgYm94dUwgIiYjeDI1NUI7Ij4KLTwhRU5USVRZIGJveFVsICImI3gy
NTVDOyI+Ci08IUVOVElUWSBib3hVTCAiJiN4MjU1RDsiPgotPCFFTlRJVFkgYm94dlIgIiYjeDI1
NUU7Ij4KLTwhRU5USVRZIGJveFZyICImI3gyNTVGOyI+Ci08IUVOVElUWSBib3hWUiAiJiN4MjU2
MDsiPgotPCFFTlRJVFkgYm94dkwgIiYjeDI1NjE7Ij4KLTwhRU5USVRZIGJveFZsICImI3gyNTYy
OyI+Ci08IUVOVElUWSBib3hWTCAiJiN4MjU2MzsiPgotPCFFTlRJVFkgYm94SGQgIiYjeDI1NjQ7
Ij4KLTwhRU5USVRZIGJveGhEICImI3gyNTY1OyI+Ci08IUVOVElUWSBib3hIRCAiJiN4MjU2Njsi
PgotPCFFTlRJVFkgYm94SHUgIiYjeDI1Njc7Ij4KLTwhRU5USVRZIGJveGhVICImI3gyNTY4OyI+
Ci08IUVOVElUWSBib3hIVSAiJiN4MjU2OTsiPgotPCFFTlRJVFkgYm94dkggIiYjeDI1NkE7Ij4K
LTwhRU5USVRZIGJveFZoICImI3gyNTZCOyI+Ci08IUVOVElUWSBib3hWSCAiJiN4MjU2QzsiPgot
PCFFTlRJVFkgdWhibGsgIiYjeDI1ODA7Ij4KLTwhRU5USVRZIGxoYmxrICImI3gyNTg0OyI+Ci08
IUVOVElUWSBibG9jayAiJiN4MjU4ODsiPgotPCFFTlRJVFkgYmxrMTQgIiYjeDI1OTE7Ij4KLTwh
RU5USVRZIGJsazEyICImI3gyNTkyOyI+Ci08IUVOVElUWSBibGszNCAiJiN4MjU5MzsiPgotPCFF
TlRJVFkgc3F1ICImI3gyNUExOyI+Ci08IUVOVElUWSBzcXVhcmUgIiYjeDI1QTE7Ij4KLTwhRU5U
SVRZIFNxdWFyZSAiJiN4MjVBMTsiPgotPCFFTlRJVFkgc3F1ZiAiJiN4MjVBQTsiPgotPCFFTlRJ
VFkgc3F1YXJmICImI3gyNUFBOyI+Ci08IUVOVElUWSBibGFja3NxdWFyZSAiJiN4MjVBQTsiPgot
PCFFTlRJVFkgRmlsbGVkVmVyeVNtYWxsU3F1YXJlICImI3gyNUFBOyI+Ci08IUVOVElUWSBFbXB0
eVZlcnlTbWFsbFNxdWFyZSAiJiN4MjVBQjsiPgotPCFFTlRJVFkgcmVjdCAiJiN4MjVBRDsiPgot
PCFFTlRJVFkgbWFya2VyICImI3gyNUFFOyI+Ci08IUVOVElUWSBmbHRucyAiJiN4MjVCMTsiPgot
PCFFTlRJVFkgeHV0cmkgIiYjeDI1QjM7Ij4KLTwhRU5USVRZIGJpZ3RyaWFuZ2xldXAgIiYjeDI1
QjM7Ij4KLTwhRU5USVRZIHV0cmlmICImI3gyNUI0OyI+Ci08IUVOVElUWSBibGFja3RyaWFuZ2xl
ICImI3gyNUI0OyI+Ci08IUVOVElUWSB1dHJpICImI3gyNUI1OyI+Ci08IUVOVElUWSB0cmlhbmds
ZSAiJiN4MjVCNTsiPgotPCFFTlRJVFkgcnRyaWYgIiYjeDI1Qjg7Ij4KLTwhRU5USVRZIGJsYWNr
dHJpYW5nbGVyaWdodCAiJiN4MjVCODsiPgotPCFFTlRJVFkgcnRyaSAiJiN4MjVCOTsiPgotPCFF
TlRJVFkgdHJpYW5nbGVyaWdodCAiJiN4MjVCOTsiPgotPCFFTlRJVFkgeGR0cmkgIiYjeDI1QkQ7
Ij4KLTwhRU5USVRZIGJpZ3RyaWFuZ2xlZG93biAiJiN4MjVCRDsiPgotPCFFTlRJVFkgZHRyaWYg
IiYjeDI1QkU7Ij4KLTwhRU5USVRZIGJsYWNrdHJpYW5nbGVkb3duICImI3gyNUJFOyI+Ci08IUVO
VElUWSBkdHJpICImI3gyNUJGOyI+Ci08IUVOVElUWSB0cmlhbmdsZWRvd24gIiYjeDI1QkY7Ij4K
LTwhRU5USVRZIGx0cmlmICImI3gyNUMyOyI+Ci08IUVOVElUWSBibGFja3RyaWFuZ2xlbGVmdCAi
JiN4MjVDMjsiPgotPCFFTlRJVFkgbHRyaSAiJiN4MjVDMzsiPgotPCFFTlRJVFkgdHJpYW5nbGVs
ZWZ0ICImI3gyNUMzOyI+Ci08IUVOVElUWSBsb3ogIiYjeDI1Q0E7Ij4KLTwhRU5USVRZIGxvemVu
Z2UgIiYjeDI1Q0E7Ij4KLTwhRU5USVRZIGNpciAiJiN4MjVDQjsiPgotPCFFTlRJVFkgdHJpZG90
ICImI3gyNUVDOyI+Ci08IUVOVElUWSB4Y2lyYyAiJiN4MjVFRjsiPgotPCFFTlRJVFkgYmlnY2ly
YyAiJiN4MjVFRjsiPgotPCFFTlRJVFkgdWx0cmkgIiYjeDI1Rjg7Ij4KLTwhRU5USVRZIHVydHJp
ICImI3gyNUY5OyI+Ci08IUVOVElUWSBsbHRyaSAiJiN4MjVGQTsiPgotPCFFTlRJVFkgRW1wdHlT
bWFsbFNxdWFyZSAiJiN4MjVGQjsiPgotPCFFTlRJVFkgRmlsbGVkU21hbGxTcXVhcmUgIiYjeDI1
RkM7Ij4KLTwhRU5USVRZIHN0YXJmICImI3gyNjA1OyI+Ci08IUVOVElUWSBiaWdzdGFyICImI3gy
NjA1OyI+Ci08IUVOVElUWSBzdGFyICImI3gyNjA2OyI+Ci08IUVOVElUWSBwaG9uZSAiJiN4MjYw
RTsiPgotPCFFTlRJVFkgZmVtYWxlICImI3gyNjQwOyI+Ci08IUVOVElUWSBtYWxlICImI3gyNjQy
OyI+Ci08IUVOVElUWSBzcGFkZXMgIiYjeDI2NjA7Ij4KLTwhRU5USVRZIHNwYWRlc3VpdCAiJiN4
MjY2MDsiPgotPCFFTlRJVFkgY2x1YnMgIiYjeDI2NjM7Ij4KLTwhRU5USVRZIGNsdWJzdWl0ICIm
I3gyNjYzOyI+Ci08IUVOVElUWSBoZWFydHMgIiYjeDI2NjU7Ij4KLTwhRU5USVRZIGhlYXJ0c3Vp
dCAiJiN4MjY2NTsiPgotPCFFTlRJVFkgZGlhbXMgIiYjeDI2NjY7Ij4KLTwhRU5USVRZIGRpYW1v
bmRzdWl0ICImI3gyNjY2OyI+Ci08IUVOVElUWSBzdW5nICImI3gyNjZBOyI+Ci08IUVOVElUWSBm
bGF0ICImI3gyNjZEOyI+Ci08IUVOVElUWSBuYXR1ciAiJiN4MjY2RTsiPgotPCFFTlRJVFkgbmF0
dXJhbCAiJiN4MjY2RTsiPgotPCFFTlRJVFkgc2hhcnAgIiYjeDI2NkY7Ij4KLTwhRU5USVRZIGNo
ZWNrICImI3gyNzEzOyI+Ci08IUVOVElUWSBjaGVja21hcmsgIiYjeDI3MTM7Ij4KLTwhRU5USVRZ
IGNyb3NzICImI3gyNzE3OyI+Ci08IUVOVElUWSBtYWx0ICImI3gyNzIwOyI+Ci08IUVOVElUWSBt
YWx0ZXNlICImI3gyNzIwOyI+Ci08IUVOVElUWSBzZXh0ICImI3gyNzM2OyI+Ci08IUVOVElUWSBW
ZXJ0aWNhbFNlcGFyYXRvciAiJiN4Mjc1ODsiPgotPCFFTlRJVFkgbGJicmsgIiYjeDI3NzI7Ij4K
LTwhRU5USVRZIHJiYnJrICImI3gyNzczOyI+Ci08IUVOVElUWSBic29saHN1YiAiJiN4MjdDODsi
PgotPCFFTlRJVFkgc3VwaHNvbCAiJiN4MjdDOTsiPgotPCFFTlRJVFkgbG9icmsgIiYjeDI3RTY7
Ij4KLTwhRU5USVRZIExlZnREb3VibGVCcmFja2V0ICImI3gyN0U2OyI+Ci08IUVOVElUWSByb2Jy
ayAiJiN4MjdFNzsiPgotPCFFTlRJVFkgUmlnaHREb3VibGVCcmFja2V0ICImI3gyN0U3OyI+Ci08
IUVOVElUWSBsYW5nICImI3gyN0U4OyI+Ci08IUVOVElUWSBMZWZ0QW5nbGVCcmFja2V0ICImI3gy
N0U4OyI+Ci08IUVOVElUWSBsYW5nbGUgIiYjeDI3RTg7Ij4KLTwhRU5USVRZIHJhbmcgIiYjeDI3
RTk7Ij4KLTwhRU5USVRZIFJpZ2h0QW5nbGVCcmFja2V0ICImI3gyN0U5OyI+Ci08IUVOVElUWSBy
YW5nbGUgIiYjeDI3RTk7Ij4KLTwhRU5USVRZIExhbmcgIiYjeDI3RUE7Ij4KLTwhRU5USVRZIFJh
bmcgIiYjeDI3RUI7Ij4KLTwhRU5USVRZIGxvYW5nICImI3gyN0VDOyI+Ci08IUVOVElUWSByb2Fu
ZyAiJiN4MjdFRDsiPgotPCFFTlRJVFkgeGxhcnIgIiYjeDI3RjU7Ij4KLTwhRU5USVRZIGxvbmds
ZWZ0YXJyb3cgIiYjeDI3RjU7Ij4KLTwhRU5USVRZIExvbmdMZWZ0QXJyb3cgIiYjeDI3RjU7Ij4K
LTwhRU5USVRZIHhyYXJyICImI3gyN0Y2OyI+Ci08IUVOVElUWSBsb25ncmlnaHRhcnJvdyAiJiN4
MjdGNjsiPgotPCFFTlRJVFkgTG9uZ1JpZ2h0QXJyb3cgIiYjeDI3RjY7Ij4KLTwhRU5USVRZIHho
YXJyICImI3gyN0Y3OyI+Ci08IUVOVElUWSBsb25nbGVmdHJpZ2h0YXJyb3cgIiYjeDI3Rjc7Ij4K
LTwhRU5USVRZIExvbmdMZWZ0UmlnaHRBcnJvdyAiJiN4MjdGNzsiPgotPCFFTlRJVFkgeGxBcnIg
IiYjeDI3Rjg7Ij4KLTwhRU5USVRZIExvbmdsZWZ0YXJyb3cgIiYjeDI3Rjg7Ij4KLTwhRU5USVRZ
IERvdWJsZUxvbmdMZWZ0QXJyb3cgIiYjeDI3Rjg7Ij4KLTwhRU5USVRZIHhyQXJyICImI3gyN0Y5
OyI+Ci08IUVOVElUWSBMb25ncmlnaHRhcnJvdyAiJiN4MjdGOTsiPgotPCFFTlRJVFkgRG91Ymxl
TG9uZ1JpZ2h0QXJyb3cgIiYjeDI3Rjk7Ij4KLTwhRU5USVRZIHhoQXJyICImI3gyN0ZBOyI+Ci08
IUVOVElUWSBMb25nbGVmdHJpZ2h0YXJyb3cgIiYjeDI3RkE7Ij4KLTwhRU5USVRZIERvdWJsZUxv
bmdMZWZ0UmlnaHRBcnJvdyAiJiN4MjdGQTsiPgotPCFFTlRJVFkgeG1hcCAiJiN4MjdGQzsiPgot
PCFFTlRJVFkgbG9uZ21hcHN0byAiJiN4MjdGQzsiPgotPCFFTlRJVFkgZHppZ3JhcnIgIiYjeDI3
RkY7Ij4KLTwhRU5USVRZIG52bEFyciAiJiN4MjkwMjsiPgotPCFFTlRJVFkgbnZyQXJyICImI3gy
OTAzOyI+Ci08IUVOVElUWSBudkhhcnIgIiYjeDI5MDQ7Ij4KLTwhRU5USVRZIE1hcCAiJiN4Mjkw
NTsiPgotPCFFTlRJVFkgbGJhcnIgIiYjeDI5MEM7Ij4KLTwhRU5USVRZIHJiYXJyICImI3gyOTBE
OyI+Ci08IUVOVElUWSBia2Fyb3cgIiYjeDI5MEQ7Ij4KLTwhRU5USVRZIGxCYXJyICImI3gyOTBF
OyI+Ci08IUVOVElUWSByQmFyciAiJiN4MjkwRjsiPgotPCFFTlRJVFkgZGJrYXJvdyAiJiN4Mjkw
RjsiPgotPCFFTlRJVFkgUkJhcnIgIiYjeDI5MTA7Ij4KLTwhRU5USVRZIGRyYmthcm93ICImI3gy
OTEwOyI+Ci08IUVOVElUWSBERG90cmFoZCAiJiN4MjkxMTsiPgotPCFFTlRJVFkgVXBBcnJvd0Jh
ciAiJiN4MjkxMjsiPgotPCFFTlRJVFkgRG93bkFycm93QmFyICImI3gyOTEzOyI+Ci08IUVOVElU
WSBSYXJydGwgIiYjeDI5MTY7Ij4KLTwhRU5USVRZIGxhdGFpbCAiJiN4MjkxOTsiPgotPCFFTlRJ
VFkgcmF0YWlsICImI3gyOTFBOyI+Ci08IUVOVElUWSBsQXRhaWwgIiYjeDI5MUI7Ij4KLTwhRU5U
SVRZIHJBdGFpbCAiJiN4MjkxQzsiPgotPCFFTlRJVFkgbGFycmZzICImI3gyOTFEOyI+Ci08IUVO
VElUWSByYXJyZnMgIiYjeDI5MUU7Ij4KLTwhRU5USVRZIGxhcnJiZnMgIiYjeDI5MUY7Ij4KLTwh
RU5USVRZIHJhcnJiZnMgIiYjeDI5MjA7Ij4KLTwhRU5USVRZIG53YXJoayAiJiN4MjkyMzsiPgot
PCFFTlRJVFkgbmVhcmhrICImI3gyOTI0OyI+Ci08IUVOVElUWSBzZWFyaGsgIiYjeDI5MjU7Ij4K
LTwhRU5USVRZIGhrc2Vhcm93ICImI3gyOTI1OyI+Ci08IUVOVElUWSBzd2FyaGsgIiYjeDI5MjY7
Ij4KLTwhRU5USVRZIGhrc3dhcm93ICImI3gyOTI2OyI+Ci08IUVOVElUWSBud25lYXIgIiYjeDI5
Mjc7Ij4KLTwhRU5USVRZIG5lc2VhciAiJiN4MjkyODsiPgotPCFFTlRJVFkgdG9lYSAiJiN4Mjky
ODsiPgotPCFFTlRJVFkgc2Vzd2FyICImI3gyOTI5OyI+Ci08IUVOVElUWSB0b3NhICImI3gyOTI5
OyI+Ci08IUVOVElUWSBzd253YXIgIiYjeDI5MkE7Ij4KLTwhRU5USVRZIHJhcnJjICImI3gyOTMz
OyI+Ci08IUVOVElUWSBucmFycmMgIiYjeDI5MzM7JiN4MzM4OyI+Ci08IUVOVElUWSBjdWRhcnJy
ICImI3gyOTM1OyI+Ci08IUVOVElUWSBsZGNhICImI3gyOTM2OyI+Ci08IUVOVElUWSByZGNhICIm
I3gyOTM3OyI+Ci08IUVOVElUWSBjdWRhcnJsICImI3gyOTM4OyI+Ci08IUVOVElUWSBsYXJycGwg
IiYjeDI5Mzk7Ij4KLTwhRU5USVRZIGN1cmFycm0gIiYjeDI5M0M7Ij4KLTwhRU5USVRZIGN1bGFy
cnAgIiYjeDI5M0Q7Ij4KLTwhRU5USVRZIHJhcnJwbCAiJiN4Mjk0NTsiPgotPCFFTlRJVFkgaGFy
cmNpciAiJiN4Mjk0ODsiPgotPCFFTlRJVFkgVWFycm9jaXIgIiYjeDI5NDk7Ij4KLTwhRU5USVRZ
IGx1cmRzaGFyICImI3gyOTRBOyI+Ci08IUVOVElUWSBsZHJ1c2hhciAiJiN4Mjk0QjsiPgotPCFF
TlRJVFkgTGVmdFJpZ2h0VmVjdG9yICImI3gyOTRFOyI+Ci08IUVOVElUWSBSaWdodFVwRG93blZl
Y3RvciAiJiN4Mjk0RjsiPgotPCFFTlRJVFkgRG93bkxlZnRSaWdodFZlY3RvciAiJiN4Mjk1MDsi
PgotPCFFTlRJVFkgTGVmdFVwRG93blZlY3RvciAiJiN4Mjk1MTsiPgotPCFFTlRJVFkgTGVmdFZl
Y3RvckJhciAiJiN4Mjk1MjsiPgotPCFFTlRJVFkgUmlnaHRWZWN0b3JCYXIgIiYjeDI5NTM7Ij4K
LTwhRU5USVRZIFJpZ2h0VXBWZWN0b3JCYXIgIiYjeDI5NTQ7Ij4KLTwhRU5USVRZIFJpZ2h0RG93
blZlY3RvckJhciAiJiN4Mjk1NTsiPgotPCFFTlRJVFkgRG93bkxlZnRWZWN0b3JCYXIgIiYjeDI5
NTY7Ij4KLTwhRU5USVRZIERvd25SaWdodFZlY3RvckJhciAiJiN4Mjk1NzsiPgotPCFFTlRJVFkg
TGVmdFVwVmVjdG9yQmFyICImI3gyOTU4OyI+Ci08IUVOVElUWSBMZWZ0RG93blZlY3RvckJhciAi
JiN4Mjk1OTsiPgotPCFFTlRJVFkgTGVmdFRlZVZlY3RvciAiJiN4Mjk1QTsiPgotPCFFTlRJVFkg
UmlnaHRUZWVWZWN0b3IgIiYjeDI5NUI7Ij4KLTwhRU5USVRZIFJpZ2h0VXBUZWVWZWN0b3IgIiYj
eDI5NUM7Ij4KLTwhRU5USVRZIFJpZ2h0RG93blRlZVZlY3RvciAiJiN4Mjk1RDsiPgotPCFFTlRJ
VFkgRG93bkxlZnRUZWVWZWN0b3IgIiYjeDI5NUU7Ij4KLTwhRU5USVRZIERvd25SaWdodFRlZVZl
Y3RvciAiJiN4Mjk1RjsiPgotPCFFTlRJVFkgTGVmdFVwVGVlVmVjdG9yICImI3gyOTYwOyI+Ci08
IUVOVElUWSBMZWZ0RG93blRlZVZlY3RvciAiJiN4Mjk2MTsiPgotPCFFTlRJVFkgbEhhciAiJiN4
Mjk2MjsiPgotPCFFTlRJVFkgdUhhciAiJiN4Mjk2MzsiPgotPCFFTlRJVFkgckhhciAiJiN4Mjk2
NDsiPgotPCFFTlRJVFkgZEhhciAiJiN4Mjk2NTsiPgotPCFFTlRJVFkgbHVydWhhciAiJiN4Mjk2
NjsiPgotPCFFTlRJVFkgbGRyZGhhciAiJiN4Mjk2NzsiPgotPCFFTlRJVFkgcnVsdWhhciAiJiN4
Mjk2ODsiPgotPCFFTlRJVFkgcmRsZGhhciAiJiN4Mjk2OTsiPgotPCFFTlRJVFkgbGhhcnVsICIm
I3gyOTZBOyI+Ci08IUVOVElUWSBsbGhhcmQgIiYjeDI5NkI7Ij4KLTwhRU5USVRZIHJoYXJ1bCAi
JiN4Mjk2QzsiPgotPCFFTlRJVFkgbHJoYXJkICImI3gyOTZEOyI+Ci08IUVOVElUWSB1ZGhhciAi
JiN4Mjk2RTsiPgotPCFFTlRJVFkgVXBFcXVpbGlicml1bSAiJiN4Mjk2RTsiPgotPCFFTlRJVFkg
ZHVoYXIgIiYjeDI5NkY7Ij4KLTwhRU5USVRZIFJldmVyc2VVcEVxdWlsaWJyaXVtICImI3gyOTZG
OyI+Ci08IUVOVElUWSBSb3VuZEltcGxpZXMgIiYjeDI5NzA7Ij4KLTwhRU5USVRZIGVyYXJyICIm
I3gyOTcxOyI+Ci08IUVOVElUWSBzaW1yYXJyICImI3gyOTcyOyI+Ci08IUVOVElUWSBsYXJyc2lt
ICImI3gyOTczOyI+Ci08IUVOVElUWSByYXJyc2ltICImI3gyOTc0OyI+Ci08IUVOVElUWSByYXJy
YXAgIiYjeDI5NzU7Ij4KLTwhRU5USVRZIGx0bGFyciAiJiN4Mjk3NjsiPgotPCFFTlRJVFkgZ3Ry
YXJyICImI3gyOTc4OyI+Ci08IUVOVElUWSBzdWJyYXJyICImI3gyOTc5OyI+Ci08IUVOVElUWSBz
dXBsYXJyICImI3gyOTdCOyI+Ci08IUVOVElUWSBsZmlzaHQgIiYjeDI5N0M7Ij4KLTwhRU5USVRZ
IHJmaXNodCAiJiN4Mjk3RDsiPgotPCFFTlRJVFkgdWZpc2h0ICImI3gyOTdFOyI+Ci08IUVOVElU
WSBkZmlzaHQgIiYjeDI5N0Y7Ij4KLTwhRU5USVRZIGxvcGFyICImI3gyOTg1OyI+Ci08IUVOVElU
WSByb3BhciAiJiN4Mjk4NjsiPgotPCFFTlRJVFkgbGJya2UgIiYjeDI5OEI7Ij4KLTwhRU5USVRZ
IHJicmtlICImI3gyOThDOyI+Ci08IUVOVElUWSBsYnJrc2x1ICImI3gyOThEOyI+Ci08IUVOVElU
WSByYnJrc2xkICImI3gyOThFOyI+Ci08IUVOVElUWSBsYnJrc2xkICImI3gyOThGOyI+Ci08IUVO
VElUWSByYnJrc2x1ICImI3gyOTkwOyI+Ci08IUVOVElUWSBsYW5nZCAiJiN4Mjk5MTsiPgotPCFF
TlRJVFkgcmFuZ2QgIiYjeDI5OTI7Ij4KLTwhRU5USVRZIGxwYXJsdCAiJiN4Mjk5MzsiPgotPCFF
TlRJVFkgcnBhcmd0ICImI3gyOTk0OyI+Ci08IUVOVElUWSBndGxQYXIgIiYjeDI5OTU7Ij4KLTwh
RU5USVRZIGx0clBhciAiJiN4Mjk5NjsiPgotPCFFTlRJVFkgdnppZ3phZyAiJiN4Mjk5QTsiPgot
PCFFTlRJVFkgdmFuZ3J0ICImI3gyOTlDOyI+Ci08IUVOVElUWSBhbmdydHZiZCAiJiN4Mjk5RDsi
PgotPCFFTlRJVFkgYW5nZSAiJiN4MjlBNDsiPgotPCFFTlRJVFkgcmFuZ2UgIiYjeDI5QTU7Ij4K
LTwhRU5USVRZIGR3YW5nbGUgIiYjeDI5QTY7Ij4KLTwhRU5USVRZIHV3YW5nbGUgIiYjeDI5QTc7
Ij4KLTwhRU5USVRZIGFuZ21zZGFhICImI3gyOUE4OyI+Ci08IUVOVElUWSBhbmdtc2RhYiAiJiN4
MjlBOTsiPgotPCFFTlRJVFkgYW5nbXNkYWMgIiYjeDI5QUE7Ij4KLTwhRU5USVRZIGFuZ21zZGFk
ICImI3gyOUFCOyI+Ci08IUVOVElUWSBhbmdtc2RhZSAiJiN4MjlBQzsiPgotPCFFTlRJVFkgYW5n
bXNkYWYgIiYjeDI5QUQ7Ij4KLTwhRU5USVRZIGFuZ21zZGFnICImI3gyOUFFOyI+Ci08IUVOVElU
WSBhbmdtc2RhaCAiJiN4MjlBRjsiPgotPCFFTlRJVFkgYmVtcHR5diAiJiN4MjlCMDsiPgotPCFF
TlRJVFkgZGVtcHR5diAiJiN4MjlCMTsiPgotPCFFTlRJVFkgY2VtcHR5diAiJiN4MjlCMjsiPgot
PCFFTlRJVFkgcmFlbXB0eXYgIiYjeDI5QjM7Ij4KLTwhRU5USVRZIGxhZW1wdHl2ICImI3gyOUI0
OyI+Ci08IUVOVElUWSBvaGJhciAiJiN4MjlCNTsiPgotPCFFTlRJVFkgb21pZCAiJiN4MjlCNjsi
PgotPCFFTlRJVFkgb3BhciAiJiN4MjlCNzsiPgotPCFFTlRJVFkgb3BlcnAgIiYjeDI5Qjk7Ij4K
LTwhRU5USVRZIG9sY3Jvc3MgIiYjeDI5QkI7Ij4KLTwhRU5USVRZIG9kc29sZCAiJiN4MjlCQzsi
PgotPCFFTlRJVFkgb2xjaXIgIiYjeDI5QkU7Ij4KLTwhRU5USVRZIG9mY2lyICImI3gyOUJGOyI+
Ci08IUVOVElUWSBvbHQgIiYjeDI5QzA7Ij4KLTwhRU5USVRZIG9ndCAiJiN4MjlDMTsiPgotPCFF
TlRJVFkgY2lyc2NpciAiJiN4MjlDMjsiPgotPCFFTlRJVFkgY2lyRSAiJiN4MjlDMzsiPgotPCFF
TlRJVFkgc29sYiAiJiN4MjlDNDsiPgotPCFFTlRJVFkgYnNvbGIgIiYjeDI5QzU7Ij4KLTwhRU5U
SVRZIGJveGJveCAiJiN4MjlDOTsiPgotPCFFTlRJVFkgdHJpc2IgIiYjeDI5Q0Q7Ij4KLTwhRU5U
SVRZIHJ0cmlsdHJpICImI3gyOUNFOyI+Ci08IUVOVElUWSBMZWZ0VHJpYW5nbGVCYXIgIiYjeDI5
Q0Y7Ij4KLTwhRU5USVRZIE5vdExlZnRUcmlhbmdsZUJhciAiJiN4MjlDRjsmI3gzMzg7Ij4KLTwh
RU5USVRZIFJpZ2h0VHJpYW5nbGVCYXIgIiYjeDI5RDA7Ij4KLTwhRU5USVRZIE5vdFJpZ2h0VHJp
YW5nbGVCYXIgIiYjeDI5RDA7JiN4MzM4OyI+Ci08IUVOVElUWSBpaW5maW4gIiYjeDI5REM7Ij4K
LTwhRU5USVRZIGluZmludGllICImI3gyOUREOyI+Ci08IUVOVElUWSBudmluZmluICImI3gyOURF
OyI+Ci08IUVOVElUWSBlcGFyc2wgIiYjeDI5RTM7Ij4KLTwhRU5USVRZIHNtZXBhcnNsICImI3gy
OUU0OyI+Ci08IUVOVElUWSBlcXZwYXJzbCAiJiN4MjlFNTsiPgotPCFFTlRJVFkgbG96ZiAiJiN4
MjlFQjsiPgotPCFFTlRJVFkgYmxhY2tsb3plbmdlICImI3gyOUVCOyI+Ci08IUVOVElUWSBSdWxl
RGVsYXllZCAiJiN4MjlGNDsiPgotPCFFTlRJVFkgZHNvbCAiJiN4MjlGNjsiPgotPCFFTlRJVFkg
eG9kb3QgIiYjeDJBMDA7Ij4KLTwhRU5USVRZIGJpZ29kb3QgIiYjeDJBMDA7Ij4KLTwhRU5USVRZ
IHhvcGx1cyAiJiN4MkEwMTsiPgotPCFFTlRJVFkgYmlnb3BsdXMgIiYjeDJBMDE7Ij4KLTwhRU5U
SVRZIHhvdGltZSAiJiN4MkEwMjsiPgotPCFFTlRJVFkgYmlnb3RpbWVzICImI3gyQTAyOyI+Ci08
IUVOVElUWSB4dXBsdXMgIiYjeDJBMDQ7Ij4KLTwhRU5USVRZIGJpZ3VwbHVzICImI3gyQTA0OyI+
Ci08IUVOVElUWSB4c3FjdXAgIiYjeDJBMDY7Ij4KLTwhRU5USVRZIGJpZ3NxY3VwICImI3gyQTA2
OyI+Ci08IUVOVElUWSBxaW50ICImI3gyQTBDOyI+Ci08IUVOVElUWSBpaWlpbnQgIiYjeDJBMEM7
Ij4KLTwhRU5USVRZIGZwYXJ0aW50ICImI3gyQTBEOyI+Ci08IUVOVElUWSBjaXJmbmludCAiJiN4
MkExMDsiPgotPCFFTlRJVFkgYXdpbnQgIiYjeDJBMTE7Ij4KLTwhRU5USVRZIHJwcG9saW50ICIm
I3gyQTEyOyI+Ci08IUVOVElUWSBzY3BvbGludCAiJiN4MkExMzsiPgotPCFFTlRJVFkgbnBvbGlu
dCAiJiN4MkExNDsiPgotPCFFTlRJVFkgcG9pbnRpbnQgIiYjeDJBMTU7Ij4KLTwhRU5USVRZIHF1
YXRpbnQgIiYjeDJBMTY7Ij4KLTwhRU5USVRZIGludGxhcmhrICImI3gyQTE3OyI+Ci08IUVOVElU
WSBwbHVzY2lyICImI3gyQTIyOyI+Ci08IUVOVElUWSBwbHVzYWNpciAiJiN4MkEyMzsiPgotPCFF
TlRJVFkgc2ltcGx1cyAiJiN4MkEyNDsiPgotPCFFTlRJVFkgcGx1c2R1ICImI3gyQTI1OyI+Ci08
IUVOVElUWSBwbHVzc2ltICImI3gyQTI2OyI+Ci08IUVOVElUWSBwbHVzdHdvICImI3gyQTI3OyI+
Ci08IUVOVElUWSBtY29tbWEgIiYjeDJBMjk7Ij4KLTwhRU5USVRZIG1pbnVzZHUgIiYjeDJBMkE7
Ij4KLTwhRU5USVRZIGxvcGx1cyAiJiN4MkEyRDsiPgotPCFFTlRJVFkgcm9wbHVzICImI3gyQTJF
OyI+Ci08IUVOVElUWSBDcm9zcyAiJiN4MkEyRjsiPgotPCFFTlRJVFkgdGltZXNkICImI3gyQTMw
OyI+Ci08IUVOVElUWSB0aW1lc2JhciAiJiN4MkEzMTsiPgotPCFFTlRJVFkgc21hc2hwICImI3gy
QTMzOyI+Ci08IUVOVElUWSBsb3RpbWVzICImI3gyQTM0OyI+Ci08IUVOVElUWSByb3RpbWVzICIm
I3gyQTM1OyI+Ci08IUVOVElUWSBvdGltZXNhcyAiJiN4MkEzNjsiPgotPCFFTlRJVFkgT3RpbWVz
ICImI3gyQTM3OyI+Ci08IUVOVElUWSBvZGl2ICImI3gyQTM4OyI+Ci08IUVOVElUWSB0cmlwbHVz
ICImI3gyQTM5OyI+Ci08IUVOVElUWSB0cmltaW51cyAiJiN4MkEzQTsiPgotPCFFTlRJVFkgdHJp
dGltZSAiJiN4MkEzQjsiPgotPCFFTlRJVFkgaXByb2QgIiYjeDJBM0M7Ij4KLTwhRU5USVRZIGlu
dHByb2QgIiYjeDJBM0M7Ij4KLTwhRU5USVRZIGFtYWxnICImI3gyQTNGOyI+Ci08IUVOVElUWSBj
YXBkb3QgIiYjeDJBNDA7Ij4KLTwhRU5USVRZIG5jdXAgIiYjeDJBNDI7Ij4KLTwhRU5USVRZIG5j
YXAgIiYjeDJBNDM7Ij4KLTwhRU5USVRZIGNhcGFuZCAiJiN4MkE0NDsiPgotPCFFTlRJVFkgY3Vw
b3IgIiYjeDJBNDU7Ij4KLTwhRU5USVRZIGN1cGNhcCAiJiN4MkE0NjsiPgotPCFFTlRJVFkgY2Fw
Y3VwICImI3gyQTQ3OyI+Ci08IUVOVElUWSBjdXBicmNhcCAiJiN4MkE0ODsiPgotPCFFTlRJVFkg
Y2FwYnJjdXAgIiYjeDJBNDk7Ij4KLTwhRU5USVRZIGN1cGN1cCAiJiN4MkE0QTsiPgotPCFFTlRJ
VFkgY2FwY2FwICImI3gyQTRCOyI+Ci08IUVOVElUWSBjY3VwcyAiJiN4MkE0QzsiPgotPCFFTlRJ
VFkgY2NhcHMgIiYjeDJBNEQ7Ij4KLTwhRU5USVRZIGNjdXBzc20gIiYjeDJBNTA7Ij4KLTwhRU5U
SVRZIEFuZCAiJiN4MkE1MzsiPgotPCFFTlRJVFkgT3IgIiYjeDJBNTQ7Ij4KLTwhRU5USVRZIGFu
ZGFuZCAiJiN4MkE1NTsiPgotPCFFTlRJVFkgb3JvciAiJiN4MkE1NjsiPgotPCFFTlRJVFkgb3Jz
bG9wZSAiJiN4MkE1NzsiPgotPCFFTlRJVFkgYW5kc2xvcGUgIiYjeDJBNTg7Ij4KLTwhRU5USVRZ
IGFuZHYgIiYjeDJBNUE7Ij4KLTwhRU5USVRZIG9ydiAiJiN4MkE1QjsiPgotPCFFTlRJVFkgYW5k
ZCAiJiN4MkE1QzsiPgotPCFFTlRJVFkgb3JkICImI3gyQTVEOyI+Ci08IUVOVElUWSB3ZWRiYXIg
IiYjeDJBNUY7Ij4KLTwhRU5USVRZIHNkb3RlICImI3gyQTY2OyI+Ci08IUVOVElUWSBzaW1kb3Qg
IiYjeDJBNkE7Ij4KLTwhRU5USVRZIGNvbmdkb3QgIiYjeDJBNkQ7Ij4KLTwhRU5USVRZIG5jb25n
ZG90ICImI3gyQTZEOyYjeDMzODsiPgotPCFFTlRJVFkgZWFzdGVyICImI3gyQTZFOyI+Ci08IUVO
VElUWSBhcGFjaXIgIiYjeDJBNkY7Ij4KLTwhRU5USVRZIGFwRSAiJiN4MkE3MDsiPgotPCFFTlRJ
VFkgbmFwRSAiJiN4MkE3MDsmI3gzMzg7Ij4KLTwhRU5USVRZIGVwbHVzICImI3gyQTcxOyI+Ci08
IUVOVElUWSBwbHVzZSAiJiN4MkE3MjsiPgotPCFFTlRJVFkgRXNpbSAiJiN4MkE3MzsiPgotPCFF
TlRJVFkgQ29sb25lICImI3gyQTc0OyI+Ci08IUVOVElUWSBFcXVhbCAiJiN4MkE3NTsiPgotPCFF
TlRJVFkgZUREb3QgIiYjeDJBNzc7Ij4KLTwhRU5USVRZIGRkb3RzZXEgIiYjeDJBNzc7Ij4KLTwh
RU5USVRZIGVxdWl2REQgIiYjeDJBNzg7Ij4KLTwhRU5USVRZIGx0Y2lyICImI3gyQTc5OyI+Ci08
IUVOVElUWSBndGNpciAiJiN4MkE3QTsiPgotPCFFTlRJVFkgbHRxdWVzdCAiJiN4MkE3QjsiPgot
PCFFTlRJVFkgZ3RxdWVzdCAiJiN4MkE3QzsiPgotPCFFTlRJVFkgbGVzICImI3gyQTdEOyI+Ci08
IUVOVElUWSBMZXNzU2xhbnRFcXVhbCAiJiN4MkE3RDsiPgotPCFFTlRJVFkgbGVxc2xhbnQgIiYj
eDJBN0Q7Ij4KLTwhRU5USVRZIG5sZXMgIiYjeDJBN0Q7JiN4MzM4OyI+Ci08IUVOVElUWSBOb3RM
ZXNzU2xhbnRFcXVhbCAiJiN4MkE3RDsmI3gzMzg7Ij4KLTwhRU5USVRZIG5sZXFzbGFudCAiJiN4
MkE3RDsmI3gzMzg7Ij4KLTwhRU5USVRZIGdlcyAiJiN4MkE3RTsiPgotPCFFTlRJVFkgR3JlYXRl
clNsYW50RXF1YWwgIiYjeDJBN0U7Ij4KLTwhRU5USVRZIGdlcXNsYW50ICImI3gyQTdFOyI+Ci08
IUVOVElUWSBuZ2VzICImI3gyQTdFOyYjeDMzODsiPgotPCFFTlRJVFkgTm90R3JlYXRlclNsYW50
RXF1YWwgIiYjeDJBN0U7JiN4MzM4OyI+Ci08IUVOVElUWSBuZ2Vxc2xhbnQgIiYjeDJBN0U7JiN4
MzM4OyI+Ci08IUVOVElUWSBsZXNkb3QgIiYjeDJBN0Y7Ij4KLTwhRU5USVRZIGdlc2RvdCAiJiN4
MkE4MDsiPgotPCFFTlRJVFkgbGVzZG90byAiJiN4MkE4MTsiPgotPCFFTlRJVFkgZ2VzZG90byAi
JiN4MkE4MjsiPgotPCFFTlRJVFkgbGVzZG90b3IgIiYjeDJBODM7Ij4KLTwhRU5USVRZIGdlc2Rv
dG9sICImI3gyQTg0OyI+Ci08IUVOVElUWSBsYXAgIiYjeDJBODU7Ij4KLTwhRU5USVRZIGxlc3Nh
cHByb3ggIiYjeDJBODU7Ij4KLTwhRU5USVRZIGdhcCAiJiN4MkE4NjsiPgotPCFFTlRJVFkgZ3Ry
YXBwcm94ICImI3gyQTg2OyI+Ci08IUVOVElUWSBsbmUgIiYjeDJBODc7Ij4KLTwhRU5USVRZIGxu
ZXEgIiYjeDJBODc7Ij4KLTwhRU5USVRZIGduZSAiJiN4MkE4ODsiPgotPCFFTlRJVFkgZ25lcSAi
JiN4MkE4ODsiPgotPCFFTlRJVFkgbG5hcCAiJiN4MkE4OTsiPgotPCFFTlRJVFkgbG5hcHByb3gg
IiYjeDJBODk7Ij4KLTwhRU5USVRZIGduYXAgIiYjeDJBOEE7Ij4KLTwhRU5USVRZIGduYXBwcm94
ICImI3gyQThBOyI+Ci08IUVOVElUWSBsRWcgIiYjeDJBOEI7Ij4KLTwhRU5USVRZIGxlc3NlcXFn
dHIgIiYjeDJBOEI7Ij4KLTwhRU5USVRZIGdFbCAiJiN4MkE4QzsiPgotPCFFTlRJVFkgZ3RyZXFx
bGVzcyAiJiN4MkE4QzsiPgotPCFFTlRJVFkgbHNpbWUgIiYjeDJBOEQ7Ij4KLTwhRU5USVRZIGdz
aW1lICImI3gyQThFOyI+Ci08IUVOVElUWSBsc2ltZyAiJiN4MkE4RjsiPgotPCFFTlRJVFkgZ3Np
bWwgIiYjeDJBOTA7Ij4KLTwhRU5USVRZIGxnRSAiJiN4MkE5MTsiPgotPCFFTlRJVFkgZ2xFICIm
I3gyQTkyOyI+Ci08IUVOVElUWSBsZXNnZXMgIiYjeDJBOTM7Ij4KLTwhRU5USVRZIGdlc2xlcyAi
JiN4MkE5NDsiPgotPCFFTlRJVFkgZWxzICImI3gyQTk1OyI+Ci08IUVOVElUWSBlcXNsYW50bGVz
cyAiJiN4MkE5NTsiPgotPCFFTlRJVFkgZWdzICImI3gyQTk2OyI+Ci08IUVOVElUWSBlcXNsYW50
Z3RyICImI3gyQTk2OyI+Ci08IUVOVElUWSBlbHNkb3QgIiYjeDJBOTc7Ij4KLTwhRU5USVRZIGVn
c2RvdCAiJiN4MkE5ODsiPgotPCFFTlRJVFkgZWwgIiYjeDJBOTk7Ij4KLTwhRU5USVRZIGVnICIm
I3gyQTlBOyI+Ci08IUVOVElUWSBzaW1sICImI3gyQTlEOyI+Ci08IUVOVElUWSBzaW1nICImI3gy
QTlFOyI+Ci08IUVOVElUWSBzaW1sRSAiJiN4MkE5RjsiPgotPCFFTlRJVFkgc2ltZ0UgIiYjeDJB
QTA7Ij4KLTwhRU5USVRZIExlc3NMZXNzICImI3gyQUExOyI+Ci08IUVOVElUWSBOb3ROZXN0ZWRM
ZXNzTGVzcyAiJiN4MkFBMTsmI3gzMzg7Ij4KLTwhRU5USVRZIEdyZWF0ZXJHcmVhdGVyICImI3gy
QUEyOyI+Ci08IUVOVElUWSBOb3ROZXN0ZWRHcmVhdGVyR3JlYXRlciAiJiN4MkFBMjsmI3gzMzg7
Ij4KLTwhRU5USVRZIGdsaiAiJiN4MkFBNDsiPgotPCFFTlRJVFkgZ2xhICImI3gyQUE1OyI+Ci08
IUVOVElUWSBsdGNjICImI3gyQUE2OyI+Ci08IUVOVElUWSBndGNjICImI3gyQUE3OyI+Ci08IUVO
VElUWSBsZXNjYyAiJiN4MkFBODsiPgotPCFFTlRJVFkgZ2VzY2MgIiYjeDJBQTk7Ij4KLTwhRU5U
SVRZIHNtdCAiJiN4MkFBQTsiPgotPCFFTlRJVFkgbGF0ICImI3gyQUFCOyI+Ci08IUVOVElUWSBz
bXRlICImI3gyQUFDOyI+Ci08IUVOVElUWSBzbXRlcyAiJiN4MkFBQzsmI3hGRTAwOyI+Ci08IUVO
VElUWSBsYXRlICImI3gyQUFEOyI+Ci08IUVOVElUWSBsYXRlcyAiJiN4MkFBRDsmI3hGRTAwOyI+
Ci08IUVOVElUWSBidW1wRSAiJiN4MkFBRTsiPgotPCFFTlRJVFkgcHJlICImI3gyQUFGOyI+Ci08
IUVOVElUWSBwcmVjZXEgIiYjeDJBQUY7Ij4KLTwhRU5USVRZIFByZWNlZGVzRXF1YWwgIiYjeDJB
QUY7Ij4KLTwhRU5USVRZIG5wcmUgIiYjeDJBQUY7JiN4MzM4OyI+Ci08IUVOVElUWSBucHJlY2Vx
ICImI3gyQUFGOyYjeDMzODsiPgotPCFFTlRJVFkgTm90UHJlY2VkZXNFcXVhbCAiJiN4MkFBRjsm
I3gzMzg7Ij4KLTwhRU5USVRZIHNjZSAiJiN4MkFCMDsiPgotPCFFTlRJVFkgc3VjY2VxICImI3gy
QUIwOyI+Ci08IUVOVElUWSBTdWNjZWVkc0VxdWFsICImI3gyQUIwOyI+Ci08IUVOVElUWSBuc2Nl
ICImI3gyQUIwOyYjeDMzODsiPgotPCFFTlRJVFkgbnN1Y2NlcSAiJiN4MkFCMDsmI3gzMzg7Ij4K
LTwhRU5USVRZIE5vdFN1Y2NlZWRzRXF1YWwgIiYjeDJBQjA7JiN4MzM4OyI+Ci08IUVOVElUWSBw
ckUgIiYjeDJBQjM7Ij4KLTwhRU5USVRZIHNjRSAiJiN4MkFCNDsiPgotPCFFTlRJVFkgcHJuRSAi
JiN4MkFCNTsiPgotPCFFTlRJVFkgcHJlY25lcXEgIiYjeDJBQjU7Ij4KLTwhRU5USVRZIHNjbkUg
IiYjeDJBQjY7Ij4KLTwhRU5USVRZIHN1Y2NuZXFxICImI3gyQUI2OyI+Ci08IUVOVElUWSBwcmFw
ICImI3gyQUI3OyI+Ci08IUVOVElUWSBwcmVjYXBwcm94ICImI3gyQUI3OyI+Ci08IUVOVElUWSBz
Y2FwICImI3gyQUI4OyI+Ci08IUVOVElUWSBzdWNjYXBwcm94ICImI3gyQUI4OyI+Ci08IUVOVElU
WSBwcm5hcCAiJiN4MkFCOTsiPgotPCFFTlRJVFkgcHJlY25hcHByb3ggIiYjeDJBQjk7Ij4KLTwh
RU5USVRZIHNjbmFwICImI3gyQUJBOyI+Ci08IUVOVElUWSBzdWNjbmFwcHJveCAiJiN4MkFCQTsi
PgotPCFFTlRJVFkgUHIgIiYjeDJBQkI7Ij4KLTwhRU5USVRZIFNjICImI3gyQUJDOyI+Ci08IUVO
VElUWSBzdWJkb3QgIiYjeDJBQkQ7Ij4KLTwhRU5USVRZIHN1cGRvdCAiJiN4MkFCRTsiPgotPCFF
TlRJVFkgc3VicGx1cyAiJiN4MkFCRjsiPgotPCFFTlRJVFkgc3VwcGx1cyAiJiN4MkFDMDsiPgot
PCFFTlRJVFkgc3VibXVsdCAiJiN4MkFDMTsiPgotPCFFTlRJVFkgc3VwbXVsdCAiJiN4MkFDMjsi
PgotPCFFTlRJVFkgc3ViZWRvdCAiJiN4MkFDMzsiPgotPCFFTlRJVFkgc3VwZWRvdCAiJiN4MkFD
NDsiPgotPCFFTlRJVFkgc3ViRSAiJiN4MkFDNTsiPgotPCFFTlRJVFkgc3Vic2V0ZXFxICImI3gy
QUM1OyI+Ci08IUVOVElUWSBuc3ViRSAiJiN4MkFDNTsmI3gzMzg7Ij4KLTwhRU5USVRZIG5zdWJz
ZXRlcXEgIiYjeDJBQzU7JiN4MzM4OyI+Ci08IUVOVElUWSBzdXBFICImI3gyQUM2OyI+Ci08IUVO
VElUWSBzdXBzZXRlcXEgIiYjeDJBQzY7Ij4KLTwhRU5USVRZIG5zdXBFICImI3gyQUM2OyYjeDMz
ODsiPgotPCFFTlRJVFkgbnN1cHNldGVxcSAiJiN4MkFDNjsmI3gzMzg7Ij4KLTwhRU5USVRZIHN1
YnNpbSAiJiN4MkFDNzsiPgotPCFFTlRJVFkgc3Vwc2ltICImI3gyQUM4OyI+Ci08IUVOVElUWSBz
dWJuRSAiJiN4MkFDQjsiPgotPCFFTlRJVFkgc3Vic2V0bmVxcSAiJiN4MkFDQjsiPgotPCFFTlRJ
VFkgdnN1Ym5FICImI3gyQUNCOyYjeEZFMDA7Ij4KLTwhRU5USVRZIHZhcnN1YnNldG5lcXEgIiYj
eDJBQ0I7JiN4RkUwMDsiPgotPCFFTlRJVFkgc3VwbkUgIiYjeDJBQ0M7Ij4KLTwhRU5USVRZIHN1
cHNldG5lcXEgIiYjeDJBQ0M7Ij4KLTwhRU5USVRZIHZzdXBuRSAiJiN4MkFDQzsmI3hGRTAwOyI+
Ci08IUVOVElUWSB2YXJzdXBzZXRuZXFxICImI3gyQUNDOyYjeEZFMDA7Ij4KLTwhRU5USVRZIGNz
dWIgIiYjeDJBQ0Y7Ij4KLTwhRU5USVRZIGNzdXAgIiYjeDJBRDA7Ij4KLTwhRU5USVRZIGNzdWJl
ICImI3gyQUQxOyI+Ci08IUVOVElUWSBjc3VwZSAiJiN4MkFEMjsiPgotPCFFTlRJVFkgc3Vic3Vw
ICImI3gyQUQzOyI+Ci08IUVOVElUWSBzdXBzdWIgIiYjeDJBRDQ7Ij4KLTwhRU5USVRZIHN1YnN1
YiAiJiN4MkFENTsiPgotPCFFTlRJVFkgc3Vwc3VwICImI3gyQUQ2OyI+Ci08IUVOVElUWSBzdXBo
c3ViICImI3gyQUQ3OyI+Ci08IUVOVElUWSBzdXBkc3ViICImI3gyQUQ4OyI+Ci08IUVOVElUWSBm
b3JrdiAiJiN4MkFEOTsiPgotPCFFTlRJVFkgdG9wZm9yayAiJiN4MkFEQTsiPgotPCFFTlRJVFkg
bWxjcCAiJiN4MkFEQjsiPgotPCFFTlRJVFkgRGFzaHYgIiYjeDJBRTQ7Ij4KLTwhRU5USVRZIERv
dWJsZUxlZnRUZWUgIiYjeDJBRTQ7Ij4KLTwhRU5USVRZIFZkYXNobCAiJiN4MkFFNjsiPgotPCFF
TlRJVFkgQmFydiAiJiN4MkFFNzsiPgotPCFFTlRJVFkgdkJhciAiJiN4MkFFODsiPgotPCFFTlRJ
VFkgdkJhcnYgIiYjeDJBRTk7Ij4KLTwhRU5USVRZIFZiYXIgIiYjeDJBRUI7Ij4KLTwhRU5USVRZ
IE5vdCAiJiN4MkFFQzsiPgotPCFFTlRJVFkgYk5vdCAiJiN4MkFFRDsiPgotPCFFTlRJVFkgcm5t
aWQgIiYjeDJBRUU7Ij4KLTwhRU5USVRZIGNpcm1pZCAiJiN4MkFFRjsiPgotPCFFTlRJVFkgbWlk
Y2lyICImI3gyQUYwOyI+Ci08IUVOVElUWSB0b3BjaXIgIiYjeDJBRjE7Ij4KLTwhRU5USVRZIG5o
cGFyICImI3gyQUYyOyI+Ci08IUVOVElUWSBwYXJzaW0gIiYjeDJBRjM7Ij4KLTwhRU5USVRZIHBh
cnNsICImI3gyQUZEOyI+Ci08IUVOVElUWSBucGFyc2wgIiYjeDJBRkQ7JiN4MjBFNTsiPgotPCFF
TlRJVFkgZmZsaWcgIiYjeEZCMDA7Ij4KLTwhRU5USVRZIGZpbGlnICImI3hGQjAxOyI+Ci08IUVO
VElUWSBmbGxpZyAiJiN4RkIwMjsiPgotPCFFTlRJVFkgZmZpbGlnICImI3hGQjAzOyI+Ci08IUVO
VElUWSBmZmxsaWcgIiYjeEZCMDQ7Ij4KLTwhRU5USVRZIEFzY3IgIiYjeDFENDlDOyI+Ci08IUVO
VElUWSBDc2NyICImI3gxRDQ5RTsiPgotPCFFTlRJVFkgRHNjciAiJiN4MUQ0OUY7Ij4KLTwhRU5U
SVRZIEdzY3IgIiYjeDFENEEyOyI+Ci08IUVOVElUWSBKc2NyICImI3gxRDRBNTsiPgotPCFFTlRJ
VFkgS3NjciAiJiN4MUQ0QTY7Ij4KLTwhRU5USVRZIE5zY3IgIiYjeDFENEE5OyI+Ci08IUVOVElU
WSBPc2NyICImI3gxRDRBQTsiPgotPCFFTlRJVFkgUHNjciAiJiN4MUQ0QUI7Ij4KLTwhRU5USVRZ
IFFzY3IgIiYjeDFENEFDOyI+Ci08IUVOVElUWSBTc2NyICImI3gxRDRBRTsiPgotPCFFTlRJVFkg
VHNjciAiJiN4MUQ0QUY7Ij4KLTwhRU5USVRZIFVzY3IgIiYjeDFENEIwOyI+Ci08IUVOVElUWSBW
c2NyICImI3gxRDRCMTsiPgotPCFFTlRJVFkgV3NjciAiJiN4MUQ0QjI7Ij4KLTwhRU5USVRZIFhz
Y3IgIiYjeDFENEIzOyI+Ci08IUVOVElUWSBZc2NyICImI3gxRDRCNDsiPgotPCFFTlRJVFkgWnNj
ciAiJiN4MUQ0QjU7Ij4KLTwhRU5USVRZIGFzY3IgIiYjeDFENEI2OyI+Ci08IUVOVElUWSBic2Ny
ICImI3gxRDRCNzsiPgotPCFFTlRJVFkgY3NjciAiJiN4MUQ0Qjg7Ij4KLTwhRU5USVRZIGRzY3Ig
IiYjeDFENEI5OyI+Ci08IUVOVElUWSBmc2NyICImI3gxRDRCQjsiPgotPCFFTlRJVFkgaHNjciAi
JiN4MUQ0QkQ7Ij4KLTwhRU5USVRZIGlzY3IgIiYjeDFENEJFOyI+Ci08IUVOVElUWSBqc2NyICIm
I3gxRDRCRjsiPgotPCFFTlRJVFkga3NjciAiJiN4MUQ0QzA7Ij4KLTwhRU5USVRZIGxzY3IgIiYj
eDFENEMxOyI+Ci08IUVOVElUWSBtc2NyICImI3gxRDRDMjsiPgotPCFFTlRJVFkgbnNjciAiJiN4
MUQ0QzM7Ij4KLTwhRU5USVRZIHBzY3IgIiYjeDFENEM1OyI+Ci08IUVOVElUWSBxc2NyICImI3gx
RDRDNjsiPgotPCFFTlRJVFkgcnNjciAiJiN4MUQ0Qzc7Ij4KLTwhRU5USVRZIHNzY3IgIiYjeDFE
NEM4OyI+Ci08IUVOVElUWSB0c2NyICImI3gxRDRDOTsiPgotPCFFTlRJVFkgdXNjciAiJiN4MUQ0
Q0E7Ij4KLTwhRU5USVRZIHZzY3IgIiYjeDFENENCOyI+Ci08IUVOVElUWSB3c2NyICImI3gxRDRD
QzsiPgotPCFFTlRJVFkgeHNjciAiJiN4MUQ0Q0Q7Ij4KLTwhRU5USVRZIHlzY3IgIiYjeDFENENF
OyI+Ci08IUVOVElUWSB6c2NyICImI3gxRDRDRjsiPgotPCFFTlRJVFkgQWZyICImI3gxRDUwNDsi
PgotPCFFTlRJVFkgQmZyICImI3gxRDUwNTsiPgotPCFFTlRJVFkgRGZyICImI3gxRDUwNzsiPgot
PCFFTlRJVFkgRWZyICImI3gxRDUwODsiPgotPCFFTlRJVFkgRmZyICImI3gxRDUwOTsiPgotPCFF
TlRJVFkgR2ZyICImI3gxRDUwQTsiPgotPCFFTlRJVFkgSmZyICImI3gxRDUwRDsiPgotPCFFTlRJ
VFkgS2ZyICImI3gxRDUwRTsiPgotPCFFTlRJVFkgTGZyICImI3gxRDUwRjsiPgotPCFFTlRJVFkg
TWZyICImI3gxRDUxMDsiPgotPCFFTlRJVFkgTmZyICImI3gxRDUxMTsiPgotPCFFTlRJVFkgT2Zy
ICImI3gxRDUxMjsiPgotPCFFTlRJVFkgUGZyICImI3gxRDUxMzsiPgotPCFFTlRJVFkgUWZyICIm
I3gxRDUxNDsiPgotPCFFTlRJVFkgU2ZyICImI3gxRDUxNjsiPgotPCFFTlRJVFkgVGZyICImI3gx
RDUxNzsiPgotPCFFTlRJVFkgVWZyICImI3gxRDUxODsiPgotPCFFTlRJVFkgVmZyICImI3gxRDUx
OTsiPgotPCFFTlRJVFkgV2ZyICImI3gxRDUxQTsiPgotPCFFTlRJVFkgWGZyICImI3gxRDUxQjsi
PgotPCFFTlRJVFkgWWZyICImI3gxRDUxQzsiPgotPCFFTlRJVFkgYWZyICImI3gxRDUxRTsiPgot
PCFFTlRJVFkgYmZyICImI3gxRDUxRjsiPgotPCFFTlRJVFkgY2ZyICImI3gxRDUyMDsiPgotPCFF
TlRJVFkgZGZyICImI3gxRDUyMTsiPgotPCFFTlRJVFkgZWZyICImI3gxRDUyMjsiPgotPCFFTlRJ
VFkgZmZyICImI3gxRDUyMzsiPgotPCFFTlRJVFkgZ2ZyICImI3gxRDUyNDsiPgotPCFFTlRJVFkg
aGZyICImI3gxRDUyNTsiPgotPCFFTlRJVFkgaWZyICImI3gxRDUyNjsiPgotPCFFTlRJVFkgamZy
ICImI3gxRDUyNzsiPgotPCFFTlRJVFkga2ZyICImI3gxRDUyODsiPgotPCFFTlRJVFkgbGZyICIm
I3gxRDUyOTsiPgotPCFFTlRJVFkgbWZyICImI3gxRDUyQTsiPgotPCFFTlRJVFkgbmZyICImI3gx
RDUyQjsiPgotPCFFTlRJVFkgb2ZyICImI3gxRDUyQzsiPgotPCFFTlRJVFkgcGZyICImI3gxRDUy
RDsiPgotPCFFTlRJVFkgcWZyICImI3gxRDUyRTsiPgotPCFFTlRJVFkgcmZyICImI3gxRDUyRjsi
PgotPCFFTlRJVFkgc2ZyICImI3gxRDUzMDsiPgotPCFFTlRJVFkgdGZyICImI3gxRDUzMTsiPgot
PCFFTlRJVFkgdWZyICImI3gxRDUzMjsiPgotPCFFTlRJVFkgdmZyICImI3gxRDUzMzsiPgotPCFF
TlRJVFkgd2ZyICImI3gxRDUzNDsiPgotPCFFTlRJVFkgeGZyICImI3gxRDUzNTsiPgotPCFFTlRJ
VFkgeWZyICImI3gxRDUzNjsiPgotPCFFTlRJVFkgemZyICImI3gxRDUzNzsiPgotPCFFTlRJVFkg
QW9wZiAiJiN4MUQ1Mzg7Ij4KLTwhRU5USVRZIEJvcGYgIiYjeDFENTM5OyI+Ci08IUVOVElUWSBE
b3BmICImI3gxRDUzQjsiPgotPCFFTlRJVFkgRW9wZiAiJiN4MUQ1M0M7Ij4KLTwhRU5USVRZIEZv
cGYgIiYjeDFENTNEOyI+Ci08IUVOVElUWSBHb3BmICImI3gxRDUzRTsiPgotPCFFTlRJVFkgSW9w
ZiAiJiN4MUQ1NDA7Ij4KLTwhRU5USVRZIEpvcGYgIiYjeDFENTQxOyI+Ci08IUVOVElUWSBLb3Bm
ICImI3gxRDU0MjsiPgotPCFFTlRJVFkgTG9wZiAiJiN4MUQ1NDM7Ij4KLTwhRU5USVRZIE1vcGYg
IiYjeDFENTQ0OyI+Ci08IUVOVElUWSBPb3BmICImI3gxRDU0NjsiPgotPCFFTlRJVFkgU29wZiAi
JiN4MUQ1NEE7Ij4KLTwhRU5USVRZIFRvcGYgIiYjeDFENTRCOyI+Ci08IUVOVElUWSBVb3BmICIm
I3gxRDU0QzsiPgotPCFFTlRJVFkgVm9wZiAiJiN4MUQ1NEQ7Ij4KLTwhRU5USVRZIFdvcGYgIiYj
eDFENTRFOyI+Ci08IUVOVElUWSBYb3BmICImI3gxRDU0RjsiPgotPCFFTlRJVFkgWW9wZiAiJiN4
MUQ1NTA7Ij4KLTwhRU5USVRZIGFvcGYgIiYjeDFENTUyOyI+Ci08IUVOVElUWSBib3BmICImI3gx
RDU1MzsiPgotPCFFTlRJVFkgY29wZiAiJiN4MUQ1NTQ7Ij4KLTwhRU5USVRZIGRvcGYgIiYjeDFE
NTU1OyI+Ci08IUVOVElUWSBlb3BmICImI3gxRDU1NjsiPgotPCFFTlRJVFkgZm9wZiAiJiN4MUQ1
NTc7Ij4KLTwhRU5USVRZIGdvcGYgIiYjeDFENTU4OyI+Ci08IUVOVElUWSBob3BmICImI3gxRDU1
OTsiPgotPCFFTlRJVFkgaW9wZiAiJiN4MUQ1NUE7Ij4KLTwhRU5USVRZIGpvcGYgIiYjeDFENTVC
OyI+Ci08IUVOVElUWSBrb3BmICImI3gxRDU1QzsiPgotPCFFTlRJVFkgbG9wZiAiJiN4MUQ1NUQ7
Ij4KLTwhRU5USVRZIG1vcGYgIiYjeDFENTVFOyI+Ci08IUVOVElUWSBub3BmICImI3gxRDU1Rjsi
PgotPCFFTlRJVFkgb29wZiAiJiN4MUQ1NjA7Ij4KLTwhRU5USVRZIHBvcGYgIiYjeDFENTYxOyI+
Ci08IUVOVElUWSBxb3BmICImI3gxRDU2MjsiPgotPCFFTlRJVFkgcm9wZiAiJiN4MUQ1NjM7Ij4K
LTwhRU5USVRZIHNvcGYgIiYjeDFENTY0OyI+Ci08IUVOVElUWSB0b3BmICImI3gxRDU2NTsiPgot
PCFFTlRJVFkgdW9wZiAiJiN4MUQ1NjY7Ij4KLTwhRU5USVRZIHZvcGYgIiYjeDFENTY3OyI+Ci08
IUVOVElUWSB3b3BmICImI3gxRDU2ODsiPgotPCFFTlRJVFkgeG9wZiAiJiN4MUQ1Njk7Ij4KLTwh
RU5USVRZIHlvcGYgIiYjeDFENTZBOyI+Ci08IUVOVElUWSB6b3BmICImI3gxRDU2QjsiPgorPCEt
LUVOVElUWSBUYWIgIiYjeDk7Ii0tPgorPCEtLUVOVElUWSBOZXdMaW5lICImI3hBOyItLT4KKzwh
LS1FTlRJVFkgZXhjbCAiJiN4MjE7Ii0tPgorPCEtLUVOVElUWSBxdW90ICImI3gyMjsiLS0+Cis8
IS0tRU5USVRZIFFVT1QgIiYjeDIyOyItLT4KKzwhLS1FTlRJVFkgbnVtICImI3gyMzsiLS0+Cis8
IS0tRU5USVRZIGRvbGxhciAiJiN4MjQ7Ii0tPgorPCEtLUVOVElUWSBwZXJjbnQgIiYjeDI1OyIt
LT4KKzwhLS1FTlRJVFkgYW1wICImI3gyNjsjeDI2OyItLT4KKzwhLS1FTlRJVFkgQU1QICImI3gy
NjsjeDI2OyItLT4KKzwhLS1FTlRJVFkgYXBvcyAiJiN4Mjc7Ii0tPgorPCEtLUVOVElUWSBscGFy
ICImI3gyODsiLS0+Cis8IS0tRU5USVRZIHJwYXIgIiYjeDI5OyItLT4KKzwhLS1FTlRJVFkgYXN0
ICImI3gyQTsiLS0+Cis8IS0tRU5USVRZIG1pZGFzdCAiJiN4MkE7Ii0tPgorPCEtLUVOVElUWSBw
bHVzICImI3gyQjsiLS0+Cis8IS0tRU5USVRZIGNvbW1hICImI3gyQzsiLS0+Cis8IS0tRU5USVRZ
IHBlcmlvZCAiJiN4MkU7Ii0tPgorPCEtLUVOVElUWSBzb2wgIiYjeDJGOyItLT4KKzwhLS1FTlRJ
VFkgY29sb24gIiYjeDNBOyItLT4KKzwhLS1FTlRJVFkgc2VtaSAiJiN4M0I7Ii0tPgorPCEtLUVO
VElUWSBsdCAiJiN4MjY7I3gzQzsiLS0+Cis8IS0tRU5USVRZIExUICImI3gyNjsjeDNDOyItLT4K
KzwhLS1FTlRJVFkgbnZsdCAiJiN4MjY7I3gzQzsmI3gyMEQyOyItLT4KKzwhLS1FTlRJVFkgZXF1
YWxzICImI3gzRDsiLS0+Cis8IS0tRU5USVRZIGJuZSAiJiN4M0Q7JiN4MjBFNTsiLS0+Cis8IS0t
RU5USVRZIGd0ICImI3gzRTsiLS0+Cis8IS0tRU5USVRZIEdUICImI3gzRTsiLS0+Cis8IS0tRU5U
SVRZIG52Z3QgIiYjeDNFOyYjeDIwRDI7Ii0tPgorPCEtLUVOVElUWSBxdWVzdCAiJiN4M0Y7Ii0t
PgorPCEtLUVOVElUWSBjb21tYXQgIiYjeDQwOyItLT4KKzwhLS1FTlRJVFkgbHNxYiAiJiN4NUI7
Ii0tPgorPCEtLUVOVElUWSBsYnJhY2sgIiYjeDVCOyItLT4KKzwhLS1FTlRJVFkgYnNvbCAiJiN4
NUM7Ii0tPgorPCEtLUVOVElUWSByc3FiICImI3g1RDsiLS0+Cis8IS0tRU5USVRZIHJicmFjayAi
JiN4NUQ7Ii0tPgorPCEtLUVOVElUWSBIYXQgIiYjeDVFOyItLT4KKzwhLS1FTlRJVFkgbG93YmFy
ICImI3g1RjsiLS0+Cis8IS0tRU5USVRZIFVuZGVyQmFyICImI3g1RjsiLS0+Cis8IS0tRU5USVRZ
IGdyYXZlICImI3g2MDsiLS0+Cis8IS0tRU5USVRZIERpYWNyaXRpY2FsR3JhdmUgIiYjeDYwOyIt
LT4KKzwhLS1FTlRJVFkgZmpsaWcgIiYjeDY2OyYjeDZBOyItLT4KKzwhLS1FTlRJVFkgbGN1YiAi
JiN4N0I7Ii0tPgorPCEtLUVOVElUWSBsYnJhY2UgIiYjeDdCOyItLT4KKzwhLS1FTlRJVFkgdmVy
YmFyICImI3g3QzsiLS0+Cis8IS0tRU5USVRZIHZlcnQgIiYjeDdDOyItLT4KKzwhLS1FTlRJVFkg
VmVydGljYWxMaW5lICImI3g3QzsiLS0+Cis8IS0tRU5USVRZIHJjdWIgIiYjeDdEOyItLT4KKzwh
LS1FTlRJVFkgcmJyYWNlICImI3g3RDsiLS0+Cis8IS0tRU5USVRZIG5ic3AgIiYjeEEwOyItLT4K
KzwhLS1FTlRJVFkgTm9uQnJlYWtpbmdTcGFjZSAiJiN4QTA7Ii0tPgorPCEtLUVOVElUWSBpZXhj
bCAiJiN4QTE7Ii0tPgorPCEtLUVOVElUWSBjZW50ICImI3hBMjsiLS0+Cis8IS0tRU5USVRZIHBv
dW5kICImI3hBMzsiLS0+Cis8IS0tRU5USVRZIGN1cnJlbiAiJiN4QTQ7Ii0tPgorPCEtLUVOVElU
WSB5ZW4gIiYjeEE1OyItLT4KKzwhLS1FTlRJVFkgYnJ2YmFyICImI3hBNjsiLS0+Cis8IS0tRU5U
SVRZIHNlY3QgIiYjeEE3OyItLT4KKzwhLS1FTlRJVFkgRG90ICImI3hBODsiLS0+Cis8IS0tRU5U
SVRZIGRpZSAiJiN4QTg7Ii0tPgorPCEtLUVOVElUWSBEb3VibGVEb3QgIiYjeEE4OyItLT4KKzwh
LS1FTlRJVFkgdW1sICImI3hBODsiLS0+Cis8IS0tRU5USVRZIGNvcHkgIiYjeEE5OyItLT4KKzwh
LS1FTlRJVFkgQ09QWSAiJiN4QTk7Ii0tPgorPCEtLUVOVElUWSBvcmRmICImI3hBQTsiLS0+Cis8
IS0tRU5USVRZIGxhcXVvICImI3hBQjsiLS0+Cis8IS0tRU5USVRZIG5vdCAiJiN4QUM7Ii0tPgor
PCEtLUVOVElUWSBzaHkgIiYjeEFEOyItLT4KKzwhLS1FTlRJVFkgcmVnICImI3hBRTsiLS0+Cis8
IS0tRU5USVRZIGNpcmNsZWRSICImI3hBRTsiLS0+Cis8IS0tRU5USVRZIFJFRyAiJiN4QUU7Ii0t
PgorPCEtLUVOVElUWSBtYWNyICImI3hBRjsiLS0+Cis8IS0tRU5USVRZIHN0cm5zICImI3hBRjsi
LS0+Cis8IS0tRU5USVRZIGRlZyAiJiN4QjA7Ii0tPgorPCEtLUVOVElUWSBwbHVzbW4gIiYjeEIx
OyItLT4KKzwhLS1FTlRJVFkgcG0gIiYjeEIxOyItLT4KKzwhLS1FTlRJVFkgUGx1c01pbnVzICIm
I3hCMTsiLS0+Cis8IS0tRU5USVRZIHN1cDIgIiYjeEIyOyItLT4KKzwhLS1FTlRJVFkgc3VwMyAi
JiN4QjM7Ii0tPgorPCEtLUVOVElUWSBhY3V0ZSAiJiN4QjQ7Ii0tPgorPCEtLUVOVElUWSBEaWFj
cml0aWNhbEFjdXRlICImI3hCNDsiLS0+Cis8IS0tRU5USVRZIG1pY3JvICImI3hCNTsiLS0+Cis8
IS0tRU5USVRZIHBhcmEgIiYjeEI2OyItLT4KKzwhLS1FTlRJVFkgbWlkZG90ICImI3hCNzsiLS0+
Cis8IS0tRU5USVRZIGNlbnRlcmRvdCAiJiN4Qjc7Ii0tPgorPCEtLUVOVElUWSBDZW50ZXJEb3Qg
IiYjeEI3OyItLT4KKzwhLS1FTlRJVFkgY2VkaWwgIiYjeEI4OyItLT4KKzwhLS1FTlRJVFkgQ2Vk
aWxsYSAiJiN4Qjg7Ii0tPgorPCEtLUVOVElUWSBzdXAxICImI3hCOTsiLS0+Cis8IS0tRU5USVRZ
IG9yZG0gIiYjeEJBOyItLT4KKzwhLS1FTlRJVFkgcmFxdW8gIiYjeEJCOyItLT4KKzwhLS1FTlRJ
VFkgZnJhYzE0ICImI3hCQzsiLS0+Cis8IS0tRU5USVRZIGZyYWMxMiAiJiN4QkQ7Ii0tPgorPCEt
LUVOVElUWSBoYWxmICImI3hCRDsiLS0+Cis8IS0tRU5USVRZIGZyYWMzNCAiJiN4QkU7Ii0tPgor
PCEtLUVOVElUWSBpcXVlc3QgIiYjeEJGOyItLT4KKzwhLS1FTlRJVFkgQWdyYXZlICImI3hDMDsi
LS0+Cis8IS0tRU5USVRZIEFhY3V0ZSAiJiN4QzE7Ii0tPgorPCEtLUVOVElUWSBBY2lyYyAiJiN4
QzI7Ii0tPgorPCEtLUVOVElUWSBBdGlsZGUgIiYjeEMzOyItLT4KKzwhLS1FTlRJVFkgQXVtbCAi
JiN4QzQ7Ii0tPgorPCEtLUVOVElUWSBBcmluZyAiJiN4QzU7Ii0tPgorPCEtLUVOVElUWSBhbmdz
dCAiJiN4QzU7Ii0tPgorPCEtLUVOVElUWSBBRWxpZyAiJiN4QzY7Ii0tPgorPCEtLUVOVElUWSBD
Y2VkaWwgIiYjeEM3OyItLT4KKzwhLS1FTlRJVFkgRWdyYXZlICImI3hDODsiLS0+Cis8IS0tRU5U
SVRZIEVhY3V0ZSAiJiN4Qzk7Ii0tPgorPCEtLUVOVElUWSBFY2lyYyAiJiN4Q0E7Ii0tPgorPCEt
LUVOVElUWSBFdW1sICImI3hDQjsiLS0+Cis8IS0tRU5USVRZIElncmF2ZSAiJiN4Q0M7Ii0tPgor
PCEtLUVOVElUWSBJYWN1dGUgIiYjeENEOyItLT4KKzwhLS1FTlRJVFkgSWNpcmMgIiYjeENFOyIt
LT4KKzwhLS1FTlRJVFkgSXVtbCAiJiN4Q0Y7Ii0tPgorPCEtLUVOVElUWSBFVEggIiYjeEQwOyIt
LT4KKzwhLS1FTlRJVFkgTnRpbGRlICImI3hEMTsiLS0+Cis8IS0tRU5USVRZIE9ncmF2ZSAiJiN4
RDI7Ii0tPgorPCEtLUVOVElUWSBPYWN1dGUgIiYjeEQzOyItLT4KKzwhLS1FTlRJVFkgT2NpcmMg
IiYjeEQ0OyItLT4KKzwhLS1FTlRJVFkgT3RpbGRlICImI3hENTsiLS0+Cis8IS0tRU5USVRZIE91
bWwgIiYjeEQ2OyItLT4KKzwhLS1FTlRJVFkgdGltZXMgIiYjeEQ3OyItLT4KKzwhLS1FTlRJVFkg
T3NsYXNoICImI3hEODsiLS0+Cis8IS0tRU5USVRZIFVncmF2ZSAiJiN4RDk7Ii0tPgorPCEtLUVO
VElUWSBVYWN1dGUgIiYjeERBOyItLT4KKzwhLS1FTlRJVFkgVWNpcmMgIiYjeERCOyItLT4KKzwh
LS1FTlRJVFkgVXVtbCAiJiN4REM7Ii0tPgorPCEtLUVOVElUWSBZYWN1dGUgIiYjeEREOyItLT4K
KzwhLS1FTlRJVFkgVEhPUk4gIiYjeERFOyItLT4KKzwhLS1FTlRJVFkgc3psaWcgIiYjeERGOyIt
LT4KKzwhLS1FTlRJVFkgYWdyYXZlICImI3hFMDsiLS0+Cis8IS0tRU5USVRZIGFhY3V0ZSAiJiN4
RTE7Ii0tPgorPCEtLUVOVElUWSBhY2lyYyAiJiN4RTI7Ii0tPgorPCEtLUVOVElUWSBhdGlsZGUg
IiYjeEUzOyItLT4KKzwhLS1FTlRJVFkgYXVtbCAiJiN4RTQ7Ii0tPgorPCEtLUVOVElUWSBhcmlu
ZyAiJiN4RTU7Ii0tPgorPCEtLUVOVElUWSBhZWxpZyAiJiN4RTY7Ii0tPgorPCEtLUVOVElUWSBj
Y2VkaWwgIiYjeEU3OyItLT4KKzwhLS1FTlRJVFkgZWdyYXZlICImI3hFODsiLS0+Cis8IS0tRU5U
SVRZIGVhY3V0ZSAiJiN4RTk7Ii0tPgorPCEtLUVOVElUWSBlY2lyYyAiJiN4RUE7Ii0tPgorPCEt
LUVOVElUWSBldW1sICImI3hFQjsiLS0+Cis8IS0tRU5USVRZIGlncmF2ZSAiJiN4RUM7Ii0tPgor
PCEtLUVOVElUWSBpYWN1dGUgIiYjeEVEOyItLT4KKzwhLS1FTlRJVFkgaWNpcmMgIiYjeEVFOyIt
LT4KKzwhLS1FTlRJVFkgaXVtbCAiJiN4RUY7Ii0tPgorPCEtLUVOVElUWSBldGggIiYjeEYwOyIt
LT4KKzwhLS1FTlRJVFkgbnRpbGRlICImI3hGMTsiLS0+Cis8IS0tRU5USVRZIG9ncmF2ZSAiJiN4
RjI7Ii0tPgorPCEtLUVOVElUWSBvYWN1dGUgIiYjeEYzOyItLT4KKzwhLS1FTlRJVFkgb2NpcmMg
IiYjeEY0OyItLT4KKzwhLS1FTlRJVFkgb3RpbGRlICImI3hGNTsiLS0+Cis8IS0tRU5USVRZIG91
bWwgIiYjeEY2OyItLT4KKzwhLS1FTlRJVFkgZGl2aWRlICImI3hGNzsiLS0+Cis8IS0tRU5USVRZ
IGRpdiAiJiN4Rjc7Ii0tPgorPCEtLUVOVElUWSBvc2xhc2ggIiYjeEY4OyItLT4KKzwhLS1FTlRJ
VFkgdWdyYXZlICImI3hGOTsiLS0+Cis8IS0tRU5USVRZIHVhY3V0ZSAiJiN4RkE7Ii0tPgorPCEt
LUVOVElUWSB1Y2lyYyAiJiN4RkI7Ii0tPgorPCEtLUVOVElUWSB1dW1sICImI3hGQzsiLS0+Cis8
IS0tRU5USVRZIHlhY3V0ZSAiJiN4RkQ7Ii0tPgorPCEtLUVOVElUWSB0aG9ybiAiJiN4RkU7Ii0t
PgorPCEtLUVOVElUWSB5dW1sICImI3hGRjsiLS0+Cis8IS0tRU5USVRZIEFtYWNyICImI3gxMDA7
Ii0tPgorPCEtLUVOVElUWSBhbWFjciAiJiN4MTAxOyItLT4KKzwhLS1FTlRJVFkgQWJyZXZlICIm
I3gxMDI7Ii0tPgorPCEtLUVOVElUWSBhYnJldmUgIiYjeDEwMzsiLS0+Cis8IS0tRU5USVRZIEFv
Z29uICImI3gxMDQ7Ii0tPgorPCEtLUVOVElUWSBhb2dvbiAiJiN4MTA1OyItLT4KKzwhLS1FTlRJ
VFkgQ2FjdXRlICImI3gxMDY7Ii0tPgorPCEtLUVOVElUWSBjYWN1dGUgIiYjeDEwNzsiLS0+Cis8
IS0tRU5USVRZIENjaXJjICImI3gxMDg7Ii0tPgorPCEtLUVOVElUWSBjY2lyYyAiJiN4MTA5OyIt
LT4KKzwhLS1FTlRJVFkgQ2RvdCAiJiN4MTBBOyItLT4KKzwhLS1FTlRJVFkgY2RvdCAiJiN4MTBC
OyItLT4KKzwhLS1FTlRJVFkgQ2Nhcm9uICImI3gxMEM7Ii0tPgorPCEtLUVOVElUWSBjY2Fyb24g
IiYjeDEwRDsiLS0+Cis8IS0tRU5USVRZIERjYXJvbiAiJiN4MTBFOyItLT4KKzwhLS1FTlRJVFkg
ZGNhcm9uICImI3gxMEY7Ii0tPgorPCEtLUVOVElUWSBEc3Ryb2sgIiYjeDExMDsiLS0+Cis8IS0t
RU5USVRZIGRzdHJvayAiJiN4MTExOyItLT4KKzwhLS1FTlRJVFkgRW1hY3IgIiYjeDExMjsiLS0+
Cis8IS0tRU5USVRZIGVtYWNyICImI3gxMTM7Ii0tPgorPCEtLUVOVElUWSBFZG90ICImI3gxMTY7
Ii0tPgorPCEtLUVOVElUWSBlZG90ICImI3gxMTc7Ii0tPgorPCEtLUVOVElUWSBFb2dvbiAiJiN4
MTE4OyItLT4KKzwhLS1FTlRJVFkgZW9nb24gIiYjeDExOTsiLS0+Cis8IS0tRU5USVRZIEVjYXJv
biAiJiN4MTFBOyItLT4KKzwhLS1FTlRJVFkgZWNhcm9uICImI3gxMUI7Ii0tPgorPCEtLUVOVElU
WSBHY2lyYyAiJiN4MTFDOyItLT4KKzwhLS1FTlRJVFkgZ2NpcmMgIiYjeDExRDsiLS0+Cis8IS0t
RU5USVRZIEdicmV2ZSAiJiN4MTFFOyItLT4KKzwhLS1FTlRJVFkgZ2JyZXZlICImI3gxMUY7Ii0t
PgorPCEtLUVOVElUWSBHZG90ICImI3gxMjA7Ii0tPgorPCEtLUVOVElUWSBnZG90ICImI3gxMjE7
Ii0tPgorPCEtLUVOVElUWSBHY2VkaWwgIiYjeDEyMjsiLS0+Cis8IS0tRU5USVRZIEhjaXJjICIm
I3gxMjQ7Ii0tPgorPCEtLUVOVElUWSBoY2lyYyAiJiN4MTI1OyItLT4KKzwhLS1FTlRJVFkgSHN0
cm9rICImI3gxMjY7Ii0tPgorPCEtLUVOVElUWSBoc3Ryb2sgIiYjeDEyNzsiLS0+Cis8IS0tRU5U
SVRZIEl0aWxkZSAiJiN4MTI4OyItLT4KKzwhLS1FTlRJVFkgaXRpbGRlICImI3gxMjk7Ii0tPgor
PCEtLUVOVElUWSBJbWFjciAiJiN4MTJBOyItLT4KKzwhLS1FTlRJVFkgaW1hY3IgIiYjeDEyQjsi
LS0+Cis8IS0tRU5USVRZIElvZ29uICImI3gxMkU7Ii0tPgorPCEtLUVOVElUWSBpb2dvbiAiJiN4
MTJGOyItLT4KKzwhLS1FTlRJVFkgSWRvdCAiJiN4MTMwOyItLT4KKzwhLS1FTlRJVFkgaW1hdGgg
IiYjeDEzMTsiLS0+Cis8IS0tRU5USVRZIGlub2RvdCAiJiN4MTMxOyItLT4KKzwhLS1FTlRJVFkg
SUpsaWcgIiYjeDEzMjsiLS0+Cis8IS0tRU5USVRZIGlqbGlnICImI3gxMzM7Ii0tPgorPCEtLUVO
VElUWSBKY2lyYyAiJiN4MTM0OyItLT4KKzwhLS1FTlRJVFkgamNpcmMgIiYjeDEzNTsiLS0+Cis8
IS0tRU5USVRZIEtjZWRpbCAiJiN4MTM2OyItLT4KKzwhLS1FTlRJVFkga2NlZGlsICImI3gxMzc7
Ii0tPgorPCEtLUVOVElUWSBrZ3JlZW4gIiYjeDEzODsiLS0+Cis8IS0tRU5USVRZIExhY3V0ZSAi
JiN4MTM5OyItLT4KKzwhLS1FTlRJVFkgbGFjdXRlICImI3gxM0E7Ii0tPgorPCEtLUVOVElUWSBM
Y2VkaWwgIiYjeDEzQjsiLS0+Cis8IS0tRU5USVRZIGxjZWRpbCAiJiN4MTNDOyItLT4KKzwhLS1F
TlRJVFkgTGNhcm9uICImI3gxM0Q7Ii0tPgorPCEtLUVOVElUWSBsY2Fyb24gIiYjeDEzRTsiLS0+
Cis8IS0tRU5USVRZIExtaWRvdCAiJiN4MTNGOyItLT4KKzwhLS1FTlRJVFkgbG1pZG90ICImI3gx
NDA7Ii0tPgorPCEtLUVOVElUWSBMc3Ryb2sgIiYjeDE0MTsiLS0+Cis8IS0tRU5USVRZIGxzdHJv
ayAiJiN4MTQyOyItLT4KKzwhLS1FTlRJVFkgTmFjdXRlICImI3gxNDM7Ii0tPgorPCEtLUVOVElU
WSBuYWN1dGUgIiYjeDE0NDsiLS0+Cis8IS0tRU5USVRZIE5jZWRpbCAiJiN4MTQ1OyItLT4KKzwh
LS1FTlRJVFkgbmNlZGlsICImI3gxNDY7Ii0tPgorPCEtLUVOVElUWSBOY2Fyb24gIiYjeDE0Nzsi
LS0+Cis8IS0tRU5USVRZIG5jYXJvbiAiJiN4MTQ4OyItLT4KKzwhLS1FTlRJVFkgbmFwb3MgIiYj
eDE0OTsiLS0+Cis8IS0tRU5USVRZIEVORyAiJiN4MTRBOyItLT4KKzwhLS1FTlRJVFkgZW5nICIm
I3gxNEI7Ii0tPgorPCEtLUVOVElUWSBPbWFjciAiJiN4MTRDOyItLT4KKzwhLS1FTlRJVFkgb21h
Y3IgIiYjeDE0RDsiLS0+Cis8IS0tRU5USVRZIE9kYmxhYyAiJiN4MTUwOyItLT4KKzwhLS1FTlRJ
VFkgb2RibGFjICImI3gxNTE7Ii0tPgorPCEtLUVOVElUWSBPRWxpZyAiJiN4MTUyOyItLT4KKzwh
LS1FTlRJVFkgb2VsaWcgIiYjeDE1MzsiLS0+Cis8IS0tRU5USVRZIFJhY3V0ZSAiJiN4MTU0OyIt
LT4KKzwhLS1FTlRJVFkgcmFjdXRlICImI3gxNTU7Ii0tPgorPCEtLUVOVElUWSBSY2VkaWwgIiYj
eDE1NjsiLS0+Cis8IS0tRU5USVRZIHJjZWRpbCAiJiN4MTU3OyItLT4KKzwhLS1FTlRJVFkgUmNh
cm9uICImI3gxNTg7Ii0tPgorPCEtLUVOVElUWSByY2Fyb24gIiYjeDE1OTsiLS0+Cis8IS0tRU5U
SVRZIFNhY3V0ZSAiJiN4MTVBOyItLT4KKzwhLS1FTlRJVFkgc2FjdXRlICImI3gxNUI7Ii0tPgor
PCEtLUVOVElUWSBTY2lyYyAiJiN4MTVDOyItLT4KKzwhLS1FTlRJVFkgc2NpcmMgIiYjeDE1RDsi
LS0+Cis8IS0tRU5USVRZIFNjZWRpbCAiJiN4MTVFOyItLT4KKzwhLS1FTlRJVFkgc2NlZGlsICIm
I3gxNUY7Ii0tPgorPCEtLUVOVElUWSBTY2Fyb24gIiYjeDE2MDsiLS0+Cis8IS0tRU5USVRZIHNj
YXJvbiAiJiN4MTYxOyItLT4KKzwhLS1FTlRJVFkgVGNlZGlsICImI3gxNjI7Ii0tPgorPCEtLUVO
VElUWSB0Y2VkaWwgIiYjeDE2MzsiLS0+Cis8IS0tRU5USVRZIFRjYXJvbiAiJiN4MTY0OyItLT4K
KzwhLS1FTlRJVFkgdGNhcm9uICImI3gxNjU7Ii0tPgorPCEtLUVOVElUWSBUc3Ryb2sgIiYjeDE2
NjsiLS0+Cis8IS0tRU5USVRZIHRzdHJvayAiJiN4MTY3OyItLT4KKzwhLS1FTlRJVFkgVXRpbGRl
ICImI3gxNjg7Ii0tPgorPCEtLUVOVElUWSB1dGlsZGUgIiYjeDE2OTsiLS0+Cis8IS0tRU5USVRZ
IFVtYWNyICImI3gxNkE7Ii0tPgorPCEtLUVOVElUWSB1bWFjciAiJiN4MTZCOyItLT4KKzwhLS1F
TlRJVFkgVWJyZXZlICImI3gxNkM7Ii0tPgorPCEtLUVOVElUWSB1YnJldmUgIiYjeDE2RDsiLS0+
Cis8IS0tRU5USVRZIFVyaW5nICImI3gxNkU7Ii0tPgorPCEtLUVOVElUWSB1cmluZyAiJiN4MTZG
OyItLT4KKzwhLS1FTlRJVFkgVWRibGFjICImI3gxNzA7Ii0tPgorPCEtLUVOVElUWSB1ZGJsYWMg
IiYjeDE3MTsiLS0+Cis8IS0tRU5USVRZIFVvZ29uICImI3gxNzI7Ii0tPgorPCEtLUVOVElUWSB1
b2dvbiAiJiN4MTczOyItLT4KKzwhLS1FTlRJVFkgV2NpcmMgIiYjeDE3NDsiLS0+Cis8IS0tRU5U
SVRZIHdjaXJjICImI3gxNzU7Ii0tPgorPCEtLUVOVElUWSBZY2lyYyAiJiN4MTc2OyItLT4KKzwh
LS1FTlRJVFkgeWNpcmMgIiYjeDE3NzsiLS0+Cis8IS0tRU5USVRZIFl1bWwgIiYjeDE3ODsiLS0+
Cis8IS0tRU5USVRZIFphY3V0ZSAiJiN4MTc5OyItLT4KKzwhLS1FTlRJVFkgemFjdXRlICImI3gx
N0E7Ii0tPgorPCEtLUVOVElUWSBaZG90ICImI3gxN0I7Ii0tPgorPCEtLUVOVElUWSB6ZG90ICIm
I3gxN0M7Ii0tPgorPCEtLUVOVElUWSBaY2Fyb24gIiYjeDE3RDsiLS0+Cis8IS0tRU5USVRZIHpj
YXJvbiAiJiN4MTdFOyItLT4KKzwhLS1FTlRJVFkgZm5vZiAiJiN4MTkyOyItLT4KKzwhLS1FTlRJ
VFkgaW1wZWQgIiYjeDFCNTsiLS0+Cis8IS0tRU5USVRZIGdhY3V0ZSAiJiN4MUY1OyItLT4KKzwh
LS1FTlRJVFkgam1hdGggIiYjeDIzNzsiLS0+Cis8IS0tRU5USVRZIGNpcmMgIiYjeDJDNjsiLS0+
Cis8IS0tRU5USVRZIGNhcm9uICImI3gyQzc7Ii0tPgorPCEtLUVOVElUWSBIYWNlayAiJiN4MkM3
OyItLT4KKzwhLS1FTlRJVFkgYnJldmUgIiYjeDJEODsiLS0+Cis8IS0tRU5USVRZIEJyZXZlICIm
I3gyRDg7Ii0tPgorPCEtLUVOVElUWSBkb3QgIiYjeDJEOTsiLS0+Cis8IS0tRU5USVRZIERpYWNy
aXRpY2FsRG90ICImI3gyRDk7Ii0tPgorPCEtLUVOVElUWSByaW5nICImI3gyREE7Ii0tPgorPCEt
LUVOVElUWSBvZ29uICImI3gyREI7Ii0tPgorPCEtLUVOVElUWSB0aWxkZSAiJiN4MkRDOyItLT4K
KzwhLS1FTlRJVFkgRGlhY3JpdGljYWxUaWxkZSAiJiN4MkRDOyItLT4KKzwhLS1FTlRJVFkgZGJs
YWMgIiYjeDJERDsiLS0+Cis8IS0tRU5USVRZIERpYWNyaXRpY2FsRG91YmxlQWN1dGUgIiYjeDJE
RDsiLS0+Cis8IS0tRU5USVRZIERvd25CcmV2ZSAiJiN4MzExOyItLT4KKzwhLS1FTlRJVFkgQWxw
aGEgIiYjeDM5MTsiLS0+Cis8IS0tRU5USVRZIEJldGEgIiYjeDM5MjsiLS0+Cis8IS0tRU5USVRZ
IEdhbW1hICImI3gzOTM7Ii0tPgorPCEtLUVOVElUWSBEZWx0YSAiJiN4Mzk0OyItLT4KKzwhLS1F
TlRJVFkgRXBzaWxvbiAiJiN4Mzk1OyItLT4KKzwhLS1FTlRJVFkgWmV0YSAiJiN4Mzk2OyItLT4K
KzwhLS1FTlRJVFkgRXRhICImI3gzOTc7Ii0tPgorPCEtLUVOVElUWSBUaGV0YSAiJiN4Mzk4OyIt
LT4KKzwhLS1FTlRJVFkgSW90YSAiJiN4Mzk5OyItLT4KKzwhLS1FTlRJVFkgS2FwcGEgIiYjeDM5
QTsiLS0+Cis8IS0tRU5USVRZIExhbWJkYSAiJiN4MzlCOyItLT4KKzwhLS1FTlRJVFkgTXUgIiYj
eDM5QzsiLS0+Cis8IS0tRU5USVRZIE51ICImI3gzOUQ7Ii0tPgorPCEtLUVOVElUWSBYaSAiJiN4
MzlFOyItLT4KKzwhLS1FTlRJVFkgT21pY3JvbiAiJiN4MzlGOyItLT4KKzwhLS1FTlRJVFkgUGkg
IiYjeDNBMDsiLS0+Cis8IS0tRU5USVRZIFJobyAiJiN4M0ExOyItLT4KKzwhLS1FTlRJVFkgU2ln
bWEgIiYjeDNBMzsiLS0+Cis8IS0tRU5USVRZIFRhdSAiJiN4M0E0OyItLT4KKzwhLS1FTlRJVFkg
VXBzaWxvbiAiJiN4M0E1OyItLT4KKzwhLS1FTlRJVFkgUGhpICImI3gzQTY7Ii0tPgorPCEtLUVO
VElUWSBDaGkgIiYjeDNBNzsiLS0+Cis8IS0tRU5USVRZIFBzaSAiJiN4M0E4OyItLT4KKzwhLS1F
TlRJVFkgT21lZ2EgIiYjeDNBOTsiLS0+Cis8IS0tRU5USVRZIG9obSAiJiN4M0E5OyItLT4KKzwh
LS1FTlRJVFkgYWxwaGEgIiYjeDNCMTsiLS0+Cis8IS0tRU5USVRZIGJldGEgIiYjeDNCMjsiLS0+
Cis8IS0tRU5USVRZIGdhbW1hICImI3gzQjM7Ii0tPgorPCEtLUVOVElUWSBkZWx0YSAiJiN4M0I0
OyItLT4KKzwhLS1FTlRJVFkgZXBzaSAiJiN4M0I1OyItLT4KKzwhLS1FTlRJVFkgZXBzaWxvbiAi
JiN4M0I1OyItLT4KKzwhLS1FTlRJVFkgemV0YSAiJiN4M0I2OyItLT4KKzwhLS1FTlRJVFkgZXRh
ICImI3gzQjc7Ii0tPgorPCEtLUVOVElUWSB0aGV0YSAiJiN4M0I4OyItLT4KKzwhLS1FTlRJVFkg
aW90YSAiJiN4M0I5OyItLT4KKzwhLS1FTlRJVFkga2FwcGEgIiYjeDNCQTsiLS0+Cis8IS0tRU5U
SVRZIGxhbWJkYSAiJiN4M0JCOyItLT4KKzwhLS1FTlRJVFkgbXUgIiYjeDNCQzsiLS0+Cis8IS0t
RU5USVRZIG51ICImI3gzQkQ7Ii0tPgorPCEtLUVOVElUWSB4aSAiJiN4M0JFOyItLT4KKzwhLS1F
TlRJVFkgb21pY3JvbiAiJiN4M0JGOyItLT4KKzwhLS1FTlRJVFkgcGkgIiYjeDNDMDsiLS0+Cis8
IS0tRU5USVRZIHJobyAiJiN4M0MxOyItLT4KKzwhLS1FTlRJVFkgc2lnbWF2ICImI3gzQzI7Ii0t
PgorPCEtLUVOVElUWSB2YXJzaWdtYSAiJiN4M0MyOyItLT4KKzwhLS1FTlRJVFkgc2lnbWFmICIm
I3gzQzI7Ii0tPgorPCEtLUVOVElUWSBzaWdtYSAiJiN4M0MzOyItLT4KKzwhLS1FTlRJVFkgdGF1
ICImI3gzQzQ7Ii0tPgorPCEtLUVOVElUWSB1cHNpICImI3gzQzU7Ii0tPgorPCEtLUVOVElUWSB1
cHNpbG9uICImI3gzQzU7Ii0tPgorPCEtLUVOVElUWSBwaGkgIiYjeDNDNjsiLS0+Cis8IS0tRU5U
SVRZIGNoaSAiJiN4M0M3OyItLT4KKzwhLS1FTlRJVFkgcHNpICImI3gzQzg7Ii0tPgorPCEtLUVO
VElUWSBvbWVnYSAiJiN4M0M5OyItLT4KKzwhLS1FTlRJVFkgdGhldGF2ICImI3gzRDE7Ii0tPgor
PCEtLUVOVElUWSB2YXJ0aGV0YSAiJiN4M0QxOyItLT4KKzwhLS1FTlRJVFkgdGhldGFzeW0gIiYj
eDNEMTsiLS0+Cis8IS0tRU5USVRZIFVwc2kgIiYjeDNEMjsiLS0+Cis8IS0tRU5USVRZIHVwc2lo
ICImI3gzRDI7Ii0tPgorPCEtLUVOVElUWSBzdHJhaWdodHBoaSAiJiN4M0Q1OyItLT4KKzwhLS1F
TlRJVFkgcGhpdiAiJiN4M0Q1OyItLT4KKzwhLS1FTlRJVFkgdmFycGhpICImI3gzRDU7Ii0tPgor
PCEtLUVOVElUWSBwaXYgIiYjeDNENjsiLS0+Cis8IS0tRU5USVRZIHZhcnBpICImI3gzRDY7Ii0t
PgorPCEtLUVOVElUWSBHYW1tYWQgIiYjeDNEQzsiLS0+Cis8IS0tRU5USVRZIGdhbW1hZCAiJiN4
M0REOyItLT4KKzwhLS1FTlRJVFkgZGlnYW1tYSAiJiN4M0REOyItLT4KKzwhLS1FTlRJVFkga2Fw
cGF2ICImI3gzRjA7Ii0tPgorPCEtLUVOVElUWSB2YXJrYXBwYSAiJiN4M0YwOyItLT4KKzwhLS1F
TlRJVFkgcmhvdiAiJiN4M0YxOyItLT4KKzwhLS1FTlRJVFkgdmFycmhvICImI3gzRjE7Ii0tPgor
PCEtLUVOVElUWSBlcHNpdiAiJiN4M0Y1OyItLT4KKzwhLS1FTlRJVFkgc3RyYWlnaHRlcHNpbG9u
ICImI3gzRjU7Ii0tPgorPCEtLUVOVElUWSB2YXJlcHNpbG9uICImI3gzRjU7Ii0tPgorPCEtLUVO
VElUWSBiZXBzaSAiJiN4M0Y2OyItLT4KKzwhLS1FTlRJVFkgYmFja2Vwc2lsb24gIiYjeDNGNjsi
LS0+Cis8IS0tRU5USVRZIElPY3kgIiYjeDQwMTsiLS0+Cis8IS0tRU5USVRZIERKY3kgIiYjeDQw
MjsiLS0+Cis8IS0tRU5USVRZIEdKY3kgIiYjeDQwMzsiLS0+Cis8IS0tRU5USVRZIEp1a2N5ICIm
I3g0MDQ7Ii0tPgorPCEtLUVOVElUWSBEU2N5ICImI3g0MDU7Ii0tPgorPCEtLUVOVElUWSBJdWtj
eSAiJiN4NDA2OyItLT4KKzwhLS1FTlRJVFkgWUljeSAiJiN4NDA3OyItLT4KKzwhLS1FTlRJVFkg
SnNlcmN5ICImI3g0MDg7Ii0tPgorPCEtLUVOVElUWSBMSmN5ICImI3g0MDk7Ii0tPgorPCEtLUVO
VElUWSBOSmN5ICImI3g0MEE7Ii0tPgorPCEtLUVOVElUWSBUU0hjeSAiJiN4NDBCOyItLT4KKzwh
LS1FTlRJVFkgS0pjeSAiJiN4NDBDOyItLT4KKzwhLS1FTlRJVFkgVWJyY3kgIiYjeDQwRTsiLS0+
Cis8IS0tRU5USVRZIERaY3kgIiYjeDQwRjsiLS0+Cis8IS0tRU5USVRZIEFjeSAiJiN4NDEwOyIt
LT4KKzwhLS1FTlRJVFkgQmN5ICImI3g0MTE7Ii0tPgorPCEtLUVOVElUWSBWY3kgIiYjeDQxMjsi
LS0+Cis8IS0tRU5USVRZIEdjeSAiJiN4NDEzOyItLT4KKzwhLS1FTlRJVFkgRGN5ICImI3g0MTQ7
Ii0tPgorPCEtLUVOVElUWSBJRWN5ICImI3g0MTU7Ii0tPgorPCEtLUVOVElUWSBaSGN5ICImI3g0
MTY7Ii0tPgorPCEtLUVOVElUWSBaY3kgIiYjeDQxNzsiLS0+Cis8IS0tRU5USVRZIEljeSAiJiN4
NDE4OyItLT4KKzwhLS1FTlRJVFkgSmN5ICImI3g0MTk7Ii0tPgorPCEtLUVOVElUWSBLY3kgIiYj
eDQxQTsiLS0+Cis8IS0tRU5USVRZIExjeSAiJiN4NDFCOyItLT4KKzwhLS1FTlRJVFkgTWN5ICIm
I3g0MUM7Ii0tPgorPCEtLUVOVElUWSBOY3kgIiYjeDQxRDsiLS0+Cis8IS0tRU5USVRZIE9jeSAi
JiN4NDFFOyItLT4KKzwhLS1FTlRJVFkgUGN5ICImI3g0MUY7Ii0tPgorPCEtLUVOVElUWSBSY3kg
IiYjeDQyMDsiLS0+Cis8IS0tRU5USVRZIFNjeSAiJiN4NDIxOyItLT4KKzwhLS1FTlRJVFkgVGN5
ICImI3g0MjI7Ii0tPgorPCEtLUVOVElUWSBVY3kgIiYjeDQyMzsiLS0+Cis8IS0tRU5USVRZIEZj
eSAiJiN4NDI0OyItLT4KKzwhLS1FTlRJVFkgS0hjeSAiJiN4NDI1OyItLT4KKzwhLS1FTlRJVFkg
VFNjeSAiJiN4NDI2OyItLT4KKzwhLS1FTlRJVFkgQ0hjeSAiJiN4NDI3OyItLT4KKzwhLS1FTlRJ
VFkgU0hjeSAiJiN4NDI4OyItLT4KKzwhLS1FTlRJVFkgU0hDSGN5ICImI3g0Mjk7Ii0tPgorPCEt
LUVOVElUWSBIQVJEY3kgIiYjeDQyQTsiLS0+Cis8IS0tRU5USVRZIFljeSAiJiN4NDJCOyItLT4K
KzwhLS1FTlRJVFkgU09GVGN5ICImI3g0MkM7Ii0tPgorPCEtLUVOVElUWSBFY3kgIiYjeDQyRDsi
LS0+Cis8IS0tRU5USVRZIFlVY3kgIiYjeDQyRTsiLS0+Cis8IS0tRU5USVRZIFlBY3kgIiYjeDQy
RjsiLS0+Cis8IS0tRU5USVRZIGFjeSAiJiN4NDMwOyItLT4KKzwhLS1FTlRJVFkgYmN5ICImI3g0
MzE7Ii0tPgorPCEtLUVOVElUWSB2Y3kgIiYjeDQzMjsiLS0+Cis8IS0tRU5USVRZIGdjeSAiJiN4
NDMzOyItLT4KKzwhLS1FTlRJVFkgZGN5ICImI3g0MzQ7Ii0tPgorPCEtLUVOVElUWSBpZWN5ICIm
I3g0MzU7Ii0tPgorPCEtLUVOVElUWSB6aGN5ICImI3g0MzY7Ii0tPgorPCEtLUVOVElUWSB6Y3kg
IiYjeDQzNzsiLS0+Cis8IS0tRU5USVRZIGljeSAiJiN4NDM4OyItLT4KKzwhLS1FTlRJVFkgamN5
ICImI3g0Mzk7Ii0tPgorPCEtLUVOVElUWSBrY3kgIiYjeDQzQTsiLS0+Cis8IS0tRU5USVRZIGxj
eSAiJiN4NDNCOyItLT4KKzwhLS1FTlRJVFkgbWN5ICImI3g0M0M7Ii0tPgorPCEtLUVOVElUWSBu
Y3kgIiYjeDQzRDsiLS0+Cis8IS0tRU5USVRZIG9jeSAiJiN4NDNFOyItLT4KKzwhLS1FTlRJVFkg
cGN5ICImI3g0M0Y7Ii0tPgorPCEtLUVOVElUWSByY3kgIiYjeDQ0MDsiLS0+Cis8IS0tRU5USVRZ
IHNjeSAiJiN4NDQxOyItLT4KKzwhLS1FTlRJVFkgdGN5ICImI3g0NDI7Ii0tPgorPCEtLUVOVElU
WSB1Y3kgIiYjeDQ0MzsiLS0+Cis8IS0tRU5USVRZIGZjeSAiJiN4NDQ0OyItLT4KKzwhLS1FTlRJ
VFkga2hjeSAiJiN4NDQ1OyItLT4KKzwhLS1FTlRJVFkgdHNjeSAiJiN4NDQ2OyItLT4KKzwhLS1F
TlRJVFkgY2hjeSAiJiN4NDQ3OyItLT4KKzwhLS1FTlRJVFkgc2hjeSAiJiN4NDQ4OyItLT4KKzwh
LS1FTlRJVFkgc2hjaGN5ICImI3g0NDk7Ii0tPgorPCEtLUVOVElUWSBoYXJkY3kgIiYjeDQ0QTsi
LS0+Cis8IS0tRU5USVRZIHljeSAiJiN4NDRCOyItLT4KKzwhLS1FTlRJVFkgc29mdGN5ICImI3g0
NEM7Ii0tPgorPCEtLUVOVElUWSBlY3kgIiYjeDQ0RDsiLS0+Cis8IS0tRU5USVRZIHl1Y3kgIiYj
eDQ0RTsiLS0+Cis8IS0tRU5USVRZIHlhY3kgIiYjeDQ0RjsiLS0+Cis8IS0tRU5USVRZIGlvY3kg
IiYjeDQ1MTsiLS0+Cis8IS0tRU5USVRZIGRqY3kgIiYjeDQ1MjsiLS0+Cis8IS0tRU5USVRZIGdq
Y3kgIiYjeDQ1MzsiLS0+Cis8IS0tRU5USVRZIGp1a2N5ICImI3g0NTQ7Ii0tPgorPCEtLUVOVElU
WSBkc2N5ICImI3g0NTU7Ii0tPgorPCEtLUVOVElUWSBpdWtjeSAiJiN4NDU2OyItLT4KKzwhLS1F
TlRJVFkgeWljeSAiJiN4NDU3OyItLT4KKzwhLS1FTlRJVFkganNlcmN5ICImI3g0NTg7Ii0tPgor
PCEtLUVOVElUWSBsamN5ICImI3g0NTk7Ii0tPgorPCEtLUVOVElUWSBuamN5ICImI3g0NUE7Ii0t
PgorPCEtLUVOVElUWSB0c2hjeSAiJiN4NDVCOyItLT4KKzwhLS1FTlRJVFkga2pjeSAiJiN4NDVD
OyItLT4KKzwhLS1FTlRJVFkgdWJyY3kgIiYjeDQ1RTsiLS0+Cis8IS0tRU5USVRZIGR6Y3kgIiYj
eDQ1RjsiLS0+Cis8IS0tRU5USVRZIGVuc3AgIiYjeDIwMDI7Ii0tPgorPCEtLUVOVElUWSBlbXNw
ICImI3gyMDAzOyItLT4KKzwhLS1FTlRJVFkgZW1zcDEzICImI3gyMDA0OyItLT4KKzwhLS1FTlRJ
VFkgZW1zcDE0ICImI3gyMDA1OyItLT4KKzwhLS1FTlRJVFkgbnVtc3AgIiYjeDIwMDc7Ii0tPgor
PCEtLUVOVElUWSBwdW5jc3AgIiYjeDIwMDg7Ii0tPgorPCEtLUVOVElUWSB0aGluc3AgIiYjeDIw
MDk7Ii0tPgorPCEtLUVOVElUWSBUaGluU3BhY2UgIiYjeDIwMDk7Ii0tPgorPCEtLUVOVElUWSBo
YWlyc3AgIiYjeDIwMEE7Ii0tPgorPCEtLUVOVElUWSBWZXJ5VGhpblNwYWNlICImI3gyMDBBOyIt
LT4KKzwhLS1FTlRJVFkgWmVyb1dpZHRoU3BhY2UgIiYjeDIwMEI7Ii0tPgorPCEtLUVOVElUWSBO
ZWdhdGl2ZVZlcnlUaGluU3BhY2UgIiYjeDIwMEI7Ii0tPgorPCEtLUVOVElUWSBOZWdhdGl2ZVRo
aW5TcGFjZSAiJiN4MjAwQjsiLS0+Cis8IS0tRU5USVRZIE5lZ2F0aXZlTWVkaXVtU3BhY2UgIiYj
eDIwMEI7Ii0tPgorPCEtLUVOVElUWSBOZWdhdGl2ZVRoaWNrU3BhY2UgIiYjeDIwMEI7Ii0tPgor
PCEtLUVOVElUWSB6d25qICImI3gyMDBDOyItLT4KKzwhLS1FTlRJVFkgendqICImI3gyMDBEOyIt
LT4KKzwhLS1FTlRJVFkgbHJtICImI3gyMDBFOyItLT4KKzwhLS1FTlRJVFkgcmxtICImI3gyMDBG
OyItLT4KKzwhLS1FTlRJVFkgaHlwaGVuICImI3gyMDEwOyItLT4KKzwhLS1FTlRJVFkgZGFzaCAi
JiN4MjAxMDsiLS0+Cis8IS0tRU5USVRZIG5kYXNoICImI3gyMDEzOyItLT4KKzwhLS1FTlRJVFkg
bWRhc2ggIiYjeDIwMTQ7Ii0tPgorPCEtLUVOVElUWSBob3JiYXIgIiYjeDIwMTU7Ii0tPgorPCEt
LUVOVElUWSBWZXJiYXIgIiYjeDIwMTY7Ii0tPgorPCEtLUVOVElUWSBWZXJ0ICImI3gyMDE2OyIt
LT4KKzwhLS1FTlRJVFkgbHNxdW8gIiYjeDIwMTg7Ii0tPgorPCEtLUVOVElUWSBPcGVuQ3VybHlR
dW90ZSAiJiN4MjAxODsiLS0+Cis8IS0tRU5USVRZIHJzcXVvICImI3gyMDE5OyItLT4KKzwhLS1F
TlRJVFkgcnNxdW9yICImI3gyMDE5OyItLT4KKzwhLS1FTlRJVFkgQ2xvc2VDdXJseVF1b3RlICIm
I3gyMDE5OyItLT4KKzwhLS1FTlRJVFkgbHNxdW9yICImI3gyMDFBOyItLT4KKzwhLS1FTlRJVFkg
c2JxdW8gIiYjeDIwMUE7Ii0tPgorPCEtLUVOVElUWSBsZHF1byAiJiN4MjAxQzsiLS0+Cis8IS0t
RU5USVRZIE9wZW5DdXJseURvdWJsZVF1b3RlICImI3gyMDFDOyItLT4KKzwhLS1FTlRJVFkgcmRx
dW8gIiYjeDIwMUQ7Ii0tPgorPCEtLUVOVElUWSByZHF1b3IgIiYjeDIwMUQ7Ii0tPgorPCEtLUVO
VElUWSBDbG9zZUN1cmx5RG91YmxlUXVvdGUgIiYjeDIwMUQ7Ii0tPgorPCEtLUVOVElUWSBsZHF1
b3IgIiYjeDIwMUU7Ii0tPgorPCEtLUVOVElUWSBiZHF1byAiJiN4MjAxRTsiLS0+Cis8IS0tRU5U
SVRZIGRhZ2dlciAiJiN4MjAyMDsiLS0+Cis8IS0tRU5USVRZIERhZ2dlciAiJiN4MjAyMTsiLS0+
Cis8IS0tRU5USVRZIGRkYWdnZXIgIiYjeDIwMjE7Ii0tPgorPCEtLUVOVElUWSBidWxsICImI3gy
MDIyOyItLT4KKzwhLS1FTlRJVFkgYnVsbGV0ICImI3gyMDIyOyItLT4KKzwhLS1FTlRJVFkgbmxk
ciAiJiN4MjAyNTsiLS0+Cis8IS0tRU5USVRZIGhlbGxpcCAiJiN4MjAyNjsiLS0+Cis8IS0tRU5U
SVRZIG1sZHIgIiYjeDIwMjY7Ii0tPgorPCEtLUVOVElUWSBwZXJtaWwgIiYjeDIwMzA7Ii0tPgor
PCEtLUVOVElUWSBwZXJ0ZW5rICImI3gyMDMxOyItLT4KKzwhLS1FTlRJVFkgcHJpbWUgIiYjeDIw
MzI7Ii0tPgorPCEtLUVOVElUWSBQcmltZSAiJiN4MjAzMzsiLS0+Cis8IS0tRU5USVRZIHRwcmlt
ZSAiJiN4MjAzNDsiLS0+Cis8IS0tRU5USVRZIGJwcmltZSAiJiN4MjAzNTsiLS0+Cis8IS0tRU5U
SVRZIGJhY2twcmltZSAiJiN4MjAzNTsiLS0+Cis8IS0tRU5USVRZIGxzYXF1byAiJiN4MjAzOTsi
LS0+Cis8IS0tRU5USVRZIHJzYXF1byAiJiN4MjAzQTsiLS0+Cis8IS0tRU5USVRZIG9saW5lICIm
I3gyMDNFOyItLT4KKzwhLS1FTlRJVFkgT3ZlckJhciAiJiN4MjAzRTsiLS0+Cis8IS0tRU5USVRZ
IGNhcmV0ICImI3gyMDQxOyItLT4KKzwhLS1FTlRJVFkgaHlidWxsICImI3gyMDQzOyItLT4KKzwh
LS1FTlRJVFkgZnJhc2wgIiYjeDIwNDQ7Ii0tPgorPCEtLUVOVElUWSBic2VtaSAiJiN4MjA0Rjsi
LS0+Cis8IS0tRU5USVRZIHFwcmltZSAiJiN4MjA1NzsiLS0+Cis8IS0tRU5USVRZIE1lZGl1bVNw
YWNlICImI3gyMDVGOyItLT4KKzwhLS1FTlRJVFkgVGhpY2tTcGFjZSAiJiN4MjA1RjsmI3gyMDBB
OyItLT4KKzwhLS1FTlRJVFkgTm9CcmVhayAiJiN4MjA2MDsiLS0+Cis8IS0tRU5USVRZIEFwcGx5
RnVuY3Rpb24gIiYjeDIwNjE7Ii0tPgorPCEtLUVOVElUWSBhZiAiJiN4MjA2MTsiLS0+Cis8IS0t
RU5USVRZIEludmlzaWJsZVRpbWVzICImI3gyMDYyOyItLT4KKzwhLS1FTlRJVFkgaXQgIiYjeDIw
NjI7Ii0tPgorPCEtLUVOVElUWSBJbnZpc2libGVDb21tYSAiJiN4MjA2MzsiLS0+Cis8IS0tRU5U
SVRZIGljICImI3gyMDYzOyItLT4KKzwhLS1FTlRJVFkgZXVybyAiJiN4MjBBQzsiLS0+Cis8IS0t
RU5USVRZIHRkb3QgIiYjeDIwREI7Ii0tPgorPCEtLUVOVElUWSBUcmlwbGVEb3QgIiYjeDIwREI7
Ii0tPgorPCEtLUVOVElUWSBEb3REb3QgIiYjeDIwREM7Ii0tPgorPCEtLUVOVElUWSBDb3BmICIm
I3gyMTAyOyItLT4KKzwhLS1FTlRJVFkgY29tcGxleGVzICImI3gyMTAyOyItLT4KKzwhLS1FTlRJ
VFkgaW5jYXJlICImI3gyMTA1OyItLT4KKzwhLS1FTlRJVFkgZ3NjciAiJiN4MjEwQTsiLS0+Cis8
IS0tRU5USVRZIGhhbWlsdCAiJiN4MjEwQjsiLS0+Cis8IS0tRU5USVRZIEhpbGJlcnRTcGFjZSAi
JiN4MjEwQjsiLS0+Cis8IS0tRU5USVRZIEhzY3IgIiYjeDIxMEI7Ii0tPgorPCEtLUVOVElUWSBI
ZnIgIiYjeDIxMEM7Ii0tPgorPCEtLUVOVElUWSBQb2luY2FyZXBsYW5lICImI3gyMTBDOyItLT4K
KzwhLS1FTlRJVFkgcXVhdGVybmlvbnMgIiYjeDIxMEQ7Ii0tPgorPCEtLUVOVElUWSBIb3BmICIm
I3gyMTBEOyItLT4KKzwhLS1FTlRJVFkgcGxhbmNraCAiJiN4MjEwRTsiLS0+Cis8IS0tRU5USVRZ
IHBsYW5jayAiJiN4MjEwRjsiLS0+Cis8IS0tRU5USVRZIGhiYXIgIiYjeDIxMEY7Ii0tPgorPCEt
LUVOVElUWSBwbGFua3YgIiYjeDIxMEY7Ii0tPgorPCEtLUVOVElUWSBoc2xhc2ggIiYjeDIxMEY7
Ii0tPgorPCEtLUVOVElUWSBJc2NyICImI3gyMTEwOyItLT4KKzwhLS1FTlRJVFkgaW1hZ2xpbmUg
IiYjeDIxMTA7Ii0tPgorPCEtLUVOVElUWSBpbWFnZSAiJiN4MjExMTsiLS0+Cis8IS0tRU5USVRZ
IEltICImI3gyMTExOyItLT4KKzwhLS1FTlRJVFkgaW1hZ3BhcnQgIiYjeDIxMTE7Ii0tPgorPCEt
LUVOVElUWSBJZnIgIiYjeDIxMTE7Ii0tPgorPCEtLUVOVElUWSBMc2NyICImI3gyMTEyOyItLT4K
KzwhLS1FTlRJVFkgbGFncmFuICImI3gyMTEyOyItLT4KKzwhLS1FTlRJVFkgTGFwbGFjZXRyZiAi
JiN4MjExMjsiLS0+Cis8IS0tRU5USVRZIGVsbCAiJiN4MjExMzsiLS0+Cis8IS0tRU5USVRZIE5v
cGYgIiYjeDIxMTU7Ii0tPgorPCEtLUVOVElUWSBuYXR1cmFscyAiJiN4MjExNTsiLS0+Cis8IS0t
RU5USVRZIG51bWVybyAiJiN4MjExNjsiLS0+Cis8IS0tRU5USVRZIGNvcHlzciAiJiN4MjExNzsi
LS0+Cis8IS0tRU5USVRZIHdlaWVycCAiJiN4MjExODsiLS0+Cis8IS0tRU5USVRZIHdwICImI3gy
MTE4OyItLT4KKzwhLS1FTlRJVFkgUG9wZiAiJiN4MjExOTsiLS0+Cis8IS0tRU5USVRZIHByaW1l
cyAiJiN4MjExOTsiLS0+Cis8IS0tRU5USVRZIHJhdGlvbmFscyAiJiN4MjExQTsiLS0+Cis8IS0t
RU5USVRZIFFvcGYgIiYjeDIxMUE7Ii0tPgorPCEtLUVOVElUWSBSc2NyICImI3gyMTFCOyItLT4K
KzwhLS1FTlRJVFkgcmVhbGluZSAiJiN4MjExQjsiLS0+Cis8IS0tRU5USVRZIHJlYWwgIiYjeDIx
MUM7Ii0tPgorPCEtLUVOVElUWSBSZSAiJiN4MjExQzsiLS0+Cis8IS0tRU5USVRZIHJlYWxwYXJ0
ICImI3gyMTFDOyItLT4KKzwhLS1FTlRJVFkgUmZyICImI3gyMTFDOyItLT4KKzwhLS1FTlRJVFkg
cmVhbHMgIiYjeDIxMUQ7Ii0tPgorPCEtLUVOVElUWSBSb3BmICImI3gyMTFEOyItLT4KKzwhLS1F
TlRJVFkgcnggIiYjeDIxMUU7Ii0tPgorPCEtLUVOVElUWSB0cmFkZSAiJiN4MjEyMjsiLS0+Cis8
IS0tRU5USVRZIFRSQURFICImI3gyMTIyOyItLT4KKzwhLS1FTlRJVFkgaW50ZWdlcnMgIiYjeDIx
MjQ7Ii0tPgorPCEtLUVOVElUWSBab3BmICImI3gyMTI0OyItLT4KKzwhLS1FTlRJVFkgbWhvICIm
I3gyMTI3OyItLT4KKzwhLS1FTlRJVFkgWmZyICImI3gyMTI4OyItLT4KKzwhLS1FTlRJVFkgemVl
dHJmICImI3gyMTI4OyItLT4KKzwhLS1FTlRJVFkgaWlvdGEgIiYjeDIxMjk7Ii0tPgorPCEtLUVO
VElUWSBiZXJub3UgIiYjeDIxMkM7Ii0tPgorPCEtLUVOVElUWSBCZXJub3VsbGlzICImI3gyMTJD
OyItLT4KKzwhLS1FTlRJVFkgQnNjciAiJiN4MjEyQzsiLS0+Cis8IS0tRU5USVRZIENmciAiJiN4
MjEyRDsiLS0+Cis8IS0tRU5USVRZIENheWxleXMgIiYjeDIxMkQ7Ii0tPgorPCEtLUVOVElUWSBl
c2NyICImI3gyMTJGOyItLT4KKzwhLS1FTlRJVFkgRXNjciAiJiN4MjEzMDsiLS0+Cis8IS0tRU5U
SVRZIGV4cGVjdGF0aW9uICImI3gyMTMwOyItLT4KKzwhLS1FTlRJVFkgRnNjciAiJiN4MjEzMTsi
LS0+Cis8IS0tRU5USVRZIEZvdXJpZXJ0cmYgIiYjeDIxMzE7Ii0tPgorPCEtLUVOVElUWSBwaG1t
YXQgIiYjeDIxMzM7Ii0tPgorPCEtLUVOVElUWSBNZWxsaW50cmYgIiYjeDIxMzM7Ii0tPgorPCEt
LUVOVElUWSBNc2NyICImI3gyMTMzOyItLT4KKzwhLS1FTlRJVFkgb3JkZXIgIiYjeDIxMzQ7Ii0t
PgorPCEtLUVOVElUWSBvcmRlcm9mICImI3gyMTM0OyItLT4KKzwhLS1FTlRJVFkgb3NjciAiJiN4
MjEzNDsiLS0+Cis8IS0tRU5USVRZIGFsZWZzeW0gIiYjeDIxMzU7Ii0tPgorPCEtLUVOVElUWSBh
bGVwaCAiJiN4MjEzNTsiLS0+Cis8IS0tRU5USVRZIGJldGggIiYjeDIxMzY7Ii0tPgorPCEtLUVO
VElUWSBnaW1lbCAiJiN4MjEzNzsiLS0+Cis8IS0tRU5USVRZIGRhbGV0aCAiJiN4MjEzODsiLS0+
Cis8IS0tRU5USVRZIENhcGl0YWxEaWZmZXJlbnRpYWxEICImI3gyMTQ1OyItLT4KKzwhLS1FTlRJ
VFkgREQgIiYjeDIxNDU7Ii0tPgorPCEtLUVOVElUWSBEaWZmZXJlbnRpYWxEICImI3gyMTQ2OyIt
LT4KKzwhLS1FTlRJVFkgZGQgIiYjeDIxNDY7Ii0tPgorPCEtLUVOVElUWSBFeHBvbmVudGlhbEUg
IiYjeDIxNDc7Ii0tPgorPCEtLUVOVElUWSBleHBvbmVudGlhbGUgIiYjeDIxNDc7Ii0tPgorPCEt
LUVOVElUWSBlZSAiJiN4MjE0NzsiLS0+Cis8IS0tRU5USVRZIEltYWdpbmFyeUkgIiYjeDIxNDg7
Ii0tPgorPCEtLUVOVElUWSBpaSAiJiN4MjE0ODsiLS0+Cis8IS0tRU5USVRZIGZyYWMxMyAiJiN4
MjE1MzsiLS0+Cis8IS0tRU5USVRZIGZyYWMyMyAiJiN4MjE1NDsiLS0+Cis8IS0tRU5USVRZIGZy
YWMxNSAiJiN4MjE1NTsiLS0+Cis8IS0tRU5USVRZIGZyYWMyNSAiJiN4MjE1NjsiLS0+Cis8IS0t
RU5USVRZIGZyYWMzNSAiJiN4MjE1NzsiLS0+Cis8IS0tRU5USVRZIGZyYWM0NSAiJiN4MjE1ODsi
LS0+Cis8IS0tRU5USVRZIGZyYWMxNiAiJiN4MjE1OTsiLS0+Cis8IS0tRU5USVRZIGZyYWM1NiAi
JiN4MjE1QTsiLS0+Cis8IS0tRU5USVRZIGZyYWMxOCAiJiN4MjE1QjsiLS0+Cis8IS0tRU5USVRZ
IGZyYWMzOCAiJiN4MjE1QzsiLS0+Cis8IS0tRU5USVRZIGZyYWM1OCAiJiN4MjE1RDsiLS0+Cis8
IS0tRU5USVRZIGZyYWM3OCAiJiN4MjE1RTsiLS0+Cis8IS0tRU5USVRZIGxhcnIgIiYjeDIxOTA7
Ii0tPgorPCEtLUVOVElUWSBsZWZ0YXJyb3cgIiYjeDIxOTA7Ii0tPgorPCEtLUVOVElUWSBMZWZ0
QXJyb3cgIiYjeDIxOTA7Ii0tPgorPCEtLUVOVElUWSBzbGFyciAiJiN4MjE5MDsiLS0+Cis8IS0t
RU5USVRZIFNob3J0TGVmdEFycm93ICImI3gyMTkwOyItLT4KKzwhLS1FTlRJVFkgdWFyciAiJiN4
MjE5MTsiLS0+Cis8IS0tRU5USVRZIHVwYXJyb3cgIiYjeDIxOTE7Ii0tPgorPCEtLUVOVElUWSBV
cEFycm93ICImI3gyMTkxOyItLT4KKzwhLS1FTlRJVFkgU2hvcnRVcEFycm93ICImI3gyMTkxOyIt
LT4KKzwhLS1FTlRJVFkgcmFyciAiJiN4MjE5MjsiLS0+Cis8IS0tRU5USVRZIHJpZ2h0YXJyb3cg
IiYjeDIxOTI7Ii0tPgorPCEtLUVOVElUWSBSaWdodEFycm93ICImI3gyMTkyOyItLT4KKzwhLS1F
TlRJVFkgc3JhcnIgIiYjeDIxOTI7Ii0tPgorPCEtLUVOVElUWSBTaG9ydFJpZ2h0QXJyb3cgIiYj
eDIxOTI7Ii0tPgorPCEtLUVOVElUWSBkYXJyICImI3gyMTkzOyItLT4KKzwhLS1FTlRJVFkgZG93
bmFycm93ICImI3gyMTkzOyItLT4KKzwhLS1FTlRJVFkgRG93bkFycm93ICImI3gyMTkzOyItLT4K
KzwhLS1FTlRJVFkgU2hvcnREb3duQXJyb3cgIiYjeDIxOTM7Ii0tPgorPCEtLUVOVElUWSBoYXJy
ICImI3gyMTk0OyItLT4KKzwhLS1FTlRJVFkgbGVmdHJpZ2h0YXJyb3cgIiYjeDIxOTQ7Ii0tPgor
PCEtLUVOVElUWSBMZWZ0UmlnaHRBcnJvdyAiJiN4MjE5NDsiLS0+Cis8IS0tRU5USVRZIHZhcnIg
IiYjeDIxOTU7Ii0tPgorPCEtLUVOVElUWSB1cGRvd25hcnJvdyAiJiN4MjE5NTsiLS0+Cis8IS0t
RU5USVRZIFVwRG93bkFycm93ICImI3gyMTk1OyItLT4KKzwhLS1FTlRJVFkgbndhcnIgIiYjeDIx
OTY7Ii0tPgorPCEtLUVOVElUWSBVcHBlckxlZnRBcnJvdyAiJiN4MjE5NjsiLS0+Cis8IS0tRU5U
SVRZIG53YXJyb3cgIiYjeDIxOTY7Ii0tPgorPCEtLUVOVElUWSBuZWFyciAiJiN4MjE5NzsiLS0+
Cis8IS0tRU5USVRZIFVwcGVyUmlnaHRBcnJvdyAiJiN4MjE5NzsiLS0+Cis8IS0tRU5USVRZIG5l
YXJyb3cgIiYjeDIxOTc7Ii0tPgorPCEtLUVOVElUWSBzZWFyciAiJiN4MjE5ODsiLS0+Cis8IS0t
RU5USVRZIHNlYXJyb3cgIiYjeDIxOTg7Ii0tPgorPCEtLUVOVElUWSBMb3dlclJpZ2h0QXJyb3cg
IiYjeDIxOTg7Ii0tPgorPCEtLUVOVElUWSBzd2FyciAiJiN4MjE5OTsiLS0+Cis8IS0tRU5USVRZ
IHN3YXJyb3cgIiYjeDIxOTk7Ii0tPgorPCEtLUVOVElUWSBMb3dlckxlZnRBcnJvdyAiJiN4MjE5
OTsiLS0+Cis8IS0tRU5USVRZIG5sYXJyICImI3gyMTlBOyItLT4KKzwhLS1FTlRJVFkgbmxlZnRh
cnJvdyAiJiN4MjE5QTsiLS0+Cis8IS0tRU5USVRZIG5yYXJyICImI3gyMTlCOyItLT4KKzwhLS1F
TlRJVFkgbnJpZ2h0YXJyb3cgIiYjeDIxOUI7Ii0tPgorPCEtLUVOVElUWSByYXJydyAiJiN4MjE5
RDsiLS0+Cis8IS0tRU5USVRZIHJpZ2h0c3F1aWdhcnJvdyAiJiN4MjE5RDsiLS0+Cis8IS0tRU5U
SVRZIG5yYXJydyAiJiN4MjE5RDsmI3gzMzg7Ii0tPgorPCEtLUVOVElUWSBMYXJyICImI3gyMTlF
OyItLT4KKzwhLS1FTlRJVFkgdHdvaGVhZGxlZnRhcnJvdyAiJiN4MjE5RTsiLS0+Cis8IS0tRU5U
SVRZIFVhcnIgIiYjeDIxOUY7Ii0tPgorPCEtLUVOVElUWSBSYXJyICImI3gyMUEwOyItLT4KKzwh
LS1FTlRJVFkgdHdvaGVhZHJpZ2h0YXJyb3cgIiYjeDIxQTA7Ii0tPgorPCEtLUVOVElUWSBEYXJy
ICImI3gyMUExOyItLT4KKzwhLS1FTlRJVFkgbGFycnRsICImI3gyMUEyOyItLT4KKzwhLS1FTlRJ
VFkgbGVmdGFycm93dGFpbCAiJiN4MjFBMjsiLS0+Cis8IS0tRU5USVRZIHJhcnJ0bCAiJiN4MjFB
MzsiLS0+Cis8IS0tRU5USVRZIHJpZ2h0YXJyb3d0YWlsICImI3gyMUEzOyItLT4KKzwhLS1FTlRJ
VFkgTGVmdFRlZUFycm93ICImI3gyMUE0OyItLT4KKzwhLS1FTlRJVFkgbWFwc3RvbGVmdCAiJiN4
MjFBNDsiLS0+Cis8IS0tRU5USVRZIFVwVGVlQXJyb3cgIiYjeDIxQTU7Ii0tPgorPCEtLUVOVElU
WSBtYXBzdG91cCAiJiN4MjFBNTsiLS0+Cis8IS0tRU5USVRZIG1hcCAiJiN4MjFBNjsiLS0+Cis8
IS0tRU5USVRZIFJpZ2h0VGVlQXJyb3cgIiYjeDIxQTY7Ii0tPgorPCEtLUVOVElUWSBtYXBzdG8g
IiYjeDIxQTY7Ii0tPgorPCEtLUVOVElUWSBEb3duVGVlQXJyb3cgIiYjeDIxQTc7Ii0tPgorPCEt
LUVOVElUWSBtYXBzdG9kb3duICImI3gyMUE3OyItLT4KKzwhLS1FTlRJVFkgbGFycmhrICImI3gy
MUE5OyItLT4KKzwhLS1FTlRJVFkgaG9va2xlZnRhcnJvdyAiJiN4MjFBOTsiLS0+Cis8IS0tRU5U
SVRZIHJhcnJoayAiJiN4MjFBQTsiLS0+Cis8IS0tRU5USVRZIGhvb2tyaWdodGFycm93ICImI3gy
MUFBOyItLT4KKzwhLS1FTlRJVFkgbGFycmxwICImI3gyMUFCOyItLT4KKzwhLS1FTlRJVFkgbG9v
cGFycm93bGVmdCAiJiN4MjFBQjsiLS0+Cis8IS0tRU5USVRZIHJhcnJscCAiJiN4MjFBQzsiLS0+
Cis8IS0tRU5USVRZIGxvb3BhcnJvd3JpZ2h0ICImI3gyMUFDOyItLT4KKzwhLS1FTlRJVFkgaGFy
cncgIiYjeDIxQUQ7Ii0tPgorPCEtLUVOVElUWSBsZWZ0cmlnaHRzcXVpZ2Fycm93ICImI3gyMUFE
OyItLT4KKzwhLS1FTlRJVFkgbmhhcnIgIiYjeDIxQUU7Ii0tPgorPCEtLUVOVElUWSBubGVmdHJp
Z2h0YXJyb3cgIiYjeDIxQUU7Ii0tPgorPCEtLUVOVElUWSBsc2ggIiYjeDIxQjA7Ii0tPgorPCEt
LUVOVElUWSBMc2ggIiYjeDIxQjA7Ii0tPgorPCEtLUVOVElUWSByc2ggIiYjeDIxQjE7Ii0tPgor
PCEtLUVOVElUWSBSc2ggIiYjeDIxQjE7Ii0tPgorPCEtLUVOVElUWSBsZHNoICImI3gyMUIyOyIt
LT4KKzwhLS1FTlRJVFkgcmRzaCAiJiN4MjFCMzsiLS0+Cis8IS0tRU5USVRZIGNyYXJyICImI3gy
MUI1OyItLT4KKzwhLS1FTlRJVFkgY3VsYXJyICImI3gyMUI2OyItLT4KKzwhLS1FTlRJVFkgY3Vy
dmVhcnJvd2xlZnQgIiYjeDIxQjY7Ii0tPgorPCEtLUVOVElUWSBjdXJhcnIgIiYjeDIxQjc7Ii0t
PgorPCEtLUVOVElUWSBjdXJ2ZWFycm93cmlnaHQgIiYjeDIxQjc7Ii0tPgorPCEtLUVOVElUWSBv
bGFyciAiJiN4MjFCQTsiLS0+Cis8IS0tRU5USVRZIGNpcmNsZWFycm93bGVmdCAiJiN4MjFCQTsi
LS0+Cis8IS0tRU5USVRZIG9yYXJyICImI3gyMUJCOyItLT4KKzwhLS1FTlRJVFkgY2lyY2xlYXJy
b3dyaWdodCAiJiN4MjFCQjsiLS0+Cis8IS0tRU5USVRZIGxoYXJ1ICImI3gyMUJDOyItLT4KKzwh
LS1FTlRJVFkgTGVmdFZlY3RvciAiJiN4MjFCQzsiLS0+Cis8IS0tRU5USVRZIGxlZnRoYXJwb29u
dXAgIiYjeDIxQkM7Ii0tPgorPCEtLUVOVElUWSBsaGFyZCAiJiN4MjFCRDsiLS0+Cis8IS0tRU5U
SVRZIGxlZnRoYXJwb29uZG93biAiJiN4MjFCRDsiLS0+Cis8IS0tRU5USVRZIERvd25MZWZ0VmVj
dG9yICImI3gyMUJEOyItLT4KKzwhLS1FTlRJVFkgdWhhcnIgIiYjeDIxQkU7Ii0tPgorPCEtLUVO
VElUWSB1cGhhcnBvb25yaWdodCAiJiN4MjFCRTsiLS0+Cis8IS0tRU5USVRZIFJpZ2h0VXBWZWN0
b3IgIiYjeDIxQkU7Ii0tPgorPCEtLUVOVElUWSB1aGFybCAiJiN4MjFCRjsiLS0+Cis8IS0tRU5U
SVRZIHVwaGFycG9vbmxlZnQgIiYjeDIxQkY7Ii0tPgorPCEtLUVOVElUWSBMZWZ0VXBWZWN0b3Ig
IiYjeDIxQkY7Ii0tPgorPCEtLUVOVElUWSByaGFydSAiJiN4MjFDMDsiLS0+Cis8IS0tRU5USVRZ
IFJpZ2h0VmVjdG9yICImI3gyMUMwOyItLT4KKzwhLS1FTlRJVFkgcmlnaHRoYXJwb29udXAgIiYj
eDIxQzA7Ii0tPgorPCEtLUVOVElUWSByaGFyZCAiJiN4MjFDMTsiLS0+Cis8IS0tRU5USVRZIHJp
Z2h0aGFycG9vbmRvd24gIiYjeDIxQzE7Ii0tPgorPCEtLUVOVElUWSBEb3duUmlnaHRWZWN0b3Ig
IiYjeDIxQzE7Ii0tPgorPCEtLUVOVElUWSBkaGFyciAiJiN4MjFDMjsiLS0+Cis8IS0tRU5USVRZ
IFJpZ2h0RG93blZlY3RvciAiJiN4MjFDMjsiLS0+Cis8IS0tRU5USVRZIGRvd25oYXJwb29ucmln
aHQgIiYjeDIxQzI7Ii0tPgorPCEtLUVOVElUWSBkaGFybCAiJiN4MjFDMzsiLS0+Cis8IS0tRU5U
SVRZIExlZnREb3duVmVjdG9yICImI3gyMUMzOyItLT4KKzwhLS1FTlRJVFkgZG93bmhhcnBvb25s
ZWZ0ICImI3gyMUMzOyItLT4KKzwhLS1FTlRJVFkgcmxhcnIgIiYjeDIxQzQ7Ii0tPgorPCEtLUVO
VElUWSByaWdodGxlZnRhcnJvd3MgIiYjeDIxQzQ7Ii0tPgorPCEtLUVOVElUWSBSaWdodEFycm93
TGVmdEFycm93ICImI3gyMUM0OyItLT4KKzwhLS1FTlRJVFkgdWRhcnIgIiYjeDIxQzU7Ii0tPgor
PCEtLUVOVElUWSBVcEFycm93RG93bkFycm93ICImI3gyMUM1OyItLT4KKzwhLS1FTlRJVFkgbHJh
cnIgIiYjeDIxQzY7Ii0tPgorPCEtLUVOVElUWSBsZWZ0cmlnaHRhcnJvd3MgIiYjeDIxQzY7Ii0t
PgorPCEtLUVOVElUWSBMZWZ0QXJyb3dSaWdodEFycm93ICImI3gyMUM2OyItLT4KKzwhLS1FTlRJ
VFkgbGxhcnIgIiYjeDIxQzc7Ii0tPgorPCEtLUVOVElUWSBsZWZ0bGVmdGFycm93cyAiJiN4MjFD
NzsiLS0+Cis8IS0tRU5USVRZIHV1YXJyICImI3gyMUM4OyItLT4KKzwhLS1FTlRJVFkgdXB1cGFy
cm93cyAiJiN4MjFDODsiLS0+Cis8IS0tRU5USVRZIHJyYXJyICImI3gyMUM5OyItLT4KKzwhLS1F
TlRJVFkgcmlnaHRyaWdodGFycm93cyAiJiN4MjFDOTsiLS0+Cis8IS0tRU5USVRZIGRkYXJyICIm
I3gyMUNBOyItLT4KKzwhLS1FTlRJVFkgZG93bmRvd25hcnJvd3MgIiYjeDIxQ0E7Ii0tPgorPCEt
LUVOVElUWSBscmhhciAiJiN4MjFDQjsiLS0+Cis8IS0tRU5USVRZIFJldmVyc2VFcXVpbGlicml1
bSAiJiN4MjFDQjsiLS0+Cis8IS0tRU5USVRZIGxlZnRyaWdodGhhcnBvb25zICImI3gyMUNCOyIt
LT4KKzwhLS1FTlRJVFkgcmxoYXIgIiYjeDIxQ0M7Ii0tPgorPCEtLUVOVElUWSByaWdodGxlZnRo
YXJwb29ucyAiJiN4MjFDQzsiLS0+Cis8IS0tRU5USVRZIEVxdWlsaWJyaXVtICImI3gyMUNDOyIt
LT4KKzwhLS1FTlRJVFkgbmxBcnIgIiYjeDIxQ0Q7Ii0tPgorPCEtLUVOVElUWSBuTGVmdGFycm93
ICImI3gyMUNEOyItLT4KKzwhLS1FTlRJVFkgbmhBcnIgIiYjeDIxQ0U7Ii0tPgorPCEtLUVOVElU
WSBuTGVmdHJpZ2h0YXJyb3cgIiYjeDIxQ0U7Ii0tPgorPCEtLUVOVElUWSBuckFyciAiJiN4MjFD
RjsiLS0+Cis8IS0tRU5USVRZIG5SaWdodGFycm93ICImI3gyMUNGOyItLT4KKzwhLS1FTlRJVFkg
bEFyciAiJiN4MjFEMDsiLS0+Cis8IS0tRU5USVRZIExlZnRhcnJvdyAiJiN4MjFEMDsiLS0+Cis8
IS0tRU5USVRZIERvdWJsZUxlZnRBcnJvdyAiJiN4MjFEMDsiLS0+Cis8IS0tRU5USVRZIHVBcnIg
IiYjeDIxRDE7Ii0tPgorPCEtLUVOVElUWSBVcGFycm93ICImI3gyMUQxOyItLT4KKzwhLS1FTlRJ
VFkgRG91YmxlVXBBcnJvdyAiJiN4MjFEMTsiLS0+Cis8IS0tRU5USVRZIHJBcnIgIiYjeDIxRDI7
Ii0tPgorPCEtLUVOVElUWSBSaWdodGFycm93ICImI3gyMUQyOyItLT4KKzwhLS1FTlRJVFkgSW1w
bGllcyAiJiN4MjFEMjsiLS0+Cis8IS0tRU5USVRZIERvdWJsZVJpZ2h0QXJyb3cgIiYjeDIxRDI7
Ii0tPgorPCEtLUVOVElUWSBkQXJyICImI3gyMUQzOyItLT4KKzwhLS1FTlRJVFkgRG93bmFycm93
ICImI3gyMUQzOyItLT4KKzwhLS1FTlRJVFkgRG91YmxlRG93bkFycm93ICImI3gyMUQzOyItLT4K
KzwhLS1FTlRJVFkgaEFyciAiJiN4MjFENDsiLS0+Cis8IS0tRU5USVRZIExlZnRyaWdodGFycm93
ICImI3gyMUQ0OyItLT4KKzwhLS1FTlRJVFkgRG91YmxlTGVmdFJpZ2h0QXJyb3cgIiYjeDIxRDQ7
Ii0tPgorPCEtLUVOVElUWSBpZmYgIiYjeDIxRDQ7Ii0tPgorPCEtLUVOVElUWSB2QXJyICImI3gy
MUQ1OyItLT4KKzwhLS1FTlRJVFkgVXBkb3duYXJyb3cgIiYjeDIxRDU7Ii0tPgorPCEtLUVOVElU
WSBEb3VibGVVcERvd25BcnJvdyAiJiN4MjFENTsiLS0+Cis8IS0tRU5USVRZIG53QXJyICImI3gy
MUQ2OyItLT4KKzwhLS1FTlRJVFkgbmVBcnIgIiYjeDIxRDc7Ii0tPgorPCEtLUVOVElUWSBzZUFy
ciAiJiN4MjFEODsiLS0+Cis8IS0tRU5USVRZIHN3QXJyICImI3gyMUQ5OyItLT4KKzwhLS1FTlRJ
VFkgbEFhcnIgIiYjeDIxREE7Ii0tPgorPCEtLUVOVElUWSBMbGVmdGFycm93ICImI3gyMURBOyIt
LT4KKzwhLS1FTlRJVFkgckFhcnIgIiYjeDIxREI7Ii0tPgorPCEtLUVOVElUWSBScmlnaHRhcnJv
dyAiJiN4MjFEQjsiLS0+Cis8IS0tRU5USVRZIHppZ3JhcnIgIiYjeDIxREQ7Ii0tPgorPCEtLUVO
VElUWSBsYXJyYiAiJiN4MjFFNDsiLS0+Cis8IS0tRU5USVRZIExlZnRBcnJvd0JhciAiJiN4MjFF
NDsiLS0+Cis8IS0tRU5USVRZIHJhcnJiICImI3gyMUU1OyItLT4KKzwhLS1FTlRJVFkgUmlnaHRB
cnJvd0JhciAiJiN4MjFFNTsiLS0+Cis8IS0tRU5USVRZIGR1YXJyICImI3gyMUY1OyItLT4KKzwh
LS1FTlRJVFkgRG93bkFycm93VXBBcnJvdyAiJiN4MjFGNTsiLS0+Cis8IS0tRU5USVRZIGxvYXJy
ICImI3gyMUZEOyItLT4KKzwhLS1FTlRJVFkgcm9hcnIgIiYjeDIxRkU7Ii0tPgorPCEtLUVOVElU
WSBob2FyciAiJiN4MjFGRjsiLS0+Cis8IS0tRU5USVRZIGZvcmFsbCAiJiN4MjIwMDsiLS0+Cis8
IS0tRU5USVRZIEZvckFsbCAiJiN4MjIwMDsiLS0+Cis8IS0tRU5USVRZIGNvbXAgIiYjeDIyMDE7
Ii0tPgorPCEtLUVOVElUWSBjb21wbGVtZW50ICImI3gyMjAxOyItLT4KKzwhLS1FTlRJVFkgcGFy
dCAiJiN4MjIwMjsiLS0+Cis8IS0tRU5USVRZIFBhcnRpYWxEICImI3gyMjAyOyItLT4KKzwhLS1F
TlRJVFkgbnBhcnQgIiYjeDIyMDI7JiN4MzM4OyItLT4KKzwhLS1FTlRJVFkgZXhpc3QgIiYjeDIy
MDM7Ii0tPgorPCEtLUVOVElUWSBFeGlzdHMgIiYjeDIyMDM7Ii0tPgorPCEtLUVOVElUWSBuZXhp
c3QgIiYjeDIyMDQ7Ii0tPgorPCEtLUVOVElUWSBOb3RFeGlzdHMgIiYjeDIyMDQ7Ii0tPgorPCEt
LUVOVElUWSBuZXhpc3RzICImI3gyMjA0OyItLT4KKzwhLS1FTlRJVFkgZW1wdHkgIiYjeDIyMDU7
Ii0tPgorPCEtLUVOVElUWSBlbXB0eXNldCAiJiN4MjIwNTsiLS0+Cis8IS0tRU5USVRZIGVtcHR5
diAiJiN4MjIwNTsiLS0+Cis8IS0tRU5USVRZIHZhcm5vdGhpbmcgIiYjeDIyMDU7Ii0tPgorPCEt
LUVOVElUWSBuYWJsYSAiJiN4MjIwNzsiLS0+Cis8IS0tRU5USVRZIERlbCAiJiN4MjIwNzsiLS0+
Cis8IS0tRU5USVRZIGlzaW4gIiYjeDIyMDg7Ii0tPgorPCEtLUVOVElUWSBpc2ludiAiJiN4MjIw
ODsiLS0+Cis8IS0tRU5USVRZIEVsZW1lbnQgIiYjeDIyMDg7Ii0tPgorPCEtLUVOVElUWSBpbiAi
JiN4MjIwODsiLS0+Cis8IS0tRU5USVRZIG5vdGluICImI3gyMjA5OyItLT4KKzwhLS1FTlRJVFkg
Tm90RWxlbWVudCAiJiN4MjIwOTsiLS0+Cis8IS0tRU5USVRZIG5vdGludmEgIiYjeDIyMDk7Ii0t
PgorPCEtLUVOVElUWSBuaXYgIiYjeDIyMEI7Ii0tPgorPCEtLUVOVElUWSBSZXZlcnNlRWxlbWVu
dCAiJiN4MjIwQjsiLS0+Cis8IS0tRU5USVRZIG5pICImI3gyMjBCOyItLT4KKzwhLS1FTlRJVFkg
U3VjaFRoYXQgIiYjeDIyMEI7Ii0tPgorPCEtLUVOVElUWSBub3RuaSAiJiN4MjIwQzsiLS0+Cis8
IS0tRU5USVRZIG5vdG5pdmEgIiYjeDIyMEM7Ii0tPgorPCEtLUVOVElUWSBOb3RSZXZlcnNlRWxl
bWVudCAiJiN4MjIwQzsiLS0+Cis8IS0tRU5USVRZIHByb2QgIiYjeDIyMEY7Ii0tPgorPCEtLUVO
VElUWSBQcm9kdWN0ICImI3gyMjBGOyItLT4KKzwhLS1FTlRJVFkgY29wcm9kICImI3gyMjEwOyIt
LT4KKzwhLS1FTlRJVFkgQ29wcm9kdWN0ICImI3gyMjEwOyItLT4KKzwhLS1FTlRJVFkgc3VtICIm
I3gyMjExOyItLT4KKzwhLS1FTlRJVFkgU3VtICImI3gyMjExOyItLT4KKzwhLS1FTlRJVFkgbWlu
dXMgIiYjeDIyMTI7Ii0tPgorPCEtLUVOVElUWSBtbnBsdXMgIiYjeDIyMTM7Ii0tPgorPCEtLUVO
VElUWSBtcCAiJiN4MjIxMzsiLS0+Cis8IS0tRU5USVRZIE1pbnVzUGx1cyAiJiN4MjIxMzsiLS0+
Cis8IS0tRU5USVRZIHBsdXNkbyAiJiN4MjIxNDsiLS0+Cis8IS0tRU5USVRZIGRvdHBsdXMgIiYj
eDIyMTQ7Ii0tPgorPCEtLUVOVElUWSBzZXRtbiAiJiN4MjIxNjsiLS0+Cis8IS0tRU5USVRZIHNl
dG1pbnVzICImI3gyMjE2OyItLT4KKzwhLS1FTlRJVFkgQmFja3NsYXNoICImI3gyMjE2OyItLT4K
KzwhLS1FTlRJVFkgc3NldG1uICImI3gyMjE2OyItLT4KKzwhLS1FTlRJVFkgc21hbGxzZXRtaW51
cyAiJiN4MjIxNjsiLS0+Cis8IS0tRU5USVRZIGxvd2FzdCAiJiN4MjIxNzsiLS0+Cis8IS0tRU5U
SVRZIGNvbXBmbiAiJiN4MjIxODsiLS0+Cis8IS0tRU5USVRZIFNtYWxsQ2lyY2xlICImI3gyMjE4
OyItLT4KKzwhLS1FTlRJVFkgcmFkaWMgIiYjeDIyMUE7Ii0tPgorPCEtLUVOVElUWSBTcXJ0ICIm
I3gyMjFBOyItLT4KKzwhLS1FTlRJVFkgcHJvcCAiJiN4MjIxRDsiLS0+Cis8IS0tRU5USVRZIHBy
b3B0byAiJiN4MjIxRDsiLS0+Cis8IS0tRU5USVRZIFByb3BvcnRpb25hbCAiJiN4MjIxRDsiLS0+
Cis8IS0tRU5USVRZIHZwcm9wICImI3gyMjFEOyItLT4KKzwhLS1FTlRJVFkgdmFycHJvcHRvICIm
I3gyMjFEOyItLT4KKzwhLS1FTlRJVFkgaW5maW4gIiYjeDIyMUU7Ii0tPgorPCEtLUVOVElUWSBh
bmdydCAiJiN4MjIxRjsiLS0+Cis8IS0tRU5USVRZIGFuZyAiJiN4MjIyMDsiLS0+Cis8IS0tRU5U
SVRZIGFuZ2xlICImI3gyMjIwOyItLT4KKzwhLS1FTlRJVFkgbmFuZyAiJiN4MjIyMDsmI3gyMEQy
OyItLT4KKzwhLS1FTlRJVFkgYW5nbXNkICImI3gyMjIxOyItLT4KKzwhLS1FTlRJVFkgbWVhc3Vy
ZWRhbmdsZSAiJiN4MjIyMTsiLS0+Cis8IS0tRU5USVRZIGFuZ3NwaCAiJiN4MjIyMjsiLS0+Cis8
IS0tRU5USVRZIG1pZCAiJiN4MjIyMzsiLS0+Cis8IS0tRU5USVRZIFZlcnRpY2FsQmFyICImI3gy
MjIzOyItLT4KKzwhLS1FTlRJVFkgc21pZCAiJiN4MjIyMzsiLS0+Cis8IS0tRU5USVRZIHNob3J0
bWlkICImI3gyMjIzOyItLT4KKzwhLS1FTlRJVFkgbm1pZCAiJiN4MjIyNDsiLS0+Cis8IS0tRU5U
SVRZIE5vdFZlcnRpY2FsQmFyICImI3gyMjI0OyItLT4KKzwhLS1FTlRJVFkgbnNtaWQgIiYjeDIy
MjQ7Ii0tPgorPCEtLUVOVElUWSBuc2hvcnRtaWQgIiYjeDIyMjQ7Ii0tPgorPCEtLUVOVElUWSBw
YXIgIiYjeDIyMjU7Ii0tPgorPCEtLUVOVElUWSBwYXJhbGxlbCAiJiN4MjIyNTsiLS0+Cis8IS0t
RU5USVRZIERvdWJsZVZlcnRpY2FsQmFyICImI3gyMjI1OyItLT4KKzwhLS1FTlRJVFkgc3BhciAi
JiN4MjIyNTsiLS0+Cis8IS0tRU5USVRZIHNob3J0cGFyYWxsZWwgIiYjeDIyMjU7Ii0tPgorPCEt
LUVOVElUWSBucGFyICImI3gyMjI2OyItLT4KKzwhLS1FTlRJVFkgbnBhcmFsbGVsICImI3gyMjI2
OyItLT4KKzwhLS1FTlRJVFkgTm90RG91YmxlVmVydGljYWxCYXIgIiYjeDIyMjY7Ii0tPgorPCEt
LUVOVElUWSBuc3BhciAiJiN4MjIyNjsiLS0+Cis8IS0tRU5USVRZIG5zaG9ydHBhcmFsbGVsICIm
I3gyMjI2OyItLT4KKzwhLS1FTlRJVFkgYW5kICImI3gyMjI3OyItLT4KKzwhLS1FTlRJVFkgd2Vk
Z2UgIiYjeDIyMjc7Ii0tPgorPCEtLUVOVElUWSBvciAiJiN4MjIyODsiLS0+Cis8IS0tRU5USVRZ
IHZlZSAiJiN4MjIyODsiLS0+Cis8IS0tRU5USVRZIGNhcCAiJiN4MjIyOTsiLS0+Cis8IS0tRU5U
SVRZIGNhcHMgIiYjeDIyMjk7JiN4RkUwMDsiLS0+Cis8IS0tRU5USVRZIGN1cCAiJiN4MjIyQTsi
LS0+Cis8IS0tRU5USVRZIGN1cHMgIiYjeDIyMkE7JiN4RkUwMDsiLS0+Cis8IS0tRU5USVRZIGlu
dCAiJiN4MjIyQjsiLS0+Cis8IS0tRU5USVRZIEludGVncmFsICImI3gyMjJCOyItLT4KKzwhLS1F
TlRJVFkgSW50ICImI3gyMjJDOyItLT4KKzwhLS1FTlRJVFkgdGludCAiJiN4MjIyRDsiLS0+Cis8
IS0tRU5USVRZIGlpaW50ICImI3gyMjJEOyItLT4KKzwhLS1FTlRJVFkgY29uaW50ICImI3gyMjJF
OyItLT4KKzwhLS1FTlRJVFkgb2ludCAiJiN4MjIyRTsiLS0+Cis8IS0tRU5USVRZIENvbnRvdXJJ
bnRlZ3JhbCAiJiN4MjIyRTsiLS0+Cis8IS0tRU5USVRZIENvbmludCAiJiN4MjIyRjsiLS0+Cis8
IS0tRU5USVRZIERvdWJsZUNvbnRvdXJJbnRlZ3JhbCAiJiN4MjIyRjsiLS0+Cis8IS0tRU5USVRZ
IENjb25pbnQgIiYjeDIyMzA7Ii0tPgorPCEtLUVOVElUWSBjd2ludCAiJiN4MjIzMTsiLS0+Cis8
IS0tRU5USVRZIGN3Y29uaW50ICImI3gyMjMyOyItLT4KKzwhLS1FTlRJVFkgQ2xvY2t3aXNlQ29u
dG91ckludGVncmFsICImI3gyMjMyOyItLT4KKzwhLS1FTlRJVFkgYXdjb25pbnQgIiYjeDIyMzM7
Ii0tPgorPCEtLUVOVElUWSBDb3VudGVyQ2xvY2t3aXNlQ29udG91ckludGVncmFsICImI3gyMjMz
OyItLT4KKzwhLS1FTlRJVFkgdGhlcmU0ICImI3gyMjM0OyItLT4KKzwhLS1FTlRJVFkgdGhlcmVm
b3JlICImI3gyMjM0OyItLT4KKzwhLS1FTlRJVFkgVGhlcmVmb3JlICImI3gyMjM0OyItLT4KKzwh
LS1FTlRJVFkgYmVjYXVzICImI3gyMjM1OyItLT4KKzwhLS1FTlRJVFkgYmVjYXVzZSAiJiN4MjIz
NTsiLS0+Cis8IS0tRU5USVRZIEJlY2F1c2UgIiYjeDIyMzU7Ii0tPgorPCEtLUVOVElUWSByYXRp
byAiJiN4MjIzNjsiLS0+Cis8IS0tRU5USVRZIENvbG9uICImI3gyMjM3OyItLT4KKzwhLS1FTlRJ
VFkgUHJvcG9ydGlvbiAiJiN4MjIzNzsiLS0+Cis8IS0tRU5USVRZIG1pbnVzZCAiJiN4MjIzODsi
LS0+Cis8IS0tRU5USVRZIGRvdG1pbnVzICImI3gyMjM4OyItLT4KKzwhLS1FTlRJVFkgbUREb3Qg
IiYjeDIyM0E7Ii0tPgorPCEtLUVOVElUWSBob210aHQgIiYjeDIyM0I7Ii0tPgorPCEtLUVOVElU
WSBzaW0gIiYjeDIyM0M7Ii0tPgorPCEtLUVOVElUWSBUaWxkZSAiJiN4MjIzQzsiLS0+Cis8IS0t
RU5USVRZIHRoa3NpbSAiJiN4MjIzQzsiLS0+Cis8IS0tRU5USVRZIHRoaWNrc2ltICImI3gyMjND
OyItLT4KKzwhLS1FTlRJVFkgbnZzaW0gIiYjeDIyM0M7JiN4MjBEMjsiLS0+Cis8IS0tRU5USVRZ
IGJzaW0gIiYjeDIyM0Q7Ii0tPgorPCEtLUVOVElUWSBiYWNrc2ltICImI3gyMjNEOyItLT4KKzwh
LS1FTlRJVFkgcmFjZSAiJiN4MjIzRDsmI3gzMzE7Ii0tPgorPCEtLUVOVElUWSBhYyAiJiN4MjIz
RTsiLS0+Cis8IS0tRU5USVRZIG1zdHBvcyAiJiN4MjIzRTsiLS0+Cis8IS0tRU5USVRZIGFjRSAi
JiN4MjIzRTsmI3gzMzM7Ii0tPgorPCEtLUVOVElUWSBhY2QgIiYjeDIyM0Y7Ii0tPgorPCEtLUVO
VElUWSB3cmVhdGggIiYjeDIyNDA7Ii0tPgorPCEtLUVOVElUWSBWZXJ0aWNhbFRpbGRlICImI3gy
MjQwOyItLT4KKzwhLS1FTlRJVFkgd3IgIiYjeDIyNDA7Ii0tPgorPCEtLUVOVElUWSBuc2ltICIm
I3gyMjQxOyItLT4KKzwhLS1FTlRJVFkgTm90VGlsZGUgIiYjeDIyNDE7Ii0tPgorPCEtLUVOVElU
WSBlc2ltICImI3gyMjQyOyItLT4KKzwhLS1FTlRJVFkgRXF1YWxUaWxkZSAiJiN4MjI0MjsiLS0+
Cis8IS0tRU5USVRZIGVxc2ltICImI3gyMjQyOyItLT4KKzwhLS1FTlRJVFkgTm90RXF1YWxUaWxk
ZSAiJiN4MjI0MjsmI3gzMzg7Ii0tPgorPCEtLUVOVElUWSBuZXNpbSAiJiN4MjI0MjsmI3gzMzg7
Ii0tPgorPCEtLUVOVElUWSBzaW1lICImI3gyMjQzOyItLT4KKzwhLS1FTlRJVFkgVGlsZGVFcXVh
bCAiJiN4MjI0MzsiLS0+Cis8IS0tRU5USVRZIHNpbWVxICImI3gyMjQzOyItLT4KKzwhLS1FTlRJ
VFkgbnNpbWUgIiYjeDIyNDQ7Ii0tPgorPCEtLUVOVElUWSBuc2ltZXEgIiYjeDIyNDQ7Ii0tPgor
PCEtLUVOVElUWSBOb3RUaWxkZUVxdWFsICImI3gyMjQ0OyItLT4KKzwhLS1FTlRJVFkgY29uZyAi
JiN4MjI0NTsiLS0+Cis8IS0tRU5USVRZIFRpbGRlRnVsbEVxdWFsICImI3gyMjQ1OyItLT4KKzwh
LS1FTlRJVFkgc2ltbmUgIiYjeDIyNDY7Ii0tPgorPCEtLUVOVElUWSBuY29uZyAiJiN4MjI0Nzsi
LS0+Cis8IS0tRU5USVRZIE5vdFRpbGRlRnVsbEVxdWFsICImI3gyMjQ3OyItLT4KKzwhLS1FTlRJ
VFkgYXN5bXAgIiYjeDIyNDg7Ii0tPgorPCEtLUVOVElUWSBhcCAiJiN4MjI0ODsiLS0+Cis8IS0t
RU5USVRZIFRpbGRlVGlsZGUgIiYjeDIyNDg7Ii0tPgorPCEtLUVOVElUWSBhcHByb3ggIiYjeDIy
NDg7Ii0tPgorPCEtLUVOVElUWSB0aGthcCAiJiN4MjI0ODsiLS0+Cis8IS0tRU5USVRZIHRoaWNr
YXBwcm94ICImI3gyMjQ4OyItLT4KKzwhLS1FTlRJVFkgbmFwICImI3gyMjQ5OyItLT4KKzwhLS1F
TlRJVFkgTm90VGlsZGVUaWxkZSAiJiN4MjI0OTsiLS0+Cis8IS0tRU5USVRZIG5hcHByb3ggIiYj
eDIyNDk7Ii0tPgorPCEtLUVOVElUWSBhcGUgIiYjeDIyNEE7Ii0tPgorPCEtLUVOVElUWSBhcHBy
b3hlcSAiJiN4MjI0QTsiLS0+Cis8IS0tRU5USVRZIGFwaWQgIiYjeDIyNEI7Ii0tPgorPCEtLUVO
VElUWSBuYXBpZCAiJiN4MjI0QjsmI3gzMzg7Ii0tPgorPCEtLUVOVElUWSBiY29uZyAiJiN4MjI0
QzsiLS0+Cis8IS0tRU5USVRZIGJhY2tjb25nICImI3gyMjRDOyItLT4KKzwhLS1FTlRJVFkgYXN5
bXBlcSAiJiN4MjI0RDsiLS0+Cis8IS0tRU5USVRZIEN1cENhcCAiJiN4MjI0RDsiLS0+Cis8IS0t
RU5USVRZIG52YXAgIiYjeDIyNEQ7JiN4MjBEMjsiLS0+Cis8IS0tRU5USVRZIGJ1bXAgIiYjeDIy
NEU7Ii0tPgorPCEtLUVOVElUWSBIdW1wRG93bkh1bXAgIiYjeDIyNEU7Ii0tPgorPCEtLUVOVElU
WSBCdW1wZXEgIiYjeDIyNEU7Ii0tPgorPCEtLUVOVElUWSBOb3RIdW1wRG93bkh1bXAgIiYjeDIy
NEU7JiN4MzM4OyItLT4KKzwhLS1FTlRJVFkgbmJ1bXAgIiYjeDIyNEU7JiN4MzM4OyItLT4KKzwh
LS1FTlRJVFkgYnVtcGUgIiYjeDIyNEY7Ii0tPgorPCEtLUVOVElUWSBIdW1wRXF1YWwgIiYjeDIy
NEY7Ii0tPgorPCEtLUVOVElUWSBidW1wZXEgIiYjeDIyNEY7Ii0tPgorPCEtLUVOVElUWSBuYnVt
cGUgIiYjeDIyNEY7JiN4MzM4OyItLT4KKzwhLS1FTlRJVFkgTm90SHVtcEVxdWFsICImI3gyMjRG
OyYjeDMzODsiLS0+Cis8IS0tRU5USVRZIGVzZG90ICImI3gyMjUwOyItLT4KKzwhLS1FTlRJVFkg
RG90RXF1YWwgIiYjeDIyNTA7Ii0tPgorPCEtLUVOVElUWSBkb3RlcSAiJiN4MjI1MDsiLS0+Cis8
IS0tRU5USVRZIG5lZG90ICImI3gyMjUwOyYjeDMzODsiLS0+Cis8IS0tRU5USVRZIGVEb3QgIiYj
eDIyNTE7Ii0tPgorPCEtLUVOVElUWSBkb3RlcWRvdCAiJiN4MjI1MTsiLS0+Cis8IS0tRU5USVRZ
IGVmRG90ICImI3gyMjUyOyItLT4KKzwhLS1FTlRJVFkgZmFsbGluZ2RvdHNlcSAiJiN4MjI1Mjsi
LS0+Cis8IS0tRU5USVRZIGVyRG90ICImI3gyMjUzOyItLT4KKzwhLS1FTlRJVFkgcmlzaW5nZG90
c2VxICImI3gyMjUzOyItLT4KKzwhLS1FTlRJVFkgY29sb25lICImI3gyMjU0OyItLT4KKzwhLS1F
TlRJVFkgY29sb25lcSAiJiN4MjI1NDsiLS0+Cis8IS0tRU5USVRZIEFzc2lnbiAiJiN4MjI1NDsi
LS0+Cis8IS0tRU5USVRZIGVjb2xvbiAiJiN4MjI1NTsiLS0+Cis8IS0tRU5USVRZIGVxY29sb24g
IiYjeDIyNTU7Ii0tPgorPCEtLUVOVElUWSBlY2lyICImI3gyMjU2OyItLT4KKzwhLS1FTlRJVFkg
ZXFjaXJjICImI3gyMjU2OyItLT4KKzwhLS1FTlRJVFkgY2lyZSAiJiN4MjI1NzsiLS0+Cis8IS0t
RU5USVRZIGNpcmNlcSAiJiN4MjI1NzsiLS0+Cis8IS0tRU5USVRZIHdlZGdlcSAiJiN4MjI1OTsi
LS0+Cis8IS0tRU5USVRZIHZlZWVxICImI3gyMjVBOyItLT4KKzwhLS1FTlRJVFkgdHJpZSAiJiN4
MjI1QzsiLS0+Cis8IS0tRU5USVRZIHRyaWFuZ2xlcSAiJiN4MjI1QzsiLS0+Cis8IS0tRU5USVRZ
IGVxdWVzdCAiJiN4MjI1RjsiLS0+Cis8IS0tRU5USVRZIHF1ZXN0ZXEgIiYjeDIyNUY7Ii0tPgor
PCEtLUVOVElUWSBuZSAiJiN4MjI2MDsiLS0+Cis8IS0tRU5USVRZIE5vdEVxdWFsICImI3gyMjYw
OyItLT4KKzwhLS1FTlRJVFkgZXF1aXYgIiYjeDIyNjE7Ii0tPgorPCEtLUVOVElUWSBDb25ncnVl
bnQgIiYjeDIyNjE7Ii0tPgorPCEtLUVOVElUWSBibmVxdWl2ICImI3gyMjYxOyYjeDIwRTU7Ii0t
PgorPCEtLUVOVElUWSBuZXF1aXYgIiYjeDIyNjI7Ii0tPgorPCEtLUVOVElUWSBOb3RDb25ncnVl
bnQgIiYjeDIyNjI7Ii0tPgorPCEtLUVOVElUWSBsZSAiJiN4MjI2NDsiLS0+Cis8IS0tRU5USVRZ
IGxlcSAiJiN4MjI2NDsiLS0+Cis8IS0tRU5USVRZIG52bGUgIiYjeDIyNjQ7JiN4MjBEMjsiLS0+
Cis8IS0tRU5USVRZIGdlICImI3gyMjY1OyItLT4KKzwhLS1FTlRJVFkgR3JlYXRlckVxdWFsICIm
I3gyMjY1OyItLT4KKzwhLS1FTlRJVFkgZ2VxICImI3gyMjY1OyItLT4KKzwhLS1FTlRJVFkgbnZn
ZSAiJiN4MjI2NTsmI3gyMEQyOyItLT4KKzwhLS1FTlRJVFkgbEUgIiYjeDIyNjY7Ii0tPgorPCEt
LUVOVElUWSBMZXNzRnVsbEVxdWFsICImI3gyMjY2OyItLT4KKzwhLS1FTlRJVFkgbGVxcSAiJiN4
MjI2NjsiLS0+Cis8IS0tRU5USVRZIG5sRSAiJiN4MjI2NjsmI3gzMzg7Ii0tPgorPCEtLUVOVElU
WSBubGVxcSAiJiN4MjI2NjsmI3gzMzg7Ii0tPgorPCEtLUVOVElUWSBnRSAiJiN4MjI2NzsiLS0+
Cis8IS0tRU5USVRZIEdyZWF0ZXJGdWxsRXF1YWwgIiYjeDIyNjc7Ii0tPgorPCEtLUVOVElUWSBn
ZXFxICImI3gyMjY3OyItLT4KKzwhLS1FTlRJVFkgbmdFICImI3gyMjY3OyYjeDMzODsiLS0+Cis8
IS0tRU5USVRZIG5nZXFxICImI3gyMjY3OyYjeDMzODsiLS0+Cis8IS0tRU5USVRZIE5vdEdyZWF0
ZXJGdWxsRXF1YWwgIiYjeDIyNjc7JiN4MzM4OyItLT4KKzwhLS1FTlRJVFkgbG5FICImI3gyMjY4
OyItLT4KKzwhLS1FTlRJVFkgbG5lcXEgIiYjeDIyNjg7Ii0tPgorPCEtLUVOVElUWSBsdm5FICIm
I3gyMjY4OyYjeEZFMDA7Ii0tPgorPCEtLUVOVElUWSBsdmVydG5lcXEgIiYjeDIyNjg7JiN4RkUw
MDsiLS0+Cis8IS0tRU5USVRZIGduRSAiJiN4MjI2OTsiLS0+Cis8IS0tRU5USVRZIGduZXFxICIm
I3gyMjY5OyItLT4KKzwhLS1FTlRJVFkgZ3ZuRSAiJiN4MjI2OTsmI3hGRTAwOyItLT4KKzwhLS1F
TlRJVFkgZ3ZlcnRuZXFxICImI3gyMjY5OyYjeEZFMDA7Ii0tPgorPCEtLUVOVElUWSBMdCAiJiN4
MjI2QTsiLS0+Cis8IS0tRU5USVRZIE5lc3RlZExlc3NMZXNzICImI3gyMjZBOyItLT4KKzwhLS1F
TlRJVFkgbGwgIiYjeDIyNkE7Ii0tPgorPCEtLUVOVElUWSBuTHR2ICImI3gyMjZBOyYjeDMzODsi
LS0+Cis8IS0tRU5USVRZIE5vdExlc3NMZXNzICImI3gyMjZBOyYjeDMzODsiLS0+Cis8IS0tRU5U
SVRZIG5MdCAiJiN4MjI2QTsmI3gyMEQyOyItLT4KKzwhLS1FTlRJVFkgR3QgIiYjeDIyNkI7Ii0t
PgorPCEtLUVOVElUWSBOZXN0ZWRHcmVhdGVyR3JlYXRlciAiJiN4MjI2QjsiLS0+Cis8IS0tRU5U
SVRZIGdnICImI3gyMjZCOyItLT4KKzwhLS1FTlRJVFkgbkd0diAiJiN4MjI2QjsmI3gzMzg7Ii0t
PgorPCEtLUVOVElUWSBOb3RHcmVhdGVyR3JlYXRlciAiJiN4MjI2QjsmI3gzMzg7Ii0tPgorPCEt
LUVOVElUWSBuR3QgIiYjeDIyNkI7JiN4MjBEMjsiLS0+Cis8IS0tRU5USVRZIHR3aXh0ICImI3gy
MjZDOyItLT4KKzwhLS1FTlRJVFkgYmV0d2VlbiAiJiN4MjI2QzsiLS0+Cis8IS0tRU5USVRZIE5v
dEN1cENhcCAiJiN4MjI2RDsiLS0+Cis8IS0tRU5USVRZIG5sdCAiJiN4MjI2RTsiLS0+Cis8IS0t
RU5USVRZIE5vdExlc3MgIiYjeDIyNkU7Ii0tPgorPCEtLUVOVElUWSBubGVzcyAiJiN4MjI2RTsi
LS0+Cis8IS0tRU5USVRZIG5ndCAiJiN4MjI2RjsiLS0+Cis8IS0tRU5USVRZIE5vdEdyZWF0ZXIg
IiYjeDIyNkY7Ii0tPgorPCEtLUVOVElUWSBuZ3RyICImI3gyMjZGOyItLT4KKzwhLS1FTlRJVFkg
bmxlICImI3gyMjcwOyItLT4KKzwhLS1FTlRJVFkgTm90TGVzc0VxdWFsICImI3gyMjcwOyItLT4K
KzwhLS1FTlRJVFkgbmxlcSAiJiN4MjI3MDsiLS0+Cis8IS0tRU5USVRZIG5nZSAiJiN4MjI3MTsi
LS0+Cis8IS0tRU5USVRZIE5vdEdyZWF0ZXJFcXVhbCAiJiN4MjI3MTsiLS0+Cis8IS0tRU5USVRZ
IG5nZXEgIiYjeDIyNzE7Ii0tPgorPCEtLUVOVElUWSBsc2ltICImI3gyMjcyOyItLT4KKzwhLS1F
TlRJVFkgTGVzc1RpbGRlICImI3gyMjcyOyItLT4KKzwhLS1FTlRJVFkgbGVzc3NpbSAiJiN4MjI3
MjsiLS0+Cis8IS0tRU5USVRZIGdzaW0gIiYjeDIyNzM7Ii0tPgorPCEtLUVOVElUWSBndHJzaW0g
IiYjeDIyNzM7Ii0tPgorPCEtLUVOVElUWSBHcmVhdGVyVGlsZGUgIiYjeDIyNzM7Ii0tPgorPCEt
LUVOVElUWSBubHNpbSAiJiN4MjI3NDsiLS0+Cis8IS0tRU5USVRZIE5vdExlc3NUaWxkZSAiJiN4
MjI3NDsiLS0+Cis8IS0tRU5USVRZIG5nc2ltICImI3gyMjc1OyItLT4KKzwhLS1FTlRJVFkgTm90
R3JlYXRlclRpbGRlICImI3gyMjc1OyItLT4KKzwhLS1FTlRJVFkgbGcgIiYjeDIyNzY7Ii0tPgor
PCEtLUVOVElUWSBsZXNzZ3RyICImI3gyMjc2OyItLT4KKzwhLS1FTlRJVFkgTGVzc0dyZWF0ZXIg
IiYjeDIyNzY7Ii0tPgorPCEtLUVOVElUWSBnbCAiJiN4MjI3NzsiLS0+Cis8IS0tRU5USVRZIGd0
cmxlc3MgIiYjeDIyNzc7Ii0tPgorPCEtLUVOVElUWSBHcmVhdGVyTGVzcyAiJiN4MjI3NzsiLS0+
Cis8IS0tRU5USVRZIG50bGcgIiYjeDIyNzg7Ii0tPgorPCEtLUVOVElUWSBOb3RMZXNzR3JlYXRl
ciAiJiN4MjI3ODsiLS0+Cis8IS0tRU5USVRZIG50Z2wgIiYjeDIyNzk7Ii0tPgorPCEtLUVOVElU
WSBOb3RHcmVhdGVyTGVzcyAiJiN4MjI3OTsiLS0+Cis8IS0tRU5USVRZIHByICImI3gyMjdBOyIt
LT4KKzwhLS1FTlRJVFkgUHJlY2VkZXMgIiYjeDIyN0E7Ii0tPgorPCEtLUVOVElUWSBwcmVjICIm
I3gyMjdBOyItLT4KKzwhLS1FTlRJVFkgc2MgIiYjeDIyN0I7Ii0tPgorPCEtLUVOVElUWSBTdWNj
ZWVkcyAiJiN4MjI3QjsiLS0+Cis8IS0tRU5USVRZIHN1Y2MgIiYjeDIyN0I7Ii0tPgorPCEtLUVO
VElUWSBwcmN1ZSAiJiN4MjI3QzsiLS0+Cis8IS0tRU5USVRZIFByZWNlZGVzU2xhbnRFcXVhbCAi
JiN4MjI3QzsiLS0+Cis8IS0tRU5USVRZIHByZWNjdXJseWVxICImI3gyMjdDOyItLT4KKzwhLS1F
TlRJVFkgc2NjdWUgIiYjeDIyN0Q7Ii0tPgorPCEtLUVOVElUWSBTdWNjZWVkc1NsYW50RXF1YWwg
IiYjeDIyN0Q7Ii0tPgorPCEtLUVOVElUWSBzdWNjY3VybHllcSAiJiN4MjI3RDsiLS0+Cis8IS0t
RU5USVRZIHByc2ltICImI3gyMjdFOyItLT4KKzwhLS1FTlRJVFkgcHJlY3NpbSAiJiN4MjI3RTsi
LS0+Cis8IS0tRU5USVRZIFByZWNlZGVzVGlsZGUgIiYjeDIyN0U7Ii0tPgorPCEtLUVOVElUWSBz
Y3NpbSAiJiN4MjI3RjsiLS0+Cis8IS0tRU5USVRZIHN1Y2NzaW0gIiYjeDIyN0Y7Ii0tPgorPCEt
LUVOVElUWSBTdWNjZWVkc1RpbGRlICImI3gyMjdGOyItLT4KKzwhLS1FTlRJVFkgTm90U3VjY2Vl
ZHNUaWxkZSAiJiN4MjI3RjsmI3gzMzg7Ii0tPgorPCEtLUVOVElUWSBucHIgIiYjeDIyODA7Ii0t
PgorPCEtLUVOVElUWSBucHJlYyAiJiN4MjI4MDsiLS0+Cis8IS0tRU5USVRZIE5vdFByZWNlZGVz
ICImI3gyMjgwOyItLT4KKzwhLS1FTlRJVFkgbnNjICImI3gyMjgxOyItLT4KKzwhLS1FTlRJVFkg
bnN1Y2MgIiYjeDIyODE7Ii0tPgorPCEtLUVOVElUWSBOb3RTdWNjZWVkcyAiJiN4MjI4MTsiLS0+
Cis8IS0tRU5USVRZIHN1YiAiJiN4MjI4MjsiLS0+Cis8IS0tRU5USVRZIHN1YnNldCAiJiN4MjI4
MjsiLS0+Cis8IS0tRU5USVRZIHZuc3ViICImI3gyMjgyOyYjeDIwRDI7Ii0tPgorPCEtLUVOVElU
WSBuc3Vic2V0ICImI3gyMjgyOyYjeDIwRDI7Ii0tPgorPCEtLUVOVElUWSBOb3RTdWJzZXQgIiYj
eDIyODI7JiN4MjBEMjsiLS0+Cis8IS0tRU5USVRZIHN1cCAiJiN4MjI4MzsiLS0+Cis8IS0tRU5U
SVRZIHN1cHNldCAiJiN4MjI4MzsiLS0+Cis8IS0tRU5USVRZIFN1cGVyc2V0ICImI3gyMjgzOyIt
LT4KKzwhLS1FTlRJVFkgdm5zdXAgIiYjeDIyODM7JiN4MjBEMjsiLS0+Cis8IS0tRU5USVRZIG5z
dXBzZXQgIiYjeDIyODM7JiN4MjBEMjsiLS0+Cis8IS0tRU5USVRZIE5vdFN1cGVyc2V0ICImI3gy
MjgzOyYjeDIwRDI7Ii0tPgorPCEtLUVOVElUWSBuc3ViICImI3gyMjg0OyItLT4KKzwhLS1FTlRJ
VFkgbnN1cCAiJiN4MjI4NTsiLS0+Cis8IS0tRU5USVRZIHN1YmUgIiYjeDIyODY7Ii0tPgorPCEt
LUVOVElUWSBTdWJzZXRFcXVhbCAiJiN4MjI4NjsiLS0+Cis8IS0tRU5USVRZIHN1YnNldGVxICIm
I3gyMjg2OyItLT4KKzwhLS1FTlRJVFkgc3VwZSAiJiN4MjI4NzsiLS0+Cis8IS0tRU5USVRZIHN1
cHNldGVxICImI3gyMjg3OyItLT4KKzwhLS1FTlRJVFkgU3VwZXJzZXRFcXVhbCAiJiN4MjI4Nzsi
LS0+Cis8IS0tRU5USVRZIG5zdWJlICImI3gyMjg4OyItLT4KKzwhLS1FTlRJVFkgbnN1YnNldGVx
ICImI3gyMjg4OyItLT4KKzwhLS1FTlRJVFkgTm90U3Vic2V0RXF1YWwgIiYjeDIyODg7Ii0tPgor
PCEtLUVOVElUWSBuc3VwZSAiJiN4MjI4OTsiLS0+Cis8IS0tRU5USVRZIG5zdXBzZXRlcSAiJiN4
MjI4OTsiLS0+Cis8IS0tRU5USVRZIE5vdFN1cGVyc2V0RXF1YWwgIiYjeDIyODk7Ii0tPgorPCEt
LUVOVElUWSBzdWJuZSAiJiN4MjI4QTsiLS0+Cis8IS0tRU5USVRZIHN1YnNldG5lcSAiJiN4MjI4
QTsiLS0+Cis8IS0tRU5USVRZIHZzdWJuZSAiJiN4MjI4QTsmI3hGRTAwOyItLT4KKzwhLS1FTlRJ
VFkgdmFyc3Vic2V0bmVxICImI3gyMjhBOyYjeEZFMDA7Ii0tPgorPCEtLUVOVElUWSBzdXBuZSAi
JiN4MjI4QjsiLS0+Cis8IS0tRU5USVRZIHN1cHNldG5lcSAiJiN4MjI4QjsiLS0+Cis8IS0tRU5U
SVRZIHZzdXBuZSAiJiN4MjI4QjsmI3hGRTAwOyItLT4KKzwhLS1FTlRJVFkgdmFyc3Vwc2V0bmVx
ICImI3gyMjhCOyYjeEZFMDA7Ii0tPgorPCEtLUVOVElUWSBjdXBkb3QgIiYjeDIyOEQ7Ii0tPgor
PCEtLUVOVElUWSB1cGx1cyAiJiN4MjI4RTsiLS0+Cis8IS0tRU5USVRZIFVuaW9uUGx1cyAiJiN4
MjI4RTsiLS0+Cis8IS0tRU5USVRZIHNxc3ViICImI3gyMjhGOyItLT4KKzwhLS1FTlRJVFkgU3F1
YXJlU3Vic2V0ICImI3gyMjhGOyItLT4KKzwhLS1FTlRJVFkgc3FzdWJzZXQgIiYjeDIyOEY7Ii0t
PgorPCEtLUVOVElUWSBOb3RTcXVhcmVTdWJzZXQgIiYjeDIyOEY7JiN4MzM4OyItLT4KKzwhLS1F
TlRJVFkgc3FzdXAgIiYjeDIyOTA7Ii0tPgorPCEtLUVOVElUWSBTcXVhcmVTdXBlcnNldCAiJiN4
MjI5MDsiLS0+Cis8IS0tRU5USVRZIHNxc3Vwc2V0ICImI3gyMjkwOyItLT4KKzwhLS1FTlRJVFkg
Tm90U3F1YXJlU3VwZXJzZXQgIiYjeDIyOTA7JiN4MzM4OyItLT4KKzwhLS1FTlRJVFkgc3FzdWJl
ICImI3gyMjkxOyItLT4KKzwhLS1FTlRJVFkgU3F1YXJlU3Vic2V0RXF1YWwgIiYjeDIyOTE7Ii0t
PgorPCEtLUVOVElUWSBzcXN1YnNldGVxICImI3gyMjkxOyItLT4KKzwhLS1FTlRJVFkgc3FzdXBl
ICImI3gyMjkyOyItLT4KKzwhLS1FTlRJVFkgU3F1YXJlU3VwZXJzZXRFcXVhbCAiJiN4MjI5Mjsi
LS0+Cis8IS0tRU5USVRZIHNxc3Vwc2V0ZXEgIiYjeDIyOTI7Ii0tPgorPCEtLUVOVElUWSBzcWNh
cCAiJiN4MjI5MzsiLS0+Cis8IS0tRU5USVRZIFNxdWFyZUludGVyc2VjdGlvbiAiJiN4MjI5Mzsi
LS0+Cis8IS0tRU5USVRZIHNxY2FwcyAiJiN4MjI5MzsmI3hGRTAwOyItLT4KKzwhLS1FTlRJVFkg
c3FjdXAgIiYjeDIyOTQ7Ii0tPgorPCEtLUVOVElUWSBTcXVhcmVVbmlvbiAiJiN4MjI5NDsiLS0+
Cis8IS0tRU5USVRZIHNxY3VwcyAiJiN4MjI5NDsmI3hGRTAwOyItLT4KKzwhLS1FTlRJVFkgb3Bs
dXMgIiYjeDIyOTU7Ii0tPgorPCEtLUVOVElUWSBDaXJjbGVQbHVzICImI3gyMjk1OyItLT4KKzwh
LS1FTlRJVFkgb21pbnVzICImI3gyMjk2OyItLT4KKzwhLS1FTlRJVFkgQ2lyY2xlTWludXMgIiYj
eDIyOTY7Ii0tPgorPCEtLUVOVElUWSBvdGltZXMgIiYjeDIyOTc7Ii0tPgorPCEtLUVOVElUWSBD
aXJjbGVUaW1lcyAiJiN4MjI5NzsiLS0+Cis8IS0tRU5USVRZIG9zb2wgIiYjeDIyOTg7Ii0tPgor
PCEtLUVOVElUWSBvZG90ICImI3gyMjk5OyItLT4KKzwhLS1FTlRJVFkgQ2lyY2xlRG90ICImI3gy
Mjk5OyItLT4KKzwhLS1FTlRJVFkgb2NpciAiJiN4MjI5QTsiLS0+Cis8IS0tRU5USVRZIGNpcmNs
ZWRjaXJjICImI3gyMjlBOyItLT4KKzwhLS1FTlRJVFkgb2FzdCAiJiN4MjI5QjsiLS0+Cis8IS0t
RU5USVRZIGNpcmNsZWRhc3QgIiYjeDIyOUI7Ii0tPgorPCEtLUVOVElUWSBvZGFzaCAiJiN4MjI5
RDsiLS0+Cis8IS0tRU5USVRZIGNpcmNsZWRkYXNoICImI3gyMjlEOyItLT4KKzwhLS1FTlRJVFkg
cGx1c2IgIiYjeDIyOUU7Ii0tPgorPCEtLUVOVElUWSBib3hwbHVzICImI3gyMjlFOyItLT4KKzwh
LS1FTlRJVFkgbWludXNiICImI3gyMjlGOyItLT4KKzwhLS1FTlRJVFkgYm94bWludXMgIiYjeDIy
OUY7Ii0tPgorPCEtLUVOVElUWSB0aW1lc2IgIiYjeDIyQTA7Ii0tPgorPCEtLUVOVElUWSBib3h0
aW1lcyAiJiN4MjJBMDsiLS0+Cis8IS0tRU5USVRZIHNkb3RiICImI3gyMkExOyItLT4KKzwhLS1F
TlRJVFkgZG90c3F1YXJlICImI3gyMkExOyItLT4KKzwhLS1FTlRJVFkgdmRhc2ggIiYjeDIyQTI7
Ii0tPgorPCEtLUVOVElUWSBSaWdodFRlZSAiJiN4MjJBMjsiLS0+Cis8IS0tRU5USVRZIGRhc2h2
ICImI3gyMkEzOyItLT4KKzwhLS1FTlRJVFkgTGVmdFRlZSAiJiN4MjJBMzsiLS0+Cis8IS0tRU5U
SVRZIHRvcCAiJiN4MjJBNDsiLS0+Cis8IS0tRU5USVRZIERvd25UZWUgIiYjeDIyQTQ7Ii0tPgor
PCEtLUVOVElUWSBib3R0b20gIiYjeDIyQTU7Ii0tPgorPCEtLUVOVElUWSBib3QgIiYjeDIyQTU7
Ii0tPgorPCEtLUVOVElUWSBwZXJwICImI3gyMkE1OyItLT4KKzwhLS1FTlRJVFkgVXBUZWUgIiYj
eDIyQTU7Ii0tPgorPCEtLUVOVElUWSBtb2RlbHMgIiYjeDIyQTc7Ii0tPgorPCEtLUVOVElUWSB2
RGFzaCAiJiN4MjJBODsiLS0+Cis8IS0tRU5USVRZIERvdWJsZVJpZ2h0VGVlICImI3gyMkE4OyIt
LT4KKzwhLS1FTlRJVFkgVmRhc2ggIiYjeDIyQTk7Ii0tPgorPCEtLUVOVElUWSBWdmRhc2ggIiYj
eDIyQUE7Ii0tPgorPCEtLUVOVElUWSBWRGFzaCAiJiN4MjJBQjsiLS0+Cis8IS0tRU5USVRZIG52
ZGFzaCAiJiN4MjJBQzsiLS0+Cis8IS0tRU5USVRZIG52RGFzaCAiJiN4MjJBRDsiLS0+Cis8IS0t
RU5USVRZIG5WZGFzaCAiJiN4MjJBRTsiLS0+Cis8IS0tRU5USVRZIG5WRGFzaCAiJiN4MjJBRjsi
LS0+Cis8IS0tRU5USVRZIHBydXJlbCAiJiN4MjJCMDsiLS0+Cis8IS0tRU5USVRZIHZsdHJpICIm
I3gyMkIyOyItLT4KKzwhLS1FTlRJVFkgdmFydHJpYW5nbGVsZWZ0ICImI3gyMkIyOyItLT4KKzwh
LS1FTlRJVFkgTGVmdFRyaWFuZ2xlICImI3gyMkIyOyItLT4KKzwhLS1FTlRJVFkgdnJ0cmkgIiYj
eDIyQjM7Ii0tPgorPCEtLUVOVElUWSB2YXJ0cmlhbmdsZXJpZ2h0ICImI3gyMkIzOyItLT4KKzwh
LS1FTlRJVFkgUmlnaHRUcmlhbmdsZSAiJiN4MjJCMzsiLS0+Cis8IS0tRU5USVRZIGx0cmllICIm
I3gyMkI0OyItLT4KKzwhLS1FTlRJVFkgdHJpYW5nbGVsZWZ0ZXEgIiYjeDIyQjQ7Ii0tPgorPCEt
LUVOVElUWSBMZWZ0VHJpYW5nbGVFcXVhbCAiJiN4MjJCNDsiLS0+Cis8IS0tRU5USVRZIG52bHRy
aWUgIiYjeDIyQjQ7JiN4MjBEMjsiLS0+Cis8IS0tRU5USVRZIHJ0cmllICImI3gyMkI1OyItLT4K
KzwhLS1FTlRJVFkgdHJpYW5nbGVyaWdodGVxICImI3gyMkI1OyItLT4KKzwhLS1FTlRJVFkgUmln
aHRUcmlhbmdsZUVxdWFsICImI3gyMkI1OyItLT4KKzwhLS1FTlRJVFkgbnZydHJpZSAiJiN4MjJC
NTsmI3gyMEQyOyItLT4KKzwhLS1FTlRJVFkgb3JpZ29mICImI3gyMkI2OyItLT4KKzwhLS1FTlRJ
VFkgaW1vZiAiJiN4MjJCNzsiLS0+Cis8IS0tRU5USVRZIG11bWFwICImI3gyMkI4OyItLT4KKzwh
LS1FTlRJVFkgbXVsdGltYXAgIiYjeDIyQjg7Ii0tPgorPCEtLUVOVElUWSBoZXJjb24gIiYjeDIy
Qjk7Ii0tPgorPCEtLUVOVElUWSBpbnRjYWwgIiYjeDIyQkE7Ii0tPgorPCEtLUVOVElUWSBpbnRl
cmNhbCAiJiN4MjJCQTsiLS0+Cis8IS0tRU5USVRZIHZlZWJhciAiJiN4MjJCQjsiLS0+Cis8IS0t
RU5USVRZIGJhcnZlZSAiJiN4MjJCRDsiLS0+Cis8IS0tRU5USVRZIGFuZ3J0dmIgIiYjeDIyQkU7
Ii0tPgorPCEtLUVOVElUWSBscnRyaSAiJiN4MjJCRjsiLS0+Cis8IS0tRU5USVRZIHh3ZWRnZSAi
JiN4MjJDMDsiLS0+Cis8IS0tRU5USVRZIFdlZGdlICImI3gyMkMwOyItLT4KKzwhLS1FTlRJVFkg
Ymlnd2VkZ2UgIiYjeDIyQzA7Ii0tPgorPCEtLUVOVElUWSB4dmVlICImI3gyMkMxOyItLT4KKzwh
LS1FTlRJVFkgVmVlICImI3gyMkMxOyItLT4KKzwhLS1FTlRJVFkgYmlndmVlICImI3gyMkMxOyIt
LT4KKzwhLS1FTlRJVFkgeGNhcCAiJiN4MjJDMjsiLS0+Cis8IS0tRU5USVRZIEludGVyc2VjdGlv
biAiJiN4MjJDMjsiLS0+Cis8IS0tRU5USVRZIGJpZ2NhcCAiJiN4MjJDMjsiLS0+Cis8IS0tRU5U
SVRZIHhjdXAgIiYjeDIyQzM7Ii0tPgorPCEtLUVOVElUWSBVbmlvbiAiJiN4MjJDMzsiLS0+Cis8
IS0tRU5USVRZIGJpZ2N1cCAiJiN4MjJDMzsiLS0+Cis8IS0tRU5USVRZIGRpYW0gIiYjeDIyQzQ7
Ii0tPgorPCEtLUVOVElUWSBkaWFtb25kICImI3gyMkM0OyItLT4KKzwhLS1FTlRJVFkgRGlhbW9u
ZCAiJiN4MjJDNDsiLS0+Cis8IS0tRU5USVRZIHNkb3QgIiYjeDIyQzU7Ii0tPgorPCEtLUVOVElU
WSBzc3RhcmYgIiYjeDIyQzY7Ii0tPgorPCEtLUVOVElUWSBTdGFyICImI3gyMkM2OyItLT4KKzwh
LS1FTlRJVFkgZGl2b254ICImI3gyMkM3OyItLT4KKzwhLS1FTlRJVFkgZGl2aWRlb250aW1lcyAi
JiN4MjJDNzsiLS0+Cis8IS0tRU5USVRZIGJvd3RpZSAiJiN4MjJDODsiLS0+Cis8IS0tRU5USVRZ
IGx0aW1lcyAiJiN4MjJDOTsiLS0+Cis8IS0tRU5USVRZIHJ0aW1lcyAiJiN4MjJDQTsiLS0+Cis8
IS0tRU5USVRZIGx0aHJlZSAiJiN4MjJDQjsiLS0+Cis8IS0tRU5USVRZIGxlZnR0aHJlZXRpbWVz
ICImI3gyMkNCOyItLT4KKzwhLS1FTlRJVFkgcnRocmVlICImI3gyMkNDOyItLT4KKzwhLS1FTlRJ
VFkgcmlnaHR0aHJlZXRpbWVzICImI3gyMkNDOyItLT4KKzwhLS1FTlRJVFkgYnNpbWUgIiYjeDIy
Q0Q7Ii0tPgorPCEtLUVOVElUWSBiYWNrc2ltZXEgIiYjeDIyQ0Q7Ii0tPgorPCEtLUVOVElUWSBj
dXZlZSAiJiN4MjJDRTsiLS0+Cis8IS0tRU5USVRZIGN1cmx5dmVlICImI3gyMkNFOyItLT4KKzwh
LS1FTlRJVFkgY3V3ZWQgIiYjeDIyQ0Y7Ii0tPgorPCEtLUVOVElUWSBjdXJseXdlZGdlICImI3gy
MkNGOyItLT4KKzwhLS1FTlRJVFkgU3ViICImI3gyMkQwOyItLT4KKzwhLS1FTlRJVFkgU3Vic2V0
ICImI3gyMkQwOyItLT4KKzwhLS1FTlRJVFkgU3VwICImI3gyMkQxOyItLT4KKzwhLS1FTlRJVFkg
U3Vwc2V0ICImI3gyMkQxOyItLT4KKzwhLS1FTlRJVFkgQ2FwICImI3gyMkQyOyItLT4KKzwhLS1F
TlRJVFkgQ3VwICImI3gyMkQzOyItLT4KKzwhLS1FTlRJVFkgZm9yayAiJiN4MjJENDsiLS0+Cis8
IS0tRU5USVRZIHBpdGNoZm9yayAiJiN4MjJENDsiLS0+Cis8IS0tRU5USVRZIGVwYXIgIiYjeDIy
RDU7Ii0tPgorPCEtLUVOVElUWSBsdGRvdCAiJiN4MjJENjsiLS0+Cis8IS0tRU5USVRZIGxlc3Nk
b3QgIiYjeDIyRDY7Ii0tPgorPCEtLUVOVElUWSBndGRvdCAiJiN4MjJENzsiLS0+Cis8IS0tRU5U
SVRZIGd0cmRvdCAiJiN4MjJENzsiLS0+Cis8IS0tRU5USVRZIExsICImI3gyMkQ4OyItLT4KKzwh
LS1FTlRJVFkgbkxsICImI3gyMkQ4OyYjeDMzODsiLS0+Cis8IS0tRU5USVRZIEdnICImI3gyMkQ5
OyItLT4KKzwhLS1FTlRJVFkgZ2dnICImI3gyMkQ5OyItLT4KKzwhLS1FTlRJVFkgbkdnICImI3gy
MkQ5OyYjeDMzODsiLS0+Cis8IS0tRU5USVRZIGxlZyAiJiN4MjJEQTsiLS0+Cis8IS0tRU5USVRZ
IExlc3NFcXVhbEdyZWF0ZXIgIiYjeDIyREE7Ii0tPgorPCEtLUVOVElUWSBsZXNzZXFndHIgIiYj
eDIyREE7Ii0tPgorPCEtLUVOVElUWSBsZXNnICImI3gyMkRBOyYjeEZFMDA7Ii0tPgorPCEtLUVO
VElUWSBnZWwgIiYjeDIyREI7Ii0tPgorPCEtLUVOVElUWSBndHJlcWxlc3MgIiYjeDIyREI7Ii0t
PgorPCEtLUVOVElUWSBHcmVhdGVyRXF1YWxMZXNzICImI3gyMkRCOyItLT4KKzwhLS1FTlRJVFkg
Z2VzbCAiJiN4MjJEQjsmI3hGRTAwOyItLT4KKzwhLS1FTlRJVFkgY3VlcHIgIiYjeDIyREU7Ii0t
PgorPCEtLUVOVElUWSBjdXJseWVxcHJlYyAiJiN4MjJERTsiLS0+Cis8IS0tRU5USVRZIGN1ZXNj
ICImI3gyMkRGOyItLT4KKzwhLS1FTlRJVFkgY3VybHllcXN1Y2MgIiYjeDIyREY7Ii0tPgorPCEt
LUVOVElUWSBucHJjdWUgIiYjeDIyRTA7Ii0tPgorPCEtLUVOVElUWSBOb3RQcmVjZWRlc1NsYW50
RXF1YWwgIiYjeDIyRTA7Ii0tPgorPCEtLUVOVElUWSBuc2NjdWUgIiYjeDIyRTE7Ii0tPgorPCEt
LUVOVElUWSBOb3RTdWNjZWVkc1NsYW50RXF1YWwgIiYjeDIyRTE7Ii0tPgorPCEtLUVOVElUWSBu
c3FzdWJlICImI3gyMkUyOyItLT4KKzwhLS1FTlRJVFkgTm90U3F1YXJlU3Vic2V0RXF1YWwgIiYj
eDIyRTI7Ii0tPgorPCEtLUVOVElUWSBuc3FzdXBlICImI3gyMkUzOyItLT4KKzwhLS1FTlRJVFkg
Tm90U3F1YXJlU3VwZXJzZXRFcXVhbCAiJiN4MjJFMzsiLS0+Cis8IS0tRU5USVRZIGxuc2ltICIm
I3gyMkU2OyItLT4KKzwhLS1FTlRJVFkgZ25zaW0gIiYjeDIyRTc7Ii0tPgorPCEtLUVOVElUWSBw
cm5zaW0gIiYjeDIyRTg7Ii0tPgorPCEtLUVOVElUWSBwcmVjbnNpbSAiJiN4MjJFODsiLS0+Cis8
IS0tRU5USVRZIHNjbnNpbSAiJiN4MjJFOTsiLS0+Cis8IS0tRU5USVRZIHN1Y2Nuc2ltICImI3gy
MkU5OyItLT4KKzwhLS1FTlRJVFkgbmx0cmkgIiYjeDIyRUE7Ii0tPgorPCEtLUVOVElUWSBudHJp
YW5nbGVsZWZ0ICImI3gyMkVBOyItLT4KKzwhLS1FTlRJVFkgTm90TGVmdFRyaWFuZ2xlICImI3gy
MkVBOyItLT4KKzwhLS1FTlRJVFkgbnJ0cmkgIiYjeDIyRUI7Ii0tPgorPCEtLUVOVElUWSBudHJp
YW5nbGVyaWdodCAiJiN4MjJFQjsiLS0+Cis8IS0tRU5USVRZIE5vdFJpZ2h0VHJpYW5nbGUgIiYj
eDIyRUI7Ii0tPgorPCEtLUVOVElUWSBubHRyaWUgIiYjeDIyRUM7Ii0tPgorPCEtLUVOVElUWSBu
dHJpYW5nbGVsZWZ0ZXEgIiYjeDIyRUM7Ii0tPgorPCEtLUVOVElUWSBOb3RMZWZ0VHJpYW5nbGVF
cXVhbCAiJiN4MjJFQzsiLS0+Cis8IS0tRU5USVRZIG5ydHJpZSAiJiN4MjJFRDsiLS0+Cis8IS0t
RU5USVRZIG50cmlhbmdsZXJpZ2h0ZXEgIiYjeDIyRUQ7Ii0tPgorPCEtLUVOVElUWSBOb3RSaWdo
dFRyaWFuZ2xlRXF1YWwgIiYjeDIyRUQ7Ii0tPgorPCEtLUVOVElUWSB2ZWxsaXAgIiYjeDIyRUU7
Ii0tPgorPCEtLUVOVElUWSBjdGRvdCAiJiN4MjJFRjsiLS0+Cis8IS0tRU5USVRZIHV0ZG90ICIm
I3gyMkYwOyItLT4KKzwhLS1FTlRJVFkgZHRkb3QgIiYjeDIyRjE7Ii0tPgorPCEtLUVOVElUWSBk
aXNpbiAiJiN4MjJGMjsiLS0+Cis8IS0tRU5USVRZIGlzaW5zdiAiJiN4MjJGMzsiLS0+Cis8IS0t
RU5USVRZIGlzaW5zICImI3gyMkY0OyItLT4KKzwhLS1FTlRJVFkgaXNpbmRvdCAiJiN4MjJGNTsi
LS0+Cis8IS0tRU5USVRZIG5vdGluZG90ICImI3gyMkY1OyYjeDMzODsiLS0+Cis8IS0tRU5USVRZ
IG5vdGludmMgIiYjeDIyRjY7Ii0tPgorPCEtLUVOVElUWSBub3RpbnZiICImI3gyMkY3OyItLT4K
KzwhLS1FTlRJVFkgaXNpbkUgIiYjeDIyRjk7Ii0tPgorPCEtLUVOVElUWSBub3RpbkUgIiYjeDIy
Rjk7JiN4MzM4OyItLT4KKzwhLS1FTlRJVFkgbmlzZCAiJiN4MjJGQTsiLS0+Cis8IS0tRU5USVRZ
IHhuaXMgIiYjeDIyRkI7Ii0tPgorPCEtLUVOVElUWSBuaXMgIiYjeDIyRkM7Ii0tPgorPCEtLUVO
VElUWSBub3RuaXZjICImI3gyMkZEOyItLT4KKzwhLS1FTlRJVFkgbm90bml2YiAiJiN4MjJGRTsi
LS0+Cis8IS0tRU5USVRZIGJhcndlZCAiJiN4MjMwNTsiLS0+Cis8IS0tRU5USVRZIGJhcndlZGdl
ICImI3gyMzA1OyItLT4KKzwhLS1FTlRJVFkgQmFyd2VkICImI3gyMzA2OyItLT4KKzwhLS1FTlRJ
VFkgZG91YmxlYmFyd2VkZ2UgIiYjeDIzMDY7Ii0tPgorPCEtLUVOVElUWSBsY2VpbCAiJiN4MjMw
ODsiLS0+Cis8IS0tRU5USVRZIExlZnRDZWlsaW5nICImI3gyMzA4OyItLT4KKzwhLS1FTlRJVFkg
cmNlaWwgIiYjeDIzMDk7Ii0tPgorPCEtLUVOVElUWSBSaWdodENlaWxpbmcgIiYjeDIzMDk7Ii0t
PgorPCEtLUVOVElUWSBsZmxvb3IgIiYjeDIzMEE7Ii0tPgorPCEtLUVOVElUWSBMZWZ0Rmxvb3Ig
IiYjeDIzMEE7Ii0tPgorPCEtLUVOVElUWSByZmxvb3IgIiYjeDIzMEI7Ii0tPgorPCEtLUVOVElU
WSBSaWdodEZsb29yICImI3gyMzBCOyItLT4KKzwhLS1FTlRJVFkgZHJjcm9wICImI3gyMzBDOyIt
LT4KKzwhLS1FTlRJVFkgZGxjcm9wICImI3gyMzBEOyItLT4KKzwhLS1FTlRJVFkgdXJjcm9wICIm
I3gyMzBFOyItLT4KKzwhLS1FTlRJVFkgdWxjcm9wICImI3gyMzBGOyItLT4KKzwhLS1FTlRJVFkg
Ym5vdCAiJiN4MjMxMDsiLS0+Cis8IS0tRU5USVRZIHByb2ZsaW5lICImI3gyMzEyOyItLT4KKzwh
LS1FTlRJVFkgcHJvZnN1cmYgIiYjeDIzMTM7Ii0tPgorPCEtLUVOVElUWSB0ZWxyZWMgIiYjeDIz
MTU7Ii0tPgorPCEtLUVOVElUWSB0YXJnZXQgIiYjeDIzMTY7Ii0tPgorPCEtLUVOVElUWSB1bGNv
cm4gIiYjeDIzMUM7Ii0tPgorPCEtLUVOVElUWSB1bGNvcm5lciAiJiN4MjMxQzsiLS0+Cis8IS0t
RU5USVRZIHVyY29ybiAiJiN4MjMxRDsiLS0+Cis8IS0tRU5USVRZIHVyY29ybmVyICImI3gyMzFE
OyItLT4KKzwhLS1FTlRJVFkgZGxjb3JuICImI3gyMzFFOyItLT4KKzwhLS1FTlRJVFkgbGxjb3Ju
ZXIgIiYjeDIzMUU7Ii0tPgorPCEtLUVOVElUWSBkcmNvcm4gIiYjeDIzMUY7Ii0tPgorPCEtLUVO
VElUWSBscmNvcm5lciAiJiN4MjMxRjsiLS0+Cis8IS0tRU5USVRZIGZyb3duICImI3gyMzIyOyIt
LT4KKzwhLS1FTlRJVFkgc2Zyb3duICImI3gyMzIyOyItLT4KKzwhLS1FTlRJVFkgc21pbGUgIiYj
eDIzMjM7Ii0tPgorPCEtLUVOVElUWSBzc21pbGUgIiYjeDIzMjM7Ii0tPgorPCEtLUVOVElUWSBj
eWxjdHkgIiYjeDIzMkQ7Ii0tPgorPCEtLUVOVElUWSBwcm9mYWxhciAiJiN4MjMyRTsiLS0+Cis8
IS0tRU5USVRZIHRvcGJvdCAiJiN4MjMzNjsiLS0+Cis8IS0tRU5USVRZIG92YmFyICImI3gyMzNE
OyItLT4KKzwhLS1FTlRJVFkgc29sYmFyICImI3gyMzNGOyItLT4KKzwhLS1FTlRJVFkgYW5nemFy
ciAiJiN4MjM3QzsiLS0+Cis8IS0tRU5USVRZIGxtb3VzdCAiJiN4MjNCMDsiLS0+Cis8IS0tRU5U
SVRZIGxtb3VzdGFjaGUgIiYjeDIzQjA7Ii0tPgorPCEtLUVOVElUWSBybW91c3QgIiYjeDIzQjE7
Ii0tPgorPCEtLUVOVElUWSBybW91c3RhY2hlICImI3gyM0IxOyItLT4KKzwhLS1FTlRJVFkgdGJy
ayAiJiN4MjNCNDsiLS0+Cis8IS0tRU5USVRZIE92ZXJCcmFja2V0ICImI3gyM0I0OyItLT4KKzwh
LS1FTlRJVFkgYmJyayAiJiN4MjNCNTsiLS0+Cis8IS0tRU5USVRZIFVuZGVyQnJhY2tldCAiJiN4
MjNCNTsiLS0+Cis8IS0tRU5USVRZIGJicmt0YnJrICImI3gyM0I2OyItLT4KKzwhLS1FTlRJVFkg
T3ZlclBhcmVudGhlc2lzICImI3gyM0RDOyItLT4KKzwhLS1FTlRJVFkgVW5kZXJQYXJlbnRoZXNp
cyAiJiN4MjNERDsiLS0+Cis8IS0tRU5USVRZIE92ZXJCcmFjZSAiJiN4MjNERTsiLS0+Cis8IS0t
RU5USVRZIFVuZGVyQnJhY2UgIiYjeDIzREY7Ii0tPgorPCEtLUVOVElUWSB0cnBleml1bSAiJiN4
MjNFMjsiLS0+Cis8IS0tRU5USVRZIGVsaW50ZXJzICImI3gyM0U3OyItLT4KKzwhLS1FTlRJVFkg
YmxhbmsgIiYjeDI0MjM7Ii0tPgorPCEtLUVOVElUWSBvUyAiJiN4MjRDODsiLS0+Cis8IS0tRU5U
SVRZIGNpcmNsZWRTICImI3gyNEM4OyItLT4KKzwhLS1FTlRJVFkgYm94aCAiJiN4MjUwMDsiLS0+
Cis8IS0tRU5USVRZIEhvcml6b250YWxMaW5lICImI3gyNTAwOyItLT4KKzwhLS1FTlRJVFkgYm94
diAiJiN4MjUwMjsiLS0+Cis8IS0tRU5USVRZIGJveGRyICImI3gyNTBDOyItLT4KKzwhLS1FTlRJ
VFkgYm94ZGwgIiYjeDI1MTA7Ii0tPgorPCEtLUVOVElUWSBib3h1ciAiJiN4MjUxNDsiLS0+Cis8
IS0tRU5USVRZIGJveHVsICImI3gyNTE4OyItLT4KKzwhLS1FTlRJVFkgYm94dnIgIiYjeDI1MUM7
Ii0tPgorPCEtLUVOVElUWSBib3h2bCAiJiN4MjUyNDsiLS0+Cis8IS0tRU5USVRZIGJveGhkICIm
I3gyNTJDOyItLT4KKzwhLS1FTlRJVFkgYm94aHUgIiYjeDI1MzQ7Ii0tPgorPCEtLUVOVElUWSBi
b3h2aCAiJiN4MjUzQzsiLS0+Cis8IS0tRU5USVRZIGJveEggIiYjeDI1NTA7Ii0tPgorPCEtLUVO
VElUWSBib3hWICImI3gyNTUxOyItLT4KKzwhLS1FTlRJVFkgYm94ZFIgIiYjeDI1NTI7Ii0tPgor
PCEtLUVOVElUWSBib3hEciAiJiN4MjU1MzsiLS0+Cis8IS0tRU5USVRZIGJveERSICImI3gyNTU0
OyItLT4KKzwhLS1FTlRJVFkgYm94ZEwgIiYjeDI1NTU7Ii0tPgorPCEtLUVOVElUWSBib3hEbCAi
JiN4MjU1NjsiLS0+Cis8IS0tRU5USVRZIGJveERMICImI3gyNTU3OyItLT4KKzwhLS1FTlRJVFkg
Ym94dVIgIiYjeDI1NTg7Ii0tPgorPCEtLUVOVElUWSBib3hVciAiJiN4MjU1OTsiLS0+Cis8IS0t
RU5USVRZIGJveFVSICImI3gyNTVBOyItLT4KKzwhLS1FTlRJVFkgYm94dUwgIiYjeDI1NUI7Ii0t
PgorPCEtLUVOVElUWSBib3hVbCAiJiN4MjU1QzsiLS0+Cis8IS0tRU5USVRZIGJveFVMICImI3gy
NTVEOyItLT4KKzwhLS1FTlRJVFkgYm94dlIgIiYjeDI1NUU7Ii0tPgorPCEtLUVOVElUWSBib3hW
ciAiJiN4MjU1RjsiLS0+Cis8IS0tRU5USVRZIGJveFZSICImI3gyNTYwOyItLT4KKzwhLS1FTlRJ
VFkgYm94dkwgIiYjeDI1NjE7Ii0tPgorPCEtLUVOVElUWSBib3hWbCAiJiN4MjU2MjsiLS0+Cis8
IS0tRU5USVRZIGJveFZMICImI3gyNTYzOyItLT4KKzwhLS1FTlRJVFkgYm94SGQgIiYjeDI1NjQ7
Ii0tPgorPCEtLUVOVElUWSBib3hoRCAiJiN4MjU2NTsiLS0+Cis8IS0tRU5USVRZIGJveEhEICIm
I3gyNTY2OyItLT4KKzwhLS1FTlRJVFkgYm94SHUgIiYjeDI1Njc7Ii0tPgorPCEtLUVOVElUWSBi
b3hoVSAiJiN4MjU2ODsiLS0+Cis8IS0tRU5USVRZIGJveEhVICImI3gyNTY5OyItLT4KKzwhLS1F
TlRJVFkgYm94dkggIiYjeDI1NkE7Ii0tPgorPCEtLUVOVElUWSBib3hWaCAiJiN4MjU2QjsiLS0+
Cis8IS0tRU5USVRZIGJveFZIICImI3gyNTZDOyItLT4KKzwhLS1FTlRJVFkgdWhibGsgIiYjeDI1
ODA7Ii0tPgorPCEtLUVOVElUWSBsaGJsayAiJiN4MjU4NDsiLS0+Cis8IS0tRU5USVRZIGJsb2Nr
ICImI3gyNTg4OyItLT4KKzwhLS1FTlRJVFkgYmxrMTQgIiYjeDI1OTE7Ii0tPgorPCEtLUVOVElU
WSBibGsxMiAiJiN4MjU5MjsiLS0+Cis8IS0tRU5USVRZIGJsazM0ICImI3gyNTkzOyItLT4KKzwh
LS1FTlRJVFkgc3F1ICImI3gyNUExOyItLT4KKzwhLS1FTlRJVFkgc3F1YXJlICImI3gyNUExOyIt
LT4KKzwhLS1FTlRJVFkgU3F1YXJlICImI3gyNUExOyItLT4KKzwhLS1FTlRJVFkgc3F1ZiAiJiN4
MjVBQTsiLS0+Cis8IS0tRU5USVRZIHNxdWFyZiAiJiN4MjVBQTsiLS0+Cis8IS0tRU5USVRZIGJs
YWNrc3F1YXJlICImI3gyNUFBOyItLT4KKzwhLS1FTlRJVFkgRmlsbGVkVmVyeVNtYWxsU3F1YXJl
ICImI3gyNUFBOyItLT4KKzwhLS1FTlRJVFkgRW1wdHlWZXJ5U21hbGxTcXVhcmUgIiYjeDI1QUI7
Ii0tPgorPCEtLUVOVElUWSByZWN0ICImI3gyNUFEOyItLT4KKzwhLS1FTlRJVFkgbWFya2VyICIm
I3gyNUFFOyItLT4KKzwhLS1FTlRJVFkgZmx0bnMgIiYjeDI1QjE7Ii0tPgorPCEtLUVOVElUWSB4
dXRyaSAiJiN4MjVCMzsiLS0+Cis8IS0tRU5USVRZIGJpZ3RyaWFuZ2xldXAgIiYjeDI1QjM7Ii0t
PgorPCEtLUVOVElUWSB1dHJpZiAiJiN4MjVCNDsiLS0+Cis8IS0tRU5USVRZIGJsYWNrdHJpYW5n
bGUgIiYjeDI1QjQ7Ii0tPgorPCEtLUVOVElUWSB1dHJpICImI3gyNUI1OyItLT4KKzwhLS1FTlRJ
VFkgdHJpYW5nbGUgIiYjeDI1QjU7Ii0tPgorPCEtLUVOVElUWSBydHJpZiAiJiN4MjVCODsiLS0+
Cis8IS0tRU5USVRZIGJsYWNrdHJpYW5nbGVyaWdodCAiJiN4MjVCODsiLS0+Cis8IS0tRU5USVRZ
IHJ0cmkgIiYjeDI1Qjk7Ii0tPgorPCEtLUVOVElUWSB0cmlhbmdsZXJpZ2h0ICImI3gyNUI5OyIt
LT4KKzwhLS1FTlRJVFkgeGR0cmkgIiYjeDI1QkQ7Ii0tPgorPCEtLUVOVElUWSBiaWd0cmlhbmds
ZWRvd24gIiYjeDI1QkQ7Ii0tPgorPCEtLUVOVElUWSBkdHJpZiAiJiN4MjVCRTsiLS0+Cis8IS0t
RU5USVRZIGJsYWNrdHJpYW5nbGVkb3duICImI3gyNUJFOyItLT4KKzwhLS1FTlRJVFkgZHRyaSAi
JiN4MjVCRjsiLS0+Cis8IS0tRU5USVRZIHRyaWFuZ2xlZG93biAiJiN4MjVCRjsiLS0+Cis8IS0t
RU5USVRZIGx0cmlmICImI3gyNUMyOyItLT4KKzwhLS1FTlRJVFkgYmxhY2t0cmlhbmdsZWxlZnQg
IiYjeDI1QzI7Ii0tPgorPCEtLUVOVElUWSBsdHJpICImI3gyNUMzOyItLT4KKzwhLS1FTlRJVFkg
dHJpYW5nbGVsZWZ0ICImI3gyNUMzOyItLT4KKzwhLS1FTlRJVFkgbG96ICImI3gyNUNBOyItLT4K
KzwhLS1FTlRJVFkgbG96ZW5nZSAiJiN4MjVDQTsiLS0+Cis8IS0tRU5USVRZIGNpciAiJiN4MjVD
QjsiLS0+Cis8IS0tRU5USVRZIHRyaWRvdCAiJiN4MjVFQzsiLS0+Cis8IS0tRU5USVRZIHhjaXJj
ICImI3gyNUVGOyItLT4KKzwhLS1FTlRJVFkgYmlnY2lyYyAiJiN4MjVFRjsiLS0+Cis8IS0tRU5U
SVRZIHVsdHJpICImI3gyNUY4OyItLT4KKzwhLS1FTlRJVFkgdXJ0cmkgIiYjeDI1Rjk7Ii0tPgor
PCEtLUVOVElUWSBsbHRyaSAiJiN4MjVGQTsiLS0+Cis8IS0tRU5USVRZIEVtcHR5U21hbGxTcXVh
cmUgIiYjeDI1RkI7Ii0tPgorPCEtLUVOVElUWSBGaWxsZWRTbWFsbFNxdWFyZSAiJiN4MjVGQzsi
LS0+Cis8IS0tRU5USVRZIHN0YXJmICImI3gyNjA1OyItLT4KKzwhLS1FTlRJVFkgYmlnc3RhciAi
JiN4MjYwNTsiLS0+Cis8IS0tRU5USVRZIHN0YXIgIiYjeDI2MDY7Ii0tPgorPCEtLUVOVElUWSBw
aG9uZSAiJiN4MjYwRTsiLS0+Cis8IS0tRU5USVRZIGZlbWFsZSAiJiN4MjY0MDsiLS0+Cis8IS0t
RU5USVRZIG1hbGUgIiYjeDI2NDI7Ii0tPgorPCEtLUVOVElUWSBzcGFkZXMgIiYjeDI2NjA7Ii0t
PgorPCEtLUVOVElUWSBzcGFkZXN1aXQgIiYjeDI2NjA7Ii0tPgorPCEtLUVOVElUWSBjbHVicyAi
JiN4MjY2MzsiLS0+Cis8IS0tRU5USVRZIGNsdWJzdWl0ICImI3gyNjYzOyItLT4KKzwhLS1FTlRJ
VFkgaGVhcnRzICImI3gyNjY1OyItLT4KKzwhLS1FTlRJVFkgaGVhcnRzdWl0ICImI3gyNjY1OyIt
LT4KKzwhLS1FTlRJVFkgZGlhbXMgIiYjeDI2NjY7Ii0tPgorPCEtLUVOVElUWSBkaWFtb25kc3Vp
dCAiJiN4MjY2NjsiLS0+Cis8IS0tRU5USVRZIHN1bmcgIiYjeDI2NkE7Ii0tPgorPCEtLUVOVElU
WSBmbGF0ICImI3gyNjZEOyItLT4KKzwhLS1FTlRJVFkgbmF0dXIgIiYjeDI2NkU7Ii0tPgorPCEt
LUVOVElUWSBuYXR1cmFsICImI3gyNjZFOyItLT4KKzwhLS1FTlRJVFkgc2hhcnAgIiYjeDI2NkY7
Ii0tPgorPCEtLUVOVElUWSBjaGVjayAiJiN4MjcxMzsiLS0+Cis8IS0tRU5USVRZIGNoZWNrbWFy
ayAiJiN4MjcxMzsiLS0+Cis8IS0tRU5USVRZIGNyb3NzICImI3gyNzE3OyItLT4KKzwhLS1FTlRJ
VFkgbWFsdCAiJiN4MjcyMDsiLS0+Cis8IS0tRU5USVRZIG1hbHRlc2UgIiYjeDI3MjA7Ii0tPgor
PCEtLUVOVElUWSBzZXh0ICImI3gyNzM2OyItLT4KKzwhLS1FTlRJVFkgVmVydGljYWxTZXBhcmF0
b3IgIiYjeDI3NTg7Ii0tPgorPCEtLUVOVElUWSBsYmJyayAiJiN4Mjc3MjsiLS0+Cis8IS0tRU5U
SVRZIHJiYnJrICImI3gyNzczOyItLT4KKzwhLS1FTlRJVFkgYnNvbGhzdWIgIiYjeDI3Qzg7Ii0t
PgorPCEtLUVOVElUWSBzdXBoc29sICImI3gyN0M5OyItLT4KKzwhLS1FTlRJVFkgbG9icmsgIiYj
eDI3RTY7Ii0tPgorPCEtLUVOVElUWSBMZWZ0RG91YmxlQnJhY2tldCAiJiN4MjdFNjsiLS0+Cis8
IS0tRU5USVRZIHJvYnJrICImI3gyN0U3OyItLT4KKzwhLS1FTlRJVFkgUmlnaHREb3VibGVCcmFj
a2V0ICImI3gyN0U3OyItLT4KKzwhLS1FTlRJVFkgbGFuZyAiJiN4MjdFODsiLS0+Cis8IS0tRU5U
SVRZIExlZnRBbmdsZUJyYWNrZXQgIiYjeDI3RTg7Ii0tPgorPCEtLUVOVElUWSBsYW5nbGUgIiYj
eDI3RTg7Ii0tPgorPCEtLUVOVElUWSByYW5nICImI3gyN0U5OyItLT4KKzwhLS1FTlRJVFkgUmln
aHRBbmdsZUJyYWNrZXQgIiYjeDI3RTk7Ii0tPgorPCEtLUVOVElUWSByYW5nbGUgIiYjeDI3RTk7
Ii0tPgorPCEtLUVOVElUWSBMYW5nICImI3gyN0VBOyItLT4KKzwhLS1FTlRJVFkgUmFuZyAiJiN4
MjdFQjsiLS0+Cis8IS0tRU5USVRZIGxvYW5nICImI3gyN0VDOyItLT4KKzwhLS1FTlRJVFkgcm9h
bmcgIiYjeDI3RUQ7Ii0tPgorPCEtLUVOVElUWSB4bGFyciAiJiN4MjdGNTsiLS0+Cis8IS0tRU5U
SVRZIGxvbmdsZWZ0YXJyb3cgIiYjeDI3RjU7Ii0tPgorPCEtLUVOVElUWSBMb25nTGVmdEFycm93
ICImI3gyN0Y1OyItLT4KKzwhLS1FTlRJVFkgeHJhcnIgIiYjeDI3RjY7Ii0tPgorPCEtLUVOVElU
WSBsb25ncmlnaHRhcnJvdyAiJiN4MjdGNjsiLS0+Cis8IS0tRU5USVRZIExvbmdSaWdodEFycm93
ICImI3gyN0Y2OyItLT4KKzwhLS1FTlRJVFkgeGhhcnIgIiYjeDI3Rjc7Ii0tPgorPCEtLUVOVElU
WSBsb25nbGVmdHJpZ2h0YXJyb3cgIiYjeDI3Rjc7Ii0tPgorPCEtLUVOVElUWSBMb25nTGVmdFJp
Z2h0QXJyb3cgIiYjeDI3Rjc7Ii0tPgorPCEtLUVOVElUWSB4bEFyciAiJiN4MjdGODsiLS0+Cis8
IS0tRU5USVRZIExvbmdsZWZ0YXJyb3cgIiYjeDI3Rjg7Ii0tPgorPCEtLUVOVElUWSBEb3VibGVM
b25nTGVmdEFycm93ICImI3gyN0Y4OyItLT4KKzwhLS1FTlRJVFkgeHJBcnIgIiYjeDI3Rjk7Ii0t
PgorPCEtLUVOVElUWSBMb25ncmlnaHRhcnJvdyAiJiN4MjdGOTsiLS0+Cis8IS0tRU5USVRZIERv
dWJsZUxvbmdSaWdodEFycm93ICImI3gyN0Y5OyItLT4KKzwhLS1FTlRJVFkgeGhBcnIgIiYjeDI3
RkE7Ii0tPgorPCEtLUVOVElUWSBMb25nbGVmdHJpZ2h0YXJyb3cgIiYjeDI3RkE7Ii0tPgorPCEt
LUVOVElUWSBEb3VibGVMb25nTGVmdFJpZ2h0QXJyb3cgIiYjeDI3RkE7Ii0tPgorPCEtLUVOVElU
WSB4bWFwICImI3gyN0ZDOyItLT4KKzwhLS1FTlRJVFkgbG9uZ21hcHN0byAiJiN4MjdGQzsiLS0+
Cis8IS0tRU5USVRZIGR6aWdyYXJyICImI3gyN0ZGOyItLT4KKzwhLS1FTlRJVFkgbnZsQXJyICIm
I3gyOTAyOyItLT4KKzwhLS1FTlRJVFkgbnZyQXJyICImI3gyOTAzOyItLT4KKzwhLS1FTlRJVFkg
bnZIYXJyICImI3gyOTA0OyItLT4KKzwhLS1FTlRJVFkgTWFwICImI3gyOTA1OyItLT4KKzwhLS1F
TlRJVFkgbGJhcnIgIiYjeDI5MEM7Ii0tPgorPCEtLUVOVElUWSByYmFyciAiJiN4MjkwRDsiLS0+
Cis8IS0tRU5USVRZIGJrYXJvdyAiJiN4MjkwRDsiLS0+Cis8IS0tRU5USVRZIGxCYXJyICImI3gy
OTBFOyItLT4KKzwhLS1FTlRJVFkgckJhcnIgIiYjeDI5MEY7Ii0tPgorPCEtLUVOVElUWSBkYmth
cm93ICImI3gyOTBGOyItLT4KKzwhLS1FTlRJVFkgUkJhcnIgIiYjeDI5MTA7Ii0tPgorPCEtLUVO
VElUWSBkcmJrYXJvdyAiJiN4MjkxMDsiLS0+Cis8IS0tRU5USVRZIEREb3RyYWhkICImI3gyOTEx
OyItLT4KKzwhLS1FTlRJVFkgVXBBcnJvd0JhciAiJiN4MjkxMjsiLS0+Cis8IS0tRU5USVRZIERv
d25BcnJvd0JhciAiJiN4MjkxMzsiLS0+Cis8IS0tRU5USVRZIFJhcnJ0bCAiJiN4MjkxNjsiLS0+
Cis8IS0tRU5USVRZIGxhdGFpbCAiJiN4MjkxOTsiLS0+Cis8IS0tRU5USVRZIHJhdGFpbCAiJiN4
MjkxQTsiLS0+Cis8IS0tRU5USVRZIGxBdGFpbCAiJiN4MjkxQjsiLS0+Cis8IS0tRU5USVRZIHJB
dGFpbCAiJiN4MjkxQzsiLS0+Cis8IS0tRU5USVRZIGxhcnJmcyAiJiN4MjkxRDsiLS0+Cis8IS0t
RU5USVRZIHJhcnJmcyAiJiN4MjkxRTsiLS0+Cis8IS0tRU5USVRZIGxhcnJiZnMgIiYjeDI5MUY7
Ii0tPgorPCEtLUVOVElUWSByYXJyYmZzICImI3gyOTIwOyItLT4KKzwhLS1FTlRJVFkgbndhcmhr
ICImI3gyOTIzOyItLT4KKzwhLS1FTlRJVFkgbmVhcmhrICImI3gyOTI0OyItLT4KKzwhLS1FTlRJ
VFkgc2VhcmhrICImI3gyOTI1OyItLT4KKzwhLS1FTlRJVFkgaGtzZWFyb3cgIiYjeDI5MjU7Ii0t
PgorPCEtLUVOVElUWSBzd2FyaGsgIiYjeDI5MjY7Ii0tPgorPCEtLUVOVElUWSBoa3N3YXJvdyAi
JiN4MjkyNjsiLS0+Cis8IS0tRU5USVRZIG53bmVhciAiJiN4MjkyNzsiLS0+Cis8IS0tRU5USVRZ
IG5lc2VhciAiJiN4MjkyODsiLS0+Cis8IS0tRU5USVRZIHRvZWEgIiYjeDI5Mjg7Ii0tPgorPCEt
LUVOVElUWSBzZXN3YXIgIiYjeDI5Mjk7Ii0tPgorPCEtLUVOVElUWSB0b3NhICImI3gyOTI5OyIt
LT4KKzwhLS1FTlRJVFkgc3dud2FyICImI3gyOTJBOyItLT4KKzwhLS1FTlRJVFkgcmFycmMgIiYj
eDI5MzM7Ii0tPgorPCEtLUVOVElUWSBucmFycmMgIiYjeDI5MzM7JiN4MzM4OyItLT4KKzwhLS1F
TlRJVFkgY3VkYXJyciAiJiN4MjkzNTsiLS0+Cis8IS0tRU5USVRZIGxkY2EgIiYjeDI5MzY7Ii0t
PgorPCEtLUVOVElUWSByZGNhICImI3gyOTM3OyItLT4KKzwhLS1FTlRJVFkgY3VkYXJybCAiJiN4
MjkzODsiLS0+Cis8IS0tRU5USVRZIGxhcnJwbCAiJiN4MjkzOTsiLS0+Cis8IS0tRU5USVRZIGN1
cmFycm0gIiYjeDI5M0M7Ii0tPgorPCEtLUVOVElUWSBjdWxhcnJwICImI3gyOTNEOyItLT4KKzwh
LS1FTlRJVFkgcmFycnBsICImI3gyOTQ1OyItLT4KKzwhLS1FTlRJVFkgaGFycmNpciAiJiN4Mjk0
ODsiLS0+Cis8IS0tRU5USVRZIFVhcnJvY2lyICImI3gyOTQ5OyItLT4KKzwhLS1FTlRJVFkgbHVy
ZHNoYXIgIiYjeDI5NEE7Ii0tPgorPCEtLUVOVElUWSBsZHJ1c2hhciAiJiN4Mjk0QjsiLS0+Cis8
IS0tRU5USVRZIExlZnRSaWdodFZlY3RvciAiJiN4Mjk0RTsiLS0+Cis8IS0tRU5USVRZIFJpZ2h0
VXBEb3duVmVjdG9yICImI3gyOTRGOyItLT4KKzwhLS1FTlRJVFkgRG93bkxlZnRSaWdodFZlY3Rv
ciAiJiN4Mjk1MDsiLS0+Cis8IS0tRU5USVRZIExlZnRVcERvd25WZWN0b3IgIiYjeDI5NTE7Ii0t
PgorPCEtLUVOVElUWSBMZWZ0VmVjdG9yQmFyICImI3gyOTUyOyItLT4KKzwhLS1FTlRJVFkgUmln
aHRWZWN0b3JCYXIgIiYjeDI5NTM7Ii0tPgorPCEtLUVOVElUWSBSaWdodFVwVmVjdG9yQmFyICIm
I3gyOTU0OyItLT4KKzwhLS1FTlRJVFkgUmlnaHREb3duVmVjdG9yQmFyICImI3gyOTU1OyItLT4K
KzwhLS1FTlRJVFkgRG93bkxlZnRWZWN0b3JCYXIgIiYjeDI5NTY7Ii0tPgorPCEtLUVOVElUWSBE
b3duUmlnaHRWZWN0b3JCYXIgIiYjeDI5NTc7Ii0tPgorPCEtLUVOVElUWSBMZWZ0VXBWZWN0b3JC
YXIgIiYjeDI5NTg7Ii0tPgorPCEtLUVOVElUWSBMZWZ0RG93blZlY3RvckJhciAiJiN4Mjk1OTsi
LS0+Cis8IS0tRU5USVRZIExlZnRUZWVWZWN0b3IgIiYjeDI5NUE7Ii0tPgorPCEtLUVOVElUWSBS
aWdodFRlZVZlY3RvciAiJiN4Mjk1QjsiLS0+Cis8IS0tRU5USVRZIFJpZ2h0VXBUZWVWZWN0b3Ig
IiYjeDI5NUM7Ii0tPgorPCEtLUVOVElUWSBSaWdodERvd25UZWVWZWN0b3IgIiYjeDI5NUQ7Ii0t
PgorPCEtLUVOVElUWSBEb3duTGVmdFRlZVZlY3RvciAiJiN4Mjk1RTsiLS0+Cis8IS0tRU5USVRZ
IERvd25SaWdodFRlZVZlY3RvciAiJiN4Mjk1RjsiLS0+Cis8IS0tRU5USVRZIExlZnRVcFRlZVZl
Y3RvciAiJiN4Mjk2MDsiLS0+Cis8IS0tRU5USVRZIExlZnREb3duVGVlVmVjdG9yICImI3gyOTYx
OyItLT4KKzwhLS1FTlRJVFkgbEhhciAiJiN4Mjk2MjsiLS0+Cis8IS0tRU5USVRZIHVIYXIgIiYj
eDI5NjM7Ii0tPgorPCEtLUVOVElUWSBySGFyICImI3gyOTY0OyItLT4KKzwhLS1FTlRJVFkgZEhh
ciAiJiN4Mjk2NTsiLS0+Cis8IS0tRU5USVRZIGx1cnVoYXIgIiYjeDI5NjY7Ii0tPgorPCEtLUVO
VElUWSBsZHJkaGFyICImI3gyOTY3OyItLT4KKzwhLS1FTlRJVFkgcnVsdWhhciAiJiN4Mjk2ODsi
LS0+Cis8IS0tRU5USVRZIHJkbGRoYXIgIiYjeDI5Njk7Ii0tPgorPCEtLUVOVElUWSBsaGFydWwg
IiYjeDI5NkE7Ii0tPgorPCEtLUVOVElUWSBsbGhhcmQgIiYjeDI5NkI7Ii0tPgorPCEtLUVOVElU
WSByaGFydWwgIiYjeDI5NkM7Ii0tPgorPCEtLUVOVElUWSBscmhhcmQgIiYjeDI5NkQ7Ii0tPgor
PCEtLUVOVElUWSB1ZGhhciAiJiN4Mjk2RTsiLS0+Cis8IS0tRU5USVRZIFVwRXF1aWxpYnJpdW0g
IiYjeDI5NkU7Ii0tPgorPCEtLUVOVElUWSBkdWhhciAiJiN4Mjk2RjsiLS0+Cis8IS0tRU5USVRZ
IFJldmVyc2VVcEVxdWlsaWJyaXVtICImI3gyOTZGOyItLT4KKzwhLS1FTlRJVFkgUm91bmRJbXBs
aWVzICImI3gyOTcwOyItLT4KKzwhLS1FTlRJVFkgZXJhcnIgIiYjeDI5NzE7Ii0tPgorPCEtLUVO
VElUWSBzaW1yYXJyICImI3gyOTcyOyItLT4KKzwhLS1FTlRJVFkgbGFycnNpbSAiJiN4Mjk3Mzsi
LS0+Cis8IS0tRU5USVRZIHJhcnJzaW0gIiYjeDI5NzQ7Ii0tPgorPCEtLUVOVElUWSByYXJyYXAg
IiYjeDI5NzU7Ii0tPgorPCEtLUVOVElUWSBsdGxhcnIgIiYjeDI5NzY7Ii0tPgorPCEtLUVOVElU
WSBndHJhcnIgIiYjeDI5Nzg7Ii0tPgorPCEtLUVOVElUWSBzdWJyYXJyICImI3gyOTc5OyItLT4K
KzwhLS1FTlRJVFkgc3VwbGFyciAiJiN4Mjk3QjsiLS0+Cis8IS0tRU5USVRZIGxmaXNodCAiJiN4
Mjk3QzsiLS0+Cis8IS0tRU5USVRZIHJmaXNodCAiJiN4Mjk3RDsiLS0+Cis8IS0tRU5USVRZIHVm
aXNodCAiJiN4Mjk3RTsiLS0+Cis8IS0tRU5USVRZIGRmaXNodCAiJiN4Mjk3RjsiLS0+Cis8IS0t
RU5USVRZIGxvcGFyICImI3gyOTg1OyItLT4KKzwhLS1FTlRJVFkgcm9wYXIgIiYjeDI5ODY7Ii0t
PgorPCEtLUVOVElUWSBsYnJrZSAiJiN4Mjk4QjsiLS0+Cis8IS0tRU5USVRZIHJicmtlICImI3gy
OThDOyItLT4KKzwhLS1FTlRJVFkgbGJya3NsdSAiJiN4Mjk4RDsiLS0+Cis8IS0tRU5USVRZIHJi
cmtzbGQgIiYjeDI5OEU7Ii0tPgorPCEtLUVOVElUWSBsYnJrc2xkICImI3gyOThGOyItLT4KKzwh
LS1FTlRJVFkgcmJya3NsdSAiJiN4Mjk5MDsiLS0+Cis8IS0tRU5USVRZIGxhbmdkICImI3gyOTkx
OyItLT4KKzwhLS1FTlRJVFkgcmFuZ2QgIiYjeDI5OTI7Ii0tPgorPCEtLUVOVElUWSBscGFybHQg
IiYjeDI5OTM7Ii0tPgorPCEtLUVOVElUWSBycGFyZ3QgIiYjeDI5OTQ7Ii0tPgorPCEtLUVOVElU
WSBndGxQYXIgIiYjeDI5OTU7Ii0tPgorPCEtLUVOVElUWSBsdHJQYXIgIiYjeDI5OTY7Ii0tPgor
PCEtLUVOVElUWSB2emlnemFnICImI3gyOTlBOyItLT4KKzwhLS1FTlRJVFkgdmFuZ3J0ICImI3gy
OTlDOyItLT4KKzwhLS1FTlRJVFkgYW5ncnR2YmQgIiYjeDI5OUQ7Ii0tPgorPCEtLUVOVElUWSBh
bmdlICImI3gyOUE0OyItLT4KKzwhLS1FTlRJVFkgcmFuZ2UgIiYjeDI5QTU7Ii0tPgorPCEtLUVO
VElUWSBkd2FuZ2xlICImI3gyOUE2OyItLT4KKzwhLS1FTlRJVFkgdXdhbmdsZSAiJiN4MjlBNzsi
LS0+Cis8IS0tRU5USVRZIGFuZ21zZGFhICImI3gyOUE4OyItLT4KKzwhLS1FTlRJVFkgYW5nbXNk
YWIgIiYjeDI5QTk7Ii0tPgorPCEtLUVOVElUWSBhbmdtc2RhYyAiJiN4MjlBQTsiLS0+Cis8IS0t
RU5USVRZIGFuZ21zZGFkICImI3gyOUFCOyItLT4KKzwhLS1FTlRJVFkgYW5nbXNkYWUgIiYjeDI5
QUM7Ii0tPgorPCEtLUVOVElUWSBhbmdtc2RhZiAiJiN4MjlBRDsiLS0+Cis8IS0tRU5USVRZIGFu
Z21zZGFnICImI3gyOUFFOyItLT4KKzwhLS1FTlRJVFkgYW5nbXNkYWggIiYjeDI5QUY7Ii0tPgor
PCEtLUVOVElUWSBiZW1wdHl2ICImI3gyOUIwOyItLT4KKzwhLS1FTlRJVFkgZGVtcHR5diAiJiN4
MjlCMTsiLS0+Cis8IS0tRU5USVRZIGNlbXB0eXYgIiYjeDI5QjI7Ii0tPgorPCEtLUVOVElUWSBy
YWVtcHR5diAiJiN4MjlCMzsiLS0+Cis8IS0tRU5USVRZIGxhZW1wdHl2ICImI3gyOUI0OyItLT4K
KzwhLS1FTlRJVFkgb2hiYXIgIiYjeDI5QjU7Ii0tPgorPCEtLUVOVElUWSBvbWlkICImI3gyOUI2
OyItLT4KKzwhLS1FTlRJVFkgb3BhciAiJiN4MjlCNzsiLS0+Cis8IS0tRU5USVRZIG9wZXJwICIm
I3gyOUI5OyItLT4KKzwhLS1FTlRJVFkgb2xjcm9zcyAiJiN4MjlCQjsiLS0+Cis8IS0tRU5USVRZ
IG9kc29sZCAiJiN4MjlCQzsiLS0+Cis8IS0tRU5USVRZIG9sY2lyICImI3gyOUJFOyItLT4KKzwh
LS1FTlRJVFkgb2ZjaXIgIiYjeDI5QkY7Ii0tPgorPCEtLUVOVElUWSBvbHQgIiYjeDI5QzA7Ii0t
PgorPCEtLUVOVElUWSBvZ3QgIiYjeDI5QzE7Ii0tPgorPCEtLUVOVElUWSBjaXJzY2lyICImI3gy
OUMyOyItLT4KKzwhLS1FTlRJVFkgY2lyRSAiJiN4MjlDMzsiLS0+Cis8IS0tRU5USVRZIHNvbGIg
IiYjeDI5QzQ7Ii0tPgorPCEtLUVOVElUWSBic29sYiAiJiN4MjlDNTsiLS0+Cis8IS0tRU5USVRZ
IGJveGJveCAiJiN4MjlDOTsiLS0+Cis8IS0tRU5USVRZIHRyaXNiICImI3gyOUNEOyItLT4KKzwh
LS1FTlRJVFkgcnRyaWx0cmkgIiYjeDI5Q0U7Ii0tPgorPCEtLUVOVElUWSBMZWZ0VHJpYW5nbGVC
YXIgIiYjeDI5Q0Y7Ii0tPgorPCEtLUVOVElUWSBOb3RMZWZ0VHJpYW5nbGVCYXIgIiYjeDI5Q0Y7
JiN4MzM4OyItLT4KKzwhLS1FTlRJVFkgUmlnaHRUcmlhbmdsZUJhciAiJiN4MjlEMDsiLS0+Cis8
IS0tRU5USVRZIE5vdFJpZ2h0VHJpYW5nbGVCYXIgIiYjeDI5RDA7JiN4MzM4OyItLT4KKzwhLS1F
TlRJVFkgaWluZmluICImI3gyOURDOyItLT4KKzwhLS1FTlRJVFkgaW5maW50aWUgIiYjeDI5REQ7
Ii0tPgorPCEtLUVOVElUWSBudmluZmluICImI3gyOURFOyItLT4KKzwhLS1FTlRJVFkgZXBhcnNs
ICImI3gyOUUzOyItLT4KKzwhLS1FTlRJVFkgc21lcGFyc2wgIiYjeDI5RTQ7Ii0tPgorPCEtLUVO
VElUWSBlcXZwYXJzbCAiJiN4MjlFNTsiLS0+Cis8IS0tRU5USVRZIGxvemYgIiYjeDI5RUI7Ii0t
PgorPCEtLUVOVElUWSBibGFja2xvemVuZ2UgIiYjeDI5RUI7Ii0tPgorPCEtLUVOVElUWSBSdWxl
RGVsYXllZCAiJiN4MjlGNDsiLS0+Cis8IS0tRU5USVRZIGRzb2wgIiYjeDI5RjY7Ii0tPgorPCEt
LUVOVElUWSB4b2RvdCAiJiN4MkEwMDsiLS0+Cis8IS0tRU5USVRZIGJpZ29kb3QgIiYjeDJBMDA7
Ii0tPgorPCEtLUVOVElUWSB4b3BsdXMgIiYjeDJBMDE7Ii0tPgorPCEtLUVOVElUWSBiaWdvcGx1
cyAiJiN4MkEwMTsiLS0+Cis8IS0tRU5USVRZIHhvdGltZSAiJiN4MkEwMjsiLS0+Cis8IS0tRU5U
SVRZIGJpZ290aW1lcyAiJiN4MkEwMjsiLS0+Cis8IS0tRU5USVRZIHh1cGx1cyAiJiN4MkEwNDsi
LS0+Cis8IS0tRU5USVRZIGJpZ3VwbHVzICImI3gyQTA0OyItLT4KKzwhLS1FTlRJVFkgeHNxY3Vw
ICImI3gyQTA2OyItLT4KKzwhLS1FTlRJVFkgYmlnc3FjdXAgIiYjeDJBMDY7Ii0tPgorPCEtLUVO
VElUWSBxaW50ICImI3gyQTBDOyItLT4KKzwhLS1FTlRJVFkgaWlpaW50ICImI3gyQTBDOyItLT4K
KzwhLS1FTlRJVFkgZnBhcnRpbnQgIiYjeDJBMEQ7Ii0tPgorPCEtLUVOVElUWSBjaXJmbmludCAi
JiN4MkExMDsiLS0+Cis8IS0tRU5USVRZIGF3aW50ICImI3gyQTExOyItLT4KKzwhLS1FTlRJVFkg
cnBwb2xpbnQgIiYjeDJBMTI7Ii0tPgorPCEtLUVOVElUWSBzY3BvbGludCAiJiN4MkExMzsiLS0+
Cis8IS0tRU5USVRZIG5wb2xpbnQgIiYjeDJBMTQ7Ii0tPgorPCEtLUVOVElUWSBwb2ludGludCAi
JiN4MkExNTsiLS0+Cis8IS0tRU5USVRZIHF1YXRpbnQgIiYjeDJBMTY7Ii0tPgorPCEtLUVOVElU
WSBpbnRsYXJoayAiJiN4MkExNzsiLS0+Cis8IS0tRU5USVRZIHBsdXNjaXIgIiYjeDJBMjI7Ii0t
PgorPCEtLUVOVElUWSBwbHVzYWNpciAiJiN4MkEyMzsiLS0+Cis8IS0tRU5USVRZIHNpbXBsdXMg
IiYjeDJBMjQ7Ii0tPgorPCEtLUVOVElUWSBwbHVzZHUgIiYjeDJBMjU7Ii0tPgorPCEtLUVOVElU
WSBwbHVzc2ltICImI3gyQTI2OyItLT4KKzwhLS1FTlRJVFkgcGx1c3R3byAiJiN4MkEyNzsiLS0+
Cis8IS0tRU5USVRZIG1jb21tYSAiJiN4MkEyOTsiLS0+Cis8IS0tRU5USVRZIG1pbnVzZHUgIiYj
eDJBMkE7Ii0tPgorPCEtLUVOVElUWSBsb3BsdXMgIiYjeDJBMkQ7Ii0tPgorPCEtLUVOVElUWSBy
b3BsdXMgIiYjeDJBMkU7Ii0tPgorPCEtLUVOVElUWSBDcm9zcyAiJiN4MkEyRjsiLS0+Cis8IS0t
RU5USVRZIHRpbWVzZCAiJiN4MkEzMDsiLS0+Cis8IS0tRU5USVRZIHRpbWVzYmFyICImI3gyQTMx
OyItLT4KKzwhLS1FTlRJVFkgc21hc2hwICImI3gyQTMzOyItLT4KKzwhLS1FTlRJVFkgbG90aW1l
cyAiJiN4MkEzNDsiLS0+Cis8IS0tRU5USVRZIHJvdGltZXMgIiYjeDJBMzU7Ii0tPgorPCEtLUVO
VElUWSBvdGltZXNhcyAiJiN4MkEzNjsiLS0+Cis8IS0tRU5USVRZIE90aW1lcyAiJiN4MkEzNzsi
LS0+Cis8IS0tRU5USVRZIG9kaXYgIiYjeDJBMzg7Ii0tPgorPCEtLUVOVElUWSB0cmlwbHVzICIm
I3gyQTM5OyItLT4KKzwhLS1FTlRJVFkgdHJpbWludXMgIiYjeDJBM0E7Ii0tPgorPCEtLUVOVElU
WSB0cml0aW1lICImI3gyQTNCOyItLT4KKzwhLS1FTlRJVFkgaXByb2QgIiYjeDJBM0M7Ii0tPgor
PCEtLUVOVElUWSBpbnRwcm9kICImI3gyQTNDOyItLT4KKzwhLS1FTlRJVFkgYW1hbGcgIiYjeDJB
M0Y7Ii0tPgorPCEtLUVOVElUWSBjYXBkb3QgIiYjeDJBNDA7Ii0tPgorPCEtLUVOVElUWSBuY3Vw
ICImI3gyQTQyOyItLT4KKzwhLS1FTlRJVFkgbmNhcCAiJiN4MkE0MzsiLS0+Cis8IS0tRU5USVRZ
IGNhcGFuZCAiJiN4MkE0NDsiLS0+Cis8IS0tRU5USVRZIGN1cG9yICImI3gyQTQ1OyItLT4KKzwh
LS1FTlRJVFkgY3VwY2FwICImI3gyQTQ2OyItLT4KKzwhLS1FTlRJVFkgY2FwY3VwICImI3gyQTQ3
OyItLT4KKzwhLS1FTlRJVFkgY3VwYnJjYXAgIiYjeDJBNDg7Ii0tPgorPCEtLUVOVElUWSBjYXBi
cmN1cCAiJiN4MkE0OTsiLS0+Cis8IS0tRU5USVRZIGN1cGN1cCAiJiN4MkE0QTsiLS0+Cis8IS0t
RU5USVRZIGNhcGNhcCAiJiN4MkE0QjsiLS0+Cis8IS0tRU5USVRZIGNjdXBzICImI3gyQTRDOyIt
LT4KKzwhLS1FTlRJVFkgY2NhcHMgIiYjeDJBNEQ7Ii0tPgorPCEtLUVOVElUWSBjY3Vwc3NtICIm
I3gyQTUwOyItLT4KKzwhLS1FTlRJVFkgQW5kICImI3gyQTUzOyItLT4KKzwhLS1FTlRJVFkgT3Ig
IiYjeDJBNTQ7Ii0tPgorPCEtLUVOVElUWSBhbmRhbmQgIiYjeDJBNTU7Ii0tPgorPCEtLUVOVElU
WSBvcm9yICImI3gyQTU2OyItLT4KKzwhLS1FTlRJVFkgb3JzbG9wZSAiJiN4MkE1NzsiLS0+Cis8
IS0tRU5USVRZIGFuZHNsb3BlICImI3gyQTU4OyItLT4KKzwhLS1FTlRJVFkgYW5kdiAiJiN4MkE1
QTsiLS0+Cis8IS0tRU5USVRZIG9ydiAiJiN4MkE1QjsiLS0+Cis8IS0tRU5USVRZIGFuZGQgIiYj
eDJBNUM7Ii0tPgorPCEtLUVOVElUWSBvcmQgIiYjeDJBNUQ7Ii0tPgorPCEtLUVOVElUWSB3ZWRi
YXIgIiYjeDJBNUY7Ii0tPgorPCEtLUVOVElUWSBzZG90ZSAiJiN4MkE2NjsiLS0+Cis8IS0tRU5U
SVRZIHNpbWRvdCAiJiN4MkE2QTsiLS0+Cis8IS0tRU5USVRZIGNvbmdkb3QgIiYjeDJBNkQ7Ii0t
PgorPCEtLUVOVElUWSBuY29uZ2RvdCAiJiN4MkE2RDsmI3gzMzg7Ii0tPgorPCEtLUVOVElUWSBl
YXN0ZXIgIiYjeDJBNkU7Ii0tPgorPCEtLUVOVElUWSBhcGFjaXIgIiYjeDJBNkY7Ii0tPgorPCEt
LUVOVElUWSBhcEUgIiYjeDJBNzA7Ii0tPgorPCEtLUVOVElUWSBuYXBFICImI3gyQTcwOyYjeDMz
ODsiLS0+Cis8IS0tRU5USVRZIGVwbHVzICImI3gyQTcxOyItLT4KKzwhLS1FTlRJVFkgcGx1c2Ug
IiYjeDJBNzI7Ii0tPgorPCEtLUVOVElUWSBFc2ltICImI3gyQTczOyItLT4KKzwhLS1FTlRJVFkg
Q29sb25lICImI3gyQTc0OyItLT4KKzwhLS1FTlRJVFkgRXF1YWwgIiYjeDJBNzU7Ii0tPgorPCEt
LUVOVElUWSBlRERvdCAiJiN4MkE3NzsiLS0+Cis8IS0tRU5USVRZIGRkb3RzZXEgIiYjeDJBNzc7
Ii0tPgorPCEtLUVOVElUWSBlcXVpdkREICImI3gyQTc4OyItLT4KKzwhLS1FTlRJVFkgbHRjaXIg
IiYjeDJBNzk7Ii0tPgorPCEtLUVOVElUWSBndGNpciAiJiN4MkE3QTsiLS0+Cis8IS0tRU5USVRZ
IGx0cXVlc3QgIiYjeDJBN0I7Ii0tPgorPCEtLUVOVElUWSBndHF1ZXN0ICImI3gyQTdDOyItLT4K
KzwhLS1FTlRJVFkgbGVzICImI3gyQTdEOyItLT4KKzwhLS1FTlRJVFkgTGVzc1NsYW50RXF1YWwg
IiYjeDJBN0Q7Ii0tPgorPCEtLUVOVElUWSBsZXFzbGFudCAiJiN4MkE3RDsiLS0+Cis8IS0tRU5U
SVRZIG5sZXMgIiYjeDJBN0Q7JiN4MzM4OyItLT4KKzwhLS1FTlRJVFkgTm90TGVzc1NsYW50RXF1
YWwgIiYjeDJBN0Q7JiN4MzM4OyItLT4KKzwhLS1FTlRJVFkgbmxlcXNsYW50ICImI3gyQTdEOyYj
eDMzODsiLS0+Cis8IS0tRU5USVRZIGdlcyAiJiN4MkE3RTsiLS0+Cis8IS0tRU5USVRZIEdyZWF0
ZXJTbGFudEVxdWFsICImI3gyQTdFOyItLT4KKzwhLS1FTlRJVFkgZ2Vxc2xhbnQgIiYjeDJBN0U7
Ii0tPgorPCEtLUVOVElUWSBuZ2VzICImI3gyQTdFOyYjeDMzODsiLS0+Cis8IS0tRU5USVRZIE5v
dEdyZWF0ZXJTbGFudEVxdWFsICImI3gyQTdFOyYjeDMzODsiLS0+Cis8IS0tRU5USVRZIG5nZXFz
bGFudCAiJiN4MkE3RTsmI3gzMzg7Ii0tPgorPCEtLUVOVElUWSBsZXNkb3QgIiYjeDJBN0Y7Ii0t
PgorPCEtLUVOVElUWSBnZXNkb3QgIiYjeDJBODA7Ii0tPgorPCEtLUVOVElUWSBsZXNkb3RvICIm
I3gyQTgxOyItLT4KKzwhLS1FTlRJVFkgZ2VzZG90byAiJiN4MkE4MjsiLS0+Cis8IS0tRU5USVRZ
IGxlc2RvdG9yICImI3gyQTgzOyItLT4KKzwhLS1FTlRJVFkgZ2VzZG90b2wgIiYjeDJBODQ7Ii0t
PgorPCEtLUVOVElUWSBsYXAgIiYjeDJBODU7Ii0tPgorPCEtLUVOVElUWSBsZXNzYXBwcm94ICIm
I3gyQTg1OyItLT4KKzwhLS1FTlRJVFkgZ2FwICImI3gyQTg2OyItLT4KKzwhLS1FTlRJVFkgZ3Ry
YXBwcm94ICImI3gyQTg2OyItLT4KKzwhLS1FTlRJVFkgbG5lICImI3gyQTg3OyItLT4KKzwhLS1F
TlRJVFkgbG5lcSAiJiN4MkE4NzsiLS0+Cis8IS0tRU5USVRZIGduZSAiJiN4MkE4ODsiLS0+Cis8
IS0tRU5USVRZIGduZXEgIiYjeDJBODg7Ii0tPgorPCEtLUVOVElUWSBsbmFwICImI3gyQTg5OyIt
LT4KKzwhLS1FTlRJVFkgbG5hcHByb3ggIiYjeDJBODk7Ii0tPgorPCEtLUVOVElUWSBnbmFwICIm
I3gyQThBOyItLT4KKzwhLS1FTlRJVFkgZ25hcHByb3ggIiYjeDJBOEE7Ii0tPgorPCEtLUVOVElU
WSBsRWcgIiYjeDJBOEI7Ii0tPgorPCEtLUVOVElUWSBsZXNzZXFxZ3RyICImI3gyQThCOyItLT4K
KzwhLS1FTlRJVFkgZ0VsICImI3gyQThDOyItLT4KKzwhLS1FTlRJVFkgZ3RyZXFxbGVzcyAiJiN4
MkE4QzsiLS0+Cis8IS0tRU5USVRZIGxzaW1lICImI3gyQThEOyItLT4KKzwhLS1FTlRJVFkgZ3Np
bWUgIiYjeDJBOEU7Ii0tPgorPCEtLUVOVElUWSBsc2ltZyAiJiN4MkE4RjsiLS0+Cis8IS0tRU5U
SVRZIGdzaW1sICImI3gyQTkwOyItLT4KKzwhLS1FTlRJVFkgbGdFICImI3gyQTkxOyItLT4KKzwh
LS1FTlRJVFkgZ2xFICImI3gyQTkyOyItLT4KKzwhLS1FTlRJVFkgbGVzZ2VzICImI3gyQTkzOyIt
LT4KKzwhLS1FTlRJVFkgZ2VzbGVzICImI3gyQTk0OyItLT4KKzwhLS1FTlRJVFkgZWxzICImI3gy
QTk1OyItLT4KKzwhLS1FTlRJVFkgZXFzbGFudGxlc3MgIiYjeDJBOTU7Ii0tPgorPCEtLUVOVElU
WSBlZ3MgIiYjeDJBOTY7Ii0tPgorPCEtLUVOVElUWSBlcXNsYW50Z3RyICImI3gyQTk2OyItLT4K
KzwhLS1FTlRJVFkgZWxzZG90ICImI3gyQTk3OyItLT4KKzwhLS1FTlRJVFkgZWdzZG90ICImI3gy
QTk4OyItLT4KKzwhLS1FTlRJVFkgZWwgIiYjeDJBOTk7Ii0tPgorPCEtLUVOVElUWSBlZyAiJiN4
MkE5QTsiLS0+Cis8IS0tRU5USVRZIHNpbWwgIiYjeDJBOUQ7Ii0tPgorPCEtLUVOVElUWSBzaW1n
ICImI3gyQTlFOyItLT4KKzwhLS1FTlRJVFkgc2ltbEUgIiYjeDJBOUY7Ii0tPgorPCEtLUVOVElU
WSBzaW1nRSAiJiN4MkFBMDsiLS0+Cis8IS0tRU5USVRZIExlc3NMZXNzICImI3gyQUExOyItLT4K
KzwhLS1FTlRJVFkgTm90TmVzdGVkTGVzc0xlc3MgIiYjeDJBQTE7JiN4MzM4OyItLT4KKzwhLS1F
TlRJVFkgR3JlYXRlckdyZWF0ZXIgIiYjeDJBQTI7Ii0tPgorPCEtLUVOVElUWSBOb3ROZXN0ZWRH
cmVhdGVyR3JlYXRlciAiJiN4MkFBMjsmI3gzMzg7Ii0tPgorPCEtLUVOVElUWSBnbGogIiYjeDJB
QTQ7Ii0tPgorPCEtLUVOVElUWSBnbGEgIiYjeDJBQTU7Ii0tPgorPCEtLUVOVElUWSBsdGNjICIm
I3gyQUE2OyItLT4KKzwhLS1FTlRJVFkgZ3RjYyAiJiN4MkFBNzsiLS0+Cis8IS0tRU5USVRZIGxl
c2NjICImI3gyQUE4OyItLT4KKzwhLS1FTlRJVFkgZ2VzY2MgIiYjeDJBQTk7Ii0tPgorPCEtLUVO
VElUWSBzbXQgIiYjeDJBQUE7Ii0tPgorPCEtLUVOVElUWSBsYXQgIiYjeDJBQUI7Ii0tPgorPCEt
LUVOVElUWSBzbXRlICImI3gyQUFDOyItLT4KKzwhLS1FTlRJVFkgc210ZXMgIiYjeDJBQUM7JiN4
RkUwMDsiLS0+Cis8IS0tRU5USVRZIGxhdGUgIiYjeDJBQUQ7Ii0tPgorPCEtLUVOVElUWSBsYXRl
cyAiJiN4MkFBRDsmI3hGRTAwOyItLT4KKzwhLS1FTlRJVFkgYnVtcEUgIiYjeDJBQUU7Ii0tPgor
PCEtLUVOVElUWSBwcmUgIiYjeDJBQUY7Ii0tPgorPCEtLUVOVElUWSBwcmVjZXEgIiYjeDJBQUY7
Ii0tPgorPCEtLUVOVElUWSBQcmVjZWRlc0VxdWFsICImI3gyQUFGOyItLT4KKzwhLS1FTlRJVFkg
bnByZSAiJiN4MkFBRjsmI3gzMzg7Ii0tPgorPCEtLUVOVElUWSBucHJlY2VxICImI3gyQUFGOyYj
eDMzODsiLS0+Cis8IS0tRU5USVRZIE5vdFByZWNlZGVzRXF1YWwgIiYjeDJBQUY7JiN4MzM4OyIt
LT4KKzwhLS1FTlRJVFkgc2NlICImI3gyQUIwOyItLT4KKzwhLS1FTlRJVFkgc3VjY2VxICImI3gy
QUIwOyItLT4KKzwhLS1FTlRJVFkgU3VjY2VlZHNFcXVhbCAiJiN4MkFCMDsiLS0+Cis8IS0tRU5U
SVRZIG5zY2UgIiYjeDJBQjA7JiN4MzM4OyItLT4KKzwhLS1FTlRJVFkgbnN1Y2NlcSAiJiN4MkFC
MDsmI3gzMzg7Ii0tPgorPCEtLUVOVElUWSBOb3RTdWNjZWVkc0VxdWFsICImI3gyQUIwOyYjeDMz
ODsiLS0+Cis8IS0tRU5USVRZIHByRSAiJiN4MkFCMzsiLS0+Cis8IS0tRU5USVRZIHNjRSAiJiN4
MkFCNDsiLS0+Cis8IS0tRU5USVRZIHBybkUgIiYjeDJBQjU7Ii0tPgorPCEtLUVOVElUWSBwcmVj
bmVxcSAiJiN4MkFCNTsiLS0+Cis8IS0tRU5USVRZIHNjbkUgIiYjeDJBQjY7Ii0tPgorPCEtLUVO
VElUWSBzdWNjbmVxcSAiJiN4MkFCNjsiLS0+Cis8IS0tRU5USVRZIHByYXAgIiYjeDJBQjc7Ii0t
PgorPCEtLUVOVElUWSBwcmVjYXBwcm94ICImI3gyQUI3OyItLT4KKzwhLS1FTlRJVFkgc2NhcCAi
JiN4MkFCODsiLS0+Cis8IS0tRU5USVRZIHN1Y2NhcHByb3ggIiYjeDJBQjg7Ii0tPgorPCEtLUVO
VElUWSBwcm5hcCAiJiN4MkFCOTsiLS0+Cis8IS0tRU5USVRZIHByZWNuYXBwcm94ICImI3gyQUI5
OyItLT4KKzwhLS1FTlRJVFkgc2NuYXAgIiYjeDJBQkE7Ii0tPgorPCEtLUVOVElUWSBzdWNjbmFw
cHJveCAiJiN4MkFCQTsiLS0+Cis8IS0tRU5USVRZIFByICImI3gyQUJCOyItLT4KKzwhLS1FTlRJ
VFkgU2MgIiYjeDJBQkM7Ii0tPgorPCEtLUVOVElUWSBzdWJkb3QgIiYjeDJBQkQ7Ii0tPgorPCEt
LUVOVElUWSBzdXBkb3QgIiYjeDJBQkU7Ii0tPgorPCEtLUVOVElUWSBzdWJwbHVzICImI3gyQUJG
OyItLT4KKzwhLS1FTlRJVFkgc3VwcGx1cyAiJiN4MkFDMDsiLS0+Cis8IS0tRU5USVRZIHN1Ym11
bHQgIiYjeDJBQzE7Ii0tPgorPCEtLUVOVElUWSBzdXBtdWx0ICImI3gyQUMyOyItLT4KKzwhLS1F
TlRJVFkgc3ViZWRvdCAiJiN4MkFDMzsiLS0+Cis8IS0tRU5USVRZIHN1cGVkb3QgIiYjeDJBQzQ7
Ii0tPgorPCEtLUVOVElUWSBzdWJFICImI3gyQUM1OyItLT4KKzwhLS1FTlRJVFkgc3Vic2V0ZXFx
ICImI3gyQUM1OyItLT4KKzwhLS1FTlRJVFkgbnN1YkUgIiYjeDJBQzU7JiN4MzM4OyItLT4KKzwh
LS1FTlRJVFkgbnN1YnNldGVxcSAiJiN4MkFDNTsmI3gzMzg7Ii0tPgorPCEtLUVOVElUWSBzdXBF
ICImI3gyQUM2OyItLT4KKzwhLS1FTlRJVFkgc3Vwc2V0ZXFxICImI3gyQUM2OyItLT4KKzwhLS1F
TlRJVFkgbnN1cEUgIiYjeDJBQzY7JiN4MzM4OyItLT4KKzwhLS1FTlRJVFkgbnN1cHNldGVxcSAi
JiN4MkFDNjsmI3gzMzg7Ii0tPgorPCEtLUVOVElUWSBzdWJzaW0gIiYjeDJBQzc7Ii0tPgorPCEt
LUVOVElUWSBzdXBzaW0gIiYjeDJBQzg7Ii0tPgorPCEtLUVOVElUWSBzdWJuRSAiJiN4MkFDQjsi
LS0+Cis8IS0tRU5USVRZIHN1YnNldG5lcXEgIiYjeDJBQ0I7Ii0tPgorPCEtLUVOVElUWSB2c3Vi
bkUgIiYjeDJBQ0I7JiN4RkUwMDsiLS0+Cis8IS0tRU5USVRZIHZhcnN1YnNldG5lcXEgIiYjeDJB
Q0I7JiN4RkUwMDsiLS0+Cis8IS0tRU5USVRZIHN1cG5FICImI3gyQUNDOyItLT4KKzwhLS1FTlRJ
VFkgc3Vwc2V0bmVxcSAiJiN4MkFDQzsiLS0+Cis8IS0tRU5USVRZIHZzdXBuRSAiJiN4MkFDQzsm
I3hGRTAwOyItLT4KKzwhLS1FTlRJVFkgdmFyc3Vwc2V0bmVxcSAiJiN4MkFDQzsmI3hGRTAwOyIt
LT4KKzwhLS1FTlRJVFkgY3N1YiAiJiN4MkFDRjsiLS0+Cis8IS0tRU5USVRZIGNzdXAgIiYjeDJB
RDA7Ii0tPgorPCEtLUVOVElUWSBjc3ViZSAiJiN4MkFEMTsiLS0+Cis8IS0tRU5USVRZIGNzdXBl
ICImI3gyQUQyOyItLT4KKzwhLS1FTlRJVFkgc3Vic3VwICImI3gyQUQzOyItLT4KKzwhLS1FTlRJ
VFkgc3Vwc3ViICImI3gyQUQ0OyItLT4KKzwhLS1FTlRJVFkgc3Vic3ViICImI3gyQUQ1OyItLT4K
KzwhLS1FTlRJVFkgc3Vwc3VwICImI3gyQUQ2OyItLT4KKzwhLS1FTlRJVFkgc3VwaHN1YiAiJiN4
MkFENzsiLS0+Cis8IS0tRU5USVRZIHN1cGRzdWIgIiYjeDJBRDg7Ii0tPgorPCEtLUVOVElUWSBm
b3JrdiAiJiN4MkFEOTsiLS0+Cis8IS0tRU5USVRZIHRvcGZvcmsgIiYjeDJBREE7Ii0tPgorPCEt
LUVOVElUWSBtbGNwICImI3gyQURCOyItLT4KKzwhLS1FTlRJVFkgRGFzaHYgIiYjeDJBRTQ7Ii0t
PgorPCEtLUVOVElUWSBEb3VibGVMZWZ0VGVlICImI3gyQUU0OyItLT4KKzwhLS1FTlRJVFkgVmRh
c2hsICImI3gyQUU2OyItLT4KKzwhLS1FTlRJVFkgQmFydiAiJiN4MkFFNzsiLS0+Cis8IS0tRU5U
SVRZIHZCYXIgIiYjeDJBRTg7Ii0tPgorPCEtLUVOVElUWSB2QmFydiAiJiN4MkFFOTsiLS0+Cis8
IS0tRU5USVRZIFZiYXIgIiYjeDJBRUI7Ii0tPgorPCEtLUVOVElUWSBOb3QgIiYjeDJBRUM7Ii0t
PgorPCEtLUVOVElUWSBiTm90ICImI3gyQUVEOyItLT4KKzwhLS1FTlRJVFkgcm5taWQgIiYjeDJB
RUU7Ii0tPgorPCEtLUVOVElUWSBjaXJtaWQgIiYjeDJBRUY7Ii0tPgorPCEtLUVOVElUWSBtaWRj
aXIgIiYjeDJBRjA7Ii0tPgorPCEtLUVOVElUWSB0b3BjaXIgIiYjeDJBRjE7Ii0tPgorPCEtLUVO
VElUWSBuaHBhciAiJiN4MkFGMjsiLS0+Cis8IS0tRU5USVRZIHBhcnNpbSAiJiN4MkFGMzsiLS0+
Cis8IS0tRU5USVRZIHBhcnNsICImI3gyQUZEOyItLT4KKzwhLS1FTlRJVFkgbnBhcnNsICImI3gy
QUZEOyYjeDIwRTU7Ii0tPgorPCEtLUVOVElUWSBmZmxpZyAiJiN4RkIwMDsiLS0+Cis8IS0tRU5U
SVRZIGZpbGlnICImI3hGQjAxOyItLT4KKzwhLS1FTlRJVFkgZmxsaWcgIiYjeEZCMDI7Ii0tPgor
PCEtLUVOVElUWSBmZmlsaWcgIiYjeEZCMDM7Ii0tPgorPCEtLUVOVElUWSBmZmxsaWcgIiYjeEZC
MDQ7Ii0tPgorPCEtLUVOVElUWSBBc2NyICImI3gxRDQ5QzsiLS0+Cis8IS0tRU5USVRZIENzY3Ig
IiYjeDFENDlFOyItLT4KKzwhLS1FTlRJVFkgRHNjciAiJiN4MUQ0OUY7Ii0tPgorPCEtLUVOVElU
WSBHc2NyICImI3gxRDRBMjsiLS0+Cis8IS0tRU5USVRZIEpzY3IgIiYjeDFENEE1OyItLT4KKzwh
LS1FTlRJVFkgS3NjciAiJiN4MUQ0QTY7Ii0tPgorPCEtLUVOVElUWSBOc2NyICImI3gxRDRBOTsi
LS0+Cis8IS0tRU5USVRZIE9zY3IgIiYjeDFENEFBOyItLT4KKzwhLS1FTlRJVFkgUHNjciAiJiN4
MUQ0QUI7Ii0tPgorPCEtLUVOVElUWSBRc2NyICImI3gxRDRBQzsiLS0+Cis8IS0tRU5USVRZIFNz
Y3IgIiYjeDFENEFFOyItLT4KKzwhLS1FTlRJVFkgVHNjciAiJiN4MUQ0QUY7Ii0tPgorPCEtLUVO
VElUWSBVc2NyICImI3gxRDRCMDsiLS0+Cis8IS0tRU5USVRZIFZzY3IgIiYjeDFENEIxOyItLT4K
KzwhLS1FTlRJVFkgV3NjciAiJiN4MUQ0QjI7Ii0tPgorPCEtLUVOVElUWSBYc2NyICImI3gxRDRC
MzsiLS0+Cis8IS0tRU5USVRZIFlzY3IgIiYjeDFENEI0OyItLT4KKzwhLS1FTlRJVFkgWnNjciAi
JiN4MUQ0QjU7Ii0tPgorPCEtLUVOVElUWSBhc2NyICImI3gxRDRCNjsiLS0+Cis8IS0tRU5USVRZ
IGJzY3IgIiYjeDFENEI3OyItLT4KKzwhLS1FTlRJVFkgY3NjciAiJiN4MUQ0Qjg7Ii0tPgorPCEt
LUVOVElUWSBkc2NyICImI3gxRDRCOTsiLS0+Cis8IS0tRU5USVRZIGZzY3IgIiYjeDFENEJCOyIt
LT4KKzwhLS1FTlRJVFkgaHNjciAiJiN4MUQ0QkQ7Ii0tPgorPCEtLUVOVElUWSBpc2NyICImI3gx
RDRCRTsiLS0+Cis8IS0tRU5USVRZIGpzY3IgIiYjeDFENEJGOyItLT4KKzwhLS1FTlRJVFkga3Nj
ciAiJiN4MUQ0QzA7Ii0tPgorPCEtLUVOVElUWSBsc2NyICImI3gxRDRDMTsiLS0+Cis8IS0tRU5U
SVRZIG1zY3IgIiYjeDFENEMyOyItLT4KKzwhLS1FTlRJVFkgbnNjciAiJiN4MUQ0QzM7Ii0tPgor
PCEtLUVOVElUWSBwc2NyICImI3gxRDRDNTsiLS0+Cis8IS0tRU5USVRZIHFzY3IgIiYjeDFENEM2
OyItLT4KKzwhLS1FTlRJVFkgcnNjciAiJiN4MUQ0Qzc7Ii0tPgorPCEtLUVOVElUWSBzc2NyICIm
I3gxRDRDODsiLS0+Cis8IS0tRU5USVRZIHRzY3IgIiYjeDFENEM5OyItLT4KKzwhLS1FTlRJVFkg
dXNjciAiJiN4MUQ0Q0E7Ii0tPgorPCEtLUVOVElUWSB2c2NyICImI3gxRDRDQjsiLS0+Cis8IS0t
RU5USVRZIHdzY3IgIiYjeDFENENDOyItLT4KKzwhLS1FTlRJVFkgeHNjciAiJiN4MUQ0Q0Q7Ii0t
PgorPCEtLUVOVElUWSB5c2NyICImI3gxRDRDRTsiLS0+Cis8IS0tRU5USVRZIHpzY3IgIiYjeDFE
NENGOyItLT4KKzwhLS1FTlRJVFkgQWZyICImI3gxRDUwNDsiLS0+Cis8IS0tRU5USVRZIEJmciAi
JiN4MUQ1MDU7Ii0tPgorPCEtLUVOVElUWSBEZnIgIiYjeDFENTA3OyItLT4KKzwhLS1FTlRJVFkg
RWZyICImI3gxRDUwODsiLS0+Cis8IS0tRU5USVRZIEZmciAiJiN4MUQ1MDk7Ii0tPgorPCEtLUVO
VElUWSBHZnIgIiYjeDFENTBBOyItLT4KKzwhLS1FTlRJVFkgSmZyICImI3gxRDUwRDsiLS0+Cis8
IS0tRU5USVRZIEtmciAiJiN4MUQ1MEU7Ii0tPgorPCEtLUVOVElUWSBMZnIgIiYjeDFENTBGOyIt
LT4KKzwhLS1FTlRJVFkgTWZyICImI3gxRDUxMDsiLS0+Cis8IS0tRU5USVRZIE5mciAiJiN4MUQ1
MTE7Ii0tPgorPCEtLUVOVElUWSBPZnIgIiYjeDFENTEyOyItLT4KKzwhLS1FTlRJVFkgUGZyICIm
I3gxRDUxMzsiLS0+Cis8IS0tRU5USVRZIFFmciAiJiN4MUQ1MTQ7Ii0tPgorPCEtLUVOVElUWSBT
ZnIgIiYjeDFENTE2OyItLT4KKzwhLS1FTlRJVFkgVGZyICImI3gxRDUxNzsiLS0+Cis8IS0tRU5U
SVRZIFVmciAiJiN4MUQ1MTg7Ii0tPgorPCEtLUVOVElUWSBWZnIgIiYjeDFENTE5OyItLT4KKzwh
LS1FTlRJVFkgV2ZyICImI3gxRDUxQTsiLS0+Cis8IS0tRU5USVRZIFhmciAiJiN4MUQ1MUI7Ii0t
PgorPCEtLUVOVElUWSBZZnIgIiYjeDFENTFDOyItLT4KKzwhLS1FTlRJVFkgYWZyICImI3gxRDUx
RTsiLS0+Cis8IS0tRU5USVRZIGJmciAiJiN4MUQ1MUY7Ii0tPgorPCEtLUVOVElUWSBjZnIgIiYj
eDFENTIwOyItLT4KKzwhLS1FTlRJVFkgZGZyICImI3gxRDUyMTsiLS0+Cis8IS0tRU5USVRZIGVm
ciAiJiN4MUQ1MjI7Ii0tPgorPCEtLUVOVElUWSBmZnIgIiYjeDFENTIzOyItLT4KKzwhLS1FTlRJ
VFkgZ2ZyICImI3gxRDUyNDsiLS0+Cis8IS0tRU5USVRZIGhmciAiJiN4MUQ1MjU7Ii0tPgorPCEt
LUVOVElUWSBpZnIgIiYjeDFENTI2OyItLT4KKzwhLS1FTlRJVFkgamZyICImI3gxRDUyNzsiLS0+
Cis8IS0tRU5USVRZIGtmciAiJiN4MUQ1Mjg7Ii0tPgorPCEtLUVOVElUWSBsZnIgIiYjeDFENTI5
OyItLT4KKzwhLS1FTlRJVFkgbWZyICImI3gxRDUyQTsiLS0+Cis8IS0tRU5USVRZIG5mciAiJiN4
MUQ1MkI7Ii0tPgorPCEtLUVOVElUWSBvZnIgIiYjeDFENTJDOyItLT4KKzwhLS1FTlRJVFkgcGZy
ICImI3gxRDUyRDsiLS0+Cis8IS0tRU5USVRZIHFmciAiJiN4MUQ1MkU7Ii0tPgorPCEtLUVOVElU
WSByZnIgIiYjeDFENTJGOyItLT4KKzwhLS1FTlRJVFkgc2ZyICImI3gxRDUzMDsiLS0+Cis8IS0t
RU5USVRZIHRmciAiJiN4MUQ1MzE7Ii0tPgorPCEtLUVOVElUWSB1ZnIgIiYjeDFENTMyOyItLT4K
KzwhLS1FTlRJVFkgdmZyICImI3gxRDUzMzsiLS0+Cis8IS0tRU5USVRZIHdmciAiJiN4MUQ1MzQ7
Ii0tPgorPCEtLUVOVElUWSB4ZnIgIiYjeDFENTM1OyItLT4KKzwhLS1FTlRJVFkgeWZyICImI3gx
RDUzNjsiLS0+Cis8IS0tRU5USVRZIHpmciAiJiN4MUQ1Mzc7Ii0tPgorPCEtLUVOVElUWSBBb3Bm
ICImI3gxRDUzODsiLS0+Cis8IS0tRU5USVRZIEJvcGYgIiYjeDFENTM5OyItLT4KKzwhLS1FTlRJ
VFkgRG9wZiAiJiN4MUQ1M0I7Ii0tPgorPCEtLUVOVElUWSBFb3BmICImI3gxRDUzQzsiLS0+Cis8
IS0tRU5USVRZIEZvcGYgIiYjeDFENTNEOyItLT4KKzwhLS1FTlRJVFkgR29wZiAiJiN4MUQ1M0U7
Ii0tPgorPCEtLUVOVElUWSBJb3BmICImI3gxRDU0MDsiLS0+Cis8IS0tRU5USVRZIEpvcGYgIiYj
eDFENTQxOyItLT4KKzwhLS1FTlRJVFkgS29wZiAiJiN4MUQ1NDI7Ii0tPgorPCEtLUVOVElUWSBM
b3BmICImI3gxRDU0MzsiLS0+Cis8IS0tRU5USVRZIE1vcGYgIiYjeDFENTQ0OyItLT4KKzwhLS1F
TlRJVFkgT29wZiAiJiN4MUQ1NDY7Ii0tPgorPCEtLUVOVElUWSBTb3BmICImI3gxRDU0QTsiLS0+
Cis8IS0tRU5USVRZIFRvcGYgIiYjeDFENTRCOyItLT4KKzwhLS1FTlRJVFkgVW9wZiAiJiN4MUQ1
NEM7Ii0tPgorPCEtLUVOVElUWSBWb3BmICImI3gxRDU0RDsiLS0+Cis8IS0tRU5USVRZIFdvcGYg
IiYjeDFENTRFOyItLT4KKzwhLS1FTlRJVFkgWG9wZiAiJiN4MUQ1NEY7Ii0tPgorPCEtLUVOVElU
WSBZb3BmICImI3gxRDU1MDsiLS0+Cis8IS0tRU5USVRZIGFvcGYgIiYjeDFENTUyOyItLT4KKzwh
LS1FTlRJVFkgYm9wZiAiJiN4MUQ1NTM7Ii0tPgorPCEtLUVOVElUWSBjb3BmICImI3gxRDU1NDsi
LS0+Cis8IS0tRU5USVRZIGRvcGYgIiYjeDFENTU1OyItLT4KKzwhLS1FTlRJVFkgZW9wZiAiJiN4
MUQ1NTY7Ii0tPgorPCEtLUVOVElUWSBmb3BmICImI3gxRDU1NzsiLS0+Cis8IS0tRU5USVRZIGdv
cGYgIiYjeDFENTU4OyItLT4KKzwhLS1FTlRJVFkgaG9wZiAiJiN4MUQ1NTk7Ii0tPgorPCEtLUVO
VElUWSBpb3BmICImI3gxRDU1QTsiLS0+Cis8IS0tRU5USVRZIGpvcGYgIiYjeDFENTVCOyItLT4K
KzwhLS1FTlRJVFkga29wZiAiJiN4MUQ1NUM7Ii0tPgorPCEtLUVOVElUWSBsb3BmICImI3gxRDU1
RDsiLS0+Cis8IS0tRU5USVRZIG1vcGYgIiYjeDFENTVFOyItLT4KKzwhLS1FTlRJVFkgbm9wZiAi
JiN4MUQ1NUY7Ii0tPgorPCEtLUVOVElUWSBvb3BmICImI3gxRDU2MDsiLS0+Cis8IS0tRU5USVRZ
IHBvcGYgIiYjeDFENTYxOyItLT4KKzwhLS1FTlRJVFkgcW9wZiAiJiN4MUQ1NjI7Ii0tPgorPCEt
LUVOVElUWSByb3BmICImI3gxRDU2MzsiLS0+Cis8IS0tRU5USVRZIHNvcGYgIiYjeDFENTY0OyIt
LT4KKzwhLS1FTlRJVFkgdG9wZiAiJiN4MUQ1NjU7Ii0tPgorPCEtLUVOVElUWSB1b3BmICImI3gx
RDU2NjsiLS0+Cis8IS0tRU5USVRZIHZvcGYgIiYjeDFENTY3OyItLT4KKzwhLS1FTlRJVFkgd29w
ZiAiJiN4MUQ1Njg7Ii0tPgorPCEtLUVOVElUWSB4b3BmICImI3gxRDU2OTsiLS0+Cis8IS0tRU5U
SVRZIHlvcGYgIiYjeDFENTZBOyItLT4KKzwhLS1FTlRJVFkgem9wZiAiJiN4MUQ1NkI7Ii0tPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy9tYW5pZmVzdC9kb3dubG9hZC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvbWFuaWZlc3QvZG93bmxvYWQucHkKaW5kZXggMzczNmQ1NGYx
NWRjNWU5YzY2YzU2MDczMGFjZDA4ZjQzZTUzZGIzMC4uZjhiZTAzZWZiMjc1MGFkNzU0YzYwMzhm
NzM0MWE5NzYxMjkxZGYyMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9tYW5pZmVzdC9kb3dubG9hZC5weQorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL21hbmlmZXN0L2Rvd25s
b2FkLnB5CkBAIC0yNiw2ICsyNiw3IEBAIGlmIE1ZUFk6CiAgICAgZnJvbSB0eXBpbmcgaW1wb3J0
IENhbGxhYmxlCiAgICAgZnJvbSB0eXBpbmcgaW1wb3J0IExpc3QKICAgICBmcm9tIHR5cGluZyBp
bXBvcnQgT3B0aW9uYWwKKyAgICBmcm9tIHR5cGluZyBpbXBvcnQgVGV4dAogCiBoZXJlID0gb3Mu
cGF0aC5kaXJuYW1lKF9fZmlsZV9fKQogCkBAIC01MCw5ICs1MSw5IEBAIGRlZiBzaG91bGRfZG93
bmxvYWQobWFuaWZlc3RfcGF0aCwgcmVidWlsZF90aW1lPXRpbWVkZWx0YShkYXlzPTUpKToKIAog
CiBkZWYgbWVyZ2VfcHJfdGFncyhyZXBvX3Jvb3QsIG1heF9jb3VudD01MCk6Ci0gICAgIyB0eXBl
OiAoc3RyLCBpbnQpIC0+IExpc3Rbc3RyXQorICAgICMgdHlwZTogKHN0ciwgaW50KSAtPiBMaXN0
W1RleHRdCiAgICAgZ2l0ZnVuYyA9IGdpdChyZXBvX3Jvb3QpCi0gICAgdGFncyA9IFtdICAjIHR5
cGU6IExpc3Rbc3RyXQorICAgIHRhZ3MgPSBbXSAgIyB0eXBlOiBMaXN0W1RleHRdCiAgICAgaWYg
Z2l0ZnVuYyBpcyBOb25lOgogICAgICAgICByZXR1cm4gdGFncwogICAgIGZvciBsaW5lIGluIGdp
dGZ1bmMoImxvZyIsICItLWZvcm1hdD0lRCIsICItLW1heC1jb3VudD0lcyIgJSBtYXhfY291bnQp
LnNwbGl0KCJcbiIpOgpAQCAtNzksNyArODAsNyBAQCBkZWYgc2NvcmVfbmFtZShuYW1lKToKIAog
CiBkZWYgZ2l0aHViX3VybCh0YWdzKToKLSAgICAjIHR5cGU6IChMaXN0W3N0cl0pIC0+IE9wdGlv
bmFsW0xpc3Rbc3RyXV0KKyAgICAjIHR5cGU6IChMaXN0W1RleHRdKSAtPiBPcHRpb25hbFtMaXN0
W1RleHRdXQogICAgIGZvciB0YWcgaW4gdGFnczoKICAgICAgICAgdXJsID0gImh0dHBzOi8vYXBp
LmdpdGh1Yi5jb20vcmVwb3Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9yZWxlYXNlcy90YWdzLyVz
IiAlIHRhZwogICAgICAgICB0cnk6CkBAIC0xMTEsOCArMTEyLDggQEAgZGVmIGdpdGh1Yl91cmwo
dGFncyk6CiAKIGRlZiBkb3dubG9hZF9tYW5pZmVzdCgKICAgICAgICAgbWFuaWZlc3RfcGF0aCwg
ICMgdHlwZTogc3RyCi0gICAgICAgIHRhZ3NfZnVuYywgICMgdHlwZTogQ2FsbGFibGVbW10sIExp
c3Rbc3RyXV0KLSAgICAgICAgdXJsX2Z1bmMsICAjIHR5cGU6IENhbGxhYmxlW1tMaXN0W3N0cl1d
LCBPcHRpb25hbFtMaXN0W3N0cl1dXQorICAgICAgICB0YWdzX2Z1bmMsICAjIHR5cGU6IENhbGxh
YmxlW1tdLCBMaXN0W1RleHRdXQorICAgICAgICB1cmxfZnVuYywgICMgdHlwZTogQ2FsbGFibGVb
W0xpc3RbVGV4dF1dLCBPcHRpb25hbFtMaXN0W1RleHRdXV0KICAgICAgICAgZm9yY2U9RmFsc2Ug
ICMgdHlwZTogYm9vbAogKToKICAgICAjIHR5cGU6ICguLi4pIC0+IGJvb2wKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbWFuaWZl
c3QvaXRlbS5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvbWFuaWZlc3QvaXRlbS5weQppbmRleCAxYzQwMzRhZDA1Zjk5YTI2MzE1OTAxYTE4Yzhm
NDAyZDVmYTY0YzEwLi5lZTA3ZjBkMWQ3OTcxNzUzNzRiMTY5YTQ2OGI0YzJjODUwNTc5NmRhIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL21hbmlmZXN0L2l0ZW0ucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy9tYW5pZmVzdC9pdGVtLnB5CkBAIC0xLDQgKzEsNCBAQAotZnJv
bSBjb3B5IGltcG9ydCBjb3B5CitpbXBvcnQgb3MucGF0aAogZnJvbSBpbnNwZWN0IGltcG9ydCBp
c2Fic3RyYWN0CiBmcm9tIHNpeCBpbXBvcnQgaXRlcml0ZW1zLCB3aXRoX21ldGFjbGFzcwogZnJv
bSBzaXgubW92ZXMudXJsbGliLnBhcnNlIGltcG9ydCB1cmxqb2luLCB1cmxwYXJzZQpAQCAtNjEs
NiArNjEsMTEgQEAgY2xhc3MgTWFuaWZlc3RJdGVtKHdpdGhfbWV0YWNsYXNzKE1hbmlmZXN0SXRl
bU1ldGEpKToKICAgICAgICAgIiIiVGhlIGl0ZW0ncyB0eXBlIiIiCiAgICAgICAgIHBhc3MKIAor
ICAgIEBwcm9wZXJ0eQorICAgIGRlZiBwYXRoX3BhcnRzKHNlbGYpOgorICAgICAgICAjIHR5cGU6
ICgpIC0+IFR1cGxlW1RleHQsIC4uLl0KKyAgICAgICAgcmV0dXJuIHR1cGxlKHNlbGYucGF0aC5z
cGxpdChvcy5wYXRoLnNlcCkpCisKICAgICBkZWYga2V5KHNlbGYpOgogICAgICAgICAjIHR5cGU6
ICgpIC0+IEhhc2hhYmxlCiAgICAgICAgICIiIkEgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSB0
ZXN0IiIiCkBAIC0xMDQsMTQgKzEwOSwxNCBAQCBjbGFzcyBVUkxNYW5pZmVzdEl0ZW0oTWFuaWZl
c3RJdGVtKToKICAgICAgICAgICAgICAgICAgdGVzdHNfcm9vdCwgICMgdHlwZTogVGV4dAogICAg
ICAgICAgICAgICAgICBwYXRoLCAgIyB0eXBlOiBUZXh0CiAgICAgICAgICAgICAgICAgIHVybF9i
YXNlLCAgIyB0eXBlOiBUZXh0Ci0gICAgICAgICAgICAgICAgIHVybCwgICMgdHlwZTogVGV4dAor
ICAgICAgICAgICAgICAgICB1cmwsICAjIHR5cGU6IE9wdGlvbmFsW1RleHRdCiAgICAgICAgICAg
ICAgICAgICoqZXh0cmFzICAjIHR5cGU6IEFueQogICAgICAgICAgICAgICAgICApOgogICAgICAg
ICAjIHR5cGU6ICguLi4pIC0+IE5vbmUKICAgICAgICAgc3VwZXIoVVJMTWFuaWZlc3RJdGVtLCBz
ZWxmKS5fX2luaXRfXyh0ZXN0c19yb290LCBwYXRoKQogICAgICAgICBhc3NlcnQgdXJsX2Jhc2Vb
MF0gPT0gIi8iCiAgICAgICAgIHNlbGYudXJsX2Jhc2UgPSB1cmxfYmFzZQotICAgICAgICBhc3Nl
cnQgdXJsWzBdICE9ICIvIgorICAgICAgICBhc3NlcnQgdXJsIGlzIE5vbmUgb3IgdXJsWzBdICE9
ICIvIgogICAgICAgICBzZWxmLl91cmwgPSB1cmwKICAgICAgICAgc2VsZi5fZXh0cmFzID0gZXh0
cmFzCiAKQEAgLTEyMywyMCArMTI4LDI4IEBAIGNsYXNzIFVSTE1hbmlmZXN0SXRlbShNYW5pZmVz
dEl0ZW0pOgogICAgIEBwcm9wZXJ0eQogICAgIGRlZiB1cmwoc2VsZik6CiAgICAgICAgICMgdHlw
ZTogKCkgLT4gVGV4dAorICAgICAgICByZWxfdXJsID0gc2VsZi5fdXJsIG9yIHNlbGYucGF0aC5y
ZXBsYWNlKG9zLnBhdGguc2VwLCB1Ii8iKQogICAgICAgICAjIHdlIGNhbiBvdXRwZXJmb3JtIHVy
bGpvaW4sIGJlY2F1c2Ugd2Uga25vdyB3ZSBqdXN0IGhhdmUgcGF0aCByZWxhdGl2ZSBVUkxzCiAg
ICAgICAgIGlmIHNlbGYudXJsX2Jhc2UgPT0gIi8iOgotICAgICAgICAgICAgcmV0dXJuICIvIiAr
IHNlbGYuX3VybAotICAgICAgICByZXR1cm4gdXJsam9pbihzZWxmLnVybF9iYXNlLCBzZWxmLl91
cmwpCisgICAgICAgICAgICByZXR1cm4gIi8iICsgcmVsX3VybAorICAgICAgICByZXR1cm4gdXJs
am9pbihzZWxmLnVybF9iYXNlLCByZWxfdXJsKQogCiAgICAgQHByb3BlcnR5CiAgICAgZGVmIGh0
dHBzKHNlbGYpOgogICAgICAgICAjIHR5cGU6ICgpIC0+IGJvb2wKICAgICAgICAgZmxhZ3MgPSBz
ZXQodXJscGFyc2Uoc2VsZi51cmwpLnBhdGgucnNwbGl0KCIvIiwgMSlbMV0uc3BsaXQoIi4iKVsx
Oi0xXSkKLSAgICAgICAgcmV0dXJuICgiaHR0cHMiIGluIGZsYWdzIG9yICJzZXJ2aWNld29ya2Vy
IiBpbiBmbGFncykKKyAgICAgICAgcmV0dXJuICJodHRwcyIgaW4gZmxhZ3Mgb3IgInNlcnZpY2V3
b3JrZXIiIGluIGZsYWdzCisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgaDIoc2VsZik6CisgICAg
ICAgICMgdHlwZTogKCkgLT4gYm9vbAorICAgICAgICBmbGFncyA9IHNldCh1cmxwYXJzZShzZWxm
LnVybCkucGF0aC5yc3BsaXQoIi8iLCAxKVsxXS5zcGxpdCgiLiIpWzE6LTFdKQorICAgICAgICBy
ZXR1cm4gImgyIiBpbiBmbGFncwogCiAgICAgZGVmIHRvX2pzb24oc2VsZik6Ci0gICAgICAgICMg
dHlwZTogKCkgLT4gVHVwbGVbVGV4dCwgRGljdFtBbnksIEFueV1dCi0gICAgICAgIHJ2ID0gKHNl
bGYuX3VybCwge30pICAjIHR5cGU6IFR1cGxlW1RleHQsIERpY3RbQW55LCBBbnldXQorICAgICAg
ICAjIHR5cGU6ICgpIC0+IFR1cGxlW09wdGlvbmFsW1RleHRdLCBEaWN0W0FueSwgQW55XV0KKyAg
ICAgICAgcmVsX3VybCA9IE5vbmUgaWYgc2VsZi5fdXJsID09IHNlbGYucGF0aC5yZXBsYWNlKG9z
LnBhdGguc2VwLCB1Ii8iKSBlbHNlIHNlbGYuX3VybAorICAgICAgICBydiA9IChyZWxfdXJsLCB7
fSkgICMgdHlwZTogVHVwbGVbT3B0aW9uYWxbVGV4dF0sIERpY3RbQW55LCBBbnldXQogICAgICAg
ICByZXR1cm4gcnYKIAogICAgIEBjbGFzc21ldGhvZApAQCAtMTc3LDEzICsxOTAsMTggQEAgY2xh
c3MgVGVzdGhhcm5lc3NUZXN0KFVSTE1hbmlmZXN0SXRlbSk6CiAgICAgICAgICMgdHlwZTogKCkg
LT4gT3B0aW9uYWxbVGV4dF0KICAgICAgICAgcmV0dXJuIHNlbGYuX2V4dHJhcy5nZXQoImpzc2hl
bGwiKQogCisgICAgQHByb3BlcnR5CisgICAgZGVmIHF1aWMoc2VsZik6CisgICAgICAgICMgdHlw
ZTogKCkgLT4gT3B0aW9uYWxbYm9vbF0KKyAgICAgICAgcmV0dXJuIHNlbGYuX2V4dHJhcy5nZXQo
InF1aWMiKQorCiAgICAgQHByb3BlcnR5CiAgICAgZGVmIHNjcmlwdF9tZXRhZGF0YShzZWxmKToK
ICAgICAgICAgIyB0eXBlOiAoKSAtPiBPcHRpb25hbFtUZXh0XQogICAgICAgICByZXR1cm4gc2Vs
Zi5fZXh0cmFzLmdldCgic2NyaXB0X21ldGFkYXRhIikKIAogICAgIGRlZiB0b19qc29uKHNlbGYp
OgotICAgICAgICAjIHR5cGU6ICgpIC0+IFR1cGxlW1RleHQsIERpY3RbVGV4dCwgQW55XV0KKyAg
ICAgICAgIyB0eXBlOiAoKSAtPiBUdXBsZVtPcHRpb25hbFtUZXh0XSwgRGljdFtUZXh0LCBBbnld
XQogICAgICAgICBydiA9IHN1cGVyKFRlc3RoYXJuZXNzVGVzdCwgc2VsZikudG9fanNvbigpCiAg
ICAgICAgIGlmIHNlbGYudGltZW91dCBpcyBub3QgTm9uZToKICAgICAgICAgICAgIHJ2Wy0xXVsi
dGltZW91dCJdID0gc2VsZi50aW1lb3V0CkBAIC0xOTEsMjMgKzIwOSwyNyBAQCBjbGFzcyBUZXN0
aGFybmVzc1Rlc3QoVVJMTWFuaWZlc3RJdGVtKToKICAgICAgICAgICAgIHJ2Wy0xXVsidGVzdGRy
aXZlciJdID0gc2VsZi50ZXN0ZHJpdmVyCiAgICAgICAgIGlmIHNlbGYuanNzaGVsbDoKICAgICAg
ICAgICAgIHJ2Wy0xXVsianNzaGVsbCJdID0gVHJ1ZQorICAgICAgICBpZiBzZWxmLnF1aWMgaXMg
bm90IE5vbmU6CisgICAgICAgICAgICBydlstMV1bInF1aWMiXSA9IHNlbGYucXVpYwogICAgICAg
ICBpZiBzZWxmLnNjcmlwdF9tZXRhZGF0YToKLSAgICAgICAgICAgIHJ2Wy0xXVsic2NyaXB0X21l
dGFkYXRhIl0gPSBzZWxmLnNjcmlwdF9tZXRhZGF0YQorICAgICAgICAgICAgcnZbLTFdWyJzY3Jp
cHRfbWV0YWRhdGEiXSA9IFsoaywgdikgZm9yIChrLHYpIGluIHNlbGYuc2NyaXB0X21ldGFkYXRh
XQogICAgICAgICByZXR1cm4gcnYKIAogCi1jbGFzcyBSZWZUZXN0QmFzZShVUkxNYW5pZmVzdEl0
ZW0pOgorY2xhc3MgUmVmVGVzdChVUkxNYW5pZmVzdEl0ZW0pOgogICAgIF9fc2xvdHNfXyA9ICgi
cmVmZXJlbmNlcyIsKQogCisgICAgaXRlbV90eXBlID0gInJlZnRlc3QiCisKICAgICBkZWYgX19p
bml0X18oc2VsZiwKICAgICAgICAgICAgICAgICAgdGVzdHNfcm9vdCwgICMgdHlwZTogVGV4dAog
ICAgICAgICAgICAgICAgICBwYXRoLCAgIyB0eXBlOiBUZXh0CiAgICAgICAgICAgICAgICAgIHVy
bF9iYXNlLCAgIyB0eXBlOiBUZXh0Ci0gICAgICAgICAgICAgICAgIHVybCwgICMgdHlwZTogVGV4
dAorICAgICAgICAgICAgICAgICB1cmwsICAjIHR5cGU6IE9wdGlvbmFsW1RleHRdCiAgICAgICAg
ICAgICAgICAgIHJlZmVyZW5jZXM9Tm9uZSwgICMgdHlwZTogT3B0aW9uYWxbTGlzdFtUdXBsZVtU
ZXh0LCBUZXh0XV1dCiAgICAgICAgICAgICAgICAgICoqZXh0cmFzICAjIHR5cGU6IEFueQogICAg
ICAgICAgICAgICAgICApOgotICAgICAgICBzdXBlcihSZWZUZXN0QmFzZSwgc2VsZikuX19pbml0
X18odGVzdHNfcm9vdCwgcGF0aCwgdXJsX2Jhc2UsIHVybCwgKipleHRyYXMpCisgICAgICAgIHN1
cGVyKFJlZlRlc3QsIHNlbGYpLl9faW5pdF9fKHRlc3RzX3Jvb3QsIHBhdGgsIHVybF9iYXNlLCB1
cmwsICoqZXh0cmFzKQogICAgICAgICBpZiByZWZlcmVuY2VzIGlzIE5vbmU6CiAgICAgICAgICAg
ICBzZWxmLnJlZmVyZW5jZXMgPSBbXSAgIyB0eXBlOiBMaXN0W1R1cGxlW1RleHQsIFRleHRdXQog
ICAgICAgICBlbHNlOgpAQCAtMjQ3LDggKzI2OSw5IEBAIGNsYXNzIFJlZlRlc3RCYXNlKFVSTE1h
bmlmZXN0SXRlbSk6CiAgICAgICAgIHJldHVybiBydgogCiAgICAgZGVmIHRvX2pzb24oc2VsZik6
ICAjIHR5cGU6IGlnbm9yZQotICAgICAgICAjIHR5cGU6ICgpIC0+IFR1cGxlW1RleHQsIExpc3Rb
VHVwbGVbVGV4dCwgVGV4dF1dLCBEaWN0W1RleHQsIEFueV1dCi0gICAgICAgIHJ2ID0gKHNlbGYu
X3VybCwgc2VsZi5yZWZlcmVuY2VzLCB7fSkgICMgdHlwZTogVHVwbGVbVGV4dCwgTGlzdFtUdXBs
ZVtUZXh0LCBUZXh0XV0sIERpY3RbVGV4dCwgQW55XV0KKyAgICAgICAgIyB0eXBlOiAoKSAtPiBU
dXBsZVtPcHRpb25hbFtUZXh0XSwgTGlzdFtUdXBsZVtUZXh0LCBUZXh0XV0sIERpY3RbVGV4dCwg
QW55XV0KKyAgICAgICAgcmVsX3VybCA9IE5vbmUgaWYgc2VsZi5fdXJsID09IHNlbGYucGF0aCBl
bHNlIHNlbGYuX3VybAorICAgICAgICBydiA9IChyZWxfdXJsLCBzZWxmLnJlZmVyZW5jZXMsIHt9
KSAgIyB0eXBlOiBUdXBsZVtPcHRpb25hbFtUZXh0XSwgTGlzdFtUdXBsZVtUZXh0LCBUZXh0XV0s
IERpY3RbVGV4dCwgQW55XV0KICAgICAgICAgZXh0cmFzID0gcnZbLTFdCiAgICAgICAgIGlmIHNl
bGYudGltZW91dCBpcyBub3QgTm9uZToKICAgICAgICAgICAgIGV4dHJhc1sidGltZW91dCJdID0g
c2VsZi50aW1lb3V0CkBAIC0yNjYsNyArMjg5LDcgQEAgY2xhc3MgUmVmVGVzdEJhc2UoVVJMTWFu
aWZlc3RJdGVtKToKICAgICAgICAgICAgICAgICAgIHBhdGgsICAjIHR5cGU6IFRleHQKICAgICAg
ICAgICAgICAgICAgIG9iaiAgIyB0eXBlOiBUdXBsZVtUZXh0LCBMaXN0W1R1cGxlW1RleHQsIFRl
eHRdXSwgRGljdFtBbnksIEFueV1dCiAgICAgICAgICAgICAgICAgICApOgotICAgICAgICAjIHR5
cGU6ICguLi4pIC0+IFJlZlRlc3RCYXNlCisgICAgICAgICMgdHlwZTogKC4uLikgLT4gUmVmVGVz
dAogICAgICAgICB0ZXN0c19yb290ID0gbWFuaWZlc3QudGVzdHNfcm9vdAogICAgICAgICBhc3Nl
cnQgdGVzdHNfcm9vdCBpcyBub3QgTm9uZQogICAgICAgICBwYXRoID0gdG9fb3NfcGF0aChwYXRo
KQpAQCAtMjc4LDM4ICszMDEsNiBAQCBjbGFzcyBSZWZUZXN0QmFzZShVUkxNYW5pZmVzdEl0ZW0p
OgogICAgICAgICAgICAgICAgICAgIHJlZmVyZW5jZXMsCiAgICAgICAgICAgICAgICAgICAgKipl
eHRyYXMpCiAKLSAgICBkZWYgdG9fUmVmVGVzdChzZWxmKToKLSAgICAgICAgIyB0eXBlOiAoKSAt
PiBSZWZUZXN0Ci0gICAgICAgIGlmIHR5cGUoc2VsZikgPT0gUmVmVGVzdDoKLSAgICAgICAgICAg
IGFzc2VydCBpc2luc3RhbmNlKHNlbGYsIFJlZlRlc3QpCi0gICAgICAgICAgICByZXR1cm4gc2Vs
ZgotICAgICAgICBydiA9IGNvcHkoc2VsZikKLSAgICAgICAgcnYuX19jbGFzc19fID0gUmVmVGVz
dAotICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShydiwgUmVmVGVzdCkKLSAgICAgICAgcmV0dXJu
IHJ2Ci0KLSAgICBkZWYgdG9fUmVmVGVzdE5vZGUoc2VsZik6Ci0gICAgICAgICMgdHlwZTogKCkg
LT4gUmVmVGVzdE5vZGUKLSAgICAgICAgaWYgdHlwZShzZWxmKSA9PSBSZWZUZXN0Tm9kZToKLSAg
ICAgICAgICAgIGFzc2VydCBpc2luc3RhbmNlKHNlbGYsIFJlZlRlc3ROb2RlKQotICAgICAgICAg
ICAgcmV0dXJuIHNlbGYKLSAgICAgICAgcnYgPSBjb3B5KHNlbGYpCi0gICAgICAgIHJ2Ll9fY2xh
c3NfXyA9IFJlZlRlc3ROb2RlCi0gICAgICAgIGFzc2VydCBpc2luc3RhbmNlKHJ2LCBSZWZUZXN0
Tm9kZSkKLSAgICAgICAgcmV0dXJuIHJ2Ci0KLQotY2xhc3MgUmVmVGVzdE5vZGUoUmVmVGVzdEJh
c2UpOgotICAgIF9fc2xvdHNfXyA9ICgpCi0KLSAgICBpdGVtX3R5cGUgPSAicmVmdGVzdF9ub2Rl
IgotCi0KLWNsYXNzIFJlZlRlc3QoUmVmVGVzdEJhc2UpOgotICAgIF9fc2xvdHNfXyA9ICgpCi0K
LSAgICBpdGVtX3R5cGUgPSAicmVmdGVzdCIKLQogCiBjbGFzcyBNYW51YWxUZXN0KFVSTE1hbmlm
ZXN0SXRlbSk6CiAgICAgX19zbG90c19fID0gKCkKQEAgLTM1MSw3ICszNDIsNyBAQCBjbGFzcyBX
ZWJEcml2ZXJTcGVjVGVzdChVUkxNYW5pZmVzdEl0ZW0pOgogICAgICAgICByZXR1cm4gc2VsZi5f
ZXh0cmFzLmdldCgidGltZW91dCIpCiAKICAgICBkZWYgdG9fanNvbihzZWxmKToKLSAgICAgICAg
IyB0eXBlOiAoKSAtPiBUdXBsZVtUZXh0LCBEaWN0W1RleHQsIEFueV1dCisgICAgICAgICMgdHlw
ZTogKCkgLT4gVHVwbGVbT3B0aW9uYWxbVGV4dF0sIERpY3RbVGV4dCwgQW55XV0KICAgICAgICAg
cnYgPSBzdXBlcihXZWJEcml2ZXJTcGVjVGVzdCwgc2VsZikudG9fanNvbigpCiAgICAgICAgIGlm
IHNlbGYudGltZW91dCBpcyBub3QgTm9uZToKICAgICAgICAgICAgIHJ2Wy0xXVsidGltZW91dCJd
ID0gc2VsZi50aW1lb3V0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL21hbmlmZXN0L21hbmlmZXN0LnB5IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9tYW5pZmVzdC9tYW5pZmVzdC5w
eQppbmRleCAyYWQ3ZmNjZjQ4Njc1YmRjYzdiNTQ0NzQ3ZTFkMTgyNGE1OTg1NDJmLi4zNDVlZWI2
ZDJiMGJlZWIzY2UzYzEzOTA5NDljYjllMmQxOWE0MzVhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL21hbmlmZXN0L21hbmlmZXN0
LnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvbWFuaWZlc3QvbWFuaWZlc3QucHkKQEAgLTEsMTUgKzEsMjUgQEAKK2ltcG9ydCBpbwogaW1w
b3J0IGl0ZXJ0b29scwogaW1wb3J0IGpzb24KIGltcG9ydCBvcwotZnJvbSBjb2xsZWN0aW9ucyBp
bXBvcnQgTXV0YWJsZU1hcHBpbmcsIGRlZmF1bHRkaWN0Ci1mcm9tIHNpeCBpbXBvcnQgaXRlcml0
ZW1zLCBpdGVya2V5cywgaXRlcnZhbHVlcywgc3RyaW5nX3R5cGVzLCBiaW5hcnlfdHlwZSwgdGV4
dF90eXBlCitmcm9tIGNvcHkgaW1wb3J0IGRlZXBjb3B5Citmcm9tIG11bHRpcHJvY2Vzc2luZyBp
bXBvcnQgUG9vbCwgY3B1X2NvdW50Citmcm9tIHNpeCBpbXBvcnQgKAorICAgIFBZMywKKyAgICBi
aW5hcnlfdHlwZSwKKyAgICBlbnN1cmVfdGV4dCwKKyAgICBpdGVyaXRlbXMsCisgICAgaXRlcnZh
bHVlcywKKyAgICBzdHJpbmdfdHlwZXMsCisgICAgdGV4dF90eXBlLAorKQogCiBmcm9tIC4gaW1w
b3J0IHZjcwotZnJvbSAuaXRlbSBpbXBvcnQgKENvbmZvcm1hbmNlQ2hlY2tlclRlc3QsIE1hbmlm
ZXN0SXRlbSwgTWFudWFsVGVzdCwgUmVmVGVzdCwgUmVmVGVzdE5vZGUsCi0gICAgICAgICAgICAg
ICAgICAgU3VwcG9ydEZpbGUsIFRlc3RoYXJuZXNzVGVzdCwgVmlzdWFsVGVzdCwgV2ViRHJpdmVy
U3BlY1Rlc3QsIENyYXNoVGVzdCkKK2Zyb20gLml0ZW0gaW1wb3J0IChDb25mb3JtYW5jZUNoZWNr
ZXJUZXN0LCBNYW5pZmVzdEl0ZW0sIE1hbnVhbFRlc3QsIFJlZlRlc3QsIFN1cHBvcnRGaWxlLAor
ICAgICAgICAgICAgICAgICAgIFRlc3RoYXJuZXNzVGVzdCwgVmlzdWFsVGVzdCwgV2ViRHJpdmVy
U3BlY1Rlc3QsIENyYXNoVGVzdCkKIGZyb20gLmxvZyBpbXBvcnQgZ2V0X2xvZ2dlcgogZnJvbSAu
c291cmNlZmlsZSBpbXBvcnQgU291cmNlRmlsZQotZnJvbSAudXRpbHMgaW1wb3J0IGZyb21fb3Nf
cGF0aCwgdG9fb3NfcGF0aAorZnJvbSAudHlwZWRhdGEgaW1wb3J0IFR5cGVEYXRhCiAKIE1ZUFkg
PSBGYWxzZQogaWYgTVlQWToKQEAgLTE5LDE2ICsyOSwxNCBAQCBpZiBNWVBZOgogICAgIGZyb20g
dHlwaW5nIGltcG9ydCBDb250YWluZXIKICAgICBmcm9tIHR5cGluZyBpbXBvcnQgRGljdAogICAg
IGZyb20gdHlwaW5nIGltcG9ydCBJTwotICAgIGZyb20gdHlwaW5nIGltcG9ydCBJdGVyYWJsZQog
ICAgIGZyb20gdHlwaW5nIGltcG9ydCBJdGVyYXRvcgotICAgIGZyb20gdHlwaW5nIGltcG9ydCBM
aXN0CisgICAgZnJvbSB0eXBpbmcgaW1wb3J0IEl0ZXJhYmxlCiAgICAgZnJvbSB0eXBpbmcgaW1w
b3J0IE9wdGlvbmFsCiAgICAgZnJvbSB0eXBpbmcgaW1wb3J0IFNldAogICAgIGZyb20gdHlwaW5n
IGltcG9ydCBUZXh0CiAgICAgZnJvbSB0eXBpbmcgaW1wb3J0IFR1cGxlCiAgICAgZnJvbSB0eXBp
bmcgaW1wb3J0IFR5cGUKICAgICBmcm9tIHR5cGluZyBpbXBvcnQgVW5pb24KLSAgICBmcm9tIHR5
cGluZyBpbXBvcnQgY2FzdAogCiB0cnk6CiAgICAgaW1wb3J0IHVqc29uCkBAIC0zNiw3ICs0NCw3
IEBAIHRyeToKIGV4Y2VwdCBJbXBvcnRFcnJvcjoKICAgICBmYXN0X2pzb24gPSBqc29uICAjIHR5
cGU6IGlnbm9yZQogCi1DVVJSRU5UX1ZFUlNJT04gPSA3CitDVVJSRU5UX1ZFUlNJT04gPSA4ICAj
IHR5cGU6IGludAogCiAKIGNsYXNzIE1hbmlmZXN0RXJyb3IoRXhjZXB0aW9uKToKQEAgLTQ5LDcg
KzU3LDYgQEAgY2xhc3MgTWFuaWZlc3RWZXJzaW9uTWlzbWF0Y2goTWFuaWZlc3RFcnJvcik6CiAK
IGl0ZW1fY2xhc3NlcyA9IHsidGVzdGhhcm5lc3MiOiBUZXN0aGFybmVzc1Rlc3QsCiAgICAgICAg
ICAgICAgICAgInJlZnRlc3QiOiBSZWZUZXN0LAotICAgICAgICAgICAgICAgICJyZWZ0ZXN0X25v
ZGUiOiBSZWZUZXN0Tm9kZSwKICAgICAgICAgICAgICAgICAiY3Jhc2h0ZXN0IjogQ3Jhc2hUZXN0
LAogICAgICAgICAgICAgICAgICJtYW51YWwiOiBNYW51YWxUZXN0LAogICAgICAgICAgICAgICAg
ICJ3ZHNwZWMiOiBXZWJEcml2ZXJTcGVjVGVzdCwKQEAgLTU4LDE1NiArNjUsMTIgQEAgaXRlbV9j
bGFzc2VzID0geyJ0ZXN0aGFybmVzcyI6IFRlc3RoYXJuZXNzVGVzdCwKICAgICAgICAgICAgICAg
ICAic3VwcG9ydCI6IFN1cHBvcnRGaWxlfSAgIyB0eXBlOiBEaWN0W3N0ciwgVHlwZVtNYW5pZmVz
dEl0ZW1dXQogCiAKLWlmIE1ZUFk6Ci0gICAgVHlwZURhdGFUeXBlID0gTXV0YWJsZU1hcHBpbmdb
VGV4dCwgU2V0W01hbmlmZXN0SXRlbV1dCi1lbHNlOgotICAgIFR5cGVEYXRhVHlwZSA9IE11dGFi
bGVNYXBwaW5nCi0KLWNsYXNzIFR5cGVEYXRhKFR5cGVEYXRhVHlwZSk6Ci0gICAgZGVmIF9faW5p
dF9fKHNlbGYsIG1hbmlmZXN0LCB0eXBlX2Nscyk6Ci0gICAgICAgICMgdHlwZTogKE1hbmlmZXN0
LCBUeXBlW01hbmlmZXN0SXRlbV0pIC0+IE5vbmUKLSAgICAgICAgIiIiRGljdC1saWtlIG9iamVj
dCBjb250YWluaW5nIHRoZSBUZXN0SXRlbXMgZm9yIGVhY2ggdGVzdCB0eXBlLgotCi0gICAgICAg
IExvYWRpbmcgYW4gYWN0dWFsIEl0ZW0gY2xhc3MgZm9yIGVhY2ggdGVzdCBpcyB1bm5lY2Vzc2Fy
aWx5Ci0gICAgICAgIHNsb3csIHNvIHRoaXMgY2xhc3MgYWxsb3dzIGxhenktbG9hZGluZyBvZiB0
aGUgdGVzdAotICAgICAgICBpdGVtcy4gV2hlbiB0aGUgbWFuaWZlc3QgaXMgbG9hZGVkIHdlIHN0
b3JlIHRoZSByYXcganNvbgotICAgICAgICBjb3JyZXNwb25kaW5nIHRvIHRoZSB0ZXN0IHR5cGUs
IGFuZCBvbmx5IGNyZWF0ZSBhbiBJdGVtCi0gICAgICAgIHN1YmNsYXNzIHdoZW4gdGhlIHRlc3Qg
aXMgYWNjZXNzZWQuIEluIG9yZGVyIHRvIHJlbWFpbgotICAgICAgICBBUEktY29tcGF0aWJsZSB3
aXRoIGNvbnN1bWVycyB0aGF0IGRlcGVuZCBvbiBnZXR0aW5nIGFuIEl0ZW0KLSAgICAgICAgZnJv
bSBpdGVyYXRpb24sIHdlIGRvIGVnZXJseSBsb2FkIGFsbCBpdGVtcyB3aGVuIGl0ZXJhdGluZwot
ICAgICAgICBvdmVyIHRoZSBjbGFzcy4iIiIKLSAgICAgICAgc2VsZi5tYW5pZmVzdCA9IG1hbmlm
ZXN0Ci0gICAgICAgIHNlbGYudHlwZV9jbHMgPSB0eXBlX2NscwotICAgICAgICBzZWxmLmpzb25f
ZGF0YSA9IHt9ICAjIHR5cGU6IE9wdGlvbmFsW0RpY3RbVGV4dCwgTGlzdFtBbnldXV0KLSAgICAg
ICAgc2VsZi50ZXN0c19yb290ID0gTm9uZSAgIyB0eXBlOiBPcHRpb25hbFtzdHJdCi0gICAgICAg
IHNlbGYuZGF0YSA9IHt9ICAjIHR5cGU6IERpY3RbVGV4dCwgU2V0W01hbmlmZXN0SXRlbV1dCi0K
LSAgICBkZWYgX19nZXRpdGVtX18oc2VsZiwga2V5KToKLSAgICAgICAgIyB0eXBlOiAoVGV4dCkg
LT4gU2V0W01hbmlmZXN0SXRlbV0KLSAgICAgICAgaWYga2V5IG5vdCBpbiBzZWxmLmRhdGEgYW5k
IHNlbGYuanNvbl9kYXRhIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgc2VsZi5sb2FkKGtleSkK
LSAgICAgICAgcmV0dXJuIHNlbGYuZGF0YVtrZXldCi0KLSAgICBkZWYgX19ub256ZXJvX18oc2Vs
Zik6Ci0gICAgICAgICMgdHlwZTogKCkgLT4gYm9vbAotICAgICAgICByZXR1cm4gYm9vbChzZWxm
LmRhdGEpIG9yIGJvb2woc2VsZi5qc29uX2RhdGEpCi0KLSAgICBkZWYgX19sZW5fXyhzZWxmKToK
LSAgICAgICAgIyB0eXBlOiAoKSAtPiBpbnQKLSAgICAgICAgcnYgPSBsZW4oc2VsZi5kYXRhKQot
ICAgICAgICBpZiBzZWxmLmpzb25fZGF0YSBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIHJ2ICs9
IGxlbihzZWxmLmpzb25fZGF0YSkKLSAgICAgICAgcmV0dXJuIHJ2Ci0KLSAgICBkZWYgX19kZWxp
dGVtX18oc2VsZiwga2V5KToKLSAgICAgICAgIyB0eXBlOiAoVGV4dCkgLT4gTm9uZQotICAgICAg
ICBpZiBrZXkgaW4gc2VsZi5kYXRhOgotICAgICAgICAgICAgZGVsIHNlbGYuZGF0YVtrZXldCi0g
ICAgICAgIGVsaWYgc2VsZi5qc29uX2RhdGEgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICBkZWwg
c2VsZi5qc29uX2RhdGFbZnJvbV9vc19wYXRoKGtleSldCi0gICAgICAgIGVsc2U6Ci0gICAgICAg
ICAgICByYWlzZSBLZXlFcnJvcgotCi0gICAgZGVmIF9fc2V0aXRlbV9fKHNlbGYsIGtleSwgdmFs
dWUpOgotICAgICAgICAjIHR5cGU6IChUZXh0LCBTZXRbTWFuaWZlc3RJdGVtXSkgLT4gTm9uZQot
ICAgICAgICBpZiBzZWxmLmpzb25fZGF0YSBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIHBhdGgg
PSBmcm9tX29zX3BhdGgoa2V5KQotICAgICAgICAgICAgaWYgcGF0aCBpbiBzZWxmLmpzb25fZGF0
YToKLSAgICAgICAgICAgICAgICBkZWwgc2VsZi5qc29uX2RhdGFbcGF0aF0KLSAgICAgICAgc2Vs
Zi5kYXRhW2tleV0gPSB2YWx1ZQotCi0gICAgZGVmIF9fY29udGFpbnNfXyhzZWxmLCBrZXkpOgot
ICAgICAgICAjIHR5cGU6IChBbnkpIC0+IGJvb2wKLSAgICAgICAgc2VsZi5sb2FkX2FsbCgpCi0g
ICAgICAgIHJldHVybiBrZXkgaW4gc2VsZi5kYXRhCi0KLSAgICBkZWYgX19pdGVyX18oc2VsZik6
Ci0gICAgICAgICMgdHlwZTogKCkgLT4gSXRlcmF0b3JbVGV4dF0KLSAgICAgICAgc2VsZi5sb2Fk
X2FsbCgpCi0gICAgICAgIHJldHVybiBzZWxmLmRhdGEuX19pdGVyX18oKQotCi0gICAgZGVmIGl0
ZXJ2YWx1ZXMoc2VsZik6Ci0gICAgICAgICMgdHlwZTogKCkgLT4gSXRlcmF0b3JbU2V0W01hbmlm
ZXN0SXRlbV1dCi0gICAgICAgIHNlbGYubG9hZF9hbGwoKQotICAgICAgICByZXR1cm4gaXRlcnZh
bHVlcyhzZWxmLmRhdGEpCi0KLSAgICBkZWYgaXRlcml0ZW1zKHNlbGYpOgotICAgICAgICAjIHR5
cGU6ICgpIC0+IEl0ZXJhdG9yW1R1cGxlW1RleHQsIFNldFtNYW5pZmVzdEl0ZW1dXV0KLSAgICAg
ICAgc2VsZi5sb2FkX2FsbCgpCi0gICAgICAgIHJldHVybiBpdGVyaXRlbXMoc2VsZi5kYXRhKQot
Ci0gICAgZGVmIHZhbHVlcyhzZWxmKToKLSAgICAgICAgIyB0eXBlOiAoKSAtPiBMaXN0W1NldFtN
YW5pZmVzdEl0ZW1dXQotICAgICAgICByZXR1cm4gbGlzdChzZWxmLml0ZXJ2YWx1ZXMoKSkKLQot
ICAgIGRlZiBpdGVtcyhzZWxmKToKLSAgICAgICAgIyB0eXBlOiAoKSAtPiBMaXN0W1R1cGxlW1Rl
eHQsIFNldFtNYW5pZmVzdEl0ZW1dXV0KLSAgICAgICAgcmV0dXJuIGxpc3Qoc2VsZi5pdGVyaXRl
bXMoKSkKLQotICAgIGRlZiBsb2FkKHNlbGYsIGtleSk6Ci0gICAgICAgICMgdHlwZTogKFRleHQp
IC0+IE5vbmUKLSAgICAgICAgIiIiTG9hZCBhIHNwZWNpZmljIEl0ZW0gZ2l2ZW4gYSBwYXRoIiIi
Ci0gICAgICAgIGlmIHNlbGYuanNvbl9kYXRhIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgZGF0
YSA9IHNldCgpCi0gICAgICAgICAgICBwYXRoID0gZnJvbV9vc19wYXRoKGtleSkKLSAgICAgICAg
ICAgIGZvciB0ZXN0IGluIHNlbGYuanNvbl9kYXRhLmdldChwYXRoLCBbXSk6Ci0gICAgICAgICAg
ICAgICAgbWFuaWZlc3RfaXRlbSA9IHNlbGYudHlwZV9jbHMuZnJvbV9qc29uKHNlbGYubWFuaWZl
c3QsIHBhdGgsIHRlc3QpCi0gICAgICAgICAgICAgICAgZGF0YS5hZGQobWFuaWZlc3RfaXRlbSkK
LSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBkZWwgc2VsZi5qc29uX2RhdGFbcGF0
aF0KLSAgICAgICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKLSAgICAgICAgICAgICAgICBwYXNzCi0g
ICAgICAgICAgICBzZWxmLmRhdGFba2V5XSA9IGRhdGEKLSAgICAgICAgZWxzZToKLSAgICAgICAg
ICAgIHJhaXNlIFZhbHVlRXJyb3IKLQotICAgIGRlZiBsb2FkX2FsbChzZWxmKToKLSAgICAgICAg
IyB0eXBlOiAoKSAtPiBOb25lCi0gICAgICAgICIiIkxvYWQgYWxsIHRlc3QgaXRlbXMgaW4gdGhp
cyBjbGFzcyIiIgotICAgICAgICBpZiBzZWxmLmpzb25fZGF0YSBpcyBub3QgTm9uZToKLSAgICAg
ICAgICAgIGZvciBwYXRoLCB2YWx1ZSBpbiBpdGVyaXRlbXMoc2VsZi5qc29uX2RhdGEpOgotICAg
ICAgICAgICAgICAgIGtleSA9IHRvX29zX3BhdGgocGF0aCkKLSAgICAgICAgICAgICAgICBpZiBr
ZXkgaW4gc2VsZi5kYXRhOgotICAgICAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAg
ICAgICAgIGRhdGEgPSBzZXQoKQotICAgICAgICAgICAgICAgIGZvciB0ZXN0IGluIHNlbGYuanNv
bl9kYXRhLmdldChwYXRoLCBbXSk6Ci0gICAgICAgICAgICAgICAgICAgIG1hbmlmZXN0X2l0ZW0g
PSBzZWxmLnR5cGVfY2xzLmZyb21fanNvbihzZWxmLm1hbmlmZXN0LCBwYXRoLCB0ZXN0KQotICAg
ICAgICAgICAgICAgICAgICBkYXRhLmFkZChtYW5pZmVzdF9pdGVtKQotICAgICAgICAgICAgICAg
IHNlbGYuZGF0YVtrZXldID0gZGF0YQotICAgICAgICAgICAgc2VsZi5qc29uX2RhdGEgPSBOb25l
Ci0KLSAgICBkZWYgc2V0X2pzb24oc2VsZiwgdGVzdHNfcm9vdCwgZGF0YSk6Ci0gICAgICAgICMg
dHlwZTogKHN0ciwgRGljdFtUZXh0LCBBbnldKSAtPiBOb25lCi0gICAgICAgIGlmIG5vdCBpc2lu
c3RhbmNlKGRhdGEsIGRpY3QpOgotICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiR290IGEg
JXMgZXhwZWN0ZWQgYSBkaWN0IiAlICh0eXBlKGRhdGEpKSkKLSAgICAgICAgc2VsZi50ZXN0c19y
b290ID0gdGVzdHNfcm9vdAotICAgICAgICBzZWxmLmpzb25fZGF0YSA9IGRhdGEKLQotICAgIGRl
ZiB0b19qc29uKHNlbGYpOgotICAgICAgICAjIHR5cGU6ICgpIC0+IERpY3RbVGV4dCwgQW55XQot
ICAgICAgICBkYXRhID0gewotICAgICAgICAgICAgZnJvbV9vc19wYXRoKHBhdGgpOgotICAgICAg
ICAgICAgW3QgZm9yIHQgaW4gc29ydGVkKHRlc3QudG9fanNvbigpIGZvciB0ZXN0IGluIHRlc3Rz
KV0KLSAgICAgICAgICAgIGZvciBwYXRoLCB0ZXN0cyBpbiBpdGVyaXRlbXMoc2VsZi5kYXRhKQot
ICAgICAgICB9Ci0KLSAgICAgICAgaWYgc2VsZi5qc29uX2RhdGEgaXMgbm90IE5vbmU6Ci0gICAg
ICAgICAgICBpZiBub3QgZGF0YToKLSAgICAgICAgICAgICAgICAjIGF2b2lkIGNvcHlpbmcgaWYg
dGhlcmUncyBub3RoaW5nIGhlcmUgeWV0Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuanNv
bl9kYXRhCi0gICAgICAgICAgICBkYXRhLnVwZGF0ZShzZWxmLmpzb25fZGF0YSkKLQotICAgICAg
ICByZXR1cm4gZGF0YQotCi0gICAgZGVmIHBhdGhzKHNlbGYpOgotICAgICAgICAjIHR5cGU6ICgp
IC0+IFNldFtUZXh0XQotICAgICAgICAiIiJHZXQgYSBsaXN0IG9mIGFsbCBwYXRocyBjb250YWlu
aW5nIGl0ZW1zIG9mIHRoaXMgdHlwZSwKLSAgICAgICAgd2l0aG91dCBhY3R1YWxseSBjb25zdHJ1
Y3RpbmcgYWxsIHRoZSBpdGVtcyIiIgotICAgICAgICBydiA9IHNldChpdGVya2V5cyhzZWxmLmRh
dGEpKQotICAgICAgICBpZiBzZWxmLmpzb25fZGF0YToKLSAgICAgICAgICAgIHJ2IHw9IHt0b19v
c19wYXRoKGl0ZW0pIGZvciBpdGVtIGluIGl0ZXJrZXlzKHNlbGYuanNvbl9kYXRhKX0KLSAgICAg
ICAgcmV0dXJuIHJ2Ci0KK2RlZiBjb21wdXRlX21hbmlmZXN0X2l0ZW1zKHNvdXJjZV9maWxlKToK
KyAgICAjIHR5cGU6IChTb3VyY2VGaWxlKSAtPiBUdXBsZVtUdXBsZVtUZXh0LCAuLi5dLCBUZXh0
LCBTZXRbTWFuaWZlc3RJdGVtXSwgVGV4dF0KKyAgICByZWxfcGF0aF9wYXJ0cyA9IHNvdXJjZV9m
aWxlLnJlbF9wYXRoX3BhcnRzCisgICAgbmV3X3R5cGUsIG1hbmlmZXN0X2l0ZW1zID0gc291cmNl
X2ZpbGUubWFuaWZlc3RfaXRlbXMoKQorICAgIGZpbGVfaGFzaCA9IHNvdXJjZV9maWxlLmhhc2gK
KyAgICByZXR1cm4gcmVsX3BhdGhfcGFydHMsIG5ld190eXBlLCBzZXQobWFuaWZlc3RfaXRlbXMp
LCBmaWxlX2hhc2gKIAogaWYgTVlQWToKICAgICBNYW5pZmVzdERhdGFUeXBlID0gRGljdFtBbnks
IFR5cGVEYXRhXQpAQCAtMjM3LDE3ICsxMDAsMjUgQEAgY2xhc3MgTWFuaWZlc3REYXRhKE1hbmlm
ZXN0RGF0YVR5cGUpOgogICAgICAgICB3aXRob3V0IGFjdHVhbGx5IGNvbnN0cnVjdGluZyBhbGwg
dGhlIGl0ZW1zIiIiCiAgICAgICAgIHJ2ID0gc2V0KCkgICMgdHlwZTogU2V0W1RleHRdCiAgICAg
ICAgIGZvciBpdGVtX2RhdGEgaW4gaXRlcnZhbHVlcyhzZWxmKToKLSAgICAgICAgICAgIHJ2IHw9
IHNldChpdGVtX2RhdGEucGF0aHMoKSkKKyAgICAgICAgICAgIGZvciBpdGVtIGluIGl0ZW1fZGF0
YToKKyAgICAgICAgICAgICAgICBydi5hZGQob3MucGF0aC5zZXAuam9pbihpdGVtKSkKICAgICAg
ICAgcmV0dXJuIHJ2CiAKKyAgICBkZWYgdHlwZV9ieV9wYXRoKHNlbGYpOgorICAgICAgICAjIHR5
cGU6ICgpIC0+IERpY3RbVHVwbGVbVGV4dCwgLi4uXSwgc3RyXQorICAgICAgICBydiA9IHt9Cisg
ICAgICAgIGZvciBpdGVtX3R5cGUsIGl0ZW1fZGF0YSBpbiBpdGVyaXRlbXMoc2VsZik6CisgICAg
ICAgICAgICBmb3IgaXRlbSBpbiBpdGVtX2RhdGE6CisgICAgICAgICAgICAgICAgcnZbaXRlbV0g
PSBpdGVtX3R5cGUKKyAgICAgICAgcmV0dXJuIHJ2CisKKwogCiBjbGFzcyBNYW5pZmVzdChvYmpl
Y3QpOgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCB0ZXN0c19yb290PU5vbmUsIHVybF9iYXNlPSIv
Iik6CiAgICAgICAgICMgdHlwZTogKE9wdGlvbmFsW3N0cl0sIFRleHQpIC0+IE5vbmUKICAgICAg
ICAgYXNzZXJ0IHVybF9iYXNlIGlzIG5vdCBOb25lCi0gICAgICAgIHNlbGYuX3BhdGhfaGFzaCA9
IHt9ICAjIHR5cGU6IERpY3RbVGV4dCwgVHVwbGVbVGV4dCwgVGV4dF1dCiAgICAgICAgIHNlbGYu
X2RhdGEgPSBNYW5pZmVzdERhdGEoc2VsZikgICMgdHlwZTogTWFuaWZlc3REYXRhCi0gICAgICAg
IHNlbGYuX3JlZnRlc3Rfbm9kZXNfYnlfdXJsID0gTm9uZSAgIyB0eXBlOiBPcHRpb25hbFtEaWN0
W1RleHQsIFVuaW9uW1JlZlRlc3QsIFJlZlRlc3ROb2RlXV1dCiAgICAgICAgIHNlbGYudGVzdHNf
cm9vdCA9IHRlc3RzX3Jvb3QgICMgdHlwZTogT3B0aW9uYWxbc3RyXQogICAgICAgICBzZWxmLnVy
bF9iYXNlID0gdXJsX2Jhc2UgICMgdHlwZTogVGV4dAogCkBAIC0yNTgsNDcgKzEyOSwzNCBAQCBj
bGFzcyBNYW5pZmVzdChvYmplY3QpOgogICAgIGRlZiBpdGVydHlwZXMoc2VsZiwgKnR5cGVzKToK
ICAgICAgICAgIyB0eXBlOiAoKnN0cikgLT4gSXRlcmF0b3JbVHVwbGVbc3RyLCBUZXh0LCBTZXRb
TWFuaWZlc3RJdGVtXV1dCiAgICAgICAgIGZvciBpdGVtX3R5cGUgaW4gKHR5cGVzIG9yIHNvcnRl
ZChzZWxmLl9kYXRhLmtleXMoKSkpOgotICAgICAgICAgICAgZm9yIHBhdGggaW4gc29ydGVkKHNl
bGYuX2RhdGFbaXRlbV90eXBlXSk6CisgICAgICAgICAgICBmb3IgcGF0aCBpbiBzZWxmLl9kYXRh
W2l0ZW1fdHlwZV06CisgICAgICAgICAgICAgICAgc3RyX3BhdGggPSBvcy5zZXAuam9pbihwYXRo
KQogICAgICAgICAgICAgICAgIHRlc3RzID0gc2VsZi5fZGF0YVtpdGVtX3R5cGVdW3BhdGhdCi0g
ICAgICAgICAgICAgICAgeWllbGQgaXRlbV90eXBlLCBwYXRoLCB0ZXN0cworICAgICAgICAgICAg
ICAgIHlpZWxkIGl0ZW1fdHlwZSwgc3RyX3BhdGgsIHRlc3RzCiAKICAgICBkZWYgaXRlcnBhdGgo
c2VsZiwgcGF0aCk6Ci0gICAgICAgICMgdHlwZTogKFRleHQpIC0+IEl0ZXJhdG9yW01hbmlmZXN0
SXRlbV0KKyAgICAgICAgIyB0eXBlOiAoVGV4dCkgLT4gSXRlcmFibGVbTWFuaWZlc3RJdGVtXQor
ICAgICAgICB0cGF0aCA9IHR1cGxlKHBhdGguc3BsaXQob3MucGF0aC5zZXApKQorCiAgICAgICAg
IGZvciB0eXBlX3Rlc3RzIGluIHNlbGYuX2RhdGEudmFsdWVzKCk6Ci0gICAgICAgICAgICBpID0g
dHlwZV90ZXN0cy5nZXQocGF0aCwgc2V0KCkpCisgICAgICAgICAgICBpID0gdHlwZV90ZXN0cy5n
ZXQodHBhdGgsIHNldCgpKQogICAgICAgICAgICAgYXNzZXJ0IGkgaXMgbm90IE5vbmUKICAgICAg
ICAgICAgIGZvciB0ZXN0IGluIGk6CiAgICAgICAgICAgICAgICAgeWllbGQgdGVzdAogCiAgICAg
ZGVmIGl0ZXJkaXIoc2VsZiwgZGlyX25hbWUpOgotICAgICAgICAjIHR5cGU6IChUZXh0KSAtPiBJ
dGVyYXRvcltNYW5pZmVzdEl0ZW1dCi0gICAgICAgIGlmIG5vdCBkaXJfbmFtZS5lbmRzd2l0aChv
cy5wYXRoLnNlcCk6Ci0gICAgICAgICAgICBkaXJfbmFtZSA9IGRpcl9uYW1lICsgb3MucGF0aC5z
ZXAKKyAgICAgICAgIyB0eXBlOiAoVGV4dCkgLT4gSXRlcmFibGVbTWFuaWZlc3RJdGVtXQorICAg
ICAgICB0cGF0aCA9IHR1cGxlKGRpcl9uYW1lLnNwbGl0KG9zLnBhdGguc2VwKSkKKyAgICAgICAg
dHBhdGhfbGVuID0gbGVuKHRwYXRoKQorCiAgICAgICAgIGZvciB0eXBlX3Rlc3RzIGluIHNlbGYu
X2RhdGEudmFsdWVzKCk6Ci0gICAgICAgICAgICBmb3IgcGF0aCwgdGVzdHMgaW4gdHlwZV90ZXN0
cy5pdGVyaXRlbXMoKToKLSAgICAgICAgICAgICAgICBpZiBwYXRoLnN0YXJ0c3dpdGgoZGlyX25h
bWUpOgorICAgICAgICAgICAgZm9yIHBhdGgsIHRlc3RzIGluIGl0ZXJpdGVtcyh0eXBlX3Rlc3Rz
KToKKyAgICAgICAgICAgICAgICBpZiBwYXRoWzp0cGF0aF9sZW5dID09IHRwYXRoOgogICAgICAg
ICAgICAgICAgICAgICBmb3IgdGVzdCBpbiB0ZXN0czoKICAgICAgICAgICAgICAgICAgICAgICAg
IHlpZWxkIHRlc3QKIAotICAgIEBwcm9wZXJ0eQotICAgIGRlZiByZWZ0ZXN0X25vZGVzX2J5X3Vy
bChzZWxmKToKLSAgICAgICAgIyB0eXBlOiAoKSAtPiBEaWN0W1RleHQsIFVuaW9uW1JlZlRlc3Qs
IFJlZlRlc3ROb2RlXV0KLSAgICAgICAgaWYgc2VsZi5fcmVmdGVzdF9ub2Rlc19ieV91cmwgaXMg
Tm9uZToKLSAgICAgICAgICAgIGJ5X3VybCA9IHt9Ci0gICAgICAgICAgICBmb3IgcGF0aCwgbm9k
ZXMgaW4gaXRlcnRvb2xzLmNoYWluKGl0ZXJpdGVtcyhzZWxmLl9kYXRhWyJyZWZ0ZXN0Il0pLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVyaXRlbXMo
c2VsZi5fZGF0YVsicmVmdGVzdF9ub2RlIl0pKToKLSAgICAgICAgICAgICAgICBmb3Igbm9kZSBp
biBub2RlczoKLSAgICAgICAgICAgICAgICAgICAgYXNzZXJ0IGlzaW5zdGFuY2Uobm9kZSwgKFJl
ZlRlc3QsIFJlZlRlc3ROb2RlKSkKLSAgICAgICAgICAgICAgICAgICAgYnlfdXJsW25vZGUudXJs
XSA9IG5vZGUKLSAgICAgICAgICAgIHNlbGYuX3JlZnRlc3Rfbm9kZXNfYnlfdXJsID0gYnlfdXJs
Ci0gICAgICAgIHJldHVybiBzZWxmLl9yZWZ0ZXN0X25vZGVzX2J5X3VybAotCi0gICAgZGVmIGdl
dF9yZWZlcmVuY2Uoc2VsZiwgdXJsKToKLSAgICAgICAgIyB0eXBlOiAoVGV4dCkgLT4gT3B0aW9u
YWxbTWFuaWZlc3RJdGVtXQotICAgICAgICByZXR1cm4gc2VsZi5yZWZ0ZXN0X25vZGVzX2J5X3Vy
bC5nZXQodXJsKQotCi0gICAgZGVmIHVwZGF0ZShzZWxmLCB0cmVlKToKLSAgICAgICAgIyB0eXBl
OiAoSXRlcmFibGVbVHVwbGVbVW5pb25bU291cmNlRmlsZSwgYnl0ZXNdLCBib29sXV0pIC0+IGJv
b2wKKyAgICBkZWYgdXBkYXRlKHNlbGYsIHRyZWUsIHBhcmFsbGVsPVRydWUpOgorICAgICAgICAj
IHR5cGU6IChJdGVyYWJsZVtUdXBsZVtVbmlvbltTb3VyY2VGaWxlLCBieXRlc10sIGJvb2xdXSwg
Ym9vbCkgLT4gYm9vbAogICAgICAgICAiIiJVcGRhdGUgdGhlIG1hbmlmZXN0IGdpdmVuIGFuIGl0
ZXJhYmxlIG9mIGl0ZW1zIHRoYXQgbWFrZSB1cCB0aGUgdXBkYXRlZCBtYW5pZmVzdC4KIAogICAg
ICAgICBUaGUgaXRlcmFibGUgbXVzdCBlaXRoZXIgZ2VuZXJhdGUgdHVwbGVzIG9mIHRoZSBmb3Jt
IChTb3VyY2VGaWxlLCBUcnVlKSBmb3IgcGF0aHMKQEAgLTMwNiwxNzAgKzE2NCwxMjcgQEAgY2xh
c3MgTWFuaWZlc3Qob2JqZWN0KToKICAgICAgICAgdW51c3VhbCBBUEkgaXMgZGVzaWduZWQgYXMg
YW4gb3B0aW1pc3RhaW9uIG1lYW5pbmcgdGhhdCBTb3VyY2VGaWxlIGl0ZW1zIG5lZWQgbm90IGJl
CiAgICAgICAgIGNvbnN0cnVjdGVkIGluIHRoZSBjYXNlIHdlIGFyZSBub3QgdXBkYXRpbmcgYSBw
YXRoLCBidXQgdGhlIGFic2VuY2Ugb2YgYW4gaXRlbSBmcm9tCiAgICAgICAgIHRoZSBpdGVyYXRv
ciBtYXkgYmUgdXNlZCB0byByZW1vdmUgZGVmdW5jdCBlbnRyaWVzIGZyb20gdGhlIG1hbmlmZXN0
LiIiIgotICAgICAgICBhbGxfcmVmdGVzdF9ub2RlcyA9IFtdICAjIHR5cGU6IExpc3RbVHVwbGVb
TWFuaWZlc3RJdGVtLCBUZXh0XV0KLSAgICAgICAgc2Vlbl9maWxlcyA9IHNldCgpICAjIHR5cGU6
IFNldFtUZXh0XQogCiAgICAgICAgIGNoYW5nZWQgPSBGYWxzZQotICAgICAgICByZWZ0ZXN0X2No
YW5nZXMgPSBGYWxzZQogCiAgICAgICAgICMgQ3JlYXRlIGxvY2FsIHZhcmlhYmxlIHJlZmVyZW5j
ZXMgdG8gdGhlc2UgZGljdHMgc28gd2UgYXZvaWQgdGhlCiAgICAgICAgICMgYXR0cmlidXRlIGFj
Y2VzcyBpbiB0aGUgaG90IGxvb3AgYmVsb3cKLSAgICAgICAgcGF0aF9oYXNoID0gc2VsZi5fcGF0
aF9oYXNoICAjIHR5cGU6IERpY3RbVGV4dCwgVHVwbGVbVGV4dCwgVGV4dF1dCiAgICAgICAgIGRh
dGEgPSBzZWxmLl9kYXRhCiAKLSAgICAgICAgcHJldl9maWxlcyA9IGRhdGEucGF0aHMoKSAgIyB0
eXBlOiBTZXRbVGV4dF0KKyAgICAgICAgdHlwZXMgPSBkYXRhLnR5cGVfYnlfcGF0aCgpCisgICAg
ICAgIGRlbGV0ZWQgPSBzZXQodHlwZXMpCiAKLSAgICAgICAgcmVmdGVzdF90eXBlcyA9ICgicmVm
dGVzdCIsICJyZWZ0ZXN0X25vZGUiKQorICAgICAgICB0b191cGRhdGUgPSBbXQogCi0gICAgICAg
IGZvciBzb3VyY2VfZmlsZSwgdXBkYXRlIGluIHRyZWU6CisgICAgICAgIGZvciBzb3VyY2VfZmls
ZV9vcl9wYXRoLCB1cGRhdGUgaW4gdHJlZToKICAgICAgICAgICAgIGlmIG5vdCB1cGRhdGU6Ci0g
ICAgICAgICAgICAgICAgYXNzZXJ0IGlzaW5zdGFuY2Uoc291cmNlX2ZpbGUsIChiaW5hcnlfdHlw
ZSwgdGV4dF90eXBlKSkKLSAgICAgICAgICAgICAgICByZWxfcGF0aCA9IHNvdXJjZV9maWxlICAj
IHR5cGU6IFRleHQKLSAgICAgICAgICAgICAgICBzZWVuX2ZpbGVzLmFkZChyZWxfcGF0aCkKLSAg
ICAgICAgICAgICAgICBhc3NlcnQgcmVsX3BhdGggaW4gcGF0aF9oYXNoCi0gICAgICAgICAgICAg
ICAgb2xkX2hhc2gsIG9sZF90eXBlID0gcGF0aF9oYXNoW3JlbF9wYXRoXSAgIyB0eXBlOiBUdXBs
ZVtUZXh0LCBUZXh0XQotICAgICAgICAgICAgICAgIGlmIG9sZF90eXBlIGluIHJlZnRlc3RfdHlw
ZXM6Ci0gICAgICAgICAgICAgICAgICAgIG1hbmlmZXN0X2l0ZW1zID0gZGF0YVtvbGRfdHlwZV1b
cmVsX3BhdGhdICAjIHR5cGU6IEl0ZXJhYmxlW01hbmlmZXN0SXRlbV0KLSAgICAgICAgICAgICAg
ICAgICAgYWxsX3JlZnRlc3Rfbm9kZXMuZXh0ZW5kKChpdGVtLCBvbGRfaGFzaCkgZm9yIGl0ZW0g
aW4gbWFuaWZlc3RfaXRlbXMpCisgICAgICAgICAgICAgICAgYXNzZXJ0IGlzaW5zdGFuY2Uoc291
cmNlX2ZpbGVfb3JfcGF0aCwgKGJpbmFyeV90eXBlLCB0ZXh0X3R5cGUpKQorICAgICAgICAgICAg
ICAgIHBhdGggPSBlbnN1cmVfdGV4dChzb3VyY2VfZmlsZV9vcl9wYXRoKQorICAgICAgICAgICAg
ICAgIGRlbGV0ZWQucmVtb3ZlKHR1cGxlKHBhdGguc3BsaXQob3MucGF0aC5zZXApKSkKICAgICAg
ICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgYXNzZXJ0IG5vdCBpc2luc3RhbmNlKHNvdXJj
ZV9maWxlLCBieXRlcykKLSAgICAgICAgICAgICAgICByZWxfcGF0aCA9IHNvdXJjZV9maWxlLnJl
bF9wYXRoCi0gICAgICAgICAgICAgICAgc2Vlbl9maWxlcy5hZGQocmVsX3BhdGgpCi0KLSAgICAg
ICAgICAgICAgICBmaWxlX2hhc2ggPSBzb3VyY2VfZmlsZS5oYXNoICAjIHR5cGU6IFRleHQKKyAg
ICAgICAgICAgICAgICBhc3NlcnQgbm90IGlzaW5zdGFuY2Uoc291cmNlX2ZpbGVfb3JfcGF0aCwg
KGJpbmFyeV90eXBlLCB0ZXh0X3R5cGUpKQorICAgICAgICAgICAgICAgIHNvdXJjZV9maWxlID0g
c291cmNlX2ZpbGVfb3JfcGF0aAorICAgICAgICAgICAgICAgIHJlbF9wYXRoX3BhcnRzID0gc291
cmNlX2ZpbGUucmVsX3BhdGhfcGFydHMKKyAgICAgICAgICAgICAgICBhc3NlcnQgaXNpbnN0YW5j
ZShyZWxfcGF0aF9wYXJ0cywgdHVwbGUpCiAKLSAgICAgICAgICAgICAgICBpc19uZXcgPSByZWxf
cGF0aCBub3QgaW4gcGF0aF9oYXNoICAjIHR5cGU6IGJvb2wKKyAgICAgICAgICAgICAgICBpc19u
ZXcgPSByZWxfcGF0aF9wYXJ0cyBub3QgaW4gZGVsZXRlZCAgIyB0eXBlOiBib29sCiAgICAgICAg
ICAgICAgICAgaGFzaF9jaGFuZ2VkID0gRmFsc2UgICMgdHlwZTogYm9vbAogCiAgICAgICAgICAg
ICAgICAgaWYgbm90IGlzX25ldzoKLSAgICAgICAgICAgICAgICAgICAgb2xkX2hhc2gsIG9sZF90
eXBlID0gcGF0aF9oYXNoW3JlbF9wYXRoXQorICAgICAgICAgICAgICAgICAgICBkZWxldGVkLnJl
bW92ZShyZWxfcGF0aF9wYXJ0cykKKyAgICAgICAgICAgICAgICAgICAgb2xkX3R5cGUgPSB0eXBl
c1tyZWxfcGF0aF9wYXJ0c10KKyAgICAgICAgICAgICAgICAgICAgb2xkX2hhc2ggPSBkYXRhW29s
ZF90eXBlXS5oYXNoZXNbcmVsX3BhdGhfcGFydHNdCisgICAgICAgICAgICAgICAgICAgIGZpbGVf
aGFzaCA9IHNvdXJjZV9maWxlLmhhc2ggICMgdHlwZTogVGV4dAogICAgICAgICAgICAgICAgICAg
ICBpZiBvbGRfaGFzaCAhPSBmaWxlX2hhc2g6Ci0gICAgICAgICAgICAgICAgICAgICAgICBuZXdf
dHlwZSwgbWFuaWZlc3RfaXRlbXMgPSBzb3VyY2VfZmlsZS5tYW5pZmVzdF9pdGVtcygpCiAgICAg
ICAgICAgICAgICAgICAgICAgICBoYXNoX2NoYW5nZWQgPSBUcnVlCi0gICAgICAgICAgICAgICAg
ICAgICAgICBpZiBuZXdfdHlwZSAhPSBvbGRfdHlwZToKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBkZWwgZGF0YVtvbGRfdHlwZV1bcmVsX3BhdGhdCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgb2xkX3R5cGUgaW4gcmVmdGVzdF90eXBlczoKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcmVmdGVzdF9jaGFuZ2VzID0gVHJ1ZQotICAgICAgICAgICAgICAgICAgICBl
bHNlOgotICAgICAgICAgICAgICAgICAgICAgICAgbmV3X3R5cGUgPSBvbGRfdHlwZQotICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgb2xkX3R5cGUgaW4gcmVmdGVzdF90eXBlczoKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBtYW5pZmVzdF9pdGVtcyA9IGRhdGFbb2xkX3R5cGVdW3JlbF9w
YXRoXQotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIG5ld190eXBl
LCBtYW5pZmVzdF9pdGVtcyA9IHNvdXJjZV9maWxlLm1hbmlmZXN0X2l0ZW1zKCkKLQotICAgICAg
ICAgICAgICAgIGlmIG5ld190eXBlIGluIHJlZnRlc3RfdHlwZXM6Ci0gICAgICAgICAgICAgICAg
ICAgIGFsbF9yZWZ0ZXN0X25vZGVzLmV4dGVuZCgoaXRlbSwgZmlsZV9oYXNoKSBmb3IgaXRlbSBp
biBtYW5pZmVzdF9pdGVtcykKLSAgICAgICAgICAgICAgICAgICAgaWYgaXNfbmV3IG9yIGhhc2hf
Y2hhbmdlZDoKLSAgICAgICAgICAgICAgICAgICAgICAgIHJlZnRlc3RfY2hhbmdlcyA9IFRydWUK
LSAgICAgICAgICAgICAgICBlbGlmIGlzX25ldyBvciBoYXNoX2NoYW5nZWQ6Ci0gICAgICAgICAg
ICAgICAgICAgIGRhdGFbbmV3X3R5cGVdW3JlbF9wYXRoXSA9IHNldChtYW5pZmVzdF9pdGVtcykK
KyAgICAgICAgICAgICAgICAgICAgICAgIGRlbCBkYXRhW29sZF90eXBlXVtyZWxfcGF0aF9wYXJ0
c10KIAogICAgICAgICAgICAgICAgIGlmIGlzX25ldyBvciBoYXNoX2NoYW5nZWQ6Ci0gICAgICAg
ICAgICAgICAgICAgIHBhdGhfaGFzaFtyZWxfcGF0aF0gPSAoZmlsZV9oYXNoLCBuZXdfdHlwZSkK
LSAgICAgICAgICAgICAgICAgICAgY2hhbmdlZCA9IFRydWUKKyAgICAgICAgICAgICAgICAgICAg
dG9fdXBkYXRlLmFwcGVuZChzb3VyY2VfZmlsZSkKKworICAgICAgICBpZiB0b191cGRhdGU6Cisg
ICAgICAgICAgICBjaGFuZ2VkID0gVHJ1ZQorCisgICAgICAgIGlmIHBhcmFsbGVsIGFuZCBsZW4o
dG9fdXBkYXRlKSA+IDI1IGFuZCBjcHVfY291bnQoKSA+IDE6CisgICAgICAgICAgICAjIDI1IGRl
cml2ZWQgZXhwZXJpbWVudGFsbHkgKDIwMjAtMDEpIHRvIGJlIGFwcHJveGltYXRlbHkKKyAgICAg
ICAgICAgICMgdGhlIHBvaW50IGF0IHdoaWNoIGl0IGlzIHF1aWNrZXIgdG8gY3JlYXRlIFBvb2wg
YW5kCisgICAgICAgICAgICAjIHBhcmFsbGVsaXplIHRoaXMKKyAgICAgICAgICAgIHBvb2wgPSBQ
b29sKCkKKworICAgICAgICAgICAgIyBjaHVua3NpemUgc2V0ID4gMSB3aGVuIG1vcmUgdGhhbiAx
MDAwMCB0ZXN0cywgYmVjYXVzZQorICAgICAgICAgICAgIyBjaHVua2luZyBpcyBhIG5ldC1nYWlu
IG9uY2Ugd2UgZ2V0IHRvIHZlcnkgbGFyZ2UgbnVtYmVycworICAgICAgICAgICAgIyBvZiBpdGVt
cyAoYWdhaW4sIGV4cGVyaW1lbnRhbGx5LCAyMDIwLTAxKQorICAgICAgICAgICAgcmVzdWx0cyA9
IHBvb2wuaW1hcF91bm9yZGVyZWQoY29tcHV0ZV9tYW5pZmVzdF9pdGVtcywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvX3VwZGF0ZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNodW5rc2l6ZT1tYXgoMSwgbGVuKHRvX3VwZGF0
ZSkgLy8gMTAwMDApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAp
ICAjIHR5cGU6IEl0ZXJhdG9yW1R1cGxlW1R1cGxlW1RleHQsIC4uLl0sIFRleHQsIFNldFtNYW5p
ZmVzdEl0ZW1dLCBUZXh0XV0KKyAgICAgICAgZWxpZiBQWTM6CisgICAgICAgICAgICByZXN1bHRz
ID0gbWFwKGNvbXB1dGVfbWFuaWZlc3RfaXRlbXMsIHRvX3VwZGF0ZSkKKyAgICAgICAgZWxzZToK
KyAgICAgICAgICAgIHJlc3VsdHMgPSBpdGVydG9vbHMuaW1hcChjb21wdXRlX21hbmlmZXN0X2l0
ZW1zLCB0b191cGRhdGUpCisKKyAgICAgICAgZm9yIHJlc3VsdCBpbiByZXN1bHRzOgorICAgICAg
ICAgICAgcmVsX3BhdGhfcGFydHMsIG5ld190eXBlLCBtYW5pZmVzdF9pdGVtcywgZmlsZV9oYXNo
ID0gcmVzdWx0CisgICAgICAgICAgICBkYXRhW25ld190eXBlXVtyZWxfcGF0aF9wYXJ0c10gPSBt
YW5pZmVzdF9pdGVtcworICAgICAgICAgICAgZGF0YVtuZXdfdHlwZV0uaGFzaGVzW3JlbF9wYXRo
X3BhcnRzXSA9IGZpbGVfaGFzaAogCi0gICAgICAgIGRlbGV0ZWQgPSBwcmV2X2ZpbGVzIC0gc2Vl
bl9maWxlcwogICAgICAgICBpZiBkZWxldGVkOgogICAgICAgICAgICAgY2hhbmdlZCA9IFRydWUK
LSAgICAgICAgICAgIGZvciByZWxfcGF0aCBpbiBkZWxldGVkOgotICAgICAgICAgICAgICAgIGlm
IHJlbF9wYXRoIGluIHBhdGhfaGFzaDoKLSAgICAgICAgICAgICAgICAgICAgXywgb2xkX3R5cGUg
PSBwYXRoX2hhc2hbcmVsX3BhdGhdCi0gICAgICAgICAgICAgICAgICAgIGlmIG9sZF90eXBlIGlu
IHJlZnRlc3RfdHlwZXM6Ci0gICAgICAgICAgICAgICAgICAgICAgICByZWZ0ZXN0X2NoYW5nZXMg
PSBUcnVlCi0gICAgICAgICAgICAgICAgICAgIGRlbCBwYXRoX2hhc2hbcmVsX3BhdGhdCi0gICAg
ICAgICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgICAgICAgIGRlbCBkYXRhW29s
ZF90eXBlXVtyZWxfcGF0aF0KLSAgICAgICAgICAgICAgICAgICAgZXhjZXB0IEtleUVycm9yOgot
ICAgICAgICAgICAgICAgICAgICAgICAgcGFzcwotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAg
ICAgICAgICAgICAgICAgIGZvciB0ZXN0X2RhdGEgaW4gaXRlcnZhbHVlcyhkYXRhKToKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGlmIHJlbF9wYXRoIGluIHRlc3RfZGF0YToKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBkZWwgdGVzdF9kYXRhW3JlbF9wYXRoXQotCi0gICAgICAgIGlmIHJl
ZnRlc3RfY2hhbmdlczoKLSAgICAgICAgICAgIHJlZnRlc3RzLCByZWZ0ZXN0X25vZGVzLCBjaGFu
Z2VkX2hhc2hlcyA9IHNlbGYuX2NvbXB1dGVfcmVmdGVzdHMoYWxsX3JlZnRlc3Rfbm9kZXMpCi0g
ICAgICAgICAgICByZWZ0ZXN0X2RhdGEgPSBkYXRhWyJyZWZ0ZXN0Il0KLSAgICAgICAgICAgIHJl
ZnRlc3RfZGF0YS5jbGVhcigpCi0gICAgICAgICAgICBmb3IgcGF0aCwgaXRlbXMgaW4gaXRlcml0
ZW1zKHJlZnRlc3RzKToKLSAgICAgICAgICAgICAgICBpZiBNWVBZOgotICAgICAgICAgICAgICAg
ICAgICByZWZ0ZXN0X2RhdGFbcGF0aF0gPSBjYXN0KFNldFtNYW5pZmVzdEl0ZW1dLCBpdGVtcykK
LSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICByZWZ0ZXN0X2RhdGFb
cGF0aF0gPSBpdGVtcwotCi0gICAgICAgICAgICByZWZ0ZXN0X25vZGVfZGF0YSA9IGRhdGFbInJl
ZnRlc3Rfbm9kZSJdCi0gICAgICAgICAgICByZWZ0ZXN0X25vZGVfZGF0YS5jbGVhcigpCi0gICAg
ICAgICAgICBmb3Igbm9kZV9wYXRoLCBub2RlX2l0ZW1zIGluIGl0ZXJpdGVtcyhyZWZ0ZXN0X25v
ZGVzKToKLSAgICAgICAgICAgICAgICBpZiBNWVBZOgotICAgICAgICAgICAgICAgICAgICByZWZ0
ZXN0X25vZGVfZGF0YVtub2RlX3BhdGhdID0gY2FzdChTZXRbTWFuaWZlc3RJdGVtXSwgbm9kZV9p
dGVtcykKLSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICByZWZ0ZXN0
X25vZGVfZGF0YVtub2RlX3BhdGhdID0gbm9kZV9pdGVtcwotCi0gICAgICAgICAgICBwYXRoX2hh
c2gudXBkYXRlKGNoYW5nZWRfaGFzaGVzKQorICAgICAgICAgICAgZm9yIHJlbF9wYXRoX3BhcnRz
IGluIGRlbGV0ZWQ6CisgICAgICAgICAgICAgICAgZm9yIHRlc3RfZGF0YSBpbiBpdGVydmFsdWVz
KGRhdGEpOgorICAgICAgICAgICAgICAgICAgICBpZiByZWxfcGF0aF9wYXJ0cyBpbiB0ZXN0X2Rh
dGE6CisgICAgICAgICAgICAgICAgICAgICAgICBkZWwgdGVzdF9kYXRhW3JlbF9wYXRoX3BhcnRz
XQogCiAgICAgICAgIHJldHVybiBjaGFuZ2VkCiAKLSAgICBkZWYgX2NvbXB1dGVfcmVmdGVzdHMo
c2VsZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmdGVzdF9ub2RlcyAgIyB0eXBlOiBM
aXN0W1R1cGxlW01hbmlmZXN0SXRlbSwgVGV4dF1dCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICk6Ci0gICAgICAgICMgdHlwZTogKC4uLikgLT4gVHVwbGVbRGljdFtUZXh0LCBTZXRbUmVmVGVz
dF1dLCBEaWN0W1RleHQsIFNldFtSZWZUZXN0Tm9kZV1dLCBEaWN0W1RleHQsIFR1cGxlW1RleHQs
IFRleHRdXV0KLSAgICAgICAgc2VsZi5fcmVmdGVzdF9ub2Rlc19ieV91cmwgPSB7fQotICAgICAg
ICBoYXNfaW5ib3VuZCA9IHNldCgpCi0gICAgICAgIGZvciBpdGVtLCBfIGluIHJlZnRlc3Rfbm9k
ZXM6Ci0gICAgICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShpdGVtLCAoUmVmVGVzdE5vZGUsIFJl
ZlRlc3QpKQotICAgICAgICAgICAgZm9yIHJlZl91cmwsIHJlZl90eXBlIGluIGl0ZW0ucmVmZXJl
bmNlczoKLSAgICAgICAgICAgICAgICBoYXNfaW5ib3VuZC5hZGQocmVmX3VybCkKLQotICAgICAg
ICByZWZ0ZXN0cyA9IGRlZmF1bHRkaWN0KHNldCkgICMgdHlwZTogRGljdFtUZXh0LCBTZXRbUmVm
VGVzdF1dCi0gICAgICAgIHJlZmVyZW5jZXMgPSBkZWZhdWx0ZGljdChzZXQpICAjIHR5cGU6IERp
Y3RbVGV4dCwgU2V0W1JlZlRlc3ROb2RlXV0KLSAgICAgICAgY2hhbmdlZF9oYXNoZXMgPSB7fSAg
IyB0eXBlOiBEaWN0W1RleHQsIFR1cGxlW1RleHQsIFRleHRdXQotCi0gICAgICAgIGZvciBpdGVt
LCBmaWxlX2hhc2ggaW4gcmVmdGVzdF9ub2RlczoKLSAgICAgICAgICAgIGFzc2VydCBpc2luc3Rh
bmNlKGl0ZW0sIChSZWZUZXN0Tm9kZSwgUmVmVGVzdCkpCi0gICAgICAgICAgICBpZiBpdGVtLnVy
bCBpbiBoYXNfaW5ib3VuZDoKLSAgICAgICAgICAgICAgICAjIFRoaXMgaXMgYSByZWZlcmVuY2UK
LSAgICAgICAgICAgICAgICBpZiBpc2luc3RhbmNlKGl0ZW0sIFJlZlRlc3QpOgotICAgICAgICAg
ICAgICAgICAgICBpdGVtID0gaXRlbS50b19SZWZUZXN0Tm9kZSgpCi0gICAgICAgICAgICAgICAg
ICAgIGNoYW5nZWRfaGFzaGVzW2l0ZW0ucGF0aF0gPSAoZmlsZV9oYXNoLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uaXRlbV90eXBlKQotICAg
ICAgICAgICAgICAgIGFzc2VydCBpc2luc3RhbmNlKGl0ZW0sIFJlZlRlc3ROb2RlKQotICAgICAg
ICAgICAgICAgIHJlZmVyZW5jZXNbaXRlbS5wYXRoXS5hZGQoaXRlbSkKLSAgICAgICAgICAgIGVs
c2U6Ci0gICAgICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShpdGVtLCBSZWZUZXN0Tm9kZSk6Ci0g
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtLnRvX1JlZlRlc3QoKQotICAgICAgICAgICAg
ICAgICAgICBjaGFuZ2VkX2hhc2hlc1tpdGVtLnBhdGhdID0gKGZpbGVfaGFzaCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLml0ZW1fdHlwZSkK
LSAgICAgICAgICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShpdGVtLCBSZWZUZXN0KQotICAgICAg
ICAgICAgICAgIHJlZnRlc3RzW2l0ZW0ucGF0aF0uYWRkKGl0ZW0pCi0gICAgICAgICAgICBhc3Nl
cnQgaXNpbnN0YW5jZShpdGVtLCAoUmVmVGVzdE5vZGUsIFJlZlRlc3QpKQotICAgICAgICAgICAg
c2VsZi5fcmVmdGVzdF9ub2Rlc19ieV91cmxbaXRlbS51cmxdID0gaXRlbQotCi0gICAgICAgIHJl
dHVybiByZWZ0ZXN0cywgcmVmZXJlbmNlcywgY2hhbmdlZF9oYXNoZXMKLQotICAgIGRlZiB0b19q
c29uKHNlbGYpOgotICAgICAgICAjIHR5cGU6ICgpIC0+IERpY3RbVGV4dCwgQW55XQorICAgIGRl
ZiB0b19qc29uKHNlbGYsIGNhbGxlcl9vd25zX29iaj1UcnVlKToKKyAgICAgICAgIyB0eXBlOiAo
Ym9vbCkgLT4gRGljdFtUZXh0LCBBbnldCisgICAgICAgICIiIkR1bXAgYSBtYW5pZmVzdCBpbnRv
IGEgb2JqZWN0IHdoaWNoIGNhbiBiZSBzZXJpYWxpemVkIGFzIEpTT04KKworICAgICAgICBJZiBj
YWxsZXJfb3duc19vYmogaXMgRmFsc2UsIHRoZW4gdGhlIHJldHVybiB2YWx1ZSByZW1haW5zCisg
ICAgICAgIG93bmVkIGJ5IHRoZSBtYW5pZmVzdDsgaXQgaXMgX3ZpdGFsbHkgaW1wb3J0YW50XyB0
aGF0IF9ub18KKyAgICAgICAgKGV2ZW4gcmVhZCkgb3BlcmF0aW9uIGlzIGRvbmUgb24gdGhlIG1h
bmlmZXN0LCBhcyBvdGhlcndpc2UKKyAgICAgICAgb2JqZWN0cyB3aXRoaW4gdGhlIG9iamVjdCBn
cmFwaCByb290ZWQgYXQgdGhlIHJldHVybiB2YWx1ZSBjYW4KKyAgICAgICAgYmUgbXV0YXRlZC4g
VGhpcyBlc3NlbnRpYWxseSBtYWtlcyB0aGlzIG1vZGUgdmVyeSBkYW5nZXJvdXMKKyAgICAgICAg
YW5kIG9ubHkgdG8gYmUgdXNlZCB1bmRlciBleHRyZW1lIGNhcmUuCisKKyAgICAgICAgIiIiCiAg
ICAgICAgIG91dF9pdGVtcyA9IHsKICAgICAgICAgICAgIHRlc3RfdHlwZTogdHlwZV9wYXRocy50
b19qc29uKCkKICAgICAgICAgICAgIGZvciB0ZXN0X3R5cGUsIHR5cGVfcGF0aHMgaW4gaXRlcml0
ZW1zKHNlbGYuX2RhdGEpIGlmIHR5cGVfcGF0aHMKICAgICAgICAgfQorCisgICAgICAgIGlmIGNh
bGxlcl9vd25zX29iajoKKyAgICAgICAgICAgIG91dF9pdGVtcyA9IGRlZXBjb3B5KG91dF9pdGVt
cykKKwogICAgICAgICBydiA9IHsidXJsX2Jhc2UiOiBzZWxmLnVybF9iYXNlLAotICAgICAgICAg
ICAgICAicGF0aHMiOiB7ZnJvbV9vc19wYXRoKGspOiB2IGZvciBrLCB2IGluIGl0ZXJpdGVtcyhz
ZWxmLl9wYXRoX2hhc2gpfSwKICAgICAgICAgICAgICAgIml0ZW1zIjogb3V0X2l0ZW1zLAogICAg
ICAgICAgICAgICAidmVyc2lvbiI6IENVUlJFTlRfVkVSU0lPTn0gICMgdHlwZTogRGljdFtUZXh0
LCBBbnldCiAgICAgICAgIHJldHVybiBydgogCiAgICAgQGNsYXNzbWV0aG9kCi0gICAgZGVmIGZy
b21fanNvbihjbHMsIHRlc3RzX3Jvb3QsIG9iaiwgdHlwZXM9Tm9uZSk6Ci0gICAgICAgICMgdHlw
ZTogKHN0ciwgRGljdFtUZXh0LCBBbnldLCBPcHRpb25hbFtDb250YWluZXJbVGV4dF1dKSAtPiBN
YW5pZmVzdAorICAgIGRlZiBmcm9tX2pzb24oY2xzLCB0ZXN0c19yb290LCBvYmosIHR5cGVzPU5v
bmUsIGNhbGxlZV9vd25zX29iaj1GYWxzZSk6CisgICAgICAgICMgdHlwZTogKHN0ciwgRGljdFtU
ZXh0LCBBbnldLCBPcHRpb25hbFtDb250YWluZXJbVGV4dF1dLCBib29sKSAtPiBNYW5pZmVzdAor
ICAgICAgICAiIiJMb2FkIGEgbWFuaWZlc3QgZnJvbSBhIEpTT04gb2JqZWN0CisKKyAgICAgICAg
VGhpcyBsb2FkcyBhIG1hbmlmZXN0IGZvciBhIGdpdmVuIGxvY2FsIHRlc3Rfcm9vdCBwYXRoIGZy
b20gYW4KKyAgICAgICAgb2JqZWN0IG9iaiwgcG90ZW50aWFsbHkgcGFydGlhbGx5IGxvYWRpbmcg
aXQgdG8gb25seSBsb2FkIHRoZQorICAgICAgICB0eXBlcyBnaXZlbiBieSB0eXBlcy4KKworICAg
ICAgICBJZiBjYWxsZWVfb3duc19vYmogaXMgVHJ1ZSwgdGhlbiBvd25lcnNoaXAgb2Ygb2JqIHRy
YW5zZmVycworICAgICAgICB0byB0aGlzIGZ1bmN0aW9uIHdoZW4gY2FsbGVkLCBhbmQgdGhlIGNh
bGxlciBtdXN0IG5ldmVyIG11dGF0ZQorICAgICAgICB0aGUgb2JqIG9yIGFueXRoaW5nIHJlZmVy
cmVkIHRvIGluIHRoZSBvYmplY3QgZ3JhcGggcm9vdGVkIGF0CisgICAgICAgIG9iai4KKworICAg
ICAgICAiIiIKICAgICAgICAgdmVyc2lvbiA9IG9iai5nZXQoInZlcnNpb24iKQogICAgICAgICBp
ZiB2ZXJzaW9uICE9IENVUlJFTlRfVkVSU0lPTjoKICAgICAgICAgICAgIHJhaXNlIE1hbmlmZXN0
VmVyc2lvbk1pc21hdGNoCiAKICAgICAgICAgc2VsZiA9IGNscyh0ZXN0c19yb290LCB1cmxfYmFz
ZT1vYmouZ2V0KCJ1cmxfYmFzZSIsICIvIikpCi0gICAgICAgIGlmIG5vdCBoYXNhdHRyKG9iaiwg
Iml0ZW1zIikgYW5kIGhhc2F0dHIob2JqLCAicGF0aHMiKToKKyAgICAgICAgaWYgbm90IGhhc2F0
dHIob2JqLCAiaXRlbXMiKToKICAgICAgICAgICAgIHJhaXNlIE1hbmlmZXN0RXJyb3IKIAotICAg
ICAgICBzZWxmLl9wYXRoX2hhc2ggPSB7dG9fb3NfcGF0aChrKTogdiBmb3IgaywgdiBpbiBpdGVy
aXRlbXMob2JqWyJwYXRocyJdKX0KLQogICAgICAgICBmb3IgdGVzdF90eXBlLCB0eXBlX3BhdGhz
IGluIGl0ZXJpdGVtcyhvYmpbIml0ZW1zIl0pOgogICAgICAgICAgICAgaWYgdGVzdF90eXBlIG5v
dCBpbiBpdGVtX2NsYXNzZXM6CiAgICAgICAgICAgICAgICAgcmFpc2UgTWFuaWZlc3RFcnJvcgpA
QCAtNDc3LDcgKzI5MiwxMCBAQCBjbGFzcyBNYW5pZmVzdChvYmplY3QpOgogICAgICAgICAgICAg
aWYgdHlwZXMgYW5kIHRlc3RfdHlwZSBub3QgaW4gdHlwZXM6CiAgICAgICAgICAgICAgICAgY29u
dGludWUKIAotICAgICAgICAgICAgc2VsZi5fZGF0YVt0ZXN0X3R5cGVdLnNldF9qc29uKHRlc3Rz
X3Jvb3QsIHR5cGVfcGF0aHMpCisgICAgICAgICAgICBpZiBub3QgY2FsbGVlX293bnNfb2JqOgor
ICAgICAgICAgICAgICAgIHR5cGVfcGF0aHMgPSBkZWVwY29weSh0eXBlX3BhdGhzKQorCisgICAg
ICAgICAgICBzZWxmLl9kYXRhW3Rlc3RfdHlwZV0uc2V0X2pzb24odHlwZV9wYXRocykKIAogICAg
ICAgICByZXR1cm4gc2VsZgogCkBAIC01MTEsMTAgKzMyOSwxMSBAQCBkZWYgX2xvYWQobG9nZ2Vy
LCAgIyB0eXBlOiBMb2dnZXIKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGxvZ2dlci5kZWJ1
ZygiQ3JlYXRpbmcgbmV3IG1hbmlmZXN0IGF0ICVzIiAlIG1hbmlmZXN0KQogICAgICAgICB0cnk6
Ci0gICAgICAgICAgICB3aXRoIG9wZW4obWFuaWZlc3QsICJyYiIpIGFzIGY6CisgICAgICAgICAg
ICB3aXRoIGlvLm9wZW4obWFuaWZlc3QsICJyIiwgZW5jb2Rpbmc9InV0Zi04IikgYXMgZjoKICAg
ICAgICAgICAgICAgICBydiA9IE1hbmlmZXN0LmZyb21fanNvbih0ZXN0c19yb290LAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhc3RfanNvbi5sb2FkKGYpLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVzPXR5cGVzKQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVzPXR5cGVzLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxlZV9vd25zX29iaj1UcnVlKQogICAg
ICAgICBleGNlcHQgSU9FcnJvcjoKICAgICAgICAgICAgIHJldHVybiBOb25lCiAgICAgICAgIGV4
Y2VwdCBWYWx1ZUVycm9yOgpAQCAtNTIzLDcgKzM0Miw4IEBAIGRlZiBfbG9hZChsb2dnZXIsICAj
IHR5cGU6IExvZ2dlcgogICAgIGVsc2U6CiAgICAgICAgIHJ2ID0gTWFuaWZlc3QuZnJvbV9qc29u
KHRlc3RzX3Jvb3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhc3RfanNvbi5s
b2FkKG1hbmlmZXN0KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZXM9dHlw
ZXMpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVzPXR5cGVzLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsZWVfb3duc19vYmo9VHJ1ZSkKIAogICAgIGlm
IGFsbG93X2NhY2hlZDoKICAgICAgICAgX19sb2FkX2NhY2hlW21hbmlmZXN0X3BhdGhdID0gcnYK
QEAgLTU0MCw3ICszNjAsOCBAQCBkZWYgbG9hZF9hbmRfdXBkYXRlKHRlc3RzX3Jvb3QsICAjIHR5
cGU6IGJ5dGVzCiAgICAgICAgICAgICAgICAgICAgIHdvcmtpbmdfY29weT1UcnVlLCAgIyB0eXBl
OiBib29sCiAgICAgICAgICAgICAgICAgICAgIHR5cGVzPU5vbmUsICAjIHR5cGU6IE9wdGlvbmFs
W0NvbnRhaW5lcltUZXh0XV0KICAgICAgICAgICAgICAgICAgICAgd3JpdGVfbWFuaWZlc3Q9VHJ1
ZSwgICMgdHlwZTogYm9vbAotICAgICAgICAgICAgICAgICAgICBhbGxvd19jYWNoZWQ9VHJ1ZSAg
IyB0eXBlOiBib29sCisgICAgICAgICAgICAgICAgICAgIGFsbG93X2NhY2hlZD1UcnVlLCAgIyB0
eXBlOiBib29sCisgICAgICAgICAgICAgICAgICAgIHBhcmFsbGVsPVRydWUgICMgdHlwZTogYm9v
bAogICAgICAgICAgICAgICAgICAgICApOgogICAgICMgdHlwZTogKC4uLikgLT4gTWFuaWZlc3QK
ICAgICBsb2dnZXIgPSBnZXRfbG9nZ2VyKCkKQEAgLTU2OCw3ICszODksNyBAQCBkZWYgbG9hZF9h
bmRfdXBkYXRlKHRlc3RzX3Jvb3QsICAjIHR5cGU6IGJ5dGVzCiAgICAgaWYgcmVidWlsZCBvciB1
cGRhdGU6CiAgICAgICAgIHRyZWUgPSB2Y3MuZ2V0X3RyZWUodGVzdHNfcm9vdCwgbWFuaWZlc3Qs
IG1hbmlmZXN0X3BhdGgsIGNhY2hlX3Jvb3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
d29ya2luZ19jb3B5LCByZWJ1aWxkKQotICAgICAgICBjaGFuZ2VkID0gbWFuaWZlc3QudXBkYXRl
KHRyZWUpCisgICAgICAgIGNoYW5nZWQgPSBtYW5pZmVzdC51cGRhdGUodHJlZSwgcGFyYWxsZWwp
CiAgICAgICAgIGlmIHdyaXRlX21hbmlmZXN0IGFuZCBjaGFuZ2VkOgogICAgICAgICAgICAgd3Jp
dGUobWFuaWZlc3QsIG1hbmlmZXN0X3BhdGgpCiAgICAgICAgIHRyZWUuZHVtcF9jYWNoZXMoKQpA
QCAtNTgxLDkgKzQwMiw5IEBAIGRlZiB3cml0ZShtYW5pZmVzdCwgbWFuaWZlc3RfcGF0aCk6CiAg
ICAgZGlyX25hbWUgPSBvcy5wYXRoLmRpcm5hbWUobWFuaWZlc3RfcGF0aCkKICAgICBpZiBub3Qg
b3MucGF0aC5leGlzdHMoZGlyX25hbWUpOgogICAgICAgICBvcy5tYWtlZGlycyhkaXJfbmFtZSkK
LSAgICB3aXRoIG9wZW4obWFuaWZlc3RfcGF0aCwgIndiIikgYXMgZjoKKyAgICB3aXRoIG9wZW4o
bWFuaWZlc3RfcGF0aCwgInciKSBhcyBmOgogICAgICAgICAjIFVzZSAnLCcgaW5zdGVhZCBvZiB0
aGUgZGVmYXVsdCAnLCAnIHNlcGFyYXRvciB0byBwcmV2ZW50IHRyYWlsaW5nCiAgICAgICAgICMg
c3BhY2VzOiBodHRwczovL2RvY3MucHl0aG9uLm9yZy8yL2xpYnJhcnkvanNvbi5odG1sI2pzb24u
ZHVtcAotICAgICAgICBqc29uLmR1bXAobWFuaWZlc3QudG9fanNvbigpLCBmLAorICAgICAgICBq
c29uLmR1bXAobWFuaWZlc3QudG9fanNvbihjYWxsZXJfb3duc19vYmo9VHJ1ZSksIGYsCiAgICAg
ICAgICAgICAgICAgICBzb3J0X2tleXM9VHJ1ZSwgaW5kZW50PTEsIHNlcGFyYXRvcnM9KCcsJywg
JzogJykpCiAgICAgICAgIGYud3JpdGUoIlxuIikKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbWFuaWZlc3Qvc291cmNlZmlsZS5w
eSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbWFu
aWZlc3Qvc291cmNlZmlsZS5weQppbmRleCBiOWRjYzhmNTM2MzZkM2RiODBlNDUxOGY3ZDgzODAy
N2YwOThhOGQ3Li4yOTlhZDIxMmY3NjgwZTc1MTc1MDU2NjdjNmUwOWJkNjBlZDBiN2M0IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L21hbmlmZXN0L3NvdXJjZWZpbGUucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9tYW5pZmVzdC9zb3VyY2VmaWxlLnB5CkBAIC0yLDcgKzIs
NyBAQCBpbXBvcnQgaGFzaGxpYgogaW1wb3J0IHJlCiBpbXBvcnQgb3MKIGZyb20gY29sbGVjdGlv
bnMgaW1wb3J0IGRlcXVlCi1mcm9tIHNpeCBpbXBvcnQgYmluYXJ5X3R5cGUsIFBZMworZnJvbSBz
aXggaW1wb3J0IGJpbmFyeV90eXBlLCBlbnN1cmVfdGV4dCwgaXRlcml0ZW1zLCB0ZXh0X3R5cGUK
IGZyb20gc2l4Lm1vdmVzLnVybGxpYi5wYXJzZSBpbXBvcnQgdXJsam9pbgogZnJvbSBmbm1hdGNo
IGltcG9ydCBmbm1hdGNoCiAKQEAgLTMzLDcgKzMzLDcgQEAgZXhjZXB0IEltcG9ydEVycm9yOgog
aW1wb3J0IGh0bWw1bGliCiAKIGZyb20gLiBpbXBvcnQgWE1MUGFyc2VyCi1mcm9tIC5pdGVtIGlt
cG9ydCAoTWFuaWZlc3RJdGVtLCBNYW51YWxUZXN0LCBXZWJEcml2ZXJTcGVjVGVzdCwgUmVmVGVz
dE5vZGUsIFRlc3RoYXJuZXNzVGVzdCwKK2Zyb20gLml0ZW0gaW1wb3J0IChNYW5pZmVzdEl0ZW0s
IE1hbnVhbFRlc3QsIFdlYkRyaXZlclNwZWNUZXN0LCBSZWZUZXN0LCBUZXN0aGFybmVzc1Rlc3Qs
CiAgICAgICAgICAgICAgICAgICAgU3VwcG9ydEZpbGUsIENyYXNoVGVzdCwgQ29uZm9ybWFuY2VD
aGVja2VyVGVzdCwgVmlzdWFsVGVzdCkKIGZyb20gLnV0aWxzIGltcG9ydCBDb250ZXh0TWFuYWdl
ckJ5dGVzSU8sIGNhY2hlZF9wcm9wZXJ0eQogCkBAIC01Niw5ICs1Niw5IEBAIGRlZiByZXBsYWNl
X2VuZChzLCBvbGQsIG5ldyk6CiAKIAogZGVmIHJlYWRfc2NyaXB0X21ldGFkYXRhKGYsIHJlZ2V4
cCk6Ci0gICAgIyB0eXBlOiAoQmluYXJ5SU8sIFBhdHRlcm5bYnl0ZXNdKSAtPiBJdGVyYWJsZVtU
dXBsZVtieXRlcywgYnl0ZXNdXQorICAgICMgdHlwZTogKEJpbmFyeUlPLCBQYXR0ZXJuW2J5dGVz
XSkgLT4gSXRlcmFibGVbVHVwbGVbVGV4dCwgVGV4dF1dCiAgICAgIiIiCi0gICAgWWllbGRzIGFu
eSBtZXRhZGF0YSAocGFpcnMgb2YgYnl0ZXN0cmluZ3MpIGZyb20gdGhlIGZpbGUtbGlrZSBvYmpl
Y3QgYGZgLAorICAgIFlpZWxkcyBhbnkgbWV0YWRhdGEgKHBhaXJzIG9mIHN0cmluZ3MpIGZyb20g
dGhlIGZpbGUtbGlrZSBvYmplY3QgYGZgLAogICAgIGFzIHNwZWNpZmllZCBhY2NvcmRpbmcgdG8g
YSBzdXBwbGllZCByZWdleHAuCiAKICAgICBgcmVnZXhwYCAtIFJlZ2V4cCBjb250YWluaW5nIHR3
byBncm91cHMgY29udGFpbmluZyB0aGUgbWV0YWRhdGEgbmFtZSBhbmQKQEAgLTcwLDI3ICs3MCwy
NSBAQCBkZWYgcmVhZF9zY3JpcHRfbWV0YWRhdGEoZiwgcmVnZXhwKToKICAgICAgICAgaWYgbm90
IG06CiAgICAgICAgICAgICBicmVhawogCi0gICAgICAgIHlpZWxkIChtLmdyb3VwcygpWzBdLCBt
Lmdyb3VwcygpWzFdKQorICAgICAgICB5aWVsZCAobS5ncm91cHMoKVswXS5kZWNvZGUoInV0Zjgi
KSwgbS5ncm91cHMoKVsxXS5kZWNvZGUoInV0ZjgiKSkKIAogCiBfYW55X3ZhcmlhbnRzID0gewot
ICAgIGIiZGVmYXVsdCI6IHsibG9uZ2hhbmQiOiB7YiJ3aW5kb3ciLCBiImRlZGljYXRlZHdvcmtl
ciJ9fSwKLSAgICBiIndpbmRvdyI6IHsic3VmZml4IjogIi5hbnkuaHRtbCJ9LAotICAgIGIic2Vy
dmljZXdvcmtlciI6IHsiZm9yY2VfaHR0cHMiOiBUcnVlfSwKLSAgICBiInNoYXJlZHdvcmtlciI6
IHt9LAotICAgIGIiZGVkaWNhdGVkd29ya2VyIjogeyJzdWZmaXgiOiAiLmFueS53b3JrZXIuaHRt
bCJ9LAotICAgIGIid29ya2VyIjogeyJsb25naGFuZCI6IHtiImRlZGljYXRlZHdvcmtlciIsIGIi
c2hhcmVkd29ya2VyIiwgYiJzZXJ2aWNld29ya2VyIn19LAotICAgIGIianNzaGVsbCI6IHsic3Vm
Zml4IjogIi5hbnkuanMifSwKLX0gICMgdHlwZTogRGljdFtieXRlcywgRGljdFtzdHIsIEFueV1d
CisgICAgIndpbmRvdyI6IHsic3VmZml4IjogIi5hbnkuaHRtbCJ9LAorICAgICJzZXJ2aWNld29y
a2VyIjogeyJmb3JjZV9odHRwcyI6IFRydWV9LAorICAgICJzaGFyZWR3b3JrZXIiOiB7fSwKKyAg
ICAiZGVkaWNhdGVkd29ya2VyIjogeyJzdWZmaXgiOiAiLmFueS53b3JrZXIuaHRtbCJ9LAorICAg
ICJ3b3JrZXIiOiB7ImxvbmdoYW5kIjogeyJkZWRpY2F0ZWR3b3JrZXIiLCAic2hhcmVkd29ya2Vy
IiwgInNlcnZpY2V3b3JrZXIifX0sCisgICAgImpzc2hlbGwiOiB7InN1ZmZpeCI6ICIuYW55Lmpz
In0sCit9ICAjIHR5cGU6IERpY3RbVGV4dCwgRGljdFtUZXh0LCBBbnldXQogCiAKIGRlZiBnZXRf
YW55X3ZhcmlhbnRzKGl0ZW0pOgotICAgICMgdHlwZTogKGJ5dGVzKSAtPiBTZXRbYnl0ZXNdCisg
ICAgIyB0eXBlOiAoVGV4dCkgLT4gU2V0W1RleHRdCiAgICAgIiIiCi0gICAgUmV0dXJucyBhIHNl
dCBvZiB2YXJpYW50cyAoYnl0ZXN0cmluZ3MpIGRlZmluZWQgYnkgdGhlIGdpdmVuIGtleXdvcmQu
CisgICAgUmV0dXJucyBhIHNldCBvZiB2YXJpYW50cyAoc3RyaW5ncykgZGVmaW5lZCBieSB0aGUg
Z2l2ZW4ga2V5d29yZC4KICAgICAiIiIKLSAgICBhc3NlcnQgaXNpbnN0YW5jZShpdGVtLCBiaW5h
cnlfdHlwZSksIGl0ZW0KLSAgICBhc3NlcnQgbm90IGl0ZW0uc3RhcnRzd2l0aChiIiEiKSwgaXRl
bQorICAgIGFzc2VydCBpc2luc3RhbmNlKGl0ZW0sIHRleHRfdHlwZSksIGl0ZW0KIAogICAgIHZh
cmlhbnQgPSBfYW55X3ZhcmlhbnRzLmdldChpdGVtLCBOb25lKQogICAgIGlmIHZhcmlhbnQgaXMg
Tm9uZToKQEAgLTEwMCw0OCArOTgsNDYgQEAgZGVmIGdldF9hbnlfdmFyaWFudHMoaXRlbSk6CiAK
IAogZGVmIGdldF9kZWZhdWx0X2FueV92YXJpYW50cygpOgotICAgICMgdHlwZTogKCkgLT4gU2V0
W2J5dGVzXQorICAgICMgdHlwZTogKCkgLT4gU2V0W1RleHRdCiAgICAgIiIiCi0gICAgUmV0dXJu
cyBhIHNldCBvZiB2YXJpYW50cyAoYnl0ZXN0cmluZ3MpIHRoYXQgd2lsbCBiZSB1c2VkIGJ5IGRl
ZmF1bHQuCisgICAgUmV0dXJucyBhIHNldCBvZiB2YXJpYW50cyAoc3RyaW5ncykgdGhhdCB3aWxs
IGJlIHVzZWQgYnkgZGVmYXVsdC4KICAgICAiIiIKLSAgICByZXR1cm4gc2V0KF9hbnlfdmFyaWFu
dHNbYiJkZWZhdWx0Il1bImxvbmdoYW5kIl0pCisgICAgcmV0dXJuIHNldCh7IndpbmRvdyIsICJk
ZWRpY2F0ZWR3b3JrZXIifSkKIAogCiBkZWYgcGFyc2VfdmFyaWFudHModmFsdWUpOgotICAgICMg
dHlwZTogKGJ5dGVzKSAtPiBTZXRbYnl0ZXNdCisgICAgIyB0eXBlOiAoVGV4dCkgLT4gU2V0W1Rl
eHRdCiAgICAgIiIiCi0gICAgUmV0dXJucyBhIHNldCBvZiB2YXJpYW50cyAoYnl0ZXN0cmluZ3Mp
IGRlZmluZWQgYnkgYSBjb21tYS1zZXBhcmF0ZWQgdmFsdWUuCisgICAgUmV0dXJucyBhIHNldCBv
ZiB2YXJpYW50cyAoc3RyaW5ncykgZGVmaW5lZCBieSBhIGNvbW1hLXNlcGFyYXRlZCB2YWx1ZS4K
ICAgICAiIiIKLSAgICBhc3NlcnQgaXNpbnN0YW5jZSh2YWx1ZSwgYmluYXJ5X3R5cGUpLCB2YWx1
ZQorICAgIGFzc2VydCBpc2luc3RhbmNlKHZhbHVlLCB0ZXh0X3R5cGUpLCB2YWx1ZQogCi0gICAg
Z2xvYmFscyA9IGdldF9kZWZhdWx0X2FueV92YXJpYW50cygpCisgICAgaWYgdmFsdWUgPT0gIiI6
CisgICAgICAgIHJldHVybiBnZXRfZGVmYXVsdF9hbnlfdmFyaWFudHMoKQogCi0gICAgZm9yIGl0
ZW0gaW4gdmFsdWUuc3BsaXQoYiIsIik6CisgICAgZ2xvYmFscyA9IHNldCgpCisgICAgZm9yIGl0
ZW0gaW4gdmFsdWUuc3BsaXQoIiwiKToKICAgICAgICAgaXRlbSA9IGl0ZW0uc3RyaXAoKQotICAg
ICAgICBpZiBpdGVtLnN0YXJ0c3dpdGgoYiIhIik6Ci0gICAgICAgICAgICBnbG9iYWxzIC09IGdl
dF9hbnlfdmFyaWFudHMoaXRlbVsxOl0pCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBnbG9i
YWxzIHw9IGdldF9hbnlfdmFyaWFudHMoaXRlbSkKLQorICAgICAgICBnbG9iYWxzIHw9IGdldF9h
bnlfdmFyaWFudHMoaXRlbSkKICAgICByZXR1cm4gZ2xvYmFscwogCiAKIGRlZiBnbG9iYWxfc3Vm
Zml4ZXModmFsdWUpOgotICAgICMgdHlwZTogKGJ5dGVzKSAtPiBTZXRbVHVwbGVbYnl0ZXMsIGJv
b2xdXQorICAgICMgdHlwZTogKFRleHQpIC0+IFNldFtUdXBsZVtUZXh0LCBib29sXV0KICAgICAi
IiIKICAgICBZaWVsZHMgdHVwbGVzIG9mIHRoZSByZWxldmFudCBmaWxlbmFtZSBzdWZmaXggKGEg
c3RyaW5nKSBhbmQgd2hldGhlciB0aGUKICAgICB2YXJpYW50IGlzIGludGVuZGVkIHRvIHJ1biBp
biBhIEpTIHNoZWxsLCBmb3IgdGhlIHZhcmlhbnRzIGRlZmluZWQgYnkgdGhlCiAgICAgZ2l2ZW4g
Y29tbWEtc2VwYXJhdGVkIHZhbHVlLgogICAgICIiIgotICAgIGFzc2VydCBpc2luc3RhbmNlKHZh
bHVlLCBiaW5hcnlfdHlwZSksIHZhbHVlCisgICAgYXNzZXJ0IGlzaW5zdGFuY2UodmFsdWUsIHRl
eHRfdHlwZSksIHZhbHVlCiAKICAgICBydiA9IHNldCgpCiAKICAgICBnbG9iYWxfdHlwZXMgPSBw
YXJzZV92YXJpYW50cyh2YWx1ZSkKICAgICBmb3IgZ2xvYmFsX3R5cGUgaW4gZ2xvYmFsX3R5cGVz
OgogICAgICAgICB2YXJpYW50ID0gX2FueV92YXJpYW50c1tnbG9iYWxfdHlwZV0KLSAgICAgICAg
c3VmZml4ID0gdmFyaWFudC5nZXQoInN1ZmZpeCIsICIuYW55LiVzLmh0bWwiICUgZ2xvYmFsX3R5
cGUuZGVjb2RlKCJ1dGYtOCIpKQotICAgICAgICBydi5hZGQoKHN1ZmZpeCwgZ2xvYmFsX3R5cGUg
PT0gYiJqc3NoZWxsIikpCisgICAgICAgIHN1ZmZpeCA9IHZhcmlhbnQuZ2V0KCJzdWZmaXgiLCAi
LmFueS4lcy5odG1sIiAlIGdsb2JhbF90eXBlKQorICAgICAgICBydi5hZGQoKHN1ZmZpeCwgZ2xv
YmFsX3R5cGUgPT0gImpzc2hlbGwiKSkKIAogICAgIHJldHVybiBydgogCkBAIC0xNTYsNiArMTUy
LDggQEAgZGVmIGdsb2JhbF92YXJpYW50X3VybCh1cmwsIHN1ZmZpeCk6CiAgICAgIyB0aGUgZm9y
bSAuaHR0cHMuYW55LmpzCiAgICAgaWYgIi5odHRwcy4iIGluIHVybCBhbmQgc3VmZml4LnN0YXJ0
c3dpdGgoIi5odHRwcy4iKToKICAgICAgICAgdXJsID0gdXJsLnJlcGxhY2UoIi5odHRwcy4iLCAi
LiIpCisgICAgZWxpZiAiLmgyLiIgaW4gdXJsIGFuZCBzdWZmaXguc3RhcnRzd2l0aCgiLmgyLiIp
OgorICAgICAgICB1cmwgPSB1cmwucmVwbGFjZSgiLmgyLiIsICIuIikKICAgICByZXR1cm4gcmVw
bGFjZV9lbmQodXJsLCAiLmpzIiwgc3VmZml4KQogCiAKQEAgLTE5MiwyNCArMTkwLDIxIEBAIGNs
YXNzIFNvdXJjZUZpbGUob2JqZWN0KToKICAgICAgICAgICAgICAgICAgICAgICAgICAoImNzcyIs
ICJDU1MyIiwgImFyY2hpdmUiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAoImNzcyIsICJj
b21tb24iKX0gICMgdHlwZTogU2V0W1R1cGxlW2J5dGVzLCAuLi5dXQogCi0gICAgZGVmIF9faW5p
dF9fKHNlbGYsIHRlc3RzX3Jvb3QsIHJlbF9wYXRoLCB1cmxfYmFzZSwgaGFzaD1Ob25lLCBjb250
ZW50cz1Ob25lKToKLSAgICAgICAgIyB0eXBlOiAoQW55U3RyLCBBbnlTdHIsIFRleHQsIE9wdGlv
bmFsW2J5dGVzXSwgT3B0aW9uYWxbYnl0ZXNdKSAtPiBOb25lCisgICAgZGVmIF9faW5pdF9fKHNl
bGYsIHRlc3RzX3Jvb3QsIHJlbF9wYXRoX3N0ciwgdXJsX2Jhc2UsIGhhc2g9Tm9uZSwgY29udGVu
dHM9Tm9uZSk6CisgICAgICAgICMgdHlwZTogKEFueVN0ciwgQW55U3RyLCBUZXh0LCBPcHRpb25h
bFtUZXh0XSwgT3B0aW9uYWxbYnl0ZXNdKSAtPiBOb25lCiAgICAgICAgICIiIk9iamVjdCByZXBy
ZXNlbnRpbmcgYSBmaWxlIGluIGEgc291cmNlIHRyZWUuCiAKICAgICAgICAgOnBhcmFtIHRlc3Rz
X3Jvb3Q6IFBhdGggdG8gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZSB0cmVlCi0gICAgICAgIDpwYXJh
bSByZWxfcGF0aDogRmlsZSBwYXRoIHJlbGF0aXZlIHRvIHRlc3RzX3Jvb3QKKyAgICAgICAgOnBh
cmFtIHJlbF9wYXRoX3N0cjogRmlsZSBwYXRoIHJlbGF0aXZlIHRvIHRlc3RzX3Jvb3QKICAgICAg
ICAgOnBhcmFtIHVybF9iYXNlOiBCYXNlIFVSTCB1c2VkIHdoZW4gY29udmVydGluZyBmaWxlIHBh
dGhzIHRvIHVybHMKICAgICAgICAgOnBhcmFtIGNvbnRlbnRzOiBCeXRlIGFycmF5IG9mIHRoZSBj
b250ZW50cyBvZiB0aGUgZmlsZSBvciBgYE5vbmVgYC4KICAgICAgICAgIiIiCiAKKyAgICAgICAg
cmVsX3BhdGggPSBlbnN1cmVfdGV4dChyZWxfcGF0aF9zdHIpCiAgICAgICAgIGFzc2VydCBub3Qg
b3MucGF0aC5pc2FicyhyZWxfcGF0aCksIHJlbF9wYXRoCi0KICAgICAgICAgaWYgb3MubmFtZSA9
PSAibnQiOgogICAgICAgICAgICAgIyBkbyBzbGFzaCBub3JtYWxpemF0aW9uIG9uIFdpbmRvd3MK
LSAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UocmVsX3BhdGgsIGJpbmFyeV90eXBlKToKLSAgICAg
ICAgICAgICAgICByZWxfcGF0aCA9IHJlbF9wYXRoLnJlcGxhY2UoYiIvIiwgYiJcXCIpCi0gICAg
ICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHJlbF9wYXRoID0gcmVsX3BhdGgucmVwbGFj
ZSh1Ii8iLCB1IlxcIikKKyAgICAgICAgICAgIHJlbF9wYXRoID0gcmVsX3BhdGgucmVwbGFjZSh1
Ii8iLCB1IlxcIikKIAogICAgICAgICBkaXJfcGF0aCwgZmlsZW5hbWUgPSBvcy5wYXRoLnNwbGl0
KHJlbF9wYXRoKQogICAgICAgICBuYW1lLCBleHQgPSBvcy5wYXRoLnNwbGl0ZXh0KGZpbGVuYW1l
KQpAQCAtMjIwLDEzICsyMTUsMTMgQEAgY2xhc3MgU291cmNlRmlsZShvYmplY3QpOgogCiAgICAg
ICAgIG1ldGFfZmxhZ3MgPSBuYW1lLnNwbGl0KCIuIilbMTpdCiAKLSAgICAgICAgc2VsZi50ZXN0
c19yb290ID0gdGVzdHNfcm9vdCAgIyB0eXBlOiBVbmlvbltieXRlcywgVGV4dF0KLSAgICAgICAg
c2VsZi5yZWxfcGF0aCA9IHJlbF9wYXRoICAjIHR5cGU6IFVuaW9uW2J5dGVzLCBUZXh0XQotICAg
ICAgICBzZWxmLmRpcl9wYXRoID0gZGlyX3BhdGggICMgdHlwZTogVW5pb25bYnl0ZXMsIFRleHRd
Ci0gICAgICAgIHNlbGYuZmlsZW5hbWUgPSBmaWxlbmFtZSAgIyB0eXBlOiBVbmlvbltieXRlcywg
VGV4dF0KLSAgICAgICAgc2VsZi5uYW1lID0gbmFtZSAgIyB0eXBlOiBVbmlvbltieXRlcywgVGV4
dF0KLSAgICAgICAgc2VsZi5leHQgPSBleHQgICMgdHlwZTogVW5pb25bYnl0ZXMsIFRleHRdCi0g
ICAgICAgIHNlbGYudHlwZV9mbGFnID0gdHlwZV9mbGFnICAjIHR5cGU6IE9wdGlvbmFsW1VuaW9u
W2J5dGVzLCBUZXh0XV0KKyAgICAgICAgc2VsZi50ZXN0c19yb290ID0gZW5zdXJlX3RleHQodGVz
dHNfcm9vdCkgICMgdHlwZTogVGV4dAorICAgICAgICBzZWxmLnJlbF9wYXRoID0gcmVsX3BhdGgg
ICMgdHlwZTogVGV4dAorICAgICAgICBzZWxmLmRpcl9wYXRoID0gZGlyX3BhdGggICMgdHlwZTog
VGV4dAorICAgICAgICBzZWxmLmZpbGVuYW1lID0gZmlsZW5hbWUgICMgdHlwZTogVGV4dAorICAg
ICAgICBzZWxmLm5hbWUgPSBuYW1lICAjIHR5cGU6IFRleHQKKyAgICAgICAgc2VsZi5leHQgPSBl
eHQgICMgdHlwZTogVGV4dAorICAgICAgICBzZWxmLnR5cGVfZmxhZyA9IHR5cGVfZmxhZyAgIyB0
eXBlOiBPcHRpb25hbFtUZXh0XQogICAgICAgICBzZWxmLm1ldGFfZmxhZ3MgPSBtZXRhX2ZsYWdz
ICAjIHR5cGU6IFVuaW9uW0xpc3RbYnl0ZXNdLCBMaXN0W1RleHRdXQogICAgICAgICBzZWxmLnVy
bF9iYXNlID0gdXJsX2Jhc2UKICAgICAgICAgc2VsZi5jb250ZW50cyA9IGNvbnRlbnRzCkBAIC0y
NDAsOSArMjM1LDcgQEAgY2xhc3MgU291cmNlRmlsZShvYmplY3QpOgogCiAgICAgICAgIGlmICJf
X2NhY2hlZF9wcm9wZXJ0aWVzX18iIGluIHJ2OgogICAgICAgICAgICAgY2FjaGVkX3Byb3BlcnRp
ZXMgPSBydlsiX19jYWNoZWRfcHJvcGVydGllc19fIl0KLSAgICAgICAgICAgIGZvciBrZXkgaW4g
cnYua2V5cygpOgotICAgICAgICAgICAgICAgIGlmIGtleSBpbiBjYWNoZWRfcHJvcGVydGllczoK
LSAgICAgICAgICAgICAgICAgICAgZGVsIHJ2W2tleV0KKyAgICAgICAgICAgIHJ2ID0ge2tleTp2
YWx1ZSBmb3Iga2V5LCB2YWx1ZSBpbiBpdGVyaXRlbXMocnYpIGlmIGtleSBub3QgaW4gY2FjaGVk
X3Byb3BlcnRpZXN9CiAgICAgICAgICAgICBkZWwgcnZbIl9fY2FjaGVkX3Byb3BlcnRpZXNfXyJd
CiAgICAgICAgIHJldHVybiBydgogCkBAIC0yNzksOSArMjcyLDE0IEBAIGNsYXNzIFNvdXJjZUZp
bGUob2JqZWN0KToKICAgICAgICAgICAgIGZpbGVfb2JqID0gb3BlbihzZWxmLnBhdGgsICdyYicp
CiAgICAgICAgIHJldHVybiBmaWxlX29iagogCisgICAgQGNhY2hlZF9wcm9wZXJ0eQorICAgIGRl
ZiByZWxfcGF0aF9wYXJ0cyhzZWxmKToKKyAgICAgICAgIyB0eXBlOiAoKSAtPiBUdXBsZVtUZXh0
LCAuLi5dCisgICAgICAgIHJldHVybiB0dXBsZShzZWxmLnJlbF9wYXRoLnNwbGl0KG9zLnBhdGgu
c2VwKSkKKwogICAgIEBjYWNoZWRfcHJvcGVydHkKICAgICBkZWYgcGF0aChzZWxmKToKLSAgICAg
ICAgIyB0eXBlOiAoKSAtPiBVbmlvbltieXRlcywgVGV4dF0KKyAgICAgICAgIyB0eXBlOiAoKSAt
PiBUZXh0CiAgICAgICAgIHJldHVybiBvcy5wYXRoLmpvaW4oc2VsZi50ZXN0c19yb290LCBzZWxm
LnJlbF9wYXRoKQogCiAgICAgQGNhY2hlZF9wcm9wZXJ0eQpAQCAtMjk3LDE3ICsyOTUsMTMgQEAg
Y2xhc3MgU291cmNlRmlsZShvYmplY3QpOgogCiAgICAgQGNhY2hlZF9wcm9wZXJ0eQogICAgIGRl
ZiBoYXNoKHNlbGYpOgotICAgICAgICAjIHR5cGU6ICgpIC0+IGJ5dGVzCisgICAgICAgICMgdHlw
ZTogKCkgLT4gVGV4dAogICAgICAgICBpZiBub3Qgc2VsZi5faGFzaDoKICAgICAgICAgICAgIHdp
dGggc2VsZi5vcGVuKCkgYXMgZjoKICAgICAgICAgICAgICAgICBjb250ZW50ID0gZi5yZWFkKCkK
IAogICAgICAgICAgICAgZGF0YSA9IGIiIi5qb2luKChiImJsb2IgIiwgYiIlZCIgJSBsZW4oY29u
dGVudCksIGIiXDAiLCBjb250ZW50KSkKLSAgICAgICAgICAgIGhhc2hfc3RyID0gaGFzaGxpYi5z
aGExKGRhdGEpLmhleGRpZ2VzdCgpICAjIHR5cGU6IHN0cgotICAgICAgICAgICAgaWYgUFkzOgot
ICAgICAgICAgICAgICAgIHNlbGYuX2hhc2ggPSBoYXNoX3N0ci5lbmNvZGUoImFzY2lpIikKLSAg
ICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgc2VsZi5faGFzaCA9IGhhc2hfc3RyCisg
ICAgICAgICAgICBzZWxmLl9oYXNoID0gdGV4dF90eXBlKGhhc2hsaWIuc2hhMShkYXRhKS5oZXhk
aWdlc3QoKSkKIAogICAgICAgICByZXR1cm4gc2VsZi5faGFzaAogCkBAIC0zMTYsMTggKzMxMCwx
NyBAQCBjbGFzcyBTb3VyY2VGaWxlKG9iamVjdCk6CiAgICAgICAgIGlmIHNlbGYuZGlyX3BhdGgg
PT0gIiI6CiAgICAgICAgICAgICByZXR1cm4gVHJ1ZQogCi0gICAgICAgIHBhcnRzID0gc2VsZi5k
aXJfcGF0aC5zcGxpdChvcy5wYXRoLnNlcCkKKyAgICAgICAgcGFydHMgPSBzZWxmLnJlbF9wYXRo
X3BhcnRzCiAKICAgICAgICAgaWYgKHBhcnRzWzBdIGluIHNlbGYucm9vdF9kaXJfbm9uX3Rlc3Qg
b3IKICAgICAgICAgICAgIGFueShpdGVtIGluIHNlbGYuZGlyX25vbl90ZXN0IGZvciBpdGVtIGlu
IHBhcnRzKSBvcgotICAgICAgICAgICAgYW55KHBhcnRzWzpsZW4ocGF0aCldID09IGxpc3QocGF0
aCkgZm9yIHBhdGggaW4gc2VsZi5kaXJfcGF0aF9ub25fdGVzdCkpOgorICAgICAgICAgICAgYW55
KHBhcnRzWzpsZW4ocGF0aCldID09IHBhdGggZm9yIHBhdGggaW4gc2VsZi5kaXJfcGF0aF9ub25f
dGVzdCkpOgogICAgICAgICAgICAgcmV0dXJuIFRydWUKICAgICAgICAgcmV0dXJuIEZhbHNlCiAK
ICAgICBkZWYgaW5fY29uZm9ybWFuY2VfY2hlY2tlcl9kaXIoc2VsZik6CiAgICAgICAgICMgdHlw
ZTogKCkgLT4gYm9vbAotICAgICAgICByZXR1cm4gKHNlbGYuZGlyX3BhdGggPT0gImNvbmZvcm1h
bmNlLWNoZWNrZXJzIiBvcgotICAgICAgICAgICAgICAgIHNlbGYuZGlyX3BhdGguc3RhcnRzd2l0
aCgiY29uZm9ybWFuY2UtY2hlY2tlcnMiICsgb3MucGF0aC5zZXApKQorICAgICAgICByZXR1cm4g
c2VsZi5yZWxfcGF0aF9wYXJ0c1swXSA9PSAiY29uZm9ybWFuY2UtY2hlY2tlcnMiCiAKICAgICBA
cHJvcGVydHkKICAgICBkZWYgbmFtZV9pc19ub25fdGVzdChzZWxmKToKQEAgLTMzOSw2ICszMzIs
NyBAQCBjbGFzcyBTb3VyY2VGaWxlKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgc2VsZi5maWxl
bmFtZSA9PSAiTUVUQS55bWwiIG9yCiAgICAgICAgICAgICAgICAgc2VsZi5maWxlbmFtZS5zdGFy
dHN3aXRoKCIuIikgb3IKICAgICAgICAgICAgICAgICBzZWxmLmZpbGVuYW1lLmVuZHN3aXRoKCIu
aGVhZGVycyIpIG9yCisgICAgICAgICAgICAgICAgc2VsZi5maWxlbmFtZS5lbmRzd2l0aCgiLmlu
aSIpIG9yCiAgICAgICAgICAgICAgICAgc2VsZi5pbl9ub25fdGVzdF9kaXIoKSkKIAogICAgIEBw
cm9wZXJ0eQpAQCAtMzk0LDEwICszODgsMTAgQEAgY2xhc3MgU291cmNlRmlsZShvYmplY3QpOgog
ICAgICAgICBiZSBhIHdlYmRyaXZlciBzcGVjIHRlc3QgZmlsZSIiIgogICAgICAgICAjIHdkc3Bl
YyB0ZXN0cyBhcmUgaW4gc3ViZGlyZWN0b3JpZXMgb2YgL3dlYmRyaXZlciBleGNsdWRpbmcgX19p
bml0X18ucHkKICAgICAgICAgIyBmaWxlcy4KLSAgICAgICAgcmVsX2Rpcl90cmVlID0gc2VsZi5y
ZWxfcGF0aC5zcGxpdChvcy5wYXRoLnNlcCkKLSAgICAgICAgcmV0dXJuICgoKHJlbF9kaXJfdHJl
ZVswXSA9PSAid2ViZHJpdmVyIiBhbmQgbGVuKHJlbF9kaXJfdHJlZSkgPiAxKSBvcgotICAgICAg
ICAgICAgICAgICAocmVsX2Rpcl90cmVlWzoyXSA9PSBbImluZnJhc3RydWN0dXJlIiwgIndlYmRy
aXZlciJdIGFuZAotICAgICAgICAgICAgICAgICAgbGVuKHJlbF9kaXJfdHJlZSkgPiAyKSkgYW5k
CisgICAgICAgIHJlbF9wYXRoX3BhcnRzID0gc2VsZi5yZWxfcGF0aF9wYXJ0cworICAgICAgICBy
ZXR1cm4gKCgocmVsX3BhdGhfcGFydHNbMF0gPT0gIndlYmRyaXZlciIgYW5kIGxlbihyZWxfcGF0
aF9wYXJ0cykgPiAxKSBvcgorICAgICAgICAgICAgICAgICAocmVsX3BhdGhfcGFydHNbOjJdID09
ICgiaW5mcmFzdHJ1Y3R1cmUiLCAid2ViZHJpdmVyIikgYW5kCisgICAgICAgICAgICAgICAgICBs
ZW4ocmVsX3BhdGhfcGFydHMpID4gMikpIGFuZAogICAgICAgICAgICAgICAgIHNlbGYuZmlsZW5h
bWUgbm90IGluICgiX19pbml0X18ucHkiLCAiY29uZnRlc3QucHkiKSBhbmQKICAgICAgICAgICAg
ICAgICBmbm1hdGNoKHNlbGYuZmlsZW5hbWUsIHdkX3BhdHRlcm4pKQogCkBAIC00MTMsNiArNDA3
LDE1IEBAIGNsYXNzIFNvdXJjZUZpbGUob2JqZWN0KToKICAgICAgICAgIyB0eXBlOiAoKSAtPiBi
b29sCiAgICAgICAgIHJldHVybiBzZWxmLnR5cGVfZmxhZyA9PSAiY3Jhc2giIG9yICJjcmFzaHRl
c3RzIiBpbiBzZWxmLmRpcl9wYXRoLnNwbGl0KG9zLnBhdGguc2VwKQogCisgICAgQHByb3BlcnR5
CisgICAgZGVmIG5hbWVfaXNfdGVudGF0aXZlKHNlbGYpOgorICAgICAgICAjIHR5cGU6ICgpIC0+
IGJvb2wKKyAgICAgICAgIiIiQ2hlY2sgaWYgdGhlIGZpbGUgbmFtZSBtYXRjaGVzIHRoZSBjb25k
aXRpb25zIGZvciB0aGUgZmlsZSB0byBiZSBhCisgICAgICAgIHRlbnRhdGl2ZSBmaWxlLgorCisg
ICAgICAgIFNlZSBodHRwczovL3dlYi1wbGF0Zm9ybS10ZXN0cy5vcmcvd3JpdGluZy10ZXN0cy9m
aWxlLW5hbWVzLmh0bWwjdGVzdC1mZWF0dXJlcyIiIgorICAgICAgICByZXR1cm4gInRlbnRhdGl2
ZSIgaW4gc2VsZi5tZXRhX2ZsYWdzCisKICAgICBAcHJvcGVydHkKICAgICBkZWYgbWFya3VwX3R5
cGUoc2VsZik6CiAgICAgICAgICMgdHlwZTogKCkgLT4gT3B0aW9uYWxbVGV4dF0KQEAgLTQ2NSw3
ICs0NjgsNyBAQCBjbGFzcyBTb3VyY2VGaWxlKG9iamVjdCk6CiAKICAgICBAY2FjaGVkX3Byb3Bl
cnR5CiAgICAgZGVmIHNjcmlwdF9tZXRhZGF0YShzZWxmKToKLSAgICAgICAgIyB0eXBlOiAoKSAt
PiBPcHRpb25hbFtMaXN0W1R1cGxlW2J5dGVzLCBieXRlc11dXQorICAgICAgICAjIHR5cGU6ICgp
IC0+IE9wdGlvbmFsW0xpc3RbVHVwbGVbVGV4dCwgVGV4dF1dXQogICAgICAgICBpZiBzZWxmLm5h
bWVfaXNfd29ya2VyIG9yIHNlbGYubmFtZV9pc19tdWx0aV9nbG9iYWwgb3Igc2VsZi5uYW1lX2lz
X3dpbmRvdzoKICAgICAgICAgICAgIHJlZ2V4cCA9IGpzX21ldGFfcmUKICAgICAgICAgZWxpZiBz
ZWxmLm5hbWVfaXNfd2ViZHJpdmVyOgpAQCAtNDgyLDcgKzQ4NSw3IEBAIGNsYXNzIFNvdXJjZUZp
bGUob2JqZWN0KToKICAgICAgICAgIiIiVGhlIHRpbWVvdXQgb2YgYSB0ZXN0IG9yIHJlZmVyZW5j
ZSBmaWxlLiAibG9uZyIgaWYgdGhlIGZpbGUgaGFzIGFuIGV4dGVuZGVkIHRpbWVvdXQKICAgICAg
ICAgb3IgTm9uZSBvdGhlcndpc2UiIiIKICAgICAgICAgaWYgc2VsZi5zY3JpcHRfbWV0YWRhdGE6
Ci0gICAgICAgICAgICBpZiBhbnkobSA9PSAoYiJ0aW1lb3V0IiwgYiJsb25nIikgZm9yIG0gaW4g
c2VsZi5zY3JpcHRfbWV0YWRhdGEpOgorICAgICAgICAgICAgaWYgYW55KG0gPT0gKCJ0aW1lb3V0
IiwgImxvbmciKSBmb3IgbSBpbiBzZWxmLnNjcmlwdF9tZXRhZGF0YSk6CiAgICAgICAgICAgICAg
ICAgcmV0dXJuICJsb25nIgogCiAgICAgICAgIGlmIHNlbGYucm9vdCBpcyBOb25lOgpAQCAtNjQ0
LDggKzY0Nyw4IEBAIGNsYXNzIFNvdXJjZUZpbGUob2JqZWN0KToKICAgICAgICAgICAgIHNjcmlw
dF9tZXRhZGF0YSA9IHNlbGYuc2NyaXB0X21ldGFkYXRhCiAgICAgICAgICAgICBhc3NlcnQgc2Ny
aXB0X21ldGFkYXRhIGlzIG5vdCBOb25lCiAgICAgICAgICAgICBmb3IgKGtleSwgdmFsdWUpIGlu
IHNjcmlwdF9tZXRhZGF0YToKLSAgICAgICAgICAgICAgICBpZiBrZXkgPT0gYiJ2YXJpYW50IjoK
LSAgICAgICAgICAgICAgICAgICAgcnYuYXBwZW5kKHZhbHVlLmRlY29kZSgidXRmLTgiKSkKKyAg
ICAgICAgICAgICAgICBpZiBrZXkgPT0gInZhcmlhbnQiOgorICAgICAgICAgICAgICAgICAgICBy
di5hcHBlbmQodmFsdWUpCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBmb3IgZWxlbWVudCBp
biBzZWxmLnZhcmlhbnRfbm9kZXM6CiAgICAgICAgICAgICAgICAgaWYgImNvbnRlbnQiIGluIGVs
ZW1lbnQuYXR0cmliOgpAQCAtNjc3LDYgKzY4MCwzNiBAQCBjbGFzcyBTb3VyY2VGaWxlKG9iamVj
dCk6CiAgICAgICAgICAgICByZXR1cm4gTm9uZQogICAgICAgICByZXR1cm4gYm9vbChzZWxmLnRl
c3Rkcml2ZXJfbm9kZXMpCiAKKyAgICBAY2FjaGVkX3Byb3BlcnR5CisgICAgZGVmIHF1aWNfbm9k
ZXMoc2VsZik6CisgICAgICAgICMgdHlwZTogKCkgLT4gTGlzdFtFbGVtZW50VHJlZS5FbGVtZW50
XQorICAgICAgICAiIiJMaXN0IG9mIEVsZW1lbnRUcmVlIEVsZW1lbnRzIGNvcnJlc3BvbmRpbmcg
dG8gbm9kZXMgaW4gYSB0ZXN0IHRoYXQKKyAgICAgICAgc3BlY2lmeSB3aGV0aGVyIGl0IG5lZWRz
IFFVSUMgc2VydmVyLiIiIgorICAgICAgICBhc3NlcnQgc2VsZi5yb290IGlzIG5vdCBOb25lCisg
ICAgICAgIHJldHVybiBzZWxmLnJvb3QuZmluZGFsbCgiLi8ve2h0dHA6Ly93d3cudzMub3JnLzE5
OTkveGh0bWx9bWV0YVtAbmFtZT0ncXVpYyddIikKKworICAgIEBjYWNoZWRfcHJvcGVydHkKKyAg
ICBkZWYgcXVpYyhzZWxmKToKKyAgICAgICAgIyB0eXBlOiAoKSAtPiBPcHRpb25hbFtib29sXQor
ICAgICAgICAiIiJCb29sZWFuIGluZGljYXRpbmcgd2hldGhlciBhIHRlc3QgcmVxdWlyZXMgUVVJ
QyBzZXJ2ZXIKKworICAgICAgICBEZXRlcm1pbmVkIGJ5IDxtZXRhPiBlbGVtZW50cyAoYHF1aWNf
bm9kZXMoKWApIGFuZCAiLy8gTUVUQSIgY29tbWVudHMKKyAgICAgICAgKGBzY3JpcHRfbWV0YWRh
dGEoKWApLgorICAgICAgICAiIiIKKyAgICAgICAgaWYgc2VsZi5zY3JpcHRfbWV0YWRhdGE6Cisg
ICAgICAgICAgICBpZiBhbnkobSA9PSAoInF1aWMiLCAidHJ1ZSIpIGZvciBtIGluIHNlbGYuc2Ny
aXB0X21ldGFkYXRhKToKKyAgICAgICAgICAgICAgICByZXR1cm4gVHJ1ZQorCisgICAgICAgIGlm
IHNlbGYucm9vdCBpcyBOb25lOgorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKworICAgICAgICBp
ZiBzZWxmLnF1aWNfbm9kZXM6CisgICAgICAgICAgICBxdWljX3N0ciA9IHNlbGYucXVpY19ub2Rl
c1swXS5hdHRyaWIuZ2V0KCJjb250ZW50IiwgImZhbHNlIikgICMgdHlwZTogVGV4dAorICAgICAg
ICAgICAgaWYgcXVpY19zdHIubG93ZXIoKSA9PSAidHJ1ZSI6CisgICAgICAgICAgICAgICAgcmV0
dXJuIFRydWUKKworICAgICAgICByZXR1cm4gTm9uZQorCiAgICAgQGNhY2hlZF9wcm9wZXJ0eQog
ICAgIGRlZiByZWZ0ZXN0X25vZGVzKHNlbGYpOgogICAgICAgICAjIHR5cGU6ICgpIC0+IExpc3Rb
RWxlbWVudFRyZWUuRWxlbWVudF0KQEAgLTc4NCw2ICs4MTcsOCBAQCBjbGFzcyBTb3VyY2VGaWxl
KG9iamVjdCk6CiAgICAgICAgIGlmIHNlbGYuaXRlbXNfY2FjaGU6CiAgICAgICAgICAgICByZXR1
cm4gc2VsZi5pdGVtc19jYWNoZQogCisgICAgICAgIGRyb3BfY2FjaGVkID0gInJvb3QiIG5vdCBp
biBzZWxmLl9fZGljdF9fCisKICAgICAgICAgaWYgc2VsZi5uYW1lX2lzX25vbl90ZXN0OgogICAg
ICAgICAgICAgcnYgPSAic3VwcG9ydCIsIFsKICAgICAgICAgICAgICAgICBTdXBwb3J0RmlsZSgK
QEAgLTgzNSwxMSArODcwLDExIEBAIGNsYXNzIFNvdXJjZUZpbGUob2JqZWN0KToKICAgICAgICAg
ICAgICAgICApXQogCiAgICAgICAgIGVsaWYgc2VsZi5uYW1lX2lzX211bHRpX2dsb2JhbDoKLSAg
ICAgICAgICAgIGdsb2JhbHMgPSBiIiIKKyAgICAgICAgICAgIGdsb2JhbHMgPSB1IiIKICAgICAg
ICAgICAgIHNjcmlwdF9tZXRhZGF0YSA9IHNlbGYuc2NyaXB0X21ldGFkYXRhCiAgICAgICAgICAg
ICBhc3NlcnQgc2NyaXB0X21ldGFkYXRhIGlzIG5vdCBOb25lCiAgICAgICAgICAgICBmb3IgKGtl
eSwgdmFsdWUpIGluIHNjcmlwdF9tZXRhZGF0YToKLSAgICAgICAgICAgICAgICBpZiBrZXkgPT0g
YiJnbG9iYWwiOgorICAgICAgICAgICAgICAgIGlmIGtleSA9PSAiZ2xvYmFsIjoKICAgICAgICAg
ICAgICAgICAgICAgZ2xvYmFscyA9IHZhbHVlCiAgICAgICAgICAgICAgICAgICAgIGJyZWFrCiAK
QEAgLTg1MSw2ICs4ODYsNyBAQCBjbGFzcyBTb3VyY2VGaWxlKG9iamVjdCk6CiAgICAgICAgICAg
ICAgICAgICAgIGdsb2JhbF92YXJpYW50X3VybChzZWxmLnJlbF91cmwsIHN1ZmZpeCkgKyB2YXJp
YW50LAogICAgICAgICAgICAgICAgICAgICB0aW1lb3V0PXNlbGYudGltZW91dCwKICAgICAgICAg
ICAgICAgICAgICAganNzaGVsbD1qc3NoZWxsLAorICAgICAgICAgICAgICAgICAgICBxdWljPXNl
bGYucXVpYywKICAgICAgICAgICAgICAgICAgICAgc2NyaXB0X21ldGFkYXRhPXNlbGYuc2NyaXB0
X21ldGFkYXRhCiAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgIGZvciAoc3VmZml4
LCBqc3NoZWxsKSBpbiBzb3J0ZWQoZ2xvYmFsX3N1ZmZpeGVzKGdsb2JhbHMpKQpAQCAtODY3LDYg
KzkwMyw3IEBAIGNsYXNzIFNvdXJjZUZpbGUob2JqZWN0KToKICAgICAgICAgICAgICAgICAgICAg
c2VsZi51cmxfYmFzZSwKICAgICAgICAgICAgICAgICAgICAgdGVzdF91cmwgKyB2YXJpYW50LAog
ICAgICAgICAgICAgICAgICAgICB0aW1lb3V0PXNlbGYudGltZW91dCwKKyAgICAgICAgICAgICAg
ICAgICAgcXVpYz1zZWxmLnF1aWMsCiAgICAgICAgICAgICAgICAgICAgIHNjcmlwdF9tZXRhZGF0
YT1zZWxmLnNjcmlwdF9tZXRhZGF0YQogICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAg
ICBmb3IgdmFyaWFudCBpbiBzZWxmLnRlc3RfdmFyaWFudHMKQEAgLTg4Miw2ICs5MTksNyBAQCBj
bGFzcyBTb3VyY2VGaWxlKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgICAgIHNlbGYudXJsX2Jh
c2UsCiAgICAgICAgICAgICAgICAgICAgIHRlc3RfdXJsICsgdmFyaWFudCwKICAgICAgICAgICAg
ICAgICAgICAgdGltZW91dD1zZWxmLnRpbWVvdXQsCisgICAgICAgICAgICAgICAgICAgIHF1aWM9
c2VsZi5xdWljLAogICAgICAgICAgICAgICAgICAgICBzY3JpcHRfbWV0YWRhdGE9c2VsZi5zY3Jp
cHRfbWV0YWRhdGEKICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgZm9yIHZhcmlh
bnQgaW4gc2VsZi50ZXN0X3ZhcmlhbnRzCkBAIC05MTgsMTkgKzk1NiwyMSBAQCBjbGFzcyBTb3Vy
Y2VGaWxlKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgICAgIHNlbGYudXJsX2Jhc2UsCiAgICAg
ICAgICAgICAgICAgICAgIHVybCwKICAgICAgICAgICAgICAgICAgICAgdGltZW91dD1zZWxmLnRp
bWVvdXQsCisgICAgICAgICAgICAgICAgICAgIHF1aWM9c2VsZi5xdWljLAogICAgICAgICAgICAg
ICAgICAgICB0ZXN0ZHJpdmVyPXRlc3Rkcml2ZXIsCiAgICAgICAgICAgICAgICAgICAgIHNjcmlw
dF9tZXRhZGF0YT1zZWxmLnNjcmlwdF9tZXRhZGF0YQogICAgICAgICAgICAgICAgICkpCiAKICAg
ICAgICAgZWxpZiBzZWxmLmNvbnRlbnRfaXNfcmVmX25vZGU6Ci0gICAgICAgICAgICBydiA9IFJl
ZlRlc3ROb2RlLml0ZW1fdHlwZSwgWwotICAgICAgICAgICAgICAgIFJlZlRlc3ROb2RlKAorICAg
ICAgICAgICAgcnYgPSBSZWZUZXN0Lml0ZW1fdHlwZSwgWworICAgICAgICAgICAgICAgIFJlZlRl
c3QoCiAgICAgICAgICAgICAgICAgICAgIHNlbGYudGVzdHNfcm9vdCwKICAgICAgICAgICAgICAg
ICAgICAgc2VsZi5yZWxfcGF0aCwKICAgICAgICAgICAgICAgICAgICAgc2VsZi51cmxfYmFzZSwK
ICAgICAgICAgICAgICAgICAgICAgc2VsZi5yZWxfdXJsLAogICAgICAgICAgICAgICAgICAgICBy
ZWZlcmVuY2VzPXNlbGYucmVmZXJlbmNlcywKICAgICAgICAgICAgICAgICAgICAgdGltZW91dD1z
ZWxmLnRpbWVvdXQsCisgICAgICAgICAgICAgICAgICAgIHF1aWM9c2VsZi5xdWljLAogICAgICAg
ICAgICAgICAgICAgICB2aWV3cG9ydF9zaXplPXNlbGYudmlld3BvcnRfc2l6ZSwKICAgICAgICAg
ICAgICAgICAgICAgZHBpPXNlbGYuZHBpLAogICAgICAgICAgICAgICAgICAgICBmdXp6eT1zZWxm
LmZ1enp5CkBAIC05NTYsNCArOTk2LDExIEBAIGNsYXNzIFNvdXJjZUZpbGUob2JqZWN0KToKIAog
ICAgICAgICBzZWxmLml0ZW1zX2NhY2hlID0gcnYKIAorICAgICAgICBpZiBkcm9wX2NhY2hlZCBh
bmQgIl9fY2FjaGVkX3Byb3BlcnRpZXNfXyIgaW4gc2VsZi5fX2RpY3RfXzoKKyAgICAgICAgICAg
IGNhY2hlZF9wcm9wZXJ0aWVzID0gc2VsZi5fX2RpY3RfX1siX19jYWNoZWRfcHJvcGVydGllc19f
Il0KKyAgICAgICAgICAgIGZvciBwcm9wIGluIGNhY2hlZF9wcm9wZXJ0aWVzOgorICAgICAgICAg
ICAgICAgIGlmIHByb3AgaW4gc2VsZi5fX2RpY3RfXzoKKyAgICAgICAgICAgICAgICAgICAgZGVs
IHNlbGYuX19kaWN0X19bcHJvcF0KKyAgICAgICAgICAgIGRlbCBzZWxmLl9fZGljdF9fWyJfX2Nh
Y2hlZF9wcm9wZXJ0aWVzX18iXQorCiAgICAgICAgIHJldHVybiBydgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9tYW5pZmVzdC90
ZXN0cy90ZXN0X21hbmlmZXN0LnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy9tYW5pZmVzdC90ZXN0cy90ZXN0X21hbmlmZXN0LnB5CmluZGV4IDcz
M2NhZmRjYmU5ZGM5Y2UwN2NiM2U4NDNiZDk1NmQwMmM2ZmQyZmUuLmI2MThkNzVlYzFlZDJlOTU1
ZTI3Zjc2MzQ0NmMxYjBmYzM5ODdmMWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbWFuaWZlc3QvdGVzdHMvdGVzdF9tYW5pZmVz
dC5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL21hbmlmZXN0L3Rlc3RzL3Rlc3RfbWFuaWZlc3QucHkKQEAgLTUsNyArNSw3IEBAIGltcG9y
dCBtb2NrCiBpbXBvcnQgaHlwb3RoZXNpcyBhcyBoCiBpbXBvcnQgaHlwb3RoZXNpcy5zdHJhdGVn
aWVzIGFzIGhzCiAKLWltcG9ydCBweXRlc3QKK2Zyb20gc2l4IGltcG9ydCBpdGVyaXRlbXMKIAog
ZnJvbSAuLiBpbXBvcnQgbWFuaWZlc3QsIHNvdXJjZWZpbGUsIGl0ZW0sIHV0aWxzCiAKQEAgLTE4
LDcgKzE4LDEwIEBAIGlmIE1ZUFk6CiAKIGRlZiBTb3VyY2VGaWxlV2l0aFRlc3QocGF0aCwgaGFz
aCwgY2xzLCAqKmt3YXJncyk6CiAgICAgIyB0eXBlOiAoc3RyLCBzdHIsIFR5cGVbaXRlbS5NYW5p
ZmVzdEl0ZW1dLCAqKkFueSkgLT4gc291cmNlZmlsZS5Tb3VyY2VGaWxlCi0gICAgcyA9IG1vY2su
TW9jayhyZWxfcGF0aD1wYXRoLCBoYXNoPWhhc2gpCisgICAgcmVsX3BhdGhfcGFydHMgPSB0dXBs
ZShwYXRoLnNwbGl0KG9zLnBhdGguc2VwKSkKKyAgICBzID0gbW9jay5Nb2NrKHJlbF9wYXRoPXBh
dGgsCisgICAgICAgICAgICAgICAgICByZWxfcGF0aF9wYXJ0cz1yZWxfcGF0aF9wYXJ0cywKKyAg
ICAgICAgICAgICAgICAgIGhhc2g9aGFzaCkKICAgICBpZiBjbHMgPT0gaXRlbS5TdXBwb3J0Rmls
ZToKICAgICAgICAgdGVzdCA9IGNscygiL2Zvb2JhciIsIHBhdGgpCiAgICAgZWxzZToKQEAgLTI5
LDUxICszMiw4MyBAQCBkZWYgU291cmNlRmlsZVdpdGhUZXN0KHBhdGgsIGhhc2gsIGNscywgKipr
d2FyZ3MpOgogCiBkZWYgU291cmNlRmlsZVdpdGhUZXN0cyhwYXRoLCBoYXNoLCBjbHMsIHZhcmlh
bnRzKToKICAgICAjIHR5cGU6IChzdHIsIHN0ciwgVHlwZVtpdGVtLlVSTE1hbmlmZXN0SXRlbV0s
ICoqQW55KSAtPiBzb3VyY2VmaWxlLlNvdXJjZUZpbGUKLSAgICBzID0gbW9jay5Nb2NrKHJlbF9w
YXRoPXBhdGgsIGhhc2g9aGFzaCkKKyAgICByZWxfcGF0aF9wYXJ0cyA9IHR1cGxlKHBhdGguc3Bs
aXQob3MucGF0aC5zZXApKQorICAgIHMgPSBtb2NrLk1vY2socmVsX3BhdGg9cGF0aCwKKyAgICAg
ICAgICAgICAgICAgIHJlbF9wYXRoX3BhcnRzPXJlbF9wYXRoX3BhcnRzLAorICAgICAgICAgICAg
ICAgICAgaGFzaD1oYXNoKQogICAgIHRlc3RzID0gW2NscygiL2Zvb2JhciIsIHBhdGgsICIvIiwg
aXRlbVswXSwgKippdGVtWzFdKSBmb3IgaXRlbSBpbiB2YXJpYW50c10KICAgICBzLm1hbmlmZXN0
X2l0ZW1zID0gbW9jay5Nb2NrKHJldHVybl92YWx1ZT0oY2xzLml0ZW1fdHlwZSwgdGVzdHMpKQog
ICAgIHJldHVybiBzICAjIHR5cGU6IGlnbm9yZQogCiAKLUBocy5jb21wb3NpdGUKLWRlZiByZWxf
ZGlyX2ZpbGVfcGF0aChkcmF3KToKLSAgICBsZW5ndGggPSBkcmF3KGhzLmludGVnZXJzKG1pbl92
YWx1ZT0xLCBtYXhfdmFsdWU9MjApKQotICAgIGlmIGxlbmd0aCA9PSAxOgotICAgICAgICByZXR1
cm4gImEiCi0gICAgZWxzZToKLSAgICAgICAgcmVtYWluaW5nID0gbGVuZ3RoIC0gMgotICAgICAg
ICBhbHBoYWJldCA9ICJhIiArIG9zLnBhdGguc2VwCi0gICAgICAgIG1pZCA9IGRyYXcoaHMudGV4
dChhbHBoYWJldD1hbHBoYWJldCwgbWluX3NpemU9cmVtYWluaW5nLCBtYXhfc2l6ZT1yZW1haW5p
bmcpKQotICAgICAgICByZXR1cm4gb3MucGF0aC5ub3JtY2FzZSgiYSIgKyBtaWQgKyAiYSIpCi0K
LQogQGhzLmNvbXBvc2l0ZQogZGVmIHNvdXJjZWZpbGVfc3RyYXRlZ3koZHJhdyk6Ci0gICAgaXRl
bV9jbGFzc2VzID0gW2l0ZW0uVGVzdGhhcm5lc3NUZXN0LCBpdGVtLlJlZlRlc3ROb2RlLAorICAg
IGl0ZW1fY2xhc3NlcyA9IFtpdGVtLlRlc3RoYXJuZXNzVGVzdCwgaXRlbS5SZWZUZXN0LAogICAg
ICAgICAgICAgICAgICAgICBpdGVtLk1hbnVhbFRlc3QsIGl0ZW0uV2ViRHJpdmVyU3BlY1Rlc3Qs
CiAgICAgICAgICAgICAgICAgICAgIGl0ZW0uQ29uZm9ybWFuY2VDaGVja2VyVGVzdCwgaXRlbS5T
dXBwb3J0RmlsZV0KICAgICBjbHMgPSBkcmF3KGhzLnNhbXBsZWRfZnJvbShpdGVtX2NsYXNzZXMp
KQogCi0gICAgcGF0aCA9IGRyYXcocmVsX2Rpcl9maWxlX3BhdGgoKSkKLSAgICBoYXNoID0gZHJh
dyhocy50ZXh0KGFscGhhYmV0PSIwMTIzNDU2Nzg5YWJjZGVmIiwgbWluX3NpemU9NDAsIG1heF9z
aXplPTQwKSkKLSAgICBzID0gbW9jay5Nb2NrKHJlbF9wYXRoPXBhdGgsIGhhc2g9aGFzaCkKKyAg
ICBwYXRoID0gdSJhIgorICAgIHJlbF9wYXRoX3BhcnRzID0gdHVwbGUocGF0aC5zcGxpdChvcy5w
YXRoLnNlcCkpCisgICAgaGFzaCA9IGRyYXcoaHMudGV4dChhbHBoYWJldD11IjAxMjM0NTY3ODlh
YmNkZWYiLCBtaW5fc2l6ZT00MCwgbWF4X3NpemU9NDApKQorICAgIHMgPSBtb2NrLk1vY2socmVs
X3BhdGg9cGF0aCwKKyAgICAgICAgICAgICAgICAgIHJlbF9wYXRoX3BhcnRzPXJlbF9wYXRoX3Bh
cnRzLAorICAgICAgICAgICAgICAgICAgaGFzaD1oYXNoKQogCi0gICAgaWYgY2xzIGlzIGl0ZW0u
UmVmVGVzdE5vZGU6Ci0gICAgICAgIHJlZl9wYXRoID0gZHJhdyhyZWxfZGlyX2ZpbGVfcGF0aCgp
KQotICAgICAgICBoLmFzc3VtZShwYXRoICE9IHJlZl9wYXRoKQorICAgIGlmIGNscyBpcyBpdGVt
LlJlZlRlc3Q6CisgICAgICAgIHJlZl9wYXRoID0gdSJiIgogICAgICAgICByZWZfZXEgPSBkcmF3
KGhzLnNhbXBsZWRfZnJvbShbIj09IiwgIiE9Il0pKQogICAgICAgICB0ZXN0ID0gY2xzKCIvZm9v
YmFyIiwgcGF0aCwgIi8iLCB1dGlscy5mcm9tX29zX3BhdGgocGF0aCksIHJlZmVyZW5jZXM9Wyh1
dGlscy5mcm9tX29zX3BhdGgocmVmX3BhdGgpLCByZWZfZXEpXSkKICAgICBlbGlmIGNscyBpcyBp
dGVtLlN1cHBvcnRGaWxlOgogICAgICAgICB0ZXN0ID0gY2xzKCIvZm9vYmFyIiwgcGF0aCkKICAg
ICBlbHNlOgotICAgICAgICB0ZXN0ID0gY2xzKCIvZm9vYmFyIiwgcGF0aCwgIi8iLCB1dGlscy5m
cm9tX29zX3BhdGgocGF0aCkpCisgICAgICAgIHRlc3QgPSBjbHMoIi9mb29iYXIiLCBwYXRoLCAi
LyIsICJmb29iYXIiKQogCiAgICAgcy5tYW5pZmVzdF9pdGVtcyA9IG1vY2suTW9jayhyZXR1cm5f
dmFsdWU9KGNscy5pdGVtX3R5cGUsIFt0ZXN0XSkpCiAgICAgcmV0dXJuIHMKIAogCi1AaC5naXZl
bihocy5saXN0cyhzb3VyY2VmaWxlX3N0cmF0ZWd5KCksCi0gICAgICAgICAgICAgICAgICBtaW5f
c2l6ZT0xLCBtYXhfc2l6ZT0xMDAwLCB1bmlxdWVfYnk9bGFtYmRhIHg6IHgucmVsX3BhdGgpKQor
QGhzLmNvbXBvc2l0ZQorZGVmIG1hbmlmZXN0X3RyZWUoZHJhdyk6CisgICAgbmFtZXMgPSBocy50
ZXh0KGFscGhhYmV0PWhzLmNoYXJhY3RlcnMoYmxhY2tsaXN0X2NoYXJhY3RlcnM9dSJcMC9cXDoq
XCI/PD58IiksIG1pbl9zaXplPTEpCisgICAgdHJlZSA9IGhzLnJlY3Vyc2l2ZShzb3VyY2VmaWxl
X3N0cmF0ZWd5KCksCisgICAgICAgICAgICAgICAgICAgICAgICBsYW1iZGEgY2hpbGRyZW46IGhz
LmRpY3Rpb25hcmllcyhuYW1lcywgY2hpbGRyZW4sIG1pbl9zaXplPTEpLAorICAgICAgICAgICAg
ICAgICAgICAgICAgbWF4X2xlYXZlcz0xMCkKKworICAgIGdlbmVyYXRlZF9yb290ID0gZHJhdyh0
cmVlKQorICAgIGguYXNzdW1lKGlzaW5zdGFuY2UoZ2VuZXJhdGVkX3Jvb3QsIGRpY3QpKQorCisg
ICAgcmVmdGVzdF91cmxzID0gW10KKyAgICBvdXRwdXQgPSBbXQorICAgIHN0YWNrID0gWygoaywp
LCB2KSBmb3IgaywgdiBpbiBpdGVyaXRlbXMoZ2VuZXJhdGVkX3Jvb3QpXQorICAgIHdoaWxlIHN0
YWNrOgorICAgICAgICBwYXRoLCBub2RlID0gc3RhY2sucG9wKCkKKyAgICAgICAgaWYgaXNpbnN0
YW5jZShub2RlLCBkaWN0KToKKyAgICAgICAgICAgIHN0YWNrLmV4dGVuZCgocGF0aCArIChrLCks
IHYpIGZvciBrLCB2IGluIGl0ZXJpdGVtcyhub2RlKSkKKyAgICAgICAgZWxzZToKKyAgICAgICAg
ICAgIHJlbF9wYXRoID0gb3MucGF0aC5zZXAuam9pbihwYXRoKQorICAgICAgICAgICAgbm9kZS5y
ZWxfcGF0aCA9IHJlbF9wYXRoCisgICAgICAgICAgICBub2RlLnJlbF9wYXRoX3BhcnRzID0gdHVw
bGUocGF0aCkKKyAgICAgICAgICAgIGZvciB0ZXN0X2l0ZW0gaW4gbm9kZS5tYW5pZmVzdF9pdGVt
cy5yZXR1cm5fdmFsdWVbMV06CisgICAgICAgICAgICAgICAgdGVzdF9pdGVtLnBhdGggPSByZWxf
cGF0aAorICAgICAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UodGVzdF9pdGVtLCBpdGVtLlJlZlRl
c3QpOgorICAgICAgICAgICAgICAgICAgICBpZiByZWZ0ZXN0X3VybHM6CisgICAgICAgICAgICAg
ICAgICAgICAgICBwb3NzaWJsZV91cmxzID0gaHMuc2FtcGxlZF9mcm9tKHJlZnRlc3RfdXJscykg
fCBuYW1lcworICAgICAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAg
ICAgcG9zc2libGVfdXJscyA9IG5hbWVzCisgICAgICAgICAgICAgICAgICAgIHJlZmVyZW5jZSA9
IGhzLnR1cGxlcyhocy5zYW1wbGVkX2Zyb20oW3UiPT0iLCB1IiE9Il0pLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zc2libGVfdXJscykKKyAgICAgICAgICAg
ICAgICAgICAgcmVmZXJlbmNlcyA9IGhzLmxpc3RzKHJlZmVyZW5jZSwgbWluX3NpemU9MSwgdW5p
cXVlPVRydWUpCisgICAgICAgICAgICAgICAgICAgIHRlc3RfaXRlbS5yZWZlcmVuY2VzID0gZHJh
dyhyZWZlcmVuY2VzKQorICAgICAgICAgICAgICAgICAgICByZWZ0ZXN0X3VybHMuYXBwZW5kKHRl
c3RfaXRlbS51cmwpCisgICAgICAgICAgICBvdXRwdXQuYXBwZW5kKG5vZGUpCisKKyAgICByZXR1
cm4gb3V0cHV0CisKKworQGguZ2l2ZW4obWFuaWZlc3RfdHJlZSgpKQorIyBGSVhNRTogV29ya2Fy
b3VuZCBmb3IgaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvaXNzdWVz
LzIyNzU4CitAaC5zZXR0aW5ncyhzdXBwcmVzc19oZWFsdGhfY2hlY2s9KGguSGVhbHRoQ2hlY2su
dG9vX3Nsb3csKSkKIEBoLmV4YW1wbGUoW1NvdXJjZUZpbGVXaXRoVGVzdCgiYSIsICIwIio0MCwg
aXRlbS5Db25mb3JtYW5jZUNoZWNrZXJUZXN0KV0pCiBkZWYgdGVzdF9tYW5pZmVzdF90b19qc29u
KHMpOgogICAgIG0gPSBtYW5pZmVzdC5NYW5pZmVzdCgpCkBAIC04OCwxMCArMTIzLDExIEBAIGRl
ZiB0ZXN0X21hbmlmZXN0X3RvX2pzb24ocyk6CiAgICAgYXNzZXJ0IGxvYWRlZC50b19qc29uKCkg
PT0ganNvbl9zdHIKIAogCi1AaC5naXZlbihocy5saXN0cyhzb3VyY2VmaWxlX3N0cmF0ZWd5KCks
Ci0gICAgICAgICAgICAgICAgICBtaW5fc2l6ZT0xLCB1bmlxdWVfYnk9bGFtYmRhIHg6IHgucmVs
X3BhdGgpKQorQGguZ2l2ZW4obWFuaWZlc3RfdHJlZSgpKQorIyBGSVhNRTogV29ya2Fyb3VuZCBm
b3IgaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvaXNzdWVzLzIyNzU4
CitAaC5zZXR0aW5ncyhzdXBwcmVzc19oZWFsdGhfY2hlY2s9KGguSGVhbHRoQ2hlY2sudG9vX3Ns
b3csKSkKIEBoLmV4YW1wbGUoW1NvdXJjZUZpbGVXaXRoVGVzdCgiYSIsICIwIio0MCwgaXRlbS5U
ZXN0aGFybmVzc1Rlc3QpXSkKLUBoLmV4YW1wbGUoW1NvdXJjZUZpbGVXaXRoVGVzdCgiYSIsICIw
Iio0MCwgaXRlbS5SZWZUZXN0Tm9kZSwgcmVmZXJlbmNlcz1bKCIvYWEiLCAiPT0iKV0pXSkKK0Bo
LmV4YW1wbGUoW1NvdXJjZUZpbGVXaXRoVGVzdCgiYSIsICIwIio0MCwgaXRlbS5SZWZUZXN0LCBy
ZWZlcmVuY2VzPVsoIi9hYSIsICI9PSIpXSldKQogZGVmIHRlc3RfbWFuaWZlc3RfaWRlbXBvdGVu
dChzKToKICAgICBtID0gbWFuaWZlc3QuTWFuaWZlc3QoKQogCkBAIC0xMDcsMTkxICsxNDMsNDIg
QEAgZGVmIHRlc3RfbWFuaWZlc3RfaWRlbXBvdGVudChzKToKIGRlZiB0ZXN0X21hbmlmZXN0X3Rv
X2pzb25fZm9yd2FyZHNsYXNoKCk6CiAgICAgbSA9IG1hbmlmZXN0Lk1hbmlmZXN0KCkKIAotICAg
IHMgPSBTb3VyY2VGaWxlV2l0aFRlc3QoImEvYiIsICIwIio0MCwgaXRlbS5UZXN0aGFybmVzc1Rl
c3QpCi0KLSAgICBhc3NlcnQgbS51cGRhdGUoWyhzLCBUcnVlKV0pIGlzIFRydWUKLQotICAgIGFz
c2VydCBtLnRvX2pzb24oKSA9PSB7Ci0gICAgICAgICdwYXRocyc6IHsKLSAgICAgICAgICAgICdh
L2InOiAoJzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnLCAndGVzdGhh
cm5lc3MnKQotICAgICAgICB9LAotICAgICAgICAndmVyc2lvbic6IDcsCi0gICAgICAgICd1cmxf
YmFzZSc6ICcvJywKLSAgICAgICAgJ2l0ZW1zJzogewotICAgICAgICAgICAgJ3Rlc3RoYXJuZXNz
JzogewotICAgICAgICAgICAgICAgICdhL2InOiBbKCdhL2InLCB7fSldCi0gICAgICAgICAgICB9
Ci0gICAgICAgIH0KLSAgICB9Ci0KLQotQHB5dGVzdC5tYXJrLnNraXBpZihvcy5zZXAgIT0gIlxc
IiwgcmVhc29uPSJiYWNrc2xhc2ggcGF0aCIpCi1kZWYgdGVzdF9tYW5pZmVzdF90b19qc29uX2Jh
Y2tzbGFzaCgpOgotICAgIG0gPSBtYW5pZmVzdC5NYW5pZmVzdCgpCi0KLSAgICBzID0gU291cmNl
RmlsZVdpdGhUZXN0KCJhXFxiIiwgIjAiKjQwLCBpdGVtLlRlc3RoYXJuZXNzVGVzdCkKKyAgICBz
ID0gU291cmNlRmlsZVdpdGhUZXN0KCJhIiArIG9zLnBhdGguc2VwICsgImIiLCAiMCIqNDAsIGl0
ZW0uVGVzdGhhcm5lc3NUZXN0KQogCiAgICAgYXNzZXJ0IG0udXBkYXRlKFsocywgVHJ1ZSldKSBp
cyBUcnVlCiAKICAgICBhc3NlcnQgbS50b19qc29uKCkgPT0gewotICAgICAgICAncGF0aHMnOiB7
Ci0gICAgICAgICAgICAnYS9iJzogKCcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwJywgJ3Rlc3RoYXJuZXNzJykKLSAgICAgICAgfSwKLSAgICAgICAgJ3ZlcnNpb24nOiA3
LAotICAgICAgICAndXJsX2Jhc2UnOiAnLycsCi0gICAgICAgICdpdGVtcyc6IHsKLSAgICAgICAg
ICAgICd0ZXN0aGFybmVzcyc6IHsKLSAgICAgICAgICAgICAgICAnYS9iJzogWygnYS9iJywge30p
XQotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQotCi0KLWRlZiB0ZXN0X21hbmlmZXN0
X2Zyb21fanNvbl9iYWNrc2xhc2goKToKLSAgICBqc29uX29iaiA9IHsKLSAgICAgICAgJ3BhdGhz
JzogewotICAgICAgICAgICAgJ2FcXGInOiAoJzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAnLCAndGVzdGhhcm5lc3MnKQotICAgICAgICB9LAotICAgICAgICAndmVyc2lv
bic6IDcsCisgICAgICAgICd2ZXJzaW9uJzogOCwKICAgICAgICAgJ3VybF9iYXNlJzogJy8nLAog
ICAgICAgICAnaXRlbXMnOiB7Ci0gICAgICAgICAgICAndGVzdGhhcm5lc3MnOiB7Ci0gICAgICAg
ICAgICAgICAgJ2FcXGInOiBbWydhL2InLCB7fV1dCi0gICAgICAgICAgICB9CisgICAgICAgICAg
ICAndGVzdGhhcm5lc3MnOiB7J2EnOiB7J2InOiBbCisgICAgICAgICAgICAgICAgJzAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnLAorICAgICAgICAgICAgICAgIChOb25l
LCB7fSkKKyAgICAgICAgICAgIF19fSwKICAgICAgICAgfQogICAgIH0KIAotICAgIHdpdGggcHl0
ZXN0LnJhaXNlcyhWYWx1ZUVycm9yKToKLSAgICAgICAgbWFuaWZlc3QuTWFuaWZlc3QuZnJvbV9q
c29uKCIvIiwganNvbl9vYmopCiAKIAogZGVmIHRlc3RfcmVmdGVzdF9jb21wdXRhdGlvbl9jaGFp
bigpOgogICAgIG0gPSBtYW5pZmVzdC5NYW5pZmVzdCgpCiAKLSAgICBzMSA9IFNvdXJjZUZpbGVX
aXRoVGVzdCgidGVzdDEiLCAiMCIqNDAsIGl0ZW0uUmVmVGVzdE5vZGUsIHJlZmVyZW5jZXM9Wygi
L3Rlc3QyIiwgIj09IildKQotICAgIHMyID0gU291cmNlRmlsZVdpdGhUZXN0KCJ0ZXN0MiIsICIw
Iio0MCwgaXRlbS5SZWZUZXN0Tm9kZSwgcmVmZXJlbmNlcz1bKCIvdGVzdDMiLCAiPT0iKV0pCisg
ICAgczEgPSBTb3VyY2VGaWxlV2l0aFRlc3QoInRlc3QxIiwgIjAiKjQwLCBpdGVtLlJlZlRlc3Qs
IHJlZmVyZW5jZXM9WygiL3Rlc3QyIiwgIj09IildKQorICAgIHMyID0gU291cmNlRmlsZVdpdGhU
ZXN0KCJ0ZXN0MiIsICIwIio0MCwgaXRlbS5SZWZUZXN0LCByZWZlcmVuY2VzPVsoIi90ZXN0MyIs
ICI9PSIpXSkKIAogICAgIG0udXBkYXRlKFsoczEsIFRydWUpLCAoczIsIFRydWUpXSkKIAogICAg
IHRlc3QxID0gczEubWFuaWZlc3RfaXRlbXMoKVsxXVswXQogICAgIHRlc3QyID0gczIubWFuaWZl
c3RfaXRlbXMoKVsxXVswXQogCi0gICAgYXNzZXJ0IGxpc3QobSkgPT0gWygicmVmdGVzdCIsIHRl
c3QxLnBhdGgsIHt0ZXN0MS50b19SZWZUZXN0KCl9KSwKLSAgICAgICAgICAgICAgICAgICAgICAg
KCJyZWZ0ZXN0X25vZGUiLCB0ZXN0Mi5wYXRoLCB7dGVzdDJ9KV0KLQotCi1kZWYgdGVzdF9yZWZ0
ZXN0X2NvbXB1dGF0aW9uX2NoYWluX3VwZGF0ZV9hZGQoKToKLSAgICBtID0gbWFuaWZlc3QuTWFu
aWZlc3QoKQotCi0gICAgczIgPSBTb3VyY2VGaWxlV2l0aFRlc3QoInRlc3QyIiwgIjAiKjQwLCBp
dGVtLlJlZlRlc3ROb2RlLCByZWZlcmVuY2VzPVsoIi90ZXN0MyIsICI9PSIpXSkKLSAgICB0ZXN0
MiA9IHMyLm1hbmlmZXN0X2l0ZW1zKClbMV1bMF0KLQotICAgIGFzc2VydCBtLnVwZGF0ZShbKHMy
LCBUcnVlKV0pIGlzIFRydWUKLQotICAgIGFzc2VydCBsaXN0KG0pID09IFsoInJlZnRlc3QiLCB0
ZXN0Mi5wYXRoLCB7dGVzdDIudG9fUmVmVGVzdCgpfSldCi0KLSAgICBzMSA9IFNvdXJjZUZpbGVX
aXRoVGVzdCgidGVzdDEiLCAiMCIqNDAsIGl0ZW0uUmVmVGVzdE5vZGUsIHJlZmVyZW5jZXM9Wygi
L3Rlc3QyIiwgIj09IildKQotICAgIHRlc3QxID0gczEubWFuaWZlc3RfaXRlbXMoKVsxXVswXQot
Ci0gICAgIyBzMidzIGhhc2ggaXMgdW5jaGFuZ2VkLCBidXQgaXQgaGFzIGdvbmUgZnJvbSBhIHRl
c3QgdG8gYSBub2RlCi0gICAgYXNzZXJ0IG0udXBkYXRlKFsoczEsIFRydWUpLCAoczIsIFRydWUp
XSkgaXMgVHJ1ZQotCi0gICAgYXNzZXJ0IGxpc3QobSkgPT0gWygicmVmdGVzdCIsIHRlc3QxLnBh
dGgsIHt0ZXN0MS50b19SZWZUZXN0KCl9KSwKLSAgICAgICAgICAgICAgICAgICAgICAgKCJyZWZ0
ZXN0X25vZGUiLCB0ZXN0Mi5wYXRoLCB7dGVzdDJ9KV0KLQotCi1kZWYgdGVzdF9yZWZ0ZXN0X2Nv
bXB1dGF0aW9uX2NoYWluX3VwZGF0ZV9yZW1vdmUoKToKLSAgICBtID0gbWFuaWZlc3QuTWFuaWZl
c3QoKQotCi0gICAgczEgPSBTb3VyY2VGaWxlV2l0aFRlc3QoInRlc3QxIiwgIjAiKjQwLCBpdGVt
LlJlZlRlc3ROb2RlLCByZWZlcmVuY2VzPVsoIi90ZXN0MiIsICI9PSIpXSkKLSAgICBzMiA9IFNv
dXJjZUZpbGVXaXRoVGVzdCgidGVzdDIiLCAiMCIqNDAsIGl0ZW0uUmVmVGVzdE5vZGUsIHJlZmVy
ZW5jZXM9WygiL3Rlc3QzIiwgIj09IildKQotCi0gICAgYXNzZXJ0IG0udXBkYXRlKFsoczEsIFRy
dWUpLCAoczIsIFRydWUpXSkgaXMgVHJ1ZQotCi0gICAgdGVzdDEgPSBzMS5tYW5pZmVzdF9pdGVt
cygpWzFdWzBdCi0gICAgdGVzdDIgPSBzMi5tYW5pZmVzdF9pdGVtcygpWzFdWzBdCi0KLSAgICBh
c3NlcnQgbGlzdChtKSA9PSBbKCJyZWZ0ZXN0IiwgdGVzdDEucGF0aCwge3Rlc3QxLnRvX1JlZlRl
c3QoKX0pLAotICAgICAgICAgICAgICAgICAgICAgICAoInJlZnRlc3Rfbm9kZSIsIHRlc3QyLnBh
dGgsIHt0ZXN0Mn0pXQotCi0gICAgIyBzMidzIGhhc2ggaXMgdW5jaGFuZ2VkLCBidXQgaXQgaGFz
IGdvbmUgZnJvbSBhIG5vZGUgdG8gYSB0ZXN0Ci0gICAgYXNzZXJ0IG0udXBkYXRlKFsoczIsIFRy
dWUpXSkgaXMgVHJ1ZQotCi0gICAgYXNzZXJ0IGxpc3QobSkgPT0gWygicmVmdGVzdCIsIHRlc3Qy
LnBhdGgsIHt0ZXN0Mi50b19SZWZUZXN0KCl9KV0KLQotCi1kZWYgdGVzdF9yZWZ0ZXN0X2NvbXB1
dGF0aW9uX2NoYWluX3VwZGF0ZV90ZXN0X3R5cGUoKToKLSAgICBtID0gbWFuaWZlc3QuTWFuaWZl
c3QoKQotCi0gICAgczEgPSBTb3VyY2VGaWxlV2l0aFRlc3QoInRlc3QiLCAiMCIqNDAsIGl0ZW0u
UmVmVGVzdE5vZGUsIHJlZmVyZW5jZXM9WygiL3Rlc3QtcmVmIiwgIj09IildKQotCi0gICAgYXNz
ZXJ0IG0udXBkYXRlKFsoczEsIFRydWUpXSkgaXMgVHJ1ZQotCi0gICAgdGVzdDEgPSBzMS5tYW5p
ZmVzdF9pdGVtcygpWzFdWzBdCi0KLSAgICBhc3NlcnQgbGlzdChtKSA9PSBbKCJyZWZ0ZXN0Iiwg
dGVzdDEucGF0aCwge3Rlc3QxLnRvX1JlZlRlc3QoKX0pXQotCi0gICAgIyB0ZXN0IGJlY29tZXMg
YSB0ZXN0aGFybmVzcyB0ZXN0IChoYXNoIGNoYW5nZSBiZWNhdXNlIHRoYXQgaXMgZGV0ZXJtaW5l
ZAotICAgICMgYmFzZWQgb24gdGhlIGZpbGUgY29udGVudHMpLiBUaGUgdXBkYXRlZCBtYW5pZmVz
dCBzaG91bGQgbm90IGluY2x1ZGVzIHRoZQotICAgICMgb2xkIHJlZnRlc3QuCi0gICAgczIgPSBT
b3VyY2VGaWxlV2l0aFRlc3QoInRlc3QiLCAiMSIqNDAsIGl0ZW0uVGVzdGhhcm5lc3NUZXN0KQot
ICAgIGFzc2VydCBtLnVwZGF0ZShbKHMyLCBUcnVlKV0pIGlzIFRydWUKLQotICAgIHRlc3QyID0g
czIubWFuaWZlc3RfaXRlbXMoKVsxXVswXQotCi0gICAgYXNzZXJ0IGxpc3QobSkgPT0gWygidGVz
dGhhcm5lc3MiLCB0ZXN0Mi5wYXRoLCB7dGVzdDJ9KV0KLQotCi1kZWYgdGVzdF9yZWZ0ZXN0X2Nv
bXB1dGF0aW9uX2NoYWluX3VwZGF0ZV9ub2RlX2NoYW5nZSgpOgotICAgIG0gPSBtYW5pZmVzdC5N
YW5pZmVzdCgpCi0KLSAgICBzMSA9IFNvdXJjZUZpbGVXaXRoVGVzdCgidGVzdDEiLCAiMCIqNDAs
IGl0ZW0uUmVmVGVzdE5vZGUsIHJlZmVyZW5jZXM9WygiL3Rlc3QyIiwgIj09IildKQotICAgIHMy
ID0gU291cmNlRmlsZVdpdGhUZXN0KCJ0ZXN0MiIsICIwIio0MCwgaXRlbS5SZWZUZXN0Tm9kZSwg
cmVmZXJlbmNlcz1bKCIvdGVzdDMiLCAiPT0iKV0pCi0KLSAgICBhc3NlcnQgbS51cGRhdGUoWyhz
MSwgVHJ1ZSksIChzMiwgVHJ1ZSldKSBpcyBUcnVlCi0KLSAgICB0ZXN0MSA9IHMxLm1hbmlmZXN0
X2l0ZW1zKClbMV1bMF0KLSAgICB0ZXN0MiA9IHMyLm1hbmlmZXN0X2l0ZW1zKClbMV1bMF0KLQot
ICAgIGFzc2VydCBsaXN0KG0pID09IFsoInJlZnRlc3QiLCB0ZXN0MS5wYXRoLCB7dGVzdDEudG9f
UmVmVGVzdCgpfSksCi0gICAgICAgICAgICAgICAgICAgICAgICgicmVmdGVzdF9ub2RlIiwgdGVz
dDIucGF0aCwge3Rlc3QyfSldCi0KLSAgICAjdGVzdDIgY2hhbmdlcyB0byBzdXBwb3J0IHR5cGUK
LSAgICBzMiA9IFNvdXJjZUZpbGVXaXRoVGVzdCgidGVzdDIiLCAiMSIqNDAsIGl0ZW0uU3VwcG9y
dEZpbGUpCi0KLSAgICBhc3NlcnQgbS51cGRhdGUoWyhzMSwgVHJ1ZSksIChzMiwgVHJ1ZSldKSBp
cyBUcnVlCi0gICAgdGVzdDMgPSBzMi5tYW5pZmVzdF9pdGVtcygpWzFdWzBdCi0KLSAgICBhc3Nl
cnQgbGlzdChtKSA9PSBbKCJyZWZ0ZXN0IiwgdGVzdDEucGF0aCwge3Rlc3QxLnRvX1JlZlRlc3Qo
KX0pLAotICAgICAgICAgICAgICAgICAgICAgICAoInN1cHBvcnQiLCB0ZXN0My5wYXRoLCB7dGVz
dDN9KV0KLQotCi1kZWYgdGVzdF9yZWZ0ZXN0X2NvbXB1dGF0aW9uX2NoYWluX3VwZGF0ZV9ub2Rl
X2NoYW5nZV9wYXJ0aWFsKCk6Ci0gICAgbSA9IG1hbmlmZXN0Lk1hbmlmZXN0KCkKLQotICAgIHMx
ID0gU291cmNlRmlsZVdpdGhUZXN0KCJ0ZXN0MSIsICIwIio0MCwgaXRlbS5SZWZUZXN0Tm9kZSwg
cmVmZXJlbmNlcz1bKCIvdGVzdDIiLCAiPT0iKV0pCi0gICAgczIgPSBTb3VyY2VGaWxlV2l0aFRl
c3QoInRlc3QyIiwgIjAiKjQwLCBpdGVtLlJlZlRlc3ROb2RlLCByZWZlcmVuY2VzPVsoIi90ZXN0
MyIsICI9PSIpXSkKLQotICAgIGFzc2VydCBtLnVwZGF0ZShbKHMxLCBUcnVlKSwgKHMyLCBUcnVl
KV0pIGlzIFRydWUKLQotICAgIHRlc3QxID0gczEubWFuaWZlc3RfaXRlbXMoKVsxXVswXQotICAg
IHRlc3QyID0gczIubWFuaWZlc3RfaXRlbXMoKVsxXVswXQotCi0gICAgYXNzZXJ0IGxpc3QobSkg
PT0gWygicmVmdGVzdCIsIHRlc3QxLnBhdGgsIHt0ZXN0MS50b19SZWZUZXN0KCl9KSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgKCJyZWZ0ZXN0X25vZGUiLCB0ZXN0Mi5wYXRoLCB7dGVzdDJ9KV0K
LQotICAgIHMyID0gU291cmNlRmlsZVdpdGhUZXN0KCJ0ZXN0MiIsICIxIio0MCwgaXRlbS5SZWZU
ZXN0Tm9kZSwgcmVmZXJlbmNlcz1bKCIvdGVzdDMiLCAiPT0iKV0pCi0KLSAgICBhc3NlcnQgbS51
cGRhdGUoWyhzMS5yZWxfcGF0aCwgRmFsc2UpLCAoczIsIFRydWUpXSkgaXMgVHJ1ZQotCi0gICAg
YXNzZXJ0IGxpc3QobSkgPT0gWygicmVmdGVzdCIsIHRlc3QxLnBhdGgsIHt0ZXN0MS50b19SZWZU
ZXN0KCl9KSwKLSAgICAgICAgICAgICAgICAgICAgICAgKCJyZWZ0ZXN0X25vZGUiLCB0ZXN0Mi5w
YXRoLCB7dGVzdDJ9KV0KKyAgICBhc3NlcnQgbGlzdChtKSA9PSBbKCJyZWZ0ZXN0IiwgdGVzdDEu
cGF0aCwge3Rlc3QxfSksCisgICAgICAgICAgICAgICAgICAgICAgICgicmVmdGVzdCIsIHRlc3Qy
LnBhdGgsIHt0ZXN0Mn0pXQogCiAKIGRlZiB0ZXN0X2l0ZXJwYXRoKCk6CiAgICAgbSA9IG1hbmlm
ZXN0Lk1hbmlmZXN0KCkKIAotICAgIHNvdXJjZXMgPSBbU291cmNlRmlsZVdpdGhUZXN0KCJ0ZXN0
MSIsICIwIio0MCwgaXRlbS5SZWZUZXN0Tm9kZSwgcmVmZXJlbmNlcz1bKCIvdGVzdDEtcmVmIiwg
Ij09IildKSwKKyAgICBzb3VyY2VzID0gW1NvdXJjZUZpbGVXaXRoVGVzdCgidGVzdDEiLCAiMCIq
NDAsIGl0ZW0uUmVmVGVzdCwgcmVmZXJlbmNlcz1bKCIvdGVzdDEtcmVmIiwgIj09IildKSwKICAg
ICAgICAgICAgICAgIFNvdXJjZUZpbGVXaXRoVGVzdHMoInRlc3QyIiwgIjEiKjQwLCBpdGVtLlRl
c3RoYXJuZXNzVGVzdCwgWygidGVzdDItMS5odG1sIiwge30pLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
KCJ0ZXN0Mi0yLmh0bWwiLCB7fSldKSwKICAgICAgICAgICAgICAgIFNvdXJjZUZpbGVXaXRoVGVz
dCgidGVzdDMiLCAiMCIqNDAsIGl0ZW0uVGVzdGhhcm5lc3NUZXN0KV0KQEAgLTMwMiwyNCArMTg5
LDYgQEAgZGVmIHRlc3RfaXRlcnBhdGgoKToKICAgICBhc3NlcnQgc2V0KG0uaXRlcnBhdGgoIm1p
c3NpbmciKSkgPT0gc2V0KCkKIAogCi1kZWYgdGVzdF9yZWZ0ZXN0X25vZGVfYnlfdXJsKCk6Ci0g
ICAgbSA9IG1hbmlmZXN0Lk1hbmlmZXN0KCkKLQotICAgIHMxID0gU291cmNlRmlsZVdpdGhUZXN0
KCJ0ZXN0MSIsICIwIio0MCwgaXRlbS5SZWZUZXN0Tm9kZSwgcmVmZXJlbmNlcz1bKCIvdGVzdDIi
LCAiPT0iKV0pCi0gICAgczIgPSBTb3VyY2VGaWxlV2l0aFRlc3QoInRlc3QyIiwgIjAiKjQwLCBp
dGVtLlJlZlRlc3ROb2RlLCByZWZlcmVuY2VzPVsoIi90ZXN0MyIsICI9PSIpXSkKLQotICAgIG0u
dXBkYXRlKFsoczEsIFRydWUpLCAoczIsIFRydWUpXSkKLQotICAgIHRlc3QxID0gczEubWFuaWZl
c3RfaXRlbXMoKVsxXVswXQotICAgIHRlc3QyID0gczIubWFuaWZlc3RfaXRlbXMoKVsxXVswXQot
Ci0gICAgYXNzZXJ0IG0ucmVmdGVzdF9ub2Rlc19ieV91cmwgPT0geyIvdGVzdDEiOiB0ZXN0MS50
b19SZWZUZXN0KCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIvdGVz
dDIiOiB0ZXN0Mn0KLSAgICBtLl9yZWZ0ZXN0X25vZGVzX2J5X3VybCA9IE5vbmUKLSAgICBhc3Nl
cnQgbS5yZWZ0ZXN0X25vZGVzX2J5X3VybCA9PSB7Ii90ZXN0MSI6IHRlc3QxLnRvX1JlZlRlc3Qo
KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi90ZXN0MiI6IHRlc3Qy
fQotCi0KIGRlZiB0ZXN0X25vX3VwZGF0ZSgpOgogICAgIG0gPSBtYW5pZmVzdC5NYW5pZmVzdCgp
CiAKQEAgLTM1NCw5ICsyMjMsNyBAQCBkZWYgdGVzdF9ub191cGRhdGVfZGVsZXRlKCk6CiAKICAg
ICB0ZXN0MSA9IHMxLm1hbmlmZXN0X2l0ZW1zKClbMV1bMF0KIAotICAgIHMxXzEgPSBTb3VyY2VG
aWxlV2l0aFRlc3QoInRlc3QxIiwgIjEiKjQwLCBpdGVtLk1hbnVhbFRlc3QpCi0KLSAgICBtLnVw
ZGF0ZShbKHMxXzEucmVsX3BhdGgsIEZhbHNlKV0pCisgICAgbS51cGRhdGUoWyhzMS5yZWxfcGF0
aCwgRmFsc2UpXSkKIAogICAgIGFzc2VydCBsaXN0KG0pID09IFsoInRlc3RoYXJuZXNzIiwgdGVz
dDEucGF0aCwge3Rlc3QxfSldCiAKQEAgLTM5NCw5ICsyNjEsMTAgQEAgZGVmIHRlc3RfdXBkYXRl
X2Zyb21fanNvbl9tb2RpZmllZCgpOgogICAgIG0udXBkYXRlKFsoczIsIFRydWUpXSkKICAgICBq
c29uX3N0ciA9IG0udG9fanNvbigpCiAgICAgYXNzZXJ0IGpzb25fc3RyID09IHsKLSAgICAgICAg
J2l0ZW1zJzogeyd0ZXN0aGFybmVzcyc6IHsndGVzdDEnOiBbKCd0ZXN0MScsIHsidGltZW91dCI6
ICJsb25nIn0pXX19LAotICAgICAgICAncGF0aHMnOiB7J3Rlc3QxJzogKCcxMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMTExMTExMTExMTExJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAndGVzdGhhcm5lc3MnKX0sCisgICAgICAgICdpdGVtcyc6IHsndGVzdGhhcm5lc3MnOiB7J3Rl
c3QxJzogWworICAgICAgICAgICAgIjEiKjQwLAorICAgICAgICAgICAgKE5vbmUsIHsndGltZW91
dCc6ICdsb25nJ30pCisgICAgICAgIF19fSwKICAgICAgICAgJ3VybF9iYXNlJzogJy8nLAotICAg
ICAgICAndmVyc2lvbic6IDcKKyAgICAgICAgJ3ZlcnNpb24nOiA4CiAgICAgfQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9tYW5p
ZmVzdC90ZXN0cy90ZXN0X3NvdXJjZWZpbGUucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL21hbmlmZXN0L3Rlc3RzL3Rlc3Rfc291cmNlZmlsZS5w
eQppbmRleCAwYTdhMWNhMGI0MWE5YzFiOTVmY2VhMzA5NTRjZWZmNGJjYzc0YWQ4Li44YjBmYjk0
NGVhNTY3NGE3ZDIxYjhkZGFhYzg5MDg1NjRkNDQ0MWJiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL21hbmlmZXN0L3Rlc3RzL3Rl
c3Rfc291cmNlZmlsZS5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL21hbmlmZXN0L3Rlc3RzL3Rlc3Rfc291cmNlZmlsZS5weQpAQCAtNiw2
ICs2LDcgQEAgZnJvbSBzaXggaW1wb3J0IEJ5dGVzSU8KIGZyb20gLi4ubGludC5saW50IGltcG9y
dCBjaGVja19nbG9iYWxfbWV0YWRhdGEKIGZyb20gLi5zb3VyY2VmaWxlIGltcG9ydCBTb3VyY2VG
aWxlLCByZWFkX3NjcmlwdF9tZXRhZGF0YSwganNfbWV0YV9yZSwgcHl0aG9uX21ldGFfcmUKIAor
CiBkZWYgY3JlYXRlKGZpbGVuYW1lLCBjb250ZW50cz1iIiIpOgogICAgIGFzc2VydCBpc2luc3Rh
bmNlKGNvbnRlbnRzLCBieXRlcykKICAgICByZXR1cm4gU291cmNlRmlsZSgiLyIsIGZpbGVuYW1l
LCAiLyIsIGNvbnRlbnRzPWNvbnRlbnRzKQpAQCAtMzYsNiArMzcsNyBAQCBkZWYgaXRlbXMocyk6
CiAgICAgImZvby9yZXNvdXJjZXMvdGVzdC5odG1sIiwKICAgICAiZm9vL3N1cHBvcnQvdGVzdC5o
dG1sIiwKICAgICAiZm9vL2Zvby1tYW51YWwuaHRtbC5oZWFkZXJzIiwKKyAgICAiY3Jhc2h0ZXN0
cy9mb28uaHRtbC5pbmkiLAogICAgICJjc3MvY29tbW9uL3Rlc3QuaHRtbCIsCiAgICAgImNzcy9D
U1MyL2FyY2hpdmUvdGVzdC5odG1sIiwKIF0pCkBAIC0xMDYsOCArMTA4LDggQEAgZGVmIHRlc3Rf
bmFtZV9pc192aXN1YWwocmVsX3BhdGgpOgogICAgICJjc3MyMS9mbG9hdHMvZmxvYXRzLXBsYWNl
bWVudC12ZXJ0aWNhbC0wMDQtcmVmMi54aHQiLAogICAgICJjc3MyMS9ib3gvcnRsLWxpbmVicmVh
ay1ub3RyZWYxLnhodCIsCiAgICAgImNzczIxL2JveC9ydGwtbGluZWJyZWFrLW5vdHJlZjIueGh0
IiwKLSAgICAiMmRjb250ZXh0L2RyYXdpbmctaW1hZ2VzLXRvLXRoZS1jYW52YXMvZHJhd2ltYWdl
X2h0bWxfaW1hZ2VfNV9yZWYuaHRtbCIsCi0gICAgIjJkY29udGV4dC9saW5lLXN0eWxlcy9saW5l
dG9fcmVmLmh0bWwiLAorICAgICJodG1sL2NhbnZhcy9lbGVtZW50L2RyYXdpbmctaW1hZ2VzLXRv
LXRoZS1jYW52YXMvZHJhd2ltYWdlX2h0bWxfaW1hZ2VfNV9yZWYuaHRtbCIsCisgICAgImh0bWwv
Y2FudmFzL2VsZW1lbnQvbGluZS1zdHlsZXMvbGluZXRvX3JlZi5odG1sIiwKICAgICAiaHRtbC9y
ZW5kZXJpbmcvbm9uLXJlcGxhY2VkLWVsZW1lbnRzL3RoZS1maWVsZHNldC1lbGVtZW50LTAvcmVm
Lmh0bWwiCiBdKQogZGVmIHRlc3RfbmFtZV9pc19yZWZlcmVuY2UocmVsX3BhdGgpOgpAQCAtMTIw
LDYgKzEyMiwxNCBAQCBkZWYgdGVzdF9uYW1lX2lzX3JlZmVyZW5jZShyZWxfcGF0aCk6CiAgICAg
YXNzZXJ0IGl0ZW1zKHMpID09IFtdCiAKIAorZGVmIHRlc3RfbmFtZV9pc190ZW50YXRpdmUoKToK
KyAgICBzID0gY3JlYXRlKCJjc3MvY3NzLXVpL2FwcGVhcmFuY2UtcmV2ZXJ0LTAwMS50ZW50YXRp
dmUuaHRtbCIpCisgICAgYXNzZXJ0IHMubmFtZV9pc190ZW50YXRpdmUKKworICAgIHMgPSBjcmVh
dGUoImNzcy9jc3MtdWkvYXBwZWFyYW5jZS1yZXZlcnQtMDAxLmh0bWwiKQorICAgIGFzc2VydCBu
b3Qgcy5uYW1lX2lzX3RlbnRhdGl2ZQorCisKIGRlZiB0ZXN0X3dvcmtlcigpOgogICAgIHMgPSBj
cmVhdGUoImh0bWwvdGVzdC53b3JrZXIuanMiKQogICAgIGFzc2VydCBub3Qgcy5uYW1lX2lzX25v
bl90ZXN0CkBAIC0xNDMsNiArMTUzLDggQEAgZGVmIHRlc3Rfd29ya2VyKCk6CiAgICAgZm9yIGl0
ZW0sIHVybCBpbiB6aXAoaXRlbXMsIGV4cGVjdGVkX3VybHMpOgogICAgICAgICBhc3NlcnQgaXRl
bS51cmwgPT0gdXJsCiAgICAgICAgIGFzc2VydCBpdGVtLnRpbWVvdXQgaXMgTm9uZQorICAgICAg
ICBhc3NlcnQgaXRlbS5xdWljIGlzIE5vbmUKKwogCiBkZWYgdGVzdF93aW5kb3coKToKICAgICBz
ID0gY3JlYXRlKCJodG1sL3Rlc3Qud2luZG93LmpzIikKQEAgLTE2Nyw2ICsxNzksNyBAQCBkZWYg
dGVzdF93aW5kb3coKToKICAgICBmb3IgaXRlbSwgdXJsIGluIHppcChpdGVtcywgZXhwZWN0ZWRf
dXJscyk6CiAgICAgICAgIGFzc2VydCBpdGVtLnVybCA9PSB1cmwKICAgICAgICAgYXNzZXJ0IGl0
ZW0udGltZW91dCBpcyBOb25lCisgICAgICAgIGFzc2VydCBpdGVtLnF1aWMgaXMgTm9uZQogCiAK
IGRlZiB0ZXN0X3dvcmtlcl9sb25nX3RpbWVvdXQoKToKQEAgLTE3NSw3ICsxODgsNyBAQCBpbXBv
cnRTY3JpcHRzKCcvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzJykKIHRlc3QoKSIiIgogCiAgICAg
bWV0YWRhdGEgPSBsaXN0KHJlYWRfc2NyaXB0X21ldGFkYXRhKEJ5dGVzSU8oY29udGVudHMpLCBq
c19tZXRhX3JlKSkKLSAgICBhc3NlcnQgbWV0YWRhdGEgPT0gWyhiInRpbWVvdXQiLCBiImxvbmci
KV0KKyAgICBhc3NlcnQgbWV0YWRhdGEgPT0gWygidGltZW91dCIsICJsb25nIildCiAKICAgICBz
ID0gY3JlYXRlKCJodG1sL3Rlc3Qud29ya2VyLmpzIiwgY29udGVudHM9Y29udGVudHMpCiAgICAg
YXNzZXJ0IHMubmFtZV9pc193b3JrZXIKQEAgLTE5Miw3ICsyMDUsNyBAQCBkZWYgdGVzdF93aW5k
b3dfbG9uZ190aW1lb3V0KCk6CiB0ZXN0KCkiIiIKIAogICAgIG1ldGFkYXRhID0gbGlzdChyZWFk
X3NjcmlwdF9tZXRhZGF0YShCeXRlc0lPKGNvbnRlbnRzKSwganNfbWV0YV9yZSkpCi0gICAgYXNz
ZXJ0IG1ldGFkYXRhID09IFsoYiJ0aW1lb3V0IiwgYiJsb25nIildCisgICAgYXNzZXJ0IG1ldGFk
YXRhID09IFsoInRpbWVvdXQiLCAibG9uZyIpXQogCiAgICAgcyA9IGNyZWF0ZSgiaHRtbC90ZXN0
LndpbmRvdy5qcyIsIGNvbnRlbnRzPWNvbnRlbnRzKQogICAgIGFzc2VydCBzLm5hbWVfaXNfd2lu
ZG93CkBAIC0yMzIsNiArMjQ1LDcgQEAgdGVzdCgpIiIiCiAgICAgZm9yIGl0ZW0sIHVybCBpbiB6
aXAoaXRlbXMsIGV4cGVjdGVkX3VybHMpOgogICAgICAgICBhc3NlcnQgaXRlbS51cmwgPT0gdXJs
CiAgICAgICAgIGFzc2VydCBpdGVtLnRpbWVvdXQgaXMgTm9uZQorICAgICAgICBhc3NlcnQgaXRl
bS5xdWljIGlzIE5vbmUKIAogCiBkZWYgdGVzdF93aW5kb3dfd2l0aF92YXJpYW50cygpOgpAQCAt
MjYyLDYgKzI3Niw3IEBAIHRlc3QoKSIiIgogICAgIGZvciBpdGVtLCB1cmwgaW4gemlwKGl0ZW1z
LCBleHBlY3RlZF91cmxzKToKICAgICAgICAgYXNzZXJ0IGl0ZW0udXJsID09IHVybAogICAgICAg
ICBhc3NlcnQgaXRlbS50aW1lb3V0IGlzIE5vbmUKKyAgICAgICAgYXNzZXJ0IGl0ZW0ucXVpYyBp
cyBOb25lCiAKIAogZGVmIHRlc3RfcHl0aG9uX2xvbmdfdGltZW91dCgpOgpAQCAtMjcxLDcgKzI4
Niw3IEBAIGRlZiB0ZXN0X3B5dGhvbl9sb25nX3RpbWVvdXQoKToKIAogICAgIG1ldGFkYXRhID0g
bGlzdChyZWFkX3NjcmlwdF9tZXRhZGF0YShCeXRlc0lPKGNvbnRlbnRzKSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHl0aG9uX21ldGFfcmUpKQotICAgIGFzc2Vy
dCBtZXRhZGF0YSA9PSBbKGIidGltZW91dCIsIGIibG9uZyIpXQorICAgIGFzc2VydCBtZXRhZGF0
YSA9PSBbKCJ0aW1lb3V0IiwgImxvbmciKV0KIAogICAgIHMgPSBjcmVhdGUoIndlYmRyaXZlci90
ZXN0LnB5IiwgY29udGVudHM9Y29udGVudHMpCiAgICAgYXNzZXJ0IHMubmFtZV9pc193ZWJkcml2
ZXIKQEAgLTMwNiw2ICszMjEsNyBAQCBkZWYgdGVzdF9tdWx0aV9nbG9iYWwoKToKICAgICBmb3Ig
aXRlbSwgdXJsIGluIHppcChpdGVtcywgZXhwZWN0ZWRfdXJscyk6CiAgICAgICAgIGFzc2VydCBp
dGVtLnVybCA9PSB1cmwKICAgICAgICAgYXNzZXJ0IGl0ZW0udGltZW91dCBpcyBOb25lCisgICAg
ICAgIGFzc2VydCBpdGVtLnF1aWMgaXMgTm9uZQogCiAKIGRlZiB0ZXN0X211bHRpX2dsb2JhbF9s
b25nX3RpbWVvdXQoKToKQEAgLTMxNCw3ICszMzAsNyBAQCBpbXBvcnRTY3JpcHRzKCcvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzJykKIHRlc3QoKSIiIgogCiAgICAgbWV0YWRhdGEgPSBsaXN0KHJl
YWRfc2NyaXB0X21ldGFkYXRhKEJ5dGVzSU8oY29udGVudHMpLCBqc19tZXRhX3JlKSkKLSAgICBh
c3NlcnQgbWV0YWRhdGEgPT0gWyhiInRpbWVvdXQiLCBiImxvbmciKV0KKyAgICBhc3NlcnQgbWV0
YWRhdGEgPT0gWygidGltZW91dCIsICJsb25nIildCiAKICAgICBzID0gY3JlYXRlKCJodG1sL3Rl
c3QuYW55LmpzIiwgY29udGVudHM9Y29udGVudHMpCiAgICAgYXNzZXJ0IHMubmFtZV9pc19tdWx0
aV9nbG9iYWwKQEAgLTMyNywyNSArMzQzLDEwIEBAIHRlc3QoKSIiIgogCiAKIEBweXRlc3QubWFy
ay5wYXJhbWV0cml6ZSgiaW5wdXQsZXhwZWN0ZWQiLCBbCi0gICAgKGIiIiwgeyJkZWRpY2F0ZWR3
b3JrZXIiLCAid2luZG93In0pLAotICAgIChiImRlZmF1bHQiLCB7ImRlZGljYXRlZHdvcmtlciIs
ICJ3aW5kb3cifSksCi0gICAgKGIiIWRlZmF1bHQiLCB7fSksCi0gICAgKGIiIWRlZmF1bHQsd2lu
ZG93IiwgeyJ3aW5kb3cifSksCi0gICAgKGIid2luZG93LCFkZWZhdWx0Iiwge30pLAotICAgIChi
IiFkZWZhdWx0LGRlZGljYXRlZHdvcmtlciIsIHsiZGVkaWNhdGVkd29ya2VyIn0pLAotICAgIChi
ImRlZGljYXRlZHdvcmtlciwhZGVmYXVsdCIsIHt9KSwKLSAgICAoYiIhZGVmYXVsdCx3b3JrZXIi
LCB7ImRlZGljYXRlZHdvcmtlciIsICJzZXJ2aWNld29ya2VyIiwgInNoYXJlZHdvcmtlciJ9KSwK
LSAgICAoYiJ3b3JrZXIsIWRlZmF1bHQiLCB7InNlcnZpY2V3b3JrZXIiLCAic2hhcmVkd29ya2Vy
In0pLAotICAgIChiIiFkZWRpY2F0ZWR3b3JrZXIiLCB7IndpbmRvdyJ9KSwKLSAgICAoYiIhd29y
a2VyIiwgeyJ3aW5kb3cifSksCi0gICAgKGIiIXdpbmRvdyIsIHsiZGVkaWNhdGVkd29ya2VyIn0p
LAotICAgIChiIiF3aW5kb3csd29ya2VyIiwgeyJkZWRpY2F0ZWR3b3JrZXIiLCAic2VydmljZXdv
cmtlciIsICJzaGFyZWR3b3JrZXIifSksCi0gICAgKGIid29ya2VyLCFkZWRpY2F0ZWR3b3JrZXIi
LCB7InNlcnZpY2V3b3JrZXIiLCAic2hhcmVkd29ya2VyIiwgIndpbmRvdyJ9KSwKLSAgICAoYiIh
ZGVkaWNhdGVkd29ya2VyLHdvcmtlciIsIHsiZGVkaWNhdGVkd29ya2VyIiwgInNlcnZpY2V3b3Jr
ZXIiLCAic2hhcmVkd29ya2VyIiwgIndpbmRvdyJ9KSwKLSAgICAoYiJ3b3JrZXIsIXNoYXJlZHdv
cmtlciIsIHsiZGVkaWNhdGVkd29ya2VyIiwgInNlcnZpY2V3b3JrZXIiLCAid2luZG93In0pLAot
ICAgIChiIiFzaGFyZWR3b3JrZXIsd29ya2VyIiwgeyJkZWRpY2F0ZWR3b3JrZXIiLCAic2Vydmlj
ZXdvcmtlciIsICJzaGFyZWR3b3JrZXIiLCAid2luZG93In0pLAotICAgIChiInNoYXJlZHdvcmtl
ciIsIHsiZGVkaWNhdGVkd29ya2VyIiwgInNoYXJlZHdvcmtlciIsICJ3aW5kb3cifSksCi0gICAg
KGIic2hhcmVkd29ya2VyLHNlcnZpY2V3b3JrZXIiLCB7ImRlZGljYXRlZHdvcmtlciIsICJzZXJ2
aWNld29ya2VyIiwgInNoYXJlZHdvcmtlciIsICJ3aW5kb3cifSksCisgICAgKGIid2luZG93Iiwg
eyJ3aW5kb3cifSksCisgICAgKGIic2hhcmVkd29ya2VyIiwgeyJzaGFyZWR3b3JrZXIifSksCisg
ICAgKGIic2hhcmVkd29ya2VyLHNlcnZpY2V3b3JrZXIiLCB7InNlcnZpY2V3b3JrZXIiLCAic2hh
cmVkd29ya2VyIn0pLAorICAgIChiIndvcmtlciIsIHsiZGVkaWNhdGVkd29ya2VyIiwgInNlcnZp
Y2V3b3JrZXIiLCAic2hhcmVkd29ya2VyIn0pLAogXSkKIGRlZiB0ZXN0X211bHRpX2dsb2JhbF93
aXRoX2N1c3RvbV9nbG9iYWxzKGlucHV0LCBleHBlY3RlZCk6CiAgICAgY29udGVudHMgPSBiIiIi
Ly8gTUVUQTogZ2xvYmFsPSVzCkBAIC0zODAsMTAgKzM4MSwxMSBAQCB0ZXN0KCkiIiIgJSBpbnB1
dAogICAgICAgICBhc3NlcnQgaXRlbS51cmwgPT0gdXJsCiAgICAgICAgIGFzc2VydCBpdGVtLmpz
c2hlbGwgaXMgRmFsc2UKICAgICAgICAgYXNzZXJ0IGl0ZW0udGltZW91dCBpcyBOb25lCisgICAg
ICAgIGFzc2VydCBpdGVtLnF1aWMgaXMgTm9uZQogCiAKIGRlZiB0ZXN0X211bHRpX2dsb2JhbF93
aXRoX2pzc2hlbGxfZ2xvYmFscygpOgotICAgIGNvbnRlbnRzID0gYiIiIi8vIE1FVEE6IGdsb2Jh
bD1qc3NoZWxsCisgICAgY29udGVudHMgPSBiIiIiLy8gTUVUQTogZ2xvYmFsPXdpbmRvdyxkZWRp
Y2F0ZWR3b3JrZXIsanNzaGVsbAogdGVzdCgpIiIiCiAKICAgICBzID0gY3JlYXRlKCJodG1sL3Rl
c3QuYW55LmpzIiwgY29udGVudHM9Y29udGVudHMpCkBAIC00MTAsNiArNDEyLDcgQEAgdGVzdCgp
IiIiCiAgICAgICAgIGFzc2VydCBpdGVtLnVybCA9PSB1cmwKICAgICAgICAgYXNzZXJ0IGl0ZW0u
anNzaGVsbCA9PSBqc3NoZWxsCiAgICAgICAgIGFzc2VydCBpdGVtLnRpbWVvdXQgaXMgTm9uZQor
ICAgICAgICBhc3NlcnQgaXRlbS5xdWljIGlzIE5vbmUKIAogCiBkZWYgdGVzdF9tdWx0aV9nbG9i
YWxfd2l0aF92YXJpYW50cygpOgpAQCAtNDQ4LDE3ICs0NTEsMTggQEAgdGVzdCgpIiIiCiAgICAg
Zm9yIGl0ZW0sIHVybCBpbiB6aXAoaXRlbXMsIGV4cGVjdGVkX3VybHMpOgogICAgICAgICBhc3Nl
cnQgaXRlbS51cmwgPT0gdXJsCiAgICAgICAgIGFzc2VydCBpdGVtLnRpbWVvdXQgaXMgTm9uZQor
ICAgICAgICBhc3NlcnQgaXRlbS5xdWljIGlzIE5vbmUKIAogCiBAcHl0ZXN0Lm1hcmsucGFyYW1l
dHJpemUoImlucHV0LGV4cGVjdGVkIiwgWwotICAgIChiIiIiLy9NRVRBOiBmb289YmFyXG4iIiIs
IFsoYiJmb28iLCBiImJhciIpXSksCi0gICAgKGIiIiIvLyBNRVRBOiBmb289YmFyXG4iIiIsIFso
YiJmb28iLCBiImJhciIpXSksCi0gICAgKGIiIiIvLyAgTUVUQTogZm9vPWJhclxuIiIiLCBbKGIi
Zm9vIiwgYiJiYXIiKV0pLAorICAgIChiIiIiLy9NRVRBOiBmb289YmFyXG4iIiIsIFsoImZvbyIs
ICJiYXIiKV0pLAorICAgIChiIiIiLy8gTUVUQTogZm9vPWJhclxuIiIiLCBbKCJmb28iLCAiYmFy
IildKSwKKyAgICAoYiIiIi8vICBNRVRBOiBmb289YmFyXG4iIiIsIFsoImZvbyIsICJiYXIiKV0p
LAogICAgIChiIiIiXG4vLyBNRVRBOiBmb289YmFyXG4iIiIsIFtdKSwKICAgICAoYiIiIiAvLyBN
RVRBOiBmb289YmFyXG4iIiIsIFtdKSwKLSAgICAoYiIiIi8vIE1FVEE6IGZvbz1iYXJcbi8vIE1F
VEE6IGJhej1xdXV4XG4iIiIsIFsoYiJmb28iLCBiImJhciIpLCAoYiJiYXoiLCBiInF1dXgiKV0p
LAotICAgIChiIiIiLy8gTUVUQTogZm9vPWJhclxuXG4vLyBNRVRBOiBiYXo9cXV1eFxuIiIiLCBb
KGIiZm9vIiwgYiJiYXIiKV0pLAotICAgIChiIiIiLy8gTUVUQTogZm9vPWJhclxuLy8gU3RhcnQg
b2YgdGhlIHRlc3Rcbi8vIE1FVEE6IGJhej1xdXV4XG4iIiIsIFsoYiJmb28iLCBiImJhciIpXSks
CisgICAgKGIiIiIvLyBNRVRBOiBmb289YmFyXG4vLyBNRVRBOiBiYXo9cXV1eFxuIiIiLCBbKCJm
b28iLCAiYmFyIiksICgiYmF6IiwgInF1dXgiKV0pLAorICAgIChiIiIiLy8gTUVUQTogZm9vPWJh
clxuXG4vLyBNRVRBOiBiYXo9cXV1eFxuIiIiLCBbKCJmb28iLCAiYmFyIildKSwKKyAgICAoYiIi
Ii8vIE1FVEE6IGZvbz1iYXJcbi8vIFN0YXJ0IG9mIHRoZSB0ZXN0XG4vLyBNRVRBOiBiYXo9cXV1
eFxuIiIiLCBbKCJmb28iLCAiYmFyIildKSwKICAgICAoYiIiIi8vIE1FVEE6XG4iIiIsIFtdKSwK
ICAgICAoYiIiIi8vIE1FVEE6IGZvb2JhclxuIiIiLCBbXSksCiBdKQpAQCAtNjU3LDcgKzY2MSwz
NiBAQCBkZWYgdGVzdF9yZWxhdGl2ZV90ZXN0ZHJpdmVyKGV4dCk6CiAKIAogQHB5dGVzdC5tYXJr
LnBhcmFtZXRyaXplKCJleHQiLCBbImh0bSIsICJodG1sIl0pCi1kZWYgdGVzdF9yZWZ0ZXN0X25v
ZGUoZXh0KToKK2RlZiB0ZXN0X3F1aWNfaHRtbChleHQpOgorICAgIGZpbGVuYW1lID0gImh0bWwv
dGVzdC4iICsgZXh0CisKKyAgICBjb250ZW50ID0gYic8bWV0YSBuYW1lPSJxdWljIiBjb250ZW50
PSJ0cnVlIj4nCisgICAgcyA9IGNyZWF0ZShmaWxlbmFtZSwgY29udGVudCkKKyAgICBhc3NlcnQg
cy5xdWljCisKKyAgICBjb250ZW50ID0gYic8bWV0YSBuYW1lPSJxdWljIiBjb250ZW50PSJmYWxz
ZSI+JworICAgIHMgPSBjcmVhdGUoZmlsZW5hbWUsIGNvbnRlbnQpCisgICAgYXNzZXJ0IHMucXVp
YyBpcyBOb25lCisKKworZGVmIHRlc3RfcXVpY19qcygpOgorICAgIGZpbGVuYW1lID0gImh0bWwv
dGVzdC5hbnkuanMiCisKKyAgICBjb250ZW50ID0gYiIvLyBNRVRBOiBxdWljPXRydWUiCisgICAg
cyA9IGNyZWF0ZShmaWxlbmFtZSwgY29udGVudCkKKyAgICBfLCBpdGVtcyA9IHMubWFuaWZlc3Rf
aXRlbXMoKQorICAgIGZvciBpdGVtIGluIGl0ZW1zOgorICAgICAgICBhc3NlcnQgaXRlbS5xdWlj
CisKKyAgICBjb250ZW50ID0gYiIvLyBNRVRBOiBxdWljPWZhbHNlIgorICAgIHMgPSBjcmVhdGUo
ZmlsZW5hbWUsIGNvbnRlbnQpCisgICAgXywgaXRlbXMgPSBzLm1hbmlmZXN0X2l0ZW1zKCkKKyAg
ICBmb3IgaXRlbSBpbiBpdGVtczoKKyAgICAgICAgYXNzZXJ0IGl0ZW0ucXVpYyBpcyBOb25lCisK
KworQHB5dGVzdC5tYXJrLnBhcmFtZXRyaXplKCJleHQiLCBbImh0bSIsICJodG1sIl0pCitkZWYg
dGVzdF9yZWZ0ZXN0KGV4dCk6CiAgICAgY29udGVudCA9IGIiPGxpbmsgcmVsPW1hdGNoIGhyZWY9
cmVmLmh0bWw+IgogCiAgICAgZmlsZW5hbWUgPSAiZm9vL3Rlc3QuIiArIGV4dApAQCAtNjczLDcg
KzcwNiw3IEBAIGRlZiB0ZXN0X3JlZnRlc3Rfbm9kZShleHQpOgogCiAgICAgYXNzZXJ0IHMuY29u
dGVudF9pc19yZWZfbm9kZQogCi0gICAgYXNzZXJ0IGl0ZW1zKHMpID09IFsoInJlZnRlc3Rfbm9k
ZSIsICIvIiArIGZpbGVuYW1lKV0KKyAgICBhc3NlcnQgaXRlbXMocykgPT0gWygicmVmdGVzdCIs
ICIvIiArIGZpbGVuYW1lKV0KIAogCiBAcHl0ZXN0Lm1hcmsucGFyYW1ldHJpemUoImV4dCIsIFsi
eGh0IiwgImh0bWwiLCAieGh0bWwiLCAiaHRtIiwgInhtbCIsICJzdmciXSkKQEAgLTgzMSw0ICs4
NjQsNCBAQCBkZWYgdGVzdF9yZWZ0ZXN0X2Z1enp5X211bHRpKGZ1enp5LCBleHBlY3RlZCk6CiAK
IGRlZiB0ZXN0X2hhc2goKToKICAgICBzID0gU291cmNlRmlsZSgiLyIsICJmb28iLCAiLyIsIGNv
bnRlbnRzPWIiSGVsbG8sIFdvcmxkISIpCi0gICAgYXNzZXJ0IGIiYjQ1ZWY2ZmVjODk1MThkMzE0
ZjU0NmZkNmMzMDI1MzY3YjcyMTY4NCIgPT0gcy5oYXNoCisgICAgYXNzZXJ0ICJiNDVlZjZmZWM4
OTUxOGQzMTRmNTQ2ZmQ2YzMwMjUzNjdiNzIxNjg0IiA9PSBzLmhhc2gKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbWFuaWZlc3Qv
dHlwZWRhdGEucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL21hbmlmZXN0L3R5cGVkYXRhLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzYTA0MWU1NGMzZTI0MGUy
NmRiODNjMThhMWY1ODllMDVjZGM4NTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL21hbmlmZXN0L3R5cGVkYXRhLnB5
CkBAIC0wLDAgKzEsMzQyIEBACitmcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBNdXRhYmxlTWFwcGlu
ZworCitmcm9tIHNpeCBpbXBvcnQgaXRlcnZhbHVlcywgaXRlcml0ZW1zCisKKworTVlQWSA9IEZh
bHNlCitpZiBNWVBZOgorICAgICMgTVlQWSBpcyBzZXQgdG8gVHJ1ZSB3aGVuIHJ1biB1bmRlciBN
eXB5LgorICAgIGZyb20gdHlwaW5nIGltcG9ydCBBbnkKKyAgICBmcm9tIHR5cGluZyBpbXBvcnQg
RGljdAorICAgIGZyb20gdHlwaW5nIGltcG9ydCBJdGVyYXRvcgorICAgIGZyb20gdHlwaW5nIGlt
cG9ydCBMaXN0CisgICAgZnJvbSB0eXBpbmcgaW1wb3J0IE9wdGlvbmFsCisgICAgZnJvbSB0eXBp
bmcgaW1wb3J0IFNldAorICAgIGZyb20gdHlwaW5nIGltcG9ydCBUZXh0CisgICAgZnJvbSB0eXBp
bmcgaW1wb3J0IFR1cGxlCisgICAgZnJvbSB0eXBpbmcgaW1wb3J0IFR5cGUKKyAgICBmcm9tIHR5
cGluZyBpbXBvcnQgVW5pb24KKworICAgICMgYXZvaWQgYWN0dWFsbHkgaW1wb3J0aW5nIHRoZXNl
LCB0aGV5J3JlIG9ubHkgdXNlZCBieSB0eXBlIGNvbW1lbnRzCisgICAgZnJvbSAuIGltcG9ydCBp
dGVtCisgICAgZnJvbSAuIGltcG9ydCBtYW5pZmVzdAorCisKK2lmIE1ZUFk6CisgICAgVHlwZURh
dGFUeXBlID0gTXV0YWJsZU1hcHBpbmdbVHVwbGVbVGV4dCwgLi4uXSwgU2V0W2l0ZW0uTWFuaWZl
c3RJdGVtXV0KKyAgICBQYXRoSGFzaFR5cGUgPSBNdXRhYmxlTWFwcGluZ1tUdXBsZVtUZXh0LCAu
Li5dLCBUZXh0XQorZWxzZToKKyAgICBUeXBlRGF0YVR5cGUgPSBNdXRhYmxlTWFwcGluZworICAg
IFBhdGhIYXNoVHlwZSA9IE11dGFibGVNYXBwaW5nCisKKworY2xhc3MgVHlwZURhdGEoVHlwZURh
dGFUeXBlKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbSwgdHlwZV9jbHMpOgorICAgICAgICAj
IHR5cGU6IChtYW5pZmVzdC5NYW5pZmVzdCwgVHlwZVtpdGVtLk1hbmlmZXN0SXRlbV0pIC0+IE5v
bmUKKyAgICAgICAgIiIiRGljdC1saWtlIG9iamVjdCBjb250YWluaW5nIHRoZSBUZXN0SXRlbXMg
Zm9yIGVhY2ggdGVzdCB0eXBlLgorCisgICAgICAgIExvYWRpbmcgYW4gYWN0dWFsIEl0ZW0gY2xh
c3MgZm9yIGVhY2ggdGVzdCBpcyB1bm5lY2Vzc2FyaWx5CisgICAgICAgIHNsb3csIHNvIHRoaXMg
Y2xhc3MgYWxsb3dzIGxhenktbG9hZGluZyBvZiB0aGUgdGVzdAorICAgICAgICBpdGVtcy4gV2hl
biB0aGUgbWFuaWZlc3QgaXMgbG9hZGVkIHdlIHN0b3JlIHRoZSByYXcganNvbgorICAgICAgICBj
b3JyZXNwb25kaW5nIHRvIHRoZSB0ZXN0IHR5cGUsIGFuZCBvbmx5IGNyZWF0ZSBhbiBJdGVtCisg
ICAgICAgIHN1YmNsYXNzIHdoZW4gdGhlIHRlc3QgaXMgYWNjZXNzZWQuIEluIG9yZGVyIHRvIHJl
bWFpbgorICAgICAgICBBUEktY29tcGF0aWJsZSB3aXRoIGNvbnN1bWVycyB0aGF0IGRlcGVuZCBv
biBnZXR0aW5nIGFuIEl0ZW0KKyAgICAgICAgZnJvbSBpdGVyYXRpb24sIHdlIGRvIGVnZXJseSBs
b2FkIGFsbCBpdGVtcyB3aGVuIGl0ZXJhdGluZworICAgICAgICBvdmVyIHRoZSBjbGFzcy4iIiIK
KyAgICAgICAgc2VsZi5fbWFuaWZlc3QgPSBtCisgICAgICAgIHNlbGYuX3R5cGVfY2xzID0gdHlw
ZV9jbHMgICMgdHlwZTogVHlwZVtpdGVtLk1hbmlmZXN0SXRlbV0KKyAgICAgICAgc2VsZi5fanNv
bl9kYXRhID0ge30gICMgdHlwZTogRGljdFtUZXh0LCBBbnldCisgICAgICAgIHNlbGYuX2RhdGEg
PSB7fSAgIyB0eXBlOiBEaWN0W1RleHQsIEFueV0KKyAgICAgICAgc2VsZi5faGFzaGVzID0ge30g
ICMgdHlwZTogRGljdFtUdXBsZVtUZXh0LCAuLi5dLCBUZXh0XQorICAgICAgICBzZWxmLmhhc2hl
cyA9IFBhdGhIYXNoKHNlbGYpCisKKyAgICBkZWYgX2RlbGV0ZV9ub2RlKHNlbGYsIGRhdGEsIGtl
eSk6CisgICAgICAgICMgdHlwZTogKERpY3RbVGV4dCwgQW55XSwgVHVwbGVbVGV4dCwgLi4uXSkg
LT4gTm9uZQorICAgICAgICAiIiJkZWxldGUgYSBwYXRoIGZyb20gYSBEaWN0IGRhdGEgd2l0aCBh
IGdpdmVuIGtleSIiIgorICAgICAgICBwYXRoID0gW10KKyAgICAgICAgbm9kZSA9IGRhdGEKKyAg
ICAgICAgZm9yIHBhdGhzZWcgaW4ga2V5WzotMV06CisgICAgICAgICAgICBwYXRoLmFwcGVuZCgo
bm9kZSwgcGF0aHNlZykpCisgICAgICAgICAgICBub2RlID0gbm9kZVtwYXRoc2VnXQorICAgICAg
ICAgICAgaWYgbm90IGlzaW5zdGFuY2Uobm9kZSwgZGljdCk6CisgICAgICAgICAgICAgICAgcmFp
c2UgS2V5RXJyb3Ioa2V5KQorCisgICAgICAgIGRlbCBub2RlW2tleVstMV1dCisgICAgICAgIHdo
aWxlIHBhdGg6CisgICAgICAgICAgICBub2RlLCBwYXRoc2VnID0gcGF0aC5wb3AoKQorICAgICAg
ICAgICAgaWYgbGVuKG5vZGVbcGF0aHNlZ10pID09IDA6CisgICAgICAgICAgICAgICAgZGVsIG5v
ZGVbcGF0aHNlZ10KKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgYnJlYWsKKwor
ICAgIGRlZiBfX2dldGl0ZW1fXyhzZWxmLCBrZXkpOgorICAgICAgICAjIHR5cGU6IChUdXBsZVtU
ZXh0LCAuLi5dKSAtPiBTZXRbaXRlbS5NYW5pZmVzdEl0ZW1dCisgICAgICAgIG5vZGUgPSBzZWxm
Ll9kYXRhICAjIHR5cGU6IFVuaW9uW0RpY3RbVGV4dCwgQW55XSwgU2V0W2l0ZW0uTWFuaWZlc3RJ
dGVtXSwgTGlzdFtBbnldXQorICAgICAgICBmb3IgcGF0aHNlZyBpbiBrZXk6CisgICAgICAgICAg
ICBpZiBpc2luc3RhbmNlKG5vZGUsIGRpY3QpIGFuZCBwYXRoc2VnIGluIG5vZGU6CisgICAgICAg
ICAgICAgICAgbm9kZSA9IG5vZGVbcGF0aHNlZ10KKyAgICAgICAgICAgIGVsc2U6CisgICAgICAg
ICAgICAgICAgYnJlYWsKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGlmIGlzaW5zdGFuY2Uo
bm9kZSwgc2V0KToKKyAgICAgICAgICAgICAgICByZXR1cm4gbm9kZQorICAgICAgICAgICAgZWxz
ZToKKyAgICAgICAgICAgICAgICByYWlzZSBLZXlFcnJvcihrZXkpCisKKyAgICAgICAgbm9kZSA9
IHNlbGYuX2pzb25fZGF0YQorICAgICAgICBmb3VuZCA9IEZhbHNlCisgICAgICAgIGZvciBwYXRo
c2VnIGluIGtleToKKyAgICAgICAgICAgIGlmIGlzaW5zdGFuY2Uobm9kZSwgZGljdCkgYW5kIHBh
dGhzZWcgaW4gbm9kZToKKyAgICAgICAgICAgICAgICBub2RlID0gbm9kZVtwYXRoc2VnXQorICAg
ICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICBlbHNlOgorICAg
ICAgICAgICAgZm91bmQgPSBUcnVlCisKKyAgICAgICAgaWYgbm90IGZvdW5kOgorICAgICAgICAg
ICAgcmFpc2UgS2V5RXJyb3Ioa2V5KQorCisgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKG5vZGUs
IGxpc3QpOgorICAgICAgICAgICAgcmFpc2UgS2V5RXJyb3Ioa2V5KQorCisgICAgICAgIHNlbGYu
X2hhc2hlc1trZXldID0gbm9kZVswXQorCisgICAgICAgIGRhdGEgPSBzZXQoKQorICAgICAgICBw
YXRoID0gIi8iLmpvaW4oa2V5KQorICAgICAgICBmb3IgdGVzdCBpbiBub2RlWzE6XToKKyAgICAg
ICAgICAgIG1hbmlmZXN0X2l0ZW0gPSBzZWxmLl90eXBlX2Nscy5mcm9tX2pzb24oc2VsZi5fbWFu
aWZlc3QsIHBhdGgsIHRlc3QpCisgICAgICAgICAgICBkYXRhLmFkZChtYW5pZmVzdF9pdGVtKQor
CisgICAgICAgIG5vZGUgPSBzZWxmLl9kYXRhCisgICAgICAgIGFzc2VydCBpc2luc3RhbmNlKG5v
ZGUsIGRpY3QpCisgICAgICAgIGZvciBwYXRoc2VnIGluIGtleVs6LTFdOgorICAgICAgICAgICAg
bm9kZSA9IG5vZGUuc2V0ZGVmYXVsdChwYXRoc2VnLCB7fSkKKyAgICAgICAgICAgIGFzc2VydCBp
c2luc3RhbmNlKG5vZGUsIGRpY3QpCisgICAgICAgIGFzc2VydCBrZXlbLTFdIG5vdCBpbiBub2Rl
CisgICAgICAgIG5vZGVba2V5Wy0xXV0gPSBkYXRhCisKKyAgICAgICAgc2VsZi5fZGVsZXRlX25v
ZGUoc2VsZi5fanNvbl9kYXRhLCBrZXkpCisKKyAgICAgICAgcmV0dXJuIGRhdGEKKworICAgIGRl
ZiBfX3NldGl0ZW1fXyhzZWxmLCBrZXksIHZhbHVlKToKKyAgICAgICAgIyB0eXBlOiAoVHVwbGVb
VGV4dCwgLi4uXSwgU2V0W2l0ZW0uTWFuaWZlc3RJdGVtXSkgLT4gTm9uZQorICAgICAgICB0cnk6
CisgICAgICAgICAgICBzZWxmLl9kZWxldGVfbm9kZShzZWxmLl9qc29uX2RhdGEsIGtleSkKKyAg
ICAgICAgZXhjZXB0IEtleUVycm9yOgorICAgICAgICAgICAgcGFzcworCisgICAgICAgIG5vZGUg
PSBzZWxmLl9kYXRhCisgICAgICAgIGZvciBpLCBwYXRoc2VnIGluIGVudW1lcmF0ZShrZXlbOi0x
XSk6CisgICAgICAgICAgICBub2RlID0gbm9kZS5zZXRkZWZhdWx0KHBhdGhzZWcsIHt9KQorICAg
ICAgICAgICAgaWYgbm90IGlzaW5zdGFuY2Uobm9kZSwgZGljdCk6CisgICAgICAgICAgICAgICAg
cmFpc2UgS2V5RXJyb3IoIiVyIGlzIGEgY2hpbGQgb2YgYSB0ZXN0ICglcikiICUgKGtleSwga2V5
WzppKzFdKSkKKyAgICAgICAgbm9kZVtrZXlbLTFdXSA9IHZhbHVlCisKKyAgICBkZWYgX19kZWxp
dGVtX18oc2VsZiwga2V5KToKKyAgICAgICAgIyB0eXBlOiAoVHVwbGVbVGV4dCwgLi4uXSkgLT4g
Tm9uZQorICAgICAgICB0cnk6CisgICAgICAgICAgICBzZWxmLl9kZWxldGVfbm9kZShzZWxmLl9k
YXRhLCBrZXkpCisgICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKKyAgICAgICAgICAgIHNlbGYuX2Rl
bGV0ZV9ub2RlKHNlbGYuX2pzb25fZGF0YSwga2V5KQorICAgICAgICBlbHNlOgorICAgICAgICAg
ICAgdHJ5OgorICAgICAgICAgICAgICAgIGRlbCBzZWxmLl9oYXNoZXNba2V5XQorICAgICAgICAg
ICAgZXhjZXB0IEtleUVycm9yOgorICAgICAgICAgICAgICAgIHBhc3MKKworICAgIGRlZiBfX2l0
ZXJfXyhzZWxmKToKKyAgICAgICAgIyB0eXBlOiAoKSAtPiBJdGVyYXRvcltUdXBsZVtUZXh0LCAu
Li5dXQorICAgICAgICAiIiJJdGVyYXRvciBvdmVyIGtleXMgaW4gdGhlIFR5cGVEYXRhIGluIGNv
ZGVwb2ludCBvcmRlciIiIgorICAgICAgICBkYXRhX25vZGUgPSBzZWxmLl9kYXRhICAjIHR5cGU6
IE9wdGlvbmFsW0RpY3RbVGV4dCwgQW55XV0KKyAgICAgICAganNvbl9ub2RlID0gc2VsZi5fanNv
bl9kYXRhICAjIHR5cGU6IE9wdGlvbmFsW0RpY3RbVGV4dCwgQW55XV0KKyAgICAgICAgcGF0aCA9
IHR1cGxlKCkgICMgdHlwZTogVHVwbGVbVGV4dCwgLi4uXQorICAgICAgICBzdGFjayA9IFsoZGF0
YV9ub2RlLCBqc29uX25vZGUsIHBhdGgpXQorICAgICAgICB3aGlsZSBzdGFjazoKKyAgICAgICAg
ICAgIGRhdGFfbm9kZSwganNvbl9ub2RlLCBwYXRoID0gc3RhY2sucG9wKCkKKyAgICAgICAgICAg
IGlmIGlzaW5zdGFuY2UoZGF0YV9ub2RlLCBzZXQpIG9yIGlzaW5zdGFuY2UoanNvbl9ub2RlLCBs
aXN0KToKKyAgICAgICAgICAgICAgICBhc3NlcnQgZGF0YV9ub2RlIGlzIE5vbmUgb3IganNvbl9u
b2RlIGlzIE5vbmUKKyAgICAgICAgICAgICAgICB5aWVsZCBwYXRoCisgICAgICAgICAgICBlbHNl
OgorICAgICAgICAgICAgICAgIGFzc2VydCBkYXRhX25vZGUgaXMgTm9uZSBvciBpc2luc3RhbmNl
KGRhdGFfbm9kZSwgZGljdCkKKyAgICAgICAgICAgICAgICBhc3NlcnQganNvbl9ub2RlIGlzIE5v
bmUgb3IgaXNpbnN0YW5jZShqc29uX25vZGUsIGRpY3QpCisKKyAgICAgICAgICAgICAgICBrZXlz
ID0gc2V0KCkgICMgdHlwZTogU2V0W1RleHRdCisgICAgICAgICAgICAgICAgaWYgZGF0YV9ub2Rl
IGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgICAgICBrZXlzIHw9IHNldChpdGVyKGRhdGFf
bm9kZSkpCisgICAgICAgICAgICAgICAgaWYganNvbl9ub2RlIGlzIG5vdCBOb25lOgorICAgICAg
ICAgICAgICAgICAgICBrZXlzIHw9IHNldChpdGVyKGpzb25fbm9kZSkpCisKKyAgICAgICAgICAg
ICAgICBmb3Iga2V5IGluIHNvcnRlZChrZXlzLCByZXZlcnNlPVRydWUpOgorICAgICAgICAgICAg
ICAgICAgICBzdGFjay5hcHBlbmQoKGRhdGFfbm9kZS5nZXQoa2V5KSBpZiBkYXRhX25vZGUgaXMg
bm90IE5vbmUgZWxzZSBOb25lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpz
b25fbm9kZS5nZXQoa2V5KSBpZiBqc29uX25vZGUgaXMgbm90IE5vbmUgZWxzZSBOb25lLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGggKyAoa2V5LCkpKQorCisgICAgZGVm
IF9fbGVuX18oc2VsZik6CisgICAgICAgICMgdHlwZTogKCkgLT4gaW50CisgICAgICAgIGNvdW50
ID0gMAorCisgICAgICAgIHN0YWNrID0gW3NlbGYuX2RhdGFdCisgICAgICAgIHdoaWxlIHN0YWNr
OgorICAgICAgICAgICAgdiA9IHN0YWNrLnBvcCgpCisgICAgICAgICAgICBpZiBpc2luc3RhbmNl
KHYsIHNldCk6CisgICAgICAgICAgICAgICAgY291bnQgKz0gMQorICAgICAgICAgICAgZWxzZToK
KyAgICAgICAgICAgICAgICBzdGFjay5leHRlbmQoaXRlcnZhbHVlcyh2KSkKKworICAgICAgICBz
dGFjayA9IFtzZWxmLl9qc29uX2RhdGFdCisgICAgICAgIHdoaWxlIHN0YWNrOgorICAgICAgICAg
ICAgdiA9IHN0YWNrLnBvcCgpCisgICAgICAgICAgICBpZiBpc2luc3RhbmNlKHYsIGxpc3QpOgor
ICAgICAgICAgICAgICAgIGNvdW50ICs9IDEKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAg
ICAgICAgc3RhY2suZXh0ZW5kKGl0ZXJ2YWx1ZXModikpCisKKyAgICAgICAgcmV0dXJuIGNvdW50
CisKKyAgICBkZWYgX19ub256ZXJvX18oc2VsZik6CisgICAgICAgICMgdHlwZTogKCkgLT4gYm9v
bAorICAgICAgICByZXR1cm4gYm9vbChzZWxmLl9kYXRhKSBvciBib29sKHNlbGYuX2pzb25fZGF0
YSkKKworICAgIF9fYm9vbF9fID0gX19ub256ZXJvX18KKworICAgIGRlZiBfX2NvbnRhaW5zX18o
c2VsZiwga2V5KToKKyAgICAgICAgIyB0eXBlOiAoQW55KSAtPiBib29sCisgICAgICAgICMgd2Ug
cHJvdmlkZSBvdXIgb3duIGltcGwgb2YgdGhpcyB0byBhdm9pZCBjYWxsaW5nIF9fZ2V0aXRlbV9f
IGFuZCBnZW5lcmF0aW5nIGl0ZW1zIGZvcgorICAgICAgICAjIHRob3NlIGluIHNlbGYuX2pzb25f
ZGF0YQorICAgICAgICBub2RlID0gc2VsZi5fZGF0YQorICAgICAgICBmb3IgcGF0aHNlZyBpbiBr
ZXk6CisgICAgICAgICAgICBpZiBwYXRoc2VnIGluIG5vZGU6CisgICAgICAgICAgICAgICAgbm9k
ZSA9IG5vZGVbcGF0aHNlZ10KKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgYnJl
YWsKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiBib29sKGlzaW5zdGFuY2Uobm9k
ZSwgc2V0KSkKKworICAgICAgICBub2RlID0gc2VsZi5fanNvbl9kYXRhCisgICAgICAgIGZvciBw
YXRoc2VnIGluIGtleToKKyAgICAgICAgICAgIGlmIHBhdGhzZWcgaW4gbm9kZToKKyAgICAgICAg
ICAgICAgICBub2RlID0gbm9kZVtwYXRoc2VnXQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAg
ICAgICAgICBicmVhaworICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmV0dXJuIGJvb2woaXNp
bnN0YW5jZShub2RlLCBsaXN0KSkKKworICAgICAgICByZXR1cm4gRmFsc2UKKworICAgIGRlZiBj
bGVhcihzZWxmKToKKyAgICAgICAgIyB0eXBlOiAoKSAtPiBOb25lCisgICAgICAgICMgbXVjaCwg
bXVjaCBzaW1wbGVyL3F1aWNrZXIgdGhhbiB0aGF0IGRlZmluZWQgaW4gTXV0YWJsZU1hcHBpbmcK
KyAgICAgICAgc2VsZi5fanNvbl9kYXRhLmNsZWFyKCkKKyAgICAgICAgc2VsZi5fZGF0YS5jbGVh
cigpCisgICAgICAgIHNlbGYuX2hhc2hlcy5jbGVhcigpCisKKyAgICBkZWYgc2V0X2pzb24oc2Vs
ZiwganNvbl9kYXRhKToKKyAgICAgICAgIyB0eXBlOiAoRGljdFtUZXh0LCBBbnldKSAtPiBOb25l
CisgICAgICAgICIiIlByb3ZpZGUgdGhlIG9iamVjdCB3aXRoIGEgcmF3IEpTT04gYmxvYgorCisg
ICAgICAgIE5vdGUgdGhhdCB0aGlzIG9iamVjdCBncmFwaCBpcyBhc3N1bWVkIHRvIGJlIG93bmVk
IGJ5IHRoZSBUeXBlRGF0YQorICAgICAgICBvYmplY3QgYWZ0ZXIgdGhlIGNhbGwsIHNvIHRoZSBj
YWxsZXIgbXVzdCBub3QgbXV0YXRlIGFueSBwYXJ0IG9mIHRoZQorICAgICAgICBncmFwaC4KKyAg
ICAgICAgIiIiCisgICAgICAgIGlmIHNlbGYuX2pzb25fZGF0YToKKyAgICAgICAgICAgIHJhaXNl
IFZhbHVlRXJyb3IoInNldF9qc29uIGNhbGwgd2hlbiBKU09OIGRhdGEgaXMgbm90IGVtcHR5IikK
KworICAgICAgICBzZWxmLl9qc29uX2RhdGEgPSBqc29uX2RhdGEKKworICAgIGRlZiB0b19qc29u
KHNlbGYpOgorICAgICAgICAjIHR5cGU6ICgpIC0+IERpY3RbVGV4dCwgQW55XQorICAgICAgICAi
IiJDb252ZXJ0IHRoZSBjdXJyZW50IGRhdGEgdG8gSlNPTgorCisgICAgICAgIE5vdGUgdGhhdCB0
aGUgcmV0dXJuZWQgb2JqZWN0IG1heSBjb250YWluIHJlZmVyZW5jZXMgdG8gdGhlIGludGVybmFs
CisgICAgICAgIGRhdGEgc3RydWN0dXJlcywgYW5kIGlzIG9ubHkgZ3VhcmFudGVlZCB0byBiZSB2
YWxpZCB1bnRpbCB0aGUgbmV4dAorICAgICAgICBfX2dldGl0ZW1fXywgX19zZXRpdGVtX18sIF9f
ZGVsaXRlbV9fIGNhbGwsIHNvIHRoZSBjYWxsZXIgbXVzdCBub3QKKyAgICAgICAgbXV0YXRlIGFu
eSBwYXJ0IG9mIHRoZSByZXR1cm5lZCBvYmplY3QgZ3JhcGguCisKKyAgICAgICAgIiIiCisgICAg
ICAgIGpzb25fcnYgPSBzZWxmLl9qc29uX2RhdGEuY29weSgpCisKKyAgICAgICAgZGVmIHNhZmVf
c29ydGVyKGVsZW1lbnQpOgorICAgICAgICAgICAgIyB0eXBlOiAoVHVwbGVbc3RyLHN0cl0pIC0+
IFR1cGxlW3N0cixzdHJdCisgICAgICAgICAgICAiIiIga2V5IGZ1bmN0aW9uIHRvIHNvcnQgbGlz
dHMgd2l0aCBOb25lIHZhbHVlcy4KKworICAgICAgICAgICAgUHl0aG9uMyBpcyBtb3JlIHN0cmlj
dCB0eXBld2lzZS4gQ29tcGFyaW5nIE5vbmUgYW5kIHN0ciBmb3IgZXhhbXBsZSBpcyB2YWxpZAor
ICAgICAgICAgICAgaW4gcHl0aG9uMiBidXQgdGhyb3dzIGFuIGV4Y2VwdGlvbiBpbiBweXRob24z
LgorICAgICAgICAgICAgIiIiCisgICAgICAgICAgICBpZiBlbGVtZW50IGFuZCBub3QgZWxlbWVu
dFswXToKKyAgICAgICAgICAgICAgICByZXR1cm4gKCIiLCBlbGVtZW50WzFdKQorICAgICAgICAg
ICAgZWxzZToKKyAgICAgICAgICAgICAgICByZXR1cm4gZWxlbWVudAorCisgICAgICAgIHN0YWNr
ID0gWyhzZWxmLl9kYXRhLCBqc29uX3J2LCB0dXBsZSgpKV0gICMgdHlwZTogTGlzdFtUdXBsZVtE
aWN0W1RleHQsIEFueV0sIERpY3RbVGV4dCwgQW55XSwgVHVwbGVbVGV4dCwgLi4uXV1dCisgICAg
ICAgIHdoaWxlIHN0YWNrOgorICAgICAgICAgICAgZGF0YV9ub2RlLCBqc29uX25vZGUsIHBhcl9m
dWxsX2tleSA9IHN0YWNrLnBvcCgpCisgICAgICAgICAgICBmb3IgaywgdiBpbiBpdGVyaXRlbXMo
ZGF0YV9ub2RlKToKKyAgICAgICAgICAgICAgICBmdWxsX2tleSA9IHBhcl9mdWxsX2tleSArIChr
LCkKKyAgICAgICAgICAgICAgICBpZiBpc2luc3RhbmNlKHYsIHNldCk6CisgICAgICAgICAgICAg
ICAgICAgIGFzc2VydCBrIG5vdCBpbiBqc29uX25vZGUKKyAgICAgICAgICAgICAgICAgICAganNv
bl9ub2RlW2tdID0gW3NlbGYuX2hhc2hlcy5nZXQoCisgICAgICAgICAgICAgICAgICAgICAgICBm
dWxsX2tleSldICsgW3QgZm9yIHQgaW4gc29ydGVkKCh0ZXN0LnRvX2pzb24oKSBmb3IgdGVzdCBp
biB2KSwga2V5PXNhZmVfc29ydGVyKV0KKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAg
ICAgICAgICAgICBqc29uX25vZGVba10gPSBqc29uX25vZGUuZ2V0KGssIHt9KS5jb3B5KCkKKyAg
ICAgICAgICAgICAgICAgICAgc3RhY2suYXBwZW5kKCh2LCBqc29uX25vZGVba10sIGZ1bGxfa2V5
KSkKKworICAgICAgICByZXR1cm4ganNvbl9ydgorCisKK2NsYXNzIFBhdGhIYXNoKFBhdGhIYXNo
VHlwZSk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGRhdGEpOgorICAgICAgICAjIHR5cGU6IChU
eXBlRGF0YSkgLT4gTm9uZQorICAgICAgICBzZWxmLl9kYXRhID0gZGF0YQorCisgICAgZGVmIF9f
Z2V0aXRlbV9fKHNlbGYsIGspOgorICAgICAgICAjIHR5cGU6IChUdXBsZVtUZXh0LCAuLi5dKSAt
PiBUZXh0CisgICAgICAgIGlmIGsgbm90IGluIHNlbGYuX2RhdGE6CisgICAgICAgICAgICByYWlz
ZSBLZXlFcnJvcgorCisgICAgICAgIGlmIGsgaW4gc2VsZi5fZGF0YS5faGFzaGVzOgorICAgICAg
ICAgICAgcmV0dXJuIHNlbGYuX2RhdGEuX2hhc2hlc1trXQorCisgICAgICAgIG5vZGUgPSBzZWxm
Ll9kYXRhLl9qc29uX2RhdGEKKyAgICAgICAgZm9yIHBhdGhzZWcgaW4gazoKKyAgICAgICAgICAg
IGlmIHBhdGhzZWcgaW4gbm9kZToKKyAgICAgICAgICAgICAgICBub2RlID0gbm9kZVtwYXRoc2Vn
XQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICBlbHNl
OgorICAgICAgICAgICAgcmV0dXJuIG5vZGVbMF0gICMgdHlwZTogaWdub3JlCisKKyAgICAgICAg
YXNzZXJ0IEZhbHNlLCAidW5yZWFjaGFibGUiCisgICAgICAgIHJhaXNlIEtleUVycm9yCisKKyAg
ICBkZWYgX19zZXRpdGVtX18oc2VsZiwgaywgdik6CisgICAgICAgICMgdHlwZTogKFR1cGxlW1Rl
eHQsIC4uLl0sIFRleHQpIC0+IE5vbmUKKyAgICAgICAgaWYgayBub3QgaW4gc2VsZi5fZGF0YToK
KyAgICAgICAgICAgIHJhaXNlIEtleUVycm9yCisKKyAgICAgICAgaWYgayBpbiBzZWxmLl9kYXRh
Ll9oYXNoZXM6CisgICAgICAgICAgICBzZWxmLl9kYXRhLl9oYXNoZXNba10gPSB2CisKKyAgICAg
ICAgbm9kZSA9IHNlbGYuX2RhdGEuX2pzb25fZGF0YQorICAgICAgICBmb3IgcGF0aHNlZyBpbiBr
OgorICAgICAgICAgICAgaWYgcGF0aHNlZyBpbiBub2RlOgorICAgICAgICAgICAgICAgIG5vZGUg
PSBub2RlW3BhdGhzZWddCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGJyZWFr
CisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBub2RlWzBdID0gdiAgIyB0eXBlOiBpZ25vcmUK
KyAgICAgICAgICAgIHJldHVybgorCisgICAgICAgIHNlbGYuX2RhdGEuX2hhc2hlc1trXSA9IHYK
KworICAgIGRlZiBfX2RlbGl0ZW1fXyhzZWxmLCBrKToKKyAgICAgICAgIyB0eXBlOiAoVHVwbGVb
VGV4dCwgLi4uXSkgLT4gTm9uZQorICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJrZXlzIGhlcmUg
bXVzdCBtYXRjaCB1bmRlcmx5aW5nIGRhdGEiKQorCisgICAgZGVmIF9faXRlcl9fKHNlbGYpOgor
ICAgICAgICAjIHR5cGU6ICgpIC0+IEl0ZXJhdG9yW1R1cGxlW1RleHQsIC4uLl1dCisgICAgICAg
IHJldHVybiBpdGVyKHNlbGYuX2RhdGEpCisKKyAgICBkZWYgX19sZW5fXyhzZWxmKToKKyAgICAg
ICAgIyB0eXBlOiAoKSAtPiBpbnQKKyAgICAgICAgcmV0dXJuIGxlbihzZWxmLl9kYXRhKQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9tYW5pZmVzdC91cGRhdGUucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL21hbmlmZXN0L3VwZGF0ZS5weQppbmRleCBiZmJhYWY4OTcxMjZkOGVl
Y2E2OWRjZWY5NGJiMzEzMDg4OTdmZGUyLi4yOTY1MzNhNmJhYmYxNzZlNDUxNGJjZjNmMjllMTYz
ZmRmOWE5ZmRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL21hbmlmZXN0L3VwZGF0ZS5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL21hbmlmZXN0L3VwZGF0ZS5weQpAQCAt
MjYsNyArMjYsOCBAQCBkZWYgdXBkYXRlKHRlc3RzX3Jvb3QsICAjIHR5cGU6IHN0cgogICAgICAg
ICAgICBtYW5pZmVzdF9wYXRoPU5vbmUsICAjIHR5cGU6IE9wdGlvbmFsW3N0cl0KICAgICAgICAg
ICAgd29ya2luZ19jb3B5PVRydWUsICAjIHR5cGU6IGJvb2wKICAgICAgICAgICAgY2FjaGVfcm9v
dD1Ob25lLCAgIyB0eXBlOiBPcHRpb25hbFtzdHJdCi0gICAgICAgICAgIHJlYnVpbGQ9RmFsc2Ug
ICMgdHlwZTogYm9vbAorICAgICAgICAgICByZWJ1aWxkPUZhbHNlLCAgIyB0eXBlOiBib29sCisg
ICAgICAgICAgIHBhcmFsbGVsPVRydWUgICMgdHlwZTogYm9vbAogICAgICAgICAgICApOgogICAg
ICMgdHlwZTogKC4uLikgLT4gYm9vbAogICAgIGxvZ2dlci53YXJuaW5nKCJEZXByZWNhdGVkOyB1
c2UgbWFuaWZlc3QubG9hZF9hbmRfdXBkYXRlIGluc3RlYWQiKQpAQCAtMzQsNyArMzUsNyBAQCBk
ZWYgdXBkYXRlKHRlc3RzX3Jvb3QsICAjIHR5cGU6IHN0cgogCiAgICAgdHJlZSA9IHZjcy5nZXRf
dHJlZSh0ZXN0c19yb290LCBtYW5pZmVzdCwgbWFuaWZlc3RfcGF0aCwgY2FjaGVfcm9vdCwKICAg
ICAgICAgICAgICAgICAgICAgICAgIHdvcmtpbmdfY29weSwgcmVidWlsZCkKLSAgICByZXR1cm4g
bWFuaWZlc3QudXBkYXRlKHRyZWUpCisgICAgcmV0dXJuIG1hbmlmZXN0LnVwZGF0ZSh0cmVlLCBw
YXJhbGxlbCkKIAogCiBkZWYgdXBkYXRlX2Zyb21fY2xpKCoqa3dhcmdzKToKQEAgLTUxLDcgKzUy
LDggQEAgZGVmIHVwZGF0ZV9mcm9tX2NsaSgqKmt3YXJncyk6CiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGt3YXJnc1sidXJsX2Jhc2UiXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdXBkYXRlPVRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYnVpbGQ9a3dh
cmdzWyJyZWJ1aWxkIl0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlX3Jvb3Q9
a3dhcmdzWyJjYWNoZV9yb290Il0pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hl
X3Jvb3Q9a3dhcmdzWyJjYWNoZV9yb290Il0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHBhcmFsbGVsPWt3YXJnc1sicGFyYWxsZWwiXSkKIAogCiBkZWYgYWJzX3BhdGgocGF0aCk6CkBA
IC03OCw2ICs4MCw5IEBAIGRlZiBjcmVhdGVfcGFyc2VyKCk6CiAgICAgcGFyc2VyLmFkZF9hcmd1
bWVudCgKICAgICAgICAgIi0tY2FjaGUtcm9vdCIsIGFjdGlvbj0ic3RvcmUiLCBkZWZhdWx0PW9z
LnBhdGguam9pbih3cHRfcm9vdCwgIi53cHRjYWNoZSIpLAogICAgICAgICBoZWxwPSJQYXRoIGlu
IHdoaWNoIHRvIHN0b3JlIGFueSBjYWNoZXMgKGRlZmF1bHQgPHRlc3RzX3Jvb3Q+Ly53cHRjYWNo
ZS8pIikKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KAorICAgICAgICAiLS1uby1wYXJhbGxlbCIs
IGRlc3Q9InBhcmFsbGVsIiwgYWN0aW9uPSJzdG9yZV9mYWxzZSIsIGRlZmF1bHQ9VHJ1ZSwKKyAg
ICAgICAgaGVscD0iRG8gbm90IHBhcmFsbGVsaXplIGJ1aWxkaW5nIHRoZSBtYW5pZmVzdCIpCiAg
ICAgcmV0dXJuIHBhcnNlcgogCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbWFuaWZlc3QvdXRpbHMucHkgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL21hbmlmZXN0L3V0aWxzLnB5
CmluZGV4IDJlZWQ3OWY0Mjc5ZDBlYzc4YzY5M2Y2MzJiOTZlMzZjZTNjOTZmYTkuLmFlZmMyYzk0
ZjQwZTFhZTI5ZDM2NTdmZTQxMTRmNzlmOTc1NjhiYTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbWFuaWZlc3QvdXRpbHMucHkK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9t
YW5pZmVzdC91dGlscy5weQpAQCAtNTUsMTYgKzU1LDE2IEBAIGRlZiB0b19vc19wYXRoKHBhdGgp
OgogCiAKIGRlZiBnaXQocGF0aCk6Ci0gICAgIyB0eXBlOiAoYnl0ZXMpIC0+IE9wdGlvbmFsW0Nh
bGxhYmxlWy4uLiwgYnl0ZXNdXQorICAgICMgdHlwZTogKGJ5dGVzKSAtPiBPcHRpb25hbFtDYWxs
YWJsZVsuLi4sIFRleHRdXQogICAgIGRlZiBnaXRmdW5jKGNtZCwgKmFyZ3MpOgotICAgICAgICAj
IHR5cGU6IChieXRlcywgKmJ5dGVzKSAtPiBieXRlcworICAgICAgICAjIHR5cGU6IChieXRlcywg
KmJ5dGVzKSAtPiBUZXh0CiAgICAgICAgIGZ1bGxfY21kID0gWyJnaXQiLCBjbWRdICsgbGlzdChh
cmdzKQogICAgICAgICB0cnk6Ci0gICAgICAgICAgICByZXR1cm4gc3VicHJvY2Vzcy5jaGVja19v
dXRwdXQoZnVsbF9jbWQsIGN3ZD1wYXRoLCBzdGRlcnI9c3VicHJvY2Vzcy5TVERPVVQpCisgICAg
ICAgICAgICByZXR1cm4gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoZnVsbF9jbWQsIGN3ZD1wYXRo
LCBzdGRlcnI9c3VicHJvY2Vzcy5TVERPVVQpLmRlY29kZSgndXRmOCcpCiAgICAgICAgIGV4Y2Vw
dCBFeGNlcHRpb24gYXMgZToKICAgICAgICAgICAgIGlmIHBsYXRmb3JtLnVuYW1lKClbMF0gPT0g
IldpbmRvd3MiIGFuZCBpc2luc3RhbmNlKGUsIFdpbmRvd3NFcnJvcik6CiAgICAgICAgICAgICAg
ICAgZnVsbF9jbWRbMF0gPSAiZ2l0LmJhdCIKLSAgICAgICAgICAgICAgICByZXR1cm4gc3VicHJv
Y2Vzcy5jaGVja19vdXRwdXQoZnVsbF9jbWQsIGN3ZD1wYXRoLCBzdGRlcnI9c3VicHJvY2Vzcy5T
VERPVVQpCisgICAgICAgICAgICAgICAgcmV0dXJuIHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KGZ1
bGxfY21kLCBjd2Q9cGF0aCwgc3RkZXJyPXN1YnByb2Nlc3MuU1RET1VUKS5kZWNvZGUoJ3V0Zjgn
KQogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICByYWlzZQogCkBAIC0xMDMsNCAr
MTAzLDUgQEAgY2xhc3MgY2FjaGVkX3Byb3BlcnR5KEdlbmVyaWNbVF0pOgogICAgICAgICAjIHdl
IGNhbiB1bmNvbmRpdGlvbmFsbHkgYXNzaWduIGFzIG5leHQgdGltZSB0aGlzIHdvbid0IGJlIGNh
bGxlZAogICAgICAgICBhc3NlcnQgc2VsZi5uYW1lIG5vdCBpbiBvYmouX19kaWN0X18KICAgICAg
ICAgcnYgPSBvYmouX19kaWN0X19bc2VsZi5uYW1lXSA9IHNlbGYuZnVuYyhvYmopCisgICAgICAg
IG9iai5fX2RpY3RfXy5zZXRkZWZhdWx0KCJfX2NhY2hlZF9wcm9wZXJ0aWVzX18iLCBzZXQoKSku
YWRkKHNlbGYubmFtZSkKICAgICAgICAgcmV0dXJuIHJ2CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL21hbmlmZXN0L3Zjcy5weSBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbWFuaWZl
c3QvdmNzLnB5CmluZGV4IGQ0ZjQ3ZjZiZjBhYjM1YzlkYTUxNGVkYjRjNGI3Nzk2NDRmZjkwZGQu
LjdjMGZlZWI4MTY0Nzk5NzUyNzViMWExYzRkODRmMTIxNWZhYzE0MDYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbWFuaWZlc3Qv
dmNzLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvbWFuaWZlc3QvdmNzLnB5CkBAIC0zMyw3ICszMyw3IEBAIGRlZiBnZXRfdHJlZSh0ZXN0
c19yb290LCBtYW5pZmVzdCwgbWFuaWZlc3RfcGF0aCwgY2FjaGVfcm9vdCwKICAgICAjIHR5cGU6
IChieXRlcywgTWFuaWZlc3QsIE9wdGlvbmFsW2J5dGVzXSwgT3B0aW9uYWxbYnl0ZXNdLCBib29s
LCBib29sKSAtPiBGaWxlU3lzdGVtCiAgICAgdHJlZSA9IE5vbmUKICAgICBpZiBjYWNoZV9yb290
IGlzIE5vbmU6Ci0gICAgICAgIGNhY2hlX3Jvb3QgPSBvcy5wYXRoLmpvaW4odGVzdHNfcm9vdCwg
YiIud3B0Y2FjaGUiKQorICAgICAgICBjYWNoZV9yb290ID0gb3MucGF0aC5qb2luKHRlc3RzX3Jv
b3QsICIud3B0Y2FjaGUiKQogICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhjYWNoZV9yb290KToK
ICAgICAgICAgdHJ5OgogICAgICAgICAgICAgb3MubWFrZWRpcnMoY2FjaGVfcm9vdCkKQEAgLTU4
LDIxICs1OCwyMSBAQCBjbGFzcyBHaXRIYXNoZXIob2JqZWN0KToKICAgICAgICAgc2VsZi5naXQg
PSBnaXQocGF0aCkKIAogICAgIGRlZiBfbG9jYWxfY2hhbmdlcyhzZWxmKToKLSAgICAgICAgIyB0
eXBlOiAoKSAtPiBTZXRbYnl0ZXNdCisgICAgICAgICMgdHlwZTogKCkgLT4gU2V0W1RleHRdCiAg
ICAgICAgICIiImdldCBhIHNldCBvZiBmaWxlcyB3aGljaCBoYXZlIGNoYW5nZWQgYmV0d2VlbiBI
RUFEIGFuZCB3b3JraW5nIGNvcHkiIiIKICAgICAgICAgYXNzZXJ0IHNlbGYuZ2l0IGlzIG5vdCBO
b25lCiAgICAgICAgICMgbm90ZSB0aGF0IGdpdCBydW5zIHRoZSBjb21tYW5kIHdpdGggdGVzdHNf
cm9vdCBhcyB0aGUgY3dkLCB3aGljaCBtYXkKICAgICAgICAgIyBub3QgYmUgdGhlIHJvb3Qgb2Yg
dGhlIGdpdCByZXBvIChlLmcuLCB3aXRoaW4gYSBicm93c2VyIHJlcG8pCi0gICAgICAgIGNtZCA9
IFtiImRpZmYtaW5kZXgiLCBiIi0tcmVsYXRpdmUiLCBiIi0tbm8tcmVuYW1lcyIsIGIiLS1uYW1l
LW9ubHkiLCBiIi16IiwgYiJIRUFEIl0KKyAgICAgICAgY21kID0gWyJkaWZmLWluZGV4IiwgIi0t
cmVsYXRpdmUiLCAiLS1uby1yZW5hbWVzIiwgIi0tbmFtZS1vbmx5IiwgIi16IiwgIkhFQUQiXQog
ICAgICAgICBkYXRhID0gc2VsZi5naXQoKmNtZCkKLSAgICAgICAgcmV0dXJuIHNldChkYXRhLnNw
bGl0KGIiXDAiKSkKKyAgICAgICAgcmV0dXJuIHNldChkYXRhLnNwbGl0KCJcMCIpKQogCiAgICAg
ZGVmIGhhc2hfY2FjaGUoc2VsZik6Ci0gICAgICAgICMgdHlwZTogKCkgLT4gRGljdFtieXRlcywg
T3B0aW9uYWxbYnl0ZXNdXQorICAgICAgICAjIHR5cGU6ICgpIC0+IERpY3RbVGV4dCwgT3B0aW9u
YWxbVGV4dF1dCiAgICAgICAgICIiIgogICAgICAgICBBIGRpY3Qgb2YgcmVsX3BhdGggLT4gY3Vy
cmVudCBnaXQgb2JqZWN0IGlkIGlmIHRoZSB3b3JraW5nIHRyZWUgbWF0Y2hlcyBIRUFEIGVsc2Ug
Tm9uZQogICAgICAgICAiIiIKLSAgICAgICAgaGFzaF9jYWNoZSA9IHt9ICAjIHR5cGU6IERpY3Rb
Ynl0ZXMsIE9wdGlvbmFsW2J5dGVzXV0KKyAgICAgICAgaGFzaF9jYWNoZSA9IHt9ICAjIHR5cGU6
IERpY3RbVGV4dCwgT3B0aW9uYWxbVGV4dF1dCiAKICAgICAgICAgaWYgc2VsZi5naXQgaXMgTm9u
ZToKICAgICAgICAgICAgIHJldHVybiBoYXNoX2NhY2hlCkBAIC04MSw5ICs4MSw5IEBAIGNsYXNz
IEdpdEhhc2hlcihvYmplY3QpOgogICAgICAgICAjIG5vdCBiZSB0aGUgcm9vdCBvZiB0aGUgZ2l0
IHJlcG8gKGUuZy4sIHdpdGhpbiBhIGJyb3dzZXIgcmVwbykKICAgICAgICAgY21kID0gWyJscy10
cmVlIiwgIi1yIiwgIi16IiwgIkhFQUQiXQogICAgICAgICBsb2NhbF9jaGFuZ2VzID0gc2VsZi5f
bG9jYWxfY2hhbmdlcygpCi0gICAgICAgIGZvciByZXN1bHQgaW4gc2VsZi5naXQoKmNtZCkuc3Bs
aXQoYiJcMCIpWzotMV06ICAjIHR5cGU6IGJ5dGVzCi0gICAgICAgICAgICBkYXRhLCByZWxfcGF0
aCA9IHJlc3VsdC5yc3BsaXQoYiJcdCIsIDEpCi0gICAgICAgICAgICBoYXNoX2NhY2hlW3JlbF9w
YXRoXSA9IE5vbmUgaWYgcmVsX3BhdGggaW4gbG9jYWxfY2hhbmdlcyBlbHNlIGRhdGEuc3BsaXQo
YiIgIiwgMylbMl0KKyAgICAgICAgZm9yIHJlc3VsdCBpbiBzZWxmLmdpdCgqY21kKS5zcGxpdCgi
XDAiKVs6LTFdOiAgIyB0eXBlOiBUZXh0CisgICAgICAgICAgICBkYXRhLCByZWxfcGF0aCA9IHJl
c3VsdC5yc3BsaXQoIlx0IiwgMSkKKyAgICAgICAgICAgIGhhc2hfY2FjaGVbcmVsX3BhdGhdID0g
Tm9uZSBpZiByZWxfcGF0aCBpbiBsb2NhbF9jaGFuZ2VzIGVsc2UgZGF0YS5zcGxpdCgiICIsIDMp
WzJdCiAKICAgICAgICAgcmV0dXJuIGhhc2hfY2FjaGUKIApAQCAtMTc0LDcgKzE3NCw3IEBAIGNs
YXNzIENhY2hlRmlsZSh3aXRoX21ldGFjbGFzcyhhYmMuQUJDTWV0YSkpOgogCiAKIGNsYXNzIE10
aW1lQ2FjaGUoQ2FjaGVGaWxlKToKLSAgICBmaWxlX25hbWUgPSBiIm10aW1lLmpzb24iCisgICAg
ZmlsZV9uYW1lID0gIm10aW1lLmpzb24iCiAKICAgICBkZWYgX19pbml0X18oc2VsZiwgY2FjaGVf
cm9vdCwgdGVzdHNfcm9vdCwgbWFuaWZlc3RfcGF0aCwgcmVidWlsZD1GYWxzZSk6CiAgICAgICAg
ICMgdHlwZTogKGJ5dGVzLCBieXRlcywgYnl0ZXMsIGJvb2wpIC0+IE5vbmUKQEAgLTIyMiwxNiAr
MjIyLDE2IEBAIGNsYXNzIE10aW1lQ2FjaGUoQ2FjaGVGaWxlKToKIAogCiBjbGFzcyBHaXRJZ25v
cmVDYWNoZShDYWNoZUZpbGUsIE11dGFibGVNYXBwaW5nKTogICMgdHlwZTogaWdub3JlCi0gICAg
ZmlsZV9uYW1lID0gYiJnaXRpZ25vcmUuanNvbiIKKyAgICBmaWxlX25hbWUgPSAiZ2l0aWdub3Jl
Lmpzb24iCiAKICAgICBkZWYgY2hlY2tfdmFsaWQoc2VsZiwgZGF0YSk6CiAgICAgICAgICMgdHlw
ZTogKERpY3RbQW55LCBBbnldKSAtPiBEaWN0W0FueSwgQW55XQotICAgICAgICBpZ25vcmVfcGF0
aCA9IG9zLnBhdGguam9pbihzZWxmLnRlc3RzX3Jvb3QsIGIiLmdpdGlnbm9yZSIpCisgICAgICAg
IGlnbm9yZV9wYXRoID0gb3MucGF0aC5qb2luKHNlbGYudGVzdHNfcm9vdCwgIi5naXRpZ25vcmUi
KQogICAgICAgICBtdGltZSA9IG9zLnBhdGguZ2V0bXRpbWUoaWdub3JlX3BhdGgpCi0gICAgICAg
IGlmIGRhdGEuZ2V0KGIiL2dpdGlnbm9yZV9maWxlIikgIT0gW2lnbm9yZV9wYXRoLCBtdGltZV06
CisgICAgICAgIGlmIGRhdGEuZ2V0KCIvZ2l0aWdub3JlX2ZpbGUiKSAhPSBbaWdub3JlX3BhdGgs
IG10aW1lXToKICAgICAgICAgICAgIHNlbGYubW9kaWZpZWQgPSBUcnVlCiAgICAgICAgICAgICBk
YXRhID0ge30KLSAgICAgICAgICAgIGRhdGFbYiIvZ2l0aWdub3JlX2ZpbGUiXSA9IFtpZ25vcmVf
cGF0aCwgbXRpbWVdCisgICAgICAgICAgICBkYXRhWyIvZ2l0aWdub3JlX2ZpbGUiXSA9IFtpZ25v
cmVfcGF0aCwgbXRpbWVdCiAgICAgICAgIHJldHVybiBkYXRhCiAKICAgICBkZWYgX19jb250YWlu
c19fKHNlbGYsIGtleSk6CkBAIC0yODYsNyArMjg2LDcgQEAgZGVmIHdhbGsocm9vdCk6CiAgICAg
cmVscGF0aCA9IG9zLnBhdGgucmVscGF0aAogCiAgICAgcm9vdCA9IG9zLnBhdGguYWJzcGF0aChy
b290KQotICAgIHN0YWNrID0gZGVxdWUoWyhyb290LCBiIiIpXSkKKyAgICBzdGFjayA9IGRlcXVl
KFsocm9vdCwgIiIpXSkKIAogICAgIHdoaWxlIHN0YWNrOgogICAgICAgICBkaXJfcGF0aCwgcmVs
X3BhdGggPSBzdGFjay5wb3BsZWZ0KCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbWFuaWZlc3QvdzNjLWltcG9ydC5sb2cgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL21hbmlmZXN0
L3czYy1pbXBvcnQubG9nCmluZGV4IGEwMTU0MjY4N2IxYTAxNmRmYjQ3NTI1ZTBhZTJlZDRhYTJi
MjE3ZjguLjM4OGZiYjExZWQ5ZDhkYTAxNDNmODJlZGMwMmQxMGM5NzliZTM3MmQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbWFu
aWZlc3QvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy9tYW5pZmVzdC93M2MtaW1wb3J0LmxvZwpAQCAtMjMsNiArMjMs
NyBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvbWFuaWZlc3QvbWFuaWZlc3QucHkKIC9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL21hbmlmZXN0L3NvdXJjZWZpbGUucHkKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL21hbmlmZXN0
L3Rlc3RwYXRocy5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvbWFuaWZlc3QvdHlwZWRhdGEucHkKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL21hbmlmZXN0L3VwZGF0ZS5weQogL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvbWFuaWZlc3QvdXRpbHMucHkK
IC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL21hbmlm
ZXN0L3Zjcy5weQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy9teXB5LmluaSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvbXlweS5pbmkKaW5kZXggYWM4ZWRkMzdkM2FjMjkwNDEzM2Ex
MmVlOWU3NTUwZGQ1YTQ4NzIzOC4uYjk0M2I2ZDA4OWE0YjhmODFlOWI2ZTIzYzc2ODgwZmI5M2Nm
NjY1YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy9teXB5LmluaQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL215cHkuaW5pCkBAIC0xLDEyICsxLDEzIEBACiBbbXlweV0KICNj
aGVja191bnR5cGVkX2RlZnMgPSBUcnVlCi1kaXNhbGxvd191bnR5cGVkX2RlZnMgPSBUcnVlCiBk
aXNhbGxvd19hbnlfZ2VuZXJpY3MgPSBUcnVlCiBkaXNhbGxvd19pbmNvbXBsZXRlX2RlZnMgPSBU
cnVlCiBkaXNhbGxvd19zdWJjbGFzc2luZ19hbnkgPSBUcnVlCiBkaXNhbGxvd191bnR5cGVkX2Nh
bGxzID0gVHJ1ZQogZGlzYWxsb3dfdW50eXBlZF9kZWNvcmF0b3JzID0gVHJ1ZQorZGlzYWxsb3df
dW50eXBlZF9kZWZzID0gVHJ1ZQogbm9faW1wbGljaXRfb3B0aW9uYWwgPSBUcnVlCitzdHJpY3Rf
ZXF1YWxpdHkgPSBUcnVlCiB3YXJuX3JlZHVuZGFudF9jYXN0cyA9IFRydWUKIHdhcm5fcmV0dXJu
X2FueSA9IFRydWUKIHdhcm5fdW51c2VkX2NvbmZpZ3MgPSBUcnVlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5MjctZmxha2U4
LmluaSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
cHkyNy1mbGFrZTguaW5pCmluZGV4IDk5MzI0YjJhYWQxNGQ5MjFmNDY5ZjUyOTM0ZjdmZjkzNzRh
MWQ5ZWUuLmRkNmNlYjZmZWE0Yjk3M2MwMTI0ZGY0MzgyZjlmMWEzYTlkNWEwZDIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHky
Ny1mbGFrZTguaW5pCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvcHkyNy1mbGFrZTguaW5pCkBAIC0yMiw2ICsyMiw3IEBAIGlnbm9yZSA9IEUx
MjgsRTEyOSxFMjI2LEUyMzEsRTI1MSxFMjY1LEUzMDIsRTMwMyxFMzA1LEU0MDIsRTczMSxXNTA0
LFc2MDEsVzYwNSxXCiBleGNsdWRlID0KICAgICAudG94LAogICAgIHB5d2Vic29ja2V0LAorICAg
IHF1aWMsCiAgICAgdGhpcmRfcGFydHksCiAgICAgd3B0c2VydmUvZG9jcy9jb25mLnB5LAogICAg
IHdwdHNlcnZlL3Rlc3RzL2Z1bmN0aW9uYWwvZG9jcm9vdC9pbnZhbGlkLnB5CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5My1m
bGFrZTguaW5pIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy9weTMtZmxha2U4LmluaQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNGNjMWRjNmY2YTdhZmI0MWYxMmM0MWZh
ODI5MzMzN2QxOWEwMjNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weTMtZmxha2U4LmluaQpAQCAtMCwwICsxLDI3
IEBACitbZmxha2U4XQorc2VsZWN0ID0gRSxXLEYsTgorIyBFMTI4OiBjb250aW51YXRpb24gbGlu
ZSB1bmRlci1pbmRlbnRlZCBmb3IgdmlzdWFsIGluZGVudAorIyBFMTI5OiB2aXN1YWxseSBpbmRl
bnRlZCBsaW5lIHdpdGggc2FtZSBpbmRlbnQgYXMgbmV4dCBsb2dpY2FsIGxpbmUKKyMgRTIyNjog
bWlzc2luZyB3aGl0ZXNwYWNlIGFyb3VuZCBhcml0aG1ldGljIG9wZXJhdG9yCisjIEUyMzE6IG1p
c3Npbmcgd2hpdGVzcGFjZSBhZnRlciDigJgs4oCZLCDigJg74oCZLCBvciDigJg64oCZCisjIEUy
NTE6IHVuZXhwZWN0ZWQgc3BhY2VzIGFyb3VuZCBrZXl3b3JkIC8gcGFyYW1ldGVyIGVxdWFscwor
IyBFMjY1OiBibG9jayBjb21tZW50IHNob3VsZCBzdGFydCB3aXRoIOKAmCMg4oCYCisjIEUzMDI6
IGV4cGVjdGVkIDIgYmxhbmsgbGluZXMsIGZvdW5kIDAKKyMgRTMwMzogdG9vIG1hbnkgYmxhbmsg
bGluZXMgKDMpCisjIEUzMDU6IGV4cGVjdGVkIDIgYmxhbmsgbGluZXMgYWZ0ZXIgZW5kIG9mIGZ1
bmN0aW9uIG9yIGNsYXNzCisjIEU0MDI6IG1vZHVsZSBsZXZlbCBpbXBvcnQgbm90IGF0IHRvcCBv
ZiBmaWxlCisjIEU3MzE6IGRvIG5vdCBhc3NpZ24gYSBsYW1iZGEgZXhwcmVzc2lvbiwgdXNlIGEg
ZGVmCisjIFc1MDQ6IGxpbmUgYnJlYWsgYWZ0ZXIgYmluYXJ5IG9wZXJhdG9yCisjIFc2MDU6IGlu
dmFsaWQgZXNjYXBlIHNlcXVlbmNlCisjIE44MDE6IGNsYXNzIG5hbWVzIHNob3VsZCB1c2UgQ2Fw
V29yZHMgY29udmVudGlvbgorIyBOODAyOiBmdW5jdGlvbiBuYW1lIHNob3VsZCBiZSBsb3dlcmNh
c2UKKyMgTjgwNjogdmFyaWFibGUgaW4gZnVuY3Rpb24gc2hvdWxkIGJlIGxvd2VyY2FzZQoraWdu
b3JlID0gRTEyOCxFMTI5LEUyMjYsRTIzMSxFMjUxLEUyNjUsRTMwMixFMzAzLEUzMDUsRTQwMixF
NzMxLFc1MDQsVzYwNSxOODAxLE44MDIsTjgwNgorZXhjbHVkZSA9CisgICAgLnRveCwKKyAgICBw
eXdlYnNvY2tldCwKKyAgICB0aGlyZF9wYXJ0eSwKKyAgICB3cHRydW5uZXIsCisgICAgd3B0c2Vy
dmUvZG9jcy9jb25mLnB5LAorICAgIHdwdHNlcnZlL3Rlc3RzL2Z1bmN0aW9uYWwvZG9jcm9vdC9p
bnZhbGlkLnB5CittYXgtbGluZS1sZW5ndGggPSAxNDEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcHkzNi1mbGFrZTguaW5pIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weTM2LWZs
YWtlOC5pbmkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE0Y2MxZGM2ZjZhN2FmYjQx
ZjEyYzQxZmE4MjkzMzM3ZDE5YTAyM2IuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy9weTM2LWZsYWtlOC5pbmkKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi1b
Zmxha2U4XQotc2VsZWN0ID0gRSxXLEYsTgotIyBFMTI4OiBjb250aW51YXRpb24gbGluZSB1bmRl
ci1pbmRlbnRlZCBmb3IgdmlzdWFsIGluZGVudAotIyBFMTI5OiB2aXN1YWxseSBpbmRlbnRlZCBs
aW5lIHdpdGggc2FtZSBpbmRlbnQgYXMgbmV4dCBsb2dpY2FsIGxpbmUKLSMgRTIyNjogbWlzc2lu
ZyB3aGl0ZXNwYWNlIGFyb3VuZCBhcml0aG1ldGljIG9wZXJhdG9yCi0jIEUyMzE6IG1pc3Npbmcg
d2hpdGVzcGFjZSBhZnRlciDigJgs4oCZLCDigJg74oCZLCBvciDigJg64oCZCi0jIEUyNTE6IHVu
ZXhwZWN0ZWQgc3BhY2VzIGFyb3VuZCBrZXl3b3JkIC8gcGFyYW1ldGVyIGVxdWFscwotIyBFMjY1
OiBibG9jayBjb21tZW50IHNob3VsZCBzdGFydCB3aXRoIOKAmCMg4oCYCi0jIEUzMDI6IGV4cGVj
dGVkIDIgYmxhbmsgbGluZXMsIGZvdW5kIDAKLSMgRTMwMzogdG9vIG1hbnkgYmxhbmsgbGluZXMg
KDMpCi0jIEUzMDU6IGV4cGVjdGVkIDIgYmxhbmsgbGluZXMgYWZ0ZXIgZW5kIG9mIGZ1bmN0aW9u
IG9yIGNsYXNzCi0jIEU0MDI6IG1vZHVsZSBsZXZlbCBpbXBvcnQgbm90IGF0IHRvcCBvZiBmaWxl
Ci0jIEU3MzE6IGRvIG5vdCBhc3NpZ24gYSBsYW1iZGEgZXhwcmVzc2lvbiwgdXNlIGEgZGVmCi0j
IFc1MDQ6IGxpbmUgYnJlYWsgYWZ0ZXIgYmluYXJ5IG9wZXJhdG9yCi0jIFc2MDU6IGludmFsaWQg
ZXNjYXBlIHNlcXVlbmNlCi0jIE44MDE6IGNsYXNzIG5hbWVzIHNob3VsZCB1c2UgQ2FwV29yZHMg
Y29udmVudGlvbgotIyBOODAyOiBmdW5jdGlvbiBuYW1lIHNob3VsZCBiZSBsb3dlcmNhc2UKLSMg
TjgwNjogdmFyaWFibGUgaW4gZnVuY3Rpb24gc2hvdWxkIGJlIGxvd2VyY2FzZQotaWdub3JlID0g
RTEyOCxFMTI5LEUyMjYsRTIzMSxFMjUxLEUyNjUsRTMwMixFMzAzLEUzMDUsRTQwMixFNzMxLFc1
MDQsVzYwNSxOODAxLE44MDIsTjgwNgotZXhjbHVkZSA9Ci0gICAgLnRveCwKLSAgICBweXdlYnNv
Y2tldCwKLSAgICB0aGlyZF9wYXJ0eSwKLSAgICB3cHRydW5uZXIsCi0gICAgd3B0c2VydmUvZG9j
cy9jb25mLnB5LAotICAgIHdwdHNlcnZlL3Rlc3RzL2Z1bmN0aW9uYWwvZG9jcm9vdC9pbnZhbGlk
LnB5Ci1tYXgtbGluZS1sZW5ndGggPSAxNDEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcXVpYy9SRUFETUUubWQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3F1aWMvUkVBRE1FLm1k
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjVhNjRiNzAxY2ZiODU5MDBjMjE5NDYzNjI0ZTZhZmEyOTlhMzgxM2QKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3F1aWMvUkVBRE1FLm1kCkBAIC0wLDAgKzEsMzAgQEAKK1RoaXMgZGlyZWN0b3J5
IGNvbnRhaW5zCitbUVVJQ10oaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL2RyYWZ0LWlldGYt
cXVpYy10cmFuc3BvcnQpIHJlbGF0ZWQgdG9vbHMuCisKKyMgUXVpY1RyYW5zcG9ydAorW3F1aWNf
dHJhbnNwb3J0X3NlcnZlci5weV0oLi9xdWljX3RyYW5zcG9ydF9zZXJ2ZXIucHkpIGltcGxlbWVu
dHMgYSBzaW1wbGUKK1tRdWljVHJhbnNwb3J0XShodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwv
ZHJhZnQtdnZ2LXdlYnRyYW5zcG9ydC1xdWljKSBzZXJ2ZXIKK2ZvciB0ZXN0aW5nLiBJdCB1c2Vz
IFthaW9xdWljXShodHRwczovL2dpdGh1Yi5jb20vYWlvcnRjL2Fpb3F1aWMvKSwgYW5kIHRlc3QK
K2F1dGhvcnMgY2FuIGltcGxlbWVudCBjdXN0b20gaGFuZGxlcnMgYnkgcHV0dGluZyBweXRob24g
c2NyaXB0cyBpbgorW3dwdC93ZWJ0cmFuc3BvcnQvcXVpYy9oYW5kbGVycy9dKC4uLy4uL3dlYnRy
YW5zcG9ydC9xdWljL2hhbmRsZXJzLykuCisKKyMjIEN1c3RvbSBIYW5kbGVycworVGhlIFF1aWNU
cmFuc3BvcnRTZXJ2ZXIgY2FsbHMgZnVuY3Rpb25zIGRlZmluZWQgaW4gZWFjaCBoYW5kbGVyIHNj
cmlwdC4KKworIC0gaGFuZGxlX2NsaWVudF9pbmRpY2F0aW9uIGlzIGNhbGxlZCBkdXJpbmcgdGhl
IGNsaWVudCBpbmRpY2F0aW9uIHByb2Nlc3MuCisgICBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3
aXRoIHRocmVlIGFyZ3VtZW50czoKKyAgIAorICAgLSBjb25uZWN0aW9uOiBhaW9xdWljLmFzeW5j
aW8uUXVpY0Nvbm5lY3Rpb25Qcm90b2NvbAorICAgLSBvcmlnaW46IHN0ciBUaGUgb3JpZ2luIG9m
IHRoZSBpbml0aWF0b3IuCisgICAtIHF1ZXJ5OiBEaWN0W3N0ciwgc3RyXSBUaGUgZGljdGlvbmFy
eSBvZiBxdWVyeSBwYXJhbWV0ZXJzIG9mIHRoZSBVUkwgb2YgdGhlCisgICAgICAgICAgICBjb25u
ZWN0aW9uLgorCisgICBBIGhhbmRsZXIgY2FuIGFib3J0IHRoZSBjbGllbnQgaW5kaWNhdGlvbiBw
cm9jZXNzIGVpdGhlciBieSByYWlzaW5nIGFuCisgICBleGNlcHRpb24gb3IgY2xvc2luZyB0aGUg
Y29ubmVjdGlvbi4KKwkgICAgCisgLSBoYW5kbGVfZXZlbnQgaXMgY2FsbGVkIHdoZW4gYSBRdWlj
RXZlbnQgYXJyaXZlcy4KKyAgIC0gY29ubmVjdGlvbjogYWlvcXVpYy5hc3luY2lvLlF1aWNDb25u
ZWN0aW9uUHJvdG9jb2wKKyAgIC0gZXZlbnQ6IGFpb3F1aWMucXVpYy5ldmVudHMuUXVpY0V2ZW50
CisKKyAgIFRoaXMgZnVuY3Rpb24gaXMgbm90IGNhbGxlZCB1bnRpbCB0aGUgY2xpZW50IGluZGlj
YXRpb24gcHJvY2VzcyBmaW5pc2hlcworICAgc3VjY2Vzc2Z1bGx5LgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9xdWljL19faW5p
dF9fLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9xdWljL19faW5pdF9fLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE2ODM0YjgyODVhNTZiZWYwZTE1NDNmZDkw
MWM3ZTZmMmY4YmMyMDIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3F1aWMvX19pbml0X18ucHkKQEAgLTAsMCArMSBA
QAorIyBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFB5dGhvbiB0byBzZWFyY2ggdGhpcyBkaXJl
Y3RvcnkgZm9yIG1vZHVsZXMuClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9xdWlj
L2NlcnRzL1JFQURNRS5tZCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvcXVpYy9jZXJ0cy9SRUFETUUubWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE2Y2YxM2ZmZmMx
YmJhODdkNjEwZTIyY2Y2MGUxMTA0M2Y1MzkxOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcXVpYy9jZXJ0cy9SRUFE
TUUubWQKQEAgLTAsMCArMSwxMiBAQAorVG8gZ2VuZXJhdGUgY2VydC5rZXkgYW5kIGNlcnQucGVt
OgorCisgMS4gUmVtb3ZlIHdlYi1wbGF0Zm9ybS50ZXN0LmtleSBhbmQgd2ViLXBsYXRmb3JtLnRl
c3QucGVtIGluIC4uLy4uL2NlcnRzLgorIDEuIEZyb20gdGhlIHJvb3QsIHJ1bgorICAgIGAuL3dw
dCBzZXJ2ZSAtLWNvbmZpZyB0b29scy9xdWljL2NlcnRzL2NvbmZpZy5qc29uYCBhbmQgdGVybWlu
YXRlIGl0CisgICAgYWZ0ZXIgaXQgaGFzIHN0YXJ0ZWQgdXAuCisgMS4gTW92ZSB0b29scy9jZXJ0
cy93ZWItcGxhdGZvcm0udGVzdC5rZXkgdG8gdG9vbHMvcXVpYy9jZXJ0cy9jZXJ0LmtleS4KKyAx
LiBNb3ZlIHRvb2xzL2NlcnRzL3dlYi1wbGF0Zm9ybS50ZXN0LnBlbSB0byB0b29scy9xdWljL2Nl
cnRzL2NlcnQucGVtLgorIDEuIFJlY292ZXIgdGhlIG9yaWdpbmFsIHdlYi1wbGF0Zm9ybS50ZXN0
LmtleSBhbmQgd2ViLXBsYXRmb3JtLnRlc3QucGVtIGluCisgICAgLi4vLi4vY2VydHMuCisKK1Nl
ZSBhbHNvOiAuLi8uLi9jZXJ0cy9SRUFETUUubWQKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3F1aWMvY2VydHMvY2VydC5rZXkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3F1aWMvY2VydHMvY2VydC5rZXkKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTkz
Y2RmYTU0MzcyOGI2MzY5YjA1ZWVmZTIwODExY2Q2NjYyYjcxNwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcXVpYy9j
ZXJ0cy9jZXJ0LmtleQpAQCAtMCwwICsxLDI4IEBACistLS0tLUJFR0lOIFBSSVZBVEUgS0VZLS0t
LS0KK01JSUV3QUlCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQktvd2dnU21BZ0VBQW9JQkFRRGJ5
UHVpQkdweGhhdkYKKzNqN3BJNmcrQTBnQzRCVExUcU1PYktTVGtRV3NqcTFHT2QyTEExbHdUUExP
YndydmhJVUZ6YndvSWJPd29QTWUKK01ranNzRkNIRzNGTWo1NmNLaUFRMkRGSTZkSzVQakdVVk5T
UnhrL0Y0SGgyWng5RFRFTmwvRWIvY1JUMnl1dSsKK1c5SEN1L0JXZmJXd2x3d041dnh5bmVDb2g1
Y0JCL2pkMUtUT1JndVlwdWF0SGI4NUFENUJSaFlMWHdIRjd5VkgKK05WeEhldUdsSzMxeXVZQ0hO
S3ZCSERnWkY1VHA4RnFLWG5WVStQbEtYQ1NVNTYwMmMyVTV4SElGdktUeWlabE0KK2NZWE5TVXAw
bGNOdy9pVFNWdHNQRTRrMXN0dTZxa1dkVDdIL3VVK0dVQithTHFPK3N2QS9zOUdHWDhIWmd0K3IK
K3ZTRkU4bElKQWdNQkFBRUNnZ0VCQUpBOTZEOWRqSW95Z3hoYUVvbXBtQ29TdHprRDNVSE11eUNs
VnFGdVJQNEoKK3FWaDBjNXhmTjF5SGM3YmRrNXk4S1IwMDk2NlM1NzRjODFHM0NMc2x2OFBiMDlD
K1ZRY0Njb2I3aStUaGFDV2cKKzFxTVZ4V2hpY1VwWlZsWEd1ZkxONDFIVWJyZ0lmQXk0QWwydEh3
NGhqOHNEdDdGTWdHSERYWnpQVm5qa2U4cjEKK085WWlKbDFReDRMN3ZNV3J1R2E5UVdqRmdIbkcr
dWhhS2pzTDJ2N0pRT0d5NXQ4YWJvVnliN2g4ckdnL21DK2UKK0hJWU91Y1YxYUVNZ1lWYUFuaEdz
S01Ia3g1QTF4V3BYQlNydUcrR1JCeC9rWFdaK2tDTmNrTFh1VmRyaHE0SEkKK0FkYnhJenFRVFBN
WHBPM1JBdWp5cnhrSGFiRU5NUEEvRkdINHN6bWRMb0VDZ1lFQTl6OHBlNy92U2xXZ2Zoc0YKK3o1
UW53V0h5RmpydWhnRC8yc2E0TEIvY213VFFkR3c4RTVUTkhEYkNnbVM0OTlEWlVYSVp1Qk9UZWtk
RVZEUWEKK25nOFZ5TDNvN0Rtcys1aVBpNWNxc2NwMUtrakxFTXlQcHFzNEpUdWl4UnBqbU1meWNk
eFZUcFhoY3VxbkpwVEwKK1FDOXBSNU4velpjQU1EbEJ2MEZ6YzhUNzhYa0NnWUVBNDVEdWVXR0hW
ZjJ1NHVNWXlXeHlaaGFORGFnbDEzeXgKKy9vU1NVVHpvTHZTcEdReEtrditmeFNOcUwzbnU1SWE2
dUQ0R3U1TnViUDRIci9WZVNLUmZta1QxbHV2RmNWZkMKK2tuOHI4YnNzWnE4NTVBVkp4WGE1SzFh
dVdqQ3VGSGowcFlmNTZzZmhrUHhwWTBSUUVna3Z1RTNpb3NRMTJnRlgKK3Z3MTQ3RnRRVVJFQ2dZ
RUE4NVJwVlA0NVMzMWlPUHA4VmcxNndSeXllRTRrc1NZSTZrcitKSkpiTHVtbVNCeGQKK2Ixa1lY
U1JocWo1NnI4STBadlhHK3I5bWVuLzloQXMwOGVTZ3JIelVITzJSU3VqNCtpZTZLeC92SC9KSkJF
clQKK2R2cVZ2TENzNGd2bWRSeis4RWVHVDM1L2RreFEwa1NpbktCWTB1Z3diNlhFekwyTDFWVXcz
YXdDSGRrQ2dZRUEKK3F0UUlnT3Y2dVUybmRFREFRYXg4TURDcmtGM3lrbEhVR0ZrU3NaTkVSTU43
RVFlT0Q4MSs5WEZCYkFSZmxnT2gKK3RWOHlsS3IzRVRDZE9yUzZJMVBwUkppUnQ4cWp2Qk1DU0JE
WlB5eWdCekZ4QnNBRmdncytzODd0TVYwcndNaVAKKzlwY2R2K1p1YVBWaWM1YzdlRjZYQ1FiR3BD
TWd2ZGVXTkNCNzd3b1pQOUVDZ1lFQWxvYmtQR0RZQ3kvUmFWaVUKK0ZicTVHbzZ3MHBNVm5Melli
bjRHaDFBSlBlUUtJU3FYdEpaN3RxcGRXK2k3cXprTHc3NEVMYVlDQlIyWkVscmoKK0VWZTVhUk94
NlRGTjlSbmprRm55djlMZXlZTCtZUGM4QUl3VlVDZVNQaWtTR0xGcEpmYS9qd0RtV2gzdkhtbUEK
K05SVVA0MHdidEJpNDJDMnVkclR4VVdzSHhxYz0KKy0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvcXVpYy9jZXJ0cy9jZXJ0LnBlbSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvcXVpYy9jZXJ0cy9jZXJ0LnBlbQpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZTcw
ZjFiMDgyYWNiMzA1MzIxM2JjN2VlNzRmNWUzNjdjODlmZjI3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9xdWljL2Nl
cnRzL2NlcnQucGVtCkBAIC0wLDAgKzEsMjQwIEBACitDZXJ0aWZpY2F0ZToKKyAgICBEYXRhOgor
ICAgICAgICBWZXJzaW9uOiAzICgweDIpCisgICAgICAgIFNlcmlhbCBOdW1iZXI6IDkxOTQ5MiAo
MHhlMDdjNCkKKyAgICAgICAgU2lnbmF0dXJlIEFsZ29yaXRobTogc2hhMjU2V2l0aFJTQUVuY3J5
cHRpb24KKyAgICAgICAgSXNzdWVyOiBDTj13ZWItcGxhdGZvcm0tdGVzdHMKKyAgICAgICAgVmFs
aWRpdHkKKyAgICAgICAgICAgIE5vdCBCZWZvcmU6IEFwciAyMCAxMToyMDo1NiAyMDIwIEdNVAor
ICAgICAgICAgICAgTm90IEFmdGVyIDogQXByIDE4IDExOjIwOjU2IDIwMzAgR01UCisgICAgICAg
IFN1YmplY3Q6IENOPXdlYi1wbGF0Zm9ybS50ZXN0CisgICAgICAgIFN1YmplY3QgUHVibGljIEtl
eSBJbmZvOgorICAgICAgICAgICAgUHVibGljIEtleSBBbGdvcml0aG06IHJzYUVuY3J5cHRpb24K
KyAgICAgICAgICAgICAgICBSU0EgUHVibGljLUtleTogKDIwNDggYml0KQorICAgICAgICAgICAg
ICAgIE1vZHVsdXM6CisgICAgICAgICAgICAgICAgICAgIDAwOmRiOmM4OmZiOmEyOjA0OjZhOjcx
Ojg1OmFiOmM1OmRlOjNlOmU5OjIzOgorICAgICAgICAgICAgICAgICAgICBhODozZTowMzo0ODow
MjplMDoxNDpjYjo0ZTphMzowZTo2YzphNDo5Mzo5MToKKyAgICAgICAgICAgICAgICAgICAgMDU6
YWM6OGU6YWQ6NDY6Mzk6ZGQ6OGI6MDM6NTk6NzA6NGM6ZjI6Y2U6NmY6CisgICAgICAgICAgICAg
ICAgICAgIDBhOmVmOjg0Ojg1OjA1OmNkOmJjOjI4OjIxOmIzOmIwOmEwOmYzOjFlOjMyOgorICAg
ICAgICAgICAgICAgICAgICA0ODplYzpiMDo1MDo4NzoxYjo3MTo0Yzo4Zjo5ZTo5YzoyYToyMDox
MDpkODoKKyAgICAgICAgICAgICAgICAgICAgMzE6NDg6ZTk6ZDI6Yjk6M2U6MzE6OTQ6NTQ6ZDQ6
OTE6YzY6NGY6YzU6ZTA6CisgICAgICAgICAgICAgICAgICAgIDc4Ojc2OjY3OjFmOjQzOjRjOjQz
OjY1OmZjOjQ2OmZmOjcxOjE0OmY2OmNhOgorICAgICAgICAgICAgICAgICAgICBlYjpiZTo1Yjpk
MTpjMjpiYjpmMDo1Njo3ZDpiNTpiMDo5NzowYzowZDplNjoKKyAgICAgICAgICAgICAgICAgICAg
ZmM6NzI6OWQ6ZTA6YTg6ODc6OTc6MDE6MDc6Zjg6ZGQ6ZDQ6YTQ6Y2U6NDY6CisgICAgICAgICAg
ICAgICAgICAgIDBiOjk4OmE2OmU2OmFkOjFkOmJmOjM5OjAwOjNlOjQxOjQ2OjE2OjBiOjVmOgor
ICAgICAgICAgICAgICAgICAgICAwMTpjNTplZjoyNTo0NzozNTo1Yzo0Nzo3YTplMTphNToyYjo3
ZDo3MjpiOToKKyAgICAgICAgICAgICAgICAgICAgODA6ODc6MzQ6YWI6YzE6MWM6Mzg6MTk6MTc6
OTQ6ZTk6ZjA6NWE6OGE6NWU6CisgICAgICAgICAgICAgICAgICAgIDc1OjU0OmY4OmY5OjRhOjVj
OjI0Ojk0OmU3OmFkOjM2OjczOjY1OjM5OmM0OgorICAgICAgICAgICAgICAgICAgICA3MjowNTpi
YzphNDpmMjo4OTo5OTo0Yzo3MTo4NTpjZDo0OTo0YTo3NDo5NToKKyAgICAgICAgICAgICAgICAg
ICAgYzM6NzA6ZmU6MjQ6ZDI6NTY6ZGI6MGY6MTM6ODk6MzU6YjI6ZGI6YmE6YWE6CisgICAgICAg
ICAgICAgICAgICAgIDQ1OjlkOjRmOmIxOmZmOmI5OjRmOjg2OjUwOjFmOjlhOjJlOmEzOmJlOmIy
OgorICAgICAgICAgICAgICAgICAgICBmMDozZjpiMzpkMTo4Njo1ZjpjMTpkOTo4MjpkZjphYjpi
ZDoyMTo0NDpmMjoKKyAgICAgICAgICAgICAgICAgICAgNTI6MDkKKyAgICAgICAgICAgICAgICBF
eHBvbmVudDogNjU1MzcgKDB4MTAwMDEpCisgICAgICAgIFg1MDl2MyBleHRlbnNpb25zOgorICAg
ICAgICAgICAgWDUwOXYzIEJhc2ljIENvbnN0cmFpbnRzOiAKKyAgICAgICAgICAgICAgICBDQTpG
QUxTRQorICAgICAgICAgICAgWDUwOXYzIFN1YmplY3QgS2V5IElkZW50aWZpZXI6IAorICAgICAg
ICAgICAgICAgIDc5Ojk2OkUxOjk2OkYzOjdDOjQxOjJCOjNCOjlGOjFCOjBEOkQ2OkE5OkI4OkI3
OjRGOkU2OjYxOjVDCisgICAgICAgICAgICBYNTA5djMgQXV0aG9yaXR5IEtleSBJZGVudGlmaWVy
OiAKKyAgICAgICAgICAgICAgICBrZXlpZDpGNjpCOTpEQToxNjowNzowNTpCQjo2RjpDOTo2Mzoz
MDpDNjo2Nzo0MDpDQjowMzpEMzoxRTo5MDpFQworCisgICAgICAgICAgICBYNTA5djMgS2V5IFVz
YWdlOiAKKyAgICAgICAgICAgICAgICBEaWdpdGFsIFNpZ25hdHVyZSwgTm9uIFJlcHVkaWF0aW9u
LCBLZXkgRW5jaXBoZXJtZW50CisgICAgICAgICAgICBYNTA5djMgRXh0ZW5kZWQgS2V5IFVzYWdl
OiAKKyAgICAgICAgICAgICAgICBUTFMgV2ViIFNlcnZlciBBdXRoZW50aWNhdGlvbgorICAgICAg
ICAgICAgWDUwOXYzIFN1YmplY3QgQWx0ZXJuYXRpdmUgTmFtZTogCisgICAgICAgICAgICAgICAg
RE5TOndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A4LndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A3
LndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A5LndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A0Lndl
Yi1wbGF0Zm9ybS50ZXN0LCBETlM6bm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A2LndlYi1w
bGF0Zm9ybS50ZXN0LCBETlM6b3AzLndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3AyLndlYi1wbGF0
Zm9ybS50ZXN0LCBETlM6b3AxLndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6d3d3LndlYi1wbGF0Zm9y
bS50ZXN0LCBETlM6b3A1LndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A4OC53ZWItcGxhdGZvcm0u
dGVzdCwgRE5TOm9wOTgud2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDg1LndlYi1wbGF0Zm9ybS50
ZXN0LCBETlM6b3A4OS53ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wNjYud2ViLXBsYXRmb3JtLnRl
c3QsIEROUzpvcDcyLndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3AyNC53ZWItcGxhdGZvcm0udGVz
dCwgRE5TOm9wNDEud2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDc5LndlYi1wbGF0Zm9ybS50ZXN0
LCBETlM6b3A5MS53ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wNTkud2ViLXBsYXRmb3JtLnRlc3Qs
IEROUzpvcDM5LndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A2MC53ZWItcGxhdGZvcm0udGVzdCwg
RE5TOm9wNTgud2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDI4LndlYi1wbGF0Zm9ybS50ZXN0LCBE
TlM6d3d3MS53ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wMTQud2ViLXBsYXRmb3JtLnRlc3QsIERO
UzpvcDY5LndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A0MC53ZWItcGxhdGZvcm0udGVzdCwgRE5T
Om9wNzQud2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDMxLndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6
b3AxOC53ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wNzMud2ViLXBsYXRmb3JtLnRlc3QsIEROUzpv
cDc3LndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3AxMi53ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9w
NTQud2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDYzLndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A3
MS53ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wOTUud2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDE2
LndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3AzNi53ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wMjcu
d2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDI5LndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A5NC53
ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wNDQud2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDMzLndl
Yi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A4NC53ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wMzIud2Vi
LXBsYXRmb3JtLnRlc3QsIEROUzpvcDYxLndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A3MC53ZWIt
cGxhdGZvcm0udGVzdCwgRE5TOnd3dzIud2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDQzLndlYi1w
bGF0Zm9ybS50ZXN0LCBETlM6b3A3OC53ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wMjYud2ViLXBs
YXRmb3JtLnRlc3QsIEROUzpvcDc2LndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A1Mi53ZWItcGxh
dGZvcm0udGVzdCwgRE5TOm9wOTkud2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDg2LndlYi1wbGF0
Zm9ybS50ZXN0LCBETlM6b3A0Ni53ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wMTcud2ViLXBsYXRm
b3JtLnRlc3QsIEROUzpvcDkwLndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A5My53ZWItcGxhdGZv
cm0udGVzdCwgRE5TOm9wMTAud2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDU1LndlYi1wbGF0Zm9y
bS50ZXN0LCBETlM6b3A0Ny53ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wNTEud2ViLXBsYXRmb3Jt
LnRlc3QsIEROUzpvcDQ1LndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A4MC53ZWItcGxhdGZvcm0u
dGVzdCwgRE5TOm9wNjgud2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDQ5LndlYi1wbGF0Zm9ybS50
ZXN0LCBETlM6b3A1Ny53ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wMzUud2ViLXBsYXRmb3JtLnRl
c3QsIEROUzpvcDY3LndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A5Mi53ZWItcGxhdGZvcm0udGVz
dCwgRE5TOm9wMTUud2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDEzLndlYi1wbGF0Zm9ybS50ZXN0
LCBETlM6b3A3NS53ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wNjQud2ViLXBsYXRmb3JtLnRlc3Qs
IEROUzpvcDk3LndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3AzNy53ZWItcGxhdGZvcm0udGVzdCwg
RE5TOm9wNTYud2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDYyLndlYi1wbGF0Zm9ybS50ZXN0LCBE
TlM6b3A4Mi53ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wMjUud2ViLXBsYXRmb3JtLnRlc3QsIERO
UzpvcDExLndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A1MC53ZWItcGxhdGZvcm0udGVzdCwgRE5T
Om9wMzgud2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDgzLndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6
b3A4MS53ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wMjAud2ViLXBsYXRmb3JtLnRlc3QsIEROUzpv
cDIxLndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3AyMy53ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9w
NDIud2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDIyLndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A2
NS53ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wOTYud2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDg3
LndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3AxOS53ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wNTMu
d2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDMwLndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A0OC53
ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wMzQud2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDYubm90
LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3AzLm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9w
Mi5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDUubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBE
TlM6d3d3Lm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOnd3dy53d3cud2ViLXBsYXRmb3JtLnRl
c3QsIEROUzpvcDcubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A0Lm5vdC13ZWItcGxhdGZv
cm0udGVzdCwgRE5TOm9wOC5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDkubm90LXdlYi1w
bGF0Zm9ybS50ZXN0LCBETlM6b3AxLm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wMzYubm90
LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A1My5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzpv
cDUwLm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wMjQubm90LXdlYi1wbGF0Zm9ybS50ZXN0
LCBETlM6b3AzMS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDk1Lm5vdC13ZWItcGxhdGZv
cm0udGVzdCwgRE5TOm9wODMubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6d3d3Mi5ub3Qtd2Vi
LXBsYXRmb3JtLnRlc3QsIEROUzpvcDczLm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wMTku
bm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3AyMS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIERO
UzpvcDgxLm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wNzAubm90LXdlYi1wbGF0Zm9ybS50
ZXN0LCBETlM6b3A3OC5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDQwLm5vdC13ZWItcGxh
dGZvcm0udGVzdCwgRE5TOm9wMjUubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A2NS5ub3Qt
d2ViLXBsYXRmb3JtLnRlc3QsIEROUzp3d3cud3d3Mi53ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9w
ODAubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A1Mi5ub3Qtd2ViLXBsYXRmb3JtLnRlc3Qs
IEROUzpvcDY4Lm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wNDUubm90LXdlYi1wbGF0Zm9y
bS50ZXN0LCBETlM6b3A3MS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDcyLm5vdC13ZWIt
cGxhdGZvcm0udGVzdCwgRE5TOm9wOTAubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A4OS5u
b3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDQ5Lm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5T
Om9wNzcubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A3OS5ub3Qtd2ViLXBsYXRmb3JtLnRl
c3QsIEROUzpvcDgyLm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOnd3dy53d3cxLndlYi1wbGF0
Zm9ybS50ZXN0LCBETlM6b3AxMi5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDM5Lm5vdC13
ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wNDQubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6d3d3
MS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDU4Lm5vdC13ZWItcGxhdGZvcm0udGVzdCwg
RE5TOm9wMTQubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3AzMC5ub3Qtd2ViLXBsYXRmb3Jt
LnRlc3QsIEROUzpvcDYyLm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wNjEubm90LXdlYi1w
bGF0Zm9ybS50ZXN0LCBETlM6b3A5Mi5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDI5Lm5v
dC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wOTgubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6
b3A2NC5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDI2Lm5vdC13ZWItcGxhdGZvcm0udGVz
dCwgRE5TOm9wMjIubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A5NC5ub3Qtd2ViLXBsYXRm
b3JtLnRlc3QsIEROUzpvcDM4Lm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wMzMubm90LXdl
Yi1wbGF0Zm9ybS50ZXN0LCBETlM6b3AyMy5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDU3
Lm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wNTQubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBE
TlM6b3A4NS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDQ2Lm5vdC13ZWItcGxhdGZvcm0u
dGVzdCwgRE5TOm9wOTcubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3AzMi5ub3Qtd2ViLXBs
YXRmb3JtLnRlc3QsIEROUzpvcDYwLm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wOTYubm90
LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A1MS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzpv
cDQxLm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wMzUubm90LXdlYi1wbGF0Zm9ybS50ZXN0
LCBETlM6b3A5OS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDQyLm5vdC13ZWItcGxhdGZv
cm0udGVzdCwgRE5TOm9wNjcubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3AzNy5ub3Qtd2Vi
LXBsYXRmb3JtLnRlc3QsIEROUzpvcDQ4Lm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wNTUu
bm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A1Ni5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIERO
UzpvcDg0Lm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wMzQubm90LXdlYi1wbGF0Zm9ybS50
ZXN0LCBETlM6b3A2OS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDExLm5vdC13ZWItcGxh
dGZvcm0udGVzdCwgRE5TOm9wOTMubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6d3d3MS53d3cu
d2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDg2Lm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9w
MTMubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3AyMC5ub3Qtd2ViLXBsYXRmb3JtLnRlc3Qs
IEROUzpvcDc2Lm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wMjcubm90LXdlYi1wbGF0Zm9y
bS50ZXN0LCBETlM6b3AxNy5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDc1Lm5vdC13ZWIt
cGxhdGZvcm0udGVzdCwgRE5TOm9wMTUubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A0Ny5u
b3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDE4Lm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5T
Om9wNjMubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3AyOC5ub3Qtd2ViLXBsYXRmb3JtLnRl
c3QsIEROUzpvcDQzLm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wNjYubm90LXdlYi1wbGF0
Zm9ybS50ZXN0LCBETlM6d3d3Mi53d3cud2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDkxLm5vdC13
ZWItcGxhdGZvcm0udGVzdCwgRE5TOm9wNzQubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3A1
OS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzpvcDg4Lm5vdC13ZWItcGxhdGZvcm0udGVzdCwg
RE5TOm9wODcubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6b3AxMC5ub3Qtd2ViLXBsYXRmb3Jt
LnRlc3QsIEROUzpvcDE2Lm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOnd3dzEud3d3Mi53ZWIt
cGxhdGZvcm0udGVzdCwgRE5TOnd3dzIud3d3Mi53ZWItcGxhdGZvcm0udGVzdCwgRE5TOnd3dzIu
d3d3MS53ZWItcGxhdGZvcm0udGVzdCwgRE5TOnd3dzEud3d3MS53ZWItcGxhdGZvcm0udGVzdCwg
RE5TOnd3dy53d3cubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6eG4tLWx2ZS02bGFkLndlYi1w
bGF0Zm9ybS50ZXN0LCBETlM6d3d3MS53d3cubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6d3d3
Lnd3dzIubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6d3d3Mi53d3cubm90LXdlYi1wbGF0Zm9y
bS50ZXN0LCBETlM6d3d3Lnd3dzEubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6d3d3Mi53d3cy
Lm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOnd3dzIud3d3MS5ub3Qtd2ViLXBsYXRmb3JtLnRl
c3QsIEROUzp3d3cxLnd3dzEubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6d3d3MS53d3cyLm5v
dC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOnhuLS1sdmUtNmxhZC53d3cud2ViLXBsYXRmb3JtLnRl
c3QsIEROUzp4bi0tbHZlLTZsYWQubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6d3d3LnhuLS1s
dmUtNmxhZC53ZWItcGxhdGZvcm0udGVzdCwgRE5TOnd3dzIueG4tLWx2ZS02bGFkLndlYi1wbGF0
Zm9ybS50ZXN0LCBETlM6eG4tLWx2ZS02bGFkLnd3dzIud2ViLXBsYXRmb3JtLnRlc3QsIEROUzp4
bi0tbHZlLTZsYWQud3d3MS53ZWItcGxhdGZvcm0udGVzdCwgRE5TOnd3dzEueG4tLWx2ZS02bGFk
LndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6eG4tLWx2ZS02bGFkLnd3dy5ub3Qtd2ViLXBsYXRmb3Jt
LnRlc3QsIEROUzp3d3cueG4tLWx2ZS02bGFkLm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOnhu
LS1sdmUtNmxhZC53d3cxLm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOnd3dzIueG4tLWx2ZS02
bGFkLm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOnd3dzEueG4tLWx2ZS02bGFkLm5vdC13ZWIt
cGxhdGZvcm0udGVzdCwgRE5TOnhuLS1sdmUtNmxhZC53d3cyLm5vdC13ZWItcGxhdGZvcm0udGVz
dCwgRE5TOnhuLS1uOGo2ZHM1M2x3d2tycWh2MjhhLndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6eG4t
LWx2ZS02bGFkLnhuLS1sdmUtNmxhZC53ZWItcGxhdGZvcm0udGVzdCwgRE5TOnd3dy54bi0tbjhq
NmRzNTNsd3drcnFodjI4YS53ZWItcGxhdGZvcm0udGVzdCwgRE5TOnhuLS1uOGo2ZHM1M2x3d2ty
cWh2MjhhLm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOnhuLS1uOGo2ZHM1M2x3d2tycWh2Mjhh
Lnd3dy53ZWItcGxhdGZvcm0udGVzdCwgRE5TOnd3dzEueG4tLW44ajZkczUzbHd3a3JxaHYyOGEu
d2ViLXBsYXRmb3JtLnRlc3QsIEROUzp4bi0tbjhqNmRzNTNsd3drcnFodjI4YS53d3cyLndlYi1w
bGF0Zm9ybS50ZXN0LCBETlM6eG4tLW44ajZkczUzbHd3a3JxaHYyOGEud3d3MS53ZWItcGxhdGZv
cm0udGVzdCwgRE5TOnd3dzIueG4tLW44ajZkczUzbHd3a3JxaHYyOGEud2ViLXBsYXRmb3JtLnRl
c3QsIEROUzp4bi0tbHZlLTZsYWQueG4tLWx2ZS02bGFkLm5vdC13ZWItcGxhdGZvcm0udGVzdCwg
RE5TOnd3dy54bi0tbjhqNmRzNTNsd3drcnFodjI4YS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIERO
Uzp4bi0tbjhqNmRzNTNsd3drcnFodjI4YS53d3cubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6
eG4tLW44ajZkczUzbHd3a3JxaHYyOGEud3d3Mi5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzp3
d3cxLnhuLS1uOGo2ZHM1M2x3d2tycWh2MjhhLm5vdC13ZWItcGxhdGZvcm0udGVzdCwgRE5TOnd3
dzIueG4tLW44ajZkczUzbHd3a3JxaHYyOGEubm90LXdlYi1wbGF0Zm9ybS50ZXN0LCBETlM6eG4t
LW44ajZkczUzbHd3a3JxaHYyOGEud3d3MS5ub3Qtd2ViLXBsYXRmb3JtLnRlc3QsIEROUzp4bi0t
bjhqNmRzNTNsd3drcnFodjI4YS54bi0tbHZlLTZsYWQud2ViLXBsYXRmb3JtLnRlc3QsIEROUzp4
bi0tbHZlLTZsYWQueG4tLW44ajZkczUzbHd3a3JxaHYyOGEud2ViLXBsYXRmb3JtLnRlc3QsIERO
Uzp4bi0tbjhqNmRzNTNsd3drcnFodjI4YS54bi0tbHZlLTZsYWQubm90LXdlYi1wbGF0Zm9ybS50
ZXN0LCBETlM6eG4tLWx2ZS02bGFkLnhuLS1uOGo2ZHM1M2x3d2tycWh2MjhhLm5vdC13ZWItcGxh
dGZvcm0udGVzdCwgRE5TOnhuLS1uOGo2ZHM1M2x3d2tycWh2MjhhLnhuLS1uOGo2ZHM1M2x3d2ty
cWh2MjhhLndlYi1wbGF0Zm9ybS50ZXN0LCBETlM6eG4tLW44ajZkczUzbHd3a3JxaHYyOGEueG4t
LW44ajZkczUzbHd3a3JxaHYyOGEubm90LXdlYi1wbGF0Zm9ybS50ZXN0CisgICAgU2lnbmF0dXJl
IEFsZ29yaXRobTogc2hhMjU2V2l0aFJTQUVuY3J5cHRpb24KKyAgICAgICAgIDBiOjhiOjU1OjZh
OmI0OjY1OmE4OjJhOjNiOmMwOjYyOjBlOjg1OmQ1OmRjOjk5OjlmOjNmOgorICAgICAgICAgZDA6
Yjc6ZmY6Y2I6YjY6Njg6ZTU6YWU6ZDM6YTI6NGU6Yzg6ZDQ6YWE6MzQ6OTU6ZTQ6OWU6CisgICAg
ICAgICA0YjplNDo3NDplNDpjNDplYzoxMTozMTo2NzplNTphNjpkYTo4NTo2YjowZjpkNzo2NDpi
NzoKKyAgICAgICAgIGU3OmViOmZlOjA5OmI2Ojg4OmUxOjc0OjFkOjBjOjE1OmEzOjJlOjAxOjAz
OmZjOjY3OjljOgorICAgICAgICAgN2M6YmE6ZTY6ZmI6NTI6MWQ6NTg6Y2Q6Njg6YTM6NTU6OGM6
OWI6NTc6YmI6ODk6MzI6MTA6CisgICAgICAgICA0MTo3MTo5OTphMzoxYTpkYzoyNToyZDpkMDpi
OToxYTphZjplNjo3Njo0MDpkNzpmNToyMzoKKyAgICAgICAgIGE5OmQ4OjU5OjQ1OjhhOmFiOjUz
OjUzOjg3OmNjOjE0OmIzOjg3OmRlOjFkOjAxOjk5OjdhOgorICAgICAgICAgNGY6NzI6NDc6Njk6
OWM6OTg6NzM6OTQ6Nzk6OTA6MjU6NzA6MDI6ZWM6NzU6YjI6Nzc6MTE6CisgICAgICAgICAyODo5
NzpjZDo0MzozZDpkNTo2ODozODo3Mzo3MTpmZDphOTowYjphMjplZDoyZDoxYzo2ZToKKyAgICAg
ICAgIGUxOjA1OmQ0OjMwOmE2OjY0OjA0OjEwOmNhOmU4OmU2OmUwOjdhOmE5OmY0OjI2Ojk0OjZi
OgorICAgICAgICAgYTQ6Mjg6YWE6MGM6ZWI6M2U6ZTA6ZWY6ZDI6YmU6MGI6NzA6ZTQ6ZGQ6NGM6
ZmM6YTI6ODc6CisgICAgICAgICAwYzoyNDo4Mzo3MjplMjplNDo2ZjoyNTphODplZTpjNToxMjo4
OTpkOTpkZDo4Zjo4MjoxNDoKKyAgICAgICAgIGMzOmQ2OjA2OmFlOjFkOmJiOjdiOjNjOmZjOjli
OjI3OjU2OjUwOmI0OjI4OjQ0OjYwOjgwOgorICAgICAgICAgMTc6ODc6MWM6YjE6Y2U6NmQ6Nzc6
YjQ6ZDE6MmI6MzI6ZTg6ZDA6YmE6MDY6NmY6NGQ6MDQ6CisgICAgICAgICBmZjo2MDpmZTplMwor
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCitNSUlndkRDQ0g2U2dBd0lCQWdJRERnZkVNQTBH
Q1NxR1NJYjNEUUVCQ3dVQU1CMHhHekFaQmdOVkJBTU1FbmRsCitZaTF3YkdGMFptOXliUzEwWlhO
MGN6QWVGdzB5TURBME1qQXhNVEl3TlRaYUZ3MHpNREEwTVRneE1USXdOVFphCitNQnd4R2pBWUJn
TlZCQU1NRVhkbFlpMXdiR0YwWm05eWJTNTBaWE4wTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGCitB
QU9DQVE4QU1JSUJDZ0tDQVFFQTI4ajdvZ1JxY1lXcnhkNCs2U09vUGdOSUF1QVV5MDZqRG15a2s1
RUZySTZ0CitSam5kaXdOWmNFenl6bThLNzRTRkJjMjhLQ0d6c0tEekhqSkk3TEJRaHh0eFRJK2Vu
Q29nRU5neFNPblN1VDR4CitsRlRVa2NaUHhlQjRkbWNmUTB4RFpmeEcvM0VVOXNycnZsdlJ3cnZ3
Vm4yMXNKY01EZWI4Y3AzZ3FJZVhBUWY0CiszZFNremtZTG1LYm1yUjIvT1FBK1FVWVdDMThCeGU4
bFJ6VmNSM3JocFN0OWNybUFoelNyd1J3NEdSZVU2ZkJhCitpbDUxVlBqNVNsd2tsT2V0Tm5ObE9j
UnlCYnlrOG9tWlRIR0Z6VWxLZEpYRGNQNGswbGJiRHhPSk5iTGJ1cXBGCituVSt4LzdsUGhsQWZt
aTZqdnJMd1A3UFJobC9CMllMZnE3MGhSUEpTQ1FJREFRQUJvNEllQkRDQ0hnQXdDUVlECitWUjBU
QkFJd0FEQWRCZ05WSFE0RUZnUVVlWmJobHZOOFFTczdueHNOMXFtNHQwL21ZVnd3SHdZRFZSMGpC
Qmd3CitGb0FVOXJuYUZnY0Z1Mi9KWXpER1owRExBOU1la093d0N3WURWUjBQQkFRREFnWGdNQk1H
QTFVZEpRUU1NQW9HCitDQ3NHQVFVRkJ3TUJNSUlkandZRFZSMFJCSUlkaGpDQ0hZS0NFWGRsWWkx
d2JHRjBabTl5YlM1MFpYTjBnaFZ2CitjRGd1ZDJWaUxYQnNZWFJtYjNKdExuUmxjM1NDRlc5d055
NTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSVZiM0E1CitMbmRsWWkxd2JHRjBabTl5YlM1MFpYTjBn
aFZ2Y0RRdWQyVmlMWEJzWVhSbWIzSnRMblJsYzNTQ0ZXNXZkQzEzCitaV0l0Y0d4aGRHWnZjbTB1
ZEdWemRJSVZiM0EyTG5kbFlpMXdiR0YwWm05eWJTNTBaWE4wZ2hWdmNETXVkMlZpCitMWEJzWVhS
bWIzSnRMblJsYzNTQ0ZXOXdNaTUzWldJdGNHeGhkR1p2Y20wdWRHVnpkSUlWYjNBeExuZGxZaTF3
CitiR0YwWm05eWJTNTBaWE4wZ2hWM2QzY3VkMlZpTFhCc1lYUm1iM0p0TG5SbGMzU0NGVzl3TlM1
M1pXSXRjR3hoCitkR1p2Y20wdWRHVnpkSUlXYjNBNE9DNTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJ
SVdiM0E1T0M1M1pXSXRjR3hoCitkR1p2Y20wdWRHVnpkSUlXYjNBNE5TNTNaV0l0Y0d4aGRHWnZj
bTB1ZEdWemRJSVdiM0E0T1M1M1pXSXRjR3hoCitkR1p2Y20wdWRHVnpkSUlXYjNBMk5pNTNaV0l0
Y0d4aGRHWnZjbTB1ZEdWemRJSVdiM0EzTWk1M1pXSXRjR3hoCitkR1p2Y20wdWRHVnpkSUlXYjNB
eU5DNTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSVdiM0EwTVM1M1pXSXRjR3hoCitkR1p2Y20wdWRH
VnpkSUlXYjNBM09TNTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSVdiM0E1TVM1M1pXSXRjR3hoCitk
R1p2Y20wdWRHVnpkSUlXYjNBMU9TNTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSVdiM0F6T1M1M1pX
SXRjR3hoCitkR1p2Y20wdWRHVnpkSUlXYjNBMk1DNTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSVdi
M0ExT0M1M1pXSXRjR3hoCitkR1p2Y20wdWRHVnpkSUlXYjNBeU9DNTNaV0l0Y0d4aGRHWnZjbTB1
ZEdWemRJSVdkM2QzTVM1M1pXSXRjR3hoCitkR1p2Y20wdWRHVnpkSUlXYjNBeE5DNTNaV0l0Y0d4
aGRHWnZjbTB1ZEdWemRJSVdiM0EyT1M1M1pXSXRjR3hoCitkR1p2Y20wdWRHVnpkSUlXYjNBME1D
NTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSVdiM0EzTkM1M1pXSXRjR3hoCitkR1p2Y20wdWRHVnpk
SUlXYjNBek1TNTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSVdiM0F4T0M1M1pXSXRjR3hoCitkR1p2
Y20wdWRHVnpkSUlXYjNBM015NTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSVdiM0EzTnk1M1pXSXRj
R3hoCitkR1p2Y20wdWRHVnpkSUlXYjNBeE1pNTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSVdiM0Ex
TkM1M1pXSXRjR3hoCitkR1p2Y20wdWRHVnpkSUlXYjNBMk15NTNaV0l0Y0d4aGRHWnZjbTB1ZEdW
emRJSVdiM0EzTVM1M1pXSXRjR3hoCitkR1p2Y20wdWRHVnpkSUlXYjNBNU5TNTNaV0l0Y0d4aGRH
WnZjbTB1ZEdWemRJSVdiM0F4Tmk1M1pXSXRjR3hoCitkR1p2Y20wdWRHVnpkSUlXYjNBek5pNTNa
V0l0Y0d4aGRHWnZjbTB1ZEdWemRJSVdiM0F5Tnk1M1pXSXRjR3hoCitkR1p2Y20wdWRHVnpkSUlX
YjNBeU9TNTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSVdiM0E1TkM1M1pXSXRjR3hoCitkR1p2Y20w
dWRHVnpkSUlXYjNBME5DNTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSVdiM0F6TXk1M1pXSXRjR3ho
CitkR1p2Y20wdWRHVnpkSUlXYjNBNE5DNTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSVdiM0F6TWk1
M1pXSXRjR3hoCitkR1p2Y20wdWRHVnpkSUlXYjNBMk1TNTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJ
SVdiM0EzTUM1M1pXSXRjR3hoCitkR1p2Y20wdWRHVnpkSUlXZDNkM01pNTNaV0l0Y0d4aGRHWnZj
bTB1ZEdWemRJSVdiM0EwTXk1M1pXSXRjR3hoCitkR1p2Y20wdWRHVnpkSUlXYjNBM09DNTNaV0l0
Y0d4aGRHWnZjbTB1ZEdWemRJSVdiM0F5Tmk1M1pXSXRjR3hoCitkR1p2Y20wdWRHVnpkSUlXYjNB
M05pNTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSVdiM0ExTWk1M1pXSXRjR3hoCitkR1p2Y20wdWRH
VnpkSUlXYjNBNU9TNTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSVdiM0E0Tmk1M1pXSXRjR3hoCitk
R1p2Y20wdWRHVnpkSUlXYjNBME5pNTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSVdiM0F4Tnk1M1pX
SXRjR3hoCitkR1p2Y20wdWRHVnpkSUlXYjNBNU1DNTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSVdi
M0E1TXk1M1pXSXRjR3hoCitkR1p2Y20wdWRHVnpkSUlXYjNBeE1DNTNaV0l0Y0d4aGRHWnZjbTB1
ZEdWemRJSVdiM0ExTlM1M1pXSXRjR3hoCitkR1p2Y20wdWRHVnpkSUlXYjNBME55NTNaV0l0Y0d4
aGRHWnZjbTB1ZEdWemRJSVdiM0ExTVM1M1pXSXRjR3hoCitkR1p2Y20wdWRHVnpkSUlXYjNBME5T
NTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSVdiM0E0TUM1M1pXSXRjR3hoCitkR1p2Y20wdWRHVnpk
SUlXYjNBMk9DNTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSVdiM0EwT1M1M1pXSXRjR3hoCitkR1p2
Y20wdWRHVnpkSUlXYjNBMU55NTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSVdiM0F6TlM1M1pXSXRj
R3hoCitkR1p2Y20wdWRHVnpkSUlXYjNBMk55NTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSVdiM0E1
TWk1M1pXSXRjR3hoCitkR1p2Y20wdWRHVnpkSUlXYjNBeE5TNTNaV0l0Y0d4aGRHWnZjbTB1ZEdW
emRJSVdiM0F4TXk1M1pXSXRjR3hoCitkR1p2Y20wdWRHVnpkSUlXYjNBM05TNTNaV0l0Y0d4aGRH
WnZjbTB1ZEdWemRJSVdiM0EyTkM1M1pXSXRjR3hoCitkR1p2Y20wdWRHVnpkSUlXYjNBNU55NTNa
V0l0Y0d4aGRHWnZjbTB1ZEdWemRJSVdiM0F6Tnk1M1pXSXRjR3hoCitkR1p2Y20wdWRHVnpkSUlX
YjNBMU5pNTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSVdiM0EyTWk1M1pXSXRjR3hoCitkR1p2Y20w
dWRHVnpkSUlXYjNBNE1pNTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSVdiM0F5TlM1M1pXSXRjR3ho
CitkR1p2Y20wdWRHVnpkSUlXYjNBeE1TNTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSVdiM0ExTUM1
M1pXSXRjR3hoCitkR1p2Y20wdWRHVnpkSUlXYjNBek9DNTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJ
SVdiM0E0TXk1M1pXSXRjR3hoCitkR1p2Y20wdWRHVnpkSUlXYjNBNE1TNTNaV0l0Y0d4aGRHWnZj
bTB1ZEdWemRJSVdiM0F5TUM1M1pXSXRjR3hoCitkR1p2Y20wdWRHVnpkSUlXYjNBeU1TNTNaV0l0
Y0d4aGRHWnZjbTB1ZEdWemRJSVdiM0F5TXk1M1pXSXRjR3hoCitkR1p2Y20wdWRHVnpkSUlXYjNB
ME1pNTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSVdiM0F5TWk1M1pXSXRjR3hoCitkR1p2Y20wdWRH
VnpkSUlXYjNBMk5TNTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSVdiM0E1Tmk1M1pXSXRjR3hoCitk
R1p2Y20wdWRHVnpkSUlXYjNBNE55NTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSVdiM0F4T1M1M1pX
SXRjR3hoCitkR1p2Y20wdWRHVnpkSUlXYjNBMU15NTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSVdi
M0F6TUM1M1pXSXRjR3hoCitkR1p2Y20wdWRHVnpkSUlXYjNBME9DNTNaV0l0Y0d4aGRHWnZjbTB1
ZEdWemRJSVdiM0F6TkM1M1pXSXRjR3hoCitkR1p2Y20wdWRHVnpkSUlaYjNBMkxtNXZkQzEzWldJ
dGNHeGhkR1p2Y20wdWRHVnpkSUlaYjNBekxtNXZkQzEzCitaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJ
SVpiM0F5TG01dmRDMTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSVpiM0ExCitMbTV2ZEMxM1pXSXRj
R3hoZEdadmNtMHVkR1Z6ZElJWmQzZDNMbTV2ZEMxM1pXSXRjR3hoZEdadmNtMHVkR1Z6CitkSUla
ZDNkM0xuZDNkeTUzWldJdGNHeGhkR1p2Y20wdWRHVnpkSUlaYjNBM0xtNXZkQzEzWldJdGNHeGhk
R1p2CitjbTB1ZEdWemRJSVpiM0EwTG01dmRDMTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSVpiM0E0
TG01dmRDMTNaV0l0CitjR3hoZEdadmNtMHVkR1Z6ZElJWmIzQTVMbTV2ZEMxM1pXSXRjR3hoZEda
dmNtMHVkR1Z6ZElJWmIzQXhMbTV2CitkQzEzWldJdGNHeGhkR1p2Y20wdWRHVnpkSUlhYjNBek5p
NXViM1F0ZDJWaUxYQnNZWFJtYjNKdExuUmxjM1NDCitHbTl3TlRNdWJtOTBMWGRsWWkxd2JHRjBa
bTl5YlM1MFpYTjBnaHB2Y0RVd0xtNXZkQzEzWldJdGNHeGhkR1p2CitjbTB1ZEdWemRJSWFiM0F5
TkM1dWIzUXRkMlZpTFhCc1lYUm1iM0p0TG5SbGMzU0NHbTl3TXpFdWJtOTBMWGRsCitZaTF3YkdG
MFptOXliUzUwWlhOMGdocHZjRGsxTG01dmRDMTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSWFiM0E0
CitNeTV1YjNRdGQyVmlMWEJzWVhSbWIzSnRMblJsYzNTQ0duZDNkekl1Ym05MExYZGxZaTF3YkdG
MFptOXliUzUwCitaWE4wZ2hwdmNEY3pMbTV2ZEMxM1pXSXRjR3hoZEdadmNtMHVkR1Z6ZElJYWIz
QXhPUzV1YjNRdGQyVmlMWEJzCitZWFJtYjNKdExuUmxjM1NDR205d01qRXVibTkwTFhkbFlpMXdi
R0YwWm05eWJTNTBaWE4wZ2hwdmNEZ3hMbTV2CitkQzEzWldJdGNHeGhkR1p2Y20wdWRHVnpkSUlh
YjNBM01DNXViM1F0ZDJWaUxYQnNZWFJtYjNKdExuUmxjM1NDCitHbTl3TnpndWJtOTBMWGRsWWkx
d2JHRjBabTl5YlM1MFpYTjBnaHB2Y0RRd0xtNXZkQzEzWldJdGNHeGhkR1p2CitjbTB1ZEdWemRJ
SWFiM0F5TlM1dWIzUXRkMlZpTFhCc1lYUm1iM0p0TG5SbGMzU0NHbTl3TmpVdWJtOTBMWGRsCitZ
aTF3YkdGMFptOXliUzUwWlhOMGdocDNkM2N1ZDNkM01pNTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJ
SWFiM0E0CitNQzV1YjNRdGQyVmlMWEJzWVhSbWIzSnRMblJsYzNTQ0dtOXdOVEl1Ym05MExYZGxZ
aTF3YkdGMFptOXliUzUwCitaWE4wZ2hwdmNEWTRMbTV2ZEMxM1pXSXRjR3hoZEdadmNtMHVkR1Z6
ZElJYWIzQTBOUzV1YjNRdGQyVmlMWEJzCitZWFJtYjNKdExuUmxjM1NDR205d056RXVibTkwTFhk
bFlpMXdiR0YwWm05eWJTNTBaWE4wZ2hwdmNEY3lMbTV2CitkQzEzWldJdGNHeGhkR1p2Y20wdWRH
VnpkSUlhYjNBNU1DNXViM1F0ZDJWaUxYQnNZWFJtYjNKdExuUmxjM1NDCitHbTl3T0RrdWJtOTBM
WGRsWWkxd2JHRjBabTl5YlM1MFpYTjBnaHB2Y0RRNUxtNXZkQzEzWldJdGNHeGhkR1p2CitjbTB1
ZEdWemRJSWFiM0EzTnk1dWIzUXRkMlZpTFhCc1lYUm1iM0p0TG5SbGMzU0NHbTl3TnprdWJtOTBM
WGRsCitZaTF3YkdGMFptOXliUzUwWlhOMGdocHZjRGd5TG01dmRDMTNaV0l0Y0d4aGRHWnZjbTB1
ZEdWemRJSWFkM2QzCitMbmQzZHpFdWQyVmlMWEJzWVhSbWIzSnRMblJsYzNTQ0dtOXdNVEl1Ym05
MExYZGxZaTF3YkdGMFptOXliUzUwCitaWE4wZ2hwdmNETTVMbTV2ZEMxM1pXSXRjR3hoZEdadmNt
MHVkR1Z6ZElJYWIzQTBOQzV1YjNRdGQyVmlMWEJzCitZWFJtYjNKdExuUmxjM1NDR25kM2R6RXVi
bTkwTFhkbFlpMXdiR0YwWm05eWJTNTBaWE4wZ2hwdmNEVTRMbTV2CitkQzEzWldJdGNHeGhkR1p2
Y20wdWRHVnpkSUlhYjNBeE5DNXViM1F0ZDJWaUxYQnNZWFJtYjNKdExuUmxjM1NDCitHbTl3TXpB
dWJtOTBMWGRsWWkxd2JHRjBabTl5YlM1MFpYTjBnaHB2Y0RZeUxtNXZkQzEzWldJdGNHeGhkR1p2
CitjbTB1ZEdWemRJSWFiM0EyTVM1dWIzUXRkMlZpTFhCc1lYUm1iM0p0TG5SbGMzU0NHbTl3T1RJ
dWJtOTBMWGRsCitZaTF3YkdGMFptOXliUzUwWlhOMGdocHZjREk1TG01dmRDMTNaV0l0Y0d4aGRH
WnZjbTB1ZEdWemRJSWFiM0E1CitPQzV1YjNRdGQyVmlMWEJzWVhSbWIzSnRMblJsYzNTQ0dtOXdO
alF1Ym05MExYZGxZaTF3YkdGMFptOXliUzUwCitaWE4wZ2hwdmNESTJMbTV2ZEMxM1pXSXRjR3ho
ZEdadmNtMHVkR1Z6ZElJYWIzQXlNaTV1YjNRdGQyVmlMWEJzCitZWFJtYjNKdExuUmxjM1NDR205
d09UUXVibTkwTFhkbFlpMXdiR0YwWm05eWJTNTBaWE4wZ2hwdmNETTRMbTV2CitkQzEzWldJdGNH
eGhkR1p2Y20wdWRHVnpkSUlhYjNBek15NXViM1F0ZDJWaUxYQnNZWFJtYjNKdExuUmxjM1NDCitH
bTl3TWpNdWJtOTBMWGRsWWkxd2JHRjBabTl5YlM1MFpYTjBnaHB2Y0RVM0xtNXZkQzEzWldJdGNH
eGhkR1p2CitjbTB1ZEdWemRJSWFiM0ExTkM1dWIzUXRkMlZpTFhCc1lYUm1iM0p0TG5SbGMzU0NH
bTl3T0RVdWJtOTBMWGRsCitZaTF3YkdGMFptOXliUzUwWlhOMGdocHZjRFEyTG01dmRDMTNaV0l0
Y0d4aGRHWnZjbTB1ZEdWemRJSWFiM0E1CitOeTV1YjNRdGQyVmlMWEJzWVhSbWIzSnRMblJsYzNT
Q0dtOXdNekl1Ym05MExYZGxZaTF3YkdGMFptOXliUzUwCitaWE4wZ2hwdmNEWXdMbTV2ZEMxM1pX
SXRjR3hoZEdadmNtMHVkR1Z6ZElJYWIzQTVOaTV1YjNRdGQyVmlMWEJzCitZWFJtYjNKdExuUmxj
M1NDR205d05URXVibTkwTFhkbFlpMXdiR0YwWm05eWJTNTBaWE4wZ2hwdmNEUXhMbTV2CitkQzEz
WldJdGNHeGhkR1p2Y20wdWRHVnpkSUlhYjNBek5TNXViM1F0ZDJWaUxYQnNZWFJtYjNKdExuUmxj
M1NDCitHbTl3T1RrdWJtOTBMWGRsWWkxd2JHRjBabTl5YlM1MFpYTjBnaHB2Y0RReUxtNXZkQzEz
WldJdGNHeGhkR1p2CitjbTB1ZEdWemRJSWFiM0EyTnk1dWIzUXRkMlZpTFhCc1lYUm1iM0p0TG5S
bGMzU0NHbTl3TXpjdWJtOTBMWGRsCitZaTF3YkdGMFptOXliUzUwWlhOMGdocHZjRFE0TG01dmRD
MTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSWFiM0ExCitOUzV1YjNRdGQyVmlMWEJzWVhSbWIzSnRM
blJsYzNTQ0dtOXdOVFl1Ym05MExYZGxZaTF3YkdGMFptOXliUzUwCitaWE4wZ2hwdmNEZzBMbTV2
ZEMxM1pXSXRjR3hoZEdadmNtMHVkR1Z6ZElJYWIzQXpOQzV1YjNRdGQyVmlMWEJzCitZWFJtYjNK
dExuUmxjM1NDR205d05qa3VibTkwTFhkbFlpMXdiR0YwWm05eWJTNTBaWE4wZ2hwdmNERXhMbTV2
CitkQzEzWldJdGNHeGhkR1p2Y20wdWRHVnpkSUlhYjNBNU15NXViM1F0ZDJWaUxYQnNZWFJtYjNK
dExuUmxjM1NDCitHbmQzZHpFdWQzZDNMbmRsWWkxd2JHRjBabTl5YlM1MFpYTjBnaHB2Y0RnMkxt
NXZkQzEzWldJdGNHeGhkR1p2CitjbTB1ZEdWemRJSWFiM0F4TXk1dWIzUXRkMlZpTFhCc1lYUm1i
M0p0TG5SbGMzU0NHbTl3TWpBdWJtOTBMWGRsCitZaTF3YkdGMFptOXliUzUwWlhOMGdocHZjRGMy
TG01dmRDMTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSWFiM0F5CitOeTV1YjNRdGQyVmlMWEJzWVhS
bWIzSnRMblJsYzNTQ0dtOXdNVGN1Ym05MExYZGxZaTF3YkdGMFptOXliUzUwCitaWE4wZ2hwdmNE
YzFMbTV2ZEMxM1pXSXRjR3hoZEdadmNtMHVkR1Z6ZElJYWIzQXhOUzV1YjNRdGQyVmlMWEJzCitZ
WFJtYjNKdExuUmxjM1NDR205d05EY3VibTkwTFhkbFlpMXdiR0YwWm05eWJTNTBaWE4wZ2hwdmNE
RTRMbTV2CitkQzEzWldJdGNHeGhkR1p2Y20wdWRHVnpkSUlhYjNBMk15NXViM1F0ZDJWaUxYQnNZ
WFJtYjNKdExuUmxjM1NDCitHbTl3TWpndWJtOTBMWGRsWWkxd2JHRjBabTl5YlM1MFpYTjBnaHB2
Y0RRekxtNXZkQzEzWldJdGNHeGhkR1p2CitjbTB1ZEdWemRJSWFiM0EyTmk1dWIzUXRkMlZpTFhC
c1lYUm1iM0p0TG5SbGMzU0NHbmQzZHpJdWQzZDNMbmRsCitZaTF3YkdGMFptOXliUzUwWlhOMGdo
cHZjRGt4TG01dmRDMTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSWFiM0EzCitOQzV1YjNRdGQyVmlM
WEJzWVhSbWIzSnRMblJsYzNTQ0dtOXdOVGt1Ym05MExYZGxZaTF3YkdGMFptOXliUzUwCitaWE4w
Z2hwdmNEZzRMbTV2ZEMxM1pXSXRjR3hoZEdadmNtMHVkR1Z6ZElJYWIzQTROeTV1YjNRdGQyVmlM
WEJzCitZWFJtYjNKdExuUmxjM1NDR205d01UQXVibTkwTFhkbFlpMXdiR0YwWm05eWJTNTBaWE4w
Z2hwdmNERTJMbTV2CitkQzEzWldJdGNHeGhkR1p2Y20wdWRHVnpkSUliZDNkM01TNTNkM2N5TG5k
bFlpMXdiR0YwWm05eWJTNTBaWE4wCitnaHQzZDNjeUxuZDNkekl1ZDJWaUxYQnNZWFJtYjNKdExu
UmxjM1NDRzNkM2R6SXVkM2QzTVM1M1pXSXRjR3hoCitkR1p2Y20wdWRHVnpkSUliZDNkM01TNTNk
M2N4TG5kbFlpMXdiR0YwWm05eWJTNTBaWE4wZ2gxM2QzY3VkM2QzCitMbTV2ZEMxM1pXSXRjR3ho
ZEdadmNtMHVkR1Z6ZElJZWVHNHRMV3gyWlMwMmJHRmtMbmRsWWkxd2JHRjBabTl5CitiUzUwWlhO
MGdoNTNkM2N4TG5kM2R5NXViM1F0ZDJWaUxYQnNZWFJtYjNKdExuUmxjM1NDSG5kM2R5NTNkM2N5
CitMbTV2ZEMxM1pXSXRjR3hoZEdadmNtMHVkR1Z6ZElJZWQzZDNNaTUzZDNjdWJtOTBMWGRsWWkx
d2JHRjBabTl5CitiUzUwWlhOMGdoNTNkM2N1ZDNkM01TNXViM1F0ZDJWaUxYQnNZWFJtYjNKdExu
UmxjM1NDSDNkM2R6SXVkM2QzCitNaTV1YjNRdGQyVmlMWEJzWVhSbWIzSnRMblJsYzNTQ0gzZDNk
ekl1ZDNkM01TNXViM1F0ZDJWaUxYQnNZWFJtCitiM0p0TG5SbGMzU0NIM2QzZHpFdWQzZDNNUzV1
YjNRdGQyVmlMWEJzWVhSbWIzSnRMblJsYzNTQ0gzZDNkekV1CitkM2QzTWk1dWIzUXRkMlZpTFhC
c1lYUm1iM0p0TG5SbGMzU0NJbmh1TFMxc2RtVXRObXhoWkM1M2QzY3VkMlZpCitMWEJzWVhSbWIz
SnRMblJsYzNTQ0luaHVMUzFzZG1VdE5teGhaQzV1YjNRdGQyVmlMWEJzWVhSbWIzSnRMblJsCitj
M1NDSW5kM2R5NTRiaTB0YkhabExUWnNZV1F1ZDJWaUxYQnNZWFJtYjNKdExuUmxjM1NDSTNkM2R6
SXVlRzR0CitMV3gyWlMwMmJHRmtMbmRsWWkxd2JHRjBabTl5YlM1MFpYTjBnaU40YmkwdGJIWmxM
VFpzWVdRdWQzZDNNaTUzCitaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSWplRzR0TFd4MlpTMDJiR0Zr
TG5kM2R6RXVkMlZpTFhCc1lYUm1iM0p0CitMblJsYzNTQ0kzZDNkekV1ZUc0dExXeDJaUzAyYkdG
a0xuZGxZaTF3YkdGMFptOXliUzUwWlhOMGdpWjRiaTB0CitiSFpsTFRac1lXUXVkM2QzTG01dmRD
MTNaV0l0Y0d4aGRHWnZjbTB1ZEdWemRJSW1kM2QzTG5odUxTMXNkbVV0CitObXhoWkM1dWIzUXRk
MlZpTFhCc1lYUm1iM0p0TG5SbGMzU0NKM2h1TFMxc2RtVXRObXhoWkM1M2QzY3hMbTV2CitkQzEz
WldJdGNHeGhkR1p2Y20wdWRHVnpkSUluZDNkM01pNTRiaTB0YkhabExUWnNZV1F1Ym05MExYZGxZ
aTF3CitiR0YwWm05eWJTNTBaWE4wZ2lkM2QzY3hMbmh1TFMxc2RtVXRObXhoWkM1dWIzUXRkMlZp
TFhCc1lYUm1iM0p0CitMblJsYzNTQ0ozaHVMUzFzZG1VdE5teGhaQzUzZDNjeUxtNXZkQzEzWldJ
dGNHeGhkR1p2Y20wdWRHVnpkSUlwCitlRzR0TFc0NGFqWmtjelV6YkhkM2EzSnhhSFl5T0dFdWQy
VmlMWEJzWVhSbWIzSnRMblJsYzNTQ0szaHVMUzFzCitkbVV0Tm14aFpDNTRiaTB0YkhabExUWnNZ
V1F1ZDJWaUxYQnNZWFJtYjNKdExuUmxjM1NDTFhkM2R5NTRiaTB0CitiamhxTm1Sek5UTnNkM2Ry
Y25Gb2RqSTRZUzUzWldJdGNHeGhkR1p2Y20wdWRHVnpkSUl0ZUc0dExXNDRhalprCitjelV6Ykhk
M2EzSnhhSFl5T0dFdWJtOTBMWGRsWWkxd2JHRjBabTl5YlM1MFpYTjBnaTE0YmkwdGJqaHFObVJ6
CitOVE5zZDNkcmNuRm9kakk0WVM1M2QzY3VkMlZpTFhCc1lYUm1iM0p0TG5SbGMzU0NMbmQzZHpF
dWVHNHRMVzQ0CithalprY3pVemJIZDNhM0p4YUhZeU9HRXVkMlZpTFhCc1lYUm1iM0p0TG5SbGMz
U0NMbmh1TFMxdU9HbzJaSE0xCitNMngzZDJ0eWNXaDJNamhoTG5kM2R6SXVkMlZpTFhCc1lYUm1i
M0p0TG5SbGMzU0NMbmh1TFMxdU9HbzJaSE0xCitNMngzZDJ0eWNXaDJNamhoTG5kM2R6RXVkMlZp
TFhCc1lYUm1iM0p0TG5SbGMzU0NMbmQzZHpJdWVHNHRMVzQ0CithalprY3pVemJIZDNhM0p4YUhZ
eU9HRXVkMlZpTFhCc1lYUm1iM0p0TG5SbGMzU0NMM2h1TFMxc2RtVXRObXhoCitaQzU0YmkwdGJI
WmxMVFpzWVdRdWJtOTBMWGRsWWkxd2JHRjBabTl5YlM1MFpYTjBnakYzZDNjdWVHNHRMVzQ0Cith
alprY3pVemJIZDNhM0p4YUhZeU9HRXVibTkwTFhkbFlpMXdiR0YwWm05eWJTNTBaWE4wZ2pGNGJp
MHRiamhxCitObVJ6TlROc2QzZHJjbkZvZGpJNFlTNTNkM2N1Ym05MExYZGxZaTF3YkdGMFptOXli
UzUwWlhOMGdqSjRiaTB0CitiamhxTm1Sek5UTnNkM2RyY25Gb2RqSTRZUzUzZDNjeUxtNXZkQzEz
WldJdGNHeGhkR1p2Y20wdWRHVnpkSUl5CitkM2QzTVM1NGJpMHRiamhxTm1Sek5UTnNkM2RyY25G
b2RqSTRZUzV1YjNRdGQyVmlMWEJzWVhSbWIzSnRMblJsCitjM1NDTW5kM2R6SXVlRzR0TFc0NGFq
WmtjelV6YkhkM2EzSnhhSFl5T0dFdWJtOTBMWGRsWWkxd2JHRjBabTl5CitiUzUwWlhOMGdqSjRi
aTB0YmpocU5tUnpOVE5zZDNkcmNuRm9kakk0WVM1M2QzY3hMbTV2ZEMxM1pXSXRjR3hoCitkR1p2
Y20wdWRHVnpkSUkyZUc0dExXNDRhalprY3pVemJIZDNhM0p4YUhZeU9HRXVlRzR0TFd4MlpTMDJi
R0ZrCitMbmRsWWkxd2JHRjBabTl5YlM1MFpYTjBnalo0YmkwdGJIWmxMVFpzWVdRdWVHNHRMVzQ0
YWpaa2N6VXpiSGQzCithM0p4YUhZeU9HRXVkMlZpTFhCc1lYUm1iM0p0TG5SbGMzU0NPbmh1TFMx
dU9HbzJaSE0xTTJ4M2QydHljV2gyCitNamhoTG5odUxTMXNkbVV0Tm14aFpDNXViM1F0ZDJWaUxY
QnNZWFJtYjNKdExuUmxjM1NDT25odUxTMXNkbVV0CitObXhoWkM1NGJpMHRiamhxTm1Sek5UTnNk
M2RyY25Gb2RqSTRZUzV1YjNRdGQyVmlMWEJzWVhSbWIzSnRMblJsCitjM1NDUVhodUxTMXVPR28y
WkhNMU0yeDNkMnR5Y1doMk1qaGhMbmh1TFMxdU9HbzJaSE0xTTJ4M2QydHljV2gyCitNamhoTG5k
bFlpMXdiR0YwWm05eWJTNTBaWE4wZ2tWNGJpMHRiamhxTm1Sek5UTnNkM2RyY25Gb2RqSTRZUzU0
CitiaTB0YmpocU5tUnpOVE5zZDNkcmNuRm9kakk0WVM1dWIzUXRkMlZpTFhCc1lYUm1iM0p0TG5S
bGMzUXdEUVlKCitLb1pJaHZjTkFRRUxCUUFEZ2dFQkFBdUxWV3EwWmFncU84QmlEb1hWM0ptZlA5
QzMvOHUyYU9XdTA2Sk95TlNxCitOSlhrbmt2a2RPVEU3QkV4WitXbTJvVnJEOWRrdCtmci9nbTJp
T0YwSFF3Vm95NEJBL3hubkh5NjV2dFNIVmpOCithS05Wakp0WHU0a3lFRUZ4bWFNYTNDVXQwTGth
citaMlFOZjFJNm5ZV1VXS3ExTlRoOHdVczRmZUhRR1plazl5CitSMm1jbUhPVWVaQWxjQUxzZGJK
M0VTaVh6VU05MVdnNGMzSDlxUXVpN1MwY2J1RUYxRENtWkFRUXl1am00SHFwCis5Q2FVYTZRb3Fn
enJQdUR2MHI0TGNPVGRUUHlpaHd3a2czTGk1RzhscU83RkVvblozWStDRk1QV0JxNGR1M3M4Cisv
SnNuVmxDMEtFUmdnQmVISExIT2JYZTAwU3N5Nk5DNkJtOU5CUDlnL3VNPQorLS0tLS1FTkQgQ0VS
VElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy9xdWljL2NlcnRzL2NvbmZpZy5qc29uIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9xdWljL2NlcnRzL2NvbmZpZy5q
c29uCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjcyYTZkMDUyOWZiOTQ0OWM0YmZiMGM5MzU0NmE3OTYyYTVhYmQyMmMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3F1aWMvY2VydHMvY29uZmlnLmpzb24KQEAgLTAsMCArMSwxNyBAQAorewor
ICAgICJwb3J0cyI6IHsKKyAgICAgICAgImh0dHAiOiBbXSwKKyAgICAgICAgImh0dHBzIjogWyJh
dXRvIl0sCisgICAgICAgICJ3cyI6IFtdLAorICAgICAgICAid3NzIjogW10KKyAgICB9LAorICAg
ICJjaGVja19zdWJkb21haW5zIjogZmFsc2UsCisgICAgInNzbCI6IHsKKyAgICAgICAgInR5cGUi
OiAib3BlbnNzbCIsCisgICAgICAgICJvcGVuc3NsIjogeworICAgICAgICAgICAgImR1cmF0aW9u
IjogMzY1MCwKKyAgICAgICAgICAgICJmb3JjZV9yZWdlbmVyYXRlIjogZmFsc2UsCisgICAgICAg
ICAgICAiYmFzZV9wYXRoIjogInRvb2xzL2NlcnRzIgorICAgICAgICB9CisgICAgfQorfQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9xdWljL2NlcnRzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9xdWljL2NlcnRzL3czYy1pbXBvcnQubG9nCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjc5ZmM1YTE5ZjNjYjlkNjQzM2FlNDM0MzUxM2U4NDQ1ZGU4NDg4OTEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3F1aWMvY2VydHMvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwyMCBAQAorVGhlIHRlc3RzIGlu
IHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitE
byBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNy
ZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5j
b20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAorCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9p
bXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9y
IHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJp
bmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5k
b3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9xdWljL2NlcnRz
L1JFQURNRS5tZAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvcXVpYy9jZXJ0cy9jZXJ0LmtleQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvcXVpYy9jZXJ0cy9jZXJ0LnBlbQorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcXVpYy9jZXJ0cy9jb25maWcuanNv
bgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy9xdWljL2NvbW1hbmRzLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3F1aWMvY29tbWFuZHMuanNvbgpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNDQz
MjJlZWQzYmFmNDY3YzZkODA5ZmMyNmFjOTU4NTk4OTQyMzExCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9xdWljL2Nv
bW1hbmRzLmpzb24KQEAgLTAsMCArMSwxMyBAQAoreworICAic2VydmVxdWljIjogeworICAgICJw
YXRoIjogInNlcnZlLnB5IiwKKyAgICAic2NyaXB0IjogInJ1biIsCisgICAgInBhcnNlciI6ICJn
ZXRfcGFyc2VyIiwKKyAgICAicHkzb25seSI6IHRydWUsCisgICAgImhlbHAiOiAiU3RhcnQgdGhl
IFFVSUMgc2VydmVyIiwKKyAgICAidmlydHVhbGVudiI6IHRydWUsCisgICAgInJlcXVpcmVtZW50
cyI6IFsKKyAgICAgICJyZXF1aXJlbWVudHMudHh0IgorICAgIF0KKyAgfQorfQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9xdWlj
L3F1aWNfdHJhbnNwb3J0X3NlcnZlci5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvcXVpYy9xdWljX3RyYW5zcG9ydF9zZXJ2ZXIucHkKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uOWEwNGFkMTdmMTk1YzZlNWQyMzNlODRhOWIyMzkwNGNjY2ZlY2NkNgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvcXVpYy9xdWljX3RyYW5zcG9ydF9zZXJ2ZXIucHkKQEAgLTAsMCArMSwyNDYgQEAKKyMhL3Vz
ci9iaW4vZW52IHB5dGhvbjMKK2ltcG9ydCBhcmdwYXJzZQoraW1wb3J0IGFzeW5jaW8KK2ltcG9y
dCBpbworaW1wb3J0IGxvZ2dpbmcKK2ltcG9ydCBvcworaW1wb3J0IHJlCitpbXBvcnQgc3RydWN0
CitpbXBvcnQgdXJsbGliLnBhcnNlCitmcm9tIHR5cGluZyBpbXBvcnQgRGljdCwgT3B0aW9uYWwK
KworZnJvbSBhaW9xdWljLmFzeW5jaW8gaW1wb3J0IFF1aWNDb25uZWN0aW9uUHJvdG9jb2wsIHNl
cnZlCitmcm9tIGFpb3F1aWMucXVpYy5jb25maWd1cmF0aW9uIGltcG9ydCBRdWljQ29uZmlndXJh
dGlvbgorZnJvbSBhaW9xdWljLnF1aWMuY29ubmVjdGlvbiBpbXBvcnQgRU5EX1NUQVRFUworZnJv
bSBhaW9xdWljLnF1aWMuZXZlbnRzIGltcG9ydCBTdHJlYW1EYXRhUmVjZWl2ZWQsIFF1aWNFdmVu
dAorZnJvbSBhaW9xdWljLnRscyBpbXBvcnQgU2Vzc2lvblRpY2tldAorCitTRVJWRVJfTkFNRSA9
ICdhaW9xdWljLXRyYW5zcG9ydCcKKworaGFuZGxlcnNfcGF0aCA9IE5vbmUKKworCitjbGFzcyBF
dmVudEhhbmRsZXI6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGNvbm5lY3Rpb246IFF1aWNDb25u
ZWN0aW9uUHJvdG9jb2wsIGdsb2JhbF9kaWN0OiBEaWN0KToKKyAgICAgICAgc2VsZi5jb25uZWN0
aW9uID0gY29ubmVjdGlvbgorICAgICAgICBzZWxmLmdsb2JhbF9kaWN0ID0gZ2xvYmFsX2RpY3QK
KworICAgIGRlZiBoYW5kbGVfY2xpZW50X2luZGljYXRpb24oCisgICAgICAgICAgICBzZWxmLAor
ICAgICAgICAgICAgb3JpZ2luOiBzdHIsCisgICAgICAgICAgICBxdWVyeTogRGljdFtzdHIsIHN0
cl0pIC0+IE5vbmU6CisgICAgICAgIG5hbWUgPSAnaGFuZGxlX2NsaWVudF9pbmRpY2F0aW9uJwor
ICAgICAgICBpZiBuYW1lIGluIHNlbGYuZ2xvYmFsX2RpY3Q6CisgICAgICAgICAgICBzZWxmLmds
b2JhbF9kaWN0W25hbWVdKHNlbGYuY29ubmVjdGlvbiwgb3JpZ2luLCBxdWVyeSkKKworICAgIGRl
ZiBoYW5kbGVfZXZlbnQoc2VsZiwgZXZlbnQ6IFF1aWNFdmVudCkgLT4gTm9uZToKKyAgICAgICAg
bmFtZSA9ICdoYW5kbGVfZXZlbnQnCisgICAgICAgIGlmIG5hbWUgaW4gc2VsZi5nbG9iYWxfZGlj
dDoKKyAgICAgICAgICAgIHNlbGYuZ2xvYmFsX2RpY3RbbmFtZV0oc2VsZi5jb25uZWN0aW9uLCBl
dmVudCkKKworCitjbGFzcyBRdWljVHJhbnNwb3J0UHJvdG9jb2woUXVpY0Nvbm5lY3Rpb25Qcm90
b2NvbCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsICphcmdzLCAqKmt3YXJncykgLT4gTm9uZToK
KyAgICAgICAgc3VwZXIoKS5fX2luaXRfXygqYXJncywgKiprd2FyZ3MpCisgICAgICAgIHNlbGYu
c3RyZWFtcyA9IGRpY3QoKQorICAgICAgICBzZWxmLnBlbmRpbmdfZXZlbnRzID0gW10KKyAgICAg
ICAgc2VsZi5jbGllbnRfaW5kaWNhdGlvbl9maW5pc2hlZCA9IEZhbHNlCisgICAgICAgIHNlbGYu
Y2xpZW50X2luZGljYXRpb25fZGF0YSA9IGInJworICAgICAgICBzZWxmLmhhbmRsZXIgPSBOb25l
CisKKyAgICBkZWYgcXVpY19ldmVudF9yZWNlaXZlZChzZWxmLCBldmVudDogUXVpY0V2ZW50KSAt
PiBOb25lOgorICAgICAgICBwcmVmaXggPSAnISEnCisgICAgICAgIGxvZ2dpbmcubG9nKGxvZ2dp
bmcuSU5GTywgJ1FVSUMgZXZlbnQ6ICVzJyAlIHR5cGUoZXZlbnQpKQorICAgICAgICB0cnk6Cisg
ICAgICAgICAgICBpZiAobm90IHNlbGYuY2xpZW50X2luZGljYXRpb25fZmluaXNoZWQgYW5kCisg
ICAgICAgICAgICAgICAgICAgIGlzaW5zdGFuY2UoZXZlbnQsIFN0cmVhbURhdGFSZWNlaXZlZCkg
YW5kCisgICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0cmVhbV9pZCA9PSAyKToKKyAgICAgICAg
ICAgICAgICAjIGNsaWVudCBpbmRpY2F0aW9uIHByb2Nlc3MKKyAgICAgICAgICAgICAgICBwcmVm
aXggPSAnQ2xpZW50IGluZGljYXRpb24gZXJyb3I6ICcKKyAgICAgICAgICAgICAgICBzZWxmLmNs
aWVudF9pbmRpY2F0aW9uX2RhdGEgKz0gZXZlbnQuZGF0YQorICAgICAgICAgICAgICAgIGlmIGxl
bihzZWxmLmNsaWVudF9pbmRpY2F0aW9uX2RhdGEpID4gNjU1MzU6CisgICAgICAgICAgICAgICAg
ICAgIHJhaXNlIEV4Y2VwdGlvbigndG9vIGxhcmdlIGRhdGEgZm9yIGNsaWVudCBpbmRpY2F0aW9u
JykKKyAgICAgICAgICAgICAgICBpZiBldmVudC5lbmRfc3RyZWFtOgorICAgICAgICAgICAgICAg
ICAgICBzZWxmLnByb2Nlc3NfY2xpZW50X2luZGljYXRpb24oKQorICAgICAgICAgICAgICAgICAg
ICBpZiBzZWxmLmlzX2Nsb3Npbmdfb3JfY2xvc2VkKCk6CisgICAgICAgICAgICAgICAgICAgICAg
ICByZXR1cm4KKyAgICAgICAgICAgICAgICAgICAgcHJlZml4ID0gJ0V2ZW50IGhhbmRsaW5nIEVy
cm9yOiAnCisgICAgICAgICAgICAgICAgICAgIGZvciBlIGluIHNlbGYucGVuZGluZ19ldmVudHM6
CisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmhhbmRsZXIuaGFuZGxlX2V2ZW50KGUpCisg
ICAgICAgICAgICAgICAgICAgIHNlbGYucGVuZGluZ19ldmVudHMuY2xlYXIoKQorICAgICAgICAg
ICAgZWxpZiBub3Qgc2VsZi5jbGllbnRfaW5kaWNhdGlvbl9maW5pc2hlZDoKKyAgICAgICAgICAg
ICAgICBzZWxmLnBlbmRpbmdfZXZlbnRzLmFwcGVuZChldmVudCkKKyAgICAgICAgICAgIGVsaWYg
c2VsZi5oYW5kbGVyIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgIHByZWZpeCA9ICdFdmVu
dCBoYW5kbGluZyBFcnJvcjogJworICAgICAgICAgICAgICAgIHNlbGYuaGFuZGxlci5oYW5kbGVf
ZXZlbnQoZXZlbnQpCisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAg
IHNlbGYuaGFuZGxlciA9IE5vbmUKKyAgICAgICAgICAgIGxvZ2dpbmcubG9nKGxvZ2dpbmcuV0FS
TiwgcHJlZml4ICsgc3RyKGUpKQorICAgICAgICAgICAgc2VsZi5jbG9zZSgpCisKKyAgICBkZWYg
cGFyc2VfY2xpZW50X2luZGljYXRpb24oc2VsZiwgYnMpOgorICAgICAgICB3aGlsZSBUcnVlOgor
ICAgICAgICAgICAga2V5X2IgPSBicy5yZWFkKDIpCisgICAgICAgICAgICBpZiBsZW4oa2V5X2Ip
ID09IDA6CisgICAgICAgICAgICAgICAgcmV0dXJuCisgICAgICAgICAgICBsZW5ndGhfYiA9IGJz
LnJlYWQoMikKKyAgICAgICAgICAgIGlmIGxlbihrZXlfYikgIT0gMjoKKyAgICAgICAgICAgICAg
ICByYWlzZSBFeGNlcHRpb24oJ2ZhaWxlZCB0byBnZXQgIktleSIgZmllbGQnKQorICAgICAgICAg
ICAgaWYgbGVuKGxlbmd0aF9iKSAhPSAyOgorICAgICAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlv
bignZmFpbGVkIHRvIGdldCAiTGVuZ3RoIiBmaWVsZCcpCisgICAgICAgICAgICBrZXkgPSBzdHJ1
Y3QudW5wYWNrKCchSCcsIGtleV9iKVswXQorICAgICAgICAgICAgbGVuZ3RoID0gc3RydWN0LnVu
cGFjaygnIUgnLCBsZW5ndGhfYilbMF0KKyAgICAgICAgICAgIHZhbHVlID0gYnMucmVhZChsZW5n
dGgpCisgICAgICAgICAgICBpZiBsZW4odmFsdWUpICE9IGxlbmd0aDoKKyAgICAgICAgICAgICAg
ICByYWlzZSBFeGNlcHRpb24oJ3RydW5jYXRlZCAiVmFsdWUiIGZpZWxkJykKKyAgICAgICAgICAg
IHlpZWxkIChrZXksIHZhbHVlKQorCisgICAgZGVmIHByb2Nlc3NfY2xpZW50X2luZGljYXRpb24o
c2VsZikgLT4gTm9uZToKKyAgICAgICAgb3JpZ2luID0gTm9uZQorICAgICAgICBvcmlnaW5fc3Ry
aW5nID0gTm9uZQorICAgICAgICBwYXRoID0gTm9uZQorICAgICAgICBwYXRoX3N0cmluZyA9IE5v
bmUKKyAgICAgICAgS0VZX09SSUdJTiA9IDAKKyAgICAgICAgS0VZX1BBVEggPSAxCisgICAgICAg
IGZvciAoa2V5LCB2YWx1ZSkgaW4gc2VsZi5wYXJzZV9jbGllbnRfaW5kaWNhdGlvbigKKyAgICAg
ICAgICAgICAgICBpby5CeXRlc0lPKHNlbGYuY2xpZW50X2luZGljYXRpb25fZGF0YSkpOgorICAg
ICAgICAgICAgaWYga2V5ID09IEtFWV9PUklHSU46CisgICAgICAgICAgICAgICAgb3JpZ2luX3N0
cmluZyA9IHZhbHVlLmRlY29kZSgpCisgICAgICAgICAgICAgICAgb3JpZ2luID0gdXJsbGliLnBh
cnNlLnVybHBhcnNlKG9yaWdpbl9zdHJpbmcpCisgICAgICAgICAgICBlbGlmIGtleSA9PSBLRVlf
UEFUSDoKKyAgICAgICAgICAgICAgICBwYXRoX3N0cmluZyA9IHZhbHVlLmRlY29kZSgpCisgICAg
ICAgICAgICAgICAgcGF0aCA9IHVybGxpYi5wYXJzZS51cmxwYXJzZShwYXRoX3N0cmluZykKKyAg
ICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgIyBXZSBtdXN0IGlnbm9yZSB1bnJlY29n
bml6ZWQgZmllbGRzLgorICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgbG9nZ2luZy5sb2co
bG9nZ2luZy5JTkZPLAorICAgICAgICAgICAgICAgICAgICAnb3JpZ2luID0gJXMsIHBhdGggPSAl
cycgJSAob3JpZ2luX3N0cmluZywgcGF0aF9zdHJpbmcpKQorICAgICAgICBpZiBvcmlnaW4gaXMg
Tm9uZToKKyAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbignTm8gb3JpZ2luIGlzIGdpdmVuJykK
KyAgICAgICAgaWYgcGF0aCBpcyBOb25lOgorICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCdO
byBwYXRoIGlzIGdpdmVuJykKKyAgICAgICAgaWYgb3JpZ2luLnNjaGVtZSAhPSAnaHR0cHMnIGFu
ZCBvcmlnaW4uc2NoZW1lICE9ICdodHRwJzoKKyAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbign
SW52YWxpZCBvcmlnaW46ICVzJyAlIG9yaWdpbl9zdHJpbmcpCisgICAgICAgIGlmIG9yaWdpbi5u
ZXRsb2MgPT0gJyc6CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oJ0ludmFsaWQgb3JpZ2lu
OiAlcycgJSBvcmlnaW5fc3RyaW5nKQorCisgICAgICAgICMgVG8gbWFrZSB0aGUgc2l0dWF0aW9u
IHNpbXBsZSB3ZSBhY2NlcHQgb25seSBzaW1wbGUgcGF0aCBzdHJpbmdzLgorICAgICAgICBtID0g
cmUuY29tcGlsZSgnXi8oW2EtekEtWjAtOVwuX1wtXSspJCcpLm1hdGNoKHBhdGgucGF0aCkKKyAg
ICAgICAgaWYgbSBpcyBOb25lOgorICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCdJbnZhbGlk
IHBhdGg6ICVzJyAlIHBhdGhfc3RyaW5nKQorCisgICAgICAgIGhhbmRsZXJfbmFtZSA9IG0uZ3Jv
dXAoMSkKKyAgICAgICAgcXVlcnkgPSBkaWN0KHVybGxpYi5wYXJzZS5wYXJzZV9xc2wocGF0aC5x
dWVyeSkpCisgICAgICAgIHNlbGYuaGFuZGxlciA9IHNlbGYuY3JlYXRlX2V2ZW50X2hhbmRsZXIo
aGFuZGxlcl9uYW1lKQorICAgICAgICBzZWxmLmhhbmRsZXIuaGFuZGxlX2NsaWVudF9pbmRpY2F0
aW9uKG9yaWdpbl9zdHJpbmcsIHF1ZXJ5KQorICAgICAgICBpZiBzZWxmLmlzX2Nsb3Npbmdfb3Jf
Y2xvc2VkKCk6CisgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgc2VsZi5jbGllbnRfaW5kaWNh
dGlvbl9maW5pc2hlZCA9IFRydWUKKyAgICAgICAgbG9nZ2luZy5sb2cobG9nZ2luZy5JTkZPLCAn
Q2xpZW50IGluZGljYXRpb24gZmluaXNoZWQnKQorCisgICAgZGVmIGNyZWF0ZV9ldmVudF9oYW5k
bGVyKHNlbGYsIGhhbmRsZXJfbmFtZTogc3RyKSAtPiBOb25lOgorICAgICAgICBnbG9iYWxfZGlj
dCA9IHt9CisgICAgICAgIHdpdGggb3BlbihoYW5kbGVyc19wYXRoICsgJy8nICsgaGFuZGxlcl9u
YW1lKSBhcyBmOgorICAgICAgICAgICAgZXhlYyhmLnJlYWQoKSwgZ2xvYmFsX2RpY3QpCisgICAg
ICAgIHJldHVybiBFdmVudEhhbmRsZXIoc2VsZiwgZ2xvYmFsX2RpY3QpCisKKyAgICBkZWYgaXNf
Y2xvc2luZ19vcl9jbG9zZWQoc2VsZikgLT4gYm9vbDoKKyAgICAgICAgaWYgc2VsZi5fcXVpYy5f
Y2xvc2VfcGVuZGluZzoKKyAgICAgICAgICAgIHJldHVybiBUcnVlCisgICAgICAgIGlmIHNlbGYu
X3F1aWMuX3N0YXRlIGluIEVORF9TVEFURVM6CisgICAgICAgICAgICByZXR1cm4gVHJ1ZQorICAg
ICAgICByZXR1cm4gRmFsc2UKKworCitjbGFzcyBTZXNzaW9uVGlja2V0U3RvcmU6CisgICAgJycn
CisgICAgU2ltcGxlIGluLW1lbW9yeSBzdG9yZSBmb3Igc2Vzc2lvbiB0aWNrZXRzLgorICAgICcn
JworCisgICAgZGVmIF9faW5pdF9fKHNlbGYpIC0+IE5vbmU6CisgICAgICAgIHNlbGYudGlja2V0
czogRGljdFtieXRlcywgU2Vzc2lvblRpY2tldF0gPSB7fQorCisgICAgZGVmIGFkZChzZWxmLCB0
aWNrZXQ6IFNlc3Npb25UaWNrZXQpIC0+IE5vbmU6CisgICAgICAgIHNlbGYudGlja2V0c1t0aWNr
ZXQudGlja2V0XSA9IHRpY2tldAorCisgICAgZGVmIHBvcChzZWxmLCBsYWJlbDogYnl0ZXMpIC0+
IE9wdGlvbmFsW1Nlc3Npb25UaWNrZXRdOgorICAgICAgICByZXR1cm4gc2VsZi50aWNrZXRzLnBv
cChsYWJlbCwgTm9uZSkKKworCitpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorICAgIHBhcnNl
ciA9IGFyZ3BhcnNlLkFyZ3VtZW50UGFyc2VyKGRlc2NyaXB0aW9uPSdRVUlDIHNlcnZlcicpCisg
ICAgcGFyc2VyLmFkZF9hcmd1bWVudCgKKyAgICAgICAgJy1jJywKKyAgICAgICAgJy0tY2VydGlm
aWNhdGUnLAorICAgICAgICB0eXBlPXN0ciwKKyAgICAgICAgcmVxdWlyZWQ9VHJ1ZSwKKyAgICAg
ICAgaGVscD0nbG9hZCB0aGUgVExTIGNlcnRpZmljYXRlIGZyb20gdGhlIHNwZWNpZmllZCBmaWxl
JywKKyAgICApCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgKKyAgICAgICAgJy0taG9zdCcsCisg
ICAgICAgIHR5cGU9c3RyLAorICAgICAgICBkZWZhdWx0PSc6OicsCisgICAgICAgIGhlbHA9J2xp
c3RlbiBvbiB0aGUgc3BlY2lmaWVkIGFkZHJlc3MgKGRlZmF1bHRzIHRvIDo6KScsCisgICAgKQor
ICAgIHBhcnNlci5hZGRfYXJndW1lbnQoCisgICAgICAgICctLXBvcnQnLAorICAgICAgICB0eXBl
PWludCwKKyAgICAgICAgZGVmYXVsdD00NDMzLAorICAgICAgICBoZWxwPSdsaXN0ZW4gb24gdGhl
IHNwZWNpZmllZCBwb3J0IChkZWZhdWx0cyB0byA0NDMzKScsCisgICAgKQorICAgIHBhcnNlci5h
ZGRfYXJndW1lbnQoCisgICAgICAgICctaycsCisgICAgICAgICctLXByaXZhdGUta2V5JywKKyAg
ICAgICAgdHlwZT1zdHIsCisgICAgICAgIHJlcXVpcmVkPVRydWUsCisgICAgICAgIGhlbHA9J2xv
YWQgdGhlIFRMUyBwcml2YXRlIGtleSBmcm9tIHRoZSBzcGVjaWZpZWQgZmlsZScsCisgICAgKQor
ICAgIHBhcnNlci5hZGRfYXJndW1lbnQoCisgICAgICAgICctLWhhbmRsZXJzLXBhdGgnLAorICAg
ICAgICB0eXBlPXN0ciwKKyAgICAgICAgcmVxdWlyZWQ9VHJ1ZSwKKyAgICAgICAgaGVscD0ndGhl
IGRpcmVjdG9yeSBwYXRoIG9mIFF1aWNUcmFuc3BvcnQgZXZlbnQgaGFuZGxlcnMnLAorICAgICkK
KyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KAorICAgICAgICAnLXYnLAorICAgICAgICAnLS12ZXJi
b3NlJywKKyAgICAgICAgYWN0aW9uPSdzdG9yZV90cnVlJywKKyAgICAgICAgaGVscD0naW5jcmVh
c2UgbG9nZ2luZyB2ZXJib3NpdHknCisgICAgKQorICAgIGFyZ3MgPSBwYXJzZXIucGFyc2VfYXJn
cygpCisKKyAgICBsb2dnaW5nLmJhc2ljQ29uZmlnKAorICAgICAgICBmb3JtYXQ9JyUoYXNjdGlt
ZSlzICUobGV2ZWxuYW1lKXMgJShuYW1lKXMgJShtZXNzYWdlKXMnLAorICAgICAgICBsZXZlbD1s
b2dnaW5nLkRFQlVHIGlmIGFyZ3MudmVyYm9zZSBlbHNlIGxvZ2dpbmcuSU5GTywKKyAgICApCisK
KyAgICBjb25maWd1cmF0aW9uID0gUXVpY0NvbmZpZ3VyYXRpb24oCisgICAgICAgIGFscG5fcHJv
dG9jb2xzPVsnd3EtdnZ2LTAxJ10gKyBbJ3NpZHVjayddLAorICAgICAgICBpc19jbGllbnQ9RmFs
c2UsCisgICAgICAgIG1heF9kYXRhZ3JhbV9mcmFtZV9zaXplPTY1NTM2LAorICAgICkKKworICAg
IGhhbmRsZXJzX3BhdGggPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5leHBhbmR1c2VyKGFyZ3Mu
aGFuZGxlcnNfcGF0aCkpCisgICAgbG9nZ2luZy5sb2cobG9nZ2luZy5JTkZPLCAncG9ydCA9ICVz
JyAlIGFyZ3MucG9ydCkKKyAgICBsb2dnaW5nLmxvZyhsb2dnaW5nLklORk8sICdoYW5kbGVycyBw
YXRoID0gJXMnICUgaGFuZGxlcnNfcGF0aCkKKworICAgICMgbG9hZCBTU0wgY2VydGlmaWNhdGUg
YW5kIGtleQorICAgIGNvbmZpZ3VyYXRpb24ubG9hZF9jZXJ0X2NoYWluKGFyZ3MuY2VydGlmaWNh
dGUsIGFyZ3MucHJpdmF0ZV9rZXkpCisKKyAgICB0aWNrZXRfc3RvcmUgPSBTZXNzaW9uVGlja2V0
U3RvcmUoKQorCisgICAgbG9vcCA9IGFzeW5jaW8uZ2V0X2V2ZW50X2xvb3AoKQorICAgIGxvb3Au
cnVuX3VudGlsX2NvbXBsZXRlKAorICAgICAgICBzZXJ2ZSgKKyAgICAgICAgICAgIGFyZ3MuaG9z
dCwKKyAgICAgICAgICAgIGFyZ3MucG9ydCwKKyAgICAgICAgICAgIGNvbmZpZ3VyYXRpb249Y29u
ZmlndXJhdGlvbiwKKyAgICAgICAgICAgIGNyZWF0ZV9wcm90b2NvbD1RdWljVHJhbnNwb3J0UHJv
dG9jb2wsCisgICAgICAgICAgICBzZXNzaW9uX3RpY2tldF9mZXRjaGVyPXRpY2tldF9zdG9yZS5w
b3AsCisgICAgICAgICAgICBzZXNzaW9uX3RpY2tldF9oYW5kbGVyPXRpY2tldF9zdG9yZS5hZGQs
CisgICAgICAgICkKKyAgICApCisgICAgdHJ5OgorICAgICAgICBsb29wLnJ1bl9mb3JldmVyKCkK
KyAgICBleGNlcHQgS2V5Ym9hcmRJbnRlcnJ1cHQ6CisgICAgICAgIHBhc3MKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcXVpYy9y
ZXF1aXJlbWVudHMudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy9xdWljL3JlcXVpcmVtZW50cy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTY1MjYwYzc4Zjdh
Yzg1NzliZDkxMWJjZjljY2U2MzY0NWM4MGU0NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcXVpYy9yZXF1aXJlbWVu
dHMudHh0CkBAIC0wLDAgKzEgQEAKK2Fpb3F1aWM9PTAuOC43CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3F1aWMvc2VydmUucHkg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3F1aWMv
c2VydmUucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOTg5M2YyNWUyN2JkYjNhZmQ0YmYzOTkyMWU5NmFiZGNjNDIz
M2Y5ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvcXVpYy9zZXJ2ZS5weQpAQCAtMCwwICsxLDI4IEBACisjIS91c3Iv
YmluL2VudiBweXRob24zCisKK2ltcG9ydCBhcmdwYXJzZQoraW1wb3J0IHN5cworCisKK2RlZiBn
ZXRfcGFyc2VyKCk6CisgICAgcGFyc2VyID0gYXJncGFyc2UuQXJndW1lbnRQYXJzZXIoKQorICAg
IHBhcnNlci5hZGRfYXJndW1lbnQoIi0tdmVyYm9zZSIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsIGRl
ZmF1bHQ9RmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJ0dXJuIG9uIHZlcmJv
c2UgbG9nZ2luZyIpCisgICAgcmV0dXJuIHBhcnNlcgorCisKK2RlZiBydW4odmVudiwgKiprd2Fy
Z3MpOgorICAgICMgVE9ETyhIZXhjbGVzKTogUmVwbGFjZSB0aGlzIHdpdGggYWN0dWFsIGltcGxl
bWVudGF0aW9uLgorICAgIHByaW50KHN5cy52ZXJzaW9uKQorICAgIGFzc2VydCBzeXMudmVyc2lv
bl9pbmZvLm1ham9yID09IDMKKyAgICBpbXBvcnQgYWlvcXVpYworICAgIHByaW50KCdhaW9xdWlj
OiAnICsgYWlvcXVpYy5fX3ZlcnNpb25fXykKKworCitkZWYgbWFpbigpOgorICAgIGt3YXJncyA9
IHZhcnMoZ2V0X3BhcnNlcigpLnBhcnNlX2FyZ3MoKSkKKyAgICByZXR1cm4gcnVuKE5vbmUsICoq
a3dhcmdzKQorCisKK2lmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CisgICAgbWFpbigpCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3F1aWMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3F1aWMvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzdkNTQ1OWUx
NTFmMmU0MjkzOWRlOTk1N2I1MTUzM2FiYTZhMGRmZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcXVpYy93M2MtaW1w
b3J0LmxvZwpAQCAtMCwwICsxLDIyIEBACitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2Vy
ZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2Ug
dGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0
IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVz
dHMvd3B0CisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4g
V2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4K
KworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6
CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUK
Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3F1aWMvUkVBRE1FLm1kCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9xdWljL19faW5pdF9fLnB5Cisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9xdWljL2Nv
bW1hbmRzLmpzb24KKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3F1aWMvcXVpY190cmFuc3BvcnRfc2VydmVyLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9xdWljL3JlcXVpcmVtZW50cy50eHQKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3F1aWMvc2Vy
dmUucHkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvcmVxdWlyZW1lbnRzX2ZsYWtlOC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3JlcXVpcmVtZW50c19mbGFrZTgudHh0Cmlu
ZGV4IDBhNDUyMjQwMTY0MTdjZGRiZjU5MjA5MTk2MzgwY2NlMGEwODllZGYuLmFlMTZiZTM5NTVm
YmYzZDVmYTk2NDg5NjdjNmM4ZDM5NzUxOTAxM2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcmVxdWlyZW1lbnRzX2ZsYWtlOC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9yZXF1aXJlbWVudHNfZmxha2U4LnR4dApAQCAtMSw0ICsxLDQgQEAKLWZsYWtlOD09My43LjkK
LXB5Y29kZXN0eWxlPT0yLjUuMAotcHlmbGFrZXM9PTIuMS4xCi1wZXA4LW5hbWluZz09MC45LjEK
K2ZsYWtlOD09My44LjIKK3B5Y29kZXN0eWxlPT0yLjYuMAorcHlmbGFrZXM9PTIuMi4wCitwZXA4
LW5hbWluZz09MC4xMC4wCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3JlcXVpcmVtZW50c19teXB5LnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcmVxdWlyZW1lbnRzX215cHku
dHh0CmluZGV4IDE5NGY0Mjg0YjI2OTAzYjFmYWY5NjliNmFiNWQzMGY1YzQ4ZWI1NjIuLjk4OGZm
ZTg0ODE3NGY3MjE1Mjc4YzJjNDAxOWY5MjRiZWQzYTYxZjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcmVxdWlyZW1lbnRzX215
cHkudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvcmVxdWlyZW1lbnRzX215cHkudHh0CkBAIC0xLDMgKzEsMyBAQAotbXlweT09MC43NTAK
K215cHk9PTAuNzcwCiBteXB5LWV4dGVuc2lvbnM9PTAuNC4zCi10eXBlZC1hc3Q9PTEuNC4wCit0
eXBlZC1hc3Q9PTEuNC4xCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3J1bm5lci9yZXBvcnQucHkgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3J1bm5lci9yZXBvcnQucHkKaW5kZXgg
NWViOGQ2N2M3ZjZkYTljNWZkMDFkZThkZTQwZjVjYzkyYzExYmU5MC4uZTk5ODZmZGIzOTgyNWNk
NWU0OWY4ZDRhMTU4Yzc5NDhhZDUyODFlNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9ydW5uZXIvcmVwb3J0LnB5CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcnVubmVyL3Jl
cG9ydC5weQpAQCAtNSwxMCArNSwxMSBAQCBmcm9tIF9fZnV0dXJlX18gaW1wb3J0IHByaW50X2Z1
bmN0aW9uCiBpbXBvcnQgYXJncGFyc2UKIGltcG9ydCBqc29uCiBpbXBvcnQgc3lzCitpbXBvcnQg
dHlwZXMKKwogZnJvbSBjZ2kgaW1wb3J0IGVzY2FwZQogZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQg
ZGVmYXVsdGRpY3QKLQotaW1wb3J0IHR5cGVzCitmcm9tIHNpeCBpbXBvcnQgaXRlcml0ZW1zCiAK
IAogZGVmIGh0bWxfZXNjYXBlKGl0ZW0sIGVzY2FwZV9xdW90ZT1GYWxzZSk6CkBAIC00NCw3ICs0
NSw3IEBAIGNsYXNzIE5vZGUob2JqZWN0KToKICAgICAgICAgICAgIGF0dHJzX3VuaWNvZGUgPSAi
ICIgKyAiICIuam9pbigiJXM9XCIlc1wiIiAlIChodG1sX2VzY2FwZShrZXkpLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh0bWxfZXNj
YXBlKHZhbHVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGVzY2FwZV9xdW90ZT1UcnVlKSkKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3Iga2V5LCB2YWx1ZSBpbiBzZWxmLmF0
dHJzLml0ZXJpdGVtcygpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGZvciBrZXksIHZhbHVlIGluIGl0ZXJpdGVtcyhzZWxmLmF0dHJzKSkKICAgICAgICAgZWxz
ZToKICAgICAgICAgICAgIGF0dHJzX3VuaWNvZGUgPSAiIgogICAgICAgICByZXR1cm4gIjwlcyVz
PiVzPC8lcz5cbiIgJSAoc2VsZi5uYW1lLApAQCAtMTU3LDcgKzE1OCw3IEBAIGRlZiB0ZXN0X2lk
KGlkKToKIAogZGVmIGFsbF90ZXN0cyhkYXRhKToKICAgICB0ZXN0cyA9IGRlZmF1bHRkaWN0KHNl
dCkKLSAgICBmb3IgVUEsIHJlc3VsdHMgaW4gZGF0YS5pdGVyaXRlbXMoKToKKyAgICBmb3IgVUEs
IHJlc3VsdHMgaW4gaXRlcml0ZW1zKGRhdGEpOgogICAgICAgICBmb3IgcmVzdWx0IGluIHJlc3Vs
dHNbInJlc3VsdHMiXToKICAgICAgICAgICAgIGlkID0gdGVzdF9pZChyZXN1bHRbInRlc3QiXSkK
ICAgICAgICAgICAgIHRlc3RzW2lkXSB8PSB7c3VidGVzdFsibmFtZSJdIGZvciBzdWJ0ZXN0IGlu
IHJlc3VsdFsic3VidGVzdHMiXX0KQEAgLTE4NSw3ICsxODYsNyBAQCBkZWYgZ3JvdXBfcmVzdWx0
cyhkYXRhKToKIAogICAgIHJlc3VsdHNfYnlfdGVzdCA9IGRlZmF1bHRkaWN0KHJlc3VsdCkKIAot
ICAgIGZvciBVQSwgcmVzdWx0cyBpbiBkYXRhLml0ZXJpdGVtcygpOgorICAgIGZvciBVQSwgcmVz
dWx0cyBpbiBpdGVyaXRlbXMoZGF0YSk6CiAgICAgICAgIGZvciB0ZXN0X2RhdGEgaW4gcmVzdWx0
c1sicmVzdWx0cyJdOgogICAgICAgICAgICAgaWQgPSB0ZXN0X2lkKHRlc3RfZGF0YVsidGVzdCJd
KQogICAgICAgICAgICAgcmVzdWx0ID0gcmVzdWx0c19ieV90ZXN0W2lkXQpAQCAtMjMwLDEwICsy
MzEsMTAgQEAgZGVmIHRlc3RfbGluayh0ZXN0X2lkLCBzdWJ0ZXN0PU5vbmUpOgogZGVmIHN1bW1h
cnkoVUFzLCByZXN1bHRzX2J5X3Rlc3QpOgogICAgICIiIlJlbmRlciB0aGUgaW1wbGVtZW50YXRp
b24gcmVwb3J0IHN1bW1hcnkiIiIKICAgICBub3RfcGFzc2luZyA9IFtdCi0gICAgZm9yIHRlc3Qs
IHJlc3VsdHMgaW4gcmVzdWx0c19ieV90ZXN0Lml0ZXJpdGVtcygpOgorICAgIGZvciB0ZXN0LCBy
ZXN1bHRzIGluIGl0ZXJpdGVtcyhyZXN1bHRzX2J5X3Rlc3QpOgogICAgICAgICBpZiBub3QgYW55
KGl0ZW1bMF0gaW4gKCJQQVNTIiwgIk9LIikgZm9yIGl0ZW0gaW4gcmVzdWx0c1siaGFybmVzcyJd
LnZhbHVlcygpKToKICAgICAgICAgICAgIG5vdF9wYXNzaW5nLmFwcGVuZCgodGVzdCwgTm9uZSkp
Ci0gICAgICAgIGZvciBzdWJ0ZXN0X25hbWUsIHN1YnRlc3RfcmVzdWx0cyBpbiByZXN1bHRzWyJz
dWJ0ZXN0cyJdLml0ZXJpdGVtcygpOgorICAgICAgICBmb3Igc3VidGVzdF9uYW1lLCBzdWJ0ZXN0
X3Jlc3VsdHMgaW4gaXRlcml0ZW1zKHJlc3VsdHNbInN1YnRlc3RzIl0pOgogICAgICAgICAgICAg
aWYgbm90IGFueShpdGVtWzBdID09ICJQQVNTIiBmb3IgaXRlbSBpbiBzdWJ0ZXN0X3Jlc3VsdHMu
dmFsdWVzKCkpOgogICAgICAgICAgICAgICAgIG5vdF9wYXNzaW5nLmFwcGVuZCgodGVzdCwgc3Vi
dGVzdF9uYW1lKSkKICAgICBpZiBub3RfcGFzc2luZzoKQEAgLTI2MCw3ICsyNjEsNyBAQCBkZWYg
cmVzdWx0X3Jvd3MoVUFzLCB0ZXN0LCByZXN1bHQpOgogICAgICAgICBjbGFzc189InRlc3QiCiAg
ICAgKQogCi0gICAgZm9yIG5hbWUsIHN1YnRlc3RfcmVzdWx0IGluIHNvcnRlZChyZXN1bHRbInN1
YnRlc3RzIl0uaXRlcml0ZW1zKCkpOgorICAgIGZvciBuYW1lLCBzdWJ0ZXN0X3Jlc3VsdCBpbiBz
b3J0ZWQoaXRlcml0ZW1zKHJlc3VsdFsic3VidGVzdHMiXSkpOgogICAgICAgICB5aWVsZCBoLnRy
KAogICAgICAgICAgICAgaC50ZChuYW1lKSwKICAgICAgICAgICAgIFtzdGF0dXNfY2VsbChzdGF0
dXMsIG1lc3NhZ2UpCkBAIC0yNzEsNyArMjcyLDcgQEAgZGVmIHJlc3VsdF9yb3dzKFVBcywgdGVz
dCwgcmVzdWx0KToKIAogZGVmIHJlc3VsdF9ib2RpZXMoVUFzLCByZXN1bHRzX2J5X3Rlc3QpOgog
ICAgIHJldHVybiBbaC50Ym9keShyZXN1bHRfcm93cyhVQXMsIHRlc3QsIHJlc3VsdCkpCi0gICAg
ICAgICAgICBmb3IgdGVzdCwgcmVzdWx0IGluIHNvcnRlZChyZXN1bHRzX2J5X3Rlc3QuaXRlcml0
ZW1zKCkpXQorICAgICAgICAgICAgZm9yIHRlc3QsIHJlc3VsdCBpbiBzb3J0ZWQoaXRlcml0ZW1z
KHJlc3VsdHNfYnlfdGVzdCkpXQogCiAKIGRlZiBnZW5lcmF0ZV9odG1sKFVBcywgcmVzdWx0c19i
eV90ZXN0KToKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvcnVubmVyL3J1bm5lci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvcnVubmVyL3J1bm5lci5qcwppbmRleCBkYWFmOWQ0
NWRhNWJmYmE2MzIzNTRlOWVkYmQyODQ2ZDA1MmQwMDM1Li4yNzk0NmUxMzliOWFhM2I4MDZhMWFk
MjQ1MTUzOTg4Y2Y3OGY3NDQyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3J1bm5lci9ydW5uZXIuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9ydW5uZXIvcnVubmVyLmpz
CkBAIC0xNiwyMiArMTYsNiBAQCBNYW5pZmVzdC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMu
Z2VuZXJhdGUobG9hZGVkX2NhbGxiYWNrKTsKICAgICB9LAogCi0gICAgZG9fbG9hZDogZnVuY3Rp
b24obG9hZGVkX2NhbGxiYWNrKSB7Ci0gICAgICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVl
c3QoKTsKLSAgICAgICAgeGhyLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1bmN0aW9uKCkgewotICAg
ICAgICAgICAgaWYgKHhoci5yZWFkeVN0YXRlICE9PSA0KSB7Ci0gICAgICAgICAgICAgICAgcmV0
dXJuOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKCEoeGhyLnN0YXR1cyA9PT0gMjAw
IHx8IHhoci5zdGF0dXMgPT09IDApKSB7Ci0gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9y
KCJNYW5pZmVzdCAiICsgdGhpcy5wYXRoICsgIiBmYWlsZWQgdG8gbG9hZCIpOwotICAgICAgICAg
ICAgfQotICAgICAgICAgICAgdGhpcy5kYXRhID0gSlNPTi5wYXJzZSh4aHIucmVzcG9uc2VUZXh0
KTsKLSAgICAgICAgICAgIGxvYWRlZF9jYWxsYmFjaygpOwotICAgICAgICB9LmJpbmQodGhpcyk7
Ci0gICAgICAgIHhoci5vcGVuKCJHRVQiLCB0aGlzLnBhdGgpOwotICAgICAgICB4aHIuc2VuZChu
dWxsKTsKLSAgICB9LAotCiAgICAgZ2VuZXJhdGU6IGZ1bmN0aW9uKGxvYWRlZF9jYWxsYmFjaykg
ewogICAgICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CiAgICAgICAgIHhoci5v
bnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbigpIHsKQEAgLTQxLDcgKzI1LDggQEAgTWFuaWZl
c3QucHJvdG90eXBlID0gewogICAgICAgICAgICAgaWYgKCEoeGhyLnN0YXR1cyA9PT0gMjAwIHx8
IHhoci5zdGF0dXMgPT09IDApKSB7CiAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJN
YW5pZmVzdCBnZW5lcmF0aW9uIGZhaWxlZCIpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAg
dGhpcy5kb19sb2FkKGxvYWRlZF9jYWxsYmFjayk7CisgICAgICAgICAgICB0aGlzLmRhdGEgPSBK
U09OLnBhcnNlKHhoci5yZXNwb25zZVRleHQpOworICAgICAgICAgICAgbG9hZGVkX2NhbGxiYWNr
KCk7CiAgICAgICAgIH0uYmluZCh0aGlzKTsKICAgICAgICAgeGhyLm9wZW4oIlBPU1QiLCAidXBk
YXRlX21hbmlmZXN0LnB5Iik7CiAgICAgICAgIHhoci5zZW5kKG51bGwpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9ydW5uZXIv
dXBkYXRlX21hbmlmZXN0LnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9ydW5uZXIvdXBkYXRlX21hbmlmZXN0LnB5CmluZGV4IDcxNGQyYjUzYjM5
YTk4OWQ0ZjMzY2UxZDU4N2Q2MzRkMjBhNjFkNDQuLjFhMjRlMTQzNDc4ZWFjYzBmNjI0MzBiNWJi
Y2IyMzNjYzY1MDI0YTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvcnVubmVyL3VwZGF0ZV9tYW5pZmVzdC5weQorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3J1bm5lci91cGRh
dGVfbWFuaWZlc3QucHkKQEAgLTcsMjEgKzcsMzAgQEAgbG9jYWxwYXRocyA9IGltcC5sb2FkX3Nv
dXJjZSgibG9jYWxwYXRocyIsIG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmpvaW4oaGVyZSwgb3MK
IAogcm9vdCA9IGxvY2FscGF0aHMucmVwb19yb290CiAKLWZyb20gbWFuaWZlc3QgaW1wb3J0IG1h
bmlmZXN0LCB1cGRhdGUKK2Zyb20gbWFuaWZlc3QgaW1wb3J0IG1hbmlmZXN0CiAKIGRlZiBtYWlu
KHJlcXVlc3QsIHJlc3BvbnNlKToKICAgICBwYXRoID0gb3MucGF0aC5qb2luKHJvb3QsICJNQU5J
RkVTVC5qc29uIikKIAotICAgIG1hbmlmZXN0X2ZpbGUgPSBOb25lCi0gICAgdHJ5OgotICAgICAg
ICBtYW5pZmVzdF9maWxlID0gbWFuaWZlc3QubG9hZChyb290LCBwYXRoKQotICAgIGV4Y2VwdCBt
YW5pZmVzdC5NYW5pZmVzdFZlcnNpb25NaXNtYXRjaDoKLSAgICAgICAgcGFzcwotICAgIGlmIG1h
bmlmZXN0X2ZpbGUgaXMgTm9uZToKLSAgICAgICAgbWFuaWZlc3RfZmlsZSA9IG1hbmlmZXN0Lk1h
bmlmZXN0KCIvIikKLQotICAgIHVwZGF0ZS51cGRhdGUocm9vdCwgbWFuaWZlc3RfZmlsZSkKLQot
ICAgIG1hbmlmZXN0LndyaXRlKG1hbmlmZXN0X2ZpbGUsIHBhdGgpCi0KLSAgICByZXR1cm4gWygi
Q29udGVudC1UeXBlIiwgImFwcGxpY2F0aW9uL2pzb24iKV0sIGpzb24uZHVtcHMoeyJ1cmwiOiAi
L01BTklGRVNULmpzb24ifSkKKyAgICAjIFRPRE8gbWFrZSB0aGlzIGRvd25sb2FkIHJhdGhlciB0
aGFuIHJlYnVpbGRpbmcgZnJvbSBzY3JhdGNoIHdoZW4gcG9zc2libGUKKyAgICBtYW5pZmVzdF9m
aWxlID0gbWFuaWZlc3QubG9hZF9hbmRfdXBkYXRlKHJvb3QsIHBhdGgsICIvIiwgcGFyYWxsZWw9
RmFsc2UpCisKKyAgICBzdXBwb3J0ZWRfdHlwZXMgPSBbInRlc3RoYXJuZXNzIiwgInJlZnRlc3Qi
LCAibWFudWFsIl0KKyAgICBkYXRhID0geyJpdGVtcyI6IHt9LAorICAgICAgICAgICAgInVybF9i
YXNlIjogIi8ifQorICAgIGZvciBpdGVtX3R5cGUgaW4gc3VwcG9ydGVkX3R5cGVzOgorICAgICAg
ICBkYXRhWyJpdGVtcyJdW2l0ZW1fdHlwZV0gPSB7fQorICAgIGZvciBpdGVtX3R5cGUsIHBhdGgs
IHRlc3RzIGluIG1hbmlmZXN0X2ZpbGUuaXRlcnR5cGVzKCpzdXBwb3J0ZWRfdHlwZXMpOgorICAg
ICAgICB0ZXN0c19kYXRhID0gW10KKyAgICAgICAgZm9yIGl0ZW0gaW4gdGVzdHM6CisgICAgICAg
ICAgICB0ZXN0X2RhdGEgPSBbaXRlbS51cmxbMTpdXQorICAgICAgICAgICAgaWYgaXRlbV90eXBl
ID09ICJyZWZ0ZXN0IjoKKyAgICAgICAgICAgICAgICB0ZXN0X2RhdGEuYXBwZW5kKGl0ZW0ucmVm
ZXJlbmNlcykKKyAgICAgICAgICAgIHRlc3RfZGF0YS5hcHBlbmQoe30pCisgICAgICAgICAgICBp
ZiBpdGVtX3R5cGUgIT0gIm1hbnVhbCI6CisgICAgICAgICAgICAgICAgdGVzdF9kYXRhWy0xXVsi
dGltZW91dCJdID0gaXRlbS50aW1lb3V0CisgICAgICAgICAgICB0ZXN0c19kYXRhLmFwcGVuZCh0
ZXN0X2RhdGEpCisgICAgICAgIGFzc2VydCBwYXRoIG5vdCBpbiBkYXRhWyJpdGVtcyJdW2l0ZW1f
dHlwZV0KKyAgICAgICAgZGF0YVsiaXRlbXMiXVtpdGVtX3R5cGVdW3BhdGhdID0gdGVzdHNfZGF0
YQorCisgICAgcmV0dXJuIFsoIkNvbnRlbnQtVHlwZSIsICJhcHBsaWNhdGlvbi9qc29uIildLCBq
c29uLmR1bXBzKGRhdGEpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3NlcnZlL3NlcnZlLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9zZXJ2ZS9zZXJ2ZS5weQppbmRleCAxODY4
YjFhMzZlNTFjMTg3NDkxZDczYWEyNzA4NDg0ZGE4ODIwNDJmLi40M2ZmN2JkMGRmYmFjNWVhZTc0
Y2JlNDMyMzVmMDE2YzRmZTE0ZDM1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3NlcnZlL3NlcnZlLnB5CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvc2VydmUvc2VydmUucHkK
QEAgLTM0LDggKzM0LDggQEAgZnJvbSBtb2RfcHl3ZWJzb2NrZXQgaW1wb3J0IHN0YW5kYWxvbmUg
YXMgcHl3ZWJzb2NrZXQKIAogCiBFRElUX0hPU1RTX0hFTFAgPSAoIlBsZWFzZSBlbnN1cmUgYWxs
IHRoZSBuZWNlc3NhcnkgV1BUIHN1YmRvbWFpbnMgIgotICAgICAgICAgICAgICAgICAgICJhcmUg
bWFwcGVkIHRvIGEgbG9vcGJhY2sgZGV2aWNlIGluIC9ldGMvaG9zdHMuICIKLSAgICAgICAgICAg
ICAgICAgICAiU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0I3J1
bm5pbmctdGhlLXRlc3RzICIKKyAgICAgICAgICAgICAgICAgICAiYXJlIG1hcHBlZCB0byBhIGxv
b3BiYWNrIGRldmljZSBpbiAvZXRjL2hvc3RzLlxuIgorICAgICAgICAgICAgICAgICAgICJTZWUg
aHR0cHM6Ly93ZWItcGxhdGZvcm0tdGVzdHMub3JnL3J1bm5pbmctdGVzdHMvZnJvbS1sb2NhbC1z
eXN0ZW0uaHRtbCNzeXN0ZW0tc2V0dXAgIgogICAgICAgICAgICAgICAgICAgICJmb3IgaW5zdHJ1
Y3Rpb25zLiIpCiAKIApAQCAtMTc4LDkgKzE3OCw5IEBAIGNsYXNzIEh0bWxXcmFwcGVySGFuZGxl
cihXcmFwcGVySGFuZGxlcik6CiAKICAgICBkZWYgY2hlY2tfZXhwb3N1cmUoc2VsZiwgcmVxdWVz
dCk6CiAgICAgICAgIGlmIHNlbGYuZ2xvYmFsX3R5cGU6Ci0gICAgICAgICAgICBnbG9iYWxzID0g
YiIiCisgICAgICAgICAgICBnbG9iYWxzID0gdSIiCiAgICAgICAgICAgICBmb3IgKGtleSwgdmFs
dWUpIGluIHNlbGYuX2dldF9tZXRhZGF0YShyZXF1ZXN0KToKLSAgICAgICAgICAgICAgICBpZiBr
ZXkgPT0gYiJnbG9iYWwiOgorICAgICAgICAgICAgICAgIGlmIGtleSA9PSAiZ2xvYmFsIjoKICAg
ICAgICAgICAgICAgICAgICAgZ2xvYmFscyA9IHZhbHVlCiAgICAgICAgICAgICAgICAgICAgIGJy
ZWFrCiAKQEAgLTE4OSwyMyArMTg5LDIzIEBAIGNsYXNzIEh0bWxXcmFwcGVySGFuZGxlcihXcmFw
cGVySGFuZGxlcik6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmds
b2JhbF90eXBlKQogCiAgICAgZGVmIF9tZXRhX3JlcGxhY2VtZW50KHNlbGYsIGtleSwgdmFsdWUp
OgotICAgICAgICBpZiBrZXkgPT0gYiJ0aW1lb3V0IjoKLSAgICAgICAgICAgIGlmIHZhbHVlID09
IGIibG9uZyI6CisgICAgICAgIGlmIGtleSA9PSAidGltZW91dCI6CisgICAgICAgICAgICBpZiB2
YWx1ZSA9PSAibG9uZyI6CiAgICAgICAgICAgICAgICAgcmV0dXJuICc8bWV0YSBuYW1lPSJ0aW1l
b3V0IiBjb250ZW50PSJsb25nIj4nCi0gICAgICAgIGlmIGtleSA9PSBiInRpdGxlIjoKLSAgICAg
ICAgICAgIHZhbHVlID0gdmFsdWUuZGVjb2RlKCd1dGYtOCcpLnJlcGxhY2UoIiYiLCAiJmFtcDsi
KS5yZXBsYWNlKCI8IiwgIiZsdDsiKQorICAgICAgICBpZiBrZXkgPT0gInRpdGxlIjoKKyAgICAg
ICAgICAgIHZhbHVlID0gdmFsdWUucmVwbGFjZSgiJiIsICImYW1wOyIpLnJlcGxhY2UoIjwiLCAi
Jmx0OyIpCiAgICAgICAgICAgICByZXR1cm4gJzx0aXRsZT4lczwvdGl0bGU+JyAlIHZhbHVlCiAg
ICAgICAgIHJldHVybiBOb25lCiAKICAgICBkZWYgX3NjcmlwdF9yZXBsYWNlbWVudChzZWxmLCBr
ZXksIHZhbHVlKToKLSAgICAgICAgaWYga2V5ID09IGIic2NyaXB0IjoKLSAgICAgICAgICAgIGF0
dHJpYnV0ZSA9IHZhbHVlLmRlY29kZSgndXRmLTgnKS5yZXBsYWNlKCImIiwgIiZhbXA7IikucmVw
bGFjZSgnIicsICImcXVvdDsiKQorICAgICAgICBpZiBrZXkgPT0gInNjcmlwdCI6CisgICAgICAg
ICAgICBhdHRyaWJ1dGUgPSB2YWx1ZS5yZXBsYWNlKCImIiwgIiZhbXA7IikucmVwbGFjZSgnIics
ICImcXVvdDsiKQogICAgICAgICAgICAgcmV0dXJuICc8c2NyaXB0IHNyYz0iJXMiPjwvc2NyaXB0
PicgJSBhdHRyaWJ1dGUKICAgICAgICAgcmV0dXJuIE5vbmUKIAogCiBjbGFzcyBXb3JrZXJzSGFu
ZGxlcihIdG1sV3JhcHBlckhhbmRsZXIpOgotICAgIGdsb2JhbF90eXBlID0gYiJkZWRpY2F0ZWR3
b3JrZXIiCisgICAgZ2xvYmFsX3R5cGUgPSAiZGVkaWNhdGVkd29ya2VyIgogICAgIHBhdGhfcmVw
bGFjZSA9IFsoIi5hbnkud29ya2VyLmh0bWwiLCAiLmFueS5qcyIsICIuYW55Lndvcmtlci5qcyIp
LAogICAgICAgICAgICAgICAgICAgICAoIi53b3JrZXIuaHRtbCIsICIud29ya2VyLmpzIildCiAg
ICAgd3JhcHBlciA9ICIiIjwhZG9jdHlwZSBodG1sPgpAQCAtMjM0LDcgKzIzNCw3IEBAIGNsYXNz
IFdpbmRvd0hhbmRsZXIoSHRtbFdyYXBwZXJIYW5kbGVyKToKIAogCiBjbGFzcyBBbnlIdG1sSGFu
ZGxlcihIdG1sV3JhcHBlckhhbmRsZXIpOgotICAgIGdsb2JhbF90eXBlID0gYiJ3aW5kb3ciCisg
ICAgZ2xvYmFsX3R5cGUgPSAid2luZG93IgogICAgIHBhdGhfcmVwbGFjZSA9IFsoIi5hbnkuaHRt
bCIsICIuYW55LmpzIildCiAgICAgd3JhcHBlciA9ICIiIjwhZG9jdHlwZSBodG1sPgogPG1ldGEg
Y2hhcnNldD11dGYtOD4KQEAgLTI1NCw3ICsyNTQsNyBAQCBzZWxmLkdMT0JBTCA9IHsKIAogCiBj
bGFzcyBTaGFyZWRXb3JrZXJzSGFuZGxlcihIdG1sV3JhcHBlckhhbmRsZXIpOgotICAgIGdsb2Jh
bF90eXBlID0gYiJzaGFyZWR3b3JrZXIiCisgICAgZ2xvYmFsX3R5cGUgPSAic2hhcmVkd29ya2Vy
IgogICAgIHBhdGhfcmVwbGFjZSA9IFsoIi5hbnkuc2hhcmVkd29ya2VyLmh0bWwiLCAiLmFueS5q
cyIsICIuYW55Lndvcmtlci5qcyIpXQogICAgIHdyYXBwZXIgPSAiIiI8IWRvY3R5cGUgaHRtbD4K
IDxtZXRhIGNoYXJzZXQ9dXRmLTg+CkBAIC0yNjksNyArMjY5LDcgQEAgZmV0Y2hfdGVzdHNfZnJv
bV93b3JrZXIobmV3IFNoYXJlZFdvcmtlcigiJShwYXRoKXMlKHF1ZXJ5KXMiKSk7CiAKIAogY2xh
c3MgU2VydmljZVdvcmtlcnNIYW5kbGVyKEh0bWxXcmFwcGVySGFuZGxlcik6Ci0gICAgZ2xvYmFs
X3R5cGUgPSBiInNlcnZpY2V3b3JrZXIiCisgICAgZ2xvYmFsX3R5cGUgPSAic2VydmljZXdvcmtl
ciIKICAgICBwYXRoX3JlcGxhY2UgPSBbKCIuYW55LnNlcnZpY2V3b3JrZXIuaHRtbCIsICIuYW55
LmpzIiwgIi5hbnkud29ya2VyLmpzIildCiAgICAgd3JhcHBlciA9ICIiIjwhZG9jdHlwZSBodG1s
PgogPG1ldGEgY2hhcnNldD11dGYtOD4KQEAgLTMwNywxMSArMzA3LDExIEBAIGRvbmUoKTsKICAg
ICAgICAgcmV0dXJuIE5vbmUKIAogICAgIGRlZiBfc2NyaXB0X3JlcGxhY2VtZW50KHNlbGYsIGtl
eSwgdmFsdWUpOgotICAgICAgICBpZiBrZXkgPT0gYiJzY3JpcHQiOgotICAgICAgICAgICAgYXR0
cmlidXRlID0gdmFsdWUuZGVjb2RlKCd1dGYtOCcpLnJlcGxhY2UoIlxcIiwgIlxcXFwiKS5yZXBs
YWNlKCciJywgJ1xcIicpCisgICAgICAgIGlmIGtleSA9PSAic2NyaXB0IjoKKyAgICAgICAgICAg
IGF0dHJpYnV0ZSA9IHZhbHVlLnJlcGxhY2UoIlxcIiwgIlxcXFwiKS5yZXBsYWNlKCciJywgJ1xc
IicpCiAgICAgICAgICAgICByZXR1cm4gJ2ltcG9ydFNjcmlwdHMoIiVzIiknICUgYXR0cmlidXRl
Ci0gICAgICAgIGlmIGtleSA9PSBiInRpdGxlIjoKLSAgICAgICAgICAgIHZhbHVlID0gdmFsdWUu
ZGVjb2RlKCd1dGYtOCcpLnJlcGxhY2UoIlxcIiwgIlxcXFwiKS5yZXBsYWNlKCciJywgJ1xcIicp
CisgICAgICAgIGlmIGtleSA9PSAidGl0bGUiOgorICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZS5y
ZXBsYWNlKCJcXCIsICJcXFxcIikucmVwbGFjZSgnIicsICdcXCInKQogICAgICAgICAgICAgcmV0
dXJuICdzZWxmLk1FVEFfVElUTEUgPSAiJXMiOycgJSB2YWx1ZQogICAgICAgICByZXR1cm4gTm9u
ZQogCkBAIC0zNTEsNyArMzUxLDcgQEAgY2xhc3MgUm91dGVzQnVpbGRlcihvYmplY3QpOgogICAg
ICAgICBpZiBoZWFkZXJzIGlzIE5vbmU6CiAgICAgICAgICAgICBoZWFkZXJzID0ge30KICAgICAg
ICAgaGFuZGxlciA9IGhhbmRsZXJzLlN0YXRpY0hhbmRsZXIocGF0aCwgZm9ybWF0X2FyZ3MsIGNv
bnRlbnRfdHlwZSwgKipoZWFkZXJzKQotICAgICAgICBzZWxmLmFkZF9oYW5kbGVyKGIiR0VUIiwg
c3RyKHJvdXRlKSwgaGFuZGxlcikKKyAgICAgICAgc2VsZi5hZGRfaGFuZGxlcigiR0VUIiwgc3Ry
KHJvdXRlKSwgaGFuZGxlcikKIAogICAgIGRlZiBhZGRfbW91bnRfcG9pbnQoc2VsZiwgdXJsX2Jh
c2UsIHBhdGgpOgogICAgICAgICB1cmxfYmFzZSA9ICIvJXMvIiAlIHVybF9iYXNlLnN0cmlwKCIv
IikgaWYgdXJsX2Jhc2UgIT0gIi8iIGVsc2UgIi8iCkBAIC0zNjYsNiArMzY2LDcgQEAgY2xhc3Mg
Um91dGVzQnVpbGRlcihvYmplY3QpOgogICAgICAgICAgICAgKCJHRVQiLCAiKi5hbnkuc2Vydmlj
ZXdvcmtlci5odG1sIiwgU2VydmljZVdvcmtlcnNIYW5kbGVyKSwKICAgICAgICAgICAgICgiR0VU
IiwgIiouYW55Lndvcmtlci5qcyIsIEFueVdvcmtlckhhbmRsZXIpLAogICAgICAgICAgICAgKCJH
RVQiLCAiKi5hc2lzIiwgaGFuZGxlcnMuQXNJc0hhbmRsZXIpLAorICAgICAgICAgICAgKCJHRVQi
LCAiLy53ZWxsLWtub3duL29yaWdpbi1wb2xpY3kiLCBoYW5kbGVycy5QeXRob25TY3JpcHRIYW5k
bGVyKSwKICAgICAgICAgICAgICgiKiIsICIqLnB5IiwgaGFuZGxlcnMuUHl0aG9uU2NyaXB0SGFu
ZGxlciksCiAgICAgICAgICAgICAoIkdFVCIsICIqIiwgaGFuZGxlcnMuRmlsZUhhbmRsZXIpCiAg
ICAgICAgIF0KQEAgLTQxOCwxMCArNDE5LDEwIEBAIGNsYXNzIFNlcnZlclByb2Mob2JqZWN0KToK
ICAgICAgICAgdHJ5OgogICAgICAgICAgICAgc2VsZi5kYWVtb24gPSBpbml0X2Z1bmMoaG9zdCwg
cG9ydCwgcGF0aHMsIHJvdXRlcywgYmluZF9hZGRyZXNzLCBjb25maWcsICoqa3dhcmdzKQogICAg
ICAgICBleGNlcHQgc29ja2V0LmVycm9yOgotICAgICAgICAgICAgcHJpbnQoIlNvY2tldCBlcnJv
ciBvbiBwb3J0ICVzIiAlIHBvcnQsIGZpbGU9c3lzLnN0ZGVycikKKyAgICAgICAgICAgIGxvZ2dl
ci5jcml0aWNhbCgiU29ja2V0IGVycm9yIG9uIHBvcnQgJXMiICUgcG9ydCwgZmlsZT1zeXMuc3Rk
ZXJyKQogICAgICAgICAgICAgcmFpc2UKICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKLSAgICAg
ICAgICAgIHByaW50KHRyYWNlYmFjay5mb3JtYXRfZXhjKCksIGZpbGU9c3lzLnN0ZGVycikKKyAg
ICAgICAgICAgIGxvZ2dlci5jcml0aWNhbCh0cmFjZWJhY2suZm9ybWF0X2V4YygpKQogICAgICAg
ICAgICAgcmFpc2UKIAogICAgICAgICBpZiBzZWxmLmRhZW1vbjoKQEAgLTUxNSw3ICs1MTYsNyBA
QCBkZWYgc3RhcnRfc2VydmVycyhob3N0LCBwb3J0cywgcGF0aHMsIHJvdXRlcywgYmluZF9hZGRy
ZXNzLCBjb25maWcsICoqa3dhcmdzKToKICAgICAgICAgYXNzZXJ0IGxlbihwb3J0cykgPT0geyJo
dHRwIjogMn0uZ2V0KHNjaGVtZSwgMSkKIAogICAgICAgICAjIElmIHRyeWluZyB0byBzdGFydCBI
VFRQLzIuMCBzZXJ2ZXIsIGNoZWNrIGNvbXBhdGliaWxpdHkKLSAgICAgICAgaWYgc2NoZW1lID09
ICdodHRwMicgYW5kIG5vdCBodHRwMl9jb21wYXRpYmxlKCk6CisgICAgICAgIGlmIHNjaGVtZSA9
PSAnaDInIGFuZCBub3QgaHR0cDJfY29tcGF0aWJsZSgpOgogICAgICAgICAgICAgbG9nZ2VyLmVy
cm9yKCdDYW5ub3Qgc3RhcnQgSFRUUC8yLjAgc2VydmVyIGFzIHRoZSBlbnZpcm9ubWVudCBpcyBu
b3QgY29tcGF0aWJsZS4gJyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ1JlcXVpcmVzIFB5
dGhvbiAyLjcuMTArICg8IDMuMCkgYW5kIE9wZW5TU0wgMS4wLjIrJykKICAgICAgICAgICAgIGNv
bnRpbnVlCkBAIC01MjUsNyArNTI2LDcgQEAgZGVmIHN0YXJ0X3NlcnZlcnMoaG9zdCwgcG9ydHMs
IHBhdGhzLCByb3V0ZXMsIGJpbmRfYWRkcmVzcywgY29uZmlnLCAqKmt3YXJncyk6CiAgICAgICAg
ICAgICAgICAgY29udGludWUKICAgICAgICAgICAgIGluaXRfZnVuYyA9IHsiaHR0cCI6IHN0YXJ0
X2h0dHBfc2VydmVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICJodHRwcyI6IHN0YXJ0X2h0
dHBzX3NlcnZlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAiaHR0cDIiOiBzdGFydF9odHRw
Ml9zZXJ2ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgImgyIjogc3RhcnRfaHR0cDJfc2Vy
dmVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICJ3cyI6IHN0YXJ0X3dzX3NlcnZlciwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAid3NzIjogc3RhcnRfd3NzX3NlcnZlcn1bc2NoZW1lXQog
CkBAIC01MzcsNTAgKzUzOCw2OCBAQCBkZWYgc3RhcnRfc2VydmVycyhob3N0LCBwb3J0cywgcGF0
aHMsIHJvdXRlcywgYmluZF9hZGRyZXNzLCBjb25maWcsICoqa3dhcmdzKToKICAgICByZXR1cm4g
c2VydmVycwogCiAKK2RlZiBzdGFydHVwX2ZhaWxlZChsb2c9VHJ1ZSk6CisgICAgIyBMb2c9RmFs
c2UgaXMgYSB3b3JrYXJvdW5kIGZvciBodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRl
c3RzL3dwdC9pc3N1ZXMvMjI3MTkKKyAgICBpZiBsb2c6CisgICAgICAgIGxvZ2dlci5jcml0aWNh
bChFRElUX0hPU1RTX0hFTFApCisgICAgZWxzZToKKyAgICAgICAgcHJpbnQoIkNSSVRJQ0FMICVz
IiAlIEVESVRfSE9TVFNfSEVMUCwgZmlsZT1zeXMuc3RkZXJyKQorICAgIHN5cy5leGl0KDEpCisK
KwogZGVmIHN0YXJ0X2h0dHBfc2VydmVyKGhvc3QsIHBvcnQsIHBhdGhzLCByb3V0ZXMsIGJpbmRf
YWRkcmVzcywgY29uZmlnLCAqKmt3YXJncyk6Ci0gICAgcmV0dXJuIHdwdHNlcnZlLldlYlRlc3RI
dHRwZChob3N0PWhvc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3J0PXBv
cnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb2Nfcm9vdD1wYXRoc1siZG9j
X3Jvb3QiXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlcz1yb3V0ZXMs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXdyaXRlcz1yZXdyaXRlcywKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpbmRfYWRkcmVzcz1iaW5kX2FkZHJlc3Ms
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWc9Y29uZmlnLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlX3NzbD1GYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGtleV9maWxlPU5vbmUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjZXJ0aWZpY2F0ZT1Ob25lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbGF0ZW5jeT1rd2FyZ3MuZ2V0KCJsYXRlbmN5IikpCisgICAgdHJ5OgorICAgICAgICBy
ZXR1cm4gd3B0c2VydmUuV2ViVGVzdEh0dHBkKGhvc3Q9aG9zdCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBwb3J0PXBvcnQsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZG9jX3Jvb3Q9cGF0aHNbImRvY19yb290Il0sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcm91dGVzPXJvdXRlcywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICByZXdyaXRlcz1yZXdyaXRlcywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBiaW5kX2FkZHJlc3M9YmluZF9hZGRyZXNzLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZz1jb25maWcsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdXNlX3NzbD1GYWxzZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBrZXlfZmlsZT1Ob25lLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNlcnRpZmljYXRlPU5vbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbGF0ZW5jeT1rd2FyZ3MuZ2V0KCJsYXRlbmN5IikpCisgICAgZXhjZXB0IEV4
Y2VwdGlvbjoKKyAgICAgICAgc3RhcnR1cF9mYWlsZWQoKQogCiAKIGRlZiBzdGFydF9odHRwc19z
ZXJ2ZXIoaG9zdCwgcG9ydCwgcGF0aHMsIHJvdXRlcywgYmluZF9hZGRyZXNzLCBjb25maWcsICoq
a3dhcmdzKToKLSAgICByZXR1cm4gd3B0c2VydmUuV2ViVGVzdEh0dHBkKGhvc3Q9aG9zdCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvcnQ9cG9ydCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGRvY19yb290PXBhdGhzWyJkb2Nfcm9vdCJdLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVzPXJvdXRlcywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHJld3JpdGVzPXJld3JpdGVzLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgYmluZF9hZGRyZXNzPWJpbmRfYWRkcmVzcywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbmZpZz1jb25maWcsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1c2Vfc3NsPVRydWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBr
ZXlfZmlsZT1jb25maWcuc3NsX2NvbmZpZ1sia2V5X3BhdGgiXSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNlcnRpZmljYXRlPWNvbmZpZy5zc2xfY29uZmlnWyJjZXJ0X3BhdGgi
XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuY3J5cHRfYWZ0ZXJfY29ubmVj
dD1jb25maWcuc3NsX2NvbmZpZ1siZW5jcnlwdF9hZnRlcl9jb25uZWN0Il0sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBsYXRlbmN5PWt3YXJncy5nZXQoImxhdGVuY3kiKSkKKyAg
ICB0cnk6CisgICAgICAgIHJldHVybiB3cHRzZXJ2ZS5XZWJUZXN0SHR0cGQoaG9zdD1ob3N0LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvcnQ9cG9ydCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb2Nfcm9vdD1wYXRoc1siZG9jX3Jvb3QiXSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3V0ZXM9cm91dGVzLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJld3JpdGVzPXJld3JpdGVzLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpbmRfYWRkcmVzcz1iaW5kX2FkZHJl
c3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnPWNvbmZpZywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2Vfc3NsPVRydWUsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5X2ZpbGU9Y29uZmlnLnNzbF9jb25m
aWdbImtleV9wYXRoIl0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2Vy
dGlmaWNhdGU9Y29uZmlnLnNzbF9jb25maWdbImNlcnRfcGF0aCJdLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGVuY3J5cHRfYWZ0ZXJfY29ubmVjdD1jb25maWcuc3NsX2Nv
bmZpZ1siZW5jcnlwdF9hZnRlcl9jb25uZWN0Il0sCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbGF0ZW5jeT1rd2FyZ3MuZ2V0KCJsYXRlbmN5IikpCisgICAgZXhjZXB0IEV4
Y2VwdGlvbjoKKyAgICAgICAgc3RhcnR1cF9mYWlsZWQoKQogCiAKIGRlZiBzdGFydF9odHRwMl9z
ZXJ2ZXIoaG9zdCwgcG9ydCwgcGF0aHMsIHJvdXRlcywgYmluZF9hZGRyZXNzLCBjb25maWcsICoq
a3dhcmdzKToKLSAgICByZXR1cm4gd3B0c2VydmUuV2ViVGVzdEh0dHBkKGhvc3Q9aG9zdCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvcnQ9cG9ydCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGhhbmRsZXJfY2xzPXdwdHNlcnZlLkh0dHAyV2ViVGVzdFJlcXVl
c3RIYW5kbGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jX3Jvb3Q9cGF0
aHNbImRvY19yb290Il0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3V0ZXM9
cm91dGVzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV3cml0ZXM9cmV3cml0
ZXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiaW5kX2FkZHJlc3M9YmluZF9h
ZGRyZXNzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnPWNvbmZpZywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZV9zc2w9VHJ1ZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGtleV9maWxlPWNvbmZpZy5zc2xfY29uZmlnWyJrZXlf
cGF0aCJdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VydGlmaWNhdGU9Y29u
ZmlnLnNzbF9jb25maWdbImNlcnRfcGF0aCJdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZW5jcnlwdF9hZnRlcl9jb25uZWN0PWNvbmZpZy5zc2xfY29uZmlnWyJlbmNyeXB0X2Fm
dGVyX2Nvbm5lY3QiXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhdGVuY3k9
a3dhcmdzLmdldCgibGF0ZW5jeSIpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aHR0cDI9VHJ1ZSkKKyAgICB0cnk6CisgICAgICAgIHJldHVybiB3cHRzZXJ2ZS5XZWJUZXN0SHR0
cGQoaG9zdD1ob3N0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvcnQ9
cG9ydCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVyX2Nscz13
cHRzZXJ2ZS5IdHRwMldlYlRlc3RSZXF1ZXN0SGFuZGxlciwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBkb2Nfcm9vdD1wYXRoc1siZG9jX3Jvb3QiXSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICByb3V0ZXM9cm91dGVzLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHJld3JpdGVzPXJld3JpdGVzLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGJpbmRfYWRkcmVzcz1iaW5kX2FkZHJlc3MsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnPWNvbmZpZywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1c2Vfc3NsPVRydWUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAga2V5X2ZpbGU9Y29uZmlnLnNzbF9jb25maWdbImtleV9wYXRo
Il0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VydGlmaWNhdGU9Y29u
ZmlnLnNzbF9jb25maWdbImNlcnRfcGF0aCJdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGVuY3J5cHRfYWZ0ZXJfY29ubmVjdD1jb25maWcuc3NsX2NvbmZpZ1siZW5jcnlw
dF9hZnRlcl9jb25uZWN0Il0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bGF0ZW5jeT1rd2FyZ3MuZ2V0KCJsYXRlbmN5IiksCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaHR0cDI9VHJ1ZSkKKyAgICBleGNlcHQgRXhjZXB0aW9uOgorICAgICAgICBz
dGFydHVwX2ZhaWxlZCgpCiAKIAogY2xhc3MgV2ViU29ja2V0RGFlbW9uKG9iamVjdCk6CkBAIC01
OTEsMjEgKzYxMCw5IEBAIGNsYXNzIFdlYlNvY2tldERhZW1vbihvYmplY3QpOgogICAgICAgICAg
ICAgICAgICAgICAiLXciLCBoYW5kbGVyc19yb290XQogCiAgICAgICAgIGlmIHNzbF9jb25maWcg
aXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAjIFRoaXMgaXMgdXN1YWxseSBkb25lIHRocm91Z2gg
cHl3ZWJzb2NrZXQubWFpbiwgaG93ZXZlciB3ZSdyZQotICAgICAgICAgICAgIyB3b3JraW5nIGFy
b3VuZCB0aGF0IHRvIGdldCB0aGUgc2VydmVyIGluc3RhbmNlIGFuZCBtYW51YWxseQotICAgICAg
ICAgICAgIyBzZXR1cCB0aGUgd3NzIHNlcnZlci4KLSAgICAgICAgICAgIGlmIHB5d2Vic29ja2V0
Ll9pbXBvcnRfc3NsKCk6Ci0gICAgICAgICAgICAgICAgdGxzX21vZHVsZSA9IHB5d2Vic29ja2V0
Ll9UTFNfQllfU1RBTkRBUkRfTU9EVUxFCi0gICAgICAgICAgICBlbGlmIHB5d2Vic29ja2V0Ll9p
bXBvcnRfcHlvcGVuc3NsKCk6Ci0gICAgICAgICAgICAgICAgdGxzX21vZHVsZSA9IHB5d2Vic29j
a2V0Ll9UTFNfQllfUFlPUEVOU1NMCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAg
IHByaW50KCJObyBTU0wgbW9kdWxlIGF2YWlsYWJsZSIpCi0gICAgICAgICAgICAgICAgc3lzLmV4
aXQoMSkKLQogICAgICAgICAgICAgY21kX2FyZ3MgKz0gWyItLXRscyIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgIi0tcHJpdmF0ZS1rZXkiLCBzc2xfY29uZmlnWyJrZXlfcGF0aCJdLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICItLWNlcnRpZmljYXRlIiwgc3NsX2NvbmZpZ1siY2VydF9w
YXRoIl0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgIi0tdGxzLW1vZHVsZSIsIHRsc19tb2R1
bGVdCisgICAgICAgICAgICAgICAgICAgICAgICAgIi0tY2VydGlmaWNhdGUiLCBzc2xfY29uZmln
WyJjZXJ0X3BhdGgiXV0KIAogICAgICAgICBpZiAoYmluZF9hZGRyZXNzKToKICAgICAgICAgICAg
IGNtZF9hcmdzID0gWyItSCIsIGhvc3RdICsgY21kX2FyZ3MKQEAgLTYxNCw2ICs2MjEsMTIgQEAg
Y2xhc3MgV2ViU29ja2V0RGFlbW9uKG9iamVjdCk6CiAgICAgICAgIG9wdHMuaXNfZXhlY3V0YWJs
ZV9tZXRob2QgPSBOb25lCiAgICAgICAgIHNlbGYuc2VydmVyID0gcHl3ZWJzb2NrZXQuV2ViU29j
a2V0U2VydmVyKG9wdHMpCiAgICAgICAgIHBvcnRzID0gW2l0ZW1bMF0uZ2V0c29ja25hbWUoKVsx
XSBmb3IgaXRlbSBpbiBzZWxmLnNlcnZlci5fc29ja2V0c10KKyAgICAgICAgaWYgbm90IHBvcnRz
OgorICAgICAgICAgICAgIyBUT0RPOiBGaXggdGhlIGxvZ2dpbmcgY29uZmlndXJhdGlvbiBpbiBX
ZWJTb2NrZXRzIHByb2Nlc3NlcworICAgICAgICAgICAgIyBzZWUgaHR0cHM6Ly9naXRodWIuY29t
L3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQvaXNzdWVzLzIyNzE5CisgICAgICAgICAgICBwcmludCgi
RmFpbGVkIHRvIHN0YXJ0IHdlYnNvY2tldCBzZXJ2ZXIgb24gcG9ydCAlcywgIgorICAgICAgICAg
ICAgICAgICAgImlzIHNvbWV0aGluZyBhbHJlYWR5IHVzaW5nIHRoYXQgcG9ydD8iICUgcG9ydCwg
ZmlsZT1zeXMuc3RkZXJyKQorICAgICAgICAgICAgcmFpc2UgT1NFcnJvcigpCiAgICAgICAgIGFz
c2VydCBhbGwoaXRlbSA9PSBwb3J0c1swXSBmb3IgaXRlbSBpbiBwb3J0cykKICAgICAgICAgc2Vs
Zi5wb3J0ID0gcG9ydHNbMF0KICAgICAgICAgc2VsZi5zdGFydGVkID0gRmFsc2UKQEAgLTY2Miwx
MiArNjc1LDE1IEBAIGRlZiBzdGFydF93c19zZXJ2ZXIoaG9zdCwgcG9ydCwgcGF0aHMsIHJvdXRl
cywgYmluZF9hZGRyZXNzLCBjb25maWcsICoqa3dhcmdzKToKICAgICAjIGluIHRoZSBsb2dnaW5n
IG1vZHVsZSB1bmxvY2tlZAogICAgIHJlbG9hZF9tb2R1bGUobG9nZ2luZykKICAgICByZWxlYXNl
X21vemxvZ19sb2NrKCkKLSAgICByZXR1cm4gV2ViU29ja2V0RGFlbW9uKGhvc3QsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdHIocG9ydCksCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICByZXBvX3Jvb3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWcucGF0aHNbIndz
X2RvY19yb290Il0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBiaW5kX2FkZHJlc3MsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICBzc2xfY29uZmlnPU5vbmUpCisgICAgdHJ5OgorICAg
ICAgICByZXR1cm4gV2ViU29ja2V0RGFlbW9uKGhvc3QsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc3RyKHBvcnQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcG9f
cm9vdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWcucGF0aHNbIndzX2Rv
Y19yb290Il0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmluZF9hZGRyZXNzLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNzbF9jb25maWc9Tm9uZSkKKyAgICBleGNl
cHQgRXhjZXB0aW9uOgorICAgICAgICBzdGFydHVwX2ZhaWxlZChsb2c9RmFsc2UpCiAKIAogZGVm
IHN0YXJ0X3dzc19zZXJ2ZXIoaG9zdCwgcG9ydCwgcGF0aHMsIHJvdXRlcywgYmluZF9hZGRyZXNz
LCBjb25maWcsICoqa3dhcmdzKToKQEAgLTY3NSwxMiArNjkxLDE1IEBAIGRlZiBzdGFydF93c3Nf
c2VydmVyKGhvc3QsIHBvcnQsIHBhdGhzLCByb3V0ZXMsIGJpbmRfYWRkcmVzcywgY29uZmlnLCAq
Kmt3YXJncyk6CiAgICAgIyBpbiB0aGUgbG9nZ2luZyBtb2R1bGUgdW5sb2NrZWQKICAgICByZWxv
YWRfbW9kdWxlKGxvZ2dpbmcpCiAgICAgcmVsZWFzZV9tb3psb2dfbG9jaygpCi0gICAgcmV0dXJu
IFdlYlNvY2tldERhZW1vbihob3N0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyKHBv
cnQpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVwb19yb290LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uZmlnLnBhdGhzWyJ3c19kb2Nfcm9vdCJdLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYmluZF9hZGRyZXNzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uZmlnLnNzbF9jb25maWcpCisgICAgdHJ5OgorICAgICAgICByZXR1cm4gV2ViU29ja2V0RGFl
bW9uKGhvc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyKHBvcnQpLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcG9fcm9vdCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25maWcucGF0aHNbIndzX2RvY19yb290Il0sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgYmluZF9hZGRyZXNzLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbmZpZy5zc2xfY29uZmlnKQorICAgIGV4Y2VwdCBFeGNlcHRpb246CisgICAgICAg
IHN0YXJ0dXBfZmFpbGVkKGxvZz1GYWxzZSkKIAogCiBkZWYgc3RhcnQoY29uZmlnLCByb3V0ZXMs
ICoqa3dhcmdzKToKQEAgLTcwNSw4ICs3MjQsMTEgQEAgZGVmIGl0ZXJfcHJvY3Moc2VydmVycyk6
CiBkZWYgYnVpbGRfY29uZmlnKG92ZXJyaWRlX3BhdGg9Tm9uZSwgKiprd2FyZ3MpOgogICAgIHJ2
ID0gQ29uZmlnQnVpbGRlcigpCiAKLSAgICBpZiBrd2FyZ3MuZ2V0KCJoMiIpOgotICAgICAgICBy
di5fZGVmYXVsdFsicG9ydHMiXVsiaHR0cDIiXSA9IFs5MDAwXQorICAgIGVuYWJsZV9odHRwMiA9
IGt3YXJncy5nZXQoImgyIikKKyAgICBpZiBlbmFibGVfaHR0cDIgaXMgTm9uZToKKyAgICAgICAg
ZW5hYmxlX2h0dHAyID0gVHJ1ZQorICAgIGlmIGVuYWJsZV9odHRwMjoKKyAgICAgICAgcnYuX2Rl
ZmF1bHRbInBvcnRzIl1bImgyIl0gPSBbOTAwMF0KIAogICAgIGlmIG92ZXJyaWRlX3BhdGggYW5k
IG9zLnBhdGguZXhpc3RzKG92ZXJyaWRlX3BhdGgpOgogICAgICAgICB3aXRoIG9wZW4ob3ZlcnJp
ZGVfcGF0aCkgYXMgZjoKQEAgLTczOSw2ICs3NjEsOSBAQCBkZWYgYnVpbGRfY29uZmlnKG92ZXJy
aWRlX3BhdGg9Tm9uZSwgKiprd2FyZ3MpOgogZGVmIF9tYWtlX3N1YmRvbWFpbnNfcHJvZHVjdChz
LCBkZXB0aD0yKToKICAgICByZXR1cm4ge3UiLiIuam9pbih4KSBmb3IgeCBpbiBjaGFpbigqKHBy
b2R1Y3QocywgcmVwZWF0PWkpIGZvciBpIGluIHJhbmdlKDEsIGRlcHRoKzEpKSl9CiAKK2RlZiBf
bWFrZV9vcmlnaW5fcG9saWN5X3N1YmRvbWFpbnMobGltaXQpOgorICAgIHJldHVybiB7dSJvcCVk
IiAlIHggZm9yIHggaW4gcmFuZ2UoMSxsaW1pdCsxKX0KKwogCiBfc3ViZG9tYWlucyA9IHt1Ind3
dyIsCiAgICAgICAgICAgICAgICB1Ind3dzEiLApAQCAtNzUwLDYgKzc3NSwxMiBAQCBfbm90X3N1
YmRvbWFpbnMgPSB7dSJub25leGlzdGVudCJ9CiAKIF9zdWJkb21haW5zID0gX21ha2Vfc3ViZG9t
YWluc19wcm9kdWN0KF9zdWJkb21haW5zKQogCisjIE9yaWdpbiBwb2xpY3kgc3ViZG9tYWlucyBu
ZWVkIHRvIG5vdCBiZSByZXVzZWQgYnkgYW55IG90aGVyIHRlc3RzLCBzaW5jZSBvcmlnaW4gcG9s
aWNpZXMgaGF2ZQorIyBvcmlnaW4td2lkZSBpbXBhY3RzIGxpa2UgaW5zdGFsbGluZyBhIENTUCBv
ciBGZWF0dXJlIFBvbGljeSB0aGF0IGNvdWxkIGludGVyZmVyZSB3aXRoIGZlYXR1cmVzCisjIHVu
ZGVyIHRlc3QuCisjIFNlZSBodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3Jm
Y3MvcHVsbC80NC4KK19zdWJkb21haW5zIHw9IF9tYWtlX29yaWdpbl9wb2xpY3lfc3ViZG9tYWlu
cyg5OSkKKwogX25vdF9zdWJkb21haW5zID0gX21ha2Vfc3ViZG9tYWluc19wcm9kdWN0KF9ub3Rf
c3ViZG9tYWlucykKIAogCkBAIC04NDUsOSArODc2LDEwIEBAIGRlZiBnZXRfcGFyc2VyKCk6CiAg
ICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJQYXRoIHRvIFdlYlNvY2tldHMgZG9jdW1lbnQg
cm9vdC4gT3ZlcnJpZGVzIGNvbmZpZy4iKQogICAgIHBhcnNlci5hZGRfYXJndW1lbnQoIi0tYWxp
YXNfZmlsZSIsIGFjdGlvbj0ic3RvcmUiLCBkZXN0PSJhbGlhc19maWxlIiwKICAgICAgICAgICAg
ICAgICAgICAgICAgIGhlbHA9IkZpbGUgd2l0aCBlbnRyaWVzIGZvciBhbGlhc2VzL211bHRpcGxl
IGRvYyByb290cy4gSW4gZm9ybSBvZiBgL0FMSUFTX05BTUUvLCBET0NfUk9PVFxcbmAiKQotICAg
IHBhcnNlci5hZGRfYXJndW1lbnQoIi0taDIiLCBhY3Rpb249InN0b3JlX3RydWUiLCBkZXN0PSJo
MiIsCi0gICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJGbGFnIGZvciBlbmFibGluZyB0aGUg
SFRUUC8yLjAgc2VydmVyIikKLSAgICBwYXJzZXIuc2V0X2RlZmF1bHRzKGgyPUZhbHNlKQorICAg
IHBhcnNlci5hZGRfYXJndW1lbnQoIi0taDIiLCBhY3Rpb249InN0b3JlX3RydWUiLCBkZXN0PSJo
MiIsIGRlZmF1bHQ9Tm9uZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9YXJncGFyc2Uu
U1VQUFJFU1MpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgiLS1uby1oMiIsIGFjdGlvbj0ic3Rv
cmVfZmFsc2UiLCBkZXN0PSJoMiIsIGRlZmF1bHQ9Tm9uZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGhlbHA9IkRpc2FibGUgdGhlIEhUVFAvMi4wIHNlcnZlciIpCiAgICAgcmV0dXJuIHBhcnNl
cgogCiAKQEAgLTg5MCwxNiArOTIyLDIyIEBAIGRlZiBydW4oKiprd2FyZ3MpOgogICAgICAgICAg
ICAgc2lnbmFsLnNpZ25hbChzaWduYWwuU0lHVEVSTSwgaGFuZGxlX3NpZ25hbCkKICAgICAgICAg
ICAgIHNpZ25hbC5zaWduYWwoc2lnbmFsLlNJR0lOVCwgaGFuZGxlX3NpZ25hbCkKIAotICAgICAg
ICAgICAgd2hpbGUgYWxsKGl0ZW0uaXNfYWxpdmUoKSBmb3IgaXRlbSBpbiBpdGVyX3Byb2NzKHNl
cnZlcnMpKSBhbmQgbm90IHJlY2VpdmVkX3NpZ25hbC5pc19zZXQoKToKLSAgICAgICAgICAgICAg
ICBmb3IgaXRlbSBpbiBpdGVyX3Byb2NzKHNlcnZlcnMpOgotICAgICAgICAgICAgICAgICAgICBp
dGVtLmpvaW4oMSkKLSAgICAgICAgICAgIGV4aXRlZCA9IFtpdGVtIGZvciBpdGVtIGluIGl0ZXJf
cHJvY3Moc2VydmVycykgaWYgbm90IGl0ZW0uaXNfYWxpdmUoKV0KLSAgICAgICAgICAgIHN1Ympl
Y3QgPSAic3VicHJvY2VzcyIgaWYgbGVuKGV4aXRlZCkgPT0gMSBlbHNlICJzdWJwcm9jZXNzZXMi
Ci0KLSAgICAgICAgICAgIGxvZ2dlci5pbmZvKCIlcyAlcyBleGl0ZWQ6IiAlIChsZW4oZXhpdGVk
KSwgc3ViamVjdCkpCi0KLSAgICAgICAgICAgIGZvciBpdGVtIGluIGl0ZXJfcHJvY3Moc2VydmVy
cyk6Ci0gICAgICAgICAgICAgICAgbG9nZ2VyLmluZm8oIlN0YXR1cyBvZiAlczpcdCVzIiAlIChp
dGVtLm5hbWUsICJydW5uaW5nIiBpZiBpdGVtLmlzX2FsaXZlKCkgZWxzZSAibm90IHJ1bm5pbmci
KSkKKyAgICAgICAgICAgIHdoaWxlIChhbGwoc3VicHJvYy5pc19hbGl2ZSgpIGZvciBzdWJwcm9j
IGluIGl0ZXJfcHJvY3Moc2VydmVycykpIGFuZAorICAgICAgICAgICAgICAgICAgIG5vdCByZWNl
aXZlZF9zaWduYWwuaXNfc2V0KCkpOgorICAgICAgICAgICAgICAgIGZvciBzdWJwcm9jIGluIGl0
ZXJfcHJvY3Moc2VydmVycyk6CisgICAgICAgICAgICAgICAgICAgIHN1YnByb2Muam9pbigxKQor
CisgICAgICAgICAgICBmYWlsZWRfc3VicHJvYyA9IDAKKyAgICAgICAgICAgIGZvciBzdWJwcm9j
IGluIGl0ZXJfcHJvY3Moc2VydmVycyk6CisgICAgICAgICAgICAgICAgaWYgc3VicHJvYy5pc19h
bGl2ZSgpOgorICAgICAgICAgICAgICAgICAgICBsb2dnZXIuaW5mbygnU3RhdHVzIG9mIHN1YnBy
b2Nlc3MgIiVzIjogcnVubmluZycgJSBzdWJwcm9jLm5hbWUpCisgICAgICAgICAgICAgICAgZWxz
ZToKKyAgICAgICAgICAgICAgICAgICAgaWYgc3VicHJvYy5leGl0Y29kZSA9PSAwOgorICAgICAg
ICAgICAgICAgICAgICAgICAgbG9nZ2VyLmluZm8oJ1N0YXR1cyBvZiBzdWJwcm9jZXNzICIlcyI6
IGV4aXRlZCBjb3JyZWN0bHknICUgc3VicHJvYy5uYW1lKQorICAgICAgICAgICAgICAgICAgICBl
bHNlOgorICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ1N0YXR1cyBvZiBz
dWJwcm9jZXNzICIlcyI6IGZhaWxlZC4gRXhpdCB3aXRoIG5vbi16ZXJvIHN0YXR1czogJWQnICUg
KHN1YnByb2MubmFtZSwgc3VicHJvYy5leGl0Y29kZSkpCisgICAgICAgICAgICAgICAgICAgICAg
ICBmYWlsZWRfc3VicHJvYyArPSAxCisgICAgICAgICAgICByZXR1cm4gZmFpbGVkX3N1YnByb2MK
IAogCiBkZWYgbWFpbigpOgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9zZXJ2ZS90ZXN0X3NlcnZlLnB5IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9zZXJ2ZS90ZXN0X3NlcnZlLnB5
CmluZGV4IGQ2YzA4MmE5NzAzNTdmNDc3ZTgyY2QyNWExYzA5NTJlZTc0NGRiNTQuLmQ5MDI0Nzkz
Y2FmZGExYmIzNjNiNWQzYTM5OWFhOTNhNGQ2OTExMGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvc2VydmUvdGVzdF9zZXJ2ZS5w
eQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3NlcnZlL3Rlc3Rfc2VydmUucHkKQEAgLTgyLDcgKzgyLDcgQEAgZGVmIHRlc3RfY29uZmlnX2pz
b25fbGVuZ3RoKCk6CiAgICAgIyB3ZSBzZXJpYWxpemUgdGhlIGNvbmZpZyBhcyBKU09OIGZvciBw
eXRlc3RydW5uZXIgYW5kIHB1dCBpdCBpbiBhbiBlbnYKICAgICAjIHZhcmlhYmxlLCB3aGljaCBv
biBXaW5kb3dzIG11c3QgaGF2ZSBhIGxlbmd0aCA8PSAweDdGRkYgKGludDE2KQogICAgIHdpdGgg
Q29uZmlnQnVpbGRlcigpIGFzIGM6Ci0gICAgICAgIGRhdGEgPSBqc29uLmR1bXBzKGMuYXNfZGlj
dCgpKQorICAgICAgICBkYXRhID0ganNvbi5kdW1wcyhjLmFzX2RpY3RfZm9yX3dkX2Vudl92YXJp
YWJsZSgpKQogICAgIGFzc2VydCBsZW4oZGF0YSkgPD0gMHg3RkZGCiAKIGRlZiB0ZXN0X2FsdGVy
bmF0ZV9ob3N0X3Vuc3BlY2lmaWVkKCk6CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvLmdpdGh1
Yi93b3JrZmxvd3MvdGVzdHMueW1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljLy5naXRodWIvd29ya2Zsb3dzL3Rl
c3RzLnltbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5kMTliMjFkNzQ1ODhlMGI1MTdkNmU5N2U0N2M2YWVjNmZhZWYw
NmE3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljLy5naXRodWIvd29ya2Zsb3dzL3Rl
c3RzLnltbApAQCAtMCwwICsxLDEyOCBAQAorbmFtZTogdGVzdHMKKworb246IFtwdXNoLCBwdWxs
X3JlcXVlc3RdCisKK2pvYnM6CisKKyAgbGludDoKKyAgICBydW5zLW9uOiB1YnVudHUtbGF0ZXN0
CisgICAgc3RlcHM6CisgICAgICAtIHVzZXM6IGFjdGlvbnMvY2hlY2tvdXRAdjIKKyAgICAgIC0g
dXNlczogYWN0aW9ucy9zZXR1cC1weXRob25AdjEKKyAgICAgICAgd2l0aDoKKyAgICAgICAgICBw
eXRob24tdmVyc2lvbjogMy43CisgICAgICAtIG5hbWU6IEluc3RhbGwgcGFja2FnZXMKKyAgICAg
ICAgcnVuOiBwaXAgaW5zdGFsbCBibGFjayBmbGFrZTggaXNvcnQgbXlweQorICAgICAgLSBuYW1l
OiBSdW4gbGludGVycworICAgICAgICBydW46IHwKKyAgICAgICAgICBmbGFrZTggZXhhbXBsZXMg
c3JjIHRlc3RzCisgICAgICAgICAgaXNvcnQgLWMgLWRmIC1yYyBleGFtcGxlcyBzcmMgdGVzdHMK
KyAgICAgICAgICBibGFjayAtLWNoZWNrIC0tZGlmZiBleGFtcGxlcyBzcmMgdGVzdHMKKyAgICAg
ICAgICBteXB5IGV4YW1wbGVzIHNyYworCisgIHRlc3Q6CisgICAgcnVucy1vbjogJHt7IG1hdHJp
eC5vcyB9fQorICAgIHN0cmF0ZWd5OgorICAgICAgZmFpbC1mYXN0OiBmYWxzZQorICAgICAgbWF0
cml4OgorICAgICAgICBvczogW3VidW50dS1sYXRlc3QsIG1hY29zLWxhdGVzdCwgd2luZG93cy1s
YXRlc3RdCisgICAgICAgIHB5dGhvbjogWzMuOCwgMy43LCAzLjZdCisgICAgc3RlcHM6CisgICAg
ICAtIHVzZXM6IGFjdGlvbnMvY2hlY2tvdXRAdjIKKyAgICAgIC0gdXNlczogYWN0aW9ucy9zZXR1
cC1weXRob25AdjEKKyAgICAgICAgd2l0aDoKKyAgICAgICAgICBweXRob24tdmVyc2lvbjogJHt7
IG1hdHJpeC5weXRob24gfX0KKyAgICAgIC0gbmFtZTogRGlzYWJsZSBmaXJld2FsbCBhbmQgY29u
ZmlndXJlIGNvbXBpbGVyCisgICAgICAgIGlmOiBtYXRyaXgub3MgPT0gJ21hY29zLWxhdGVzdCcK
KyAgICAgICAgcnVuOiB8CisgICAgICAgICAgc3VkbyAvdXNyL2xpYmV4ZWMvQXBwbGljYXRpb25G
aXJld2FsbC9zb2NrZXRmaWx0ZXJmdyAtLXNldGdsb2JhbHN0YXRlIG9mZgorICAgICAgICAgIGVj
aG8gIjo6c2V0LWVudiBuYW1lPUFJT1FVSUNfU0tJUF9URVNUUzo6Y2hhY2hhMjAiCisgICAgICAg
ICAgZWNobyAiOjpzZXQtZW52IG5hbWU9Q0ZMQUdTOjotSS91c3IvbG9jYWwvb3B0L29wZW5zc2wv
aW5jbHVkZSIKKyAgICAgICAgICBlY2hvICI6OnNldC1lbnYgbmFtZT1MREZMQUdTOjotTC91c3Iv
bG9jYWwvb3B0L29wZW5zc2wvbGliIgorICAgICAgLSBuYW1lOiBJbnN0YWxsIE9wZW5TU0wKKyAg
ICAgICAgaWY6IG1hdHJpeC5vcyA9PSAnd2luZG93cy1sYXRlc3QnCisgICAgICAgIHJ1bjogfAor
ICAgICAgICAgIGNob2NvIGluc3RhbGwgb3BlbnNzbCAtLW5vLXByb2dyZXNzCisgICAgICAgICAg
ZWNobyAiOjpzZXQtZW52IG5hbWU9Q0w6Oi9JQzpcUHJvZ3JhfjFcT3BlblNTTC1XaW42NFxpbmNs
dWRlIgorICAgICAgICAgIGVjaG8gIjo6c2V0LWVudiBuYW1lPUxJTks6Oi9MSUJQQVRIOkM6XFBy
b2dyYX4xXE9wZW5TU0wtV2luNjRcbGliIgorICAgICAgLSBuYW1lOiBSdW4gdGVzdHMKKyAgICAg
ICAgcnVuOiB8CisgICAgICAgICAgcGlwIGluc3RhbGwgLVUgcGlwIHNldHVwdG9vbHMgd2hlZWwK
KyAgICAgICAgICBwaXAgaW5zdGFsbCBjb3ZlcmFnZQorICAgICAgICAgIHBpcCBpbnN0YWxsIC4K
KyAgICAgICAgICBjb3ZlcmFnZSBydW4gLW0gdW5pdHRlc3QgZGlzY292ZXIgLXYKKyAgICAgICAg
ICBjb3ZlcmFnZSB4bWwKKyAgICAgICAgc2hlbGw6IGJhc2gKKyAgICAgIC0gbmFtZTogVXBsb2Fk
IGNvdmVyYWdlIHJlcG9ydAorICAgICAgICB1c2VzOiBjb2RlY292L2NvZGVjb3YtYWN0aW9uQHYx
CisgICAgICAgIGlmOiBtYXRyaXgucHl0aG9uICE9ICdweXB5MycKKyAgICAgICAgd2l0aDoKKyAg
ICAgICAgICB0b2tlbjogJHt7IHNlY3JldHMuQ09ERUNPVl9UT0tFTiB9fQorCisgIHBhY2thZ2Ut
c291cmNlOgorICAgIHJ1bnMtb246IHVidW50dS1sYXRlc3QKKyAgICBzdGVwczoKKyAgICAgIC0g
dXNlczogYWN0aW9ucy9jaGVja291dEB2MgorICAgICAgLSB1c2VzOiBhY3Rpb25zL3NldHVwLXB5
dGhvbkB2MQorICAgICAgICB3aXRoOgorICAgICAgICAgIHB5dGhvbi12ZXJzaW9uOiAzLjcKKyAg
ICAgIC0gbmFtZTogQnVpbGQgc291cmNlIHBhY2thZ2UKKyAgICAgICAgcnVuOiBweXRob24gc2V0
dXAucHkgc2Rpc3QKKyAgICAgIC0gbmFtZTogVXBsb2FkIHNvdXJjZSBwYWNrYWdlCisgICAgICAg
IHVzZXM6IGFjdGlvbnMvdXBsb2FkLWFydGlmYWN0QHYxCisgICAgICAgIHdpdGg6CisgICAgICAg
ICAgbmFtZTogZGlzdAorICAgICAgICAgIHBhdGg6IGRpc3QvCisKKyAgcGFja2FnZS13aGVlbDoK
KyAgICBydW5zLW9uOiAke3sgbWF0cml4Lm9zIH19CisgICAgc3RyYXRlZ3k6CisgICAgICBtYXRy
aXg6CisgICAgICAgIG9zOiBbdWJ1bnR1LWxhdGVzdCwgbWFjb3MtbGF0ZXN0LCB3aW5kb3dzLWxh
dGVzdF0KKyAgICBzdGVwczoKKyAgICAgIC0gdXNlczogYWN0aW9ucy9jaGVja291dEB2MgorICAg
ICAgLSB1c2VzOiBhY3Rpb25zL3NldHVwLXB5dGhvbkB2MQorICAgICAgICB3aXRoOgorICAgICAg
ICAgIHB5dGhvbi12ZXJzaW9uOiAzLjcKKyAgICAgIC0gbmFtZTogSW5zdGFsbCBuYXNtCisgICAg
ICAgIGlmOiBtYXRyaXgub3MgPT0gJ3dpbmRvd3MtbGF0ZXN0JworICAgICAgICBydW46IGNob2Nv
IGluc3RhbGwgLXkgbmFzbQorICAgICAgLSBuYW1lOiBJbnN0YWxsIG5tYWtlCisgICAgICAgIGlm
OiBtYXRyaXgub3MgPT0gJ3dpbmRvd3MtbGF0ZXN0JworICAgICAgICBydW46IHwKKyAgICAgICAg
ICAmICJDOlxQcm9ncmFtIEZpbGVzICh4ODYpXE1pY3Jvc29mdCBWaXN1YWwgU3R1ZGlvXEluc3Rh
bGxlclx2c19pbnN0YWxsZXIuZXhlIiBtb2RpZnkgYAorICAgICAgICAgICAtLWluc3RhbGxQYXRo
ICJDOlxQcm9ncmFtIEZpbGVzICh4ODYpXE1pY3Jvc29mdCBWaXN1YWwgU3R1ZGlvXDIwMTlcRW50
ZXJwcmlzZSIgYAorICAgICAgICAgICAtLWFkZCBNaWNyb3NvZnQuVmlzdWFsU3R1ZGlvLkNvbXBv
bmVudC5WQy5Ub29scy54ODYueDY0IC0tcGFzc2l2ZSAtLW5vcmVzdGFydAorICAgICAgICBzaGVs
bDogcG93ZXJzaGVsbAorICAgICAgLSBuYW1lOiBCdWlsZCB3aGVlbHMKKyAgICAgICAgZW52Ogor
ICAgICAgICAgIENJQldfQkVGT1JFX0JVSUxEOiBzY3JpcHRzL2J1aWxkLW9wZW5zc2wgL3RtcC92
ZW5kb3IKKyAgICAgICAgICBDSUJXX0JFRk9SRV9CVUlMRF9XSU5ET1dTOiBzY3JpcHRzXGJ1aWxk
LW9wZW5zc2wuYmF0IEM6XGNpYndcdmVuZG9yCisgICAgICAgICAgQ0lCV19FTlZJUk9OTUVOVDog
QUlPUVVJQ19TS0lQX1RFU1RTPWlwdjYsbG9zcyBDRkxBR1M9LUkvdG1wL3ZlbmRvci9pbmNsdWRl
IExERkxBR1M9LUwvdG1wL3ZlbmRvci9saWIKKyAgICAgICAgICBDSUJXX0VOVklST05NRU5UX1dJ
TkRPV1M6IEFJT1FVSUNfU0tJUF9URVNUUz1pcHY2LGxvc3MgQ0w9Ii9JQzpcY2lid1x2ZW5kb3Jc
aW5jbHVkZSIgTElOSz0iL0xJQlBBVEg6QzpcY2lid1x2ZW5kb3JcbGliIgorICAgICAgICAgIENJ
QldfU0tJUDogY3AyNy0qIGNwMzMtKiBjcDM0LSogY3AzNS0qIHBwMjctKgorICAgICAgICAgIENJ
QldfVEVTVF9DT01NQU5EOiBweXRob24gLW0gdW5pdHRlc3QgZGlzY292ZXIgLXQge3Byb2plY3R9
IC1zIHtwcm9qZWN0fS90ZXN0cworICAgICAgICBydW46IHwKKyAgICAgICAgICBwaXAgaW5zdGFs
bCBjaWJ1aWxkd2hlZWwKKyAgICAgICAgICBjaWJ1aWxkd2hlZWwgLS1vdXRwdXQtZGlyIGRpc3QK
KyAgICAgIC0gbmFtZTogVXBsb2FkIHdoZWVscworICAgICAgICB1c2VzOiBhY3Rpb25zL3VwbG9h
ZC1hcnRpZmFjdEB2MQorICAgICAgICB3aXRoOgorICAgICAgICAgIG5hbWU6IGRpc3QKKyAgICAg
ICAgICBwYXRoOiBkaXN0LworCisgIHB1Ymxpc2g6CisgICAgcnVucy1vbjogdWJ1bnR1LWxhdGVz
dAorICAgIG5lZWRzOiBbbGludCwgdGVzdCwgcGFja2FnZS1zb3VyY2UsIHBhY2thZ2Utd2hlZWxd
CisgICAgc3RlcHM6CisgICAgICAtIHVzZXM6IGFjdGlvbnMvY2hlY2tvdXRAdjIKKyAgICAgIC0g
dXNlczogYWN0aW9ucy9kb3dubG9hZC1hcnRpZmFjdEB2MQorICAgICAgICB3aXRoOgorICAgICAg
ICAgIG5hbWU6IGRpc3QKKyAgICAgICAgICBwYXRoOiBkaXN0LworICAgICAgLSBuYW1lOiBQdWJs
aXNoIHRvIFB5UEkKKyAgICAgICAgaWY6IGdpdGh1Yi5ldmVudF9uYW1lID09ICdwdXNoJyAmJiBz
dGFydHNXaXRoKGdpdGh1Yi5ldmVudC5yZWYsICdyZWZzL3RhZ3MvJykKKyAgICAgICAgdXNlczog
cHlwYS9naC1hY3Rpb24tcHlwaS1wdWJsaXNoQG1hc3RlcgorICAgICAgICB3aXRoOgorICAgICAg
ICAgIHVzZXI6IF9fdG9rZW5fXworICAgICAgICAgIHBhc3N3b3JkOiAke3sgc2VjcmV0cy5QWVBJ
X1RPS0VOIH19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvLmdpdGh1Yi93b3JrZmxvd3MvdzNj
LWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvLmdpdGh1Yi93b3JrZmxvd3MvdzNjLWltcG9ydC5s
b2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uY2JjMGFlOTliMjBmNDg5ZWU3N2E4NTU5ZTUyYWM3OTQ1MzRkYWUwNwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy8uZ2l0aHViL3dvcmtmbG93cy93M2MtaW1w
b3J0LmxvZwpAQCAtMCwwICsxLDE3IEBACitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2Vy
ZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2Ug
dGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0
IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVz
dHMvd3B0CisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4g
V2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4K
KworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6
CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUK
Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvLmdpdGh1Yi93
b3JrZmxvd3MvdGVzdHMueW1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvTElDRU5TRSBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFy
dHkvYWlvcXVpYy9MSUNFTlNFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA0OTkyNGE1YWEwODM5ODZkMGJkNzA2OWVk
YzZlZGRlYWI3Y2UwYWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvTElDRU5TRQpA
QCAtMCwwICsxLDI1IEBACitDb3B5cmlnaHQgKGMpIDIwMTkgSmVyZW15IExhaW7DqS4KK0FsbCBy
aWdodHMgcmVzZXJ2ZWQuCisKK1JlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CisKKyAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZSwKKyAgICAgIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCisgICAgICB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1
bWVudGF0aW9uCisgICAgICBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgYWlvcXVpYyBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5CisgICAgICBiZSB1c2VkIHRvIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0Cisg
ICAgICBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisKK1RISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQKK0FOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECitXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCitESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFCitGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKK1NFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSCitDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKK09G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvTUFOSUZFU1QuaW4gYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fp
b3F1aWMvTUFOSUZFU1QuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTVlMDkwM2FmOTk0ZTM0YzM1ZDhiMmVlZTIw
YjRiYjNiNzY5ZGUyMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9NQU5JRkVTVC5p
bgpAQCAtMCwwICsxLDQgQEAKK2luY2x1ZGUgTElDRU5TRQorcmVjdXJzaXZlLWluY2x1ZGUgZG9j
cyAqLnB5ICoucnN0IE1ha2VmaWxlCityZWN1cnNpdmUtaW5jbHVkZSBleGFtcGxlcyAqLmh0bWwg
Ki5weQorcmVjdXJzaXZlLWluY2x1ZGUgdGVzdHMgKi5iaW4gKi5wZW0gKi5weQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGly
ZF9wYXJ0eS9haW9xdWljL1JFQURNRS5yc3QgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvUkVBRE1FLnJzdApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMzIyMDQyYzI0ZGQyNjZkZWExYjcyODQzNjRlOWE1Y2NlYjY2YTdlCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy90aGlyZF9wYXJ0eS9haW9xdWljL1JFQURNRS5yc3QKQEAgLTAsMCArMSwxNjQgQEAKK2Fp
b3F1aWMKKz09PT09PT0KKworfHJ0ZHwgfHB5cGktdnwgfHB5cGktcHl2ZXJzaW9uc3wgfHB5cGkt
bHwgfHRlc3RzfCB8Y29kZWNvdnwgfGJsYWNrfAorCisuLiB8cnRkfCBpbWFnZTo6IGh0dHBzOi8v
cmVhZHRoZWRvY3Mub3JnL3Byb2plY3RzL2Fpb3F1aWMvYmFkZ2UvP3ZlcnNpb249bGF0ZXN0Cisg
ICAgOnRhcmdldDogaHR0cHM6Ly9haW9xdWljLnJlYWR0aGVkb2NzLmlvLworCisuLiB8cHlwaS12
fCBpbWFnZTo6IGh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vcHlwaS92L2Fpb3F1aWMuc3ZnCisgICAg
OnRhcmdldDogaHR0cHM6Ly9weXBpLnB5dGhvbi5vcmcvcHlwaS9haW9xdWljCisKKy4uIHxweXBp
LXB5dmVyc2lvbnN8IGltYWdlOjogaHR0cHM6Ly9pbWcuc2hpZWxkcy5pby9weXBpL3B5dmVyc2lv
bnMvYWlvcXVpYy5zdmcKKyAgICA6dGFyZ2V0OiBodHRwczovL3B5cGkucHl0aG9uLm9yZy9weXBp
L2Fpb3F1aWMKKworLi4gfHB5cGktbHwgaW1hZ2U6OiBodHRwczovL2ltZy5zaGllbGRzLmlvL3B5
cGkvbC9haW9xdWljLnN2ZworICAgIDp0YXJnZXQ6IGh0dHBzOi8vcHlwaS5weXRob24ub3JnL3B5
cGkvYWlvcXVpYworCisuLiB8dGVzdHN8IGltYWdlOjogaHR0cHM6Ly9naXRodWIuY29tL2Fpb3J0
Yy9haW9xdWljL3dvcmtmbG93cy90ZXN0cy9iYWRnZS5zdmcKKyAgICA6dGFyZ2V0OiBodHRwczov
L2dpdGh1Yi5jb20vYWlvcnRjL2Fpb3F1aWMvYWN0aW9ucworCisuLiB8Y29kZWNvdnwgaW1hZ2U6
OiBodHRwczovL2ltZy5zaGllbGRzLmlvL2NvZGVjb3YvYy9naXRodWIvYWlvcnRjL2Fpb3F1aWMu
c3ZnCisgICAgOnRhcmdldDogaHR0cHM6Ly9jb2RlY292LmlvL2doL2Fpb3J0Yy9haW9xdWljCisK
Ky4uIHxibGFja3wgaW1hZ2U6OiBodHRwczovL2ltZy5zaGllbGRzLmlvL2JhZGdlL2NvZGUlMjBz
dHlsZS1ibGFjay0wMDAwMDAuc3ZnCisgICAgOnRhcmdldDogaHR0cHM6Ly9naXRodWIuY29tL3B5
dGhvbi9ibGFjaworCitXaGF0IGlzIGBgYWlvcXVpY2BgPworLS0tLS0tLS0tLS0tLS0tLS0tLS0K
KworYGBhaW9xdWljYGAgaXMgYSBsaWJyYXJ5IGZvciB0aGUgUVVJQyBuZXR3b3JrIHByb3RvY29s
IGluIFB5dGhvbi4gSXQgZmVhdHVyZXMKK2EgbWluaW1hbCBUTFMgMS4zIGltcGxlbWVudGF0aW9u
LCBhIFFVSUMgc3RhY2sgYW5kIGFuIEhUVFAvMyBzdGFjay4KKworUVVJQyBzdGFuZGFyZGlzYXRp
b24gaXMgbm90IGZpbmFsaXNlZCB5ZXQsIGJ1dCBgYGFpb3F1aWNgYCBjbG9zZWx5IHRyYWNrcyB0
aGUKK3NwZWNpZmljYXRpb24gZHJhZnRzIGFuZCBpcyByZWd1bGFybHkgdGVzdGVkIGZvciBpbnRl
cm9wZXJhYmlsaXR5IGFnYWluc3Qgb3RoZXIKK2BRVUlDIGltcGxlbWVudGF0aW9uc2BfLgorCitU
byBsZWFybiBtb3JlIGFib3V0IGBgYWlvcXVpY2BgIHBsZWFzZSBgcmVhZCB0aGUgZG9jdW1lbnRh
dGlvbmBfLgorCitXaHkgc2hvdWxkIEkgdXNlIGBgYWlvcXVpY2BgPworLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KKworYGBhaW9xdWljYGAgaGFzIGJlZW4gZGVzaWduZWQgdG8gYmUgZW1i
ZWRkZWQgaW50byBQeXRob24gY2xpZW50IGFuZCBzZXJ2ZXIKK2xpYnJhcmllcyB3aXNoaW5nIHRv
IHN1cHBvcnQgUVVJQyBhbmQgLyBvciBIVFRQLzMuIFRoZSBnb2FsIGlzIHRvIHByb3ZpZGUgYQor
Y29tbW9uIGNvZGViYXNlIGZvciBQeXRob24gbGlicmFyaWVzIGluIHRoZSBob3BlIG9mIGF2b2lk
aW5nIGR1cGxpY2F0ZWQgZWZmb3J0LgorCitCb3RoIHRoZSBRVUlDIGFuZCB0aGUgSFRUUC8zIEFQ
SXMgZm9sbG93IHRoZSAiYnJpbmcgeW91ciBvd24gSS9PIiBwYXR0ZXJuLAorbGVhdmluZyBhY3R1
YWwgSS9PIG9wZXJhdGlvbnMgdG8gdGhlIEFQSSB1c2VyLiBUaGlzIGFwcHJvYWNoIGhhcyBhIG51
bWJlciBvZgorYWR2YW50YWdlcyBpbmNsdWRpbmcgbWFraW5nIHRoZSBjb2RlIHRlc3RhYmxlIGFu
ZCBhbGxvd2luZyBpbnRlZ3JhdGlvbiB3aXRoCitkaWZmZXJlbnQgY29uY3VycmVuY3kgbW9kZWxz
LgorCitGZWF0dXJlcworLS0tLS0tLS0KKworLSBRVUlDIHN0YWNrIGNvbmZvcm1pbmcgd2l0aCBk
cmFmdC0yNworLSBIVFRQLzMgc3RhY2sgY29uZm9ybWluZyB3aXRoIGRyYWZ0LTI3CistIG1pbmlt
YWwgVExTIDEuMyBpbXBsZW1lbnRhdGlvbgorLSBJUHY0IGFuZCBJUHY2IHN1cHBvcnQKKy0gY29u
bmVjdGlvbiBtaWdyYXRpb24gYW5kIE5BVCByZWJpbmRpbmcKKy0gbG9nZ2luZyBUTFMgdHJhZmZp
YyBzZWNyZXRzCistIGxvZ2dpbmcgUVVJQyBldmVudHMgaW4gUUxPRyBmb3JtYXQKKy0gSFRUUC8z
IHNlcnZlciBwdXNoIHN1cHBvcnQKKworUmVxdWlyZW1lbnRzCistLS0tLS0tLS0tLS0KKworYGBh
aW9xdWljYGAgcmVxdWlyZXMgUHl0aG9uIDMuNiBvciBiZXR0ZXIsIGFuZCB0aGUgT3BlblNTTCBk
ZXZlbG9wbWVudCBoZWFkZXJzLgorCitMaW51eAorLi4uLi4KKworT24gRGViaWFuL1VidW50dSBy
dW46CisKKy4uIGNvZGUtYmxvY2s6OiBjb25zb2xlCisKKyAgICQgc3VkbyBhcHQgaW5zdGFsbCBs
aWJzc2wtZGV2IHB5dGhvbjMtZGV2CisKK09uIEFscGluZSBMaW51eCB5b3Ugd2lsbCBhbHNvIG5l
ZWQgdGhlIGZvbGxvd2luZzoKKworLi4gY29kZS1ibG9jazo6IGNvbnNvbGUKKworICAgJCBzdWRv
IGFwdCBpbnN0YWxsIGJzZC1jb21wYXQtaGVhZGVycyBsaWJmZmktZGV2CisKK09TIFgKKy4uLi4K
KworT24gT1MgWCBydW46CisKKy4uIGNvZGUtYmxvY2s6OiBjb25zb2xlCisKKyAgICQgYnJldyBp
bnN0YWxsIG9wZW5zc2wKKworWW91IHdpbGwgbmVlZCB0byBzZXQgc29tZSBlbnZpcm9ubWVudCB2
YXJpYWJsZXMgdG8gbGluayBhZ2FpbnN0IE9wZW5TU0w6CisKKy4uIGNvZGUtYmxvY2s6OiBjb25z
b2xlCisKKyAgICQgZXhwb3J0IENGTEFHUz0tSS91c3IvbG9jYWwvb3B0L29wZW5zc2wvaW5jbHVk
ZQorICAgJCBleHBvcnQgTERGTEFHUz0tTC91c3IvbG9jYWwvb3B0L29wZW5zc2wvbGliCisKK1dp
bmRvd3MKKy4uLi4uLi4KKworT24gV2luZG93cyB0aGUgZWFzaWVzdCB3YXkgdG8gaW5zdGFsbCBP
cGVuU1NMIGlzIHRvIHVzZSBgQ2hvY29sYXRleWBfLgorCisuLiBjb2RlLWJsb2NrOjogY29uc29s
ZQorCisgICA+IGNob2NvIGluc3RhbGwgb3BlbnNzbAorCitZb3Ugd2lsbCBuZWVkIHRvIHNldCBz
b21lIGVudmlyb25tZW50IHZhcmlhYmxlcyB0byBsaW5rIGFnYWluc3QgT3BlblNTTDoKKworLi4g
Y29kZS1ibG9jazo6IGNvbnNvbGUKKworICA+ICRFbnY6Q0wgPSAiL0lDOlxQcm9ncmF+MVxPcGVu
U1NMLVdpbjY0XGluY2x1ZGUiCisgID4gJEVudjpMSU5LID0gIi9MSUJQQVRIOkM6XFByb2dyYX4x
XE9wZW5TU0wtV2luNjRcbGliIgorCitSdW5uaW5nIHRoZSBleGFtcGxlcworLS0tLS0tLS0tLS0t
LS0tLS0tLS0KKworQWZ0ZXIgY2hlY2tpbmcgb3V0IHRoZSBjb2RlIHVzaW5nIGdpdCB5b3UgY2Fu
IHJ1bjoKKworLi4gY29kZS1ibG9jazo6IGNvbnNvbGUKKworICAgJCBwaXAgaW5zdGFsbCAtZSAu
CisgICAkIHBpcCBpbnN0YWxsIGFpb2ZpbGVzIGFzZ2lyZWYgaHR0cGJpbiBzdGFybGV0dGUgd3Nw
cm90bworCitIVFRQLzMgc2VydmVyCisuLi4uLi4uLi4uLi4uCisKK1lvdSBjYW4gcnVuIHRoZSBl
eGFtcGxlIHNlcnZlciwgd2hpY2ggaGFuZGxlcyBib3RoIEhUVFAvMC45IGFuZCBIVFRQLzM6CisK
Ky4uIGNvZGUtYmxvY2s6OiBjb25zb2xlCisKKyAgICQgcHl0aG9uIGV4YW1wbGVzL2h0dHAzX3Nl
cnZlci5weSAtLWNlcnRpZmljYXRlIHRlc3RzL3NzbF9jZXJ0LnBlbSAtLXByaXZhdGUta2V5IHRl
c3RzL3NzbF9rZXkucGVtCisKK0hUVFAvMyBjbGllbnQKKy4uLi4uLi4uLi4uLi4KKworWW91IGNh
biBydW4gdGhlIGV4YW1wbGUgY2xpZW50IHRvIHBlcmZvcm0gYW4gSFRUUC8zIHJlcXVlc3Q6CisK
Ky4uIGNvZGUtYmxvY2s6OiBjb25zb2xlCisKKyAgJCBweXRob24gZXhhbXBsZXMvaHR0cDNfY2xp
ZW50LnB5IC0tY2EtY2VydHMgdGVzdHMvcHljYWNlcnQucGVtIGh0dHBzOi8vbG9jYWxob3N0OjQ0
MzMvCisKK0FsdGVybmF0aXZlbHkgeW91IGNhbiBwZXJmb3JtIGFuIEhUVFAvMC45IHJlcXVlc3Q6
CisKKy4uIGNvZGUtYmxvY2s6OiBjb25zb2xlCisKKyAgJCBweXRob24gZXhhbXBsZXMvaHR0cDNf
Y2xpZW50LnB5IC0tY2EtY2VydHMgdGVzdHMvcHljYWNlcnQucGVtIC0tbGVnYWN5LWh0dHAgaHR0
cHM6Ly9sb2NhbGhvc3Q6NDQzMy8KKworWW91IGNhbiBhbHNvIG9wZW4gYSBXZWJTb2NrZXQgb3Zl
ciBIVFRQLzM6CisKKy4uIGNvZGUtYmxvY2s6OiBjb25zb2xlCisKKyAgJCBweXRob24gZXhhbXBs
ZXMvaHR0cDNfY2xpZW50LnB5IC0tY2EtY2VydHMgdGVzdHMvcHljYWNlcnQucGVtIHdzczovL2xv
Y2FsaG9zdDo0NDMzL3dzCisKK0xpY2Vuc2UKKy0tLS0tLS0KKworYGBhaW9xdWljYGAgaXMgcmVs
ZWFzZWQgdW5kZXIgdGhlIGBCU0QgbGljZW5zZWBfLgorCisuLiBfcmVhZCB0aGUgZG9jdW1lbnRh
dGlvbjogaHR0cHM6Ly9haW9xdWljLnJlYWR0aGVkb2NzLmlvL2VuL2xhdGVzdC8KKy4uIF9RVUlD
IGltcGxlbWVudGF0aW9uczogaHR0cHM6Ly9naXRodWIuY29tL3F1aWN3Zy9iYXNlLWRyYWZ0cy93
aWtpL0ltcGxlbWVudGF0aW9ucworLi4gX2NyeXB0b2dyYXBoeTogaHR0cHM6Ly9jcnlwdG9ncmFw
aHkuaW8vCisuLiBfQ2hvY29sYXRleTogaHR0cHM6Ly9jaG9jb2xhdGV5Lm9yZy8KKy4uIF9CU0Qg
bGljZW5zZTogaHR0cHM6Ly9haW9xdWljLnJlYWR0aGVkb2NzLmlvL2VuL2xhdGVzdC9saWNlbnNl
Lmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9kb2NzL01ha2VmaWxlIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9x
dWljL2RvY3MvTWFrZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2NiNzM4Yjk2MTdmYjJkOWRkMDY2ODRiZDIy
NGYwYWQwM2UwNmEwNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9kb2NzL01ha2Vm
aWxlCkBAIC0wLDAgKzEsMjAgQEAKKyMgTWluaW1hbCBtYWtlZmlsZSBmb3IgU3BoaW54IGRvY3Vt
ZW50YXRpb24KKyMKKworIyBZb3UgY2FuIHNldCB0aGVzZSB2YXJpYWJsZXMgZnJvbSB0aGUgY29t
bWFuZCBsaW5lLgorU1BISU5YT1BUUyAgICA9CitTUEhJTlhCVUlMRCAgID0gc3BoaW54LWJ1aWxk
CitTUEhJTlhQUk9KICAgID0gYWlvcXVpYworU09VUkNFRElSICAgICA9IC4KK0JVSUxERElSICAg
ICAgPSBfYnVpbGQKKworIyBQdXQgaXQgZmlyc3Qgc28gdGhhdCAibWFrZSIgd2l0aG91dCBhcmd1
bWVudCBpcyBsaWtlICJtYWtlIGhlbHAiLgoraGVscDoKKwlAJChTUEhJTlhCVUlMRCkgLU0gaGVs
cCAiJChTT1VSQ0VESVIpIiAiJChCVUlMRERJUikiICQoU1BISU5YT1BUUykgJChPKQorCisuUEhP
Tlk6IGhlbHAgTWFrZWZpbGUKKworIyBDYXRjaC1hbGwgdGFyZ2V0OiByb3V0ZSBhbGwgdW5rbm93
biB0YXJnZXRzIHRvIFNwaGlueCB1c2luZyB0aGUgbmV3CisjICJtYWtlIG1vZGUiIG9wdGlvbi4g
ICQoTykgaXMgbWVhbnQgYXMgYSBzaG9ydGN1dCBmb3IgJChTUEhJTlhPUFRTKS4KKyU6IE1ha2Vm
aWxlCisJQCQoU1BISU5YQlVJTEQpIC1NICRAICIkKFNPVVJDRURJUikiICIkKEJVSUxERElSKSIg
JChTUEhJTlhPUFRTKSAkKE8pClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGly
ZF9wYXJ0eS9haW9xdWljL2RvY3MvYXN5bmNpby5yc3QgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvZG9jcy9hc3lu
Y2lvLnJzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yZWM1NjgwOTAxNDYwYjAzMjgzYTRhYzZjZjY1NGU4YzJhYWM2
MGZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL2RvY3MvYXN5bmNpby5yc3QKQEAg
LTAsMCArMSwzMiBAQAorYXN5bmNpbyBBUEkKKz09PT09PT09PT09CisKK1RoZSBhc3luY2lvIEFQ
SSBwcm92aWRlcyBhIGhpZ2gtbGV2ZWwgUVVJQyBBUEkgYnVpbHQgb24gdG9wIG9mIDptb2Q6YGFz
eW5jaW9gLAorUHl0aG9uJ3Mgc3RhbmRhcmQgYXN5bmNocm9ub3VzIEkvTyBmcmFtZXdvcmsuCisK
K2BgYWlvcXVpY2BgIGNvbWVzIHdpdGggYSBzZWxlY3Rpb24gb2YgZXhhbXBsZXMsIGluY2x1ZGlu
ZzoKKworLSBhbiBIVFRQLzMgY2xpZW50CistIGFuIEhUVFAvMyBzZXJ2ZXIKKworVGhlIGV4YW1w
bGVzIGNhbiBiZSBicm93c2VkIG9uIEdpdEh1YjoKKworaHR0cHM6Ly9naXRodWIuY29tL2Fpb3J0
Yy9haW9xdWljL3RyZWUvbWFzdGVyL2V4YW1wbGVzCisKKy4uIGF1dG9tb2R1bGU6OiBhaW9xdWlj
LmFzeW5jaW8KKworQ2xpZW50CistLS0tLS0KKworICAgIC4uIGF1dG9mdW5jdGlvbjo6IGNvbm5l
Y3QKKworU2VydmVyCistLS0tLS0KKworICAgIC4uIGF1dG9mdW5jdGlvbjo6IHNlcnZlCisKK0Nv
bW1vbgorLS0tLS0tCisKKyAgICAuLiBhdXRvY2xhc3M6OiBRdWljQ29ubmVjdGlvblByb3RvY29s
CisgICAgICAgIDptZW1iZXJzOgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL2RvY3MvY29uZi5w
eSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhp
cmRfcGFydHkvYWlvcXVpYy9kb2NzL2NvbmYucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjg5MDYyYWM5NzUzMjZh
NDdmODhlZGFlNGQ4ZDM0M2NmZTc2MGMwYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVp
Yy9kb2NzL2NvbmYucHkKQEAgLTAsMCArMSwyMDUgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMK
KyMgLSotIGNvZGluZzogdXRmLTggLSotCisjCisjIGFpb3F1aWMgZG9jdW1lbnRhdGlvbiBidWls
ZCBjb25maWd1cmF0aW9uIGZpbGUsIGNyZWF0ZWQgYnkKKyMgc3BoaW54LXF1aWNrc3RhcnQgb24g
VGh1IEZlYiAgOCAxNzoyMjoxNCAyMDE4LgorIworIyBUaGlzIGZpbGUgaXMgZXhlY2ZpbGUoKWQg
d2l0aCB0aGUgY3VycmVudCBkaXJlY3Rvcnkgc2V0IHRvIGl0cworIyBjb250YWluaW5nIGRpci4K
KyMKKyMgTm90ZSB0aGF0IG5vdCBhbGwgcG9zc2libGUgY29uZmlndXJhdGlvbiB2YWx1ZXMgYXJl
IHByZXNlbnQgaW4gdGhpcworIyBhdXRvZ2VuZXJhdGVkIGZpbGUuCisjCisjIEFsbCBjb25maWd1
cmF0aW9uIHZhbHVlcyBoYXZlIGEgZGVmYXVsdDsgdmFsdWVzIHRoYXQgYXJlIGNvbW1lbnRlZCBv
dXQKKyMgc2VydmUgdG8gc2hvdyB0aGUgZGVmYXVsdC4KKworaW1wb3J0IHN5cywgb3MKKworIyBJ
ZiBleHRlbnNpb25zIChvciBtb2R1bGVzIHRvIGRvY3VtZW50IHdpdGggYXV0b2RvYykgYXJlIGlu
IGFub3RoZXIgZGlyZWN0b3J5LAorIyBhZGQgdGhlc2UgZGlyZWN0b3JpZXMgdG8gc3lzLnBhdGgg
aGVyZS4gSWYgdGhlIGRpcmVjdG9yeSBpcyByZWxhdGl2ZSB0byB0aGUKKyMgZG9jdW1lbnRhdGlv
biByb290LCB1c2Ugb3MucGF0aC5hYnNwYXRoIHRvIG1ha2UgaXQgYWJzb2x1dGUsIGxpa2Ugc2hv
d24gaGVyZS4KK3N5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRoLmFic3BhdGgoJy4uJykpCisKKwor
Y2xhc3MgTW9ja0J1ZmZlcjoKKyAgICBCdWZmZXIgPSBOb25lCisgICAgQnVmZmVyUmVhZEVycm9y
ID0gTm9uZQorICAgIEJ1ZmZlcldyaXRlRXJyb3IgPSBOb25lCisKKworY2xhc3MgTW9ja0NyeXB0
bzoKKyAgICBBRUFEID0gTm9uZQorICAgIENyeXB0b0Vycm9yID0gVmFsdWVFcnJvcgorICAgIEhl
YWRlclByb3RlY3Rpb24gPSBOb25lCisKKworY2xhc3MgTW9ja1B5bHNxcGFjazoKKyAgICBEZWNv
ZGVyID0gTm9uZQorICAgIEVuY29kZXIgPSBOb25lCisgICAgU3RyZWFtQmxvY2tlZCA9IE5vbmUK
KworCitzeXMubW9kdWxlcy51cGRhdGUoeworICAgICJhaW9xdWljLl9idWZmZXIiOiBNb2NrQnVm
ZmVyKCksCisgICAgImFpb3F1aWMuX2NyeXB0byI6IE1vY2tDcnlwdG8oKSwKKyAgICAicHlsc3Fw
YWNrIjogTW9ja1B5bHNxcGFjaygpLAorfSkKKworIyAtLSBHZW5lcmFsIGNvbmZpZ3VyYXRpb24g
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyMgSWYg
eW91ciBkb2N1bWVudGF0aW9uIG5lZWRzIGEgbWluaW1hbCBTcGhpbnggdmVyc2lvbiwgc3RhdGUg
aXQgaGVyZS4KKyMKKyMgbmVlZHNfc3BoaW54ID0gJzEuMCcKKworIyBBZGQgYW55IFNwaGlueCBl
eHRlbnNpb24gbW9kdWxlIG5hbWVzIGhlcmUsIGFzIHN0cmluZ3MuIFRoZXkgY2FuIGJlCisjIGV4
dGVuc2lvbnMgY29taW5nIHdpdGggU3BoaW54IChuYW1lZCAnc3BoaW54LmV4dC4qJykgb3IgeW91
ciBjdXN0b20KKyMgb25lcy4KK2V4dGVuc2lvbnMgPSBbCisgICAgJ3NwaGlueC5leHQuYXV0b2Rv
YycsCisgICAgJ3NwaGlueC5leHQuaW50ZXJzcGhpbngnLAorICAgICdzcGhpbnhfYXV0b2RvY190
eXBlaGludHMnLAorICAgICdzcGhpbnhjb250cmliLmFzeW5jaW8nLAorXQoraW50ZXJzcGhpbnhf
bWFwcGluZyA9IHsKKyAgICAnY3J5cHRvZ3JhcGh5JzogKCdodHRwczovL2NyeXB0b2dyYXBoeS5p
by9lbi9sYXRlc3QnLCBOb25lKSwKKyAgICAncHl0aG9uJzogKCdodHRwczovL2RvY3MucHl0aG9u
Lm9yZy8zJywgTm9uZSksCit9CisKKyMgQWRkIGFueSBwYXRocyB0aGF0IGNvbnRhaW4gdGVtcGxh
dGVzIGhlcmUsIHJlbGF0aXZlIHRvIHRoaXMgZGlyZWN0b3J5LgordGVtcGxhdGVzX3BhdGggPSBb
J190ZW1wbGF0ZXMnXQorCisjIFRoZSBzdWZmaXgoZXMpIG9mIHNvdXJjZSBmaWxlbmFtZXMuCisj
IFlvdSBjYW4gc3BlY2lmeSBtdWx0aXBsZSBzdWZmaXggYXMgYSBsaXN0IG9mIHN0cmluZzoKKyMK
KyMgc291cmNlX3N1ZmZpeCA9IFsnLnJzdCcsICcubWQnXQorc291cmNlX3N1ZmZpeCA9ICcucnN0
JworCisjIFRoZSBtYXN0ZXIgdG9jdHJlZSBkb2N1bWVudC4KK21hc3Rlcl9kb2MgPSAnaW5kZXgn
CisKKyMgR2VuZXJhbCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcHJvamVjdC4KK3Byb2plY3QgPSAn
YWlvcXVpYycKK2NvcHlyaWdodCA9IHUnMjAxOSwgSmVyZW15IExhaW7DqScKK2F1dGhvciA9IHUn
SmVyZW15IExhaW7DqScKKworIyBUaGUgdmVyc2lvbiBpbmZvIGZvciB0aGUgcHJvamVjdCB5b3Un
cmUgZG9jdW1lbnRpbmcsIGFjdHMgYXMgcmVwbGFjZW1lbnQgZm9yCisjIHx2ZXJzaW9ufCBhbmQg
fHJlbGVhc2V8LCBhbHNvIHVzZWQgaW4gdmFyaW91cyBvdGhlciBwbGFjZXMgdGhyb3VnaG91dCB0
aGUKKyMgYnVpbHQgZG9jdW1lbnRzLgorIworIyBUaGUgc2hvcnQgWC5ZIHZlcnNpb24uCit2ZXJz
aW9uID0gJycKKyMgVGhlIGZ1bGwgdmVyc2lvbiwgaW5jbHVkaW5nIGFscGhhL2JldGEvcmMgdGFn
cy4KK3JlbGVhc2UgPSAnJworCisjIFRoZSBsYW5ndWFnZSBmb3IgY29udGVudCBhdXRvZ2VuZXJh
dGVkIGJ5IFNwaGlueC4gUmVmZXIgdG8gZG9jdW1lbnRhdGlvbgorIyBmb3IgYSBsaXN0IG9mIHN1
cHBvcnRlZCBsYW5ndWFnZXMuCisjCisjIFRoaXMgaXMgYWxzbyB1c2VkIGlmIHlvdSBkbyBjb250
ZW50IHRyYW5zbGF0aW9uIHZpYSBnZXR0ZXh0IGNhdGFsb2dzLgorIyBVc3VhbGx5IHlvdSBzZXQg
Imxhbmd1YWdlIiBmcm9tIHRoZSBjb21tYW5kIGxpbmUgZm9yIHRoZXNlIGNhc2VzLgorbGFuZ3Vh
Z2UgPSBOb25lCisKKyMgTGlzdCBvZiBwYXR0ZXJucywgcmVsYXRpdmUgdG8gc291cmNlIGRpcmVj
dG9yeSwgdGhhdCBtYXRjaCBmaWxlcyBhbmQKKyMgZGlyZWN0b3JpZXMgdG8gaWdub3JlIHdoZW4g
bG9va2luZyBmb3Igc291cmNlIGZpbGVzLgorIyBUaGlzIHBhdHRlcm5zIGFsc28gZWZmZWN0IHRv
IGh0bWxfc3RhdGljX3BhdGggYW5kIGh0bWxfZXh0cmFfcGF0aAorZXhjbHVkZV9wYXR0ZXJucyA9
IFsnX2J1aWxkJywgJ1RodW1icy5kYicsICcuRFNfU3RvcmUnXQorCisjIFRoZSBuYW1lIG9mIHRo
ZSBQeWdtZW50cyAoc3ludGF4IGhpZ2hsaWdodGluZykgc3R5bGUgdG8gdXNlLgorcHlnbWVudHNf
c3R5bGUgPSAnc3BoaW54JworCisjIElmIHRydWUsIGB0b2RvYCBhbmQgYHRvZG9MaXN0YCBwcm9k
dWNlIG91dHB1dCwgZWxzZSB0aGV5IHByb2R1Y2Ugbm90aGluZy4KK3RvZG9faW5jbHVkZV90b2Rv
cyA9IEZhbHNlCisKKworIyAtLSBPcHRpb25zIGZvciBIVE1MIG91dHB1dCAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyMgVGhlIHRoZW1lIHRvIHVzZSBm
b3IgSFRNTCBhbmQgSFRNTCBIZWxwIHBhZ2VzLiAgU2VlIHRoZSBkb2N1bWVudGF0aW9uIGZvcgor
IyBhIGxpc3Qgb2YgYnVpbHRpbiB0aGVtZXMuCisjCitodG1sX3RoZW1lID0gJ2FsYWJhc3RlcicK
KworIyBUaGVtZSBvcHRpb25zIGFyZSB0aGVtZS1zcGVjaWZpYyBhbmQgY3VzdG9taXplIHRoZSBs
b29rIGFuZCBmZWVsIG9mIGEgdGhlbWUKKyMgZnVydGhlci4gIEZvciBhIGxpc3Qgb2Ygb3B0aW9u
cyBhdmFpbGFibGUgZm9yIGVhY2ggdGhlbWUsIHNlZSB0aGUKKyMgZG9jdW1lbnRhdGlvbi4KKyMK
K2h0bWxfdGhlbWVfb3B0aW9ucyA9IHsKKyAgICAnZGVzY3JpcHRpb24nOiAnQSBsaWJyYXJ5IGZv
ciBRVUlDIGluIFB5dGhvbi4nLAorICAgICdnaXRodWJfYnV0dG9uJzogVHJ1ZSwKKyAgICAnZ2l0
aHViX3VzZXInOiAnYWlvcnRjJywKKyAgICAnZ2l0aHViX3JlcG8nOiAnYWlvcXVpYycsCit9CisK
KyMgQWRkIGFueSBwYXRocyB0aGF0IGNvbnRhaW4gY3VzdG9tIHN0YXRpYyBmaWxlcyAoc3VjaCBh
cyBzdHlsZSBzaGVldHMpIGhlcmUsCisjIHJlbGF0aXZlIHRvIHRoaXMgZGlyZWN0b3J5LiBUaGV5
IGFyZSBjb3BpZWQgYWZ0ZXIgdGhlIGJ1aWx0aW4gc3RhdGljIGZpbGVzLAorIyBzbyBhIGZpbGUg
bmFtZWQgImRlZmF1bHQuY3NzIiB3aWxsIG92ZXJ3cml0ZSB0aGUgYnVpbHRpbiAiZGVmYXVsdC5j
c3MiLgoraHRtbF9zdGF0aWNfcGF0aCA9IFsnX3N0YXRpYyddCisKKyMgQ3VzdG9tIHNpZGViYXIg
dGVtcGxhdGVzLCBtdXN0IGJlIGEgZGljdGlvbmFyeSB0aGF0IG1hcHMgZG9jdW1lbnQgbmFtZXMK
KyMgdG8gdGVtcGxhdGUgbmFtZXMuCisjCisjIFRoaXMgaXMgcmVxdWlyZWQgZm9yIHRoZSBhbGFi
YXN0ZXIgdGhlbWUKKyMgcmVmczogaHR0cDovL2FsYWJhc3Rlci5yZWFkdGhlZG9jcy5pby9lbi9s
YXRlc3QvaW5zdGFsbGF0aW9uLmh0bWwjc2lkZWJhcnMKK2h0bWxfc2lkZWJhcnMgPSB7CisgICAg
JyoqJzogWworICAgICAgICAnYWJvdXQuaHRtbCcsCisgICAgICAgICduYXZpZ2F0aW9uLmh0bWwn
LAorICAgICAgICAncmVsYXRpb25zLmh0bWwnLAorICAgICAgICAnc2VhcmNoYm94Lmh0bWwnLAor
ICAgIF0KK30KKworCisjIC0tIE9wdGlvbnMgZm9yIEhUTUxIZWxwIG91dHB1dCAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworIyBPdXRwdXQgZmlsZSBiYXNlIG5h
bWUgZm9yIEhUTUwgaGVscCBidWlsZGVyLgoraHRtbGhlbHBfYmFzZW5hbWUgPSAnYWlvcXVpY2Rv
YycKKworCisjIC0tIE9wdGlvbnMgZm9yIExhVGVYIG91dHB1dCAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworbGF0ZXhfZWxlbWVudHMgPSB7CisgICAgIyBU
aGUgcGFwZXIgc2l6ZSAoJ2xldHRlcnBhcGVyJyBvciAnYTRwYXBlcicpLgorICAgICMKKyAgICAj
ICdwYXBlcnNpemUnOiAnbGV0dGVycGFwZXInLAorCisgICAgIyBUaGUgZm9udCBzaXplICgnMTBw
dCcsICcxMXB0JyBvciAnMTJwdCcpLgorICAgICMKKyAgICAjICdwb2ludHNpemUnOiAnMTBwdCcs
CisKKyAgICAjIEFkZGl0aW9uYWwgc3R1ZmYgZm9yIHRoZSBMYVRlWCBwcmVhbWJsZS4KKyAgICAj
CisgICAgIyAncHJlYW1ibGUnOiAnJywKKworICAgICMgTGF0ZXggZmlndXJlIChmbG9hdCkgYWxp
Z25tZW50CisgICAgIworICAgICMgJ2ZpZ3VyZV9hbGlnbic6ICdodGJwJywKK30KKworIyBHcm91
cGluZyB0aGUgZG9jdW1lbnQgdHJlZSBpbnRvIExhVGVYIGZpbGVzLiBMaXN0IG9mIHR1cGxlcwor
IyAoc291cmNlIHN0YXJ0IGZpbGUsIHRhcmdldCBuYW1lLCB0aXRsZSwKKyMgIGF1dGhvciwgZG9j
dW1lbnRjbGFzcyBbaG93dG8sIG1hbnVhbCwgb3Igb3duIGNsYXNzXSkuCitsYXRleF9kb2N1bWVu
dHMgPSBbCisgICAgKG1hc3Rlcl9kb2MsICdhaW9xdWljLnRleCcsICdhaW9xdWljIERvY3VtZW50
YXRpb24nLAorICAgICBhdXRob3IsICdtYW51YWwnKSwKK10KKworCisjIC0tIE9wdGlvbnMgZm9y
IG1hbnVhbCBwYWdlIG91dHB1dCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KKworIyBPbmUgZW50cnkgcGVyIG1hbnVhbCBwYWdlLiBMaXN0IG9mIHR1cGxlcworIyAoc291
cmNlIHN0YXJ0IGZpbGUsIG5hbWUsIGRlc2NyaXB0aW9uLCBhdXRob3JzLCBtYW51YWwgc2VjdGlv
bikuCittYW5fcGFnZXMgPSBbCisgICAgKG1hc3Rlcl9kb2MsICdhaW9xdWljJywgJ2Fpb3F1aWMg
RG9jdW1lbnRhdGlvbicsCisgICAgIFthdXRob3JdLCAxKQorXQorCisKKyMgLS0gT3B0aW9ucyBm
b3IgVGV4aW5mbyBvdXRwdXQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQorCisjIEdyb3VwaW5nIHRoZSBkb2N1bWVudCB0cmVlIGludG8gVGV4aW5mbyBmaWxlcy4g
TGlzdCBvZiB0dXBsZXMKKyMgKHNvdXJjZSBzdGFydCBmaWxlLCB0YXJnZXQgbmFtZSwgdGl0bGUs
IGF1dGhvciwKKyMgIGRpciBtZW51IGVudHJ5LCBkZXNjcmlwdGlvbiwgY2F0ZWdvcnkpCit0ZXhp
bmZvX2RvY3VtZW50cyA9IFsKKyAgICAobWFzdGVyX2RvYywgJ2Fpb3F1aWMnLCAnYWlvcXVpYyBE
b2N1bWVudGF0aW9uJywKKyAgICAgYXV0aG9yLCAnYWlvcXVpYycsICdPbmUgbGluZSBkZXNjcmlw
dGlvbiBvZiBwcm9qZWN0LicsCisgICAgICdNaXNjZWxsYW5lb3VzJyksCitdCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJk
X3BhcnR5L2Fpb3F1aWMvZG9jcy9kZXNpZ24ucnN0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL2RvY3MvZGVzaWdu
LnJzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43NTI5ZTc2MmY1YTYzNGUyYTM1NzkxZTQ2NWI5MDQ5YmE0YmU2MjE4
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL2RvY3MvZGVzaWduLnJzdApAQCAtMCww
ICsxLDM3IEBACitEZXNpZ24KKz09PT09PQorCitTYW5zLUlPIEFQSXMKKy4uLi4uLi4uLi4uLgor
CitCb3RoIHRoZSBRVUlDIGFuZCB0aGUgSFRUUC8zIEFQSXMgZm9sbG93IHRoZSBgc2FucyBJL09g
XyBwYXR0ZXJuLCBsZWF2aW5nCithY3R1YWwgSS9PIG9wZXJhdGlvbnMgdG8gdGhlIEFQSSB1c2Vy
LiBUaGlzIGFwcHJvYWNoIGhhcyBhIG51bWJlciBvZgorYWR2YW50YWdlcyBpbmNsdWRpbmcgbWFr
aW5nIHRoZSBjb2RlIHRlc3RhYmxlIGFuZCBhbGxvd2luZyBpbnRlZ3JhdGlvbiB3aXRoCitkaWZm
ZXJlbnQgY29uY3VycmVuY3kgbW9kZWxzLgorCitUTFMgYW5kIGVuY3J5cHRpb24KKy4uLi4uLi4u
Li4uLi4uLi4uLgorCitUTFMgMS4zCisrKysrKysrCisKK2BgYWlvcXVpY2BgIGZlYXR1cmVzIGEg
bWluaW1hbCBUTFMgMS4zIGltcGxlbWVudGF0aW9uIGJ1aWx0IHVwb24gdGhlCitgY3J5cHRvZ3Jh
cGh5YF8gbGlicmFyeS4gVGhpcyBpcyBiZWNhdXNlIFFVSUMgcmVxdWlyZXMgc29tZSBBUElzIHdo
aWNoIGFyZQorY3VycmVudGx5IHVuYXZhaWxhYmxlIGluIG1haW5zdHJlYW0gVExTIGltcGxlbWVu
dGF0aW9ucyBzdWNoIGFzIE9wZW5TU0w6CisKKy0gdGhlIGFiaWxpdHkgdG8gZXh0cmFjdCB0cmFm
ZmljIHNlY3JldHMKKworLSB0aGUgYWJpbGl0eSB0byBvcGVyYXRlIGRpcmVjdGx5IG9uIFRMUyBt
ZXNzYWdlcywgd2l0aG91dCB1c2luZyB0aGUgVExTCisgIHJlY29yZCBsYXllcgorCitIZWFkZXIg
cHJvdGVjdGlvbiBhbmQgcGF5bG9hZCBlbmNyeXB0aW9uCisrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrCisKK1FVSUMgbWFrZXMgZXh0ZW5zaXZlIHVzZSBvZiBjcnlwdG9n
cmFwaGljIG9wZXJhdGlvbnMgdG8gcHJvdGVjdCBRVUlDIHBhY2tldAoraGVhZGVycyBhbmQgZW5j
cnlwdCBwYWNrZXQgcGF5bG9hZHMuIFRoZXNlIG9wZXJhdGlvbnMgb2NjdXIgZm9yIGV2ZXJ5IHNp
bmdsZQorcGFja2V0IGFuZCBhcmUgYSBkZXRlcm1pbmluZyBmYWN0b3IgZm9yIHBlcmZvcm1hbmNl
LiBGb3IgdGhpcyByZWFzb24sIHRoZXkKK2FyZSBpbXBsZW1lbnRlZCBhcyBhIEMgZXh0ZW5zaW9u
IGxpbmtlZCB0byBgT3BlblNTTGBfLgorCisuLiBfc2FucyBJL086IGh0dHBzOi8vc2Fucy1pby5y
ZWFkdGhlZG9jcy5pby8KKy4uIF9jcnlwdG9ncmFwaHk6IGh0dHBzOi8vY3J5cHRvZ3JhcGh5Lmlv
LworLi4gX09wZW5TU0w6IGh0dHBzOi8vd3d3Lm9wZW5zc2wub3JnLwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0
eS9haW9xdWljL2RvY3MvaDMucnN0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL2RvY3MvaDMucnN0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjMwZTIyMDFjNDNkNDZiMGNiYjJiYWMyOGRmY2Y1OTIwYTAxMjkxNWYKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3RoaXJkX3BhcnR5L2Fpb3F1aWMvZG9jcy9oMy5yc3QKQEAgLTAsMCArMSw0NCBAQAorSFRUUC8z
IEFQSQorPT09PT09PT09PQorCitUaGUgSFRUUC8zIEFQSSBwZXJmb3JtcyBubyBJL08gb24gaXRz
IG93biwgbGVhdmluZyB0aGlzIHRvIHRoZSBBUEkgdXNlci4KK1RoaXMgYWxsb3dzIHlvdSB0byBp
bnRlZ3JhdGUgSFRUUC8zIGluIGFueSBQeXRob24gYXBwbGljYXRpb24sIHJlZ2FyZGxlc3Mgb2YK
K3RoZSBjb25jdXJyZW5jeSBtb2RlbCB5b3UgYXJlIHVzaW5nLgorCitDb25uZWN0aW9uCistLS0t
LS0tLS0tCisKKy4uIGF1dG9tb2R1bGU6OiBhaW9xdWljLmgzLmNvbm5lY3Rpb24KKworICAgIC4u
IGF1dG9jbGFzczo6IEgzQ29ubmVjdGlvbgorICAgICAgICA6bWVtYmVyczoKKworCitFdmVudHMK
Ky0tLS0tLQorCisuLiBhdXRvbW9kdWxlOjogYWlvcXVpYy5oMy5ldmVudHMKKworICAgIC4uIGF1
dG9jbGFzczo6IEgzRXZlbnQKKyAgICAgICAgOm1lbWJlcnM6CisKKyAgICAuLiBhdXRvY2xhc3M6
OiBEYXRhUmVjZWl2ZWQKKyAgICAgICAgOm1lbWJlcnM6CisKKyAgICAuLiBhdXRvY2xhc3M6OiBI
ZWFkZXJzUmVjZWl2ZWQKKyAgICAgICAgOm1lbWJlcnM6CisKKyAgICAuLiBhdXRvY2xhc3M6OiBQ
dXNoUHJvbWlzZVJlY2VpdmVkCisgICAgICAgIDptZW1iZXJzOgorCisKK0V4Y2VwdGlvbnMKKy0t
LS0tLS0tLS0KKworLi4gYXV0b21vZHVsZTo6IGFpb3F1aWMuaDMuZXhjZXB0aW9ucworCisgICAg
Li4gYXV0b2NsYXNzOjogSDNFcnJvcgorICAgICAgICA6bWVtYmVyczoKKworICAgIC4uIGF1dG9j
bGFzczo6IE5vQXZhaWxhYmxlUHVzaElERXJyb3IKKyAgICAgICAgOm1lbWJlcnM6CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3Ro
aXJkX3BhcnR5L2Fpb3F1aWMvZG9jcy9pbmRleC5yc3QgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvZG9jcy9pbmRl
eC5yc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjg0MTU2MWEyMjQwNDBiYzFhOGFjZTI2NmFkMDE1NjhmNjg0MTdh
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9kb2NzL2luZGV4LnJzdApAQCAtMCww
ICsxLDM5IEBACithaW9xdWljCis9PT09PT09CisKK3xweXBpLXZ8IHxweXBpLXB5dmVyc2lvbnN8
IHxweXBpLWx8IHx0ZXN0c3wgfGNvZGVjb3Z8CisKKy4uIHxweXBpLXZ8IGltYWdlOjogaHR0cHM6
Ly9pbWcuc2hpZWxkcy5pby9weXBpL3YvYWlvcXVpYy5zdmcKKyAgICA6dGFyZ2V0OiBodHRwczov
L3B5cGkucHl0aG9uLm9yZy9weXBpL2Fpb3F1aWMKKworLi4gfHB5cGktcHl2ZXJzaW9uc3wgaW1h
Z2U6OiBodHRwczovL2ltZy5zaGllbGRzLmlvL3B5cGkvcHl2ZXJzaW9ucy9haW9xdWljLnN2Zwor
ICAgIDp0YXJnZXQ6IGh0dHBzOi8vcHlwaS5weXRob24ub3JnL3B5cGkvYWlvcXVpYworCisuLiB8
cHlwaS1sfCBpbWFnZTo6IGh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vcHlwaS9sL2Fpb3F1aWMuc3Zn
CisgICAgOnRhcmdldDogaHR0cHM6Ly9weXBpLnB5dGhvbi5vcmcvcHlwaS9haW9xdWljCisKKy4u
IHx0ZXN0c3wgaW1hZ2U6OiBodHRwczovL2dpdGh1Yi5jb20vYWlvcnRjL2Fpb3F1aWMvd29ya2Zs
b3dzL3Rlc3RzL2JhZGdlLnN2ZworICAgIDp0YXJnZXQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9haW9y
dGMvYWlvcXVpYy9hY3Rpb25zCisKKy4uIHxjb2RlY292fCBpbWFnZTo6IGh0dHBzOi8vaW1nLnNo
aWVsZHMuaW8vY29kZWNvdi9jL2dpdGh1Yi9haW9ydGMvYWlvcXVpYy5zdmcKKyAgICA6dGFyZ2V0
OiBodHRwczovL2NvZGVjb3YuaW8vZ2gvYWlvcnRjL2Fpb3F1aWMKKworYGBhaW9xdWljYGAgaXMg
YSBsaWJyYXJ5IGZvciB0aGUgUVVJQyBuZXR3b3JrIHByb3RvY29sIGluIFB5dGhvbi4gSXQgZmVh
dHVyZXMgc2V2ZXJhbAorQVBJczoKKworLSBhIFFVSUMgQVBJIGZvbGxvd2luZyB0aGUgImJyaW5n
IHlvdXIgb3duIEkvTyIgcGF0dGVybiwgc3VpdGFibGUgZm9yCisgIGVtYmVkZGluZyBpbiBhbnkg
ZnJhbWV3b3JrLAorCistIGFuIEhUVFAvMyBBUEkgd2hpY2ggYWxzbyBmb2xsb3dzIHRoZSAiYnJp
bmcgeW91ciBvd24gSS9PIiBwYXR0ZXJuLAorCistIGEgUVVJQyBjb252ZW5pZW5jZSBBUEkgYnVp
bHQgb24gdG9wIG9mIDptb2Q6YGFzeW5jaW9gLCBQeXRob24ncyBzdGFuZGFyZCBhc3luY2hyb25v
dXMKKyAgSS9PIGZyYW1ld29yay4KKworLi4gdG9jdHJlZTo6CisgICA6bWF4ZGVwdGg6IDIKKwor
ICAgZGVzaWduCisgICBxdWljCisgICBoMworICAgYXN5bmNpbworICAgbGljZW5zZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90
aGlyZF9wYXJ0eS9haW9xdWljL2RvY3MvbGljZW5zZS5yc3QgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvZG9jcy9s
aWNlbnNlLnJzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NDJkM2IwN2ZjOTNmNjQ3ZjNmZDA4ZTY1YjRiNGZhZGRj
ZjMzYWZhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL2RvY3MvbGljZW5zZS5yc3QK
QEAgLTAsMCArMSw0IEBACitMaWNlbnNlCistLS0tLS0tCisKKy4uIGxpdGVyYWxpbmNsdWRlOjog
Li4vTElDRU5TRQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL2RvY3MvcXVpYy5yc3QgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5
L2Fpb3F1aWMvZG9jcy9xdWljLnJzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MGViZWZiNDlkNTE0YTQ1MTVjMjIz
Y2RjODQzNjljZDE2YTEyYjczCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL2RvY3Mv
cXVpYy5yc3QKQEAgLTAsMCArMSw1MSBAQAorUVVJQyBBUEkKKz09PT09PT09CisKK1RoZSBRVUlD
IEFQSSBwZXJmb3JtcyBubyBJL08gb24gaXRzIG93biwgbGVhdmluZyB0aGlzIHRvIHRoZSBBUEkg
dXNlci4KK1RoaXMgYWxsb3dzIHlvdSB0byBpbnRlZ3JhdGUgUVVJQyBpbiBhbnkgUHl0aG9uIGFw
cGxpY2F0aW9uLCByZWdhcmRsZXNzIG9mCit0aGUgY29uY3VycmVuY3kgbW9kZWwgeW91IGFyZSB1
c2luZy4KKworQ29ubmVjdGlvbgorLS0tLS0tLS0tLQorCisuLiBhdXRvbW9kdWxlOjogYWlvcXVp
Yy5xdWljLmNvbm5lY3Rpb24KKworICAgIC4uIGF1dG9jbGFzczo6IFF1aWNDb25uZWN0aW9uCisg
ICAgICAgIDptZW1iZXJzOgorCisKK0NvbmZpZ3VyYXRpb24KKy0tLS0tLS0tLS0tLS0KKworLi4g
YXV0b21vZHVsZTo6IGFpb3F1aWMucXVpYy5jb25maWd1cmF0aW9uCisKKyAgICAuLiBhdXRvY2xh
c3M6OiBRdWljQ29uZmlndXJhdGlvbgorICAgICAgICA6bWVtYmVyczoKKworLi4gYXV0b21vZHVs
ZTo6IGFpb3F1aWMucXVpYy5sb2dnZXIKKworICAgIC4uIGF1dG9jbGFzczo6IFF1aWNMb2dnZXIK
KyAgICAgICAgOm1lbWJlcnM6CisKK0V2ZW50cworLS0tLS0tCisKKy4uIGF1dG9tb2R1bGU6OiBh
aW9xdWljLnF1aWMuZXZlbnRzCisKKyAgICAuLiBhdXRvY2xhc3M6OiBRdWljRXZlbnQKKyAgICAg
ICAgOm1lbWJlcnM6CisKKyAgICAuLiBhdXRvY2xhc3M6OiBDb25uZWN0aW9uVGVybWluYXRlZAor
ICAgICAgICA6bWVtYmVyczoKKworICAgIC4uIGF1dG9jbGFzczo6IEhhbmRzaGFrZUNvbXBsZXRl
ZAorICAgICAgICA6bWVtYmVyczoKKworICAgIC4uIGF1dG9jbGFzczo6IFBpbmdBY2tub3dsZWRn
ZWQKKyAgICAgICAgOm1lbWJlcnM6CisKKyAgICAuLiBhdXRvY2xhc3M6OiBTdHJlYW1EYXRhUmVj
ZWl2ZWQKKyAgICAgICAgOm1lbWJlcnM6CisKKyAgICAuLiBhdXRvY2xhc3M6OiBTdHJlYW1SZXNl
dAorICAgICAgICA6bWVtYmVyczoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9kb2NzL3czYy1p
bXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy90aGlyZF9wYXJ0eS9haW9xdWljL2RvY3MvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MDgwZTc5OTkwNDNkMjk3NDFhMTM0OTE2Njc4ZDU0MDQ5OTJhOTc1ZAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhp
cmRfcGFydHkvYWlvcXVpYy9kb2NzL3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMjQgQEAKK1Ro
ZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBv
c2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJ
bnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6
Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKKworVGhlbiBydW4gdGhlIFRvb2xz
L1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9U
IG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRp
ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1
aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZp
bGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
dGhpcmRfcGFydHkvYWlvcXVpYy9kb2NzL01ha2VmaWxlCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL2RvY3MvYXN5
bmNpby5yc3QKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvZG9jcy9jb25mLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL2RvY3Mv
ZGVzaWduLnJzdAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9kb2NzL2gzLnJzdAorL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9kb2Nz
L2luZGV4LnJzdAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9kb2NzL2xpY2Vuc2UucnN0CisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWlj
L2RvY3MvcXVpYy5yc3QKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9leGFtcGxlcy9kZW1vLnB5
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGly
ZF9wYXJ0eS9haW9xdWljL2V4YW1wbGVzL2RlbW8ucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmQ0Zjk3NTJmMTRj
Nzk3ZjQyOTI3NzM3OWQwNzZkZDU2YWNlOTIwMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlv
cXVpYy9leGFtcGxlcy9kZW1vLnB5CkBAIC0wLDAgKzEsMTA5IEBACisjCisjIGRlbW8gYXBwbGlj
YXRpb24gZm9yIGh0dHAzX3NlcnZlci5weQorIworCitpbXBvcnQgZGF0ZXRpbWUKK2ltcG9ydCBv
cworZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0IHVybGVuY29kZQorCitpbXBvcnQgaHR0cGJpbgor
ZnJvbSBhc2dpcmVmLndzZ2kgaW1wb3J0IFdzZ2lUb0FzZ2kKK2Zyb20gc3RhcmxldHRlLmFwcGxp
Y2F0aW9ucyBpbXBvcnQgU3RhcmxldHRlCitmcm9tIHN0YXJsZXR0ZS5yZXNwb25zZXMgaW1wb3J0
IFBsYWluVGV4dFJlc3BvbnNlLCBSZXNwb25zZQorZnJvbSBzdGFybGV0dGUuc3RhdGljZmlsZXMg
aW1wb3J0IFN0YXRpY0ZpbGVzCitmcm9tIHN0YXJsZXR0ZS50ZW1wbGF0aW5nIGltcG9ydCBKaW5q
YTJUZW1wbGF0ZXMKK2Zyb20gc3RhcmxldHRlLndlYnNvY2tldHMgaW1wb3J0IFdlYlNvY2tldERp
c2Nvbm5lY3QKKworUk9PVCA9IG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXykKK1NUQVRJQ19ST09U
ID0gb3MuZW52aXJvbi5nZXQoIlNUQVRJQ19ST09UIiwgb3MucGF0aC5qb2luKFJPT1QsICJodGRv
Y3MiKSkKK1NUQVRJQ19VUkwgPSAiLyIKK0xPR1NfUEFUSCA9IG9zLnBhdGguam9pbihTVEFUSUNf
Uk9PVCwgImxvZ3MiKQorUVZJU19VUkwgPSAiaHR0cHM6Ly9xdmlzLmVkbS51aGFzc2VsdC5iZS8i
CisKK3RlbXBsYXRlcyA9IEppbmphMlRlbXBsYXRlcyhkaXJlY3Rvcnk9b3MucGF0aC5qb2luKFJP
T1QsICJ0ZW1wbGF0ZXMiKSkKK2FwcCA9IFN0YXJsZXR0ZSgpCisKKworQGFwcC5yb3V0ZSgiLyIp
Cithc3luYyBkZWYgaG9tZXBhZ2UocmVxdWVzdCk6CisgICAgIiIiCisgICAgU2ltcGxlIGhvbWVw
YWdlLgorICAgICIiIgorICAgIGF3YWl0IHJlcXVlc3Quc2VuZF9wdXNoX3Byb21pc2UoIi9zdHls
ZS5jc3MiKQorICAgIHJldHVybiB0ZW1wbGF0ZXMuVGVtcGxhdGVSZXNwb25zZSgiaW5kZXguaHRt
bCIsIHsicmVxdWVzdCI6IHJlcXVlc3R9KQorCisKK0BhcHAucm91dGUoIi9lY2hvIiwgbWV0aG9k
cz1bIlBPU1QiXSkKK2FzeW5jIGRlZiBlY2hvKHJlcXVlc3QpOgorICAgICIiIgorICAgIEhUVFAg
ZWNobyBlbmRwb2ludC4KKyAgICAiIiIKKyAgICBjb250ZW50ID0gYXdhaXQgcmVxdWVzdC5ib2R5
KCkKKyAgICBtZWRpYV90eXBlID0gcmVxdWVzdC5oZWFkZXJzLmdldCgiY29udGVudC10eXBlIikK
KyAgICByZXR1cm4gUmVzcG9uc2UoY29udGVudCwgbWVkaWFfdHlwZT1tZWRpYV90eXBlKQorCisK
K0BhcHAucm91dGUoIi9sb2dzLz8iKQorYXN5bmMgZGVmIGxvZ3MocmVxdWVzdCk6CisgICAgIiIi
CisgICAgQnJvd3NhYmxlIGxpc3Qgb2YgUUxPRyBmaWxlcy4KKyAgICAiIiIKKyAgICBsb2dzID0g
W10KKyAgICBmb3IgbmFtZSBpbiBvcy5saXN0ZGlyKExPR1NfUEFUSCk6CisgICAgICAgIGlmIG5h
bWUuZW5kc3dpdGgoIi5xbG9nIik6CisgICAgICAgICAgICBzID0gb3Muc3RhdChvcy5wYXRoLmpv
aW4oTE9HU19QQVRILCBuYW1lKSkKKyAgICAgICAgICAgIGZpbGVfdXJsID0gImh0dHBzOi8vIiAr
IHJlcXVlc3QuaGVhZGVyc1siaG9zdCJdICsgIi9sb2dzLyIgKyBuYW1lCisgICAgICAgICAgICBs
b2dzLmFwcGVuZCgKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICJkYXRl
IjogZGF0ZXRpbWUuZGF0ZXRpbWUudXRjZnJvbXRpbWVzdGFtcChzLnN0X210aW1lKS5zdHJmdGlt
ZSgKKyAgICAgICAgICAgICAgICAgICAgICAgICIlWS0lbS0lZCAlSDolTTolUyIKKyAgICAgICAg
ICAgICAgICAgICAgKSwKKyAgICAgICAgICAgICAgICAgICAgImZpbGVfdXJsIjogZmlsZV91cmws
CisgICAgICAgICAgICAgICAgICAgICJuYW1lIjogbmFtZVs6LTVdLAorICAgICAgICAgICAgICAg
ICAgICAicXZpc191cmwiOiBRVklTX1VSTAorICAgICAgICAgICAgICAgICAgICArICI/IgorICAg
ICAgICAgICAgICAgICAgICArIHVybGVuY29kZSh7ImZpbGUiOiBmaWxlX3VybH0pCisgICAgICAg
ICAgICAgICAgICAgICsgIiMvc2VxdWVuY2UiLAorICAgICAgICAgICAgICAgICAgICAic2l6ZSI6
IHMuc3Rfc2l6ZSwKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICApCisgICAgcmV0dXJu
IHRlbXBsYXRlcy5UZW1wbGF0ZVJlc3BvbnNlKAorICAgICAgICAibG9ncy5odG1sIiwKKyAgICAg
ICAgeworICAgICAgICAgICAgImxvZ3MiOiBzb3J0ZWQobG9ncywga2V5PWxhbWJkYSB4OiB4WyJk
YXRlIl0sIHJldmVyc2U9VHJ1ZSksCisgICAgICAgICAgICAicmVxdWVzdCI6IHJlcXVlc3QsCisg
ICAgICAgIH0sCisgICAgKQorCisKK0BhcHAucm91dGUoIi97c2l6ZTppbnR9IikKK2RlZiBwYWRk
aW5nKHJlcXVlc3QpOgorICAgICIiIgorICAgIER5bmFtaWNhbGx5IGdlbmVyYXRlZCBkYXRhLCBt
YXhpbXVtIDUwTUIuCisgICAgIiIiCisgICAgc2l6ZSA9IG1pbig1MDAwMDAwMCwgcmVxdWVzdC5w
YXRoX3BhcmFtc1sic2l6ZSJdKQorICAgIHJldHVybiBQbGFpblRleHRSZXNwb25zZSgiWiIgKiBz
aXplKQorCisKK0BhcHAud2Vic29ja2V0X3JvdXRlKCIvd3MiKQorYXN5bmMgZGVmIHdzKHdlYnNv
Y2tldCk6CisgICAgIiIiCisgICAgV2ViU29ja2V0IGVjaG8gZW5kcG9pbnQuCisgICAgIiIiCisg
ICAgaWYgImNoYXQiIGluIHdlYnNvY2tldC5zY29wZVsic3VicHJvdG9jb2xzIl06CisgICAgICAg
IHN1YnByb3RvY29sID0gImNoYXQiCisgICAgZWxzZToKKyAgICAgICAgc3VicHJvdG9jb2wgPSBO
b25lCisgICAgYXdhaXQgd2Vic29ja2V0LmFjY2VwdChzdWJwcm90b2NvbD1zdWJwcm90b2NvbCkK
KworICAgIHRyeToKKyAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgIG1lc3NhZ2UgPSBh
d2FpdCB3ZWJzb2NrZXQucmVjZWl2ZV90ZXh0KCkKKyAgICAgICAgICAgIGF3YWl0IHdlYnNvY2tl
dC5zZW5kX3RleHQobWVzc2FnZSkKKyAgICBleGNlcHQgV2ViU29ja2V0RGlzY29ubmVjdDoKKyAg
ICAgICAgcGFzcworCisKK2FwcC5tb3VudCgiL2h0dHBiaW4iLCBXc2dpVG9Bc2dpKGh0dHBiaW4u
YXBwKSkKKworYXBwLm1vdW50KFNUQVRJQ19VUkwsIFN0YXRpY0ZpbGVzKGRpcmVjdG9yeT1TVEFU
SUNfUk9PVCwgaHRtbD1UcnVlKSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9leGFtcGxlcy9o
dGRvY3Mvcm9ib3RzLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9leGFtcGxlcy9odGRvY3Mvcm9ib3RzLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41MWFhMGJkZWFhY2U2MzcyYTdlYjEzMDEwZmQxNjY2YzY1NTQ2ODY0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL2V4YW1wbGVzL2h0ZG9jcy9yb2JvdHMudHh0
CkBAIC0wLDAgKzEsMiBAQAorVXNlci1hZ2VudDogKgorRGlzYWxsb3c6IC9sb2dzCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3Ro
aXJkX3BhcnR5L2Fpb3F1aWMvZXhhbXBsZXMvaHRkb2NzL3N0eWxlLmNzcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVp
Yy9leGFtcGxlcy9odGRvY3Mvc3R5bGUuY3NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAxNTIzZGI4YWQ4ZDE2Zjc1
MjYwYzU4MTdhYjQ4ZTg5ZTIxZWJiZDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMv
ZXhhbXBsZXMvaHRkb2NzL3N0eWxlLmNzcwpAQCAtMCwwICsxLDEwIEBACitib2R5IHsKKyAgICBm
b250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7CisgICAgZm9udC1zaXplOiAxNnB4OworICAg
IG1hcmdpbjogMCBhdXRvOworICAgIHdpZHRoOiA0MGVtOworfQorCit0YWJsZS5sb2dzIHsKKyAg
ICB3aWR0aDogMTAwJTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9leGFtcGxlcy9odGRv
Y3MvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvZXhhbXBsZXMvaHRkb2NzL3czYy1pbXBv
cnQubG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmM2NjgyMGRmMGRmODA5YzdjOTg5OTI3YThiOGIzMjhlMDQ5NTZm
ZjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvZXhhbXBsZXMvaHRkb2NzL3czYy1p
bXBvcnQubG9nCkBAIC0wLDAgKzEsMTggQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3
ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVz
ZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVl
c3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10
ZXN0cy93cHQKKworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBp
biBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxl
LgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhl
czoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9u
ZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9leGFtcGxl
cy9odGRvY3Mvcm9ib3RzLnR4dAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9leGFtcGxlcy9odGRvY3Mvc3R5bGUu
Y3NzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvZXhhbXBsZXMvaHR0cDNfY2xpZW50LnB5IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9w
YXJ0eS9haW9xdWljL2V4YW1wbGVzL2h0dHAzX2NsaWVudC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YTg4OGEz
NmVhN2ViYTI3ZjM2YTVkZDQwYjBjNzZhMDQyNDlkYzI5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0
eS9haW9xdWljL2V4YW1wbGVzL2h0dHAzX2NsaWVudC5weQpAQCAtMCwwICsxLDQ1NSBAQAoraW1w
b3J0IGFyZ3BhcnNlCitpbXBvcnQgYXN5bmNpbworaW1wb3J0IGpzb24KK2ltcG9ydCBsb2dnaW5n
CitpbXBvcnQgb3MKK2ltcG9ydCBwaWNrbGUKK2ltcG9ydCBzc2wKK2ltcG9ydCB0aW1lCitmcm9t
IGNvbGxlY3Rpb25zIGltcG9ydCBkZXF1ZQorZnJvbSB0eXBpbmcgaW1wb3J0IENhbGxhYmxlLCBE
ZXF1ZSwgRGljdCwgTGlzdCwgT3B0aW9uYWwsIFVuaW9uLCBjYXN0Citmcm9tIHVybGxpYi5wYXJz
ZSBpbXBvcnQgdXJscGFyc2UKKworaW1wb3J0IHdzcHJvdG8KK2ltcG9ydCB3c3Byb3RvLmV2ZW50
cworCitpbXBvcnQgYWlvcXVpYworZnJvbSBhaW9xdWljLmFzeW5jaW8uY2xpZW50IGltcG9ydCBj
b25uZWN0Citmcm9tIGFpb3F1aWMuYXN5bmNpby5wcm90b2NvbCBpbXBvcnQgUXVpY0Nvbm5lY3Rp
b25Qcm90b2NvbAorZnJvbSBhaW9xdWljLmgwLmNvbm5lY3Rpb24gaW1wb3J0IEgwX0FMUE4sIEgw
Q29ubmVjdGlvbgorZnJvbSBhaW9xdWljLmgzLmNvbm5lY3Rpb24gaW1wb3J0IEgzX0FMUE4sIEgz
Q29ubmVjdGlvbgorZnJvbSBhaW9xdWljLmgzLmV2ZW50cyBpbXBvcnQgKAorICAgIERhdGFSZWNl
aXZlZCwKKyAgICBIM0V2ZW50LAorICAgIEhlYWRlcnNSZWNlaXZlZCwKKyAgICBQdXNoUHJvbWlz
ZVJlY2VpdmVkLAorKQorZnJvbSBhaW9xdWljLnF1aWMuY29uZmlndXJhdGlvbiBpbXBvcnQgUXVp
Y0NvbmZpZ3VyYXRpb24KK2Zyb20gYWlvcXVpYy5xdWljLmV2ZW50cyBpbXBvcnQgUXVpY0V2ZW50
Citmcm9tIGFpb3F1aWMucXVpYy5sb2dnZXIgaW1wb3J0IFF1aWNMb2dnZXIKK2Zyb20gYWlvcXVp
Yy50bHMgaW1wb3J0IFNlc3Npb25UaWNrZXQKKwordHJ5OgorICAgIGltcG9ydCB1dmxvb3AKK2V4
Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICB1dmxvb3AgPSBOb25lCisKK2xvZ2dlciA9IGxvZ2dpbmcu
Z2V0TG9nZ2VyKCJjbGllbnQiKQorCitIdHRwQ29ubmVjdGlvbiA9IFVuaW9uW0gwQ29ubmVjdGlv
biwgSDNDb25uZWN0aW9uXQorCitVU0VSX0FHRU5UID0gImFpb3F1aWMvIiArIGFpb3F1aWMuX192
ZXJzaW9uX18KKworCitjbGFzcyBVUkw6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHVybDogc3Ry
KSAtPiBOb25lOgorICAgICAgICBwYXJzZWQgPSB1cmxwYXJzZSh1cmwpCisKKyAgICAgICAgc2Vs
Zi5hdXRob3JpdHkgPSBwYXJzZWQubmV0bG9jCisgICAgICAgIHNlbGYuZnVsbF9wYXRoID0gcGFy
c2VkLnBhdGgKKyAgICAgICAgaWYgcGFyc2VkLnF1ZXJ5OgorICAgICAgICAgICAgc2VsZi5mdWxs
X3BhdGggKz0gIj8iICsgcGFyc2VkLnF1ZXJ5CisgICAgICAgIHNlbGYuc2NoZW1lID0gcGFyc2Vk
LnNjaGVtZQorCisKK2NsYXNzIEh0dHBSZXF1ZXN0OgorICAgIGRlZiBfX2luaXRfXygKKyAgICAg
ICAgc2VsZiwgbWV0aG9kOiBzdHIsIHVybDogVVJMLCBjb250ZW50OiBieXRlcyA9IGIiIiwgaGVh
ZGVyczogRGljdCA9IHt9CisgICAgKSAtPiBOb25lOgorICAgICAgICBzZWxmLmNvbnRlbnQgPSBj
b250ZW50CisgICAgICAgIHNlbGYuaGVhZGVycyA9IGhlYWRlcnMKKyAgICAgICAgc2VsZi5tZXRo
b2QgPSBtZXRob2QKKyAgICAgICAgc2VsZi51cmwgPSB1cmwKKworCitjbGFzcyBXZWJTb2NrZXQ6
CisgICAgZGVmIF9faW5pdF9fKAorICAgICAgICBzZWxmLCBodHRwOiBIdHRwQ29ubmVjdGlvbiwg
c3RyZWFtX2lkOiBpbnQsIHRyYW5zbWl0OiBDYWxsYWJsZVtbXSwgTm9uZV0KKyAgICApIC0+IE5v
bmU6CisgICAgICAgIHNlbGYuaHR0cCA9IGh0dHAKKyAgICAgICAgc2VsZi5xdWV1ZTogYXN5bmNp
by5RdWV1ZVtzdHJdID0gYXN5bmNpby5RdWV1ZSgpCisgICAgICAgIHNlbGYuc3RyZWFtX2lkID0g
c3RyZWFtX2lkCisgICAgICAgIHNlbGYuc3VicHJvdG9jb2w6IE9wdGlvbmFsW3N0cl0gPSBOb25l
CisgICAgICAgIHNlbGYudHJhbnNtaXQgPSB0cmFuc21pdAorICAgICAgICBzZWxmLndlYnNvY2tl
dCA9IHdzcHJvdG8uQ29ubmVjdGlvbih3c3Byb3RvLkNvbm5lY3Rpb25UeXBlLkNMSUVOVCkKKwor
ICAgIGFzeW5jIGRlZiBjbG9zZShzZWxmLCBjb2RlPTEwMDAsIHJlYXNvbj0iIikgLT4gTm9uZToK
KyAgICAgICAgIiIiCisgICAgICAgIFBlcmZvcm0gdGhlIGNsb3NpbmcgaGFuZHNoYWtlLgorICAg
ICAgICAiIiIKKyAgICAgICAgZGF0YSA9IHNlbGYud2Vic29ja2V0LnNlbmQoCisgICAgICAgICAg
ICB3c3Byb3RvLmV2ZW50cy5DbG9zZUNvbm5lY3Rpb24oY29kZT1jb2RlLCByZWFzb249cmVhc29u
KQorICAgICAgICApCisgICAgICAgIHNlbGYuaHR0cC5zZW5kX2RhdGEoc3RyZWFtX2lkPXNlbGYu
c3RyZWFtX2lkLCBkYXRhPWRhdGEsIGVuZF9zdHJlYW09VHJ1ZSkKKyAgICAgICAgc2VsZi50cmFu
c21pdCgpCisKKyAgICBhc3luYyBkZWYgcmVjdihzZWxmKSAtPiBzdHI6CisgICAgICAgICIiIgor
ICAgICAgICBSZWNlaXZlIHRoZSBuZXh0IG1lc3NhZ2UuCisgICAgICAgICIiIgorICAgICAgICBy
ZXR1cm4gYXdhaXQgc2VsZi5xdWV1ZS5nZXQoKQorCisgICAgYXN5bmMgZGVmIHNlbmQoc2VsZiwg
bWVzc2FnZTogc3RyKSAtPiBOb25lOgorICAgICAgICAiIiIKKyAgICAgICAgU2VuZCBhIG1lc3Nh
Z2UuCisgICAgICAgICIiIgorICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShtZXNzYWdlLCBzdHIp
CisKKyAgICAgICAgZGF0YSA9IHNlbGYud2Vic29ja2V0LnNlbmQod3Nwcm90by5ldmVudHMuVGV4
dE1lc3NhZ2UoZGF0YT1tZXNzYWdlKSkKKyAgICAgICAgc2VsZi5odHRwLnNlbmRfZGF0YShzdHJl
YW1faWQ9c2VsZi5zdHJlYW1faWQsIGRhdGE9ZGF0YSwgZW5kX3N0cmVhbT1GYWxzZSkKKyAgICAg
ICAgc2VsZi50cmFuc21pdCgpCisKKyAgICBkZWYgaHR0cF9ldmVudF9yZWNlaXZlZChzZWxmLCBl
dmVudDogSDNFdmVudCkgLT4gTm9uZToKKyAgICAgICAgaWYgaXNpbnN0YW5jZShldmVudCwgSGVh
ZGVyc1JlY2VpdmVkKToKKyAgICAgICAgICAgIGZvciBoZWFkZXIsIHZhbHVlIGluIGV2ZW50Lmhl
YWRlcnM6CisgICAgICAgICAgICAgICAgaWYgaGVhZGVyID09IGIic2VjLXdlYnNvY2tldC1wcm90
b2NvbCI6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuc3VicHJvdG9jb2wgPSB2YWx1ZS5kZWNv
ZGUoKQorICAgICAgICBlbGlmIGlzaW5zdGFuY2UoZXZlbnQsIERhdGFSZWNlaXZlZCk6CisgICAg
ICAgICAgICBzZWxmLndlYnNvY2tldC5yZWNlaXZlX2RhdGEoZXZlbnQuZGF0YSkKKworICAgICAg
ICBmb3Igd3NfZXZlbnQgaW4gc2VsZi53ZWJzb2NrZXQuZXZlbnRzKCk6CisgICAgICAgICAgICBz
ZWxmLndlYnNvY2tldF9ldmVudF9yZWNlaXZlZCh3c19ldmVudCkKKworICAgIGRlZiB3ZWJzb2Nr
ZXRfZXZlbnRfcmVjZWl2ZWQoc2VsZiwgZXZlbnQ6IHdzcHJvdG8uZXZlbnRzLkV2ZW50KSAtPiBO
b25lOgorICAgICAgICBpZiBpc2luc3RhbmNlKGV2ZW50LCB3c3Byb3RvLmV2ZW50cy5UZXh0TWVz
c2FnZSk6CisgICAgICAgICAgICBzZWxmLnF1ZXVlLnB1dF9ub3dhaXQoZXZlbnQuZGF0YSkKKwor
CitjbGFzcyBIdHRwQ2xpZW50KFF1aWNDb25uZWN0aW9uUHJvdG9jb2wpOgorICAgIGRlZiBfX2lu
aXRfXyhzZWxmLCAqYXJncywgKiprd2FyZ3MpIC0+IE5vbmU6CisgICAgICAgIHN1cGVyKCkuX19p
bml0X18oKmFyZ3MsICoqa3dhcmdzKQorCisgICAgICAgIHNlbGYucHVzaGVzOiBEaWN0W2ludCwg
RGVxdWVbSDNFdmVudF1dID0ge30KKyAgICAgICAgc2VsZi5faHR0cDogT3B0aW9uYWxbSHR0cENv
bm5lY3Rpb25dID0gTm9uZQorICAgICAgICBzZWxmLl9yZXF1ZXN0X2V2ZW50czogRGljdFtpbnQs
IERlcXVlW0gzRXZlbnRdXSA9IHt9CisgICAgICAgIHNlbGYuX3JlcXVlc3Rfd2FpdGVyOiBEaWN0
W2ludCwgYXN5bmNpby5GdXR1cmVbRGVxdWVbSDNFdmVudF1dXSA9IHt9CisgICAgICAgIHNlbGYu
X3dlYnNvY2tldHM6IERpY3RbaW50LCBXZWJTb2NrZXRdID0ge30KKworICAgICAgICBpZiBzZWxm
Ll9xdWljLmNvbmZpZ3VyYXRpb24uYWxwbl9wcm90b2NvbHNbMF0uc3RhcnRzd2l0aCgiaHEtIik6
CisgICAgICAgICAgICBzZWxmLl9odHRwID0gSDBDb25uZWN0aW9uKHNlbGYuX3F1aWMpCisgICAg
ICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLl9odHRwID0gSDNDb25uZWN0aW9uKHNlbGYuX3F1
aWMpCisKKyAgICBhc3luYyBkZWYgZ2V0KHNlbGYsIHVybDogc3RyLCBoZWFkZXJzOiBEaWN0ID0g
e30pIC0+IERlcXVlW0gzRXZlbnRdOgorICAgICAgICAiIiIKKyAgICAgICAgUGVyZm9ybSBhIEdF
VCByZXF1ZXN0LgorICAgICAgICAiIiIKKyAgICAgICAgcmV0dXJuIGF3YWl0IHNlbGYuX3JlcXVl
c3QoCisgICAgICAgICAgICBIdHRwUmVxdWVzdChtZXRob2Q9IkdFVCIsIHVybD1VUkwodXJsKSwg
aGVhZGVycz1oZWFkZXJzKQorICAgICAgICApCisKKyAgICBhc3luYyBkZWYgcG9zdChzZWxmLCB1
cmw6IHN0ciwgZGF0YTogYnl0ZXMsIGhlYWRlcnM6IERpY3QgPSB7fSkgLT4gRGVxdWVbSDNFdmVu
dF06CisgICAgICAgICIiIgorICAgICAgICBQZXJmb3JtIGEgUE9TVCByZXF1ZXN0LgorICAgICAg
ICAiIiIKKyAgICAgICAgcmV0dXJuIGF3YWl0IHNlbGYuX3JlcXVlc3QoCisgICAgICAgICAgICBI
dHRwUmVxdWVzdChtZXRob2Q9IlBPU1QiLCB1cmw9VVJMKHVybCksIGNvbnRlbnQ9ZGF0YSwgaGVh
ZGVycz1oZWFkZXJzKQorICAgICAgICApCisKKyAgICBhc3luYyBkZWYgd2Vic29ja2V0KHNlbGYs
IHVybDogc3RyLCBzdWJwcm90b2NvbHM6IExpc3Rbc3RyXSA9IFtdKSAtPiBXZWJTb2NrZXQ6Cisg
ICAgICAgICIiIgorICAgICAgICBPcGVuIGEgV2ViU29ja2V0LgorICAgICAgICAiIiIKKyAgICAg
ICAgcmVxdWVzdCA9IEh0dHBSZXF1ZXN0KG1ldGhvZD0iQ09OTkVDVCIsIHVybD1VUkwodXJsKSkK
KyAgICAgICAgc3RyZWFtX2lkID0gc2VsZi5fcXVpYy5nZXRfbmV4dF9hdmFpbGFibGVfc3RyZWFt
X2lkKCkKKyAgICAgICAgd2Vic29ja2V0ID0gV2ViU29ja2V0KAorICAgICAgICAgICAgaHR0cD1z
ZWxmLl9odHRwLCBzdHJlYW1faWQ9c3RyZWFtX2lkLCB0cmFuc21pdD1zZWxmLnRyYW5zbWl0Cisg
ICAgICAgICkKKworICAgICAgICBzZWxmLl93ZWJzb2NrZXRzW3N0cmVhbV9pZF0gPSB3ZWJzb2Nr
ZXQKKworICAgICAgICBoZWFkZXJzID0gWworICAgICAgICAgICAgKGIiOm1ldGhvZCIsIGIiQ09O
TkVDVCIpLAorICAgICAgICAgICAgKGIiOnNjaGVtZSIsIGIiaHR0cHMiKSwKKyAgICAgICAgICAg
IChiIjphdXRob3JpdHkiLCByZXF1ZXN0LnVybC5hdXRob3JpdHkuZW5jb2RlKCkpLAorICAgICAg
ICAgICAgKGIiOnBhdGgiLCByZXF1ZXN0LnVybC5mdWxsX3BhdGguZW5jb2RlKCkpLAorICAgICAg
ICAgICAgKGIiOnByb3RvY29sIiwgYiJ3ZWJzb2NrZXQiKSwKKyAgICAgICAgICAgIChiInVzZXIt
YWdlbnQiLCBVU0VSX0FHRU5ULmVuY29kZSgpKSwKKyAgICAgICAgICAgIChiInNlYy13ZWJzb2Nr
ZXQtdmVyc2lvbiIsIGIiMTMiKSwKKyAgICAgICAgXQorICAgICAgICBpZiBzdWJwcm90b2NvbHM6
CisgICAgICAgICAgICBoZWFkZXJzLmFwcGVuZCgKKyAgICAgICAgICAgICAgICAoYiJzZWMtd2Vi
c29ja2V0LXByb3RvY29sIiwgIiwgIi5qb2luKHN1YnByb3RvY29scykuZW5jb2RlKCkpCisgICAg
ICAgICAgICApCisgICAgICAgIHNlbGYuX2h0dHAuc2VuZF9oZWFkZXJzKHN0cmVhbV9pZD1zdHJl
YW1faWQsIGhlYWRlcnM9aGVhZGVycykKKworICAgICAgICBzZWxmLnRyYW5zbWl0KCkKKworICAg
ICAgICByZXR1cm4gd2Vic29ja2V0CisKKyAgICBkZWYgaHR0cF9ldmVudF9yZWNlaXZlZChzZWxm
LCBldmVudDogSDNFdmVudCkgLT4gTm9uZToKKyAgICAgICAgaWYgaXNpbnN0YW5jZShldmVudCwg
KEhlYWRlcnNSZWNlaXZlZCwgRGF0YVJlY2VpdmVkKSk6CisgICAgICAgICAgICBzdHJlYW1faWQg
PSBldmVudC5zdHJlYW1faWQKKyAgICAgICAgICAgIGlmIHN0cmVhbV9pZCBpbiBzZWxmLl9yZXF1
ZXN0X2V2ZW50czoKKyAgICAgICAgICAgICAgICAjIGh0dHAKKyAgICAgICAgICAgICAgICBzZWxm
Ll9yZXF1ZXN0X2V2ZW50c1tldmVudC5zdHJlYW1faWRdLmFwcGVuZChldmVudCkKKyAgICAgICAg
ICAgICAgICBpZiBldmVudC5zdHJlYW1fZW5kZWQ6CisgICAgICAgICAgICAgICAgICAgIHJlcXVl
c3Rfd2FpdGVyID0gc2VsZi5fcmVxdWVzdF93YWl0ZXIucG9wKHN0cmVhbV9pZCkKKyAgICAgICAg
ICAgICAgICAgICAgcmVxdWVzdF93YWl0ZXIuc2V0X3Jlc3VsdChzZWxmLl9yZXF1ZXN0X2V2ZW50
cy5wb3Aoc3RyZWFtX2lkKSkKKworICAgICAgICAgICAgZWxpZiBzdHJlYW1faWQgaW4gc2VsZi5f
d2Vic29ja2V0czoKKyAgICAgICAgICAgICAgICAjIHdlYnNvY2tldAorICAgICAgICAgICAgICAg
IHdlYnNvY2tldCA9IHNlbGYuX3dlYnNvY2tldHNbc3RyZWFtX2lkXQorICAgICAgICAgICAgICAg
IHdlYnNvY2tldC5odHRwX2V2ZW50X3JlY2VpdmVkKGV2ZW50KQorCisgICAgICAgICAgICBlbGlm
IGV2ZW50LnB1c2hfaWQgaW4gc2VsZi5wdXNoZXM6CisgICAgICAgICAgICAgICAgIyBwdXNoCisg
ICAgICAgICAgICAgICAgc2VsZi5wdXNoZXNbZXZlbnQucHVzaF9pZF0uYXBwZW5kKGV2ZW50KQor
CisgICAgICAgIGVsaWYgaXNpbnN0YW5jZShldmVudCwgUHVzaFByb21pc2VSZWNlaXZlZCk6Cisg
ICAgICAgICAgICBzZWxmLnB1c2hlc1tldmVudC5wdXNoX2lkXSA9IGRlcXVlKCkKKyAgICAgICAg
ICAgIHNlbGYucHVzaGVzW2V2ZW50LnB1c2hfaWRdLmFwcGVuZChldmVudCkKKworICAgIGRlZiBx
dWljX2V2ZW50X3JlY2VpdmVkKHNlbGYsIGV2ZW50OiBRdWljRXZlbnQpIC0+IE5vbmU6CisgICAg
ICAgICMgwqBwYXNzIGV2ZW50IHRvIHRoZSBIVFRQIGxheWVyCisgICAgICAgIGlmIHNlbGYuX2h0
dHAgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBmb3IgaHR0cF9ldmVudCBpbiBzZWxmLl9odHRw
LmhhbmRsZV9ldmVudChldmVudCk6CisgICAgICAgICAgICAgICAgc2VsZi5odHRwX2V2ZW50X3Jl
Y2VpdmVkKGh0dHBfZXZlbnQpCisKKyAgICBhc3luYyBkZWYgX3JlcXVlc3Qoc2VsZiwgcmVxdWVz
dDogSHR0cFJlcXVlc3QpOgorICAgICAgICBzdHJlYW1faWQgPSBzZWxmLl9xdWljLmdldF9uZXh0
X2F2YWlsYWJsZV9zdHJlYW1faWQoKQorICAgICAgICBzZWxmLl9odHRwLnNlbmRfaGVhZGVycygK
KyAgICAgICAgICAgIHN0cmVhbV9pZD1zdHJlYW1faWQsCisgICAgICAgICAgICBoZWFkZXJzPVsK
KyAgICAgICAgICAgICAgICAoYiI6bWV0aG9kIiwgcmVxdWVzdC5tZXRob2QuZW5jb2RlKCkpLAor
ICAgICAgICAgICAgICAgIChiIjpzY2hlbWUiLCByZXF1ZXN0LnVybC5zY2hlbWUuZW5jb2RlKCkp
LAorICAgICAgICAgICAgICAgIChiIjphdXRob3JpdHkiLCByZXF1ZXN0LnVybC5hdXRob3JpdHku
ZW5jb2RlKCkpLAorICAgICAgICAgICAgICAgIChiIjpwYXRoIiwgcmVxdWVzdC51cmwuZnVsbF9w
YXRoLmVuY29kZSgpKSwKKyAgICAgICAgICAgICAgICAoYiJ1c2VyLWFnZW50IiwgVVNFUl9BR0VO
VC5lbmNvZGUoKSksCisgICAgICAgICAgICBdCisgICAgICAgICAgICArIFsoay5lbmNvZGUoKSwg
di5lbmNvZGUoKSkgZm9yIChrLCB2KSBpbiByZXF1ZXN0LmhlYWRlcnMuaXRlbXMoKV0sCisgICAg
ICAgICkKKyAgICAgICAgc2VsZi5faHR0cC5zZW5kX2RhdGEoc3RyZWFtX2lkPXN0cmVhbV9pZCwg
ZGF0YT1yZXF1ZXN0LmNvbnRlbnQsIGVuZF9zdHJlYW09VHJ1ZSkKKworICAgICAgICB3YWl0ZXIg
PSBzZWxmLl9sb29wLmNyZWF0ZV9mdXR1cmUoKQorICAgICAgICBzZWxmLl9yZXF1ZXN0X2V2ZW50
c1tzdHJlYW1faWRdID0gZGVxdWUoKQorICAgICAgICBzZWxmLl9yZXF1ZXN0X3dhaXRlcltzdHJl
YW1faWRdID0gd2FpdGVyCisgICAgICAgIHNlbGYudHJhbnNtaXQoKQorCisgICAgICAgIHJldHVy
biBhd2FpdCBhc3luY2lvLnNoaWVsZCh3YWl0ZXIpCisKKworYXN5bmMgZGVmIHBlcmZvcm1faHR0
cF9yZXF1ZXN0KAorICAgIGNsaWVudDogSHR0cENsaWVudCwgdXJsOiBzdHIsIGRhdGE6IHN0ciwg
aW5jbHVkZTogYm9vbCwgb3V0cHV0X2RpcjogT3B0aW9uYWxbc3RyXSwKKykgLT4gTm9uZToKKyAg
ICAjIHBlcmZvcm0gcmVxdWVzdAorICAgIHN0YXJ0ID0gdGltZS50aW1lKCkKKyAgICBpZiBkYXRh
IGlzIG5vdCBOb25lOgorICAgICAgICBodHRwX2V2ZW50cyA9IGF3YWl0IGNsaWVudC5wb3N0KAor
ICAgICAgICAgICAgdXJsLAorICAgICAgICAgICAgZGF0YT1kYXRhLmVuY29kZSgpLAorICAgICAg
ICAgICAgaGVhZGVycz17ImNvbnRlbnQtdHlwZSI6ICJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVy
bGVuY29kZWQifSwKKyAgICAgICAgKQorICAgIGVsc2U6CisgICAgICAgIGh0dHBfZXZlbnRzID0g
YXdhaXQgY2xpZW50LmdldCh1cmwpCisgICAgZWxhcHNlZCA9IHRpbWUudGltZSgpIC0gc3RhcnQK
KworICAgICMgcHJpbnQgc3BlZWQKKyAgICBvY3RldHMgPSAwCisgICAgZm9yIGh0dHBfZXZlbnQg
aW4gaHR0cF9ldmVudHM6CisgICAgICAgIGlmIGlzaW5zdGFuY2UoaHR0cF9ldmVudCwgRGF0YVJl
Y2VpdmVkKToKKyAgICAgICAgICAgIG9jdGV0cyArPSBsZW4oaHR0cF9ldmVudC5kYXRhKQorICAg
IGxvZ2dlci5pbmZvKAorICAgICAgICAiUmVjZWl2ZWQgJWQgYnl0ZXMgaW4gJS4xZiBzICglLjNm
IE1icHMpIgorICAgICAgICAlIChvY3RldHMsIGVsYXBzZWQsIG9jdGV0cyAqIDggLyBlbGFwc2Vk
IC8gMTAwMDAwMCkKKyAgICApCisKKyAgICAjIG91dHB1dCByZXNwb25zZQorICAgIGlmIG91dHB1
dF9kaXIgaXMgbm90IE5vbmU6CisgICAgICAgIG91dHB1dF9wYXRoID0gb3MucGF0aC5qb2luKAor
ICAgICAgICAgICAgb3V0cHV0X2Rpciwgb3MucGF0aC5iYXNlbmFtZSh1cmxwYXJzZSh1cmwpLnBh
dGgpIG9yICJpbmRleC5odG1sIgorICAgICAgICApCisgICAgICAgIHdpdGggb3BlbihvdXRwdXRf
cGF0aCwgIndiIikgYXMgb3V0cHV0X2ZpbGU6CisgICAgICAgICAgICBmb3IgaHR0cF9ldmVudCBp
biBodHRwX2V2ZW50czoKKyAgICAgICAgICAgICAgICBpZiBpc2luc3RhbmNlKGh0dHBfZXZlbnQs
IEhlYWRlcnNSZWNlaXZlZCkgYW5kIGluY2x1ZGU6CisgICAgICAgICAgICAgICAgICAgIGhlYWRl
cnMgPSBiIiIKKyAgICAgICAgICAgICAgICAgICAgZm9yIGssIHYgaW4gaHR0cF9ldmVudC5oZWFk
ZXJzOgorICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVycyArPSBrICsgYiI6ICIgKyB2ICsg
YiJcclxuIgorICAgICAgICAgICAgICAgICAgICBpZiBoZWFkZXJzOgorICAgICAgICAgICAgICAg
ICAgICAgICAgb3V0cHV0X2ZpbGUud3JpdGUoaGVhZGVycyArIGIiXHJcbiIpCisgICAgICAgICAg
ICAgICAgZWxpZiBpc2luc3RhbmNlKGh0dHBfZXZlbnQsIERhdGFSZWNlaXZlZCk6CisgICAgICAg
ICAgICAgICAgICAgIG91dHB1dF9maWxlLndyaXRlKGh0dHBfZXZlbnQuZGF0YSkKKworCitkZWYg
c2F2ZV9zZXNzaW9uX3RpY2tldCh0aWNrZXQ6IFNlc3Npb25UaWNrZXQpIC0+IE5vbmU6CisgICAg
IiIiCisgICAgQ2FsbGJhY2sgd2hpY2ggaXMgaW52b2tlZCBieSB0aGUgVExTIGVuZ2luZSB3aGVu
IGEgbmV3IHNlc3Npb24gdGlja2V0CisgICAgaXMgcmVjZWl2ZWQuCisgICAgIiIiCisgICAgbG9n
Z2VyLmluZm8oIk5ldyBzZXNzaW9uIHRpY2tldCByZWNlaXZlZCIpCisgICAgaWYgYXJncy5zZXNz
aW9uX3RpY2tldDoKKyAgICAgICAgd2l0aCBvcGVuKGFyZ3Muc2Vzc2lvbl90aWNrZXQsICJ3YiIp
IGFzIGZwOgorICAgICAgICAgICAgcGlja2xlLmR1bXAodGlja2V0LCBmcCkKKworCithc3luYyBk
ZWYgcnVuKAorICAgIGNvbmZpZ3VyYXRpb246IFF1aWNDb25maWd1cmF0aW9uLAorICAgIHVybHM6
IExpc3Rbc3RyXSwKKyAgICBkYXRhOiBzdHIsCisgICAgaW5jbHVkZTogYm9vbCwKKyAgICBvdXRw
dXRfZGlyOiBPcHRpb25hbFtzdHJdLAorICAgIGxvY2FsX3BvcnQ6IGludCwKKykgLT4gTm9uZToK
KyAgICAjIHBhcnNlIFVSTAorICAgIHBhcnNlZCA9IHVybHBhcnNlKHVybHNbMF0pCisgICAgYXNz
ZXJ0IHBhcnNlZC5zY2hlbWUgaW4gKAorICAgICAgICAiaHR0cHMiLAorICAgICAgICAid3NzIiwK
KyAgICApLCAiT25seSBodHRwczovLyBvciB3c3M6Ly8gVVJMcyBhcmUgc3VwcG9ydGVkLiIKKyAg
ICBpZiAiOiIgaW4gcGFyc2VkLm5ldGxvYzoKKyAgICAgICAgaG9zdCwgcG9ydF9zdHIgPSBwYXJz
ZWQubmV0bG9jLnNwbGl0KCI6IikKKyAgICAgICAgcG9ydCA9IGludChwb3J0X3N0cikKKyAgICBl
bHNlOgorICAgICAgICBob3N0ID0gcGFyc2VkLm5ldGxvYworICAgICAgICBwb3J0ID0gNDQzCisK
KyAgICBhc3luYyB3aXRoIGNvbm5lY3QoCisgICAgICAgIGhvc3QsCisgICAgICAgIHBvcnQsCisg
ICAgICAgIGNvbmZpZ3VyYXRpb249Y29uZmlndXJhdGlvbiwKKyAgICAgICAgY3JlYXRlX3Byb3Rv
Y29sPUh0dHBDbGllbnQsCisgICAgICAgIHNlc3Npb25fdGlja2V0X2hhbmRsZXI9c2F2ZV9zZXNz
aW9uX3RpY2tldCwKKyAgICAgICAgbG9jYWxfcG9ydD1sb2NhbF9wb3J0LAorICAgICkgYXMgY2xp
ZW50OgorICAgICAgICBjbGllbnQgPSBjYXN0KEh0dHBDbGllbnQsIGNsaWVudCkKKworICAgICAg
ICBpZiBwYXJzZWQuc2NoZW1lID09ICJ3c3MiOgorICAgICAgICAgICAgd3MgPSBhd2FpdCBjbGll
bnQud2Vic29ja2V0KHVybHNbMF0sIHN1YnByb3RvY29scz1bImNoYXQiLCAic3VwZXJjaGF0Il0p
CisKKyAgICAgICAgICAgICMgc2VuZCBzb21lIG1lc3NhZ2VzIGFuZCByZWNlaXZlIHJlcGx5Cisg
ICAgICAgICAgICBmb3IgaSBpbiByYW5nZSgyKToKKyAgICAgICAgICAgICAgICBtZXNzYWdlID0g
IkhlbGxvIHt9LCBXZWJTb2NrZXQhIi5mb3JtYXQoaSkKKyAgICAgICAgICAgICAgICBwcmludCgi
PiAiICsgbWVzc2FnZSkKKyAgICAgICAgICAgICAgICBhd2FpdCB3cy5zZW5kKG1lc3NhZ2UpCisK
KyAgICAgICAgICAgICAgICBtZXNzYWdlID0gYXdhaXQgd3MucmVjdigpCisgICAgICAgICAgICAg
ICAgcHJpbnQoIjwgIiArIG1lc3NhZ2UpCisKKyAgICAgICAgICAgIGF3YWl0IHdzLmNsb3NlKCkK
KyAgICAgICAgZWxzZToKKyAgICAgICAgICAgICMgcGVyZm9ybSByZXF1ZXN0CisgICAgICAgICAg
ICBjb3JvcyA9IFsKKyAgICAgICAgICAgICAgICBwZXJmb3JtX2h0dHBfcmVxdWVzdCgKKyAgICAg
ICAgICAgICAgICAgICAgY2xpZW50PWNsaWVudCwKKyAgICAgICAgICAgICAgICAgICAgdXJsPXVy
bCwKKyAgICAgICAgICAgICAgICAgICAgZGF0YT1kYXRhLAorICAgICAgICAgICAgICAgICAgICBp
bmNsdWRlPWluY2x1ZGUsCisgICAgICAgICAgICAgICAgICAgIG91dHB1dF9kaXI9b3V0cHV0X2Rp
ciwKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgZm9yIHVybCBpbiB1cmxzCisg
ICAgICAgICAgICBdCisgICAgICAgICAgICBhd2FpdCBhc3luY2lvLmdhdGhlcigqY29yb3MpCisK
KworaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKKyAgICBkZWZhdWx0cyA9IFF1aWNDb25maWd1
cmF0aW9uKGlzX2NsaWVudD1UcnVlKQorCisgICAgcGFyc2VyID0gYXJncGFyc2UuQXJndW1lbnRQ
YXJzZXIoZGVzY3JpcHRpb249IkhUVFAvMyBjbGllbnQiKQorICAgIHBhcnNlci5hZGRfYXJndW1l
bnQoCisgICAgICAgICJ1cmwiLCB0eXBlPXN0ciwgbmFyZ3M9IisiLCBoZWxwPSJ0aGUgVVJMIHRv
IHF1ZXJ5IChtdXN0IGJlIEhUVFBTKSIKKyAgICApCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgK
KyAgICAgICAgIi0tY2EtY2VydHMiLCB0eXBlPXN0ciwgaGVscD0ibG9hZCBDQSBjZXJ0aWZpY2F0
ZXMgZnJvbSB0aGUgc3BlY2lmaWVkIGZpbGUiCisgICAgKQorICAgIHBhcnNlci5hZGRfYXJndW1l
bnQoCisgICAgICAgICItZCIsICItLWRhdGEiLCB0eXBlPXN0ciwgaGVscD0ic2VuZCB0aGUgc3Bl
Y2lmaWVkIGRhdGEgaW4gYSBQT1NUIHJlcXVlc3QiCisgICAgKQorICAgIHBhcnNlci5hZGRfYXJn
dW1lbnQoCisgICAgICAgICItaSIsCisgICAgICAgICItLWluY2x1ZGUiLAorICAgICAgICBhY3Rp
b249InN0b3JlX3RydWUiLAorICAgICAgICBoZWxwPSJpbmNsdWRlIHRoZSBIVFRQIHJlc3BvbnNl
IGhlYWRlcnMgaW4gdGhlIG91dHB1dCIsCisgICAgKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQo
CisgICAgICAgICItLW1heC1kYXRhIiwKKyAgICAgICAgdHlwZT1pbnQsCisgICAgICAgIGhlbHA9
ImNvbm5lY3Rpb24td2lkZSBmbG93IGNvbnRyb2wgbGltaXQgKGRlZmF1bHQ6ICVkKSIgJSBkZWZh
dWx0cy5tYXhfZGF0YSwKKyAgICApCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgKKyAgICAgICAg
Ii0tbWF4LXN0cmVhbS1kYXRhIiwKKyAgICAgICAgdHlwZT1pbnQsCisgICAgICAgIGhlbHA9InBl
ci1zdHJlYW0gZmxvdyBjb250cm9sIGxpbWl0IChkZWZhdWx0OiAlZCkiICUgZGVmYXVsdHMubWF4
X3N0cmVhbV9kYXRhLAorICAgICkKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KAorICAgICAgICAi
LWsiLAorICAgICAgICAiLS1pbnNlY3VyZSIsCisgICAgICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIs
CisgICAgICAgIGhlbHA9ImRvIG5vdCB2YWxpZGF0ZSBzZXJ2ZXIgY2VydGlmaWNhdGUiLAorICAg
ICkKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCItLWxlZ2FjeS1odHRwIiwgYWN0aW9uPSJzdG9y
ZV90cnVlIiwgaGVscD0idXNlIEhUVFAvMC45IikKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KAor
ICAgICAgICAiLS1vdXRwdXQtZGlyIiwgdHlwZT1zdHIsIGhlbHA9IndyaXRlIGRvd25sb2FkZWQg
ZmlsZXMgdG8gdGhpcyBkaXJlY3RvcnkiLAorICAgICkKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50
KAorICAgICAgICAiLXEiLCAiLS1xdWljLWxvZyIsIHR5cGU9c3RyLCBoZWxwPSJsb2cgUVVJQyBl
dmVudHMgdG8gYSBmaWxlIGluIFFMT0cgZm9ybWF0IgorICAgICkKKyAgICBwYXJzZXIuYWRkX2Fy
Z3VtZW50KAorICAgICAgICAiLWwiLAorICAgICAgICAiLS1zZWNyZXRzLWxvZyIsCisgICAgICAg
IHR5cGU9c3RyLAorICAgICAgICBoZWxwPSJsb2cgc2VjcmV0cyB0byBhIGZpbGUsIGZvciB1c2Ug
d2l0aCBXaXJlc2hhcmsiLAorICAgICkKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KAorICAgICAg
ICAiLXMiLAorICAgICAgICAiLS1zZXNzaW9uLXRpY2tldCIsCisgICAgICAgIHR5cGU9c3RyLAor
ICAgICAgICBoZWxwPSJyZWFkIGFuZCB3cml0ZSBzZXNzaW9uIHRpY2tldCBmcm9tIHRoZSBzcGVj
aWZpZWQgZmlsZSIsCisgICAgKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoCisgICAgICAgICIt
diIsICItLXZlcmJvc2UiLCBhY3Rpb249InN0b3JlX3RydWUiLCBoZWxwPSJpbmNyZWFzZSBsb2dn
aW5nIHZlcmJvc2l0eSIKKyAgICApCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgKKyAgICAgICAg
Ii0tbG9jYWwtcG9ydCIsIHR5cGU9aW50LCBkZWZhdWx0PTAsIGhlbHA9ImxvY2FsIHBvcnQgdG8g
YmluZCBmb3IgY29ubmVjdGlvbnMiLAorICAgICkKKworICAgIGFyZ3MgPSBwYXJzZXIucGFyc2Vf
YXJncygpCisKKyAgICBsb2dnaW5nLmJhc2ljQ29uZmlnKAorICAgICAgICBmb3JtYXQ9IiUoYXNj
dGltZSlzICUobGV2ZWxuYW1lKXMgJShuYW1lKXMgJShtZXNzYWdlKXMiLAorICAgICAgICBsZXZl
bD1sb2dnaW5nLkRFQlVHIGlmIGFyZ3MudmVyYm9zZSBlbHNlIGxvZ2dpbmcuSU5GTywKKyAgICAp
CisKKyAgICBpZiBhcmdzLm91dHB1dF9kaXIgaXMgbm90IE5vbmUgYW5kIG5vdCBvcy5wYXRoLmlz
ZGlyKGFyZ3Mub3V0cHV0X2Rpcik6CisgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiJXMgaXMgbm90
IGEgZGlyZWN0b3J5IiAlIGFyZ3Mub3V0cHV0X2RpcikKKworICAgICMgcHJlcGFyZSBjb25maWd1
cmF0aW9uCisgICAgY29uZmlndXJhdGlvbiA9IFF1aWNDb25maWd1cmF0aW9uKAorICAgICAgICBp
c19jbGllbnQ9VHJ1ZSwgYWxwbl9wcm90b2NvbHM9SDBfQUxQTiBpZiBhcmdzLmxlZ2FjeV9odHRw
IGVsc2UgSDNfQUxQTgorICAgICkKKyAgICBpZiBhcmdzLmNhX2NlcnRzOgorICAgICAgICBjb25m
aWd1cmF0aW9uLmxvYWRfdmVyaWZ5X2xvY2F0aW9ucyhhcmdzLmNhX2NlcnRzKQorICAgIGlmIGFy
Z3MuaW5zZWN1cmU6CisgICAgICAgIGNvbmZpZ3VyYXRpb24udmVyaWZ5X21vZGUgPSBzc2wuQ0VS
VF9OT05FCisgICAgaWYgYXJncy5tYXhfZGF0YToKKyAgICAgICAgY29uZmlndXJhdGlvbi5tYXhf
ZGF0YSA9IGFyZ3MubWF4X2RhdGEKKyAgICBpZiBhcmdzLm1heF9zdHJlYW1fZGF0YToKKyAgICAg
ICAgY29uZmlndXJhdGlvbi5tYXhfc3RyZWFtX2RhdGEgPSBhcmdzLm1heF9zdHJlYW1fZGF0YQor
ICAgIGlmIGFyZ3MucXVpY19sb2c6CisgICAgICAgIGNvbmZpZ3VyYXRpb24ucXVpY19sb2dnZXIg
PSBRdWljTG9nZ2VyKCkKKyAgICBpZiBhcmdzLnNlY3JldHNfbG9nOgorICAgICAgICBjb25maWd1
cmF0aW9uLnNlY3JldHNfbG9nX2ZpbGUgPSBvcGVuKGFyZ3Muc2VjcmV0c19sb2csICJhIikKKyAg
ICBpZiBhcmdzLnNlc3Npb25fdGlja2V0OgorICAgICAgICB0cnk6CisgICAgICAgICAgICB3aXRo
IG9wZW4oYXJncy5zZXNzaW9uX3RpY2tldCwgInJiIikgYXMgZnA6CisgICAgICAgICAgICAgICAg
Y29uZmlndXJhdGlvbi5zZXNzaW9uX3RpY2tldCA9IHBpY2tsZS5sb2FkKGZwKQorICAgICAgICBl
eGNlcHQgRmlsZU5vdEZvdW5kRXJyb3I6CisgICAgICAgICAgICBwYXNzCisKKyAgICBpZiB1dmxv
b3AgaXMgbm90IE5vbmU6CisgICAgICAgIHV2bG9vcC5pbnN0YWxsKCkKKyAgICBsb29wID0gYXN5
bmNpby5nZXRfZXZlbnRfbG9vcCgpCisgICAgdHJ5OgorICAgICAgICBsb29wLnJ1bl91bnRpbF9j
b21wbGV0ZSgKKyAgICAgICAgICAgIHJ1bigKKyAgICAgICAgICAgICAgICBjb25maWd1cmF0aW9u
PWNvbmZpZ3VyYXRpb24sCisgICAgICAgICAgICAgICAgdXJscz1hcmdzLnVybCwKKyAgICAgICAg
ICAgICAgICBkYXRhPWFyZ3MuZGF0YSwKKyAgICAgICAgICAgICAgICBpbmNsdWRlPWFyZ3MuaW5j
bHVkZSwKKyAgICAgICAgICAgICAgICBvdXRwdXRfZGlyPWFyZ3Mub3V0cHV0X2RpciwKKyAgICAg
ICAgICAgICAgICBsb2NhbF9wb3J0PWFyZ3MubG9jYWxfcG9ydCwKKyAgICAgICAgICAgICkKKyAg
ICAgICAgKQorICAgIGZpbmFsbHk6CisgICAgICAgIGlmIGNvbmZpZ3VyYXRpb24ucXVpY19sb2dn
ZXIgaXMgbm90IE5vbmU6CisgICAgICAgICAgICB3aXRoIG9wZW4oYXJncy5xdWljX2xvZywgInci
KSBhcyBsb2dnZXJfZnA6CisgICAgICAgICAgICAgICAganNvbi5kdW1wKGNvbmZpZ3VyYXRpb24u
cXVpY19sb2dnZXIudG9fZGljdCgpLCBsb2dnZXJfZnAsIGluZGVudD00KQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9w
YXJ0eS9haW9xdWljL2V4YW1wbGVzL2h0dHAzX3NlcnZlci5weSBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9leGFt
cGxlcy9odHRwM19zZXJ2ZXIucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjE1YjA0YjAzYzE1NDNmMzYwZDA0Njg4
Njk4MzUzNmNlMjVlYWE3YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9leGFtcGxl
cy9odHRwM19zZXJ2ZXIucHkKQEAgLTAsMCArMSw0ODQgQEAKK2ltcG9ydCBhcmdwYXJzZQoraW1w
b3J0IGFzeW5jaW8KK2ltcG9ydCBpbXBvcnRsaWIKK2ltcG9ydCBqc29uCitpbXBvcnQgbG9nZ2lu
ZworaW1wb3J0IG9zCitpbXBvcnQgdGltZQorZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgZGVxdWUK
K2Zyb20gZW1haWwudXRpbHMgaW1wb3J0IGZvcm1hdGRhdGUKK2Zyb20gdHlwaW5nIGltcG9ydCBD
YWxsYWJsZSwgRGVxdWUsIERpY3QsIExpc3QsIE9wdGlvbmFsLCBVbmlvbiwgY2FzdAorCitpbXBv
cnQgd3Nwcm90bworaW1wb3J0IHdzcHJvdG8uZXZlbnRzCisKK2ltcG9ydCBhaW9xdWljCitmcm9t
IGFpb3F1aWMuYXN5bmNpbyBpbXBvcnQgUXVpY0Nvbm5lY3Rpb25Qcm90b2NvbCwgc2VydmUKK2Zy
b20gYWlvcXVpYy5oMC5jb25uZWN0aW9uIGltcG9ydCBIMF9BTFBOLCBIMENvbm5lY3Rpb24KK2Zy
b20gYWlvcXVpYy5oMy5jb25uZWN0aW9uIGltcG9ydCBIM19BTFBOLCBIM0Nvbm5lY3Rpb24KK2Zy
b20gYWlvcXVpYy5oMy5ldmVudHMgaW1wb3J0IERhdGFSZWNlaXZlZCwgSDNFdmVudCwgSGVhZGVy
c1JlY2VpdmVkCitmcm9tIGFpb3F1aWMuaDMuZXhjZXB0aW9ucyBpbXBvcnQgTm9BdmFpbGFibGVQ
dXNoSURFcnJvcgorZnJvbSBhaW9xdWljLnF1aWMuY29uZmlndXJhdGlvbiBpbXBvcnQgUXVpY0Nv
bmZpZ3VyYXRpb24KK2Zyb20gYWlvcXVpYy5xdWljLmV2ZW50cyBpbXBvcnQgRGF0YWdyYW1GcmFt
ZVJlY2VpdmVkLCBQcm90b2NvbE5lZ290aWF0ZWQsIFF1aWNFdmVudAorZnJvbSBhaW9xdWljLnF1
aWMubG9nZ2VyIGltcG9ydCBRdWljTG9nZ2VyLCBRdWljTG9nZ2VyVHJhY2UKK2Zyb20gYWlvcXVp
Yy50bHMgaW1wb3J0IFNlc3Npb25UaWNrZXQKKwordHJ5OgorICAgIGltcG9ydCB1dmxvb3AKK2V4
Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICB1dmxvb3AgPSBOb25lCisKK0FzZ2lBcHBsaWNhdGlvbiA9
IENhbGxhYmxlCitIdHRwQ29ubmVjdGlvbiA9IFVuaW9uW0gwQ29ubmVjdGlvbiwgSDNDb25uZWN0
aW9uXQorCitTRVJWRVJfTkFNRSA9ICJhaW9xdWljLyIgKyBhaW9xdWljLl9fdmVyc2lvbl9fCisK
KworY2xhc3MgSHR0cFJlcXVlc3RIYW5kbGVyOgorICAgIGRlZiBfX2luaXRfXygKKyAgICAgICAg
c2VsZiwKKyAgICAgICAgKiwKKyAgICAgICAgYXV0aG9yaXR5OiBieXRlcywKKyAgICAgICAgY29u
bmVjdGlvbjogSHR0cENvbm5lY3Rpb24sCisgICAgICAgIHByb3RvY29sOiBRdWljQ29ubmVjdGlv
blByb3RvY29sLAorICAgICAgICBzY29wZTogRGljdCwKKyAgICAgICAgc3RyZWFtX2VuZGVkOiBi
b29sLAorICAgICAgICBzdHJlYW1faWQ6IGludCwKKyAgICAgICAgdHJhbnNtaXQ6IENhbGxhYmxl
W1tdLCBOb25lXSwKKyAgICApIC0+IE5vbmU6CisgICAgICAgIHNlbGYuYXV0aG9yaXR5ID0gYXV0
aG9yaXR5CisgICAgICAgIHNlbGYuY29ubmVjdGlvbiA9IGNvbm5lY3Rpb24KKyAgICAgICAgc2Vs
Zi5wcm90b2NvbCA9IHByb3RvY29sCisgICAgICAgIHNlbGYucXVldWU6IGFzeW5jaW8uUXVldWVb
RGljdF0gPSBhc3luY2lvLlF1ZXVlKCkKKyAgICAgICAgc2VsZi5zY29wZSA9IHNjb3BlCisgICAg
ICAgIHNlbGYuc3RyZWFtX2lkID0gc3RyZWFtX2lkCisgICAgICAgIHNlbGYudHJhbnNtaXQgPSB0
cmFuc21pdAorCisgICAgICAgIGlmIHN0cmVhbV9lbmRlZDoKKyAgICAgICAgICAgIHNlbGYucXVl
dWUucHV0X25vd2FpdCh7InR5cGUiOiAiaHR0cC5yZXF1ZXN0In0pCisKKyAgICBkZWYgaHR0cF9l
dmVudF9yZWNlaXZlZChzZWxmLCBldmVudDogSDNFdmVudCkgLT4gTm9uZToKKyAgICAgICAgaWYg
aXNpbnN0YW5jZShldmVudCwgRGF0YVJlY2VpdmVkKToKKyAgICAgICAgICAgIHNlbGYucXVldWUu
cHV0X25vd2FpdCgKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICJ0eXBl
IjogImh0dHAucmVxdWVzdCIsCisgICAgICAgICAgICAgICAgICAgICJib2R5IjogZXZlbnQuZGF0
YSwKKyAgICAgICAgICAgICAgICAgICAgIm1vcmVfYm9keSI6IG5vdCBldmVudC5zdHJlYW1fZW5k
ZWQsCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgKQorICAgICAgICBlbGlmIGlzaW5z
dGFuY2UoZXZlbnQsIEhlYWRlcnNSZWNlaXZlZCkgYW5kIGV2ZW50LnN0cmVhbV9lbmRlZDoKKyAg
ICAgICAgICAgIHNlbGYucXVldWUucHV0X25vd2FpdCgKKyAgICAgICAgICAgICAgICB7InR5cGUi
OiAiaHR0cC5yZXF1ZXN0IiwgImJvZHkiOiBiIiIsICJtb3JlX2JvZHkiOiBGYWxzZX0KKyAgICAg
ICAgICAgICkKKworICAgIGFzeW5jIGRlZiBydW5fYXNnaShzZWxmLCBhcHA6IEFzZ2lBcHBsaWNh
dGlvbikgLT4gTm9uZToKKyAgICAgICAgYXdhaXQgYXBwbGljYXRpb24oc2VsZi5zY29wZSwgc2Vs
Zi5yZWNlaXZlLCBzZWxmLnNlbmQpCisKKyAgICBhc3luYyBkZWYgcmVjZWl2ZShzZWxmKSAtPiBE
aWN0OgorICAgICAgICByZXR1cm4gYXdhaXQgc2VsZi5xdWV1ZS5nZXQoKQorCisgICAgYXN5bmMg
ZGVmIHNlbmQoc2VsZiwgbWVzc2FnZTogRGljdCkgLT4gTm9uZToKKyAgICAgICAgaWYgbWVzc2Fn
ZVsidHlwZSJdID09ICJodHRwLnJlc3BvbnNlLnN0YXJ0IjoKKyAgICAgICAgICAgIHNlbGYuY29u
bmVjdGlvbi5zZW5kX2hlYWRlcnMoCisgICAgICAgICAgICAgICAgc3RyZWFtX2lkPXNlbGYuc3Ry
ZWFtX2lkLAorICAgICAgICAgICAgICAgIGhlYWRlcnM9WworICAgICAgICAgICAgICAgICAgICAo
YiI6c3RhdHVzIiwgc3RyKG1lc3NhZ2VbInN0YXR1cyJdKS5lbmNvZGUoKSksCisgICAgICAgICAg
ICAgICAgICAgIChiInNlcnZlciIsIFNFUlZFUl9OQU1FLmVuY29kZSgpKSwKKyAgICAgICAgICAg
ICAgICAgICAgKGIiZGF0ZSIsIGZvcm1hdGRhdGUodGltZS50aW1lKCksIHVzZWdtdD1UcnVlKS5l
bmNvZGUoKSksCisgICAgICAgICAgICAgICAgXQorICAgICAgICAgICAgICAgICsgWyhrLCB2KSBm
b3IgaywgdiBpbiBtZXNzYWdlWyJoZWFkZXJzIl1dLAorICAgICAgICAgICAgKQorICAgICAgICBl
bGlmIG1lc3NhZ2VbInR5cGUiXSA9PSAiaHR0cC5yZXNwb25zZS5ib2R5IjoKKyAgICAgICAgICAg
IHNlbGYuY29ubmVjdGlvbi5zZW5kX2RhdGEoCisgICAgICAgICAgICAgICAgc3RyZWFtX2lkPXNl
bGYuc3RyZWFtX2lkLAorICAgICAgICAgICAgICAgIGRhdGE9bWVzc2FnZS5nZXQoImJvZHkiLCBi
IiIpLAorICAgICAgICAgICAgICAgIGVuZF9zdHJlYW09bm90IG1lc3NhZ2UuZ2V0KCJtb3JlX2Jv
ZHkiLCBGYWxzZSksCisgICAgICAgICAgICApCisgICAgICAgIGVsaWYgbWVzc2FnZVsidHlwZSJd
ID09ICJodHRwLnJlc3BvbnNlLnB1c2giIGFuZCBpc2luc3RhbmNlKAorICAgICAgICAgICAgc2Vs
Zi5jb25uZWN0aW9uLCBIM0Nvbm5lY3Rpb24KKyAgICAgICAgKToKKyAgICAgICAgICAgIHJlcXVl
c3RfaGVhZGVycyA9IFsKKyAgICAgICAgICAgICAgICAoYiI6bWV0aG9kIiwgYiJHRVQiKSwKKyAg
ICAgICAgICAgICAgICAoYiI6c2NoZW1lIiwgYiJodHRwcyIpLAorICAgICAgICAgICAgICAgIChi
IjphdXRob3JpdHkiLCBzZWxmLmF1dGhvcml0eSksCisgICAgICAgICAgICAgICAgKGIiOnBhdGgi
LCBtZXNzYWdlWyJwYXRoIl0uZW5jb2RlKCkpLAorICAgICAgICAgICAgXSArIFsoaywgdikgZm9y
IGssIHYgaW4gbWVzc2FnZVsiaGVhZGVycyJdXQorCisgICAgICAgICAgICAjIHNlbmQgcHVzaCBw
cm9taXNlCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgcHVzaF9zdHJlYW1faWQg
PSBzZWxmLmNvbm5lY3Rpb24uc2VuZF9wdXNoX3Byb21pc2UoCisgICAgICAgICAgICAgICAgICAg
IHN0cmVhbV9pZD1zZWxmLnN0cmVhbV9pZCwgaGVhZGVycz1yZXF1ZXN0X2hlYWRlcnMKKyAgICAg
ICAgICAgICAgICApCisgICAgICAgICAgICBleGNlcHQgTm9BdmFpbGFibGVQdXNoSURFcnJvcjoK
KyAgICAgICAgICAgICAgICByZXR1cm4KKworICAgICAgICAgICAgIyBmYWtlIHJlcXVlc3QKKyAg
ICAgICAgICAgIGNhc3QoSHR0cFNlcnZlclByb3RvY29sLCBzZWxmLnByb3RvY29sKS5odHRwX2V2
ZW50X3JlY2VpdmVkKAorICAgICAgICAgICAgICAgIEhlYWRlcnNSZWNlaXZlZCgKKyAgICAgICAg
ICAgICAgICAgICAgaGVhZGVycz1yZXF1ZXN0X2hlYWRlcnMsIHN0cmVhbV9lbmRlZD1UcnVlLCBz
dHJlYW1faWQ9cHVzaF9zdHJlYW1faWQKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAp
CisgICAgICAgIHNlbGYudHJhbnNtaXQoKQorCisKK2NsYXNzIFdlYlNvY2tldEhhbmRsZXI6Cisg
ICAgZGVmIF9faW5pdF9fKAorICAgICAgICBzZWxmLAorICAgICAgICAqLAorICAgICAgICBjb25u
ZWN0aW9uOiBIdHRwQ29ubmVjdGlvbiwKKyAgICAgICAgc2NvcGU6IERpY3QsCisgICAgICAgIHN0
cmVhbV9pZDogaW50LAorICAgICAgICB0cmFuc21pdDogQ2FsbGFibGVbW10sIE5vbmVdLAorICAg
ICkgLT4gTm9uZToKKyAgICAgICAgc2VsZi5jbG9zZWQgPSBGYWxzZQorICAgICAgICBzZWxmLmNv
bm5lY3Rpb24gPSBjb25uZWN0aW9uCisgICAgICAgIHNlbGYuaHR0cF9ldmVudF9xdWV1ZTogRGVx
dWVbRGF0YVJlY2VpdmVkXSA9IGRlcXVlKCkKKyAgICAgICAgc2VsZi5xdWV1ZTogYXN5bmNpby5R
dWV1ZVtEaWN0XSA9IGFzeW5jaW8uUXVldWUoKQorICAgICAgICBzZWxmLnNjb3BlID0gc2NvcGUK
KyAgICAgICAgc2VsZi5zdHJlYW1faWQgPSBzdHJlYW1faWQKKyAgICAgICAgc2VsZi50cmFuc21p
dCA9IHRyYW5zbWl0CisgICAgICAgIHNlbGYud2Vic29ja2V0OiBPcHRpb25hbFt3c3Byb3RvLkNv
bm5lY3Rpb25dID0gTm9uZQorCisgICAgZGVmIGh0dHBfZXZlbnRfcmVjZWl2ZWQoc2VsZiwgZXZl
bnQ6IEgzRXZlbnQpIC0+IE5vbmU6CisgICAgICAgIGlmIGlzaW5zdGFuY2UoZXZlbnQsIERhdGFS
ZWNlaXZlZCkgYW5kIG5vdCBzZWxmLmNsb3NlZDoKKyAgICAgICAgICAgIGlmIHNlbGYud2Vic29j
a2V0IGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgIHNlbGYud2Vic29ja2V0LnJlY2VpdmVf
ZGF0YShldmVudC5kYXRhKQorCisgICAgICAgICAgICAgICAgZm9yIHdzX2V2ZW50IGluIHNlbGYu
d2Vic29ja2V0LmV2ZW50cygpOgorICAgICAgICAgICAgICAgICAgICBzZWxmLndlYnNvY2tldF9l
dmVudF9yZWNlaXZlZCh3c19ldmVudCkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAg
ICAgIyBkZWxheSBldmVudCBwcm9jZXNzaW5nIHVudGlsIHdlIGdldCBgd2Vic29ja2V0LmFjY2Vw
dGAKKyAgICAgICAgICAgICAgICAjIGZyb20gdGhlIEFTR0kgYXBwbGljYXRpb24KKyAgICAgICAg
ICAgICAgICBzZWxmLmh0dHBfZXZlbnRfcXVldWUuYXBwZW5kKGV2ZW50KQorCisgICAgZGVmIHdl
YnNvY2tldF9ldmVudF9yZWNlaXZlZChzZWxmLCBldmVudDogd3Nwcm90by5ldmVudHMuRXZlbnQp
IC0+IE5vbmU6CisgICAgICAgIGlmIGlzaW5zdGFuY2UoZXZlbnQsIHdzcHJvdG8uZXZlbnRzLlRl
eHRNZXNzYWdlKToKKyAgICAgICAgICAgIHNlbGYucXVldWUucHV0X25vd2FpdCh7InR5cGUiOiAi
d2Vic29ja2V0LnJlY2VpdmUiLCAidGV4dCI6IGV2ZW50LmRhdGF9KQorICAgICAgICBlbGlmIGlz
aW5zdGFuY2UoZXZlbnQsIHdzcHJvdG8uZXZlbnRzLk1lc3NhZ2UpOgorICAgICAgICAgICAgc2Vs
Zi5xdWV1ZS5wdXRfbm93YWl0KHsidHlwZSI6ICJ3ZWJzb2NrZXQucmVjZWl2ZSIsICJieXRlcyI6
IGV2ZW50LmRhdGF9KQorICAgICAgICBlbGlmIGlzaW5zdGFuY2UoZXZlbnQsIHdzcHJvdG8uZXZl
bnRzLkNsb3NlQ29ubmVjdGlvbik6CisgICAgICAgICAgICBzZWxmLnF1ZXVlLnB1dF9ub3dhaXQo
eyJ0eXBlIjogIndlYnNvY2tldC5kaXNjb25uZWN0IiwgImNvZGUiOiBldmVudC5jb2RlfSkKKwor
ICAgIGFzeW5jIGRlZiBydW5fYXNnaShzZWxmLCBhcHA6IEFzZ2lBcHBsaWNhdGlvbikgLT4gTm9u
ZToKKyAgICAgICAgc2VsZi5xdWV1ZS5wdXRfbm93YWl0KHsidHlwZSI6ICJ3ZWJzb2NrZXQuY29u
bmVjdCJ9KQorCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGF3YWl0IGFwcGxpY2F0aW9uKHNl
bGYuc2NvcGUsIHNlbGYucmVjZWl2ZSwgc2VsZi5zZW5kKQorICAgICAgICBmaW5hbGx5OgorICAg
ICAgICAgICAgaWYgbm90IHNlbGYuY2xvc2VkOgorICAgICAgICAgICAgICAgIGF3YWl0IHNlbGYu
c2VuZCh7InR5cGUiOiAid2Vic29ja2V0LmNsb3NlIiwgImNvZGUiOiAxMDAwfSkKKworICAgIGFz
eW5jIGRlZiByZWNlaXZlKHNlbGYpIC0+IERpY3Q6CisgICAgICAgIHJldHVybiBhd2FpdCBzZWxm
LnF1ZXVlLmdldCgpCisKKyAgICBhc3luYyBkZWYgc2VuZChzZWxmLCBtZXNzYWdlOiBEaWN0KSAt
PiBOb25lOgorICAgICAgICBkYXRhID0gYiIiCisgICAgICAgIGVuZF9zdHJlYW0gPSBGYWxzZQor
ICAgICAgICBpZiBtZXNzYWdlWyJ0eXBlIl0gPT0gIndlYnNvY2tldC5hY2NlcHQiOgorICAgICAg
ICAgICAgc3VicHJvdG9jb2wgPSBtZXNzYWdlLmdldCgic3VicHJvdG9jb2wiKQorCisgICAgICAg
ICAgICBzZWxmLndlYnNvY2tldCA9IHdzcHJvdG8uQ29ubmVjdGlvbih3c3Byb3RvLkNvbm5lY3Rp
b25UeXBlLlNFUlZFUikKKworICAgICAgICAgICAgaGVhZGVycyA9IFsKKyAgICAgICAgICAgICAg
ICAoYiI6c3RhdHVzIiwgYiIyMDAiKSwKKyAgICAgICAgICAgICAgICAoYiJzZXJ2ZXIiLCBTRVJW
RVJfTkFNRS5lbmNvZGUoKSksCisgICAgICAgICAgICAgICAgKGIiZGF0ZSIsIGZvcm1hdGRhdGUo
dGltZS50aW1lKCksIHVzZWdtdD1UcnVlKS5lbmNvZGUoKSksCisgICAgICAgICAgICBdCisgICAg
ICAgICAgICBpZiBzdWJwcm90b2NvbCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICBoZWFk
ZXJzLmFwcGVuZCgoYiJzZWMtd2Vic29ja2V0LXByb3RvY29sIiwgc3VicHJvdG9jb2wuZW5jb2Rl
KCkpKQorICAgICAgICAgICAgc2VsZi5jb25uZWN0aW9uLnNlbmRfaGVhZGVycyhzdHJlYW1faWQ9
c2VsZi5zdHJlYW1faWQsIGhlYWRlcnM9aGVhZGVycykKKworICAgICAgICAgICAgIyBjb25zdW1l
IGJhY2tsb2cKKyAgICAgICAgICAgIHdoaWxlIHNlbGYuaHR0cF9ldmVudF9xdWV1ZToKKyAgICAg
ICAgICAgICAgICBzZWxmLmh0dHBfZXZlbnRfcmVjZWl2ZWQoc2VsZi5odHRwX2V2ZW50X3F1ZXVl
LnBvcGxlZnQoKSkKKworICAgICAgICBlbGlmIG1lc3NhZ2VbInR5cGUiXSA9PSAid2Vic29ja2V0
LmNsb3NlIjoKKyAgICAgICAgICAgIGlmIHNlbGYud2Vic29ja2V0IGlzIG5vdCBOb25lOgorICAg
ICAgICAgICAgICAgIGRhdGEgPSBzZWxmLndlYnNvY2tldC5zZW5kKAorICAgICAgICAgICAgICAg
ICAgICB3c3Byb3RvLmV2ZW50cy5DbG9zZUNvbm5lY3Rpb24oY29kZT1tZXNzYWdlWyJjb2RlIl0p
CisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBz
ZWxmLmNvbm5lY3Rpb24uc2VuZF9oZWFkZXJzKAorICAgICAgICAgICAgICAgICAgICBzdHJlYW1f
aWQ9c2VsZi5zdHJlYW1faWQsIGhlYWRlcnM9WyhiIjpzdGF0dXMiLCBiIjQwMyIpXQorICAgICAg
ICAgICAgICAgICkKKyAgICAgICAgICAgIGVuZF9zdHJlYW0gPSBUcnVlCisgICAgICAgIGVsaWYg
bWVzc2FnZVsidHlwZSJdID09ICJ3ZWJzb2NrZXQuc2VuZCI6CisgICAgICAgICAgICBpZiBtZXNz
YWdlLmdldCgidGV4dCIpIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgIGRhdGEgPSBzZWxm
LndlYnNvY2tldC5zZW5kKAorICAgICAgICAgICAgICAgICAgICB3c3Byb3RvLmV2ZW50cy5UZXh0
TWVzc2FnZShkYXRhPW1lc3NhZ2VbInRleHQiXSkKKyAgICAgICAgICAgICAgICApCisgICAgICAg
ICAgICBlbGlmIG1lc3NhZ2UuZ2V0KCJieXRlcyIpIGlzIG5vdCBOb25lOgorICAgICAgICAgICAg
ICAgIGRhdGEgPSBzZWxmLndlYnNvY2tldC5zZW5kKAorICAgICAgICAgICAgICAgICAgICB3c3By
b3RvLmV2ZW50cy5NZXNzYWdlKGRhdGE9bWVzc2FnZVsiYnl0ZXMiXSkKKyAgICAgICAgICAgICAg
ICApCisKKyAgICAgICAgaWYgZGF0YToKKyAgICAgICAgICAgIHNlbGYuY29ubmVjdGlvbi5zZW5k
X2RhdGEoCisgICAgICAgICAgICAgICAgc3RyZWFtX2lkPXNlbGYuc3RyZWFtX2lkLCBkYXRhPWRh
dGEsIGVuZF9zdHJlYW09ZW5kX3N0cmVhbQorICAgICAgICAgICAgKQorICAgICAgICBpZiBlbmRf
c3RyZWFtOgorICAgICAgICAgICAgc2VsZi5jbG9zZWQgPSBUcnVlCisgICAgICAgIHNlbGYudHJh
bnNtaXQoKQorCisKK0hhbmRsZXIgPSBVbmlvbltIdHRwUmVxdWVzdEhhbmRsZXIsIFdlYlNvY2tl
dEhhbmRsZXJdCisKKworY2xhc3MgSHR0cFNlcnZlclByb3RvY29sKFF1aWNDb25uZWN0aW9uUHJv
dG9jb2wpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCAqYXJncywgKiprd2FyZ3MpIC0+IE5vbmU6
CisgICAgICAgIHN1cGVyKCkuX19pbml0X18oKmFyZ3MsICoqa3dhcmdzKQorICAgICAgICBzZWxm
Ll9oYW5kbGVyczogRGljdFtpbnQsIEhhbmRsZXJdID0ge30KKyAgICAgICAgc2VsZi5faHR0cDog
T3B0aW9uYWxbSHR0cENvbm5lY3Rpb25dID0gTm9uZQorCisgICAgZGVmIGh0dHBfZXZlbnRfcmVj
ZWl2ZWQoc2VsZiwgZXZlbnQ6IEgzRXZlbnQpIC0+IE5vbmU6CisgICAgICAgIGlmIGlzaW5zdGFu
Y2UoZXZlbnQsIEhlYWRlcnNSZWNlaXZlZCkgYW5kIGV2ZW50LnN0cmVhbV9pZCBub3QgaW4gc2Vs
Zi5faGFuZGxlcnM6CisgICAgICAgICAgICBhdXRob3JpdHkgPSBOb25lCisgICAgICAgICAgICBo
ZWFkZXJzID0gW10KKyAgICAgICAgICAgIGh0dHBfdmVyc2lvbiA9ICIwLjkiIGlmIGlzaW5zdGFu
Y2Uoc2VsZi5faHR0cCwgSDBDb25uZWN0aW9uKSBlbHNlICIzIgorICAgICAgICAgICAgcmF3X3Bh
dGggPSBiIiIKKyAgICAgICAgICAgIG1ldGhvZCA9ICIiCisgICAgICAgICAgICBwcm90b2NvbCA9
IE5vbmUKKyAgICAgICAgICAgIGZvciBoZWFkZXIsIHZhbHVlIGluIGV2ZW50LmhlYWRlcnM6Cisg
ICAgICAgICAgICAgICAgaWYgaGVhZGVyID09IGIiOmF1dGhvcml0eSI6CisgICAgICAgICAgICAg
ICAgICAgIGF1dGhvcml0eSA9IHZhbHVlCisgICAgICAgICAgICAgICAgICAgIGhlYWRlcnMuYXBw
ZW5kKChiImhvc3QiLCB2YWx1ZSkpCisgICAgICAgICAgICAgICAgZWxpZiBoZWFkZXIgPT0gYiI6
bWV0aG9kIjoKKyAgICAgICAgICAgICAgICAgICAgbWV0aG9kID0gdmFsdWUuZGVjb2RlKCkKKyAg
ICAgICAgICAgICAgICBlbGlmIGhlYWRlciA9PSBiIjpwYXRoIjoKKyAgICAgICAgICAgICAgICAg
ICAgcmF3X3BhdGggPSB2YWx1ZQorICAgICAgICAgICAgICAgIGVsaWYgaGVhZGVyID09IGIiOnBy
b3RvY29sIjoKKyAgICAgICAgICAgICAgICAgICAgcHJvdG9jb2wgPSB2YWx1ZS5kZWNvZGUoKQor
ICAgICAgICAgICAgICAgIGVsaWYgaGVhZGVyIGFuZCBub3QgaGVhZGVyLnN0YXJ0c3dpdGgoYiI6
Iik6CisgICAgICAgICAgICAgICAgICAgIGhlYWRlcnMuYXBwZW5kKChoZWFkZXIsIHZhbHVlKSkK
KworICAgICAgICAgICAgaWYgYiI/IiBpbiByYXdfcGF0aDoKKyAgICAgICAgICAgICAgICBwYXRo
X2J5dGVzLCBxdWVyeV9zdHJpbmcgPSByYXdfcGF0aC5zcGxpdChiIj8iLCBtYXhzcGxpdD0xKQor
ICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBwYXRoX2J5dGVzLCBxdWVyeV9zdHJp
bmcgPSByYXdfcGF0aCwgYiIiCisgICAgICAgICAgICBwYXRoID0gcGF0aF9ieXRlcy5kZWNvZGUo
KQorCisgICAgICAgICAgICAjIEZJWE1FOiBhZGQgYSBwdWJsaWMgQVBJIHRvIHJldHJpZXZlIHBl
ZXIgYWRkcmVzcworICAgICAgICAgICAgY2xpZW50X2FkZHIgPSBzZWxmLl9odHRwLl9xdWljLl9u
ZXR3b3JrX3BhdGhzWzBdLmFkZHIKKyAgICAgICAgICAgIGNsaWVudCA9IChjbGllbnRfYWRkclsw
XSwgY2xpZW50X2FkZHJbMV0pCisKKyAgICAgICAgICAgIGhhbmRsZXI6IEhhbmRsZXIKKyAgICAg
ICAgICAgIHNjb3BlOiBEaWN0CisgICAgICAgICAgICBpZiBtZXRob2QgPT0gIkNPTk5FQ1QiIGFu
ZCBwcm90b2NvbCA9PSAid2Vic29ja2V0IjoKKyAgICAgICAgICAgICAgICBzdWJwcm90b2NvbHM6
IExpc3Rbc3RyXSA9IFtdCisgICAgICAgICAgICAgICAgZm9yIGhlYWRlciwgdmFsdWUgaW4gZXZl
bnQuaGVhZGVyczoKKyAgICAgICAgICAgICAgICAgICAgaWYgaGVhZGVyID09IGIic2VjLXdlYnNv
Y2tldC1wcm90b2NvbCI6CisgICAgICAgICAgICAgICAgICAgICAgICBzdWJwcm90b2NvbHMgPSBb
eC5zdHJpcCgpIGZvciB4IGluIHZhbHVlLmRlY29kZSgpLnNwbGl0KCIsIildCisgICAgICAgICAg
ICAgICAgc2NvcGUgPSB7CisgICAgICAgICAgICAgICAgICAgICJjbGllbnQiOiBjbGllbnQsCisg
ICAgICAgICAgICAgICAgICAgICJoZWFkZXJzIjogaGVhZGVycywKKyAgICAgICAgICAgICAgICAg
ICAgImh0dHBfdmVyc2lvbiI6IGh0dHBfdmVyc2lvbiwKKyAgICAgICAgICAgICAgICAgICAgIm1l
dGhvZCI6IG1ldGhvZCwKKyAgICAgICAgICAgICAgICAgICAgInBhdGgiOiBwYXRoLAorICAgICAg
ICAgICAgICAgICAgICAicXVlcnlfc3RyaW5nIjogcXVlcnlfc3RyaW5nLAorICAgICAgICAgICAg
ICAgICAgICAicmF3X3BhdGgiOiByYXdfcGF0aCwKKyAgICAgICAgICAgICAgICAgICAgInJvb3Rf
cGF0aCI6ICIiLAorICAgICAgICAgICAgICAgICAgICAic2NoZW1lIjogIndzcyIsCisgICAgICAg
ICAgICAgICAgICAgICJzdWJwcm90b2NvbHMiOiBzdWJwcm90b2NvbHMsCisgICAgICAgICAgICAg
ICAgICAgICJ0eXBlIjogIndlYnNvY2tldCIsCisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgICAgIGhhbmRsZXIgPSBXZWJTb2NrZXRIYW5kbGVyKAorICAgICAgICAgICAgICAgICAgICBj
b25uZWN0aW9uPXNlbGYuX2h0dHAsCisgICAgICAgICAgICAgICAgICAgIHNjb3BlPXNjb3BlLAor
ICAgICAgICAgICAgICAgICAgICBzdHJlYW1faWQ9ZXZlbnQuc3RyZWFtX2lkLAorICAgICAgICAg
ICAgICAgICAgICB0cmFuc21pdD1zZWxmLnRyYW5zbWl0LAorICAgICAgICAgICAgICAgICkKKyAg
ICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgZXh0ZW5zaW9uczogRGljdFtzdHIsIERp
Y3RdID0ge30KKyAgICAgICAgICAgICAgICBpZiBpc2luc3RhbmNlKHNlbGYuX2h0dHAsIEgzQ29u
bmVjdGlvbik6CisgICAgICAgICAgICAgICAgICAgIGV4dGVuc2lvbnNbImh0dHAucmVzcG9uc2Uu
cHVzaCJdID0ge30KKyAgICAgICAgICAgICAgICBzY29wZSA9IHsKKyAgICAgICAgICAgICAgICAg
ICAgImNsaWVudCI6IGNsaWVudCwKKyAgICAgICAgICAgICAgICAgICAgImV4dGVuc2lvbnMiOiBl
eHRlbnNpb25zLAorICAgICAgICAgICAgICAgICAgICAiaGVhZGVycyI6IGhlYWRlcnMsCisgICAg
ICAgICAgICAgICAgICAgICJodHRwX3ZlcnNpb24iOiBodHRwX3ZlcnNpb24sCisgICAgICAgICAg
ICAgICAgICAgICJtZXRob2QiOiBtZXRob2QsCisgICAgICAgICAgICAgICAgICAgICJwYXRoIjog
cGF0aCwKKyAgICAgICAgICAgICAgICAgICAgInF1ZXJ5X3N0cmluZyI6IHF1ZXJ5X3N0cmluZywK
KyAgICAgICAgICAgICAgICAgICAgInJhd19wYXRoIjogcmF3X3BhdGgsCisgICAgICAgICAgICAg
ICAgICAgICJyb290X3BhdGgiOiAiIiwKKyAgICAgICAgICAgICAgICAgICAgInNjaGVtZSI6ICJo
dHRwcyIsCisgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImh0dHAiLAorICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgICAgICBoYW5kbGVyID0gSHR0cFJlcXVlc3RIYW5kbGVyKAorICAg
ICAgICAgICAgICAgICAgICBhdXRob3JpdHk9YXV0aG9yaXR5LAorICAgICAgICAgICAgICAgICAg
ICBjb25uZWN0aW9uPXNlbGYuX2h0dHAsCisgICAgICAgICAgICAgICAgICAgIHByb3RvY29sPXNl
bGYsCisgICAgICAgICAgICAgICAgICAgIHNjb3BlPXNjb3BlLAorICAgICAgICAgICAgICAgICAg
ICBzdHJlYW1fZW5kZWQ9ZXZlbnQuc3RyZWFtX2VuZGVkLAorICAgICAgICAgICAgICAgICAgICBz
dHJlYW1faWQ9ZXZlbnQuc3RyZWFtX2lkLAorICAgICAgICAgICAgICAgICAgICB0cmFuc21pdD1z
ZWxmLnRyYW5zbWl0LAorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgIHNlbGYuX2hhbmRs
ZXJzW2V2ZW50LnN0cmVhbV9pZF0gPSBoYW5kbGVyCisgICAgICAgICAgICBhc3luY2lvLmVuc3Vy
ZV9mdXR1cmUoaGFuZGxlci5ydW5fYXNnaShhcHBsaWNhdGlvbikpCisgICAgICAgIGVsaWYgKAor
ICAgICAgICAgICAgaXNpbnN0YW5jZShldmVudCwgKERhdGFSZWNlaXZlZCwgSGVhZGVyc1JlY2Vp
dmVkKSkKKyAgICAgICAgICAgIGFuZCBldmVudC5zdHJlYW1faWQgaW4gc2VsZi5faGFuZGxlcnMK
KyAgICAgICAgKToKKyAgICAgICAgICAgIGhhbmRsZXIgPSBzZWxmLl9oYW5kbGVyc1tldmVudC5z
dHJlYW1faWRdCisgICAgICAgICAgICBoYW5kbGVyLmh0dHBfZXZlbnRfcmVjZWl2ZWQoZXZlbnQp
CisKKyAgICBkZWYgcXVpY19ldmVudF9yZWNlaXZlZChzZWxmLCBldmVudDogUXVpY0V2ZW50KSAt
PiBOb25lOgorICAgICAgICBpZiBpc2luc3RhbmNlKGV2ZW50LCBQcm90b2NvbE5lZ290aWF0ZWQp
OgorICAgICAgICAgICAgaWYgZXZlbnQuYWxwbl9wcm90b2NvbC5zdGFydHN3aXRoKCJoMy0iKToK
KyAgICAgICAgICAgICAgICBzZWxmLl9odHRwID0gSDNDb25uZWN0aW9uKHNlbGYuX3F1aWMpCisg
ICAgICAgICAgICBlbGlmIGV2ZW50LmFscG5fcHJvdG9jb2wuc3RhcnRzd2l0aCgiaHEtIik6Cisg
ICAgICAgICAgICAgICAgc2VsZi5faHR0cCA9IEgwQ29ubmVjdGlvbihzZWxmLl9xdWljKQorICAg
ICAgICBlbGlmIGlzaW5zdGFuY2UoZXZlbnQsIERhdGFncmFtRnJhbWVSZWNlaXZlZCk6CisgICAg
ICAgICAgICBpZiBldmVudC5kYXRhID09IGIicXVhY2siOgorICAgICAgICAgICAgICAgIHNlbGYu
X3F1aWMuc2VuZF9kYXRhZ3JhbV9mcmFtZShiInF1YWNrLWFjayIpCisKKyAgICAgICAgIyDCoHBh
c3MgZXZlbnQgdG8gdGhlIEhUVFAgbGF5ZXIKKyAgICAgICAgaWYgc2VsZi5faHR0cCBpcyBub3Qg
Tm9uZToKKyAgICAgICAgICAgIGZvciBodHRwX2V2ZW50IGluIHNlbGYuX2h0dHAuaGFuZGxlX2V2
ZW50KGV2ZW50KToKKyAgICAgICAgICAgICAgICBzZWxmLmh0dHBfZXZlbnRfcmVjZWl2ZWQoaHR0
cF9ldmVudCkKKworCitjbGFzcyBTZXNzaW9uVGlja2V0U3RvcmU6CisgICAgIiIiCisgICAgU2lt
cGxlIGluLW1lbW9yeSBzdG9yZSBmb3Igc2Vzc2lvbiB0aWNrZXRzLgorICAgICIiIgorCisgICAg
ZGVmIF9faW5pdF9fKHNlbGYpIC0+IE5vbmU6CisgICAgICAgIHNlbGYudGlja2V0czogRGljdFti
eXRlcywgU2Vzc2lvblRpY2tldF0gPSB7fQorCisgICAgZGVmIGFkZChzZWxmLCB0aWNrZXQ6IFNl
c3Npb25UaWNrZXQpIC0+IE5vbmU6CisgICAgICAgIHNlbGYudGlja2V0c1t0aWNrZXQudGlja2V0
XSA9IHRpY2tldAorCisgICAgZGVmIHBvcChzZWxmLCBsYWJlbDogYnl0ZXMpIC0+IE9wdGlvbmFs
W1Nlc3Npb25UaWNrZXRdOgorICAgICAgICByZXR1cm4gc2VsZi50aWNrZXRzLnBvcChsYWJlbCwg
Tm9uZSkKKworCitjbGFzcyBRdWljTG9nZ2VyQ3VzdG9tKFF1aWNMb2dnZXIpOgorICAgICIiIgor
ICAgIEN1c3RvbSBRVUlDIGxvZ2dlciB3aGljaCB3cml0ZXMgb25lIHRyYWNlIHBlciBmaWxlLgor
ICAgICIiIgorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBhdGg6IHN0cikgLT4gTm9uZToKKyAg
ICAgICAgaWYgbm90IG9zLnBhdGguaXNkaXIocGF0aCk6CisgICAgICAgICAgICByYWlzZSBWYWx1
ZUVycm9yKCJRVUlDIGxvZyBvdXRwdXQgZGlyZWN0b3J5ICclcycgZG9lcyBub3QgZXhpc3QiICUg
cGF0aCkKKyAgICAgICAgc2VsZi5wYXRoID0gcGF0aAorICAgICAgICBzdXBlcigpLl9faW5pdF9f
KCkKKworICAgIGRlZiBlbmRfdHJhY2Uoc2VsZiwgdHJhY2U6IFF1aWNMb2dnZXJUcmFjZSkgLT4g
Tm9uZToKKyAgICAgICAgdHJhY2VfZGljdCA9IHRyYWNlLnRvX2RpY3QoKQorICAgICAgICB0cmFj
ZV9wYXRoID0gb3MucGF0aC5qb2luKAorICAgICAgICAgICAgc2VsZi5wYXRoLCB0cmFjZV9kaWN0
WyJjb21tb25fZmllbGRzIl1bIk9EQ0lEIl0gKyAiLnFsb2ciCisgICAgICAgICkKKyAgICAgICAg
d2l0aCBvcGVuKHRyYWNlX3BhdGgsICJ3IikgYXMgbG9nZ2VyX2ZwOgorICAgICAgICAgICAganNv
bi5kdW1wKHsicWxvZ192ZXJzaW9uIjogImRyYWZ0LTAxIiwgInRyYWNlcyI6IFt0cmFjZV9kaWN0
XX0sIGxvZ2dlcl9mcCkKKyAgICAgICAgc2VsZi5fdHJhY2VzLnJlbW92ZSh0cmFjZSkKKworCitp
ZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgorICAgIHBhcnNlciA9IGFyZ3BhcnNlLkFyZ3VtZW50
UGFyc2VyKGRlc2NyaXB0aW9uPSJRVUlDIHNlcnZlciIpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVu
dCgKKyAgICAgICAgImFwcCIsCisgICAgICAgIHR5cGU9c3RyLAorICAgICAgICBuYXJncz0iPyIs
CisgICAgICAgIGRlZmF1bHQ9ImRlbW86YXBwIiwKKyAgICAgICAgaGVscD0idGhlIEFTR0kgYXBw
bGljYXRpb24gYXMgPG1vZHVsZT46PGF0dHJpYnV0ZT4iLAorICAgICkKKyAgICBwYXJzZXIuYWRk
X2FyZ3VtZW50KAorICAgICAgICAiLWMiLAorICAgICAgICAiLS1jZXJ0aWZpY2F0ZSIsCisgICAg
ICAgIHR5cGU9c3RyLAorICAgICAgICByZXF1aXJlZD1UcnVlLAorICAgICAgICBoZWxwPSJsb2Fk
IHRoZSBUTFMgY2VydGlmaWNhdGUgZnJvbSB0aGUgc3BlY2lmaWVkIGZpbGUiLAorICAgICkKKyAg
ICBwYXJzZXIuYWRkX2FyZ3VtZW50KAorICAgICAgICAiLS1ob3N0IiwKKyAgICAgICAgdHlwZT1z
dHIsCisgICAgICAgIGRlZmF1bHQ9Ijo6IiwKKyAgICAgICAgaGVscD0ibGlzdGVuIG9uIHRoZSBz
cGVjaWZpZWQgYWRkcmVzcyAoZGVmYXVsdHMgdG8gOjopIiwKKyAgICApCisgICAgcGFyc2VyLmFk
ZF9hcmd1bWVudCgKKyAgICAgICAgIi0tcG9ydCIsCisgICAgICAgIHR5cGU9aW50LAorICAgICAg
ICBkZWZhdWx0PTQ0MzMsCisgICAgICAgIGhlbHA9Imxpc3RlbiBvbiB0aGUgc3BlY2lmaWVkIHBv
cnQgKGRlZmF1bHRzIHRvIDQ0MzMpIiwKKyAgICApCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgK
KyAgICAgICAgIi1rIiwKKyAgICAgICAgIi0tcHJpdmF0ZS1rZXkiLAorICAgICAgICB0eXBlPXN0
ciwKKyAgICAgICAgcmVxdWlyZWQ9VHJ1ZSwKKyAgICAgICAgaGVscD0ibG9hZCB0aGUgVExTIHBy
aXZhdGUga2V5IGZyb20gdGhlIHNwZWNpZmllZCBmaWxlIiwKKyAgICApCisgICAgcGFyc2VyLmFk
ZF9hcmd1bWVudCgKKyAgICAgICAgIi1sIiwKKyAgICAgICAgIi0tc2VjcmV0cy1sb2ciLAorICAg
ICAgICB0eXBlPXN0ciwKKyAgICAgICAgaGVscD0ibG9nIHNlY3JldHMgdG8gYSBmaWxlLCBmb3Ig
dXNlIHdpdGggV2lyZXNoYXJrIiwKKyAgICApCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgKKyAg
ICAgICAgIi1xIiwgIi0tcXVpYy1sb2ciLCB0eXBlPXN0ciwgaGVscD0ibG9nIFFVSUMgZXZlbnRz
IHRvIGEgZmlsZSBpbiBRTE9HIGZvcm1hdCIKKyAgICApCisgICAgcGFyc2VyLmFkZF9hcmd1bWVu
dCgKKyAgICAgICAgIi1yIiwKKyAgICAgICAgIi0tc3RhdGVsZXNzLXJldHJ5IiwKKyAgICAgICAg
YWN0aW9uPSJzdG9yZV90cnVlIiwKKyAgICAgICAgaGVscD0ic2VuZCBhIHN0YXRlbGVzcyByZXRy
eSBmb3IgbmV3IGNvbm5lY3Rpb25zIiwKKyAgICApCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgK
KyAgICAgICAgIi12IiwgIi0tdmVyYm9zZSIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsIGhlbHA9Imlu
Y3JlYXNlIGxvZ2dpbmcgdmVyYm9zaXR5IgorICAgICkKKyAgICBhcmdzID0gcGFyc2VyLnBhcnNl
X2FyZ3MoKQorCisgICAgbG9nZ2luZy5iYXNpY0NvbmZpZygKKyAgICAgICAgZm9ybWF0PSIlKGFz
Y3RpbWUpcyAlKGxldmVsbmFtZSlzICUobmFtZSlzICUobWVzc2FnZSlzIiwKKyAgICAgICAgbGV2
ZWw9bG9nZ2luZy5ERUJVRyBpZiBhcmdzLnZlcmJvc2UgZWxzZSBsb2dnaW5nLklORk8sCisgICAg
KQorCisgICAgIyBpbXBvcnQgQVNHSSBhcHBsaWNhdGlvbgorICAgIG1vZHVsZV9zdHIsIGF0dHJf
c3RyID0gYXJncy5hcHAuc3BsaXQoIjoiLCBtYXhzcGxpdD0xKQorICAgIG1vZHVsZSA9IGltcG9y
dGxpYi5pbXBvcnRfbW9kdWxlKG1vZHVsZV9zdHIpCisgICAgYXBwbGljYXRpb24gPSBnZXRhdHRy
KG1vZHVsZSwgYXR0cl9zdHIpCisKKyAgICAjIGNyZWF0ZSBRVUlDIGxvZ2dlcgorICAgIGlmIGFy
Z3MucXVpY19sb2c6CisgICAgICAgIHF1aWNfbG9nZ2VyID0gUXVpY0xvZ2dlckN1c3RvbShhcmdz
LnF1aWNfbG9nKQorICAgIGVsc2U6CisgICAgICAgIHF1aWNfbG9nZ2VyID0gTm9uZQorCisgICAg
IyBvcGVuIFNTTCBsb2cgZmlsZQorICAgIGlmIGFyZ3Muc2VjcmV0c19sb2c6CisgICAgICAgIHNl
Y3JldHNfbG9nX2ZpbGUgPSBvcGVuKGFyZ3Muc2VjcmV0c19sb2csICJhIikKKyAgICBlbHNlOgor
ICAgICAgICBzZWNyZXRzX2xvZ19maWxlID0gTm9uZQorCisgICAgY29uZmlndXJhdGlvbiA9IFF1
aWNDb25maWd1cmF0aW9uKAorICAgICAgICBhbHBuX3Byb3RvY29scz1IM19BTFBOICsgSDBfQUxQ
TiArIFsic2lkdWNrIl0sCisgICAgICAgIGlzX2NsaWVudD1GYWxzZSwKKyAgICAgICAgbWF4X2Rh
dGFncmFtX2ZyYW1lX3NpemU9NjU1MzYsCisgICAgICAgIHF1aWNfbG9nZ2VyPXF1aWNfbG9nZ2Vy
LAorICAgICAgICBzZWNyZXRzX2xvZ19maWxlPXNlY3JldHNfbG9nX2ZpbGUsCisgICAgKQorCisg
ICAgIyBsb2FkIFNTTCBjZXJ0aWZpY2F0ZSBhbmQga2V5CisgICAgY29uZmlndXJhdGlvbi5sb2Fk
X2NlcnRfY2hhaW4oYXJncy5jZXJ0aWZpY2F0ZSwgYXJncy5wcml2YXRlX2tleSkKKworICAgIHRp
Y2tldF9zdG9yZSA9IFNlc3Npb25UaWNrZXRTdG9yZSgpCisKKyAgICBpZiB1dmxvb3AgaXMgbm90
IE5vbmU6CisgICAgICAgIHV2bG9vcC5pbnN0YWxsKCkKKyAgICBsb29wID0gYXN5bmNpby5nZXRf
ZXZlbnRfbG9vcCgpCisgICAgbG9vcC5ydW5fdW50aWxfY29tcGxldGUoCisgICAgICAgIHNlcnZl
KAorICAgICAgICAgICAgYXJncy5ob3N0LAorICAgICAgICAgICAgYXJncy5wb3J0LAorICAgICAg
ICAgICAgY29uZmlndXJhdGlvbj1jb25maWd1cmF0aW9uLAorICAgICAgICAgICAgY3JlYXRlX3By
b3RvY29sPUh0dHBTZXJ2ZXJQcm90b2NvbCwKKyAgICAgICAgICAgIHNlc3Npb25fdGlja2V0X2Zl
dGNoZXI9dGlja2V0X3N0b3JlLnBvcCwKKyAgICAgICAgICAgIHNlc3Npb25fdGlja2V0X2hhbmRs
ZXI9dGlja2V0X3N0b3JlLmFkZCwKKyAgICAgICAgICAgIHN0YXRlbGVzc19yZXRyeT1hcmdzLnN0
YXRlbGVzc19yZXRyeSwKKyAgICAgICAgKQorICAgICkKKyAgICB0cnk6CisgICAgICAgIGxvb3Au
cnVuX2ZvcmV2ZXIoKQorICAgIGV4Y2VwdCBLZXlib2FyZEludGVycnVwdDoKKyAgICAgICAgcGFz
cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL2V4YW1wbGVzL2h0dHB4X2NsaWVudC5weSBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFy
dHkvYWlvcXVpYy9leGFtcGxlcy9odHRweF9jbGllbnQucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDAxZTM4NGUz
NTRiMjI1MjQzZDRkNjBiNzU5ODU1ZDUwMmMyOTk5ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkv
YWlvcXVpYy9leGFtcGxlcy9odHRweF9jbGllbnQucHkKQEAgLTAsMCArMSwyMTMgQEAKK2ltcG9y
dCBhcmdwYXJzZQoraW1wb3J0IGFzeW5jaW8KK2ltcG9ydCBqc29uCitpbXBvcnQgbG9nZ2luZwor
aW1wb3J0IHBpY2tsZQoraW1wb3J0IHN5cworaW1wb3J0IHRpbWUKK2Zyb20gY29sbGVjdGlvbnMg
aW1wb3J0IGRlcXVlCitmcm9tIHR5cGluZyBpbXBvcnQgRGVxdWUsIERpY3QsIGNhc3QKK2Zyb20g
dXJsbGliLnBhcnNlIGltcG9ydCB1cmxwYXJzZQorCitmcm9tIGh0dHB4IGltcG9ydCBBc3luY0Ns
aWVudAorZnJvbSBodHRweC5jb25maWcgaW1wb3J0IFRpbWVvdXQKK2Zyb20gaHR0cHguZGlzcGF0
Y2guYmFzZSBpbXBvcnQgQXN5bmNEaXNwYXRjaGVyCitmcm9tIGh0dHB4Lm1vZGVscyBpbXBvcnQg
UmVxdWVzdCwgUmVzcG9uc2UKKworZnJvbSBhaW9xdWljLmFzeW5jaW8uY2xpZW50IGltcG9ydCBj
b25uZWN0Citmcm9tIGFpb3F1aWMuYXN5bmNpby5wcm90b2NvbCBpbXBvcnQgUXVpY0Nvbm5lY3Rp
b25Qcm90b2NvbAorZnJvbSBhaW9xdWljLmgzLmNvbm5lY3Rpb24gaW1wb3J0IEgzX0FMUE4sIEgz
Q29ubmVjdGlvbgorZnJvbSBhaW9xdWljLmgzLmV2ZW50cyBpbXBvcnQgRGF0YVJlY2VpdmVkLCBI
M0V2ZW50LCBIZWFkZXJzUmVjZWl2ZWQKK2Zyb20gYWlvcXVpYy5xdWljLmNvbmZpZ3VyYXRpb24g
aW1wb3J0IFF1aWNDb25maWd1cmF0aW9uCitmcm9tIGFpb3F1aWMucXVpYy5ldmVudHMgaW1wb3J0
IFF1aWNFdmVudAorZnJvbSBhaW9xdWljLnF1aWMubG9nZ2VyIGltcG9ydCBRdWljTG9nZ2VyCisK
K2xvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCJjbGllbnQiKQorCisKK2NsYXNzIEgzRGlzcGF0
Y2hlcihRdWljQ29ubmVjdGlvblByb3RvY29sLCBBc3luY0Rpc3BhdGNoZXIpOgorICAgIGRlZiBf
X2luaXRfXyhzZWxmLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICBzdXBlcigpLl9faW5pdF9f
KCphcmdzLCAqKmt3YXJncykKKworICAgICAgICBzZWxmLl9odHRwID0gSDNDb25uZWN0aW9uKHNl
bGYuX3F1aWMpCisgICAgICAgIHNlbGYuX3JlcXVlc3RfZXZlbnRzOiBEaWN0W2ludCwgRGVxdWVb
SDNFdmVudF1dID0ge30KKyAgICAgICAgc2VsZi5fcmVxdWVzdF93YWl0ZXI6IERpY3RbaW50LCBh
c3luY2lvLkZ1dHVyZVtEZXF1ZVtIM0V2ZW50XV1dID0ge30KKworICAgIGFzeW5jIGRlZiBzZW5k
KHNlbGYsIHJlcXVlc3Q6IFJlcXVlc3QsIHRpbWVvdXQ6IFRpbWVvdXQgPSBOb25lKSAtPiBSZXNw
b25zZToKKyAgICAgICAgc3RyZWFtX2lkID0gc2VsZi5fcXVpYy5nZXRfbmV4dF9hdmFpbGFibGVf
c3RyZWFtX2lkKCkKKworICAgICAgICAjIHByZXBhcmUgcmVxdWVzdAorICAgICAgICBzZWxmLl9o
dHRwLnNlbmRfaGVhZGVycygKKyAgICAgICAgICAgIHN0cmVhbV9pZD1zdHJlYW1faWQsCisgICAg
ICAgICAgICBoZWFkZXJzPVsKKyAgICAgICAgICAgICAgICAoYiI6bWV0aG9kIiwgcmVxdWVzdC5t
ZXRob2QuZW5jb2RlKCkpLAorICAgICAgICAgICAgICAgIChiIjpzY2hlbWUiLCByZXF1ZXN0LnVy
bC5zY2hlbWUuZW5jb2RlKCkpLAorICAgICAgICAgICAgICAgIChiIjphdXRob3JpdHkiLCBzdHIo
cmVxdWVzdC51cmwuYXV0aG9yaXR5KS5lbmNvZGUoKSksCisgICAgICAgICAgICAgICAgKGIiOnBh
dGgiLCByZXF1ZXN0LnVybC5mdWxsX3BhdGguZW5jb2RlKCkpLAorICAgICAgICAgICAgXQorICAg
ICAgICAgICAgKyBbCisgICAgICAgICAgICAgICAgKGsuZW5jb2RlKCksIHYuZW5jb2RlKCkpCisg
ICAgICAgICAgICAgICAgZm9yIChrLCB2KSBpbiByZXF1ZXN0LmhlYWRlcnMuaXRlbXMoKQorICAg
ICAgICAgICAgICAgIGlmIGsgbm90IGluICgiY29ubmVjdGlvbiIsICJob3N0IikKKyAgICAgICAg
ICAgIF0sCisgICAgICAgICkKKyAgICAgICAgc2VsZi5faHR0cC5zZW5kX2RhdGEoc3RyZWFtX2lk
PXN0cmVhbV9pZCwgZGF0YT1yZXF1ZXN0LnJlYWQoKSwgZW5kX3N0cmVhbT1UcnVlKQorCisgICAg
ICAgICMgdHJhbnNtaXQgcmVxdWVzdAorICAgICAgICB3YWl0ZXIgPSBzZWxmLl9sb29wLmNyZWF0
ZV9mdXR1cmUoKQorICAgICAgICBzZWxmLl9yZXF1ZXN0X2V2ZW50c1tzdHJlYW1faWRdID0gZGVx
dWUoKQorICAgICAgICBzZWxmLl9yZXF1ZXN0X3dhaXRlcltzdHJlYW1faWRdID0gd2FpdGVyCisg
ICAgICAgIHNlbGYudHJhbnNtaXQoKQorCisgICAgICAgICMgcHJvY2VzcyByZXNwb25zZQorICAg
ICAgICBldmVudHM6IERlcXVlW0gzRXZlbnRdID0gYXdhaXQgYXN5bmNpby5zaGllbGQod2FpdGVy
KQorICAgICAgICBjb250ZW50ID0gYiIiCisgICAgICAgIGhlYWRlcnMgPSBbXQorICAgICAgICBz
dGF0dXNfY29kZSA9IE5vbmUKKyAgICAgICAgZm9yIGV2ZW50IGluIGV2ZW50czoKKyAgICAgICAg
ICAgIGlmIGlzaW5zdGFuY2UoZXZlbnQsIEhlYWRlcnNSZWNlaXZlZCk6CisgICAgICAgICAgICAg
ICAgZm9yIGhlYWRlciwgdmFsdWUgaW4gZXZlbnQuaGVhZGVyczoKKyAgICAgICAgICAgICAgICAg
ICAgaWYgaGVhZGVyID09IGIiOnN0YXR1cyI6CisgICAgICAgICAgICAgICAgICAgICAgICBzdGF0
dXNfY29kZSA9IGludCh2YWx1ZS5kZWNvZGUoKSkKKyAgICAgICAgICAgICAgICAgICAgZWxpZiBo
ZWFkZXJbMDoxXSAhPSBiIjoiOgorICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVycy5hcHBl
bmQoKGhlYWRlci5kZWNvZGUoKSwgdmFsdWUuZGVjb2RlKCkpKQorICAgICAgICAgICAgZWxpZiBp
c2luc3RhbmNlKGV2ZW50LCBEYXRhUmVjZWl2ZWQpOgorICAgICAgICAgICAgICAgIGNvbnRlbnQg
Kz0gZXZlbnQuZGF0YQorCisgICAgICAgIHJldHVybiBSZXNwb25zZSgKKyAgICAgICAgICAgIHN0
YXR1c19jb2RlPXN0YXR1c19jb2RlLAorICAgICAgICAgICAgaHR0cF92ZXJzaW9uPSJIVFRQLzMi
LAorICAgICAgICAgICAgaGVhZGVycz1oZWFkZXJzLAorICAgICAgICAgICAgY29udGVudD1jb250
ZW50LAorICAgICAgICAgICAgcmVxdWVzdD1yZXF1ZXN0LAorICAgICAgICApCisKKyAgICBkZWYg
aHR0cF9ldmVudF9yZWNlaXZlZChzZWxmLCBldmVudDogSDNFdmVudCk6CisgICAgICAgIGlmIGlz
aW5zdGFuY2UoZXZlbnQsIChIZWFkZXJzUmVjZWl2ZWQsIERhdGFSZWNlaXZlZCkpOgorICAgICAg
ICAgICAgc3RyZWFtX2lkID0gZXZlbnQuc3RyZWFtX2lkCisgICAgICAgICAgICBpZiBzdHJlYW1f
aWQgaW4gc2VsZi5fcmVxdWVzdF9ldmVudHM6CisgICAgICAgICAgICAgICAgc2VsZi5fcmVxdWVz
dF9ldmVudHNbZXZlbnQuc3RyZWFtX2lkXS5hcHBlbmQoZXZlbnQpCisgICAgICAgICAgICAgICAg
aWYgZXZlbnQuc3RyZWFtX2VuZGVkOgorICAgICAgICAgICAgICAgICAgICByZXF1ZXN0X3dhaXRl
ciA9IHNlbGYuX3JlcXVlc3Rfd2FpdGVyLnBvcChzdHJlYW1faWQpCisgICAgICAgICAgICAgICAg
ICAgIHJlcXVlc3Rfd2FpdGVyLnNldF9yZXN1bHQoc2VsZi5fcmVxdWVzdF9ldmVudHMucG9wKHN0
cmVhbV9pZCkpCisKKyAgICBkZWYgcXVpY19ldmVudF9yZWNlaXZlZChzZWxmLCBldmVudDogUXVp
Y0V2ZW50KToKKyAgICAgICAgIyDCoHBhc3MgZXZlbnQgdG8gdGhlIEhUVFAgbGF5ZXIKKyAgICAg
ICAgaWYgc2VsZi5faHR0cCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGZvciBodHRwX2V2ZW50
IGluIHNlbGYuX2h0dHAuaGFuZGxlX2V2ZW50KGV2ZW50KToKKyAgICAgICAgICAgICAgICBzZWxm
Lmh0dHBfZXZlbnRfcmVjZWl2ZWQoaHR0cF9ldmVudCkKKworCitkZWYgc2F2ZV9zZXNzaW9uX3Rp
Y2tldCh0aWNrZXQpOgorICAgICIiIgorICAgIENhbGxiYWNrIHdoaWNoIGlzIGludm9rZWQgYnkg
dGhlIFRMUyBlbmdpbmUgd2hlbiBhIG5ldyBzZXNzaW9uIHRpY2tldAorICAgIGlzIHJlY2VpdmVk
LgorICAgICIiIgorICAgIGxvZ2dlci5pbmZvKCJOZXcgc2Vzc2lvbiB0aWNrZXQgcmVjZWl2ZWQi
KQorICAgIGlmIGFyZ3Muc2Vzc2lvbl90aWNrZXQ6CisgICAgICAgIHdpdGggb3BlbihhcmdzLnNl
c3Npb25fdGlja2V0LCAid2IiKSBhcyBmcDoKKyAgICAgICAgICAgIHBpY2tsZS5kdW1wKHRpY2tl
dCwgZnApCisKKworYXN5bmMgZGVmIHJ1bihjb25maWd1cmF0aW9uOiBRdWljQ29uZmlndXJhdGlv
biwgdXJsOiBzdHIsIGRhdGE6IHN0cikgLT4gTm9uZToKKyAgICAjIHBhcnNlIFVSTAorICAgIHBh
cnNlZCA9IHVybHBhcnNlKHVybCkKKyAgICBhc3NlcnQgcGFyc2VkLnNjaGVtZSA9PSAiaHR0cHMi
LCAiT25seSBodHRwczovLyBVUkxzIGFyZSBzdXBwb3J0ZWQuIgorICAgIGlmICI6IiBpbiBwYXJz
ZWQubmV0bG9jOgorICAgICAgICBob3N0LCBwb3J0X3N0ciA9IHBhcnNlZC5uZXRsb2Muc3BsaXQo
IjoiKQorICAgICAgICBwb3J0ID0gaW50KHBvcnRfc3RyKQorICAgIGVsc2U6CisgICAgICAgIGhv
c3QgPSBwYXJzZWQubmV0bG9jCisgICAgICAgIHBvcnQgPSA0NDMKKworICAgIGFzeW5jIHdpdGgg
Y29ubmVjdCgKKyAgICAgICAgaG9zdCwKKyAgICAgICAgcG9ydCwKKyAgICAgICAgY29uZmlndXJh
dGlvbj1jb25maWd1cmF0aW9uLAorICAgICAgICBjcmVhdGVfcHJvdG9jb2w9SDNEaXNwYXRjaGVy
LAorICAgICAgICBzZXNzaW9uX3RpY2tldF9oYW5kbGVyPXNhdmVfc2Vzc2lvbl90aWNrZXQsCisg
ICAgKSBhcyBkaXNwYXRjaDoKKyAgICAgICAgY2xpZW50ID0gQXN5bmNDbGllbnQoZGlzcGF0Y2g9
Y2FzdChBc3luY0Rpc3BhdGNoZXIsIGRpc3BhdGNoKSkKKworICAgICAgICAjIHBlcmZvcm0gcmVx
dWVzdAorICAgICAgICBzdGFydCA9IHRpbWUudGltZSgpCisgICAgICAgIGlmIGRhdGEgaXMgbm90
IE5vbmU6CisgICAgICAgICAgICByZXNwb25zZSA9IGF3YWl0IGNsaWVudC5wb3N0KAorICAgICAg
ICAgICAgICAgIHVybCwKKyAgICAgICAgICAgICAgICBkYXRhPWRhdGEuZW5jb2RlKCksCisgICAg
ICAgICAgICAgICAgaGVhZGVycz17ImNvbnRlbnQtdHlwZSI6ICJhcHBsaWNhdGlvbi94LXd3dy1m
b3JtLXVybGVuY29kZWQifSwKKyAgICAgICAgICAgICkKKyAgICAgICAgZWxzZToKKyAgICAgICAg
ICAgIHJlc3BvbnNlID0gYXdhaXQgY2xpZW50LmdldCh1cmwpCisKKyAgICAgICAgZWxhcHNlZCA9
IHRpbWUudGltZSgpIC0gc3RhcnQKKworICAgICAgICAjIHByaW50IHNwZWVkCisgICAgICAgIG9j
dGV0cyA9IGxlbihyZXNwb25zZS5jb250ZW50KQorICAgICAgICBsb2dnZXIuaW5mbygKKyAgICAg
ICAgICAgICJSZWNlaXZlZCAlZCBieXRlcyBpbiAlLjFmIHMgKCUuM2YgTWJwcykiCisgICAgICAg
ICAgICAlIChvY3RldHMsIGVsYXBzZWQsIG9jdGV0cyAqIDggLyBlbGFwc2VkIC8gMTAwMDAwMCkK
KyAgICAgICAgKQorCisgICAgICAgICMgcHJpbnQgcmVzcG9uc2UKKyAgICAgICAgZm9yIGhlYWRl
ciwgdmFsdWUgaW4gcmVzcG9uc2UuaGVhZGVycy5pdGVtcygpOgorICAgICAgICAgICAgc3lzLnN0
ZGVyci53cml0ZShoZWFkZXIgKyAiOiAiICsgdmFsdWUgKyAiXHJcbiIpCisgICAgICAgIHN5cy5z
dGRlcnIud3JpdGUoIlxyXG4iKQorICAgICAgICBzeXMuc3Rkb3V0LmJ1ZmZlci53cml0ZShyZXNw
b25zZS5jb250ZW50KQorICAgICAgICBzeXMuc3Rkb3V0LmJ1ZmZlci5mbHVzaCgpCisKKworaWYg
X19uYW1lX18gPT0gIl9fbWFpbl9fIjoKKyAgICBwYXJzZXIgPSBhcmdwYXJzZS5Bcmd1bWVudFBh
cnNlcihkZXNjcmlwdGlvbj0iSFRUUC8zIGNsaWVudCIpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVu
dCgidXJsIiwgdHlwZT1zdHIsIGhlbHA9InRoZSBVUkwgdG8gcXVlcnkgKG11c3QgYmUgSFRUUFMp
IikKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KAorICAgICAgICAiLWQiLCAiLS1kYXRhIiwgdHlw
ZT1zdHIsIGhlbHA9InNlbmQgdGhlIHNwZWNpZmllZCBkYXRhIGluIGEgUE9TVCByZXF1ZXN0Igor
ICAgICkKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KAorICAgICAgICAiLXEiLCAiLS1xdWljLWxv
ZyIsIHR5cGU9c3RyLCBoZWxwPSJsb2cgUVVJQyBldmVudHMgdG8gYSBmaWxlIGluIFFMT0cgZm9y
bWF0IgorICAgICkKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KAorICAgICAgICAiLWwiLAorICAg
ICAgICAiLS1zZWNyZXRzLWxvZyIsCisgICAgICAgIHR5cGU9c3RyLAorICAgICAgICBoZWxwPSJs
b2cgc2VjcmV0cyB0byBhIGZpbGUsIGZvciB1c2Ugd2l0aCBXaXJlc2hhcmsiLAorICAgICkKKyAg
ICBwYXJzZXIuYWRkX2FyZ3VtZW50KAorICAgICAgICAiLXMiLAorICAgICAgICAiLS1zZXNzaW9u
LXRpY2tldCIsCisgICAgICAgIHR5cGU9c3RyLAorICAgICAgICBoZWxwPSJyZWFkIGFuZCB3cml0
ZSBzZXNzaW9uIHRpY2tldCBmcm9tIHRoZSBzcGVjaWZpZWQgZmlsZSIsCisgICAgKQorICAgIHBh
cnNlci5hZGRfYXJndW1lbnQoCisgICAgICAgICItdiIsICItLXZlcmJvc2UiLCBhY3Rpb249InN0
b3JlX3RydWUiLCBoZWxwPSJpbmNyZWFzZSBsb2dnaW5nIHZlcmJvc2l0eSIKKyAgICApCisKKyAg
ICBhcmdzID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQorCisgICAgbG9nZ2luZy5iYXNpY0NvbmZpZygK
KyAgICAgICAgZm9ybWF0PSIlKGFzY3RpbWUpcyAlKGxldmVsbmFtZSlzICUobmFtZSlzICUobWVz
c2FnZSlzIiwKKyAgICAgICAgbGV2ZWw9bG9nZ2luZy5ERUJVRyBpZiBhcmdzLnZlcmJvc2UgZWxz
ZSBsb2dnaW5nLklORk8sCisgICAgKQorCisgICAgIyBwcmVwYXJlIGNvbmZpZ3VyYXRpb24KKyAg
ICBjb25maWd1cmF0aW9uID0gUXVpY0NvbmZpZ3VyYXRpb24oaXNfY2xpZW50PVRydWUsIGFscG5f
cHJvdG9jb2xzPUgzX0FMUE4pCisgICAgaWYgYXJncy5xdWljX2xvZzoKKyAgICAgICAgY29uZmln
dXJhdGlvbi5xdWljX2xvZ2dlciA9IFF1aWNMb2dnZXIoKQorICAgIGlmIGFyZ3Muc2VjcmV0c19s
b2c6CisgICAgICAgIGNvbmZpZ3VyYXRpb24uc2VjcmV0c19sb2dfZmlsZSA9IG9wZW4oYXJncy5z
ZWNyZXRzX2xvZywgImEiKQorICAgIGlmIGFyZ3Muc2Vzc2lvbl90aWNrZXQ6CisgICAgICAgIHRy
eToKKyAgICAgICAgICAgIHdpdGggb3BlbihhcmdzLnNlc3Npb25fdGlja2V0LCAicmIiKSBhcyBm
cDoKKyAgICAgICAgICAgICAgICBjb25maWd1cmF0aW9uLnNlc3Npb25fdGlja2V0ID0gcGlja2xl
LmxvYWQoZnApCisgICAgICAgIGV4Y2VwdCBGaWxlTm90Rm91bmRFcnJvcjoKKyAgICAgICAgICAg
IHBhc3MKKworICAgIGxvb3AgPSBhc3luY2lvLmdldF9ldmVudF9sb29wKCkKKyAgICB0cnk6Cisg
ICAgICAgIGxvb3AucnVuX3VudGlsX2NvbXBsZXRlKAorICAgICAgICAgICAgcnVuKGNvbmZpZ3Vy
YXRpb249Y29uZmlndXJhdGlvbiwgdXJsPWFyZ3MudXJsLCBkYXRhPWFyZ3MuZGF0YSkKKyAgICAg
ICAgKQorICAgIGZpbmFsbHk6CisgICAgICAgIGlmIGNvbmZpZ3VyYXRpb24ucXVpY19sb2dnZXIg
aXMgbm90IE5vbmU6CisgICAgICAgICAgICB3aXRoIG9wZW4oYXJncy5xdWljX2xvZywgInciKSBh
cyBsb2dnZXJfZnA6CisgICAgICAgICAgICAgICAganNvbi5kdW1wKGNvbmZpZ3VyYXRpb24ucXVp
Y19sb2dnZXIudG9fZGljdCgpLCBsb2dnZXJfZnAsIGluZGVudD00KQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0
eS9haW9xdWljL2V4YW1wbGVzL2ludGVyb3AucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvZXhhbXBsZXMvaW50
ZXJvcC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5kNmFkMjBiNjZiNGI3NTEzZWNlYTZiYTMzZDM3NGE0OTVlNGU1
MmFhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL2V4YW1wbGVzL2ludGVyb3AucHkK
QEAgLTAsMCArMSw1MzIgQEAKKyMKKyMgISEhIFdBUk5JTkcgISEhCisjCisjIFRoaXMgZXhhbXBs
ZSB1c2VzIHNvbWUgcHJpdmF0ZSBBUElzLgorIworCitpbXBvcnQgYXJncGFyc2UKK2ltcG9ydCBh
c3luY2lvCitpbXBvcnQganNvbgoraW1wb3J0IGxvZ2dpbmcKK2ltcG9ydCBzc2wKK2ltcG9ydCB0
aW1lCitmcm9tIGRhdGFjbGFzc2VzIGltcG9ydCBkYXRhY2xhc3MsIGZpZWxkCitmcm9tIGVudW0g
aW1wb3J0IEZsYWcKK2Zyb20gdHlwaW5nIGltcG9ydCBPcHRpb25hbCwgY2FzdAorCitpbXBvcnQg
cmVxdWVzdHMKK2ltcG9ydCB1cmxsaWIzCitmcm9tIGh0dHAzX2NsaWVudCBpbXBvcnQgSHR0cENs
aWVudAorCitmcm9tIGFpb3F1aWMuYXN5bmNpbyBpbXBvcnQgY29ubmVjdAorZnJvbSBhaW9xdWlj
LmgwLmNvbm5lY3Rpb24gaW1wb3J0IEgwX0FMUE4KK2Zyb20gYWlvcXVpYy5oMy5jb25uZWN0aW9u
IGltcG9ydCBIM19BTFBOLCBIM0Nvbm5lY3Rpb24KK2Zyb20gYWlvcXVpYy5oMy5ldmVudHMgaW1w
b3J0IERhdGFSZWNlaXZlZCwgSGVhZGVyc1JlY2VpdmVkLCBQdXNoUHJvbWlzZVJlY2VpdmVkCitm
cm9tIGFpb3F1aWMucXVpYy5jb25maWd1cmF0aW9uIGltcG9ydCBRdWljQ29uZmlndXJhdGlvbgor
ZnJvbSBhaW9xdWljLnF1aWMubG9nZ2VyIGltcG9ydCBRdWljTG9nZ2VyCisKKworY2xhc3MgUmVz
dWx0KEZsYWcpOgorICAgIFYgPSAweDAwMDAwMQorICAgIEggPSAweDAwMDAwMgorICAgIEQgPSAw
eDAwMDAwNAorICAgIEMgPSAweDAwMDAwOAorICAgIFIgPSAweDAwMDAxMAorICAgIFogPSAweDAw
MDAyMAorICAgIFMgPSAweDAwMDA0MAorICAgIFEgPSAweDAwMDA4MAorCisgICAgTSA9IDB4MDAw
MTAwCisgICAgQiA9IDB4MDAwMjAwCisgICAgQSA9IDB4MDAwNDAwCisgICAgVSA9IDB4MDAwODAw
CisgICAgUCA9IDB4MDAxMDAwCisgICAgRSA9IDB4MDAyMDAwCisgICAgTCA9IDB4MDA0MDAwCisg
ICAgVCA9IDB4MDA4MDAwCisKKyAgICB0aHJlZSA9IDB4MDEwMDAwCisgICAgZCA9IDB4MDIwMDAw
CisgICAgcCA9IDB4MDQwMDAwCisKKyAgICBkZWYgX19zdHJfXyhzZWxmKToKKyAgICAgICAgZmxh
Z3MgPSBzb3J0ZWQoCisgICAgICAgICAgICBtYXAoCisgICAgICAgICAgICAgICAgbGFtYmRhIHg6
IGdldGF0dHIoUmVzdWx0LCB4KSwKKyAgICAgICAgICAgICAgICBmaWx0ZXIobGFtYmRhIHg6IG5v
dCB4LnN0YXJ0c3dpdGgoIl8iKSwgZGlyKFJlc3VsdCkpLAorICAgICAgICAgICAgKSwKKyAgICAg
ICAgICAgIGtleT1sYW1iZGEgeDogeC52YWx1ZSwKKyAgICAgICAgKQorICAgICAgICByZXN1bHRf
c3RyID0gIiIKKyAgICAgICAgZm9yIGZsYWcgaW4gZmxhZ3M6CisgICAgICAgICAgICBpZiBzZWxm
ICYgZmxhZzoKKyAgICAgICAgICAgICAgICByZXN1bHRfc3RyICs9IGZsYWcubmFtZQorICAgICAg
ICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICByZXN1bHRfc3RyICs9ICItIgorICAgICAgICBy
ZXR1cm4gcmVzdWx0X3N0cgorCisKK0BkYXRhY2xhc3MKK2NsYXNzIFNlcnZlcjoKKyAgICBuYW1l
OiBzdHIKKyAgICBob3N0OiBzdHIKKyAgICBwb3J0OiBpbnQgPSA0NDMzCisgICAgaHR0cDM6IGJv
b2wgPSBUcnVlCisgICAgcmV0cnlfcG9ydDogT3B0aW9uYWxbaW50XSA9IDQ0MzQKKyAgICBwYXRo
OiBzdHIgPSAiLyIKKyAgICBwdXNoX3BhdGg6IE9wdGlvbmFsW3N0cl0gPSBOb25lCisgICAgcmVz
dWx0OiBSZXN1bHQgPSBmaWVsZChkZWZhdWx0X2ZhY3Rvcnk9bGFtYmRhOiBSZXN1bHQoMCkpCisg
ICAgc2Vzc2lvbl9yZXN1bXB0aW9uX3BvcnQ6IE9wdGlvbmFsW2ludF0gPSBOb25lCisgICAgc3Ry
dWN0dXJlZF9sb2dnaW5nOiBib29sID0gRmFsc2UKKyAgICB0aHJvdWdocHV0X2ZpbGVfc3VmZml4
OiBzdHIgPSAiIgorICAgIHZlcmlmeV9tb2RlOiBPcHRpb25hbFtpbnRdID0gTm9uZQorCisKK1NF
UlZFUlMgPSBbCisgICAgU2VydmVyKCJha2FtYWlxdWljIiwgImlldGYuYWthcXVpYy5jb20iLCBw
b3J0PTQ0MywgdmVyaWZ5X21vZGU9c3NsLkNFUlRfTk9ORSksCisgICAgU2VydmVyKAorICAgICAg
ICAiYWlvcXVpYyIsICJxdWljLmFpb3J0Yy5vcmciLCBwb3J0PTQ0MywgcHVzaF9wYXRoPSIvIiwg
c3RydWN0dXJlZF9sb2dnaW5nPVRydWUKKyAgICApLAorICAgIFNlcnZlcigiYXRzIiwgInF1aWMu
b2dyZS5jb20iKSwKKyAgICBTZXJ2ZXIoImY1IiwgImY1cXVpYy5jb20iLCByZXRyeV9wb3J0PTQ0
MzMpLAorICAgIFNlcnZlcigiaGFza2VsbCIsICJtZXcub3JnIiwgcmV0cnlfcG9ydD00NDMzKSwK
KyAgICBTZXJ2ZXIoImdxdWljIiwgInF1aWMucm9ja3MiLCByZXRyeV9wb3J0PU5vbmUpLAorICAg
IFNlcnZlcigibHNxdWljIiwgImh0dHAzLXRlc3QubGl0ZXNwZWVkdGVjaC5jb20iLCBwdXNoX3Bh
dGg9Ii8yMDA/cHVzaD0vMTAwIiksCisgICAgU2VydmVyKAorICAgICAgICAibXNxdWljIiwKKyAg
ICAgICAgInF1aWMud2VzdHVzLmNsb3VkYXBwLmF6dXJlLmNvbSIsCisgICAgICAgIHBvcnQ9NDQz
MywKKyAgICAgICAgc2Vzc2lvbl9yZXN1bXB0aW9uX3BvcnQ9NDQzMywKKyAgICAgICAgc3RydWN0
dXJlZF9sb2dnaW5nPVRydWUsCisgICAgICAgIHRocm91Z2hwdXRfZmlsZV9zdWZmaXg9Ii50eHQi
LAorICAgICAgICB2ZXJpZnlfbW9kZT1zc2wuQ0VSVF9OT05FLAorICAgICksCisgICAgU2VydmVy
KAorICAgICAgICAibXZmc3QiLCAiZmIubXZmc3QubmV0IiwgcG9ydD00NDMsIHB1c2hfcGF0aD0i
L3B1c2giLCBzdHJ1Y3R1cmVkX2xvZ2dpbmc9VHJ1ZQorICAgICksCisgICAgU2VydmVyKCJuZ3Rj
cDIiLCAibmdodHRwMi5vcmciLCBwdXNoX3BhdGg9Ii8/cHVzaD0vMTAwIiksCisgICAgU2VydmVy
KCJuZ3hfcXVpYyIsICJjbG91ZGZsYXJlLXF1aWMuY29tIiwgcG9ydD00NDMsIHJldHJ5X3BvcnQ9
NDQzKSwKKyAgICBTZXJ2ZXIoInBhbmRvcmEiLCAicGFuZG9yYS5jbS5pbi50dW0uZGUiLCB2ZXJp
ZnlfbW9kZT1zc2wuQ0VSVF9OT05FKSwKKyAgICBTZXJ2ZXIoInBpY29xdWljIiwgInRlc3QucHJp
dmF0ZW9jdG9wdXMuY29tIiwgc3RydWN0dXJlZF9sb2dnaW5nPVRydWUpLAorICAgIFNlcnZlcigi
cXVhbnQiLCAicXVhbnQuZWdnZXJ0Lm9yZyIsIGh0dHAzPUZhbHNlKSwKKyAgICBTZXJ2ZXIoInF1
aWMtZ28iLCAicXVpYy5zZWVtYW5uLmlvIiwgcG9ydD00NDMsIHJldHJ5X3BvcnQ9NDQzKSwKKyAg
ICBTZXJ2ZXIoInF1aWNoZSIsICJxdWljLnRlY2giLCBwb3J0PTg0NDMsIHJldHJ5X3BvcnQ9ODQ0
NCksCisgICAgU2VydmVyKCJxdWljbHkiLCAicXVpYy5leGFtcDFlLm5ldCIpLAorICAgIFNlcnZl
cigicXVpbm4iLCAicmFsaXRoLmNvbSIpLAorXQorCisKK2FzeW5jIGRlZiB0ZXN0X3ZlcnNpb25f
bmVnb3RpYXRpb24oc2VydmVyOiBTZXJ2ZXIsIGNvbmZpZ3VyYXRpb246IFF1aWNDb25maWd1cmF0
aW9uKToKKyAgICAjIGZvcmNlIHZlcnNpb24gbmVnb3RpYXRpb24KKyAgICBjb25maWd1cmF0aW9u
LnN1cHBvcnRlZF92ZXJzaW9ucy5pbnNlcnQoMCwgMHgxQTJBM0E0QSkKKworICAgIGFzeW5jIHdp
dGggY29ubmVjdCgKKyAgICAgICAgc2VydmVyLmhvc3QsIHNlcnZlci5wb3J0LCBjb25maWd1cmF0
aW9uPWNvbmZpZ3VyYXRpb24KKyAgICApIGFzIHByb3RvY29sOgorICAgICAgICBhd2FpdCBwcm90
b2NvbC5waW5nKCkKKworICAgICAgICAjIGNoZWNrIGxvZworICAgICAgICBmb3Igc3RhbXAsIGNh
dGVnb3J5LCBldmVudCwgZGF0YSBpbiBjb25maWd1cmF0aW9uLnF1aWNfbG9nZ2VyLnRvX2RpY3Qo
KVsKKyAgICAgICAgICAgICJ0cmFjZXMiCisgICAgICAgIF1bMF1bImV2ZW50cyJdOgorICAgICAg
ICAgICAgaWYgKAorICAgICAgICAgICAgICAgIGNhdGVnb3J5ID09ICJ0cmFuc3BvcnQiCisgICAg
ICAgICAgICAgICAgYW5kIGV2ZW50ID09ICJwYWNrZXRfcmVjZWl2ZWQiCisgICAgICAgICAgICAg
ICAgYW5kIGRhdGFbInBhY2tldF90eXBlIl0gPT0gInZlcnNpb25fbmVnb3RpYXRpb24iCisgICAg
ICAgICAgICApOgorICAgICAgICAgICAgICAgIHNlcnZlci5yZXN1bHQgfD0gUmVzdWx0LlYKKwor
Cithc3luYyBkZWYgdGVzdF9oYW5kc2hha2VfYW5kX2Nsb3NlKHNlcnZlcjogU2VydmVyLCBjb25m
aWd1cmF0aW9uOiBRdWljQ29uZmlndXJhdGlvbik6CisgICAgYXN5bmMgd2l0aCBjb25uZWN0KAor
ICAgICAgICBzZXJ2ZXIuaG9zdCwgc2VydmVyLnBvcnQsIGNvbmZpZ3VyYXRpb249Y29uZmlndXJh
dGlvbgorICAgICkgYXMgcHJvdG9jb2w6CisgICAgICAgIGF3YWl0IHByb3RvY29sLnBpbmcoKQor
ICAgICAgICBzZXJ2ZXIucmVzdWx0IHw9IFJlc3VsdC5ICisgICAgc2VydmVyLnJlc3VsdCB8PSBS
ZXN1bHQuQworCisKK2FzeW5jIGRlZiB0ZXN0X3N0YXRlbGVzc19yZXRyeShzZXJ2ZXI6IFNlcnZl
ciwgY29uZmlndXJhdGlvbjogUXVpY0NvbmZpZ3VyYXRpb24pOgorICAgIGFzeW5jIHdpdGggY29u
bmVjdCgKKyAgICAgICAgc2VydmVyLmhvc3QsIHNlcnZlci5yZXRyeV9wb3J0LCBjb25maWd1cmF0
aW9uPWNvbmZpZ3VyYXRpb24KKyAgICApIGFzIHByb3RvY29sOgorICAgICAgICBhd2FpdCBwcm90
b2NvbC5waW5nKCkKKworICAgICAgICAjIGNoZWNrIGxvZworICAgICAgICBmb3Igc3RhbXAsIGNh
dGVnb3J5LCBldmVudCwgZGF0YSBpbiBjb25maWd1cmF0aW9uLnF1aWNfbG9nZ2VyLnRvX2RpY3Qo
KVsKKyAgICAgICAgICAgICJ0cmFjZXMiCisgICAgICAgIF1bMF1bImV2ZW50cyJdOgorICAgICAg
ICAgICAgaWYgKAorICAgICAgICAgICAgICAgIGNhdGVnb3J5ID09ICJ0cmFuc3BvcnQiCisgICAg
ICAgICAgICAgICAgYW5kIGV2ZW50ID09ICJwYWNrZXRfcmVjZWl2ZWQiCisgICAgICAgICAgICAg
ICAgYW5kIGRhdGFbInBhY2tldF90eXBlIl0gPT0gInJldHJ5IgorICAgICAgICAgICAgKToKKyAg
ICAgICAgICAgICAgICBzZXJ2ZXIucmVzdWx0IHw9IFJlc3VsdC5TCisKKworYXN5bmMgZGVmIHRl
c3RfcXVhbnR1bV9yZWFkaW5lc3Moc2VydmVyOiBTZXJ2ZXIsIGNvbmZpZ3VyYXRpb246IFF1aWND
b25maWd1cmF0aW9uKToKKyAgICBjb25maWd1cmF0aW9uLnF1YW50dW1fcmVhZGluZXNzX3Rlc3Qg
PSBUcnVlCisgICAgYXN5bmMgd2l0aCBjb25uZWN0KAorICAgICAgICBzZXJ2ZXIuaG9zdCwgc2Vy
dmVyLnBvcnQsIGNvbmZpZ3VyYXRpb249Y29uZmlndXJhdGlvbgorICAgICkgYXMgcHJvdG9jb2w6
CisgICAgICAgIGF3YWl0IHByb3RvY29sLnBpbmcoKQorICAgICAgICBzZXJ2ZXIucmVzdWx0IHw9
IFJlc3VsdC5RCisKKworYXN5bmMgZGVmIHRlc3RfaHR0cF8wKHNlcnZlcjogU2VydmVyLCBjb25m
aWd1cmF0aW9uOiBRdWljQ29uZmlndXJhdGlvbik6CisgICAgaWYgc2VydmVyLnBhdGggaXMgTm9u
ZToKKyAgICAgICAgcmV0dXJuCisKKyAgICBjb25maWd1cmF0aW9uLmFscG5fcHJvdG9jb2xzID0g
SDBfQUxQTgorICAgIGFzeW5jIHdpdGggY29ubmVjdCgKKyAgICAgICAgc2VydmVyLmhvc3QsCisg
ICAgICAgIHNlcnZlci5wb3J0LAorICAgICAgICBjb25maWd1cmF0aW9uPWNvbmZpZ3VyYXRpb24s
CisgICAgICAgIGNyZWF0ZV9wcm90b2NvbD1IdHRwQ2xpZW50LAorICAgICkgYXMgcHJvdG9jb2w6
CisgICAgICAgIHByb3RvY29sID0gY2FzdChIdHRwQ2xpZW50LCBwcm90b2NvbCkKKworICAgICAg
ICAjIHBlcmZvcm0gSFRUUCByZXF1ZXN0CisgICAgICAgIGV2ZW50cyA9IGF3YWl0IHByb3RvY29s
LmdldCgKKyAgICAgICAgICAgICJodHRwczovL3t9Ont9e30iLmZvcm1hdChzZXJ2ZXIuaG9zdCwg
c2VydmVyLnBvcnQsIHNlcnZlci5wYXRoKQorICAgICAgICApCisgICAgICAgIGlmIGV2ZW50cyBh
bmQgaXNpbnN0YW5jZShldmVudHNbMF0sIEhlYWRlcnNSZWNlaXZlZCk6CisgICAgICAgICAgICBz
ZXJ2ZXIucmVzdWx0IHw9IFJlc3VsdC5ECisKKworYXN5bmMgZGVmIHRlc3RfaHR0cF8zKHNlcnZl
cjogU2VydmVyLCBjb25maWd1cmF0aW9uOiBRdWljQ29uZmlndXJhdGlvbik6CisgICAgaWYgc2Vy
dmVyLnBhdGggaXMgTm9uZToKKyAgICAgICAgcmV0dXJuCisKKyAgICBjb25maWd1cmF0aW9uLmFs
cG5fcHJvdG9jb2xzID0gSDNfQUxQTgorICAgIGFzeW5jIHdpdGggY29ubmVjdCgKKyAgICAgICAg
c2VydmVyLmhvc3QsCisgICAgICAgIHNlcnZlci5wb3J0LAorICAgICAgICBjb25maWd1cmF0aW9u
PWNvbmZpZ3VyYXRpb24sCisgICAgICAgIGNyZWF0ZV9wcm90b2NvbD1IdHRwQ2xpZW50LAorICAg
ICkgYXMgcHJvdG9jb2w6CisgICAgICAgIHByb3RvY29sID0gY2FzdChIdHRwQ2xpZW50LCBwcm90
b2NvbCkKKworICAgICAgICAjIHBlcmZvcm0gSFRUUCByZXF1ZXN0CisgICAgICAgIGV2ZW50cyA9
IGF3YWl0IHByb3RvY29sLmdldCgKKyAgICAgICAgICAgICJodHRwczovL3t9Ont9e30iLmZvcm1h
dChzZXJ2ZXIuaG9zdCwgc2VydmVyLnBvcnQsIHNlcnZlci5wYXRoKQorICAgICAgICApCisgICAg
ICAgIGlmIGV2ZW50cyBhbmQgaXNpbnN0YW5jZShldmVudHNbMF0sIEhlYWRlcnNSZWNlaXZlZCk6
CisgICAgICAgICAgICBzZXJ2ZXIucmVzdWx0IHw9IFJlc3VsdC5ECisgICAgICAgICAgICBzZXJ2
ZXIucmVzdWx0IHw9IFJlc3VsdC50aHJlZQorCisgICAgICAgICMgcGVyZm9ybSBtb3JlIEhUVFAg
cmVxdWVzdHMgdG8gdXNlIFFQQUNLIGR5bmFtaWMgdGFibGVzCisgICAgICAgIGZvciBpIGluIHJh
bmdlKDIpOgorICAgICAgICAgICAgZXZlbnRzID0gYXdhaXQgcHJvdG9jb2wuZ2V0KAorICAgICAg
ICAgICAgICAgICJodHRwczovL3t9Ont9e30iLmZvcm1hdChzZXJ2ZXIuaG9zdCwgc2VydmVyLnBv
cnQsIHNlcnZlci5wYXRoKQorICAgICAgICAgICAgKQorICAgICAgICBpZiBldmVudHMgYW5kIGlz
aW5zdGFuY2UoZXZlbnRzWzBdLCBIZWFkZXJzUmVjZWl2ZWQpOgorICAgICAgICAgICAgaHR0cCA9
IGNhc3QoSDNDb25uZWN0aW9uLCBwcm90b2NvbC5faHR0cCkKKyAgICAgICAgICAgIHByb3RvY29s
Ll9xdWljLl9sb2dnZXIuaW5mbygKKyAgICAgICAgICAgICAgICAiUVBBQ0sgZGVjb2RlciBieXRl
cyBSWCAlZCBUWCAlZCIsCisgICAgICAgICAgICAgICAgaHR0cC5fZGVjb2Rlcl9ieXRlc19yZWNl
aXZlZCwKKyAgICAgICAgICAgICAgICBodHRwLl9kZWNvZGVyX2J5dGVzX3NlbnQsCisgICAgICAg
ICAgICApCisgICAgICAgICAgICBwcm90b2NvbC5fcXVpYy5fbG9nZ2VyLmluZm8oCisgICAgICAg
ICAgICAgICAgIlFQQUNLIGVuY29kZXIgYnl0ZXMgUlggJWQgVFggJWQiLAorICAgICAgICAgICAg
ICAgIGh0dHAuX2VuY29kZXJfYnl0ZXNfcmVjZWl2ZWQsCisgICAgICAgICAgICAgICAgaHR0cC5f
ZW5jb2Rlcl9ieXRlc19zZW50LAorICAgICAgICAgICAgKQorICAgICAgICAgICAgaWYgKAorICAg
ICAgICAgICAgICAgIGh0dHAuX2RlY29kZXJfYnl0ZXNfcmVjZWl2ZWQKKyAgICAgICAgICAgICAg
ICBhbmQgaHR0cC5fZGVjb2Rlcl9ieXRlc19zZW50CisgICAgICAgICAgICAgICAgYW5kIGh0dHAu
X2VuY29kZXJfYnl0ZXNfcmVjZWl2ZWQKKyAgICAgICAgICAgICAgICBhbmQgaHR0cC5fZW5jb2Rl
cl9ieXRlc19zZW50CisgICAgICAgICAgICApOgorICAgICAgICAgICAgICAgIHNlcnZlci5yZXN1
bHQgfD0gUmVzdWx0LmQKKworICAgICAgICAjIGNoZWNrIHB1c2ggc3VwcG9ydAorICAgICAgICBp
ZiBzZXJ2ZXIucHVzaF9wYXRoIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgcHJvdG9jb2wucHVz
aGVzLmNsZWFyKCkKKyAgICAgICAgICAgIGF3YWl0IHByb3RvY29sLmdldCgKKyAgICAgICAgICAg
ICAgICAiaHR0cHM6Ly97fTp7fXt9Ii5mb3JtYXQoc2VydmVyLmhvc3QsIHNlcnZlci5wb3J0LCBz
ZXJ2ZXIucHVzaF9wYXRoKQorICAgICAgICAgICAgKQorICAgICAgICAgICAgYXdhaXQgYXN5bmNp
by5zbGVlcCgwLjUpCisgICAgICAgICAgICBmb3IgcHVzaF9pZCwgZXZlbnRzIGluIHByb3RvY29s
LnB1c2hlcy5pdGVtcygpOgorICAgICAgICAgICAgICAgIGlmICgKKyAgICAgICAgICAgICAgICAg
ICAgbGVuKGV2ZW50cykgPj0gMworICAgICAgICAgICAgICAgICAgICBhbmQgaXNpbnN0YW5jZShl
dmVudHNbMF0sIFB1c2hQcm9taXNlUmVjZWl2ZWQpCisgICAgICAgICAgICAgICAgICAgIGFuZCBp
c2luc3RhbmNlKGV2ZW50c1sxXSwgSGVhZGVyc1JlY2VpdmVkKQorICAgICAgICAgICAgICAgICAg
ICBhbmQgaXNpbnN0YW5jZShldmVudHNbMl0sIERhdGFSZWNlaXZlZCkKKyAgICAgICAgICAgICAg
ICApOgorICAgICAgICAgICAgICAgICAgICBwcm90b2NvbC5fcXVpYy5fbG9nZ2VyLmluZm8oCisg
ICAgICAgICAgICAgICAgICAgICAgICAiUHVzaCBwcm9taXNlICVkIGZvciAlcyByZWNlaXZlZCAo
c3RhdHVzICVzKSIsCisgICAgICAgICAgICAgICAgICAgICAgICBwdXNoX2lkLAorICAgICAgICAg
ICAgICAgICAgICAgICAgZGljdChldmVudHNbMF0uaGVhZGVycylbYiI6cGF0aCJdLmRlY29kZSgi
YXNjaWkiKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGludChkaWN0KGV2ZW50c1sxXS5oZWFk
ZXJzKVtiIjpzdGF0dXMiXSksCisgICAgICAgICAgICAgICAgICAgICkKKworICAgICAgICAgICAg
ICAgICAgICBzZXJ2ZXIucmVzdWx0IHw9IFJlc3VsdC5wCisKKworYXN5bmMgZGVmIHRlc3Rfc2Vz
c2lvbl9yZXN1bXB0aW9uKHNlcnZlcjogU2VydmVyLCBjb25maWd1cmF0aW9uOiBRdWljQ29uZmln
dXJhdGlvbik6CisgICAgcG9ydCA9IHNlcnZlci5zZXNzaW9uX3Jlc3VtcHRpb25fcG9ydCBvciBz
ZXJ2ZXIucG9ydAorICAgIHNhdmVkX3RpY2tldCA9IE5vbmUKKworICAgIGRlZiBzZXNzaW9uX3Rp
Y2tldF9oYW5kbGVyKHRpY2tldCk6CisgICAgICAgIG5vbmxvY2FsIHNhdmVkX3RpY2tldAorICAg
ICAgICBzYXZlZF90aWNrZXQgPSB0aWNrZXQKKworICAgICMgY29ubmVjdCBhIGZpcnN0IHRpbWUs
IHJlY2VpdmUgYSB0aWNrZXQKKyAgICBhc3luYyB3aXRoIGNvbm5lY3QoCisgICAgICAgIHNlcnZl
ci5ob3N0LAorICAgICAgICBwb3J0LAorICAgICAgICBjb25maWd1cmF0aW9uPWNvbmZpZ3VyYXRp
b24sCisgICAgICAgIHNlc3Npb25fdGlja2V0X2hhbmRsZXI9c2Vzc2lvbl90aWNrZXRfaGFuZGxl
ciwKKyAgICApIGFzIHByb3RvY29sOgorICAgICAgICBhd2FpdCBwcm90b2NvbC5waW5nKCkKKwor
ICAgICAgICAjIHNvbWUgc2VydmVycyBkb24ndCBzZW5kIHRoZSB0aWNrZXQgaW1tZWRpYXRlbHkK
KyAgICAgICAgYXdhaXQgYXN5bmNpby5zbGVlcCgxKQorCisgICAgIyBjb25uZWN0IGEgc2Vjb25k
IHRpbWUsIHdpdGggdGhlIHRpY2tldAorICAgIGlmIHNhdmVkX3RpY2tldCBpcyBub3QgTm9uZToK
KyAgICAgICAgY29uZmlndXJhdGlvbi5zZXNzaW9uX3RpY2tldCA9IHNhdmVkX3RpY2tldAorICAg
ICAgICBhc3luYyB3aXRoIGNvbm5lY3Qoc2VydmVyLmhvc3QsIHBvcnQsIGNvbmZpZ3VyYXRpb249
Y29uZmlndXJhdGlvbikgYXMgcHJvdG9jb2w6CisgICAgICAgICAgICBhd2FpdCBwcm90b2NvbC5w
aW5nKCkKKworICAgICAgICAgICAgIyBjaGVjayBzZXNzaW9uIHdhcyByZXN1bWVkCisgICAgICAg
ICAgICBpZiBwcm90b2NvbC5fcXVpYy50bHMuc2Vzc2lvbl9yZXN1bWVkOgorICAgICAgICAgICAg
ICAgIHNlcnZlci5yZXN1bHQgfD0gUmVzdWx0LlIKKworICAgICAgICAgICAgIyBjaGVjayBlYXJs
eSBkYXRhIHdhcyBhY2NlcHRlZAorICAgICAgICAgICAgaWYgcHJvdG9jb2wuX3F1aWMudGxzLmVh
cmx5X2RhdGFfYWNjZXB0ZWQ6CisgICAgICAgICAgICAgICAgc2VydmVyLnJlc3VsdCB8PSBSZXN1
bHQuWgorCisKK2FzeW5jIGRlZiB0ZXN0X2tleV91cGRhdGUoc2VydmVyOiBTZXJ2ZXIsIGNvbmZp
Z3VyYXRpb246IFF1aWNDb25maWd1cmF0aW9uKToKKyAgICBhc3luYyB3aXRoIGNvbm5lY3QoCisg
ICAgICAgIHNlcnZlci5ob3N0LCBzZXJ2ZXIucG9ydCwgY29uZmlndXJhdGlvbj1jb25maWd1cmF0
aW9uCisgICAgKSBhcyBwcm90b2NvbDoKKyAgICAgICAgIyBjYXVzZSBzb21lIHRyYWZmaWMKKyAg
ICAgICAgYXdhaXQgcHJvdG9jb2wucGluZygpCisKKyAgICAgICAgIyByZXF1ZXN0IGtleSB1cGRh
dGUKKyAgICAgICAgcHJvdG9jb2wucmVxdWVzdF9rZXlfdXBkYXRlKCkKKworICAgICAgICAjIGNh
dXNlIG1vcmUgdHJhZmZpYworICAgICAgICBhd2FpdCBwcm90b2NvbC5waW5nKCkKKworICAgICAg
ICBzZXJ2ZXIucmVzdWx0IHw9IFJlc3VsdC5VCisKKworYXN5bmMgZGVmIHRlc3RfbWlncmF0aW9u
KHNlcnZlcjogU2VydmVyLCBjb25maWd1cmF0aW9uOiBRdWljQ29uZmlndXJhdGlvbik6CisgICAg
YXN5bmMgd2l0aCBjb25uZWN0KAorICAgICAgICBzZXJ2ZXIuaG9zdCwgc2VydmVyLnBvcnQsIGNv
bmZpZ3VyYXRpb249Y29uZmlndXJhdGlvbgorICAgICkgYXMgcHJvdG9jb2w6CisgICAgICAgICMg
Y2F1c2Ugc29tZSB0cmFmZmljCisgICAgICAgIGF3YWl0IHByb3RvY29sLnBpbmcoKQorCisgICAg
ICAgICMgY2hhbmdlIGNvbm5lY3Rpb24gSUQgYW5kIHJlcGxhY2UgdHJhbnNwb3J0CisgICAgICAg
IHByb3RvY29sLmNoYW5nZV9jb25uZWN0aW9uX2lkKCkKKyAgICAgICAgcHJvdG9jb2wuX3RyYW5z
cG9ydC5jbG9zZSgpCisgICAgICAgIGF3YWl0IGxvb3AuY3JlYXRlX2RhdGFncmFtX2VuZHBvaW50
KGxhbWJkYTogcHJvdG9jb2wsIGxvY2FsX2FkZHI9KCI6OiIsIDApKQorCisgICAgICAgICMgY2F1
c2UgbW9yZSB0cmFmZmljCisgICAgICAgIGF3YWl0IHByb3RvY29sLnBpbmcoKQorCisgICAgICAg
ICMgY2hlY2sgbG9nCisgICAgICAgIGRjaWRzID0gc2V0KCkKKyAgICAgICAgZm9yIHN0YW1wLCBj
YXRlZ29yeSwgZXZlbnQsIGRhdGEgaW4gY29uZmlndXJhdGlvbi5xdWljX2xvZ2dlci50b19kaWN0
KClbCisgICAgICAgICAgICAidHJhY2VzIgorICAgICAgICBdWzBdWyJldmVudHMiXToKKyAgICAg
ICAgICAgIGlmICgKKyAgICAgICAgICAgICAgICBjYXRlZ29yeSA9PSAidHJhbnNwb3J0IgorICAg
ICAgICAgICAgICAgIGFuZCBldmVudCA9PSAicGFja2V0X3JlY2VpdmVkIgorICAgICAgICAgICAg
ICAgIGFuZCBkYXRhWyJwYWNrZXRfdHlwZSJdID09ICIxUlRUIgorICAgICAgICAgICAgKToKKyAg
ICAgICAgICAgICAgICBkY2lkcy5hZGQoZGF0YVsiaGVhZGVyIl1bImRjaWQiXSkKKyAgICAgICAg
aWYgbGVuKGRjaWRzKSA9PSAyOgorICAgICAgICAgICAgc2VydmVyLnJlc3VsdCB8PSBSZXN1bHQu
TQorCisKK2FzeW5jIGRlZiB0ZXN0X3JlYmluZGluZyhzZXJ2ZXI6IFNlcnZlciwgY29uZmlndXJh
dGlvbjogUXVpY0NvbmZpZ3VyYXRpb24pOgorICAgIGFzeW5jIHdpdGggY29ubmVjdCgKKyAgICAg
ICAgc2VydmVyLmhvc3QsIHNlcnZlci5wb3J0LCBjb25maWd1cmF0aW9uPWNvbmZpZ3VyYXRpb24K
KyAgICApIGFzIHByb3RvY29sOgorICAgICAgICAjIGNhdXNlIHNvbWUgdHJhZmZpYworICAgICAg
ICBhd2FpdCBwcm90b2NvbC5waW5nKCkKKworICAgICAgICAjIHJlcGxhY2UgdHJhbnNwb3J0Cisg
ICAgICAgIHByb3RvY29sLl90cmFuc3BvcnQuY2xvc2UoKQorICAgICAgICBhd2FpdCBsb29wLmNy
ZWF0ZV9kYXRhZ3JhbV9lbmRwb2ludChsYW1iZGE6IHByb3RvY29sLCBsb2NhbF9hZGRyPSgiOjoi
LCAwKSkKKworICAgICAgICAjIGNhdXNlIG1vcmUgdHJhZmZpYworICAgICAgICBhd2FpdCBwcm90
b2NvbC5waW5nKCkKKworICAgICAgICBzZXJ2ZXIucmVzdWx0IHw9IFJlc3VsdC5CCisKKworYXN5
bmMgZGVmIHRlc3Rfc3Bpbl9iaXQoc2VydmVyOiBTZXJ2ZXIsIGNvbmZpZ3VyYXRpb246IFF1aWND
b25maWd1cmF0aW9uKToKKyAgICBhc3luYyB3aXRoIGNvbm5lY3QoCisgICAgICAgIHNlcnZlci5o
b3N0LCBzZXJ2ZXIucG9ydCwgY29uZmlndXJhdGlvbj1jb25maWd1cmF0aW9uCisgICAgKSBhcyBw
cm90b2NvbDoKKyAgICAgICAgZm9yIGkgaW4gcmFuZ2UoNSk6CisgICAgICAgICAgICBhd2FpdCBw
cm90b2NvbC5waW5nKCkKKworICAgICAgICAjIGNoZWNrIGxvZworICAgICAgICBzcGluX2JpdHMg
PSBzZXQoKQorICAgICAgICBmb3Igc3RhbXAsIGNhdGVnb3J5LCBldmVudCwgZGF0YSBpbiBjb25m
aWd1cmF0aW9uLnF1aWNfbG9nZ2VyLnRvX2RpY3QoKVsKKyAgICAgICAgICAgICJ0cmFjZXMiCisg
ICAgICAgIF1bMF1bImV2ZW50cyJdOgorICAgICAgICAgICAgaWYgY2F0ZWdvcnkgPT0gImNvbm5l
Y3Rpdml0eSIgYW5kIGV2ZW50ID09ICJzcGluX2JpdF91cGRhdGVkIjoKKyAgICAgICAgICAgICAg
ICBzcGluX2JpdHMuYWRkKGRhdGFbInN0YXRlIl0pCisgICAgICAgIGlmIGxlbihzcGluX2JpdHMp
ID09IDI6CisgICAgICAgICAgICBzZXJ2ZXIucmVzdWx0IHw9IFJlc3VsdC5QCisKKworYXN5bmMg
ZGVmIHRlc3RfdGhyb3VnaHB1dChzZXJ2ZXI6IFNlcnZlciwgY29uZmlndXJhdGlvbjogUXVpY0Nv
bmZpZ3VyYXRpb24pOgorICAgIGZhaWx1cmVzID0gMAorCisgICAgZm9yIHNpemUgaW4gWzUwMDAw
MDAsIDEwMDAwMDAwXToKKyAgICAgICAgcHJpbnQoIlRlc3RpbmcgJWQgYnl0ZXMgZG93bmxvYWQi
ICUgc2l6ZSkKKyAgICAgICAgcGF0aCA9ICIvJWQlcyIgJSAoc2l6ZSwgc2VydmVyLnRocm91Z2hw
dXRfZmlsZV9zdWZmaXgpCisKKyAgICAgICAgIyBwZXJmb3JtIEhUVFAgcmVxdWVzdCBvdmVyIFRD
UAorICAgICAgICBzdGFydCA9IHRpbWUudGltZSgpCisgICAgICAgIHJlc3BvbnNlID0gcmVxdWVz
dHMuZ2V0KCJodHRwczovLyIgKyBzZXJ2ZXIuaG9zdCArIHBhdGgsIHZlcmlmeT1GYWxzZSkKKyAg
ICAgICAgdGNwX29jdGV0cyA9IGxlbihyZXNwb25zZS5jb250ZW50KQorICAgICAgICB0Y3BfZWxh
cHNlZCA9IHRpbWUudGltZSgpIC0gc3RhcnQKKyAgICAgICAgYXNzZXJ0IHRjcF9vY3RldHMgPT0g
c2l6ZSwgIkhUVFAvVENQIHJlc3BvbnNlIHNpemUgbWlzbWF0Y2giCisKKyAgICAgICAgIyBwZXJm
b3JtIEhUVFAgcmVxdWVzdCBvdmVyIFFVSUMKKyAgICAgICAgaWYgc2VydmVyLmh0dHAzOgorICAg
ICAgICAgICAgY29uZmlndXJhdGlvbi5hbHBuX3Byb3RvY29scyA9IEgzX0FMUE4KKyAgICAgICAg
ZWxzZToKKyAgICAgICAgICAgIGNvbmZpZ3VyYXRpb24uYWxwbl9wcm90b2NvbHMgPSBIMF9BTFBO
CisgICAgICAgIHN0YXJ0ID0gdGltZS50aW1lKCkKKyAgICAgICAgYXN5bmMgd2l0aCBjb25uZWN0
KAorICAgICAgICAgICAgc2VydmVyLmhvc3QsCisgICAgICAgICAgICBzZXJ2ZXIucG9ydCwKKyAg
ICAgICAgICAgIGNvbmZpZ3VyYXRpb249Y29uZmlndXJhdGlvbiwKKyAgICAgICAgICAgIGNyZWF0
ZV9wcm90b2NvbD1IdHRwQ2xpZW50LAorICAgICAgICApIGFzIHByb3RvY29sOgorICAgICAgICAg
ICAgcHJvdG9jb2wgPSBjYXN0KEh0dHBDbGllbnQsIHByb3RvY29sKQorCisgICAgICAgICAgICBo
dHRwX2V2ZW50cyA9IGF3YWl0IHByb3RvY29sLmdldCgKKyAgICAgICAgICAgICAgICAiaHR0cHM6
Ly97fTp7fXt9Ii5mb3JtYXQoc2VydmVyLmhvc3QsIHNlcnZlci5wb3J0LCBwYXRoKQorICAgICAg
ICAgICAgKQorICAgICAgICAgICAgcXVpY19lbGFwc2VkID0gdGltZS50aW1lKCkgLSBzdGFydAor
ICAgICAgICAgICAgcXVpY19vY3RldHMgPSAwCisgICAgICAgICAgICBmb3IgaHR0cF9ldmVudCBp
biBodHRwX2V2ZW50czoKKyAgICAgICAgICAgICAgICBpZiBpc2luc3RhbmNlKGh0dHBfZXZlbnQs
IERhdGFSZWNlaXZlZCk6CisgICAgICAgICAgICAgICAgICAgIHF1aWNfb2N0ZXRzICs9IGxlbiho
dHRwX2V2ZW50LmRhdGEpCisgICAgICAgIGFzc2VydCBxdWljX29jdGV0cyA9PSBzaXplLCAiSFRU
UC9RVUlDIHJlc3BvbnNlIHNpemUgbWlzbWF0Y2giCisKKyAgICAgICAgcHJpbnQoIiAtIEhUVFAv
VENQICBjb21wbGV0ZWQgaW4gJS4zZiBzIiAlIHRjcF9lbGFwc2VkKQorICAgICAgICBwcmludCgi
IC0gSFRUUC9RVUlDIGNvbXBsZXRlZCBpbiAlLjNmIHMiICUgcXVpY19lbGFwc2VkKQorCisgICAg
ICAgIGlmIHF1aWNfZWxhcHNlZCA+IDEuMSAqIHRjcF9lbGFwc2VkOgorICAgICAgICAgICAgZmFp
bHVyZXMgKz0gMQorICAgICAgICAgICAgcHJpbnQoIiA9PiBGQUlMIikKKyAgICAgICAgZWxzZToK
KyAgICAgICAgICAgIHByaW50KCIgPT4gUEFTUyIpCisKKyAgICBpZiBmYWlsdXJlcyA9PSAwOgor
ICAgICAgICBzZXJ2ZXIucmVzdWx0IHw9IFJlc3VsdC5UCisKKworZGVmIHByaW50X3Jlc3VsdChz
ZXJ2ZXI6IFNlcnZlcikgLT4gTm9uZToKKyAgICByZXN1bHQgPSBzdHIoc2VydmVyLnJlc3VsdCku
cmVwbGFjZSgidGhyZWUiLCAiMyIpCisgICAgcmVzdWx0ID0gcmVzdWx0WzA6OF0gKyAiICIgKyBy
ZXN1bHRbODoxNl0gKyAiICIgKyByZXN1bHRbMTY6XQorICAgIHByaW50KCIlcyVzJXMiICUgKHNl
cnZlci5uYW1lLCAiICIgKiAoMjAgLSBsZW4oc2VydmVyLm5hbWUpKSwgcmVzdWx0KSkKKworCith
c3luYyBkZWYgcnVuKHNlcnZlcnMsIHRlc3RzLCBxdWljX2xvZz1GYWxzZSwgc2VjcmV0c19sb2df
ZmlsZT1Ob25lKSAtPiBOb25lOgorICAgIGZvciBzZXJ2ZXIgaW4gc2VydmVyczoKKyAgICAgICAg
aWYgc2VydmVyLnN0cnVjdHVyZWRfbG9nZ2luZzoKKyAgICAgICAgICAgIHNlcnZlci5yZXN1bHQg
fD0gUmVzdWx0LkwKKyAgICAgICAgZm9yIHRlc3RfbmFtZSwgdGVzdF9mdW5jIGluIHRlc3RzOgor
ICAgICAgICAgICAgcHJpbnQoIlxuPT09ICVzICVzID09PVxuIiAlIChzZXJ2ZXIubmFtZSwgdGVz
dF9uYW1lKSkKKyAgICAgICAgICAgIGNvbmZpZ3VyYXRpb24gPSBRdWljQ29uZmlndXJhdGlvbigK
KyAgICAgICAgICAgICAgICBhbHBuX3Byb3RvY29scz1IM19BTFBOICsgSDBfQUxQTiwKKyAgICAg
ICAgICAgICAgICBpc19jbGllbnQ9VHJ1ZSwKKyAgICAgICAgICAgICAgICBxdWljX2xvZ2dlcj1R
dWljTG9nZ2VyKCksCisgICAgICAgICAgICAgICAgc2VjcmV0c19sb2dfZmlsZT1zZWNyZXRzX2xv
Z19maWxlLAorICAgICAgICAgICAgICAgIHZlcmlmeV9tb2RlPXNlcnZlci52ZXJpZnlfbW9kZSwK
KyAgICAgICAgICAgICkKKyAgICAgICAgICAgIGlmIHRlc3RfbmFtZSA9PSAidGVzdF90aHJvdWdo
cHV0IjoKKyAgICAgICAgICAgICAgICB0aW1lb3V0ID0gNjAKKyAgICAgICAgICAgIGVsc2U6Cisg
ICAgICAgICAgICAgICAgdGltZW91dCA9IDEwCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAg
ICAgICAgYXdhaXQgYXN5bmNpby53YWl0X2ZvcigKKyAgICAgICAgICAgICAgICAgICAgdGVzdF9m
dW5jKHNlcnZlciwgY29uZmlndXJhdGlvbiksIHRpbWVvdXQ9dGltZW91dAorICAgICAgICAgICAg
ICAgICkKKyAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZXhjOgorICAgICAgICAgICAg
ICAgIHByaW50KGV4YykKKworICAgICAgICAgICAgaWYgcXVpY19sb2c6CisgICAgICAgICAgICAg
ICAgd2l0aCBvcGVuKCIlcy0lcy5xbG9nIiAlIChzZXJ2ZXIubmFtZSwgdGVzdF9uYW1lKSwgInci
KSBhcyBsb2dnZXJfZnA6CisgICAgICAgICAgICAgICAgICAgIGpzb24uZHVtcChjb25maWd1cmF0
aW9uLnF1aWNfbG9nZ2VyLnRvX2RpY3QoKSwgbG9nZ2VyX2ZwLCBpbmRlbnQ9NCkKKworICAgICAg
ICBwcmludCgiIikKKyAgICAgICAgcHJpbnRfcmVzdWx0KHNlcnZlcikKKworICAgICMgcHJpbnQg
c3VtbWFyeQorICAgIGlmIGxlbihzZXJ2ZXJzKSA+IDE6CisgICAgICAgIHByaW50KCJTVU1NQVJZ
IikKKyAgICAgICAgZm9yIHNlcnZlciBpbiBzZXJ2ZXJzOgorICAgICAgICAgICAgcHJpbnRfcmVz
dWx0KHNlcnZlcikKKworCitpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgorICAgIHBhcnNlciA9
IGFyZ3BhcnNlLkFyZ3VtZW50UGFyc2VyKGRlc2NyaXB0aW9uPSJRVUlDIGludGVyb3AgY2xpZW50
IikKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KAorICAgICAgICAiLXEiLAorICAgICAgICAiLS1x
dWljLWxvZyIsCisgICAgICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCisgICAgICAgIGhlbHA9Imxv
ZyBRVUlDIGV2ZW50cyB0byBhIGZpbGUgaW4gUUxPRyBmb3JtYXQiLAorICAgICkKKyAgICBwYXJz
ZXIuYWRkX2FyZ3VtZW50KAorICAgICAgICAiLS1zZXJ2ZXIiLCB0eXBlPXN0ciwgaGVscD0ib25s
eSBydW4gYWdhaW5zdCB0aGUgc3BlY2lmaWVkIHNlcnZlci4iCisgICAgKQorICAgIHBhcnNlci5h
ZGRfYXJndW1lbnQoIi0tdGVzdCIsIHR5cGU9c3RyLCBoZWxwPSJvbmx5IHJ1biB0aGUgc3BlY2lm
ZWQgdGVzdC4iKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoCisgICAgICAgICItbCIsCisgICAg
ICAgICItLXNlY3JldHMtbG9nIiwKKyAgICAgICAgdHlwZT1zdHIsCisgICAgICAgIGhlbHA9Imxv
ZyBzZWNyZXRzIHRvIGEgZmlsZSwgZm9yIHVzZSB3aXRoIFdpcmVzaGFyayIsCisgICAgKQorICAg
IHBhcnNlci5hZGRfYXJndW1lbnQoCisgICAgICAgICItdiIsICItLXZlcmJvc2UiLCBhY3Rpb249
InN0b3JlX3RydWUiLCBoZWxwPSJpbmNyZWFzZSBsb2dnaW5nIHZlcmJvc2l0eSIKKyAgICApCisK
KyAgICBhcmdzID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQorCisgICAgbG9nZ2luZy5iYXNpY0NvbmZp
ZygKKyAgICAgICAgZm9ybWF0PSIlKGFzY3RpbWUpcyAlKGxldmVsbmFtZSlzICUobmFtZSlzICUo
bWVzc2FnZSlzIiwKKyAgICAgICAgbGV2ZWw9bG9nZ2luZy5ERUJVRyBpZiBhcmdzLnZlcmJvc2Ug
ZWxzZSBsb2dnaW5nLklORk8sCisgICAgKQorCisgICAgIyBvcGVuIFNTTCBsb2cgZmlsZQorICAg
IGlmIGFyZ3Muc2VjcmV0c19sb2c6CisgICAgICAgIHNlY3JldHNfbG9nX2ZpbGUgPSBvcGVuKGFy
Z3Muc2VjcmV0c19sb2csICJhIikKKyAgICBlbHNlOgorICAgICAgICBzZWNyZXRzX2xvZ19maWxl
ID0gTm9uZQorCisgICAgIyBkZXRlcm1pbmUgd2hhdCB0byBydW4KKyAgICBzZXJ2ZXJzID0gU0VS
VkVSUworICAgIHRlc3RzID0gbGlzdChmaWx0ZXIobGFtYmRhIHg6IHhbMF0uc3RhcnRzd2l0aCgi
dGVzdF8iKSwgZ2xvYmFscygpLml0ZW1zKCkpKQorICAgIGlmIGFyZ3Muc2VydmVyOgorICAgICAg
ICBzZXJ2ZXJzID0gbGlzdChmaWx0ZXIobGFtYmRhIHg6IHgubmFtZSA9PSBhcmdzLnNlcnZlciwg
c2VydmVycykpCisgICAgaWYgYXJncy50ZXN0OgorICAgICAgICB0ZXN0cyA9IGxpc3QoZmlsdGVy
KGxhbWJkYSB4OiB4WzBdID09IGFyZ3MudGVzdCwgdGVzdHMpKQorCisgICAgIyBkaXNhYmxlIHJl
cXVlc3RzIFNTTCB3YXJuaW5ncworICAgIHVybGxpYjMuZGlzYWJsZV93YXJuaW5ncyh1cmxsaWIz
LmV4Y2VwdGlvbnMuSW5zZWN1cmVSZXF1ZXN0V2FybmluZykKKworICAgIGxvb3AgPSBhc3luY2lv
LmdldF9ldmVudF9sb29wKCkKKyAgICBsb29wLnJ1bl91bnRpbF9jb21wbGV0ZSgKKyAgICAgICAg
cnVuKAorICAgICAgICAgICAgc2VydmVycz1zZXJ2ZXJzLAorICAgICAgICAgICAgdGVzdHM9dGVz
dHMsCisgICAgICAgICAgICBxdWljX2xvZz1hcmdzLnF1aWNfbG9nLAorICAgICAgICAgICAgc2Vj
cmV0c19sb2dfZmlsZT1zZWNyZXRzX2xvZ19maWxlLAorICAgICAgICApCisgICAgKQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90
aGlyZF9wYXJ0eS9haW9xdWljL2V4YW1wbGVzL3NpZHVja19jbGllbnQucHkgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1
aWMvZXhhbXBsZXMvc2lkdWNrX2NsaWVudC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xYjZhNWI3NmUwZTcwMTgy
ODI2N2MzMzNmMzM4NDc2ZDViMGU3MjJhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWlj
L2V4YW1wbGVzL3NpZHVja19jbGllbnQucHkKQEAgLTAsMCArMSwxMDAgQEAKK2ltcG9ydCBhcmdw
YXJzZQoraW1wb3J0IGFzeW5jaW8KK2ltcG9ydCBqc29uCitpbXBvcnQgbG9nZ2luZworaW1wb3J0
IHNzbAorZnJvbSB0eXBpbmcgaW1wb3J0IE9wdGlvbmFsLCBjYXN0CisKK2Zyb20gYWlvcXVpYy5h
c3luY2lvLmNsaWVudCBpbXBvcnQgY29ubmVjdAorZnJvbSBhaW9xdWljLmFzeW5jaW8ucHJvdG9j
b2wgaW1wb3J0IFF1aWNDb25uZWN0aW9uUHJvdG9jb2wKK2Zyb20gYWlvcXVpYy5xdWljLmNvbmZp
Z3VyYXRpb24gaW1wb3J0IFF1aWNDb25maWd1cmF0aW9uCitmcm9tIGFpb3F1aWMucXVpYy5ldmVu
dHMgaW1wb3J0IERhdGFncmFtRnJhbWVSZWNlaXZlZCwgUXVpY0V2ZW50Citmcm9tIGFpb3F1aWMu
cXVpYy5sb2dnZXIgaW1wb3J0IFF1aWNMb2dnZXIKKworbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dn
ZXIoImNsaWVudCIpCisKKworY2xhc3MgU2lkdWNrQ2xpZW50KFF1aWNDb25uZWN0aW9uUHJvdG9j
b2wpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICBz
dXBlcigpLl9faW5pdF9fKCphcmdzLCAqKmt3YXJncykKKyAgICAgICAgc2VsZi5fYWNrX3dhaXRl
cjogT3B0aW9uYWxbYXN5bmNpby5GdXR1cmVbTm9uZV1dID0gTm9uZQorCisgICAgYXN5bmMgZGVm
IHF1YWNrKHNlbGYpIC0+IE5vbmU6CisgICAgICAgIGFzc2VydCBzZWxmLl9hY2tfd2FpdGVyIGlz
IE5vbmUsICJPbmx5IG9uZSBxdWFjayBhdCBhIHRpbWUuIgorICAgICAgICBzZWxmLl9xdWljLnNl
bmRfZGF0YWdyYW1fZnJhbWUoYiJxdWFjayIpCisKKyAgICAgICAgd2FpdGVyID0gc2VsZi5fbG9v
cC5jcmVhdGVfZnV0dXJlKCkKKyAgICAgICAgc2VsZi5fYWNrX3dhaXRlciA9IHdhaXRlcgorICAg
ICAgICBzZWxmLnRyYW5zbWl0KCkKKworICAgICAgICByZXR1cm4gYXdhaXQgYXN5bmNpby5zaGll
bGQod2FpdGVyKQorCisgICAgZGVmIHF1aWNfZXZlbnRfcmVjZWl2ZWQoc2VsZiwgZXZlbnQ6IFF1
aWNFdmVudCkgLT4gTm9uZToKKyAgICAgICAgaWYgc2VsZi5fYWNrX3dhaXRlciBpcyBub3QgTm9u
ZToKKyAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UoZXZlbnQsIERhdGFncmFtRnJhbWVSZWNlaXZl
ZCkgYW5kIGV2ZW50LmRhdGEgPT0gYiJxdWFjay1hY2siOgorICAgICAgICAgICAgICAgIHdhaXRl
ciA9IHNlbGYuX2Fja193YWl0ZXIKKyAgICAgICAgICAgICAgICBzZWxmLl9hY2tfd2FpdGVyID0g
Tm9uZQorICAgICAgICAgICAgICAgIHdhaXRlci5zZXRfcmVzdWx0KE5vbmUpCisKKworYXN5bmMg
ZGVmIHJ1bihjb25maWd1cmF0aW9uOiBRdWljQ29uZmlndXJhdGlvbiwgaG9zdDogc3RyLCBwb3J0
OiBpbnQpIC0+IE5vbmU6CisgICAgYXN5bmMgd2l0aCBjb25uZWN0KAorICAgICAgICBob3N0LCBw
b3J0LCBjb25maWd1cmF0aW9uPWNvbmZpZ3VyYXRpb24sIGNyZWF0ZV9wcm90b2NvbD1TaWR1Y2tD
bGllbnQKKyAgICApIGFzIGNsaWVudDoKKyAgICAgICAgY2xpZW50ID0gY2FzdChTaWR1Y2tDbGll
bnQsIGNsaWVudCkKKyAgICAgICAgbG9nZ2VyLmluZm8oInNlbmRpbmcgcXVhY2siKQorICAgICAg
ICBhd2FpdCBjbGllbnQucXVhY2soKQorICAgICAgICBsb2dnZXIuaW5mbygicmVjZWl2ZWQgcXVh
Y2stYWNrIikKKworCitpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgorICAgIHBhcnNlciA9IGFy
Z3BhcnNlLkFyZ3VtZW50UGFyc2VyKGRlc2NyaXB0aW9uPSJTaURVQ0sgY2xpZW50IikKKyAgICBw
YXJzZXIuYWRkX2FyZ3VtZW50KAorICAgICAgICAiaG9zdCIsIHR5cGU9c3RyLCBoZWxwPSJUaGUg
cmVtb3RlIHBlZXIncyBob3N0IG5hbWUgb3IgSVAgYWRkcmVzcyIKKyAgICApCisgICAgcGFyc2Vy
LmFkZF9hcmd1bWVudCgicG9ydCIsIHR5cGU9aW50LCBoZWxwPSJUaGUgcmVtb3RlIHBlZXIncyBw
b3J0IG51bWJlciIpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgKKyAgICAgICAgIi1rIiwKKyAg
ICAgICAgIi0taW5zZWN1cmUiLAorICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiLAorICAgICAg
ICBoZWxwPSJkbyBub3QgdmFsaWRhdGUgc2VydmVyIGNlcnRpZmljYXRlIiwKKyAgICApCisgICAg
cGFyc2VyLmFkZF9hcmd1bWVudCgKKyAgICAgICAgIi1xIiwgIi0tcXVpYy1sb2ciLCB0eXBlPXN0
ciwgaGVscD0ibG9nIFFVSUMgZXZlbnRzIHRvIGEgZmlsZSBpbiBRTE9HIGZvcm1hdCIKKyAgICAp
CisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgKKyAgICAgICAgIi1sIiwKKyAgICAgICAgIi0tc2Vj
cmV0cy1sb2ciLAorICAgICAgICB0eXBlPXN0ciwKKyAgICAgICAgaGVscD0ibG9nIHNlY3JldHMg
dG8gYSBmaWxlLCBmb3IgdXNlIHdpdGggV2lyZXNoYXJrIiwKKyAgICApCisgICAgcGFyc2VyLmFk
ZF9hcmd1bWVudCgKKyAgICAgICAgIi12IiwgIi0tdmVyYm9zZSIsIGFjdGlvbj0ic3RvcmVfdHJ1
ZSIsIGhlbHA9ImluY3JlYXNlIGxvZ2dpbmcgdmVyYm9zaXR5IgorICAgICkKKworICAgIGFyZ3Mg
PSBwYXJzZXIucGFyc2VfYXJncygpCisKKyAgICBsb2dnaW5nLmJhc2ljQ29uZmlnKAorICAgICAg
ICBmb3JtYXQ9IiUoYXNjdGltZSlzICUobGV2ZWxuYW1lKXMgJShuYW1lKXMgJShtZXNzYWdlKXMi
LAorICAgICAgICBsZXZlbD1sb2dnaW5nLkRFQlVHIGlmIGFyZ3MudmVyYm9zZSBlbHNlIGxvZ2dp
bmcuSU5GTywKKyAgICApCisKKyAgICBjb25maWd1cmF0aW9uID0gUXVpY0NvbmZpZ3VyYXRpb24o
CisgICAgICAgIGFscG5fcHJvdG9jb2xzPVsic2lkdWNrIl0sIGlzX2NsaWVudD1UcnVlLCBtYXhf
ZGF0YWdyYW1fZnJhbWVfc2l6ZT02NTUzNgorICAgICkKKyAgICBpZiBhcmdzLmluc2VjdXJlOgor
ICAgICAgICBjb25maWd1cmF0aW9uLnZlcmlmeV9tb2RlID0gc3NsLkNFUlRfTk9ORQorICAgIGlm
IGFyZ3MucXVpY19sb2c6CisgICAgICAgIGNvbmZpZ3VyYXRpb24ucXVpY19sb2dnZXIgPSBRdWlj
TG9nZ2VyKCkKKyAgICBpZiBhcmdzLnNlY3JldHNfbG9nOgorICAgICAgICBjb25maWd1cmF0aW9u
LnNlY3JldHNfbG9nX2ZpbGUgPSBvcGVuKGFyZ3Muc2VjcmV0c19sb2csICJhIikKKworICAgIGxv
b3AgPSBhc3luY2lvLmdldF9ldmVudF9sb29wKCkKKyAgICB0cnk6CisgICAgICAgIGxvb3AucnVu
X3VudGlsX2NvbXBsZXRlKAorICAgICAgICAgICAgcnVuKGNvbmZpZ3VyYXRpb249Y29uZmlndXJh
dGlvbiwgaG9zdD1hcmdzLmhvc3QsIHBvcnQ9YXJncy5wb3J0KQorICAgICAgICApCisgICAgZmlu
YWxseToKKyAgICAgICAgaWYgY29uZmlndXJhdGlvbi5xdWljX2xvZ2dlciBpcyBub3QgTm9uZToK
KyAgICAgICAgICAgIHdpdGggb3BlbihhcmdzLnF1aWNfbG9nLCAidyIpIGFzIGxvZ2dlcl9mcDoK
KyAgICAgICAgICAgICAgICBqc29uLmR1bXAoY29uZmlndXJhdGlvbi5xdWljX2xvZ2dlci50b19k
aWN0KCksIGxvZ2dlcl9mcCwgaW5kZW50PTQpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvZXhh
bXBsZXMvdGVtcGxhdGVzL2luZGV4Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvZXhhbXBsZXMvdGVtcGxh
dGVzL2luZGV4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDA4NTQ4N2U4NDA4MTAzNzY1MzRiYzQyOGQ1MTAy
YjRlZThhNjJlOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9leGFtcGxlcy90ZW1w
bGF0ZXMvaW5kZXguaHRtbApAQCAtMCwwICsxLDMxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIvPgorICAgICAgICA8
dGl0bGU+YWlvcXVpYzwvdGl0bGU+CisgICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iL3N0eWxlLmNzcyIvPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGgxPldl
bGNvbWUgdG8gYWlvcXVpYzwvaDE+CisgICAgICAgIDxwPgorICAgICAgICAgICAgVGhpcyBpcyBh
IHRlc3QgcGFnZSBmb3IgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2Fpb3J0Yy9haW9xdWlj
LyI+YWlvcXVpYzwvYT4sCisgICAgICAgICAgICBhIFFVSUMgYW5kIEhUVFAvMyBpbXBsZW1lbnRh
dGlvbiB3cml0dGVuIGluIFB5dGhvbi4KKyAgICAgICAgPC9wPgoreyUgaWYgcmVxdWVzdC5zY29w
ZVsiaHR0cF92ZXJzaW9uIl0gPT0gIjMiICV9CisgICAgICAgIDxwPgorICAgICAgICAgICAgQ29u
Z3JhdHVsYXRpb25zLCB5b3UgbG9hZGVkIHRoaXMgcGFnZSB1c2luZyBIVFRQLzMhCisgICAgICAg
IDwvcD4KK3slIGVuZGlmICV9CisgICAgICAgIDxoMj5BdmFpbGFibGUgZW5kcG9pbnRzPC9oMj4K
KyAgICAgICAgPHVsPgorICAgICAgICAgICAgPGxpPjxzdHJvbmc+R0VUIC88L3N0cm9uZz4gcmV0
dXJucyB0aGUgaG9tZXBhZ2U8L2xpPgorICAgICAgICAgICAgPGxpPjxzdHJvbmc+R0VUIC9OTk5O
Tjwvc3Ryb25nPiByZXR1cm5zIE5OTk5OIGJ5dGVzIG9mIHBsYWluIHRleHQ8L2xpPgorICAgICAg
ICAgICAgPGxpPjxzdHJvbmc+UE9TVCAvZWNobzwvc3Ryb25nPiByZXR1cm5zIHRoZSByZXF1ZXN0
IGRhdGE8L2xpPgorICAgICAgICAgICAgPGxpPgorICAgICAgICAgICAgICAgIDxzdHJvbmc+Q09O
TkVDVCAvd3M8L3N0cm9uZz4gcnVucyBhIFdlYlNvY2tldCBlY2hvIHNlcnZpY2UuCisgICAgICAg
ICAgICAgICAgWW91IG11c3Qgc2V0IHRoZSA8ZW0+OnByb3RvY29sPC9lbT4gcHNldWRvLWhlYWRl
ciB0byA8ZW0+IndlYnNvY2tldCI8L2VtPi4KKyAgICAgICAgICAgIDwvbGk+CisgICAgICAgICAg
ICA8bGk+VGhlcmUgaXMgYWxzbyBhbiA8YSBocmVmPSIvaHR0cGJpbi8iPmh0dHBiaW4gaW5zdGFu
Y2U8L2E+LjwvbGk+CisgICAgICAgIDwvdWw+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90
aGlyZF9wYXJ0eS9haW9xdWljL2V4YW1wbGVzL3RlbXBsYXRlcy9sb2dzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fp
b3F1aWMvZXhhbXBsZXMvdGVtcGxhdGVzL2xvZ3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MDk5ZjY3ZGNh
MjJjNTdmYmM5MWQ4ZDE5YTBkNmE4OGYzYzFiOWY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9h
aW9xdWljL2V4YW1wbGVzL3RlbXBsYXRlcy9sb2dzLmh0bWwKQEAgLTAsMCArMSwyOCBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgY2hhcnNldD0i
dXRmLTgiLz4KKyAgICAgICAgPHRpdGxlPmFpb3F1aWMgLSBsb2dzPC90aXRsZT4KKyAgICAgICAg
PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvc3R5bGUuY3NzIi8+CisgICAgPC9oZWFkPgor
ICAgIDxib2R5PgorICAgICAgICA8aDE+UUxPRyBmaWxlczwvaDE+CisgICAgICAgIDx0YWJsZSBj
bGFzcz0ibG9ncyI+CisgICAgICAgIDx0cj4KKyAgICAgICAgICAgIDx0aD5uYW1lPC90aD4KKyAg
ICAgICAgICAgIDx0aD5kYXRlIChVVEMpPC90aD4KKyAgICAgICAgICAgIDx0aD5zaXplPC90aD4K
KyAgICAgICAgPC90cj4KK3slIGZvciBsb2cgaW4gbG9ncyAlfQorICAgICAgICA8dHI+CisgICAg
ICAgICAgICA8dGQgY2xhc3M9Im5hbWUiPgorICAgICAgICAgICAgICAgIDxhIGhyZWY9Int7IGxv
Zy5maWxlX3VybCB9fSI+e3sgbG9nLm5hbWUgfX08L2E+CisgICAgICAgICAgICAgICAgPGEgaHJl
Zj0ie3sgbG9nLnF2aXNfdXJsIH19Ij5bcXZpc108L2E+CisgICAgICAgICAgICA8L3RkPgorICAg
ICAgICAgICAgPHRkIGNsYXNzPSJkYXRlIj57eyBsb2cuZGF0ZSB9fTwvdGQ+CisgICAgICAgICAg
ICA8dGQgY2xhc3M9InNpemUiPnt7IGxvZy5zaXplIH19PC90ZD4KKyAgICAgICAgPC90cj4KK3sl
IGVuZGZvciAlfQorICAgICAgICA8L3RhYmxlPgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
dGhpcmRfcGFydHkvYWlvcXVpYy9leGFtcGxlcy90ZW1wbGF0ZXMvdzNjLWltcG9ydC5sb2cgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3Bh
cnR5L2Fpb3F1aWMvZXhhbXBsZXMvdGVtcGxhdGVzL3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmM2YmI5ZDM2NGQ3Y2RjMDJmMjY0M2UzZDdiZGQ3NDgyMWJmNDQ2ODMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3Ro
aXJkX3BhcnR5L2Fpb3F1aWMvZXhhbXBsZXMvdGVtcGxhdGVzL3czYy1pbXBvcnQubG9nCkBAIC0w
LDAgKzEsMTggQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZy
b20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3Rs
eSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBn
aXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKKworVGhl
biBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVp
bXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3Bl
cnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9leGFtcGxlcy90ZW1wbGF0ZXMvaW5k
ZXguaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvdGhpcmRfcGFydHkvYWlvcXVpYy9leGFtcGxlcy90ZW1wbGF0ZXMvbG9ncy5odG1sCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3RoaXJkX3BhcnR5L2Fpb3F1aWMvZXhhbXBsZXMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1
aWMvZXhhbXBsZXMvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjhmMjIwNGFkNDFlNDhmZjFk
ZjRiNWI0NzMxNjFkZGU2ZTgyN2ZjYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9l
eGFtcGxlcy93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDIyIEBACitUaGUgdGVzdHMgaW4gdGhp
cyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5P
VCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRl
IGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93
ZWItcGxhdGZvcm0tdGVzdHMvd3B0CisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9y
dC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVt
b3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2
ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBw
cmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fp
b3F1aWMvZXhhbXBsZXMvZGVtby5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9leGFtcGxlcy9odHRwM19jbGll
bnQucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3RoaXJkX3BhcnR5L2Fpb3F1aWMvZXhhbXBsZXMvaHR0cDNfc2VydmVyLnB5CisvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9x
dWljL2V4YW1wbGVzL2h0dHB4X2NsaWVudC5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9leGFtcGxlcy9pbnRl
cm9wLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy90aGlyZF9wYXJ0eS9haW9xdWljL2V4YW1wbGVzL3NpZHVja19jbGllbnQucHkKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhp
cmRfcGFydHkvYWlvcXVpYy9yZXF1aXJlbWVudHMvZG9jLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9yZXF1
aXJlbWVudHMvZG9jLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YzMzYTM5Nzg3NGM2NTNjOTFhMjBhMGI5MjU2
NzNkNWM0OWM3Yjg5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3JlcXVpcmVtZW50
cy9kb2MudHh0CkBAIC0wLDAgKzEsMyBAQAorY3J5cHRvZ3JhcGh5CitzcGhpbnhfYXV0b2RvY190
eXBlaGludHMKK3NwaGlueGNvbnRyaWItYXN5bmNpbwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWlj
L3JlcXVpcmVtZW50cy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9yZXF1aXJlbWVudHMv
dzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWVlMjJlNzRiZDIxYTk0NjdjZjE2NmQ5NDA0YzYy
NjlhMDlkNWEwYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9yZXF1aXJlbWVudHMv
dzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwxNyBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0
b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5
IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwg
cmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRm
b3JtLXRlc3RzL3dwdAorCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRl
c3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlz
IGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHBy
ZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6
CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3Jl
cXVpcmVtZW50cy9kb2MudHh0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvc2NyaXB0cy9idWls
ZC1vcGVuc3NsIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3NjcmlwdHMvYnVpbGQtb3BlbnNzbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li45NGRlZDcyYzE3MjRiYjAwNDMyMzI4YzVlMjI5YmE3Mzc2MmM1ZTQwCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90
aGlyZF9wYXJ0eS9haW9xdWljL3NjcmlwdHMvYnVpbGQtb3BlbnNzbApAQCAtMCwwICsxLDI5IEBA
CisjIS9iaW4vc2gKKworc2V0IC1lCisKK2Rlc3RkaXI9JDEKK2NhY2hlZGlyPSQxLiRQWVRIT05f
QVJDSAorCitmb3IgZCBpbiBvcGVuc3NsICRkZXN0ZGlyOyBkbworICAgIGlmIFsgLWUgJGQgXTsg
dGhlbgorICAgICAgICBybSAtcmYgJGQKKyAgICBmaQorZG9uZQorCitpZiBbICEgLWUgJGNhY2hl
ZGlyIF07IHRoZW4KKyAgICAjIGJ1aWxkIG9wZW5zc2wKKyAgICBta2RpciBvcGVuc3NsCisgICAg
Y3VybCAtTCBodHRwczovL3d3dy5vcGVuc3NsLm9yZy9zb3VyY2Uvb3BlbnNzbC0xLjEuMWYudGFy
Lmd6IHwgdGFyIHh6IC1DIG9wZW5zc2wgLS1zdHJpcC1jb21wb25lbnRzIDEKKyAgICBjZCBvcGVu
c3NsCisKKyAgICAuL2NvbmZpZyBuby1jb21wIG5vLXNoYXJlZCBuby10ZXN0cworICAgIG1ha2UK
KworICAgIG1rZGlyICRjYWNoZWRpcgorICAgIG1rZGlyICRjYWNoZWRpci9saWIKKyAgICBjcCAt
UiBpbmNsdWRlICRjYWNoZWRpcgorICAgIGNwIGxpYmNyeXB0by5hIGxpYnNzbC5hICRjYWNoZWRp
ci9saWIKK2ZpCisKK2NwIC1SICRjYWNoZWRpciAkZGVzdGRpcgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9h
aW9xdWljL3NjcmlwdHMvYnVpbGQtb3BlbnNzbC5iYXQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvc2NyaXB0cy9i
dWlsZC1vcGVuc3NsLmJhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MTAwNzlkZGY4MzIwZjc1NGJkOTQyMjE1N2U2
NTQzOTQ2ZDYwMGU1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3NjcmlwdHMvYnVp
bGQtb3BlbnNzbC5iYXQKQEAgLTAsMCArMSwzOSBAQAorc2V0IGRlc3RkaXI9JTEKK3NldCBjYWNo
ZWRpcj0lMS4lUFlUSE9OX0FSQ0glCisKK2ZvciAlJWQgaW4gKG9wZW5zc2wgJWRlc3RkaXIlKSBk
byAoCisgICAgaWYgZXhpc3QgJSVkICgKKyAgICAgICAgcm1kaXIgL3MgL3EgJSVkCisgICAgKQor
KQorCitpZiAlUFlUSE9OX0FSQ0glID09IDY0ICgKKyAgIHNldCBPUEVOU1NMX0NPTkZJRz1WQy1X
SU42NEEKKyAgIHNldCBWQ19BUkNIPXg2NAorKSBlbHNlICgKKyAgIHNldCBPUEVOU1NMX0NPTkZJ
Rz1WQy1XSU4zMgorICAgc2V0IFZDX0FSQ0g9eDg2CispCisKK2NhbGwgIkM6XFByb2dyYW0gRmls
ZXMgKHg4NilcTWljcm9zb2Z0IFZpc3VhbCBTdHVkaW9cMjAxOVxFbnRlcnByaXNlXFZDXEF1eGls
aWFyeVxCdWlsZFx2Y3ZhcnNhbGwuYmF0IiAlVkNfQVJDSCUKK1NFVCBQQVRIPSVQQVRIJTtDOlxQ
cm9ncmFtIEZpbGVzXE5BU00KKworaWYgbm90IGV4aXN0ICVjYWNoZWRpciUgKAorICAgIG1rZGly
IG9wZW5zc2wKKyAgICBjdXJsIC1MIGh0dHBzOi8vd3d3Lm9wZW5zc2wub3JnL3NvdXJjZS9vcGVu
c3NsLTEuMS4xZi50YXIuZ3ogLW8gb3BlbnNzbC50YXIuZ3oKKyAgICB0YXIgeHpmIG9wZW5zc2wu
dGFyLmd6IC1DIG9wZW5zc2wgLS1zdHJpcC1jb21wb25lbnRzIDEKKyAgICBjZCBvcGVuc3NsCisK
KyAgICBwZXJsIENvbmZpZ3VyZSBuby1jb21wIG5vLXNoYXJlZCBuby10ZXN0cyAlT1BFTlNTTF9D
T05GSUclCisgICAgbm1ha2UKKworICAgIG1rZGlyICVjYWNoZWRpciUKKyAgICBta2RpciAlY2Fj
aGVkaXIlXGluY2x1ZGUKKyAgICBta2RpciAlY2FjaGVkaXIlXGxpYgorICAgIHhjb3B5IGluY2x1
ZGUgJWNhY2hlZGlyJVxpbmNsdWRlXCAvRQorICAgIGNvcHkgbGliY3J5cHRvLmxpYiAlY2FjaGVk
aXIlXGxpYlwKKyAgICBjb3B5IGxpYnNzbC5saWIgJWNhY2hlZGlyJVxsaWJcCispCisKK21rZGly
ICVkZXN0ZGlyJQoreGNvcHkgJWNhY2hlZGlyJSAlZGVzdGRpciUgL0UKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFy
dHkvYWlvcXVpYy9zY3JpcHRzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3NjcmlwdHMv
dzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTQ3ZjkzOWQ0MjhmNzEwNjk0MzQ3NTMzN2FiZDgy
ODBkZjBmMTk0ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9zY3JpcHRzL3czYy1p
bXBvcnQubG9nCkBAIC0wLDAgKzEsMTggQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3
ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVz
ZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVl
c3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10
ZXN0cy93cHQKKworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBp
biBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxl
LgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhl
czoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9u
ZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9zY3JpcHRz
L2J1aWxkLW9wZW5zc2wKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvc2NyaXB0cy9idWlsZC1vcGVuc3NsLmJhdApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3NldHVwLmNmZyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9zZXR1cC5j
ZmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODljMDI1YWQwZjczM2IzOGJiOTRmOGJiOGViMDQ3ODVkYTNiNGY0OQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9zZXR1cC5jZmcKQEAgLTAsMCArMSwyMSBA
QAorW2NvdmVyYWdlOnJ1bl0KK3NvdXJjZSA9IGFpb3F1aWMKKworW2ZsYWtlOF0KK2lnbm9yZT1F
MjAzLFc1MDMKK21heC1saW5lLWxlbmd0aD0xNTAKKworW2lzb3J0XQorZGVmYXVsdF9zZWN0aW9u
ID0gVEhJUkRQQVJUWQoraW5jbHVkZV90cmFpbGluZ19jb21tYSA9IFRydWUKK2tub3duX2ZpcnN0
X3BhcnR5ID0gYWlvcXVpYworbGluZV9sZW5ndGggPSA4OAorbXVsdGlfbGluZV9vdXRwdXQgPSAz
CisKK1tteXB5XQorZGlzYWxsb3dfdW50eXBlZF9jYWxscyA9IFRydWUKK2Rpc2FsbG93X3VudHlw
ZWRfZGVjb3JhdG9ycyA9IFRydWUKK2lnbm9yZV9taXNzaW5nX2ltcG9ydHMgPSBUcnVlCitzdHJp
Y3Rfb3B0aW9uYWwgPSBGYWxzZQord2Fybl9yZWR1bmRhbnRfY2FzdHMgPSBUcnVlCit3YXJuX3Vu
dXNlZF9pZ25vcmVzID0gVHJ1ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3NldHVwLnB5IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9w
YXJ0eS9haW9xdWljL3NldHVwLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE1YzVlYTNjNDQzZjBkMWJjZGJiZWYx
YTI5MmVkMDQ3NDRlYjk2YjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvc2V0dXAu
cHkKQEAgLTAsMCArMSw2OSBAQAoraW1wb3J0IG9zLnBhdGgKK2ltcG9ydCBzeXMKKworaW1wb3J0
IHNldHVwdG9vbHMKKworcm9vdF9kaXIgPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5kaXJuYW1l
KF9fZmlsZV9fKSkKKworYWJvdXQgPSB7fQorYWJvdXRfZmlsZSA9IG9zLnBhdGguam9pbihyb290
X2RpciwgInNyYyIsICJhaW9xdWljIiwgImFib3V0LnB5IikKK3dpdGggb3BlbihhYm91dF9maWxl
LCBlbmNvZGluZz0idXRmLTgiKSBhcyBmcDoKKyAgICBleGVjKGZwLnJlYWQoKSwgYWJvdXQpCisK
K3JlYWRtZV9maWxlID0gb3MucGF0aC5qb2luKHJvb3RfZGlyLCAiUkVBRE1FLnJzdCIpCit3aXRo
IG9wZW4ocmVhZG1lX2ZpbGUsIGVuY29kaW5nPSJ1dGYtOCIpIGFzIGY6CisgICAgbG9uZ19kZXNj
cmlwdGlvbiA9IGYucmVhZCgpCisKK2lmIHN5cy5wbGF0Zm9ybSA9PSAid2luMzIiOgorICAgIGV4
dHJhX2NvbXBpbGVfYXJncyA9IFtdCisgICAgbGlicmFyaWVzID0gWyJsaWJjcnlwdG8iLCAiYWR2
YXBpMzIiLCAiY3J5cHQzMiIsICJnZGkzMiIsICJ1c2VyMzIiLCAid3MyXzMyIl0KK2Vsc2U6Cisg
ICAgZXh0cmFfY29tcGlsZV9hcmdzID0gWyItc3RkPWM5OSJdCisgICAgbGlicmFyaWVzID0gWyJj
cnlwdG8iXQorCitzZXR1cHRvb2xzLnNldHVwKAorICAgIG5hbWU9YWJvdXRbIl9fdGl0bGVfXyJd
LAorICAgIHZlcnNpb249YWJvdXRbIl9fdmVyc2lvbl9fIl0sCisgICAgZGVzY3JpcHRpb249YWJv
dXRbIl9fc3VtbWFyeV9fIl0sCisgICAgbG9uZ19kZXNjcmlwdGlvbj1sb25nX2Rlc2NyaXB0aW9u
LAorICAgIHVybD1hYm91dFsiX191cmlfXyJdLAorICAgIGF1dGhvcj1hYm91dFsiX19hdXRob3Jf
XyJdLAorICAgIGF1dGhvcl9lbWFpbD1hYm91dFsiX19lbWFpbF9fIl0sCisgICAgbGljZW5zZT1h
Ym91dFsiX19saWNlbnNlX18iXSwKKyAgICBpbmNsdWRlX3BhY2thZ2VfZGF0YT1UcnVlLAorICAg
IGNsYXNzaWZpZXJzPVsKKyAgICAgICAgIkRldmVsb3BtZW50IFN0YXR1cyA6OiA0IC0gQmV0YSIs
CisgICAgICAgICJFbnZpcm9ubWVudCA6OiBXZWIgRW52aXJvbm1lbnQiLAorICAgICAgICAiSW50
ZW5kZWQgQXVkaWVuY2UgOjogRGV2ZWxvcGVycyIsCisgICAgICAgICJMaWNlbnNlIDo6IE9TSSBB
cHByb3ZlZCA6OiBCU0QgTGljZW5zZSIsCisgICAgICAgICJPcGVyYXRpbmcgU3lzdGVtIDo6IE9T
IEluZGVwZW5kZW50IiwKKyAgICAgICAgIlByb2dyYW1taW5nIExhbmd1YWdlIDo6IFB5dGhvbiIs
CisgICAgICAgICJQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBQeXRob24gOjogMyIsCisgICAgICAg
ICJQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBQeXRob24gOjogMy42IiwKKyAgICAgICAgIlByb2dy
YW1taW5nIExhbmd1YWdlIDo6IFB5dGhvbiA6OiAzLjciLAorICAgICAgICAiUHJvZ3JhbW1pbmcg
TGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDMuOCIsCisgICAgICAgICJUb3BpYyA6OiBJbnRlcm5ldCA6
OiBXV1cvSFRUUCIsCisgICAgXSwKKyAgICBleHRfbW9kdWxlcz1bCisgICAgICAgIHNldHVwdG9v
bHMuRXh0ZW5zaW9uKAorICAgICAgICAgICAgImFpb3F1aWMuX2J1ZmZlciIsCisgICAgICAgICAg
ICBleHRyYV9jb21waWxlX2FyZ3M9ZXh0cmFfY29tcGlsZV9hcmdzLAorICAgICAgICAgICAgc291
cmNlcz1bInNyYy9haW9xdWljL19idWZmZXIuYyJdLAorICAgICAgICApLAorICAgICAgICBzZXR1
cHRvb2xzLkV4dGVuc2lvbigKKyAgICAgICAgICAgICJhaW9xdWljLl9jcnlwdG8iLAorICAgICAg
ICAgICAgZXh0cmFfY29tcGlsZV9hcmdzPWV4dHJhX2NvbXBpbGVfYXJncywKKyAgICAgICAgICAg
IGxpYnJhcmllcz1saWJyYXJpZXMsCisgICAgICAgICAgICBzb3VyY2VzPVsic3JjL2Fpb3F1aWMv
X2NyeXB0by5jIl0sCisgICAgICAgICksCisgICAgXSwKKyAgICBwYWNrYWdlX2Rpcj17IiI6ICJz
cmMifSwKKyAgICBwYWNrYWdlX2RhdGE9eyJhaW9xdWljIjogWyJweS50eXBlZCIsICJfYnVmZmVy
LnB5aSIsICJfY3J5cHRvLnB5aSJdfSwKKyAgICBwYWNrYWdlcz1bImFpb3F1aWMiLCAiYWlvcXVp
Yy5hc3luY2lvIiwgImFpb3F1aWMuaDAiLCAiYWlvcXVpYy5oMyIsICJhaW9xdWljLnF1aWMiXSwK
KyAgICBpbnN0YWxsX3JlcXVpcmVzPVsKKyAgICAgICAgImNlcnRpZmkiLAorICAgICAgICAiY3J5
cHRvZ3JhcGh5ID49IDIuNSIsCisgICAgICAgICdkYXRhY2xhc3NlczsgcHl0aG9uX3ZlcnNpb24g
PCAiMy43IicsCisgICAgICAgICJweWxzcXBhY2sgPj0gMC4zLjMsIDwgMC40LjAiLAorICAgIF0s
CispCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvc3JjL2Fpb3F1aWMvX19pbml0X18ucHkgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3Bh
cnR5L2Fpb3F1aWMvc3JjL2Fpb3F1aWMvX19pbml0X18ucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDRhY2ViZWVm
ODNlYTQxODliZmFlNGNhOWYwODBkMjNkODc3YThiNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkv
YWlvcXVpYy9zcmMvYWlvcXVpYy9fX2luaXRfXy5weQpAQCAtMCwwICsxLDMgQEAKKyMgZmxha2U4
OiBub3FhCisKK2Zyb20gLmFib3V0IGltcG9ydCBfX3ZlcnNpb25fXwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0
eS9haW9xdWljL3NyYy9haW9xdWljL19idWZmZXIuYyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9zcmMvYWlvcXVp
Yy9fYnVmZmVyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWVmYzRkYjgxNzU5MGJlOGQ3MzZiMzI2NDZkNGNmZjQx
YzlmNjQ2OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9zcmMvYWlvcXVpYy9fYnVm
ZmVyLmMKQEAgLTAsMCArMSw0NDAgQEAKKyNkZWZpbmUgUFlfU1NJWkVfVF9DTEVBTgorCisjaW5j
bHVkZSA8UHl0aG9uLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKyNkZWZpbmUgTU9EVUxFX05B
TUUgImFpb3F1aWMuX2J1ZmZlciIKKworc3RhdGljIFB5T2JqZWN0ICpCdWZmZXJSZWFkRXJyb3I7
CitzdGF0aWMgUHlPYmplY3QgKkJ1ZmZlcldyaXRlRXJyb3I7CisKK3R5cGVkZWYgc3RydWN0IHsK
KyAgICBQeU9iamVjdF9IRUFECisgICAgdWludDhfdCAqYmFzZTsKKyAgICB1aW50OF90ICplbmQ7
CisgICAgdWludDhfdCAqcG9zOworfSBCdWZmZXJPYmplY3Q7CisKKyNkZWZpbmUgQ0hFQ0tfUkVB
RF9CT1VORFMoc2VsZiwgbGVuKSBcCisgICAgaWYgKGxlbiA8IDAgfHwgc2VsZi0+cG9zICsgbGVu
ID4gc2VsZi0+ZW5kKSB7IFwKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKEJ1ZmZlclJlYWRFcnJv
ciwgIlJlYWQgb3V0IG9mIGJvdW5kcyIpOyBcCisgICAgICAgIHJldHVybiBOVUxMOyBcCisgICAg
fQorCisjZGVmaW5lIENIRUNLX1dSSVRFX0JPVU5EUyhzZWxmLCBsZW4pIFwKKyAgICBpZiAoc2Vs
Zi0+cG9zICsgbGVuID4gc2VsZi0+ZW5kKSB7IFwKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKEJ1
ZmZlcldyaXRlRXJyb3IsICJXcml0ZSBvdXQgb2YgYm91bmRzIik7IFwKKyAgICAgICAgcmV0dXJu
IE5VTEw7IFwKKyAgICB9CisKK3N0YXRpYyBpbnQKK0J1ZmZlcl9pbml0KEJ1ZmZlck9iamVjdCAq
c2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCit7CisgICAgY29uc3QgY2hh
ciAqa3dsaXN0W10gPSB7ImNhcGFjaXR5IiwgImRhdGEiLCBOVUxMfTsKKyAgICBpbnQgY2FwYWNp
dHkgPSAwOworICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmRhdGEgPSBOVUxMOworICAgIFB5X3Nz
aXplX3QgZGF0YV9sZW4gPSAwOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29y
ZHMoYXJncywga3dhcmdzLCAifGl5IyIsIChjaGFyKiopa3dsaXN0LCAmY2FwYWNpdHksICZkYXRh
LCAmZGF0YV9sZW4pKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICBpZiAoZGF0YSAhPSBOVUxM
KSB7CisgICAgICAgIHNlbGYtPmJhc2UgPSBtYWxsb2MoZGF0YV9sZW4pOworICAgICAgICBzZWxm
LT5lbmQgPSBzZWxmLT5iYXNlICsgZGF0YV9sZW47CisgICAgICAgIG1lbWNweShzZWxmLT5iYXNl
LCBkYXRhLCBkYXRhX2xlbik7CisgICAgfSBlbHNlIHsKKyAgICAgICAgc2VsZi0+YmFzZSA9IG1h
bGxvYyhjYXBhY2l0eSk7CisgICAgICAgIHNlbGYtPmVuZCA9IHNlbGYtPmJhc2UgKyBjYXBhY2l0
eTsKKyAgICB9CisgICAgc2VsZi0+cG9zID0gc2VsZi0+YmFzZTsKKyAgICByZXR1cm4gMDsKK30K
Kworc3RhdGljIHZvaWQKK0J1ZmZlcl9kZWFsbG9jKEJ1ZmZlck9iamVjdCAqc2VsZikKK3sKKyAg
ICBmcmVlKHNlbGYtPmJhc2UpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorQnVmZmVyX2RhdGFf
c2xpY2UoQnVmZmVyT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBpbnQgc3Rh
cnQsIHN0b3A7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpaSIsICZzdGFydCwg
JnN0b3ApKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIGlmIChzdGFydCA8IDAgfHwgc2Vs
Zi0+YmFzZSArIHN0YXJ0ID4gc2VsZi0+ZW5kIHx8CisgICAgICAgIHN0b3AgPCAwIHx8IHNlbGYt
PmJhc2UgKyBzdG9wID4gc2VsZi0+ZW5kIHx8CisgICAgICAgIHN0b3AgPCBzdGFydCkgeworICAg
ICAgICBQeUVycl9TZXRTdHJpbmcoQnVmZmVyUmVhZEVycm9yLCAiUmVhZCBvdXQgb2YgYm91bmRz
Iik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIHJldHVybiBQeUJ5dGVzX0Zy
b21TdHJpbmdBbmRTaXplKChjb25zdCBjaGFyKikoc2VsZi0+YmFzZSArIHN0YXJ0KSwgKHN0b3Ag
LSBzdGFydCkpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorQnVmZmVyX2VvZihCdWZmZXJPYmpl
Y3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIGlmIChzZWxmLT5wb3MgPT0gc2VsZi0+
ZW5kKQorICAgICAgICBQeV9SRVRVUk5fVFJVRTsKKyAgICBQeV9SRVRVUk5fRkFMU0U7Cit9CisK
K3N0YXRpYyBQeU9iamVjdCAqCitCdWZmZXJfcHVsbF9ieXRlcyhCdWZmZXJPYmplY3QgKnNlbGYs
IFB5T2JqZWN0ICphcmdzKQoreworICAgIGludCBsZW47CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1
cGxlKGFyZ3MsICJpIiwgJmxlbikpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgQ0hFQ0tf
UkVBRF9CT1VORFMoc2VsZiwgbGVuKTsKKworICAgIFB5T2JqZWN0ICpvID0gUHlCeXRlc19Gcm9t
U3RyaW5nQW5kU2l6ZSgoY29uc3QgY2hhciopc2VsZi0+cG9zLCBsZW4pOworICAgIHNlbGYtPnBv
cyArPSBsZW47CisgICAgcmV0dXJuIG87Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitCdWZmZXJf
cHVsbF91aW50OChCdWZmZXJPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIENI
RUNLX1JFQURfQk9VTkRTKHNlbGYsIDEpCisKKyAgICByZXR1cm4gUHlMb25nX0Zyb21VbnNpZ25l
ZExvbmcoCisgICAgICAgICh1aW50OF90KSgqKHNlbGYtPnBvcysrKSkKKyAgICApOworfQorCitz
dGF0aWMgUHlPYmplY3QgKgorQnVmZmVyX3B1bGxfdWludDE2KEJ1ZmZlck9iamVjdCAqc2VsZiwg
UHlPYmplY3QgKmFyZ3MpCit7CisgICAgQ0hFQ0tfUkVBRF9CT1VORFMoc2VsZiwgMikKKworICAg
IHVpbnQxNl90IHZhbHVlID0gKHVpbnQxNl90KSgqKHNlbGYtPnBvcykpIDw8IDggfAorICAgICAg
ICAgICAgICAgICAgICAgKHVpbnQxNl90KSgqKHNlbGYtPnBvcyArIDEpKTsKKyAgICBzZWxmLT5w
b3MgKz0gMjsKKyAgICByZXR1cm4gUHlMb25nX0Zyb21VbnNpZ25lZExvbmcodmFsdWUpOworfQor
CitzdGF0aWMgUHlPYmplY3QgKgorQnVmZmVyX3B1bGxfdWludDMyKEJ1ZmZlck9iamVjdCAqc2Vs
ZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgQ0hFQ0tfUkVBRF9CT1VORFMoc2VsZiwgNCkKKwor
ICAgIHVpbnQzMl90IHZhbHVlID0gKHVpbnQzMl90KSgqKHNlbGYtPnBvcykpIDw8IDI0IHwKKyAg
ICAgICAgICAgICAgICAgICAgICh1aW50MzJfdCkoKihzZWxmLT5wb3MgKyAxKSkgPDwgMTYgfAor
ICAgICAgICAgICAgICAgICAgICAgKHVpbnQzMl90KSgqKHNlbGYtPnBvcyArIDIpKSA8PCA4IHwK
KyAgICAgICAgICAgICAgICAgICAgICh1aW50MzJfdCkoKihzZWxmLT5wb3MgKyAzKSk7CisgICAg
c2VsZi0+cG9zICs9IDQ7CisgICAgcmV0dXJuIFB5TG9uZ19Gcm9tVW5zaWduZWRMb25nKHZhbHVl
KTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK0J1ZmZlcl9wdWxsX3VpbnQ2NChCdWZmZXJPYmpl
Y3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIENIRUNLX1JFQURfQk9VTkRTKHNlbGYs
IDgpCisKKyAgICB1aW50NjRfdCB2YWx1ZSA9ICh1aW50NjRfdCkoKihzZWxmLT5wb3MpKSA8PCA1
NiB8CisgICAgICAgICAgICAgICAgICAgICAodWludDY0X3QpKCooc2VsZi0+cG9zICsgMSkpIDw8
IDQ4IHwKKyAgICAgICAgICAgICAgICAgICAgICh1aW50NjRfdCkoKihzZWxmLT5wb3MgKyAyKSkg
PDwgNDAgfAorICAgICAgICAgICAgICAgICAgICAgKHVpbnQ2NF90KSgqKHNlbGYtPnBvcyArIDMp
KSA8PCAzMiB8CisgICAgICAgICAgICAgICAgICAgICAodWludDY0X3QpKCooc2VsZi0+cG9zICsg
NCkpIDw8IDI0IHwKKyAgICAgICAgICAgICAgICAgICAgICh1aW50NjRfdCkoKihzZWxmLT5wb3Mg
KyA1KSkgPDwgMTYgfAorICAgICAgICAgICAgICAgICAgICAgKHVpbnQ2NF90KSgqKHNlbGYtPnBv
cyArIDYpKSA8PCA4IHwKKyAgICAgICAgICAgICAgICAgICAgICh1aW50NjRfdCkoKihzZWxmLT5w
b3MgKyA3KSk7CisgICAgc2VsZi0+cG9zICs9IDg7CisgICAgcmV0dXJuIFB5TG9uZ19Gcm9tVW5z
aWduZWRMb25nTG9uZyh2YWx1ZSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitCdWZmZXJfcHVs
bF91aW50X3ZhcihCdWZmZXJPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIHVp
bnQ2NF90IHZhbHVlOworICAgIENIRUNLX1JFQURfQk9VTkRTKHNlbGYsIDEpCisgICAgc3dpdGNo
ICgqKHNlbGYtPnBvcykgPj4gNikgeworICAgIGNhc2UgMDoKKyAgICAgICAgdmFsdWUgPSAqKHNl
bGYtPnBvcysrKSAmIDB4M0Y7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgMToKKyAgICAgICAg
Q0hFQ0tfUkVBRF9CT1VORFMoc2VsZiwgMikKKyAgICAgICAgdmFsdWUgPSAodWludDE2X3QpKCoo
c2VsZi0+cG9zKSAmIDB4M0YpIDw8IDggfAorICAgICAgICAgICAgICAgICh1aW50MTZfdCkoKihz
ZWxmLT5wb3MgKyAxKSk7CisgICAgICAgIHNlbGYtPnBvcyArPSAyOworICAgICAgICBicmVhazsK
KyAgICBjYXNlIDI6CisgICAgICAgIENIRUNLX1JFQURfQk9VTkRTKHNlbGYsIDQpCisgICAgICAg
IHZhbHVlID0gKHVpbnQzMl90KSgqKHNlbGYtPnBvcykgJiAweDNGKSA8PCAyNCB8CisgICAgICAg
ICAgICAgICAgKHVpbnQzMl90KSgqKHNlbGYtPnBvcyArIDEpKSA8PCAxNiB8CisgICAgICAgICAg
ICAgICAgKHVpbnQzMl90KSgqKHNlbGYtPnBvcyArIDIpKSA8PCA4IHwKKyAgICAgICAgICAgICAg
ICAodWludDMyX3QpKCooc2VsZi0+cG9zICsgMykpOworICAgICAgICBzZWxmLT5wb3MgKz0gNDsK
KyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgQ0hFQ0tfUkVBRF9CT1VORFMo
c2VsZiwgOCkKKyAgICAgICAgdmFsdWUgPSAodWludDY0X3QpKCooc2VsZi0+cG9zKSAmIDB4M0Yp
IDw8IDU2IHwKKyAgICAgICAgICAgICAgICAodWludDY0X3QpKCooc2VsZi0+cG9zICsgMSkpIDw8
IDQ4IHwKKyAgICAgICAgICAgICAgICAodWludDY0X3QpKCooc2VsZi0+cG9zICsgMikpIDw8IDQw
IHwKKyAgICAgICAgICAgICAgICAodWludDY0X3QpKCooc2VsZi0+cG9zICsgMykpIDw8IDMyIHwK
KyAgICAgICAgICAgICAgICAodWludDY0X3QpKCooc2VsZi0+cG9zICsgNCkpIDw8IDI0IHwKKyAg
ICAgICAgICAgICAgICAodWludDY0X3QpKCooc2VsZi0+cG9zICsgNSkpIDw8IDE2IHwKKyAgICAg
ICAgICAgICAgICAodWludDY0X3QpKCooc2VsZi0+cG9zICsgNikpIDw8IDggfAorICAgICAgICAg
ICAgICAgICh1aW50NjRfdCkoKihzZWxmLT5wb3MgKyA3KSk7CisgICAgICAgIHNlbGYtPnBvcyAr
PSA4OworICAgICAgICBicmVhazsKKyAgICB9CisgICAgcmV0dXJuIFB5TG9uZ19Gcm9tVW5zaWdu
ZWRMb25nTG9uZyh2YWx1ZSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitCdWZmZXJfcHVzaF9i
eXRlcyhCdWZmZXJPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIGNvbnN0IHVu
c2lnbmVkIGNoYXIgKmRhdGE7CisgICAgUHlfc3NpemVfdCBkYXRhX2xlbjsKKyAgICBpZiAoIVB5
QXJnX1BhcnNlVHVwbGUoYXJncywgInkjIiwgJmRhdGEsICZkYXRhX2xlbikpCisgICAgICAgIHJl
dHVybiBOVUxMOworCisgICAgQ0hFQ0tfV1JJVEVfQk9VTkRTKHNlbGYsIGRhdGFfbGVuKQorCisg
ICAgbWVtY3B5KHNlbGYtPnBvcywgZGF0YSwgZGF0YV9sZW4pOworICAgIHNlbGYtPnBvcyArPSBk
YXRhX2xlbjsKKyAgICBQeV9SRVRVUk5fTk9ORTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK0J1
ZmZlcl9wdXNoX3VpbnQ4KEJ1ZmZlck9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7Cisg
ICAgdWludDhfdCB2YWx1ZTsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIkIiLCAm
dmFsdWUpKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIENIRUNLX1dSSVRFX0JPVU5EUyhz
ZWxmLCAxKQorCisgICAgKihzZWxmLT5wb3MrKykgPSB2YWx1ZTsKKyAgICBQeV9SRVRVUk5fTk9O
RTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK0J1ZmZlcl9wdXNoX3VpbnQxNihCdWZmZXJPYmpl
Y3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIHVpbnQxNl90IHZhbHVlOworICAgIGlm
ICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiSCIsICZ2YWx1ZSkpCisgICAgICAgIHJldHVybiBO
VUxMOworCisgICAgQ0hFQ0tfV1JJVEVfQk9VTkRTKHNlbGYsIDIpCisKKyAgICAqKHNlbGYtPnBv
cysrKSA9ICh2YWx1ZSA+PiA4KTsKKyAgICAqKHNlbGYtPnBvcysrKSA9IHZhbHVlOworICAgIFB5
X1JFVFVSTl9OT05FOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorQnVmZmVyX3B1c2hfdWludDMy
KEJ1ZmZlck9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgdWludDMyX3QgdmFs
dWU7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJJIiwgJnZhbHVlKSkKKyAgICAg
ICAgcmV0dXJuIE5VTEw7CisKKyAgICBDSEVDS19XUklURV9CT1VORFMoc2VsZiwgNCkKKyAgICAq
KHNlbGYtPnBvcysrKSA9ICh2YWx1ZSA+PiAyNCk7CisgICAgKihzZWxmLT5wb3MrKykgPSAodmFs
dWUgPj4gMTYpOworICAgICooc2VsZi0+cG9zKyspID0gKHZhbHVlID4+IDgpOworICAgICooc2Vs
Zi0+cG9zKyspID0gdmFsdWU7CisgICAgUHlfUkVUVVJOX05PTkU7Cit9CisKK3N0YXRpYyBQeU9i
amVjdCAqCitCdWZmZXJfcHVzaF91aW50NjQoQnVmZmVyT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAq
YXJncykKK3sKKyAgICB1aW50NjRfdCB2YWx1ZTsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUo
YXJncywgIksiLCAmdmFsdWUpKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIENIRUNLX1dS
SVRFX0JPVU5EUyhzZWxmLCA4KQorICAgICooc2VsZi0+cG9zKyspID0gKHZhbHVlID4+IDU2KTsK
KyAgICAqKHNlbGYtPnBvcysrKSA9ICh2YWx1ZSA+PiA0OCk7CisgICAgKihzZWxmLT5wb3MrKykg
PSAodmFsdWUgPj4gNDApOworICAgICooc2VsZi0+cG9zKyspID0gKHZhbHVlID4+IDMyKTsKKyAg
ICAqKHNlbGYtPnBvcysrKSA9ICh2YWx1ZSA+PiAyNCk7CisgICAgKihzZWxmLT5wb3MrKykgPSAo
dmFsdWUgPj4gMTYpOworICAgICooc2VsZi0+cG9zKyspID0gKHZhbHVlID4+IDgpOworICAgICoo
c2VsZi0+cG9zKyspID0gdmFsdWU7CisgICAgUHlfUkVUVVJOX05PTkU7Cit9CisKK3N0YXRpYyBQ
eU9iamVjdCAqCitCdWZmZXJfcHVzaF91aW50X3ZhcihCdWZmZXJPYmplY3QgKnNlbGYsIFB5T2Jq
ZWN0ICphcmdzKQoreworICAgIHVpbnQ2NF90IHZhbHVlOworICAgIGlmICghUHlBcmdfUGFyc2VU
dXBsZShhcmdzLCAiSyIsICZ2YWx1ZSkpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgaWYg
KHZhbHVlIDw9IDB4M0YpIHsKKyAgICAgICAgQ0hFQ0tfV1JJVEVfQk9VTkRTKHNlbGYsIDEpCisg
ICAgICAgICooc2VsZi0+cG9zKyspID0gdmFsdWU7CisgICAgICAgIFB5X1JFVFVSTl9OT05FOwor
ICAgIH0gZWxzZSBpZiAodmFsdWUgPD0gMHgzRkZGKSB7CisgICAgICAgIENIRUNLX1dSSVRFX0JP
VU5EUyhzZWxmLCAyKQorICAgICAgICAqKHNlbGYtPnBvcysrKSA9ICh2YWx1ZSA+PiA4KSB8IDB4
NDA7CisgICAgICAgICooc2VsZi0+cG9zKyspID0gdmFsdWU7CisgICAgICAgIFB5X1JFVFVSTl9O
T05FOworICAgIH0gZWxzZSBpZiAodmFsdWUgPD0gMHgzRkZGRkZGRikgeworICAgICAgICBDSEVD
S19XUklURV9CT1VORFMoc2VsZiwgNCkKKyAgICAgICAgKihzZWxmLT5wb3MrKykgPSAodmFsdWUg
Pj4gMjQpIHwgMHg4MDsKKyAgICAgICAgKihzZWxmLT5wb3MrKykgPSAodmFsdWUgPj4gMTYpOwor
ICAgICAgICAqKHNlbGYtPnBvcysrKSA9ICh2YWx1ZSA+PiA4KTsKKyAgICAgICAgKihzZWxmLT5w
b3MrKykgPSB2YWx1ZTsKKyAgICAgICAgUHlfUkVUVVJOX05PTkU7CisgICAgfSBlbHNlIGlmICh2
YWx1ZSA8PSAweDNGRkZGRkZGRkZGRkZGRkYpIHsKKyAgICAgICAgQ0hFQ0tfV1JJVEVfQk9VTkRT
KHNlbGYsIDgpCisgICAgICAgICooc2VsZi0+cG9zKyspID0gKHZhbHVlID4+IDU2KSB8IDB4QzA7
CisgICAgICAgICooc2VsZi0+cG9zKyspID0gKHZhbHVlID4+IDQ4KTsKKyAgICAgICAgKihzZWxm
LT5wb3MrKykgPSAodmFsdWUgPj4gNDApOworICAgICAgICAqKHNlbGYtPnBvcysrKSA9ICh2YWx1
ZSA+PiAzMik7CisgICAgICAgICooc2VsZi0+cG9zKyspID0gKHZhbHVlID4+IDI0KTsKKyAgICAg
ICAgKihzZWxmLT5wb3MrKykgPSAodmFsdWUgPj4gMTYpOworICAgICAgICAqKHNlbGYtPnBvcysr
KSA9ICh2YWx1ZSA+PiA4KTsKKyAgICAgICAgKihzZWxmLT5wb3MrKykgPSB2YWx1ZTsKKyAgICAg
ICAgUHlfUkVUVVJOX05PTkU7CisgICAgfSBlbHNlIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5n
KFB5RXhjX1ZhbHVlRXJyb3IsICJJbnRlZ2VyIGlzIHRvbyBiaWcgZm9yIGEgdmFyaWFibGUtbGVu
Z3RoIGludGVnZXIiKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorfQorCitzdGF0aWMg
UHlPYmplY3QgKgorQnVmZmVyX3NlZWsoQnVmZmVyT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJn
cykKK3sKKyAgICBpbnQgcG9zOworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaSIs
ICZwb3MpKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIGlmIChwb3MgPCAwIHx8IHNlbGYt
PmJhc2UgKyBwb3MgPiBzZWxmLT5lbmQpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKEJ1ZmZl
clJlYWRFcnJvciwgIlNlZWsgb3V0IG9mIGJvdW5kcyIpOworICAgICAgICByZXR1cm4gTlVMTDsK
KyAgICB9CisKKyAgICBzZWxmLT5wb3MgPSBzZWxmLT5iYXNlICsgcG9zOworICAgIFB5X1JFVFVS
Tl9OT05FOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorQnVmZmVyX3RlbGwoQnVmZmVyT2JqZWN0
ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICByZXR1cm4gUHlMb25nX0Zyb21Tc2l6ZV90
KHNlbGYtPnBvcyAtIHNlbGYtPmJhc2UpOworfQorCitzdGF0aWMgUHlNZXRob2REZWYgQnVmZmVy
X21ldGhvZHNbXSA9IHsKKyAgICB7ImRhdGFfc2xpY2UiLCAoUHlDRnVuY3Rpb24pQnVmZmVyX2Rh
dGFfc2xpY2UsIE1FVEhfVkFSQVJHUywgIiJ9LAorICAgIHsiZW9mIiwgKFB5Q0Z1bmN0aW9uKUJ1
ZmZlcl9lb2YsIE1FVEhfVkFSQVJHUywgIiJ9LAorICAgIHsicHVsbF9ieXRlcyIsIChQeUNGdW5j
dGlvbilCdWZmZXJfcHVsbF9ieXRlcywgTUVUSF9WQVJBUkdTLCAiUHVsbCBieXRlcy4ifSwKKyAg
ICB7InB1bGxfdWludDgiLCAoUHlDRnVuY3Rpb24pQnVmZmVyX3B1bGxfdWludDgsIE1FVEhfVkFS
QVJHUywgIlB1bGwgYW4gOC1iaXQgdW5zaWduZWQgaW50ZWdlci4ifSwKKyAgICB7InB1bGxfdWlu
dDE2IiwgKFB5Q0Z1bmN0aW9uKUJ1ZmZlcl9wdWxsX3VpbnQxNiwgTUVUSF9WQVJBUkdTLCAiUHVs
bCBhIDE2LWJpdCB1bnNpZ25lZCBpbnRlZ2VyLiJ9LAorICAgIHsicHVsbF91aW50MzIiLCAoUHlD
RnVuY3Rpb24pQnVmZmVyX3B1bGxfdWludDMyLCBNRVRIX1ZBUkFSR1MsICJQdWxsIGEgMzItYml0
IHVuc2lnbmVkIGludGVnZXIuIn0sCisgICAgeyJwdWxsX3VpbnQ2NCIsIChQeUNGdW5jdGlvbilC
dWZmZXJfcHVsbF91aW50NjQsIE1FVEhfVkFSQVJHUywgIlB1bGwgYSA2NC1iaXQgdW5zaWduZWQg
aW50ZWdlci4ifSwKKyAgICB7InB1bGxfdWludF92YXIiLCAoUHlDRnVuY3Rpb24pQnVmZmVyX3B1
bGxfdWludF92YXIsIE1FVEhfVkFSQVJHUywgIlB1bGwgYSBRVUlDIHZhcmlhYmxlLWxlbmd0aCB1
bnNpZ25lZCBpbnRlZ2VyLiJ9LAorICAgIHsicHVzaF9ieXRlcyIsIChQeUNGdW5jdGlvbilCdWZm
ZXJfcHVzaF9ieXRlcywgTUVUSF9WQVJBUkdTLCAiUHVzaCBieXRlcy4ifSwKKyAgICB7InB1c2hf
dWludDgiLCAoUHlDRnVuY3Rpb24pQnVmZmVyX3B1c2hfdWludDgsIE1FVEhfVkFSQVJHUywgIlB1
c2ggYW4gOC1iaXQgdW5zaWduZWQgaW50ZWdlci4ifSwKKyAgICB7InB1c2hfdWludDE2IiwgKFB5
Q0Z1bmN0aW9uKUJ1ZmZlcl9wdXNoX3VpbnQxNiwgTUVUSF9WQVJBUkdTLCAiUHVzaCBhIDE2LWJp
dCB1bnNpZ25lZCBpbnRlZ2VyLiJ9LAorICAgIHsicHVzaF91aW50MzIiLCAoUHlDRnVuY3Rpb24p
QnVmZmVyX3B1c2hfdWludDMyLCBNRVRIX1ZBUkFSR1MsICJQdXNoIGEgMzItYml0IHVuc2lnbmVk
IGludGVnZXIuIn0sCisgICAgeyJwdXNoX3VpbnQ2NCIsIChQeUNGdW5jdGlvbilCdWZmZXJfcHVz
aF91aW50NjQsIE1FVEhfVkFSQVJHUywgIlB1c2ggYSA2NC1iaXQgdW5zaWduZWQgaW50ZWdlci4i
fSwKKyAgICB7InB1c2hfdWludF92YXIiLCAoUHlDRnVuY3Rpb24pQnVmZmVyX3B1c2hfdWludF92
YXIsIE1FVEhfVkFSQVJHUywgIlB1c2ggYSBRVUlDIHZhcmlhYmxlLWxlbmd0aCB1bnNpZ25lZCBp
bnRlZ2VyLiJ9LAorICAgIHsic2VlayIsIChQeUNGdW5jdGlvbilCdWZmZXJfc2VlaywgTUVUSF9W
QVJBUkdTLCAiIn0sCisgICAgeyJ0ZWxsIiwgKFB5Q0Z1bmN0aW9uKUJ1ZmZlcl90ZWxsLCBNRVRI
X1ZBUkFSR1MsICIifSwKKyAgICB7TlVMTH0KK307CisKK3N0YXRpYyBQeU9iamVjdCoKK0J1ZmZl
cl9jYXBhY2l0eV9nZXR0ZXIoQnVmZmVyT2JqZWN0KiBzZWxmLCB2b2lkICpjbG9zdXJlKSB7Cisg
ICAgcmV0dXJuIFB5TG9uZ19Gcm9tU3NpemVfdChzZWxmLT5lbmQgLSBzZWxmLT5iYXNlKTsKK30K
Kworc3RhdGljIFB5T2JqZWN0KgorQnVmZmVyX2RhdGFfZ2V0dGVyKEJ1ZmZlck9iamVjdCogc2Vs
Ziwgdm9pZCAqY2xvc3VyZSkgeworICAgIHJldHVybiBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXpl
KChjb25zdCBjaGFyKilzZWxmLT5iYXNlLCBzZWxmLT5wb3MgLSBzZWxmLT5iYXNlKTsKK30KKwor
c3RhdGljIFB5R2V0U2V0RGVmIEJ1ZmZlcl9nZXRzZXRbXSA9IHsKKyAgICB7ImNhcGFjaXR5Iiwg
KGdldHRlcikgQnVmZmVyX2NhcGFjaXR5X2dldHRlciwgTlVMTCwgIiIsIE5VTEwgfSwKKyAgICB7
ImRhdGEiLCAoZ2V0dGVyKSBCdWZmZXJfZGF0YV9nZXR0ZXIsIE5VTEwsICIiLCBOVUxMIH0sCisg
ICAge05VTEx9Cit9OworCitzdGF0aWMgUHlUeXBlT2JqZWN0IEJ1ZmZlclR5cGUgPSB7CisgICAg
UHlWYXJPYmplY3RfSEVBRF9JTklUKE5VTEwsIDApCisgICAgTU9EVUxFX05BTUUgIi5CdWZmZXIi
LCAgICAgICAgICAgICAgLyogdHBfbmFtZSAqLworICAgIHNpemVvZihCdWZmZXJPYmplY3QpLCAg
ICAgICAgICAgICAgIC8qIHRwX2Jhc2ljc2l6ZSAqLworICAgIDAsICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8qIHRwX2l0ZW1zaXplICovCisgICAgKGRlc3RydWN0b3IpQnVmZmVy
X2RlYWxsb2MsICAgICAgICAgLyogdHBfZGVhbGxvYyAqLworICAgIDAsICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8qIHRwX3ByaW50ICovCisgICAgMCwgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLyogdHBfZ2V0YXR0ciAqLworICAgIDAsICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8qIHRwX3NldGF0dHIgKi8KKyAgICAwLCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvKiB0cF9yZXNlcnZlZCAqLworICAgIDAsICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3JlcHIgKi8KKyAgICAwLCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvKiB0cF9hc19udW1iZXIgKi8KKyAgICAwLCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9hc19zZXF1ZW5jZSAqLworICAgIDAsICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2FzX21hcHBpbmcgKi8KKyAgICAwLCAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9oYXNoICAqLworICAgIDAsICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2NhbGwgKi8KKyAgICAwLCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9zdHIgKi8KKyAgICAwLCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9nZXRhdHRybyAqLworICAgIDAsICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3NldGF0dHJvICovCisgICAgMCwgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYXNfYnVmZmVyICovCisgICAgUHlf
VFBGTEFHU19ERUZBVUxULCAgICAgICAgICAgICAgICAgLyogdHBfZmxhZ3MgKi8KKyAgICAiQnVm
ZmVyIG9iamVjdHMiLCAgICAgICAgICAgICAgICAgICAvKiB0cF9kb2MgKi8KKyAgICAwLCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF90cmF2ZXJzZSAqLworICAgIDAsICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2NsZWFyICovCisgICAgMCwgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfcmljaGNvbXBhcmUgKi8KKyAgICAw
LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF93ZWFrbGlzdG9mZnNldCAq
LworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2l0ZXIgKi8K
KyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9pdGVybmV4dCAq
LworICAgIEJ1ZmZlcl9tZXRob2RzLCAgICAgICAgICAgICAgICAgICAgIC8qIHRwX21ldGhvZHMg
Ki8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9tZW1iZXJz
ICovCisgICAgQnVmZmVyX2dldHNldCwgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZ2V0c2V0
ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYmFzZSAq
LworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2RpY3QgKi8K
KyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9kZXNjcl9nZXQg
Ki8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9kZXNjcl9z
ZXQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9kaWN0
b2Zmc2V0ICovCisgICAgKGluaXRwcm9jKUJ1ZmZlcl9pbml0LCAgICAgICAgICAgICAgLyogdHBf
aW5pdCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2Fs
bG9jICovCit9OworCisKK3N0YXRpYyBzdHJ1Y3QgUHlNb2R1bGVEZWYgbW9kdWxlZGVmID0gewor
ICAgIFB5TW9kdWxlRGVmX0hFQURfSU5JVCwKKyAgICBNT0RVTEVfTkFNRSwgICAgICAgICAgICAg
ICAgICAgICAgICAvKiBtX25hbWUgKi8KKyAgICAiQSBmYXN0ZXIgYnVmZmVyLiIsICAgICAgICAg
ICAgICAgICAvKiBtX2RvYyAqLworICAgIC0xLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8qIG1fc2l6ZSAqLworICAgIE5VTEwsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8qIG1fbWV0aG9kcyAqLworICAgIE5VTEwsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8qIG1fcmVsb2FkICovCisgICAgTlVMTCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
LyogbV90cmF2ZXJzZSAqLworICAgIE5VTEwsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8qIG1fY2xlYXIgKi8KKyAgICBOVUxMLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
KiBtX2ZyZWUgKi8KK307CisKKworUHlNT0RJTklUX0ZVTkMKK1B5SW5pdF9fYnVmZmVyKHZvaWQp
Cit7CisgICAgUHlPYmplY3QqIG07CisKKyAgICBtID0gUHlNb2R1bGVfQ3JlYXRlKCZtb2R1bGVk
ZWYpOworICAgIGlmIChtID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgQnVm
ZmVyUmVhZEVycm9yID0gUHlFcnJfTmV3RXhjZXB0aW9uKE1PRFVMRV9OQU1FICIuQnVmZmVyUmVh
ZEVycm9yIiwgUHlFeGNfVmFsdWVFcnJvciwgTlVMTCk7CisgICAgUHlfSU5DUkVGKEJ1ZmZlclJl
YWRFcnJvcik7CisgICAgUHlNb2R1bGVfQWRkT2JqZWN0KG0sICJCdWZmZXJSZWFkRXJyb3IiLCBC
dWZmZXJSZWFkRXJyb3IpOworCisgICAgQnVmZmVyV3JpdGVFcnJvciA9IFB5RXJyX05ld0V4Y2Vw
dGlvbihNT0RVTEVfTkFNRSAiLkJ1ZmZlcldyaXRlRXJyb3IiLCBQeUV4Y19WYWx1ZUVycm9yLCBO
VUxMKTsKKyAgICBQeV9JTkNSRUYoQnVmZmVyV3JpdGVFcnJvcik7CisgICAgUHlNb2R1bGVfQWRk
T2JqZWN0KG0sICJCdWZmZXJXcml0ZUVycm9yIiwgQnVmZmVyV3JpdGVFcnJvcik7CisKKyAgICBC
dWZmZXJUeXBlLnRwX25ldyA9IFB5VHlwZV9HZW5lcmljTmV3OworICAgIGlmIChQeVR5cGVfUmVh
ZHkoJkJ1ZmZlclR5cGUpIDwgMCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgUHlfSU5DUkVG
KCZCdWZmZXJUeXBlKTsKKyAgICBQeU1vZHVsZV9BZGRPYmplY3QobSwgIkJ1ZmZlciIsIChQeU9i
amVjdCAqKSZCdWZmZXJUeXBlKTsKKworICAgIHJldHVybiBtOworfQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0
eS9haW9xdWljL3NyYy9haW9xdWljL19idWZmZXIucHlpIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3NyYy9haW9x
dWljL19idWZmZXIucHlpCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE2ZTQzY2NhM2E1MThmZjc1ZTIxM2QzZGVkZjU4
YjFiMGM3N2M2MGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvc3JjL2Fpb3F1aWMv
X2J1ZmZlci5weWkKQEAgLTAsMCArMSwyNyBAQAorZnJvbSB0eXBpbmcgaW1wb3J0IE9wdGlvbmFs
CisKK2NsYXNzIEJ1ZmZlclJlYWRFcnJvcihWYWx1ZUVycm9yKTogLi4uCitjbGFzcyBCdWZmZXJX
cml0ZUVycm9yKFZhbHVlRXJyb3IpOiAuLi4KKworY2xhc3MgQnVmZmVyOgorICAgIGRlZiBfX2lu
aXRfXyhzZWxmLCBjYXBhY2l0eTogT3B0aW9uYWxbaW50XSA9IDAsIGRhdGE6IE9wdGlvbmFsW2J5
dGVzXSA9IE5vbmUpOiAuLi4KKyAgICBAcHJvcGVydHkKKyAgICBkZWYgY2FwYWNpdHkoc2VsZikg
LT4gaW50OiAuLi4KKyAgICBAcHJvcGVydHkKKyAgICBkZWYgZGF0YShzZWxmKSAtPiBieXRlczog
Li4uCisgICAgZGVmIGRhdGFfc2xpY2Uoc2VsZiwgc3RhcnQ6IGludCwgZW5kOiBpbnQpIC0+IGJ5
dGVzOiAuLi4KKyAgICBkZWYgZW9mKHNlbGYpIC0+IGJvb2w6IC4uLgorICAgIGRlZiBzZWVrKHNl
bGYsIHBvczogaW50KSAtPiBOb25lOiAuLi4KKyAgICBkZWYgdGVsbChzZWxmKSAtPiBpbnQ6IC4u
LgorICAgIGRlZiBwdWxsX2J5dGVzKHNlbGYsIGxlbmd0aDogaW50KSAtPiBieXRlczogLi4uCisg
ICAgZGVmIHB1bGxfdWludDgoc2VsZikgLT4gaW50OiAuLi4KKyAgICBkZWYgcHVsbF91aW50MTYo
c2VsZikgLT4gaW50OiAuLi4KKyAgICBkZWYgcHVsbF91aW50MzIoc2VsZikgLT4gaW50OiAuLi4K
KyAgICBkZWYgcHVsbF91aW50NjQoc2VsZikgLT4gaW50OiAuLi4KKyAgICBkZWYgcHVsbF91aW50
X3ZhcihzZWxmKSAtPiBpbnQ6IC4uLgorICAgIGRlZiBwdXNoX2J5dGVzKHNlbGYsIHZhbHVlOiBi
eXRlcykgLT4gTm9uZTogLi4uCisgICAgZGVmIHB1c2hfdWludDgoc2VsZiwgdmFsdWU6IGludCkg
LT4gTm9uZTogLi4uCisgICAgZGVmIHB1c2hfdWludDE2KHNlbGYsIHZhbHVlOiBpbnQpIC0+IE5v
bmU6IC4uLgorICAgIGRlZiBwdXNoX3VpbnQzMihzZWxmLCB2OiBpbnQpIC0+IE5vbmU6IC4uLgor
ICAgIGRlZiBwdXNoX3VpbnQ2NChzZWxmLCB2OiBpbnQpIC0+IE5vbmU6IC4uLgorICAgIGRlZiBw
dXNoX3VpbnRfdmFyKHNlbGYsIHZhbHVlOiBpbnQpIC0+IE5vbmU6IC4uLgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9w
YXJ0eS9haW9xdWljL3NyYy9haW9xdWljL19jcnlwdG8uYyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9zcmMvYWlv
cXVpYy9fY3J5cHRvLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWUxNTU0ZDRiMjEzY2QwN2ZjZWRmOGEzOTMwNGNk
NjIwMDQ0ZjE2NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9zcmMvYWlvcXVpYy9f
Y3J5cHRvLmMKQEAgLTAsMCArMSw0NTUgQEAKKyNkZWZpbmUgUFlfU1NJWkVfVF9DTEVBTgorCisj
aW5jbHVkZSA8UHl0aG9uLmg+CisjaW5jbHVkZSA8b3BlbnNzbC9lcnIuaD4KKyNpbmNsdWRlIDxv
cGVuc3NsL2V2cC5oPgorCisjZGVmaW5lIE1PRFVMRV9OQU1FICJhaW9xdWljLl9jcnlwdG8iCisK
KyNkZWZpbmUgQUVBRF9LRVlfTEVOR1RIX01BWCAzMgorI2RlZmluZSBBRUFEX05PTkNFX0xFTkdU
SCAxMgorI2RlZmluZSBBRUFEX1RBR19MRU5HVEggMTYKKworI2RlZmluZSBQQUNLRVRfTEVOR1RI
X01BWCAxNTAwCisjZGVmaW5lIFBBQ0tFVF9OVU1CRVJfTEVOR1RIX01BWCA0CisjZGVmaW5lIFNB
TVBMRV9MRU5HVEggMTYKKworI2RlZmluZSBDSEVDS19SRVNVTFQoZXhwcikgXAorICAgIGlmICgh
KGV4cHIpKSB7IFwKKyAgICAgICAgRVJSX2NsZWFyX2Vycm9yKCk7IFwKKyAgICAgICAgUHlFcnJf
U2V0U3RyaW5nKENyeXB0b0Vycm9yLCAiT3BlblNTTCBjYWxsIGZhaWxlZCIpOyBcCisgICAgICAg
IHJldHVybiBOVUxMOyBcCisgICAgfQorCisjZGVmaW5lIENIRUNLX1JFU1VMVF9DVE9SKGV4cHIp
IFwKKyAgICBpZiAoIShleHByKSkgeyBcCisgICAgICAgIEVSUl9jbGVhcl9lcnJvcigpOyBcCisg
ICAgICAgIFB5RXJyX1NldFN0cmluZyhDcnlwdG9FcnJvciwgIk9wZW5TU0wgY2FsbCBmYWlsZWQi
KTsgXAorICAgICAgICByZXR1cm4gLTE7IFwKKyAgICB9CisKK3N0YXRpYyBQeU9iamVjdCAqQ3J5
cHRvRXJyb3I7CisKKy8qIEFFQUQgKi8KKwordHlwZWRlZiBzdHJ1Y3QgeworICAgIFB5T2JqZWN0
X0hFQUQKKyAgICBFVlBfQ0lQSEVSX0NUWCAqZGVjcnlwdF9jdHg7CisgICAgRVZQX0NJUEhFUl9D
VFggKmVuY3J5cHRfY3R4OworICAgIHVuc2lnbmVkIGNoYXIgYnVmZmVyW1BBQ0tFVF9MRU5HVEhf
TUFYXTsKKyAgICB1bnNpZ25lZCBjaGFyIGtleVtBRUFEX0tFWV9MRU5HVEhfTUFYXTsKKyAgICB1
bnNpZ25lZCBjaGFyIGl2W0FFQURfTk9OQ0VfTEVOR1RIXTsKKyAgICB1bnNpZ25lZCBjaGFyIG5v
bmNlW0FFQURfTk9OQ0VfTEVOR1RIXTsKK30gQUVBRE9iamVjdDsKKworc3RhdGljIEVWUF9DSVBI
RVJfQ1RYICoKK2NyZWF0ZV9jdHgoY29uc3QgRVZQX0NJUEhFUiAqY2lwaGVyLCBpbnQga2V5X2xl
bmd0aCwgaW50IG9wZXJhdGlvbikKK3sKKyAgICBFVlBfQ0lQSEVSX0NUWCAqY3R4OworICAgIGlu
dCByZXM7CisKKyAgICBjdHggPSBFVlBfQ0lQSEVSX0NUWF9uZXcoKTsKKyAgICBDSEVDS19SRVNV
TFQoY3R4ICE9IDApOworCisgICAgcmVzID0gRVZQX0NpcGhlckluaXRfZXgoY3R4LCBjaXBoZXIs
IE5VTEwsIE5VTEwsIE5VTEwsIG9wZXJhdGlvbik7CisgICAgQ0hFQ0tfUkVTVUxUKHJlcyAhPSAw
KTsKKworICAgIHJlcyA9IEVWUF9DSVBIRVJfQ1RYX3NldF9rZXlfbGVuZ3RoKGN0eCwga2V5X2xl
bmd0aCk7CisgICAgQ0hFQ0tfUkVTVUxUKHJlcyAhPSAwKTsKKworICAgIHJlcyA9IEVWUF9DSVBI
RVJfQ1RYX2N0cmwoY3R4LCBFVlBfQ1RSTF9DQ01fU0VUX0lWTEVOLCBBRUFEX05PTkNFX0xFTkdU
SCwgTlVMTCk7CisgICAgQ0hFQ0tfUkVTVUxUKHJlcyAhPSAwKTsKKworICAgIHJldHVybiBjdHg7
Cit9CisKK3N0YXRpYyBpbnQKK0FFQURfaW5pdChBRUFET2JqZWN0ICpzZWxmLCBQeU9iamVjdCAq
YXJncywgUHlPYmplY3QgKmt3YXJncykKK3sKKyAgICBjb25zdCBjaGFyICpjaXBoZXJfbmFtZTsK
KyAgICBjb25zdCB1bnNpZ25lZCBjaGFyICprZXksICppdjsKKyAgICBQeV9zc2l6ZV90IGNpcGhl
cl9uYW1lX2xlbiwga2V5X2xlbiwgaXZfbGVuOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxl
KGFyZ3MsICJ5I3kjeSMiLCAmY2lwaGVyX25hbWUsICZjaXBoZXJfbmFtZV9sZW4sICZrZXksICZr
ZXlfbGVuLCAmaXYsICZpdl9sZW4pKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICBjb25zdCBF
VlBfQ0lQSEVSICpldnBfY2lwaGVyID0gRVZQX2dldF9jaXBoZXJieW5hbWUoY2lwaGVyX25hbWUp
OworICAgIGlmIChldnBfY2lwaGVyID09IDApIHsKKyAgICAgICAgUHlFcnJfRm9ybWF0KENyeXB0
b0Vycm9yLCAiSW52YWxpZCBjaXBoZXIgbmFtZTogJXMiLCBjaXBoZXJfbmFtZSk7CisgICAgICAg
IHJldHVybiAtMTsKKyAgICB9CisgICAgaWYgKGtleV9sZW4gPiBBRUFEX0tFWV9MRU5HVEhfTUFY
KSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhDcnlwdG9FcnJvciwgIkludmFsaWQga2V5IGxl
bmd0aCIpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorICAgIGlmIChpdl9sZW4gPiBBRUFE
X05PTkNFX0xFTkdUSCkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoQ3J5cHRvRXJyb3IsICJJ
bnZhbGlkIGl2IGxlbmd0aCIpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgbWVt
Y3B5KHNlbGYtPmtleSwga2V5LCBrZXlfbGVuKTsKKyAgICBtZW1jcHkoc2VsZi0+aXYsIGl2LCBp
dl9sZW4pOworCisgICAgc2VsZi0+ZGVjcnlwdF9jdHggPSBjcmVhdGVfY3R4KGV2cF9jaXBoZXIs
IGtleV9sZW4sIDApOworICAgIENIRUNLX1JFU1VMVF9DVE9SKHNlbGYtPmRlY3J5cHRfY3R4ICE9
IDApOworCisgICAgc2VsZi0+ZW5jcnlwdF9jdHggPSBjcmVhdGVfY3R4KGV2cF9jaXBoZXIsIGtl
eV9sZW4sIDEpOworICAgIENIRUNLX1JFU1VMVF9DVE9SKHNlbGYtPmVuY3J5cHRfY3R4ICE9IDAp
OworCisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkCitBRUFEX2RlYWxsb2MoQUVBRE9i
amVjdCAqc2VsZikKK3sKKyAgICBFVlBfQ0lQSEVSX0NUWF9mcmVlKHNlbGYtPmRlY3J5cHRfY3R4
KTsKKyAgICBFVlBfQ0lQSEVSX0NUWF9mcmVlKHNlbGYtPmVuY3J5cHRfY3R4KTsKK30KKworc3Rh
dGljIFB5T2JqZWN0KgorQUVBRF9kZWNyeXB0KEFFQURPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICph
cmdzKQoreworICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmRhdGEsICphc3NvY2lhdGVkOworICAg
IFB5X3NzaXplX3QgZGF0YV9sZW4sIGFzc29jaWF0ZWRfbGVuOworICAgIGludCBvdXRsZW4sIG91
dGxlbjIsIHJlczsKKyAgICB1aW50NjRfdCBwbjsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBs
ZShhcmdzLCAieSN5I0siLCAmZGF0YSwgJmRhdGFfbGVuLCAmYXNzb2NpYXRlZCwgJmFzc29jaWF0
ZWRfbGVuLCAmcG4pKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIGlmIChkYXRhX2xlbiA8
IEFFQURfVEFHX0xFTkdUSCB8fCBkYXRhX2xlbiA+IFBBQ0tFVF9MRU5HVEhfTUFYKSB7CisgICAg
ICAgIFB5RXJyX1NldFN0cmluZyhDcnlwdG9FcnJvciwgIkludmFsaWQgcGF5bG9hZCBsZW5ndGgi
KTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgbWVtY3B5KHNlbGYtPm5vbmNl
LCBzZWxmLT5pdiwgQUVBRF9OT05DRV9MRU5HVEgpOworICAgIGZvciAoaW50IGkgPSAwOyBpIDwg
ODsgKytpKSB7CisgICAgICAgIHNlbGYtPm5vbmNlW0FFQURfTk9OQ0VfTEVOR1RIIC0gMSAtIGld
IF49ICh1aW50OF90KShwbiA+PiA4ICogaSk7CisgICAgfQorCisgICAgcmVzID0gRVZQX0NJUEhF
Ul9DVFhfY3RybChzZWxmLT5kZWNyeXB0X2N0eCwgRVZQX0NUUkxfQ0NNX1NFVF9UQUcsIEFFQURf
VEFHX0xFTkdUSCwgKHZvaWQqKShkYXRhICsgKGRhdGFfbGVuIC0gQUVBRF9UQUdfTEVOR1RIKSkp
OworICAgIENIRUNLX1JFU1VMVChyZXMgIT0gMCk7CisKKyAgICByZXMgPSBFVlBfQ2lwaGVySW5p
dF9leChzZWxmLT5kZWNyeXB0X2N0eCwgTlVMTCwgTlVMTCwgc2VsZi0+a2V5LCBzZWxmLT5ub25j
ZSwgMCk7CisgICAgQ0hFQ0tfUkVTVUxUKHJlcyAhPSAwKTsKKworICAgIHJlcyA9IEVWUF9DaXBo
ZXJVcGRhdGUoc2VsZi0+ZGVjcnlwdF9jdHgsIE5VTEwsICZvdXRsZW4sIGFzc29jaWF0ZWQsIGFz
c29jaWF0ZWRfbGVuKTsKKyAgICBDSEVDS19SRVNVTFQocmVzICE9IDApOworCisgICAgcmVzID0g
RVZQX0NpcGhlclVwZGF0ZShzZWxmLT5kZWNyeXB0X2N0eCwgc2VsZi0+YnVmZmVyLCAmb3V0bGVu
LCBkYXRhLCBkYXRhX2xlbiAtIEFFQURfVEFHX0xFTkdUSCk7CisgICAgQ0hFQ0tfUkVTVUxUKHJl
cyAhPSAwKTsKKworICAgIHJlcyA9IEVWUF9DaXBoZXJGaW5hbF9leChzZWxmLT5kZWNyeXB0X2N0
eCwgTlVMTCwgJm91dGxlbjIpOworICAgIGlmIChyZXMgPT0gMCkgeworICAgICAgICBQeUVycl9T
ZXRTdHJpbmcoQ3J5cHRvRXJyb3IsICJQYXlsb2FkIGRlY3J5cHRpb24gZmFpbGVkIik7CisgICAg
ICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIHJldHVybiBQeUJ5dGVzX0Zyb21TdHJpbmdB
bmRTaXplKChjb25zdCBjaGFyKilzZWxmLT5idWZmZXIsIG91dGxlbik7Cit9CisKK3N0YXRpYyBQ
eU9iamVjdCoKK0FFQURfZW5jcnlwdChBRUFET2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykK
K3sKKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpkYXRhLCAqYXNzb2NpYXRlZDsKKyAgICBQeV9z
c2l6ZV90IGRhdGFfbGVuLCBhc3NvY2lhdGVkX2xlbjsKKyAgICBpbnQgb3V0bGVuLCBvdXRsZW4y
LCByZXM7CisgICAgdWludDY0X3QgcG47CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJn
cywgInkjeSNLIiwgJmRhdGEsICZkYXRhX2xlbiwgJmFzc29jaWF0ZWQsICZhc3NvY2lhdGVkX2xl
biwgJnBuKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBpZiAoZGF0YV9sZW4gPiBQQUNL
RVRfTEVOR1RIX01BWCkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoQ3J5cHRvRXJyb3IsICJJ
bnZhbGlkIHBheWxvYWQgbGVuZ3RoIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKwor
ICAgIG1lbWNweShzZWxmLT5ub25jZSwgc2VsZi0+aXYsIEFFQURfTk9OQ0VfTEVOR1RIKTsKKyAg
ICBmb3IgKGludCBpID0gMDsgaSA8IDg7ICsraSkgeworICAgICAgICBzZWxmLT5ub25jZVtBRUFE
X05PTkNFX0xFTkdUSCAtIDEgLSBpXSBePSAodWludDhfdCkocG4gPj4gOCAqIGkpOworICAgIH0K
KworICAgIHJlcyA9IEVWUF9DaXBoZXJJbml0X2V4KHNlbGYtPmVuY3J5cHRfY3R4LCBOVUxMLCBO
VUxMLCBzZWxmLT5rZXksIHNlbGYtPm5vbmNlLCAxKTsKKyAgICBDSEVDS19SRVNVTFQocmVzICE9
IDApOworCisgICAgcmVzID0gRVZQX0NpcGhlclVwZGF0ZShzZWxmLT5lbmNyeXB0X2N0eCwgTlVM
TCwgJm91dGxlbiwgYXNzb2NpYXRlZCwgYXNzb2NpYXRlZF9sZW4pOworICAgIENIRUNLX1JFU1VM
VChyZXMgIT0gMCk7CisKKyAgICByZXMgPSBFVlBfQ2lwaGVyVXBkYXRlKHNlbGYtPmVuY3J5cHRf
Y3R4LCBzZWxmLT5idWZmZXIsICZvdXRsZW4sIGRhdGEsIGRhdGFfbGVuKTsKKyAgICBDSEVDS19S
RVNVTFQocmVzICE9IDApOworCisgICAgcmVzID0gRVZQX0NpcGhlckZpbmFsX2V4KHNlbGYtPmVu
Y3J5cHRfY3R4LCBOVUxMLCAmb3V0bGVuMik7CisgICAgQ0hFQ0tfUkVTVUxUKHJlcyAhPSAwICYm
IG91dGxlbjIgPT0gMCk7CisKKyAgICByZXMgPSBFVlBfQ0lQSEVSX0NUWF9jdHJsKHNlbGYtPmVu
Y3J5cHRfY3R4LCBFVlBfQ1RSTF9DQ01fR0VUX1RBRywgQUVBRF9UQUdfTEVOR1RILCBzZWxmLT5i
dWZmZXIgKyBvdXRsZW4pOworICAgIENIRUNLX1JFU1VMVChyZXMgIT0gMCk7CisKKyAgICByZXR1
cm4gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZSgoY29uc3QgY2hhciopc2VsZi0+YnVmZmVyLCBv
dXRsZW4gKyBBRUFEX1RBR19MRU5HVEgpOworfQorCitzdGF0aWMgUHlNZXRob2REZWYgQUVBRF9t
ZXRob2RzW10gPSB7CisgICAgeyJkZWNyeXB0IiwgKFB5Q0Z1bmN0aW9uKUFFQURfZGVjcnlwdCwg
TUVUSF9WQVJBUkdTLCAiIn0sCisgICAgeyJlbmNyeXB0IiwgKFB5Q0Z1bmN0aW9uKUFFQURfZW5j
cnlwdCwgTUVUSF9WQVJBUkdTLCAiIn0sCisKKyAgICB7TlVMTH0KK307CisKK3N0YXRpYyBQeVR5
cGVPYmplY3QgQUVBRFR5cGUgPSB7CisgICAgUHlWYXJPYmplY3RfSEVBRF9JTklUKE5VTEwsIDAp
CisgICAgTU9EVUxFX05BTUUgIi5BRUFEIiwgICAgICAgICAgICAgICAgLyogdHBfbmFtZSAqLwor
ICAgIHNpemVvZihBRUFET2JqZWN0KSwgICAgICAgICAgICAgICAgIC8qIHRwX2Jhc2ljc2l6ZSAq
LworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2l0ZW1zaXpl
ICovCisgICAgKGRlc3RydWN0b3IpQUVBRF9kZWFsbG9jLCAgICAgICAgICAgLyogdHBfZGVhbGxv
YyAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3ByaW50
ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZ2V0YXR0
ciAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3NldGF0
dHIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9yZXNl
cnZlZCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3Jl
cHIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9hc19u
dW1iZXIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9h
c19zZXF1ZW5jZSAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8q
IHRwX2FzX21hcHBpbmcgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvKiB0cF9oYXNoICAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8qIHRwX2NhbGwgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
KiB0cF9zdHIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0
cF9nZXRhdHRybyAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8q
IHRwX3NldGF0dHJvICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
LyogdHBfYXNfYnVmZmVyICovCisgICAgUHlfVFBGTEFHU19ERUZBVUxULCAgICAgICAgICAgICAg
ICAgLyogdHBfZmxhZ3MgKi8KKyAgICAiQUVBRCBvYmplY3RzIiwgICAgICAgICAgICAgICAgICAg
ICAvKiB0cF9kb2MgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
KiB0cF90cmF2ZXJzZSAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8qIHRwX2NsZWFyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
LyogdHBfcmljaGNvbXBhcmUgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvKiB0cF93ZWFrbGlzdG9mZnNldCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8qIHRwX2l0ZXIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvKiB0cF9pdGVybmV4dCAqLworICAgIEFFQURfbWV0aG9kcywgICAgICAgICAg
ICAgICAgICAgICAgIC8qIHRwX21ldGhvZHMgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvKiB0cF9tZW1iZXJzICovCisgICAgMCwgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLyogdHBfZ2V0c2V0ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLyogdHBfYmFzZSAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8qIHRwX2RpY3QgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvKiB0cF9kZXNjcl9nZXQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvKiB0cF9kZXNjcl9zZXQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvKiB0cF9kaWN0b2Zmc2V0ICovCisgICAgKGluaXRwcm9jKUFFQURf
aW5pdCwgICAgICAgICAgICAgICAgLyogdHBfaW5pdCAqLworICAgIDAsICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8qIHRwX2FsbG9jICovCit9OworCisvKiBIZWFkZXJQcm90ZWN0
aW9uICovCisKK3R5cGVkZWYgc3RydWN0IHsKKyAgICBQeU9iamVjdF9IRUFECisgICAgRVZQX0NJ
UEhFUl9DVFggKmN0eDsKKyAgICBpbnQgaXNfY2hhY2hhMjA7CisgICAgdW5zaWduZWQgY2hhciBi
dWZmZXJbUEFDS0VUX0xFTkdUSF9NQVhdOworICAgIHVuc2lnbmVkIGNoYXIgbWFza1szMV07Cisg
ICAgdW5zaWduZWQgY2hhciB6ZXJvWzVdOworfSBIZWFkZXJQcm90ZWN0aW9uT2JqZWN0OworCitz
dGF0aWMgaW50CitIZWFkZXJQcm90ZWN0aW9uX2luaXQoSGVhZGVyUHJvdGVjdGlvbk9iamVjdCAq
c2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCit7CisgICAgY29uc3QgY2hh
ciAqY2lwaGVyX25hbWU7CisgICAgY29uc3QgdW5zaWduZWQgY2hhciAqa2V5OworICAgIFB5X3Nz
aXplX3QgY2lwaGVyX25hbWVfbGVuLCBrZXlfbGVuOworICAgIGludCByZXM7CisKKyAgICBpZiAo
IVB5QXJnX1BhcnNlVHVwbGUoYXJncywgInkjeSMiLCAmY2lwaGVyX25hbWUsICZjaXBoZXJfbmFt
ZV9sZW4sICZrZXksICZrZXlfbGVuKSkKKyAgICAgICAgcmV0dXJuIC0xOworCisgICAgY29uc3Qg
RVZQX0NJUEhFUiAqZXZwX2NpcGhlciA9IEVWUF9nZXRfY2lwaGVyYnluYW1lKGNpcGhlcl9uYW1l
KTsKKyAgICBpZiAoZXZwX2NpcGhlciA9PSAwKSB7CisgICAgICAgIFB5RXJyX0Zvcm1hdChDcnlw
dG9FcnJvciwgIkludmFsaWQgY2lwaGVyIG5hbWU6ICVzIiwgY2lwaGVyX25hbWUpOworICAgICAg
ICByZXR1cm4gLTE7CisgICAgfQorCisgICAgbWVtc2V0KHNlbGYtPm1hc2ssIDAsIHNpemVvZihz
ZWxmLT5tYXNrKSk7CisgICAgbWVtc2V0KHNlbGYtPnplcm8sIDAsIHNpemVvZihzZWxmLT56ZXJv
KSk7CisgICAgc2VsZi0+aXNfY2hhY2hhMjAgPSBjaXBoZXJfbmFtZV9sZW4gPT0gOCAmJiBtZW1j
bXAoY2lwaGVyX25hbWUsICJjaGFjaGEyMCIsIDgpID09IDA7CisKKyAgICBzZWxmLT5jdHggPSBF
VlBfQ0lQSEVSX0NUWF9uZXcoKTsKKyAgICBDSEVDS19SRVNVTFRfQ1RPUihzZWxmLT5jdHggIT0g
MCk7CisKKyAgICByZXMgPSBFVlBfQ2lwaGVySW5pdF9leChzZWxmLT5jdHgsIGV2cF9jaXBoZXIs
IE5VTEwsIE5VTEwsIE5VTEwsIDEpOworICAgIENIRUNLX1JFU1VMVF9DVE9SKHJlcyAhPSAwKTsK
KworICAgIHJlcyA9IEVWUF9DSVBIRVJfQ1RYX3NldF9rZXlfbGVuZ3RoKHNlbGYtPmN0eCwga2V5
X2xlbik7CisgICAgQ0hFQ0tfUkVTVUxUX0NUT1IocmVzICE9IDApOworCisgICAgcmVzID0gRVZQ
X0NpcGhlckluaXRfZXgoc2VsZi0+Y3R4LCBOVUxMLCBOVUxMLCBrZXksIE5VTEwsIDEpOworICAg
IENIRUNLX1JFU1VMVF9DVE9SKHJlcyAhPSAwKTsKKworICAgIHJldHVybiAwOworfQorCitzdGF0
aWMgdm9pZAorSGVhZGVyUHJvdGVjdGlvbl9kZWFsbG9jKEhlYWRlclByb3RlY3Rpb25PYmplY3Qg
KnNlbGYpCit7CisgICAgRVZQX0NJUEhFUl9DVFhfZnJlZShzZWxmLT5jdHgpOworfQorCitzdGF0
aWMgaW50IEhlYWRlclByb3RlY3Rpb25fbWFzayhIZWFkZXJQcm90ZWN0aW9uT2JqZWN0ICpzZWxm
LCBjb25zdCB1bnNpZ25lZCBjaGFyKiBzYW1wbGUpCit7CisgICAgaW50IG91dGxlbjsKKyAgICBp
ZiAoc2VsZi0+aXNfY2hhY2hhMjApIHsKKyAgICAgICAgcmV0dXJuIEVWUF9DaXBoZXJJbml0X2V4
KHNlbGYtPmN0eCwgTlVMTCwgTlVMTCwgTlVMTCwgc2FtcGxlLCAxKSAmJgorICAgICAgICAgICAg
ICAgRVZQX0NpcGhlclVwZGF0ZShzZWxmLT5jdHgsIHNlbGYtPm1hc2ssICZvdXRsZW4sIHNlbGYt
Pnplcm8sIHNpemVvZihzZWxmLT56ZXJvKSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgcmV0dXJu
IEVWUF9DaXBoZXJVcGRhdGUoc2VsZi0+Y3R4LCBzZWxmLT5tYXNrLCAmb3V0bGVuLCBzYW1wbGUs
IFNBTVBMRV9MRU5HVEgpOworICAgIH0KK30KKworc3RhdGljIFB5T2JqZWN0KgorSGVhZGVyUHJv
dGVjdGlvbl9hcHBseShIZWFkZXJQcm90ZWN0aW9uT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJn
cykKK3sKKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpoZWFkZXIsICpwYXlsb2FkOworICAgIFB5
X3NzaXplX3QgaGVhZGVyX2xlbiwgcGF5bG9hZF9sZW47CisgICAgaW50IHJlczsKKworICAgIGlm
ICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAieSN5IyIsICZoZWFkZXIsICZoZWFkZXJfbGVuLCAm
cGF5bG9hZCwgJnBheWxvYWRfbGVuKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBpbnQg
cG5fbGVuZ3RoID0gKGhlYWRlclswXSAmIDB4MDMpICsgMTsKKyAgICBpbnQgcG5fb2Zmc2V0ID0g
aGVhZGVyX2xlbiAtIHBuX2xlbmd0aDsKKworICAgIHJlcyA9IEhlYWRlclByb3RlY3Rpb25fbWFz
ayhzZWxmLCBwYXlsb2FkICsgUEFDS0VUX05VTUJFUl9MRU5HVEhfTUFYIC0gcG5fbGVuZ3RoKTsK
KyAgICBDSEVDS19SRVNVTFQocmVzICE9IDApOworCisgICAgbWVtY3B5KHNlbGYtPmJ1ZmZlciwg
aGVhZGVyLCBoZWFkZXJfbGVuKTsKKyAgICBtZW1jcHkoc2VsZi0+YnVmZmVyICsgaGVhZGVyX2xl
biwgcGF5bG9hZCwgcGF5bG9hZF9sZW4pOworCisgICAgaWYgKHNlbGYtPmJ1ZmZlclswXSAmIDB4
ODApIHsKKyAgICAgICAgc2VsZi0+YnVmZmVyWzBdIF49IHNlbGYtPm1hc2tbMF0gJiAweDBGOwor
ICAgIH0gZWxzZSB7CisgICAgICAgIHNlbGYtPmJ1ZmZlclswXSBePSBzZWxmLT5tYXNrWzBdICYg
MHgxRjsKKyAgICB9CisKKyAgICBmb3IgKGludCBpID0gMDsgaSA8IHBuX2xlbmd0aDsgKytpKSB7
CisgICAgICAgIHNlbGYtPmJ1ZmZlcltwbl9vZmZzZXQgKyBpXSBePSBzZWxmLT5tYXNrWzEgKyBp
XTsKKyAgICB9CisKKyAgICByZXR1cm4gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZSgoY29uc3Qg
Y2hhciopc2VsZi0+YnVmZmVyLCBoZWFkZXJfbGVuICsgcGF5bG9hZF9sZW4pOworfQorCitzdGF0
aWMgUHlPYmplY3QqCitIZWFkZXJQcm90ZWN0aW9uX3JlbW92ZShIZWFkZXJQcm90ZWN0aW9uT2Jq
ZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpw
YWNrZXQ7CisgICAgUHlfc3NpemVfdCBwYWNrZXRfbGVuOworICAgIGludCBwbl9vZmZzZXQsIHJl
czsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAieSNJIiwgJnBhY2tldCwgJnBh
Y2tldF9sZW4sICZwbl9vZmZzZXQpKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIHJlcyA9
IEhlYWRlclByb3RlY3Rpb25fbWFzayhzZWxmLCBwYWNrZXQgKyBwbl9vZmZzZXQgKyBQQUNLRVRf
TlVNQkVSX0xFTkdUSF9NQVgpOworICAgIENIRUNLX1JFU1VMVChyZXMgIT0gMCk7CisKKyAgICBt
ZW1jcHkoc2VsZi0+YnVmZmVyLCBwYWNrZXQsIHBuX29mZnNldCArIFBBQ0tFVF9OVU1CRVJfTEVO
R1RIX01BWCk7CisKKyAgICBpZiAoc2VsZi0+YnVmZmVyWzBdICYgMHg4MCkgeworICAgICAgICBz
ZWxmLT5idWZmZXJbMF0gXj0gc2VsZi0+bWFza1swXSAmIDB4MEY7CisgICAgfSBlbHNlIHsKKyAg
ICAgICAgc2VsZi0+YnVmZmVyWzBdIF49IHNlbGYtPm1hc2tbMF0gJiAweDFGOworICAgIH0KKwor
ICAgIGludCBwbl9sZW5ndGggPSAoc2VsZi0+YnVmZmVyWzBdICYgMHgwMykgKyAxOworICAgIHVp
bnQzMl90IHBuX3RydW5jYXRlZCA9IDA7CisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBwbl9sZW5n
dGg7ICsraSkgeworICAgICAgICBzZWxmLT5idWZmZXJbcG5fb2Zmc2V0ICsgaV0gXj0gc2VsZi0+
bWFza1sxICsgaV07CisgICAgICAgIHBuX3RydW5jYXRlZCA9IHNlbGYtPmJ1ZmZlcltwbl9vZmZz
ZXQgKyBpXSB8IChwbl90cnVuY2F0ZWQgPDwgOCk7CisgICAgfQorCisgICAgcmV0dXJuIFB5X0J1
aWxkVmFsdWUoInkjaSIsIHNlbGYtPmJ1ZmZlciwgcG5fb2Zmc2V0ICsgcG5fbGVuZ3RoLCBwbl90
cnVuY2F0ZWQpOworfQorCitzdGF0aWMgUHlNZXRob2REZWYgSGVhZGVyUHJvdGVjdGlvbl9tZXRo
b2RzW10gPSB7CisgICAgeyJhcHBseSIsIChQeUNGdW5jdGlvbilIZWFkZXJQcm90ZWN0aW9uX2Fw
cGx5LCBNRVRIX1ZBUkFSR1MsICIifSwKKyAgICB7InJlbW92ZSIsIChQeUNGdW5jdGlvbilIZWFk
ZXJQcm90ZWN0aW9uX3JlbW92ZSwgTUVUSF9WQVJBUkdTLCAiIn0sCisgICAge05VTEx9Cit9Owor
CitzdGF0aWMgUHlUeXBlT2JqZWN0IEhlYWRlclByb3RlY3Rpb25UeXBlID0geworICAgIFB5VmFy
T2JqZWN0X0hFQURfSU5JVChOVUxMLCAwKQorICAgIE1PRFVMRV9OQU1FICIuSGVhZGVyUHJvdGVj
dGlvbiIsICAgIC8qIHRwX25hbWUgKi8KKyAgICBzaXplb2YoSGVhZGVyUHJvdGVjdGlvbk9iamVj
dCksICAgICAvKiB0cF9iYXNpY3NpemUgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvKiB0cF9pdGVtc2l6ZSAqLworICAgIChkZXN0cnVjdG9yKUhlYWRlclByb3Rl
Y3Rpb25fZGVhbGxvYywgICAvKiB0cF9kZWFsbG9jICovCisgICAgMCwgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLyogdHBfcHJpbnQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvKiB0cF9nZXRhdHRyICovCisgICAgMCwgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLyogdHBfc2V0YXR0ciAqLworICAgIDAsICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8qIHRwX3Jlc2VydmVkICovCisgICAgMCwgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLyogdHBfcmVwciAqLworICAgIDAsICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8qIHRwX2FzX251bWJlciAqLworICAgIDAsICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2FzX3NlcXVlbmNlICovCisgICAgMCwgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYXNfbWFwcGluZyAqLworICAgIDAsICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2hhc2ggICovCisgICAgMCwgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfY2FsbCAqLworICAgIDAsICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3N0ciAqLworICAgIDAsICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2dldGF0dHJvICovCisgICAgMCwgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfc2V0YXR0cm8gKi8KKyAgICAwLCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9hc19idWZmZXIgKi8KKyAgICBQeV9U
UEZMQUdTX0RFRkFVTFQsICAgICAgICAgICAgICAgICAvKiB0cF9mbGFncyAqLworICAgICJIZWFk
ZXJQcm90ZWN0aW9uIG9iamVjdHMiLCAgICAgICAgIC8qIHRwX2RvYyAqLworICAgIDAsICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3RyYXZlcnNlICovCisgICAgMCwgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfY2xlYXIgKi8KKyAgICAwLCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9yaWNoY29tcGFyZSAqLworICAgIDAs
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3dlYWtsaXN0b2Zmc2V0ICov
CisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfaXRlciAqLwor
ICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2l0ZXJuZXh0ICov
CisgICAgSGVhZGVyUHJvdGVjdGlvbl9tZXRob2RzLCAgICAgICAgICAgLyogdHBfbWV0aG9kcyAq
LworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX21lbWJlcnMg
Ki8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9nZXRzZXQg
Ki8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9iYXNlICov
CisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZGljdCAqLwor
ICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2Rlc2NyX2dldCAq
LworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2Rlc2NyX3Nl
dCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2RpY3Rv
ZmZzZXQgKi8KKyAgICAoaW5pdHByb2MpSGVhZGVyUHJvdGVjdGlvbl9pbml0LCAgICAvKiB0cF9p
bml0ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYWxs
b2MgKi8KK307CisKKworc3RhdGljIHN0cnVjdCBQeU1vZHVsZURlZiBtb2R1bGVkZWYgPSB7Cisg
ICAgUHlNb2R1bGVEZWZfSEVBRF9JTklULAorICAgIE1PRFVMRV9OQU1FLCAgICAgICAgICAgICAg
ICAgICAgICAgIC8qIG1fbmFtZSAqLworICAgICJBIGZhc3RlciBidWZmZXIuIiwgICAgICAgICAg
ICAgICAgIC8qIG1fZG9jICovCisgICAgLTEsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLyogbV9zaXplICovCisgICAgTlVMTCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
LyogbV9tZXRob2RzICovCisgICAgTlVMTCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
LyogbV9yZWxvYWQgKi8KKyAgICBOVUxMLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
KiBtX3RyYXZlcnNlICovCisgICAgTlVMTCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
LyogbV9jbGVhciAqLworICAgIE5VTEwsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8q
IG1fZnJlZSAqLworfTsKKworUHlNT0RJTklUX0ZVTkMKK1B5SW5pdF9fY3J5cHRvKHZvaWQpCit7
CisgICAgUHlPYmplY3QqIG07CisKKyAgICBtID0gUHlNb2R1bGVfQ3JlYXRlKCZtb2R1bGVkZWYp
OworICAgIGlmIChtID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgQ3J5cHRv
RXJyb3IgPSBQeUVycl9OZXdFeGNlcHRpb24oTU9EVUxFX05BTUUgIi5DcnlwdG9FcnJvciIsIFB5
RXhjX1ZhbHVlRXJyb3IsIE5VTEwpOworICAgIFB5X0lOQ1JFRihDcnlwdG9FcnJvcik7CisgICAg
UHlNb2R1bGVfQWRkT2JqZWN0KG0sICJDcnlwdG9FcnJvciIsIENyeXB0b0Vycm9yKTsKKworICAg
IEFFQURUeXBlLnRwX25ldyA9IFB5VHlwZV9HZW5lcmljTmV3OworICAgIGlmIChQeVR5cGVfUmVh
ZHkoJkFFQURUeXBlKSA8IDApCisgICAgICAgIHJldHVybiBOVUxMOworICAgIFB5X0lOQ1JFRigm
QUVBRFR5cGUpOworICAgIFB5TW9kdWxlX0FkZE9iamVjdChtLCAiQUVBRCIsIChQeU9iamVjdCAq
KSZBRUFEVHlwZSk7CisKKyAgICBIZWFkZXJQcm90ZWN0aW9uVHlwZS50cF9uZXcgPSBQeVR5cGVf
R2VuZXJpY05ldzsKKyAgICBpZiAoUHlUeXBlX1JlYWR5KCZIZWFkZXJQcm90ZWN0aW9uVHlwZSkg
PCAwKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBQeV9JTkNSRUYoJkhlYWRlclByb3RlY3Rp
b25UeXBlKTsKKyAgICBQeU1vZHVsZV9BZGRPYmplY3QobSwgIkhlYWRlclByb3RlY3Rpb24iLCAo
UHlPYmplY3QgKikmSGVhZGVyUHJvdGVjdGlvblR5cGUpOworCisgICAgLy8gZW5zdXJlIHJlcXVp
cmVkIGNpcGhlcnMgYXJlIGluaXRpYWxpc2VkCisgICAgRVZQX2FkZF9jaXBoZXIoRVZQX2Flc18x
MjhfZWNiKCkpOworICAgIEVWUF9hZGRfY2lwaGVyKEVWUF9hZXNfMTI4X2djbSgpKTsKKyAgICBF
VlBfYWRkX2NpcGhlcihFVlBfYWVzXzI1Nl9lY2IoKSk7CisgICAgRVZQX2FkZF9jaXBoZXIoRVZQ
X2Flc18yNTZfZ2NtKCkpOworCisgICAgcmV0dXJuIG07Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fp
b3F1aWMvc3JjL2Fpb3F1aWMvX2NyeXB0by5weWkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvc3JjL2Fpb3F1aWMv
X2NyeXB0by5weWkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzJjNTIzMGQ5OTJlN2YyMTljOTNiZWMzY2I0NTcyMTRj
MjUxOGM3NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9zcmMvYWlvcXVpYy9fY3J5
cHRvLnB5aQpAQCAtMCwwICsxLDE3IEBACitmcm9tIHR5cGluZyBpbXBvcnQgVHVwbGUKKworY2xh
c3MgQUVBRDoKKyAgICBkZWYgX19pbml0X18oc2VsZiwgY2lwaGVyX25hbWU6IGJ5dGVzLCBrZXk6
IGJ5dGVzLCBpdjogYnl0ZXMpOiAuLi4KKyAgICBkZWYgZGVjcnlwdCgKKyAgICAgICAgc2VsZiwg
ZGF0YTogYnl0ZXMsIGFzc29jaWF0ZWRfZGF0YTogYnl0ZXMsIHBhY2tldF9udW1iZXI6IGludAor
ICAgICkgLT4gYnl0ZXM6IC4uLgorICAgIGRlZiBlbmNyeXB0KAorICAgICAgICBzZWxmLCBkYXRh
OiBieXRlcywgYXNzb2NpYXRlZF9kYXRhOiBieXRlcywgcGFja2V0X251bWJlcjogaW50CisgICAg
KSAtPiBieXRlczogLi4uCisKK2NsYXNzIENyeXB0b0Vycm9yKFZhbHVlRXJyb3IpOiAuLi4KKwor
Y2xhc3MgSGVhZGVyUHJvdGVjdGlvbjoKKyAgICBkZWYgX19pbml0X18oc2VsZiwgY2lwaGVyX25h
bWU6IGJ5dGVzLCBrZXk6IGJ5dGVzKTogLi4uCisgICAgZGVmIGFwcGx5KHNlbGYsIHBsYWluX2hl
YWRlcjogYnl0ZXMsIHByb3RlY3RlZF9wYXlsb2FkOiBieXRlcykgLT4gYnl0ZXM6IC4uLgorICAg
IGRlZiByZW1vdmUoc2VsZiwgcGFja2V0OiBieXRlcywgZW5jcnlwdGVkX29mZnNldDogaW50KSAt
PiBUdXBsZVtieXRlcywgaW50XTogLi4uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvc3JjL2Fp
b3F1aWMvYWJvdXQucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvc3JjL2Fpb3F1aWMvYWJvdXQucHkKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODJjZDhmMzNkNjVkY2JmMjM5N2QxMmM4M2M2NTFjYzg5OWU5MTU1NgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvdGhpcmRfcGFydHkvYWlvcXVpYy9zcmMvYWlvcXVpYy9hYm91dC5weQpAQCAtMCwwICsxLDcg
QEAKK19fYXV0aG9yX18gPSAiSmVyZW15IExhaW7DqSIKK19fZW1haWxfXyA9ICJqZXJlbXkubGFp
bmVAbTR4Lm9yZyIKK19fbGljZW5zZV9fID0gIkJTRCIKK19fc3VtbWFyeV9fID0gIkFuIGltcGxl
bWVudGF0aW9uIG9mIFFVSUMgYW5kIEhUVFAvMyIKK19fdGl0bGVfXyA9ICJhaW9xdWljIgorX191
cmlfXyA9ICJodHRwczovL2dpdGh1Yi5jb20vYWlvcnRjL2Fpb3F1aWMiCitfX3ZlcnNpb25fXyA9
ICIwLjguNyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9zcmMvYWlvcXVpYy9hc3luY2lvL19f
aW5pdF9fLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3NyYy9haW9xdWljL2FzeW5jaW8vX19pbml0X18ucHkK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uM2ZkYTY5ZDg5OTM0ZThmODdhMjFjNWI5OGU5N2ExMTQ5MTJiZThjYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9zcmMvYWlvcXVpYy9hc3luY2lvL19faW5pdF9f
LnB5CkBAIC0wLDAgKzEsMyBAQAorZnJvbSAuY2xpZW50IGltcG9ydCBjb25uZWN0ICAjIG5vcWEK
K2Zyb20gLnByb3RvY29sIGltcG9ydCBRdWljQ29ubmVjdGlvblByb3RvY29sICAjIG5vcWEKK2Zy
b20gLnNlcnZlciBpbXBvcnQgc2VydmUgICMgbm9xYQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWlj
L3NyYy9haW9xdWljL2FzeW5jaW8vY2xpZW50LnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3NyYy9haW9xdWlj
L2FzeW5jaW8vY2xpZW50LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQyOTM3ZTllODkyYmZlNzZjZDJjMmZjN2Ni
M2E2ZTRmZjczOTMzZGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvc3JjL2Fpb3F1
aWMvYXN5bmNpby9jbGllbnQucHkKQEAgLTAsMCArMSw5NCBAQAoraW1wb3J0IGFzeW5jaW8KK2lt
cG9ydCBpcGFkZHJlc3MKK2ltcG9ydCBzb2NrZXQKK2ltcG9ydCBzeXMKK2Zyb20gdHlwaW5nIGlt
cG9ydCBBc3luY0dlbmVyYXRvciwgQ2FsbGFibGUsIE9wdGlvbmFsLCBjYXN0CisKK2Zyb20gLi5x
dWljLmNvbmZpZ3VyYXRpb24gaW1wb3J0IFF1aWNDb25maWd1cmF0aW9uCitmcm9tIC4ucXVpYy5j
b25uZWN0aW9uIGltcG9ydCBRdWljQ29ubmVjdGlvbgorZnJvbSAuLnRscyBpbXBvcnQgU2Vzc2lv
blRpY2tldEhhbmRsZXIKK2Zyb20gLmNvbXBhdCBpbXBvcnQgYXN5bmNjb250ZXh0bWFuYWdlcgor
ZnJvbSAucHJvdG9jb2wgaW1wb3J0IFF1aWNDb25uZWN0aW9uUHJvdG9jb2wsIFF1aWNTdHJlYW1I
YW5kbGVyCisKK19fYWxsX18gPSBbImNvbm5lY3QiXQorCisKK0Bhc3luY2NvbnRleHRtYW5hZ2Vy
Cithc3luYyBkZWYgY29ubmVjdCgKKyAgICBob3N0OiBzdHIsCisgICAgcG9ydDogaW50LAorICAg
ICosCisgICAgY29uZmlndXJhdGlvbjogT3B0aW9uYWxbUXVpY0NvbmZpZ3VyYXRpb25dID0gTm9u
ZSwKKyAgICBjcmVhdGVfcHJvdG9jb2w6IE9wdGlvbmFsW0NhbGxhYmxlXSA9IFF1aWNDb25uZWN0
aW9uUHJvdG9jb2wsCisgICAgc2Vzc2lvbl90aWNrZXRfaGFuZGxlcjogT3B0aW9uYWxbU2Vzc2lv
blRpY2tldEhhbmRsZXJdID0gTm9uZSwKKyAgICBzdHJlYW1faGFuZGxlcjogT3B0aW9uYWxbUXVp
Y1N0cmVhbUhhbmRsZXJdID0gTm9uZSwKKyAgICB3YWl0X2Nvbm5lY3RlZDogYm9vbCA9IFRydWUs
CisgICAgbG9jYWxfcG9ydDogaW50ID0gMCwKKykgLT4gQXN5bmNHZW5lcmF0b3JbUXVpY0Nvbm5l
Y3Rpb25Qcm90b2NvbCwgTm9uZV06CisgICAgIiIiCisgICAgQ29ubmVjdCB0byBhIFFVSUMgc2Vy
dmVyIGF0IHRoZSBnaXZlbiBgaG9zdGAgYW5kIGBwb3J0YC4KKworICAgIDptZXRoOmBjb25uZWN0
KClgIHJldHVybnMgYW4gYXdhaXRhYmxlLiBBd2FpdGluZyBpdCB5aWVsZHMgYQorICAgIDpjbGFz
czpgfmFpb3F1aWMuYXN5bmNpby5RdWljQ29ubmVjdGlvblByb3RvY29sYCB3aGljaCBjYW4gYmUg
dXNlZCB0bworICAgIGNyZWF0ZSBzdHJlYW1zLgorCisgICAgOmZ1bmM6YGNvbm5lY3RgIGFsc28g
YWNjZXB0cyB0aGUgZm9sbG93aW5nIG9wdGlvbmFsIGFyZ3VtZW50czoKKworICAgICogYGBjb25m
aWd1cmF0aW9uYGAgaXMgYSA6Y2xhc3M6YH5haW9xdWljLnF1aWMuY29uZmlndXJhdGlvbi5RdWlj
Q29uZmlndXJhdGlvbmAKKyAgICAgIGNvbmZpZ3VyYXRpb24gb2JqZWN0LgorICAgICogYGBjcmVh
dGVfcHJvdG9jb2xgYCBhbGxvd3MgY3VzdG9taXppbmcgdGhlIDpjbGFzczpgfmFzeW5jaW8uUHJv
dG9jb2xgIHRoYXQKKyAgICAgIG1hbmFnZXMgdGhlIGNvbm5lY3Rpb24uIEl0IHNob3VsZCBiZSBh
IGNhbGxhYmxlIG9yIGNsYXNzIGFjY2VwdGluZyB0aGUgc2FtZQorICAgICAgYXJndW1lbnRzIGFz
IDpjbGFzczpgfmFpb3F1aWMuYXN5bmNpby5RdWljQ29ubmVjdGlvblByb3RvY29sYCBhbmQgcmV0
dXJuaW5nCisgICAgICBhbiBpbnN0YW5jZSBvZiA6Y2xhc3M6YH5haW9xdWljLmFzeW5jaW8uUXVp
Y0Nvbm5lY3Rpb25Qcm90b2NvbGAgb3IgYSBzdWJjbGFzcy4KKyAgICAqIGBgc2Vzc2lvbl90aWNr
ZXRfaGFuZGxlcmBgIGlzIGEgY2FsbGJhY2sgd2hpY2ggaXMgaW52b2tlZCBieSB0aGUgVExTCisg
ICAgICBlbmdpbmUgd2hlbiBhIG5ldyBzZXNzaW9uIHRpY2tldCBpcyByZWNlaXZlZC4KKyAgICAq
IGBgc3RyZWFtX2hhbmRsZXJgYCBpcyBhIGNhbGxiYWNrIHdoaWNoIGlzIGludm9rZWQgd2hlbmV2
ZXIgYSBzdHJlYW0gaXMKKyAgICAgIGNyZWF0ZWQuIEl0IG11c3QgYWNjZXB0IHR3byBhcmd1bWVu
dHM6IGEgOmNsYXNzOmBhc3luY2lvLlN0cmVhbVJlYWRlcmAKKyAgICAgIGFuZCBhIDpjbGFzczpg
YXN5bmNpby5TdHJlYW1Xcml0ZXJgLgorICAgICogYGBsb2NhbF9wb3J0YGAgaXMgdGhlIFVEUCBw
b3J0IG51bWJlciB0aGF0IHRoaXMgY2xpZW50IHdhbnRzIHRvIGJpbmQuCisgICAgIiIiCisgICAg
bG9vcCA9IGFzeW5jaW8uZ2V0X2V2ZW50X2xvb3AoKQorICAgIGxvY2FsX2hvc3QgPSAiOjoiCisK
KyAgICAjIGlmIGhvc3QgaXMgbm90IGFuIElQIGFkZHJlc3MsIHBhc3MgaXQgdG8gZW5hYmxlIFNO
SQorICAgIHRyeToKKyAgICAgICAgaXBhZGRyZXNzLmlwX2FkZHJlc3MoaG9zdCkKKyAgICAgICAg
c2VydmVyX25hbWUgPSBOb25lCisgICAgZXhjZXB0IFZhbHVlRXJyb3I6CisgICAgICAgIHNlcnZl
cl9uYW1lID0gaG9zdAorCisgICAgIyBsb29rdXAgcmVtb3RlIGFkZHJlc3MKKyAgICBpbmZvcyA9
IGF3YWl0IGxvb3AuZ2V0YWRkcmluZm8oaG9zdCwgcG9ydCwgdHlwZT1zb2NrZXQuU09DS19ER1JB
TSkKKyAgICBhZGRyID0gaW5mb3NbMF1bNF0KKyAgICBpZiBsZW4oYWRkcikgPT0gMjoKKyAgICAg
ICAgIyBkZXRlcm1pbmUgYmVoYXZpb3VyIGZvciBJUHY0CisgICAgICAgIGlmIHN5cy5wbGF0Zm9y
bSA9PSAid2luMzIiOgorICAgICAgICAgICAgIyBvbiBXaW5kb3dzLCB3ZSBtdXN0IHVzZSBhbiBJ
UHY0IHNvY2tldCB0byByZWFjaCBhbiBJUHY0IGhvc3QKKyAgICAgICAgICAgIGxvY2FsX2hvc3Qg
PSAiMC4wLjAuMCIKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgICMgb3RoZXIgcGxhdGZvcm1z
IHN1cHBvcnQgZHVhbC1zdGFjayBzb2NrZXRzCisgICAgICAgICAgICBhZGRyID0gKCI6OmZmZmY6
IiArIGFkZHJbMF0sIGFkZHJbMV0sIDAsIDApCisKKyAgICAjIHByZXBhcmUgUVVJQyBjb25uZWN0
aW9uCisgICAgaWYgY29uZmlndXJhdGlvbiBpcyBOb25lOgorICAgICAgICBjb25maWd1cmF0aW9u
ID0gUXVpY0NvbmZpZ3VyYXRpb24oaXNfY2xpZW50PVRydWUpCisgICAgaWYgc2VydmVyX25hbWUg
aXMgbm90IE5vbmU6CisgICAgICAgIGNvbmZpZ3VyYXRpb24uc2VydmVyX25hbWUgPSBzZXJ2ZXJf
bmFtZQorICAgIGNvbm5lY3Rpb24gPSBRdWljQ29ubmVjdGlvbigKKyAgICAgICAgY29uZmlndXJh
dGlvbj1jb25maWd1cmF0aW9uLCBzZXNzaW9uX3RpY2tldF9oYW5kbGVyPXNlc3Npb25fdGlja2V0
X2hhbmRsZXIKKyAgICApCisKKyAgICAjIGNvbm5lY3QKKyAgICBfLCBwcm90b2NvbCA9IGF3YWl0
IGxvb3AuY3JlYXRlX2RhdGFncmFtX2VuZHBvaW50KAorICAgICAgICBsYW1iZGE6IGNyZWF0ZV9w
cm90b2NvbChjb25uZWN0aW9uLCBzdHJlYW1faGFuZGxlcj1zdHJlYW1faGFuZGxlciksCisgICAg
ICAgIGxvY2FsX2FkZHI9KGxvY2FsX2hvc3QsIGxvY2FsX3BvcnQpLAorICAgICkKKyAgICBwcm90
b2NvbCA9IGNhc3QoUXVpY0Nvbm5lY3Rpb25Qcm90b2NvbCwgcHJvdG9jb2wpCisgICAgcHJvdG9j
b2wuY29ubmVjdChhZGRyKQorICAgIGlmIHdhaXRfY29ubmVjdGVkOgorICAgICAgICBhd2FpdCBw
cm90b2NvbC53YWl0X2Nvbm5lY3RlZCgpCisgICAgdHJ5OgorICAgICAgICB5aWVsZCBwcm90b2Nv
bAorICAgIGZpbmFsbHk6CisgICAgICAgIHByb3RvY29sLmNsb3NlKCkKKyAgICBhd2FpdCBwcm90
b2NvbC53YWl0X2Nsb3NlZCgpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvc3JjL2Fpb3F1aWMv
YXN5bmNpby9jb21wYXQucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvc3JjL2Fpb3F1aWMvYXN5bmNpby9jb21w
YXQucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjAxZTYyZjZkOTQyOTYxOTMzZmI2ZmUwNzJhZTBmMjdlNjQzYjRm
ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9zcmMvYWlvcXVpYy9hc3luY2lvL2Nv
bXBhdC5weQpAQCAtMCwwICsxLDMzIEBACitmcm9tIGNvbnRleHRsaWIgaW1wb3J0IENvbnRleHRE
ZWNvcmF0b3IKK2Zyb20gZnVuY3Rvb2xzIGltcG9ydCB3cmFwcworCit0cnk6CisgICAgZnJvbSBj
b250ZXh0bGliIGltcG9ydCBhc3luY2NvbnRleHRtYW5hZ2VyCitleGNlcHQgSW1wb3J0RXJyb3I6
CisgICAgYXN5bmNjb250ZXh0bWFuYWdlciA9IE5vbmUKKworCitjbGFzcyBfQXN5bmNHZW5lcmF0
b3JDb250ZXh0TWFuYWdlcihDb250ZXh0RGVjb3JhdG9yKToKKyAgICBkZWYgX19pbml0X18oc2Vs
ZiwgZnVuYywgYXJncywga3dkcyk6CisgICAgICAgIHNlbGYuZ2VuID0gZnVuYygqYXJncywgKipr
d2RzKQorICAgICAgICBzZWxmLmZ1bmMsIHNlbGYuYXJncywgc2VsZi5rd2RzID0gZnVuYywgYXJn
cywga3dkcworICAgICAgICBzZWxmLl9fZG9jX18gPSBmdW5jLl9fZG9jX18KKworICAgIGFzeW5j
IGRlZiBfX2FlbnRlcl9fKHNlbGYpOgorICAgICAgICByZXR1cm4gYXdhaXQgc2VsZi5nZW4uX19h
bmV4dF9fKCkKKworICAgIGFzeW5jIGRlZiBfX2FleGl0X18oc2VsZiwgdHlwLCB2YWx1ZSwgdHJh
Y2ViYWNrKToKKyAgICAgICAgaWYgdHlwIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgYXdhaXQg
c2VsZi5nZW4uYXRocm93KHR5cCwgdmFsdWUsIHRyYWNlYmFjaykKKworCitkZWYgX2FzeW5jY29u
dGV4dG1hbmFnZXIoZnVuYyk6CisgICAgQHdyYXBzKGZ1bmMpCisgICAgZGVmIGhlbHBlcigqYXJn
cywgKiprd2RzKToKKyAgICAgICAgcmV0dXJuIF9Bc3luY0dlbmVyYXRvckNvbnRleHRNYW5hZ2Vy
KGZ1bmMsIGFyZ3MsIGt3ZHMpCisKKyAgICByZXR1cm4gaGVscGVyCisKKworaWYgYXN5bmNjb250
ZXh0bWFuYWdlciBpcyBOb25lOgorICAgIGFzeW5jY29udGV4dG1hbmFnZXIgPSBfYXN5bmNjb250
ZXh0bWFuYWdlcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3NyYy9haW9xdWljL2FzeW5jaW8v
cHJvdG9jb2wucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvc3JjL2Fpb3F1aWMvYXN5bmNpby9wcm90b2NvbC5w
eQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5iZTAwNDMzNWI4ZmZmZjlkNzAyNWQzNjVlY2FhOTMxZjc3NDcyMjkzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3NyYy9haW9xdWljL2FzeW5jaW8vcHJvdG9j
b2wucHkKQEAgLTAsMCArMSwyNDAgQEAKK2ltcG9ydCBhc3luY2lvCitmcm9tIHR5cGluZyBpbXBv
cnQgQW55LCBDYWxsYWJsZSwgRGljdCwgT3B0aW9uYWwsIFRleHQsIFR1cGxlLCBVbmlvbiwgY2Fz
dAorCitmcm9tIC4ucXVpYyBpbXBvcnQgZXZlbnRzCitmcm9tIC4ucXVpYy5jb25uZWN0aW9uIGlt
cG9ydCBOZXR3b3JrQWRkcmVzcywgUXVpY0Nvbm5lY3Rpb24KKworUXVpY0Nvbm5lY3Rpb25JZEhh
bmRsZXIgPSBDYWxsYWJsZVtbYnl0ZXNdLCBOb25lXQorUXVpY1N0cmVhbUhhbmRsZXIgPSBDYWxs
YWJsZVtbYXN5bmNpby5TdHJlYW1SZWFkZXIsIGFzeW5jaW8uU3RyZWFtV3JpdGVyXSwgTm9uZV0K
KworCitjbGFzcyBRdWljQ29ubmVjdGlvblByb3RvY29sKGFzeW5jaW8uRGF0YWdyYW1Qcm90b2Nv
bCk6CisgICAgZGVmIF9faW5pdF9fKAorICAgICAgICBzZWxmLCBxdWljOiBRdWljQ29ubmVjdGlv
biwgc3RyZWFtX2hhbmRsZXI6IE9wdGlvbmFsW1F1aWNTdHJlYW1IYW5kbGVyXSA9IE5vbmUKKyAg
ICApOgorICAgICAgICBsb29wID0gYXN5bmNpby5nZXRfZXZlbnRfbG9vcCgpCisKKyAgICAgICAg
c2VsZi5fY2xvc2VkID0gYXN5bmNpby5FdmVudCgpCisgICAgICAgIHNlbGYuX2Nvbm5lY3RlZCA9
IEZhbHNlCisgICAgICAgIHNlbGYuX2Nvbm5lY3RlZF93YWl0ZXI6IE9wdGlvbmFsW2FzeW5jaW8u
RnV0dXJlW05vbmVdXSA9IE5vbmUKKyAgICAgICAgc2VsZi5fbG9vcCA9IGxvb3AKKyAgICAgICAg
c2VsZi5fcGluZ193YWl0ZXJzOiBEaWN0W2ludCwgYXN5bmNpby5GdXR1cmVbTm9uZV1dID0ge30K
KyAgICAgICAgc2VsZi5fcXVpYyA9IHF1aWMKKyAgICAgICAgc2VsZi5fc3RyZWFtX3JlYWRlcnM6
IERpY3RbaW50LCBhc3luY2lvLlN0cmVhbVJlYWRlcl0gPSB7fQorICAgICAgICBzZWxmLl90aW1l
cjogT3B0aW9uYWxbYXN5bmNpby5UaW1lckhhbmRsZV0gPSBOb25lCisgICAgICAgIHNlbGYuX3Rp
bWVyX2F0OiBPcHRpb25hbFtmbG9hdF0gPSBOb25lCisgICAgICAgIHNlbGYuX3RyYW5zbWl0X3Rh
c2s6IE9wdGlvbmFsW2FzeW5jaW8uSGFuZGxlXSA9IE5vbmUKKyAgICAgICAgc2VsZi5fdHJhbnNw
b3J0OiBPcHRpb25hbFthc3luY2lvLkRhdGFncmFtVHJhbnNwb3J0XSA9IE5vbmUKKworICAgICAg
ICAjIGNhbGxiYWNrcworICAgICAgICBzZWxmLl9jb25uZWN0aW9uX2lkX2lzc3VlZF9oYW5kbGVy
OiBRdWljQ29ubmVjdGlvbklkSGFuZGxlciA9IGxhbWJkYSBjOiBOb25lCisgICAgICAgIHNlbGYu
X2Nvbm5lY3Rpb25faWRfcmV0aXJlZF9oYW5kbGVyOiBRdWljQ29ubmVjdGlvbklkSGFuZGxlciA9
IGxhbWJkYSBjOiBOb25lCisgICAgICAgIHNlbGYuX2Nvbm5lY3Rpb25fdGVybWluYXRlZF9oYW5k
bGVyOiBDYWxsYWJsZVtbXSwgTm9uZV0gPSBsYW1iZGE6IE5vbmUKKyAgICAgICAgaWYgc3RyZWFt
X2hhbmRsZXIgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBzZWxmLl9zdHJlYW1faGFuZGxlciA9
IHN0cmVhbV9oYW5kbGVyCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLl9zdHJlYW1f
aGFuZGxlciA9IGxhbWJkYSByLCB3OiBOb25lCisKKyAgICBkZWYgY2hhbmdlX2Nvbm5lY3Rpb25f
aWQoc2VsZikgLT4gTm9uZToKKyAgICAgICAgIiIiCisgICAgICAgIENoYW5nZSB0aGUgY29ubmVj
dGlvbiBJRCB1c2VkIHRvIGNvbW11bmljYXRlIHdpdGggdGhlIHBlZXIuCisKKyAgICAgICAgVGhl
IHByZXZpb3VzIGNvbm5lY3Rpb24gSUQgd2lsbCBiZSByZXRpcmVkLgorICAgICAgICAiIiIKKyAg
ICAgICAgc2VsZi5fcXVpYy5jaGFuZ2VfY29ubmVjdGlvbl9pZCgpCisgICAgICAgIHNlbGYudHJh
bnNtaXQoKQorCisgICAgZGVmIGNsb3NlKHNlbGYpIC0+IE5vbmU6CisgICAgICAgICIiIgorICAg
ICAgICBDbG9zZSB0aGUgY29ubmVjdGlvbi4KKyAgICAgICAgIiIiCisgICAgICAgIHNlbGYuX3F1
aWMuY2xvc2UoKQorICAgICAgICBzZWxmLnRyYW5zbWl0KCkKKworICAgIGRlZiBjb25uZWN0KHNl
bGYsIGFkZHI6IE5ldHdvcmtBZGRyZXNzKSAtPiBOb25lOgorICAgICAgICAiIiIKKyAgICAgICAg
SW5pdGlhdGUgdGhlIFRMUyBoYW5kc2hha2UuCisKKyAgICAgICAgVGhpcyBtZXRob2QgY2FuIG9u
bHkgYmUgY2FsbGVkIGZvciBjbGllbnRzIGFuZCBhIHNpbmdsZSB0aW1lLgorICAgICAgICAiIiIK
KyAgICAgICAgc2VsZi5fcXVpYy5jb25uZWN0KGFkZHIsIG5vdz1zZWxmLl9sb29wLnRpbWUoKSkK
KyAgICAgICAgc2VsZi50cmFuc21pdCgpCisKKyAgICBhc3luYyBkZWYgY3JlYXRlX3N0cmVhbSgK
KyAgICAgICAgc2VsZiwgaXNfdW5pZGlyZWN0aW9uYWw6IGJvb2wgPSBGYWxzZQorICAgICkgLT4g
VHVwbGVbYXN5bmNpby5TdHJlYW1SZWFkZXIsIGFzeW5jaW8uU3RyZWFtV3JpdGVyXToKKyAgICAg
ICAgIiIiCisgICAgICAgIENyZWF0ZSBhIFFVSUMgc3RyZWFtIGFuZCByZXR1cm4gYSBwYWlyIG9m
IChyZWFkZXIsIHdyaXRlcikgb2JqZWN0cy4KKworICAgICAgICBUaGUgcmV0dXJuZWQgcmVhZGVy
IGFuZCB3cml0ZXIgb2JqZWN0cyBhcmUgaW5zdGFuY2VzIG9mIDpjbGFzczpgYXN5bmNpby5TdHJl
YW1SZWFkZXJgCisgICAgICAgIGFuZCA6Y2xhc3M6YGFzeW5jaW8uU3RyZWFtV3JpdGVyYCBjbGFz
c2VzLgorICAgICAgICAiIiIKKyAgICAgICAgc3RyZWFtX2lkID0gc2VsZi5fcXVpYy5nZXRfbmV4
dF9hdmFpbGFibGVfc3RyZWFtX2lkKAorICAgICAgICAgICAgaXNfdW5pZGlyZWN0aW9uYWw9aXNf
dW5pZGlyZWN0aW9uYWwKKyAgICAgICAgKQorICAgICAgICByZXR1cm4gc2VsZi5fY3JlYXRlX3N0
cmVhbShzdHJlYW1faWQpCisKKyAgICBkZWYgcmVxdWVzdF9rZXlfdXBkYXRlKHNlbGYpIC0+IE5v
bmU6CisgICAgICAgICIiIgorICAgICAgICBSZXF1ZXN0IGFuIHVwZGF0ZSBvZiB0aGUgZW5jcnlw
dGlvbiBrZXlzLgorICAgICAgICAiIiIKKyAgICAgICAgc2VsZi5fcXVpYy5yZXF1ZXN0X2tleV91
cGRhdGUoKQorICAgICAgICBzZWxmLnRyYW5zbWl0KCkKKworICAgIGFzeW5jIGRlZiBwaW5nKHNl
bGYpIC0+IE5vbmU6CisgICAgICAgICIiIgorICAgICAgICBQaW5nIHRoZSBwZWVyIGFuZCB3YWl0
IGZvciB0aGUgcmVzcG9uc2UuCisgICAgICAgICIiIgorICAgICAgICB3YWl0ZXIgPSBzZWxmLl9s
b29wLmNyZWF0ZV9mdXR1cmUoKQorICAgICAgICB1aWQgPSBpZCh3YWl0ZXIpCisgICAgICAgIHNl
bGYuX3Bpbmdfd2FpdGVyc1t1aWRdID0gd2FpdGVyCisgICAgICAgIHNlbGYuX3F1aWMuc2VuZF9w
aW5nKHVpZCkKKyAgICAgICAgc2VsZi50cmFuc21pdCgpCisgICAgICAgIGF3YWl0IGFzeW5jaW8u
c2hpZWxkKHdhaXRlcikKKworICAgIGRlZiB0cmFuc21pdChzZWxmKSAtPiBOb25lOgorICAgICAg
ICAiIiIKKyAgICAgICAgU2VuZCBwZW5kaW5nIGRhdGFncmFtcyB0byB0aGUgcGVlciBhbmQgYXJt
IHRoZSB0aW1lciBpZiBuZWVkZWQuCisgICAgICAgICIiIgorICAgICAgICBzZWxmLl90cmFuc21p
dF90YXNrID0gTm9uZQorCisgICAgICAgICMgc2VuZCBkYXRhZ3JhbXMKKyAgICAgICAgZm9yIGRh
dGEsIGFkZHIgaW4gc2VsZi5fcXVpYy5kYXRhZ3JhbXNfdG9fc2VuZChub3c9c2VsZi5fbG9vcC50
aW1lKCkpOgorICAgICAgICAgICAgc2VsZi5fdHJhbnNwb3J0LnNlbmR0byhkYXRhLCBhZGRyKQor
CisgICAgICAgICMgcmUtYXJtIHRpbWVyCisgICAgICAgIHRpbWVyX2F0ID0gc2VsZi5fcXVpYy5n
ZXRfdGltZXIoKQorICAgICAgICBpZiBzZWxmLl90aW1lciBpcyBub3QgTm9uZSBhbmQgc2VsZi5f
dGltZXJfYXQgIT0gdGltZXJfYXQ6CisgICAgICAgICAgICBzZWxmLl90aW1lci5jYW5jZWwoKQor
ICAgICAgICAgICAgc2VsZi5fdGltZXIgPSBOb25lCisgICAgICAgIGlmIHNlbGYuX3RpbWVyIGlz
IE5vbmUgYW5kIHRpbWVyX2F0IGlzIG5vdCBOb25lOgorICAgICAgICAgICAgc2VsZi5fdGltZXIg
PSBzZWxmLl9sb29wLmNhbGxfYXQodGltZXJfYXQsIHNlbGYuX2hhbmRsZV90aW1lcikKKyAgICAg
ICAgc2VsZi5fdGltZXJfYXQgPSB0aW1lcl9hdAorCisgICAgYXN5bmMgZGVmIHdhaXRfY2xvc2Vk
KHNlbGYpIC0+IE5vbmU6CisgICAgICAgICIiIgorICAgICAgICBXYWl0IGZvciB0aGUgY29ubmVj
dGlvbiB0byBiZSBjbG9zZWQuCisgICAgICAgICIiIgorICAgICAgICBhd2FpdCBzZWxmLl9jbG9z
ZWQud2FpdCgpCisKKyAgICBhc3luYyBkZWYgd2FpdF9jb25uZWN0ZWQoc2VsZikgLT4gTm9uZToK
KyAgICAgICAgIiIiCisgICAgICAgIFdhaXQgZm9yIHRoZSBUTFMgaGFuZHNoYWtlIHRvIGNvbXBs
ZXRlLgorICAgICAgICAiIiIKKyAgICAgICAgYXNzZXJ0IHNlbGYuX2Nvbm5lY3RlZF93YWl0ZXIg
aXMgTm9uZSwgImFscmVhZHkgYXdhaXRpbmcgY29ubmVjdGVkIgorICAgICAgICBpZiBub3Qgc2Vs
Zi5fY29ubmVjdGVkOgorICAgICAgICAgICAgc2VsZi5fY29ubmVjdGVkX3dhaXRlciA9IHNlbGYu
X2xvb3AuY3JlYXRlX2Z1dHVyZSgpCisgICAgICAgICAgICBhd2FpdCBhc3luY2lvLnNoaWVsZChz
ZWxmLl9jb25uZWN0ZWRfd2FpdGVyKQorCisgICAgIyBhc3luY2lvLlRyYW5zcG9ydAorCisgICAg
ZGVmIGNvbm5lY3Rpb25fbWFkZShzZWxmLCB0cmFuc3BvcnQ6IGFzeW5jaW8uQmFzZVRyYW5zcG9y
dCkgLT4gTm9uZToKKyAgICAgICAgc2VsZi5fdHJhbnNwb3J0ID0gY2FzdChhc3luY2lvLkRhdGFn
cmFtVHJhbnNwb3J0LCB0cmFuc3BvcnQpCisKKyAgICBkZWYgZGF0YWdyYW1fcmVjZWl2ZWQoc2Vs
ZiwgZGF0YTogVW5pb25bYnl0ZXMsIFRleHRdLCBhZGRyOiBOZXR3b3JrQWRkcmVzcykgLT4gTm9u
ZToKKyAgICAgICAgc2VsZi5fcXVpYy5yZWNlaXZlX2RhdGFncmFtKGNhc3QoYnl0ZXMsIGRhdGEp
LCBhZGRyLCBub3c9c2VsZi5fbG9vcC50aW1lKCkpCisgICAgICAgIHNlbGYuX3Byb2Nlc3NfZXZl
bnRzKCkKKyAgICAgICAgc2VsZi50cmFuc21pdCgpCisKKyAgICAjIG92ZXJyaWRhYmxlCisKKyAg
ICBkZWYgcXVpY19ldmVudF9yZWNlaXZlZChzZWxmLCBldmVudDogZXZlbnRzLlF1aWNFdmVudCkg
LT4gTm9uZToKKyAgICAgICAgIiIiCisgICAgICAgIENhbGxlZCB3aGVuIGEgUVVJQyBldmVudCBp
cyByZWNlaXZlZC4KKworICAgICAgICBSZWltcGxlbWVudCB0aGlzIGluIHlvdXIgc3ViY2xhc3Mg
dG8gaGFuZGxlIHRoZSBldmVudHMuCisgICAgICAgICIiIgorICAgICAgICAjIEZJWE1FOiBtb3Zl
IHRoaXMgdG8gYSBzdWJjbGFzcworICAgICAgICBpZiBpc2luc3RhbmNlKGV2ZW50LCBldmVudHMu
Q29ubmVjdGlvblRlcm1pbmF0ZWQpOgorICAgICAgICAgICAgZm9yIHJlYWRlciBpbiBzZWxmLl9z
dHJlYW1fcmVhZGVycy52YWx1ZXMoKToKKyAgICAgICAgICAgICAgICByZWFkZXIuZmVlZF9lb2Yo
KQorICAgICAgICBlbGlmIGlzaW5zdGFuY2UoZXZlbnQsIGV2ZW50cy5TdHJlYW1EYXRhUmVjZWl2
ZWQpOgorICAgICAgICAgICAgcmVhZGVyID0gc2VsZi5fc3RyZWFtX3JlYWRlcnMuZ2V0KGV2ZW50
LnN0cmVhbV9pZCwgTm9uZSkKKyAgICAgICAgICAgIGlmIHJlYWRlciBpcyBOb25lOgorICAgICAg
ICAgICAgICAgIHJlYWRlciwgd3JpdGVyID0gc2VsZi5fY3JlYXRlX3N0cmVhbShldmVudC5zdHJl
YW1faWQpCisgICAgICAgICAgICAgICAgc2VsZi5fc3RyZWFtX2hhbmRsZXIocmVhZGVyLCB3cml0
ZXIpCisgICAgICAgICAgICByZWFkZXIuZmVlZF9kYXRhKGV2ZW50LmRhdGEpCisgICAgICAgICAg
ICBpZiBldmVudC5lbmRfc3RyZWFtOgorICAgICAgICAgICAgICAgIHJlYWRlci5mZWVkX2VvZigp
CisKKyAgICAjIHByaXZhdGUKKworICAgIGRlZiBfY3JlYXRlX3N0cmVhbSgKKyAgICAgICAgc2Vs
Ziwgc3RyZWFtX2lkOiBpbnQKKyAgICApIC0+IFR1cGxlW2FzeW5jaW8uU3RyZWFtUmVhZGVyLCBh
c3luY2lvLlN0cmVhbVdyaXRlcl06CisgICAgICAgIGFkYXB0ZXIgPSBRdWljU3RyZWFtQWRhcHRl
cihzZWxmLCBzdHJlYW1faWQpCisgICAgICAgIHJlYWRlciA9IGFzeW5jaW8uU3RyZWFtUmVhZGVy
KCkKKyAgICAgICAgd3JpdGVyID0gYXN5bmNpby5TdHJlYW1Xcml0ZXIoYWRhcHRlciwgTm9uZSwg
cmVhZGVyLCBzZWxmLl9sb29wKQorICAgICAgICBzZWxmLl9zdHJlYW1fcmVhZGVyc1tzdHJlYW1f
aWRdID0gcmVhZGVyCisgICAgICAgIHJldHVybiByZWFkZXIsIHdyaXRlcgorCisgICAgZGVmIF9o
YW5kbGVfdGltZXIoc2VsZikgLT4gTm9uZToKKyAgICAgICAgbm93ID0gbWF4KHNlbGYuX3RpbWVy
X2F0LCBzZWxmLl9sb29wLnRpbWUoKSkKKyAgICAgICAgc2VsZi5fdGltZXIgPSBOb25lCisgICAg
ICAgIHNlbGYuX3RpbWVyX2F0ID0gTm9uZQorICAgICAgICBzZWxmLl9xdWljLmhhbmRsZV90aW1l
cihub3c9bm93KQorICAgICAgICBzZWxmLl9wcm9jZXNzX2V2ZW50cygpCisgICAgICAgIHNlbGYu
dHJhbnNtaXQoKQorCisgICAgZGVmIF9wcm9jZXNzX2V2ZW50cyhzZWxmKSAtPiBOb25lOgorICAg
ICAgICBldmVudCA9IHNlbGYuX3F1aWMubmV4dF9ldmVudCgpCisgICAgICAgIHdoaWxlIGV2ZW50
IGlzIG5vdCBOb25lOgorICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShldmVudCwgZXZlbnRzLkNv
bm5lY3Rpb25JZElzc3VlZCk6CisgICAgICAgICAgICAgICAgc2VsZi5fY29ubmVjdGlvbl9pZF9p
c3N1ZWRfaGFuZGxlcihldmVudC5jb25uZWN0aW9uX2lkKQorICAgICAgICAgICAgZWxpZiBpc2lu
c3RhbmNlKGV2ZW50LCBldmVudHMuQ29ubmVjdGlvbklkUmV0aXJlZCk6CisgICAgICAgICAgICAg
ICAgc2VsZi5fY29ubmVjdGlvbl9pZF9yZXRpcmVkX2hhbmRsZXIoZXZlbnQuY29ubmVjdGlvbl9p
ZCkKKyAgICAgICAgICAgIGVsaWYgaXNpbnN0YW5jZShldmVudCwgZXZlbnRzLkNvbm5lY3Rpb25U
ZXJtaW5hdGVkKToKKyAgICAgICAgICAgICAgICBzZWxmLl9jb25uZWN0aW9uX3Rlcm1pbmF0ZWRf
aGFuZGxlcigpCisKKyAgICAgICAgICAgICAgICAjIGFib3J0IGNvbm5lY3Rpb24gd2FpdGVyCisg
ICAgICAgICAgICAgICAgaWYgc2VsZi5fY29ubmVjdGVkX3dhaXRlciBpcyBub3QgTm9uZToKKyAg
ICAgICAgICAgICAgICAgICAgd2FpdGVyID0gc2VsZi5fY29ubmVjdGVkX3dhaXRlcgorICAgICAg
ICAgICAgICAgICAgICBzZWxmLl9jb25uZWN0ZWRfd2FpdGVyID0gTm9uZQorICAgICAgICAgICAg
ICAgICAgICB3YWl0ZXIuc2V0X2V4Y2VwdGlvbihDb25uZWN0aW9uRXJyb3IpCisKKyAgICAgICAg
ICAgICAgICAjIGFib3J0IHBpbmcgd2FpdGVycworICAgICAgICAgICAgICAgIGZvciB3YWl0ZXIg
aW4gc2VsZi5fcGluZ193YWl0ZXJzLnZhbHVlcygpOgorICAgICAgICAgICAgICAgICAgICB3YWl0
ZXIuc2V0X2V4Y2VwdGlvbihDb25uZWN0aW9uRXJyb3IpCisgICAgICAgICAgICAgICAgc2VsZi5f
cGluZ193YWl0ZXJzLmNsZWFyKCkKKworICAgICAgICAgICAgICAgIHNlbGYuX2Nsb3NlZC5zZXQo
KQorICAgICAgICAgICAgZWxpZiBpc2luc3RhbmNlKGV2ZW50LCBldmVudHMuSGFuZHNoYWtlQ29t
cGxldGVkKToKKyAgICAgICAgICAgICAgICBpZiBzZWxmLl9jb25uZWN0ZWRfd2FpdGVyIGlzIG5v
dCBOb25lOgorICAgICAgICAgICAgICAgICAgICB3YWl0ZXIgPSBzZWxmLl9jb25uZWN0ZWRfd2Fp
dGVyCisgICAgICAgICAgICAgICAgICAgIHNlbGYuX2Nvbm5lY3RlZCA9IFRydWUKKyAgICAgICAg
ICAgICAgICAgICAgc2VsZi5fY29ubmVjdGVkX3dhaXRlciA9IE5vbmUKKyAgICAgICAgICAgICAg
ICAgICAgd2FpdGVyLnNldF9yZXN1bHQoTm9uZSkKKyAgICAgICAgICAgIGVsaWYgaXNpbnN0YW5j
ZShldmVudCwgZXZlbnRzLlBpbmdBY2tub3dsZWRnZWQpOgorICAgICAgICAgICAgICAgIHdhaXRl
ciA9IHNlbGYuX3Bpbmdfd2FpdGVycy5wb3AoZXZlbnQudWlkLCBOb25lKQorICAgICAgICAgICAg
ICAgIGlmIHdhaXRlciBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICAgICAgd2FpdGVyLnNl
dF9yZXN1bHQoTm9uZSkKKyAgICAgICAgICAgIHNlbGYucXVpY19ldmVudF9yZWNlaXZlZChldmVu
dCkKKyAgICAgICAgICAgIGV2ZW50ID0gc2VsZi5fcXVpYy5uZXh0X2V2ZW50KCkKKworICAgIGRl
ZiBfdHJhbnNtaXRfc29vbihzZWxmKSAtPiBOb25lOgorICAgICAgICBpZiBzZWxmLl90cmFuc21p
dF90YXNrIGlzIE5vbmU6CisgICAgICAgICAgICBzZWxmLl90cmFuc21pdF90YXNrID0gc2VsZi5f
bG9vcC5jYWxsX3Nvb24oc2VsZi50cmFuc21pdCkKKworCitjbGFzcyBRdWljU3RyZWFtQWRhcHRl
cihhc3luY2lvLlRyYW5zcG9ydCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHByb3RvY29sOiBR
dWljQ29ubmVjdGlvblByb3RvY29sLCBzdHJlYW1faWQ6IGludCk6CisgICAgICAgIHNlbGYucHJv
dG9jb2wgPSBwcm90b2NvbAorICAgICAgICBzZWxmLnN0cmVhbV9pZCA9IHN0cmVhbV9pZAorCisg
ICAgZGVmIGNhbl93cml0ZV9lb2Yoc2VsZikgLT4gYm9vbDoKKyAgICAgICAgcmV0dXJuIFRydWUK
KworICAgIGRlZiBnZXRfZXh0cmFfaW5mbyhzZWxmLCBuYW1lOiBzdHIsIGRlZmF1bHQ6IEFueSA9
IE5vbmUpIC0+IEFueToKKyAgICAgICAgIiIiCisgICAgICAgIEdldCBpbmZvcm1hdGlvbiBhYm91
dCB0aGUgdW5kZXJseWluZyBRVUlDIHN0cmVhbS4KKyAgICAgICAgIiIiCisgICAgICAgIGlmIG5h
bWUgPT0gInN0cmVhbV9pZCI6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5zdHJlYW1faWQKKwor
ICAgIGRlZiB3cml0ZShzZWxmLCBkYXRhKToKKyAgICAgICAgc2VsZi5wcm90b2NvbC5fcXVpYy5z
ZW5kX3N0cmVhbV9kYXRhKHNlbGYuc3RyZWFtX2lkLCBkYXRhKQorICAgICAgICBzZWxmLnByb3Rv
Y29sLl90cmFuc21pdF9zb29uKCkKKworICAgIGRlZiB3cml0ZV9lb2Yoc2VsZik6CisgICAgICAg
IHNlbGYucHJvdG9jb2wuX3F1aWMuc2VuZF9zdHJlYW1fZGF0YShzZWxmLnN0cmVhbV9pZCwgYiIi
LCBlbmRfc3RyZWFtPVRydWUpCisgICAgICAgIHNlbGYucHJvdG9jb2wuX3RyYW5zbWl0X3Nvb24o
KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3NyYy9haW9xdWljL2FzeW5jaW8vc2VydmVyLnB5
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGly
ZF9wYXJ0eS9haW9xdWljL3NyYy9haW9xdWljL2FzeW5jaW8vc2VydmVyLnB5Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjI0MGVlNDYwYjZlZDY2ZTA5NDUzODVmMWY1NDg1OGNjMGVmOTE4ODUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3Ro
aXJkX3BhcnR5L2Fpb3F1aWMvc3JjL2Fpb3F1aWMvYXN5bmNpby9zZXJ2ZXIucHkKQEAgLTAsMCAr
MSwyMTAgQEAKK2ltcG9ydCBhc3luY2lvCitpbXBvcnQgb3MKK2Zyb20gZnVuY3Rvb2xzIGltcG9y
dCBwYXJ0aWFsCitmcm9tIHR5cGluZyBpbXBvcnQgQ2FsbGFibGUsIERpY3QsIE9wdGlvbmFsLCBU
ZXh0LCBVbmlvbiwgY2FzdAorCitmcm9tIC4uYnVmZmVyIGltcG9ydCBCdWZmZXIKK2Zyb20gLi5x
dWljLmNvbmZpZ3VyYXRpb24gaW1wb3J0IFF1aWNDb25maWd1cmF0aW9uCitmcm9tIC4ucXVpYy5j
b25uZWN0aW9uIGltcG9ydCBOZXR3b3JrQWRkcmVzcywgUXVpY0Nvbm5lY3Rpb24KK2Zyb20gLi5x
dWljLnBhY2tldCBpbXBvcnQgKAorICAgIFBBQ0tFVF9UWVBFX0lOSVRJQUwsCisgICAgZW5jb2Rl
X3F1aWNfcmV0cnksCisgICAgZW5jb2RlX3F1aWNfdmVyc2lvbl9uZWdvdGlhdGlvbiwKKyAgICBw
dWxsX3F1aWNfaGVhZGVyLAorKQorZnJvbSAuLnF1aWMucmV0cnkgaW1wb3J0IFF1aWNSZXRyeVRv
a2VuSGFuZGxlcgorZnJvbSAuLnRscyBpbXBvcnQgU2Vzc2lvblRpY2tldEZldGNoZXIsIFNlc3Np
b25UaWNrZXRIYW5kbGVyCitmcm9tIC5wcm90b2NvbCBpbXBvcnQgUXVpY0Nvbm5lY3Rpb25Qcm90
b2NvbCwgUXVpY1N0cmVhbUhhbmRsZXIKKworX19hbGxfXyA9IFsic2VydmUiXQorCisKK2NsYXNz
IFF1aWNTZXJ2ZXIoYXN5bmNpby5EYXRhZ3JhbVByb3RvY29sKToKKyAgICBkZWYgX19pbml0X18o
CisgICAgICAgIHNlbGYsCisgICAgICAgICosCisgICAgICAgIGNvbmZpZ3VyYXRpb246IFF1aWND
b25maWd1cmF0aW9uLAorICAgICAgICBjcmVhdGVfcHJvdG9jb2w6IENhbGxhYmxlID0gUXVpY0Nv
bm5lY3Rpb25Qcm90b2NvbCwKKyAgICAgICAgc2Vzc2lvbl90aWNrZXRfZmV0Y2hlcjogT3B0aW9u
YWxbU2Vzc2lvblRpY2tldEZldGNoZXJdID0gTm9uZSwKKyAgICAgICAgc2Vzc2lvbl90aWNrZXRf
aGFuZGxlcjogT3B0aW9uYWxbU2Vzc2lvblRpY2tldEhhbmRsZXJdID0gTm9uZSwKKyAgICAgICAg
c3RhdGVsZXNzX3JldHJ5OiBib29sID0gRmFsc2UsCisgICAgICAgIHN0cmVhbV9oYW5kbGVyOiBP
cHRpb25hbFtRdWljU3RyZWFtSGFuZGxlcl0gPSBOb25lLAorICAgICkgLT4gTm9uZToKKyAgICAg
ICAgc2VsZi5fY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb24KKyAgICAgICAgc2VsZi5fY3Jl
YXRlX3Byb3RvY29sID0gY3JlYXRlX3Byb3RvY29sCisgICAgICAgIHNlbGYuX2xvb3AgPSBhc3lu
Y2lvLmdldF9ldmVudF9sb29wKCkKKyAgICAgICAgc2VsZi5fcHJvdG9jb2xzOiBEaWN0W2J5dGVz
LCBRdWljQ29ubmVjdGlvblByb3RvY29sXSA9IHt9CisgICAgICAgIHNlbGYuX3Nlc3Npb25fdGlj
a2V0X2ZldGNoZXIgPSBzZXNzaW9uX3RpY2tldF9mZXRjaGVyCisgICAgICAgIHNlbGYuX3Nlc3Np
b25fdGlja2V0X2hhbmRsZXIgPSBzZXNzaW9uX3RpY2tldF9oYW5kbGVyCisgICAgICAgIHNlbGYu
X3RyYW5zcG9ydDogT3B0aW9uYWxbYXN5bmNpby5EYXRhZ3JhbVRyYW5zcG9ydF0gPSBOb25lCisK
KyAgICAgICAgc2VsZi5fc3RyZWFtX2hhbmRsZXIgPSBzdHJlYW1faGFuZGxlcgorCisgICAgICAg
IGlmIHN0YXRlbGVzc19yZXRyeToKKyAgICAgICAgICAgIHNlbGYuX3JldHJ5ID0gUXVpY1JldHJ5
VG9rZW5IYW5kbGVyKCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuX3JldHJ5ID0g
Tm9uZQorCisgICAgZGVmIGNsb3NlKHNlbGYpOgorICAgICAgICBmb3IgcHJvdG9jb2wgaW4gc2V0
KHNlbGYuX3Byb3RvY29scy52YWx1ZXMoKSk6CisgICAgICAgICAgICBwcm90b2NvbC5jbG9zZSgp
CisgICAgICAgIHNlbGYuX3Byb3RvY29scy5jbGVhcigpCisgICAgICAgIHNlbGYuX3RyYW5zcG9y
dC5jbG9zZSgpCisKKyAgICBkZWYgY29ubmVjdGlvbl9tYWRlKHNlbGYsIHRyYW5zcG9ydDogYXN5
bmNpby5CYXNlVHJhbnNwb3J0KSAtPiBOb25lOgorICAgICAgICBzZWxmLl90cmFuc3BvcnQgPSBj
YXN0KGFzeW5jaW8uRGF0YWdyYW1UcmFuc3BvcnQsIHRyYW5zcG9ydCkKKworICAgIGRlZiBkYXRh
Z3JhbV9yZWNlaXZlZChzZWxmLCBkYXRhOiBVbmlvbltieXRlcywgVGV4dF0sIGFkZHI6IE5ldHdv
cmtBZGRyZXNzKSAtPiBOb25lOgorICAgICAgICBkYXRhID0gY2FzdChieXRlcywgZGF0YSkKKyAg
ICAgICAgYnVmID0gQnVmZmVyKGRhdGE9ZGF0YSkKKworICAgICAgICB0cnk6CisgICAgICAgICAg
ICBoZWFkZXIgPSBwdWxsX3F1aWNfaGVhZGVyKAorICAgICAgICAgICAgICAgIGJ1ZiwgaG9zdF9j
aWRfbGVuZ3RoPXNlbGYuX2NvbmZpZ3VyYXRpb24uY29ubmVjdGlvbl9pZF9sZW5ndGgKKyAgICAg
ICAgICAgICkKKyAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6CisgICAgICAgICAgICByZXR1cm4K
KworICAgICAgICAjIHZlcnNpb24gbmVnb3RpYXRpb24KKyAgICAgICAgaWYgKAorICAgICAgICAg
ICAgaGVhZGVyLnZlcnNpb24gaXMgbm90IE5vbmUKKyAgICAgICAgICAgIGFuZCBoZWFkZXIudmVy
c2lvbiBub3QgaW4gc2VsZi5fY29uZmlndXJhdGlvbi5zdXBwb3J0ZWRfdmVyc2lvbnMKKyAgICAg
ICAgKToKKyAgICAgICAgICAgIHNlbGYuX3RyYW5zcG9ydC5zZW5kdG8oCisgICAgICAgICAgICAg
ICAgZW5jb2RlX3F1aWNfdmVyc2lvbl9uZWdvdGlhdGlvbigKKyAgICAgICAgICAgICAgICAgICAg
c291cmNlX2NpZD1oZWFkZXIuZGVzdGluYXRpb25fY2lkLAorICAgICAgICAgICAgICAgICAgICBk
ZXN0aW5hdGlvbl9jaWQ9aGVhZGVyLnNvdXJjZV9jaWQsCisgICAgICAgICAgICAgICAgICAgIHN1
cHBvcnRlZF92ZXJzaW9ucz1zZWxmLl9jb25maWd1cmF0aW9uLnN1cHBvcnRlZF92ZXJzaW9ucywK
KyAgICAgICAgICAgICAgICApLAorICAgICAgICAgICAgICAgIGFkZHIsCisgICAgICAgICAgICAp
CisgICAgICAgICAgICByZXR1cm4KKworICAgICAgICBwcm90b2NvbCA9IHNlbGYuX3Byb3RvY29s
cy5nZXQoaGVhZGVyLmRlc3RpbmF0aW9uX2NpZCwgTm9uZSkKKyAgICAgICAgb3JpZ2luYWxfY29u
bmVjdGlvbl9pZDogT3B0aW9uYWxbYnl0ZXNdID0gTm9uZQorICAgICAgICBpZiAoCisgICAgICAg
ICAgICBwcm90b2NvbCBpcyBOb25lCisgICAgICAgICAgICBhbmQgbGVuKGRhdGEpID49IDEyMDAK
KyAgICAgICAgICAgIGFuZCBoZWFkZXIucGFja2V0X3R5cGUgPT0gUEFDS0VUX1RZUEVfSU5JVElB
TAorICAgICAgICApOgorICAgICAgICAgICAgIyBzdGF0ZWxlc3MgcmV0cnkKKyAgICAgICAgICAg
IGlmIHNlbGYuX3JldHJ5IGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgIGlmIG5vdCBoZWFk
ZXIudG9rZW46CisgICAgICAgICAgICAgICAgICAgICMgY3JlYXRlIGEgcmV0cnkgdG9rZW4KKyAg
ICAgICAgICAgICAgICAgICAgc2VsZi5fdHJhbnNwb3J0LnNlbmR0bygKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGVuY29kZV9xdWljX3JldHJ5KAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHZlcnNpb249aGVhZGVyLnZlcnNpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291
cmNlX2NpZD1vcy51cmFuZG9tKDgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc3Rp
bmF0aW9uX2NpZD1oZWFkZXIuc291cmNlX2NpZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBvcmlnaW5hbF9kZXN0aW5hdGlvbl9jaWQ9aGVhZGVyLmRlc3RpbmF0aW9uX2NpZCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICByZXRyeV90b2tlbj1zZWxmLl9yZXRyeS5jcmVhdGVfdG9r
ZW4oCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZHIsIGhlYWRlci5kZXN0aW5h
dGlvbl9jaWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICApLAorICAgICAgICAgICAgICAg
ICAgICAgICAgKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGFkZHIsCisgICAgICAgICAgICAg
ICAgICAgICkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuCisgICAgICAgICAgICAgICAgZWxz
ZToKKyAgICAgICAgICAgICAgICAgICAgIyB2YWxpZGF0ZSByZXRyeSB0b2tlbgorICAgICAgICAg
ICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgICAgICBvcmlnaW5hbF9jb25uZWN0
aW9uX2lkID0gc2VsZi5fcmV0cnkudmFsaWRhdGVfdG9rZW4oCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYWRkciwgaGVhZGVyLnRva2VuCisgICAgICAgICAgICAgICAgICAgICAgICApCisg
ICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgorICAgICAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuCisKKyAgICAgICAgICAgICMgY3JlYXRlIG5ldyBjb25uZWN0aW9uCisgICAg
ICAgICAgICBjb25uZWN0aW9uID0gUXVpY0Nvbm5lY3Rpb24oCisgICAgICAgICAgICAgICAgY29u
ZmlndXJhdGlvbj1zZWxmLl9jb25maWd1cmF0aW9uLAorICAgICAgICAgICAgICAgIGxvZ2dlcl9j
b25uZWN0aW9uX2lkPW9yaWdpbmFsX2Nvbm5lY3Rpb25faWQgb3IgaGVhZGVyLmRlc3RpbmF0aW9u
X2NpZCwKKyAgICAgICAgICAgICAgICBvcmlnaW5hbF9jb25uZWN0aW9uX2lkPW9yaWdpbmFsX2Nv
bm5lY3Rpb25faWQsCisgICAgICAgICAgICAgICAgc2Vzc2lvbl90aWNrZXRfZmV0Y2hlcj1zZWxm
Ll9zZXNzaW9uX3RpY2tldF9mZXRjaGVyLAorICAgICAgICAgICAgICAgIHNlc3Npb25fdGlja2V0
X2hhbmRsZXI9c2VsZi5fc2Vzc2lvbl90aWNrZXRfaGFuZGxlciwKKyAgICAgICAgICAgICkKKyAg
ICAgICAgICAgIHByb3RvY29sID0gc2VsZi5fY3JlYXRlX3Byb3RvY29sKAorICAgICAgICAgICAg
ICAgIGNvbm5lY3Rpb24sIHN0cmVhbV9oYW5kbGVyPXNlbGYuX3N0cmVhbV9oYW5kbGVyCisgICAg
ICAgICAgICApCisgICAgICAgICAgICBwcm90b2NvbC5jb25uZWN0aW9uX21hZGUoc2VsZi5fdHJh
bnNwb3J0KQorCisgICAgICAgICAgICAjIHJlZ2lzdGVyIGNhbGxiYWNrcworICAgICAgICAgICAg
cHJvdG9jb2wuX2Nvbm5lY3Rpb25faWRfaXNzdWVkX2hhbmRsZXIgPSBwYXJ0aWFsKAorICAgICAg
ICAgICAgICAgIHNlbGYuX2Nvbm5lY3Rpb25faWRfaXNzdWVkLCBwcm90b2NvbD1wcm90b2NvbAor
ICAgICAgICAgICAgKQorICAgICAgICAgICAgcHJvdG9jb2wuX2Nvbm5lY3Rpb25faWRfcmV0aXJl
ZF9oYW5kbGVyID0gcGFydGlhbCgKKyAgICAgICAgICAgICAgICBzZWxmLl9jb25uZWN0aW9uX2lk
X3JldGlyZWQsIHByb3RvY29sPXByb3RvY29sCisgICAgICAgICAgICApCisgICAgICAgICAgICBw
cm90b2NvbC5fY29ubmVjdGlvbl90ZXJtaW5hdGVkX2hhbmRsZXIgPSBwYXJ0aWFsKAorICAgICAg
ICAgICAgICAgIHNlbGYuX2Nvbm5lY3Rpb25fdGVybWluYXRlZCwgcHJvdG9jb2w9cHJvdG9jb2wK
KyAgICAgICAgICAgICkKKworICAgICAgICAgICAgc2VsZi5fcHJvdG9jb2xzW2hlYWRlci5kZXN0
aW5hdGlvbl9jaWRdID0gcHJvdG9jb2wKKyAgICAgICAgICAgIHNlbGYuX3Byb3RvY29sc1tjb25u
ZWN0aW9uLmhvc3RfY2lkXSA9IHByb3RvY29sCisKKyAgICAgICAgaWYgcHJvdG9jb2wgaXMgbm90
IE5vbmU6CisgICAgICAgICAgICBwcm90b2NvbC5kYXRhZ3JhbV9yZWNlaXZlZChkYXRhLCBhZGRy
KQorCisgICAgZGVmIF9jb25uZWN0aW9uX2lkX2lzc3VlZChzZWxmLCBjaWQ6IGJ5dGVzLCBwcm90
b2NvbDogUXVpY0Nvbm5lY3Rpb25Qcm90b2NvbCk6CisgICAgICAgIHNlbGYuX3Byb3RvY29sc1tj
aWRdID0gcHJvdG9jb2wKKworICAgIGRlZiBfY29ubmVjdGlvbl9pZF9yZXRpcmVkKAorICAgICAg
ICBzZWxmLCBjaWQ6IGJ5dGVzLCBwcm90b2NvbDogUXVpY0Nvbm5lY3Rpb25Qcm90b2NvbAorICAg
ICkgLT4gTm9uZToKKyAgICAgICAgYXNzZXJ0IHNlbGYuX3Byb3RvY29sc1tjaWRdID09IHByb3Rv
Y29sCisgICAgICAgIGRlbCBzZWxmLl9wcm90b2NvbHNbY2lkXQorCisgICAgZGVmIF9jb25uZWN0
aW9uX3Rlcm1pbmF0ZWQoc2VsZiwgcHJvdG9jb2w6IFF1aWNDb25uZWN0aW9uUHJvdG9jb2wpOgor
ICAgICAgICBmb3IgY2lkLCBwcm90byBpbiBsaXN0KHNlbGYuX3Byb3RvY29scy5pdGVtcygpKToK
KyAgICAgICAgICAgIGlmIHByb3RvID09IHByb3RvY29sOgorICAgICAgICAgICAgICAgIGRlbCBz
ZWxmLl9wcm90b2NvbHNbY2lkXQorCisKK2FzeW5jIGRlZiBzZXJ2ZSgKKyAgICBob3N0OiBzdHIs
CisgICAgcG9ydDogaW50LAorICAgICosCisgICAgY29uZmlndXJhdGlvbjogUXVpY0NvbmZpZ3Vy
YXRpb24sCisgICAgY3JlYXRlX3Byb3RvY29sOiBDYWxsYWJsZSA9IFF1aWNDb25uZWN0aW9uUHJv
dG9jb2wsCisgICAgc2Vzc2lvbl90aWNrZXRfZmV0Y2hlcjogT3B0aW9uYWxbU2Vzc2lvblRpY2tl
dEZldGNoZXJdID0gTm9uZSwKKyAgICBzZXNzaW9uX3RpY2tldF9oYW5kbGVyOiBPcHRpb25hbFtT
ZXNzaW9uVGlja2V0SGFuZGxlcl0gPSBOb25lLAorICAgIHN0YXRlbGVzc19yZXRyeTogYm9vbCA9
IEZhbHNlLAorICAgIHN0cmVhbV9oYW5kbGVyOiBRdWljU3RyZWFtSGFuZGxlciA9IE5vbmUsCisp
IC0+IFF1aWNTZXJ2ZXI6CisgICAgIiIiCisgICAgU3RhcnQgYSBRVUlDIHNlcnZlciBhdCB0aGUg
Z2l2ZW4gYGhvc3RgIGFuZCBgcG9ydGAuCisKKyAgICA6ZnVuYzpgc2VydmVgIHJlcXVpcmVzIGEg
OmNsYXNzOmB+YWlvcXVpYy5xdWljLmNvbmZpZ3VyYXRpb24uUXVpY0NvbmZpZ3VyYXRpb25gCisg
ICAgY29udGFpbmluZyBUTFMgY2VydGlmaWNhdGUgYW5kIHByaXZhdGUga2V5IGFzIHRoZSBgYGNv
bmZpZ3VyYXRpb25gYCBhcmd1bWVudC4KKworICAgIDpmdW5jOmBzZXJ2ZWAgYWxzbyBhY2NlcHRz
IHRoZSBmb2xsb3dpbmcgb3B0aW9uYWwgYXJndW1lbnRzOgorCisgICAgKiBgYGNyZWF0ZV9wcm90
b2NvbGBgIGFsbG93cyBjdXN0b21pemluZyB0aGUgOmNsYXNzOmB+YXN5bmNpby5Qcm90b2NvbGAg
dGhhdAorICAgICAgbWFuYWdlcyB0aGUgY29ubmVjdGlvbi4gSXQgc2hvdWxkIGJlIGEgY2FsbGFi
bGUgb3IgY2xhc3MgYWNjZXB0aW5nIHRoZSBzYW1lCisgICAgICBhcmd1bWVudHMgYXMgOmNsYXNz
OmB+YWlvcXVpYy5hc3luY2lvLlF1aWNDb25uZWN0aW9uUHJvdG9jb2xgIGFuZCByZXR1cm5pbmcK
KyAgICAgIGFuIGluc3RhbmNlIG9mIDpjbGFzczpgfmFpb3F1aWMuYXN5bmNpby5RdWljQ29ubmVj
dGlvblByb3RvY29sYCBvciBhIHN1YmNsYXNzLgorICAgICogYGBzZXNzaW9uX3RpY2tldF9mZXRj
aGVyYGAgaXMgYSBjYWxsYmFjayB3aGljaCBpcyBpbnZva2VkIGJ5IHRoZSBUTFMKKyAgICAgIGVu
Z2luZSB3aGVuIGEgc2Vzc2lvbiB0aWNrZXQgaXMgcHJlc2VudGVkIGJ5IHRoZSBwZWVyLiBJdCBz
aG91bGQgcmV0dXJuCisgICAgICB0aGUgc2Vzc2lvbiB0aWNrZXQgd2l0aCB0aGUgc3BlY2lmaWVk
IElEIG9yIGBOb25lYCBpZiBpdCBpcyBub3QgZm91bmQuCisgICAgKiBgYHNlc3Npb25fdGlja2V0
X2hhbmRsZXJgYCBpcyBhIGNhbGxiYWNrIHdoaWNoIGlzIGludm9rZWQgYnkgdGhlIFRMUworICAg
ICAgZW5naW5lIHdoZW4gYSBuZXcgc2Vzc2lvbiB0aWNrZXQgaXMgaXNzdWVkLiBJdCBzaG91bGQg
c3RvcmUgdGhlIHNlc3Npb24KKyAgICAgIHRpY2tldCBmb3IgZnV0dXJlIGxvb2t1cC4KKyAgICAq
IGBgc3RhdGVsZXNzX3JldHJ5YGAgc3BlY2lmaWVzIHdoZXRoZXIgYSBzdGF0ZWxlc3MgcmV0cnkg
c2hvdWxkIGJlCisgICAgICBwZXJmb3JtZWQgcHJpb3IgdG8gaGFuZGxpbmcgbmV3IGNvbm5lY3Rp
b25zLgorICAgICogYGBzdHJlYW1faGFuZGxlcmBgIGlzIGEgY2FsbGJhY2sgd2hpY2ggaXMgaW52
b2tlZCB3aGVuZXZlciBhIHN0cmVhbSBpcworICAgICAgY3JlYXRlZC4gSXQgbXVzdCBhY2NlcHQg
dHdvIGFyZ3VtZW50czogYSA6Y2xhc3M6YGFzeW5jaW8uU3RyZWFtUmVhZGVyYAorICAgICAgYW5k
IGEgOmNsYXNzOmBhc3luY2lvLlN0cmVhbVdyaXRlcmAuCisgICAgIiIiCisKKyAgICBsb29wID0g
YXN5bmNpby5nZXRfZXZlbnRfbG9vcCgpCisKKyAgICBfLCBwcm90b2NvbCA9IGF3YWl0IGxvb3Au
Y3JlYXRlX2RhdGFncmFtX2VuZHBvaW50KAorICAgICAgICBsYW1iZGE6IFF1aWNTZXJ2ZXIoCisg
ICAgICAgICAgICBjb25maWd1cmF0aW9uPWNvbmZpZ3VyYXRpb24sCisgICAgICAgICAgICBjcmVh
dGVfcHJvdG9jb2w9Y3JlYXRlX3Byb3RvY29sLAorICAgICAgICAgICAgc2Vzc2lvbl90aWNrZXRf
ZmV0Y2hlcj1zZXNzaW9uX3RpY2tldF9mZXRjaGVyLAorICAgICAgICAgICAgc2Vzc2lvbl90aWNr
ZXRfaGFuZGxlcj1zZXNzaW9uX3RpY2tldF9oYW5kbGVyLAorICAgICAgICAgICAgc3RhdGVsZXNz
X3JldHJ5PXN0YXRlbGVzc19yZXRyeSwKKyAgICAgICAgICAgIHN0cmVhbV9oYW5kbGVyPXN0cmVh
bV9oYW5kbGVyLAorICAgICAgICApLAorICAgICAgICBsb2NhbF9hZGRyPShob3N0LCBwb3J0KSwK
KyAgICApCisgICAgcmV0dXJuIGNhc3QoUXVpY1NlcnZlciwgcHJvdG9jb2wpCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJk
X3BhcnR5L2Fpb3F1aWMvc3JjL2Fpb3F1aWMvYXN5bmNpby93M2MtaW1wb3J0LmxvZyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkv
YWlvcXVpYy9zcmMvYWlvcXVpYy9hc3luY2lvL3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhi
ODM0NWUwY2U4ZjVjNDNkNDY3MWNiYmNkYWQ4OGYxZWIxNTkyYTYKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJk
X3BhcnR5L2Fpb3F1aWMvc3JjL2Fpb3F1aWMvYXN5bmNpby93M2MtaW1wb3J0LmxvZwpAQCAtMCww
ICsxLDIxIEBACitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9t
IHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkg
aW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0
aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CisKK1RoZW4g
cnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1w
b3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0
eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvc3JjL2Fpb3F1aWMvYXN5bmNpby9fX2lu
aXRfXy5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvdGhpcmRfcGFydHkvYWlvcXVpYy9zcmMvYWlvcXVpYy9hc3luY2lvL2NsaWVudC5weQorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFy
dHkvYWlvcXVpYy9zcmMvYWlvcXVpYy9hc3luY2lvL2NvbXBhdC5weQorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9z
cmMvYWlvcXVpYy9hc3luY2lvL3Byb3RvY29sLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3NyYy9haW9xdWlj
L2FzeW5jaW8vc2VydmVyLnB5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvc3JjL2Fpb3F1aWMv
YnVmZmVyLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3NyYy9haW9xdWljL2J1ZmZlci5weQpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xN2E0Mjk4Zjk1NGMyMmU1Mzg5YTEyOWExZWU2NzVlOGVmZWQ4N2VjCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90
aGlyZF9wYXJ0eS9haW9xdWljL3NyYy9haW9xdWljL2J1ZmZlci5weQpAQCAtMCwwICsxLDI5IEBA
Citmcm9tIC5fYnVmZmVyIGltcG9ydCBCdWZmZXIsIEJ1ZmZlclJlYWRFcnJvciwgQnVmZmVyV3Jp
dGVFcnJvciAgIyBub3FhCisKK1VJTlRfVkFSX01BWCA9IDB4M0ZGRkZGRkZGRkZGRkZGRgorCisK
K2RlZiBlbmNvZGVfdWludF92YXIodmFsdWU6IGludCkgLT4gYnl0ZXM6CisgICAgIiIiCisgICAg
RW5jb2RlIGEgdmFyaWFibGUtbGVuZ3RoIHVuc2lnbmVkIGludGVnZXIuCisgICAgIiIiCisgICAg
YnVmID0gQnVmZmVyKGNhcGFjaXR5PTgpCisgICAgYnVmLnB1c2hfdWludF92YXIodmFsdWUpCisg
ICAgcmV0dXJuIGJ1Zi5kYXRhCisKKworZGVmIHNpemVfdWludF92YXIodmFsdWU6IGludCkgLT4g
aW50OgorICAgICIiIgorICAgIFJldHVybiB0aGUgbnVtYmVyIG9mIGJ5dGVzIHJlcXVpcmVkIHRv
IGVuY29kZSB0aGUgZ2l2ZW4gdmFsdWUKKyAgICBhcyBhIFFVSUMgdmFyaWFibGUtbGVuZ3RoIHVu
c2lnbmVkIGludGVnZXIuCisgICAgIiIiCisgICAgaWYgdmFsdWUgPD0gMHgzRjoKKyAgICAgICAg
cmV0dXJuIDEKKyAgICBlbGlmIHZhbHVlIDw9IDB4M0ZGRjoKKyAgICAgICAgcmV0dXJuIDIKKyAg
ICBlbGlmIHZhbHVlIDw9IDB4M0ZGRkZGRkY6CisgICAgICAgIHJldHVybiA0CisgICAgZWxpZiB2
YWx1ZSA8PSAweDNGRkZGRkZGRkZGRkZGRkY6CisgICAgICAgIHJldHVybiA4CisgICAgZWxzZToK
KyAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiSW50ZWdlciBpcyB0b28gYmlnIGZvciBhIHZhcmlh
YmxlLWxlbmd0aCBpbnRlZ2VyIikKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9zcmMvYWlvcXVp
Yy9oMC9fX2luaXRfXy5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9zcmMvYWlvcXVpYy9oMC9fX2luaXRfXy5w
eQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5hNjgzNGI4Mjg1YTU2YmVmMGUxNTQzZmQ5MDFjN2U2ZjJmOGJjMjAyCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3NyYy9haW9xdWljL2gwL19faW5pdF9fLnB5
CkBAIC0wLDAgKzEgQEAKKyMgVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBQeXRob24gdG8gc2Vh
cmNoIHRoaXMgZGlyZWN0b3J5IGZvciBtb2R1bGVzLgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9zcmMvYWlvcXVpYy9oMC9jb25uZWN0aW9uLnB5
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGly
ZF9wYXJ0eS9haW9xdWljL3NyYy9haW9xdWljL2gwL2Nvbm5lY3Rpb24ucHkKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MmM4ZGRjZWM2YjM5MzBhYWZmM2MxY2QxNWIxZWU0ZTdkNmIxOGQ4ZAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhp
cmRfcGFydHkvYWlvcXVpYy9zcmMvYWlvcXVpYy9oMC9jb25uZWN0aW9uLnB5CkBAIC0wLDAgKzEs
NjMgQEAKK2Zyb20gdHlwaW5nIGltcG9ydCBEaWN0LCBMaXN0CisKK2Zyb20gYWlvcXVpYy5oMy5l
dmVudHMgaW1wb3J0IERhdGFSZWNlaXZlZCwgSDNFdmVudCwgSGVhZGVycywgSGVhZGVyc1JlY2Vp
dmVkCitmcm9tIGFpb3F1aWMucXVpYy5jb25uZWN0aW9uIGltcG9ydCBRdWljQ29ubmVjdGlvbgor
ZnJvbSBhaW9xdWljLnF1aWMuZXZlbnRzIGltcG9ydCBRdWljRXZlbnQsIFN0cmVhbURhdGFSZWNl
aXZlZAorCitIMF9BTFBOID0gWyJocS0yNyIsICJocS0yNiIsICJocS0yNSJdCisKKworY2xhc3Mg
SDBDb25uZWN0aW9uOgorICAgICIiIgorICAgIEFuIEhUVFAvMC45IGNvbm5lY3Rpb24gb2JqZWN0
LgorICAgICIiIgorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHF1aWM6IFF1aWNDb25uZWN0aW9u
KToKKyAgICAgICAgc2VsZi5faGVhZGVyc19yZWNlaXZlZDogRGljdFtpbnQsIGJvb2xdID0ge30K
KyAgICAgICAgc2VsZi5faXNfY2xpZW50ID0gcXVpYy5jb25maWd1cmF0aW9uLmlzX2NsaWVudAor
ICAgICAgICBzZWxmLl9xdWljID0gcXVpYworCisgICAgZGVmIGhhbmRsZV9ldmVudChzZWxmLCBl
dmVudDogUXVpY0V2ZW50KSAtPiBMaXN0W0gzRXZlbnRdOgorICAgICAgICBodHRwX2V2ZW50czog
TGlzdFtIM0V2ZW50XSA9IFtdCisKKyAgICAgICAgaWYgaXNpbnN0YW5jZShldmVudCwgU3RyZWFt
RGF0YVJlY2VpdmVkKSBhbmQgKGV2ZW50LnN0cmVhbV9pZCAlIDQpID09IDA6CisgICAgICAgICAg
ICBkYXRhID0gZXZlbnQuZGF0YQorICAgICAgICAgICAgaWYgbm90IHNlbGYuX2hlYWRlcnNfcmVj
ZWl2ZWQuZ2V0KGV2ZW50LnN0cmVhbV9pZCwgRmFsc2UpOgorICAgICAgICAgICAgICAgIGlmIHNl
bGYuX2lzX2NsaWVudDoKKyAgICAgICAgICAgICAgICAgICAgaHR0cF9ldmVudHMuYXBwZW5kKAor
ICAgICAgICAgICAgICAgICAgICAgICAgSGVhZGVyc1JlY2VpdmVkKAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGhlYWRlcnM9W10sIHN0cmVhbV9lbmRlZD1GYWxzZSwgc3RyZWFtX2lkPWV2
ZW50LnN0cmVhbV9pZAorICAgICAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAg
ICAgICApCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgbWV0aG9k
LCBwYXRoID0gZGF0YS5yc3RyaXAoKS5zcGxpdChiIiAiLCAxKQorICAgICAgICAgICAgICAgICAg
ICBodHRwX2V2ZW50cy5hcHBlbmQoCisgICAgICAgICAgICAgICAgICAgICAgICBIZWFkZXJzUmVj
ZWl2ZWQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVycz1bKGIiOm1ldGhvZCIs
IG1ldGhvZCksIChiIjpwYXRoIiwgcGF0aCldLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHN0cmVhbV9lbmRlZD1GYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJlYW1f
aWQ9ZXZlbnQuc3RyZWFtX2lkLAorICAgICAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAg
ICAgICAgICAgICApCisgICAgICAgICAgICAgICAgICAgIGRhdGEgPSBiIiIKKyAgICAgICAgICAg
ICAgICBzZWxmLl9oZWFkZXJzX3JlY2VpdmVkW2V2ZW50LnN0cmVhbV9pZF0gPSBUcnVlCisKKyAg
ICAgICAgICAgIGh0dHBfZXZlbnRzLmFwcGVuZCgKKyAgICAgICAgICAgICAgICBEYXRhUmVjZWl2
ZWQoCisgICAgICAgICAgICAgICAgICAgIGRhdGE9ZGF0YSwgc3RyZWFtX2VuZGVkPWV2ZW50LmVu
ZF9zdHJlYW0sIHN0cmVhbV9pZD1ldmVudC5zdHJlYW1faWQKKyAgICAgICAgICAgICAgICApCisg
ICAgICAgICAgICApCisKKyAgICAgICAgcmV0dXJuIGh0dHBfZXZlbnRzCisKKyAgICBkZWYgc2Vu
ZF9kYXRhKHNlbGYsIHN0cmVhbV9pZDogaW50LCBkYXRhOiBieXRlcywgZW5kX3N0cmVhbTogYm9v
bCkgLT4gTm9uZToKKyAgICAgICAgc2VsZi5fcXVpYy5zZW5kX3N0cmVhbV9kYXRhKHN0cmVhbV9p
ZCwgZGF0YSwgZW5kX3N0cmVhbSkKKworICAgIGRlZiBzZW5kX2hlYWRlcnMoCisgICAgICAgIHNl
bGYsIHN0cmVhbV9pZDogaW50LCBoZWFkZXJzOiBIZWFkZXJzLCBlbmRfc3RyZWFtOiBib29sID0g
RmFsc2UKKyAgICApIC0+IE5vbmU6CisgICAgICAgIGlmIHNlbGYuX2lzX2NsaWVudDoKKyAgICAg
ICAgICAgIGhlYWRlcnNfZGljdCA9IGRpY3QoaGVhZGVycykKKyAgICAgICAgICAgIGRhdGEgPSBo
ZWFkZXJzX2RpY3RbYiI6bWV0aG9kIl0gKyBiIiAiICsgaGVhZGVyc19kaWN0W2IiOnBhdGgiXSAr
IGIiXHJcbiIKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGRhdGEgPSBiIiIKKyAgICAgICAg
c2VsZi5fcXVpYy5zZW5kX3N0cmVhbV9kYXRhKHN0cmVhbV9pZCwgZGF0YSwgZW5kX3N0cmVhbSkK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9zcmMvYWlvcXVpYy9oMC93M2MtaW1wb3J0LmxvZyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRf
cGFydHkvYWlvcXVpYy9zcmMvYWlvcXVpYy9oMC93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
ZjM2MWVhNDA1NTFiNjI4NmIzZTFlZTVmMjlhNzc3NGFlNjA3MGI1Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGly
ZF9wYXJ0eS9haW9xdWljL3NyYy9haW9xdWljL2gwL3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEs
MTggQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhl
IFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBX
ZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6
CisJaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKKworVGhlbiBydW4g
dGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQK
KworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
K1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZh
bHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitM
aXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9zcmMvYWlvcXVpYy9oMC9fX2luaXRfXy5weQor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRf
cGFydHkvYWlvcXVpYy9zcmMvYWlvcXVpYy9oMC9jb25uZWN0aW9uLnB5CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3Bh
cnR5L2Fpb3F1aWMvc3JjL2Fpb3F1aWMvaDMvX19pbml0X18ucHkgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvc3Jj
L2Fpb3F1aWMvaDMvX19pbml0X18ucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTY4MzRiODI4NWE1NmJlZjBlMTU0
M2ZkOTAxYzdlNmYyZjhiYzIwMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9zcmMv
YWlvcXVpYy9oMy9fX2luaXRfXy5weQpAQCAtMCwwICsxIEBACisjIFRoaXMgZmlsZSBpcyByZXF1
aXJlZCBmb3IgUHl0aG9uIHRvIHNlYXJjaCB0aGlzIGRpcmVjdG9yeSBmb3IgbW9kdWxlcy4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvc3JjL2Fp
b3F1aWMvaDMvY29ubmVjdGlvbi5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9zcmMvYWlvcXVpYy9oMy9jb25u
ZWN0aW9uLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRkZjhjNTQyODNjZDc3YzdmOWQzZWRkZThkNzkwYzAyYTA1
MzA4ZDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvc3JjL2Fpb3F1aWMvaDMvY29u
bmVjdGlvbi5weQpAQCAtMCwwICsxLDc3NiBAQAoraW1wb3J0IGxvZ2dpbmcKK2Zyb20gZW51bSBp
bXBvcnQgRW51bSwgSW50RW51bQorZnJvbSB0eXBpbmcgaW1wb3J0IERpY3QsIExpc3QsIE9wdGlv
bmFsLCBTZXQKKworaW1wb3J0IHB5bHNxcGFjaworCitmcm9tIGFpb3F1aWMuYnVmZmVyIGltcG9y
dCBCdWZmZXIsIEJ1ZmZlclJlYWRFcnJvciwgZW5jb2RlX3VpbnRfdmFyCitmcm9tIGFpb3F1aWMu
aDMuZXZlbnRzIGltcG9ydCAoCisgICAgRGF0YVJlY2VpdmVkLAorICAgIEgzRXZlbnQsCisgICAg
SGVhZGVycywKKyAgICBIZWFkZXJzUmVjZWl2ZWQsCisgICAgUHVzaFByb21pc2VSZWNlaXZlZCwK
KykKK2Zyb20gYWlvcXVpYy5oMy5leGNlcHRpb25zIGltcG9ydCBOb0F2YWlsYWJsZVB1c2hJREVy
cm9yCitmcm9tIGFpb3F1aWMucXVpYy5jb25uZWN0aW9uIGltcG9ydCBRdWljQ29ubmVjdGlvbiwg
c3RyZWFtX2lzX3VuaWRpcmVjdGlvbmFsCitmcm9tIGFpb3F1aWMucXVpYy5ldmVudHMgaW1wb3J0
IFF1aWNFdmVudCwgU3RyZWFtRGF0YVJlY2VpdmVkCitmcm9tIGFpb3F1aWMucXVpYy5sb2dnZXIg
aW1wb3J0IFF1aWNMb2dnZXJUcmFjZQorCitsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcigiaHR0
cDMiKQorCitIM19BTFBOID0gWyJoMy0yNyIsICJoMy0yNiIsICJoMy0yNSJdCisKKworY2xhc3Mg
RXJyb3JDb2RlKEludEVudW0pOgorICAgIEhUVFBfTk9fRVJST1IgPSAweDEwMAorICAgIEhUVFBf
R0VORVJBTF9QUk9UT0NPTF9FUlJPUiA9IDB4MTAxCisgICAgSFRUUF9JTlRFUk5BTF9FUlJPUiA9
IDB4MTAyCisgICAgSFRUUF9TVFJFQU1fQ1JFQVRJT05fRVJST1IgPSAweDEwMworICAgIEhUVFBf
Q0xPU0VEX0NSSVRJQ0FMX1NUUkVBTSA9IDB4MTA0CisgICAgSFRUUF9GUkFNRV9VTkVYUEVDVEVE
ID0gMHgxMDUKKyAgICBIVFRQX0ZSQU1FX0VSUk9SID0gMHgxMDYKKyAgICBIVFRQX0VYQ0VTU0lW
RV9MT0FEID0gMHgxMDcKKyAgICBIVFRQX0lEX0VSUk9SID0gMHgxMDgKKyAgICBIVFRQX1NFVFRJ
TkdTX0VSUk9SID0gMHgxMDkKKyAgICBIVFRQX01JU1NJTkdfU0VUVElOR1MgPSAweDEwQQorICAg
IEhUVFBfUkVRVUVTVF9SRUpFQ1RFRCA9IDB4MTBCCisgICAgSFRUUF9SRVFVRVNUX0NBTkNFTExF
RCA9IDB4MTBDCisgICAgSFRUUF9SRVFVRVNUX0lOQ09NUExFVEUgPSAweDEwRAorICAgIEhUVFBf
RUFSTFlfUkVTUE9OU0UgPSAweDEwRQorICAgIEhUVFBfQ09OTkVDVF9FUlJPUiA9IDB4MTBGCisg
ICAgSFRUUF9WRVJTSU9OX0ZBTExCQUNLID0gMHgxMTAKKyAgICBIVFRQX1FQQUNLX0RFQ09NUFJF
U1NJT05fRkFJTEVEID0gMHgyMDAKKyAgICBIVFRQX1FQQUNLX0VOQ09ERVJfU1RSRUFNX0VSUk9S
ID0gMHgyMDEKKyAgICBIVFRQX1FQQUNLX0RFQ09ERVJfU1RSRUFNX0VSUk9SID0gMHgyMDIKKwor
CitjbGFzcyBGcmFtZVR5cGUoSW50RW51bSk6CisgICAgREFUQSA9IDB4MAorICAgIEhFQURFUlMg
PSAweDEKKyAgICBQUklPUklUWSA9IDB4MgorICAgIENBTkNFTF9QVVNIID0gMHgzCisgICAgU0VU
VElOR1MgPSAweDQKKyAgICBQVVNIX1BST01JU0UgPSAweDUKKyAgICBHT0FXQVkgPSAweDcKKyAg
ICBNQVhfUFVTSF9JRCA9IDB4RAorICAgIERVUExJQ0FURV9QVVNIID0gMHhFCisKKworY2xhc3Mg
SGVhZGVyc1N0YXRlKEVudW0pOgorICAgIElOSVRJQUwgPSAwCisgICAgQUZURVJfSEVBREVSUyA9
IDEKKyAgICBBRlRFUl9UUkFJTEVSUyA9IDIKKworCitjbGFzcyBTZXR0aW5nKEludEVudW0pOgor
ICAgIFFQQUNLX01BWF9UQUJMRV9DQVBBQ0lUWSA9IDEKKyAgICBTRVRUSU5HU19NQVhfSEVBREVS
X0xJU1RfU0laRSA9IDYKKyAgICBRUEFDS19CTE9DS0VEX1NUUkVBTVMgPSA3CisgICAgU0VUVElO
R1NfTlVNX1BMQUNFSE9MREVSUyA9IDkKKworCitjbGFzcyBTdHJlYW1UeXBlKEludEVudW0pOgor
ICAgIENPTlRST0wgPSAwCisgICAgUFVTSCA9IDEKKyAgICBRUEFDS19FTkNPREVSID0gMgorICAg
IFFQQUNLX0RFQ09ERVIgPSAzCisKKworY2xhc3MgUHJvdG9jb2xFcnJvcihFeGNlcHRpb24pOgor
ICAgICIiIgorICAgIEJhc2UgY2xhc3MgZm9yIHByb3RvY29sIGVycm9ycy4KKworICAgIFRoZXNl
IGVycm9ycyBhcmUgbm90IGV4cG9zZWQgdG8gdGhlIEFQSSB1c2VyLCB0aGV5IGFyZSBoYW5kbGVk
CisgICAgaW4gOm1ldGg6YEgzQ29ubmVjdGlvbi5oYW5kbGVfZXZlbnRgLgorICAgICIiIgorCisg
ICAgZXJyb3JfY29kZSA9IEVycm9yQ29kZS5IVFRQX0dFTkVSQUxfUFJPVE9DT0xfRVJST1IKKwor
ICAgIGRlZiBfX2luaXRfXyhzZWxmLCByZWFzb25fcGhyYXNlOiBzdHIgPSAiIik6CisgICAgICAg
IHNlbGYucmVhc29uX3BocmFzZSA9IHJlYXNvbl9waHJhc2UKKworCitjbGFzcyBRcGFja0RlY29t
cHJlc3Npb25GYWlsZWQoUHJvdG9jb2xFcnJvcik6CisgICAgZXJyb3JfY29kZSA9IEVycm9yQ29k
ZS5IVFRQX1FQQUNLX0RFQ09NUFJFU1NJT05fRkFJTEVECisKKworY2xhc3MgUXBhY2tEZWNvZGVy
U3RyZWFtRXJyb3IoUHJvdG9jb2xFcnJvcik6CisgICAgZXJyb3JfY29kZSA9IEVycm9yQ29kZS5I
VFRQX1FQQUNLX0RFQ09ERVJfU1RSRUFNX0VSUk9SCisKKworY2xhc3MgUXBhY2tFbmNvZGVyU3Ry
ZWFtRXJyb3IoUHJvdG9jb2xFcnJvcik6CisgICAgZXJyb3JfY29kZSA9IEVycm9yQ29kZS5IVFRQ
X1FQQUNLX0VOQ09ERVJfU1RSRUFNX0VSUk9SCisKKworY2xhc3MgU3RyZWFtQ3JlYXRpb25FcnJv
cihQcm90b2NvbEVycm9yKToKKyAgICBlcnJvcl9jb2RlID0gRXJyb3JDb2RlLkhUVFBfU1RSRUFN
X0NSRUFUSU9OX0VSUk9SCisKKworY2xhc3MgRnJhbWVVbmV4cGVjdGVkKFByb3RvY29sRXJyb3Ip
OgorICAgIGVycm9yX2NvZGUgPSBFcnJvckNvZGUuSFRUUF9GUkFNRV9VTkVYUEVDVEVECisKKwor
ZGVmIGVuY29kZV9mcmFtZShmcmFtZV90eXBlOiBpbnQsIGZyYW1lX2RhdGE6IGJ5dGVzKSAtPiBi
eXRlczoKKyAgICBmcmFtZV9sZW5ndGggPSBsZW4oZnJhbWVfZGF0YSkKKyAgICBidWYgPSBCdWZm
ZXIoY2FwYWNpdHk9ZnJhbWVfbGVuZ3RoICsgMTYpCisgICAgYnVmLnB1c2hfdWludF92YXIoZnJh
bWVfdHlwZSkKKyAgICBidWYucHVzaF91aW50X3ZhcihmcmFtZV9sZW5ndGgpCisgICAgYnVmLnB1
c2hfYnl0ZXMoZnJhbWVfZGF0YSkKKyAgICByZXR1cm4gYnVmLmRhdGEKKworCitkZWYgZW5jb2Rl
X3NldHRpbmdzKHNldHRpbmdzOiBEaWN0W2ludCwgaW50XSkgLT4gYnl0ZXM6CisgICAgYnVmID0g
QnVmZmVyKGNhcGFjaXR5PTEwMjQpCisgICAgZm9yIHNldHRpbmcsIHZhbHVlIGluIHNldHRpbmdz
Lml0ZW1zKCk6CisgICAgICAgIGJ1Zi5wdXNoX3VpbnRfdmFyKHNldHRpbmcpCisgICAgICAgIGJ1
Zi5wdXNoX3VpbnRfdmFyKHZhbHVlKQorICAgIHJldHVybiBidWYuZGF0YQorCisKK2RlZiBwYXJz
ZV9tYXhfcHVzaF9pZChkYXRhOiBieXRlcykgLT4gaW50OgorICAgIGJ1ZiA9IEJ1ZmZlcihkYXRh
PWRhdGEpCisgICAgbWF4X3B1c2hfaWQgPSBidWYucHVsbF91aW50X3ZhcigpCisgICAgYXNzZXJ0
IGJ1Zi5lb2YoKQorICAgIHJldHVybiBtYXhfcHVzaF9pZAorCisKK2RlZiBwYXJzZV9zZXR0aW5n
cyhkYXRhOiBieXRlcykgLT4gRGljdFtpbnQsIGludF06CisgICAgYnVmID0gQnVmZmVyKGRhdGE9
ZGF0YSkKKyAgICBzZXR0aW5ncyA9IFtdCisgICAgd2hpbGUgbm90IGJ1Zi5lb2YoKToKKyAgICAg
ICAgc2V0dGluZyA9IGJ1Zi5wdWxsX3VpbnRfdmFyKCkKKyAgICAgICAgdmFsdWUgPSBidWYucHVs
bF91aW50X3ZhcigpCisgICAgICAgIHNldHRpbmdzLmFwcGVuZCgoc2V0dGluZywgdmFsdWUpKQor
ICAgIHJldHVybiBkaWN0KHNldHRpbmdzKQorCisKK2RlZiBxbG9nX2VuY29kZV9kYXRhX2ZyYW1l
KGJ5dGVfbGVuZ3RoOiBpbnQsIHN0cmVhbV9pZDogaW50KSAtPiBEaWN0OgorICAgIHJldHVybiB7
CisgICAgICAgICJieXRlX2xlbmd0aCI6IHN0cihieXRlX2xlbmd0aCksCisgICAgICAgICJmcmFt
ZSI6IHsiZnJhbWVfdHlwZSI6ICJkYXRhIn0sCisgICAgICAgICJzdHJlYW1faWQiOiBzdHIoc3Ry
ZWFtX2lkKSwKKyAgICB9CisKKworZGVmIHFsb2dfZW5jb2RlX2hlYWRlcnMoaGVhZGVyczogSGVh
ZGVycykgLT4gTGlzdFtEaWN0XToKKyAgICByZXR1cm4gWworICAgICAgICB7Im5hbWUiOiBoWzBd
LmRlY29kZSgidXRmOCIpLCAidmFsdWUiOiBoWzFdLmRlY29kZSgidXRmOCIpfSBmb3IgaCBpbiBo
ZWFkZXJzCisgICAgXQorCisKK2RlZiBxbG9nX2VuY29kZV9oZWFkZXJzX2ZyYW1lKAorICAgIGJ5
dGVfbGVuZ3RoOiBpbnQsIGhlYWRlcnM6IEhlYWRlcnMsIHN0cmVhbV9pZDogaW50CispIC0+IERp
Y3Q6CisgICAgcmV0dXJuIHsKKyAgICAgICAgImJ5dGVfbGVuZ3RoIjogc3RyKGJ5dGVfbGVuZ3Ro
KSwKKyAgICAgICAgImZyYW1lIjogeyJmcmFtZV90eXBlIjogImhlYWRlcnMiLCAiaGVhZGVycyI6
IHFsb2dfZW5jb2RlX2hlYWRlcnMoaGVhZGVycyl9LAorICAgICAgICAic3RyZWFtX2lkIjogc3Ry
KHN0cmVhbV9pZCksCisgICAgfQorCisKK2RlZiBxbG9nX2VuY29kZV9wdXNoX3Byb21pc2VfZnJh
bWUoCisgICAgYnl0ZV9sZW5ndGg6IGludCwgaGVhZGVyczogSGVhZGVycywgcHVzaF9pZDogaW50
LCBzdHJlYW1faWQ6IGludAorKSAtPiBEaWN0OgorICAgIHJldHVybiB7CisgICAgICAgICJieXRl
X2xlbmd0aCI6IHN0cihieXRlX2xlbmd0aCksCisgICAgICAgICJmcmFtZSI6IHsKKyAgICAgICAg
ICAgICJmcmFtZV90eXBlIjogInB1c2hfcHJvbWlzZSIsCisgICAgICAgICAgICAiaGVhZGVycyI6
IHFsb2dfZW5jb2RlX2hlYWRlcnMoaGVhZGVycyksCisgICAgICAgICAgICAicHVzaF9pZCI6IHN0
cihwdXNoX2lkKSwKKyAgICAgICAgfSwKKyAgICAgICAgInN0cmVhbV9pZCI6IHN0cihzdHJlYW1f
aWQpLAorICAgIH0KKworCitjbGFzcyBIM1N0cmVhbToKKyAgICBkZWYgX19pbml0X18oc2VsZiwg
c3RyZWFtX2lkOiBpbnQpIC0+IE5vbmU6CisgICAgICAgIHNlbGYuYmxvY2tlZCA9IEZhbHNlCisg
ICAgICAgIHNlbGYuYmxvY2tlZF9mcmFtZV9zaXplOiBPcHRpb25hbFtpbnRdID0gTm9uZQorICAg
ICAgICBzZWxmLmJ1ZmZlciA9IGIiIgorICAgICAgICBzZWxmLmVuZGVkID0gRmFsc2UKKyAgICAg
ICAgc2VsZi5mcmFtZV9zaXplOiBPcHRpb25hbFtpbnRdID0gTm9uZQorICAgICAgICBzZWxmLmZy
YW1lX3R5cGU6IE9wdGlvbmFsW2ludF0gPSBOb25lCisgICAgICAgIHNlbGYuaGVhZGVyc19yZWN2
X3N0YXRlOiBIZWFkZXJzU3RhdGUgPSBIZWFkZXJzU3RhdGUuSU5JVElBTAorICAgICAgICBzZWxm
LmhlYWRlcnNfc2VuZF9zdGF0ZTogSGVhZGVyc1N0YXRlID0gSGVhZGVyc1N0YXRlLklOSVRJQUwK
KyAgICAgICAgc2VsZi5wdXNoX2lkOiBPcHRpb25hbFtpbnRdID0gTm9uZQorICAgICAgICBzZWxm
LnN0cmVhbV9pZCA9IHN0cmVhbV9pZAorICAgICAgICBzZWxmLnN0cmVhbV90eXBlOiBPcHRpb25h
bFtpbnRdID0gTm9uZQorCisKK2NsYXNzIEgzQ29ubmVjdGlvbjoKKyAgICAiIiIKKyAgICBBIGxv
dy1sZXZlbCBIVFRQLzMgY29ubmVjdGlvbiBvYmplY3QuCisKKyAgICA6cGFyYW0gcXVpYzogQSA6
Y2xhc3M6YH5haW9xdWljLmNvbm5lY3Rpb24uUXVpY0Nvbm5lY3Rpb25gIGluc3RhbmNlLgorICAg
ICIiIgorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHF1aWM6IFF1aWNDb25uZWN0aW9uKToKKyAg
ICAgICAgc2VsZi5fbWF4X3RhYmxlX2NhcGFjaXR5ID0gNDA5NgorICAgICAgICBzZWxmLl9ibG9j
a2VkX3N0cmVhbXMgPSAxNgorCisgICAgICAgIHNlbGYuX2lzX2NsaWVudCA9IHF1aWMuY29uZmln
dXJhdGlvbi5pc19jbGllbnQKKyAgICAgICAgc2VsZi5faXNfZG9uZSA9IEZhbHNlCisgICAgICAg
IHNlbGYuX3F1aWMgPSBxdWljCisgICAgICAgIHNlbGYuX3F1aWNfbG9nZ2VyOiBPcHRpb25hbFtR
dWljTG9nZ2VyVHJhY2VdID0gcXVpYy5fcXVpY19sb2dnZXIKKyAgICAgICAgc2VsZi5fZGVjb2Rl
ciA9IHB5bHNxcGFjay5EZWNvZGVyKAorICAgICAgICAgICAgc2VsZi5fbWF4X3RhYmxlX2NhcGFj
aXR5LCBzZWxmLl9ibG9ja2VkX3N0cmVhbXMKKyAgICAgICAgKQorICAgICAgICBzZWxmLl9kZWNv
ZGVyX2J5dGVzX3JlY2VpdmVkID0gMAorICAgICAgICBzZWxmLl9kZWNvZGVyX2J5dGVzX3NlbnQg
PSAwCisgICAgICAgIHNlbGYuX2VuY29kZXIgPSBweWxzcXBhY2suRW5jb2RlcigpCisgICAgICAg
IHNlbGYuX2VuY29kZXJfYnl0ZXNfcmVjZWl2ZWQgPSAwCisgICAgICAgIHNlbGYuX2VuY29kZXJf
Ynl0ZXNfc2VudCA9IDAKKyAgICAgICAgc2VsZi5fc3RyZWFtOiBEaWN0W2ludCwgSDNTdHJlYW1d
ID0ge30KKworICAgICAgICBzZWxmLl9tYXhfcHVzaF9pZDogT3B0aW9uYWxbaW50XSA9IDggaWYg
c2VsZi5faXNfY2xpZW50IGVsc2UgTm9uZQorICAgICAgICBzZWxmLl9uZXh0X3B1c2hfaWQ6IGlu
dCA9IDAKKworICAgICAgICBzZWxmLl9sb2NhbF9jb250cm9sX3N0cmVhbV9pZDogT3B0aW9uYWxb
aW50XSA9IE5vbmUKKyAgICAgICAgc2VsZi5fbG9jYWxfZGVjb2Rlcl9zdHJlYW1faWQ6IE9wdGlv
bmFsW2ludF0gPSBOb25lCisgICAgICAgIHNlbGYuX2xvY2FsX2VuY29kZXJfc3RyZWFtX2lkOiBP
cHRpb25hbFtpbnRdID0gTm9uZQorCisgICAgICAgIHNlbGYuX3BlZXJfY29udHJvbF9zdHJlYW1f
aWQ6IE9wdGlvbmFsW2ludF0gPSBOb25lCisgICAgICAgIHNlbGYuX3BlZXJfZGVjb2Rlcl9zdHJl
YW1faWQ6IE9wdGlvbmFsW2ludF0gPSBOb25lCisgICAgICAgIHNlbGYuX3BlZXJfZW5jb2Rlcl9z
dHJlYW1faWQ6IE9wdGlvbmFsW2ludF0gPSBOb25lCisKKyAgICAgICAgc2VsZi5faW5pdF9jb25u
ZWN0aW9uKCkKKworICAgIGRlZiBoYW5kbGVfZXZlbnQoc2VsZiwgZXZlbnQ6IFF1aWNFdmVudCkg
LT4gTGlzdFtIM0V2ZW50XToKKyAgICAgICAgIiIiCisgICAgICAgIEhhbmRsZSBhIFFVSUMgZXZl
bnQgYW5kIHJldHVybiBhIGxpc3Qgb2YgSFRUUCBldmVudHMuCisKKyAgICAgICAgOnBhcmFtIGV2
ZW50OiBUaGUgUVVJQyBldmVudCB0byBoYW5kbGUuCisgICAgICAgICIiIgorICAgICAgICBpZiBp
c2luc3RhbmNlKGV2ZW50LCBTdHJlYW1EYXRhUmVjZWl2ZWQpIGFuZCBub3Qgc2VsZi5faXNfZG9u
ZToKKyAgICAgICAgICAgIHN0cmVhbV9pZCA9IGV2ZW50LnN0cmVhbV9pZAorICAgICAgICAgICAg
c3RyZWFtID0gc2VsZi5fZ2V0X29yX2NyZWF0ZV9zdHJlYW0oc3RyZWFtX2lkKQorICAgICAgICAg
ICAgdHJ5OgorICAgICAgICAgICAgICAgIGlmIHN0cmVhbV9pZCAlIDQgPT0gMDoKKyAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3JlY2VpdmVfcmVxdWVzdF9vcl9wdXNoX2RhdGEoCisg
ICAgICAgICAgICAgICAgICAgICAgICBzdHJlYW0sIGV2ZW50LmRhdGEsIGV2ZW50LmVuZF9zdHJl
YW0KKyAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgIGVsaWYgc3RyZWFtX2lz
X3VuaWRpcmVjdGlvbmFsKHN0cmVhbV9pZCk6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBz
ZWxmLl9yZWNlaXZlX3N0cmVhbV9kYXRhX3VuaSgKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0
cmVhbSwgZXZlbnQuZGF0YSwgZXZlbnQuZW5kX3N0cmVhbQorICAgICAgICAgICAgICAgICAgICAp
CisgICAgICAgICAgICBleGNlcHQgUHJvdG9jb2xFcnJvciBhcyBleGM6CisgICAgICAgICAgICAg
ICAgc2VsZi5faXNfZG9uZSA9IFRydWUKKyAgICAgICAgICAgICAgICBzZWxmLl9xdWljLmNsb3Nl
KAorICAgICAgICAgICAgICAgICAgICBlcnJvcl9jb2RlPWV4Yy5lcnJvcl9jb2RlLCByZWFzb25f
cGhyYXNlPWV4Yy5yZWFzb25fcGhyYXNlCisgICAgICAgICAgICAgICAgKQorICAgICAgICByZXR1
cm4gW10KKworICAgIGRlZiBzZW5kX3B1c2hfcHJvbWlzZShzZWxmLCBzdHJlYW1faWQ6IGludCwg
aGVhZGVyczogSGVhZGVycykgLT4gaW50OgorICAgICAgICAiIiIKKyAgICAgICAgU2VuZCBhIHB1
c2ggcHJvbWlzZSByZWxhdGVkIHRvIHRoZSBzcGVjaWZpZWQgc3RyZWFtLgorCisgICAgICAgIFJl
dHVybnMgdGhlIHN0cmVhbSBJRCBvbiB3aGljaCBoZWFkZXJzIGFuZCBkYXRhIGNhbiBiZSBzZW50
LgorCisgICAgICAgIDpwYXJhbSBzdHJlYW1faWQ6IFRoZSBzdHJlYW0gSUQgb24gd2hpY2ggdG8g
c2VuZCB0aGUgZGF0YS4KKyAgICAgICAgOnBhcmFtIGhlYWRlcnM6IFRoZSBIVFRQIHJlcXVlc3Qg
aGVhZGVycyBmb3IgdGhpcyBwdXNoLgorICAgICAgICAiIiIKKyAgICAgICAgYXNzZXJ0IG5vdCBz
ZWxmLl9pc19jbGllbnQsICJPbmx5IHNlcnZlcnMgbWF5IHNlbmQgYSBwdXNoIHByb21pc2UuIgor
ICAgICAgICBpZiBzZWxmLl9tYXhfcHVzaF9pZCBpcyBOb25lIG9yIHNlbGYuX25leHRfcHVzaF9p
ZCA+PSBzZWxmLl9tYXhfcHVzaF9pZDoKKyAgICAgICAgICAgIHJhaXNlIE5vQXZhaWxhYmxlUHVz
aElERXJyb3IKKworICAgICAgICAjIHNlbmQgcHVzaCBwcm9taXNlCisgICAgICAgIHB1c2hfaWQg
PSBzZWxmLl9uZXh0X3B1c2hfaWQKKyAgICAgICAgc2VsZi5fbmV4dF9wdXNoX2lkICs9IDEKKyAg
ICAgICAgc2VsZi5fcXVpYy5zZW5kX3N0cmVhbV9kYXRhKAorICAgICAgICAgICAgc3RyZWFtX2lk
LAorICAgICAgICAgICAgZW5jb2RlX2ZyYW1lKAorICAgICAgICAgICAgICAgIEZyYW1lVHlwZS5Q
VVNIX1BST01JU0UsCisgICAgICAgICAgICAgICAgZW5jb2RlX3VpbnRfdmFyKHB1c2hfaWQpICsg
c2VsZi5fZW5jb2RlX2hlYWRlcnMoc3RyZWFtX2lkLCBoZWFkZXJzKSwKKyAgICAgICAgICAgICks
CisgICAgICAgICkKKworICAgICAgICAjIMKgY3JlYXRlIHB1c2ggc3RyZWFtCisgICAgICAgIHB1
c2hfc3RyZWFtX2lkID0gc2VsZi5fY3JlYXRlX3VuaV9zdHJlYW0oU3RyZWFtVHlwZS5QVVNIKQor
ICAgICAgICBzZWxmLl9xdWljLnNlbmRfc3RyZWFtX2RhdGEocHVzaF9zdHJlYW1faWQsIGVuY29k
ZV91aW50X3ZhcihwdXNoX2lkKSkKKworICAgICAgICByZXR1cm4gcHVzaF9zdHJlYW1faWQKKwor
ICAgIGRlZiBzZW5kX2RhdGEoc2VsZiwgc3RyZWFtX2lkOiBpbnQsIGRhdGE6IGJ5dGVzLCBlbmRf
c3RyZWFtOiBib29sKSAtPiBOb25lOgorICAgICAgICAiIiIKKyAgICAgICAgU2VuZCBkYXRhIG9u
IHRoZSBnaXZlbiBzdHJlYW0uCisKKyAgICAgICAgVG8gcmV0cmlldmUgZGF0YWdyYW0gd2hpY2gg
bmVlZCB0byBiZSBzZW50IG92ZXIgdGhlIG5ldHdvcmsgY2FsbCB0aGUgUVVJQworICAgICAgICBj
b25uZWN0aW9uJ3MgOm1ldGg6YH5haW9xdWljLmNvbm5lY3Rpb24uUXVpY0Nvbm5lY3Rpb24uZGF0
YWdyYW1zX3RvX3NlbmRgCisgICAgICAgIG1ldGhvZC4KKworICAgICAgICA6cGFyYW0gc3RyZWFt
X2lkOiBUaGUgc3RyZWFtIElEIG9uIHdoaWNoIHRvIHNlbmQgdGhlIGRhdGEuCisgICAgICAgIDpw
YXJhbSBkYXRhOiBUaGUgZGF0YSB0byBzZW5kLgorICAgICAgICA6cGFyYW0gZW5kX3N0cmVhbTog
V2hldGhlciB0byBlbmQgdGhlIHN0cmVhbS4KKyAgICAgICAgIiIiCisgICAgICAgICMgY2hlY2sg
REFUQSBmcmFtZSBpcyBhbGxvd2VkCisgICAgICAgIHN0cmVhbSA9IHNlbGYuX2dldF9vcl9jcmVh
dGVfc3RyZWFtKHN0cmVhbV9pZCkKKyAgICAgICAgaWYgc3RyZWFtLmhlYWRlcnNfc2VuZF9zdGF0
ZSAhPSBIZWFkZXJzU3RhdGUuQUZURVJfSEVBREVSUzoKKyAgICAgICAgICAgIHJhaXNlIEZyYW1l
VW5leHBlY3RlZCgiREFUQSBmcmFtZSBpcyBub3QgYWxsb3dlZCBpbiB0aGlzIHN0YXRlIikKKwor
ICAgICAgICAjIGxvZyBmcmFtZQorICAgICAgICBpZiBzZWxmLl9xdWljX2xvZ2dlciBpcyBub3Qg
Tm9uZToKKyAgICAgICAgICAgIHNlbGYuX3F1aWNfbG9nZ2VyLmxvZ19ldmVudCgKKyAgICAgICAg
ICAgICAgICBjYXRlZ29yeT0iaHR0cCIsCisgICAgICAgICAgICAgICAgZXZlbnQ9ImZyYW1lX2Ny
ZWF0ZWQiLAorICAgICAgICAgICAgICAgIGRhdGE9cWxvZ19lbmNvZGVfZGF0YV9mcmFtZShieXRl
X2xlbmd0aD1sZW4oZGF0YSksIHN0cmVhbV9pZD1zdHJlYW1faWQpLAorICAgICAgICAgICAgKQor
CisgICAgICAgIHNlbGYuX3F1aWMuc2VuZF9zdHJlYW1fZGF0YSgKKyAgICAgICAgICAgIHN0cmVh
bV9pZCwgZW5jb2RlX2ZyYW1lKEZyYW1lVHlwZS5EQVRBLCBkYXRhKSwgZW5kX3N0cmVhbQorICAg
ICAgICApCisKKyAgICBkZWYgc2VuZF9oZWFkZXJzKAorICAgICAgICBzZWxmLCBzdHJlYW1faWQ6
IGludCwgaGVhZGVyczogSGVhZGVycywgZW5kX3N0cmVhbTogYm9vbCA9IEZhbHNlCisgICAgKSAt
PiBOb25lOgorICAgICAgICAiIiIKKyAgICAgICAgU2VuZCBoZWFkZXJzIG9uIHRoZSBnaXZlbiBz
dHJlYW0uCisKKyAgICAgICAgVG8gcmV0cmlldmUgZGF0YWdyYW0gd2hpY2ggbmVlZCB0byBiZSBz
ZW50IG92ZXIgdGhlIG5ldHdvcmsgY2FsbCB0aGUgUVVJQworICAgICAgICBjb25uZWN0aW9uJ3Mg
Om1ldGg6YH5haW9xdWljLmNvbm5lY3Rpb24uUXVpY0Nvbm5lY3Rpb24uZGF0YWdyYW1zX3RvX3Nl
bmRgCisgICAgICAgIG1ldGhvZC4KKworICAgICAgICA6cGFyYW0gc3RyZWFtX2lkOiBUaGUgc3Ry
ZWFtIElEIG9uIHdoaWNoIHRvIHNlbmQgdGhlIGhlYWRlcnMuCisgICAgICAgIDpwYXJhbSBoZWFk
ZXJzOiBUaGUgSFRUUCBoZWFkZXJzIHRvIHNlbmQuCisgICAgICAgIDpwYXJhbSBlbmRfc3RyZWFt
OiBXaGV0aGVyIHRvIGVuZCB0aGUgc3RyZWFtLgorICAgICAgICAiIiIKKyAgICAgICAgIyBjaGVj
ayBIRUFERVJTIGZyYW1lIGlzIGFsbG93ZWQKKyAgICAgICAgc3RyZWFtID0gc2VsZi5fZ2V0X29y
X2NyZWF0ZV9zdHJlYW0oc3RyZWFtX2lkKQorICAgICAgICBpZiBzdHJlYW0uaGVhZGVyc19zZW5k
X3N0YXRlID09IEhlYWRlcnNTdGF0ZS5BRlRFUl9UUkFJTEVSUzoKKyAgICAgICAgICAgIHJhaXNl
IEZyYW1lVW5leHBlY3RlZCgiSEVBREVSUyBmcmFtZSBpcyBub3QgYWxsb3dlZCBpbiB0aGlzIHN0
YXRlIikKKworICAgICAgICBmcmFtZV9kYXRhID0gc2VsZi5fZW5jb2RlX2hlYWRlcnMoc3RyZWFt
X2lkLCBoZWFkZXJzKQorCisgICAgICAgICMgbG9nIGZyYW1lCisgICAgICAgIGlmIHNlbGYuX3F1
aWNfbG9nZ2VyIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgc2VsZi5fcXVpY19sb2dnZXIubG9n
X2V2ZW50KAorICAgICAgICAgICAgICAgIGNhdGVnb3J5PSJodHRwIiwKKyAgICAgICAgICAgICAg
ICBldmVudD0iZnJhbWVfY3JlYXRlZCIsCisgICAgICAgICAgICAgICAgZGF0YT1xbG9nX2VuY29k
ZV9oZWFkZXJzX2ZyYW1lKAorICAgICAgICAgICAgICAgICAgICBieXRlX2xlbmd0aD1sZW4oZnJh
bWVfZGF0YSksIGhlYWRlcnM9aGVhZGVycywgc3RyZWFtX2lkPXN0cmVhbV9pZAorICAgICAgICAg
ICAgICAgICksCisgICAgICAgICAgICApCisKKyAgICAgICAgIyB1cGRhdGUgc3RhdGUgYW5kIHNl
bmQgaGVhZGVycworICAgICAgICBpZiBzdHJlYW0uaGVhZGVyc19zZW5kX3N0YXRlID09IEhlYWRl
cnNTdGF0ZS5JTklUSUFMOgorICAgICAgICAgICAgc3RyZWFtLmhlYWRlcnNfc2VuZF9zdGF0ZSA9
IEhlYWRlcnNTdGF0ZS5BRlRFUl9IRUFERVJTCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBz
dHJlYW0uaGVhZGVyc19zZW5kX3N0YXRlID0gSGVhZGVyc1N0YXRlLkFGVEVSX1RSQUlMRVJTCisg
ICAgICAgIHNlbGYuX3F1aWMuc2VuZF9zdHJlYW1fZGF0YSgKKyAgICAgICAgICAgIHN0cmVhbV9p
ZCwgZW5jb2RlX2ZyYW1lKEZyYW1lVHlwZS5IRUFERVJTLCBmcmFtZV9kYXRhKSwgZW5kX3N0cmVh
bQorICAgICAgICApCisKKyAgICBkZWYgX2NyZWF0ZV91bmlfc3RyZWFtKHNlbGYsIHN0cmVhbV90
eXBlOiBpbnQpIC0+IGludDoKKyAgICAgICAgIiIiCisgICAgICAgIENyZWF0ZSBhbiB1bmlkaXJl
Y3Rpb25hbCBzdHJlYW0gb2YgdGhlIGdpdmVuIHR5cGUuCisgICAgICAgICIiIgorICAgICAgICBz
dHJlYW1faWQgPSBzZWxmLl9xdWljLmdldF9uZXh0X2F2YWlsYWJsZV9zdHJlYW1faWQoaXNfdW5p
ZGlyZWN0aW9uYWw9VHJ1ZSkKKyAgICAgICAgc2VsZi5fcXVpYy5zZW5kX3N0cmVhbV9kYXRhKHN0
cmVhbV9pZCwgZW5jb2RlX3VpbnRfdmFyKHN0cmVhbV90eXBlKSkKKyAgICAgICAgcmV0dXJuIHN0
cmVhbV9pZAorCisgICAgZGVmIF9kZWNvZGVfaGVhZGVycyhzZWxmLCBzdHJlYW1faWQ6IGludCwg
ZnJhbWVfZGF0YTogT3B0aW9uYWxbYnl0ZXNdKSAtPiBIZWFkZXJzOgorICAgICAgICAiIiIKKyAg
ICAgICAgRGVjb2RlIGEgSEVBREVSUyBibG9jayBhbmQgc2VuZCBkZWNvZGVyIHVwZGF0ZXMgb24g
dGhlIGRlY29kZXIgc3RyZWFtLgorCisgICAgICAgIFRoaXMgaXMgY2FsbGVkIHdpdGggZnJhbWVf
ZGF0YT1Ob25lIHdoZW4gYSBzdHJlYW0gYmVjb21lcyB1bmJsb2NrZWQuCisgICAgICAgICIiIgor
ICAgICAgICB0cnk6CisgICAgICAgICAgICBpZiBmcmFtZV9kYXRhIGlzIE5vbmU6CisgICAgICAg
ICAgICAgICAgZGVjb2RlciwgaGVhZGVycyA9IHNlbGYuX2RlY29kZXIucmVzdW1lX2hlYWRlcihz
dHJlYW1faWQpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGRlY29kZXIsIGhl
YWRlcnMgPSBzZWxmLl9kZWNvZGVyLmZlZWRfaGVhZGVyKHN0cmVhbV9pZCwgZnJhbWVfZGF0YSkK
KyAgICAgICAgICAgIHNlbGYuX2RlY29kZXJfYnl0ZXNfc2VudCArPSBsZW4oZGVjb2RlcikKKyAg
ICAgICAgICAgIHNlbGYuX3F1aWMuc2VuZF9zdHJlYW1fZGF0YShzZWxmLl9sb2NhbF9kZWNvZGVy
X3N0cmVhbV9pZCwgZGVjb2RlcikKKyAgICAgICAgZXhjZXB0IHB5bHNxcGFjay5EZWNvbXByZXNz
aW9uRmFpbGVkIGFzIGV4YzoKKyAgICAgICAgICAgIHJhaXNlIFFwYWNrRGVjb21wcmVzc2lvbkZh
aWxlZCgpIGZyb20gZXhjCisKKyAgICAgICAgcmV0dXJuIGhlYWRlcnMKKworICAgIGRlZiBfZW5j
b2RlX2hlYWRlcnMoc2VsZiwgc3RyZWFtX2lkOiBpbnQsIGhlYWRlcnM6IEhlYWRlcnMpIC0+IGJ5
dGVzOgorICAgICAgICAiIiIKKyAgICAgICAgRW5jb2RlIGEgSEVBREVSUyBibG9jayBhbmQgc2Vu
ZCBlbmNvZGVyIHVwZGF0ZXMgb24gdGhlIGVuY29kZXIgc3RyZWFtLgorICAgICAgICAiIiIKKyAg
ICAgICAgZW5jb2RlciwgZnJhbWVfZGF0YSA9IHNlbGYuX2VuY29kZXIuZW5jb2RlKHN0cmVhbV9p
ZCwgaGVhZGVycykKKyAgICAgICAgc2VsZi5fZW5jb2Rlcl9ieXRlc19zZW50ICs9IGxlbihlbmNv
ZGVyKQorICAgICAgICBzZWxmLl9xdWljLnNlbmRfc3RyZWFtX2RhdGEoc2VsZi5fbG9jYWxfZW5j
b2Rlcl9zdHJlYW1faWQsIGVuY29kZXIpCisgICAgICAgIHJldHVybiBmcmFtZV9kYXRhCisKKyAg
ICBkZWYgX2dldF9vcl9jcmVhdGVfc3RyZWFtKHNlbGYsIHN0cmVhbV9pZDogaW50KSAtPiBIM1N0
cmVhbToKKyAgICAgICAgaWYgc3RyZWFtX2lkIG5vdCBpbiBzZWxmLl9zdHJlYW06CisgICAgICAg
ICAgICBzZWxmLl9zdHJlYW1bc3RyZWFtX2lkXSA9IEgzU3RyZWFtKHN0cmVhbV9pZCkKKyAgICAg
ICAgcmV0dXJuIHNlbGYuX3N0cmVhbVtzdHJlYW1faWRdCisKKyAgICBkZWYgX2hhbmRsZV9jb250
cm9sX2ZyYW1lKHNlbGYsIGZyYW1lX3R5cGU6IGludCwgZnJhbWVfZGF0YTogYnl0ZXMpIC0+IE5v
bmU6CisgICAgICAgICIiIgorICAgICAgICBIYW5kbGUgYSBmcmFtZSByZWNlaXZlZCBvbiB0aGUg
cGVlcidzIGNvbnRyb2wgc3RyZWFtLgorICAgICAgICAiIiIKKyAgICAgICAgaWYgZnJhbWVfdHlw
ZSA9PSBGcmFtZVR5cGUuU0VUVElOR1M6CisgICAgICAgICAgICBzZXR0aW5ncyA9IHBhcnNlX3Nl
dHRpbmdzKGZyYW1lX2RhdGEpCisgICAgICAgICAgICBlbmNvZGVyID0gc2VsZi5fZW5jb2Rlci5h
cHBseV9zZXR0aW5ncygKKyAgICAgICAgICAgICAgICBtYXhfdGFibGVfY2FwYWNpdHk9c2V0dGlu
Z3MuZ2V0KFNldHRpbmcuUVBBQ0tfTUFYX1RBQkxFX0NBUEFDSVRZLCAwKSwKKyAgICAgICAgICAg
ICAgICBibG9ja2VkX3N0cmVhbXM9c2V0dGluZ3MuZ2V0KFNldHRpbmcuUVBBQ0tfQkxPQ0tFRF9T
VFJFQU1TLCAwKSwKKyAgICAgICAgICAgICkKKyAgICAgICAgICAgIHNlbGYuX3F1aWMuc2VuZF9z
dHJlYW1fZGF0YShzZWxmLl9sb2NhbF9lbmNvZGVyX3N0cmVhbV9pZCwgZW5jb2RlcikKKyAgICAg
ICAgZWxpZiBmcmFtZV90eXBlID09IEZyYW1lVHlwZS5NQVhfUFVTSF9JRDoKKyAgICAgICAgICAg
IGlmIHNlbGYuX2lzX2NsaWVudDoKKyAgICAgICAgICAgICAgICByYWlzZSBGcmFtZVVuZXhwZWN0
ZWQoIlNlcnZlcnMgbXVzdCBub3Qgc2VuZCBNQVhfUFVTSF9JRCIpCisgICAgICAgICAgICBzZWxm
Ll9tYXhfcHVzaF9pZCA9IHBhcnNlX21heF9wdXNoX2lkKGZyYW1lX2RhdGEpCisgICAgICAgIGVs
aWYgZnJhbWVfdHlwZSBpbiAoCisgICAgICAgICAgICBGcmFtZVR5cGUuREFUQSwKKyAgICAgICAg
ICAgIEZyYW1lVHlwZS5IRUFERVJTLAorICAgICAgICAgICAgRnJhbWVUeXBlLlBVU0hfUFJPTUlT
RSwKKyAgICAgICAgICAgIEZyYW1lVHlwZS5EVVBMSUNBVEVfUFVTSCwKKyAgICAgICAgKToKKyAg
ICAgICAgICAgIHJhaXNlIEZyYW1lVW5leHBlY3RlZCgiSW52YWxpZCBmcmFtZSB0eXBlIG9uIGNv
bnRyb2wgc3RyZWFtIikKKworICAgIGRlZiBfaGFuZGxlX3JlcXVlc3Rfb3JfcHVzaF9mcmFtZSgK
KyAgICAgICAgc2VsZiwKKyAgICAgICAgZnJhbWVfdHlwZTogaW50LAorICAgICAgICBmcmFtZV9k
YXRhOiBPcHRpb25hbFtieXRlc10sCisgICAgICAgIHN0cmVhbTogSDNTdHJlYW0sCisgICAgICAg
IHN0cmVhbV9lbmRlZDogYm9vbCwKKyAgICApIC0+IExpc3RbSDNFdmVudF06CisgICAgICAgICIi
IgorICAgICAgICBIYW5kbGUgYSBmcmFtZSByZWNlaXZlZCBvbiBhIHJlcXVlc3Qgb3IgcHVzaCBz
dHJlYW0uCisgICAgICAgICIiIgorICAgICAgICBodHRwX2V2ZW50czogTGlzdFtIM0V2ZW50XSA9
IFtdCisKKyAgICAgICAgaWYgZnJhbWVfdHlwZSA9PSBGcmFtZVR5cGUuREFUQToKKyAgICAgICAg
ICAgICMgY2hlY2sgREFUQSBmcmFtZSBpcyBhbGxvd2VkCisgICAgICAgICAgICBpZiBzdHJlYW0u
aGVhZGVyc19yZWN2X3N0YXRlICE9IEhlYWRlcnNTdGF0ZS5BRlRFUl9IRUFERVJTOgorICAgICAg
ICAgICAgICAgIHJhaXNlIEZyYW1lVW5leHBlY3RlZCgiREFUQSBmcmFtZSBpcyBub3QgYWxsb3dl
ZCBpbiB0aGlzIHN0YXRlIikKKworICAgICAgICAgICAgaWYgc3RyZWFtX2VuZGVkIG9yIGZyYW1l
X2RhdGE6CisgICAgICAgICAgICAgICAgaHR0cF9ldmVudHMuYXBwZW5kKAorICAgICAgICAgICAg
ICAgICAgICBEYXRhUmVjZWl2ZWQoCisgICAgICAgICAgICAgICAgICAgICAgICBkYXRhPWZyYW1l
X2RhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICBwdXNoX2lkPXN0cmVhbS5wdXNoX2lkLAor
ICAgICAgICAgICAgICAgICAgICAgICAgc3RyZWFtX2VuZGVkPXN0cmVhbV9lbmRlZCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHN0cmVhbV9pZD1zdHJlYW0uc3RyZWFtX2lkLAorICAgICAgICAg
ICAgICAgICAgICApCisgICAgICAgICAgICAgICAgKQorICAgICAgICBlbGlmIGZyYW1lX3R5cGUg
PT0gRnJhbWVUeXBlLkhFQURFUlM6CisgICAgICAgICAgICAjIGNoZWNrIEhFQURFUlMgZnJhbWUg
aXMgYWxsb3dlZAorICAgICAgICAgICAgaWYgc3RyZWFtLmhlYWRlcnNfcmVjdl9zdGF0ZSA9PSBI
ZWFkZXJzU3RhdGUuQUZURVJfVFJBSUxFUlM6CisgICAgICAgICAgICAgICAgcmFpc2UgRnJhbWVV
bmV4cGVjdGVkKCJIRUFERVJTIGZyYW1lIGlzIG5vdCBhbGxvd2VkIGluIHRoaXMgc3RhdGUiKQor
CisgICAgICAgICAgICAjIHRyeSB0byBkZWNvZGUgSEVBREVSUywgbWF5IHJhaXNlIHB5bHNxcGFj
ay5TdHJlYW1CbG9ja2VkCisgICAgICAgICAgICBoZWFkZXJzID0gc2VsZi5fZGVjb2RlX2hlYWRl
cnMoc3RyZWFtLnN0cmVhbV9pZCwgZnJhbWVfZGF0YSkKKworICAgICAgICAgICAgIyBsb2cgZnJh
bWUKKyAgICAgICAgICAgIGlmIHNlbGYuX3F1aWNfbG9nZ2VyIGlzIG5vdCBOb25lOgorICAgICAg
ICAgICAgICAgIHNlbGYuX3F1aWNfbG9nZ2VyLmxvZ19ldmVudCgKKyAgICAgICAgICAgICAgICAg
ICAgY2F0ZWdvcnk9Imh0dHAiLAorICAgICAgICAgICAgICAgICAgICBldmVudD0iZnJhbWVfcGFy
c2VkIiwKKyAgICAgICAgICAgICAgICAgICAgZGF0YT1xbG9nX2VuY29kZV9oZWFkZXJzX2ZyYW1l
KAorICAgICAgICAgICAgICAgICAgICAgICAgYnl0ZV9sZW5ndGg9c3RyZWFtLmJsb2NrZWRfZnJh
bWVfc2l6ZQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgZnJhbWVfZGF0YSBpcyBOb25lCisg
ICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGxlbihmcmFtZV9kYXRhKSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGhlYWRlcnM9aGVhZGVycywKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0
cmVhbV9pZD1zdHJlYW0uc3RyZWFtX2lkLAorICAgICAgICAgICAgICAgICAgICApLAorICAgICAg
ICAgICAgICAgICkKKworICAgICAgICAgICAgIyB1cGRhdGUgc3RhdGUgYW5kIGVtaXQgaGVhZGVy
cworICAgICAgICAgICAgaWYgc3RyZWFtLmhlYWRlcnNfcmVjdl9zdGF0ZSA9PSBIZWFkZXJzU3Rh
dGUuSU5JVElBTDoKKyAgICAgICAgICAgICAgICBzdHJlYW0uaGVhZGVyc19yZWN2X3N0YXRlID0g
SGVhZGVyc1N0YXRlLkFGVEVSX0hFQURFUlMKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAg
ICAgICAgc3RyZWFtLmhlYWRlcnNfcmVjdl9zdGF0ZSA9IEhlYWRlcnNTdGF0ZS5BRlRFUl9UUkFJ
TEVSUworICAgICAgICAgICAgaHR0cF9ldmVudHMuYXBwZW5kKAorICAgICAgICAgICAgICAgIEhl
YWRlcnNSZWNlaXZlZCgKKyAgICAgICAgICAgICAgICAgICAgaGVhZGVycz1oZWFkZXJzLAorICAg
ICAgICAgICAgICAgICAgICBwdXNoX2lkPXN0cmVhbS5wdXNoX2lkLAorICAgICAgICAgICAgICAg
ICAgICBzdHJlYW1faWQ9c3RyZWFtLnN0cmVhbV9pZCwKKyAgICAgICAgICAgICAgICAgICAgc3Ry
ZWFtX2VuZGVkPXN0cmVhbV9lbmRlZCwKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAp
CisgICAgICAgIGVsaWYgc3RyZWFtLmZyYW1lX3R5cGUgPT0gRnJhbWVUeXBlLlBVU0hfUFJPTUlT
RSBhbmQgc3RyZWFtLnB1c2hfaWQgaXMgTm9uZToKKyAgICAgICAgICAgIGlmIG5vdCBzZWxmLl9p
c19jbGllbnQ6CisgICAgICAgICAgICAgICAgcmFpc2UgRnJhbWVVbmV4cGVjdGVkKCJDbGllbnRz
IG11c3Qgbm90IHNlbmQgUFVTSF9QUk9NSVNFIikKKyAgICAgICAgICAgIGZyYW1lX2J1ZiA9IEJ1
ZmZlcihkYXRhPWZyYW1lX2RhdGEpCisgICAgICAgICAgICBwdXNoX2lkID0gZnJhbWVfYnVmLnB1
bGxfdWludF92YXIoKQorICAgICAgICAgICAgaGVhZGVycyA9IHNlbGYuX2RlY29kZV9oZWFkZXJz
KAorICAgICAgICAgICAgICAgIHN0cmVhbS5zdHJlYW1faWQsIGZyYW1lX2RhdGFbZnJhbWVfYnVm
LnRlbGwoKSA6XQorICAgICAgICAgICAgKQorCisgICAgICAgICAgICAjIGxvZyBmcmFtZQorICAg
ICAgICAgICAgaWYgc2VsZi5fcXVpY19sb2dnZXIgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAg
ICAgc2VsZi5fcXVpY19sb2dnZXIubG9nX2V2ZW50KAorICAgICAgICAgICAgICAgICAgICBjYXRl
Z29yeT0iaHR0cCIsCisgICAgICAgICAgICAgICAgICAgIGV2ZW50PSJmcmFtZV9wYXJzZWQiLAor
ICAgICAgICAgICAgICAgICAgICBkYXRhPXFsb2dfZW5jb2RlX3B1c2hfcHJvbWlzZV9mcmFtZSgK
KyAgICAgICAgICAgICAgICAgICAgICAgIGJ5dGVfbGVuZ3RoPWxlbihmcmFtZV9kYXRhKSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcnM9aGVhZGVycywKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHB1c2hfaWQ9cHVzaF9pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cmVhbV9p
ZD1zdHJlYW0uc3RyZWFtX2lkLAorICAgICAgICAgICAgICAgICAgICApLAorICAgICAgICAgICAg
ICAgICkKKworICAgICAgICAgICAgIyBlbWl0IGV2ZW50CisgICAgICAgICAgICBodHRwX2V2ZW50
cy5hcHBlbmQoCisgICAgICAgICAgICAgICAgUHVzaFByb21pc2VSZWNlaXZlZCgKKyAgICAgICAg
ICAgICAgICAgICAgaGVhZGVycz1oZWFkZXJzLCBwdXNoX2lkPXB1c2hfaWQsIHN0cmVhbV9pZD1z
dHJlYW0uc3RyZWFtX2lkCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgKQorICAgICAg
ICBlbGlmIGZyYW1lX3R5cGUgaW4gKAorICAgICAgICAgICAgRnJhbWVUeXBlLlBSSU9SSVRZLAor
ICAgICAgICAgICAgRnJhbWVUeXBlLkNBTkNFTF9QVVNILAorICAgICAgICAgICAgRnJhbWVUeXBl
LlNFVFRJTkdTLAorICAgICAgICAgICAgRnJhbWVUeXBlLlBVU0hfUFJPTUlTRSwKKyAgICAgICAg
ICAgIEZyYW1lVHlwZS5HT0FXQVksCisgICAgICAgICAgICBGcmFtZVR5cGUuTUFYX1BVU0hfSUQs
CisgICAgICAgICAgICBGcmFtZVR5cGUuRFVQTElDQVRFX1BVU0gsCisgICAgICAgICk6CisgICAg
ICAgICAgICByYWlzZSBGcmFtZVVuZXhwZWN0ZWQoCisgICAgICAgICAgICAgICAgIkludmFsaWQg
ZnJhbWUgdHlwZSBvbiByZXF1ZXN0IHN0cmVhbSIKKyAgICAgICAgICAgICAgICBpZiBzdHJlYW0u
cHVzaF9pZCBpcyBOb25lCisgICAgICAgICAgICAgICAgZWxzZSAiSW52YWxpZCBmcmFtZSB0eXBl
IG9uIHB1c2ggc3RyZWFtIgorICAgICAgICAgICAgKQorCisgICAgICAgIHJldHVybiBodHRwX2V2
ZW50cworCisgICAgZGVmIF9pbml0X2Nvbm5lY3Rpb24oc2VsZikgLT4gTm9uZToKKyAgICAgICAg
IyBzZW5kIG91ciBzZXR0aW5ncworICAgICAgICBzZWxmLl9sb2NhbF9jb250cm9sX3N0cmVhbV9p
ZCA9IHNlbGYuX2NyZWF0ZV91bmlfc3RyZWFtKFN0cmVhbVR5cGUuQ09OVFJPTCkKKyAgICAgICAg
c2VsZi5fcXVpYy5zZW5kX3N0cmVhbV9kYXRhKAorICAgICAgICAgICAgc2VsZi5fbG9jYWxfY29u
dHJvbF9zdHJlYW1faWQsCisgICAgICAgICAgICBlbmNvZGVfZnJhbWUoCisgICAgICAgICAgICAg
ICAgRnJhbWVUeXBlLlNFVFRJTkdTLAorICAgICAgICAgICAgICAgIGVuY29kZV9zZXR0aW5ncygK
KyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgU2V0dGluZy5R
UEFDS19NQVhfVEFCTEVfQ0FQQUNJVFk6IHNlbGYuX21heF90YWJsZV9jYXBhY2l0eSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgIFNldHRpbmcuUVBBQ0tfQkxPQ0tFRF9TVFJFQU1TOiBzZWxmLl9i
bG9ja2VkX3N0cmVhbXMsCisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAp
LAorICAgICAgICAgICAgKSwKKyAgICAgICAgKQorICAgICAgICBpZiBzZWxmLl9pc19jbGllbnQg
YW5kIHNlbGYuX21heF9wdXNoX2lkIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgc2VsZi5fcXVp
Yy5zZW5kX3N0cmVhbV9kYXRhKAorICAgICAgICAgICAgICAgIHNlbGYuX2xvY2FsX2NvbnRyb2xf
c3RyZWFtX2lkLAorICAgICAgICAgICAgICAgIGVuY29kZV9mcmFtZShGcmFtZVR5cGUuTUFYX1BV
U0hfSUQsIGVuY29kZV91aW50X3ZhcihzZWxmLl9tYXhfcHVzaF9pZCkpLAorICAgICAgICAgICAg
KQorCisgICAgICAgICMgY3JlYXRlIGVuY29kZXIgYW5kIGRlY29kZXIgc3RyZWFtcworICAgICAg
ICBzZWxmLl9sb2NhbF9lbmNvZGVyX3N0cmVhbV9pZCA9IHNlbGYuX2NyZWF0ZV91bmlfc3RyZWFt
KAorICAgICAgICAgICAgU3RyZWFtVHlwZS5RUEFDS19FTkNPREVSCisgICAgICAgICkKKyAgICAg
ICAgc2VsZi5fbG9jYWxfZGVjb2Rlcl9zdHJlYW1faWQgPSBzZWxmLl9jcmVhdGVfdW5pX3N0cmVh
bSgKKyAgICAgICAgICAgIFN0cmVhbVR5cGUuUVBBQ0tfREVDT0RFUgorICAgICAgICApCisKKyAg
ICBkZWYgX3JlY2VpdmVfcmVxdWVzdF9vcl9wdXNoX2RhdGEoCisgICAgICAgIHNlbGYsIHN0cmVh
bTogSDNTdHJlYW0sIGRhdGE6IGJ5dGVzLCBzdHJlYW1fZW5kZWQ6IGJvb2wKKyAgICApIC0+IExp
c3RbSDNFdmVudF06CisgICAgICAgICIiIgorICAgICAgICBIYW5kbGUgZGF0YSByZWNlaXZlZCBv
biBhIHJlcXVlc3Qgb3IgcHVzaCBzdHJlYW0uCisgICAgICAgICIiIgorICAgICAgICBodHRwX2V2
ZW50czogTGlzdFtIM0V2ZW50XSA9IFtdCisKKyAgICAgICAgc3RyZWFtLmJ1ZmZlciArPSBkYXRh
CisgICAgICAgIGlmIHN0cmVhbV9lbmRlZDoKKyAgICAgICAgICAgIHN0cmVhbS5lbmRlZCA9IFRy
dWUKKyAgICAgICAgaWYgc3RyZWFtLmJsb2NrZWQ6CisgICAgICAgICAgICByZXR1cm4gaHR0cF9l
dmVudHMKKworICAgICAgICAjIHNob3J0Y3V0IGZvciBEQVRBIGZyYW1lIGZyYWdtZW50cworICAg
ICAgICBpZiAoCisgICAgICAgICAgICBzdHJlYW0uZnJhbWVfdHlwZSA9PSBGcmFtZVR5cGUuREFU
QQorICAgICAgICAgICAgYW5kIHN0cmVhbS5mcmFtZV9zaXplIGlzIG5vdCBOb25lCisgICAgICAg
ICAgICBhbmQgbGVuKHN0cmVhbS5idWZmZXIpIDwgc3RyZWFtLmZyYW1lX3NpemUKKyAgICAgICAg
KToKKyAgICAgICAgICAgIGh0dHBfZXZlbnRzLmFwcGVuZCgKKyAgICAgICAgICAgICAgICBEYXRh
UmVjZWl2ZWQoCisgICAgICAgICAgICAgICAgICAgIGRhdGE9c3RyZWFtLmJ1ZmZlciwKKyAgICAg
ICAgICAgICAgICAgICAgcHVzaF9pZD1zdHJlYW0ucHVzaF9pZCwKKyAgICAgICAgICAgICAgICAg
ICAgc3RyZWFtX2lkPXN0cmVhbS5zdHJlYW1faWQsCisgICAgICAgICAgICAgICAgICAgIHN0cmVh
bV9lbmRlZD1GYWxzZSwKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICApCisgICAgICAg
ICAgICBzdHJlYW0uZnJhbWVfc2l6ZSAtPSBsZW4oc3RyZWFtLmJ1ZmZlcikKKyAgICAgICAgICAg
IHN0cmVhbS5idWZmZXIgPSBiIiIKKyAgICAgICAgICAgIHJldHVybiBodHRwX2V2ZW50cworCisg
ICAgICAgICMgaGFuZGxlIGxvbmUgRklOCisgICAgICAgIGlmIHN0cmVhbV9lbmRlZCBhbmQgbm90
IHN0cmVhbS5idWZmZXI6CisgICAgICAgICAgICBodHRwX2V2ZW50cy5hcHBlbmQoCisgICAgICAg
ICAgICAgICAgRGF0YVJlY2VpdmVkKAorICAgICAgICAgICAgICAgICAgICBkYXRhPWIiIiwKKyAg
ICAgICAgICAgICAgICAgICAgcHVzaF9pZD1zdHJlYW0ucHVzaF9pZCwKKyAgICAgICAgICAgICAg
ICAgICAgc3RyZWFtX2lkPXN0cmVhbS5zdHJlYW1faWQsCisgICAgICAgICAgICAgICAgICAgIHN0
cmVhbV9lbmRlZD1UcnVlLAorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICkKKyAgICAg
ICAgICAgIHJldHVybiBodHRwX2V2ZW50cworCisgICAgICAgIGJ1ZiA9IEJ1ZmZlcihkYXRhPXN0
cmVhbS5idWZmZXIpCisgICAgICAgIGNvbnN1bWVkID0gMAorCisgICAgICAgIHdoaWxlIG5vdCBi
dWYuZW9mKCk6CisgICAgICAgICAgICAjIGZldGNoIG5leHQgZnJhbWUgaGVhZGVyCisgICAgICAg
ICAgICBpZiBzdHJlYW0uZnJhbWVfc2l6ZSBpcyBOb25lOgorICAgICAgICAgICAgICAgIHRyeToK
KyAgICAgICAgICAgICAgICAgICAgc3RyZWFtLmZyYW1lX3R5cGUgPSBidWYucHVsbF91aW50X3Zh
cigpCisgICAgICAgICAgICAgICAgICAgIHN0cmVhbS5mcmFtZV9zaXplID0gYnVmLnB1bGxfdWlu
dF92YXIoKQorICAgICAgICAgICAgICAgIGV4Y2VwdCBCdWZmZXJSZWFkRXJyb3I6CisgICAgICAg
ICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICAgICAgY29uc3VtZWQgPSBidWYudGVsbCgp
CisKKyAgICAgICAgICAgICAgICAjIGxvZyBmcmFtZQorICAgICAgICAgICAgICAgIGlmICgKKyAg
ICAgICAgICAgICAgICAgICAgc2VsZi5fcXVpY19sb2dnZXIgaXMgbm90IE5vbmUKKyAgICAgICAg
ICAgICAgICAgICAgYW5kIHN0cmVhbS5mcmFtZV90eXBlID09IEZyYW1lVHlwZS5EQVRBCisgICAg
ICAgICAgICAgICAgKToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5fcXVpY19sb2dnZXIubG9n
X2V2ZW50KAorICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcnk9Imh0dHAiLAorICAgICAg
ICAgICAgICAgICAgICAgICAgZXZlbnQ9ImZyYW1lX3BhcnNlZCIsCisgICAgICAgICAgICAgICAg
ICAgICAgICBkYXRhPXFsb2dfZW5jb2RlX2RhdGFfZnJhbWUoCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYnl0ZV9sZW5ndGg9c3RyZWFtLmZyYW1lX3NpemUsIHN0cmVhbV9pZD1zdHJlYW0u
c3RyZWFtX2lkCisgICAgICAgICAgICAgICAgICAgICAgICApLAorICAgICAgICAgICAgICAgICAg
ICApCisKKyAgICAgICAgICAgICMgY2hlY2sgaG93IG11Y2ggZGF0YSBpcyBhdmFpbGFibGUKKyAg
ICAgICAgICAgIGNodW5rX3NpemUgPSBtaW4oc3RyZWFtLmZyYW1lX3NpemUsIGJ1Zi5jYXBhY2l0
eSAtIGNvbnN1bWVkKQorICAgICAgICAgICAgaWYgc3RyZWFtLmZyYW1lX3R5cGUgIT0gRnJhbWVU
eXBlLkRBVEEgYW5kIGNodW5rX3NpemUgPCBzdHJlYW0uZnJhbWVfc2l6ZToKKyAgICAgICAgICAg
ICAgICBicmVhaworCisgICAgICAgICAgICAjIHJlYWQgYXZhaWxhYmxlIGRhdGEKKyAgICAgICAg
ICAgIGZyYW1lX2RhdGEgPSBidWYucHVsbF9ieXRlcyhjaHVua19zaXplKQorICAgICAgICAgICAg
Y29uc3VtZWQgPSBidWYudGVsbCgpCisKKyAgICAgICAgICAgICMgZGV0ZWN0IGVuZCBvZiBmcmFt
ZQorICAgICAgICAgICAgc3RyZWFtLmZyYW1lX3NpemUgLT0gY2h1bmtfc2l6ZQorICAgICAgICAg
ICAgaWYgbm90IHN0cmVhbS5mcmFtZV9zaXplOgorICAgICAgICAgICAgICAgIHN0cmVhbS5mcmFt
ZV9zaXplID0gTm9uZQorCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgaHR0cF9l
dmVudHMuZXh0ZW5kKAorICAgICAgICAgICAgICAgICAgICBzZWxmLl9oYW5kbGVfcmVxdWVzdF9v
cl9wdXNoX2ZyYW1lKAorICAgICAgICAgICAgICAgICAgICAgICAgZnJhbWVfdHlwZT1zdHJlYW0u
ZnJhbWVfdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGZyYW1lX2RhdGE9ZnJhbWVfZGF0
YSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cmVhbT1zdHJlYW0sCisgICAgICAgICAgICAg
ICAgICAgICAgICBzdHJlYW1fZW5kZWQ9c3RyZWFtLmVuZGVkIGFuZCBidWYuZW9mKCksCisgICAg
ICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICBleGNlcHQg
cHlsc3FwYWNrLlN0cmVhbUJsb2NrZWQ6CisgICAgICAgICAgICAgICAgc3RyZWFtLmJsb2NrZWQg
PSBUcnVlCisgICAgICAgICAgICAgICAgc3RyZWFtLmJsb2NrZWRfZnJhbWVfc2l6ZSA9IGxlbihm
cmFtZV9kYXRhKQorICAgICAgICAgICAgICAgIGJyZWFrCisKKyAgICAgICAgIyByZW1vdmUgcHJv
Y2Vzc2VkIGRhdGEgZnJvbSBidWZmZXIKKyAgICAgICAgc3RyZWFtLmJ1ZmZlciA9IHN0cmVhbS5i
dWZmZXJbY29uc3VtZWQ6XQorCisgICAgICAgIHJldHVybiBodHRwX2V2ZW50cworCisgICAgZGVm
IF9yZWNlaXZlX3N0cmVhbV9kYXRhX3VuaSgKKyAgICAgICAgc2VsZiwgc3RyZWFtOiBIM1N0cmVh
bSwgZGF0YTogYnl0ZXMsIHN0cmVhbV9lbmRlZDogYm9vbAorICAgICkgLT4gTGlzdFtIM0V2ZW50
XToKKyAgICAgICAgaHR0cF9ldmVudHM6IExpc3RbSDNFdmVudF0gPSBbXQorCisgICAgICAgIHN0
cmVhbS5idWZmZXIgKz0gZGF0YQorICAgICAgICBpZiBzdHJlYW1fZW5kZWQ6CisgICAgICAgICAg
ICBzdHJlYW0uZW5kZWQgPSBUcnVlCisKKyAgICAgICAgYnVmID0gQnVmZmVyKGRhdGE9c3RyZWFt
LmJ1ZmZlcikKKyAgICAgICAgY29uc3VtZWQgPSAwCisgICAgICAgIHVuYmxvY2tlZF9zdHJlYW1z
OiBTZXRbaW50XSA9IHNldCgpCisKKyAgICAgICAgd2hpbGUgc3RyZWFtLnN0cmVhbV90eXBlID09
IFN0cmVhbVR5cGUuUFVTSCBvciBub3QgYnVmLmVvZigpOgorICAgICAgICAgICAgIyBmZXRjaCBz
dHJlYW0gdHlwZSBmb3IgdW5pZGlyZWN0aW9uYWwgc3RyZWFtcworICAgICAgICAgICAgaWYgc3Ry
ZWFtLnN0cmVhbV90eXBlIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAg
ICAgICAgICAgICBzdHJlYW0uc3RyZWFtX3R5cGUgPSBidWYucHVsbF91aW50X3ZhcigpCisgICAg
ICAgICAgICAgICAgZXhjZXB0IEJ1ZmZlclJlYWRFcnJvcjoKKyAgICAgICAgICAgICAgICAgICAg
YnJlYWsKKyAgICAgICAgICAgICAgICBjb25zdW1lZCA9IGJ1Zi50ZWxsKCkKKworICAgICAgICAg
ICAgICAgICMgY2hlY2sgdW5pY2l0eQorICAgICAgICAgICAgICAgIGlmIHN0cmVhbS5zdHJlYW1f
dHlwZSA9PSBTdHJlYW1UeXBlLkNPTlRST0w6CisgICAgICAgICAgICAgICAgICAgIGlmIHNlbGYu
X3BlZXJfY29udHJvbF9zdHJlYW1faWQgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgICAg
ICAgICByYWlzZSBTdHJlYW1DcmVhdGlvbkVycm9yKCJPbmx5IG9uZSBjb250cm9sIHN0cmVhbSBp
cyBhbGxvd2VkIikKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5fcGVlcl9jb250cm9sX3N0cmVh
bV9pZCA9IHN0cmVhbS5zdHJlYW1faWQKKyAgICAgICAgICAgICAgICBlbGlmIHN0cmVhbS5zdHJl
YW1fdHlwZSA9PSBTdHJlYW1UeXBlLlFQQUNLX0RFQ09ERVI6CisgICAgICAgICAgICAgICAgICAg
IGlmIHNlbGYuX3BlZXJfZGVjb2Rlcl9zdHJlYW1faWQgaXMgbm90IE5vbmU6CisgICAgICAgICAg
ICAgICAgICAgICAgICByYWlzZSBTdHJlYW1DcmVhdGlvbkVycm9yKAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJPbmx5IG9uZSBRUEFDSyBkZWNvZGVyIHN0cmVhbSBpcyBhbGxvd2VkIgor
ICAgICAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICAgICBzZWxmLl9wZWVy
X2RlY29kZXJfc3RyZWFtX2lkID0gc3RyZWFtLnN0cmVhbV9pZAorICAgICAgICAgICAgICAgIGVs
aWYgc3RyZWFtLnN0cmVhbV90eXBlID09IFN0cmVhbVR5cGUuUVBBQ0tfRU5DT0RFUjoKKyAgICAg
ICAgICAgICAgICAgICAgaWYgc2VsZi5fcGVlcl9lbmNvZGVyX3N0cmVhbV9pZCBpcyBub3QgTm9u
ZToKKyAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIFN0cmVhbUNyZWF0aW9uRXJyb3IoCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIk9ubHkgb25lIFFQQUNLIGVuY29kZXIgc3RyZWFt
IGlzIGFsbG93ZWQiCisgICAgICAgICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAg
ICAgIHNlbGYuX3BlZXJfZW5jb2Rlcl9zdHJlYW1faWQgPSBzdHJlYW0uc3RyZWFtX2lkCisKKyAg
ICAgICAgICAgIGlmIHN0cmVhbS5zdHJlYW1fdHlwZSA9PSBTdHJlYW1UeXBlLkNPTlRST0w6Cisg
ICAgICAgICAgICAgICAgIyBmZXRjaCBuZXh0IGZyYW1lCisgICAgICAgICAgICAgICAgdHJ5Ogor
ICAgICAgICAgICAgICAgICAgICBmcmFtZV90eXBlID0gYnVmLnB1bGxfdWludF92YXIoKQorICAg
ICAgICAgICAgICAgICAgICBmcmFtZV9sZW5ndGggPSBidWYucHVsbF91aW50X3ZhcigpCisgICAg
ICAgICAgICAgICAgICAgIGZyYW1lX2RhdGEgPSBidWYucHVsbF9ieXRlcyhmcmFtZV9sZW5ndGgp
CisgICAgICAgICAgICAgICAgZXhjZXB0IEJ1ZmZlclJlYWRFcnJvcjoKKyAgICAgICAgICAgICAg
ICAgICAgYnJlYWsKKyAgICAgICAgICAgICAgICBjb25zdW1lZCA9IGJ1Zi50ZWxsKCkKKworICAg
ICAgICAgICAgICAgIHNlbGYuX2hhbmRsZV9jb250cm9sX2ZyYW1lKGZyYW1lX3R5cGUsIGZyYW1l
X2RhdGEpCisgICAgICAgICAgICBlbGlmIHN0cmVhbS5zdHJlYW1fdHlwZSA9PSBTdHJlYW1UeXBl
LlBVU0g6CisgICAgICAgICAgICAgICAgIyBmZXRjaCBwdXNoIGlkCisgICAgICAgICAgICAgICAg
aWYgc3RyZWFtLnB1c2hfaWQgaXMgTm9uZToKKyAgICAgICAgICAgICAgICAgICAgdHJ5OgorICAg
ICAgICAgICAgICAgICAgICAgICAgc3RyZWFtLnB1c2hfaWQgPSBidWYucHVsbF91aW50X3Zhcigp
CisgICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBCdWZmZXJSZWFkRXJyb3I6CisgICAgICAgICAg
ICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgICAgICAgICBjb25zdW1lZCA9IGJ1Zi50
ZWxsKCkKKworICAgICAgICAgICAgICAgICMgcmVtb3ZlIHByb2Nlc3NlZCBkYXRhIGZyb20gYnVm
ZmVyCisgICAgICAgICAgICAgICAgc3RyZWFtLmJ1ZmZlciA9IHN0cmVhbS5idWZmZXJbY29uc3Vt
ZWQ6XQorCisgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3JlY2VpdmVfcmVxdWVzdF9vcl9w
dXNoX2RhdGEoc3RyZWFtLCBiIiIsIHN0cmVhbV9lbmRlZCkKKyAgICAgICAgICAgIGVsaWYgc3Ry
ZWFtLnN0cmVhbV90eXBlID09IFN0cmVhbVR5cGUuUVBBQ0tfREVDT0RFUjoKKyAgICAgICAgICAg
ICAgICAjIGZlZWQgdW5mcmFtZWQgZGF0YSB0byBkZWNvZGVyCisgICAgICAgICAgICAgICAgZGF0
YSA9IGJ1Zi5wdWxsX2J5dGVzKGJ1Zi5jYXBhY2l0eSAtIGJ1Zi50ZWxsKCkpCisgICAgICAgICAg
ICAgICAgY29uc3VtZWQgPSBidWYudGVsbCgpCisgICAgICAgICAgICAgICAgdHJ5OgorICAgICAg
ICAgICAgICAgICAgICBzZWxmLl9lbmNvZGVyLmZlZWRfZGVjb2RlcihkYXRhKQorICAgICAgICAg
ICAgICAgIGV4Y2VwdCBweWxzcXBhY2suRGVjb2RlclN0cmVhbUVycm9yIGFzIGV4YzoKKyAgICAg
ICAgICAgICAgICAgICAgcmFpc2UgUXBhY2tEZWNvZGVyU3RyZWFtRXJyb3IoKSBmcm9tIGV4Ywor
ICAgICAgICAgICAgICAgIHNlbGYuX2RlY29kZXJfYnl0ZXNfcmVjZWl2ZWQgKz0gbGVuKGRhdGEp
CisgICAgICAgICAgICBlbGlmIHN0cmVhbS5zdHJlYW1fdHlwZSA9PSBTdHJlYW1UeXBlLlFQQUNL
X0VOQ09ERVI6CisgICAgICAgICAgICAgICAgIyBmZWVkIHVuZnJhbWVkIGRhdGEgdG8gZW5jb2Rl
cgorICAgICAgICAgICAgICAgIGRhdGEgPSBidWYucHVsbF9ieXRlcyhidWYuY2FwYWNpdHkgLSBi
dWYudGVsbCgpKQorICAgICAgICAgICAgICAgIGNvbnN1bWVkID0gYnVmLnRlbGwoKQorICAgICAg
ICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgdW5ibG9ja2VkX3N0cmVhbXMudXBk
YXRlKHNlbGYuX2RlY29kZXIuZmVlZF9lbmNvZGVyKGRhdGEpKQorICAgICAgICAgICAgICAgIGV4
Y2VwdCBweWxzcXBhY2suRW5jb2RlclN0cmVhbUVycm9yIGFzIGV4YzoKKyAgICAgICAgICAgICAg
ICAgICAgcmFpc2UgUXBhY2tFbmNvZGVyU3RyZWFtRXJyb3IoKSBmcm9tIGV4YworICAgICAgICAg
ICAgICAgIHNlbGYuX2VuY29kZXJfYnl0ZXNfcmVjZWl2ZWQgKz0gbGVuKGRhdGEpCisgICAgICAg
ICAgICBlbHNlOgorICAgICAgICAgICAgICAgICMgdW5rbm93biBzdHJlYW0gdHlwZSwgZGlzY2Fy
ZCBkYXRhCisgICAgICAgICAgICAgICAgYnVmLnNlZWsoYnVmLmNhcGFjaXR5KQorICAgICAgICAg
ICAgICAgIGNvbnN1bWVkID0gYnVmLnRlbGwoKQorCisgICAgICAgICMgcmVtb3ZlIHByb2Nlc3Nl
ZCBkYXRhIGZyb20gYnVmZmVyCisgICAgICAgIHN0cmVhbS5idWZmZXIgPSBzdHJlYW0uYnVmZmVy
W2NvbnN1bWVkOl0KKworICAgICAgICAjIHByb2Nlc3MgdW5ibG9ja2VkIHN0cmVhbXMKKyAgICAg
ICAgZm9yIHN0cmVhbV9pZCBpbiB1bmJsb2NrZWRfc3RyZWFtczoKKyAgICAgICAgICAgIHN0cmVh
bSA9IHNlbGYuX3N0cmVhbVtzdHJlYW1faWRdCisKKyAgICAgICAgICAgICMgcmVzdW1lIGhlYWRl
cnMKKyAgICAgICAgICAgIGh0dHBfZXZlbnRzLmV4dGVuZCgKKyAgICAgICAgICAgICAgICBzZWxm
Ll9oYW5kbGVfcmVxdWVzdF9vcl9wdXNoX2ZyYW1lKAorICAgICAgICAgICAgICAgICAgICBmcmFt
ZV90eXBlPUZyYW1lVHlwZS5IRUFERVJTLAorICAgICAgICAgICAgICAgICAgICBmcmFtZV9kYXRh
PU5vbmUsCisgICAgICAgICAgICAgICAgICAgIHN0cmVhbT1zdHJlYW0sCisgICAgICAgICAgICAg
ICAgICAgIHN0cmVhbV9lbmRlZD1zdHJlYW0uZW5kZWQgYW5kIG5vdCBzdHJlYW0uYnVmZmVyLAor
ICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICkKKyAgICAgICAgICAgIHN0cmVhbS5ibG9j
a2VkID0gRmFsc2UKKyAgICAgICAgICAgIHN0cmVhbS5ibG9ja2VkX2ZyYW1lX3NpemUgPSBOb25l
CisKKyAgICAgICAgICAgICMgcmVzdW1lIHByb2Nlc3NpbmcKKyAgICAgICAgICAgIGlmIHN0cmVh
bS5idWZmZXI6CisgICAgICAgICAgICAgICAgaHR0cF9ldmVudHMuZXh0ZW5kKAorICAgICAgICAg
ICAgICAgICAgICBzZWxmLl9yZWNlaXZlX3JlcXVlc3Rfb3JfcHVzaF9kYXRhKHN0cmVhbSwgYiIi
LCBzdHJlYW0uZW5kZWQpCisgICAgICAgICAgICAgICAgKQorCisgICAgICAgIHJldHVybiBodHRw
X2V2ZW50cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3NyYy9haW9xdWljL2gzL2V2ZW50cy5w
eSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhp
cmRfcGFydHkvYWlvcXVpYy9zcmMvYWlvcXVpYy9oMy9ldmVudHMucHkKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2Qy
MWM1YWJjNDI3MGMyZThmMWJlNThhMDA5YWU3NTI4MTJkMWExNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRf
cGFydHkvYWlvcXVpYy9zcmMvYWlvcXVpYy9oMy9ldmVudHMucHkKQEAgLTAsMCArMSw2NiBAQAor
ZnJvbSBkYXRhY2xhc3NlcyBpbXBvcnQgZGF0YWNsYXNzCitmcm9tIHR5cGluZyBpbXBvcnQgTGlz
dCwgT3B0aW9uYWwsIFR1cGxlCisKK0hlYWRlcnMgPSBMaXN0W1R1cGxlW2J5dGVzLCBieXRlc11d
CisKKworY2xhc3MgSDNFdmVudDoKKyAgICAiIiIKKyAgICBCYXNlIGNsYXNzIGZvciBIVFRQLzMg
ZXZlbnRzLgorICAgICIiIgorCisKK0BkYXRhY2xhc3MKK2NsYXNzIERhdGFSZWNlaXZlZChIM0V2
ZW50KToKKyAgICAiIiIKKyAgICBUaGUgRGF0YVJlY2VpdmVkIGV2ZW50IGlzIGZpcmVkIHdoZW5l
dmVyIGRhdGEgaXMgcmVjZWl2ZWQgb24gYSBzdHJlYW0gZnJvbQorICAgIHRoZSByZW1vdGUgcGVl
ci4KKyAgICAiIiIKKworICAgIGRhdGE6IGJ5dGVzCisgICAgIlRoZSBkYXRhIHdoaWNoIHdhcyBy
ZWNlaXZlZC4iCisKKyAgICBzdHJlYW1faWQ6IGludAorICAgICJUaGUgSUQgb2YgdGhlIHN0cmVh
bSB0aGUgZGF0YSB3YXMgcmVjZWl2ZWQgZm9yLiIKKworICAgIHN0cmVhbV9lbmRlZDogYm9vbAor
ICAgICJXaGV0aGVyIHRoZSBTVFJFQU0gZnJhbWUgaGFkIHRoZSBGSU4gYml0IHNldC4iCisKKyAg
ICBwdXNoX2lkOiBPcHRpb25hbFtpbnRdID0gTm9uZQorICAgICJUaGUgUHVzaCBJRCBvciBgTm9u
ZWAgaWYgdGhpcyBpcyBub3QgYSBwdXNoLiIKKworCitAZGF0YWNsYXNzCitjbGFzcyBIZWFkZXJz
UmVjZWl2ZWQoSDNFdmVudCk6CisgICAgIiIiCisgICAgVGhlIEhlYWRlcnNSZWNlaXZlZCBldmVu
dCBpcyBmaXJlZCB3aGVuZXZlciBoZWFkZXJzIGFyZSByZWNlaXZlZC4KKyAgICAiIiIKKworICAg
IGhlYWRlcnM6IEhlYWRlcnMKKyAgICAiVGhlIGhlYWRlcnMuIgorCisgICAgc3RyZWFtX2lkOiBp
bnQKKyAgICAiVGhlIElEIG9mIHRoZSBzdHJlYW0gdGhlIGhlYWRlcnMgd2VyZSByZWNlaXZlZCBm
b3IuIgorCisgICAgc3RyZWFtX2VuZGVkOiBib29sCisgICAgIldoZXRoZXIgdGhlIFNUUkVBTSBm
cmFtZSBoYWQgdGhlIEZJTiBiaXQgc2V0LiIKKworICAgIHB1c2hfaWQ6IE9wdGlvbmFsW2ludF0g
PSBOb25lCisgICAgIlRoZSBQdXNoIElEIG9yIGBOb25lYCBpZiB0aGlzIGlzIG5vdCBhIHB1c2gu
IgorCisKK0BkYXRhY2xhc3MKK2NsYXNzIFB1c2hQcm9taXNlUmVjZWl2ZWQoSDNFdmVudCk6Cisg
ICAgIiIiCisgICAgVGhlIFB1c2hlZFN0cmVhbVJlY2VpdmVkIGV2ZW50IGlzIGZpcmVkIHdoZW5l
dmVyIGEgcHVzaGVkIHN0cmVhbSBoYXMgYmVlbgorICAgIHJlY2VpdmVkIGZyb20gdGhlIHJlbW90
ZSBwZWVyLgorICAgICIiIgorCisgICAgaGVhZGVyczogSGVhZGVycworICAgICJUaGUgcmVxdWVz
dCBoZWFkZXJzLiIKKworICAgIHB1c2hfaWQ6IGludAorICAgICJUaGUgUHVzaCBJRCBvZiB0aGUg
cHVzaCBwcm9taXNlLiIKKworICAgIHN0cmVhbV9pZDogaW50CisgICAgIlRoZSBTdHJlYW0gSUQg
b2YgdGhlIHN0cmVhbSB0aGF0IHRoZSBwdXNoIGlzIHJlbGF0ZWQgdG8uIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9w
YXJ0eS9haW9xdWljL3NyYy9haW9xdWljL2gzL2V4Y2VwdGlvbnMucHkgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMv
c3JjL2Fpb3F1aWMvaDMvZXhjZXB0aW9ucy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNTIwMGMxZDYxZmE1YjNh
MTE1YjQzNDY0ZDU2N2VhM2FhMjg1NzZmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWlj
L3NyYy9haW9xdWljL2gzL2V4Y2VwdGlvbnMucHkKQEAgLTAsMCArMSwxMCBAQAorY2xhc3MgSDNF
cnJvcihFeGNlcHRpb24pOgorICAgICIiIgorICAgIEJhc2UgY2xhc3MgZm9yIEhUVFAvMyBleGNl
cHRpb25zLgorICAgICIiIgorCisKK2NsYXNzIE5vQXZhaWxhYmxlUHVzaElERXJyb3IoSDNFcnJv
cik6CisgICAgIiIiCisgICAgVGhlcmUgYXJlIG5vIGF2YWlsYWJsZSBwdXNoIElEcyBsZWZ0Lgor
ICAgICIiIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3NyYy9haW9xdWljL2gzL3czYy1pbXBv
cnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy90aGlyZF9wYXJ0eS9haW9xdWljL3NyYy9haW9xdWljL2gzL3czYy1pbXBvcnQubG9nCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjBiMzYzZTliNjA4MGIwZWYzZThiZDY4YWE1MzMwMjQ5ZGZmMTIyMzkKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvc3JjL2Fpb3F1aWMvaDMvdzNjLWltcG9ydC5sb2cKQEAg
LTAsMCArMSwyMCBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQg
ZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVj
dGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BU
IGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAorCitU
aGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byBy
ZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJv
cGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3NyYy9haW9xdWljL2gzL19faW5p
dF9fLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy90aGlyZF9wYXJ0eS9haW9xdWljL3NyYy9haW9xdWljL2gzL2Nvbm5lY3Rpb24ucHkKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5
L2Fpb3F1aWMvc3JjL2Fpb3F1aWMvaDMvZXZlbnRzLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3NyYy9haW9x
dWljL2gzL2V4Y2VwdGlvbnMucHkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9zcmMvYWlvcXVp
Yy9weS50eXBlZCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9zcmMvYWlvcXVpYy9weS50eXBlZApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mNTY0MmY3OWYyMWQ4NzJmMDEwOTc5ZGNmNmYwYzRhNDE1YWNjMTlkCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90
aGlyZF9wYXJ0eS9haW9xdWljL3NyYy9haW9xdWljL3B5LnR5cGVkCkBAIC0wLDAgKzEgQEAKK01h
cmtlcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3NyYy9haW9xdWljL3F1aWMvX19pbml0X18u
cHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3Ro
aXJkX3BhcnR5L2Fpb3F1aWMvc3JjL2Fpb3F1aWMvcXVpYy9fX2luaXRfXy5weQpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hNjgzNGI4Mjg1YTU2YmVmMGUxNTQzZmQ5MDFjN2U2ZjJmOGJjMjAyCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90
aGlyZF9wYXJ0eS9haW9xdWljL3NyYy9haW9xdWljL3F1aWMvX19pbml0X18ucHkKQEAgLTAsMCAr
MSBAQAorIyBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFB5dGhvbiB0byBzZWFyY2ggdGhpcyBk
aXJlY3RvcnkgZm9yIG1vZHVsZXMuClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90
aGlyZF9wYXJ0eS9haW9xdWljL3NyYy9haW9xdWljL3F1aWMvY29uZmlndXJhdGlvbi5weSBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFy
dHkvYWlvcXVpYy9zcmMvYWlvcXVpYy9xdWljL2NvbmZpZ3VyYXRpb24ucHkKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
Zjg2MWY4Mjk3OWU5OTc2ZDI5ZTdjNThhZjI3ZjNlYTYxZDBkYTA3YgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhp
cmRfcGFydHkvYWlvcXVpYy9zcmMvYWlvcXVpYy9xdWljL2NvbmZpZ3VyYXRpb24ucHkKQEAgLTAs
MCArMSwxMjQgQEAKK2Zyb20gZGF0YWNsYXNzZXMgaW1wb3J0IGRhdGFjbGFzcywgZmllbGQKK2Zy
b20gb3MgaW1wb3J0IFBhdGhMaWtlCitmcm9tIHR5cGluZyBpbXBvcnQgQW55LCBMaXN0LCBPcHRp
b25hbCwgVGV4dElPLCBVbmlvbgorCitmcm9tIC4udGxzIGltcG9ydCBTZXNzaW9uVGlja2V0LCBs
b2FkX3BlbV9wcml2YXRlX2tleSwgbG9hZF9wZW1feDUwOV9jZXJ0aWZpY2F0ZXMKK2Zyb20gLmxv
Z2dlciBpbXBvcnQgUXVpY0xvZ2dlcgorZnJvbSAucGFja2V0IGltcG9ydCBRdWljUHJvdG9jb2xW
ZXJzaW9uCisKKworQGRhdGFjbGFzcworY2xhc3MgUXVpY0NvbmZpZ3VyYXRpb246CisgICAgIiIi
CisgICAgQSBRVUlDIGNvbmZpZ3VyYXRpb24uCisgICAgIiIiCisKKyAgICBhbHBuX3Byb3RvY29s
czogT3B0aW9uYWxbTGlzdFtzdHJdXSA9IE5vbmUKKyAgICAiIiIKKyAgICBBIGxpc3Qgb2Ygc3Vw
cG9ydGVkIEFMUE4gcHJvdG9jb2xzLgorICAgICIiIgorCisgICAgY29ubmVjdGlvbl9pZF9sZW5n
dGg6IGludCA9IDgKKyAgICAiIiIKKyAgICBUaGUgbGVuZ3RoIGluIGJ5dGVzIG9mIGxvY2FsIGNv
bm5lY3Rpb24gSURzLgorICAgICIiIgorCisgICAgaWRsZV90aW1lb3V0OiBmbG9hdCA9IDYwLjAK
KyAgICAiIiIKKyAgICBUaGUgaWRsZSB0aW1lb3V0IGluIHNlY29uZHMuCisKKyAgICBUaGUgY29u
bmVjdGlvbiBpcyB0ZXJtaW5hdGVkIGlmIG5vdGhpbmcgaXMgcmVjZWl2ZWQgZm9yIHRoZSBnaXZl
biBkdXJhdGlvbi4KKyAgICAiIiIKKworICAgIGlzX2NsaWVudDogYm9vbCA9IFRydWUKKyAgICAi
IiIKKyAgICBXaGV0aGVyIHRoaXMgaXMgdGhlIGNsaWVudCBzaWRlIG9mIHRoZSBRVUlDIGNvbm5l
Y3Rpb24uCisgICAgIiIiCisKKyAgICBtYXhfZGF0YTogaW50ID0gMTA0ODU3NgorICAgICIiIgor
ICAgIENvbm5lY3Rpb24td2lkZSBmbG93IGNvbnRyb2wgbGltaXQuCisgICAgIiIiCisKKyAgICBt
YXhfc3RyZWFtX2RhdGE6IGludCA9IDEwNDg1NzYKKyAgICAiIiIKKyAgICBQZXItc3RyZWFtIGZs
b3cgY29udHJvbCBsaW1pdC4KKyAgICAiIiIKKworICAgIHF1aWNfbG9nZ2VyOiBPcHRpb25hbFtR
dWljTG9nZ2VyXSA9IE5vbmUKKyAgICAiIiIKKyAgICBUaGUgOmNsYXNzOmB+YWlvcXVpYy5xdWlj
LmxvZ2dlci5RdWljTG9nZ2VyYCBpbnN0YW5jZSB0byBsb2cgZXZlbnRzIHRvLgorICAgICIiIgor
CisgICAgc2VjcmV0c19sb2dfZmlsZTogVGV4dElPID0gTm9uZQorICAgICIiIgorICAgIEEgZmls
ZS1saWtlIG9iamVjdCBpbiB3aGljaCB0byBsb2cgdHJhZmZpYyBzZWNyZXRzLgorCisgICAgVGhp
cyBpcyB1c2VmdWwgdG8gYW5hbHl6ZSB0cmFmZmljIGNhcHR1cmVzIHdpdGggV2lyZXNoYXJrLgor
ICAgICIiIgorCisgICAgc2VydmVyX25hbWU6IE9wdGlvbmFsW3N0cl0gPSBOb25lCisgICAgIiIi
CisgICAgVGhlIHNlcnZlciBuYW1lIHRvIHNlbmQgZHVyaW5nIHRoZSBUTFMgaGFuZHNoYWtlIHRo
ZSBTZXJ2ZXIgTmFtZSBJbmRpY2F0aW9uLgorCisgICAgLi4gbm90ZTo6IFRoaXMgaXMgb25seSB1
c2VkIGJ5IGNsaWVudHMuCisgICAgIiIiCisKKyAgICBzZXNzaW9uX3RpY2tldDogT3B0aW9uYWxb
U2Vzc2lvblRpY2tldF0gPSBOb25lCisgICAgIiIiCisgICAgVGhlIFRMUyBzZXNzaW9uIHRpY2tl
dCB3aGljaCBzaG91bGQgYmUgdXNlZCBmb3Igc2Vzc2lvbiByZXN1bXB0aW9uLgorICAgICIiIgor
CisgICAgY2FkYXRhOiBPcHRpb25hbFtieXRlc10gPSBOb25lCisgICAgY2FmaWxlOiBPcHRpb25h
bFtzdHJdID0gTm9uZQorICAgIGNhcGF0aDogT3B0aW9uYWxbc3RyXSA9IE5vbmUKKyAgICBjZXJ0
aWZpY2F0ZTogQW55ID0gTm9uZQorICAgIGNlcnRpZmljYXRlX2NoYWluOiBMaXN0W0FueV0gPSBm
aWVsZChkZWZhdWx0X2ZhY3Rvcnk9bGlzdCkKKyAgICBtYXhfZGF0YWdyYW1fZnJhbWVfc2l6ZTog
T3B0aW9uYWxbaW50XSA9IE5vbmUKKyAgICBwcml2YXRlX2tleTogQW55ID0gTm9uZQorICAgIHF1
YW50dW1fcmVhZGluZXNzX3Rlc3Q6IGJvb2wgPSBGYWxzZQorICAgIHN1cHBvcnRlZF92ZXJzaW9u
czogTGlzdFtpbnRdID0gZmllbGQoCisgICAgICAgIGRlZmF1bHRfZmFjdG9yeT1sYW1iZGE6IFsK
KyAgICAgICAgICAgIFF1aWNQcm90b2NvbFZlcnNpb24uRFJBRlRfMjcsCisgICAgICAgICAgICBR
dWljUHJvdG9jb2xWZXJzaW9uLkRSQUZUXzI2LAorICAgICAgICAgICAgUXVpY1Byb3RvY29sVmVy
c2lvbi5EUkFGVF8yNSwKKyAgICAgICAgXQorICAgICkKKyAgICB2ZXJpZnlfbW9kZTogT3B0aW9u
YWxbaW50XSA9IE5vbmUKKworICAgIGRlZiBsb2FkX2NlcnRfY2hhaW4oCisgICAgICAgIHNlbGYs
CisgICAgICAgIGNlcnRmaWxlOiBQYXRoTGlrZSwKKyAgICAgICAga2V5ZmlsZTogT3B0aW9uYWxb
UGF0aExpa2VdID0gTm9uZSwKKyAgICAgICAgcGFzc3dvcmQ6IE9wdGlvbmFsW1VuaW9uW2J5dGVz
LCBzdHJdXSA9IE5vbmUsCisgICAgKSAtPiBOb25lOgorICAgICAgICAiIiIKKyAgICAgICAgTG9h
ZCBhIHByaXZhdGUga2V5IGFuZCB0aGUgY29ycmVzcG9uZGluZyBjZXJ0aWZpY2F0ZS4KKyAgICAg
ICAgIiIiCisgICAgICAgIHdpdGggb3BlbihjZXJ0ZmlsZSwgInJiIikgYXMgZnA6CisgICAgICAg
ICAgICBjZXJ0aWZpY2F0ZXMgPSBsb2FkX3BlbV94NTA5X2NlcnRpZmljYXRlcyhmcC5yZWFkKCkp
CisgICAgICAgIHNlbGYuY2VydGlmaWNhdGUgPSBjZXJ0aWZpY2F0ZXNbMF0KKyAgICAgICAgc2Vs
Zi5jZXJ0aWZpY2F0ZV9jaGFpbiA9IGNlcnRpZmljYXRlc1sxOl0KKworICAgICAgICBpZiBrZXlm
aWxlIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgd2l0aCBvcGVuKGtleWZpbGUsICJyYiIpIGFz
IGZwOgorICAgICAgICAgICAgICAgIHNlbGYucHJpdmF0ZV9rZXkgPSBsb2FkX3BlbV9wcml2YXRl
X2tleSgKKyAgICAgICAgICAgICAgICAgICAgZnAucmVhZCgpLAorICAgICAgICAgICAgICAgICAg
ICBwYXNzd29yZD1wYXNzd29yZC5lbmNvZGUoInV0ZjgiKQorICAgICAgICAgICAgICAgICAgICBp
ZiBpc2luc3RhbmNlKHBhc3N3b3JkLCBzdHIpCisgICAgICAgICAgICAgICAgICAgIGVsc2UgcGFz
c3dvcmQsCisgICAgICAgICAgICAgICAgKQorCisgICAgZGVmIGxvYWRfdmVyaWZ5X2xvY2F0aW9u
cygKKyAgICAgICAgc2VsZiwKKyAgICAgICAgY2FmaWxlOiBPcHRpb25hbFtzdHJdID0gTm9uZSwK
KyAgICAgICAgY2FwYXRoOiBPcHRpb25hbFtzdHJdID0gTm9uZSwKKyAgICAgICAgY2FkYXRhOiBP
cHRpb25hbFtieXRlc10gPSBOb25lLAorICAgICkgLT4gTm9uZToKKyAgICAgICAgIiIiCisgICAg
ICAgIExvYWQgYSBzZXQgb2YgImNlcnRpZmljYXRpb24gYXV0aG9yaXR5IiAoQ0EpIGNlcnRpZmlj
YXRlcyB1c2VkIHRvCisgICAgICAgIHZhbGlkYXRlIG90aGVyIHBlZXJzJyBjZXJ0aWZpY2F0ZXMu
CisgICAgICAgICIiIgorICAgICAgICBzZWxmLmNhZmlsZSA9IGNhZmlsZQorICAgICAgICBzZWxm
LmNhcGF0aCA9IGNhcGF0aAorICAgICAgICBzZWxmLmNhZGF0YSA9IGNhZGF0YQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGly
ZF9wYXJ0eS9haW9xdWljL3NyYy9haW9xdWljL3F1aWMvY29ubmVjdGlvbi5weSBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlv
cXVpYy9zcmMvYWlvcXVpYy9xdWljL2Nvbm5lY3Rpb24ucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDYxZGY0ZmMx
OTE2ZmRhM2VmYjQ2MWU2NjczNGVjMzU5YWUwYzMyNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkv
YWlvcXVpYy9zcmMvYWlvcXVpYy9xdWljL2Nvbm5lY3Rpb24ucHkKQEAgLTAsMCArMSwyNjUyIEBA
CitpbXBvcnQgYmluYXNjaWkKK2ltcG9ydCBsb2dnaW5nCitpbXBvcnQgb3MKK2Zyb20gY29sbGVj
dGlvbnMgaW1wb3J0IGRlcXVlCitmcm9tIGRhdGFjbGFzc2VzIGltcG9ydCBkYXRhY2xhc3MKK2Zy
b20gZW51bSBpbXBvcnQgRW51bQorZnJvbSB0eXBpbmcgaW1wb3J0IEFueSwgRGVxdWUsIERpY3Qs
IEZyb3plblNldCwgTGlzdCwgT3B0aW9uYWwsIFNlcXVlbmNlLCBUdXBsZQorCitmcm9tIC4uIGlt
cG9ydCB0bHMKK2Zyb20gLi5idWZmZXIgaW1wb3J0IFVJTlRfVkFSX01BWCwgQnVmZmVyLCBCdWZm
ZXJSZWFkRXJyb3IsIHNpemVfdWludF92YXIKK2Zyb20gLiBpbXBvcnQgZXZlbnRzCitmcm9tIC5j
b25maWd1cmF0aW9uIGltcG9ydCBRdWljQ29uZmlndXJhdGlvbgorZnJvbSAuY3J5cHRvIGltcG9y
dCBDcnlwdG9FcnJvciwgQ3J5cHRvUGFpciwgS2V5VW5hdmFpbGFibGVFcnJvcgorZnJvbSAubG9n
Z2VyIGltcG9ydCBRdWljTG9nZ2VyVHJhY2UKK2Zyb20gLnBhY2tldCBpbXBvcnQgKAorICAgIE5P
Tl9BQ0tfRUxJQ0lUSU5HX0ZSQU1FX1RZUEVTLAorICAgIFBBQ0tFVF9UWVBFX0hBTkRTSEFLRSwK
KyAgICBQQUNLRVRfVFlQRV9JTklUSUFMLAorICAgIFBBQ0tFVF9UWVBFX09ORV9SVFQsCisgICAg
UEFDS0VUX1RZUEVfUkVUUlksCisgICAgUEFDS0VUX1RZUEVfWkVST19SVFQsCisgICAgUFJPQklO
R19GUkFNRV9UWVBFUywKKyAgICBSRVRSWV9JTlRFR1JJVFlfVEFHX1NJWkUsCisgICAgUXVpY0Vy
cm9yQ29kZSwKKyAgICBRdWljRnJhbWVUeXBlLAorICAgIFF1aWNQcm90b2NvbFZlcnNpb24sCisg
ICAgUXVpY1N0cmVhbUZyYW1lLAorICAgIFF1aWNUcmFuc3BvcnRQYXJhbWV0ZXJzLAorICAgIGdl
dF9yZXRyeV9pbnRlZ3JpdHlfdGFnLAorICAgIGdldF9zcGluX2JpdCwKKyAgICBpc19sb25nX2hl
YWRlciwKKyAgICBwdWxsX2Fja19mcmFtZSwKKyAgICBwdWxsX3F1aWNfaGVhZGVyLAorICAgIHB1
bGxfcXVpY190cmFuc3BvcnRfcGFyYW1ldGVycywKKyAgICBwdXNoX2Fja19mcmFtZSwKKyAgICBw
dXNoX3F1aWNfdHJhbnNwb3J0X3BhcmFtZXRlcnMsCispCitmcm9tIC5wYWNrZXRfYnVpbGRlciBp
bXBvcnQgKAorICAgIFBBQ0tFVF9NQVhfU0laRSwKKyAgICBRdWljRGVsaXZlcnlTdGF0ZSwKKyAg
ICBRdWljUGFja2V0QnVpbGRlciwKKyAgICBRdWljUGFja2V0QnVpbGRlclN0b3AsCispCitmcm9t
IC5yZWNvdmVyeSBpbXBvcnQgS19HUkFOVUxBUklUWSwgUXVpY1BhY2tldFJlY292ZXJ5LCBRdWlj
UGFja2V0U3BhY2UKK2Zyb20gLnN0cmVhbSBpbXBvcnQgUXVpY1N0cmVhbQorCitsb2dnZXIgPSBs
b2dnaW5nLmdldExvZ2dlcigicXVpYyIpCisKK0VQT0NIX1NIT1JUQ1VUUyA9IHsKKyAgICAiSSI6
IHRscy5FcG9jaC5JTklUSUFMLAorICAgICJIIjogdGxzLkVwb2NoLkhBTkRTSEFLRSwKKyAgICAi
MCI6IHRscy5FcG9jaC5aRVJPX1JUVCwKKyAgICAiMSI6IHRscy5FcG9jaC5PTkVfUlRULAorfQor
TUFYX0VBUkxZX0RBVEEgPSAweEZGRkZGRkZGCitTRUNSRVRTX0xBQkVMUyA9IFsKKyAgICBbCisg
ICAgICAgIE5vbmUsCisgICAgICAgICJRVUlDX0NMSUVOVF9FQVJMWV9UUkFGRklDX1NFQ1JFVCIs
CisgICAgICAgICJRVUlDX0NMSUVOVF9IQU5EU0hBS0VfVFJBRkZJQ19TRUNSRVQiLAorICAgICAg
ICAiUVVJQ19DTElFTlRfVFJBRkZJQ19TRUNSRVRfMCIsCisgICAgXSwKKyAgICBbCisgICAgICAg
IE5vbmUsCisgICAgICAgIE5vbmUsCisgICAgICAgICJRVUlDX1NFUlZFUl9IQU5EU0hBS0VfVFJB
RkZJQ19TRUNSRVQiLAorICAgICAgICAiUVVJQ19TRVJWRVJfVFJBRkZJQ19TRUNSRVRfMCIsCisg
ICAgXSwKK10KK1NUUkVBTV9GTEFHUyA9IDB4MDcKKworTmV0d29ya0FkZHJlc3MgPSBBbnkKKwor
IyBmcmFtZSBzaXplcworQUNLX0ZSQU1FX0NBUEFDSVRZID0gNjQgICMgRklYTUU6IHRoaXMgaXMg
YXJiaXRyYXJ5IQorQVBQTElDQVRJT05fQ0xPU0VfRlJBTUVfQ0FQQUNJVFkgPSAxICsgOCArIDgg
ICMgKyByZWFzb24gbGVuZ3RoCitIQU5EU0hBS0VfRE9ORV9GUkFNRV9DQVBBQ0lUWSA9IDEKK01B
WF9EQVRBX0ZSQU1FX0NBUEFDSVRZID0gMSArIDgKK01BWF9TVFJFQU1fREFUQV9GUkFNRV9DQVBB
Q0lUWSA9IDEgKyA4ICsgOAorTkVXX0NPTk5FQ1RJT05fSURfRlJBTUVfQ0FQQUNJVFkgPSAxICsg
OCArIDggKyAxICsgMjAgKyAxNgorUEFUSF9DSEFMTEVOR0VfRlJBTUVfQ0FQQUNJVFkgPSAxICsg
OAorUEFUSF9SRVNQT05TRV9GUkFNRV9DQVBBQ0lUWSA9IDEgKyA4CitQSU5HX0ZSQU1FX0NBUEFD
SVRZID0gMQorUkVUSVJFX0NPTk5FQ1RJT05fSURfQ0FQQUNJVFkgPSAxICsgOAorU1RSRUFNU19C
TE9DS0VEX0NBUEFDSVRZID0gMSArIDgKK1RSQU5TUE9SVF9DTE9TRV9GUkFNRV9DQVBBQ0lUWSA9
IDEgKyA4ICsgOCArIDggICMgKyByZWFzb24gbGVuZ3RoCisKKworZGVmIEVQT0NIUyhzaG9ydGN1
dDogc3RyKSAtPiBGcm96ZW5TZXRbdGxzLkVwb2NoXToKKyAgICByZXR1cm4gZnJvemVuc2V0KEVQ
T0NIX1NIT1JUQ1VUU1tpXSBmb3IgaSBpbiBzaG9ydGN1dCkKKworCitkZWYgZHVtcF9jaWQoY2lk
OiBieXRlcykgLT4gc3RyOgorICAgIHJldHVybiBiaW5hc2NpaS5oZXhsaWZ5KGNpZCkuZGVjb2Rl
KCJhc2NpaSIpCisKKworZGVmIGdldF9lcG9jaChwYWNrZXRfdHlwZTogaW50KSAtPiB0bHMuRXBv
Y2g6CisgICAgaWYgcGFja2V0X3R5cGUgPT0gUEFDS0VUX1RZUEVfSU5JVElBTDoKKyAgICAgICAg
cmV0dXJuIHRscy5FcG9jaC5JTklUSUFMCisgICAgZWxpZiBwYWNrZXRfdHlwZSA9PSBQQUNLRVRf
VFlQRV9aRVJPX1JUVDoKKyAgICAgICAgcmV0dXJuIHRscy5FcG9jaC5aRVJPX1JUVAorICAgIGVs
aWYgcGFja2V0X3R5cGUgPT0gUEFDS0VUX1RZUEVfSEFORFNIQUtFOgorICAgICAgICByZXR1cm4g
dGxzLkVwb2NoLkhBTkRTSEFLRQorICAgIGVsc2U6CisgICAgICAgIHJldHVybiB0bHMuRXBvY2gu
T05FX1JUVAorCisKK2RlZiBzdHJlYW1faXNfY2xpZW50X2luaXRpYXRlZChzdHJlYW1faWQ6IGlu
dCkgLT4gYm9vbDoKKyAgICAiIiIKKyAgICBSZXR1cm5zIFRydWUgaWYgdGhlIHN0cmVhbSBpcyBj
bGllbnQgaW5pdGlhdGVkLgorICAgICIiIgorICAgIHJldHVybiBub3QgKHN0cmVhbV9pZCAmIDEp
CisKKworZGVmIHN0cmVhbV9pc191bmlkaXJlY3Rpb25hbChzdHJlYW1faWQ6IGludCkgLT4gYm9v
bDoKKyAgICAiIiIKKyAgICBSZXR1cm5zIFRydWUgaWYgdGhlIHN0cmVhbSBpcyB1bmlkaXJlY3Rp
b25hbC4KKyAgICAiIiIKKyAgICByZXR1cm4gYm9vbChzdHJlYW1faWQgJiAyKQorCisKK2NsYXNz
IFF1aWNDb25uZWN0aW9uRXJyb3IoRXhjZXB0aW9uKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwg
ZXJyb3JfY29kZTogaW50LCBmcmFtZV90eXBlOiBpbnQsIHJlYXNvbl9waHJhc2U6IHN0cik6Cisg
ICAgICAgIHNlbGYuZXJyb3JfY29kZSA9IGVycm9yX2NvZGUKKyAgICAgICAgc2VsZi5mcmFtZV90
eXBlID0gZnJhbWVfdHlwZQorICAgICAgICBzZWxmLnJlYXNvbl9waHJhc2UgPSByZWFzb25fcGhy
YXNlCisKKyAgICBkZWYgX19zdHJfXyhzZWxmKSAtPiBzdHI6CisgICAgICAgIHMgPSAiRXJyb3I6
ICVkLCByZWFzb246ICVzIiAlIChzZWxmLmVycm9yX2NvZGUsIHNlbGYucmVhc29uX3BocmFzZSkK
KyAgICAgICAgaWYgc2VsZi5mcmFtZV90eXBlIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgcyAr
PSAiLCBmcmFtZV90eXBlOiAlcyIgJSBzZWxmLmZyYW1lX3R5cGUKKyAgICAgICAgcmV0dXJuIHMK
KworCitjbGFzcyBRdWljQ29ubmVjdGlvbkFkYXB0ZXIobG9nZ2luZy5Mb2dnZXJBZGFwdGVyKToK
KyAgICBkZWYgcHJvY2VzcyhzZWxmLCBtc2c6IHN0ciwga3dhcmdzOiBBbnkpIC0+IFR1cGxlW3N0
ciwgQW55XToKKyAgICAgICAgcmV0dXJuICJbJXNdICVzIiAlIChzZWxmLmV4dHJhWyJpZCJdLCBt
c2cpLCBrd2FyZ3MKKworCitAZGF0YWNsYXNzCitjbGFzcyBRdWljQ29ubmVjdGlvbklkOgorICAg
IGNpZDogYnl0ZXMKKyAgICBzZXF1ZW5jZV9udW1iZXI6IGludAorICAgIHN0YXRlbGVzc19yZXNl
dF90b2tlbjogYnl0ZXMgPSBiIiIKKyAgICB3YXNfc2VudDogYm9vbCA9IEZhbHNlCisKKworY2xh
c3MgUXVpY0Nvbm5lY3Rpb25TdGF0ZShFbnVtKToKKyAgICBGSVJTVEZMSUdIVCA9IDAKKyAgICBD
T05ORUNURUQgPSAxCisgICAgQ0xPU0lORyA9IDIKKyAgICBEUkFJTklORyA9IDMKKyAgICBURVJN
SU5BVEVEID0gNAorCisKK0BkYXRhY2xhc3MKK2NsYXNzIFF1aWNOZXR3b3JrUGF0aDoKKyAgICBh
ZGRyOiBOZXR3b3JrQWRkcmVzcworICAgIGJ5dGVzX3JlY2VpdmVkOiBpbnQgPSAwCisgICAgYnl0
ZXNfc2VudDogaW50ID0gMAorICAgIGlzX3ZhbGlkYXRlZDogYm9vbCA9IEZhbHNlCisgICAgbG9j
YWxfY2hhbGxlbmdlOiBPcHRpb25hbFtieXRlc10gPSBOb25lCisgICAgcmVtb3RlX2NoYWxsZW5n
ZTogT3B0aW9uYWxbYnl0ZXNdID0gTm9uZQorCisgICAgZGVmIGNhbl9zZW5kKHNlbGYsIHNpemU6
IGludCkgLT4gYm9vbDoKKyAgICAgICAgcmV0dXJuIHNlbGYuaXNfdmFsaWRhdGVkIG9yIChzZWxm
LmJ5dGVzX3NlbnQgKyBzaXplKSA8PSAzICogc2VsZi5ieXRlc19yZWNlaXZlZAorCisKK0BkYXRh
Y2xhc3MKK2NsYXNzIFF1aWNSZWNlaXZlQ29udGV4dDoKKyAgICBlcG9jaDogdGxzLkVwb2NoCisg
ICAgaG9zdF9jaWQ6IGJ5dGVzCisgICAgbmV0d29ya19wYXRoOiBRdWljTmV0d29ya1BhdGgKKyAg
ICBxdWljX2xvZ2dlcl9mcmFtZXM6IE9wdGlvbmFsW0xpc3RbQW55XV0KKyAgICB0aW1lOiBmbG9h
dAorCisKK0VORF9TVEFURVMgPSBmcm96ZW5zZXQoCisgICAgWworICAgICAgICBRdWljQ29ubmVj
dGlvblN0YXRlLkNMT1NJTkcsCisgICAgICAgIFF1aWNDb25uZWN0aW9uU3RhdGUuRFJBSU5JTkcs
CisgICAgICAgIFF1aWNDb25uZWN0aW9uU3RhdGUuVEVSTUlOQVRFRCwKKyAgICBdCispCisKKwor
Y2xhc3MgUXVpY0Nvbm5lY3Rpb246CisgICAgIiIiCisgICAgQSBRVUlDIGNvbm5lY3Rpb24uCisK
KyAgICBUaGUgc3RhdGUgbWFjaGluZSBpcyBkcml2ZW4gYnkgdGhyZWUga2luZHMgb2Ygc291cmNl
czoKKworICAgIC0gdGhlIEFQSSB1c2VyIHJlcXVlc3RpbmcgZGF0YSB0byBiZSBzZW5kIG91dCAo
c2VlIDptZXRoOmBjb25uZWN0YCwKKyAgICAgIDptZXRoOmBzZW5kX3BpbmdgLCA6bWV0aDpgc2Vu
ZF9kYXRhZ3JhbV9kYXRhYCBhbmQgOm1ldGg6YHNlbmRfc3RyZWFtX2RhdGFgKQorICAgIC0gZGF0
YSBiZWluZyByZWNlaXZlZCBmcm9tIHRoZSBuZXR3b3JrIChzZWUgOm1ldGg6YHJlY2VpdmVfZGF0
YWdyYW1gKQorICAgIC0gYSB0aW1lciBmaXJpbmcgKHNlZSA6bWV0aDpgaGFuZGxlX3RpbWVyYCkK
KworICAgIDpwYXJhbSBjb25maWd1cmF0aW9uOiBUaGUgUVVJQyBjb25maWd1cmF0aW9uIHRvIHVz
ZS4KKyAgICAiIiIKKworICAgIGRlZiBfX2luaXRfXygKKyAgICAgICAgc2VsZiwKKyAgICAgICAg
KiwKKyAgICAgICAgY29uZmlndXJhdGlvbjogUXVpY0NvbmZpZ3VyYXRpb24sCisgICAgICAgIGxv
Z2dlcl9jb25uZWN0aW9uX2lkOiBPcHRpb25hbFtieXRlc10gPSBOb25lLAorICAgICAgICBvcmln
aW5hbF9jb25uZWN0aW9uX2lkOiBPcHRpb25hbFtieXRlc10gPSBOb25lLAorICAgICAgICBzZXNz
aW9uX3RpY2tldF9mZXRjaGVyOiBPcHRpb25hbFt0bHMuU2Vzc2lvblRpY2tldEZldGNoZXJdID0g
Tm9uZSwKKyAgICAgICAgc2Vzc2lvbl90aWNrZXRfaGFuZGxlcjogT3B0aW9uYWxbdGxzLlNlc3Np
b25UaWNrZXRIYW5kbGVyXSA9IE5vbmUsCisgICAgKSAtPiBOb25lOgorICAgICAgICBpZiBjb25m
aWd1cmF0aW9uLmlzX2NsaWVudDoKKyAgICAgICAgICAgIGFzc2VydCAoCisgICAgICAgICAgICAg
ICAgb3JpZ2luYWxfY29ubmVjdGlvbl9pZCBpcyBOb25lCisgICAgICAgICAgICApLCAiQ2Fubm90
IHNldCBvcmlnaW5hbF9jb25uZWN0aW9uX2lkIGZvciBhIGNsaWVudCIKKyAgICAgICAgZWxzZToK
KyAgICAgICAgICAgIGFzc2VydCAoCisgICAgICAgICAgICAgICAgY29uZmlndXJhdGlvbi5jZXJ0
aWZpY2F0ZSBpcyBub3QgTm9uZQorICAgICAgICAgICAgKSwgIlNTTCBjZXJ0aWZpY2F0ZSBpcyBy
ZXF1aXJlZCBmb3IgYSBzZXJ2ZXIiCisgICAgICAgICAgICBhc3NlcnQgKAorICAgICAgICAgICAg
ICAgIGNvbmZpZ3VyYXRpb24ucHJpdmF0ZV9rZXkgaXMgbm90IE5vbmUKKyAgICAgICAgICAgICks
ICJTU0wgcHJpdmF0ZSBrZXkgaXMgcmVxdWlyZWQgZm9yIGEgc2VydmVyIgorCisgICAgICAgICMg
Y29uZmlndXJhdGlvbgorICAgICAgICBzZWxmLl9jb25maWd1cmF0aW9uID0gY29uZmlndXJhdGlv
bgorICAgICAgICBzZWxmLl9pc19jbGllbnQgPSBjb25maWd1cmF0aW9uLmlzX2NsaWVudAorCisg
ICAgICAgIHNlbGYuX2Fja19kZWxheSA9IEtfR1JBTlVMQVJJVFkKKyAgICAgICAgc2VsZi5fY2xv
c2VfYXQ6IE9wdGlvbmFsW2Zsb2F0XSA9IE5vbmUKKyAgICAgICAgc2VsZi5fY2xvc2VfZXZlbnQ6
IE9wdGlvbmFsW2V2ZW50cy5Db25uZWN0aW9uVGVybWluYXRlZF0gPSBOb25lCisgICAgICAgIHNl
bGYuX2Nvbm5lY3RfY2FsbGVkID0gRmFsc2UKKyAgICAgICAgc2VsZi5fY3J5cHRvczogRGljdFt0
bHMuRXBvY2gsIENyeXB0b1BhaXJdID0ge30KKyAgICAgICAgc2VsZi5fY3J5cHRvX2J1ZmZlcnM6
IERpY3RbdGxzLkVwb2NoLCBCdWZmZXJdID0ge30KKyAgICAgICAgc2VsZi5fY3J5cHRvX3N0cmVh
bXM6IERpY3RbdGxzLkVwb2NoLCBRdWljU3RyZWFtXSA9IHt9CisgICAgICAgIHNlbGYuX2V2ZW50
czogRGVxdWVbZXZlbnRzLlF1aWNFdmVudF0gPSBkZXF1ZSgpCisgICAgICAgIHNlbGYuX2hhbmRz
aGFrZV9jb21wbGV0ZSA9IEZhbHNlCisgICAgICAgIHNlbGYuX2hhbmRzaGFrZV9jb25maXJtZWQg
PSBGYWxzZQorICAgICAgICBzZWxmLl9ob3N0X2NpZHMgPSBbCisgICAgICAgICAgICBRdWljQ29u
bmVjdGlvbklkKAorICAgICAgICAgICAgICAgIGNpZD1vcy51cmFuZG9tKGNvbmZpZ3VyYXRpb24u
Y29ubmVjdGlvbl9pZF9sZW5ndGgpLAorICAgICAgICAgICAgICAgIHNlcXVlbmNlX251bWJlcj0w
LAorICAgICAgICAgICAgICAgIHN0YXRlbGVzc19yZXNldF90b2tlbj1vcy51cmFuZG9tKDE2KSwK
KyAgICAgICAgICAgICAgICB3YXNfc2VudD1UcnVlLAorICAgICAgICAgICAgKQorICAgICAgICBd
CisgICAgICAgIHNlbGYuaG9zdF9jaWQgPSBzZWxmLl9ob3N0X2NpZHNbMF0uY2lkCisgICAgICAg
IHNlbGYuX2hvc3RfY2lkX3NlcSA9IDEKKyAgICAgICAgc2VsZi5fbG9jYWxfYWNrX2RlbGF5X2V4
cG9uZW50ID0gMworICAgICAgICBzZWxmLl9sb2NhbF9hY3RpdmVfY29ubmVjdGlvbl9pZF9saW1p
dCA9IDgKKyAgICAgICAgc2VsZi5fbG9jYWxfbWF4X2RhdGEgPSBjb25maWd1cmF0aW9uLm1heF9k
YXRhCisgICAgICAgIHNlbGYuX2xvY2FsX21heF9kYXRhX3NlbnQgPSBjb25maWd1cmF0aW9uLm1h
eF9kYXRhCisgICAgICAgIHNlbGYuX2xvY2FsX21heF9kYXRhX3VzZWQgPSAwCisgICAgICAgIHNl
bGYuX2xvY2FsX21heF9zdHJlYW1fZGF0YV9iaWRpX2xvY2FsID0gY29uZmlndXJhdGlvbi5tYXhf
c3RyZWFtX2RhdGEKKyAgICAgICAgc2VsZi5fbG9jYWxfbWF4X3N0cmVhbV9kYXRhX2JpZGlfcmVt
b3RlID0gY29uZmlndXJhdGlvbi5tYXhfc3RyZWFtX2RhdGEKKyAgICAgICAgc2VsZi5fbG9jYWxf
bWF4X3N0cmVhbV9kYXRhX3VuaSA9IGNvbmZpZ3VyYXRpb24ubWF4X3N0cmVhbV9kYXRhCisgICAg
ICAgIHNlbGYuX2xvY2FsX21heF9zdHJlYW1zX2JpZGkgPSAxMjgKKyAgICAgICAgc2VsZi5fbG9j
YWxfbWF4X3N0cmVhbXNfdW5pID0gMTI4CisgICAgICAgIHNlbGYuX2xvc3NfYXQ6IE9wdGlvbmFs
W2Zsb2F0XSA9IE5vbmUKKyAgICAgICAgc2VsZi5fbmV0d29ya19wYXRoczogTGlzdFtRdWljTmV0
d29ya1BhdGhdID0gW10KKyAgICAgICAgc2VsZi5fb3JpZ2luYWxfY29ubmVjdGlvbl9pZCA9IG9y
aWdpbmFsX2Nvbm5lY3Rpb25faWQKKyAgICAgICAgc2VsZi5fcGFjaW5nX2F0OiBPcHRpb25hbFtm
bG9hdF0gPSBOb25lCisgICAgICAgIHNlbGYuX3BhY2tldF9udW1iZXIgPSAwCisgICAgICAgIHNl
bGYuX3BhcmFtZXRlcnNfcmVjZWl2ZWQgPSBGYWxzZQorICAgICAgICBzZWxmLl9wZWVyX2NpZCA9
IG9zLnVyYW5kb20oY29uZmlndXJhdGlvbi5jb25uZWN0aW9uX2lkX2xlbmd0aCkKKyAgICAgICAg
c2VsZi5fcGVlcl9jaWRfc2VxOiBPcHRpb25hbFtpbnRdID0gTm9uZQorICAgICAgICBzZWxmLl9w
ZWVyX2NpZF9hdmFpbGFibGU6IExpc3RbUXVpY0Nvbm5lY3Rpb25JZF0gPSBbXQorICAgICAgICBz
ZWxmLl9wZWVyX3Rva2VuID0gYiIiCisgICAgICAgIHNlbGYuX3F1aWNfbG9nZ2VyOiBPcHRpb25h
bFtRdWljTG9nZ2VyVHJhY2VdID0gTm9uZQorICAgICAgICBzZWxmLl9yZW1vdGVfYWNrX2RlbGF5
X2V4cG9uZW50ID0gMworICAgICAgICBzZWxmLl9yZW1vdGVfYWN0aXZlX2Nvbm5lY3Rpb25faWRf
bGltaXQgPSAwCisgICAgICAgIHNlbGYuX3JlbW90ZV9pZGxlX3RpbWVvdXQgPSAwLjAgICMgc2Vj
b25kcworICAgICAgICBzZWxmLl9yZW1vdGVfbWF4X2RhdGEgPSAwCisgICAgICAgIHNlbGYuX3Jl
bW90ZV9tYXhfZGF0YV91c2VkID0gMAorICAgICAgICBzZWxmLl9yZW1vdGVfbWF4X2RhdGFncmFt
X2ZyYW1lX3NpemU6IE9wdGlvbmFsW2ludF0gPSBOb25lCisgICAgICAgIHNlbGYuX3JlbW90ZV9t
YXhfc3RyZWFtX2RhdGFfYmlkaV9sb2NhbCA9IDAKKyAgICAgICAgc2VsZi5fcmVtb3RlX21heF9z
dHJlYW1fZGF0YV9iaWRpX3JlbW90ZSA9IDAKKyAgICAgICAgc2VsZi5fcmVtb3RlX21heF9zdHJl
YW1fZGF0YV91bmkgPSAwCisgICAgICAgIHNlbGYuX3JlbW90ZV9tYXhfc3RyZWFtc19iaWRpID0g
MAorICAgICAgICBzZWxmLl9yZW1vdGVfbWF4X3N0cmVhbXNfdW5pID0gMAorICAgICAgICBzZWxm
Ll9zcGFjZXM6IERpY3RbdGxzLkVwb2NoLCBRdWljUGFja2V0U3BhY2VdID0ge30KKyAgICAgICAg
c2VsZi5fc3Bpbl9iaXQgPSBGYWxzZQorICAgICAgICBzZWxmLl9zcGluX2hpZ2hlc3RfcG4gPSAw
CisgICAgICAgIHNlbGYuX3N0YXRlID0gUXVpY0Nvbm5lY3Rpb25TdGF0ZS5GSVJTVEZMSUdIVAor
ICAgICAgICBzZWxmLl9zdGF0ZWxlc3NfcmV0cnlfY291bnQgPSAwCisgICAgICAgIHNlbGYuX3N0
cmVhbXM6IERpY3RbaW50LCBRdWljU3RyZWFtXSA9IHt9CisgICAgICAgIHNlbGYuX3N0cmVhbXNf
YmxvY2tlZF9iaWRpOiBMaXN0W1F1aWNTdHJlYW1dID0gW10KKyAgICAgICAgc2VsZi5fc3RyZWFt
c19ibG9ja2VkX3VuaTogTGlzdFtRdWljU3RyZWFtXSA9IFtdCisgICAgICAgIHNlbGYuX3ZlcnNp
b246IE9wdGlvbmFsW2ludF0gPSBOb25lCisKKyAgICAgICAgIyBsb2dnaW5nCisgICAgICAgIGlm
IGxvZ2dlcl9jb25uZWN0aW9uX2lkIGlzIE5vbmU6CisgICAgICAgICAgICBsb2dnZXJfY29ubmVj
dGlvbl9pZCA9IHNlbGYuX3BlZXJfY2lkCisgICAgICAgIHNlbGYuX2xvZ2dlciA9IFF1aWNDb25u
ZWN0aW9uQWRhcHRlcigKKyAgICAgICAgICAgIGxvZ2dlciwgeyJpZCI6IGR1bXBfY2lkKGxvZ2dl
cl9jb25uZWN0aW9uX2lkKX0KKyAgICAgICAgKQorICAgICAgICBpZiBjb25maWd1cmF0aW9uLnF1
aWNfbG9nZ2VyOgorICAgICAgICAgICAgc2VsZi5fcXVpY19sb2dnZXIgPSBjb25maWd1cmF0aW9u
LnF1aWNfbG9nZ2VyLnN0YXJ0X3RyYWNlKAorICAgICAgICAgICAgICAgIGlzX2NsaWVudD1jb25m
aWd1cmF0aW9uLmlzX2NsaWVudCwgb2RjaWQ9bG9nZ2VyX2Nvbm5lY3Rpb25faWQKKyAgICAgICAg
ICAgICkKKworICAgICAgICAjIGxvc3MgcmVjb3ZlcnkKKyAgICAgICAgc2VsZi5fbG9zcyA9IFF1
aWNQYWNrZXRSZWNvdmVyeSgKKyAgICAgICAgICAgIGlzX2NsaWVudF93aXRob3V0XzFydHQ9c2Vs
Zi5faXNfY2xpZW50LAorICAgICAgICAgICAgcXVpY19sb2dnZXI9c2VsZi5fcXVpY19sb2dnZXIs
CisgICAgICAgICAgICBzZW5kX3Byb2JlPXNlbGYuX3NlbmRfcHJvYmUsCisgICAgICAgICkKKwor
ICAgICAgICAjIHRoaW5ncyB0byBzZW5kCisgICAgICAgIHNlbGYuX2Nsb3NlX3BlbmRpbmcgPSBG
YWxzZQorICAgICAgICBzZWxmLl9kYXRhZ3JhbXNfcGVuZGluZzogRGVxdWVbYnl0ZXNdID0gZGVx
dWUoKQorICAgICAgICBzZWxmLl9oYW5kc2hha2VfZG9uZV9wZW5kaW5nID0gRmFsc2UKKyAgICAg
ICAgc2VsZi5fcGluZ19wZW5kaW5nOiBMaXN0W2ludF0gPSBbXQorICAgICAgICBzZWxmLl9wcm9i
ZV9wZW5kaW5nID0gRmFsc2UKKyAgICAgICAgc2VsZi5fcmV0aXJlX2Nvbm5lY3Rpb25faWRzOiBM
aXN0W2ludF0gPSBbXQorICAgICAgICBzZWxmLl9zdHJlYW1zX2Jsb2NrZWRfcGVuZGluZyA9IEZh
bHNlCisKKyAgICAgICAgIyBjYWxsYmFja3MKKyAgICAgICAgc2VsZi5fc2Vzc2lvbl90aWNrZXRf
ZmV0Y2hlciA9IHNlc3Npb25fdGlja2V0X2ZldGNoZXIKKyAgICAgICAgc2VsZi5fc2Vzc2lvbl90
aWNrZXRfaGFuZGxlciA9IHNlc3Npb25fdGlja2V0X2hhbmRsZXIKKworICAgICAgICAjIGZyYW1l
IGhhbmRsZXJzCisgICAgICAgIHNlbGYuX19mcmFtZV9oYW5kbGVycyA9IHsKKyAgICAgICAgICAg
IDB4MDA6IChzZWxmLl9oYW5kbGVfcGFkZGluZ19mcmFtZSwgRVBPQ0hTKCJJSDAxIikpLAorICAg
ICAgICAgICAgMHgwMTogKHNlbGYuX2hhbmRsZV9waW5nX2ZyYW1lLCBFUE9DSFMoIklIMDEiKSks
CisgICAgICAgICAgICAweDAyOiAoc2VsZi5faGFuZGxlX2Fja19mcmFtZSwgRVBPQ0hTKCJJSDEi
KSksCisgICAgICAgICAgICAweDAzOiAoc2VsZi5faGFuZGxlX2Fja19mcmFtZSwgRVBPQ0hTKCJJ
SDEiKSksCisgICAgICAgICAgICAweDA0OiAoc2VsZi5faGFuZGxlX3Jlc2V0X3N0cmVhbV9mcmFt
ZSwgRVBPQ0hTKCIwMSIpKSwKKyAgICAgICAgICAgIDB4MDU6IChzZWxmLl9oYW5kbGVfc3RvcF9z
ZW5kaW5nX2ZyYW1lLCBFUE9DSFMoIjAxIikpLAorICAgICAgICAgICAgMHgwNjogKHNlbGYuX2hh
bmRsZV9jcnlwdG9fZnJhbWUsIEVQT0NIUygiSUgxIikpLAorICAgICAgICAgICAgMHgwNzogKHNl
bGYuX2hhbmRsZV9uZXdfdG9rZW5fZnJhbWUsIEVQT0NIUygiMSIpKSwKKyAgICAgICAgICAgIDB4
MDg6IChzZWxmLl9oYW5kbGVfc3RyZWFtX2ZyYW1lLCBFUE9DSFMoIjAxIikpLAorICAgICAgICAg
ICAgMHgwOTogKHNlbGYuX2hhbmRsZV9zdHJlYW1fZnJhbWUsIEVQT0NIUygiMDEiKSksCisgICAg
ICAgICAgICAweDBBOiAoc2VsZi5faGFuZGxlX3N0cmVhbV9mcmFtZSwgRVBPQ0hTKCIwMSIpKSwK
KyAgICAgICAgICAgIDB4MEI6IChzZWxmLl9oYW5kbGVfc3RyZWFtX2ZyYW1lLCBFUE9DSFMoIjAx
IikpLAorICAgICAgICAgICAgMHgwQzogKHNlbGYuX2hhbmRsZV9zdHJlYW1fZnJhbWUsIEVQT0NI
UygiMDEiKSksCisgICAgICAgICAgICAweDBEOiAoc2VsZi5faGFuZGxlX3N0cmVhbV9mcmFtZSwg
RVBPQ0hTKCIwMSIpKSwKKyAgICAgICAgICAgIDB4MEU6IChzZWxmLl9oYW5kbGVfc3RyZWFtX2Zy
YW1lLCBFUE9DSFMoIjAxIikpLAorICAgICAgICAgICAgMHgwRjogKHNlbGYuX2hhbmRsZV9zdHJl
YW1fZnJhbWUsIEVQT0NIUygiMDEiKSksCisgICAgICAgICAgICAweDEwOiAoc2VsZi5faGFuZGxl
X21heF9kYXRhX2ZyYW1lLCBFUE9DSFMoIjAxIikpLAorICAgICAgICAgICAgMHgxMTogKHNlbGYu
X2hhbmRsZV9tYXhfc3RyZWFtX2RhdGFfZnJhbWUsIEVQT0NIUygiMDEiKSksCisgICAgICAgICAg
ICAweDEyOiAoc2VsZi5faGFuZGxlX21heF9zdHJlYW1zX2JpZGlfZnJhbWUsIEVQT0NIUygiMDEi
KSksCisgICAgICAgICAgICAweDEzOiAoc2VsZi5faGFuZGxlX21heF9zdHJlYW1zX3VuaV9mcmFt
ZSwgRVBPQ0hTKCIwMSIpKSwKKyAgICAgICAgICAgIDB4MTQ6IChzZWxmLl9oYW5kbGVfZGF0YV9i
bG9ja2VkX2ZyYW1lLCBFUE9DSFMoIjAxIikpLAorICAgICAgICAgICAgMHgxNTogKHNlbGYuX2hh
bmRsZV9zdHJlYW1fZGF0YV9ibG9ja2VkX2ZyYW1lLCBFUE9DSFMoIjAxIikpLAorICAgICAgICAg
ICAgMHgxNjogKHNlbGYuX2hhbmRsZV9zdHJlYW1zX2Jsb2NrZWRfZnJhbWUsIEVQT0NIUygiMDEi
KSksCisgICAgICAgICAgICAweDE3OiAoc2VsZi5faGFuZGxlX3N0cmVhbXNfYmxvY2tlZF9mcmFt
ZSwgRVBPQ0hTKCIwMSIpKSwKKyAgICAgICAgICAgIDB4MTg6IChzZWxmLl9oYW5kbGVfbmV3X2Nv
bm5lY3Rpb25faWRfZnJhbWUsIEVQT0NIUygiMDEiKSksCisgICAgICAgICAgICAweDE5OiAoc2Vs
Zi5faGFuZGxlX3JldGlyZV9jb25uZWN0aW9uX2lkX2ZyYW1lLCBFUE9DSFMoIjAxIikpLAorICAg
ICAgICAgICAgMHgxQTogKHNlbGYuX2hhbmRsZV9wYXRoX2NoYWxsZW5nZV9mcmFtZSwgRVBPQ0hT
KCIwMSIpKSwKKyAgICAgICAgICAgIDB4MUI6IChzZWxmLl9oYW5kbGVfcGF0aF9yZXNwb25zZV9m
cmFtZSwgRVBPQ0hTKCIwMSIpKSwKKyAgICAgICAgICAgIDB4MUM6IChzZWxmLl9oYW5kbGVfY29u
bmVjdGlvbl9jbG9zZV9mcmFtZSwgRVBPQ0hTKCJJSDEiKSksCisgICAgICAgICAgICAweDFEOiAo
c2VsZi5faGFuZGxlX2Nvbm5lY3Rpb25fY2xvc2VfZnJhbWUsIEVQT0NIUygiMSIpKSwKKyAgICAg
ICAgICAgIDB4MUU6IChzZWxmLl9oYW5kbGVfaGFuZHNoYWtlX2RvbmVfZnJhbWUsIEVQT0NIUygi
MSIpKSwKKyAgICAgICAgICAgIDB4MzA6IChzZWxmLl9oYW5kbGVfZGF0YWdyYW1fZnJhbWUsIEVQ
T0NIUygiMDEiKSksCisgICAgICAgICAgICAweDMxOiAoc2VsZi5faGFuZGxlX2RhdGFncmFtX2Zy
YW1lLCBFUE9DSFMoIjAxIikpLAorICAgICAgICB9CisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYg
Y29uZmlndXJhdGlvbihzZWxmKSAtPiBRdWljQ29uZmlndXJhdGlvbjoKKyAgICAgICAgcmV0dXJu
IHNlbGYuX2NvbmZpZ3VyYXRpb24KKworICAgIGRlZiBjaGFuZ2VfY29ubmVjdGlvbl9pZChzZWxm
KSAtPiBOb25lOgorICAgICAgICAiIiIKKyAgICAgICAgU3dpdGNoIHRvIHRoZSBuZXh0IGF2YWls
YWJsZSBjb25uZWN0aW9uIElEIGFuZCByZXRpcmUKKyAgICAgICAgdGhlIHByZXZpb3VzIG9uZS4K
KworICAgICAgICBBZnRlciBjYWxsaW5nIHRoaXMgbWV0aG9kIGNhbGwgOm1ldGg6YGRhdGFncmFt
c190b19zZW5kYCB0byByZXRyaWV2ZSBkYXRhCisgICAgICAgIHdoaWNoIG5lZWRzIHRvIGJlIHNl
bnQuCisgICAgICAgICIiIgorICAgICAgICBpZiBzZWxmLl9wZWVyX2NpZF9hdmFpbGFibGU6Cisg
ICAgICAgICAgICAjIHJldGlyZSBwcmV2aW91cyBDSUQKKyAgICAgICAgICAgIHNlbGYuX2xvZ2dl
ci5kZWJ1ZygKKyAgICAgICAgICAgICAgICAiUmV0aXJpbmcgQ0lEICVzICglZCkiLCBkdW1wX2Np
ZChzZWxmLl9wZWVyX2NpZCksIHNlbGYuX3BlZXJfY2lkX3NlcQorICAgICAgICAgICAgKQorICAg
ICAgICAgICAgc2VsZi5fcmV0aXJlX2Nvbm5lY3Rpb25faWRzLmFwcGVuZChzZWxmLl9wZWVyX2Np
ZF9zZXEpCisKKyAgICAgICAgICAgICMgYXNzaWduIG5ldyBDSUQKKyAgICAgICAgICAgIGNvbm5l
Y3Rpb25faWQgPSBzZWxmLl9wZWVyX2NpZF9hdmFpbGFibGUucG9wKDApCisgICAgICAgICAgICBz
ZWxmLl9wZWVyX2NpZF9zZXEgPSBjb25uZWN0aW9uX2lkLnNlcXVlbmNlX251bWJlcgorICAgICAg
ICAgICAgc2VsZi5fcGVlcl9jaWQgPSBjb25uZWN0aW9uX2lkLmNpZAorICAgICAgICAgICAgc2Vs
Zi5fbG9nZ2VyLmRlYnVnKAorICAgICAgICAgICAgICAgICJTd2l0Y2hpbmcgdG8gQ0lEICVzICgl
ZCkiLCBkdW1wX2NpZChzZWxmLl9wZWVyX2NpZCksIHNlbGYuX3BlZXJfY2lkX3NlcQorICAgICAg
ICAgICAgKQorCisgICAgZGVmIGNsb3NlKAorICAgICAgICBzZWxmLAorICAgICAgICBlcnJvcl9j
b2RlOiBpbnQgPSBRdWljRXJyb3JDb2RlLk5PX0VSUk9SLAorICAgICAgICBmcmFtZV90eXBlOiBP
cHRpb25hbFtpbnRdID0gTm9uZSwKKyAgICAgICAgcmVhc29uX3BocmFzZTogc3RyID0gIiIsCisg
ICAgKSAtPiBOb25lOgorICAgICAgICAiIiIKKyAgICAgICAgQ2xvc2UgdGhlIGNvbm5lY3Rpb24u
CisKKyAgICAgICAgOnBhcmFtIGVycm9yX2NvZGU6IEFuIGVycm9yIGNvZGUgaW5kaWNhdGluZyB3
aHkgdGhlIGNvbm5lY3Rpb24gaXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlaW5nIGNs
b3NlZC4KKyAgICAgICAgOnBhcmFtIHJlYXNvbl9waHJhc2U6IEEgaHVtYW4tcmVhZGFibGUgZXhw
bGFuYXRpb24gb2Ygd2h5IHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29ubmVj
dGlvbiBpcyBiZWluZyBjbG9zZWQuCisgICAgICAgICIiIgorICAgICAgICBpZiBzZWxmLl9zdGF0
ZSBub3QgaW4gRU5EX1NUQVRFUzoKKyAgICAgICAgICAgIHNlbGYuX2Nsb3NlX2V2ZW50ID0gZXZl
bnRzLkNvbm5lY3Rpb25UZXJtaW5hdGVkKAorICAgICAgICAgICAgICAgIGVycm9yX2NvZGU9ZXJy
b3JfY29kZSwKKyAgICAgICAgICAgICAgICBmcmFtZV90eXBlPWZyYW1lX3R5cGUsCisgICAgICAg
ICAgICAgICAgcmVhc29uX3BocmFzZT1yZWFzb25fcGhyYXNlLAorICAgICAgICAgICAgKQorICAg
ICAgICAgICAgc2VsZi5fY2xvc2VfcGVuZGluZyA9IFRydWUKKworICAgIGRlZiBjb25uZWN0KHNl
bGYsIGFkZHI6IE5ldHdvcmtBZGRyZXNzLCBub3c6IGZsb2F0KSAtPiBOb25lOgorICAgICAgICAi
IiIKKyAgICAgICAgSW5pdGlhdGUgdGhlIFRMUyBoYW5kc2hha2UuCisKKyAgICAgICAgVGhpcyBt
ZXRob2QgY2FuIG9ubHkgYmUgY2FsbGVkIGZvciBjbGllbnRzIGFuZCBhIHNpbmdsZSB0aW1lLgor
CisgICAgICAgIEFmdGVyIGNhbGxpbmcgdGhpcyBtZXRob2QgY2FsbCA6bWV0aDpgZGF0YWdyYW1z
X3RvX3NlbmRgIHRvIHJldHJpZXZlIGRhdGEKKyAgICAgICAgd2hpY2ggbmVlZHMgdG8gYmUgc2Vu
dC4KKworICAgICAgICA6cGFyYW0gYWRkcjogVGhlIG5ldHdvcmsgYWRkcmVzcyBvZiB0aGUgcmVt
b3RlIHBlZXIuCisgICAgICAgIDpwYXJhbSBub3c6IFRoZSBjdXJyZW50IHRpbWUuCisgICAgICAg
ICIiIgorICAgICAgICBhc3NlcnQgKAorICAgICAgICAgICAgc2VsZi5faXNfY2xpZW50IGFuZCBu
b3Qgc2VsZi5fY29ubmVjdF9jYWxsZWQKKyAgICAgICAgKSwgImNvbm5lY3QoKSBjYW4gb25seSBi
ZSBjYWxsZWQgZm9yIGNsaWVudHMgYW5kIGEgc2luZ2xlIHRpbWUiCisgICAgICAgIHNlbGYuX2Nv
bm5lY3RfY2FsbGVkID0gVHJ1ZQorCisgICAgICAgIHNlbGYuX25ldHdvcmtfcGF0aHMgPSBbUXVp
Y05ldHdvcmtQYXRoKGFkZHIsIGlzX3ZhbGlkYXRlZD1UcnVlKV0KKyAgICAgICAgc2VsZi5fdmVy
c2lvbiA9IHNlbGYuX2NvbmZpZ3VyYXRpb24uc3VwcG9ydGVkX3ZlcnNpb25zWzBdCisgICAgICAg
IHNlbGYuX2Nvbm5lY3Qobm93PW5vdykKKworICAgIGRlZiBkYXRhZ3JhbXNfdG9fc2VuZChzZWxm
LCBub3c6IGZsb2F0KSAtPiBMaXN0W1R1cGxlW2J5dGVzLCBOZXR3b3JrQWRkcmVzc11dOgorICAg
ICAgICAiIiIKKyAgICAgICAgUmV0dXJuIGEgbGlzdCBvZiBgKGRhdGEsIGFkZHIpYCB0dXBsZXMg
b2YgZGF0YWdyYW1zIHdoaWNoIG5lZWQgdG8gYmUKKyAgICAgICAgc2VudCwgYW5kIHRoZSBuZXR3
b3JrIGFkZHJlc3MgdG8gd2hpY2ggdGhleSBuZWVkIHRvIGJlIHNlbnQuCisKKyAgICAgICAgQWZ0
ZXIgY2FsbGluZyB0aGlzIG1ldGhvZCBjYWxsIDptZXRoOmBnZXRfdGltZXJgIHRvIGtub3cgd2hl
biB0aGUgbmV4dAorICAgICAgICB0aW1lciBuZWVkcyB0byBiZSBzZXQuCisKKyAgICAgICAgOnBh
cmFtIG5vdzogVGhlIGN1cnJlbnQgdGltZS4KKyAgICAgICAgIiIiCisgICAgICAgIG5ldHdvcmtf
cGF0aCA9IHNlbGYuX25ldHdvcmtfcGF0aHNbMF0KKworICAgICAgICBpZiBzZWxmLl9zdGF0ZSBp
biBFTkRfU1RBVEVTOgorICAgICAgICAgICAgcmV0dXJuIFtdCisKKyAgICAgICAgIyBidWlsZCBk
YXRhZ3JhbXMKKyAgICAgICAgYnVpbGRlciA9IFF1aWNQYWNrZXRCdWlsZGVyKAorICAgICAgICAg
ICAgaG9zdF9jaWQ9c2VsZi5ob3N0X2NpZCwKKyAgICAgICAgICAgIGlzX2NsaWVudD1zZWxmLl9p
c19jbGllbnQsCisgICAgICAgICAgICBwYWNrZXRfbnVtYmVyPXNlbGYuX3BhY2tldF9udW1iZXIs
CisgICAgICAgICAgICBwZWVyX2NpZD1zZWxmLl9wZWVyX2NpZCwKKyAgICAgICAgICAgIHBlZXJf
dG9rZW49c2VsZi5fcGVlcl90b2tlbiwKKyAgICAgICAgICAgIHF1aWNfbG9nZ2VyPXNlbGYuX3F1
aWNfbG9nZ2VyLAorICAgICAgICAgICAgc3Bpbl9iaXQ9c2VsZi5fc3Bpbl9iaXQsCisgICAgICAg
ICAgICB2ZXJzaW9uPXNlbGYuX3ZlcnNpb24sCisgICAgICAgICkKKyAgICAgICAgaWYgc2VsZi5f
Y2xvc2VfcGVuZGluZzoKKyAgICAgICAgICAgIGZvciBlcG9jaCwgcGFja2V0X3R5cGUgaW4gKAor
ICAgICAgICAgICAgICAgICh0bHMuRXBvY2guT05FX1JUVCwgUEFDS0VUX1RZUEVfT05FX1JUVCks
CisgICAgICAgICAgICAgICAgKHRscy5FcG9jaC5IQU5EU0hBS0UsIFBBQ0tFVF9UWVBFX0hBTkRT
SEFLRSksCisgICAgICAgICAgICAgICAgKHRscy5FcG9jaC5JTklUSUFMLCBQQUNLRVRfVFlQRV9J
TklUSUFMKSwKKyAgICAgICAgICAgICk6CisgICAgICAgICAgICAgICAgY3J5cHRvID0gc2VsZi5f
Y3J5cHRvc1tlcG9jaF0KKyAgICAgICAgICAgICAgICBpZiBjcnlwdG8uc2VuZC5pc192YWxpZCgp
OgorICAgICAgICAgICAgICAgICAgICBidWlsZGVyLnN0YXJ0X3BhY2tldChwYWNrZXRfdHlwZSwg
Y3J5cHRvKQorICAgICAgICAgICAgICAgICAgICBzZWxmLl93cml0ZV9jb25uZWN0aW9uX2Nsb3Nl
X2ZyYW1lKAorICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGRlcj1idWlsZGVyLAorICAgICAg
ICAgICAgICAgICAgICAgICAgZXJyb3JfY29kZT1zZWxmLl9jbG9zZV9ldmVudC5lcnJvcl9jb2Rl
LAorICAgICAgICAgICAgICAgICAgICAgICAgZnJhbWVfdHlwZT1zZWxmLl9jbG9zZV9ldmVudC5m
cmFtZV90eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgcmVhc29uX3BocmFzZT1zZWxmLl9j
bG9zZV9ldmVudC5yZWFzb25fcGhyYXNlLAorICAgICAgICAgICAgICAgICAgICApCisgICAgICAg
ICAgICAgICAgICAgIHNlbGYuX2Nsb3NlX3BlbmRpbmcgPSBGYWxzZQorICAgICAgICAgICAgICAg
ICAgICBicmVhaworICAgICAgICAgICAgc2VsZi5fY2xvc2VfYmVnaW4oaXNfaW5pdGlhdG9yPVRy
dWUsIG5vdz1ub3cpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICAjIGNvbmdlc3Rpb24gY29u
dHJvbAorICAgICAgICAgICAgYnVpbGRlci5tYXhfZmxpZ2h0X2J5dGVzID0gKAorICAgICAgICAg
ICAgICAgIHNlbGYuX2xvc3MuY29uZ2VzdGlvbl93aW5kb3cgLSBzZWxmLl9sb3NzLmJ5dGVzX2lu
X2ZsaWdodAorICAgICAgICAgICAgKQorICAgICAgICAgICAgaWYgc2VsZi5fcHJvYmVfcGVuZGlu
ZyBhbmQgYnVpbGRlci5tYXhfZmxpZ2h0X2J5dGVzIDwgUEFDS0VUX01BWF9TSVpFOgorICAgICAg
ICAgICAgICAgIGJ1aWxkZXIubWF4X2ZsaWdodF9ieXRlcyA9IFBBQ0tFVF9NQVhfU0laRQorCisg
ICAgICAgICAgICAjIGxpbWl0IGRhdGEgb24gdW4tdmFsaWRhdGVkIG5ldHdvcmsgcGF0aHMKKyAg
ICAgICAgICAgIGlmIG5vdCBuZXR3b3JrX3BhdGguaXNfdmFsaWRhdGVkOgorICAgICAgICAgICAg
ICAgIGJ1aWxkZXIubWF4X3RvdGFsX2J5dGVzID0gKAorICAgICAgICAgICAgICAgICAgICBuZXR3
b3JrX3BhdGguYnl0ZXNfcmVjZWl2ZWQgKiAzIC0gbmV0d29ya19wYXRoLmJ5dGVzX3NlbnQKKyAg
ICAgICAgICAgICAgICApCisKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBpZiBu
b3Qgc2VsZi5faGFuZHNoYWtlX2NvbmZpcm1lZDoKKyAgICAgICAgICAgICAgICAgICAgZm9yIGVw
b2NoIGluIFt0bHMuRXBvY2guSU5JVElBTCwgdGxzLkVwb2NoLkhBTkRTSEFLRV06CisgICAgICAg
ICAgICAgICAgICAgICAgICBzZWxmLl93cml0ZV9oYW5kc2hha2UoYnVpbGRlciwgZXBvY2gsIG5v
dykKKyAgICAgICAgICAgICAgICBzZWxmLl93cml0ZV9hcHBsaWNhdGlvbihidWlsZGVyLCBuZXR3
b3JrX3BhdGgsIG5vdykKKyAgICAgICAgICAgIGV4Y2VwdCBRdWljUGFja2V0QnVpbGRlclN0b3A6
CisgICAgICAgICAgICAgICAgcGFzcworCisgICAgICAgIGRhdGFncmFtcywgcGFja2V0cyA9IGJ1
aWxkZXIuZmx1c2goKQorCisgICAgICAgIGlmIGRhdGFncmFtczoKKyAgICAgICAgICAgIHNlbGYu
X3BhY2tldF9udW1iZXIgPSBidWlsZGVyLnBhY2tldF9udW1iZXIKKworICAgICAgICAgICAgIyBy
ZWdpc3RlciBwYWNrZXRzCisgICAgICAgICAgICBzZW50X2hhbmRzaGFrZSA9IEZhbHNlCisgICAg
ICAgICAgICBmb3IgcGFja2V0IGluIHBhY2tldHM6CisgICAgICAgICAgICAgICAgcGFja2V0LnNl
bnRfdGltZSA9IG5vdworICAgICAgICAgICAgICAgIHNlbGYuX2xvc3Mub25fcGFja2V0X3NlbnQo
CisgICAgICAgICAgICAgICAgICAgIHBhY2tldD1wYWNrZXQsIHNwYWNlPXNlbGYuX3NwYWNlc1tw
YWNrZXQuZXBvY2hdCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgIGlmIHBhY2tl
dC5lcG9jaCA9PSB0bHMuRXBvY2guSEFORFNIQUtFOgorICAgICAgICAgICAgICAgICAgICBzZW50
X2hhbmRzaGFrZSA9IFRydWUKKworICAgICAgICAgICAgICAgICMgbG9nIHBhY2tldAorICAgICAg
ICAgICAgICAgIGlmIHNlbGYuX3F1aWNfbG9nZ2VyIGlzIG5vdCBOb25lOgorICAgICAgICAgICAg
ICAgICAgICBzZWxmLl9xdWljX2xvZ2dlci5sb2dfZXZlbnQoCisgICAgICAgICAgICAgICAgICAg
ICAgICBjYXRlZ29yeT0idHJhbnNwb3J0IiwKKyAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50
PSJwYWNrZXRfc2VudCIsCisgICAgICAgICAgICAgICAgICAgICAgICBkYXRhPXsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAicGFja2V0X3R5cGUiOiBzZWxmLl9xdWljX2xvZ2dlci5wYWNr
ZXRfdHlwZSgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFja2V0LnBhY2tldF90
eXBlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiaGVhZGVyIjogeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFj
a2V0X251bWJlciI6IHN0cihwYWNrZXQucGFja2V0X251bWJlciksCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJwYWNrZXRfc2l6ZSI6IHBhY2tldC5zZW50X2J5dGVzLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAic2NpZCI6IGR1bXBfY2lkKHNlbGYuaG9zdF9jaWQp
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIGlzX2xvbmdfaGVhZGVyKHBhY2tl
dC5wYWNrZXRfdHlwZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSAiIiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRjaWQiOiBkdW1wX2NpZChzZWxmLl9w
ZWVyX2NpZCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiZnJhbWVzIjogcGFja2V0LnF1aWNfbG9nZ2VyX2ZyYW1lcywKKyAgICAg
ICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgICkKKworICAgICAgICAg
ICAgIyBjaGVjayBpZiB3ZSBjYW4gZGlzY2FyZCBpbml0aWFsIGtleXMKKyAgICAgICAgICAgIGlm
IHNlbnRfaGFuZHNoYWtlIGFuZCBzZWxmLl9pc19jbGllbnQ6CisgICAgICAgICAgICAgICAgc2Vs
Zi5fZGlzY2FyZF9lcG9jaCh0bHMuRXBvY2guSU5JVElBTCkKKworICAgICAgICAjIHJldHVybiBk
YXRhZ3JhbXMgdG8gc2VuZCBhbmQgdGhlIGRlc3RpbmF0aW9uIG5ldHdvcmsgYWRkcmVzcworICAg
ICAgICByZXQgPSBbXQorICAgICAgICBmb3IgZGF0YWdyYW0gaW4gZGF0YWdyYW1zOgorICAgICAg
ICAgICAgYnl0ZV9sZW5ndGggPSBsZW4oZGF0YWdyYW0pCisgICAgICAgICAgICBuZXR3b3JrX3Bh
dGguYnl0ZXNfc2VudCArPSBieXRlX2xlbmd0aAorICAgICAgICAgICAgcmV0LmFwcGVuZCgoZGF0
YWdyYW0sIG5ldHdvcmtfcGF0aC5hZGRyKSkKKworICAgICAgICAgICAgaWYgc2VsZi5fcXVpY19s
b2dnZXIgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgc2VsZi5fcXVpY19sb2dnZXIubG9n
X2V2ZW50KAorICAgICAgICAgICAgICAgICAgICBjYXRlZ29yeT0idHJhbnNwb3J0IiwKKyAgICAg
ICAgICAgICAgICAgICAgZXZlbnQ9ImRhdGFncmFtc19zZW50IiwKKyAgICAgICAgICAgICAgICAg
ICAgZGF0YT17ImJ5dGVfbGVuZ3RoIjogYnl0ZV9sZW5ndGgsICJjb3VudCI6IDF9LAorICAgICAg
ICAgICAgICAgICkKKyAgICAgICAgcmV0dXJuIHJldAorCisgICAgZGVmIGdldF9uZXh0X2F2YWls
YWJsZV9zdHJlYW1faWQoc2VsZiwgaXNfdW5pZGlyZWN0aW9uYWw9RmFsc2UpIC0+IGludDoKKyAg
ICAgICAgIiIiCisgICAgICAgIFJldHVybiB0aGUgc3RyZWFtIElEIGZvciB0aGUgbmV4dCBzdHJl
YW0gY3JlYXRlZCBieSB0aGlzIGVuZHBvaW50LgorICAgICAgICAiIiIKKyAgICAgICAgc3RyZWFt
X2lkID0gKGludChpc191bmlkaXJlY3Rpb25hbCkgPDwgMSkgfCBpbnQobm90IHNlbGYuX2lzX2Ns
aWVudCkKKyAgICAgICAgd2hpbGUgc3RyZWFtX2lkIGluIHNlbGYuX3N0cmVhbXM6CisgICAgICAg
ICAgICBzdHJlYW1faWQgKz0gNAorICAgICAgICByZXR1cm4gc3RyZWFtX2lkCisKKyAgICBkZWYg
Z2V0X3RpbWVyKHNlbGYpIC0+IE9wdGlvbmFsW2Zsb2F0XToKKyAgICAgICAgIiIiCisgICAgICAg
IFJldHVybiB0aGUgdGltZSBhdCB3aGljaCB0aGUgdGltZXIgc2hvdWxkIGZpcmUgb3IgTm9uZSBp
ZiBubyB0aW1lciBpcyBuZWVkZWQuCisgICAgICAgICIiIgorICAgICAgICB0aW1lcl9hdCA9IHNl
bGYuX2Nsb3NlX2F0CisgICAgICAgIGlmIHNlbGYuX3N0YXRlIG5vdCBpbiBFTkRfU1RBVEVTOgor
ICAgICAgICAgICAgIyBhY2sgdGltZXIKKyAgICAgICAgICAgIGZvciBzcGFjZSBpbiBzZWxmLl9s
b3NzLnNwYWNlczoKKyAgICAgICAgICAgICAgICBpZiBzcGFjZS5hY2tfYXQgaXMgbm90IE5vbmUg
YW5kIHNwYWNlLmFja19hdCA8IHRpbWVyX2F0OgorICAgICAgICAgICAgICAgICAgICB0aW1lcl9h
dCA9IHNwYWNlLmFja19hdAorCisgICAgICAgICAgICAjIGxvc3MgZGV0ZWN0aW9uIHRpbWVyCisg
ICAgICAgICAgICBzZWxmLl9sb3NzX2F0ID0gc2VsZi5fbG9zcy5nZXRfbG9zc19kZXRlY3Rpb25f
dGltZSgpCisgICAgICAgICAgICBpZiBzZWxmLl9sb3NzX2F0IGlzIG5vdCBOb25lIGFuZCBzZWxm
Ll9sb3NzX2F0IDwgdGltZXJfYXQ6CisgICAgICAgICAgICAgICAgdGltZXJfYXQgPSBzZWxmLl9s
b3NzX2F0CisKKyAgICAgICAgICAgICMgcGFjaW5nIHRpbWVyCisgICAgICAgICAgICBpZiBzZWxm
Ll9wYWNpbmdfYXQgaXMgbm90IE5vbmUgYW5kIHNlbGYuX3BhY2luZ19hdCA8IHRpbWVyX2F0Ogor
ICAgICAgICAgICAgICAgIHRpbWVyX2F0ID0gc2VsZi5fcGFjaW5nX2F0CisKKyAgICAgICAgcmV0
dXJuIHRpbWVyX2F0CisKKyAgICBkZWYgaGFuZGxlX3RpbWVyKHNlbGYsIG5vdzogZmxvYXQpIC0+
IE5vbmU6CisgICAgICAgICIiIgorICAgICAgICBIYW5kbGUgdGhlIHRpbWVyLgorCisgICAgICAg
IEFmdGVyIGNhbGxpbmcgdGhpcyBtZXRob2QgY2FsbCA6bWV0aDpgZGF0YWdyYW1zX3RvX3NlbmRg
IHRvIHJldHJpZXZlIGRhdGEKKyAgICAgICAgd2hpY2ggbmVlZHMgdG8gYmUgc2VudC4KKworICAg
ICAgICA6cGFyYW0gbm93OiBUaGUgY3VycmVudCB0aW1lLgorICAgICAgICAiIiIKKyAgICAgICAg
IyBlbmQgb2YgY2xvc2luZyBwZXJpb2Qgb3IgaWRsZSB0aW1lb3V0CisgICAgICAgIGlmIG5vdyA+
PSBzZWxmLl9jbG9zZV9hdDoKKyAgICAgICAgICAgIGlmIHNlbGYuX2Nsb3NlX2V2ZW50IGlzIE5v
bmU6CisgICAgICAgICAgICAgICAgc2VsZi5fY2xvc2VfZXZlbnQgPSBldmVudHMuQ29ubmVjdGlv
blRlcm1pbmF0ZWQoCisgICAgICAgICAgICAgICAgICAgIGVycm9yX2NvZGU9UXVpY0Vycm9yQ29k
ZS5JTlRFUk5BTF9FUlJPUiwKKyAgICAgICAgICAgICAgICAgICAgZnJhbWVfdHlwZT1Ob25lLAor
ICAgICAgICAgICAgICAgICAgICByZWFzb25fcGhyYXNlPSJJZGxlIHRpbWVvdXQiLAorICAgICAg
ICAgICAgICAgICkKKyAgICAgICAgICAgIHNlbGYuX2Nsb3NlX2VuZCgpCisgICAgICAgICAgICBy
ZXR1cm4KKworICAgICAgICAjIGxvc3MgZGV0ZWN0aW9uIHRpbWVvdXQKKyAgICAgICAgaWYgc2Vs
Zi5fbG9zc19hdCBpcyBub3QgTm9uZSBhbmQgbm93ID49IHNlbGYuX2xvc3NfYXQ6CisgICAgICAg
ICAgICBzZWxmLl9sb2dnZXIuZGVidWcoIkxvc3MgZGV0ZWN0aW9uIHRyaWdnZXJlZCIpCisgICAg
ICAgICAgICBzZWxmLl9sb3NzLm9uX2xvc3NfZGV0ZWN0aW9uX3RpbWVvdXQobm93PW5vdykKKwor
ICAgIGRlZiBuZXh0X2V2ZW50KHNlbGYpIC0+IE9wdGlvbmFsW2V2ZW50cy5RdWljRXZlbnRdOgor
ICAgICAgICAiIiIKKyAgICAgICAgUmV0cmlldmUgdGhlIG5leHQgZXZlbnQgZnJvbSB0aGUgZXZl
bnQgYnVmZmVyLgorCisgICAgICAgIFJldHVybnMgYE5vbmVgIGlmIHRoZXJlIGFyZSBubyBidWZm
ZXJlZCBldmVudHMuCisgICAgICAgICIiIgorICAgICAgICB0cnk6CisgICAgICAgICAgICByZXR1
cm4gc2VsZi5fZXZlbnRzLnBvcGxlZnQoKQorICAgICAgICBleGNlcHQgSW5kZXhFcnJvcjoKKyAg
ICAgICAgICAgIHJldHVybiBOb25lCisKKyAgICBkZWYgcmVjZWl2ZV9kYXRhZ3JhbShzZWxmLCBk
YXRhOiBieXRlcywgYWRkcjogTmV0d29ya0FkZHJlc3MsIG5vdzogZmxvYXQpIC0+IE5vbmU6Cisg
ICAgICAgICIiIgorICAgICAgICBIYW5kbGUgYW4gaW5jb21pbmcgZGF0YWdyYW0uCisKKyAgICAg
ICAgQWZ0ZXIgY2FsbGluZyB0aGlzIG1ldGhvZCBjYWxsIDptZXRoOmBkYXRhZ3JhbXNfdG9fc2Vu
ZGAgdG8gcmV0cmlldmUgZGF0YQorICAgICAgICB3aGljaCBuZWVkcyB0byBiZSBzZW50LgorCisg
ICAgICAgIDpwYXJhbSBkYXRhOiBUaGUgZGF0YWdyYW0gd2hpY2ggd2FzIHJlY2VpdmVkLgorICAg
ICAgICA6cGFyYW0gYWRkcjogVGhlIG5ldHdvcmsgYWRkcmVzcyBmcm9tIHdoaWNoIHRoZSBkYXRh
Z3JhbSB3YXMgcmVjZWl2ZWQuCisgICAgICAgIDpwYXJhbSBub3c6IFRoZSBjdXJyZW50IHRpbWUu
CisgICAgICAgICIiIgorICAgICAgICAjIHN0b3AgaGFuZGxpbmcgcGFja2V0cyB3aGVuIGNsb3Np
bmcKKyAgICAgICAgaWYgc2VsZi5fc3RhdGUgaW4gRU5EX1NUQVRFUzoKKyAgICAgICAgICAgIHJl
dHVybgorCisgICAgICAgIGlmIHNlbGYuX3F1aWNfbG9nZ2VyIGlzIG5vdCBOb25lOgorICAgICAg
ICAgICAgc2VsZi5fcXVpY19sb2dnZXIubG9nX2V2ZW50KAorICAgICAgICAgICAgICAgIGNhdGVn
b3J5PSJ0cmFuc3BvcnQiLAorICAgICAgICAgICAgICAgIGV2ZW50PSJkYXRhZ3JhbXNfcmVjZWl2
ZWQiLAorICAgICAgICAgICAgICAgIGRhdGE9eyJieXRlX2xlbmd0aCI6IGxlbihkYXRhKSwgImNv
dW50IjogMX0sCisgICAgICAgICAgICApCisKKyAgICAgICAgYnVmID0gQnVmZmVyKGRhdGE9ZGF0
YSkKKyAgICAgICAgd2hpbGUgbm90IGJ1Zi5lb2YoKToKKyAgICAgICAgICAgIHN0YXJ0X29mZiA9
IGJ1Zi50ZWxsKCkKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBoZWFkZXIgPSBw
dWxsX3F1aWNfaGVhZGVyKAorICAgICAgICAgICAgICAgICAgICBidWYsIGhvc3RfY2lkX2xlbmd0
aD1zZWxmLl9jb25maWd1cmF0aW9uLmNvbm5lY3Rpb25faWRfbGVuZ3RoCisgICAgICAgICAgICAg
ICAgKQorICAgICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6CisgICAgICAgICAgICAgICAgcmV0
dXJuCisKKyAgICAgICAgICAgICMgY2hlY2sgZGVzdGluYXRpb24gQ0lEIG1hdGNoZXMKKyAgICAg
ICAgICAgIGRlc3RpbmF0aW9uX2NpZF9zZXE6IE9wdGlvbmFsW2ludF0gPSBOb25lCisgICAgICAg
ICAgICBmb3IgY29ubmVjdGlvbl9pZCBpbiBzZWxmLl9ob3N0X2NpZHM6CisgICAgICAgICAgICAg
ICAgaWYgaGVhZGVyLmRlc3RpbmF0aW9uX2NpZCA9PSBjb25uZWN0aW9uX2lkLmNpZDoKKyAgICAg
ICAgICAgICAgICAgICAgZGVzdGluYXRpb25fY2lkX3NlcSA9IGNvbm5lY3Rpb25faWQuc2VxdWVu
Y2VfbnVtYmVyCisgICAgICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICBpZiBzZWxm
Ll9pc19jbGllbnQgYW5kIGRlc3RpbmF0aW9uX2NpZF9zZXEgaXMgTm9uZToKKyAgICAgICAgICAg
ICAgICBpZiBzZWxmLl9xdWljX2xvZ2dlciBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICAg
ICAgc2VsZi5fcXVpY19sb2dnZXIubG9nX2V2ZW50KAorICAgICAgICAgICAgICAgICAgICAgICAg
Y2F0ZWdvcnk9InRyYW5zcG9ydCIsCisgICAgICAgICAgICAgICAgICAgICAgICBldmVudD0icGFj
a2V0X2Ryb3BwZWQiLAorICAgICAgICAgICAgICAgICAgICAgICAgZGF0YT17InRyaWdnZXIiOiAi
dW5rbm93bl9jb25uZWN0aW9uX2lkIn0sCisgICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAg
ICAgICAgICByZXR1cm4KKworICAgICAgICAgICAgIyBjaGVjayBwcm90b2NvbCB2ZXJzaW9uCisg
ICAgICAgICAgICBpZiAoCisgICAgICAgICAgICAgICAgc2VsZi5faXNfY2xpZW50CisgICAgICAg
ICAgICAgICAgYW5kIHNlbGYuX3N0YXRlID09IFF1aWNDb25uZWN0aW9uU3RhdGUuRklSU1RGTElH
SFQKKyAgICAgICAgICAgICAgICBhbmQgaGVhZGVyLnZlcnNpb24gPT0gUXVpY1Byb3RvY29sVmVy
c2lvbi5ORUdPVElBVElPTgorICAgICAgICAgICAgKToKKyAgICAgICAgICAgICAgICAjIHZlcnNp
b24gbmVnb3RpYXRpb24KKyAgICAgICAgICAgICAgICB2ZXJzaW9ucyA9IFtdCisgICAgICAgICAg
ICAgICAgd2hpbGUgbm90IGJ1Zi5lb2YoKToKKyAgICAgICAgICAgICAgICAgICAgdmVyc2lvbnMu
YXBwZW5kKGJ1Zi5wdWxsX3VpbnQzMigpKQorICAgICAgICAgICAgICAgIGlmIHNlbGYuX3F1aWNf
bG9nZ2VyIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgICAgICBzZWxmLl9xdWljX2xvZ2dl
ci5sb2dfZXZlbnQoCisgICAgICAgICAgICAgICAgICAgICAgICBjYXRlZ29yeT0idHJhbnNwb3J0
IiwKKyAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50PSJwYWNrZXRfcmVjZWl2ZWQiLAorICAg
ICAgICAgICAgICAgICAgICAgICAgZGF0YT17CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
InBhY2tldF90eXBlIjogInZlcnNpb25fbmVnb3RpYXRpb24iLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJoZWFkZXIiOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJz
Y2lkIjogZHVtcF9jaWQoaGVhZGVyLnNvdXJjZV9jaWQpLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiZGNpZCI6IGR1bXBfY2lkKGhlYWRlci5kZXN0aW5hdGlvbl9jaWQpLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImZyYW1lcyI6IFtdLAorICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAg
ICAgICAgKQorICAgICAgICAgICAgICAgIGNvbW1vbiA9IHNldChzZWxmLl9jb25maWd1cmF0aW9u
LnN1cHBvcnRlZF92ZXJzaW9ucykuaW50ZXJzZWN0aW9uKAorICAgICAgICAgICAgICAgICAgICB2
ZXJzaW9ucworICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICBpZiBub3QgY29tbW9u
OgorICAgICAgICAgICAgICAgICAgICBzZWxmLl9sb2dnZXIuZXJyb3IoIkNvdWxkIG5vdCBmaW5k
IGEgY29tbW9uIHByb3RvY29sIHZlcnNpb24iKQorICAgICAgICAgICAgICAgICAgICBzZWxmLl9j
bG9zZV9ldmVudCA9IGV2ZW50cy5Db25uZWN0aW9uVGVybWluYXRlZCgKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGVycm9yX2NvZGU9UXVpY0Vycm9yQ29kZS5JTlRFUk5BTF9FUlJPUiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGZyYW1lX3R5cGU9Tm9uZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHJlYXNvbl9waHJhc2U9IkNvdWxkIG5vdCBmaW5kIGEgY29tbW9uIHByb3RvY29sIHZlcnNp
b24iLAorICAgICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgICAgIHNlbGYuX2Ns
b3NlX2VuZCgpCisgICAgICAgICAgICAgICAgICAgIHJldHVybgorICAgICAgICAgICAgICAgIHNl
bGYuX3ZlcnNpb24gPSBRdWljUHJvdG9jb2xWZXJzaW9uKG1heChjb21tb24pKQorICAgICAgICAg
ICAgICAgIHNlbGYuX2xvZ2dlci5pbmZvKCJSZXRyeWluZyB3aXRoICVzIiwgc2VsZi5fdmVyc2lv
bikKKyAgICAgICAgICAgICAgICBzZWxmLl9jb25uZWN0KG5vdz1ub3cpCisgICAgICAgICAgICAg
ICAgcmV0dXJuCisgICAgICAgICAgICBlbGlmICgKKyAgICAgICAgICAgICAgICBoZWFkZXIudmVy
c2lvbiBpcyBub3QgTm9uZQorICAgICAgICAgICAgICAgIGFuZCBoZWFkZXIudmVyc2lvbiBub3Qg
aW4gc2VsZi5fY29uZmlndXJhdGlvbi5zdXBwb3J0ZWRfdmVyc2lvbnMKKyAgICAgICAgICAgICk6
CisgICAgICAgICAgICAgICAgIyB1bnN1cHBvcnRlZCB2ZXJzaW9uCisgICAgICAgICAgICAgICAg
aWYgc2VsZi5fcXVpY19sb2dnZXIgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgICAgIHNl
bGYuX3F1aWNfbG9nZ2VyLmxvZ19ldmVudCgKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhdGVn
b3J5PSJ0cmFuc3BvcnQiLAorICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQ9InBhY2tldF9k
cm9wcGVkIiwKKyAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE9eyJ0cmlnZ2VyIjogInVuc3Vw
cG9ydGVkX3ZlcnNpb24ifSwKKyAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAg
IHJldHVybgorCisgICAgICAgICAgICBpZiBzZWxmLl9pc19jbGllbnQgYW5kIGhlYWRlci5wYWNr
ZXRfdHlwZSA9PSBQQUNLRVRfVFlQRV9SRVRSWToKKyAgICAgICAgICAgICAgICAjIGNhbGN1bGF0
ZSBzdGF0ZWxlc3MgcmV0cnkgaW50ZWdyaXR5IHRhZworICAgICAgICAgICAgICAgIGludGVncml0
eV90YWcgPSBnZXRfcmV0cnlfaW50ZWdyaXR5X3RhZygKKyAgICAgICAgICAgICAgICAgICAgYnVm
LmRhdGFfc2xpY2Uoc3RhcnRfb2ZmLCBidWYudGVsbCgpIC0gUkVUUllfSU5URUdSSVRZX1RBR19T
SVpFKSwKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5fcGVlcl9jaWQsCisgICAgICAgICAgICAg
ICAgKQorCisgICAgICAgICAgICAgICAgaWYgKAorICAgICAgICAgICAgICAgICAgICBoZWFkZXIu
ZGVzdGluYXRpb25fY2lkID09IHNlbGYuaG9zdF9jaWQKKyAgICAgICAgICAgICAgICAgICAgYW5k
IGhlYWRlci5pbnRlZ3JpdHlfdGFnID09IGludGVncml0eV90YWcKKyAgICAgICAgICAgICAgICAg
ICAgYW5kIG5vdCBzZWxmLl9zdGF0ZWxlc3NfcmV0cnlfY291bnQKKyAgICAgICAgICAgICAgICAp
OgorICAgICAgICAgICAgICAgICAgICBpZiBzZWxmLl9xdWljX2xvZ2dlciBpcyBub3QgTm9uZToK
KyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3F1aWNfbG9nZ2VyLmxvZ19ldmVudCgKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjYXRlZ29yeT0idHJhbnNwb3J0IiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBldmVudD0icGFja2V0X3JlY2VpdmVkIiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBkYXRhPXsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
InBhY2tldF90eXBlIjogInJldHJ5IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImhlYWRlciI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY2lkIjog
ZHVtcF9jaWQoaGVhZGVyLnNvdXJjZV9jaWQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgImRjaWQiOiBkdW1wX2NpZChoZWFkZXIuZGVzdGluYXRpb25fY2lkKSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImZyYW1lcyI6IFtdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCisgICAg
ICAgICAgICAgICAgICAgICAgICApCisKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5fb3JpZ2lu
YWxfY29ubmVjdGlvbl9pZCA9IHNlbGYuX3BlZXJfY2lkCisgICAgICAgICAgICAgICAgICAgIHNl
bGYuX3BlZXJfY2lkID0gaGVhZGVyLnNvdXJjZV9jaWQKKyAgICAgICAgICAgICAgICAgICAgc2Vs
Zi5fcGVlcl90b2tlbiA9IGhlYWRlci50b2tlbgorICAgICAgICAgICAgICAgICAgICBzZWxmLl9z
dGF0ZWxlc3NfcmV0cnlfY291bnQgKz0gMQorICAgICAgICAgICAgICAgICAgICBzZWxmLl9sb2dn
ZXIuaW5mbygiUGVyZm9ybWluZyBzdGF0ZWxlc3MgcmV0cnkiKQorICAgICAgICAgICAgICAgICAg
ICBzZWxmLl9jb25uZWN0KG5vdz1ub3cpCisgICAgICAgICAgICAgICAgcmV0dXJuCisKKyAgICAg
ICAgICAgIG5ldHdvcmtfcGF0aCA9IHNlbGYuX2ZpbmRfbmV0d29ya19wYXRoKGFkZHIpCisKKyAg
ICAgICAgICAgICMgc2VydmVyIGluaXRpYWxpemF0aW9uCisgICAgICAgICAgICBpZiBub3Qgc2Vs
Zi5faXNfY2xpZW50IGFuZCBzZWxmLl9zdGF0ZSA9PSBRdWljQ29ubmVjdGlvblN0YXRlLkZJUlNU
RkxJR0hUOgorICAgICAgICAgICAgICAgIGFzc2VydCAoCisgICAgICAgICAgICAgICAgICAgIGhl
YWRlci5wYWNrZXRfdHlwZSA9PSBQQUNLRVRfVFlQRV9JTklUSUFMCisgICAgICAgICAgICAgICAg
KSwgImZpcnN0IHBhY2tldCBtdXN0IGJlIElOSVRJQUwiCisgICAgICAgICAgICAgICAgc2VsZi5f
bmV0d29ya19wYXRocyA9IFtuZXR3b3JrX3BhdGhdCisgICAgICAgICAgICAgICAgc2VsZi5fdmVy
c2lvbiA9IFF1aWNQcm90b2NvbFZlcnNpb24oaGVhZGVyLnZlcnNpb24pCisgICAgICAgICAgICAg
ICAgc2VsZi5faW5pdGlhbGl6ZShoZWFkZXIuZGVzdGluYXRpb25fY2lkKQorCisgICAgICAgICAg
ICAjIGRldGVybWluZSBjcnlwdG8gYW5kIHBhY2tldCBzcGFjZQorICAgICAgICAgICAgZXBvY2gg
PSBnZXRfZXBvY2goaGVhZGVyLnBhY2tldF90eXBlKQorICAgICAgICAgICAgY3J5cHRvID0gc2Vs
Zi5fY3J5cHRvc1tlcG9jaF0KKyAgICAgICAgICAgIGlmIGVwb2NoID09IHRscy5FcG9jaC5aRVJP
X1JUVDoKKyAgICAgICAgICAgICAgICBzcGFjZSA9IHNlbGYuX3NwYWNlc1t0bHMuRXBvY2guT05F
X1JUVF0KKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgc3BhY2UgPSBzZWxmLl9z
cGFjZXNbZXBvY2hdCisKKyAgICAgICAgICAgICMgZGVjcnlwdCBwYWNrZXQKKyAgICAgICAgICAg
IGVuY3J5cHRlZF9vZmYgPSBidWYudGVsbCgpIC0gc3RhcnRfb2ZmCisgICAgICAgICAgICBlbmRf
b2ZmID0gYnVmLnRlbGwoKSArIGhlYWRlci5yZXN0X2xlbmd0aAorICAgICAgICAgICAgYnVmLnNl
ZWsoZW5kX29mZikKKworICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHBsYWluX2hl
YWRlciwgcGxhaW5fcGF5bG9hZCwgcGFja2V0X251bWJlciA9IGNyeXB0by5kZWNyeXB0X3BhY2tl
dCgKKyAgICAgICAgICAgICAgICAgICAgZGF0YVtzdGFydF9vZmY6ZW5kX29mZl0sIGVuY3J5cHRl
ZF9vZmYsIHNwYWNlLmV4cGVjdGVkX3BhY2tldF9udW1iZXIKKyAgICAgICAgICAgICAgICApCisg
ICAgICAgICAgICBleGNlcHQgS2V5VW5hdmFpbGFibGVFcnJvciBhcyBleGM6CisgICAgICAgICAg
ICAgICAgc2VsZi5fbG9nZ2VyLmRlYnVnKGV4YykKKyAgICAgICAgICAgICAgICBpZiBzZWxmLl9x
dWljX2xvZ2dlciBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5fcXVpY19s
b2dnZXIubG9nX2V2ZW50KAorICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcnk9InRyYW5z
cG9ydCIsCisgICAgICAgICAgICAgICAgICAgICAgICBldmVudD0icGFja2V0X2Ryb3BwZWQiLAor
ICAgICAgICAgICAgICAgICAgICAgICAgZGF0YT17InRyaWdnZXIiOiAia2V5X3VuYXZhaWxhYmxl
In0sCisgICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAg
ICAgICAgICAgZXhjZXB0IENyeXB0b0Vycm9yIGFzIGV4YzoKKyAgICAgICAgICAgICAgICBzZWxm
Ll9sb2dnZXIuZGVidWcoZXhjKQorICAgICAgICAgICAgICAgIGlmIHNlbGYuX3F1aWNfbG9nZ2Vy
IGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgICAgICBzZWxmLl9xdWljX2xvZ2dlci5sb2df
ZXZlbnQoCisgICAgICAgICAgICAgICAgICAgICAgICBjYXRlZ29yeT0idHJhbnNwb3J0IiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGV2ZW50PSJwYWNrZXRfZHJvcHBlZCIsCisgICAgICAgICAg
ICAgICAgICAgICAgICBkYXRhPXsidHJpZ2dlciI6ICJwYXlsb2FkX2RlY3J5cHRfZXJyb3IifSwK
KyAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisKKyAgICAg
ICAgICAgICMgY2hlY2sgcmVzZXJ2ZWQgYml0cworICAgICAgICAgICAgaWYgaGVhZGVyLmlzX2xv
bmdfaGVhZGVyOgorICAgICAgICAgICAgICAgIHJlc2VydmVkX21hc2sgPSAweDBDCisgICAgICAg
ICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHJlc2VydmVkX21hc2sgPSAweDE4CisgICAgICAg
ICAgICBpZiBwbGFpbl9oZWFkZXJbMF0gJiByZXNlcnZlZF9tYXNrOgorICAgICAgICAgICAgICAg
IHNlbGYuY2xvc2UoCisgICAgICAgICAgICAgICAgICAgIGVycm9yX2NvZGU9UXVpY0Vycm9yQ29k
ZS5QUk9UT0NPTF9WSU9MQVRJT04sCisgICAgICAgICAgICAgICAgICAgIGZyYW1lX3R5cGU9Tm9u
ZSwKKyAgICAgICAgICAgICAgICAgICAgcmVhc29uX3BocmFzZT0iUmVzZXJ2ZWQgYml0cyBtdXN0
IGJlIHplcm8iLAorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICByZXR1cm4KKwor
ICAgICAgICAgICAgIyByYWlzZSBleHBlY3RlZCBwYWNrZXQgbnVtYmVyCisgICAgICAgICAgICBp
ZiBwYWNrZXRfbnVtYmVyID4gc3BhY2UuZXhwZWN0ZWRfcGFja2V0X251bWJlcjoKKyAgICAgICAg
ICAgICAgICBzcGFjZS5leHBlY3RlZF9wYWNrZXRfbnVtYmVyID0gcGFja2V0X251bWJlciArIDEK
KworICAgICAgICAgICAgIyBsb2cgcGFja2V0CisgICAgICAgICAgICBxdWljX2xvZ2dlcl9mcmFt
ZXM6IE9wdGlvbmFsW0xpc3RbRGljdF1dID0gTm9uZQorICAgICAgICAgICAgaWYgc2VsZi5fcXVp
Y19sb2dnZXIgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgcXVpY19sb2dnZXJfZnJhbWVz
ID0gW10KKyAgICAgICAgICAgICAgICBzZWxmLl9xdWljX2xvZ2dlci5sb2dfZXZlbnQoCisgICAg
ICAgICAgICAgICAgICAgIGNhdGVnb3J5PSJ0cmFuc3BvcnQiLAorICAgICAgICAgICAgICAgICAg
ICBldmVudD0icGFja2V0X3JlY2VpdmVkIiwKKyAgICAgICAgICAgICAgICAgICAgZGF0YT17Cisg
ICAgICAgICAgICAgICAgICAgICAgICAicGFja2V0X3R5cGUiOiBzZWxmLl9xdWljX2xvZ2dlci5w
YWNrZXRfdHlwZSgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXIucGFja2V0X3R5
cGUKKyAgICAgICAgICAgICAgICAgICAgICAgICksCisgICAgICAgICAgICAgICAgICAgICAgICAi
aGVhZGVyIjogeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYWNrZXRfbnVtYmVyIjog
c3RyKHBhY2tldF9udW1iZXIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYWNrZXRf
c2l6ZSI6IGVuZF9vZmYgLSBzdGFydF9vZmYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImRjaWQiOiBkdW1wX2NpZChoZWFkZXIuZGVzdGluYXRpb25fY2lkKSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAic2NpZCI6IGR1bXBfY2lkKGhlYWRlci5zb3VyY2VfY2lkKSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAiZnJhbWVzIjog
cXVpY19sb2dnZXJfZnJhbWVzLAorICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAg
ICAgICkKKworICAgICAgICAgICAgIyBkaXNjYXJkIGluaXRpYWwga2V5cyBhbmQgcGFja2V0IHNw
YWNlCisgICAgICAgICAgICBpZiBub3Qgc2VsZi5faXNfY2xpZW50IGFuZCBlcG9jaCA9PSB0bHMu
RXBvY2guSEFORFNIQUtFOgorICAgICAgICAgICAgICAgIHNlbGYuX2Rpc2NhcmRfZXBvY2godGxz
LkVwb2NoLklOSVRJQUwpCisKKyAgICAgICAgICAgICMgdXBkYXRlIHN0YXRlCisgICAgICAgICAg
ICBpZiBzZWxmLl9wZWVyX2NpZF9zZXEgaXMgTm9uZToKKyAgICAgICAgICAgICAgICBzZWxmLl9w
ZWVyX2NpZCA9IGhlYWRlci5zb3VyY2VfY2lkCisgICAgICAgICAgICAgICAgc2VsZi5fcGVlcl9j
aWRfc2VxID0gMAorCisgICAgICAgICAgICBpZiBzZWxmLl9zdGF0ZSA9PSBRdWljQ29ubmVjdGlv
blN0YXRlLkZJUlNURkxJR0hUOgorICAgICAgICAgICAgICAgIHNlbGYuX3NldF9zdGF0ZShRdWlj
Q29ubmVjdGlvblN0YXRlLkNPTk5FQ1RFRCkKKworICAgICAgICAgICAgIyB1cGRhdGUgc3BpbiBi
aXQKKyAgICAgICAgICAgIGlmIG5vdCBoZWFkZXIuaXNfbG9uZ19oZWFkZXIgYW5kIHBhY2tldF9u
dW1iZXIgPiBzZWxmLl9zcGluX2hpZ2hlc3RfcG46CisgICAgICAgICAgICAgICAgc3Bpbl9iaXQg
PSBnZXRfc3Bpbl9iaXQocGxhaW5faGVhZGVyWzBdKQorICAgICAgICAgICAgICAgIGlmIHNlbGYu
X2lzX2NsaWVudDoKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5fc3Bpbl9iaXQgPSBub3Qgc3Bp
bl9iaXQKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBzZWxmLl9z
cGluX2JpdCA9IHNwaW5fYml0CisgICAgICAgICAgICAgICAgc2VsZi5fc3Bpbl9oaWdoZXN0X3Bu
ID0gcGFja2V0X251bWJlcgorCisgICAgICAgICAgICAgICAgaWYgc2VsZi5fcXVpY19sb2dnZXIg
aXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuX3F1aWNfbG9nZ2VyLmxvZ19l
dmVudCgKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhdGVnb3J5PSJjb25uZWN0aXZpdHkiLAor
ICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQ9InNwaW5fYml0X3VwZGF0ZWQiLAorICAgICAg
ICAgICAgICAgICAgICAgICAgZGF0YT17InN0YXRlIjogc2VsZi5fc3Bpbl9iaXR9LAorICAgICAg
ICAgICAgICAgICAgICApCisKKyAgICAgICAgICAgICMgaGFuZGxlIHBheWxvYWQKKyAgICAgICAg
ICAgIGNvbnRleHQgPSBRdWljUmVjZWl2ZUNvbnRleHQoCisgICAgICAgICAgICAgICAgZXBvY2g9
ZXBvY2gsCisgICAgICAgICAgICAgICAgaG9zdF9jaWQ9aGVhZGVyLmRlc3RpbmF0aW9uX2NpZCwK
KyAgICAgICAgICAgICAgICBuZXR3b3JrX3BhdGg9bmV0d29ya19wYXRoLAorICAgICAgICAgICAg
ICAgIHF1aWNfbG9nZ2VyX2ZyYW1lcz1xdWljX2xvZ2dlcl9mcmFtZXMsCisgICAgICAgICAgICAg
ICAgdGltZT1ub3csCisgICAgICAgICAgICApCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAg
ICAgICAgaXNfYWNrX2VsaWNpdGluZywgaXNfcHJvYmluZyA9IHNlbGYuX3BheWxvYWRfcmVjZWl2
ZWQoCisgICAgICAgICAgICAgICAgICAgIGNvbnRleHQsIHBsYWluX3BheWxvYWQKKyAgICAgICAg
ICAgICAgICApCisgICAgICAgICAgICBleGNlcHQgUXVpY0Nvbm5lY3Rpb25FcnJvciBhcyBleGM6
CisgICAgICAgICAgICAgICAgc2VsZi5fbG9nZ2VyLndhcm5pbmcoZXhjKQorICAgICAgICAgICAg
ICAgIHNlbGYuY2xvc2UoCisgICAgICAgICAgICAgICAgICAgIGVycm9yX2NvZGU9ZXhjLmVycm9y
X2NvZGUsCisgICAgICAgICAgICAgICAgICAgIGZyYW1lX3R5cGU9ZXhjLmZyYW1lX3R5cGUsCisg
ICAgICAgICAgICAgICAgICAgIHJlYXNvbl9waHJhc2U9ZXhjLnJlYXNvbl9waHJhc2UsCisgICAg
ICAgICAgICAgICAgKQorICAgICAgICAgICAgaWYgc2VsZi5fc3RhdGUgaW4gRU5EX1NUQVRFUyBv
ciBzZWxmLl9jbG9zZV9wZW5kaW5nOgorICAgICAgICAgICAgICAgIHJldHVybgorCisgICAgICAg
ICAgICAjIHVwZGF0ZSBpZGxlIHRpbWVvdXQKKyAgICAgICAgICAgIHNlbGYuX2Nsb3NlX2F0ID0g
bm93ICsgc2VsZi5fY29uZmlndXJhdGlvbi5pZGxlX3RpbWVvdXQKKworICAgICAgICAgICAgIyBo
YW5kbGUgbWlncmF0aW9uCisgICAgICAgICAgICBpZiAoCisgICAgICAgICAgICAgICAgbm90IHNl
bGYuX2lzX2NsaWVudAorICAgICAgICAgICAgICAgIGFuZCBjb250ZXh0Lmhvc3RfY2lkICE9IHNl
bGYuaG9zdF9jaWQKKyAgICAgICAgICAgICAgICBhbmQgZXBvY2ggPT0gdGxzLkVwb2NoLk9ORV9S
VFQKKyAgICAgICAgICAgICk6CisgICAgICAgICAgICAgICAgc2VsZi5fbG9nZ2VyLmRlYnVnKAor
ICAgICAgICAgICAgICAgICAgICAiUGVlciBzd2l0Y2hpbmcgdG8gQ0lEICVzICglZCkiLAorICAg
ICAgICAgICAgICAgICAgICBkdW1wX2NpZChjb250ZXh0Lmhvc3RfY2lkKSwKKyAgICAgICAgICAg
ICAgICAgICAgZGVzdGluYXRpb25fY2lkX3NlcSwKKyAgICAgICAgICAgICAgICApCisgICAgICAg
ICAgICAgICAgc2VsZi5ob3N0X2NpZCA9IGNvbnRleHQuaG9zdF9jaWQKKyAgICAgICAgICAgICAg
ICBzZWxmLmNoYW5nZV9jb25uZWN0aW9uX2lkKCkKKworICAgICAgICAgICAgIyB1cGRhdGUgbmV0
d29yayBwYXRoCisgICAgICAgICAgICBpZiBub3QgbmV0d29ya19wYXRoLmlzX3ZhbGlkYXRlZCBh
bmQgZXBvY2ggPT0gdGxzLkVwb2NoLkhBTkRTSEFLRToKKyAgICAgICAgICAgICAgICBzZWxmLl9s
b2dnZXIuZGVidWcoCisgICAgICAgICAgICAgICAgICAgICJOZXR3b3JrIHBhdGggJXMgdmFsaWRh
dGVkIGJ5IGhhbmRzaGFrZSIsIG5ldHdvcmtfcGF0aC5hZGRyCisgICAgICAgICAgICAgICAgKQor
ICAgICAgICAgICAgICAgIG5ldHdvcmtfcGF0aC5pc192YWxpZGF0ZWQgPSBUcnVlCisgICAgICAg
ICAgICBuZXR3b3JrX3BhdGguYnl0ZXNfcmVjZWl2ZWQgKz0gZW5kX29mZiAtIHN0YXJ0X29mZgor
ICAgICAgICAgICAgaWYgbmV0d29ya19wYXRoIG5vdCBpbiBzZWxmLl9uZXR3b3JrX3BhdGhzOgor
ICAgICAgICAgICAgICAgIHNlbGYuX25ldHdvcmtfcGF0aHMuYXBwZW5kKG5ldHdvcmtfcGF0aCkK
KyAgICAgICAgICAgIGlkeCA9IHNlbGYuX25ldHdvcmtfcGF0aHMuaW5kZXgobmV0d29ya19wYXRo
KQorICAgICAgICAgICAgaWYgaWR4IGFuZCBub3QgaXNfcHJvYmluZyBhbmQgcGFja2V0X251bWJl
ciA+IHNwYWNlLmxhcmdlc3RfcmVjZWl2ZWRfcGFja2V0OgorICAgICAgICAgICAgICAgIHNlbGYu
X2xvZ2dlci5kZWJ1ZygiTmV0d29yayBwYXRoICVzIHByb21vdGVkIiwgbmV0d29ya19wYXRoLmFk
ZHIpCisgICAgICAgICAgICAgICAgc2VsZi5fbmV0d29ya19wYXRocy5wb3AoaWR4KQorICAgICAg
ICAgICAgICAgIHNlbGYuX25ldHdvcmtfcGF0aHMuaW5zZXJ0KDAsIG5ldHdvcmtfcGF0aCkKKwor
ICAgICAgICAgICAgIyByZWNvcmQgcGFja2V0IGFzIHJlY2VpdmVkCisgICAgICAgICAgICBpZiBu
b3Qgc3BhY2UuZGlzY2FyZGVkOgorICAgICAgICAgICAgICAgIGlmIHBhY2tldF9udW1iZXIgPiBz
cGFjZS5sYXJnZXN0X3JlY2VpdmVkX3BhY2tldDoKKyAgICAgICAgICAgICAgICAgICAgc3BhY2Uu
bGFyZ2VzdF9yZWNlaXZlZF9wYWNrZXQgPSBwYWNrZXRfbnVtYmVyCisgICAgICAgICAgICAgICAg
ICAgIHNwYWNlLmxhcmdlc3RfcmVjZWl2ZWRfdGltZSA9IG5vdworICAgICAgICAgICAgICAgIHNw
YWNlLmFja19xdWV1ZS5hZGQocGFja2V0X251bWJlcikKKyAgICAgICAgICAgICAgICBpZiBpc19h
Y2tfZWxpY2l0aW5nIGFuZCBzcGFjZS5hY2tfYXQgaXMgTm9uZToKKyAgICAgICAgICAgICAgICAg
ICAgc3BhY2UuYWNrX2F0ID0gbm93ICsgc2VsZi5fYWNrX2RlbGF5CisKKyAgICBkZWYgcmVxdWVz
dF9rZXlfdXBkYXRlKHNlbGYpIC0+IE5vbmU6CisgICAgICAgICIiIgorICAgICAgICBSZXF1ZXN0
IGFuIHVwZGF0ZSBvZiB0aGUgZW5jcnlwdGlvbiBrZXlzLgorICAgICAgICAiIiIKKyAgICAgICAg
YXNzZXJ0IHNlbGYuX2hhbmRzaGFrZV9jb21wbGV0ZSwgImNhbm5vdCBjaGFuZ2Uga2V5IGJlZm9y
ZSBoYW5kc2hha2UgY29tcGxldGVzIgorICAgICAgICBzZWxmLl9jcnlwdG9zW3Rscy5FcG9jaC5P
TkVfUlRUXS51cGRhdGVfa2V5KCkKKworICAgIGRlZiBzZW5kX3Bpbmcoc2VsZiwgdWlkOiBpbnQp
IC0+IE5vbmU6CisgICAgICAgICIiIgorICAgICAgICBTZW5kIGEgUElORyBmcmFtZSB0byB0aGUg
cGVlci4KKworICAgICAgICA6cGFyYW0gdWlkOiBBIHVuaXF1ZSBJRCBmb3IgdGhpcyBQSU5HLgor
ICAgICAgICAiIiIKKyAgICAgICAgc2VsZi5fcGluZ19wZW5kaW5nLmFwcGVuZCh1aWQpCisKKyAg
ICBkZWYgc2VuZF9kYXRhZ3JhbV9mcmFtZShzZWxmLCBkYXRhOiBieXRlcykgLT4gTm9uZToKKyAg
ICAgICAgIiIiCisgICAgICAgIFNlbmQgYSBEQVRBR1JBTSBmcmFtZS4KKworICAgICAgICA6cGFy
YW0gZGF0YTogVGhlIGRhdGEgdG8gYmUgc2VudC4KKyAgICAgICAgIiIiCisgICAgICAgIHNlbGYu
X2RhdGFncmFtc19wZW5kaW5nLmFwcGVuZChkYXRhKQorCisgICAgZGVmIHNlbmRfc3RyZWFtX2Rh
dGEoCisgICAgICAgIHNlbGYsIHN0cmVhbV9pZDogaW50LCBkYXRhOiBieXRlcywgZW5kX3N0cmVh
bTogYm9vbCA9IEZhbHNlCisgICAgKSAtPiBOb25lOgorICAgICAgICAiIiIKKyAgICAgICAgU2Vu
ZCBkYXRhIG9uIHRoZSBzcGVjaWZpYyBzdHJlYW0uCisKKyAgICAgICAgOnBhcmFtIHN0cmVhbV9p
ZDogVGhlIHN0cmVhbSdzIElELgorICAgICAgICA6cGFyYW0gZGF0YTogVGhlIGRhdGEgdG8gYmUg
c2VudC4KKyAgICAgICAgOnBhcmFtIGVuZF9zdHJlYW06IElmIHNldCB0byBgVHJ1ZWAsIHRoZSBG
SU4gYml0IHdpbGwgYmUgc2V0LgorICAgICAgICAiIiIKKyAgICAgICAgaWYgc3RyZWFtX2lzX2Ns
aWVudF9pbml0aWF0ZWQoc3RyZWFtX2lkKSAhPSBzZWxmLl9pc19jbGllbnQ6CisgICAgICAgICAg
ICBpZiBzdHJlYW1faWQgbm90IGluIHNlbGYuX3N0cmVhbXM6CisgICAgICAgICAgICAgICAgcmFp
c2UgVmFsdWVFcnJvcigiQ2Fubm90IHNlbmQgZGF0YSBvbiB1bmtub3duIHBlZXItaW5pdGlhdGVk
IHN0cmVhbSIpCisgICAgICAgICAgICBpZiBzdHJlYW1faXNfdW5pZGlyZWN0aW9uYWwoc3RyZWFt
X2lkKToKKyAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKAorICAgICAgICAgICAgICAg
ICAgICAiQ2Fubm90IHNlbmQgZGF0YSBvbiBwZWVyLWluaXRpYXRlZCB1bmlkaXJlY3Rpb25hbCBz
dHJlYW0iCisgICAgICAgICAgICAgICAgKQorCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHN0
cmVhbSA9IHNlbGYuX3N0cmVhbXNbc3RyZWFtX2lkXQorICAgICAgICBleGNlcHQgS2V5RXJyb3I6
CisgICAgICAgICAgICBzZWxmLl9jcmVhdGVfc3RyZWFtKHN0cmVhbV9pZD1zdHJlYW1faWQpCisg
ICAgICAgICAgICBzdHJlYW0gPSBzZWxmLl9zdHJlYW1zW3N0cmVhbV9pZF0KKyAgICAgICAgc3Ry
ZWFtLndyaXRlKGRhdGEsIGVuZF9zdHJlYW09ZW5kX3N0cmVhbSkKKworICAgICMgUHJpdmF0ZQor
CisgICAgZGVmIF9hbHBuX2hhbmRsZXIoc2VsZiwgYWxwbl9wcm90b2NvbDogc3RyKSAtPiBOb25l
OgorICAgICAgICAiIiIKKyAgICAgICAgQ2FsbGJhY2sgd2hpY2ggaXMgaW52b2tlZCBieSB0aGUg
VExTIGVuZ2luZSB3aGVuIEFMUE4gbmVnb3RpYXRpb24gY29tcGxldGVzLgorICAgICAgICAiIiIK
KyAgICAgICAgc2VsZi5fZXZlbnRzLmFwcGVuZChldmVudHMuUHJvdG9jb2xOZWdvdGlhdGVkKGFs
cG5fcHJvdG9jb2w9YWxwbl9wcm90b2NvbCkpCisKKyAgICBkZWYgX2Fzc2VydF9zdHJlYW1fY2Fu
X3JlY2VpdmUoc2VsZiwgZnJhbWVfdHlwZTogaW50LCBzdHJlYW1faWQ6IGludCkgLT4gTm9uZToK
KyAgICAgICAgIiIiCisgICAgICAgIENoZWNrIHRoZSBzcGVjaWZpZWQgc3RyZWFtIGNhbiByZWNl
aXZlIGRhdGEgb3IgcmFpc2VzIGEgUXVpY0Nvbm5lY3Rpb25FcnJvci4KKyAgICAgICAgIiIiCisg
ICAgICAgIGlmIG5vdCBzZWxmLl9zdHJlYW1fY2FuX3JlY2VpdmUoc3RyZWFtX2lkKToKKyAgICAg
ICAgICAgIHJhaXNlIFF1aWNDb25uZWN0aW9uRXJyb3IoCisgICAgICAgICAgICAgICAgZXJyb3Jf
Y29kZT1RdWljRXJyb3JDb2RlLlNUUkVBTV9TVEFURV9FUlJPUiwKKyAgICAgICAgICAgICAgICBm
cmFtZV90eXBlPWZyYW1lX3R5cGUsCisgICAgICAgICAgICAgICAgcmVhc29uX3BocmFzZT0iU3Ry
ZWFtIGlzIHNlbmQtb25seSIsCisgICAgICAgICAgICApCisKKyAgICBkZWYgX2Fzc2VydF9zdHJl
YW1fY2FuX3NlbmQoc2VsZiwgZnJhbWVfdHlwZTogaW50LCBzdHJlYW1faWQ6IGludCkgLT4gTm9u
ZToKKyAgICAgICAgIiIiCisgICAgICAgIENoZWNrIHRoZSBzcGVjaWZpZWQgc3RyZWFtIGNhbiBz
ZW5kIGRhdGEgb3IgcmFpc2VzIGEgUXVpY0Nvbm5lY3Rpb25FcnJvci4KKyAgICAgICAgIiIiCisg
ICAgICAgIGlmIG5vdCBzZWxmLl9zdHJlYW1fY2FuX3NlbmQoc3RyZWFtX2lkKToKKyAgICAgICAg
ICAgIHJhaXNlIFF1aWNDb25uZWN0aW9uRXJyb3IoCisgICAgICAgICAgICAgICAgZXJyb3JfY29k
ZT1RdWljRXJyb3JDb2RlLlNUUkVBTV9TVEFURV9FUlJPUiwKKyAgICAgICAgICAgICAgICBmcmFt
ZV90eXBlPWZyYW1lX3R5cGUsCisgICAgICAgICAgICAgICAgcmVhc29uX3BocmFzZT0iU3RyZWFt
IGlzIHJlY2VpdmUtb25seSIsCisgICAgICAgICAgICApCisKKyAgICBkZWYgX2Nsb3NlX2JlZ2lu
KHNlbGYsIGlzX2luaXRpYXRvcjogYm9vbCwgbm93OiBmbG9hdCkgLT4gTm9uZToKKyAgICAgICAg
IiIiCisgICAgICAgIEJlZ2luIHRoZSBjbG9zZSBwcm9jZWR1cmUuCisgICAgICAgICIiIgorICAg
ICAgICBzZWxmLl9jbG9zZV9hdCA9IG5vdyArIDMgKiBzZWxmLl9sb3NzLmdldF9wcm9iZV90aW1l
b3V0KCkKKyAgICAgICAgaWYgaXNfaW5pdGlhdG9yOgorICAgICAgICAgICAgc2VsZi5fc2V0X3N0
YXRlKFF1aWNDb25uZWN0aW9uU3RhdGUuQ0xPU0lORykKKyAgICAgICAgZWxzZToKKyAgICAgICAg
ICAgIHNlbGYuX3NldF9zdGF0ZShRdWljQ29ubmVjdGlvblN0YXRlLkRSQUlOSU5HKQorCisgICAg
ZGVmIF9jbG9zZV9lbmQoc2VsZikgLT4gTm9uZToKKyAgICAgICAgIiIiCisgICAgICAgIEVuZCB0
aGUgY2xvc2UgcHJvY2VkdXJlLgorICAgICAgICAiIiIKKyAgICAgICAgc2VsZi5fY2xvc2VfYXQg
PSBOb25lCisgICAgICAgIGZvciBlcG9jaCBpbiBzZWxmLl9zcGFjZXMua2V5cygpOgorICAgICAg
ICAgICAgc2VsZi5fZGlzY2FyZF9lcG9jaChlcG9jaCkKKyAgICAgICAgc2VsZi5fZXZlbnRzLmFw
cGVuZChzZWxmLl9jbG9zZV9ldmVudCkKKyAgICAgICAgc2VsZi5fc2V0X3N0YXRlKFF1aWNDb25u
ZWN0aW9uU3RhdGUuVEVSTUlOQVRFRCkKKworICAgICAgICAjIHNpZ25hbCBsb2cgZW5kCisgICAg
ICAgIGlmIHNlbGYuX3F1aWNfbG9nZ2VyIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgc2VsZi5f
Y29uZmlndXJhdGlvbi5xdWljX2xvZ2dlci5lbmRfdHJhY2Uoc2VsZi5fcXVpY19sb2dnZXIpCisg
ICAgICAgICAgICBzZWxmLl9xdWljX2xvZ2dlciA9IE5vbmUKKworICAgIGRlZiBfY29ubmVjdChz
ZWxmLCBub3c6IGZsb2F0KSAtPiBOb25lOgorICAgICAgICAiIiIKKyAgICAgICAgU3RhcnQgdGhl
IGNsaWVudCBoYW5kc2hha2UuCisgICAgICAgICIiIgorICAgICAgICBhc3NlcnQgc2VsZi5faXNf
Y2xpZW50CisKKyAgICAgICAgc2VsZi5fY2xvc2VfYXQgPSBub3cgKyBzZWxmLl9jb25maWd1cmF0
aW9uLmlkbGVfdGltZW91dAorICAgICAgICBzZWxmLl9pbml0aWFsaXplKHNlbGYuX3BlZXJfY2lk
KQorCisgICAgICAgIHNlbGYudGxzLmhhbmRsZV9tZXNzYWdlKGIiIiwgc2VsZi5fY3J5cHRvX2J1
ZmZlcnMpCisgICAgICAgIHNlbGYuX3B1c2hfY3J5cHRvX2RhdGEoKQorCisgICAgZGVmIF9jcmVh
dGVfc3RyZWFtKHNlbGYsIHN0cmVhbV9pZDogaW50KSAtPiBRdWljU3RyZWFtOgorICAgICAgICAi
IiIKKyAgICAgICAgQ3JlYXRlIGEgUVVJQyBzdHJlYW0gaW4gb3JkZXIgdG8gc2VuZCBkYXRhIHRv
IHRoZSBwZWVyLgorICAgICAgICAiIiIKKyAgICAgICAgIyBkZXRlcm1pbmUgbGltaXRzCisgICAg
ICAgIGlmIHN0cmVhbV9pc191bmlkaXJlY3Rpb25hbChzdHJlYW1faWQpOgorICAgICAgICAgICAg
bWF4X3N0cmVhbV9kYXRhX2xvY2FsID0gMAorICAgICAgICAgICAgbWF4X3N0cmVhbV9kYXRhX3Jl
bW90ZSA9IHNlbGYuX3JlbW90ZV9tYXhfc3RyZWFtX2RhdGFfdW5pCisgICAgICAgICAgICBtYXhf
c3RyZWFtcyA9IHNlbGYuX3JlbW90ZV9tYXhfc3RyZWFtc191bmkKKyAgICAgICAgICAgIHN0cmVh
bXNfYmxvY2tlZCA9IHNlbGYuX3N0cmVhbXNfYmxvY2tlZF91bmkKKyAgICAgICAgZWxzZToKKyAg
ICAgICAgICAgIG1heF9zdHJlYW1fZGF0YV9sb2NhbCA9IHNlbGYuX2xvY2FsX21heF9zdHJlYW1f
ZGF0YV9iaWRpX2xvY2FsCisgICAgICAgICAgICBtYXhfc3RyZWFtX2RhdGFfcmVtb3RlID0gc2Vs
Zi5fcmVtb3RlX21heF9zdHJlYW1fZGF0YV9iaWRpX3JlbW90ZQorICAgICAgICAgICAgbWF4X3N0
cmVhbXMgPSBzZWxmLl9yZW1vdGVfbWF4X3N0cmVhbXNfYmlkaQorICAgICAgICAgICAgc3RyZWFt
c19ibG9ja2VkID0gc2VsZi5fc3RyZWFtc19ibG9ja2VkX2JpZGkKKworICAgICAgICAjIGNyZWF0
ZSBzdHJlYW0KKyAgICAgICAgc3RyZWFtID0gc2VsZi5fc3RyZWFtc1tzdHJlYW1faWRdID0gUXVp
Y1N0cmVhbSgKKyAgICAgICAgICAgIHN0cmVhbV9pZD1zdHJlYW1faWQsCisgICAgICAgICAgICBt
YXhfc3RyZWFtX2RhdGFfbG9jYWw9bWF4X3N0cmVhbV9kYXRhX2xvY2FsLAorICAgICAgICAgICAg
bWF4X3N0cmVhbV9kYXRhX3JlbW90ZT1tYXhfc3RyZWFtX2RhdGFfcmVtb3RlLAorICAgICAgICAp
CisKKyAgICAgICAgIyBtYXJrIHN0cmVhbSBhcyBibG9ja2VkIGlmIG5lZWRlZAorICAgICAgICBp
ZiBzdHJlYW1faWQgLy8gNCA+PSBtYXhfc3RyZWFtczoKKyAgICAgICAgICAgIHN0cmVhbS5pc19i
bG9ja2VkID0gVHJ1ZQorICAgICAgICAgICAgc3RyZWFtc19ibG9ja2VkLmFwcGVuZChzdHJlYW0p
CisgICAgICAgICAgICBzZWxmLl9zdHJlYW1zX2Jsb2NrZWRfcGVuZGluZyA9IFRydWUKKworICAg
ICAgICByZXR1cm4gc3RyZWFtCisKKyAgICBkZWYgX2Rpc2NhcmRfZXBvY2goc2VsZiwgZXBvY2g6
IHRscy5FcG9jaCkgLT4gTm9uZToKKyAgICAgICAgc2VsZi5fbG9nZ2VyLmRlYnVnKCJEaXNjYXJk
aW5nIGVwb2NoICVzIiwgZXBvY2gpCisgICAgICAgIHNlbGYuX2NyeXB0b3NbZXBvY2hdLnRlYXJk
b3duKCkKKyAgICAgICAgc2VsZi5fbG9zcy5kaXNjYXJkX3NwYWNlKHNlbGYuX3NwYWNlc1tlcG9j
aF0pCisgICAgICAgIHNlbGYuX3NwYWNlc1tlcG9jaF0uZGlzY2FyZGVkID0gVHJ1ZQorCisgICAg
ZGVmIF9maW5kX25ldHdvcmtfcGF0aChzZWxmLCBhZGRyOiBOZXR3b3JrQWRkcmVzcykgLT4gUXVp
Y05ldHdvcmtQYXRoOgorICAgICAgICAjIGNoZWNrIGV4aXN0aW5nIG5ldHdvcmsgcGF0aHMKKyAg
ICAgICAgZm9yIGlkeCwgbmV0d29ya19wYXRoIGluIGVudW1lcmF0ZShzZWxmLl9uZXR3b3JrX3Bh
dGhzKToKKyAgICAgICAgICAgIGlmIG5ldHdvcmtfcGF0aC5hZGRyID09IGFkZHI6CisgICAgICAg
ICAgICAgICAgcmV0dXJuIG5ldHdvcmtfcGF0aAorCisgICAgICAgICMgbmV3IG5ldHdvcmsgcGF0
aAorICAgICAgICBuZXR3b3JrX3BhdGggPSBRdWljTmV0d29ya1BhdGgoYWRkcikKKyAgICAgICAg
c2VsZi5fbG9nZ2VyLmRlYnVnKCJOZXR3b3JrIHBhdGggJXMgZGlzY292ZXJlZCIsIG5ldHdvcmtf
cGF0aC5hZGRyKQorICAgICAgICByZXR1cm4gbmV0d29ya19wYXRoCisKKyAgICBkZWYgX2dldF9v
cl9jcmVhdGVfc3RyZWFtKHNlbGYsIGZyYW1lX3R5cGU6IGludCwgc3RyZWFtX2lkOiBpbnQpIC0+
IFF1aWNTdHJlYW06CisgICAgICAgICIiIgorICAgICAgICBHZXQgb3IgY3JlYXRlIGEgc3RyZWFt
IGluIHJlc3BvbnNlIHRvIGEgcmVjZWl2ZWQgZnJhbWUuCisgICAgICAgICIiIgorICAgICAgICBz
dHJlYW0gPSBzZWxmLl9zdHJlYW1zLmdldChzdHJlYW1faWQsIE5vbmUpCisgICAgICAgIGlmIHN0
cmVhbSBpcyBOb25lOgorICAgICAgICAgICAgIyBjaGVjayBpbml0aWF0b3IKKyAgICAgICAgICAg
IGlmIHN0cmVhbV9pc19jbGllbnRfaW5pdGlhdGVkKHN0cmVhbV9pZCkgPT0gc2VsZi5faXNfY2xp
ZW50OgorICAgICAgICAgICAgICAgIHJhaXNlIFF1aWNDb25uZWN0aW9uRXJyb3IoCisgICAgICAg
ICAgICAgICAgICAgIGVycm9yX2NvZGU9UXVpY0Vycm9yQ29kZS5TVFJFQU1fU1RBVEVfRVJST1Is
CisgICAgICAgICAgICAgICAgICAgIGZyYW1lX3R5cGU9ZnJhbWVfdHlwZSwKKyAgICAgICAgICAg
ICAgICAgICAgcmVhc29uX3BocmFzZT0iV3Jvbmcgc3RyZWFtIGluaXRpYXRvciIsCisgICAgICAg
ICAgICAgICAgKQorCisgICAgICAgICAgICAjIGRldGVybWluZSBsaW1pdHMKKyAgICAgICAgICAg
IGlmIHN0cmVhbV9pc191bmlkaXJlY3Rpb25hbChzdHJlYW1faWQpOgorICAgICAgICAgICAgICAg
IG1heF9zdHJlYW1fZGF0YV9sb2NhbCA9IHNlbGYuX2xvY2FsX21heF9zdHJlYW1fZGF0YV91bmkK
KyAgICAgICAgICAgICAgICBtYXhfc3RyZWFtX2RhdGFfcmVtb3RlID0gMAorICAgICAgICAgICAg
ICAgIG1heF9zdHJlYW1zID0gc2VsZi5fbG9jYWxfbWF4X3N0cmVhbXNfdW5pCisgICAgICAgICAg
ICBlbHNlOgorICAgICAgICAgICAgICAgIG1heF9zdHJlYW1fZGF0YV9sb2NhbCA9IHNlbGYuX2xv
Y2FsX21heF9zdHJlYW1fZGF0YV9iaWRpX3JlbW90ZQorICAgICAgICAgICAgICAgIG1heF9zdHJl
YW1fZGF0YV9yZW1vdGUgPSBzZWxmLl9yZW1vdGVfbWF4X3N0cmVhbV9kYXRhX2JpZGlfbG9jYWwK
KyAgICAgICAgICAgICAgICBtYXhfc3RyZWFtcyA9IHNlbGYuX2xvY2FsX21heF9zdHJlYW1zX2Jp
ZGkKKworICAgICAgICAgICAgIyBjaGVjayBtYXggc3RyZWFtcworICAgICAgICAgICAgaWYgc3Ry
ZWFtX2lkIC8vIDQgPj0gbWF4X3N0cmVhbXM6CisgICAgICAgICAgICAgICAgcmFpc2UgUXVpY0Nv
bm5lY3Rpb25FcnJvcigKKyAgICAgICAgICAgICAgICAgICAgZXJyb3JfY29kZT1RdWljRXJyb3JD
b2RlLlNUUkVBTV9MSU1JVF9FUlJPUiwKKyAgICAgICAgICAgICAgICAgICAgZnJhbWVfdHlwZT1m
cmFtZV90eXBlLAorICAgICAgICAgICAgICAgICAgICByZWFzb25fcGhyYXNlPSJUb28gbWFueSBz
dHJlYW1zIG9wZW4iLAorICAgICAgICAgICAgICAgICkKKworICAgICAgICAgICAgIyBjcmVhdGUg
c3RyZWFtCisgICAgICAgICAgICBzZWxmLl9sb2dnZXIuZGVidWcoIlN0cmVhbSAlZCBjcmVhdGVk
IGJ5IHBlZXIiICUgc3RyZWFtX2lkKQorICAgICAgICAgICAgc3RyZWFtID0gc2VsZi5fc3RyZWFt
c1tzdHJlYW1faWRdID0gUXVpY1N0cmVhbSgKKyAgICAgICAgICAgICAgICBzdHJlYW1faWQ9c3Ry
ZWFtX2lkLAorICAgICAgICAgICAgICAgIG1heF9zdHJlYW1fZGF0YV9sb2NhbD1tYXhfc3RyZWFt
X2RhdGFfbG9jYWwsCisgICAgICAgICAgICAgICAgbWF4X3N0cmVhbV9kYXRhX3JlbW90ZT1tYXhf
c3RyZWFtX2RhdGFfcmVtb3RlLAorICAgICAgICAgICAgKQorICAgICAgICByZXR1cm4gc3RyZWFt
CisKKyAgICBkZWYgX2hhbmRsZV9zZXNzaW9uX3RpY2tldChzZWxmLCBzZXNzaW9uX3RpY2tldDog
dGxzLlNlc3Npb25UaWNrZXQpIC0+IE5vbmU6CisgICAgICAgIGlmICgKKyAgICAgICAgICAgIHNl
c3Npb25fdGlja2V0Lm1heF9lYXJseV9kYXRhX3NpemUgaXMgbm90IE5vbmUKKyAgICAgICAgICAg
IGFuZCBzZXNzaW9uX3RpY2tldC5tYXhfZWFybHlfZGF0YV9zaXplICE9IE1BWF9FQVJMWV9EQVRB
CisgICAgICAgICk6CisgICAgICAgICAgICByYWlzZSBRdWljQ29ubmVjdGlvbkVycm9yKAorICAg
ICAgICAgICAgICAgIGVycm9yX2NvZGU9UXVpY0Vycm9yQ29kZS5QUk9UT0NPTF9WSU9MQVRJT04s
CisgICAgICAgICAgICAgICAgZnJhbWVfdHlwZT1RdWljRnJhbWVUeXBlLkNSWVBUTywKKyAgICAg
ICAgICAgICAgICByZWFzb25fcGhyYXNlPSJJbnZhbGlkIG1heF9lYXJseV9kYXRhIHZhbHVlICVz
IgorICAgICAgICAgICAgICAgICUgc2Vzc2lvbl90aWNrZXQubWF4X2Vhcmx5X2RhdGFfc2l6ZSwK
KyAgICAgICAgICAgICkKKyAgICAgICAgc2VsZi5fc2Vzc2lvbl90aWNrZXRfaGFuZGxlcihzZXNz
aW9uX3RpY2tldCkKKworICAgIGRlZiBfaW5pdGlhbGl6ZShzZWxmLCBwZWVyX2NpZDogYnl0ZXMp
IC0+IE5vbmU6CisgICAgICAgICMgVExTCisgICAgICAgIHNlbGYudGxzID0gdGxzLkNvbnRleHQo
CisgICAgICAgICAgICBhbHBuX3Byb3RvY29scz1zZWxmLl9jb25maWd1cmF0aW9uLmFscG5fcHJv
dG9jb2xzLAorICAgICAgICAgICAgY2FkYXRhPXNlbGYuX2NvbmZpZ3VyYXRpb24uY2FkYXRhLAor
ICAgICAgICAgICAgY2FmaWxlPXNlbGYuX2NvbmZpZ3VyYXRpb24uY2FmaWxlLAorICAgICAgICAg
ICAgY2FwYXRoPXNlbGYuX2NvbmZpZ3VyYXRpb24uY2FwYXRoLAorICAgICAgICAgICAgaXNfY2xp
ZW50PXNlbGYuX2lzX2NsaWVudCwKKyAgICAgICAgICAgIGxvZ2dlcj1zZWxmLl9sb2dnZXIsCisg
ICAgICAgICAgICBtYXhfZWFybHlfZGF0YT1Ob25lIGlmIHNlbGYuX2lzX2NsaWVudCBlbHNlIE1B
WF9FQVJMWV9EQVRBLAorICAgICAgICAgICAgc2VydmVyX25hbWU9c2VsZi5fY29uZmlndXJhdGlv
bi5zZXJ2ZXJfbmFtZSwKKyAgICAgICAgICAgIHZlcmlmeV9tb2RlPXNlbGYuX2NvbmZpZ3VyYXRp
b24udmVyaWZ5X21vZGUsCisgICAgICAgICkKKyAgICAgICAgc2VsZi50bHMuY2VydGlmaWNhdGUg
PSBzZWxmLl9jb25maWd1cmF0aW9uLmNlcnRpZmljYXRlCisgICAgICAgIHNlbGYudGxzLmNlcnRp
ZmljYXRlX2NoYWluID0gc2VsZi5fY29uZmlndXJhdGlvbi5jZXJ0aWZpY2F0ZV9jaGFpbgorICAg
ICAgICBzZWxmLnRscy5jZXJ0aWZpY2F0ZV9wcml2YXRlX2tleSA9IHNlbGYuX2NvbmZpZ3VyYXRp
b24ucHJpdmF0ZV9rZXkKKyAgICAgICAgc2VsZi50bHMuaGFuZHNoYWtlX2V4dGVuc2lvbnMgPSBb
CisgICAgICAgICAgICAoCisgICAgICAgICAgICAgICAgdGxzLkV4dGVuc2lvblR5cGUuUVVJQ19U
UkFOU1BPUlRfUEFSQU1FVEVSUywKKyAgICAgICAgICAgICAgICBzZWxmLl9zZXJpYWxpemVfdHJh
bnNwb3J0X3BhcmFtZXRlcnMoKSwKKyAgICAgICAgICAgICkKKyAgICAgICAgXQorCisgICAgICAg
ICMgVExTIHNlc3Npb24gcmVzdW1wdGlvbgorICAgICAgICBzZXNzaW9uX3RpY2tldCA9IHNlbGYu
X2NvbmZpZ3VyYXRpb24uc2Vzc2lvbl90aWNrZXQKKyAgICAgICAgaWYgKAorICAgICAgICAgICAg
c2VsZi5faXNfY2xpZW50CisgICAgICAgICAgICBhbmQgc2Vzc2lvbl90aWNrZXQgaXMgbm90IE5v
bmUKKyAgICAgICAgICAgIGFuZCBzZXNzaW9uX3RpY2tldC5pc192YWxpZAorICAgICAgICAgICAg
YW5kIHNlc3Npb25fdGlja2V0LnNlcnZlcl9uYW1lID09IHNlbGYuX2NvbmZpZ3VyYXRpb24uc2Vy
dmVyX25hbWUKKyAgICAgICAgKToKKyAgICAgICAgICAgIHNlbGYudGxzLnNlc3Npb25fdGlja2V0
ID0gc2VsZi5fY29uZmlndXJhdGlvbi5zZXNzaW9uX3RpY2tldAorCisgICAgICAgICAgICAjIHBh
cnNlIHNhdmVkIFFVSUMgdHJhbnNwb3J0IHBhcmFtZXRlcnMgLSBmb3IgMC1SVFQKKyAgICAgICAg
ICAgIGlmIHNlc3Npb25fdGlja2V0Lm1heF9lYXJseV9kYXRhX3NpemUgPT0gTUFYX0VBUkxZX0RB
VEE6CisgICAgICAgICAgICAgICAgZm9yIGV4dF90eXBlLCBleHRfZGF0YSBpbiBzZXNzaW9uX3Rp
Y2tldC5vdGhlcl9leHRlbnNpb25zOgorICAgICAgICAgICAgICAgICAgICBpZiBleHRfdHlwZSA9
PSB0bHMuRXh0ZW5zaW9uVHlwZS5RVUlDX1RSQU5TUE9SVF9QQVJBTUVURVJTOgorICAgICAgICAg
ICAgICAgICAgICAgICAgc2VsZi5fcGFyc2VfdHJhbnNwb3J0X3BhcmFtZXRlcnMoCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZXh0X2RhdGEsIGZyb21fc2Vzc2lvbl90aWNrZXQ9VHJ1ZQor
ICAgICAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsK
KworICAgICAgICAjIFRMUyBjYWxsYmFja3MKKyAgICAgICAgc2VsZi50bHMuYWxwbl9jYiA9IHNl
bGYuX2FscG5faGFuZGxlcgorICAgICAgICBpZiBzZWxmLl9zZXNzaW9uX3RpY2tldF9mZXRjaGVy
IGlzIG5vdCBOb25lOgorICAgICAgICAgICAgc2VsZi50bHMuZ2V0X3Nlc3Npb25fdGlja2V0X2Ni
ID0gc2VsZi5fc2Vzc2lvbl90aWNrZXRfZmV0Y2hlcgorICAgICAgICBpZiBzZWxmLl9zZXNzaW9u
X3RpY2tldF9oYW5kbGVyIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgc2VsZi50bHMubmV3X3Nl
c3Npb25fdGlja2V0X2NiID0gc2VsZi5faGFuZGxlX3Nlc3Npb25fdGlja2V0CisgICAgICAgIHNl
bGYudGxzLnVwZGF0ZV90cmFmZmljX2tleV9jYiA9IHNlbGYuX3VwZGF0ZV90cmFmZmljX2tleQor
CisgICAgICAgICMgcGFja2V0IHNwYWNlcworICAgICAgICBzZWxmLl9jcnlwdG9zID0geworICAg
ICAgICAgICAgdGxzLkVwb2NoLklOSVRJQUw6IENyeXB0b1BhaXIoKSwKKyAgICAgICAgICAgIHRs
cy5FcG9jaC5aRVJPX1JUVDogQ3J5cHRvUGFpcigpLAorICAgICAgICAgICAgdGxzLkVwb2NoLkhB
TkRTSEFLRTogQ3J5cHRvUGFpcigpLAorICAgICAgICAgICAgdGxzLkVwb2NoLk9ORV9SVFQ6IENy
eXB0b1BhaXIoKSwKKyAgICAgICAgfQorICAgICAgICBzZWxmLl9jcnlwdG9fYnVmZmVycyA9IHsK
KyAgICAgICAgICAgIHRscy5FcG9jaC5JTklUSUFMOiBCdWZmZXIoY2FwYWNpdHk9NDA5NiksCisg
ICAgICAgICAgICB0bHMuRXBvY2guSEFORFNIQUtFOiBCdWZmZXIoY2FwYWNpdHk9NDA5NiksCisg
ICAgICAgICAgICB0bHMuRXBvY2guT05FX1JUVDogQnVmZmVyKGNhcGFjaXR5PTQwOTYpLAorICAg
ICAgICB9CisgICAgICAgIHNlbGYuX2NyeXB0b19zdHJlYW1zID0geworICAgICAgICAgICAgdGxz
LkVwb2NoLklOSVRJQUw6IFF1aWNTdHJlYW0oKSwKKyAgICAgICAgICAgIHRscy5FcG9jaC5IQU5E
U0hBS0U6IFF1aWNTdHJlYW0oKSwKKyAgICAgICAgICAgIHRscy5FcG9jaC5PTkVfUlRUOiBRdWlj
U3RyZWFtKCksCisgICAgICAgIH0KKyAgICAgICAgc2VsZi5fc3BhY2VzID0geworICAgICAgICAg
ICAgdGxzLkVwb2NoLklOSVRJQUw6IFF1aWNQYWNrZXRTcGFjZSgpLAorICAgICAgICAgICAgdGxz
LkVwb2NoLkhBTkRTSEFLRTogUXVpY1BhY2tldFNwYWNlKCksCisgICAgICAgICAgICB0bHMuRXBv
Y2guT05FX1JUVDogUXVpY1BhY2tldFNwYWNlKCksCisgICAgICAgIH0KKworICAgICAgICBzZWxm
Ll9jcnlwdG9zW3Rscy5FcG9jaC5JTklUSUFMXS5zZXR1cF9pbml0aWFsKAorICAgICAgICAgICAg
Y2lkPXBlZXJfY2lkLCBpc19jbGllbnQ9c2VsZi5faXNfY2xpZW50LCB2ZXJzaW9uPXNlbGYuX3Zl
cnNpb24KKyAgICAgICAgKQorCisgICAgICAgIHNlbGYuX2xvc3Muc3BhY2VzID0gbGlzdChzZWxm
Ll9zcGFjZXMudmFsdWVzKCkpCisgICAgICAgIHNlbGYuX3BhY2tldF9udW1iZXIgPSAwCisKKyAg
ICBkZWYgX2hhbmRsZV9hY2tfZnJhbWUoCisgICAgICAgIHNlbGYsIGNvbnRleHQ6IFF1aWNSZWNl
aXZlQ29udGV4dCwgZnJhbWVfdHlwZTogaW50LCBidWY6IEJ1ZmZlcgorICAgICkgLT4gTm9uZToK
KyAgICAgICAgIiIiCisgICAgICAgIEhhbmRsZSBhbiBBQ0sgZnJhbWUuCisgICAgICAgICIiIgor
ICAgICAgICBhY2tfcmFuZ2VzZXQsIGFja19kZWxheV9lbmNvZGVkID0gcHVsbF9hY2tfZnJhbWUo
YnVmKQorICAgICAgICBpZiBmcmFtZV90eXBlID09IFF1aWNGcmFtZVR5cGUuQUNLX0VDTjoKKyAg
ICAgICAgICAgIGJ1Zi5wdWxsX3VpbnRfdmFyKCkKKyAgICAgICAgICAgIGJ1Zi5wdWxsX3VpbnRf
dmFyKCkKKyAgICAgICAgICAgIGJ1Zi5wdWxsX3VpbnRfdmFyKCkKKyAgICAgICAgYWNrX2RlbGF5
ID0gKGFja19kZWxheV9lbmNvZGVkIDw8IHNlbGYuX3JlbW90ZV9hY2tfZGVsYXlfZXhwb25lbnQp
IC8gMTAwMDAwMAorCisgICAgICAgICMgbG9nIGZyYW1lCisgICAgICAgIGlmIHNlbGYuX3F1aWNf
bG9nZ2VyIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgY29udGV4dC5xdWljX2xvZ2dlcl9mcmFt
ZXMuYXBwZW5kKAorICAgICAgICAgICAgICAgIHNlbGYuX3F1aWNfbG9nZ2VyLmVuY29kZV9hY2tf
ZnJhbWUoYWNrX3Jhbmdlc2V0LCBhY2tfZGVsYXkpCisgICAgICAgICAgICApCisKKyAgICAgICAg
c2VsZi5fbG9zcy5vbl9hY2tfcmVjZWl2ZWQoCisgICAgICAgICAgICBzcGFjZT1zZWxmLl9zcGFj
ZXNbY29udGV4dC5lcG9jaF0sCisgICAgICAgICAgICBhY2tfcmFuZ2VzZXQ9YWNrX3Jhbmdlc2V0
LAorICAgICAgICAgICAgYWNrX2RlbGF5PWFja19kZWxheSwKKyAgICAgICAgICAgIG5vdz1jb250
ZXh0LnRpbWUsCisgICAgICAgICkKKworICAgIGRlZiBfaGFuZGxlX2Nvbm5lY3Rpb25fY2xvc2Vf
ZnJhbWUoCisgICAgICAgIHNlbGYsIGNvbnRleHQ6IFF1aWNSZWNlaXZlQ29udGV4dCwgZnJhbWVf
dHlwZTogaW50LCBidWY6IEJ1ZmZlcgorICAgICkgLT4gTm9uZToKKyAgICAgICAgIiIiCisgICAg
ICAgIEhhbmRsZSBhIENPTk5FQ1RJT05fQ0xPU0UgZnJhbWUuCisgICAgICAgICIiIgorICAgICAg
ICBlcnJvcl9jb2RlID0gYnVmLnB1bGxfdWludF92YXIoKQorICAgICAgICBpZiBmcmFtZV90eXBl
ID09IFF1aWNGcmFtZVR5cGUuVFJBTlNQT1JUX0NMT1NFOgorICAgICAgICAgICAgZnJhbWVfdHlw
ZSA9IGJ1Zi5wdWxsX3VpbnRfdmFyKCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGZyYW1l
X3R5cGUgPSBOb25lCisgICAgICAgIHJlYXNvbl9sZW5ndGggPSBidWYucHVsbF91aW50X3Zhcigp
CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHJlYXNvbl9waHJhc2UgPSBidWYucHVsbF9ieXRl
cyhyZWFzb25fbGVuZ3RoKS5kZWNvZGUoInV0ZjgiKQorICAgICAgICBleGNlcHQgVW5pY29kZURl
Y29kZUVycm9yOgorICAgICAgICAgICAgcmVhc29uX3BocmFzZSA9ICIiCisKKyAgICAgICAgIyBs
b2cgZnJhbWUKKyAgICAgICAgaWYgc2VsZi5fcXVpY19sb2dnZXIgaXMgbm90IE5vbmU6CisgICAg
ICAgICAgICBjb250ZXh0LnF1aWNfbG9nZ2VyX2ZyYW1lcy5hcHBlbmQoCisgICAgICAgICAgICAg
ICAgc2VsZi5fcXVpY19sb2dnZXIuZW5jb2RlX2Nvbm5lY3Rpb25fY2xvc2VfZnJhbWUoCisgICAg
ICAgICAgICAgICAgICAgIGVycm9yX2NvZGU9ZXJyb3JfY29kZSwKKyAgICAgICAgICAgICAgICAg
ICAgZnJhbWVfdHlwZT1mcmFtZV90eXBlLAorICAgICAgICAgICAgICAgICAgICByZWFzb25fcGhy
YXNlPXJlYXNvbl9waHJhc2UsCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgKQorCisg
ICAgICAgIHNlbGYuX2xvZ2dlci5pbmZvKAorICAgICAgICAgICAgIkNvbm5lY3Rpb24gY2xvc2Ug
Y29kZSAweCVYLCByZWFzb24gJXMiLCBlcnJvcl9jb2RlLCByZWFzb25fcGhyYXNlCisgICAgICAg
ICkKKyAgICAgICAgc2VsZi5fY2xvc2VfZXZlbnQgPSBldmVudHMuQ29ubmVjdGlvblRlcm1pbmF0
ZWQoCisgICAgICAgICAgICBlcnJvcl9jb2RlPWVycm9yX2NvZGUsIGZyYW1lX3R5cGU9ZnJhbWVf
dHlwZSwgcmVhc29uX3BocmFzZT1yZWFzb25fcGhyYXNlCisgICAgICAgICkKKyAgICAgICAgc2Vs
Zi5fY2xvc2VfYmVnaW4oaXNfaW5pdGlhdG9yPUZhbHNlLCBub3c9Y29udGV4dC50aW1lKQorCisg
ICAgZGVmIF9oYW5kbGVfY3J5cHRvX2ZyYW1lKAorICAgICAgICBzZWxmLCBjb250ZXh0OiBRdWlj
UmVjZWl2ZUNvbnRleHQsIGZyYW1lX3R5cGU6IGludCwgYnVmOiBCdWZmZXIKKyAgICApIC0+IE5v
bmU6CisgICAgICAgICIiIgorICAgICAgICBIYW5kbGUgYSBDUllQVE8gZnJhbWUuCisgICAgICAg
ICIiIgorICAgICAgICBvZmZzZXQgPSBidWYucHVsbF91aW50X3ZhcigpCisgICAgICAgIGxlbmd0
aCA9IGJ1Zi5wdWxsX3VpbnRfdmFyKCkKKyAgICAgICAgaWYgb2Zmc2V0ICsgbGVuZ3RoID4gVUlO
VF9WQVJfTUFYOgorICAgICAgICAgICAgcmFpc2UgUXVpY0Nvbm5lY3Rpb25FcnJvcigKKyAgICAg
ICAgICAgICAgICBlcnJvcl9jb2RlPVF1aWNFcnJvckNvZGUuRlJBTUVfRU5DT0RJTkdfRVJST1Is
CisgICAgICAgICAgICAgICAgZnJhbWVfdHlwZT1mcmFtZV90eXBlLAorICAgICAgICAgICAgICAg
IHJlYXNvbl9waHJhc2U9Im9mZnNldCArIGxlbmd0aCBjYW5ub3QgZXhjZWVkIDJeNjIgLSAxIiwK
KyAgICAgICAgICAgICkKKyAgICAgICAgZnJhbWUgPSBRdWljU3RyZWFtRnJhbWUob2Zmc2V0PW9m
ZnNldCwgZGF0YT1idWYucHVsbF9ieXRlcyhsZW5ndGgpKQorCisgICAgICAgICMgbG9nIGZyYW1l
CisgICAgICAgIGlmIHNlbGYuX3F1aWNfbG9nZ2VyIGlzIG5vdCBOb25lOgorICAgICAgICAgICAg
Y29udGV4dC5xdWljX2xvZ2dlcl9mcmFtZXMuYXBwZW5kKAorICAgICAgICAgICAgICAgIHNlbGYu
X3F1aWNfbG9nZ2VyLmVuY29kZV9jcnlwdG9fZnJhbWUoZnJhbWUpCisgICAgICAgICAgICApCisK
KyAgICAgICAgc3RyZWFtID0gc2VsZi5fY3J5cHRvX3N0cmVhbXNbY29udGV4dC5lcG9jaF0KKyAg
ICAgICAgZXZlbnQgPSBzdHJlYW0uYWRkX2ZyYW1lKGZyYW1lKQorICAgICAgICBpZiBldmVudCBp
cyBub3QgTm9uZToKKyAgICAgICAgICAgICMgcGFzcyBkYXRhIHRvIFRMUyBsYXllcgorICAgICAg
ICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHNlbGYudGxzLmhhbmRsZV9tZXNzYWdlKGV2ZW50
LmRhdGEsIHNlbGYuX2NyeXB0b19idWZmZXJzKQorICAgICAgICAgICAgICAgIHNlbGYuX3B1c2hf
Y3J5cHRvX2RhdGEoKQorICAgICAgICAgICAgZXhjZXB0IHRscy5BbGVydCBhcyBleGM6CisgICAg
ICAgICAgICAgICAgcmFpc2UgUXVpY0Nvbm5lY3Rpb25FcnJvcigKKyAgICAgICAgICAgICAgICAg
ICAgZXJyb3JfY29kZT1RdWljRXJyb3JDb2RlLkNSWVBUT19FUlJPUiArIGludChleGMuZGVzY3Jp
cHRpb24pLAorICAgICAgICAgICAgICAgICAgICBmcmFtZV90eXBlPWZyYW1lX3R5cGUsCisgICAg
ICAgICAgICAgICAgICAgIHJlYXNvbl9waHJhc2U9c3RyKGV4YyksCisgICAgICAgICAgICAgICAg
KQorCisgICAgICAgICAgICAjIHBhcnNlIHRyYW5zcG9ydCBwYXJhbWV0ZXJzCisgICAgICAgICAg
ICBpZiAoCisgICAgICAgICAgICAgICAgbm90IHNlbGYuX3BhcmFtZXRlcnNfcmVjZWl2ZWQKKyAg
ICAgICAgICAgICAgICBhbmQgc2VsZi50bHMucmVjZWl2ZWRfZXh0ZW5zaW9ucyBpcyBub3QgTm9u
ZQorICAgICAgICAgICAgKToKKyAgICAgICAgICAgICAgICBmb3IgZXh0X3R5cGUsIGV4dF9kYXRh
IGluIHNlbGYudGxzLnJlY2VpdmVkX2V4dGVuc2lvbnM6CisgICAgICAgICAgICAgICAgICAgIGlm
IGV4dF90eXBlID09IHRscy5FeHRlbnNpb25UeXBlLlFVSUNfVFJBTlNQT1JUX1BBUkFNRVRFUlM6
CisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9wYXJzZV90cmFuc3BvcnRfcGFyYW1ldGVy
cyhleHRfZGF0YSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3BhcmFtZXRlcnNfcmVj
ZWl2ZWQgPSBUcnVlCisgICAgICAgICAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAg
ICAgIGFzc2VydCAoCisgICAgICAgICAgICAgICAgICAgIHNlbGYuX3BhcmFtZXRlcnNfcmVjZWl2
ZWQKKyAgICAgICAgICAgICAgICApLCAiTm8gUVVJQyB0cmFuc3BvcnQgcGFyYW1ldGVycyByZWNl
aXZlZCIKKworICAgICAgICAgICAgIyB1cGRhdGUgY3VycmVudCBlcG9jaAorICAgICAgICAgICAg
aWYgbm90IHNlbGYuX2hhbmRzaGFrZV9jb21wbGV0ZSBhbmQgc2VsZi50bHMuc3RhdGUgaW4gWwor
ICAgICAgICAgICAgICAgIHRscy5TdGF0ZS5DTElFTlRfUE9TVF9IQU5EU0hBS0UsCisgICAgICAg
ICAgICAgICAgdGxzLlN0YXRlLlNFUlZFUl9QT1NUX0hBTkRTSEFLRSwKKyAgICAgICAgICAgIF06
CisgICAgICAgICAgICAgICAgc2VsZi5faGFuZHNoYWtlX2NvbXBsZXRlID0gVHJ1ZQorCisgICAg
ICAgICAgICAgICAgIyBmb3Igc2VydmVycywgdGhlIGhhbmRzaGFrZSBpcyBub3cgY29uZmlybWVk
CisgICAgICAgICAgICAgICAgaWYgbm90IHNlbGYuX2lzX2NsaWVudDoKKyAgICAgICAgICAgICAg
ICAgICAgc2VsZi5fZGlzY2FyZF9lcG9jaCh0bHMuRXBvY2guSEFORFNIQUtFKQorICAgICAgICAg
ICAgICAgICAgICBzZWxmLl9oYW5kc2hha2VfY29uZmlybWVkID0gVHJ1ZQorICAgICAgICAgICAg
ICAgICAgICBzZWxmLl9oYW5kc2hha2VfZG9uZV9wZW5kaW5nID0gVHJ1ZQorCisgICAgICAgICAg
ICAgICAgc2VsZi5fbG9zcy5pc19jbGllbnRfd2l0aG91dF8xcnR0ID0gRmFsc2UKKyAgICAgICAg
ICAgICAgICBzZWxmLl9yZXBsZW5pc2hfY29ubmVjdGlvbl9pZHMoKQorICAgICAgICAgICAgICAg
IHNlbGYuX2V2ZW50cy5hcHBlbmQoCisgICAgICAgICAgICAgICAgICAgIGV2ZW50cy5IYW5kc2hh
a2VDb21wbGV0ZWQoCisgICAgICAgICAgICAgICAgICAgICAgICBhbHBuX3Byb3RvY29sPXNlbGYu
dGxzLmFscG5fbmVnb3RpYXRlZCwKKyAgICAgICAgICAgICAgICAgICAgICAgIGVhcmx5X2RhdGFf
YWNjZXB0ZWQ9c2VsZi50bHMuZWFybHlfZGF0YV9hY2NlcHRlZCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHNlc3Npb25fcmVzdW1lZD1zZWxmLnRscy5zZXNzaW9uX3Jlc3VtZWQsCisgICAgICAg
ICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgc2VsZi5f
dW5ibG9ja19zdHJlYW1zKGlzX3VuaWRpcmVjdGlvbmFsPUZhbHNlKQorICAgICAgICAgICAgICAg
IHNlbGYuX3VuYmxvY2tfc3RyZWFtcyhpc191bmlkaXJlY3Rpb25hbD1UcnVlKQorICAgICAgICAg
ICAgICAgIHNlbGYuX2xvZ2dlci5pbmZvKAorICAgICAgICAgICAgICAgICAgICAiQUxQTiBuZWdv
dGlhdGVkIHByb3RvY29sICVzIiwgc2VsZi50bHMuYWxwbl9uZWdvdGlhdGVkCisgICAgICAgICAg
ICAgICAgKQorCisgICAgZGVmIF9oYW5kbGVfZGF0YV9ibG9ja2VkX2ZyYW1lKAorICAgICAgICBz
ZWxmLCBjb250ZXh0OiBRdWljUmVjZWl2ZUNvbnRleHQsIGZyYW1lX3R5cGU6IGludCwgYnVmOiBC
dWZmZXIKKyAgICApIC0+IE5vbmU6CisgICAgICAgICIiIgorICAgICAgICBIYW5kbGUgYSBEQVRB
X0JMT0NLRUQgZnJhbWUuCisgICAgICAgICIiIgorICAgICAgICBsaW1pdCA9IGJ1Zi5wdWxsX3Vp
bnRfdmFyKCkKKworICAgICAgICAjIGxvZyBmcmFtZQorICAgICAgICBpZiBzZWxmLl9xdWljX2xv
Z2dlciBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGNvbnRleHQucXVpY19sb2dnZXJfZnJhbWVz
LmFwcGVuZCgKKyAgICAgICAgICAgICAgICBzZWxmLl9xdWljX2xvZ2dlci5lbmNvZGVfZGF0YV9i
bG9ja2VkX2ZyYW1lKGxpbWl0PWxpbWl0KQorICAgICAgICAgICAgKQorCisgICAgZGVmIF9oYW5k
bGVfZGF0YWdyYW1fZnJhbWUoCisgICAgICAgIHNlbGYsIGNvbnRleHQ6IFF1aWNSZWNlaXZlQ29u
dGV4dCwgZnJhbWVfdHlwZTogaW50LCBidWY6IEJ1ZmZlcgorICAgICkgLT4gTm9uZToKKyAgICAg
ICAgIiIiCisgICAgICAgIEhhbmRsZSBhIERBVEFHUkFNIGZyYW1lLgorICAgICAgICAiIiIKKyAg
ICAgICAgc3RhcnQgPSBidWYudGVsbCgpCisgICAgICAgIGlmIGZyYW1lX3R5cGUgPT0gUXVpY0Zy
YW1lVHlwZS5EQVRBR1JBTV9XSVRIX0xFTkdUSDoKKyAgICAgICAgICAgIGxlbmd0aCA9IGJ1Zi5w
dWxsX3VpbnRfdmFyKCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGxlbmd0aCA9IGJ1Zi5j
YXBhY2l0eSAtIHN0YXJ0CisgICAgICAgIGRhdGEgPSBidWYucHVsbF9ieXRlcyhsZW5ndGgpCisK
KyAgICAgICAgIyBsb2cgZnJhbWUKKyAgICAgICAgaWYgc2VsZi5fcXVpY19sb2dnZXIgaXMgbm90
IE5vbmU6CisgICAgICAgICAgICBjb250ZXh0LnF1aWNfbG9nZ2VyX2ZyYW1lcy5hcHBlbmQoCisg
ICAgICAgICAgICAgICAgc2VsZi5fcXVpY19sb2dnZXIuZW5jb2RlX2RhdGFncmFtX2ZyYW1lKGxl
bmd0aD1sZW5ndGgpCisgICAgICAgICAgICApCisKKyAgICAgICAgIyBjaGVjayBmcmFtZSBpcyBh
bGxvd2VkCisgICAgICAgIGlmICgKKyAgICAgICAgICAgIHNlbGYuX2NvbmZpZ3VyYXRpb24ubWF4
X2RhdGFncmFtX2ZyYW1lX3NpemUgaXMgTm9uZQorICAgICAgICAgICAgb3IgYnVmLnRlbGwoKSAt
IHN0YXJ0ID49IHNlbGYuX2NvbmZpZ3VyYXRpb24ubWF4X2RhdGFncmFtX2ZyYW1lX3NpemUKKyAg
ICAgICAgKToKKyAgICAgICAgICAgIHJhaXNlIFF1aWNDb25uZWN0aW9uRXJyb3IoCisgICAgICAg
ICAgICAgICAgZXJyb3JfY29kZT1RdWljRXJyb3JDb2RlLlBST1RPQ09MX1ZJT0xBVElPTiwKKyAg
ICAgICAgICAgICAgICBmcmFtZV90eXBlPWZyYW1lX3R5cGUsCisgICAgICAgICAgICAgICAgcmVh
c29uX3BocmFzZT0iVW5leHBlY3RlZCBEQVRBR1JBTSBmcmFtZSIsCisgICAgICAgICAgICApCisK
KyAgICAgICAgc2VsZi5fZXZlbnRzLmFwcGVuZChldmVudHMuRGF0YWdyYW1GcmFtZVJlY2VpdmVk
KGRhdGE9ZGF0YSkpCisKKyAgICBkZWYgX2hhbmRsZV9oYW5kc2hha2VfZG9uZV9mcmFtZSgKKyAg
ICAgICAgc2VsZiwgY29udGV4dDogUXVpY1JlY2VpdmVDb250ZXh0LCBmcmFtZV90eXBlOiBpbnQs
IGJ1ZjogQnVmZmVyCisgICAgKSAtPiBOb25lOgorICAgICAgICAiIiIKKyAgICAgICAgSGFuZGxl
IGEgSEFORFNIQUtFX0RPTkUgZnJhbWUuCisgICAgICAgICIiIgorICAgICAgICAjIGxvZyBmcmFt
ZQorICAgICAgICBpZiBzZWxmLl9xdWljX2xvZ2dlciBpcyBub3QgTm9uZToKKyAgICAgICAgICAg
IGNvbnRleHQucXVpY19sb2dnZXJfZnJhbWVzLmFwcGVuZCgKKyAgICAgICAgICAgICAgICBzZWxm
Ll9xdWljX2xvZ2dlci5lbmNvZGVfaGFuZHNoYWtlX2RvbmVfZnJhbWUoKQorICAgICAgICAgICAg
KQorCisgICAgICAgIGlmIG5vdCBzZWxmLl9pc19jbGllbnQ6CisgICAgICAgICAgICByYWlzZSBR
dWljQ29ubmVjdGlvbkVycm9yKAorICAgICAgICAgICAgICAgIGVycm9yX2NvZGU9UXVpY0Vycm9y
Q29kZS5QUk9UT0NPTF9WSU9MQVRJT04sCisgICAgICAgICAgICAgICAgZnJhbWVfdHlwZT1mcmFt
ZV90eXBlLAorICAgICAgICAgICAgICAgIHJlYXNvbl9waHJhc2U9IkNsaWVudHMgbXVzdCBub3Qg
c2VuZCBIQU5EU0hBS0VfRE9ORSBmcmFtZXMiLAorICAgICAgICAgICAgKQorCisgICAgICAgICMg
wqBmb3IgY2xpZW50cywgdGhlIGhhbmRzaGFrZSBpcyBub3cgY29uZmlybWVkCisgICAgICAgIGlm
IG5vdCBzZWxmLl9oYW5kc2hha2VfY29uZmlybWVkOgorICAgICAgICAgICAgc2VsZi5fZGlzY2Fy
ZF9lcG9jaCh0bHMuRXBvY2guSEFORFNIQUtFKQorICAgICAgICAgICAgc2VsZi5faGFuZHNoYWtl
X2NvbmZpcm1lZCA9IFRydWUKKworICAgIGRlZiBfaGFuZGxlX21heF9kYXRhX2ZyYW1lKAorICAg
ICAgICBzZWxmLCBjb250ZXh0OiBRdWljUmVjZWl2ZUNvbnRleHQsIGZyYW1lX3R5cGU6IGludCwg
YnVmOiBCdWZmZXIKKyAgICApIC0+IE5vbmU6CisgICAgICAgICIiIgorICAgICAgICBIYW5kbGUg
YSBNQVhfREFUQSBmcmFtZS4KKworICAgICAgICBUaGlzIGFkanVzdHMgdGhlIHRvdGFsIGFtb3Vu
dCBvZiB3ZSBjYW4gc2VuZCB0byB0aGUgcGVlci4KKyAgICAgICAgIiIiCisgICAgICAgIG1heF9k
YXRhID0gYnVmLnB1bGxfdWludF92YXIoKQorCisgICAgICAgICMgbG9nIGZyYW1lCisgICAgICAg
IGlmIHNlbGYuX3F1aWNfbG9nZ2VyIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgY29udGV4dC5x
dWljX2xvZ2dlcl9mcmFtZXMuYXBwZW5kKAorICAgICAgICAgICAgICAgIHNlbGYuX3F1aWNfbG9n
Z2VyLmVuY29kZV9tYXhfZGF0YV9mcmFtZShtYXhpbXVtPW1heF9kYXRhKQorICAgICAgICAgICAg
KQorCisgICAgICAgIGlmIG1heF9kYXRhID4gc2VsZi5fcmVtb3RlX21heF9kYXRhOgorICAgICAg
ICAgICAgc2VsZi5fbG9nZ2VyLmRlYnVnKCJSZW1vdGUgbWF4X2RhdGEgcmFpc2VkIHRvICVkIiwg
bWF4X2RhdGEpCisgICAgICAgICAgICBzZWxmLl9yZW1vdGVfbWF4X2RhdGEgPSBtYXhfZGF0YQor
CisgICAgZGVmIF9oYW5kbGVfbWF4X3N0cmVhbV9kYXRhX2ZyYW1lKAorICAgICAgICBzZWxmLCBj
b250ZXh0OiBRdWljUmVjZWl2ZUNvbnRleHQsIGZyYW1lX3R5cGU6IGludCwgYnVmOiBCdWZmZXIK
KyAgICApIC0+IE5vbmU6CisgICAgICAgICIiIgorICAgICAgICBIYW5kbGUgYSBNQVhfU1RSRUFN
X0RBVEEgZnJhbWUuCisKKyAgICAgICAgVGhpcyBhZGp1c3RzIHRoZSBhbW91bnQgb2YgZGF0YSB3
ZSBjYW4gc2VuZCBvbiBhIHNwZWNpZmljIHN0cmVhbS4KKyAgICAgICAgIiIiCisgICAgICAgIHN0
cmVhbV9pZCA9IGJ1Zi5wdWxsX3VpbnRfdmFyKCkKKyAgICAgICAgbWF4X3N0cmVhbV9kYXRhID0g
YnVmLnB1bGxfdWludF92YXIoKQorCisgICAgICAgICMgbG9nIGZyYW1lCisgICAgICAgIGlmIHNl
bGYuX3F1aWNfbG9nZ2VyIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgY29udGV4dC5xdWljX2xv
Z2dlcl9mcmFtZXMuYXBwZW5kKAorICAgICAgICAgICAgICAgIHNlbGYuX3F1aWNfbG9nZ2VyLmVu
Y29kZV9tYXhfc3RyZWFtX2RhdGFfZnJhbWUoCisgICAgICAgICAgICAgICAgICAgIG1heGltdW09
bWF4X3N0cmVhbV9kYXRhLCBzdHJlYW1faWQ9c3RyZWFtX2lkCisgICAgICAgICAgICAgICAgKQor
ICAgICAgICAgICAgKQorCisgICAgICAgICMgY2hlY2sgc3RyZWFtIGRpcmVjdGlvbgorICAgICAg
ICBzZWxmLl9hc3NlcnRfc3RyZWFtX2Nhbl9zZW5kKGZyYW1lX3R5cGUsIHN0cmVhbV9pZCkKKwor
ICAgICAgICBzdHJlYW0gPSBzZWxmLl9nZXRfb3JfY3JlYXRlX3N0cmVhbShmcmFtZV90eXBlLCBz
dHJlYW1faWQpCisgICAgICAgIGlmIG1heF9zdHJlYW1fZGF0YSA+IHN0cmVhbS5tYXhfc3RyZWFt
X2RhdGFfcmVtb3RlOgorICAgICAgICAgICAgc2VsZi5fbG9nZ2VyLmRlYnVnKAorICAgICAgICAg
ICAgICAgICJTdHJlYW0gJWQgcmVtb3RlIG1heF9zdHJlYW1fZGF0YSByYWlzZWQgdG8gJWQiLAor
ICAgICAgICAgICAgICAgIHN0cmVhbV9pZCwKKyAgICAgICAgICAgICAgICBtYXhfc3RyZWFtX2Rh
dGEsCisgICAgICAgICAgICApCisgICAgICAgICAgICBzdHJlYW0ubWF4X3N0cmVhbV9kYXRhX3Jl
bW90ZSA9IG1heF9zdHJlYW1fZGF0YQorCisgICAgZGVmIF9oYW5kbGVfbWF4X3N0cmVhbXNfYmlk
aV9mcmFtZSgKKyAgICAgICAgc2VsZiwgY29udGV4dDogUXVpY1JlY2VpdmVDb250ZXh0LCBmcmFt
ZV90eXBlOiBpbnQsIGJ1ZjogQnVmZmVyCisgICAgKSAtPiBOb25lOgorICAgICAgICAiIiIKKyAg
ICAgICAgSGFuZGxlIGEgTUFYX1NUUkVBTVNfQklESSBmcmFtZS4KKworICAgICAgICBUaGlzIHJh
aXNlcyBudW1iZXIgb2YgYmlkaXJlY3Rpb25hbCBzdHJlYW1zIHdlIGNhbiBpbml0aWF0ZSB0byB0
aGUgcGVlci4KKyAgICAgICAgIiIiCisgICAgICAgIG1heF9zdHJlYW1zID0gYnVmLnB1bGxfdWlu
dF92YXIoKQorCisgICAgICAgICMgbG9nIGZyYW1lCisgICAgICAgIGlmIHNlbGYuX3F1aWNfbG9n
Z2VyIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgY29udGV4dC5xdWljX2xvZ2dlcl9mcmFtZXMu
YXBwZW5kKAorICAgICAgICAgICAgICAgIHNlbGYuX3F1aWNfbG9nZ2VyLmVuY29kZV9tYXhfc3Ry
ZWFtc19mcmFtZSgKKyAgICAgICAgICAgICAgICAgICAgaXNfdW5pZGlyZWN0aW9uYWw9RmFsc2Us
IG1heGltdW09bWF4X3N0cmVhbXMKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICApCisK
KyAgICAgICAgaWYgbWF4X3N0cmVhbXMgPiBzZWxmLl9yZW1vdGVfbWF4X3N0cmVhbXNfYmlkaToK
KyAgICAgICAgICAgIHNlbGYuX2xvZ2dlci5kZWJ1ZygiUmVtb3RlIG1heF9zdHJlYW1zX2JpZGkg
cmFpc2VkIHRvICVkIiwgbWF4X3N0cmVhbXMpCisgICAgICAgICAgICBzZWxmLl9yZW1vdGVfbWF4
X3N0cmVhbXNfYmlkaSA9IG1heF9zdHJlYW1zCisgICAgICAgICAgICBzZWxmLl91bmJsb2NrX3N0
cmVhbXMoaXNfdW5pZGlyZWN0aW9uYWw9RmFsc2UpCisKKyAgICBkZWYgX2hhbmRsZV9tYXhfc3Ry
ZWFtc191bmlfZnJhbWUoCisgICAgICAgIHNlbGYsIGNvbnRleHQ6IFF1aWNSZWNlaXZlQ29udGV4
dCwgZnJhbWVfdHlwZTogaW50LCBidWY6IEJ1ZmZlcgorICAgICkgLT4gTm9uZToKKyAgICAgICAg
IiIiCisgICAgICAgIEhhbmRsZSBhIE1BWF9TVFJFQU1TX1VOSSBmcmFtZS4KKworICAgICAgICBU
aGlzIHJhaXNlcyBudW1iZXIgb2YgdW5pZGlyZWN0aW9uYWwgc3RyZWFtcyB3ZSBjYW4gaW5pdGlh
dGUgdG8gdGhlIHBlZXIuCisgICAgICAgICIiIgorICAgICAgICBtYXhfc3RyZWFtcyA9IGJ1Zi5w
dWxsX3VpbnRfdmFyKCkKKworICAgICAgICAjIGxvZyBmcmFtZQorICAgICAgICBpZiBzZWxmLl9x
dWljX2xvZ2dlciBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGNvbnRleHQucXVpY19sb2dnZXJf
ZnJhbWVzLmFwcGVuZCgKKyAgICAgICAgICAgICAgICBzZWxmLl9xdWljX2xvZ2dlci5lbmNvZGVf
bWF4X3N0cmVhbXNfZnJhbWUoCisgICAgICAgICAgICAgICAgICAgIGlzX3VuaWRpcmVjdGlvbmFs
PVRydWUsIG1heGltdW09bWF4X3N0cmVhbXMKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAg
ICApCisKKyAgICAgICAgaWYgbWF4X3N0cmVhbXMgPiBzZWxmLl9yZW1vdGVfbWF4X3N0cmVhbXNf
dW5pOgorICAgICAgICAgICAgc2VsZi5fbG9nZ2VyLmRlYnVnKCJSZW1vdGUgbWF4X3N0cmVhbXNf
dW5pIHJhaXNlZCB0byAlZCIsIG1heF9zdHJlYW1zKQorICAgICAgICAgICAgc2VsZi5fcmVtb3Rl
X21heF9zdHJlYW1zX3VuaSA9IG1heF9zdHJlYW1zCisgICAgICAgICAgICBzZWxmLl91bmJsb2Nr
X3N0cmVhbXMoaXNfdW5pZGlyZWN0aW9uYWw9VHJ1ZSkKKworICAgIGRlZiBfaGFuZGxlX25ld19j
b25uZWN0aW9uX2lkX2ZyYW1lKAorICAgICAgICBzZWxmLCBjb250ZXh0OiBRdWljUmVjZWl2ZUNv
bnRleHQsIGZyYW1lX3R5cGU6IGludCwgYnVmOiBCdWZmZXIKKyAgICApIC0+IE5vbmU6CisgICAg
ICAgICIiIgorICAgICAgICBIYW5kbGUgYSBORVdfQ09OTkVDVElPTl9JRCBmcmFtZS4KKyAgICAg
ICAgIiIiCisgICAgICAgIHNlcXVlbmNlX251bWJlciA9IGJ1Zi5wdWxsX3VpbnRfdmFyKCkKKyAg
ICAgICAgcmV0aXJlX3ByaW9yX3RvID0gYnVmLnB1bGxfdWludF92YXIoKQorICAgICAgICBsZW5n
dGggPSBidWYucHVsbF91aW50OCgpCisgICAgICAgIGNvbm5lY3Rpb25faWQgPSBidWYucHVsbF9i
eXRlcyhsZW5ndGgpCisgICAgICAgIHN0YXRlbGVzc19yZXNldF90b2tlbiA9IGJ1Zi5wdWxsX2J5
dGVzKDE2KQorCisgICAgICAgICMgbG9nIGZyYW1lCisgICAgICAgIGlmIHNlbGYuX3F1aWNfbG9n
Z2VyIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgY29udGV4dC5xdWljX2xvZ2dlcl9mcmFtZXMu
YXBwZW5kKAorICAgICAgICAgICAgICAgIHNlbGYuX3F1aWNfbG9nZ2VyLmVuY29kZV9uZXdfY29u
bmVjdGlvbl9pZF9mcmFtZSgKKyAgICAgICAgICAgICAgICAgICAgY29ubmVjdGlvbl9pZD1jb25u
ZWN0aW9uX2lkLAorICAgICAgICAgICAgICAgICAgICByZXRpcmVfcHJpb3JfdG89cmV0aXJlX3By
aW9yX3RvLAorICAgICAgICAgICAgICAgICAgICBzZXF1ZW5jZV9udW1iZXI9c2VxdWVuY2VfbnVt
YmVyLAorICAgICAgICAgICAgICAgICAgICBzdGF0ZWxlc3NfcmVzZXRfdG9rZW49c3RhdGVsZXNz
X3Jlc2V0X3Rva2VuLAorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICkKKworICAgICAg
ICBzZWxmLl9wZWVyX2NpZF9hdmFpbGFibGUuYXBwZW5kKAorICAgICAgICAgICAgUXVpY0Nvbm5l
Y3Rpb25JZCgKKyAgICAgICAgICAgICAgICBjaWQ9Y29ubmVjdGlvbl9pZCwKKyAgICAgICAgICAg
ICAgICBzZXF1ZW5jZV9udW1iZXI9c2VxdWVuY2VfbnVtYmVyLAorICAgICAgICAgICAgICAgIHN0
YXRlbGVzc19yZXNldF90b2tlbj1zdGF0ZWxlc3NfcmVzZXRfdG9rZW4sCisgICAgICAgICAgICAp
CisgICAgICAgICkKKworICAgIGRlZiBfaGFuZGxlX25ld190b2tlbl9mcmFtZSgKKyAgICAgICAg
c2VsZiwgY29udGV4dDogUXVpY1JlY2VpdmVDb250ZXh0LCBmcmFtZV90eXBlOiBpbnQsIGJ1Zjog
QnVmZmVyCisgICAgKSAtPiBOb25lOgorICAgICAgICAiIiIKKyAgICAgICAgSGFuZGxlIGEgTkVX
X1RPS0VOIGZyYW1lLgorICAgICAgICAiIiIKKyAgICAgICAgbGVuZ3RoID0gYnVmLnB1bGxfdWlu
dF92YXIoKQorICAgICAgICB0b2tlbiA9IGJ1Zi5wdWxsX2J5dGVzKGxlbmd0aCkKKworICAgICAg
ICAjIGxvZyBmcmFtZQorICAgICAgICBpZiBzZWxmLl9xdWljX2xvZ2dlciBpcyBub3QgTm9uZToK
KyAgICAgICAgICAgIGNvbnRleHQucXVpY19sb2dnZXJfZnJhbWVzLmFwcGVuZCgKKyAgICAgICAg
ICAgICAgICBzZWxmLl9xdWljX2xvZ2dlci5lbmNvZGVfbmV3X3Rva2VuX2ZyYW1lKHRva2VuPXRv
a2VuKQorICAgICAgICAgICAgKQorCisgICAgICAgIGlmIG5vdCBzZWxmLl9pc19jbGllbnQ6Cisg
ICAgICAgICAgICByYWlzZSBRdWljQ29ubmVjdGlvbkVycm9yKAorICAgICAgICAgICAgICAgIGVy
cm9yX2NvZGU9UXVpY0Vycm9yQ29kZS5QUk9UT0NPTF9WSU9MQVRJT04sCisgICAgICAgICAgICAg
ICAgZnJhbWVfdHlwZT1mcmFtZV90eXBlLAorICAgICAgICAgICAgICAgIHJlYXNvbl9waHJhc2U9
IkNsaWVudHMgbXVzdCBub3Qgc2VuZCBORVdfVE9LRU4gZnJhbWVzIiwKKyAgICAgICAgICAgICkK
KworICAgIGRlZiBfaGFuZGxlX3BhZGRpbmdfZnJhbWUoCisgICAgICAgIHNlbGYsIGNvbnRleHQ6
IFF1aWNSZWNlaXZlQ29udGV4dCwgZnJhbWVfdHlwZTogaW50LCBidWY6IEJ1ZmZlcgorICAgICkg
LT4gTm9uZToKKyAgICAgICAgIiIiCisgICAgICAgIEhhbmRsZSBhIFBBRERJTkcgZnJhbWUuCisg
ICAgICAgICIiIgorICAgICAgICAjIGNvbnN1bWUgcGFkZGluZworICAgICAgICBwb3MgPSBidWYu
dGVsbCgpCisgICAgICAgIGZvciBieXRlIGluIGJ1Zi5kYXRhX3NsaWNlKHBvcywgYnVmLmNhcGFj
aXR5KToKKyAgICAgICAgICAgIGlmIGJ5dGU6CisgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAg
ICAgICAgIHBvcyArPSAxCisgICAgICAgIGJ1Zi5zZWVrKHBvcykKKworICAgICAgICAjIGxvZyBm
cmFtZQorICAgICAgICBpZiBzZWxmLl9xdWljX2xvZ2dlciBpcyBub3QgTm9uZToKKyAgICAgICAg
ICAgIGNvbnRleHQucXVpY19sb2dnZXJfZnJhbWVzLmFwcGVuZChzZWxmLl9xdWljX2xvZ2dlci5l
bmNvZGVfcGFkZGluZ19mcmFtZSgpKQorCisgICAgZGVmIF9oYW5kbGVfcGF0aF9jaGFsbGVuZ2Vf
ZnJhbWUoCisgICAgICAgIHNlbGYsIGNvbnRleHQ6IFF1aWNSZWNlaXZlQ29udGV4dCwgZnJhbWVf
dHlwZTogaW50LCBidWY6IEJ1ZmZlcgorICAgICkgLT4gTm9uZToKKyAgICAgICAgIiIiCisgICAg
ICAgIEhhbmRsZSBhIFBBVEhfQ0hBTExFTkdFIGZyYW1lLgorICAgICAgICAiIiIKKyAgICAgICAg
ZGF0YSA9IGJ1Zi5wdWxsX2J5dGVzKDgpCisKKyAgICAgICAgIyBsb2cgZnJhbWUKKyAgICAgICAg
aWYgc2VsZi5fcXVpY19sb2dnZXIgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBjb250ZXh0LnF1
aWNfbG9nZ2VyX2ZyYW1lcy5hcHBlbmQoCisgICAgICAgICAgICAgICAgc2VsZi5fcXVpY19sb2dn
ZXIuZW5jb2RlX3BhdGhfY2hhbGxlbmdlX2ZyYW1lKGRhdGE9ZGF0YSkKKyAgICAgICAgICAgICkK
KworICAgICAgICBjb250ZXh0Lm5ldHdvcmtfcGF0aC5yZW1vdGVfY2hhbGxlbmdlID0gZGF0YQor
CisgICAgZGVmIF9oYW5kbGVfcGF0aF9yZXNwb25zZV9mcmFtZSgKKyAgICAgICAgc2VsZiwgY29u
dGV4dDogUXVpY1JlY2VpdmVDb250ZXh0LCBmcmFtZV90eXBlOiBpbnQsIGJ1ZjogQnVmZmVyCisg
ICAgKSAtPiBOb25lOgorICAgICAgICAiIiIKKyAgICAgICAgSGFuZGxlIGEgUEFUSF9SRVNQT05T
RSBmcmFtZS4KKyAgICAgICAgIiIiCisgICAgICAgIGRhdGEgPSBidWYucHVsbF9ieXRlcyg4KQor
CisgICAgICAgICMgbG9nIGZyYW1lCisgICAgICAgIGlmIHNlbGYuX3F1aWNfbG9nZ2VyIGlzIG5v
dCBOb25lOgorICAgICAgICAgICAgY29udGV4dC5xdWljX2xvZ2dlcl9mcmFtZXMuYXBwZW5kKAor
ICAgICAgICAgICAgICAgIHNlbGYuX3F1aWNfbG9nZ2VyLmVuY29kZV9wYXRoX3Jlc3BvbnNlX2Zy
YW1lKGRhdGE9ZGF0YSkKKyAgICAgICAgICAgICkKKworICAgICAgICBpZiBkYXRhICE9IGNvbnRl
eHQubmV0d29ya19wYXRoLmxvY2FsX2NoYWxsZW5nZToKKyAgICAgICAgICAgIHJhaXNlIFF1aWND
b25uZWN0aW9uRXJyb3IoCisgICAgICAgICAgICAgICAgZXJyb3JfY29kZT1RdWljRXJyb3JDb2Rl
LlBST1RPQ09MX1ZJT0xBVElPTiwKKyAgICAgICAgICAgICAgICBmcmFtZV90eXBlPWZyYW1lX3R5
cGUsCisgICAgICAgICAgICAgICAgcmVhc29uX3BocmFzZT0iUmVzcG9uc2UgZG9lcyBub3QgbWF0
Y2ggY2hhbGxlbmdlIiwKKyAgICAgICAgICAgICkKKyAgICAgICAgc2VsZi5fbG9nZ2VyLmRlYnVn
KAorICAgICAgICAgICAgIk5ldHdvcmsgcGF0aCAlcyB2YWxpZGF0ZWQgYnkgY2hhbGxlbmdlIiwg
Y29udGV4dC5uZXR3b3JrX3BhdGguYWRkcgorICAgICAgICApCisgICAgICAgIGNvbnRleHQubmV0
d29ya19wYXRoLmlzX3ZhbGlkYXRlZCA9IFRydWUKKworICAgIGRlZiBfaGFuZGxlX3BpbmdfZnJh
bWUoCisgICAgICAgIHNlbGYsIGNvbnRleHQ6IFF1aWNSZWNlaXZlQ29udGV4dCwgZnJhbWVfdHlw
ZTogaW50LCBidWY6IEJ1ZmZlcgorICAgICkgLT4gTm9uZToKKyAgICAgICAgIiIiCisgICAgICAg
IEhhbmRsZSBhIFBJTkcgZnJhbWUuCisgICAgICAgICIiIgorICAgICAgICAjIGxvZyBmcmFtZQor
ICAgICAgICBpZiBzZWxmLl9xdWljX2xvZ2dlciBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGNv
bnRleHQucXVpY19sb2dnZXJfZnJhbWVzLmFwcGVuZChzZWxmLl9xdWljX2xvZ2dlci5lbmNvZGVf
cGluZ19mcmFtZSgpKQorCisgICAgZGVmIF9oYW5kbGVfcmVzZXRfc3RyZWFtX2ZyYW1lKAorICAg
ICAgICBzZWxmLCBjb250ZXh0OiBRdWljUmVjZWl2ZUNvbnRleHQsIGZyYW1lX3R5cGU6IGludCwg
YnVmOiBCdWZmZXIKKyAgICApIC0+IE5vbmU6CisgICAgICAgICIiIgorICAgICAgICBIYW5kbGUg
YSBSRVNFVF9TVFJFQU0gZnJhbWUuCisgICAgICAgICIiIgorICAgICAgICBzdHJlYW1faWQgPSBi
dWYucHVsbF91aW50X3ZhcigpCisgICAgICAgIGVycm9yX2NvZGUgPSBidWYucHVsbF91aW50X3Zh
cigpCisgICAgICAgIGZpbmFsX3NpemUgPSBidWYucHVsbF91aW50X3ZhcigpCisKKyAgICAgICAg
IyBsb2cgZnJhbWUKKyAgICAgICAgaWYgc2VsZi5fcXVpY19sb2dnZXIgaXMgbm90IE5vbmU6Cisg
ICAgICAgICAgICBjb250ZXh0LnF1aWNfbG9nZ2VyX2ZyYW1lcy5hcHBlbmQoCisgICAgICAgICAg
ICAgICAgc2VsZi5fcXVpY19sb2dnZXIuZW5jb2RlX3Jlc2V0X3N0cmVhbV9mcmFtZSgKKyAgICAg
ICAgICAgICAgICAgICAgZXJyb3JfY29kZT1lcnJvcl9jb2RlLCBmaW5hbF9zaXplPWZpbmFsX3Np
emUsIHN0cmVhbV9pZD1zdHJlYW1faWQKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAp
CisKKyAgICAgICAgIyBjaGVjayBzdHJlYW0gZGlyZWN0aW9uCisgICAgICAgIHNlbGYuX2Fzc2Vy
dF9zdHJlYW1fY2FuX3JlY2VpdmUoZnJhbWVfdHlwZSwgc3RyZWFtX2lkKQorCisgICAgICAgIHNl
bGYuX2xvZ2dlci5pbmZvKAorICAgICAgICAgICAgIlN0cmVhbSAlZCByZXNldCBieSBwZWVyIChl
cnJvciBjb2RlICVkLCBmaW5hbCBzaXplICVkKSIsCisgICAgICAgICAgICBzdHJlYW1faWQsCisg
ICAgICAgICAgICBlcnJvcl9jb2RlLAorICAgICAgICAgICAgZmluYWxfc2l6ZSwKKyAgICAgICAg
KQorICAgICAgICAjIHN0cmVhbSA9IHNlbGYuX2dldF9vcl9jcmVhdGVfc3RyZWFtKGZyYW1lX3R5
cGUsIHN0cmVhbV9pZCkKKyAgICAgICAgc2VsZi5fZXZlbnRzLmFwcGVuZCgKKyAgICAgICAgICAg
IGV2ZW50cy5TdHJlYW1SZXNldChlcnJvcl9jb2RlPWVycm9yX2NvZGUsIHN0cmVhbV9pZD1zdHJl
YW1faWQpCisgICAgICAgICkKKworICAgIGRlZiBfaGFuZGxlX3JldGlyZV9jb25uZWN0aW9uX2lk
X2ZyYW1lKAorICAgICAgICBzZWxmLCBjb250ZXh0OiBRdWljUmVjZWl2ZUNvbnRleHQsIGZyYW1l
X3R5cGU6IGludCwgYnVmOiBCdWZmZXIKKyAgICApIC0+IE5vbmU6CisgICAgICAgICIiIgorICAg
ICAgICBIYW5kbGUgYSBSRVRJUkVfQ09OTkVDVElPTl9JRCBmcmFtZS4KKyAgICAgICAgIiIiCisg
ICAgICAgIHNlcXVlbmNlX251bWJlciA9IGJ1Zi5wdWxsX3VpbnRfdmFyKCkKKworICAgICAgICAj
IGxvZyBmcmFtZQorICAgICAgICBpZiBzZWxmLl9xdWljX2xvZ2dlciBpcyBub3QgTm9uZToKKyAg
ICAgICAgICAgIGNvbnRleHQucXVpY19sb2dnZXJfZnJhbWVzLmFwcGVuZCgKKyAgICAgICAgICAg
ICAgICBzZWxmLl9xdWljX2xvZ2dlci5lbmNvZGVfcmV0aXJlX2Nvbm5lY3Rpb25faWRfZnJhbWUo
c2VxdWVuY2VfbnVtYmVyKQorICAgICAgICAgICAgKQorCisgICAgICAgICMgZmluZCB0aGUgY29u
bmVjdGlvbiBJRCBieSBzZXF1ZW5jZSBudW1iZXIKKyAgICAgICAgZm9yIGluZGV4LCBjb25uZWN0
aW9uX2lkIGluIGVudW1lcmF0ZShzZWxmLl9ob3N0X2NpZHMpOgorICAgICAgICAgICAgaWYgY29u
bmVjdGlvbl9pZC5zZXF1ZW5jZV9udW1iZXIgPT0gc2VxdWVuY2VfbnVtYmVyOgorICAgICAgICAg
ICAgICAgIGlmIGNvbm5lY3Rpb25faWQuY2lkID09IGNvbnRleHQuaG9zdF9jaWQ6CisgICAgICAg
ICAgICAgICAgICAgIHJhaXNlIFF1aWNDb25uZWN0aW9uRXJyb3IoCisgICAgICAgICAgICAgICAg
ICAgICAgICBlcnJvcl9jb2RlPVF1aWNFcnJvckNvZGUuUFJPVE9DT0xfVklPTEFUSU9OLAorICAg
ICAgICAgICAgICAgICAgICAgICAgZnJhbWVfdHlwZT1mcmFtZV90eXBlLAorICAgICAgICAgICAg
ICAgICAgICAgICAgcmVhc29uX3BocmFzZT0iQ2Fubm90IHJldGlyZSBjdXJyZW50IGNvbm5lY3Rp
b24gSUQiLAorICAgICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgc2VsZi5fbG9n
Z2VyLmRlYnVnKAorICAgICAgICAgICAgICAgICAgICAiUGVlciByZXRpcmluZyBDSUQgJXMgKCVk
KSIsCisgICAgICAgICAgICAgICAgICAgIGR1bXBfY2lkKGNvbm5lY3Rpb25faWQuY2lkKSwKKyAg
ICAgICAgICAgICAgICAgICAgY29ubmVjdGlvbl9pZC5zZXF1ZW5jZV9udW1iZXIsCisgICAgICAg
ICAgICAgICAgKQorICAgICAgICAgICAgICAgIGRlbCBzZWxmLl9ob3N0X2NpZHNbaW5kZXhdCisg
ICAgICAgICAgICAgICAgc2VsZi5fZXZlbnRzLmFwcGVuZCgKKyAgICAgICAgICAgICAgICAgICAg
ZXZlbnRzLkNvbm5lY3Rpb25JZFJldGlyZWQoY29ubmVjdGlvbl9pZD1jb25uZWN0aW9uX2lkLmNp
ZCkKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgYnJlYWsKKworICAgICAgICAj
IGlzc3VlIGEgbmV3IGNvbm5lY3Rpb24gSUQKKyAgICAgICAgc2VsZi5fcmVwbGVuaXNoX2Nvbm5l
Y3Rpb25faWRzKCkKKworICAgIGRlZiBfaGFuZGxlX3N0b3Bfc2VuZGluZ19mcmFtZSgKKyAgICAg
ICAgc2VsZiwgY29udGV4dDogUXVpY1JlY2VpdmVDb250ZXh0LCBmcmFtZV90eXBlOiBpbnQsIGJ1
ZjogQnVmZmVyCisgICAgKSAtPiBOb25lOgorICAgICAgICAiIiIKKyAgICAgICAgSGFuZGxlIGEg
U1RPUF9TRU5ESU5HIGZyYW1lLgorICAgICAgICAiIiIKKyAgICAgICAgc3RyZWFtX2lkID0gYnVm
LnB1bGxfdWludF92YXIoKQorICAgICAgICBlcnJvcl9jb2RlID0gYnVmLnB1bGxfdWludF92YXIo
KSAgIyBhcHBsaWNhdGlvbiBlcnJvciBjb2RlCisKKyAgICAgICAgIyBsb2cgZnJhbWUKKyAgICAg
ICAgaWYgc2VsZi5fcXVpY19sb2dnZXIgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBjb250ZXh0
LnF1aWNfbG9nZ2VyX2ZyYW1lcy5hcHBlbmQoCisgICAgICAgICAgICAgICAgc2VsZi5fcXVpY19s
b2dnZXIuZW5jb2RlX3N0b3Bfc2VuZGluZ19mcmFtZSgKKyAgICAgICAgICAgICAgICAgICAgZXJy
b3JfY29kZT1lcnJvcl9jb2RlLCBzdHJlYW1faWQ9c3RyZWFtX2lkCisgICAgICAgICAgICAgICAg
KQorICAgICAgICAgICAgKQorCisgICAgICAgICMgY2hlY2sgc3RyZWFtIGRpcmVjdGlvbgorICAg
ICAgICBzZWxmLl9hc3NlcnRfc3RyZWFtX2Nhbl9zZW5kKGZyYW1lX3R5cGUsIHN0cmVhbV9pZCkK
KworICAgICAgICBzZWxmLl9nZXRfb3JfY3JlYXRlX3N0cmVhbShmcmFtZV90eXBlLCBzdHJlYW1f
aWQpCisKKyAgICBkZWYgX2hhbmRsZV9zdHJlYW1fZnJhbWUoCisgICAgICAgIHNlbGYsIGNvbnRl
eHQ6IFF1aWNSZWNlaXZlQ29udGV4dCwgZnJhbWVfdHlwZTogaW50LCBidWY6IEJ1ZmZlcgorICAg
ICkgLT4gTm9uZToKKyAgICAgICAgIiIiCisgICAgICAgIEhhbmRsZSBhIFNUUkVBTSBmcmFtZS4K
KyAgICAgICAgIiIiCisgICAgICAgIHN0cmVhbV9pZCA9IGJ1Zi5wdWxsX3VpbnRfdmFyKCkKKyAg
ICAgICAgaWYgZnJhbWVfdHlwZSAmIDQ6CisgICAgICAgICAgICBvZmZzZXQgPSBidWYucHVsbF91
aW50X3ZhcigpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBvZmZzZXQgPSAwCisgICAgICAg
IGlmIGZyYW1lX3R5cGUgJiAyOgorICAgICAgICAgICAgbGVuZ3RoID0gYnVmLnB1bGxfdWludF92
YXIoKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgbGVuZ3RoID0gYnVmLmNhcGFjaXR5IC0g
YnVmLnRlbGwoKQorICAgICAgICBpZiBvZmZzZXQgKyBsZW5ndGggPiBVSU5UX1ZBUl9NQVg6Cisg
ICAgICAgICAgICByYWlzZSBRdWljQ29ubmVjdGlvbkVycm9yKAorICAgICAgICAgICAgICAgIGVy
cm9yX2NvZGU9UXVpY0Vycm9yQ29kZS5GUkFNRV9FTkNPRElOR19FUlJPUiwKKyAgICAgICAgICAg
ICAgICBmcmFtZV90eXBlPWZyYW1lX3R5cGUsCisgICAgICAgICAgICAgICAgcmVhc29uX3BocmFz
ZT0ib2Zmc2V0ICsgbGVuZ3RoIGNhbm5vdCBleGNlZWQgMl42MiAtIDEiLAorICAgICAgICAgICAg
KQorICAgICAgICBmcmFtZSA9IFF1aWNTdHJlYW1GcmFtZSgKKyAgICAgICAgICAgIG9mZnNldD1v
ZmZzZXQsIGRhdGE9YnVmLnB1bGxfYnl0ZXMobGVuZ3RoKSwgZmluPWJvb2woZnJhbWVfdHlwZSAm
IDEpCisgICAgICAgICkKKworICAgICAgICAjIGxvZyBmcmFtZQorICAgICAgICBpZiBzZWxmLl9x
dWljX2xvZ2dlciBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGNvbnRleHQucXVpY19sb2dnZXJf
ZnJhbWVzLmFwcGVuZCgKKyAgICAgICAgICAgICAgICBzZWxmLl9xdWljX2xvZ2dlci5lbmNvZGVf
c3RyZWFtX2ZyYW1lKGZyYW1lLCBzdHJlYW1faWQ9c3RyZWFtX2lkKQorICAgICAgICAgICAgKQor
CisgICAgICAgICMgY2hlY2sgc3RyZWFtIGRpcmVjdGlvbgorICAgICAgICBzZWxmLl9hc3NlcnRf
c3RyZWFtX2Nhbl9yZWNlaXZlKGZyYW1lX3R5cGUsIHN0cmVhbV9pZCkKKworICAgICAgICAjIGNo
ZWNrIGZsb3ctY29udHJvbCBsaW1pdHMKKyAgICAgICAgc3RyZWFtID0gc2VsZi5fZ2V0X29yX2Ny
ZWF0ZV9zdHJlYW0oZnJhbWVfdHlwZSwgc3RyZWFtX2lkKQorICAgICAgICBpZiBvZmZzZXQgKyBs
ZW5ndGggPiBzdHJlYW0ubWF4X3N0cmVhbV9kYXRhX2xvY2FsOgorICAgICAgICAgICAgcmFpc2Ug
UXVpY0Nvbm5lY3Rpb25FcnJvcigKKyAgICAgICAgICAgICAgICBlcnJvcl9jb2RlPVF1aWNFcnJv
ckNvZGUuRkxPV19DT05UUk9MX0VSUk9SLAorICAgICAgICAgICAgICAgIGZyYW1lX3R5cGU9ZnJh
bWVfdHlwZSwKKyAgICAgICAgICAgICAgICByZWFzb25fcGhyYXNlPSJPdmVyIHN0cmVhbSBkYXRh
IGxpbWl0IiwKKyAgICAgICAgICAgICkKKyAgICAgICAgbmV3bHlfcmVjZWl2ZWQgPSBtYXgoMCwg
b2Zmc2V0ICsgbGVuZ3RoIC0gc3RyZWFtLl9yZWN2X2hpZ2hlc3QpCisgICAgICAgIGlmIHNlbGYu
X2xvY2FsX21heF9kYXRhX3VzZWQgKyBuZXdseV9yZWNlaXZlZCA+IHNlbGYuX2xvY2FsX21heF9k
YXRhOgorICAgICAgICAgICAgcmFpc2UgUXVpY0Nvbm5lY3Rpb25FcnJvcigKKyAgICAgICAgICAg
ICAgICBlcnJvcl9jb2RlPVF1aWNFcnJvckNvZGUuRkxPV19DT05UUk9MX0VSUk9SLAorICAgICAg
ICAgICAgICAgIGZyYW1lX3R5cGU9ZnJhbWVfdHlwZSwKKyAgICAgICAgICAgICAgICByZWFzb25f
cGhyYXNlPSJPdmVyIGNvbm5lY3Rpb24gZGF0YSBsaW1pdCIsCisgICAgICAgICAgICApCisKKyAg
ICAgICAgZXZlbnQgPSBzdHJlYW0uYWRkX2ZyYW1lKGZyYW1lKQorICAgICAgICBpZiBldmVudCBp
cyBub3QgTm9uZToKKyAgICAgICAgICAgIHNlbGYuX2V2ZW50cy5hcHBlbmQoZXZlbnQpCisgICAg
ICAgIHNlbGYuX2xvY2FsX21heF9kYXRhX3VzZWQgKz0gbmV3bHlfcmVjZWl2ZWQKKworICAgIGRl
ZiBfaGFuZGxlX3N0cmVhbV9kYXRhX2Jsb2NrZWRfZnJhbWUoCisgICAgICAgIHNlbGYsIGNvbnRl
eHQ6IFF1aWNSZWNlaXZlQ29udGV4dCwgZnJhbWVfdHlwZTogaW50LCBidWY6IEJ1ZmZlcgorICAg
ICkgLT4gTm9uZToKKyAgICAgICAgIiIiCisgICAgICAgIEhhbmRsZSBhIFNUUkVBTV9EQVRBX0JM
T0NLRUQgZnJhbWUuCisgICAgICAgICIiIgorICAgICAgICBzdHJlYW1faWQgPSBidWYucHVsbF91
aW50X3ZhcigpCisgICAgICAgIGxpbWl0ID0gYnVmLnB1bGxfdWludF92YXIoKQorCisgICAgICAg
ICMgbG9nIGZyYW1lCisgICAgICAgIGlmIHNlbGYuX3F1aWNfbG9nZ2VyIGlzIG5vdCBOb25lOgor
ICAgICAgICAgICAgY29udGV4dC5xdWljX2xvZ2dlcl9mcmFtZXMuYXBwZW5kKAorICAgICAgICAg
ICAgICAgIHNlbGYuX3F1aWNfbG9nZ2VyLmVuY29kZV9zdHJlYW1fZGF0YV9ibG9ja2VkX2ZyYW1l
KAorICAgICAgICAgICAgICAgICAgICBsaW1pdD1saW1pdCwgc3RyZWFtX2lkPXN0cmVhbV9pZAor
ICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICkKKworICAgICAgICAjIGNoZWNrIHN0cmVh
bSBkaXJlY3Rpb24KKyAgICAgICAgc2VsZi5fYXNzZXJ0X3N0cmVhbV9jYW5fcmVjZWl2ZShmcmFt
ZV90eXBlLCBzdHJlYW1faWQpCisKKyAgICAgICAgc2VsZi5fZ2V0X29yX2NyZWF0ZV9zdHJlYW0o
ZnJhbWVfdHlwZSwgc3RyZWFtX2lkKQorCisgICAgZGVmIF9oYW5kbGVfc3RyZWFtc19ibG9ja2Vk
X2ZyYW1lKAorICAgICAgICBzZWxmLCBjb250ZXh0OiBRdWljUmVjZWl2ZUNvbnRleHQsIGZyYW1l
X3R5cGU6IGludCwgYnVmOiBCdWZmZXIKKyAgICApIC0+IE5vbmU6CisgICAgICAgICIiIgorICAg
ICAgICBIYW5kbGUgYSBTVFJFQU1TX0JMT0NLRUQgZnJhbWUuCisgICAgICAgICIiIgorICAgICAg
ICBsaW1pdCA9IGJ1Zi5wdWxsX3VpbnRfdmFyKCkKKworICAgICAgICAjIGxvZyBmcmFtZQorICAg
ICAgICBpZiBzZWxmLl9xdWljX2xvZ2dlciBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGNvbnRl
eHQucXVpY19sb2dnZXJfZnJhbWVzLmFwcGVuZCgKKyAgICAgICAgICAgICAgICBzZWxmLl9xdWlj
X2xvZ2dlci5lbmNvZGVfc3RyZWFtc19ibG9ja2VkX2ZyYW1lKAorICAgICAgICAgICAgICAgICAg
ICBpc191bmlkaXJlY3Rpb25hbD1mcmFtZV90eXBlID09IFF1aWNGcmFtZVR5cGUuU1RSRUFNU19C
TE9DS0VEX1VOSSwKKyAgICAgICAgICAgICAgICAgICAgbGltaXQ9bGltaXQsCisgICAgICAgICAg
ICAgICAgKQorICAgICAgICAgICAgKQorCisgICAgZGVmIF9vbl9hY2tfZGVsaXZlcnkoCisgICAg
ICAgIHNlbGYsIGRlbGl2ZXJ5OiBRdWljRGVsaXZlcnlTdGF0ZSwgc3BhY2U6IFF1aWNQYWNrZXRT
cGFjZSwgaGlnaGVzdF9hY2tlZDogaW50CisgICAgKSAtPiBOb25lOgorICAgICAgICAiIiIKKyAg
ICAgICAgQ2FsbGJhY2sgd2hlbiBhbiBBQ0sgZnJhbWUgaXMgYWNrbm93bGVkZ2VkIG9yIGxvc3Qu
CisgICAgICAgICIiIgorICAgICAgICBpZiBkZWxpdmVyeSA9PSBRdWljRGVsaXZlcnlTdGF0ZS5B
Q0tFRDoKKyAgICAgICAgICAgIHNwYWNlLmFja19xdWV1ZS5zdWJ0cmFjdCgwLCBoaWdoZXN0X2Fj
a2VkICsgMSkKKworICAgIGRlZiBfb25faGFuZHNoYWtlX2RvbmVfZGVsaXZlcnkoc2VsZiwgZGVs
aXZlcnk6IFF1aWNEZWxpdmVyeVN0YXRlKSAtPiBOb25lOgorICAgICAgICAiIiIKKyAgICAgICAg
Q2FsbGJhY2sgd2hlbiBhIEhBTkRTSEFLRV9ET05FIGZyYW1lIGlzIGFja25vd2xlZGdlZCBvciBs
b3N0LgorICAgICAgICAiIiIKKyAgICAgICAgaWYgZGVsaXZlcnkgIT0gUXVpY0RlbGl2ZXJ5U3Rh
dGUuQUNLRUQ6CisgICAgICAgICAgICBzZWxmLl9oYW5kc2hha2VfZG9uZV9wZW5kaW5nID0gVHJ1
ZQorCisgICAgZGVmIF9vbl9tYXhfZGF0YV9kZWxpdmVyeShzZWxmLCBkZWxpdmVyeTogUXVpY0Rl
bGl2ZXJ5U3RhdGUpIC0+IE5vbmU6CisgICAgICAgICIiIgorICAgICAgICBDYWxsYmFjayB3aGVu
IGEgTUFYX0RBVEEgZnJhbWUgaXMgYWNrbm93bGVkZ2VkIG9yIGxvc3QuCisgICAgICAgICIiIgor
ICAgICAgICBpZiBkZWxpdmVyeSAhPSBRdWljRGVsaXZlcnlTdGF0ZS5BQ0tFRDoKKyAgICAgICAg
ICAgIHNlbGYuX2xvY2FsX21heF9kYXRhX3NlbnQgPSAwCisKKyAgICBkZWYgX29uX21heF9zdHJl
YW1fZGF0YV9kZWxpdmVyeSgKKyAgICAgICAgc2VsZiwgZGVsaXZlcnk6IFF1aWNEZWxpdmVyeVN0
YXRlLCBzdHJlYW06IFF1aWNTdHJlYW0KKyAgICApIC0+IE5vbmU6CisgICAgICAgICIiIgorICAg
ICAgICBDYWxsYmFjayB3aGVuIGEgTUFYX1NUUkVBTV9EQVRBIGZyYW1lIGlzIGFja25vd2xlZGdl
ZCBvciBsb3N0LgorICAgICAgICAiIiIKKyAgICAgICAgaWYgZGVsaXZlcnkgIT0gUXVpY0RlbGl2
ZXJ5U3RhdGUuQUNLRUQ6CisgICAgICAgICAgICBzdHJlYW0ubWF4X3N0cmVhbV9kYXRhX2xvY2Fs
X3NlbnQgPSAwCisKKyAgICBkZWYgX29uX25ld19jb25uZWN0aW9uX2lkX2RlbGl2ZXJ5KAorICAg
ICAgICBzZWxmLCBkZWxpdmVyeTogUXVpY0RlbGl2ZXJ5U3RhdGUsIGNvbm5lY3Rpb25faWQ6IFF1
aWNDb25uZWN0aW9uSWQKKyAgICApIC0+IE5vbmU6CisgICAgICAgICIiIgorICAgICAgICBDYWxs
YmFjayB3aGVuIGEgTkVXX0NPTk5FQ1RJT05fSUQgZnJhbWUgaXMgYWNrbm93bGVkZ2VkIG9yIGxv
c3QuCisgICAgICAgICIiIgorICAgICAgICBpZiBkZWxpdmVyeSAhPSBRdWljRGVsaXZlcnlTdGF0
ZS5BQ0tFRDoKKyAgICAgICAgICAgIGNvbm5lY3Rpb25faWQud2FzX3NlbnQgPSBGYWxzZQorCisg
ICAgZGVmIF9vbl9waW5nX2RlbGl2ZXJ5KAorICAgICAgICBzZWxmLCBkZWxpdmVyeTogUXVpY0Rl
bGl2ZXJ5U3RhdGUsIHVpZHM6IFNlcXVlbmNlW2ludF0KKyAgICApIC0+IE5vbmU6CisgICAgICAg
ICIiIgorICAgICAgICBDYWxsYmFjayB3aGVuIGEgUElORyBmcmFtZSBpcyBhY2tub3dsZWRnZWQg
b3IgbG9zdC4KKyAgICAgICAgIiIiCisgICAgICAgIGlmIGRlbGl2ZXJ5ID09IFF1aWNEZWxpdmVy
eVN0YXRlLkFDS0VEOgorICAgICAgICAgICAgc2VsZi5fbG9nZ2VyLmRlYnVnKCJSZWNlaXZlZCBQ
SU5HJXMgcmVzcG9uc2UiLCAiIiBpZiB1aWRzIGVsc2UgIiAocHJvYmUpIikKKyAgICAgICAgICAg
IGZvciB1aWQgaW4gdWlkczoKKyAgICAgICAgICAgICAgICBzZWxmLl9ldmVudHMuYXBwZW5kKGV2
ZW50cy5QaW5nQWNrbm93bGVkZ2VkKHVpZD11aWQpKQorICAgICAgICBlbHNlOgorICAgICAgICAg
ICAgc2VsZi5fcGluZ19wZW5kaW5nLmV4dGVuZCh1aWRzKQorCisgICAgZGVmIF9vbl9yZXRpcmVf
Y29ubmVjdGlvbl9pZF9kZWxpdmVyeSgKKyAgICAgICAgc2VsZiwgZGVsaXZlcnk6IFF1aWNEZWxp
dmVyeVN0YXRlLCBzZXF1ZW5jZV9udW1iZXI6IGludAorICAgICkgLT4gTm9uZToKKyAgICAgICAg
IiIiCisgICAgICAgIENhbGxiYWNrIHdoZW4gYSBSRVRJUkVfQ09OTkVDVElPTl9JRCBmcmFtZSBp
cyBhY2tub3dsZWRnZWQgb3IgbG9zdC4KKyAgICAgICAgIiIiCisgICAgICAgIGlmIGRlbGl2ZXJ5
ICE9IFF1aWNEZWxpdmVyeVN0YXRlLkFDS0VEOgorICAgICAgICAgICAgc2VsZi5fcmV0aXJlX2Nv
bm5lY3Rpb25faWRzLmFwcGVuZChzZXF1ZW5jZV9udW1iZXIpCisKKyAgICBkZWYgX3BheWxvYWRf
cmVjZWl2ZWQoCisgICAgICAgIHNlbGYsIGNvbnRleHQ6IFF1aWNSZWNlaXZlQ29udGV4dCwgcGxh
aW46IGJ5dGVzCisgICAgKSAtPiBUdXBsZVtib29sLCBib29sXToKKyAgICAgICAgIiIiCisgICAg
ICAgIEhhbmRsZSBhIFFVSUMgcGFja2V0IHBheWxvYWQuCisgICAgICAgICIiIgorICAgICAgICBi
dWYgPSBCdWZmZXIoZGF0YT1wbGFpbikKKworICAgICAgICBpc19hY2tfZWxpY2l0aW5nID0gRmFs
c2UKKyAgICAgICAgaXNfcHJvYmluZyA9IE5vbmUKKyAgICAgICAgd2hpbGUgbm90IGJ1Zi5lb2Yo
KToKKyAgICAgICAgICAgIGZyYW1lX3R5cGUgPSBidWYucHVsbF91aW50X3ZhcigpCisKKyAgICAg
ICAgICAgICMgY2hlY2sgZnJhbWUgdHlwZSBpcyBrbm93bgorICAgICAgICAgICAgdHJ5OgorICAg
ICAgICAgICAgICAgIGZyYW1lX2hhbmRsZXIsIGZyYW1lX2Vwb2NocyA9IHNlbGYuX19mcmFtZV9o
YW5kbGVyc1tmcmFtZV90eXBlXQorICAgICAgICAgICAgZXhjZXB0IEtleUVycm9yOgorICAgICAg
ICAgICAgICAgIHJhaXNlIFF1aWNDb25uZWN0aW9uRXJyb3IoCisgICAgICAgICAgICAgICAgICAg
IGVycm9yX2NvZGU9UXVpY0Vycm9yQ29kZS5QUk9UT0NPTF9WSU9MQVRJT04sCisgICAgICAgICAg
ICAgICAgICAgIGZyYW1lX3R5cGU9ZnJhbWVfdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgcmVh
c29uX3BocmFzZT0iVW5rbm93biBmcmFtZSB0eXBlIiwKKyAgICAgICAgICAgICAgICApCisKKyAg
ICAgICAgICAgICMgY2hlY2sgZnJhbWUgaXMgYWxsb3dlZCBmb3IgdGhlIGVwb2NoCisgICAgICAg
ICAgICBpZiBjb250ZXh0LmVwb2NoIG5vdCBpbiBmcmFtZV9lcG9jaHM6CisgICAgICAgICAgICAg
ICAgcmFpc2UgUXVpY0Nvbm5lY3Rpb25FcnJvcigKKyAgICAgICAgICAgICAgICAgICAgZXJyb3Jf
Y29kZT1RdWljRXJyb3JDb2RlLlBST1RPQ09MX1ZJT0xBVElPTiwKKyAgICAgICAgICAgICAgICAg
ICAgZnJhbWVfdHlwZT1mcmFtZV90eXBlLAorICAgICAgICAgICAgICAgICAgICByZWFzb25fcGhy
YXNlPSJVbmV4cGVjdGVkIGZyYW1lIHR5cGUiLAorICAgICAgICAgICAgICAgICkKKworICAgICAg
ICAgICAgIyBoYW5kbGUgdGhlIGZyYW1lCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAg
ICAgZnJhbWVfaGFuZGxlcihjb250ZXh0LCBmcmFtZV90eXBlLCBidWYpCisgICAgICAgICAgICBl
eGNlcHQgQnVmZmVyUmVhZEVycm9yOgorICAgICAgICAgICAgICAgIHJhaXNlIFF1aWNDb25uZWN0
aW9uRXJyb3IoCisgICAgICAgICAgICAgICAgICAgIGVycm9yX2NvZGU9UXVpY0Vycm9yQ29kZS5G
UkFNRV9FTkNPRElOR19FUlJPUiwKKyAgICAgICAgICAgICAgICAgICAgZnJhbWVfdHlwZT1mcmFt
ZV90eXBlLAorICAgICAgICAgICAgICAgICAgICByZWFzb25fcGhyYXNlPSJGYWlsZWQgdG8gcGFy
c2UgZnJhbWUiLAorICAgICAgICAgICAgICAgICkKKworICAgICAgICAgICAgIyB1cGRhdGUgQUNL
IG9ubHkgLyBwcm9iaW5nIGZsYWdzCisgICAgICAgICAgICBpZiBmcmFtZV90eXBlIG5vdCBpbiBO
T05fQUNLX0VMSUNJVElOR19GUkFNRV9UWVBFUzoKKyAgICAgICAgICAgICAgICBpc19hY2tfZWxp
Y2l0aW5nID0gVHJ1ZQorCisgICAgICAgICAgICBpZiBmcmFtZV90eXBlIG5vdCBpbiBQUk9CSU5H
X0ZSQU1FX1RZUEVTOgorICAgICAgICAgICAgICAgIGlzX3Byb2JpbmcgPSBGYWxzZQorICAgICAg
ICAgICAgZWxpZiBpc19wcm9iaW5nIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgaXNfcHJvYmlu
ZyA9IFRydWUKKworICAgICAgICByZXR1cm4gaXNfYWNrX2VsaWNpdGluZywgYm9vbChpc19wcm9i
aW5nKQorCisgICAgZGVmIF9yZXBsZW5pc2hfY29ubmVjdGlvbl9pZHMoc2VsZikgLT4gTm9uZToK
KyAgICAgICAgIiIiCisgICAgICAgIEdlbmVyYXRlIG5ldyBjb25uZWN0aW9uIElEcy4KKyAgICAg
ICAgIiIiCisgICAgICAgIHdoaWxlIGxlbihzZWxmLl9ob3N0X2NpZHMpIDwgbWluKDgsIHNlbGYu
X3JlbW90ZV9hY3RpdmVfY29ubmVjdGlvbl9pZF9saW1pdCk6CisgICAgICAgICAgICBzZWxmLl9o
b3N0X2NpZHMuYXBwZW5kKAorICAgICAgICAgICAgICAgIFF1aWNDb25uZWN0aW9uSWQoCisgICAg
ICAgICAgICAgICAgICAgIGNpZD1vcy51cmFuZG9tKHNlbGYuX2NvbmZpZ3VyYXRpb24uY29ubmVj
dGlvbl9pZF9sZW5ndGgpLAorICAgICAgICAgICAgICAgICAgICBzZXF1ZW5jZV9udW1iZXI9c2Vs
Zi5faG9zdF9jaWRfc2VxLAorICAgICAgICAgICAgICAgICAgICBzdGF0ZWxlc3NfcmVzZXRfdG9r
ZW49b3MudXJhbmRvbSgxNiksCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgKQorICAg
ICAgICAgICAgc2VsZi5faG9zdF9jaWRfc2VxICs9IDEKKworICAgIGRlZiBfcHVzaF9jcnlwdG9f
ZGF0YShzZWxmKSAtPiBOb25lOgorICAgICAgICBmb3IgZXBvY2gsIGJ1ZiBpbiBzZWxmLl9jcnlw
dG9fYnVmZmVycy5pdGVtcygpOgorICAgICAgICAgICAgc2VsZi5fY3J5cHRvX3N0cmVhbXNbZXBv
Y2hdLndyaXRlKGJ1Zi5kYXRhKQorICAgICAgICAgICAgYnVmLnNlZWsoMCkKKworICAgIGRlZiBf
c2VuZF9wcm9iZShzZWxmKSAtPiBOb25lOgorICAgICAgICBzZWxmLl9wcm9iZV9wZW5kaW5nID0g
VHJ1ZQorCisgICAgZGVmIF9wYXJzZV90cmFuc3BvcnRfcGFyYW1ldGVycygKKyAgICAgICAgc2Vs
ZiwgZGF0YTogYnl0ZXMsIGZyb21fc2Vzc2lvbl90aWNrZXQ6IGJvb2wgPSBGYWxzZQorICAgICkg
LT4gTm9uZToKKyAgICAgICAgcXVpY190cmFuc3BvcnRfcGFyYW1ldGVycyA9IHB1bGxfcXVpY190
cmFuc3BvcnRfcGFyYW1ldGVycygKKyAgICAgICAgICAgIEJ1ZmZlcihkYXRhPWRhdGEpLCBwcm90
b2NvbF92ZXJzaW9uPXNlbGYuX3ZlcnNpb24KKyAgICAgICAgKQorCisgICAgICAgICMgbG9nIGV2
ZW50CisgICAgICAgIGlmIHNlbGYuX3F1aWNfbG9nZ2VyIGlzIG5vdCBOb25lIGFuZCBub3QgZnJv
bV9zZXNzaW9uX3RpY2tldDoKKyAgICAgICAgICAgIHNlbGYuX3F1aWNfbG9nZ2VyLmxvZ19ldmVu
dCgKKyAgICAgICAgICAgICAgICBjYXRlZ29yeT0idHJhbnNwb3J0IiwKKyAgICAgICAgICAgICAg
ICBldmVudD0icGFyYW1ldGVyc19zZXQiLAorICAgICAgICAgICAgICAgIGRhdGE9c2VsZi5fcXVp
Y19sb2dnZXIuZW5jb2RlX3RyYW5zcG9ydF9wYXJhbWV0ZXJzKAorICAgICAgICAgICAgICAgICAg
ICBvd25lcj0icmVtb3RlIiwgcGFyYW1ldGVycz1xdWljX3RyYW5zcG9ydF9wYXJhbWV0ZXJzCisg
ICAgICAgICAgICAgICAgKSwKKyAgICAgICAgICAgICkKKworICAgICAgICAjIHZhbGlkYXRlIHJl
bW90ZSBwYXJhbWV0ZXJzCisgICAgICAgIGlmICgKKyAgICAgICAgICAgIHNlbGYuX2lzX2NsaWVu
dAorICAgICAgICAgICAgYW5kIG5vdCBmcm9tX3Nlc3Npb25fdGlja2V0CisgICAgICAgICAgICBh
bmQgKAorICAgICAgICAgICAgICAgIHF1aWNfdHJhbnNwb3J0X3BhcmFtZXRlcnMub3JpZ2luYWxf
Y29ubmVjdGlvbl9pZAorICAgICAgICAgICAgICAgICE9IHNlbGYuX29yaWdpbmFsX2Nvbm5lY3Rp
b25faWQKKyAgICAgICAgICAgICkKKyAgICAgICAgKToKKyAgICAgICAgICAgIHJhaXNlIFF1aWND
b25uZWN0aW9uRXJyb3IoCisgICAgICAgICAgICAgICAgZXJyb3JfY29kZT1RdWljRXJyb3JDb2Rl
LlRSQU5TUE9SVF9QQVJBTUVURVJfRVJST1IsCisgICAgICAgICAgICAgICAgZnJhbWVfdHlwZT1R
dWljRnJhbWVUeXBlLkNSWVBUTywKKyAgICAgICAgICAgICAgICByZWFzb25fcGhyYXNlPSJvcmln
aW5hbF9jb25uZWN0aW9uX2lkIGRvZXMgbm90IG1hdGNoIiwKKyAgICAgICAgICAgICkKKworICAg
ICAgICAjIHN0b3JlIHJlbW90ZSBwYXJhbWV0ZXJzCisgICAgICAgIGlmIHF1aWNfdHJhbnNwb3J0
X3BhcmFtZXRlcnMuYWNrX2RlbGF5X2V4cG9uZW50IGlzIG5vdCBOb25lOgorICAgICAgICAgICAg
c2VsZi5fcmVtb3RlX2Fja19kZWxheV9leHBvbmVudCA9IHNlbGYuX3JlbW90ZV9hY2tfZGVsYXlf
ZXhwb25lbnQKKyAgICAgICAgaWYgcXVpY190cmFuc3BvcnRfcGFyYW1ldGVycy5hY3RpdmVfY29u
bmVjdGlvbl9pZF9saW1pdCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHNlbGYuX3JlbW90ZV9h
Y3RpdmVfY29ubmVjdGlvbl9pZF9saW1pdCA9ICgKKyAgICAgICAgICAgICAgICBxdWljX3RyYW5z
cG9ydF9wYXJhbWV0ZXJzLmFjdGl2ZV9jb25uZWN0aW9uX2lkX2xpbWl0CisgICAgICAgICAgICAp
CisgICAgICAgIGlmIHF1aWNfdHJhbnNwb3J0X3BhcmFtZXRlcnMuaWRsZV90aW1lb3V0IGlzIG5v
dCBOb25lOgorICAgICAgICAgICAgc2VsZi5fcmVtb3RlX2lkbGVfdGltZW91dCA9IHF1aWNfdHJh
bnNwb3J0X3BhcmFtZXRlcnMuaWRsZV90aW1lb3V0IC8gMTAwMC4wCisgICAgICAgIGlmIHF1aWNf
dHJhbnNwb3J0X3BhcmFtZXRlcnMubWF4X2Fja19kZWxheSBpcyBub3QgTm9uZToKKyAgICAgICAg
ICAgIHNlbGYuX2xvc3MubWF4X2Fja19kZWxheSA9IHF1aWNfdHJhbnNwb3J0X3BhcmFtZXRlcnMu
bWF4X2Fja19kZWxheSAvIDEwMDAuMAorICAgICAgICBzZWxmLl9yZW1vdGVfbWF4X2RhdGFncmFt
X2ZyYW1lX3NpemUgPSAoCisgICAgICAgICAgICBxdWljX3RyYW5zcG9ydF9wYXJhbWV0ZXJzLm1h
eF9kYXRhZ3JhbV9mcmFtZV9zaXplCisgICAgICAgICkKKyAgICAgICAgZm9yIHBhcmFtIGluIFsK
KyAgICAgICAgICAgICJtYXhfZGF0YSIsCisgICAgICAgICAgICAibWF4X3N0cmVhbV9kYXRhX2Jp
ZGlfbG9jYWwiLAorICAgICAgICAgICAgIm1heF9zdHJlYW1fZGF0YV9iaWRpX3JlbW90ZSIsCisg
ICAgICAgICAgICAibWF4X3N0cmVhbV9kYXRhX3VuaSIsCisgICAgICAgICAgICAibWF4X3N0cmVh
bXNfYmlkaSIsCisgICAgICAgICAgICAibWF4X3N0cmVhbXNfdW5pIiwKKyAgICAgICAgXToKKyAg
ICAgICAgICAgIHZhbHVlID0gZ2V0YXR0cihxdWljX3RyYW5zcG9ydF9wYXJhbWV0ZXJzLCAiaW5p
dGlhbF8iICsgcGFyYW0pCisgICAgICAgICAgICBpZiB2YWx1ZSBpcyBub3QgTm9uZToKKyAgICAg
ICAgICAgICAgICBzZXRhdHRyKHNlbGYsICJfcmVtb3RlXyIgKyBwYXJhbSwgdmFsdWUpCisKKyAg
ICBkZWYgX3NlcmlhbGl6ZV90cmFuc3BvcnRfcGFyYW1ldGVycyhzZWxmKSAtPiBieXRlczoKKyAg
ICAgICAgcXVpY190cmFuc3BvcnRfcGFyYW1ldGVycyA9IFF1aWNUcmFuc3BvcnRQYXJhbWV0ZXJz
KAorICAgICAgICAgICAgYWNrX2RlbGF5X2V4cG9uZW50PXNlbGYuX2xvY2FsX2Fja19kZWxheV9l
eHBvbmVudCwKKyAgICAgICAgICAgIGFjdGl2ZV9jb25uZWN0aW9uX2lkX2xpbWl0PXNlbGYuX2xv
Y2FsX2FjdGl2ZV9jb25uZWN0aW9uX2lkX2xpbWl0LAorICAgICAgICAgICAgaWRsZV90aW1lb3V0
PWludChzZWxmLl9jb25maWd1cmF0aW9uLmlkbGVfdGltZW91dCAqIDEwMDApLAorICAgICAgICAg
ICAgaW5pdGlhbF9tYXhfZGF0YT1zZWxmLl9sb2NhbF9tYXhfZGF0YSwKKyAgICAgICAgICAgIGlu
aXRpYWxfbWF4X3N0cmVhbV9kYXRhX2JpZGlfbG9jYWw9c2VsZi5fbG9jYWxfbWF4X3N0cmVhbV9k
YXRhX2JpZGlfbG9jYWwsCisgICAgICAgICAgICBpbml0aWFsX21heF9zdHJlYW1fZGF0YV9iaWRp
X3JlbW90ZT1zZWxmLl9sb2NhbF9tYXhfc3RyZWFtX2RhdGFfYmlkaV9yZW1vdGUsCisgICAgICAg
ICAgICBpbml0aWFsX21heF9zdHJlYW1fZGF0YV91bmk9c2VsZi5fbG9jYWxfbWF4X3N0cmVhbV9k
YXRhX3VuaSwKKyAgICAgICAgICAgIGluaXRpYWxfbWF4X3N0cmVhbXNfYmlkaT1zZWxmLl9sb2Nh
bF9tYXhfc3RyZWFtc19iaWRpLAorICAgICAgICAgICAgaW5pdGlhbF9tYXhfc3RyZWFtc191bmk9
c2VsZi5fbG9jYWxfbWF4X3N0cmVhbXNfdW5pLAorICAgICAgICAgICAgbWF4X2Fja19kZWxheT0y
NSwKKyAgICAgICAgICAgIG1heF9kYXRhZ3JhbV9mcmFtZV9zaXplPXNlbGYuX2NvbmZpZ3VyYXRp
b24ubWF4X2RhdGFncmFtX2ZyYW1lX3NpemUsCisgICAgICAgICAgICBxdWFudHVtX3JlYWRpbmVz
cz1iIlEiICogMTIwMAorICAgICAgICAgICAgaWYgc2VsZi5fY29uZmlndXJhdGlvbi5xdWFudHVt
X3JlYWRpbmVzc190ZXN0CisgICAgICAgICAgICBlbHNlIE5vbmUsCisgICAgICAgICkKKyAgICAg
ICAgaWYgbm90IHNlbGYuX2lzX2NsaWVudDoKKyAgICAgICAgICAgIHF1aWNfdHJhbnNwb3J0X3Bh
cmFtZXRlcnMub3JpZ2luYWxfY29ubmVjdGlvbl9pZCA9ICgKKyAgICAgICAgICAgICAgICBzZWxm
Ll9vcmlnaW5hbF9jb25uZWN0aW9uX2lkCisgICAgICAgICAgICApCisKKyAgICAgICAgIyBsb2cg
ZXZlbnQKKyAgICAgICAgaWYgc2VsZi5fcXVpY19sb2dnZXIgaXMgbm90IE5vbmU6CisgICAgICAg
ICAgICBzZWxmLl9xdWljX2xvZ2dlci5sb2dfZXZlbnQoCisgICAgICAgICAgICAgICAgY2F0ZWdv
cnk9InRyYW5zcG9ydCIsCisgICAgICAgICAgICAgICAgZXZlbnQ9InBhcmFtZXRlcnNfc2V0IiwK
KyAgICAgICAgICAgICAgICBkYXRhPXNlbGYuX3F1aWNfbG9nZ2VyLmVuY29kZV90cmFuc3BvcnRf
cGFyYW1ldGVycygKKyAgICAgICAgICAgICAgICAgICAgb3duZXI9ImxvY2FsIiwgcGFyYW1ldGVy
cz1xdWljX3RyYW5zcG9ydF9wYXJhbWV0ZXJzCisgICAgICAgICAgICAgICAgKSwKKyAgICAgICAg
ICAgICkKKworICAgICAgICBidWYgPSBCdWZmZXIoY2FwYWNpdHk9MyAqIFBBQ0tFVF9NQVhfU0la
RSkKKyAgICAgICAgcHVzaF9xdWljX3RyYW5zcG9ydF9wYXJhbWV0ZXJzKAorICAgICAgICAgICAg
YnVmLCBxdWljX3RyYW5zcG9ydF9wYXJhbWV0ZXJzLCBwcm90b2NvbF92ZXJzaW9uPXNlbGYuX3Zl
cnNpb24KKyAgICAgICAgKQorICAgICAgICByZXR1cm4gYnVmLmRhdGEKKworICAgIGRlZiBfc2V0
X3N0YXRlKHNlbGYsIHN0YXRlOiBRdWljQ29ubmVjdGlvblN0YXRlKSAtPiBOb25lOgorICAgICAg
ICBzZWxmLl9sb2dnZXIuZGVidWcoIiVzIC0+ICVzIiwgc2VsZi5fc3RhdGUsIHN0YXRlKQorICAg
ICAgICBzZWxmLl9zdGF0ZSA9IHN0YXRlCisKKyAgICBkZWYgX3N0cmVhbV9jYW5fcmVjZWl2ZShz
ZWxmLCBzdHJlYW1faWQ6IGludCkgLT4gYm9vbDoKKyAgICAgICAgcmV0dXJuIHN0cmVhbV9pc19j
bGllbnRfaW5pdGlhdGVkKAorICAgICAgICAgICAgc3RyZWFtX2lkCisgICAgICAgICkgIT0gc2Vs
Zi5faXNfY2xpZW50IG9yIG5vdCBzdHJlYW1faXNfdW5pZGlyZWN0aW9uYWwoc3RyZWFtX2lkKQor
CisgICAgZGVmIF9zdHJlYW1fY2FuX3NlbmQoc2VsZiwgc3RyZWFtX2lkOiBpbnQpIC0+IGJvb2w6
CisgICAgICAgIHJldHVybiBzdHJlYW1faXNfY2xpZW50X2luaXRpYXRlZCgKKyAgICAgICAgICAg
IHN0cmVhbV9pZAorICAgICAgICApID09IHNlbGYuX2lzX2NsaWVudCBvciBub3Qgc3RyZWFtX2lz
X3VuaWRpcmVjdGlvbmFsKHN0cmVhbV9pZCkKKworICAgIGRlZiBfdW5ibG9ja19zdHJlYW1zKHNl
bGYsIGlzX3VuaWRpcmVjdGlvbmFsOiBib29sKSAtPiBOb25lOgorICAgICAgICBpZiBpc191bmlk
aXJlY3Rpb25hbDoKKyAgICAgICAgICAgIG1heF9zdHJlYW1fZGF0YV9yZW1vdGUgPSBzZWxmLl9y
ZW1vdGVfbWF4X3N0cmVhbV9kYXRhX3VuaQorICAgICAgICAgICAgbWF4X3N0cmVhbXMgPSBzZWxm
Ll9yZW1vdGVfbWF4X3N0cmVhbXNfdW5pCisgICAgICAgICAgICBzdHJlYW1zX2Jsb2NrZWQgPSBz
ZWxmLl9zdHJlYW1zX2Jsb2NrZWRfdW5pCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBtYXhf
c3RyZWFtX2RhdGFfcmVtb3RlID0gc2VsZi5fcmVtb3RlX21heF9zdHJlYW1fZGF0YV9iaWRpX3Jl
bW90ZQorICAgICAgICAgICAgbWF4X3N0cmVhbXMgPSBzZWxmLl9yZW1vdGVfbWF4X3N0cmVhbXNf
YmlkaQorICAgICAgICAgICAgc3RyZWFtc19ibG9ja2VkID0gc2VsZi5fc3RyZWFtc19ibG9ja2Vk
X2JpZGkKKworICAgICAgICB3aGlsZSBzdHJlYW1zX2Jsb2NrZWQgYW5kIHN0cmVhbXNfYmxvY2tl
ZFswXS5zdHJlYW1faWQgLy8gNCA8IG1heF9zdHJlYW1zOgorICAgICAgICAgICAgc3RyZWFtID0g
c3RyZWFtc19ibG9ja2VkLnBvcCgwKQorICAgICAgICAgICAgc3RyZWFtLmlzX2Jsb2NrZWQgPSBG
YWxzZQorICAgICAgICAgICAgc3RyZWFtLm1heF9zdHJlYW1fZGF0YV9yZW1vdGUgPSBtYXhfc3Ry
ZWFtX2RhdGFfcmVtb3RlCisKKyAgICAgICAgaWYgbm90IHNlbGYuX3N0cmVhbXNfYmxvY2tlZF9i
aWRpIGFuZCBub3Qgc2VsZi5fc3RyZWFtc19ibG9ja2VkX3VuaToKKyAgICAgICAgICAgIHNlbGYu
X3N0cmVhbXNfYmxvY2tlZF9wZW5kaW5nID0gRmFsc2UKKworICAgIGRlZiBfdXBkYXRlX3RyYWZm
aWNfa2V5KAorICAgICAgICBzZWxmLAorICAgICAgICBkaXJlY3Rpb246IHRscy5EaXJlY3Rpb24s
CisgICAgICAgIGVwb2NoOiB0bHMuRXBvY2gsCisgICAgICAgIGNpcGhlcl9zdWl0ZTogdGxzLkNp
cGhlclN1aXRlLAorICAgICAgICBzZWNyZXQ6IGJ5dGVzLAorICAgICkgLT4gTm9uZToKKyAgICAg
ICAgIiIiCisgICAgICAgIENhbGxiYWNrIHdoaWNoIGlzIGludm9rZWQgYnkgdGhlIFRMUyBlbmdp
bmUgd2hlbiBuZXcgdHJhZmZpYyBrZXlzIGFyZQorICAgICAgICBhdmFpbGFibGUuCisgICAgICAg
ICIiIgorICAgICAgICBzZWNyZXRzX2xvZ19maWxlID0gc2VsZi5fY29uZmlndXJhdGlvbi5zZWNy
ZXRzX2xvZ19maWxlCisgICAgICAgIGlmIHNlY3JldHNfbG9nX2ZpbGUgaXMgbm90IE5vbmU6Cisg
ICAgICAgICAgICBsYWJlbF9yb3cgPSBzZWxmLl9pc19jbGllbnQgPT0gKGRpcmVjdGlvbiA9PSB0
bHMuRGlyZWN0aW9uLkRFQ1JZUFQpCisgICAgICAgICAgICBsYWJlbCA9IFNFQ1JFVFNfTEFCRUxT
W2xhYmVsX3Jvd11bZXBvY2gudmFsdWVdCisgICAgICAgICAgICBzZWNyZXRzX2xvZ19maWxlLndy
aXRlKAorICAgICAgICAgICAgICAgICIlcyAlcyAlc1xuIiAlIChsYWJlbCwgc2VsZi50bHMuY2xp
ZW50X3JhbmRvbS5oZXgoKSwgc2VjcmV0LmhleCgpKQorICAgICAgICAgICAgKQorICAgICAgICAg
ICAgc2VjcmV0c19sb2dfZmlsZS5mbHVzaCgpCisKKyAgICAgICAgY3J5cHRvID0gc2VsZi5fY3J5
cHRvc1tlcG9jaF0KKyAgICAgICAgaWYgZGlyZWN0aW9uID09IHRscy5EaXJlY3Rpb24uRU5DUllQ
VDoKKyAgICAgICAgICAgIGNyeXB0by5zZW5kLnNldHVwKAorICAgICAgICAgICAgICAgIGNpcGhl
cl9zdWl0ZT1jaXBoZXJfc3VpdGUsIHNlY3JldD1zZWNyZXQsIHZlcnNpb249c2VsZi5fdmVyc2lv
bgorICAgICAgICAgICAgKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgY3J5cHRvLnJlY3Yu
c2V0dXAoCisgICAgICAgICAgICAgICAgY2lwaGVyX3N1aXRlPWNpcGhlcl9zdWl0ZSwgc2VjcmV0
PXNlY3JldCwgdmVyc2lvbj1zZWxmLl92ZXJzaW9uCisgICAgICAgICAgICApCisKKyAgICBkZWYg
X3dyaXRlX2FwcGxpY2F0aW9uKAorICAgICAgICBzZWxmLCBidWlsZGVyOiBRdWljUGFja2V0QnVp
bGRlciwgbmV0d29ya19wYXRoOiBRdWljTmV0d29ya1BhdGgsIG5vdzogZmxvYXQKKyAgICApIC0+
IE5vbmU6CisgICAgICAgIGNyeXB0b19zdHJlYW06IE9wdGlvbmFsW1F1aWNTdHJlYW1dID0gTm9u
ZQorICAgICAgICBpZiBzZWxmLl9jcnlwdG9zW3Rscy5FcG9jaC5PTkVfUlRUXS5zZW5kLmlzX3Zh
bGlkKCk6CisgICAgICAgICAgICBjcnlwdG8gPSBzZWxmLl9jcnlwdG9zW3Rscy5FcG9jaC5PTkVf
UlRUXQorICAgICAgICAgICAgY3J5cHRvX3N0cmVhbSA9IHNlbGYuX2NyeXB0b19zdHJlYW1zW3Rs
cy5FcG9jaC5PTkVfUlRUXQorICAgICAgICAgICAgcGFja2V0X3R5cGUgPSBQQUNLRVRfVFlQRV9P
TkVfUlRUCisgICAgICAgIGVsaWYgc2VsZi5fY3J5cHRvc1t0bHMuRXBvY2guWkVST19SVFRdLnNl
bmQuaXNfdmFsaWQoKToKKyAgICAgICAgICAgIGNyeXB0byA9IHNlbGYuX2NyeXB0b3NbdGxzLkVw
b2NoLlpFUk9fUlRUXQorICAgICAgICAgICAgcGFja2V0X3R5cGUgPSBQQUNLRVRfVFlQRV9aRVJP
X1JUVAorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIHNwYWNlID0g
c2VsZi5fc3BhY2VzW3Rscy5FcG9jaC5PTkVfUlRUXQorCisgICAgICAgIHdoaWxlIFRydWU6Cisg
ICAgICAgICAgICAjIGFwcGx5IHBhY2luZywgZXhjZXB0IGlmIHdlIGhhdmUgQUNLcyB0byBzZW5k
CisgICAgICAgICAgICBpZiBzcGFjZS5hY2tfYXQgaXMgTm9uZSBvciBzcGFjZS5hY2tfYXQgPj0g
bm93OgorICAgICAgICAgICAgICAgIHNlbGYuX3BhY2luZ19hdCA9IHNlbGYuX2xvc3MuX3BhY2Vy
Lm5leHRfc2VuZF90aW1lKG5vdz1ub3cpCisgICAgICAgICAgICAgICAgaWYgc2VsZi5fcGFjaW5n
X2F0IGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAg
YnVpbGRlci5zdGFydF9wYWNrZXQocGFja2V0X3R5cGUsIGNyeXB0bykKKworICAgICAgICAgICAg
aWYgc2VsZi5faGFuZHNoYWtlX2NvbXBsZXRlOgorICAgICAgICAgICAgICAgICMgQUNLCisgICAg
ICAgICAgICAgICAgaWYgc3BhY2UuYWNrX2F0IGlzIG5vdCBOb25lIGFuZCBzcGFjZS5hY2tfYXQg
PD0gbm93OgorICAgICAgICAgICAgICAgICAgICBzZWxmLl93cml0ZV9hY2tfZnJhbWUoYnVpbGRl
cj1idWlsZGVyLCBzcGFjZT1zcGFjZSwgbm93PW5vdykKKworICAgICAgICAgICAgICAgICMgSEFO
RFNIQUtFX0RPTkUKKyAgICAgICAgICAgICAgICBpZiBzZWxmLl9oYW5kc2hha2VfZG9uZV9wZW5k
aW5nOgorICAgICAgICAgICAgICAgICAgICBzZWxmLl93cml0ZV9oYW5kc2hha2VfZG9uZV9mcmFt
ZShidWlsZGVyPWJ1aWxkZXIpCisgICAgICAgICAgICAgICAgICAgIHNlbGYuX2hhbmRzaGFrZV9k
b25lX3BlbmRpbmcgPSBGYWxzZQorCisgICAgICAgICAgICAgICAgIyBQQVRIIENIQUxMRU5HRQor
ICAgICAgICAgICAgICAgIGlmICgKKyAgICAgICAgICAgICAgICAgICAgbm90IG5ldHdvcmtfcGF0
aC5pc192YWxpZGF0ZWQKKyAgICAgICAgICAgICAgICAgICAgYW5kIG5ldHdvcmtfcGF0aC5sb2Nh
bF9jaGFsbGVuZ2UgaXMgTm9uZQorICAgICAgICAgICAgICAgICk6CisgICAgICAgICAgICAgICAg
ICAgIGNoYWxsZW5nZSA9IG9zLnVyYW5kb20oOCkKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5f
d3JpdGVfcGF0aF9jaGFsbGVuZ2VfZnJhbWUoCisgICAgICAgICAgICAgICAgICAgICAgICBidWls
ZGVyPWJ1aWxkZXIsIGNoYWxsZW5nZT1jaGFsbGVuZ2UKKyAgICAgICAgICAgICAgICAgICAgKQor
ICAgICAgICAgICAgICAgICAgICBuZXR3b3JrX3BhdGgubG9jYWxfY2hhbGxlbmdlID0gY2hhbGxl
bmdlCisKKyAgICAgICAgICAgICAgICAjIFBBVEggUkVTUE9OU0UKKyAgICAgICAgICAgICAgICBp
ZiBuZXR3b3JrX3BhdGgucmVtb3RlX2NoYWxsZW5nZSBpcyBub3QgTm9uZToKKyAgICAgICAgICAg
ICAgICAgICAgc2VsZi5fd3JpdGVfcGF0aF9yZXNwb25zZV9mcmFtZSgKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGJ1aWxkZXI9YnVpbGRlciwgY2hhbGxlbmdlPW5ldHdvcmtfcGF0aC5yZW1vdGVf
Y2hhbGxlbmdlCisgICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICAgICAgbmV0
d29ya19wYXRoLnJlbW90ZV9jaGFsbGVuZ2UgPSBOb25lCisKKyAgICAgICAgICAgICAgICAjIE5F
V19DT05ORUNUSU9OX0lECisgICAgICAgICAgICAgICAgZm9yIGNvbm5lY3Rpb25faWQgaW4gc2Vs
Zi5faG9zdF9jaWRzOgorICAgICAgICAgICAgICAgICAgICBpZiBub3QgY29ubmVjdGlvbl9pZC53
YXNfc2VudDoKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3dyaXRlX25ld19jb25uZWN0
aW9uX2lkX2ZyYW1lKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1aWxkZXI9YnVpbGRl
ciwgY29ubmVjdGlvbl9pZD1jb25uZWN0aW9uX2lkCisgICAgICAgICAgICAgICAgICAgICAgICAp
CisKKyAgICAgICAgICAgICAgICAjIFJFVElSRV9DT05ORUNUSU9OX0lECisgICAgICAgICAgICAg
ICAgd2hpbGUgc2VsZi5fcmV0aXJlX2Nvbm5lY3Rpb25faWRzOgorICAgICAgICAgICAgICAgICAg
ICBzZXF1ZW5jZV9udW1iZXIgPSBzZWxmLl9yZXRpcmVfY29ubmVjdGlvbl9pZHMucG9wKDApCisg
ICAgICAgICAgICAgICAgICAgIHNlbGYuX3dyaXRlX3JldGlyZV9jb25uZWN0aW9uX2lkX2ZyYW1l
KAorICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGRlcj1idWlsZGVyLCBzZXF1ZW5jZV9udW1i
ZXI9c2VxdWVuY2VfbnVtYmVyCisgICAgICAgICAgICAgICAgICAgICkKKworICAgICAgICAgICAg
ICAgICMgU1RSRUFNU19CTE9DS0VECisgICAgICAgICAgICAgICAgaWYgc2VsZi5fc3RyZWFtc19i
bG9ja2VkX3BlbmRpbmc6CisgICAgICAgICAgICAgICAgICAgIGlmIHNlbGYuX3N0cmVhbXNfYmxv
Y2tlZF9iaWRpOgorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fd3JpdGVfc3RyZWFtc19i
bG9ja2VkX2ZyYW1lKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1aWxkZXI9YnVpbGRl
ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcmFtZV90eXBlPVF1aWNGcmFtZVR5cGUu
U1RSRUFNU19CTE9DS0VEX0JJREksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGltaXQ9
c2VsZi5fcmVtb3RlX21heF9zdHJlYW1zX2JpZGksCisgICAgICAgICAgICAgICAgICAgICAgICAp
CisgICAgICAgICAgICAgICAgICAgIGlmIHNlbGYuX3N0cmVhbXNfYmxvY2tlZF91bmk6CisgICAg
ICAgICAgICAgICAgICAgICAgICBzZWxmLl93cml0ZV9zdHJlYW1zX2Jsb2NrZWRfZnJhbWUoCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGRlcj1idWlsZGVyLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGZyYW1lX3R5cGU9UXVpY0ZyYW1lVHlwZS5TVFJFQU1TX0JMT0NLRURf
VU5JLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbWl0PXNlbGYuX3JlbW90ZV9tYXhf
c3RyZWFtc191bmksCisgICAgICAgICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAg
ICAgIHNlbGYuX3N0cmVhbXNfYmxvY2tlZF9wZW5kaW5nID0gRmFsc2UKKworICAgICAgICAgICAg
ICAgICMgTUFYX0RBVEEKKyAgICAgICAgICAgICAgICBzZWxmLl93cml0ZV9jb25uZWN0aW9uX2xp
bWl0cyhidWlsZGVyPWJ1aWxkZXIsIHNwYWNlPXNwYWNlKQorCisgICAgICAgICAgICAjIHN0cmVh
bS1sZXZlbCBsaW1pdHMKKyAgICAgICAgICAgIGZvciBzdHJlYW0gaW4gc2VsZi5fc3RyZWFtcy52
YWx1ZXMoKToKKyAgICAgICAgICAgICAgICBzZWxmLl93cml0ZV9zdHJlYW1fbGltaXRzKGJ1aWxk
ZXI9YnVpbGRlciwgc3BhY2U9c3BhY2UsIHN0cmVhbT1zdHJlYW0pCisKKyAgICAgICAgICAgICMg
UElORyAodXNlci1yZXF1ZXN0KQorICAgICAgICAgICAgaWYgc2VsZi5fcGluZ19wZW5kaW5nOgor
ICAgICAgICAgICAgICAgIHNlbGYuX3dyaXRlX3BpbmdfZnJhbWUoYnVpbGRlciwgc2VsZi5fcGlu
Z19wZW5kaW5nKQorICAgICAgICAgICAgICAgIHNlbGYuX3BpbmdfcGVuZGluZy5jbGVhcigpCisK
KyAgICAgICAgICAgICMgUElORyAocHJvYmUpCisgICAgICAgICAgICBpZiBzZWxmLl9wcm9iZV9w
ZW5kaW5nOgorICAgICAgICAgICAgICAgIHNlbGYuX3dyaXRlX3BpbmdfZnJhbWUoYnVpbGRlciwg
Y29tbWVudD0icHJvYmUiKQorICAgICAgICAgICAgICAgIHNlbGYuX3Byb2JlX3BlbmRpbmcgPSBG
YWxzZQorCisgICAgICAgICAgICAjIENSWVBUTworICAgICAgICAgICAgaWYgY3J5cHRvX3N0cmVh
bSBpcyBub3QgTm9uZSBhbmQgbm90IGNyeXB0b19zdHJlYW0uc2VuZF9idWZmZXJfaXNfZW1wdHk6
CisgICAgICAgICAgICAgICAgc2VsZi5fd3JpdGVfY3J5cHRvX2ZyYW1lKAorICAgICAgICAgICAg
ICAgICAgICBidWlsZGVyPWJ1aWxkZXIsIHNwYWNlPXNwYWNlLCBzdHJlYW09Y3J5cHRvX3N0cmVh
bQorICAgICAgICAgICAgICAgICkKKworICAgICAgICAgICAgIyBEQVRBR1JBTQorICAgICAgICAg
ICAgd2hpbGUgc2VsZi5fZGF0YWdyYW1zX3BlbmRpbmc6CisgICAgICAgICAgICAgICAgdHJ5Ogor
ICAgICAgICAgICAgICAgICAgICBzZWxmLl93cml0ZV9kYXRhZ3JhbV9mcmFtZSgKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGJ1aWxkZXI9YnVpbGRlciwKKyAgICAgICAgICAgICAgICAgICAgICAg
IGRhdGE9c2VsZi5fZGF0YWdyYW1zX3BlbmRpbmdbMF0sCisgICAgICAgICAgICAgICAgICAgICAg
ICBmcmFtZV90eXBlPVF1aWNGcmFtZVR5cGUuREFUQUdSQU1fV0lUSF9MRU5HVEgsCisgICAgICAg
ICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5fZGF0YWdyYW1zX3BlbmRp
bmcucG9wbGVmdCgpCisgICAgICAgICAgICAgICAgZXhjZXB0IFF1aWNQYWNrZXRCdWlsZGVyU3Rv
cDoKKyAgICAgICAgICAgICAgICAgICAgYnJlYWsKKworICAgICAgICAgICAgIyBTVFJFQU0KKyAg
ICAgICAgICAgIGZvciBzdHJlYW0gaW4gc2VsZi5fc3RyZWFtcy52YWx1ZXMoKToKKyAgICAgICAg
ICAgICAgICBpZiBub3Qgc3RyZWFtLmlzX2Jsb2NrZWQgYW5kIG5vdCBzdHJlYW0uc2VuZF9idWZm
ZXJfaXNfZW1wdHk6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuX3JlbW90ZV9tYXhfZGF0YV91
c2VkICs9IHNlbGYuX3dyaXRlX3N0cmVhbV9mcmFtZSgKKyAgICAgICAgICAgICAgICAgICAgICAg
IGJ1aWxkZXI9YnVpbGRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgIHNwYWNlPXNwYWNlLAor
ICAgICAgICAgICAgICAgICAgICAgICAgc3RyZWFtPXN0cmVhbSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgIG1heF9vZmZzZXQ9bWluKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmVh
bS5fc2VuZF9oaWdoZXN0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKyBzZWxmLl9yZW1v
dGVfbWF4X2RhdGEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIHNlbGYuX3JlbW90ZV9t
YXhfZGF0YV91c2VkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmVhbS5tYXhfc3Ry
ZWFtX2RhdGFfcmVtb3RlLAorICAgICAgICAgICAgICAgICAgICAgICAgKSwKKyAgICAgICAgICAg
ICAgICAgICAgKQorCisgICAgICAgICAgICBpZiBidWlsZGVyLnBhY2tldF9pc19lbXB0eToKKyAg
ICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBz
ZWxmLl9sb3NzLl9wYWNlci51cGRhdGVfYWZ0ZXJfc2VuZChub3c9bm93KQorCisgICAgZGVmIF93
cml0ZV9oYW5kc2hha2UoCisgICAgICAgIHNlbGYsIGJ1aWxkZXI6IFF1aWNQYWNrZXRCdWlsZGVy
LCBlcG9jaDogdGxzLkVwb2NoLCBub3c6IGZsb2F0CisgICAgKSAtPiBOb25lOgorICAgICAgICBj
cnlwdG8gPSBzZWxmLl9jcnlwdG9zW2Vwb2NoXQorICAgICAgICBpZiBub3QgY3J5cHRvLnNlbmQu
aXNfdmFsaWQoKToKKyAgICAgICAgICAgIHJldHVybgorCisgICAgICAgIGNyeXB0b19zdHJlYW0g
PSBzZWxmLl9jcnlwdG9fc3RyZWFtc1tlcG9jaF0KKyAgICAgICAgc3BhY2UgPSBzZWxmLl9zcGFj
ZXNbZXBvY2hdCisKKyAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgIGlmIGVwb2NoID09
IHRscy5FcG9jaC5JTklUSUFMOgorICAgICAgICAgICAgICAgIHBhY2tldF90eXBlID0gUEFDS0VU
X1RZUEVfSU5JVElBTAorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBwYWNrZXRf
dHlwZSA9IFBBQ0tFVF9UWVBFX0hBTkRTSEFLRQorICAgICAgICAgICAgYnVpbGRlci5zdGFydF9w
YWNrZXQocGFja2V0X3R5cGUsIGNyeXB0bykKKworICAgICAgICAgICAgIyBBQ0sKKyAgICAgICAg
ICAgIGlmIHNwYWNlLmFja19hdCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICBzZWxmLl93
cml0ZV9hY2tfZnJhbWUoYnVpbGRlcj1idWlsZGVyLCBzcGFjZT1zcGFjZSwgbm93PW5vdykKKwor
ICAgICAgICAgICAgIyBDUllQVE8KKyAgICAgICAgICAgIGlmIG5vdCBjcnlwdG9fc3RyZWFtLnNl
bmRfYnVmZmVyX2lzX2VtcHR5OgorICAgICAgICAgICAgICAgIGlmIHNlbGYuX3dyaXRlX2NyeXB0
b19mcmFtZSgKKyAgICAgICAgICAgICAgICAgICAgYnVpbGRlcj1idWlsZGVyLCBzcGFjZT1zcGFj
ZSwgc3RyZWFtPWNyeXB0b19zdHJlYW0KKyAgICAgICAgICAgICAgICApOgorICAgICAgICAgICAg
ICAgICAgICBzZWxmLl9wcm9iZV9wZW5kaW5nID0gRmFsc2UKKworICAgICAgICAgICAgIyBQSU5H
IChwcm9iZSkKKyAgICAgICAgICAgIGlmICgKKyAgICAgICAgICAgICAgICBzZWxmLl9wcm9iZV9w
ZW5kaW5nCisgICAgICAgICAgICAgICAgYW5kIGVwb2NoID09IHRscy5FcG9jaC5IQU5EU0hBS0UK
KyAgICAgICAgICAgICAgICBhbmQgbm90IHNlbGYuX2hhbmRzaGFrZV9jb21wbGV0ZQorICAgICAg
ICAgICAgKToKKyAgICAgICAgICAgICAgICBzZWxmLl93cml0ZV9waW5nX2ZyYW1lKGJ1aWxkZXIs
IGNvbW1lbnQ9InByb2JlIikKKyAgICAgICAgICAgICAgICBzZWxmLl9wcm9iZV9wZW5kaW5nID0g
RmFsc2UKKworICAgICAgICAgICAgaWYgYnVpbGRlci5wYWNrZXRfaXNfZW1wdHk6CisgICAgICAg
ICAgICAgICAgYnJlYWsKKworICAgIGRlZiBfd3JpdGVfYWNrX2ZyYW1lKAorICAgICAgICBzZWxm
LCBidWlsZGVyOiBRdWljUGFja2V0QnVpbGRlciwgc3BhY2U6IFF1aWNQYWNrZXRTcGFjZSwgbm93
OiBmbG9hdAorICAgICkgLT4gTm9uZToKKyAgICAgICAgIyBjYWxjdWxhdGUgQUNLIGRlbGF5Cisg
ICAgICAgIGFja19kZWxheSA9IG5vdyAtIHNwYWNlLmxhcmdlc3RfcmVjZWl2ZWRfdGltZQorICAg
ICAgICBhY2tfZGVsYXlfZW5jb2RlZCA9IGludChhY2tfZGVsYXkgKiAxMDAwMDAwKSA+PiBzZWxm
Ll9sb2NhbF9hY2tfZGVsYXlfZXhwb25lbnQKKworICAgICAgICBidWYgPSBidWlsZGVyLnN0YXJ0
X2ZyYW1lKAorICAgICAgICAgICAgUXVpY0ZyYW1lVHlwZS5BQ0ssCisgICAgICAgICAgICBjYXBh
Y2l0eT1BQ0tfRlJBTUVfQ0FQQUNJVFksCisgICAgICAgICAgICBoYW5kbGVyPXNlbGYuX29uX2Fj
a19kZWxpdmVyeSwKKyAgICAgICAgICAgIGhhbmRsZXJfYXJncz0oc3BhY2UsIHNwYWNlLmxhcmdl
c3RfcmVjZWl2ZWRfcGFja2V0KSwKKyAgICAgICAgKQorICAgICAgICByYW5nZXMgPSBwdXNoX2Fj
a19mcmFtZShidWYsIHNwYWNlLmFja19xdWV1ZSwgYWNrX2RlbGF5X2VuY29kZWQpCisgICAgICAg
IHNwYWNlLmFja19hdCA9IE5vbmUKKworICAgICAgICAjIGxvZyBmcmFtZQorICAgICAgICBpZiBz
ZWxmLl9xdWljX2xvZ2dlciBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGJ1aWxkZXIucXVpY19s
b2dnZXJfZnJhbWVzLmFwcGVuZCgKKyAgICAgICAgICAgICAgICBzZWxmLl9xdWljX2xvZ2dlci5l
bmNvZGVfYWNrX2ZyYW1lKAorICAgICAgICAgICAgICAgICAgICByYW5nZXM9c3BhY2UuYWNrX3F1
ZXVlLCBkZWxheT1hY2tfZGVsYXkKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICApCisK
KyAgICAgICAgIyBjaGVjayBpZiB3ZSBuZWVkIHRvIHRyaWdnZXIgYW4gQUNLLW9mLUFDSworICAg
ICAgICBpZiByYW5nZXMgPiAxIGFuZCBidWlsZGVyLnBhY2tldF9udW1iZXIgJSA4ID09IDA6Cisg
ICAgICAgICAgICBzZWxmLl93cml0ZV9waW5nX2ZyYW1lKGJ1aWxkZXIsIGNvbW1lbnQ9IkFDSy1v
Zi1BQ0sgdHJpZ2dlciIpCisKKyAgICBkZWYgX3dyaXRlX2Nvbm5lY3Rpb25fY2xvc2VfZnJhbWUo
CisgICAgICAgIHNlbGYsCisgICAgICAgIGJ1aWxkZXI6IFF1aWNQYWNrZXRCdWlsZGVyLAorICAg
ICAgICBlcnJvcl9jb2RlOiBpbnQsCisgICAgICAgIGZyYW1lX3R5cGU6IE9wdGlvbmFsW2ludF0s
CisgICAgICAgIHJlYXNvbl9waHJhc2U6IHN0ciwKKyAgICApIC0+IE5vbmU6CisgICAgICAgIHJl
YXNvbl9ieXRlcyA9IHJlYXNvbl9waHJhc2UuZW5jb2RlKCJ1dGY4IikKKyAgICAgICAgcmVhc29u
X2xlbmd0aCA9IGxlbihyZWFzb25fYnl0ZXMpCisKKyAgICAgICAgaWYgZnJhbWVfdHlwZSBpcyBO
b25lOgorICAgICAgICAgICAgYnVmID0gYnVpbGRlci5zdGFydF9mcmFtZSgKKyAgICAgICAgICAg
ICAgICBRdWljRnJhbWVUeXBlLkFQUExJQ0FUSU9OX0NMT1NFLAorICAgICAgICAgICAgICAgIGNh
cGFjaXR5PUFQUExJQ0FUSU9OX0NMT1NFX0ZSQU1FX0NBUEFDSVRZICsgcmVhc29uX2xlbmd0aCwK
KyAgICAgICAgICAgICkKKyAgICAgICAgICAgIGJ1Zi5wdXNoX3VpbnRfdmFyKGVycm9yX2NvZGUp
CisgICAgICAgICAgICBidWYucHVzaF91aW50X3ZhcihyZWFzb25fbGVuZ3RoKQorICAgICAgICAg
ICAgYnVmLnB1c2hfYnl0ZXMocmVhc29uX2J5dGVzKQorICAgICAgICBlbHNlOgorICAgICAgICAg
ICAgYnVmID0gYnVpbGRlci5zdGFydF9mcmFtZSgKKyAgICAgICAgICAgICAgICBRdWljRnJhbWVU
eXBlLlRSQU5TUE9SVF9DTE9TRSwKKyAgICAgICAgICAgICAgICBjYXBhY2l0eT1UUkFOU1BPUlRf
Q0xPU0VfRlJBTUVfQ0FQQUNJVFkgKyByZWFzb25fbGVuZ3RoLAorICAgICAgICAgICAgKQorICAg
ICAgICAgICAgYnVmLnB1c2hfdWludF92YXIoZXJyb3JfY29kZSkKKyAgICAgICAgICAgIGJ1Zi5w
dXNoX3VpbnRfdmFyKGZyYW1lX3R5cGUpCisgICAgICAgICAgICBidWYucHVzaF91aW50X3Zhcihy
ZWFzb25fbGVuZ3RoKQorICAgICAgICAgICAgYnVmLnB1c2hfYnl0ZXMocmVhc29uX2J5dGVzKQor
CisgICAgICAgICMgbG9nIGZyYW1lCisgICAgICAgIGlmIHNlbGYuX3F1aWNfbG9nZ2VyIGlzIG5v
dCBOb25lOgorICAgICAgICAgICAgYnVpbGRlci5xdWljX2xvZ2dlcl9mcmFtZXMuYXBwZW5kKAor
ICAgICAgICAgICAgICAgIHNlbGYuX3F1aWNfbG9nZ2VyLmVuY29kZV9jb25uZWN0aW9uX2Nsb3Nl
X2ZyYW1lKAorICAgICAgICAgICAgICAgICAgICBlcnJvcl9jb2RlPWVycm9yX2NvZGUsCisgICAg
ICAgICAgICAgICAgICAgIGZyYW1lX3R5cGU9ZnJhbWVfdHlwZSwKKyAgICAgICAgICAgICAgICAg
ICAgcmVhc29uX3BocmFzZT1yZWFzb25fcGhyYXNlLAorICAgICAgICAgICAgICAgICkKKyAgICAg
ICAgICAgICkKKworICAgIGRlZiBfd3JpdGVfY29ubmVjdGlvbl9saW1pdHMoCisgICAgICAgIHNl
bGYsIGJ1aWxkZXI6IFF1aWNQYWNrZXRCdWlsZGVyLCBzcGFjZTogUXVpY1BhY2tldFNwYWNlCisg
ICAgKSAtPiBOb25lOgorICAgICAgICAiIiIKKyAgICAgICAgUmFpc2UgTUFYX0RBVEEgaWYgbmVl
ZGVkLgorICAgICAgICAiIiIKKyAgICAgICAgaWYgc2VsZi5fbG9jYWxfbWF4X2RhdGFfdXNlZCAq
IDIgPiBzZWxmLl9sb2NhbF9tYXhfZGF0YToKKyAgICAgICAgICAgIHNlbGYuX2xvY2FsX21heF9k
YXRhICo9IDIKKyAgICAgICAgICAgIHNlbGYuX2xvZ2dlci5kZWJ1ZygiTG9jYWwgbWF4X2RhdGEg
cmFpc2VkIHRvICVkIiwgc2VsZi5fbG9jYWxfbWF4X2RhdGEpCisgICAgICAgIGlmIHNlbGYuX2xv
Y2FsX21heF9kYXRhX3NlbnQgIT0gc2VsZi5fbG9jYWxfbWF4X2RhdGE6CisgICAgICAgICAgICBi
dWYgPSBidWlsZGVyLnN0YXJ0X2ZyYW1lKAorICAgICAgICAgICAgICAgIFF1aWNGcmFtZVR5cGUu
TUFYX0RBVEEsCisgICAgICAgICAgICAgICAgY2FwYWNpdHk9TUFYX0RBVEFfRlJBTUVfQ0FQQUNJ
VFksCisgICAgICAgICAgICAgICAgaGFuZGxlcj1zZWxmLl9vbl9tYXhfZGF0YV9kZWxpdmVyeSwK
KyAgICAgICAgICAgICkKKyAgICAgICAgICAgIGJ1Zi5wdXNoX3VpbnRfdmFyKHNlbGYuX2xvY2Fs
X21heF9kYXRhKQorICAgICAgICAgICAgc2VsZi5fbG9jYWxfbWF4X2RhdGFfc2VudCA9IHNlbGYu
X2xvY2FsX21heF9kYXRhCisKKyAgICAgICAgICAgICMgbG9nIGZyYW1lCisgICAgICAgICAgICBp
ZiBzZWxmLl9xdWljX2xvZ2dlciBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICBidWlsZGVy
LnF1aWNfbG9nZ2VyX2ZyYW1lcy5hcHBlbmQoCisgICAgICAgICAgICAgICAgICAgIHNlbGYuX3F1
aWNfbG9nZ2VyLmVuY29kZV9tYXhfZGF0YV9mcmFtZShzZWxmLl9sb2NhbF9tYXhfZGF0YSkKKyAg
ICAgICAgICAgICAgICApCisKKyAgICBkZWYgX3dyaXRlX2NyeXB0b19mcmFtZSgKKyAgICAgICAg
c2VsZiwgYnVpbGRlcjogUXVpY1BhY2tldEJ1aWxkZXIsIHNwYWNlOiBRdWljUGFja2V0U3BhY2Us
IHN0cmVhbTogUXVpY1N0cmVhbQorICAgICkgLT4gYm9vbDoKKyAgICAgICAgZnJhbWVfb3Zlcmhl
YWQgPSAzICsgc2l6ZV91aW50X3ZhcihzdHJlYW0ubmV4dF9zZW5kX29mZnNldCkKKyAgICAgICAg
ZnJhbWUgPSBzdHJlYW0uZ2V0X2ZyYW1lKGJ1aWxkZXIucmVtYWluaW5nX2ZsaWdodF9zcGFjZSAt
IGZyYW1lX292ZXJoZWFkKQorICAgICAgICBpZiBmcmFtZSBpcyBub3QgTm9uZToKKyAgICAgICAg
ICAgIGJ1ZiA9IGJ1aWxkZXIuc3RhcnRfZnJhbWUoCisgICAgICAgICAgICAgICAgUXVpY0ZyYW1l
VHlwZS5DUllQVE8sCisgICAgICAgICAgICAgICAgY2FwYWNpdHk9ZnJhbWVfb3ZlcmhlYWQsCisg
ICAgICAgICAgICAgICAgaGFuZGxlcj1zdHJlYW0ub25fZGF0YV9kZWxpdmVyeSwKKyAgICAgICAg
ICAgICAgICBoYW5kbGVyX2FyZ3M9KGZyYW1lLm9mZnNldCwgZnJhbWUub2Zmc2V0ICsgbGVuKGZy
YW1lLmRhdGEpKSwKKyAgICAgICAgICAgICkKKyAgICAgICAgICAgIGJ1Zi5wdXNoX3VpbnRfdmFy
KGZyYW1lLm9mZnNldCkKKyAgICAgICAgICAgIGJ1Zi5wdXNoX3VpbnQxNihsZW4oZnJhbWUuZGF0
YSkgfCAweDQwMDApCisgICAgICAgICAgICBidWYucHVzaF9ieXRlcyhmcmFtZS5kYXRhKQorCisg
ICAgICAgICAgICAjIGxvZyBmcmFtZQorICAgICAgICAgICAgaWYgc2VsZi5fcXVpY19sb2dnZXIg
aXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgYnVpbGRlci5xdWljX2xvZ2dlcl9mcmFtZXMu
YXBwZW5kKAorICAgICAgICAgICAgICAgICAgICBzZWxmLl9xdWljX2xvZ2dlci5lbmNvZGVfY3J5
cHRvX2ZyYW1lKGZyYW1lKQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgIHJldHVybiBU
cnVlCisKKyAgICAgICAgcmV0dXJuIEZhbHNlCisKKyAgICBkZWYgX3dyaXRlX2RhdGFncmFtX2Zy
YW1lKAorICAgICAgICBzZWxmLCBidWlsZGVyOiBRdWljUGFja2V0QnVpbGRlciwgZGF0YTogYnl0
ZXMsIGZyYW1lX3R5cGU6IFF1aWNGcmFtZVR5cGUKKyAgICApIC0+IGJvb2w6CisgICAgICAgICIi
IgorICAgICAgICBXcml0ZSBhIERBVEFHUkFNIGZyYW1lLgorCisgICAgICAgIFJldHVybnMgVHJ1
ZSBpZiB0aGUgZnJhbWUgd2FzIHByb2Nlc3NlZCwgRmFsc2Ugb3RoZXJ3aXNlLgorICAgICAgICAi
IiIKKyAgICAgICAgYXNzZXJ0IGZyYW1lX3R5cGUgPT0gUXVpY0ZyYW1lVHlwZS5EQVRBR1JBTV9X
SVRIX0xFTkdUSAorICAgICAgICBsZW5ndGggPSBsZW4oZGF0YSkKKyAgICAgICAgZnJhbWVfc2l6
ZSA9IDEgKyBzaXplX3VpbnRfdmFyKGxlbmd0aCkgKyBsZW5ndGgKKworICAgICAgICBidWYgPSBi
dWlsZGVyLnN0YXJ0X2ZyYW1lKGZyYW1lX3R5cGUsIGNhcGFjaXR5PWZyYW1lX3NpemUpCisgICAg
ICAgIGJ1Zi5wdXNoX3VpbnRfdmFyKGxlbmd0aCkKKyAgICAgICAgYnVmLnB1c2hfYnl0ZXMoZGF0
YSkKKworICAgICAgICAjIGxvZyBmcmFtZQorICAgICAgICBpZiBzZWxmLl9xdWljX2xvZ2dlciBp
cyBub3QgTm9uZToKKyAgICAgICAgICAgIGJ1aWxkZXIucXVpY19sb2dnZXJfZnJhbWVzLmFwcGVu
ZCgKKyAgICAgICAgICAgICAgICBzZWxmLl9xdWljX2xvZ2dlci5lbmNvZGVfZGF0YWdyYW1fZnJh
bWUobGVuZ3RoPWxlbmd0aCkKKyAgICAgICAgICAgICkKKworICAgICAgICByZXR1cm4gVHJ1ZQor
CisgICAgZGVmIF93cml0ZV9oYW5kc2hha2VfZG9uZV9mcmFtZShzZWxmLCBidWlsZGVyOiBRdWlj
UGFja2V0QnVpbGRlcikgLT4gTm9uZToKKyAgICAgICAgYnVpbGRlci5zdGFydF9mcmFtZSgKKyAg
ICAgICAgICAgIFF1aWNGcmFtZVR5cGUuSEFORFNIQUtFX0RPTkUsCisgICAgICAgICAgICBjYXBh
Y2l0eT1IQU5EU0hBS0VfRE9ORV9GUkFNRV9DQVBBQ0lUWSwKKyAgICAgICAgICAgIGhhbmRsZXI9
c2VsZi5fb25faGFuZHNoYWtlX2RvbmVfZGVsaXZlcnksCisgICAgICAgICkKKworICAgICAgICAj
IGxvZyBmcmFtZQorICAgICAgICBpZiBzZWxmLl9xdWljX2xvZ2dlciBpcyBub3QgTm9uZToKKyAg
ICAgICAgICAgIGJ1aWxkZXIucXVpY19sb2dnZXJfZnJhbWVzLmFwcGVuZCgKKyAgICAgICAgICAg
ICAgICBzZWxmLl9xdWljX2xvZ2dlci5lbmNvZGVfaGFuZHNoYWtlX2RvbmVfZnJhbWUoKQorICAg
ICAgICAgICAgKQorCisgICAgZGVmIF93cml0ZV9uZXdfY29ubmVjdGlvbl9pZF9mcmFtZSgKKyAg
ICAgICAgc2VsZiwgYnVpbGRlcjogUXVpY1BhY2tldEJ1aWxkZXIsIGNvbm5lY3Rpb25faWQ6IFF1
aWNDb25uZWN0aW9uSWQKKyAgICApIC0+IE5vbmU6CisgICAgICAgIHJldGlyZV9wcmlvcl90byA9
IDAgICMgRklYTUUKKworICAgICAgICBidWYgPSBidWlsZGVyLnN0YXJ0X2ZyYW1lKAorICAgICAg
ICAgICAgUXVpY0ZyYW1lVHlwZS5ORVdfQ09OTkVDVElPTl9JRCwKKyAgICAgICAgICAgIGNhcGFj
aXR5PU5FV19DT05ORUNUSU9OX0lEX0ZSQU1FX0NBUEFDSVRZLAorICAgICAgICAgICAgaGFuZGxl
cj1zZWxmLl9vbl9uZXdfY29ubmVjdGlvbl9pZF9kZWxpdmVyeSwKKyAgICAgICAgICAgIGhhbmRs
ZXJfYXJncz0oY29ubmVjdGlvbl9pZCwpLAorICAgICAgICApCisgICAgICAgIGJ1Zi5wdXNoX3Vp
bnRfdmFyKGNvbm5lY3Rpb25faWQuc2VxdWVuY2VfbnVtYmVyKQorICAgICAgICBidWYucHVzaF91
aW50X3ZhcihyZXRpcmVfcHJpb3JfdG8pCisgICAgICAgIGJ1Zi5wdXNoX3VpbnQ4KGxlbihjb25u
ZWN0aW9uX2lkLmNpZCkpCisgICAgICAgIGJ1Zi5wdXNoX2J5dGVzKGNvbm5lY3Rpb25faWQuY2lk
KQorICAgICAgICBidWYucHVzaF9ieXRlcyhjb25uZWN0aW9uX2lkLnN0YXRlbGVzc19yZXNldF90
b2tlbikKKworICAgICAgICBjb25uZWN0aW9uX2lkLndhc19zZW50ID0gVHJ1ZQorICAgICAgICBz
ZWxmLl9ldmVudHMuYXBwZW5kKGV2ZW50cy5Db25uZWN0aW9uSWRJc3N1ZWQoY29ubmVjdGlvbl9p
ZD1jb25uZWN0aW9uX2lkLmNpZCkpCisKKyAgICAgICAgIyBsb2cgZnJhbWUKKyAgICAgICAgaWYg
c2VsZi5fcXVpY19sb2dnZXIgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBidWlsZGVyLnF1aWNf
bG9nZ2VyX2ZyYW1lcy5hcHBlbmQoCisgICAgICAgICAgICAgICAgc2VsZi5fcXVpY19sb2dnZXIu
ZW5jb2RlX25ld19jb25uZWN0aW9uX2lkX2ZyYW1lKAorICAgICAgICAgICAgICAgICAgICBjb25u
ZWN0aW9uX2lkPWNvbm5lY3Rpb25faWQuY2lkLAorICAgICAgICAgICAgICAgICAgICByZXRpcmVf
cHJpb3JfdG89cmV0aXJlX3ByaW9yX3RvLAorICAgICAgICAgICAgICAgICAgICBzZXF1ZW5jZV9u
dW1iZXI9Y29ubmVjdGlvbl9pZC5zZXF1ZW5jZV9udW1iZXIsCisgICAgICAgICAgICAgICAgICAg
IHN0YXRlbGVzc19yZXNldF90b2tlbj1jb25uZWN0aW9uX2lkLnN0YXRlbGVzc19yZXNldF90b2tl
biwKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICApCisKKyAgICBkZWYgX3dyaXRlX3Bh
dGhfY2hhbGxlbmdlX2ZyYW1lKAorICAgICAgICBzZWxmLCBidWlsZGVyOiBRdWljUGFja2V0QnVp
bGRlciwgY2hhbGxlbmdlOiBieXRlcworICAgICkgLT4gTm9uZToKKyAgICAgICAgYnVmID0gYnVp
bGRlci5zdGFydF9mcmFtZSgKKyAgICAgICAgICAgIFF1aWNGcmFtZVR5cGUuUEFUSF9DSEFMTEVO
R0UsIGNhcGFjaXR5PVBBVEhfQ0hBTExFTkdFX0ZSQU1FX0NBUEFDSVRZCisgICAgICAgICkKKyAg
ICAgICAgYnVmLnB1c2hfYnl0ZXMoY2hhbGxlbmdlKQorCisgICAgICAgICMgbG9nIGZyYW1lCisg
ICAgICAgIGlmIHNlbGYuX3F1aWNfbG9nZ2VyIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgYnVp
bGRlci5xdWljX2xvZ2dlcl9mcmFtZXMuYXBwZW5kKAorICAgICAgICAgICAgICAgIHNlbGYuX3F1
aWNfbG9nZ2VyLmVuY29kZV9wYXRoX2NoYWxsZW5nZV9mcmFtZShkYXRhPWNoYWxsZW5nZSkKKyAg
ICAgICAgICAgICkKKworICAgIGRlZiBfd3JpdGVfcGF0aF9yZXNwb25zZV9mcmFtZSgKKyAgICAg
ICAgc2VsZiwgYnVpbGRlcjogUXVpY1BhY2tldEJ1aWxkZXIsIGNoYWxsZW5nZTogYnl0ZXMKKyAg
ICApIC0+IE5vbmU6CisgICAgICAgIGJ1ZiA9IGJ1aWxkZXIuc3RhcnRfZnJhbWUoCisgICAgICAg
ICAgICBRdWljRnJhbWVUeXBlLlBBVEhfUkVTUE9OU0UsIGNhcGFjaXR5PVBBVEhfUkVTUE9OU0Vf
RlJBTUVfQ0FQQUNJVFkKKyAgICAgICAgKQorICAgICAgICBidWYucHVzaF9ieXRlcyhjaGFsbGVu
Z2UpCisKKyAgICAgICAgIyBsb2cgZnJhbWUKKyAgICAgICAgaWYgc2VsZi5fcXVpY19sb2dnZXIg
aXMgbm90IE5vbmU6CisgICAgICAgICAgICBidWlsZGVyLnF1aWNfbG9nZ2VyX2ZyYW1lcy5hcHBl
bmQoCisgICAgICAgICAgICAgICAgc2VsZi5fcXVpY19sb2dnZXIuZW5jb2RlX3BhdGhfcmVzcG9u
c2VfZnJhbWUoZGF0YT1jaGFsbGVuZ2UpCisgICAgICAgICAgICApCisKKyAgICBkZWYgX3dyaXRl
X3BpbmdfZnJhbWUoCisgICAgICAgIHNlbGYsIGJ1aWxkZXI6IFF1aWNQYWNrZXRCdWlsZGVyLCB1
aWRzOiBMaXN0W2ludF0gPSBbXSwgY29tbWVudD0iIgorICAgICk6CisgICAgICAgIGJ1aWxkZXIu
c3RhcnRfZnJhbWUoCisgICAgICAgICAgICBRdWljRnJhbWVUeXBlLlBJTkcsCisgICAgICAgICAg
ICBjYXBhY2l0eT1QSU5HX0ZSQU1FX0NBUEFDSVRZLAorICAgICAgICAgICAgaGFuZGxlcj1zZWxm
Ll9vbl9waW5nX2RlbGl2ZXJ5LAorICAgICAgICAgICAgaGFuZGxlcl9hcmdzPSh0dXBsZSh1aWRz
KSwpLAorICAgICAgICApCisgICAgICAgIHNlbGYuX2xvZ2dlci5kZWJ1ZygKKyAgICAgICAgICAg
ICJTZW5kaW5nIFBJTkclcyBpbiBwYWNrZXQgJWQiLAorICAgICAgICAgICAgIiAoJXMpIiAlIGNv
bW1lbnQgaWYgY29tbWVudCBlbHNlICIiLAorICAgICAgICAgICAgYnVpbGRlci5wYWNrZXRfbnVt
YmVyLAorICAgICAgICApCisKKyAgICAgICAgIyBsb2cgZnJhbWUKKyAgICAgICAgaWYgc2VsZi5f
cXVpY19sb2dnZXIgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBidWlsZGVyLnF1aWNfbG9nZ2Vy
X2ZyYW1lcy5hcHBlbmQoc2VsZi5fcXVpY19sb2dnZXIuZW5jb2RlX3BpbmdfZnJhbWUoKSkKKwor
ICAgIGRlZiBfd3JpdGVfcmV0aXJlX2Nvbm5lY3Rpb25faWRfZnJhbWUoCisgICAgICAgIHNlbGYs
IGJ1aWxkZXI6IFF1aWNQYWNrZXRCdWlsZGVyLCBzZXF1ZW5jZV9udW1iZXI6IGludAorICAgICkg
LT4gTm9uZToKKyAgICAgICAgYnVmID0gYnVpbGRlci5zdGFydF9mcmFtZSgKKyAgICAgICAgICAg
IFF1aWNGcmFtZVR5cGUuUkVUSVJFX0NPTk5FQ1RJT05fSUQsCisgICAgICAgICAgICBjYXBhY2l0
eT1SRVRJUkVfQ09OTkVDVElPTl9JRF9DQVBBQ0lUWSwKKyAgICAgICAgICAgIGhhbmRsZXI9c2Vs
Zi5fb25fcmV0aXJlX2Nvbm5lY3Rpb25faWRfZGVsaXZlcnksCisgICAgICAgICAgICBoYW5kbGVy
X2FyZ3M9KHNlcXVlbmNlX251bWJlciwpLAorICAgICAgICApCisgICAgICAgIGJ1Zi5wdXNoX3Vp
bnRfdmFyKHNlcXVlbmNlX251bWJlcikKKworICAgICAgICAjIGxvZyBmcmFtZQorICAgICAgICBp
ZiBzZWxmLl9xdWljX2xvZ2dlciBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGJ1aWxkZXIucXVp
Y19sb2dnZXJfZnJhbWVzLmFwcGVuZCgKKyAgICAgICAgICAgICAgICBzZWxmLl9xdWljX2xvZ2dl
ci5lbmNvZGVfcmV0aXJlX2Nvbm5lY3Rpb25faWRfZnJhbWUoc2VxdWVuY2VfbnVtYmVyKQorICAg
ICAgICAgICAgKQorCisgICAgZGVmIF93cml0ZV9zdHJlYW1fZnJhbWUoCisgICAgICAgIHNlbGYs
CisgICAgICAgIGJ1aWxkZXI6IFF1aWNQYWNrZXRCdWlsZGVyLAorICAgICAgICBzcGFjZTogUXVp
Y1BhY2tldFNwYWNlLAorICAgICAgICBzdHJlYW06IFF1aWNTdHJlYW0sCisgICAgICAgIG1heF9v
ZmZzZXQ6IGludCwKKyAgICApIC0+IGludDoKKyAgICAgICAgIyB0aGUgZnJhbWUgZGF0YSBzaXpl
IGlzIGNvbnN0cmFpbmVkIGJ5IG91ciBwZWVyJ3MgTUFYX0RBVEEgYW5kCisgICAgICAgICMgdGhl
IHNwYWNlIGF2YWlsYWJsZSBpbiB0aGUgY3VycmVudCBwYWNrZXQKKyAgICAgICAgZnJhbWVfb3Zl
cmhlYWQgPSAoCisgICAgICAgICAgICAzCisgICAgICAgICAgICArIHNpemVfdWludF92YXIoc3Ry
ZWFtLnN0cmVhbV9pZCkKKyAgICAgICAgICAgICsgKHNpemVfdWludF92YXIoc3RyZWFtLm5leHRf
c2VuZF9vZmZzZXQpIGlmIHN0cmVhbS5uZXh0X3NlbmRfb2Zmc2V0IGVsc2UgMCkKKyAgICAgICAg
KQorICAgICAgICBwcmV2aW91c19zZW5kX2hpZ2hlc3QgPSBzdHJlYW0uX3NlbmRfaGlnaGVzdAor
ICAgICAgICBmcmFtZSA9IHN0cmVhbS5nZXRfZnJhbWUoCisgICAgICAgICAgICBidWlsZGVyLnJl
bWFpbmluZ19mbGlnaHRfc3BhY2UgLSBmcmFtZV9vdmVyaGVhZCwgbWF4X29mZnNldAorICAgICAg
ICApCisKKyAgICAgICAgaWYgZnJhbWUgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBmcmFtZV90
eXBlID0gUXVpY0ZyYW1lVHlwZS5TVFJFQU1fQkFTRSB8IDIgICMgbGVuZ3RoCisgICAgICAgICAg
ICBpZiBmcmFtZS5vZmZzZXQ6CisgICAgICAgICAgICAgICAgZnJhbWVfdHlwZSB8PSA0CisgICAg
ICAgICAgICBpZiBmcmFtZS5maW46CisgICAgICAgICAgICAgICAgZnJhbWVfdHlwZSB8PSAxCisg
ICAgICAgICAgICBidWYgPSBidWlsZGVyLnN0YXJ0X2ZyYW1lKAorICAgICAgICAgICAgICAgIGZy
YW1lX3R5cGUsCisgICAgICAgICAgICAgICAgY2FwYWNpdHk9ZnJhbWVfb3ZlcmhlYWQsCisgICAg
ICAgICAgICAgICAgaGFuZGxlcj1zdHJlYW0ub25fZGF0YV9kZWxpdmVyeSwKKyAgICAgICAgICAg
ICAgICBoYW5kbGVyX2FyZ3M9KGZyYW1lLm9mZnNldCwgZnJhbWUub2Zmc2V0ICsgbGVuKGZyYW1l
LmRhdGEpKSwKKyAgICAgICAgICAgICkKKyAgICAgICAgICAgIGJ1Zi5wdXNoX3VpbnRfdmFyKHN0
cmVhbS5zdHJlYW1faWQpCisgICAgICAgICAgICBpZiBmcmFtZS5vZmZzZXQ6CisgICAgICAgICAg
ICAgICAgYnVmLnB1c2hfdWludF92YXIoZnJhbWUub2Zmc2V0KQorICAgICAgICAgICAgYnVmLnB1
c2hfdWludDE2KGxlbihmcmFtZS5kYXRhKSB8IDB4NDAwMCkKKyAgICAgICAgICAgIGJ1Zi5wdXNo
X2J5dGVzKGZyYW1lLmRhdGEpCisKKyAgICAgICAgICAgICMgbG9nIGZyYW1lCisgICAgICAgICAg
ICBpZiBzZWxmLl9xdWljX2xvZ2dlciBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICBidWls
ZGVyLnF1aWNfbG9nZ2VyX2ZyYW1lcy5hcHBlbmQoCisgICAgICAgICAgICAgICAgICAgIHNlbGYu
X3F1aWNfbG9nZ2VyLmVuY29kZV9zdHJlYW1fZnJhbWUoCisgICAgICAgICAgICAgICAgICAgICAg
ICBmcmFtZSwgc3RyZWFtX2lkPXN0cmVhbS5zdHJlYW1faWQKKyAgICAgICAgICAgICAgICAgICAg
KQorICAgICAgICAgICAgICAgICkKKworICAgICAgICAgICAgcmV0dXJuIHN0cmVhbS5fc2VuZF9o
aWdoZXN0IC0gcHJldmlvdXNfc2VuZF9oaWdoZXN0CisgICAgICAgIGVsc2U6CisgICAgICAgICAg
ICByZXR1cm4gMAorCisgICAgZGVmIF93cml0ZV9zdHJlYW1fbGltaXRzKAorICAgICAgICBzZWxm
LCBidWlsZGVyOiBRdWljUGFja2V0QnVpbGRlciwgc3BhY2U6IFF1aWNQYWNrZXRTcGFjZSwgc3Ry
ZWFtOiBRdWljU3RyZWFtCisgICAgKSAtPiBOb25lOgorICAgICAgICAiIiIKKyAgICAgICAgUmFp
c2UgTUFYX1NUUkVBTV9EQVRBIGlmIG5lZWRlZC4KKworICAgICAgICBUaGUgb25seSBjYXNlIHdo
ZXJlIGBzdHJlYW0ubWF4X3N0cmVhbV9kYXRhX2xvY2FsYCBpcyB6ZXJvIGlzIGZvcgorICAgICAg
ICBsb2NhbGx5IGNyZWF0ZWQgdW5pZGlyZWN0aW9uYWwgc3RyZWFtcy4gV2Ugc2tpcCBzdWNoIHN0
cmVhbXMgdG8gYXZvaWQKKyAgICAgICAgc3B1cmlvdXMgbG9nZ2luZy4KKyAgICAgICAgIiIiCisg
ICAgICAgIGlmICgKKyAgICAgICAgICAgIHN0cmVhbS5tYXhfc3RyZWFtX2RhdGFfbG9jYWwKKyAg
ICAgICAgICAgIGFuZCBzdHJlYW0uX3JlY3ZfaGlnaGVzdCAqIDIgPiBzdHJlYW0ubWF4X3N0cmVh
bV9kYXRhX2xvY2FsCisgICAgICAgICk6CisgICAgICAgICAgICBzdHJlYW0ubWF4X3N0cmVhbV9k
YXRhX2xvY2FsICo9IDIKKyAgICAgICAgICAgIHNlbGYuX2xvZ2dlci5kZWJ1ZygKKyAgICAgICAg
ICAgICAgICAiU3RyZWFtICVkIGxvY2FsIG1heF9zdHJlYW1fZGF0YSByYWlzZWQgdG8gJWQiLAor
ICAgICAgICAgICAgICAgIHN0cmVhbS5zdHJlYW1faWQsCisgICAgICAgICAgICAgICAgc3RyZWFt
Lm1heF9zdHJlYW1fZGF0YV9sb2NhbCwKKyAgICAgICAgICAgICkKKyAgICAgICAgaWYgc3RyZWFt
Lm1heF9zdHJlYW1fZGF0YV9sb2NhbF9zZW50ICE9IHN0cmVhbS5tYXhfc3RyZWFtX2RhdGFfbG9j
YWw6CisgICAgICAgICAgICBidWYgPSBidWlsZGVyLnN0YXJ0X2ZyYW1lKAorICAgICAgICAgICAg
ICAgIFF1aWNGcmFtZVR5cGUuTUFYX1NUUkVBTV9EQVRBLAorICAgICAgICAgICAgICAgIGNhcGFj
aXR5PU1BWF9TVFJFQU1fREFUQV9GUkFNRV9DQVBBQ0lUWSwKKyAgICAgICAgICAgICAgICBoYW5k
bGVyPXNlbGYuX29uX21heF9zdHJlYW1fZGF0YV9kZWxpdmVyeSwKKyAgICAgICAgICAgICAgICBo
YW5kbGVyX2FyZ3M9KHN0cmVhbSwpLAorICAgICAgICAgICAgKQorICAgICAgICAgICAgYnVmLnB1
c2hfdWludF92YXIoc3RyZWFtLnN0cmVhbV9pZCkKKyAgICAgICAgICAgIGJ1Zi5wdXNoX3VpbnRf
dmFyKHN0cmVhbS5tYXhfc3RyZWFtX2RhdGFfbG9jYWwpCisgICAgICAgICAgICBzdHJlYW0ubWF4
X3N0cmVhbV9kYXRhX2xvY2FsX3NlbnQgPSBzdHJlYW0ubWF4X3N0cmVhbV9kYXRhX2xvY2FsCisK
KyAgICAgICAgICAgICMgbG9nIGZyYW1lCisgICAgICAgICAgICBpZiBzZWxmLl9xdWljX2xvZ2dl
ciBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICBidWlsZGVyLnF1aWNfbG9nZ2VyX2ZyYW1l
cy5hcHBlbmQoCisgICAgICAgICAgICAgICAgICAgIHNlbGYuX3F1aWNfbG9nZ2VyLmVuY29kZV9t
YXhfc3RyZWFtX2RhdGFfZnJhbWUoCisgICAgICAgICAgICAgICAgICAgICAgICBtYXhpbXVtPXN0
cmVhbS5tYXhfc3RyZWFtX2RhdGFfbG9jYWwsIHN0cmVhbV9pZD1zdHJlYW0uc3RyZWFtX2lkCisg
ICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICApCisKKyAgICBkZWYgX3dyaXRl
X3N0cmVhbXNfYmxvY2tlZF9mcmFtZSgKKyAgICAgICAgc2VsZiwgYnVpbGRlcjogUXVpY1BhY2tl
dEJ1aWxkZXIsIGZyYW1lX3R5cGU6IFF1aWNGcmFtZVR5cGUsIGxpbWl0OiBpbnQKKyAgICApIC0+
IE5vbmU6CisgICAgICAgIGJ1ZiA9IGJ1aWxkZXIuc3RhcnRfZnJhbWUoZnJhbWVfdHlwZSwgY2Fw
YWNpdHk9U1RSRUFNU19CTE9DS0VEX0NBUEFDSVRZKQorICAgICAgICBidWYucHVzaF91aW50X3Zh
cihsaW1pdCkKKworICAgICAgICAjIGxvZyBmcmFtZQorICAgICAgICBpZiBzZWxmLl9xdWljX2xv
Z2dlciBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGJ1aWxkZXIucXVpY19sb2dnZXJfZnJhbWVz
LmFwcGVuZCgKKyAgICAgICAgICAgICAgICBzZWxmLl9xdWljX2xvZ2dlci5lbmNvZGVfc3RyZWFt
c19ibG9ja2VkX2ZyYW1lKAorICAgICAgICAgICAgICAgICAgICBpc191bmlkaXJlY3Rpb25hbD1m
cmFtZV90eXBlID09IFF1aWNGcmFtZVR5cGUuU1RSRUFNU19CTE9DS0VEX1VOSSwKKyAgICAgICAg
ICAgICAgICAgICAgbGltaXQ9bGltaXQsCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAg
KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3NyYy9haW9xdWljL3F1aWMvY3J5cHRvLnB5IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9w
YXJ0eS9haW9xdWljL3NyYy9haW9xdWljL3F1aWMvY3J5cHRvLnB5Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhhY2Iz
MGVlZGE4ZjFjN2M2MDZiOTA0YmE3NzI3MTNkMzU4NzM0YjMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3Bh
cnR5L2Fpb3F1aWMvc3JjL2Fpb3F1aWMvcXVpYy9jcnlwdG8ucHkKQEAgLTAsMCArMSwxOTYgQEAK
K2ltcG9ydCBiaW5hc2NpaQorZnJvbSB0eXBpbmcgaW1wb3J0IE9wdGlvbmFsLCBUdXBsZQorCitm
cm9tIC4uX2NyeXB0byBpbXBvcnQgQUVBRCwgQ3J5cHRvRXJyb3IsIEhlYWRlclByb3RlY3Rpb24K
K2Zyb20gLi50bHMgaW1wb3J0IENpcGhlclN1aXRlLCBjaXBoZXJfc3VpdGVfaGFzaCwgaGtkZl9l
eHBhbmRfbGFiZWwsIGhrZGZfZXh0cmFjdAorZnJvbSAucGFja2V0IGltcG9ydCBkZWNvZGVfcGFj
a2V0X251bWJlciwgaXNfbG9uZ19oZWFkZXIKKworQ0lQSEVSX1NVSVRFUyA9IHsKKyAgICBDaXBo
ZXJTdWl0ZS5BRVNfMTI4X0dDTV9TSEEyNTY6IChiImFlcy0xMjgtZWNiIiwgYiJhZXMtMTI4LWdj
bSIpLAorICAgIENpcGhlclN1aXRlLkFFU18yNTZfR0NNX1NIQTM4NDogKGIiYWVzLTI1Ni1lY2Ii
LCBiImFlcy0yNTYtZ2NtIiksCisgICAgQ2lwaGVyU3VpdGUuQ0hBQ0hBMjBfUE9MWTEzMDVfU0hB
MjU2OiAoYiJjaGFjaGEyMCIsIGIiY2hhY2hhMjAtcG9seTEzMDUiKSwKK30KK0lOSVRJQUxfQ0lQ
SEVSX1NVSVRFID0gQ2lwaGVyU3VpdGUuQUVTXzEyOF9HQ01fU0hBMjU2CitJTklUSUFMX1NBTFQg
PSBiaW5hc2NpaS51bmhleGxpZnkoImMzZWVmNzEyYzcyZWJiNWExMWE3ZDI0MzJiYjQ2MzY1YmVm
OWY1MDIiKQorU0FNUExFX1NJWkUgPSAxNgorCisKK2NsYXNzIEtleVVuYXZhaWxhYmxlRXJyb3Io
Q3J5cHRvRXJyb3IpOgorICAgIHBhc3MKKworCitkZWYgZGVyaXZlX2tleV9pdl9ocCgKKyAgICBj
aXBoZXJfc3VpdGU6IENpcGhlclN1aXRlLCBzZWNyZXQ6IGJ5dGVzCispIC0+IFR1cGxlW2J5dGVz
LCBieXRlcywgYnl0ZXNdOgorICAgIGFsZ29yaXRobSA9IGNpcGhlcl9zdWl0ZV9oYXNoKGNpcGhl
cl9zdWl0ZSkKKyAgICBpZiBjaXBoZXJfc3VpdGUgaW4gWworICAgICAgICBDaXBoZXJTdWl0ZS5B
RVNfMjU2X0dDTV9TSEEzODQsCisgICAgICAgIENpcGhlclN1aXRlLkNIQUNIQTIwX1BPTFkxMzA1
X1NIQTI1NiwKKyAgICBdOgorICAgICAgICBrZXlfc2l6ZSA9IDMyCisgICAgZWxzZToKKyAgICAg
ICAga2V5X3NpemUgPSAxNgorICAgIHJldHVybiAoCisgICAgICAgIGhrZGZfZXhwYW5kX2xhYmVs
KGFsZ29yaXRobSwgc2VjcmV0LCBiInF1aWMga2V5IiwgYiIiLCBrZXlfc2l6ZSksCisgICAgICAg
IGhrZGZfZXhwYW5kX2xhYmVsKGFsZ29yaXRobSwgc2VjcmV0LCBiInF1aWMgaXYiLCBiIiIsIDEy
KSwKKyAgICAgICAgaGtkZl9leHBhbmRfbGFiZWwoYWxnb3JpdGhtLCBzZWNyZXQsIGIicXVpYyBo
cCIsIGIiIiwga2V5X3NpemUpLAorICAgICkKKworCitjbGFzcyBDcnlwdG9Db250ZXh0OgorICAg
IGRlZiBfX2luaXRfXyhzZWxmLCBrZXlfcGhhc2U6IGludCA9IDApIC0+IE5vbmU6CisgICAgICAg
IHNlbGYuYWVhZDogT3B0aW9uYWxbQUVBRF0gPSBOb25lCisgICAgICAgIHNlbGYuY2lwaGVyX3N1
aXRlOiBPcHRpb25hbFtDaXBoZXJTdWl0ZV0gPSBOb25lCisgICAgICAgIHNlbGYuaHA6IE9wdGlv
bmFsW0hlYWRlclByb3RlY3Rpb25dID0gTm9uZQorICAgICAgICBzZWxmLmtleV9waGFzZSA9IGtl
eV9waGFzZQorICAgICAgICBzZWxmLnNlY3JldDogT3B0aW9uYWxbYnl0ZXNdID0gTm9uZQorICAg
ICAgICBzZWxmLnZlcnNpb246IE9wdGlvbmFsW2ludF0gPSBOb25lCisKKyAgICBkZWYgZGVjcnlw
dF9wYWNrZXQoCisgICAgICAgIHNlbGYsIHBhY2tldDogYnl0ZXMsIGVuY3J5cHRlZF9vZmZzZXQ6
IGludCwgZXhwZWN0ZWRfcGFja2V0X251bWJlcjogaW50CisgICAgKSAtPiBUdXBsZVtieXRlcywg
Ynl0ZXMsIGludCwgYm9vbF06CisgICAgICAgIGlmIHNlbGYuYWVhZCBpcyBOb25lOgorICAgICAg
ICAgICAgcmFpc2UgS2V5VW5hdmFpbGFibGVFcnJvcigiRGVjcnlwdGlvbiBrZXkgaXMgbm90IGF2
YWlsYWJsZSIpCisKKyAgICAgICAgIyBoZWFkZXIgcHJvdGVjdGlvbgorICAgICAgICBwbGFpbl9o
ZWFkZXIsIHBhY2tldF9udW1iZXIgPSBzZWxmLmhwLnJlbW92ZShwYWNrZXQsIGVuY3J5cHRlZF9v
ZmZzZXQpCisgICAgICAgIGZpcnN0X2J5dGUgPSBwbGFpbl9oZWFkZXJbMF0KKworICAgICAgICAj
IHBhY2tldCBudW1iZXIKKyAgICAgICAgcG5fbGVuZ3RoID0gKGZpcnN0X2J5dGUgJiAweDAzKSAr
IDEKKyAgICAgICAgcGFja2V0X251bWJlciA9IGRlY29kZV9wYWNrZXRfbnVtYmVyKAorICAgICAg
ICAgICAgcGFja2V0X251bWJlciwgcG5fbGVuZ3RoICogOCwgZXhwZWN0ZWRfcGFja2V0X251bWJl
cgorICAgICAgICApCisKKyAgICAgICAgIyBkZXRlY3Qga2V5IHBoYXNlIGNoYW5nZQorICAgICAg
ICBjcnlwdG8gPSBzZWxmCisgICAgICAgIGlmIG5vdCBpc19sb25nX2hlYWRlcihmaXJzdF9ieXRl
KToKKyAgICAgICAgICAgIGtleV9waGFzZSA9IChmaXJzdF9ieXRlICYgNCkgPj4gMgorICAgICAg
ICAgICAgaWYga2V5X3BoYXNlICE9IHNlbGYua2V5X3BoYXNlOgorICAgICAgICAgICAgICAgIGNy
eXB0byA9IG5leHRfa2V5X3BoYXNlKHNlbGYpCisKKyAgICAgICAgIyBwYXlsb2FkIHByb3RlY3Rp
b24KKyAgICAgICAgcGF5bG9hZCA9IGNyeXB0by5hZWFkLmRlY3J5cHQoCisgICAgICAgICAgICBw
YWNrZXRbbGVuKHBsYWluX2hlYWRlcikgOl0sIHBsYWluX2hlYWRlciwgcGFja2V0X251bWJlcgor
ICAgICAgICApCisKKyAgICAgICAgcmV0dXJuIHBsYWluX2hlYWRlciwgcGF5bG9hZCwgcGFja2V0
X251bWJlciwgY3J5cHRvICE9IHNlbGYKKworICAgIGRlZiBlbmNyeXB0X3BhY2tldCgKKyAgICAg
ICAgc2VsZiwgcGxhaW5faGVhZGVyOiBieXRlcywgcGxhaW5fcGF5bG9hZDogYnl0ZXMsIHBhY2tl
dF9udW1iZXI6IGludAorICAgICkgLT4gYnl0ZXM6CisgICAgICAgIGFzc2VydCBzZWxmLmlzX3Zh
bGlkKCksICJFbmNyeXB0aW9uIGtleSBpcyBub3QgYXZhaWxhYmxlIgorCisgICAgICAgICMgcGF5
bG9hZCBwcm90ZWN0aW9uCisgICAgICAgIHByb3RlY3RlZF9wYXlsb2FkID0gc2VsZi5hZWFkLmVu
Y3J5cHQoCisgICAgICAgICAgICBwbGFpbl9wYXlsb2FkLCBwbGFpbl9oZWFkZXIsIHBhY2tldF9u
dW1iZXIKKyAgICAgICAgKQorCisgICAgICAgICMgaGVhZGVyIHByb3RlY3Rpb24KKyAgICAgICAg
cmV0dXJuIHNlbGYuaHAuYXBwbHkocGxhaW5faGVhZGVyLCBwcm90ZWN0ZWRfcGF5bG9hZCkKKwor
ICAgIGRlZiBpc192YWxpZChzZWxmKSAtPiBib29sOgorICAgICAgICByZXR1cm4gc2VsZi5hZWFk
IGlzIG5vdCBOb25lCisKKyAgICBkZWYgc2V0dXAoc2VsZiwgY2lwaGVyX3N1aXRlOiBDaXBoZXJT
dWl0ZSwgc2VjcmV0OiBieXRlcywgdmVyc2lvbjogaW50KSAtPiBOb25lOgorICAgICAgICBocF9j
aXBoZXJfbmFtZSwgYWVhZF9jaXBoZXJfbmFtZSA9IENJUEhFUl9TVUlURVNbY2lwaGVyX3N1aXRl
XQorCisgICAgICAgIGtleSwgaXYsIGhwID0gZGVyaXZlX2tleV9pdl9ocChjaXBoZXJfc3VpdGUs
IHNlY3JldCkKKyAgICAgICAgc2VsZi5hZWFkID0gQUVBRChhZWFkX2NpcGhlcl9uYW1lLCBrZXks
IGl2KQorICAgICAgICBzZWxmLmNpcGhlcl9zdWl0ZSA9IGNpcGhlcl9zdWl0ZQorICAgICAgICBz
ZWxmLmhwID0gSGVhZGVyUHJvdGVjdGlvbihocF9jaXBoZXJfbmFtZSwgaHApCisgICAgICAgIHNl
bGYuc2VjcmV0ID0gc2VjcmV0CisgICAgICAgIHNlbGYudmVyc2lvbiA9IHZlcnNpb24KKworICAg
IGRlZiB0ZWFyZG93bihzZWxmKSAtPiBOb25lOgorICAgICAgICBzZWxmLmFlYWQgPSBOb25lCisg
ICAgICAgIHNlbGYuY2lwaGVyX3N1aXRlID0gTm9uZQorICAgICAgICBzZWxmLmhwID0gTm9uZQor
ICAgICAgICBzZWxmLnNlY3JldCA9IE5vbmUKKworCitkZWYgYXBwbHlfa2V5X3BoYXNlKHNlbGY6
IENyeXB0b0NvbnRleHQsIGNyeXB0bzogQ3J5cHRvQ29udGV4dCkgLT4gTm9uZToKKyAgICBzZWxm
LmFlYWQgPSBjcnlwdG8uYWVhZAorICAgIHNlbGYua2V5X3BoYXNlID0gY3J5cHRvLmtleV9waGFz
ZQorICAgIHNlbGYuc2VjcmV0ID0gY3J5cHRvLnNlY3JldAorCisKK2RlZiBuZXh0X2tleV9waGFz
ZShzZWxmOiBDcnlwdG9Db250ZXh0KSAtPiBDcnlwdG9Db250ZXh0OgorICAgIGFsZ29yaXRobSA9
IGNpcGhlcl9zdWl0ZV9oYXNoKHNlbGYuY2lwaGVyX3N1aXRlKQorCisgICAgY3J5cHRvID0gQ3J5
cHRvQ29udGV4dChrZXlfcGhhc2U9aW50KG5vdCBzZWxmLmtleV9waGFzZSkpCisgICAgY3J5cHRv
LnNldHVwKAorICAgICAgICBjaXBoZXJfc3VpdGU9c2VsZi5jaXBoZXJfc3VpdGUsCisgICAgICAg
IHNlY3JldD1oa2RmX2V4cGFuZF9sYWJlbCgKKyAgICAgICAgICAgIGFsZ29yaXRobSwgc2VsZi5z
ZWNyZXQsIGIicXVpYyBrdSIsIGIiIiwgYWxnb3JpdGhtLmRpZ2VzdF9zaXplCisgICAgICAgICks
CisgICAgICAgIHZlcnNpb249c2VsZi52ZXJzaW9uLAorICAgICkKKyAgICByZXR1cm4gY3J5cHRv
CisKKworY2xhc3MgQ3J5cHRvUGFpcjoKKyAgICBkZWYgX19pbml0X18oc2VsZikgLT4gTm9uZToK
KyAgICAgICAgc2VsZi5hZWFkX3RhZ19zaXplID0gMTYKKyAgICAgICAgc2VsZi5yZWN2ID0gQ3J5
cHRvQ29udGV4dCgpCisgICAgICAgIHNlbGYuc2VuZCA9IENyeXB0b0NvbnRleHQoKQorICAgICAg
ICBzZWxmLl91cGRhdGVfa2V5X3JlcXVlc3RlZCA9IEZhbHNlCisKKyAgICBkZWYgZGVjcnlwdF9w
YWNrZXQoCisgICAgICAgIHNlbGYsIHBhY2tldDogYnl0ZXMsIGVuY3J5cHRlZF9vZmZzZXQ6IGlu
dCwgZXhwZWN0ZWRfcGFja2V0X251bWJlcjogaW50CisgICAgKSAtPiBUdXBsZVtieXRlcywgYnl0
ZXMsIGludF06CisgICAgICAgIHBsYWluX2hlYWRlciwgcGF5bG9hZCwgcGFja2V0X251bWJlciwg
dXBkYXRlX2tleSA9IHNlbGYucmVjdi5kZWNyeXB0X3BhY2tldCgKKyAgICAgICAgICAgIHBhY2tl
dCwgZW5jcnlwdGVkX29mZnNldCwgZXhwZWN0ZWRfcGFja2V0X251bWJlcgorICAgICAgICApCisg
ICAgICAgIGlmIHVwZGF0ZV9rZXk6CisgICAgICAgICAgICBzZWxmLl91cGRhdGVfa2V5KCkKKyAg
ICAgICAgcmV0dXJuIHBsYWluX2hlYWRlciwgcGF5bG9hZCwgcGFja2V0X251bWJlcgorCisgICAg
ZGVmIGVuY3J5cHRfcGFja2V0KAorICAgICAgICBzZWxmLCBwbGFpbl9oZWFkZXI6IGJ5dGVzLCBw
bGFpbl9wYXlsb2FkOiBieXRlcywgcGFja2V0X251bWJlcjogaW50CisgICAgKSAtPiBieXRlczoK
KyAgICAgICAgaWYgc2VsZi5fdXBkYXRlX2tleV9yZXF1ZXN0ZWQ6CisgICAgICAgICAgICBzZWxm
Ll91cGRhdGVfa2V5KCkKKyAgICAgICAgcmV0dXJuIHNlbGYuc2VuZC5lbmNyeXB0X3BhY2tldChw
bGFpbl9oZWFkZXIsIHBsYWluX3BheWxvYWQsIHBhY2tldF9udW1iZXIpCisKKyAgICBkZWYgc2V0
dXBfaW5pdGlhbChzZWxmLCBjaWQ6IGJ5dGVzLCBpc19jbGllbnQ6IGJvb2wsIHZlcnNpb246IGlu
dCkgLT4gTm9uZToKKyAgICAgICAgaWYgaXNfY2xpZW50OgorICAgICAgICAgICAgcmVjdl9sYWJl
bCwgc2VuZF9sYWJlbCA9IGIic2VydmVyIGluIiwgYiJjbGllbnQgaW4iCisgICAgICAgIGVsc2U6
CisgICAgICAgICAgICByZWN2X2xhYmVsLCBzZW5kX2xhYmVsID0gYiJjbGllbnQgaW4iLCBiInNl
cnZlciBpbiIKKworICAgICAgICBhbGdvcml0aG0gPSBjaXBoZXJfc3VpdGVfaGFzaChJTklUSUFM
X0NJUEhFUl9TVUlURSkKKyAgICAgICAgaW5pdGlhbF9zZWNyZXQgPSBoa2RmX2V4dHJhY3QoYWxn
b3JpdGhtLCBJTklUSUFMX1NBTFQsIGNpZCkKKyAgICAgICAgc2VsZi5yZWN2LnNldHVwKAorICAg
ICAgICAgICAgY2lwaGVyX3N1aXRlPUlOSVRJQUxfQ0lQSEVSX1NVSVRFLAorICAgICAgICAgICAg
c2VjcmV0PWhrZGZfZXhwYW5kX2xhYmVsKAorICAgICAgICAgICAgICAgIGFsZ29yaXRobSwgaW5p
dGlhbF9zZWNyZXQsIHJlY3ZfbGFiZWwsIGIiIiwgYWxnb3JpdGhtLmRpZ2VzdF9zaXplCisgICAg
ICAgICAgICApLAorICAgICAgICAgICAgdmVyc2lvbj12ZXJzaW9uLAorICAgICAgICApCisgICAg
ICAgIHNlbGYuc2VuZC5zZXR1cCgKKyAgICAgICAgICAgIGNpcGhlcl9zdWl0ZT1JTklUSUFMX0NJ
UEhFUl9TVUlURSwKKyAgICAgICAgICAgIHNlY3JldD1oa2RmX2V4cGFuZF9sYWJlbCgKKyAgICAg
ICAgICAgICAgICBhbGdvcml0aG0sIGluaXRpYWxfc2VjcmV0LCBzZW5kX2xhYmVsLCBiIiIsIGFs
Z29yaXRobS5kaWdlc3Rfc2l6ZQorICAgICAgICAgICAgKSwKKyAgICAgICAgICAgIHZlcnNpb249
dmVyc2lvbiwKKyAgICAgICAgKQorCisgICAgZGVmIHRlYXJkb3duKHNlbGYpIC0+IE5vbmU6Cisg
ICAgICAgIHNlbGYucmVjdi50ZWFyZG93bigpCisgICAgICAgIHNlbGYuc2VuZC50ZWFyZG93bigp
CisKKyAgICBkZWYgdXBkYXRlX2tleShzZWxmKSAtPiBOb25lOgorICAgICAgICBzZWxmLl91cGRh
dGVfa2V5X3JlcXVlc3RlZCA9IFRydWUKKworICAgIEBwcm9wZXJ0eQorICAgIGRlZiBrZXlfcGhh
c2Uoc2VsZikgLT4gaW50OgorICAgICAgICBpZiBzZWxmLl91cGRhdGVfa2V5X3JlcXVlc3RlZDoK
KyAgICAgICAgICAgIHJldHVybiBpbnQobm90IHNlbGYucmVjdi5rZXlfcGhhc2UpCisgICAgICAg
IGVsc2U6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5yZWN2LmtleV9waGFzZQorCisgICAgZGVm
IF91cGRhdGVfa2V5KHNlbGYpIC0+IE5vbmU6CisgICAgICAgIGFwcGx5X2tleV9waGFzZShzZWxm
LnJlY3YsIG5leHRfa2V5X3BoYXNlKHNlbGYucmVjdikpCisgICAgICAgIGFwcGx5X2tleV9waGFz
ZShzZWxmLnNlbmQsIG5leHRfa2V5X3BoYXNlKHNlbGYuc2VuZCkpCisgICAgICAgIHNlbGYuX3Vw
ZGF0ZV9rZXlfcmVxdWVzdGVkID0gRmFsc2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9zcmMv
YWlvcXVpYy9xdWljL2V2ZW50cy5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9zcmMvYWlvcXVpYy9xdWljL2V2
ZW50cy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi40NDMwNjkzOTM2YzE4ODE2YWUxMTgzMjZkMmEyMjUxMjk1MjQ1
ZTMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3NyYy9haW9xdWljL3F1aWMvZXZl
bnRzLnB5CkBAIC0wLDAgKzEsMTEyIEBACitmcm9tIGRhdGFjbGFzc2VzIGltcG9ydCBkYXRhY2xh
c3MKK2Zyb20gdHlwaW5nIGltcG9ydCBPcHRpb25hbAorCisKK2NsYXNzIFF1aWNFdmVudDoKKyAg
ICAiIiIKKyAgICBCYXNlIGNsYXNzIGZvciBRVUlDIGV2ZW50cy4KKyAgICAiIiIKKworICAgIHBh
c3MKKworCitAZGF0YWNsYXNzCitjbGFzcyBDb25uZWN0aW9uSWRJc3N1ZWQoUXVpY0V2ZW50KToK
KyAgICBjb25uZWN0aW9uX2lkOiBieXRlcworCisKK0BkYXRhY2xhc3MKK2NsYXNzIENvbm5lY3Rp
b25JZFJldGlyZWQoUXVpY0V2ZW50KToKKyAgICBjb25uZWN0aW9uX2lkOiBieXRlcworCisKK0Bk
YXRhY2xhc3MKK2NsYXNzIENvbm5lY3Rpb25UZXJtaW5hdGVkKFF1aWNFdmVudCk6CisgICAgIiIi
CisgICAgVGhlIENvbm5lY3Rpb25UZXJtaW5hdGVkIGV2ZW50IGlzIGZpcmVkIHdoZW4gdGhlIFFV
SUMgY29ubmVjdGlvbiBpcyB0ZXJtaW5hdGVkLgorICAgICIiIgorCisgICAgZXJyb3JfY29kZTog
aW50CisgICAgIlRoZSBlcnJvciBjb2RlIHdoaWNoIHdhcyBzcGVjaWZpZWQgd2hlbiBjbG9zaW5n
IHRoZSBjb25uZWN0aW9uLiIKKworICAgIGZyYW1lX3R5cGU6IE9wdGlvbmFsW2ludF0KKyAgICAi
VGhlIGZyYW1lIHR5cGUgd2hpY2ggY2F1c2VkIHRoZSBjb25uZWN0aW9uIHRvIGJlIGNsb3NlZCwg
b3IgYE5vbmVgLiIKKworICAgIHJlYXNvbl9waHJhc2U6IHN0cgorICAgICJUaGUgaHVtYW4tcmVh
ZGFibGUgcmVhc29uIGZvciB3aGljaCB0aGUgY29ubmVjdGlvbiB3YXMgY2xvc2VkLiIKKworCitA
ZGF0YWNsYXNzCitjbGFzcyBEYXRhZ3JhbUZyYW1lUmVjZWl2ZWQoUXVpY0V2ZW50KToKKyAgICAi
IiIKKyAgICBUaGUgRGF0YWdyYW1GcmFtZVJlY2VpdmVkIGV2ZW50IGlzIGZpcmVkIHdoZW4gYSBE
QVRBR1JBTSBmcmFtZSBpcyByZWNlaXZlZC4KKyAgICAiIiIKKworICAgIGRhdGE6IGJ5dGVzCisg
ICAgIlRoZSBkYXRhIHdoaWNoIHdhcyByZWNlaXZlZC4iCisKKworQGRhdGFjbGFzcworY2xhc3Mg
SGFuZHNoYWtlQ29tcGxldGVkKFF1aWNFdmVudCk6CisgICAgIiIiCisgICAgVGhlIEhhbmRzaGFr
ZUNvbXBsZXRlZCBldmVudCBpcyBmaXJlZCB3aGVuIHRoZSBUTFMgaGFuZHNoYWtlIGNvbXBsZXRl
cy4KKyAgICAiIiIKKworICAgIGFscG5fcHJvdG9jb2w6IE9wdGlvbmFsW3N0cl0KKyAgICAiVGhl
IHByb3RvY29sIHdoaWNoIHdhcyBuZWdvdGlhdGVkIHVzaW5nIEFMUE4sIG9yIGBOb25lYC4iCisK
KyAgICBlYXJseV9kYXRhX2FjY2VwdGVkOiBib29sCisgICAgIldoZXRoZXIgZWFybHkgKDAtUlRU
KSBkYXRhIHdhcyBhY2NlcHRlZCBieSB0aGUgcmVtb3RlIHBlZXIuIgorCisgICAgc2Vzc2lvbl9y
ZXN1bWVkOiBib29sCisgICAgIldoZXRoZXIgYSBUTFMgc2Vzc2lvbiB3YXMgcmVzdW1lZC4iCisK
KworQGRhdGFjbGFzcworY2xhc3MgUGluZ0Fja25vd2xlZGdlZChRdWljRXZlbnQpOgorICAgICIi
IgorICAgIFRoZSBQaW5nQWNrbm93bGVkZ2VkIGV2ZW50IGlzIGZpcmVkIHdoZW4gYSBQSU5HIGZy
YW1lIGlzIGFja25vd2xlZGdlZC4KKyAgICAiIiIKKworICAgIHVpZDogaW50CisgICAgIlRoZSB1
bmlxdWUgSUQgb2YgdGhlIFBJTkcuIgorCisKK0BkYXRhY2xhc3MKK2NsYXNzIFByb3RvY29sTmVn
b3RpYXRlZChRdWljRXZlbnQpOgorICAgICIiIgorICAgIFRoZSBQcm90b2NvbE5lZ290aWF0ZWQg
ZXZlbnQgaXMgZmlyZWQgd2hlbiBBTFBOIG5lZ290aWF0aW9uIGNvbXBsZXRlcy4KKyAgICAiIiIK
KworICAgIGFscG5fcHJvdG9jb2w6IE9wdGlvbmFsW3N0cl0KKyAgICAiVGhlIHByb3RvY29sIHdo
aWNoIHdhcyBuZWdvdGlhdGVkIHVzaW5nIEFMUE4sIG9yIGBOb25lYC4iCisKKworQGRhdGFjbGFz
cworY2xhc3MgU3RyZWFtRGF0YVJlY2VpdmVkKFF1aWNFdmVudCk6CisgICAgIiIiCisgICAgVGhl
IFN0cmVhbURhdGFSZWNlaXZlZCBldmVudCBpcyBmaXJlZCB3aGVuZXZlciBkYXRhIGlzIHJlY2Vp
dmVkIG9uIGEKKyAgICBzdHJlYW0uCisgICAgIiIiCisKKyAgICBkYXRhOiBieXRlcworICAgICJU
aGUgZGF0YSB3aGljaCB3YXMgcmVjZWl2ZWQuIgorCisgICAgZW5kX3N0cmVhbTogYm9vbAorICAg
ICJXaGV0aGVyIHRoZSBTVFJFQU0gZnJhbWUgaGFkIHRoZSBGSU4gYml0IHNldC4iCisKKyAgICBz
dHJlYW1faWQ6IGludAorICAgICJUaGUgSUQgb2YgdGhlIHN0cmVhbSB0aGUgZGF0YSB3YXMgcmVj
ZWl2ZWQgZm9yLiIKKworCitAZGF0YWNsYXNzCitjbGFzcyBTdHJlYW1SZXNldChRdWljRXZlbnQp
OgorICAgICIiIgorICAgIFRoZSBTdHJlYW1SZXNldCBldmVudCBpcyBmaXJlZCB3aGVuIHRoZSBy
ZW1vdGUgcGVlciByZXNldHMgYSBzdHJlYW0uCisgICAgIiIiCisKKyAgICBlcnJvcl9jb2RlOiBp
bnQKKyAgICAiVGhlIGVycm9yIGNvZGUgdGhhdCB0cmlnZ2VyZWQgdGhlIHJlc2V0LiIKKworICAg
IHN0cmVhbV9pZDogaW50CisgICAgIlRoZSBJRCBvZiB0aGUgc3RyZWFtIHRoYXQgd2FzIHJlc2V0
LiIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9zcmMvYWlvcXVpYy9xdWljL2xvZ2dlci5weSBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRf
cGFydHkvYWlvcXVpYy9zcmMvYWlvcXVpYy9xdWljL2xvZ2dlci5weQpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNDk3
NWJkNTkyZTFjMDg3ODI1Y2Q5NWM2MDNjNjkwNmE3NDNkYjgxCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9w
YXJ0eS9haW9xdWljL3NyYy9haW9xdWljL3F1aWMvbG9nZ2VyLnB5CkBAIC0wLDAgKzEsMjY2IEBA
CitpbXBvcnQgYmluYXNjaWkKK2ltcG9ydCB0aW1lCitmcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBk
ZXF1ZQorZnJvbSB0eXBpbmcgaW1wb3J0IEFueSwgRGVxdWUsIERpY3QsIExpc3QsIE9wdGlvbmFs
LCBUdXBsZQorCitmcm9tIC5wYWNrZXQgaW1wb3J0ICgKKyAgICBQQUNLRVRfVFlQRV9IQU5EU0hB
S0UsCisgICAgUEFDS0VUX1RZUEVfSU5JVElBTCwKKyAgICBQQUNLRVRfVFlQRV9NQVNLLAorICAg
IFBBQ0tFVF9UWVBFX09ORV9SVFQsCisgICAgUEFDS0VUX1RZUEVfUkVUUlksCisgICAgUEFDS0VU
X1RZUEVfWkVST19SVFQsCisgICAgUXVpY1N0cmVhbUZyYW1lLAorICAgIFF1aWNUcmFuc3BvcnRQ
YXJhbWV0ZXJzLAorKQorZnJvbSAucmFuZ2VzZXQgaW1wb3J0IFJhbmdlU2V0CisKK1BBQ0tFVF9U
WVBFX05BTUVTID0geworICAgIFBBQ0tFVF9UWVBFX0lOSVRJQUw6ICJpbml0aWFsIiwKKyAgICBQ
QUNLRVRfVFlQRV9IQU5EU0hBS0U6ICJoYW5kc2hha2UiLAorICAgIFBBQ0tFVF9UWVBFX1pFUk9f
UlRUOiAiMFJUVCIsCisgICAgUEFDS0VUX1RZUEVfT05FX1JUVDogIjFSVFQiLAorICAgIFBBQ0tF
VF9UWVBFX1JFVFJZOiAicmV0cnkiLAorfQorCisKK2RlZiBoZXhkdW1wKGRhdGE6IGJ5dGVzKSAt
PiBzdHI6CisgICAgcmV0dXJuIGJpbmFzY2lpLmhleGxpZnkoZGF0YSkuZGVjb2RlKCJhc2NpaSIp
CisKKworY2xhc3MgUXVpY0xvZ2dlclRyYWNlOgorICAgICIiIgorICAgIEEgUVVJQyBldmVudCB0
cmFjZS4KKworICAgIEV2ZW50cyBhcmUgbG9nZ2VkIGluIHRoZSBmb3JtYXQgZGVmaW5lZCBieSBx
bG9nIGRyYWZ0LTAxLgorCisgICAgU2VlOiBodHRwczovL3F1aWNsb2cuZ2l0aHViLmlvL2ludGVy
bmV0LWRyYWZ0cy9kcmFmdC1tYXJ4LXFsb2ctZXZlbnQtZGVmaW5pdGlvbnMtcXVpYy1oMy5odG1s
CisgICAgIiIiCisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgKiwgaXNfY2xpZW50OiBib29sLCBv
ZGNpZDogYnl0ZXMpIC0+IE5vbmU6CisgICAgICAgIHNlbGYuX29kY2lkID0gb2RjaWQKKyAgICAg
ICAgc2VsZi5fZXZlbnRzOiBEZXF1ZVtUdXBsZVtmbG9hdCwgc3RyLCBzdHIsIERpY3Rbc3RyLCBB
bnldXV0gPSBkZXF1ZSgpCisgICAgICAgIHNlbGYuX3ZhbnRhZ2VfcG9pbnQgPSB7CisgICAgICAg
ICAgICAibmFtZSI6ICJhaW9xdWljIiwKKyAgICAgICAgICAgICJ0eXBlIjogImNsaWVudCIgaWYg
aXNfY2xpZW50IGVsc2UgInNlcnZlciIsCisgICAgICAgIH0KKworICAgIGRlZiBlbmNvZGVfYWNr
X2ZyYW1lKHNlbGYsIHJhbmdlczogUmFuZ2VTZXQsIGRlbGF5OiBmbG9hdCkgLT4gRGljdDoKKyAg
ICAgICAgcmV0dXJuIHsKKyAgICAgICAgICAgICJhY2tfZGVsYXkiOiBzdHIoc2VsZi5lbmNvZGVf
dGltZShkZWxheSkpLAorICAgICAgICAgICAgImFja2VkX3JhbmdlcyI6IFtbc3RyKHguc3RhcnQp
LCBzdHIoeC5zdG9wIC0gMSldIGZvciB4IGluIHJhbmdlc10sCisgICAgICAgICAgICAiZnJhbWVf
dHlwZSI6ICJhY2siLAorICAgICAgICB9CisKKyAgICBkZWYgZW5jb2RlX2Nvbm5lY3Rpb25fY2xv
c2VfZnJhbWUoCisgICAgICAgIHNlbGYsIGVycm9yX2NvZGU6IGludCwgZnJhbWVfdHlwZTogT3B0
aW9uYWxbaW50XSwgcmVhc29uX3BocmFzZTogc3RyCisgICAgKSAtPiBEaWN0OgorICAgICAgICBh
dHRycyA9IHsKKyAgICAgICAgICAgICJlcnJvcl9jb2RlIjogZXJyb3JfY29kZSwKKyAgICAgICAg
ICAgICJlcnJvcl9zcGFjZSI6ICJhcHBsaWNhdGlvbiIgaWYgZnJhbWVfdHlwZSBpcyBOb25lIGVs
c2UgInRyYW5zcG9ydCIsCisgICAgICAgICAgICAiZnJhbWVfdHlwZSI6ICJjb25uZWN0aW9uX2Ns
b3NlIiwKKyAgICAgICAgICAgICJyYXdfZXJyb3JfY29kZSI6IGVycm9yX2NvZGUsCisgICAgICAg
ICAgICAicmVhc29uIjogcmVhc29uX3BocmFzZSwKKyAgICAgICAgfQorICAgICAgICBpZiBmcmFt
ZV90eXBlIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgYXR0cnNbInRyaWdnZXJfZnJhbWVfdHlw
ZSJdID0gZnJhbWVfdHlwZQorCisgICAgICAgIHJldHVybiBhdHRycworCisgICAgZGVmIGVuY29k
ZV9jcnlwdG9fZnJhbWUoc2VsZiwgZnJhbWU6IFF1aWNTdHJlYW1GcmFtZSkgLT4gRGljdDoKKyAg
ICAgICAgcmV0dXJuIHsKKyAgICAgICAgICAgICJmcmFtZV90eXBlIjogImNyeXB0byIsCisgICAg
ICAgICAgICAibGVuZ3RoIjogbGVuKGZyYW1lLmRhdGEpLAorICAgICAgICAgICAgIm9mZnNldCI6
IHN0cihmcmFtZS5vZmZzZXQpLAorICAgICAgICB9CisKKyAgICBkZWYgZW5jb2RlX2RhdGFfYmxv
Y2tlZF9mcmFtZShzZWxmLCBsaW1pdDogaW50KSAtPiBEaWN0OgorICAgICAgICByZXR1cm4geyJm
cmFtZV90eXBlIjogImRhdGFfYmxvY2tlZCIsICJsaW1pdCI6IHN0cihsaW1pdCl9CisKKyAgICBk
ZWYgZW5jb2RlX2RhdGFncmFtX2ZyYW1lKHNlbGYsIGxlbmd0aDogaW50KSAtPiBEaWN0OgorICAg
ICAgICByZXR1cm4geyJmcmFtZV90eXBlIjogImRhdGFncmFtIiwgImxlbmd0aCI6IGxlbmd0aH0K
KworICAgIGRlZiBlbmNvZGVfaGFuZHNoYWtlX2RvbmVfZnJhbWUoc2VsZikgLT4gRGljdDoKKyAg
ICAgICAgcmV0dXJuIHsiZnJhbWVfdHlwZSI6ICJoYW5kc2hha2VfZG9uZSJ9CisKKyAgICBkZWYg
ZW5jb2RlX21heF9kYXRhX2ZyYW1lKHNlbGYsIG1heGltdW06IGludCkgLT4gRGljdDoKKyAgICAg
ICAgcmV0dXJuIHsiZnJhbWVfdHlwZSI6ICJtYXhfZGF0YSIsICJtYXhpbXVtIjogc3RyKG1heGlt
dW0pfQorCisgICAgZGVmIGVuY29kZV9tYXhfc3RyZWFtX2RhdGFfZnJhbWUoc2VsZiwgbWF4aW11
bTogaW50LCBzdHJlYW1faWQ6IGludCkgLT4gRGljdDoKKyAgICAgICAgcmV0dXJuIHsKKyAgICAg
ICAgICAgICJmcmFtZV90eXBlIjogIm1heF9zdHJlYW1fZGF0YSIsCisgICAgICAgICAgICAibWF4
aW11bSI6IHN0cihtYXhpbXVtKSwKKyAgICAgICAgICAgICJzdHJlYW1faWQiOiBzdHIoc3RyZWFt
X2lkKSwKKyAgICAgICAgfQorCisgICAgZGVmIGVuY29kZV9tYXhfc3RyZWFtc19mcmFtZShzZWxm
LCBpc191bmlkaXJlY3Rpb25hbDogYm9vbCwgbWF4aW11bTogaW50KSAtPiBEaWN0OgorICAgICAg
ICByZXR1cm4geworICAgICAgICAgICAgImZyYW1lX3R5cGUiOiAibWF4X3N0cmVhbXMiLAorICAg
ICAgICAgICAgIm1heGltdW0iOiBzdHIobWF4aW11bSksCisgICAgICAgICAgICAic3RyZWFtX3R5
cGUiOiAidW5pZGlyZWN0aW9uYWwiIGlmIGlzX3VuaWRpcmVjdGlvbmFsIGVsc2UgImJpZGlyZWN0
aW9uYWwiLAorICAgICAgICB9CisKKyAgICBkZWYgZW5jb2RlX25ld19jb25uZWN0aW9uX2lkX2Zy
YW1lKAorICAgICAgICBzZWxmLAorICAgICAgICBjb25uZWN0aW9uX2lkOiBieXRlcywKKyAgICAg
ICAgcmV0aXJlX3ByaW9yX3RvOiBpbnQsCisgICAgICAgIHNlcXVlbmNlX251bWJlcjogaW50LAor
ICAgICAgICBzdGF0ZWxlc3NfcmVzZXRfdG9rZW46IGJ5dGVzLAorICAgICkgLT4gRGljdDoKKyAg
ICAgICAgcmV0dXJuIHsKKyAgICAgICAgICAgICJjb25uZWN0aW9uX2lkIjogaGV4ZHVtcChjb25u
ZWN0aW9uX2lkKSwKKyAgICAgICAgICAgICJmcmFtZV90eXBlIjogIm5ld19jb25uZWN0aW9uX2lk
IiwKKyAgICAgICAgICAgICJsZW5ndGgiOiBsZW4oY29ubmVjdGlvbl9pZCksCisgICAgICAgICAg
ICAicmVzZXRfdG9rZW4iOiBoZXhkdW1wKHN0YXRlbGVzc19yZXNldF90b2tlbiksCisgICAgICAg
ICAgICAicmV0aXJlX3ByaW9yX3RvIjogc3RyKHJldGlyZV9wcmlvcl90byksCisgICAgICAgICAg
ICAic2VxdWVuY2VfbnVtYmVyIjogc3RyKHNlcXVlbmNlX251bWJlciksCisgICAgICAgIH0KKwor
ICAgIGRlZiBlbmNvZGVfbmV3X3Rva2VuX2ZyYW1lKHNlbGYsIHRva2VuOiBieXRlcykgLT4gRGlj
dDoKKyAgICAgICAgcmV0dXJuIHsKKyAgICAgICAgICAgICJmcmFtZV90eXBlIjogIm5ld190b2tl
biIsCisgICAgICAgICAgICAibGVuZ3RoIjogbGVuKHRva2VuKSwKKyAgICAgICAgICAgICJ0b2tl
biI6IGhleGR1bXAodG9rZW4pLAorICAgICAgICB9CisKKyAgICBkZWYgZW5jb2RlX3BhZGRpbmdf
ZnJhbWUoc2VsZikgLT4gRGljdDoKKyAgICAgICAgcmV0dXJuIHsiZnJhbWVfdHlwZSI6ICJwYWRk
aW5nIn0KKworICAgIGRlZiBlbmNvZGVfcGF0aF9jaGFsbGVuZ2VfZnJhbWUoc2VsZiwgZGF0YTog
Ynl0ZXMpIC0+IERpY3Q6CisgICAgICAgIHJldHVybiB7ImRhdGEiOiBoZXhkdW1wKGRhdGEpLCAi
ZnJhbWVfdHlwZSI6ICJwYXRoX2NoYWxsZW5nZSJ9CisKKyAgICBkZWYgZW5jb2RlX3BhdGhfcmVz
cG9uc2VfZnJhbWUoc2VsZiwgZGF0YTogYnl0ZXMpIC0+IERpY3Q6CisgICAgICAgIHJldHVybiB7
ImRhdGEiOiBoZXhkdW1wKGRhdGEpLCAiZnJhbWVfdHlwZSI6ICJwYXRoX3Jlc3BvbnNlIn0KKwor
ICAgIGRlZiBlbmNvZGVfcGluZ19mcmFtZShzZWxmKSAtPiBEaWN0OgorICAgICAgICByZXR1cm4g
eyJmcmFtZV90eXBlIjogInBpbmcifQorCisgICAgZGVmIGVuY29kZV9yZXNldF9zdHJlYW1fZnJh
bWUoCisgICAgICAgIHNlbGYsIGVycm9yX2NvZGU6IGludCwgZmluYWxfc2l6ZTogaW50LCBzdHJl
YW1faWQ6IGludAorICAgICkgLT4gRGljdDoKKyAgICAgICAgcmV0dXJuIHsKKyAgICAgICAgICAg
ICJlcnJvcl9jb2RlIjogZXJyb3JfY29kZSwKKyAgICAgICAgICAgICJmaW5hbF9zaXplIjogc3Ry
KGZpbmFsX3NpemUpLAorICAgICAgICAgICAgImZyYW1lX3R5cGUiOiAicmVzZXRfc3RyZWFtIiwK
KyAgICAgICAgICAgICJzdHJlYW1faWQiOiBzdHIoc3RyZWFtX2lkKSwKKyAgICAgICAgfQorCisg
ICAgZGVmIGVuY29kZV9yZXRpcmVfY29ubmVjdGlvbl9pZF9mcmFtZShzZWxmLCBzZXF1ZW5jZV9u
dW1iZXI6IGludCkgLT4gRGljdDoKKyAgICAgICAgcmV0dXJuIHsKKyAgICAgICAgICAgICJmcmFt
ZV90eXBlIjogInJldGlyZV9jb25uZWN0aW9uX2lkIiwKKyAgICAgICAgICAgICJzZXF1ZW5jZV9u
dW1iZXIiOiBzdHIoc2VxdWVuY2VfbnVtYmVyKSwKKyAgICAgICAgfQorCisgICAgZGVmIGVuY29k
ZV9zdHJlYW1fZGF0YV9ibG9ja2VkX2ZyYW1lKHNlbGYsIGxpbWl0OiBpbnQsIHN0cmVhbV9pZDog
aW50KSAtPiBEaWN0OgorICAgICAgICByZXR1cm4geworICAgICAgICAgICAgImZyYW1lX3R5cGUi
OiAic3RyZWFtX2RhdGFfYmxvY2tlZCIsCisgICAgICAgICAgICAibGltaXQiOiBzdHIobGltaXQp
LAorICAgICAgICAgICAgInN0cmVhbV9pZCI6IHN0cihzdHJlYW1faWQpLAorICAgICAgICB9CisK
KyAgICBkZWYgZW5jb2RlX3N0b3Bfc2VuZGluZ19mcmFtZShzZWxmLCBlcnJvcl9jb2RlOiBpbnQs
IHN0cmVhbV9pZDogaW50KSAtPiBEaWN0OgorICAgICAgICByZXR1cm4geworICAgICAgICAgICAg
ImZyYW1lX3R5cGUiOiAic3RvcF9zZW5kaW5nIiwKKyAgICAgICAgICAgICJlcnJvcl9jb2RlIjog
ZXJyb3JfY29kZSwKKyAgICAgICAgICAgICJzdHJlYW1faWQiOiBzdHIoc3RyZWFtX2lkKSwKKyAg
ICAgICAgfQorCisgICAgZGVmIGVuY29kZV9zdHJlYW1fZnJhbWUoc2VsZiwgZnJhbWU6IFF1aWNT
dHJlYW1GcmFtZSwgc3RyZWFtX2lkOiBpbnQpIC0+IERpY3Q6CisgICAgICAgIHJldHVybiB7Cisg
ICAgICAgICAgICAiZmluIjogZnJhbWUuZmluLAorICAgICAgICAgICAgImZyYW1lX3R5cGUiOiAi
c3RyZWFtIiwKKyAgICAgICAgICAgICJsZW5ndGgiOiBsZW4oZnJhbWUuZGF0YSksCisgICAgICAg
ICAgICAib2Zmc2V0Ijogc3RyKGZyYW1lLm9mZnNldCksCisgICAgICAgICAgICAic3RyZWFtX2lk
Ijogc3RyKHN0cmVhbV9pZCksCisgICAgICAgIH0KKworICAgIGRlZiBlbmNvZGVfc3RyZWFtc19i
bG9ja2VkX2ZyYW1lKHNlbGYsIGlzX3VuaWRpcmVjdGlvbmFsOiBib29sLCBsaW1pdDogaW50KSAt
PiBEaWN0OgorICAgICAgICByZXR1cm4geworICAgICAgICAgICAgImZyYW1lX3R5cGUiOiAic3Ry
ZWFtc19ibG9ja2VkIiwKKyAgICAgICAgICAgICJsaW1pdCI6IHN0cihsaW1pdCksCisgICAgICAg
ICAgICAic3RyZWFtX3R5cGUiOiAidW5pZGlyZWN0aW9uYWwiIGlmIGlzX3VuaWRpcmVjdGlvbmFs
IGVsc2UgImJpZGlyZWN0aW9uYWwiLAorICAgICAgICB9CisKKyAgICBkZWYgZW5jb2RlX3RpbWUo
c2VsZiwgc2Vjb25kczogZmxvYXQpIC0+IGludDoKKyAgICAgICAgIiIiCisgICAgICAgIENvbnZl
cnQgYSB0aW1lIHRvIGludGVnZXIgbWljcm9zZWNvbmRzLgorICAgICAgICAiIiIKKyAgICAgICAg
cmV0dXJuIGludChzZWNvbmRzICogMTAwMDAwMCkKKworICAgIGRlZiBlbmNvZGVfdHJhbnNwb3J0
X3BhcmFtZXRlcnMoCisgICAgICAgIHNlbGYsIG93bmVyOiBzdHIsIHBhcmFtZXRlcnM6IFF1aWNU
cmFuc3BvcnRQYXJhbWV0ZXJzCisgICAgKSAtPiBEaWN0W3N0ciwgQW55XToKKyAgICAgICAgZGF0
YTogRGljdFtzdHIsIEFueV0gPSB7Im93bmVyIjogb3duZXJ9CisgICAgICAgIGZvciBwYXJhbV9u
YW1lLCBwYXJhbV92YWx1ZSBpbiBwYXJhbWV0ZXJzLl9fZGljdF9fLml0ZW1zKCk6CisgICAgICAg
ICAgICBpZiBpc2luc3RhbmNlKHBhcmFtX3ZhbHVlLCBib29sKToKKyAgICAgICAgICAgICAgICBk
YXRhW3BhcmFtX25hbWVdID0gcGFyYW1fdmFsdWUKKyAgICAgICAgICAgIGVsaWYgaXNpbnN0YW5j
ZShwYXJhbV92YWx1ZSwgYnl0ZXMpOgorICAgICAgICAgICAgICAgIGRhdGFbcGFyYW1fbmFtZV0g
PSBoZXhkdW1wKHBhcmFtX3ZhbHVlKQorICAgICAgICAgICAgZWxpZiBpc2luc3RhbmNlKHBhcmFt
X3ZhbHVlLCBpbnQpOgorICAgICAgICAgICAgICAgIGRhdGFbcGFyYW1fbmFtZV0gPSBwYXJhbV92
YWx1ZQorICAgICAgICByZXR1cm4gZGF0YQorCisgICAgZGVmIGxvZ19ldmVudChzZWxmLCAqLCBj
YXRlZ29yeTogc3RyLCBldmVudDogc3RyLCBkYXRhOiBEaWN0KSAtPiBOb25lOgorICAgICAgICBz
ZWxmLl9ldmVudHMuYXBwZW5kKCh0aW1lLnRpbWUoKSwgY2F0ZWdvcnksIGV2ZW50LCBkYXRhKSkK
KworICAgIGRlZiBwYWNrZXRfdHlwZShzZWxmLCBwYWNrZXRfdHlwZTogaW50KSAtPiBzdHI6Cisg
ICAgICAgIHJldHVybiBQQUNLRVRfVFlQRV9OQU1FUy5nZXQocGFja2V0X3R5cGUgJiBQQUNLRVRf
VFlQRV9NQVNLLCAiMVJUVCIpCisKKyAgICBkZWYgdG9fZGljdChzZWxmKSAtPiBEaWN0W3N0ciwg
QW55XToKKyAgICAgICAgIiIiCisgICAgICAgIFJldHVybiB0aGUgdHJhY2UgYXMgYSBkaWN0aW9u
YXJ5IHdoaWNoIGNhbiBiZSB3cml0dGVuIGFzIEpTT04uCisgICAgICAgICIiIgorICAgICAgICBp
ZiBzZWxmLl9ldmVudHM6CisgICAgICAgICAgICByZWZlcmVuY2VfdGltZSA9IHNlbGYuX2V2ZW50
c1swXVswXQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmVmZXJlbmNlX3RpbWUgPSAwLjAK
KyAgICAgICAgcmV0dXJuIHsKKyAgICAgICAgICAgICJjb25maWd1cmF0aW9uIjogeyJ0aW1lX3Vu
aXRzIjogInVzIn0sCisgICAgICAgICAgICAiY29tbW9uX2ZpZWxkcyI6IHsKKyAgICAgICAgICAg
ICAgICAiT0RDSUQiOiBoZXhkdW1wKHNlbGYuX29kY2lkKSwKKyAgICAgICAgICAgICAgICAicmVm
ZXJlbmNlX3RpbWUiOiBzdHIoc2VsZi5lbmNvZGVfdGltZShyZWZlcmVuY2VfdGltZSkpLAorICAg
ICAgICAgICAgfSwKKyAgICAgICAgICAgICJldmVudF9maWVsZHMiOiBbInJlbGF0aXZlX3RpbWUi
LCAiY2F0ZWdvcnkiLCAiZXZlbnRfdHlwZSIsICJkYXRhIl0sCisgICAgICAgICAgICAiZXZlbnRz
IjogbGlzdCgKKyAgICAgICAgICAgICAgICBtYXAoCisgICAgICAgICAgICAgICAgICAgIGxhbWJk
YSBldmVudDogKAorICAgICAgICAgICAgICAgICAgICAgICAgc3RyKHNlbGYuZW5jb2RlX3RpbWUo
ZXZlbnRbMF0gLSByZWZlcmVuY2VfdGltZSkpLAorICAgICAgICAgICAgICAgICAgICAgICAgZXZl
bnRbMV0sCisgICAgICAgICAgICAgICAgICAgICAgICBldmVudFsyXSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGV2ZW50WzNdLAorICAgICAgICAgICAgICAgICAgICApLAorICAgICAgICAgICAg
ICAgICAgICBzZWxmLl9ldmVudHMsCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgKSwK
KyAgICAgICAgICAgICJ2YW50YWdlX3BvaW50Ijogc2VsZi5fdmFudGFnZV9wb2ludCwKKyAgICAg
ICAgfQorCisKK2NsYXNzIFF1aWNMb2dnZXI6CisgICAgIiIiCisgICAgQSBRVUlDIGV2ZW50IGxv
Z2dlci4KKworICAgIFNlcnZlcyBhcyBhIGNvbnRhaW5lciBmb3IgdHJhY2VzIGluIHRoZSBmb3Jt
YXQgZGVmaW5lZCBieSBxbG9nIGRyYWZ0LTAxLgorCisgICAgU2VlOiBodHRwczovL3F1aWNsb2cu
Z2l0aHViLmlvL2ludGVybmV0LWRyYWZ0cy9kcmFmdC1tYXJ4LXFsb2ctbWFpbi1zY2hlbWEuaHRt
bAorICAgICIiIgorCisgICAgZGVmIF9faW5pdF9fKHNlbGYpIC0+IE5vbmU6CisgICAgICAgIHNl
bGYuX3RyYWNlczogTGlzdFtRdWljTG9nZ2VyVHJhY2VdID0gW10KKworICAgIGRlZiBzdGFydF90
cmFjZShzZWxmLCBpc19jbGllbnQ6IGJvb2wsIG9kY2lkOiBieXRlcykgLT4gUXVpY0xvZ2dlclRy
YWNlOgorICAgICAgICB0cmFjZSA9IFF1aWNMb2dnZXJUcmFjZShpc19jbGllbnQ9aXNfY2xpZW50
LCBvZGNpZD1vZGNpZCkKKyAgICAgICAgc2VsZi5fdHJhY2VzLmFwcGVuZCh0cmFjZSkKKyAgICAg
ICAgcmV0dXJuIHRyYWNlCisKKyAgICBkZWYgZW5kX3RyYWNlKHNlbGYsIHRyYWNlOiBRdWljTG9n
Z2VyVHJhY2UpIC0+IE5vbmU6CisgICAgICAgIGFzc2VydCB0cmFjZSBpbiBzZWxmLl90cmFjZXMs
ICJRdWljTG9nZ2VyVHJhY2UgZG9lcyBub3QgYmVsb25nIHRvIFF1aWNMb2dnZXIiCisKKyAgICBk
ZWYgdG9fZGljdChzZWxmKSAtPiBEaWN0W3N0ciwgQW55XToKKyAgICAgICAgIiIiCisgICAgICAg
IFJldHVybiB0aGUgdHJhY2VzIGFzIGEgZGljdGlvbmFyeSB3aGljaCBjYW4gYmUgd3JpdHRlbiBh
cyBKU09OLgorICAgICAgICAiIiIKKyAgICAgICAgcmV0dXJuIHsKKyAgICAgICAgICAgICJxbG9n
X3ZlcnNpb24iOiAiZHJhZnQtMDEiLAorICAgICAgICAgICAgInRyYWNlcyI6IFt0cmFjZS50b19k
aWN0KCkgZm9yIHRyYWNlIGluIHNlbGYuX3RyYWNlc10sCisgICAgICAgIH0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRf
cGFydHkvYWlvcXVpYy9zcmMvYWlvcXVpYy9xdWljL3BhY2tldC5weSBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9z
cmMvYWlvcXVpYy9xdWljL3BhY2tldC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iOTk0NDU5OTA4NWRlMGRkOGRj
NmE5YmZlM2JjYTZhYmJhMzYwYmNmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3Ny
Yy9haW9xdWljL3F1aWMvcGFja2V0LnB5CkBAIC0wLDAgKzEsNTA4IEBACitpbXBvcnQgYmluYXNj
aWkKK2ltcG9ydCBpcGFkZHJlc3MKK2ltcG9ydCBvcworZnJvbSBkYXRhY2xhc3NlcyBpbXBvcnQg
ZGF0YWNsYXNzCitmcm9tIGVudW0gaW1wb3J0IEludEVudW0KK2Zyb20gdHlwaW5nIGltcG9ydCBM
aXN0LCBPcHRpb25hbCwgVHVwbGUKKworZnJvbSBjcnlwdG9ncmFwaHkuaGF6bWF0LnByaW1pdGl2
ZXMuY2lwaGVycy5hZWFkIGltcG9ydCBBRVNHQ00KKworZnJvbSAuLmJ1ZmZlciBpbXBvcnQgQnVm
ZmVyCitmcm9tIC4udGxzIGltcG9ydCBwdWxsX2Jsb2NrLCBwdXNoX2Jsb2NrCitmcm9tIC5yYW5n
ZXNldCBpbXBvcnQgUmFuZ2VTZXQKKworUEFDS0VUX0xPTkdfSEVBREVSID0gMHg4MAorUEFDS0VU
X0ZJWEVEX0JJVCA9IDB4NDAKK1BBQ0tFVF9TUElOX0JJVCA9IDB4MjAKKworUEFDS0VUX1RZUEVf
SU5JVElBTCA9IFBBQ0tFVF9MT05HX0hFQURFUiB8IFBBQ0tFVF9GSVhFRF9CSVQgfCAweDAwCitQ
QUNLRVRfVFlQRV9aRVJPX1JUVCA9IFBBQ0tFVF9MT05HX0hFQURFUiB8IFBBQ0tFVF9GSVhFRF9C
SVQgfCAweDEwCitQQUNLRVRfVFlQRV9IQU5EU0hBS0UgPSBQQUNLRVRfTE9OR19IRUFERVIgfCBQ
QUNLRVRfRklYRURfQklUIHwgMHgyMAorUEFDS0VUX1RZUEVfUkVUUlkgPSBQQUNLRVRfTE9OR19I
RUFERVIgfCBQQUNLRVRfRklYRURfQklUIHwgMHgzMAorUEFDS0VUX1RZUEVfT05FX1JUVCA9IFBB
Q0tFVF9GSVhFRF9CSVQKK1BBQ0tFVF9UWVBFX01BU0sgPSAweEYwCisKK0NPTk5FQ1RJT05fSURf
TUFYX1NJWkUgPSAyMAorUEFDS0VUX05VTUJFUl9NQVhfU0laRSA9IDQKK1JFVFJZX0FFQURfS0VZ
ID0gYmluYXNjaWkudW5oZXhsaWZ5KCI0ZDMyZWNkYjJhMjEzM2M4NDFlNDA0M2RmMjdkNDQzMCIp
CitSRVRSWV9BRUFEX05PTkNFID0gYmluYXNjaWkudW5oZXhsaWZ5KCI0ZDE2MTFkMDU1MTNhNTUy
YzU4N2Q1NzUiKQorUkVUUllfSU5URUdSSVRZX1RBR19TSVpFID0gMTYKKworCitjbGFzcyBRdWlj
RXJyb3JDb2RlKEludEVudW0pOgorICAgIE5PX0VSUk9SID0gMHgwCisgICAgSU5URVJOQUxfRVJS
T1IgPSAweDEKKyAgICBTRVJWRVJfQlVTWSA9IDB4MgorICAgIEZMT1dfQ09OVFJPTF9FUlJPUiA9
IDB4MworICAgIFNUUkVBTV9MSU1JVF9FUlJPUiA9IDB4NAorICAgIFNUUkVBTV9TVEFURV9FUlJP
UiA9IDB4NQorICAgIEZJTkFMX1NJWkVfRVJST1IgPSAweDYKKyAgICBGUkFNRV9FTkNPRElOR19F
UlJPUiA9IDB4NworICAgIFRSQU5TUE9SVF9QQVJBTUVURVJfRVJST1IgPSAweDgKKyAgICBDT05O
RUNUSU9OX0lEX0xJTUlUX0VSUk9SID0gMHg5CisgICAgUFJPVE9DT0xfVklPTEFUSU9OID0gMHhB
CisgICAgSU5WQUxJRF9UT0tFTiA9IDB4QgorICAgIENSWVBUT19CVUZGRVJfRVhDRUVERUQgPSAw
eEQKKyAgICBDUllQVE9fRVJST1IgPSAweDEwMAorCisKK2NsYXNzIFF1aWNQcm90b2NvbFZlcnNp
b24oSW50RW51bSk6CisgICAgTkVHT1RJQVRJT04gPSAwCisgICAgRFJBRlRfMjUgPSAweEZGMDAw
MDE5CisgICAgRFJBRlRfMjYgPSAweEZGMDAwMDFBCisgICAgRFJBRlRfMjcgPSAweEZGMDAwMDFC
CisKKworQGRhdGFjbGFzcworY2xhc3MgUXVpY0hlYWRlcjoKKyAgICBpc19sb25nX2hlYWRlcjog
Ym9vbAorICAgIHZlcnNpb246IE9wdGlvbmFsW2ludF0KKyAgICBwYWNrZXRfdHlwZTogaW50Cisg
ICAgZGVzdGluYXRpb25fY2lkOiBieXRlcworICAgIHNvdXJjZV9jaWQ6IGJ5dGVzCisgICAgdG9r
ZW46IGJ5dGVzID0gYiIiCisgICAgaW50ZWdyaXR5X3RhZzogYnl0ZXMgPSBiIiIKKyAgICByZXN0
X2xlbmd0aDogaW50ID0gMAorCisKK2RlZiBkZWNvZGVfcGFja2V0X251bWJlcih0cnVuY2F0ZWQ6
IGludCwgbnVtX2JpdHM6IGludCwgZXhwZWN0ZWQ6IGludCkgLT4gaW50OgorICAgICIiIgorICAg
IFJlY292ZXIgYSBwYWNrZXQgbnVtYmVyIGZyb20gYSB0cnVuY2F0ZWQgcGFja2V0IG51bWJlci4K
KworICAgIFNlZTogQXBwZW5kaXggQSAtIFNhbXBsZSBQYWNrZXQgTnVtYmVyIERlY29kaW5nIEFs
Z29yaXRobQorICAgICIiIgorICAgIHdpbmRvdyA9IDEgPDwgbnVtX2JpdHMKKyAgICBoYWxmX3dp
bmRvdyA9IHdpbmRvdyAvLyAyCisgICAgY2FuZGlkYXRlID0gKGV4cGVjdGVkICYgfih3aW5kb3cg
LSAxKSkgfCB0cnVuY2F0ZWQKKyAgICBpZiBjYW5kaWRhdGUgPD0gZXhwZWN0ZWQgLSBoYWxmX3dp
bmRvdyBhbmQgY2FuZGlkYXRlIDwgKDEgPDwgNjIpIC0gd2luZG93OgorICAgICAgICByZXR1cm4g
Y2FuZGlkYXRlICsgd2luZG93CisgICAgZWxpZiBjYW5kaWRhdGUgPiBleHBlY3RlZCArIGhhbGZf
d2luZG93IGFuZCBjYW5kaWRhdGUgPj0gd2luZG93OgorICAgICAgICByZXR1cm4gY2FuZGlkYXRl
IC0gd2luZG93CisgICAgZWxzZToKKyAgICAgICAgcmV0dXJuIGNhbmRpZGF0ZQorCisKK2RlZiBn
ZXRfcmV0cnlfaW50ZWdyaXR5X3RhZygKKyAgICBwYWNrZXRfd2l0aG91dF90YWc6IGJ5dGVzLCBv
cmlnaW5hbF9kZXN0aW5hdGlvbl9jaWQ6IGJ5dGVzCispIC0+IGJ5dGVzOgorICAgICIiIgorICAg
IENhbGN1bGF0ZSB0aGUgaW50ZWdyaXR5IHRhZyBmb3IgYSBSRVRSWSBwYWNrZXQuCisgICAgIiIi
CisgICAgIyBidWlsZCBSZXRyeSBwc2V1ZG8gcGFja2V0CisgICAgYnVmID0gQnVmZmVyKGNhcGFj
aXR5PTEgKyBsZW4ob3JpZ2luYWxfZGVzdGluYXRpb25fY2lkKSArIGxlbihwYWNrZXRfd2l0aG91
dF90YWcpKQorICAgIGJ1Zi5wdXNoX3VpbnQ4KGxlbihvcmlnaW5hbF9kZXN0aW5hdGlvbl9jaWQp
KQorICAgIGJ1Zi5wdXNoX2J5dGVzKG9yaWdpbmFsX2Rlc3RpbmF0aW9uX2NpZCkKKyAgICBidWYu
cHVzaF9ieXRlcyhwYWNrZXRfd2l0aG91dF90YWcpCisgICAgYXNzZXJ0IGJ1Zi5lb2YoKQorCisg
ICAgIyBydW4gQUVTLTEyOC1HQ00KKyAgICBhZWFkID0gQUVTR0NNKFJFVFJZX0FFQURfS0VZKQor
ICAgIGludGVncml0eV90YWcgPSBhZWFkLmVuY3J5cHQoUkVUUllfQUVBRF9OT05DRSwgYiIiLCBi
dWYuZGF0YSkKKyAgICBhc3NlcnQgbGVuKGludGVncml0eV90YWcpID09IFJFVFJZX0lOVEVHUklU
WV9UQUdfU0laRQorICAgIHJldHVybiBpbnRlZ3JpdHlfdGFnCisKKworZGVmIGdldF9zcGluX2Jp
dChmaXJzdF9ieXRlOiBpbnQpIC0+IGJvb2w6CisgICAgcmV0dXJuIGJvb2woZmlyc3RfYnl0ZSAm
IFBBQ0tFVF9TUElOX0JJVCkKKworCitkZWYgaXNfbG9uZ19oZWFkZXIoZmlyc3RfYnl0ZTogaW50
KSAtPiBib29sOgorICAgIHJldHVybiBib29sKGZpcnN0X2J5dGUgJiBQQUNLRVRfTE9OR19IRUFE
RVIpCisKKworZGVmIHB1bGxfcXVpY19oZWFkZXIoYnVmOiBCdWZmZXIsIGhvc3RfY2lkX2xlbmd0
aDogT3B0aW9uYWxbaW50XSA9IE5vbmUpIC0+IFF1aWNIZWFkZXI6CisgICAgZmlyc3RfYnl0ZSA9
IGJ1Zi5wdWxsX3VpbnQ4KCkKKworICAgIGludGVncml0eV90YWcgPSBiIiIKKyAgICB0b2tlbiA9
IGIiIgorICAgIGlmIGlzX2xvbmdfaGVhZGVyKGZpcnN0X2J5dGUpOgorICAgICAgICAjIGxvbmcg
aGVhZGVyIHBhY2tldAorICAgICAgICB2ZXJzaW9uID0gYnVmLnB1bGxfdWludDMyKCkKKworICAg
ICAgICBkZXN0aW5hdGlvbl9jaWRfbGVuZ3RoID0gYnVmLnB1bGxfdWludDgoKQorICAgICAgICBp
ZiBkZXN0aW5hdGlvbl9jaWRfbGVuZ3RoID4gQ09OTkVDVElPTl9JRF9NQVhfU0laRToKKyAgICAg
ICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoCisgICAgICAgICAgICAgICAgIkRlc3RpbmF0aW9uIENJ
RCBpcyB0b28gbG9uZyAoJWQgYnl0ZXMpIiAlIGRlc3RpbmF0aW9uX2NpZF9sZW5ndGgKKyAgICAg
ICAgICAgICkKKyAgICAgICAgZGVzdGluYXRpb25fY2lkID0gYnVmLnB1bGxfYnl0ZXMoZGVzdGlu
YXRpb25fY2lkX2xlbmd0aCkKKworICAgICAgICBzb3VyY2VfY2lkX2xlbmd0aCA9IGJ1Zi5wdWxs
X3VpbnQ4KCkKKyAgICAgICAgaWYgc291cmNlX2NpZF9sZW5ndGggPiBDT05ORUNUSU9OX0lEX01B
WF9TSVpFOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiU291cmNlIENJRCBpcyB0b28g
bG9uZyAoJWQgYnl0ZXMpIiAlIHNvdXJjZV9jaWRfbGVuZ3RoKQorICAgICAgICBzb3VyY2VfY2lk
ID0gYnVmLnB1bGxfYnl0ZXMoc291cmNlX2NpZF9sZW5ndGgpCisKKyAgICAgICAgaWYgdmVyc2lv
biA9PSBRdWljUHJvdG9jb2xWZXJzaW9uLk5FR09USUFUSU9OOgorICAgICAgICAgICAgIyB2ZXJz
aW9uIG5lZ290aWF0aW9uCisgICAgICAgICAgICBwYWNrZXRfdHlwZSA9IE5vbmUKKyAgICAgICAg
ICAgIHJlc3RfbGVuZ3RoID0gYnVmLmNhcGFjaXR5IC0gYnVmLnRlbGwoKQorICAgICAgICBlbHNl
OgorICAgICAgICAgICAgaWYgbm90IChmaXJzdF9ieXRlICYgUEFDS0VUX0ZJWEVEX0JJVCk6Cisg
ICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiUGFja2V0IGZpeGVkIGJpdCBpcyB6ZXJv
IikKKworICAgICAgICAgICAgcGFja2V0X3R5cGUgPSBmaXJzdF9ieXRlICYgUEFDS0VUX1RZUEVf
TUFTSworICAgICAgICAgICAgaWYgcGFja2V0X3R5cGUgPT0gUEFDS0VUX1RZUEVfSU5JVElBTDoK
KyAgICAgICAgICAgICAgICB0b2tlbl9sZW5ndGggPSBidWYucHVsbF91aW50X3ZhcigpCisgICAg
ICAgICAgICAgICAgdG9rZW4gPSBidWYucHVsbF9ieXRlcyh0b2tlbl9sZW5ndGgpCisgICAgICAg
ICAgICAgICAgcmVzdF9sZW5ndGggPSBidWYucHVsbF91aW50X3ZhcigpCisgICAgICAgICAgICBl
bGlmIHBhY2tldF90eXBlID09IFBBQ0tFVF9UWVBFX1JFVFJZOgorICAgICAgICAgICAgICAgIHRv
a2VuX2xlbmd0aCA9IGJ1Zi5jYXBhY2l0eSAtIGJ1Zi50ZWxsKCkgLSBSRVRSWV9JTlRFR1JJVFlf
VEFHX1NJWkUKKyAgICAgICAgICAgICAgICB0b2tlbiA9IGJ1Zi5wdWxsX2J5dGVzKHRva2VuX2xl
bmd0aCkKKyAgICAgICAgICAgICAgICBpbnRlZ3JpdHlfdGFnID0gYnVmLnB1bGxfYnl0ZXMoUkVU
UllfSU5URUdSSVRZX1RBR19TSVpFKQorICAgICAgICAgICAgICAgIHJlc3RfbGVuZ3RoID0gMAor
ICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICByZXN0X2xlbmd0aCA9IGJ1Zi5wdWxs
X3VpbnRfdmFyKCkKKworICAgICAgICByZXR1cm4gUXVpY0hlYWRlcigKKyAgICAgICAgICAgIGlz
X2xvbmdfaGVhZGVyPVRydWUsCisgICAgICAgICAgICB2ZXJzaW9uPXZlcnNpb24sCisgICAgICAg
ICAgICBwYWNrZXRfdHlwZT1wYWNrZXRfdHlwZSwKKyAgICAgICAgICAgIGRlc3RpbmF0aW9uX2Np
ZD1kZXN0aW5hdGlvbl9jaWQsCisgICAgICAgICAgICBzb3VyY2VfY2lkPXNvdXJjZV9jaWQsCisg
ICAgICAgICAgICB0b2tlbj10b2tlbiwKKyAgICAgICAgICAgIGludGVncml0eV90YWc9aW50ZWdy
aXR5X3RhZywKKyAgICAgICAgICAgIHJlc3RfbGVuZ3RoPXJlc3RfbGVuZ3RoLAorICAgICAgICAp
CisgICAgZWxzZToKKyAgICAgICAgIyBzaG9ydCBoZWFkZXIgcGFja2V0CisgICAgICAgIGlmIG5v
dCAoZmlyc3RfYnl0ZSAmIFBBQ0tFVF9GSVhFRF9CSVQpOgorICAgICAgICAgICAgcmFpc2UgVmFs
dWVFcnJvcigiUGFja2V0IGZpeGVkIGJpdCBpcyB6ZXJvIikKKworICAgICAgICBwYWNrZXRfdHlw
ZSA9IGZpcnN0X2J5dGUgJiBQQUNLRVRfVFlQRV9NQVNLCisgICAgICAgIGRlc3RpbmF0aW9uX2Np
ZCA9IGJ1Zi5wdWxsX2J5dGVzKGhvc3RfY2lkX2xlbmd0aCkKKyAgICAgICAgcmV0dXJuIFF1aWNI
ZWFkZXIoCisgICAgICAgICAgICBpc19sb25nX2hlYWRlcj1GYWxzZSwKKyAgICAgICAgICAgIHZl
cnNpb249Tm9uZSwKKyAgICAgICAgICAgIHBhY2tldF90eXBlPXBhY2tldF90eXBlLAorICAgICAg
ICAgICAgZGVzdGluYXRpb25fY2lkPWRlc3RpbmF0aW9uX2NpZCwKKyAgICAgICAgICAgIHNvdXJj
ZV9jaWQ9YiIiLAorICAgICAgICAgICAgdG9rZW49YiIiLAorICAgICAgICAgICAgcmVzdF9sZW5n
dGg9YnVmLmNhcGFjaXR5IC0gYnVmLnRlbGwoKSwKKyAgICAgICAgKQorCisKK2RlZiBlbmNvZGVf
cXVpY19yZXRyeSgKKyAgICB2ZXJzaW9uOiBpbnQsCisgICAgc291cmNlX2NpZDogYnl0ZXMsCisg
ICAgZGVzdGluYXRpb25fY2lkOiBieXRlcywKKyAgICBvcmlnaW5hbF9kZXN0aW5hdGlvbl9jaWQ6
IGJ5dGVzLAorICAgIHJldHJ5X3Rva2VuOiBieXRlcywKKykgLT4gYnl0ZXM6CisgICAgYnVmID0g
QnVmZmVyKAorICAgICAgICBjYXBhY2l0eT03CisgICAgICAgICsgbGVuKGRlc3RpbmF0aW9uX2Np
ZCkKKyAgICAgICAgKyBsZW4oc291cmNlX2NpZCkKKyAgICAgICAgKyBsZW4ocmV0cnlfdG9rZW4p
CisgICAgICAgICsgUkVUUllfSU5URUdSSVRZX1RBR19TSVpFCisgICAgKQorICAgIGJ1Zi5wdXNo
X3VpbnQ4KFBBQ0tFVF9UWVBFX1JFVFJZKQorICAgIGJ1Zi5wdXNoX3VpbnQzMih2ZXJzaW9uKQor
ICAgIGJ1Zi5wdXNoX3VpbnQ4KGxlbihkZXN0aW5hdGlvbl9jaWQpKQorICAgIGJ1Zi5wdXNoX2J5
dGVzKGRlc3RpbmF0aW9uX2NpZCkKKyAgICBidWYucHVzaF91aW50OChsZW4oc291cmNlX2NpZCkp
CisgICAgYnVmLnB1c2hfYnl0ZXMoc291cmNlX2NpZCkKKyAgICBidWYucHVzaF9ieXRlcyhyZXRy
eV90b2tlbikKKyAgICBidWYucHVzaF9ieXRlcyhnZXRfcmV0cnlfaW50ZWdyaXR5X3RhZyhidWYu
ZGF0YSwgb3JpZ2luYWxfZGVzdGluYXRpb25fY2lkKSkKKyAgICBhc3NlcnQgYnVmLmVvZigpCisg
ICAgcmV0dXJuIGJ1Zi5kYXRhCisKKworZGVmIGVuY29kZV9xdWljX3ZlcnNpb25fbmVnb3RpYXRp
b24oCisgICAgc291cmNlX2NpZDogYnl0ZXMsIGRlc3RpbmF0aW9uX2NpZDogYnl0ZXMsIHN1cHBv
cnRlZF92ZXJzaW9uczogTGlzdFtpbnRdCispIC0+IGJ5dGVzOgorICAgIGJ1ZiA9IEJ1ZmZlcigK
KyAgICAgICAgY2FwYWNpdHk9NworICAgICAgICArIGxlbihkZXN0aW5hdGlvbl9jaWQpCisgICAg
ICAgICsgbGVuKHNvdXJjZV9jaWQpCisgICAgICAgICsgNCAqIGxlbihzdXBwb3J0ZWRfdmVyc2lv
bnMpCisgICAgKQorICAgIGJ1Zi5wdXNoX3VpbnQ4KG9zLnVyYW5kb20oMSlbMF0gfCBQQUNLRVRf
TE9OR19IRUFERVIpCisgICAgYnVmLnB1c2hfdWludDMyKFF1aWNQcm90b2NvbFZlcnNpb24uTkVH
T1RJQVRJT04pCisgICAgYnVmLnB1c2hfdWludDgobGVuKGRlc3RpbmF0aW9uX2NpZCkpCisgICAg
YnVmLnB1c2hfYnl0ZXMoZGVzdGluYXRpb25fY2lkKQorICAgIGJ1Zi5wdXNoX3VpbnQ4KGxlbihz
b3VyY2VfY2lkKSkKKyAgICBidWYucHVzaF9ieXRlcyhzb3VyY2VfY2lkKQorICAgIGZvciB2ZXJz
aW9uIGluIHN1cHBvcnRlZF92ZXJzaW9uczoKKyAgICAgICAgYnVmLnB1c2hfdWludDMyKHZlcnNp
b24pCisgICAgcmV0dXJuIGJ1Zi5kYXRhCisKKworIyBUTFMgRVhURU5TSU9OCisKKworQGRhdGFj
bGFzcworY2xhc3MgUXVpY1ByZWZlcnJlZEFkZHJlc3M6CisgICAgaXB2NF9hZGRyZXNzOiBPcHRp
b25hbFtUdXBsZVtzdHIsIGludF1dCisgICAgaXB2Nl9hZGRyZXNzOiBPcHRpb25hbFtUdXBsZVtz
dHIsIGludF1dCisgICAgY29ubmVjdGlvbl9pZDogYnl0ZXMKKyAgICBzdGF0ZWxlc3NfcmVzZXRf
dG9rZW46IGJ5dGVzCisKKworQGRhdGFjbGFzcworY2xhc3MgUXVpY1RyYW5zcG9ydFBhcmFtZXRl
cnM6CisgICAgb3JpZ2luYWxfY29ubmVjdGlvbl9pZDogT3B0aW9uYWxbYnl0ZXNdID0gTm9uZQor
ICAgIGlkbGVfdGltZW91dDogT3B0aW9uYWxbaW50XSA9IE5vbmUKKyAgICBzdGF0ZWxlc3NfcmVz
ZXRfdG9rZW46IE9wdGlvbmFsW2J5dGVzXSA9IE5vbmUKKyAgICBtYXhfcGFja2V0X3NpemU6IE9w
dGlvbmFsW2ludF0gPSBOb25lCisgICAgaW5pdGlhbF9tYXhfZGF0YTogT3B0aW9uYWxbaW50XSA9
IE5vbmUKKyAgICBpbml0aWFsX21heF9zdHJlYW1fZGF0YV9iaWRpX2xvY2FsOiBPcHRpb25hbFtp
bnRdID0gTm9uZQorICAgIGluaXRpYWxfbWF4X3N0cmVhbV9kYXRhX2JpZGlfcmVtb3RlOiBPcHRp
b25hbFtpbnRdID0gTm9uZQorICAgIGluaXRpYWxfbWF4X3N0cmVhbV9kYXRhX3VuaTogT3B0aW9u
YWxbaW50XSA9IE5vbmUKKyAgICBpbml0aWFsX21heF9zdHJlYW1zX2JpZGk6IE9wdGlvbmFsW2lu
dF0gPSBOb25lCisgICAgaW5pdGlhbF9tYXhfc3RyZWFtc191bmk6IE9wdGlvbmFsW2ludF0gPSBO
b25lCisgICAgYWNrX2RlbGF5X2V4cG9uZW50OiBPcHRpb25hbFtpbnRdID0gTm9uZQorICAgIG1h
eF9hY2tfZGVsYXk6IE9wdGlvbmFsW2ludF0gPSBOb25lCisgICAgZGlzYWJsZV9hY3RpdmVfbWln
cmF0aW9uOiBPcHRpb25hbFtib29sXSA9IEZhbHNlCisgICAgcHJlZmVycmVkX2FkZHJlc3M6IE9w
dGlvbmFsW1F1aWNQcmVmZXJyZWRBZGRyZXNzXSA9IE5vbmUKKyAgICBhY3RpdmVfY29ubmVjdGlv
bl9pZF9saW1pdDogT3B0aW9uYWxbaW50XSA9IE5vbmUKKyAgICBtYXhfZGF0YWdyYW1fZnJhbWVf
c2l6ZTogT3B0aW9uYWxbaW50XSA9IE5vbmUKKyAgICBxdWFudHVtX3JlYWRpbmVzczogT3B0aW9u
YWxbYnl0ZXNdID0gTm9uZQorCisKK1BBUkFNUyA9IHsKKyAgICAwOiAoIm9yaWdpbmFsX2Nvbm5l
Y3Rpb25faWQiLCBieXRlcyksCisgICAgMTogKCJpZGxlX3RpbWVvdXQiLCBpbnQpLAorICAgIDI6
ICgic3RhdGVsZXNzX3Jlc2V0X3Rva2VuIiwgYnl0ZXMpLAorICAgIDM6ICgibWF4X3BhY2tldF9z
aXplIiwgaW50KSwKKyAgICA0OiAoImluaXRpYWxfbWF4X2RhdGEiLCBpbnQpLAorICAgIDU6ICgi
aW5pdGlhbF9tYXhfc3RyZWFtX2RhdGFfYmlkaV9sb2NhbCIsIGludCksCisgICAgNjogKCJpbml0
aWFsX21heF9zdHJlYW1fZGF0YV9iaWRpX3JlbW90ZSIsIGludCksCisgICAgNzogKCJpbml0aWFs
X21heF9zdHJlYW1fZGF0YV91bmkiLCBpbnQpLAorICAgIDg6ICgiaW5pdGlhbF9tYXhfc3RyZWFt
c19iaWRpIiwgaW50KSwKKyAgICA5OiAoImluaXRpYWxfbWF4X3N0cmVhbXNfdW5pIiwgaW50KSwK
KyAgICAxMDogKCJhY2tfZGVsYXlfZXhwb25lbnQiLCBpbnQpLAorICAgIDExOiAoIm1heF9hY2tf
ZGVsYXkiLCBpbnQpLAorICAgIDEyOiAoImRpc2FibGVfYWN0aXZlX21pZ3JhdGlvbiIsIGJvb2wp
LAorICAgIDEzOiAoInByZWZlcnJlZF9hZGRyZXNzIiwgUXVpY1ByZWZlcnJlZEFkZHJlc3MpLAor
ICAgIDE0OiAoImFjdGl2ZV9jb25uZWN0aW9uX2lkX2xpbWl0IiwgaW50KSwKKyAgICAzMjogKCJt
YXhfZGF0YWdyYW1fZnJhbWVfc2l6ZSIsIGludCksCisgICAgMzEyNzogKCJxdWFudHVtX3JlYWRp
bmVzcyIsIGJ5dGVzKSwKK30KKworCitkZWYgcHVsbF9xdWljX3ByZWZlcnJlZF9hZGRyZXNzKGJ1
ZjogQnVmZmVyKSAtPiBRdWljUHJlZmVycmVkQWRkcmVzczoKKyAgICBpcHY0X2FkZHJlc3MgPSBO
b25lCisgICAgaXB2NF9ob3N0ID0gYnVmLnB1bGxfYnl0ZXMoNCkKKyAgICBpcHY0X3BvcnQgPSBi
dWYucHVsbF91aW50MTYoKQorICAgIGlmIGlwdjRfaG9zdCAhPSBieXRlcyg0KToKKyAgICAgICAg
aXB2NF9hZGRyZXNzID0gKHN0cihpcGFkZHJlc3MuSVB2NEFkZHJlc3MoaXB2NF9ob3N0KSksIGlw
djRfcG9ydCkKKworICAgIGlwdjZfYWRkcmVzcyA9IE5vbmUKKyAgICBpcHY2X2hvc3QgPSBidWYu
cHVsbF9ieXRlcygxNikKKyAgICBpcHY2X3BvcnQgPSBidWYucHVsbF91aW50MTYoKQorICAgIGlm
IGlwdjZfaG9zdCAhPSBieXRlcygxNik6CisgICAgICAgIGlwdjZfYWRkcmVzcyA9IChzdHIoaXBh
ZGRyZXNzLklQdjZBZGRyZXNzKGlwdjZfaG9zdCkpLCBpcHY2X3BvcnQpCisKKyAgICBjb25uZWN0
aW9uX2lkX2xlbmd0aCA9IGJ1Zi5wdWxsX3VpbnQ4KCkKKyAgICBjb25uZWN0aW9uX2lkID0gYnVm
LnB1bGxfYnl0ZXMoY29ubmVjdGlvbl9pZF9sZW5ndGgpCisgICAgc3RhdGVsZXNzX3Jlc2V0X3Rv
a2VuID0gYnVmLnB1bGxfYnl0ZXMoMTYpCisKKyAgICByZXR1cm4gUXVpY1ByZWZlcnJlZEFkZHJl
c3MoCisgICAgICAgIGlwdjRfYWRkcmVzcz1pcHY0X2FkZHJlc3MsCisgICAgICAgIGlwdjZfYWRk
cmVzcz1pcHY2X2FkZHJlc3MsCisgICAgICAgIGNvbm5lY3Rpb25faWQ9Y29ubmVjdGlvbl9pZCwK
KyAgICAgICAgc3RhdGVsZXNzX3Jlc2V0X3Rva2VuPXN0YXRlbGVzc19yZXNldF90b2tlbiwKKyAg
ICApCisKKworZGVmIHB1c2hfcXVpY19wcmVmZXJyZWRfYWRkcmVzcygKKyAgICBidWY6IEJ1ZmZl
ciwgcHJlZmVycmVkX2FkZHJlc3M6IFF1aWNQcmVmZXJyZWRBZGRyZXNzCispIC0+IE5vbmU6Cisg
ICAgaWYgcHJlZmVycmVkX2FkZHJlc3MuaXB2NF9hZGRyZXNzIGlzIG5vdCBOb25lOgorICAgICAg
ICBidWYucHVzaF9ieXRlcyhpcGFkZHJlc3MuSVB2NEFkZHJlc3MocHJlZmVycmVkX2FkZHJlc3Mu
aXB2NF9hZGRyZXNzWzBdKS5wYWNrZWQpCisgICAgICAgIGJ1Zi5wdXNoX3VpbnQxNihwcmVmZXJy
ZWRfYWRkcmVzcy5pcHY0X2FkZHJlc3NbMV0pCisgICAgZWxzZToKKyAgICAgICAgYnVmLnB1c2hf
Ynl0ZXMoYnl0ZXMoNikpCisKKyAgICBpZiBwcmVmZXJyZWRfYWRkcmVzcy5pcHY2X2FkZHJlc3Mg
aXMgbm90IE5vbmU6CisgICAgICAgIGJ1Zi5wdXNoX2J5dGVzKGlwYWRkcmVzcy5JUHY2QWRkcmVz
cyhwcmVmZXJyZWRfYWRkcmVzcy5pcHY2X2FkZHJlc3NbMF0pLnBhY2tlZCkKKyAgICAgICAgYnVm
LnB1c2hfdWludDE2KHByZWZlcnJlZF9hZGRyZXNzLmlwdjZfYWRkcmVzc1sxXSkKKyAgICBlbHNl
OgorICAgICAgICBidWYucHVzaF9ieXRlcyhieXRlcygxOCkpCisKKyAgICBidWYucHVzaF91aW50
OChsZW4ocHJlZmVycmVkX2FkZHJlc3MuY29ubmVjdGlvbl9pZCkpCisgICAgYnVmLnB1c2hfYnl0
ZXMocHJlZmVycmVkX2FkZHJlc3MuY29ubmVjdGlvbl9pZCkKKyAgICBidWYucHVzaF9ieXRlcyhw
cmVmZXJyZWRfYWRkcmVzcy5zdGF0ZWxlc3NfcmVzZXRfdG9rZW4pCisKKworZGVmIHB1bGxfcXVp
Y190cmFuc3BvcnRfcGFyYW1ldGVycygKKyAgICBidWY6IEJ1ZmZlciwgcHJvdG9jb2xfdmVyc2lv
bjogaW50CispIC0+IFF1aWNUcmFuc3BvcnRQYXJhbWV0ZXJzOgorICAgIHBhcmFtcyA9IFF1aWNU
cmFuc3BvcnRQYXJhbWV0ZXJzKCkKKworICAgIGlmIHByb3RvY29sX3ZlcnNpb24gPCBRdWljUHJv
dG9jb2xWZXJzaW9uLkRSQUZUXzI3OgorICAgICAgICB3aXRoIHB1bGxfYmxvY2soYnVmLCAyKSBh
cyBsZW5ndGg6CisgICAgICAgICAgICBlbmQgPSBidWYudGVsbCgpICsgbGVuZ3RoCisgICAgICAg
ICAgICB3aGlsZSBidWYudGVsbCgpIDwgZW5kOgorICAgICAgICAgICAgICAgIHBhcmFtX2lkID0g
YnVmLnB1bGxfdWludDE2KCkKKyAgICAgICAgICAgICAgICBwYXJhbV9sZW4gPSBidWYucHVsbF91
aW50MTYoKQorICAgICAgICAgICAgICAgIHBhcmFtX3N0YXJ0ID0gYnVmLnRlbGwoKQorICAgICAg
ICAgICAgICAgIGlmIHBhcmFtX2lkIGluIFBBUkFNUzoKKyAgICAgICAgICAgICAgICAgICAgIyBw
YXJzZSBrbm93biBwYXJhbWV0ZXIKKyAgICAgICAgICAgICAgICAgICAgcGFyYW1fbmFtZSwgcGFy
YW1fdHlwZSA9IFBBUkFNU1twYXJhbV9pZF0KKyAgICAgICAgICAgICAgICAgICAgaWYgcGFyYW1f
dHlwZSA9PSBpbnQ6CisgICAgICAgICAgICAgICAgICAgICAgICBzZXRhdHRyKHBhcmFtcywgcGFy
YW1fbmFtZSwgYnVmLnB1bGxfdWludF92YXIoKSkKKyAgICAgICAgICAgICAgICAgICAgZWxpZiBw
YXJhbV90eXBlID09IGJ5dGVzOgorICAgICAgICAgICAgICAgICAgICAgICAgc2V0YXR0cihwYXJh
bXMsIHBhcmFtX25hbWUsIGJ1Zi5wdWxsX2J5dGVzKHBhcmFtX2xlbikpCisgICAgICAgICAgICAg
ICAgICAgIGVsaWYgcGFyYW1fdHlwZSA9PSBRdWljUHJlZmVycmVkQWRkcmVzczoKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHNldGF0dHIocGFyYW1zLCBwYXJhbV9uYW1lLCBwdWxsX3F1aWNfcHJl
ZmVycmVkX2FkZHJlc3MoYnVmKSkKKyAgICAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHNldGF0dHIocGFyYW1zLCBwYXJhbV9uYW1lLCBUcnVlKQorICAgICAg
ICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICMgc2tpcCB1bmtub3duIHBhcmFt
ZXRlcgorICAgICAgICAgICAgICAgICAgICBidWYucHVsbF9ieXRlcyhwYXJhbV9sZW4pCisgICAg
ICAgICAgICAgICAgYXNzZXJ0IGJ1Zi50ZWxsKCkgPT0gcGFyYW1fc3RhcnQgKyBwYXJhbV9sZW4K
KyAgICBlbHNlOgorICAgICAgICB3aGlsZSBub3QgYnVmLmVvZigpOgorICAgICAgICAgICAgcGFy
YW1faWQgPSBidWYucHVsbF91aW50X3ZhcigpCisgICAgICAgICAgICBwYXJhbV9sZW4gPSBidWYu
cHVsbF91aW50X3ZhcigpCisgICAgICAgICAgICBwYXJhbV9zdGFydCA9IGJ1Zi50ZWxsKCkKKyAg
ICAgICAgICAgIGlmIHBhcmFtX2lkIGluIFBBUkFNUzoKKyAgICAgICAgICAgICAgICAjIHBhcnNl
IGtub3duIHBhcmFtZXRlcgorICAgICAgICAgICAgICAgIHBhcmFtX25hbWUsIHBhcmFtX3R5cGUg
PSBQQVJBTVNbcGFyYW1faWRdCisgICAgICAgICAgICAgICAgaWYgcGFyYW1fdHlwZSA9PSBpbnQ6
CisgICAgICAgICAgICAgICAgICAgIHNldGF0dHIocGFyYW1zLCBwYXJhbV9uYW1lLCBidWYucHVs
bF91aW50X3ZhcigpKQorICAgICAgICAgICAgICAgIGVsaWYgcGFyYW1fdHlwZSA9PSBieXRlczoK
KyAgICAgICAgICAgICAgICAgICAgc2V0YXR0cihwYXJhbXMsIHBhcmFtX25hbWUsIGJ1Zi5wdWxs
X2J5dGVzKHBhcmFtX2xlbikpCisgICAgICAgICAgICAgICAgZWxpZiBwYXJhbV90eXBlID09IFF1
aWNQcmVmZXJyZWRBZGRyZXNzOgorICAgICAgICAgICAgICAgICAgICBzZXRhdHRyKHBhcmFtcywg
cGFyYW1fbmFtZSwgcHVsbF9xdWljX3ByZWZlcnJlZF9hZGRyZXNzKGJ1ZikpCisgICAgICAgICAg
ICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgc2V0YXR0cihwYXJhbXMsIHBhcmFtX25h
bWUsIFRydWUpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICMgc2tpcCB1bmtu
b3duIHBhcmFtZXRlcgorICAgICAgICAgICAgICAgIGJ1Zi5wdWxsX2J5dGVzKHBhcmFtX2xlbikK
KyAgICAgICAgICAgIGFzc2VydCBidWYudGVsbCgpID09IHBhcmFtX3N0YXJ0ICsgcGFyYW1fbGVu
CisKKyAgICByZXR1cm4gcGFyYW1zCisKKworZGVmIHB1c2hfcXVpY190cmFuc3BvcnRfcGFyYW1l
dGVycygKKyAgICBidWY6IEJ1ZmZlciwgcGFyYW1zOiBRdWljVHJhbnNwb3J0UGFyYW1ldGVycywg
cHJvdG9jb2xfdmVyc2lvbjogaW50CispIC0+IE5vbmU6CisgICAgaWYgcHJvdG9jb2xfdmVyc2lv
biA8IFF1aWNQcm90b2NvbFZlcnNpb24uRFJBRlRfMjc6CisgICAgICAgIHdpdGggcHVzaF9ibG9j
ayhidWYsIDIpOgorICAgICAgICAgICAgZm9yIHBhcmFtX2lkLCAocGFyYW1fbmFtZSwgcGFyYW1f
dHlwZSkgaW4gUEFSQU1TLml0ZW1zKCk6CisgICAgICAgICAgICAgICAgcGFyYW1fdmFsdWUgPSBn
ZXRhdHRyKHBhcmFtcywgcGFyYW1fbmFtZSkKKyAgICAgICAgICAgICAgICBpZiBwYXJhbV92YWx1
ZSBpcyBub3QgTm9uZSBhbmQgcGFyYW1fdmFsdWUgaXMgbm90IEZhbHNlOgorICAgICAgICAgICAg
ICAgICAgICBidWYucHVzaF91aW50MTYocGFyYW1faWQpCisgICAgICAgICAgICAgICAgICAgIHdp
dGggcHVzaF9ibG9jayhidWYsIDIpOgorICAgICAgICAgICAgICAgICAgICAgICAgaWYgcGFyYW1f
dHlwZSA9PSBpbnQ6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmLnB1c2hfdWludF92
YXIocGFyYW1fdmFsdWUpCisgICAgICAgICAgICAgICAgICAgICAgICBlbGlmIHBhcmFtX3R5cGUg
PT0gYnl0ZXM6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmLnB1c2hfYnl0ZXMocGFy
YW1fdmFsdWUpCisgICAgICAgICAgICAgICAgICAgICAgICBlbGlmIHBhcmFtX3R5cGUgPT0gUXVp
Y1ByZWZlcnJlZEFkZHJlc3M6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVzaF9xdWlj
X3ByZWZlcnJlZF9hZGRyZXNzKGJ1ZiwgcGFyYW1fdmFsdWUpCisgICAgZWxzZToKKyAgICAgICAg
Zm9yIHBhcmFtX2lkLCAocGFyYW1fbmFtZSwgcGFyYW1fdHlwZSkgaW4gUEFSQU1TLml0ZW1zKCk6
CisgICAgICAgICAgICBwYXJhbV92YWx1ZSA9IGdldGF0dHIocGFyYW1zLCBwYXJhbV9uYW1lKQor
ICAgICAgICAgICAgaWYgcGFyYW1fdmFsdWUgaXMgbm90IE5vbmUgYW5kIHBhcmFtX3ZhbHVlIGlz
IG5vdCBGYWxzZToKKyAgICAgICAgICAgICAgICBwYXJhbV9idWYgPSBCdWZmZXIoY2FwYWNpdHk9
NjU1MzYpCisgICAgICAgICAgICAgICAgaWYgcGFyYW1fdHlwZSA9PSBpbnQ6CisgICAgICAgICAg
ICAgICAgICAgIHBhcmFtX2J1Zi5wdXNoX3VpbnRfdmFyKHBhcmFtX3ZhbHVlKQorICAgICAgICAg
ICAgICAgIGVsaWYgcGFyYW1fdHlwZSA9PSBieXRlczoKKyAgICAgICAgICAgICAgICAgICAgcGFy
YW1fYnVmLnB1c2hfYnl0ZXMocGFyYW1fdmFsdWUpCisgICAgICAgICAgICAgICAgZWxpZiBwYXJh
bV90eXBlID09IFF1aWNQcmVmZXJyZWRBZGRyZXNzOgorICAgICAgICAgICAgICAgICAgICBwdXNo
X3F1aWNfcHJlZmVycmVkX2FkZHJlc3MocGFyYW1fYnVmLCBwYXJhbV92YWx1ZSkKKyAgICAgICAg
ICAgICAgICBidWYucHVzaF91aW50X3ZhcihwYXJhbV9pZCkKKyAgICAgICAgICAgICAgICBidWYu
cHVzaF91aW50X3ZhcihwYXJhbV9idWYudGVsbCgpKQorICAgICAgICAgICAgICAgIGJ1Zi5wdXNo
X2J5dGVzKHBhcmFtX2J1Zi5kYXRhKQorCisKKyMgRlJBTUVTCisKKworY2xhc3MgUXVpY0ZyYW1l
VHlwZShJbnRFbnVtKToKKyAgICBQQURESU5HID0gMHgwMAorICAgIFBJTkcgPSAweDAxCisgICAg
QUNLID0gMHgwMgorICAgIEFDS19FQ04gPSAweDAzCisgICAgUkVTRVRfU1RSRUFNID0gMHgwNAor
ICAgIFNUT1BfU0VORElORyA9IDB4MDUKKyAgICBDUllQVE8gPSAweDA2CisgICAgTkVXX1RPS0VO
ID0gMHgwNworICAgIFNUUkVBTV9CQVNFID0gMHgwOAorICAgIE1BWF9EQVRBID0gMHgxMAorICAg
IE1BWF9TVFJFQU1fREFUQSA9IDB4MTEKKyAgICBNQVhfU1RSRUFNU19CSURJID0gMHgxMgorICAg
IE1BWF9TVFJFQU1TX1VOSSA9IDB4MTMKKyAgICBEQVRBX0JMT0NLRUQgPSAweDE0CisgICAgU1RS
RUFNX0RBVEFfQkxPQ0tFRCA9IDB4MTUKKyAgICBTVFJFQU1TX0JMT0NLRURfQklESSA9IDB4MTYK
KyAgICBTVFJFQU1TX0JMT0NLRURfVU5JID0gMHgxNworICAgIE5FV19DT05ORUNUSU9OX0lEID0g
MHgxOAorICAgIFJFVElSRV9DT05ORUNUSU9OX0lEID0gMHgxOQorICAgIFBBVEhfQ0hBTExFTkdF
ID0gMHgxQQorICAgIFBBVEhfUkVTUE9OU0UgPSAweDFCCisgICAgVFJBTlNQT1JUX0NMT1NFID0g
MHgxQworICAgIEFQUExJQ0FUSU9OX0NMT1NFID0gMHgxRAorICAgIEhBTkRTSEFLRV9ET05FID0g
MHgxRQorICAgIERBVEFHUkFNID0gMHgzMAorICAgIERBVEFHUkFNX1dJVEhfTEVOR1RIID0gMHgz
MQorCisKK05PTl9BQ0tfRUxJQ0lUSU5HX0ZSQU1FX1RZUEVTID0gZnJvemVuc2V0KAorICAgIFsK
KyAgICAgICAgUXVpY0ZyYW1lVHlwZS5BQ0ssCisgICAgICAgIFF1aWNGcmFtZVR5cGUuQUNLX0VD
TiwKKyAgICAgICAgUXVpY0ZyYW1lVHlwZS5QQURESU5HLAorICAgICAgICBRdWljRnJhbWVUeXBl
LlRSQU5TUE9SVF9DTE9TRSwKKyAgICAgICAgUXVpY0ZyYW1lVHlwZS5BUFBMSUNBVElPTl9DTE9T
RSwKKyAgICBdCispCitOT05fSU5fRkxJR0hUX0ZSQU1FX1RZUEVTID0gZnJvemVuc2V0KAorICAg
IFsKKyAgICAgICAgUXVpY0ZyYW1lVHlwZS5BQ0ssCisgICAgICAgIFF1aWNGcmFtZVR5cGUuQUNL
X0VDTiwKKyAgICAgICAgUXVpY0ZyYW1lVHlwZS5UUkFOU1BPUlRfQ0xPU0UsCisgICAgICAgIFF1
aWNGcmFtZVR5cGUuQVBQTElDQVRJT05fQ0xPU0UsCisgICAgXQorKQorCitQUk9CSU5HX0ZSQU1F
X1RZUEVTID0gZnJvemVuc2V0KAorICAgIFsKKyAgICAgICAgUXVpY0ZyYW1lVHlwZS5QQVRIX0NI
QUxMRU5HRSwKKyAgICAgICAgUXVpY0ZyYW1lVHlwZS5QQVRIX1JFU1BPTlNFLAorICAgICAgICBR
dWljRnJhbWVUeXBlLlBBRERJTkcsCisgICAgICAgIFF1aWNGcmFtZVR5cGUuTkVXX0NPTk5FQ1RJ
T05fSUQsCisgICAgXQorKQorCisKK0BkYXRhY2xhc3MKK2NsYXNzIFF1aWNTdHJlYW1GcmFtZToK
KyAgICBkYXRhOiBieXRlcyA9IGIiIgorICAgIGZpbjogYm9vbCA9IEZhbHNlCisgICAgb2Zmc2V0
OiBpbnQgPSAwCisKKworZGVmIHB1bGxfYWNrX2ZyYW1lKGJ1ZjogQnVmZmVyKSAtPiBUdXBsZVtS
YW5nZVNldCwgaW50XToKKyAgICByYW5nZXNldCA9IFJhbmdlU2V0KCkKKyAgICBlbmQgPSBidWYu
cHVsbF91aW50X3ZhcigpICAjIGxhcmdlc3QgYWNrbm93bGVkZ2VkCisgICAgZGVsYXkgPSBidWYu
cHVsbF91aW50X3ZhcigpCisgICAgYWNrX3JhbmdlX2NvdW50ID0gYnVmLnB1bGxfdWludF92YXIo
KQorICAgIGFja19jb3VudCA9IGJ1Zi5wdWxsX3VpbnRfdmFyKCkgICMgZmlyc3QgYWNrIHJhbmdl
CisgICAgcmFuZ2VzZXQuYWRkKGVuZCAtIGFja19jb3VudCwgZW5kICsgMSkKKyAgICBlbmQgLT0g
YWNrX2NvdW50CisgICAgZm9yIF8gaW4gcmFuZ2UoYWNrX3JhbmdlX2NvdW50KToKKyAgICAgICAg
ZW5kIC09IGJ1Zi5wdWxsX3VpbnRfdmFyKCkgKyAyCisgICAgICAgIGFja19jb3VudCA9IGJ1Zi5w
dWxsX3VpbnRfdmFyKCkKKyAgICAgICAgcmFuZ2VzZXQuYWRkKGVuZCAtIGFja19jb3VudCwgZW5k
ICsgMSkKKyAgICAgICAgZW5kIC09IGFja19jb3VudAorICAgIHJldHVybiByYW5nZXNldCwgZGVs
YXkKKworCitkZWYgcHVzaF9hY2tfZnJhbWUoYnVmOiBCdWZmZXIsIHJhbmdlc2V0OiBSYW5nZVNl
dCwgZGVsYXk6IGludCkgLT4gaW50OgorICAgIHJhbmdlcyA9IGxlbihyYW5nZXNldCkKKyAgICBp
bmRleCA9IHJhbmdlcyAtIDEKKyAgICByID0gcmFuZ2VzZXRbaW5kZXhdCisgICAgYnVmLnB1c2hf
dWludF92YXIoci5zdG9wIC0gMSkKKyAgICBidWYucHVzaF91aW50X3ZhcihkZWxheSkKKyAgICBi
dWYucHVzaF91aW50X3ZhcihpbmRleCkKKyAgICBidWYucHVzaF91aW50X3ZhcihyLnN0b3AgLSAx
IC0gci5zdGFydCkKKyAgICBzdGFydCA9IHIuc3RhcnQKKyAgICB3aGlsZSBpbmRleCA+IDA6Cisg
ICAgICAgIGluZGV4IC09IDEKKyAgICAgICAgciA9IHJhbmdlc2V0W2luZGV4XQorICAgICAgICBi
dWYucHVzaF91aW50X3ZhcihzdGFydCAtIHIuc3RvcCAtIDEpCisgICAgICAgIGJ1Zi5wdXNoX3Vp
bnRfdmFyKHIuc3RvcCAtIHIuc3RhcnQgLSAxKQorICAgICAgICBzdGFydCA9IHIuc3RhcnQKKyAg
ICByZXR1cm4gcmFuZ2VzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvc3JjL2Fpb3F1aWMvcXVp
Yy9wYWNrZXRfYnVpbGRlci5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9zcmMvYWlvcXVpYy9xdWljL3BhY2tl
dF9idWlsZGVyLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA4ODM3YzJjMzMwNDkyMDY0NDVmYzlmYjgxNDczYWNm
Y2JmNGI2NWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvc3JjL2Fpb3F1aWMvcXVp
Yy9wYWNrZXRfYnVpbGRlci5weQpAQCAtMCwwICsxLDM2NiBAQAorZnJvbSBkYXRhY2xhc3NlcyBp
bXBvcnQgZGF0YWNsYXNzLCBmaWVsZAorZnJvbSBlbnVtIGltcG9ydCBFbnVtCitmcm9tIHR5cGlu
ZyBpbXBvcnQgQW55LCBDYWxsYWJsZSwgRGljdCwgTGlzdCwgT3B0aW9uYWwsIFNlcXVlbmNlLCBU
dXBsZQorCitmcm9tIC4uYnVmZmVyIGltcG9ydCBCdWZmZXIsIHNpemVfdWludF92YXIKK2Zyb20g
Li50bHMgaW1wb3J0IEVwb2NoCitmcm9tIC5jcnlwdG8gaW1wb3J0IENyeXB0b1BhaXIKK2Zyb20g
LmxvZ2dlciBpbXBvcnQgUXVpY0xvZ2dlclRyYWNlCitmcm9tIC5wYWNrZXQgaW1wb3J0ICgKKyAg
ICBOT05fQUNLX0VMSUNJVElOR19GUkFNRV9UWVBFUywKKyAgICBOT05fSU5fRkxJR0hUX0ZSQU1F
X1RZUEVTLAorICAgIFBBQ0tFVF9OVU1CRVJfTUFYX1NJWkUsCisgICAgUEFDS0VUX1RZUEVfSEFO
RFNIQUtFLAorICAgIFBBQ0tFVF9UWVBFX0lOSVRJQUwsCisgICAgUEFDS0VUX1RZUEVfTUFTSywK
KyAgICBRdWljRnJhbWVUeXBlLAorICAgIGlzX2xvbmdfaGVhZGVyLAorKQorCitQQUNLRVRfTUFY
X1NJWkUgPSAxMjgwCitQQUNLRVRfTEVOR1RIX1NFTkRfU0laRSA9IDIKK1BBQ0tFVF9OVU1CRVJf
U0VORF9TSVpFID0gMgorCisKK1F1aWNEZWxpdmVyeUhhbmRsZXIgPSBDYWxsYWJsZVsuLi4sIE5v
bmVdCisKKworY2xhc3MgUXVpY0RlbGl2ZXJ5U3RhdGUoRW51bSk6CisgICAgQUNLRUQgPSAwCisg
ICAgTE9TVCA9IDEKKyAgICBFWFBJUkVEID0gMgorCisKK0BkYXRhY2xhc3MKK2NsYXNzIFF1aWNT
ZW50UGFja2V0OgorICAgIGVwb2NoOiBFcG9jaAorICAgIGluX2ZsaWdodDogYm9vbAorICAgIGlz
X2Fja19lbGljaXRpbmc6IGJvb2wKKyAgICBpc19jcnlwdG9fcGFja2V0OiBib29sCisgICAgcGFj
a2V0X251bWJlcjogaW50CisgICAgcGFja2V0X3R5cGU6IGludAorICAgIHNlbnRfdGltZTogT3B0
aW9uYWxbZmxvYXRdID0gTm9uZQorICAgIHNlbnRfYnl0ZXM6IGludCA9IDAKKworICAgIGRlbGl2
ZXJ5X2hhbmRsZXJzOiBMaXN0W1R1cGxlW1F1aWNEZWxpdmVyeUhhbmRsZXIsIEFueV1dID0gZmll
bGQoCisgICAgICAgIGRlZmF1bHRfZmFjdG9yeT1saXN0CisgICAgKQorICAgIHF1aWNfbG9nZ2Vy
X2ZyYW1lczogTGlzdFtEaWN0XSA9IGZpZWxkKGRlZmF1bHRfZmFjdG9yeT1saXN0KQorCisKK2Ns
YXNzIFF1aWNQYWNrZXRCdWlsZGVyU3RvcChFeGNlcHRpb24pOgorICAgIHBhc3MKKworCitjbGFz
cyBRdWljUGFja2V0QnVpbGRlcjoKKyAgICAiIiIKKyAgICBIZWxwZXIgZm9yIGJ1aWxkaW5nIFFV
SUMgcGFja2V0cy4KKyAgICAiIiIKKworICAgIGRlZiBfX2luaXRfXygKKyAgICAgICAgc2VsZiwK
KyAgICAgICAgKiwKKyAgICAgICAgaG9zdF9jaWQ6IGJ5dGVzLAorICAgICAgICBwZWVyX2NpZDog
Ynl0ZXMsCisgICAgICAgIHZlcnNpb246IGludCwKKyAgICAgICAgaXNfY2xpZW50OiBib29sLAor
ICAgICAgICBwYWNrZXRfbnVtYmVyOiBpbnQgPSAwLAorICAgICAgICBwZWVyX3Rva2VuOiBieXRl
cyA9IGIiIiwKKyAgICAgICAgcXVpY19sb2dnZXI6IE9wdGlvbmFsW1F1aWNMb2dnZXJUcmFjZV0g
PSBOb25lLAorICAgICAgICBzcGluX2JpdDogYm9vbCA9IEZhbHNlLAorICAgICk6CisgICAgICAg
IHNlbGYubWF4X2ZsaWdodF9ieXRlczogT3B0aW9uYWxbaW50XSA9IE5vbmUKKyAgICAgICAgc2Vs
Zi5tYXhfdG90YWxfYnl0ZXM6IE9wdGlvbmFsW2ludF0gPSBOb25lCisgICAgICAgIHNlbGYucXVp
Y19sb2dnZXJfZnJhbWVzOiBPcHRpb25hbFtMaXN0W0RpY3RdXSA9IE5vbmUKKworICAgICAgICBz
ZWxmLl9ob3N0X2NpZCA9IGhvc3RfY2lkCisgICAgICAgIHNlbGYuX2lzX2NsaWVudCA9IGlzX2Ns
aWVudAorICAgICAgICBzZWxmLl9wZWVyX2NpZCA9IHBlZXJfY2lkCisgICAgICAgIHNlbGYuX3Bl
ZXJfdG9rZW4gPSBwZWVyX3Rva2VuCisgICAgICAgIHNlbGYuX3F1aWNfbG9nZ2VyID0gcXVpY19s
b2dnZXIKKyAgICAgICAgc2VsZi5fc3Bpbl9iaXQgPSBzcGluX2JpdAorICAgICAgICBzZWxmLl92
ZXJzaW9uID0gdmVyc2lvbgorCisgICAgICAgICMgYXNzZW1ibGVkIGRhdGFncmFtcyBhbmQgcGFj
a2V0cworICAgICAgICBzZWxmLl9kYXRhZ3JhbXM6IExpc3RbYnl0ZXNdID0gW10KKyAgICAgICAg
c2VsZi5fZGF0YWdyYW1fZmxpZ2h0X2J5dGVzID0gMAorICAgICAgICBzZWxmLl9kYXRhZ3JhbV9p
bml0ID0gVHJ1ZQorICAgICAgICBzZWxmLl9wYWNrZXRzOiBMaXN0W1F1aWNTZW50UGFja2V0XSA9
IFtdCisgICAgICAgIHNlbGYuX2ZsaWdodF9ieXRlcyA9IDAKKyAgICAgICAgc2VsZi5fdG90YWxf
Ynl0ZXMgPSAwCisKKyAgICAgICAgIyBjdXJyZW50IHBhY2tldAorICAgICAgICBzZWxmLl9oZWFk
ZXJfc2l6ZSA9IDAKKyAgICAgICAgc2VsZi5fcGFja2V0OiBPcHRpb25hbFtRdWljU2VudFBhY2tl
dF0gPSBOb25lCisgICAgICAgIHNlbGYuX3BhY2tldF9jcnlwdG86IE9wdGlvbmFsW0NyeXB0b1Bh
aXJdID0gTm9uZQorICAgICAgICBzZWxmLl9wYWNrZXRfbG9uZ19oZWFkZXIgPSBGYWxzZQorICAg
ICAgICBzZWxmLl9wYWNrZXRfbnVtYmVyID0gcGFja2V0X251bWJlcgorICAgICAgICBzZWxmLl9w
YWNrZXRfc3RhcnQgPSAwCisgICAgICAgIHNlbGYuX3BhY2tldF90eXBlID0gMAorCisgICAgICAg
IHNlbGYuX2J1ZmZlciA9IEJ1ZmZlcihQQUNLRVRfTUFYX1NJWkUpCisgICAgICAgIHNlbGYuX2J1
ZmZlcl9jYXBhY2l0eSA9IFBBQ0tFVF9NQVhfU0laRQorICAgICAgICBzZWxmLl9mbGlnaHRfY2Fw
YWNpdHkgPSBQQUNLRVRfTUFYX1NJWkUKKworICAgIEBwcm9wZXJ0eQorICAgIGRlZiBwYWNrZXRf
aXNfZW1wdHkoc2VsZikgLT4gYm9vbDoKKyAgICAgICAgIiIiCisgICAgICAgIFJldHVybnMgYFRy
dWVgIGlmIHRoZSBjdXJyZW50IHBhY2tldCBpcyBlbXB0eS4KKyAgICAgICAgIiIiCisgICAgICAg
IGFzc2VydCBzZWxmLl9wYWNrZXQgaXMgbm90IE5vbmUKKyAgICAgICAgcGFja2V0X3NpemUgPSBz
ZWxmLl9idWZmZXIudGVsbCgpIC0gc2VsZi5fcGFja2V0X3N0YXJ0CisgICAgICAgIHJldHVybiBw
YWNrZXRfc2l6ZSA8PSBzZWxmLl9oZWFkZXJfc2l6ZQorCisgICAgQHByb3BlcnR5CisgICAgZGVm
IHBhY2tldF9udW1iZXIoc2VsZikgLT4gaW50OgorICAgICAgICAiIiIKKyAgICAgICAgUmV0dXJu
cyB0aGUgcGFja2V0IG51bWJlciBmb3IgdGhlIG5leHQgcGFja2V0LgorICAgICAgICAiIiIKKyAg
ICAgICAgcmV0dXJuIHNlbGYuX3BhY2tldF9udW1iZXIKKworICAgIEBwcm9wZXJ0eQorICAgIGRl
ZiByZW1haW5pbmdfYnVmZmVyX3NwYWNlKHNlbGYpIC0+IGludDoKKyAgICAgICAgIiIiCisgICAg
ICAgIFJldHVybnMgdGhlIHJlbWFpbmluZyBudW1iZXIgb2YgYnl0ZXMgd2hpY2ggY2FuIGJlIHVz
ZWQgaW4KKyAgICAgICAgdGhlIGN1cnJlbnQgcGFja2V0LgorICAgICAgICAiIiIKKyAgICAgICAg
cmV0dXJuICgKKyAgICAgICAgICAgIHNlbGYuX2J1ZmZlcl9jYXBhY2l0eQorICAgICAgICAgICAg
LSBzZWxmLl9idWZmZXIudGVsbCgpCisgICAgICAgICAgICAtIHNlbGYuX3BhY2tldF9jcnlwdG8u
YWVhZF90YWdfc2l6ZQorICAgICAgICApCisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgcmVtYWlu
aW5nX2ZsaWdodF9zcGFjZShzZWxmKSAtPiBpbnQ6CisgICAgICAgICIiIgorICAgICAgICBSZXR1
cm5zIHRoZSByZW1haW5pbmcgbnVtYmVyIG9mIGJ5dGVzIHdoaWNoIGNhbiBiZSB1c2VkIGluCisg
ICAgICAgIHRoZSBjdXJyZW50IHBhY2tldC4KKyAgICAgICAgIiIiCisgICAgICAgIHJldHVybiAo
CisgICAgICAgICAgICBzZWxmLl9mbGlnaHRfY2FwYWNpdHkKKyAgICAgICAgICAgIC0gc2VsZi5f
YnVmZmVyLnRlbGwoKQorICAgICAgICAgICAgLSBzZWxmLl9wYWNrZXRfY3J5cHRvLmFlYWRfdGFn
X3NpemUKKyAgICAgICAgKQorCisgICAgZGVmIGZsdXNoKHNlbGYpIC0+IFR1cGxlW0xpc3RbYnl0
ZXNdLCBMaXN0W1F1aWNTZW50UGFja2V0XV06CisgICAgICAgICIiIgorICAgICAgICBSZXR1cm5z
IHRoZSBhc3NlbWJsZWQgZGF0YWdyYW1zLgorICAgICAgICAiIiIKKyAgICAgICAgaWYgc2VsZi5f
cGFja2V0IGlzIG5vdCBOb25lOgorICAgICAgICAgICAgc2VsZi5fZW5kX3BhY2tldCgpCisgICAg
ICAgIHNlbGYuX2ZsdXNoX2N1cnJlbnRfZGF0YWdyYW0oKQorCisgICAgICAgIGRhdGFncmFtcyA9
IHNlbGYuX2RhdGFncmFtcworICAgICAgICBwYWNrZXRzID0gc2VsZi5fcGFja2V0cworICAgICAg
ICBzZWxmLl9kYXRhZ3JhbXMgPSBbXQorICAgICAgICBzZWxmLl9wYWNrZXRzID0gW10KKyAgICAg
ICAgcmV0dXJuIGRhdGFncmFtcywgcGFja2V0cworCisgICAgZGVmIHN0YXJ0X2ZyYW1lKAorICAg
ICAgICBzZWxmLAorICAgICAgICBmcmFtZV90eXBlOiBpbnQsCisgICAgICAgIGNhcGFjaXR5OiBp
bnQgPSAxLAorICAgICAgICBoYW5kbGVyOiBPcHRpb25hbFtRdWljRGVsaXZlcnlIYW5kbGVyXSA9
IE5vbmUsCisgICAgICAgIGhhbmRsZXJfYXJnczogU2VxdWVuY2VbQW55XSA9IFtdLAorICAgICkg
LT4gQnVmZmVyOgorICAgICAgICAiIiIKKyAgICAgICAgU3RhcnRzIGEgbmV3IGZyYW1lLgorICAg
ICAgICAiIiIKKyAgICAgICAgaWYgc2VsZi5yZW1haW5pbmdfYnVmZmVyX3NwYWNlIDwgY2FwYWNp
dHkgb3IgKAorICAgICAgICAgICAgZnJhbWVfdHlwZSBub3QgaW4gTk9OX0lOX0ZMSUdIVF9GUkFN
RV9UWVBFUworICAgICAgICAgICAgYW5kIHNlbGYucmVtYWluaW5nX2ZsaWdodF9zcGFjZSA8IGNh
cGFjaXR5CisgICAgICAgICk6CisgICAgICAgICAgICByYWlzZSBRdWljUGFja2V0QnVpbGRlclN0
b3AKKworICAgICAgICBzZWxmLl9idWZmZXIucHVzaF91aW50X3ZhcihmcmFtZV90eXBlKQorICAg
ICAgICBpZiBmcmFtZV90eXBlIG5vdCBpbiBOT05fQUNLX0VMSUNJVElOR19GUkFNRV9UWVBFUzoK
KyAgICAgICAgICAgIHNlbGYuX3BhY2tldC5pc19hY2tfZWxpY2l0aW5nID0gVHJ1ZQorICAgICAg
ICBpZiBmcmFtZV90eXBlIG5vdCBpbiBOT05fSU5fRkxJR0hUX0ZSQU1FX1RZUEVTOgorICAgICAg
ICAgICAgc2VsZi5fcGFja2V0LmluX2ZsaWdodCA9IFRydWUKKyAgICAgICAgaWYgZnJhbWVfdHlw
ZSA9PSBRdWljRnJhbWVUeXBlLkNSWVBUTzoKKyAgICAgICAgICAgIHNlbGYuX3BhY2tldC5pc19j
cnlwdG9fcGFja2V0ID0gVHJ1ZQorICAgICAgICBpZiBoYW5kbGVyIGlzIG5vdCBOb25lOgorICAg
ICAgICAgICAgc2VsZi5fcGFja2V0LmRlbGl2ZXJ5X2hhbmRsZXJzLmFwcGVuZCgoaGFuZGxlciwg
aGFuZGxlcl9hcmdzKSkKKyAgICAgICAgcmV0dXJuIHNlbGYuX2J1ZmZlcgorCisgICAgZGVmIHN0
YXJ0X3BhY2tldChzZWxmLCBwYWNrZXRfdHlwZTogaW50LCBjcnlwdG86IENyeXB0b1BhaXIpIC0+
IE5vbmU6CisgICAgICAgICIiIgorICAgICAgICBTdGFydHMgYSBuZXcgcGFja2V0LgorICAgICAg
ICAiIiIKKyAgICAgICAgYnVmID0gc2VsZi5fYnVmZmVyCisKKyAgICAgICAgIyBmaW5pc2ggcHJl
dmlvdXMgZGF0YWdyYW0KKyAgICAgICAgaWYgc2VsZi5fcGFja2V0IGlzIG5vdCBOb25lOgorICAg
ICAgICAgICAgc2VsZi5fZW5kX3BhY2tldCgpCisKKyAgICAgICAgIyBpZiB0aGVyZSBpcyB0b28g
bGl0dGxlIHNwYWNlIHJlbWFpbmluZywgc3RhcnQgYSBuZXcgZGF0YWdyYW0KKyAgICAgICAgIyBG
SVhNRTogdGhlIGxpbWl0IGlzIGFyYml0cmFyeSEKKyAgICAgICAgcGFja2V0X3N0YXJ0ID0gYnVm
LnRlbGwoKQorICAgICAgICBpZiBzZWxmLl9idWZmZXJfY2FwYWNpdHkgLSBwYWNrZXRfc3RhcnQg
PCAxMjg6CisgICAgICAgICAgICBzZWxmLl9mbHVzaF9jdXJyZW50X2RhdGFncmFtKCkKKyAgICAg
ICAgICAgIHBhY2tldF9zdGFydCA9IDAKKworICAgICAgICAjIGluaXRpYWxpemUgZGF0YWdyYW0g
aWYgbmVlZGVkCisgICAgICAgIGlmIHNlbGYuX2RhdGFncmFtX2luaXQ6CisgICAgICAgICAgICBp
ZiBzZWxmLm1heF90b3RhbF9ieXRlcyBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICByZW1h
aW5pbmdfdG90YWxfYnl0ZXMgPSBzZWxmLm1heF90b3RhbF9ieXRlcyAtIHNlbGYuX3RvdGFsX2J5
dGVzCisgICAgICAgICAgICAgICAgaWYgcmVtYWluaW5nX3RvdGFsX2J5dGVzIDwgc2VsZi5fYnVm
ZmVyX2NhcGFjaXR5OgorICAgICAgICAgICAgICAgICAgICBzZWxmLl9idWZmZXJfY2FwYWNpdHkg
PSByZW1haW5pbmdfdG90YWxfYnl0ZXMKKworICAgICAgICAgICAgc2VsZi5fZmxpZ2h0X2NhcGFj
aXR5ID0gc2VsZi5fYnVmZmVyX2NhcGFjaXR5CisgICAgICAgICAgICBpZiBzZWxmLm1heF9mbGln
aHRfYnl0ZXMgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgcmVtYWluaW5nX2ZsaWdodF9i
eXRlcyA9IHNlbGYubWF4X2ZsaWdodF9ieXRlcyAtIHNlbGYuX2ZsaWdodF9ieXRlcworICAgICAg
ICAgICAgICAgIGlmIHJlbWFpbmluZ19mbGlnaHRfYnl0ZXMgPCBzZWxmLl9mbGlnaHRfY2FwYWNp
dHk6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuX2ZsaWdodF9jYXBhY2l0eSA9IHJlbWFpbmlu
Z19mbGlnaHRfYnl0ZXMKKyAgICAgICAgICAgIHNlbGYuX2RhdGFncmFtX2ZsaWdodF9ieXRlcyA9
IDAKKyAgICAgICAgICAgIHNlbGYuX2RhdGFncmFtX2luaXQgPSBGYWxzZQorCisgICAgICAgICMg
Y2FsY3VsYXRlIGhlYWRlciBzaXplCisgICAgICAgIHBhY2tldF9sb25nX2hlYWRlciA9IGlzX2xv
bmdfaGVhZGVyKHBhY2tldF90eXBlKQorICAgICAgICBpZiBwYWNrZXRfbG9uZ19oZWFkZXI6Cisg
ICAgICAgICAgICBoZWFkZXJfc2l6ZSA9IDExICsgbGVuKHNlbGYuX3BlZXJfY2lkKSArIGxlbihz
ZWxmLl9ob3N0X2NpZCkKKyAgICAgICAgICAgIGlmIChwYWNrZXRfdHlwZSAmIFBBQ0tFVF9UWVBF
X01BU0spID09IFBBQ0tFVF9UWVBFX0lOSVRJQUw6CisgICAgICAgICAgICAgICAgdG9rZW5fbGVu
Z3RoID0gbGVuKHNlbGYuX3BlZXJfdG9rZW4pCisgICAgICAgICAgICAgICAgaGVhZGVyX3NpemUg
Kz0gc2l6ZV91aW50X3Zhcih0b2tlbl9sZW5ndGgpICsgdG9rZW5fbGVuZ3RoCisgICAgICAgIGVs
c2U6CisgICAgICAgICAgICBoZWFkZXJfc2l6ZSA9IDMgKyBsZW4oc2VsZi5fcGVlcl9jaWQpCisK
KyAgICAgICAgIyBjaGVjayB3ZSBoYXZlIGVub3VnaCBzcGFjZQorICAgICAgICBpZiBwYWNrZXRf
c3RhcnQgKyBoZWFkZXJfc2l6ZSA+PSBzZWxmLl9idWZmZXJfY2FwYWNpdHk6CisgICAgICAgICAg
ICByYWlzZSBRdWljUGFja2V0QnVpbGRlclN0b3AKKworICAgICAgICAjIGRldGVybWluZSBhY2sg
ZXBvY2gKKyAgICAgICAgaWYgcGFja2V0X3R5cGUgPT0gUEFDS0VUX1RZUEVfSU5JVElBTDoKKyAg
ICAgICAgICAgIGVwb2NoID0gRXBvY2guSU5JVElBTAorICAgICAgICBlbGlmIHBhY2tldF90eXBl
ID09IFBBQ0tFVF9UWVBFX0hBTkRTSEFLRToKKyAgICAgICAgICAgIGVwb2NoID0gRXBvY2guSEFO
RFNIQUtFCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBlcG9jaCA9IEVwb2NoLk9ORV9SVFQK
KworICAgICAgICBzZWxmLl9oZWFkZXJfc2l6ZSA9IGhlYWRlcl9zaXplCisgICAgICAgIHNlbGYu
X3BhY2tldCA9IFF1aWNTZW50UGFja2V0KAorICAgICAgICAgICAgZXBvY2g9ZXBvY2gsCisgICAg
ICAgICAgICBpbl9mbGlnaHQ9RmFsc2UsCisgICAgICAgICAgICBpc19hY2tfZWxpY2l0aW5nPUZh
bHNlLAorICAgICAgICAgICAgaXNfY3J5cHRvX3BhY2tldD1GYWxzZSwKKyAgICAgICAgICAgIHBh
Y2tldF9udW1iZXI9c2VsZi5fcGFja2V0X251bWJlciwKKyAgICAgICAgICAgIHBhY2tldF90eXBl
PXBhY2tldF90eXBlLAorICAgICAgICApCisgICAgICAgIHNlbGYuX3BhY2tldF9jcnlwdG8gPSBj
cnlwdG8KKyAgICAgICAgc2VsZi5fcGFja2V0X2xvbmdfaGVhZGVyID0gcGFja2V0X2xvbmdfaGVh
ZGVyCisgICAgICAgIHNlbGYuX3BhY2tldF9zdGFydCA9IHBhY2tldF9zdGFydAorICAgICAgICBz
ZWxmLl9wYWNrZXRfdHlwZSA9IHBhY2tldF90eXBlCisgICAgICAgIHNlbGYucXVpY19sb2dnZXJf
ZnJhbWVzID0gc2VsZi5fcGFja2V0LnF1aWNfbG9nZ2VyX2ZyYW1lcworCisgICAgICAgIGJ1Zi5z
ZWVrKHNlbGYuX3BhY2tldF9zdGFydCArIHNlbGYuX2hlYWRlcl9zaXplKQorCisgICAgZGVmIF9l
bmRfcGFja2V0KHNlbGYpIC0+IE5vbmU6CisgICAgICAgICIiIgorICAgICAgICBFbmRzIHRoZSBj
dXJyZW50IHBhY2tldC4KKyAgICAgICAgIiIiCisgICAgICAgIGJ1ZiA9IHNlbGYuX2J1ZmZlcgor
ICAgICAgICBwYWNrZXRfc2l6ZSA9IGJ1Zi50ZWxsKCkgLSBzZWxmLl9wYWNrZXRfc3RhcnQKKyAg
ICAgICAgaWYgcGFja2V0X3NpemUgPiBzZWxmLl9oZWFkZXJfc2l6ZToKKyAgICAgICAgICAgICMg
cGFkIGluaXRpYWwgZGF0YWdyYW0KKyAgICAgICAgICAgIGlmICgKKyAgICAgICAgICAgICAgICBz
ZWxmLl9pc19jbGllbnQKKyAgICAgICAgICAgICAgICBhbmQgc2VsZi5fcGFja2V0X3R5cGUgPT0g
UEFDS0VUX1RZUEVfSU5JVElBTAorICAgICAgICAgICAgICAgIGFuZCBzZWxmLl9wYWNrZXQuaXNf
Y3J5cHRvX3BhY2tldAorICAgICAgICAgICAgKToKKyAgICAgICAgICAgICAgICBpZiBzZWxmLnJl
bWFpbmluZ19mbGlnaHRfc3BhY2U6CisgICAgICAgICAgICAgICAgICAgIGJ1Zi5wdXNoX2J5dGVz
KGJ5dGVzKHNlbGYucmVtYWluaW5nX2ZsaWdodF9zcGFjZSkpCisgICAgICAgICAgICAgICAgICAg
IHBhY2tldF9zaXplID0gYnVmLnRlbGwoKSAtIHNlbGYuX3BhY2tldF9zdGFydAorICAgICAgICAg
ICAgICAgICAgICBzZWxmLl9wYWNrZXQuaW5fZmxpZ2h0ID0gVHJ1ZQorCisgICAgICAgICAgICAg
ICAgICAgICMgbG9nIGZyYW1lCisgICAgICAgICAgICAgICAgICAgIGlmIHNlbGYuX3F1aWNfbG9n
Z2VyIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fcGFja2V0LnF1
aWNfbG9nZ2VyX2ZyYW1lcy5hcHBlbmQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vs
Zi5fcXVpY19sb2dnZXIuZW5jb2RlX3BhZGRpbmdfZnJhbWUoKQorICAgICAgICAgICAgICAgICAg
ICAgICAgKQorCisgICAgICAgICAgICAjIHdyaXRlIGhlYWRlcgorICAgICAgICAgICAgaWYgc2Vs
Zi5fcGFja2V0X2xvbmdfaGVhZGVyOgorICAgICAgICAgICAgICAgIGxlbmd0aCA9ICgKKyAgICAg
ICAgICAgICAgICAgICAgcGFja2V0X3NpemUKKyAgICAgICAgICAgICAgICAgICAgLSBzZWxmLl9o
ZWFkZXJfc2l6ZQorICAgICAgICAgICAgICAgICAgICArIFBBQ0tFVF9OVU1CRVJfU0VORF9TSVpF
CisgICAgICAgICAgICAgICAgICAgICsgc2VsZi5fcGFja2V0X2NyeXB0by5hZWFkX3RhZ19zaXpl
CisgICAgICAgICAgICAgICAgKQorCisgICAgICAgICAgICAgICAgYnVmLnNlZWsoc2VsZi5fcGFj
a2V0X3N0YXJ0KQorICAgICAgICAgICAgICAgIGJ1Zi5wdXNoX3VpbnQ4KHNlbGYuX3BhY2tldF90
eXBlIHwgKFBBQ0tFVF9OVU1CRVJfU0VORF9TSVpFIC0gMSkpCisgICAgICAgICAgICAgICAgYnVm
LnB1c2hfdWludDMyKHNlbGYuX3ZlcnNpb24pCisgICAgICAgICAgICAgICAgYnVmLnB1c2hfdWlu
dDgobGVuKHNlbGYuX3BlZXJfY2lkKSkKKyAgICAgICAgICAgICAgICBidWYucHVzaF9ieXRlcyhz
ZWxmLl9wZWVyX2NpZCkKKyAgICAgICAgICAgICAgICBidWYucHVzaF91aW50OChsZW4oc2VsZi5f
aG9zdF9jaWQpKQorICAgICAgICAgICAgICAgIGJ1Zi5wdXNoX2J5dGVzKHNlbGYuX2hvc3RfY2lk
KQorICAgICAgICAgICAgICAgIGlmIChzZWxmLl9wYWNrZXRfdHlwZSAmIFBBQ0tFVF9UWVBFX01B
U0spID09IFBBQ0tFVF9UWVBFX0lOSVRJQUw6CisgICAgICAgICAgICAgICAgICAgIGJ1Zi5wdXNo
X3VpbnRfdmFyKGxlbihzZWxmLl9wZWVyX3Rva2VuKSkKKyAgICAgICAgICAgICAgICAgICAgYnVm
LnB1c2hfYnl0ZXMoc2VsZi5fcGVlcl90b2tlbikKKyAgICAgICAgICAgICAgICBidWYucHVzaF91
aW50MTYobGVuZ3RoIHwgMHg0MDAwKQorICAgICAgICAgICAgICAgIGJ1Zi5wdXNoX3VpbnQxNihz
ZWxmLl9wYWNrZXRfbnVtYmVyICYgMHhGRkZGKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAg
ICAgICAgICBidWYuc2VlayhzZWxmLl9wYWNrZXRfc3RhcnQpCisgICAgICAgICAgICAgICAgYnVm
LnB1c2hfdWludDgoCisgICAgICAgICAgICAgICAgICAgIHNlbGYuX3BhY2tldF90eXBlCisgICAg
ICAgICAgICAgICAgICAgIHwgKHNlbGYuX3NwaW5fYml0IDw8IDUpCisgICAgICAgICAgICAgICAg
ICAgIHwgKHNlbGYuX3BhY2tldF9jcnlwdG8ua2V5X3BoYXNlIDw8IDIpCisgICAgICAgICAgICAg
ICAgICAgIHwgKFBBQ0tFVF9OVU1CRVJfU0VORF9TSVpFIC0gMSkKKyAgICAgICAgICAgICAgICAp
CisgICAgICAgICAgICAgICAgYnVmLnB1c2hfYnl0ZXMoc2VsZi5fcGVlcl9jaWQpCisgICAgICAg
ICAgICAgICAgYnVmLnB1c2hfdWludDE2KHNlbGYuX3BhY2tldF9udW1iZXIgJiAweEZGRkYpCisK
KyAgICAgICAgICAgICAgICAjIGNoZWNrIHdoZXRoZXIgd2UgbmVlZCBwYWRkaW5nCisgICAgICAg
ICAgICAgICAgcGFkZGluZ19zaXplID0gKAorICAgICAgICAgICAgICAgICAgICBQQUNLRVRfTlVN
QkVSX01BWF9TSVpFCisgICAgICAgICAgICAgICAgICAgIC0gUEFDS0VUX05VTUJFUl9TRU5EX1NJ
WkUKKyAgICAgICAgICAgICAgICAgICAgKyBzZWxmLl9oZWFkZXJfc2l6ZQorICAgICAgICAgICAg
ICAgICAgICAtIHBhY2tldF9zaXplCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAg
IGlmIHBhZGRpbmdfc2l6ZSA+IDA6CisgICAgICAgICAgICAgICAgICAgIGJ1Zi5zZWVrKHNlbGYu
X3BhY2tldF9zdGFydCArIHBhY2tldF9zaXplKQorICAgICAgICAgICAgICAgICAgICBidWYucHVz
aF9ieXRlcyhieXRlcyhwYWRkaW5nX3NpemUpKQorICAgICAgICAgICAgICAgICAgICBwYWNrZXRf
c2l6ZSArPSBwYWRkaW5nX3NpemUKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5fcGFja2V0Lmlu
X2ZsaWdodCA9IFRydWUKKworICAgICAgICAgICAgICAgICAgICAjIGxvZyBmcmFtZQorICAgICAg
ICAgICAgICAgICAgICBpZiBzZWxmLl9xdWljX2xvZ2dlciBpcyBub3QgTm9uZToKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHNlbGYuX3BhY2tldC5xdWljX2xvZ2dlcl9mcmFtZXMuYXBwZW5kKAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3F1aWNfbG9nZ2VyLmVuY29kZV9wYWRk
aW5nX2ZyYW1lKCkKKyAgICAgICAgICAgICAgICAgICAgICAgICkKKworICAgICAgICAgICAgIyBl
bmNyeXB0IGluIHBsYWNlCisgICAgICAgICAgICBwbGFpbiA9IGJ1Zi5kYXRhX3NsaWNlKHNlbGYu
X3BhY2tldF9zdGFydCwgc2VsZi5fcGFja2V0X3N0YXJ0ICsgcGFja2V0X3NpemUpCisgICAgICAg
ICAgICBidWYuc2VlayhzZWxmLl9wYWNrZXRfc3RhcnQpCisgICAgICAgICAgICBidWYucHVzaF9i
eXRlcygKKyAgICAgICAgICAgICAgICBzZWxmLl9wYWNrZXRfY3J5cHRvLmVuY3J5cHRfcGFja2V0
KAorICAgICAgICAgICAgICAgICAgICBwbGFpblswIDogc2VsZi5faGVhZGVyX3NpemVdLAorICAg
ICAgICAgICAgICAgICAgICBwbGFpbltzZWxmLl9oZWFkZXJfc2l6ZSA6IHBhY2tldF9zaXplXSwK
KyAgICAgICAgICAgICAgICAgICAgc2VsZi5fcGFja2V0X251bWJlciwKKyAgICAgICAgICAgICAg
ICApCisgICAgICAgICAgICApCisgICAgICAgICAgICBzZWxmLl9wYWNrZXQuc2VudF9ieXRlcyA9
IGJ1Zi50ZWxsKCkgLSBzZWxmLl9wYWNrZXRfc3RhcnQKKyAgICAgICAgICAgIHNlbGYuX3BhY2tl
dHMuYXBwZW5kKHNlbGYuX3BhY2tldCkKKyAgICAgICAgICAgIGlmIHNlbGYuX3BhY2tldC5pbl9m
bGlnaHQ6CisgICAgICAgICAgICAgICAgc2VsZi5fZGF0YWdyYW1fZmxpZ2h0X2J5dGVzICs9IHNl
bGYuX3BhY2tldC5zZW50X2J5dGVzCisKKyAgICAgICAgICAgICMgc2hvcnQgaGVhZGVyIHBhY2tl
dHMgY2Fubm90IGJlIGNvYWxsZXNjZWQsIHdlIG5lZWQgYSBuZXcgZGF0YWdyYW0KKyAgICAgICAg
ICAgIGlmIG5vdCBzZWxmLl9wYWNrZXRfbG9uZ19oZWFkZXI6CisgICAgICAgICAgICAgICAgc2Vs
Zi5fZmx1c2hfY3VycmVudF9kYXRhZ3JhbSgpCisKKyAgICAgICAgICAgIHNlbGYuX3BhY2tldF9u
dW1iZXIgKz0gMQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgIyAiY2FuY2VsIiB0aGUgcGFj
a2V0CisgICAgICAgICAgICBidWYuc2VlayhzZWxmLl9wYWNrZXRfc3RhcnQpCisKKyAgICAgICAg
c2VsZi5fcGFja2V0ID0gTm9uZQorICAgICAgICBzZWxmLnF1aWNfbG9nZ2VyX2ZyYW1lcyA9IE5v
bmUKKworICAgIGRlZiBfZmx1c2hfY3VycmVudF9kYXRhZ3JhbShzZWxmKSAtPiBOb25lOgorICAg
ICAgICBkYXRhZ3JhbV9ieXRlcyA9IHNlbGYuX2J1ZmZlci50ZWxsKCkKKyAgICAgICAgaWYgZGF0
YWdyYW1fYnl0ZXM6CisgICAgICAgICAgICBzZWxmLl9kYXRhZ3JhbXMuYXBwZW5kKHNlbGYuX2J1
ZmZlci5kYXRhKQorICAgICAgICAgICAgc2VsZi5fZmxpZ2h0X2J5dGVzICs9IHNlbGYuX2RhdGFn
cmFtX2ZsaWdodF9ieXRlcworICAgICAgICAgICAgc2VsZi5fdG90YWxfYnl0ZXMgKz0gZGF0YWdy
YW1fYnl0ZXMKKyAgICAgICAgICAgIHNlbGYuX2RhdGFncmFtX2luaXQgPSBUcnVlCisgICAgICAg
ICAgICBzZWxmLl9idWZmZXIuc2VlaygwKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3NyYy9h
aW9xdWljL3F1aWMvcmFuZ2VzZXQucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvc3JjL2Fpb3F1aWMvcXVpYy9y
YW5nZXNldC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NjA4NmM5Yzc0Zjc3NTYwMzIwODY5MDA3NmJlZTk2Mzgx
NDYxMWI5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3NyYy9haW9xdWljL3F1aWMv
cmFuZ2VzZXQucHkKQEAgLTAsMCArMSw5OCBAQAorZnJvbSBjb2xsZWN0aW9ucy5hYmMgaW1wb3J0
IFNlcXVlbmNlCitmcm9tIHR5cGluZyBpbXBvcnQgQW55LCBJdGVyYWJsZSwgTGlzdCwgT3B0aW9u
YWwKKworCitjbGFzcyBSYW5nZVNldChTZXF1ZW5jZSk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYs
IHJhbmdlczogSXRlcmFibGVbcmFuZ2VdID0gW10pOgorICAgICAgICBzZWxmLl9fcmFuZ2VzOiBM
aXN0W3JhbmdlXSA9IFtdCisgICAgICAgIGZvciByIGluIHJhbmdlczoKKyAgICAgICAgICAgIGFz
c2VydCByLnN0ZXAgPT0gMQorICAgICAgICAgICAgc2VsZi5hZGQoci5zdGFydCwgci5zdG9wKQor
CisgICAgZGVmIGFkZChzZWxmLCBzdGFydDogaW50LCBzdG9wOiBPcHRpb25hbFtpbnRdID0gTm9u
ZSkgLT4gTm9uZToKKyAgICAgICAgaWYgc3RvcCBpcyBOb25lOgorICAgICAgICAgICAgc3RvcCA9
IHN0YXJ0ICsgMQorICAgICAgICBhc3NlcnQgc3RvcCA+IHN0YXJ0CisKKyAgICAgICAgZm9yIGks
IHIgaW4gZW51bWVyYXRlKHNlbGYuX19yYW5nZXMpOgorICAgICAgICAgICAgIyB0aGUgYWRkZWQg
cmFuZ2UgaXMgZW50aXJlbHkgYmVmb3JlIGN1cnJlbnQgaXRlbSwgaW5zZXJ0IGhlcmUKKyAgICAg
ICAgICAgIGlmIHN0b3AgPCByLnN0YXJ0OgorICAgICAgICAgICAgICAgIHNlbGYuX19yYW5nZXMu
aW5zZXJ0KGksIHJhbmdlKHN0YXJ0LCBzdG9wKSkKKyAgICAgICAgICAgICAgICByZXR1cm4KKwor
ICAgICAgICAgICAgIyB0aGUgYWRkZWQgcmFuZ2UgaXMgZW50aXJlbHkgYWZ0ZXIgY3VycmVudCBp
dGVtLCBrZWVwIGxvb2tpbmcKKyAgICAgICAgICAgIGlmIHN0YXJ0ID4gci5zdG9wOgorICAgICAg
ICAgICAgICAgIGNvbnRpbnVlCisKKyAgICAgICAgICAgICMgdGhlIGFkZGVkIHJhbmdlIHRvdWNo
ZXMgdGhlIGN1cnJlbnQgaXRlbSwgbWVyZ2UgaXQKKyAgICAgICAgICAgIHN0YXJ0ID0gbWluKHN0
YXJ0LCByLnN0YXJ0KQorICAgICAgICAgICAgc3RvcCA9IG1heChzdG9wLCByLnN0b3ApCisgICAg
ICAgICAgICB3aGlsZSBpIDwgbGVuKHNlbGYuX19yYW5nZXMpIC0gMSBhbmQgc2VsZi5fX3Jhbmdl
c1tpICsgMV0uc3RhcnQgPD0gc3RvcDoKKyAgICAgICAgICAgICAgICBzdG9wID0gbWF4KHNlbGYu
X19yYW5nZXNbaSArIDFdLnN0b3AsIHN0b3ApCisgICAgICAgICAgICAgICAgc2VsZi5fX3Jhbmdl
cy5wb3AoaSArIDEpCisgICAgICAgICAgICBzZWxmLl9fcmFuZ2VzW2ldID0gcmFuZ2Uoc3RhcnQs
IHN0b3ApCisgICAgICAgICAgICByZXR1cm4KKworICAgICAgICAjIHRoZSBhZGRlZCByYW5nZSBp
cyBlbnRpcmVseSBhZnRlciBhbGwgZXhpc3RpbmcgaXRlbXMsIGFwcGVuZCBpdAorICAgICAgICBz
ZWxmLl9fcmFuZ2VzLmFwcGVuZChyYW5nZShzdGFydCwgc3RvcCkpCisKKyAgICBkZWYgYm91bmRz
KHNlbGYpIC0+IHJhbmdlOgorICAgICAgICByZXR1cm4gcmFuZ2Uoc2VsZi5fX3Jhbmdlc1swXS5z
dGFydCwgc2VsZi5fX3Jhbmdlc1stMV0uc3RvcCkKKworICAgIGRlZiBzaGlmdChzZWxmKSAtPiBy
YW5nZToKKyAgICAgICAgcmV0dXJuIHNlbGYuX19yYW5nZXMucG9wKDApCisKKyAgICBkZWYgc3Vi
dHJhY3Qoc2VsZiwgc3RhcnQ6IGludCwgc3RvcDogaW50KSAtPiBOb25lOgorICAgICAgICBhc3Nl
cnQgc3RvcCA+IHN0YXJ0CisKKyAgICAgICAgaSA9IDAKKyAgICAgICAgd2hpbGUgaSA8IGxlbihz
ZWxmLl9fcmFuZ2VzKToKKyAgICAgICAgICAgIHIgPSBzZWxmLl9fcmFuZ2VzW2ldCisKKyAgICAg
ICAgICAgICMgdGhlIHJlbW92ZWQgcmFuZ2UgaXMgZW50aXJlbHkgYmVmb3JlIGN1cnJlbnQgaXRl
bSwgc3RvcCBoZXJlCisgICAgICAgICAgICBpZiBzdG9wIDw9IHIuc3RhcnQ6CisgICAgICAgICAg
ICAgICAgcmV0dXJuCisKKyAgICAgICAgICAgICMgdGhlIHJlbW92ZWQgcmFuZ2UgaXMgZW50aXJl
bHkgYWZ0ZXIgY3VycmVudCBpdGVtLCBrZWVwIGxvb2tpbmcKKyAgICAgICAgICAgIGlmIHN0YXJ0
ID49IHIuc3RvcDoKKyAgICAgICAgICAgICAgICBpICs9IDEKKyAgICAgICAgICAgICAgICBjb250
aW51ZQorCisgICAgICAgICAgICAjIHRoZSByZW1vdmVkIHJhbmdlIGNvbXBsZXRlbHkgY292ZXJz
IHRoZSBjdXJyZW50IGl0ZW0sIHJlbW92ZSBpdAorICAgICAgICAgICAgaWYgc3RhcnQgPD0gci5z
dGFydCBhbmQgc3RvcCA+PSByLnN0b3A6CisgICAgICAgICAgICAgICAgc2VsZi5fX3Jhbmdlcy5w
b3AoaSkKKyAgICAgICAgICAgICAgICBjb250aW51ZQorCisgICAgICAgICAgICAjIHRoZSByZW1v
dmVkIHJhbmdlIHRvdWNoZXMgdGhlIGN1cnJlbnQgaXRlbQorICAgICAgICAgICAgaWYgc3RhcnQg
PiByLnN0YXJ0OgorICAgICAgICAgICAgICAgIHNlbGYuX19yYW5nZXNbaV0gPSByYW5nZShyLnN0
YXJ0LCBzdGFydCkKKyAgICAgICAgICAgICAgICBpZiBzdG9wIDwgci5zdG9wOgorICAgICAgICAg
ICAgICAgICAgICBzZWxmLl9fcmFuZ2VzLmluc2VydChpICsgMSwgcmFuZ2Uoc3RvcCwgci5zdG9w
KSkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgc2VsZi5fX3Jhbmdlc1tpXSA9
IHJhbmdlKHN0b3AsIHIuc3RvcCkKKworICAgICAgICAgICAgaSArPSAxCisKKyAgICBkZWYgX19i
b29sX18oc2VsZikgLT4gYm9vbDoKKyAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcgor
CisgICAgZGVmIF9fY29udGFpbnNfXyhzZWxmLCB2YWw6IEFueSkgLT4gYm9vbDoKKyAgICAgICAg
Zm9yIHIgaW4gc2VsZi5fX3JhbmdlczoKKyAgICAgICAgICAgIGlmIHZhbCBpbiByOgorICAgICAg
ICAgICAgICAgIHJldHVybiBUcnVlCisgICAgICAgIHJldHVybiBGYWxzZQorCisgICAgZGVmIF9f
ZXFfXyhzZWxmLCBvdGhlcjogb2JqZWN0KSAtPiBib29sOgorICAgICAgICBpZiBub3QgaXNpbnN0
YW5jZShvdGhlciwgUmFuZ2VTZXQpOgorICAgICAgICAgICAgcmV0dXJuIE5vdEltcGxlbWVudGVk
CisKKyAgICAgICAgcmV0dXJuIHNlbGYuX19yYW5nZXMgPT0gb3RoZXIuX19yYW5nZXMKKworICAg
IGRlZiBfX2dldGl0ZW1fXyhzZWxmLCBrZXk6IEFueSkgLT4gcmFuZ2U6CisgICAgICAgIHJldHVy
biBzZWxmLl9fcmFuZ2VzW2tleV0KKworICAgIGRlZiBfX2xlbl9fKHNlbGYpIC0+IGludDoKKyAg
ICAgICAgcmV0dXJuIGxlbihzZWxmLl9fcmFuZ2VzKQorCisgICAgZGVmIF9fcmVwcl9fKHNlbGYp
IC0+IHN0cjoKKyAgICAgICAgcmV0dXJuICJSYW5nZVNldCh7fSkiLmZvcm1hdChyZXByKHNlbGYu
X19yYW5nZXMpKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3NyYy9haW9xdWljL3F1aWMvcmVj
b3ZlcnkucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvc3JjL2Fpb3F1aWMvcXVpYy9yZWNvdmVyeS5weQpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi45YWJlYjFlY2Y1NjYxZjcxYzkzZTc3YmY3ZmE2MmE3MTYyZjM4NzBkCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3NyYy9haW9xdWljL3F1aWMvcmVjb3ZlcnkucHkKQEAg
LTAsMCArMSw0OTcgQEAKK2ltcG9ydCBtYXRoCitmcm9tIHR5cGluZyBpbXBvcnQgQ2FsbGFibGUs
IERpY3QsIEl0ZXJhYmxlLCBMaXN0LCBPcHRpb25hbAorCitmcm9tIC5sb2dnZXIgaW1wb3J0IFF1
aWNMb2dnZXJUcmFjZQorZnJvbSAucGFja2V0X2J1aWxkZXIgaW1wb3J0IFF1aWNEZWxpdmVyeVN0
YXRlLCBRdWljU2VudFBhY2tldAorZnJvbSAucmFuZ2VzZXQgaW1wb3J0IFJhbmdlU2V0CisKKyMg
bG9zcyBkZXRlY3Rpb24KK0tfUEFDS0VUX1RIUkVTSE9MRCA9IDMKK0tfSU5JVElBTF9SVFQgPSAw
LjUgICMgc2Vjb25kcworS19HUkFOVUxBUklUWSA9IDAuMDAxICAjIHNlY29uZHMKK0tfVElNRV9U
SFJFU0hPTEQgPSA5IC8gOAorS19NSUNST19TRUNPTkQgPSAwLjAwMDAwMQorS19TRUNPTkQgPSAx
LjAKKworIyBjb25nZXN0aW9uIGNvbnRyb2wKK0tfTUFYX0RBVEFHUkFNX1NJWkUgPSAxMjgwCitL
X0lOSVRJQUxfV0lORE9XID0gMTAgKiBLX01BWF9EQVRBR1JBTV9TSVpFCitLX01JTklNVU1fV0lO
RE9XID0gMiAqIEtfTUFYX0RBVEFHUkFNX1NJWkUKK0tfTE9TU19SRURVQ1RJT05fRkFDVE9SID0g
MC41CisKKworY2xhc3MgUXVpY1BhY2tldFNwYWNlOgorICAgIGRlZiBfX2luaXRfXyhzZWxmKSAt
PiBOb25lOgorICAgICAgICBzZWxmLmFja19hdDogT3B0aW9uYWxbZmxvYXRdID0gTm9uZQorICAg
ICAgICBzZWxmLmFja19xdWV1ZSA9IFJhbmdlU2V0KCkKKyAgICAgICAgc2VsZi5kaXNjYXJkZWQg
PSBGYWxzZQorICAgICAgICBzZWxmLmV4cGVjdGVkX3BhY2tldF9udW1iZXIgPSAwCisgICAgICAg
IHNlbGYubGFyZ2VzdF9yZWNlaXZlZF9wYWNrZXQgPSAtMQorICAgICAgICBzZWxmLmxhcmdlc3Rf
cmVjZWl2ZWRfdGltZTogT3B0aW9uYWxbZmxvYXRdID0gTm9uZQorCisgICAgICAgICMgc2VudCBw
YWNrZXRzIGFuZCBsb3NzCisgICAgICAgIHNlbGYuYWNrX2VsaWNpdGluZ19pbl9mbGlnaHQgPSAw
CisgICAgICAgIHNlbGYubGFyZ2VzdF9hY2tlZF9wYWNrZXQgPSAwCisgICAgICAgIHNlbGYubG9z
c190aW1lOiBPcHRpb25hbFtmbG9hdF0gPSBOb25lCisgICAgICAgIHNlbGYuc2VudF9wYWNrZXRz
OiBEaWN0W2ludCwgUXVpY1NlbnRQYWNrZXRdID0ge30KKworCitjbGFzcyBRdWljUGFja2V0UGFj
ZXI6CisgICAgZGVmIF9faW5pdF9fKHNlbGYpIC0+IE5vbmU6CisgICAgICAgIHNlbGYuYnVja2V0
X21heDogZmxvYXQgPSAwLjAKKyAgICAgICAgc2VsZi5idWNrZXRfdGltZTogZmxvYXQgPSAwLjAK
KyAgICAgICAgc2VsZi5ldmFsdWF0aW9uX3RpbWU6IGZsb2F0ID0gMC4wCisgICAgICAgIHNlbGYu
cGFja2V0X3RpbWU6IE9wdGlvbmFsW2Zsb2F0XSA9IE5vbmUKKworICAgIGRlZiBuZXh0X3NlbmRf
dGltZShzZWxmLCBub3c6IGZsb2F0KSAtPiBmbG9hdDoKKyAgICAgICAgaWYgc2VsZi5wYWNrZXRf
dGltZSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHNlbGYudXBkYXRlX2J1Y2tldChub3c9bm93
KQorICAgICAgICAgICAgaWYgc2VsZi5idWNrZXRfdGltZSA8PSAwOgorICAgICAgICAgICAgICAg
IHJldHVybiBub3cgKyBzZWxmLnBhY2tldF90aW1lCisgICAgICAgIHJldHVybiBOb25lCisKKyAg
ICBkZWYgdXBkYXRlX2FmdGVyX3NlbmQoc2VsZiwgbm93OiBmbG9hdCkgLT4gTm9uZToKKyAgICAg
ICAgaWYgc2VsZi5wYWNrZXRfdGltZSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHNlbGYudXBk
YXRlX2J1Y2tldChub3c9bm93KQorICAgICAgICAgICAgaWYgc2VsZi5idWNrZXRfdGltZSA8IHNl
bGYucGFja2V0X3RpbWU6CisgICAgICAgICAgICAgICAgc2VsZi5idWNrZXRfdGltZSA9IDAuMAor
ICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBzZWxmLmJ1Y2tldF90aW1lIC09IHNl
bGYucGFja2V0X3RpbWUKKworICAgIGRlZiB1cGRhdGVfYnVja2V0KHNlbGYsIG5vdzogZmxvYXQp
IC0+IE5vbmU6CisgICAgICAgIGlmIG5vdyA+IHNlbGYuZXZhbHVhdGlvbl90aW1lOgorICAgICAg
ICAgICAgc2VsZi5idWNrZXRfdGltZSA9IG1pbigKKyAgICAgICAgICAgICAgICBzZWxmLmJ1Y2tl
dF90aW1lICsgKG5vdyAtIHNlbGYuZXZhbHVhdGlvbl90aW1lKSwgc2VsZi5idWNrZXRfbWF4Cisg
ICAgICAgICAgICApCisgICAgICAgICAgICBzZWxmLmV2YWx1YXRpb25fdGltZSA9IG5vdworCisg
ICAgZGVmIHVwZGF0ZV9yYXRlKHNlbGYsIGNvbmdlc3Rpb25fd2luZG93OiBpbnQsIHNtb290aGVk
X3J0dDogZmxvYXQpIC0+IE5vbmU6CisgICAgICAgIHBhY2luZ19yYXRlID0gY29uZ2VzdGlvbl93
aW5kb3cgLyBtYXgoc21vb3RoZWRfcnR0LCBLX01JQ1JPX1NFQ09ORCkKKyAgICAgICAgc2VsZi5w
YWNrZXRfdGltZSA9IG1heCgKKyAgICAgICAgICAgIEtfTUlDUk9fU0VDT05ELCBtaW4oS19NQVhf
REFUQUdSQU1fU0laRSAvIHBhY2luZ19yYXRlLCBLX1NFQ09ORCkKKyAgICAgICAgKQorCisgICAg
ICAgIHNlbGYuYnVja2V0X21heCA9ICgKKyAgICAgICAgICAgIG1heCgKKyAgICAgICAgICAgICAg
ICAyICogS19NQVhfREFUQUdSQU1fU0laRSwKKyAgICAgICAgICAgICAgICBtaW4oY29uZ2VzdGlv
bl93aW5kb3cgLy8gNCwgMTYgKiBLX01BWF9EQVRBR1JBTV9TSVpFKSwKKyAgICAgICAgICAgICkK
KyAgICAgICAgICAgIC8gcGFjaW5nX3JhdGUKKyAgICAgICAgKQorICAgICAgICBpZiBzZWxmLmJ1
Y2tldF90aW1lID4gc2VsZi5idWNrZXRfbWF4OgorICAgICAgICAgICAgc2VsZi5idWNrZXRfdGlt
ZSA9IHNlbGYuYnVja2V0X21heAorCisKK2NsYXNzIFF1aWNDb25nZXN0aW9uQ29udHJvbDoKKyAg
ICAiIiIKKyAgICBOZXcgUmVubyBjb25nZXN0aW9uIGNvbnRyb2wuCisgICAgIiIiCisKKyAgICBk
ZWYgX19pbml0X18oc2VsZikgLT4gTm9uZToKKyAgICAgICAgc2VsZi5ieXRlc19pbl9mbGlnaHQg
PSAwCisgICAgICAgIHNlbGYuY29uZ2VzdGlvbl93aW5kb3cgPSBLX0lOSVRJQUxfV0lORE9XCisg
ICAgICAgIHNlbGYuX2Nvbmdlc3Rpb25fcmVjb3Zlcnlfc3RhcnRfdGltZSA9IDAuMAorICAgICAg
ICBzZWxmLl9jb25nZXN0aW9uX3N0YXNoID0gMAorICAgICAgICBzZWxmLl9ydHRfbW9uaXRvciA9
IFF1aWNSdHRNb25pdG9yKCkKKyAgICAgICAgc2VsZi5zc3RocmVzaDogT3B0aW9uYWxbaW50XSA9
IE5vbmUKKworICAgIGRlZiBvbl9wYWNrZXRfYWNrZWQoc2VsZiwgcGFja2V0OiBRdWljU2VudFBh
Y2tldCkgLT4gTm9uZToKKyAgICAgICAgc2VsZi5ieXRlc19pbl9mbGlnaHQgLT0gcGFja2V0LnNl
bnRfYnl0ZXMKKworICAgICAgICAjIGRvbid0IGluY3JlYXNlIHdpbmRvdyBpbiBjb25nZXN0aW9u
IHJlY292ZXJ5CisgICAgICAgIGlmIHBhY2tldC5zZW50X3RpbWUgPD0gc2VsZi5fY29uZ2VzdGlv
bl9yZWNvdmVyeV9zdGFydF90aW1lOgorICAgICAgICAgICAgcmV0dXJuCisKKyAgICAgICAgaWYg
c2VsZi5zc3RocmVzaCBpcyBOb25lIG9yIHNlbGYuY29uZ2VzdGlvbl93aW5kb3cgPCBzZWxmLnNz
dGhyZXNoOgorICAgICAgICAgICAgIyBzbG93IHN0YXJ0CisgICAgICAgICAgICBzZWxmLmNvbmdl
c3Rpb25fd2luZG93ICs9IHBhY2tldC5zZW50X2J5dGVzCisgICAgICAgIGVsc2U6CisgICAgICAg
ICAgICAjIGNvbmdlc3Rpb24gYXZvaWRhbmNlCisgICAgICAgICAgICBzZWxmLl9jb25nZXN0aW9u
X3N0YXNoICs9IHBhY2tldC5zZW50X2J5dGVzCisgICAgICAgICAgICBjb3VudCA9IHNlbGYuX2Nv
bmdlc3Rpb25fc3Rhc2ggLy8gc2VsZi5jb25nZXN0aW9uX3dpbmRvdworICAgICAgICAgICAgaWYg
Y291bnQ6CisgICAgICAgICAgICAgICAgc2VsZi5fY29uZ2VzdGlvbl9zdGFzaCAtPSBjb3VudCAq
IHNlbGYuY29uZ2VzdGlvbl93aW5kb3cKKyAgICAgICAgICAgICAgICBzZWxmLmNvbmdlc3Rpb25f
d2luZG93ICs9IGNvdW50ICogS19NQVhfREFUQUdSQU1fU0laRQorCisgICAgZGVmIG9uX3BhY2tl
dF9zZW50KHNlbGYsIHBhY2tldDogUXVpY1NlbnRQYWNrZXQpIC0+IE5vbmU6CisgICAgICAgIHNl
bGYuYnl0ZXNfaW5fZmxpZ2h0ICs9IHBhY2tldC5zZW50X2J5dGVzCisKKyAgICBkZWYgb25fcGFj
a2V0c19leHBpcmVkKHNlbGYsIHBhY2tldHM6IEl0ZXJhYmxlW1F1aWNTZW50UGFja2V0XSkgLT4g
Tm9uZToKKyAgICAgICAgZm9yIHBhY2tldCBpbiBwYWNrZXRzOgorICAgICAgICAgICAgc2VsZi5i
eXRlc19pbl9mbGlnaHQgLT0gcGFja2V0LnNlbnRfYnl0ZXMKKworICAgIGRlZiBvbl9wYWNrZXRz
X2xvc3Qoc2VsZiwgcGFja2V0czogSXRlcmFibGVbUXVpY1NlbnRQYWNrZXRdLCBub3c6IGZsb2F0
KSAtPiBOb25lOgorICAgICAgICBsb3N0X2xhcmdlc3RfdGltZSA9IDAuMAorICAgICAgICBmb3Ig
cGFja2V0IGluIHBhY2tldHM6CisgICAgICAgICAgICBzZWxmLmJ5dGVzX2luX2ZsaWdodCAtPSBw
YWNrZXQuc2VudF9ieXRlcworICAgICAgICAgICAgbG9zdF9sYXJnZXN0X3RpbWUgPSBwYWNrZXQu
c2VudF90aW1lCisKKyAgICAgICAgIyBzdGFydCBhIG5ldyBjb25nZXN0aW9uIGV2ZW50IGlmIHBh
Y2tldCB3YXMgc2VudCBhZnRlciB0aGUKKyAgICAgICAgIyBzdGFydCBvZiB0aGUgcHJldmlvdXMg
Y29uZ2VzdGlvbiByZWNvdmVyeSBwZXJpb2QuCisgICAgICAgIGlmIGxvc3RfbGFyZ2VzdF90aW1l
ID4gc2VsZi5fY29uZ2VzdGlvbl9yZWNvdmVyeV9zdGFydF90aW1lOgorICAgICAgICAgICAgc2Vs
Zi5fY29uZ2VzdGlvbl9yZWNvdmVyeV9zdGFydF90aW1lID0gbm93CisgICAgICAgICAgICBzZWxm
LmNvbmdlc3Rpb25fd2luZG93ID0gbWF4KAorICAgICAgICAgICAgICAgIGludChzZWxmLmNvbmdl
c3Rpb25fd2luZG93ICogS19MT1NTX1JFRFVDVElPTl9GQUNUT1IpLCBLX01JTklNVU1fV0lORE9X
CisgICAgICAgICAgICApCisgICAgICAgICAgICBzZWxmLnNzdGhyZXNoID0gc2VsZi5jb25nZXN0
aW9uX3dpbmRvdworCisgICAgICAgICMgVE9ETyA6IGNvbGxhcHNlIGNvbmdlc3Rpb24gd2luZG93
IGlmIHBlcnNpc3RlbnQgY29uZ2VzdGlvbgorCisgICAgZGVmIG9uX3J0dF9tZWFzdXJlbWVudChz
ZWxmLCBsYXRlc3RfcnR0OiBmbG9hdCwgbm93OiBmbG9hdCkgLT4gTm9uZToKKyAgICAgICAgIyBj
aGVjayB3aGV0aGVyIHdlIHNob3VsZCBleGl0IHNsb3cgc3RhcnQKKyAgICAgICAgaWYgc2VsZi5z
c3RocmVzaCBpcyBOb25lIGFuZCBzZWxmLl9ydHRfbW9uaXRvci5pc19ydHRfaW5jcmVhc2luZygK
KyAgICAgICAgICAgIGxhdGVzdF9ydHQsIG5vdworICAgICAgICApOgorICAgICAgICAgICAgc2Vs
Zi5zc3RocmVzaCA9IHNlbGYuY29uZ2VzdGlvbl93aW5kb3cKKworCitjbGFzcyBRdWljUGFja2V0
UmVjb3Zlcnk6CisgICAgIiIiCisgICAgUGFja2V0IGxvc3MgYW5kIGNvbmdlc3Rpb24gY29udHJv
bGxlci4KKyAgICAiIiIKKworICAgIGRlZiBfX2luaXRfXygKKyAgICAgICAgc2VsZiwKKyAgICAg
ICAgaXNfY2xpZW50X3dpdGhvdXRfMXJ0dDogYm9vbCwKKyAgICAgICAgc2VuZF9wcm9iZTogQ2Fs
bGFibGVbW10sIE5vbmVdLAorICAgICAgICBxdWljX2xvZ2dlcjogT3B0aW9uYWxbUXVpY0xvZ2dl
clRyYWNlXSA9IE5vbmUsCisgICAgKSAtPiBOb25lOgorICAgICAgICBzZWxmLmlzX2NsaWVudF93
aXRob3V0XzFydHQgPSBpc19jbGllbnRfd2l0aG91dF8xcnR0CisgICAgICAgIHNlbGYubWF4X2Fj
a19kZWxheSA9IDAuMDI1CisgICAgICAgIHNlbGYuc3BhY2VzOiBMaXN0W1F1aWNQYWNrZXRTcGFj
ZV0gPSBbXQorCisgICAgICAgICMgY2FsbGJhY2tzCisgICAgICAgIHNlbGYuX3F1aWNfbG9nZ2Vy
ID0gcXVpY19sb2dnZXIKKyAgICAgICAgc2VsZi5fc2VuZF9wcm9iZSA9IHNlbmRfcHJvYmUKKwor
ICAgICAgICAjIGxvc3MgZGV0ZWN0aW9uCisgICAgICAgIHNlbGYuX3B0b19jb3VudCA9IDAKKyAg
ICAgICAgc2VsZi5fcnR0X2luaXRpYWxpemVkID0gRmFsc2UKKyAgICAgICAgc2VsZi5fcnR0X2xh
dGVzdCA9IDAuMAorICAgICAgICBzZWxmLl9ydHRfbWluID0gbWF0aC5pbmYKKyAgICAgICAgc2Vs
Zi5fcnR0X3Ntb290aGVkID0gMC4wCisgICAgICAgIHNlbGYuX3J0dF92YXJpYW5jZSA9IDAuMAor
ICAgICAgICBzZWxmLl90aW1lX29mX2xhc3Rfc2VudF9hY2tfZWxpY2l0aW5nX3BhY2tldCA9IDAu
MAorCisgICAgICAgICMgY29uZ2VzdGlvbiBjb250cm9sCisgICAgICAgIHNlbGYuX2NjID0gUXVp
Y0Nvbmdlc3Rpb25Db250cm9sKCkKKyAgICAgICAgc2VsZi5fcGFjZXIgPSBRdWljUGFja2V0UGFj
ZXIoKQorCisgICAgQHByb3BlcnR5CisgICAgZGVmIGJ5dGVzX2luX2ZsaWdodChzZWxmKSAtPiBp
bnQ6CisgICAgICAgIHJldHVybiBzZWxmLl9jYy5ieXRlc19pbl9mbGlnaHQKKworICAgIEBwcm9w
ZXJ0eQorICAgIGRlZiBjb25nZXN0aW9uX3dpbmRvdyhzZWxmKSAtPiBpbnQ6CisgICAgICAgIHJl
dHVybiBzZWxmLl9jYy5jb25nZXN0aW9uX3dpbmRvdworCisgICAgZGVmIGRpc2NhcmRfc3BhY2Uo
c2VsZiwgc3BhY2U6IFF1aWNQYWNrZXRTcGFjZSkgLT4gTm9uZToKKyAgICAgICAgYXNzZXJ0IHNw
YWNlIGluIHNlbGYuc3BhY2VzCisKKyAgICAgICAgc2VsZi5fY2Mub25fcGFja2V0c19leHBpcmVk
KAorICAgICAgICAgICAgZmlsdGVyKGxhbWJkYSB4OiB4LmluX2ZsaWdodCwgc3BhY2Uuc2VudF9w
YWNrZXRzLnZhbHVlcygpKQorICAgICAgICApCisgICAgICAgIHNwYWNlLnNlbnRfcGFja2V0cy5j
bGVhcigpCisKKyAgICAgICAgc3BhY2UuYWNrX2F0ID0gTm9uZQorICAgICAgICBzcGFjZS5hY2tf
ZWxpY2l0aW5nX2luX2ZsaWdodCA9IDAKKyAgICAgICAgc3BhY2UubG9zc190aW1lID0gTm9uZQor
CisgICAgICAgIGlmIHNlbGYuX3F1aWNfbG9nZ2VyIGlzIG5vdCBOb25lOgorICAgICAgICAgICAg
c2VsZi5fbG9nX21ldHJpY3NfdXBkYXRlZCgpCisKKyAgICBkZWYgZ2V0X2VhcmxpZXN0X2xvc3Nf
c3BhY2Uoc2VsZikgLT4gT3B0aW9uYWxbUXVpY1BhY2tldFNwYWNlXToKKyAgICAgICAgbG9zc19z
cGFjZSA9IE5vbmUKKyAgICAgICAgZm9yIHNwYWNlIGluIHNlbGYuc3BhY2VzOgorICAgICAgICAg
ICAgaWYgc3BhY2UubG9zc190aW1lIGlzIG5vdCBOb25lIGFuZCAoCisgICAgICAgICAgICAgICAg
bG9zc19zcGFjZSBpcyBOb25lIG9yIHNwYWNlLmxvc3NfdGltZSA8IGxvc3Nfc3BhY2UubG9zc190
aW1lCisgICAgICAgICAgICApOgorICAgICAgICAgICAgICAgIGxvc3Nfc3BhY2UgPSBzcGFjZQor
ICAgICAgICByZXR1cm4gbG9zc19zcGFjZQorCisgICAgZGVmIGdldF9sb3NzX2RldGVjdGlvbl90
aW1lKHNlbGYpIC0+IGZsb2F0OgorICAgICAgICAjIGxvc3MgdGltZXIKKyAgICAgICAgbG9zc19z
cGFjZSA9IHNlbGYuZ2V0X2VhcmxpZXN0X2xvc3Nfc3BhY2UoKQorICAgICAgICBpZiBsb3NzX3Nw
YWNlIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgcmV0dXJuIGxvc3Nfc3BhY2UubG9zc190aW1l
CisKKyAgICAgICAgIyBwYWNrZXQgdGltZXIKKyAgICAgICAgaWYgKAorICAgICAgICAgICAgc2Vs
Zi5pc19jbGllbnRfd2l0aG91dF8xcnR0CisgICAgICAgICAgICBvciBzdW0oc3BhY2UuYWNrX2Vs
aWNpdGluZ19pbl9mbGlnaHQgZm9yIHNwYWNlIGluIHNlbGYuc3BhY2VzKSA+IDAKKyAgICAgICAg
KToKKyAgICAgICAgICAgIGlmIG5vdCBzZWxmLl9ydHRfaW5pdGlhbGl6ZWQ6CisgICAgICAgICAg
ICAgICAgdGltZW91dCA9IDIgKiBLX0lOSVRJQUxfUlRUICogKDIgKiogc2VsZi5fcHRvX2NvdW50
KQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICB0aW1lb3V0ID0gc2VsZi5nZXRf
cHJvYmVfdGltZW91dCgpICogKDIgKiogc2VsZi5fcHRvX2NvdW50KQorICAgICAgICAgICAgcmV0
dXJuIHNlbGYuX3RpbWVfb2ZfbGFzdF9zZW50X2Fja19lbGljaXRpbmdfcGFja2V0ICsgdGltZW91
dAorCisgICAgICAgIHJldHVybiBOb25lCisKKyAgICBkZWYgZ2V0X3Byb2JlX3RpbWVvdXQoc2Vs
ZikgLT4gZmxvYXQ6CisgICAgICAgIHJldHVybiAoCisgICAgICAgICAgICBzZWxmLl9ydHRfc21v
b3RoZWQKKyAgICAgICAgICAgICsgbWF4KDQgKiBzZWxmLl9ydHRfdmFyaWFuY2UsIEtfR1JBTlVM
QVJJVFkpCisgICAgICAgICAgICArIHNlbGYubWF4X2Fja19kZWxheQorICAgICAgICApCisKKyAg
ICBkZWYgb25fYWNrX3JlY2VpdmVkKAorICAgICAgICBzZWxmLAorICAgICAgICBzcGFjZTogUXVp
Y1BhY2tldFNwYWNlLAorICAgICAgICBhY2tfcmFuZ2VzZXQ6IFJhbmdlU2V0LAorICAgICAgICBh
Y2tfZGVsYXk6IGZsb2F0LAorICAgICAgICBub3c6IGZsb2F0LAorICAgICkgLT4gTm9uZToKKyAg
ICAgICAgIiIiCisgICAgICAgIFVwZGF0ZSBtZXRyaWNzIGFzIHRoZSByZXN1bHQgb2YgYW4gQUNL
IGJlaW5nIHJlY2VpdmVkLgorICAgICAgICAiIiIKKyAgICAgICAgaXNfYWNrX2VsaWNpdGluZyA9
IEZhbHNlCisgICAgICAgIGxhcmdlc3RfYWNrZWQgPSBhY2tfcmFuZ2VzZXQuYm91bmRzKCkuc3Rv
cCAtIDEKKyAgICAgICAgbGFyZ2VzdF9uZXdseV9hY2tlZCA9IE5vbmUKKyAgICAgICAgbGFyZ2Vz
dF9zZW50X3RpbWUgPSBOb25lCisKKyAgICAgICAgaWYgbGFyZ2VzdF9hY2tlZCA+IHNwYWNlLmxh
cmdlc3RfYWNrZWRfcGFja2V0OgorICAgICAgICAgICAgc3BhY2UubGFyZ2VzdF9hY2tlZF9wYWNr
ZXQgPSBsYXJnZXN0X2Fja2VkCisKKyAgICAgICAgZm9yIHBhY2tldF9udW1iZXIgaW4gc29ydGVk
KHNwYWNlLnNlbnRfcGFja2V0cy5rZXlzKCkpOgorICAgICAgICAgICAgaWYgcGFja2V0X251bWJl
ciA+IGxhcmdlc3RfYWNrZWQ6CisgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgIGlm
IHBhY2tldF9udW1iZXIgaW4gYWNrX3Jhbmdlc2V0OgorICAgICAgICAgICAgICAgICMgcmVtb3Zl
IHBhY2tldCBhbmQgdXBkYXRlIGNvdW50ZXJzCisgICAgICAgICAgICAgICAgcGFja2V0ID0gc3Bh
Y2Uuc2VudF9wYWNrZXRzLnBvcChwYWNrZXRfbnVtYmVyKQorICAgICAgICAgICAgICAgIGlmIHBh
Y2tldC5pc19hY2tfZWxpY2l0aW5nOgorICAgICAgICAgICAgICAgICAgICBpc19hY2tfZWxpY2l0
aW5nID0gVHJ1ZQorICAgICAgICAgICAgICAgICAgICBzcGFjZS5hY2tfZWxpY2l0aW5nX2luX2Zs
aWdodCAtPSAxCisgICAgICAgICAgICAgICAgaWYgcGFja2V0LmluX2ZsaWdodDoKKyAgICAgICAg
ICAgICAgICAgICAgc2VsZi5fY2Mub25fcGFja2V0X2Fja2VkKHBhY2tldCkKKyAgICAgICAgICAg
ICAgICBsYXJnZXN0X25ld2x5X2Fja2VkID0gcGFja2V0X251bWJlcgorICAgICAgICAgICAgICAg
IGxhcmdlc3Rfc2VudF90aW1lID0gcGFja2V0LnNlbnRfdGltZQorCisgICAgICAgICAgICAgICAg
IyB0cmlnZ2VyIGNhbGxiYWNrcworICAgICAgICAgICAgICAgIGZvciBoYW5kbGVyLCBhcmdzIGlu
IHBhY2tldC5kZWxpdmVyeV9oYW5kbGVyczoKKyAgICAgICAgICAgICAgICAgICAgaGFuZGxlcihR
dWljRGVsaXZlcnlTdGF0ZS5BQ0tFRCwgKmFyZ3MpCisKKyAgICAgICAgIyBub3RoaW5nIHRvIGRv
IGlmIHRoZXJlIGFyZSBubyBuZXdseSBhY2tlZCBwYWNrZXRzCisgICAgICAgIGlmIGxhcmdlc3Rf
bmV3bHlfYWNrZWQgaXMgTm9uZToKKyAgICAgICAgICAgIHJldHVybgorCisgICAgICAgIGlmIGxh
cmdlc3RfYWNrZWQgPT0gbGFyZ2VzdF9uZXdseV9hY2tlZCBhbmQgaXNfYWNrX2VsaWNpdGluZzoK
KyAgICAgICAgICAgIGxhdGVzdF9ydHQgPSBub3cgLSBsYXJnZXN0X3NlbnRfdGltZQorICAgICAg
ICAgICAgbG9nX3J0dCA9IFRydWUKKworICAgICAgICAgICAgIyBsaW1pdCBBQ0sgZGVsYXkgdG8g
bWF4X2Fja19kZWxheQorICAgICAgICAgICAgYWNrX2RlbGF5ID0gbWluKGFja19kZWxheSwgc2Vs
Zi5tYXhfYWNrX2RlbGF5KQorCisgICAgICAgICAgICAjIHVwZGF0ZSBSVFQgZXN0aW1hdGUsIHdo
aWNoIGNhbm5vdCBiZSA8IDEgbXMKKyAgICAgICAgICAgIHNlbGYuX3J0dF9sYXRlc3QgPSBtYXgo
bGF0ZXN0X3J0dCwgMC4wMDEpCisgICAgICAgICAgICBpZiBzZWxmLl9ydHRfbGF0ZXN0IDwgc2Vs
Zi5fcnR0X21pbjoKKyAgICAgICAgICAgICAgICBzZWxmLl9ydHRfbWluID0gc2VsZi5fcnR0X2xh
dGVzdAorICAgICAgICAgICAgaWYgc2VsZi5fcnR0X2xhdGVzdCA+IHNlbGYuX3J0dF9taW4gKyBh
Y2tfZGVsYXk6CisgICAgICAgICAgICAgICAgc2VsZi5fcnR0X2xhdGVzdCAtPSBhY2tfZGVsYXkK
KworICAgICAgICAgICAgaWYgbm90IHNlbGYuX3J0dF9pbml0aWFsaXplZDoKKyAgICAgICAgICAg
ICAgICBzZWxmLl9ydHRfaW5pdGlhbGl6ZWQgPSBUcnVlCisgICAgICAgICAgICAgICAgc2VsZi5f
cnR0X3ZhcmlhbmNlID0gbGF0ZXN0X3J0dCAvIDIKKyAgICAgICAgICAgICAgICBzZWxmLl9ydHRf
c21vb3RoZWQgPSBsYXRlc3RfcnR0CisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAg
IHNlbGYuX3J0dF92YXJpYW5jZSA9IDMgLyA0ICogc2VsZi5fcnR0X3ZhcmlhbmNlICsgMSAvIDQg
KiBhYnMoCisgICAgICAgICAgICAgICAgICAgIHNlbGYuX3J0dF9taW4gLSBzZWxmLl9ydHRfbGF0
ZXN0CisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgIHNlbGYuX3J0dF9zbW9vdGhl
ZCA9ICgKKyAgICAgICAgICAgICAgICAgICAgNyAvIDggKiBzZWxmLl9ydHRfc21vb3RoZWQgKyAx
IC8gOCAqIHNlbGYuX3J0dF9sYXRlc3QKKyAgICAgICAgICAgICAgICApCisKKyAgICAgICAgICAg
ICMgaW5mb3JtIGNvbmdlc3Rpb24gY29udHJvbGxlcgorICAgICAgICAgICAgc2VsZi5fY2Mub25f
cnR0X21lYXN1cmVtZW50KGxhdGVzdF9ydHQsIG5vdz1ub3cpCisgICAgICAgICAgICBzZWxmLl9w
YWNlci51cGRhdGVfcmF0ZSgKKyAgICAgICAgICAgICAgICBjb25nZXN0aW9uX3dpbmRvdz1zZWxm
Ll9jYy5jb25nZXN0aW9uX3dpbmRvdywKKyAgICAgICAgICAgICAgICBzbW9vdGhlZF9ydHQ9c2Vs
Zi5fcnR0X3Ntb290aGVkLAorICAgICAgICAgICAgKQorCisgICAgICAgIGVsc2U6CisgICAgICAg
ICAgICBsb2dfcnR0ID0gRmFsc2UKKworICAgICAgICBzZWxmLl9kZXRlY3RfbG9zcyhzcGFjZSwg
bm93PW5vdykKKworICAgICAgICBpZiBzZWxmLl9xdWljX2xvZ2dlciBpcyBub3QgTm9uZToKKyAg
ICAgICAgICAgIHNlbGYuX2xvZ19tZXRyaWNzX3VwZGF0ZWQobG9nX3J0dD1sb2dfcnR0KQorCisg
ICAgICAgIHNlbGYuX3B0b19jb3VudCA9IDAKKworICAgIGRlZiBvbl9sb3NzX2RldGVjdGlvbl90
aW1lb3V0KHNlbGYsIG5vdzogZmxvYXQpIC0+IE5vbmU6CisgICAgICAgIGxvc3Nfc3BhY2UgPSBz
ZWxmLmdldF9lYXJsaWVzdF9sb3NzX3NwYWNlKCkKKyAgICAgICAgaWYgbG9zc19zcGFjZSBpcyBu
b3QgTm9uZToKKyAgICAgICAgICAgIHNlbGYuX2RldGVjdF9sb3NzKGxvc3Nfc3BhY2UsIG5vdz1u
b3cpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLl9wdG9fY291bnQgKz0gMQorCisg
ICAgICAgICAgICAjIHJlc2NoZWR1bGUgc29tZSBkYXRhCisgICAgICAgICAgICBmb3Igc3BhY2Ug
aW4gc2VsZi5zcGFjZXM6CisgICAgICAgICAgICAgICAgc2VsZi5fb25fcGFja2V0c19sb3N0KAor
ICAgICAgICAgICAgICAgICAgICB0dXBsZSgKKyAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRl
cigKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW1iZGEgaTogaS5pc19jcnlwdG9fcGFj
a2V0LCBzcGFjZS5zZW50X3BhY2tldHMudmFsdWVzKCkKKyAgICAgICAgICAgICAgICAgICAgICAg
ICkKKyAgICAgICAgICAgICAgICAgICAgKSwKKyAgICAgICAgICAgICAgICAgICAgc3BhY2U9c3Bh
Y2UsCisgICAgICAgICAgICAgICAgICAgIG5vdz1ub3csCisgICAgICAgICAgICAgICAgKQorCisg
ICAgICAgICAgICBzZWxmLl9zZW5kX3Byb2JlKCkKKworICAgIGRlZiBvbl9wYWNrZXRfc2VudChz
ZWxmLCBwYWNrZXQ6IFF1aWNTZW50UGFja2V0LCBzcGFjZTogUXVpY1BhY2tldFNwYWNlKSAtPiBO
b25lOgorICAgICAgICBzcGFjZS5zZW50X3BhY2tldHNbcGFja2V0LnBhY2tldF9udW1iZXJdID0g
cGFja2V0CisKKyAgICAgICAgaWYgcGFja2V0LmlzX2Fja19lbGljaXRpbmc6CisgICAgICAgICAg
ICBzcGFjZS5hY2tfZWxpY2l0aW5nX2luX2ZsaWdodCArPSAxCisgICAgICAgIGlmIHBhY2tldC5p
bl9mbGlnaHQ6CisgICAgICAgICAgICBpZiBwYWNrZXQuaXNfYWNrX2VsaWNpdGluZzoKKyAgICAg
ICAgICAgICAgICBzZWxmLl90aW1lX29mX2xhc3Rfc2VudF9hY2tfZWxpY2l0aW5nX3BhY2tldCA9
IHBhY2tldC5zZW50X3RpbWUKKworICAgICAgICAgICAgIyBhZGQgcGFja2V0IHRvIGJ5dGVzIGlu
IGZsaWdodAorICAgICAgICAgICAgc2VsZi5fY2Mub25fcGFja2V0X3NlbnQocGFja2V0KQorCisg
ICAgICAgICAgICBpZiBzZWxmLl9xdWljX2xvZ2dlciBpcyBub3QgTm9uZToKKyAgICAgICAgICAg
ICAgICBzZWxmLl9sb2dfbWV0cmljc191cGRhdGVkKCkKKworICAgIGRlZiBfZGV0ZWN0X2xvc3Mo
c2VsZiwgc3BhY2U6IFF1aWNQYWNrZXRTcGFjZSwgbm93OiBmbG9hdCkgLT4gTm9uZToKKyAgICAg
ICAgIiIiCisgICAgICAgIENoZWNrIHdoZXRoZXIgYW55IHBhY2tldHMgc2hvdWxkIGJlIGRlY2xh
cmVkIGxvc3QuCisgICAgICAgICIiIgorICAgICAgICBsb3NzX2RlbGF5ID0gS19USU1FX1RIUkVT
SE9MRCAqICgKKyAgICAgICAgICAgIG1heChzZWxmLl9ydHRfbGF0ZXN0LCBzZWxmLl9ydHRfc21v
b3RoZWQpCisgICAgICAgICAgICBpZiBzZWxmLl9ydHRfaW5pdGlhbGl6ZWQKKyAgICAgICAgICAg
IGVsc2UgS19JTklUSUFMX1JUVAorICAgICAgICApCisgICAgICAgIHBhY2tldF90aHJlc2hvbGQg
PSBzcGFjZS5sYXJnZXN0X2Fja2VkX3BhY2tldCAtIEtfUEFDS0VUX1RIUkVTSE9MRAorICAgICAg
ICB0aW1lX3RocmVzaG9sZCA9IG5vdyAtIGxvc3NfZGVsYXkKKworICAgICAgICBsb3N0X3BhY2tl
dHMgPSBbXQorICAgICAgICBzcGFjZS5sb3NzX3RpbWUgPSBOb25lCisgICAgICAgIGZvciBwYWNr
ZXRfbnVtYmVyLCBwYWNrZXQgaW4gc3BhY2Uuc2VudF9wYWNrZXRzLml0ZW1zKCk6CisgICAgICAg
ICAgICBpZiBwYWNrZXRfbnVtYmVyID4gc3BhY2UubGFyZ2VzdF9hY2tlZF9wYWNrZXQ6CisgICAg
ICAgICAgICAgICAgYnJlYWsKKworICAgICAgICAgICAgaWYgcGFja2V0X251bWJlciA8PSBwYWNr
ZXRfdGhyZXNob2xkIG9yIHBhY2tldC5zZW50X3RpbWUgPD0gdGltZV90aHJlc2hvbGQ6CisgICAg
ICAgICAgICAgICAgbG9zdF9wYWNrZXRzLmFwcGVuZChwYWNrZXQpCisgICAgICAgICAgICBlbHNl
OgorICAgICAgICAgICAgICAgIHBhY2tldF9sb3NzX3RpbWUgPSBwYWNrZXQuc2VudF90aW1lICsg
bG9zc19kZWxheQorICAgICAgICAgICAgICAgIGlmIHNwYWNlLmxvc3NfdGltZSBpcyBOb25lIG9y
IHNwYWNlLmxvc3NfdGltZSA+IHBhY2tldF9sb3NzX3RpbWU6CisgICAgICAgICAgICAgICAgICAg
IHNwYWNlLmxvc3NfdGltZSA9IHBhY2tldF9sb3NzX3RpbWUKKworICAgICAgICBzZWxmLl9vbl9w
YWNrZXRzX2xvc3QobG9zdF9wYWNrZXRzLCBzcGFjZT1zcGFjZSwgbm93PW5vdykKKworICAgIGRl
ZiBfbG9nX21ldHJpY3NfdXBkYXRlZChzZWxmLCBsb2dfcnR0PUZhbHNlKSAtPiBOb25lOgorICAg
ICAgICBkYXRhID0geworICAgICAgICAgICAgImJ5dGVzX2luX2ZsaWdodCI6IHNlbGYuX2NjLmJ5
dGVzX2luX2ZsaWdodCwKKyAgICAgICAgICAgICJjd25kIjogc2VsZi5fY2MuY29uZ2VzdGlvbl93
aW5kb3csCisgICAgICAgIH0KKyAgICAgICAgaWYgc2VsZi5fY2Muc3N0aHJlc2ggaXMgbm90IE5v
bmU6CisgICAgICAgICAgICBkYXRhWyJzc3RocmVzaCJdID0gc2VsZi5fY2Muc3N0aHJlc2gKKwor
ICAgICAgICBpZiBsb2dfcnR0OgorICAgICAgICAgICAgZGF0YS51cGRhdGUoCisgICAgICAgICAg
ICAgICAgeworICAgICAgICAgICAgICAgICAgICAibGF0ZXN0X3J0dCI6IHNlbGYuX3F1aWNfbG9n
Z2VyLmVuY29kZV90aW1lKHNlbGYuX3J0dF9sYXRlc3QpLAorICAgICAgICAgICAgICAgICAgICAi
bWluX3J0dCI6IHNlbGYuX3F1aWNfbG9nZ2VyLmVuY29kZV90aW1lKHNlbGYuX3J0dF9taW4pLAor
ICAgICAgICAgICAgICAgICAgICAic21vb3RoZWRfcnR0Ijogc2VsZi5fcXVpY19sb2dnZXIuZW5j
b2RlX3RpbWUoc2VsZi5fcnR0X3Ntb290aGVkKSwKKyAgICAgICAgICAgICAgICAgICAgInJ0dF92
YXJpYW5jZSI6IHNlbGYuX3F1aWNfbG9nZ2VyLmVuY29kZV90aW1lKHNlbGYuX3J0dF92YXJpYW5j
ZSksCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgKQorCisgICAgICAgIHNlbGYuX3F1
aWNfbG9nZ2VyLmxvZ19ldmVudCgKKyAgICAgICAgICAgIGNhdGVnb3J5PSJyZWNvdmVyeSIsIGV2
ZW50PSJtZXRyaWNzX3VwZGF0ZWQiLCBkYXRhPWRhdGEKKyAgICAgICAgKQorCisgICAgZGVmIF9v
bl9wYWNrZXRzX2xvc3QoCisgICAgICAgIHNlbGYsIHBhY2tldHM6IEl0ZXJhYmxlW1F1aWNTZW50
UGFja2V0XSwgc3BhY2U6IFF1aWNQYWNrZXRTcGFjZSwgbm93OiBmbG9hdAorICAgICkgLT4gTm9u
ZToKKyAgICAgICAgbG9zdF9wYWNrZXRzX2NjID0gW10KKyAgICAgICAgZm9yIHBhY2tldCBpbiBw
YWNrZXRzOgorICAgICAgICAgICAgZGVsIHNwYWNlLnNlbnRfcGFja2V0c1twYWNrZXQucGFja2V0
X251bWJlcl0KKworICAgICAgICAgICAgaWYgcGFja2V0LmluX2ZsaWdodDoKKyAgICAgICAgICAg
ICAgICBsb3N0X3BhY2tldHNfY2MuYXBwZW5kKHBhY2tldCkKKworICAgICAgICAgICAgaWYgcGFj
a2V0LmlzX2Fja19lbGljaXRpbmc6CisgICAgICAgICAgICAgICAgc3BhY2UuYWNrX2VsaWNpdGlu
Z19pbl9mbGlnaHQgLT0gMQorCisgICAgICAgICAgICBpZiBzZWxmLl9xdWljX2xvZ2dlciBpcyBu
b3QgTm9uZToKKyAgICAgICAgICAgICAgICBzZWxmLl9xdWljX2xvZ2dlci5sb2dfZXZlbnQoCisg
ICAgICAgICAgICAgICAgICAgIGNhdGVnb3J5PSJyZWNvdmVyeSIsCisgICAgICAgICAgICAgICAg
ICAgIGV2ZW50PSJwYWNrZXRfbG9zdCIsCisgICAgICAgICAgICAgICAgICAgIGRhdGE9eworICAg
ICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiBzZWxmLl9xdWljX2xvZ2dlci5wYWNrZXRfdHlw
ZShwYWNrZXQucGFja2V0X3R5cGUpLAorICAgICAgICAgICAgICAgICAgICAgICAgInBhY2tldF9u
dW1iZXIiOiBzdHIocGFja2V0LnBhY2tldF9udW1iZXIpLAorICAgICAgICAgICAgICAgICAgICB9
LAorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICBzZWxmLl9sb2dfbWV0cmljc191
cGRhdGVkKCkKKworICAgICAgICAgICAgIyB0cmlnZ2VyIGNhbGxiYWNrcworICAgICAgICAgICAg
Zm9yIGhhbmRsZXIsIGFyZ3MgaW4gcGFja2V0LmRlbGl2ZXJ5X2hhbmRsZXJzOgorICAgICAgICAg
ICAgICAgIGhhbmRsZXIoUXVpY0RlbGl2ZXJ5U3RhdGUuTE9TVCwgKmFyZ3MpCisKKyAgICAgICAg
IyBpbmZvcm0gY29uZ2VzdGlvbiBjb250cm9sbGVyCisgICAgICAgIGlmIGxvc3RfcGFja2V0c19j
YzoKKyAgICAgICAgICAgIHNlbGYuX2NjLm9uX3BhY2tldHNfbG9zdChsb3N0X3BhY2tldHNfY2Ms
IG5vdz1ub3cpCisgICAgICAgICAgICBzZWxmLl9wYWNlci51cGRhdGVfcmF0ZSgKKyAgICAgICAg
ICAgICAgICBjb25nZXN0aW9uX3dpbmRvdz1zZWxmLl9jYy5jb25nZXN0aW9uX3dpbmRvdywKKyAg
ICAgICAgICAgICAgICBzbW9vdGhlZF9ydHQ9c2VsZi5fcnR0X3Ntb290aGVkLAorICAgICAgICAg
ICAgKQorICAgICAgICAgICAgaWYgc2VsZi5fcXVpY19sb2dnZXIgaXMgbm90IE5vbmU6CisgICAg
ICAgICAgICAgICAgc2VsZi5fbG9nX21ldHJpY3NfdXBkYXRlZCgpCisKKworY2xhc3MgUXVpY1J0
dE1vbml0b3I6CisgICAgIiIiCisgICAgUm91bmR0cmlwIHRpbWUgbW9uaXRvciBmb3IgSHlTdGFy
dC4KKyAgICAiIiIKKworICAgIGRlZiBfX2luaXRfXyhzZWxmKSAtPiBOb25lOgorICAgICAgICBz
ZWxmLl9pbmNyZWFzZXMgPSAwCisgICAgICAgIHNlbGYuX2xhc3RfdGltZSA9IE5vbmUKKyAgICAg
ICAgc2VsZi5fcmVhZHkgPSBGYWxzZQorICAgICAgICBzZWxmLl9zaXplID0gNQorCisgICAgICAg
IHNlbGYuX2ZpbHRlcmVkX21pbjogT3B0aW9uYWxbZmxvYXRdID0gTm9uZQorCisgICAgICAgIHNl
bGYuX3NhbXBsZV9pZHggPSAwCisgICAgICAgIHNlbGYuX3NhbXBsZV9tYXg6IE9wdGlvbmFsW2Zs
b2F0XSA9IE5vbmUKKyAgICAgICAgc2VsZi5fc2FtcGxlX21pbjogT3B0aW9uYWxbZmxvYXRdID0g
Tm9uZQorICAgICAgICBzZWxmLl9zYW1wbGVfdGltZSA9IDAuMAorICAgICAgICBzZWxmLl9zYW1w
bGVzID0gWzAuMCBmb3IgaSBpbiByYW5nZShzZWxmLl9zaXplKV0KKworICAgIGRlZiBhZGRfcnR0
KHNlbGYsIHJ0dDogZmxvYXQpIC0+IE5vbmU6CisgICAgICAgIHNlbGYuX3NhbXBsZXNbc2VsZi5f
c2FtcGxlX2lkeF0gPSBydHQKKyAgICAgICAgc2VsZi5fc2FtcGxlX2lkeCArPSAxCisKKyAgICAg
ICAgaWYgc2VsZi5fc2FtcGxlX2lkeCA+PSBzZWxmLl9zaXplOgorICAgICAgICAgICAgc2VsZi5f
c2FtcGxlX2lkeCA9IDAKKyAgICAgICAgICAgIHNlbGYuX3JlYWR5ID0gVHJ1ZQorCisgICAgICAg
IGlmIHNlbGYuX3JlYWR5OgorICAgICAgICAgICAgc2VsZi5fc2FtcGxlX21heCA9IHNlbGYuX3Nh
bXBsZXNbMF0KKyAgICAgICAgICAgIHNlbGYuX3NhbXBsZV9taW4gPSBzZWxmLl9zYW1wbGVzWzBd
CisgICAgICAgICAgICBmb3Igc2FtcGxlIGluIHNlbGYuX3NhbXBsZXNbMTpdOgorICAgICAgICAg
ICAgICAgIGlmIHNhbXBsZSA8IHNlbGYuX3NhbXBsZV9taW46CisgICAgICAgICAgICAgICAgICAg
IHNlbGYuX3NhbXBsZV9taW4gPSBzYW1wbGUKKyAgICAgICAgICAgICAgICBlbGlmIHNhbXBsZSA+
IHNlbGYuX3NhbXBsZV9tYXg6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuX3NhbXBsZV9tYXgg
PSBzYW1wbGUKKworICAgIGRlZiBpc19ydHRfaW5jcmVhc2luZyhzZWxmLCBydHQ6IGZsb2F0LCBu
b3c6IGZsb2F0KSAtPiBib29sOgorICAgICAgICBpZiBub3cgPiBzZWxmLl9zYW1wbGVfdGltZSAr
IEtfR1JBTlVMQVJJVFk6CisgICAgICAgICAgICBzZWxmLmFkZF9ydHQocnR0KQorICAgICAgICAg
ICAgc2VsZi5fc2FtcGxlX3RpbWUgPSBub3cKKworICAgICAgICAgICAgaWYgc2VsZi5fcmVhZHk6
CisgICAgICAgICAgICAgICAgaWYgc2VsZi5fZmlsdGVyZWRfbWluIGlzIE5vbmUgb3Igc2VsZi5f
ZmlsdGVyZWRfbWluID4gc2VsZi5fc2FtcGxlX21heDoKKyAgICAgICAgICAgICAgICAgICAgc2Vs
Zi5fZmlsdGVyZWRfbWluID0gc2VsZi5fc2FtcGxlX21heAorCisgICAgICAgICAgICAgICAgZGVs
dGEgPSBzZWxmLl9zYW1wbGVfbWluIC0gc2VsZi5fZmlsdGVyZWRfbWluCisgICAgICAgICAgICAg
ICAgaWYgZGVsdGEgKiA0ID49IHNlbGYuX2ZpbHRlcmVkX21pbjoKKyAgICAgICAgICAgICAgICAg
ICAgc2VsZi5faW5jcmVhc2VzICs9IDEKKyAgICAgICAgICAgICAgICAgICAgaWYgc2VsZi5faW5j
cmVhc2VzID49IHNlbGYuX3NpemU6CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gVHJ1
ZQorICAgICAgICAgICAgICAgIGVsaWYgZGVsdGEgPiAwOgorICAgICAgICAgICAgICAgICAgICBz
ZWxmLl9pbmNyZWFzZXMgPSAwCisgICAgICAgIHJldHVybiBGYWxzZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0
eS9haW9xdWljL3NyYy9haW9xdWljL3F1aWMvcmV0cnkucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvc3JjL2Fp
b3F1aWMvcXVpYy9yZXRyeS5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNDVjM2E1YzU1YzlhMzk1ODkzOThjOTdj
ZWU5NjVjMmIzNzA2NjU2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3NyYy9haW9x
dWljL3F1aWMvcmV0cnkucHkKQEAgLTAsMCArMSwzOSBAQAoraW1wb3J0IGlwYWRkcmVzcworCitm
cm9tIGNyeXB0b2dyYXBoeS5oYXptYXQuYmFja2VuZHMgaW1wb3J0IGRlZmF1bHRfYmFja2VuZAor
ZnJvbSBjcnlwdG9ncmFwaHkuaGF6bWF0LnByaW1pdGl2ZXMgaW1wb3J0IGhhc2hlcworZnJvbSBj
cnlwdG9ncmFwaHkuaGF6bWF0LnByaW1pdGl2ZXMuYXN5bW1ldHJpYyBpbXBvcnQgcGFkZGluZywg
cnNhCisKK2Zyb20gLmNvbm5lY3Rpb24gaW1wb3J0IE5ldHdvcmtBZGRyZXNzCisKKworZGVmIGVu
Y29kZV9hZGRyZXNzKGFkZHI6IE5ldHdvcmtBZGRyZXNzKSAtPiBieXRlczoKKyAgICByZXR1cm4g
aXBhZGRyZXNzLmlwX2FkZHJlc3MoYWRkclswXSkucGFja2VkICsgYnl0ZXMoW2FkZHJbMV0gPj4g
OCwgYWRkclsxXSAmIDB4RkZdKQorCisKK2NsYXNzIFF1aWNSZXRyeVRva2VuSGFuZGxlcjoKKyAg
ICBkZWYgX19pbml0X18oc2VsZikgLT4gTm9uZToKKyAgICAgICAgc2VsZi5fa2V5ID0gcnNhLmdl
bmVyYXRlX3ByaXZhdGVfa2V5KAorICAgICAgICAgICAgcHVibGljX2V4cG9uZW50PTY1NTM3LCBr
ZXlfc2l6ZT0xMDI0LCBiYWNrZW5kPWRlZmF1bHRfYmFja2VuZCgpCisgICAgICAgICkKKworICAg
IGRlZiBjcmVhdGVfdG9rZW4oc2VsZiwgYWRkcjogTmV0d29ya0FkZHJlc3MsIGRlc3RpbmF0aW9u
X2NpZDogYnl0ZXMpIC0+IGJ5dGVzOgorICAgICAgICByZXRyeV9tZXNzYWdlID0gZW5jb2RlX2Fk
ZHJlc3MoYWRkcikgKyBiInwiICsgZGVzdGluYXRpb25fY2lkCisgICAgICAgIHJldHVybiBzZWxm
Ll9rZXkucHVibGljX2tleSgpLmVuY3J5cHQoCisgICAgICAgICAgICByZXRyeV9tZXNzYWdlLAor
ICAgICAgICAgICAgcGFkZGluZy5PQUVQKAorICAgICAgICAgICAgICAgIG1nZj1wYWRkaW5nLk1H
RjEoaGFzaGVzLlNIQTI1NigpKSwgYWxnb3JpdGhtPWhhc2hlcy5TSEEyNTYoKSwgbGFiZWw9Tm9u
ZQorICAgICAgICAgICAgKSwKKyAgICAgICAgKQorCisgICAgZGVmIHZhbGlkYXRlX3Rva2VuKHNl
bGYsIGFkZHI6IE5ldHdvcmtBZGRyZXNzLCB0b2tlbjogYnl0ZXMpIC0+IGJ5dGVzOgorICAgICAg
ICByZXRyeV9tZXNzYWdlID0gc2VsZi5fa2V5LmRlY3J5cHQoCisgICAgICAgICAgICB0b2tlbiwK
KyAgICAgICAgICAgIHBhZGRpbmcuT0FFUCgKKyAgICAgICAgICAgICAgICBtZ2Y9cGFkZGluZy5N
R0YxKGhhc2hlcy5TSEEyNTYoKSksIGFsZ29yaXRobT1oYXNoZXMuU0hBMjU2KCksIGxhYmVsPU5v
bmUKKyAgICAgICAgICAgICksCisgICAgICAgICkKKyAgICAgICAgZW5jb2RlZF9hZGRyLCBvcmln
aW5hbF9jb25uZWN0aW9uX2lkID0gcmV0cnlfbWVzc2FnZS5zcGxpdChiInwiLCBtYXhzcGxpdD0x
KQorICAgICAgICBpZiBlbmNvZGVkX2FkZHIgIT0gZW5jb2RlX2FkZHJlc3MoYWRkcik6CisgICAg
ICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJSZW1vdGUgYWRkcmVzcyBkb2VzIG5vdCBtYXRjaC4i
KQorICAgICAgICByZXR1cm4gb3JpZ2luYWxfY29ubmVjdGlvbl9pZApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0
eS9haW9xdWljL3NyYy9haW9xdWljL3F1aWMvc3RyZWFtLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3NyYy9h
aW9xdWljL3F1aWMvc3RyZWFtLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE2MjM2ODZmNWQ2YmNkNmY5MGI0ZTUz
ZjM3MTRmM2JmOWI2ZjYxNjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvc3JjL2Fp
b3F1aWMvcXVpYy9zdHJlYW0ucHkKQEAgLTAsMCArMSwyMTQgQEAKK2Zyb20gdHlwaW5nIGltcG9y
dCBPcHRpb25hbAorCitmcm9tIC4gaW1wb3J0IGV2ZW50cworZnJvbSAucGFja2V0IGltcG9ydCBR
dWljU3RyZWFtRnJhbWUKK2Zyb20gLnBhY2tldF9idWlsZGVyIGltcG9ydCBRdWljRGVsaXZlcnlT
dGF0ZQorZnJvbSAucmFuZ2VzZXQgaW1wb3J0IFJhbmdlU2V0CisKKworY2xhc3MgUXVpY1N0cmVh
bToKKyAgICBkZWYgX19pbml0X18oCisgICAgICAgIHNlbGYsCisgICAgICAgIHN0cmVhbV9pZDog
T3B0aW9uYWxbaW50XSA9IE5vbmUsCisgICAgICAgIG1heF9zdHJlYW1fZGF0YV9sb2NhbDogaW50
ID0gMCwKKyAgICAgICAgbWF4X3N0cmVhbV9kYXRhX3JlbW90ZTogaW50ID0gMCwKKyAgICApIC0+
IE5vbmU6CisgICAgICAgIHNlbGYuaXNfYmxvY2tlZCA9IEZhbHNlCisgICAgICAgIHNlbGYubWF4
X3N0cmVhbV9kYXRhX2xvY2FsID0gbWF4X3N0cmVhbV9kYXRhX2xvY2FsCisgICAgICAgIHNlbGYu
bWF4X3N0cmVhbV9kYXRhX2xvY2FsX3NlbnQgPSBtYXhfc3RyZWFtX2RhdGFfbG9jYWwKKyAgICAg
ICAgc2VsZi5tYXhfc3RyZWFtX2RhdGFfcmVtb3RlID0gbWF4X3N0cmVhbV9kYXRhX3JlbW90ZQor
ICAgICAgICBzZWxmLnNlbmRfYnVmZmVyX2lzX2VtcHR5ID0gVHJ1ZQorCisgICAgICAgIHNlbGYu
X3JlY3ZfYnVmZmVyID0gYnl0ZWFycmF5KCkKKyAgICAgICAgc2VsZi5fcmVjdl9idWZmZXJfZmlu
OiBPcHRpb25hbFtpbnRdID0gTm9uZQorICAgICAgICBzZWxmLl9yZWN2X2J1ZmZlcl9zdGFydCA9
IDAgICMgdGhlIG9mZnNldCBmb3IgdGhlIHN0YXJ0IG9mIHRoZSBidWZmZXIKKyAgICAgICAgc2Vs
Zi5fcmVjdl9oaWdoZXN0ID0gMCAgIyB0aGUgaGlnaGVzdCBvZmZzZXQgZXZlciBzZWVuCisgICAg
ICAgIHNlbGYuX3JlY3ZfcmFuZ2VzID0gUmFuZ2VTZXQoKQorCisgICAgICAgIHNlbGYuX3NlbmRf
YWNrZWQgPSBSYW5nZVNldCgpCisgICAgICAgIHNlbGYuX3NlbmRfYnVmZmVyID0gYnl0ZWFycmF5
KCkKKyAgICAgICAgc2VsZi5fc2VuZF9idWZmZXJfZmluOiBPcHRpb25hbFtpbnRdID0gTm9uZQor
ICAgICAgICBzZWxmLl9zZW5kX2J1ZmZlcl9zdGFydCA9IDAgICMgdGhlIG9mZnNldCBmb3IgdGhl
IHN0YXJ0IG9mIHRoZSBidWZmZXIKKyAgICAgICAgc2VsZi5fc2VuZF9idWZmZXJfc3RvcCA9IDAg
ICMgdGhlIG9mZnNldCBmb3IgdGhlIHN0b3Agb2YgdGhlIGJ1ZmZlcgorICAgICAgICBzZWxmLl9z
ZW5kX2hpZ2hlc3QgPSAwCisgICAgICAgIHNlbGYuX3NlbmRfcGVuZGluZyA9IFJhbmdlU2V0KCkK
KyAgICAgICAgc2VsZi5fc2VuZF9wZW5kaW5nX2VvZiA9IEZhbHNlCisKKyAgICAgICAgc2VsZi5f
X3N0cmVhbV9pZCA9IHN0cmVhbV9pZAorCisgICAgQHByb3BlcnR5CisgICAgZGVmIHN0cmVhbV9p
ZChzZWxmKSAtPiBPcHRpb25hbFtpbnRdOgorICAgICAgICByZXR1cm4gc2VsZi5fX3N0cmVhbV9p
ZAorCisgICAgIyByZWFkZXIKKworICAgIGRlZiBhZGRfZnJhbWUoc2VsZiwgZnJhbWU6IFF1aWNT
dHJlYW1GcmFtZSkgLT4gT3B0aW9uYWxbZXZlbnRzLlN0cmVhbURhdGFSZWNlaXZlZF06CisgICAg
ICAgICIiIgorICAgICAgICBBZGQgYSBmcmFtZSBvZiByZWNlaXZlZCBkYXRhLgorICAgICAgICAi
IiIKKyAgICAgICAgcG9zID0gZnJhbWUub2Zmc2V0IC0gc2VsZi5fcmVjdl9idWZmZXJfc3RhcnQK
KyAgICAgICAgY291bnQgPSBsZW4oZnJhbWUuZGF0YSkKKyAgICAgICAgZnJhbWVfZW5kID0gZnJh
bWUub2Zmc2V0ICsgY291bnQKKworICAgICAgICAjIHdlIHNob3VsZCByZWNlaXZlIG5vIG1vcmUg
ZGF0YSBiZXlvbmQgRklOIQorICAgICAgICBpZiBzZWxmLl9yZWN2X2J1ZmZlcl9maW4gaXMgbm90
IE5vbmUgYW5kIGZyYW1lX2VuZCA+IHNlbGYuX3JlY3ZfYnVmZmVyX2ZpbjoKKyAgICAgICAgICAg
IHJhaXNlIEV4Y2VwdGlvbigiRGF0YSByZWNlaXZlZCBiZXlvbmQgRklOIikKKyAgICAgICAgaWYg
ZnJhbWUuZmluOgorICAgICAgICAgICAgc2VsZi5fcmVjdl9idWZmZXJfZmluID0gZnJhbWVfZW5k
CisgICAgICAgIGlmIGZyYW1lX2VuZCA+IHNlbGYuX3JlY3ZfaGlnaGVzdDoKKyAgICAgICAgICAg
IHNlbGYuX3JlY3ZfaGlnaGVzdCA9IGZyYW1lX2VuZAorCisgICAgICAgICMgZmFzdCBwYXRoOiBu
ZXcgaW4tb3JkZXIgY2h1bmsKKyAgICAgICAgaWYgcG9zID09IDAgYW5kIGNvdW50IGFuZCBub3Qg
c2VsZi5fcmVjdl9idWZmZXI6CisgICAgICAgICAgICBzZWxmLl9yZWN2X2J1ZmZlcl9zdGFydCAr
PSBjb3VudAorICAgICAgICAgICAgcmV0dXJuIGV2ZW50cy5TdHJlYW1EYXRhUmVjZWl2ZWQoCisg
ICAgICAgICAgICAgICAgZGF0YT1mcmFtZS5kYXRhLCBlbmRfc3RyZWFtPWZyYW1lLmZpbiwgc3Ry
ZWFtX2lkPXNlbGYuX19zdHJlYW1faWQKKyAgICAgICAgICAgICkKKworICAgICAgICAjIGRpc2Nh
cmQgZHVwbGljYXRlIGRhdGEKKyAgICAgICAgaWYgcG9zIDwgMDoKKyAgICAgICAgICAgIGZyYW1l
LmRhdGEgPSBmcmFtZS5kYXRhWy1wb3M6XQorICAgICAgICAgICAgZnJhbWUub2Zmc2V0IC09IHBv
cworICAgICAgICAgICAgcG9zID0gMAorCisgICAgICAgICMgbWFya2VkIHJlY2VpdmVkIHJhbmdl
CisgICAgICAgIGlmIGZyYW1lX2VuZCA+IGZyYW1lLm9mZnNldDoKKyAgICAgICAgICAgIHNlbGYu
X3JlY3ZfcmFuZ2VzLmFkZChmcmFtZS5vZmZzZXQsIGZyYW1lX2VuZCkKKworICAgICAgICAjIGFk
ZCBuZXcgZGF0YQorICAgICAgICBnYXAgPSBwb3MgLSBsZW4oc2VsZi5fcmVjdl9idWZmZXIpCisg
ICAgICAgIGlmIGdhcCA+IDA6CisgICAgICAgICAgICBzZWxmLl9yZWN2X2J1ZmZlciArPSBieXRl
YXJyYXkoZ2FwKQorICAgICAgICBzZWxmLl9yZWN2X2J1ZmZlcltwb3MgOiBwb3MgKyBjb3VudF0g
PSBmcmFtZS5kYXRhCisKKyAgICAgICAgIyByZXR1cm4gZGF0YSBmcm9tIHRoZSBmcm9udCBvZiB0
aGUgYnVmZmVyCisgICAgICAgIGRhdGEgPSBzZWxmLl9wdWxsX2RhdGEoKQorICAgICAgICBlbmRf
c3RyZWFtID0gc2VsZi5fcmVjdl9idWZmZXJfc3RhcnQgPT0gc2VsZi5fcmVjdl9idWZmZXJfZmlu
CisgICAgICAgIGlmIGRhdGEgb3IgZW5kX3N0cmVhbToKKyAgICAgICAgICAgIHJldHVybiBldmVu
dHMuU3RyZWFtRGF0YVJlY2VpdmVkKAorICAgICAgICAgICAgICAgIGRhdGE9ZGF0YSwgZW5kX3N0
cmVhbT1lbmRfc3RyZWFtLCBzdHJlYW1faWQ9c2VsZi5fX3N0cmVhbV9pZAorICAgICAgICAgICAg
KQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKworICAgIGRlZiBfcHVs
bF9kYXRhKHNlbGYpIC0+IGJ5dGVzOgorICAgICAgICAiIiIKKyAgICAgICAgUmVtb3ZlIGRhdGEg
ZnJvbSB0aGUgZnJvbnQgb2YgdGhlIGJ1ZmZlci4KKyAgICAgICAgIiIiCisgICAgICAgIHRyeToK
KyAgICAgICAgICAgIGhhc19kYXRhX3RvX3JlYWQgPSBzZWxmLl9yZWN2X3Jhbmdlc1swXS5zdGFy
dCA9PSBzZWxmLl9yZWN2X2J1ZmZlcl9zdGFydAorICAgICAgICBleGNlcHQgSW5kZXhFcnJvcjoK
KyAgICAgICAgICAgIGhhc19kYXRhX3RvX3JlYWQgPSBGYWxzZQorICAgICAgICBpZiBub3QgaGFz
X2RhdGFfdG9fcmVhZDoKKyAgICAgICAgICAgIHJldHVybiBiIiIKKworICAgICAgICByID0gc2Vs
Zi5fcmVjdl9yYW5nZXMuc2hpZnQoKQorICAgICAgICBwb3MgPSByLnN0b3AgLSByLnN0YXJ0Cisg
ICAgICAgIGRhdGEgPSBieXRlcyhzZWxmLl9yZWN2X2J1ZmZlcls6cG9zXSkKKyAgICAgICAgZGVs
IHNlbGYuX3JlY3ZfYnVmZmVyWzpwb3NdCisgICAgICAgIHNlbGYuX3JlY3ZfYnVmZmVyX3N0YXJ0
ID0gci5zdG9wCisgICAgICAgIHJldHVybiBkYXRhCisKKyAgICAjIHdyaXRlcgorCisgICAgQHBy
b3BlcnR5CisgICAgZGVmIG5leHRfc2VuZF9vZmZzZXQoc2VsZikgLT4gaW50OgorICAgICAgICAi
IiIKKyAgICAgICAgVGhlIG9mZnNldCBmb3IgdGhlIG5leHQgZnJhbWUgdG8gc2VuZC4KKworICAg
ICAgICBUaGlzIGlzIHVzZWQgdG8gZGV0ZXJtaW5lIHRoZSBzcGFjZSBuZWVkZWQgZm9yIHRoZSBm
cmFtZSdzIGBvZmZzZXRgIGZpZWxkLgorICAgICAgICAiIiIKKyAgICAgICAgdHJ5OgorICAgICAg
ICAgICAgcmV0dXJuIHNlbGYuX3NlbmRfcGVuZGluZ1swXS5zdGFydAorICAgICAgICBleGNlcHQg
SW5kZXhFcnJvcjoKKyAgICAgICAgICAgIHJldHVybiBzZWxmLl9zZW5kX2J1ZmZlcl9zdG9wCisK
KyAgICBkZWYgZ2V0X2ZyYW1lKAorICAgICAgICBzZWxmLCBtYXhfc2l6ZTogaW50LCBtYXhfb2Zm
c2V0OiBPcHRpb25hbFtpbnRdID0gTm9uZQorICAgICkgLT4gT3B0aW9uYWxbUXVpY1N0cmVhbUZy
YW1lXToKKyAgICAgICAgIiIiCisgICAgICAgIEdldCBhIGZyYW1lIG9mIGRhdGEgdG8gc2VuZC4K
KyAgICAgICAgIiIiCisgICAgICAgICMgZ2V0IHRoZSBmaXJzdCBwZW5kaW5nIGRhdGEgcmFuZ2UK
KyAgICAgICAgdHJ5OgorICAgICAgICAgICAgciA9IHNlbGYuX3NlbmRfcGVuZGluZ1swXQorICAg
ICAgICBleGNlcHQgSW5kZXhFcnJvcjoKKyAgICAgICAgICAgIGlmIHNlbGYuX3NlbmRfcGVuZGlu
Z19lb2Y6CisgICAgICAgICAgICAgICAgIyBGSU4gb25seQorICAgICAgICAgICAgICAgIHNlbGYu
X3NlbmRfcGVuZGluZ19lb2YgPSBGYWxzZQorICAgICAgICAgICAgICAgIHJldHVybiBRdWljU3Ry
ZWFtRnJhbWUoZmluPVRydWUsIG9mZnNldD1zZWxmLl9zZW5kX2J1ZmZlcl9maW4pCisKKyAgICAg
ICAgICAgIHNlbGYuc2VuZF9idWZmZXJfaXNfZW1wdHkgPSBUcnVlCisgICAgICAgICAgICByZXR1
cm4gTm9uZQorCisgICAgICAgICMgYXBwbHkgZmxvdyBjb250cm9sCisgICAgICAgIHN0YXJ0ID0g
ci5zdGFydAorICAgICAgICBzdG9wID0gbWluKHIuc3RvcCwgc3RhcnQgKyBtYXhfc2l6ZSkKKyAg
ICAgICAgaWYgbWF4X29mZnNldCBpcyBub3QgTm9uZSBhbmQgc3RvcCA+IG1heF9vZmZzZXQ6Cisg
ICAgICAgICAgICBzdG9wID0gbWF4X29mZnNldAorICAgICAgICBpZiBzdG9wIDw9IHN0YXJ0Ogor
ICAgICAgICAgICAgcmV0dXJuIE5vbmUKKworICAgICAgICAjIGNyZWF0ZSBmcmFtZQorICAgICAg
ICBmcmFtZSA9IFF1aWNTdHJlYW1GcmFtZSgKKyAgICAgICAgICAgIGRhdGE9Ynl0ZXMoCisgICAg
ICAgICAgICAgICAgc2VsZi5fc2VuZF9idWZmZXJbCisgICAgICAgICAgICAgICAgICAgIHN0YXJ0
IC0gc2VsZi5fc2VuZF9idWZmZXJfc3RhcnQgOiBzdG9wIC0gc2VsZi5fc2VuZF9idWZmZXJfc3Rh
cnQKKyAgICAgICAgICAgICAgICBdCisgICAgICAgICAgICApLAorICAgICAgICAgICAgb2Zmc2V0
PXN0YXJ0LAorICAgICAgICApCisgICAgICAgIHNlbGYuX3NlbmRfcGVuZGluZy5zdWJ0cmFjdChz
dGFydCwgc3RvcCkKKworICAgICAgICAjIHRyYWNrIHRoZSBoaWdoZXN0IG9mZnNldCBldmVyIHNl
bnQKKyAgICAgICAgaWYgc3RvcCA+IHNlbGYuX3NlbmRfaGlnaGVzdDoKKyAgICAgICAgICAgIHNl
bGYuX3NlbmRfaGlnaGVzdCA9IHN0b3AKKworICAgICAgICAjIGlmIHRoZSBidWZmZXIgaXMgZW1w
dHkgYW5kIEVPRiB3YXMgd3JpdHRlbiwgc2V0IHRoZSBGSU4gYml0CisgICAgICAgIGlmIHNlbGYu
X3NlbmRfYnVmZmVyX2ZpbiA9PSBzdG9wOgorICAgICAgICAgICAgZnJhbWUuZmluID0gVHJ1ZQor
ICAgICAgICAgICAgc2VsZi5fc2VuZF9wZW5kaW5nX2VvZiA9IEZhbHNlCisKKyAgICAgICAgcmV0
dXJuIGZyYW1lCisKKyAgICBkZWYgb25fZGF0YV9kZWxpdmVyeSgKKyAgICAgICAgc2VsZiwgZGVs
aXZlcnk6IFF1aWNEZWxpdmVyeVN0YXRlLCBzdGFydDogaW50LCBzdG9wOiBpbnQKKyAgICApIC0+
IE5vbmU6CisgICAgICAgICIiIgorICAgICAgICBDYWxsYmFjayB3aGVuIHNlbnQgZGF0YSBpcyBB
Q0snZC4KKyAgICAgICAgIiIiCisgICAgICAgIHNlbGYuc2VuZF9idWZmZXJfaXNfZW1wdHkgPSBG
YWxzZQorICAgICAgICBpZiBkZWxpdmVyeSA9PSBRdWljRGVsaXZlcnlTdGF0ZS5BQ0tFRDoKKyAg
ICAgICAgICAgIGlmIHN0b3AgPiBzdGFydDoKKyAgICAgICAgICAgICAgICBzZWxmLl9zZW5kX2Fj
a2VkLmFkZChzdGFydCwgc3RvcCkKKyAgICAgICAgICAgICAgICBmaXJzdF9yYW5nZSA9IHNlbGYu
X3NlbmRfYWNrZWRbMF0KKyAgICAgICAgICAgICAgICBpZiBmaXJzdF9yYW5nZS5zdGFydCA9PSBz
ZWxmLl9zZW5kX2J1ZmZlcl9zdGFydDoKKyAgICAgICAgICAgICAgICAgICAgc2l6ZSA9IGZpcnN0
X3JhbmdlLnN0b3AgLSBmaXJzdF9yYW5nZS5zdGFydAorICAgICAgICAgICAgICAgICAgICBzZWxm
Ll9zZW5kX2Fja2VkLnNoaWZ0KCkKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5fc2VuZF9idWZm
ZXJfc3RhcnQgKz0gc2l6ZQorICAgICAgICAgICAgICAgICAgICBkZWwgc2VsZi5fc2VuZF9idWZm
ZXJbOnNpemVdCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBpZiBzdG9wID4gc3RhcnQ6Cisg
ICAgICAgICAgICAgICAgc2VsZi5fc2VuZF9wZW5kaW5nLmFkZChzdGFydCwgc3RvcCkKKyAgICAg
ICAgICAgIGlmIHN0b3AgPT0gc2VsZi5fc2VuZF9idWZmZXJfZmluOgorICAgICAgICAgICAgICAg
IHNlbGYuc2VuZF9idWZmZXJfZW1wdHkgPSBGYWxzZQorICAgICAgICAgICAgICAgIHNlbGYuX3Nl
bmRfcGVuZGluZ19lb2YgPSBUcnVlCisKKyAgICBkZWYgd3JpdGUoc2VsZiwgZGF0YTogYnl0ZXMs
IGVuZF9zdHJlYW06IGJvb2wgPSBGYWxzZSkgLT4gTm9uZToKKyAgICAgICAgIiIiCisgICAgICAg
IFdyaXRlIHNvbWUgZGF0YSBieXRlcyB0byB0aGUgUVVJQyBzdHJlYW0uCisgICAgICAgICIiIgor
ICAgICAgICBhc3NlcnQgc2VsZi5fc2VuZF9idWZmZXJfZmluIGlzIE5vbmUsICJjYW5ub3QgY2Fs
bCB3cml0ZSgpIGFmdGVyIEZJTiIKKyAgICAgICAgc2l6ZSA9IGxlbihkYXRhKQorCisgICAgICAg
IGlmIHNpemU6CisgICAgICAgICAgICBzZWxmLnNlbmRfYnVmZmVyX2lzX2VtcHR5ID0gRmFsc2UK
KyAgICAgICAgICAgIHNlbGYuX3NlbmRfcGVuZGluZy5hZGQoCisgICAgICAgICAgICAgICAgc2Vs
Zi5fc2VuZF9idWZmZXJfc3RvcCwgc2VsZi5fc2VuZF9idWZmZXJfc3RvcCArIHNpemUKKyAgICAg
ICAgICAgICkKKyAgICAgICAgICAgIHNlbGYuX3NlbmRfYnVmZmVyICs9IGRhdGEKKyAgICAgICAg
ICAgIHNlbGYuX3NlbmRfYnVmZmVyX3N0b3AgKz0gc2l6ZQorICAgICAgICBpZiBlbmRfc3RyZWFt
OgorICAgICAgICAgICAgc2VsZi5zZW5kX2J1ZmZlcl9pc19lbXB0eSA9IEZhbHNlCisgICAgICAg
ICAgICBzZWxmLl9zZW5kX2J1ZmZlcl9maW4gPSBzZWxmLl9zZW5kX2J1ZmZlcl9zdG9wCisgICAg
ICAgICAgICBzZWxmLl9zZW5kX3BlbmRpbmdfZW9mID0gVHJ1ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9h
aW9xdWljL3NyYy9haW9xdWljL3F1aWMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvc3Jj
L2Fpb3F1aWMvcXVpYy93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41OGI4YzI2ZmE0YzYwNmUx
ZGFhMDA0NGYwYmZlZGRkMmRmMjJiMjY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWlj
L3NyYy9haW9xdWljL3F1aWMvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwyOCBAQAorVGhlIHRl
c3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRv
cnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3Rl
YWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dp
dGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAorCitUaGVuIHJ1biB0aGUgVG9vbHMvU2Ny
aXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9k
aWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyBy
ZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmlu
ZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGly
ZF9wYXJ0eS9haW9xdWljL3NyYy9haW9xdWljL3F1aWMvX19pbml0X18ucHkKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1
aWMvc3JjL2Fpb3F1aWMvcXVpYy9jb25maWd1cmF0aW9uLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3NyYy9h
aW9xdWljL3F1aWMvY29ubmVjdGlvbi5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9zcmMvYWlvcXVpYy9xdWlj
L2NyeXB0by5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9zcmMvYWlvcXVpYy9xdWljL2V2ZW50cy5weQorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFy
dHkvYWlvcXVpYy9zcmMvYWlvcXVpYy9xdWljL2xvZ2dlci5weQorL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9zcmMv
YWlvcXVpYy9xdWljL3BhY2tldC5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9zcmMvYWlvcXVpYy9xdWljL3Bh
Y2tldF9idWlsZGVyLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3NyYy9haW9xdWljL3F1aWMvcmFuZ2VzZXQu
cHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3Ro
aXJkX3BhcnR5L2Fpb3F1aWMvc3JjL2Fpb3F1aWMvcXVpYy9yZWNvdmVyeS5weQorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlv
cXVpYy9zcmMvYWlvcXVpYy9xdWljL3JldHJ5LnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3NyYy9haW9xdWlj
L3F1aWMvc3RyZWFtLnB5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvc3JjL2Fpb3F1aWMvdGxz
LnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90
aGlyZF9wYXJ0eS9haW9xdWljL3NyYy9haW9xdWljL3Rscy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMGI2OWZm
MmQzMjI3NDE2ZTcxNWRmZTE4YjgwMjY5ZTBiMWMyNTliCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0
eS9haW9xdWljL3NyYy9haW9xdWljL3Rscy5weQpAQCAtMCwwICsxLDE5MjggQEAKK2ltcG9ydCBk
YXRldGltZQoraW1wb3J0IGxvZ2dpbmcKK2ltcG9ydCBvcworaW1wb3J0IHNzbAoraW1wb3J0IHN0
cnVjdAorZnJvbSBjb250ZXh0bGliIGltcG9ydCBjb250ZXh0bWFuYWdlcgorZnJvbSBkYXRhY2xh
c3NlcyBpbXBvcnQgZGF0YWNsYXNzLCBmaWVsZAorZnJvbSBlbnVtIGltcG9ydCBFbnVtLCBJbnRF
bnVtCitmcm9tIGZ1bmN0b29scyBpbXBvcnQgcGFydGlhbAorZnJvbSB0eXBpbmcgaW1wb3J0ICgK
KyAgICBBbnksCisgICAgQ2FsbGFibGUsCisgICAgRGljdCwKKyAgICBHZW5lcmF0b3IsCisgICAg
TGlzdCwKKyAgICBPcHRpb25hbCwKKyAgICBTZXF1ZW5jZSwKKyAgICBUdXBsZSwKKyAgICBUeXBl
VmFyLAorICAgIFVuaW9uLAorKQorCitpbXBvcnQgY2VydGlmaQorZnJvbSBjcnlwdG9ncmFwaHkg
aW1wb3J0IHg1MDkKK2Zyb20gY3J5cHRvZ3JhcGh5LmV4Y2VwdGlvbnMgaW1wb3J0IEludmFsaWRT
aWduYXR1cmUKK2Zyb20gY3J5cHRvZ3JhcGh5Lmhhem1hdC5iYWNrZW5kcyBpbXBvcnQgZGVmYXVs
dF9iYWNrZW5kCitmcm9tIGNyeXB0b2dyYXBoeS5oYXptYXQuYmluZGluZ3Mub3BlbnNzbC5iaW5k
aW5nIGltcG9ydCBCaW5kaW5nCitmcm9tIGNyeXB0b2dyYXBoeS5oYXptYXQucHJpbWl0aXZlcyBp
bXBvcnQgaGFzaGVzLCBobWFjLCBzZXJpYWxpemF0aW9uCitmcm9tIGNyeXB0b2dyYXBoeS5oYXpt
YXQucHJpbWl0aXZlcy5hc3ltbWV0cmljIGltcG9ydCAoCisgICAgZHNhLAorICAgIGVjLAorICAg
IHBhZGRpbmcsCisgICAgcnNhLAorICAgIHg0NDgsCisgICAgeDI1NTE5LAorKQorZnJvbSBjcnlw
dG9ncmFwaHkuaGF6bWF0LnByaW1pdGl2ZXMua2RmLmhrZGYgaW1wb3J0IEhLREZFeHBhbmQKK2Zy
b20gY3J5cHRvZ3JhcGh5Lmhhem1hdC5wcmltaXRpdmVzLnNlcmlhbGl6YXRpb24gaW1wb3J0IEVu
Y29kaW5nLCBQdWJsaWNGb3JtYXQKKworZnJvbSAuYnVmZmVyIGltcG9ydCBCdWZmZXIKKworYmlu
ZGluZyA9IEJpbmRpbmcoKQorYmluZGluZy5pbml0X3N0YXRpY19sb2NrcygpCitmZmkgPSBiaW5k
aW5nLmZmaQorbGliID0gYmluZGluZy5saWIKKworVExTX1ZFUlNJT05fMV8yID0gMHgwMzAzCitU
TFNfVkVSU0lPTl8xXzMgPSAweDAzMDQKK1RMU19WRVJTSU9OXzFfM19EUkFGVF8yOCA9IDB4N0Yx
QworVExTX1ZFUlNJT05fMV8zX0RSQUZUXzI3ID0gMHg3RjFCCitUTFNfVkVSU0lPTl8xXzNfRFJB
RlRfMjYgPSAweDdGMUEKKworVCA9IFR5cGVWYXIoIlQiKQorCisjIGZhY2lsaXRhdGUgbW9ja2lu
ZyBmb3IgdGhlIHRlc3Qgc3VpdGUKK3V0Y25vdyA9IGRhdGV0aW1lLmRhdGV0aW1lLnV0Y25vdwor
CisKK2NsYXNzIEFsZXJ0RGVzY3JpcHRpb24oSW50RW51bSk6CisgICAgY2xvc2Vfbm90aWZ5ID0g
MAorICAgIHVuZXhwZWN0ZWRfbWVzc2FnZSA9IDEwCisgICAgYmFkX3JlY29yZF9tYWMgPSAyMAor
ICAgIHJlY29yZF9vdmVyZmxvdyA9IDIyCisgICAgaGFuZHNoYWtlX2ZhaWx1cmUgPSA0MAorICAg
IGJhZF9jZXJ0aWZpY2F0ZSA9IDQyCisgICAgdW5zdXBwb3J0ZWRfY2VydGlmaWNhdGUgPSA0Mwor
ICAgIGNlcnRpZmljYXRlX3Jldm9rZWQgPSA0NAorICAgIGNlcnRpZmljYXRlX2V4cGlyZWQgPSA0
NQorICAgIGNlcnRpZmljYXRlX3Vua25vd24gPSA0NgorICAgIGlsbGVnYWxfcGFyYW1ldGVyID0g
NDcKKyAgICB1bmtub3duX2NhID0gNDgKKyAgICBhY2Nlc3NfZGVuaWVkID0gNDkKKyAgICBkZWNv
ZGVfZXJyb3IgPSA1MAorICAgIGRlY3J5cHRfZXJyb3IgPSA1MQorICAgIHByb3RvY29sX3ZlcnNp
b24gPSA3MAorICAgIGluc3VmZmljaWVudF9zZWN1cml0eSA9IDcxCisgICAgaW50ZXJuYWxfZXJy
b3IgPSA4MAorICAgIGluYXBwcm9wcmlhdGVfZmFsbGJhY2sgPSA4NgorICAgIHVzZXJfY2FuY2Vs
ZWQgPSA5MAorICAgIG1pc3NpbmdfZXh0ZW5zaW9uID0gMTA5CisgICAgdW5zdXBwb3J0ZWRfZXh0
ZW5zaW9uID0gMTEwCisgICAgdW5yZWNvZ25pemVkX25hbWUgPSAxMTIKKyAgICBiYWRfY2VydGlm
aWNhdGVfc3RhdHVzX3Jlc3BvbnNlID0gMTEzCisgICAgdW5rbm93bl9wc2tfaWRlbnRpdHkgPSAx
MTUKKyAgICBjZXJ0aWZpY2F0ZV9yZXF1aXJlZCA9IDExNgorICAgIG5vX2FwcGxpY2F0aW9uX3By
b3RvY29sID0gMTIwCisKKworY2xhc3MgQWxlcnQoRXhjZXB0aW9uKToKKyAgICBkZXNjcmlwdGlv
bjogQWxlcnREZXNjcmlwdGlvbgorCisKK2NsYXNzIEFsZXJ0QmFkQ2VydGlmaWNhdGUoQWxlcnQp
OgorICAgIGRlc2NyaXB0aW9uID0gQWxlcnREZXNjcmlwdGlvbi5iYWRfY2VydGlmaWNhdGUKKwor
CitjbGFzcyBBbGVydENlcnRpZmljYXRlRXhwaXJlZChBbGVydCk6CisgICAgZGVzY3JpcHRpb24g
PSBBbGVydERlc2NyaXB0aW9uLmNlcnRpZmljYXRlX2V4cGlyZWQKKworCitjbGFzcyBBbGVydERl
Y3J5cHRFcnJvcihBbGVydCk6CisgICAgZGVzY3JpcHRpb24gPSBBbGVydERlc2NyaXB0aW9uLmRl
Y3J5cHRfZXJyb3IKKworCitjbGFzcyBBbGVydEhhbmRzaGFrZUZhaWx1cmUoQWxlcnQpOgorICAg
IGRlc2NyaXB0aW9uID0gQWxlcnREZXNjcmlwdGlvbi5oYW5kc2hha2VfZmFpbHVyZQorCisKK2Ns
YXNzIEFsZXJ0SWxsZWdhbFBhcmFtZXRlcihBbGVydCk6CisgICAgZGVzY3JpcHRpb24gPSBBbGVy
dERlc2NyaXB0aW9uLmlsbGVnYWxfcGFyYW1ldGVyCisKKworY2xhc3MgQWxlcnRJbnRlcm5hbEVy
cm9yKEFsZXJ0KToKKyAgICBkZXNjcmlwdGlvbiA9IEFsZXJ0RGVzY3JpcHRpb24uaW50ZXJuYWxf
ZXJyb3IKKworCitjbGFzcyBBbGVydFByb3RvY29sVmVyc2lvbihBbGVydCk6CisgICAgZGVzY3Jp
cHRpb24gPSBBbGVydERlc2NyaXB0aW9uLnByb3RvY29sX3ZlcnNpb24KKworCitjbGFzcyBBbGVy
dFVuZXhwZWN0ZWRNZXNzYWdlKEFsZXJ0KToKKyAgICBkZXNjcmlwdGlvbiA9IEFsZXJ0RGVzY3Jp
cHRpb24udW5leHBlY3RlZF9tZXNzYWdlCisKKworY2xhc3MgRGlyZWN0aW9uKEVudW0pOgorICAg
IERFQ1JZUFQgPSAwCisgICAgRU5DUllQVCA9IDEKKworCitjbGFzcyBFcG9jaChFbnVtKToKKyAg
ICBJTklUSUFMID0gMAorICAgIFpFUk9fUlRUID0gMQorICAgIEhBTkRTSEFLRSA9IDIKKyAgICBP
TkVfUlRUID0gMworCisKK2NsYXNzIFN0YXRlKEVudW0pOgorICAgIENMSUVOVF9IQU5EU0hBS0Vf
U1RBUlQgPSAwCisgICAgQ0xJRU5UX0VYUEVDVF9TRVJWRVJfSEVMTE8gPSAxCisgICAgQ0xJRU5U
X0VYUEVDVF9FTkNSWVBURURfRVhURU5TSU9OUyA9IDIKKyAgICBDTElFTlRfRVhQRUNUX0NFUlRJ
RklDQVRFX1JFUVVFU1RfT1JfQ0VSVElGSUNBVEUgPSAzCisgICAgQ0xJRU5UX0VYUEVDVF9DRVJU
SUZJQ0FURV9DRVJUSUZJQ0FURSA9IDQKKyAgICBDTElFTlRfRVhQRUNUX0NFUlRJRklDQVRFX1ZF
UklGWSA9IDUKKyAgICBDTElFTlRfRVhQRUNUX0ZJTklTSEVEID0gNgorICAgIENMSUVOVF9QT1NU
X0hBTkRTSEFLRSA9IDcKKworICAgIFNFUlZFUl9FWFBFQ1RfQ0xJRU5UX0hFTExPID0gOAorICAg
IFNFUlZFUl9FWFBFQ1RfRklOSVNIRUQgPSA5CisgICAgU0VSVkVSX1BPU1RfSEFORFNIQUtFID0g
MTAKKworCitkZWYgaGtkZl9sYWJlbChsYWJlbDogYnl0ZXMsIGhhc2hfdmFsdWU6IGJ5dGVzLCBs
ZW5ndGg6IGludCkgLT4gYnl0ZXM6CisgICAgZnVsbF9sYWJlbCA9IGIidGxzMTMgIiArIGxhYmVs
CisgICAgcmV0dXJuICgKKyAgICAgICAgc3RydWN0LnBhY2soIiFIQiIsIGxlbmd0aCwgbGVuKGZ1
bGxfbGFiZWwpKQorICAgICAgICArIGZ1bGxfbGFiZWwKKyAgICAgICAgKyBzdHJ1Y3QucGFjaygi
IUIiLCBsZW4oaGFzaF92YWx1ZSkpCisgICAgICAgICsgaGFzaF92YWx1ZQorICAgICkKKworCitk
ZWYgaGtkZl9leHBhbmRfbGFiZWwoCisgICAgYWxnb3JpdGhtOiBoYXNoZXMuSGFzaEFsZ29yaXRo
bSwKKyAgICBzZWNyZXQ6IGJ5dGVzLAorICAgIGxhYmVsOiBieXRlcywKKyAgICBoYXNoX3ZhbHVl
OiBieXRlcywKKyAgICBsZW5ndGg6IGludCwKKykgLT4gYnl0ZXM6CisgICAgcmV0dXJuIEhLREZF
eHBhbmQoCisgICAgICAgIGFsZ29yaXRobT1hbGdvcml0aG0sCisgICAgICAgIGxlbmd0aD1sZW5n
dGgsCisgICAgICAgIGluZm89aGtkZl9sYWJlbChsYWJlbCwgaGFzaF92YWx1ZSwgbGVuZ3RoKSwK
KyAgICAgICAgYmFja2VuZD1kZWZhdWx0X2JhY2tlbmQoKSwKKyAgICApLmRlcml2ZShzZWNyZXQp
CisKKworZGVmIGhrZGZfZXh0cmFjdCgKKyAgICBhbGdvcml0aG06IGhhc2hlcy5IYXNoQWxnb3Jp
dGhtLCBzYWx0OiBieXRlcywga2V5X21hdGVyaWFsOiBieXRlcworKSAtPiBieXRlczoKKyAgICBo
ID0gaG1hYy5ITUFDKHNhbHQsIGFsZ29yaXRobSwgYmFja2VuZD1kZWZhdWx0X2JhY2tlbmQoKSkK
KyAgICBoLnVwZGF0ZShrZXlfbWF0ZXJpYWwpCisgICAgcmV0dXJuIGguZmluYWxpemUoKQorCisK
K2RlZiBsb2FkX3BlbV9wcml2YXRlX2tleSgKKyAgICBkYXRhOiBieXRlcywgcGFzc3dvcmQ6IE9w
dGlvbmFsW2J5dGVzXQorKSAtPiBVbmlvbltkc2EuRFNBUHJpdmF0ZUtleSwgZWMuRWxsaXB0aWND
dXJ2ZVByaXZhdGVLZXksIHJzYS5SU0FQcml2YXRlS2V5XToKKyAgICAiIiIKKyAgICBMb2FkIGEg
UEVNLWVuY29kZWQgcHJpdmF0ZSBrZXkuCisgICAgIiIiCisgICAgcmV0dXJuIHNlcmlhbGl6YXRp
b24ubG9hZF9wZW1fcHJpdmF0ZV9rZXkoCisgICAgICAgIGRhdGEsIHBhc3N3b3JkPXBhc3N3b3Jk
LCBiYWNrZW5kPWRlZmF1bHRfYmFja2VuZCgpCisgICAgKQorCisKK2RlZiBsb2FkX3BlbV94NTA5
X2NlcnRpZmljYXRlcyhkYXRhOiBieXRlcykgLT4gTGlzdFt4NTA5LkNlcnRpZmljYXRlXToKKyAg
ICAiIiIKKyAgICBMb2FkIGEgY2hhaW4gb2YgUEVNLWVuY29kZWQgWDUwOSBjZXJ0aWZpY2F0ZXMu
CisgICAgIiIiCisgICAgYm91bmRhcnkgPSBiIi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS1cbiIK
KyAgICBjZXJ0aWZpY2F0ZXMgPSBbXQorICAgIGZvciBjaHVuayBpbiBkYXRhLnNwbGl0KGJvdW5k
YXJ5KToKKyAgICAgICAgaWYgY2h1bms6CisgICAgICAgICAgICBjZXJ0aWZpY2F0ZXMuYXBwZW5k
KAorICAgICAgICAgICAgICAgIHg1MDkubG9hZF9wZW1feDUwOV9jZXJ0aWZpY2F0ZSgKKyAgICAg
ICAgICAgICAgICAgICAgY2h1bmsgKyBib3VuZGFyeSwgYmFja2VuZD1kZWZhdWx0X2JhY2tlbmQo
KQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICkKKyAgICByZXR1cm4gY2VydGlmaWNh
dGVzCisKKworZGVmIG9wZW5zc2xfYXNzZXJ0KG9rOiBib29sLCBmdW5jOiBzdHIpIC0+IE5vbmU6
CisgICAgaWYgbm90IG9rOgorICAgICAgICBsaWIuRVJSX2NsZWFyX2Vycm9yKCkKKyAgICAgICAg
cmFpc2UgQWxlcnRJbnRlcm5hbEVycm9yKCJPcGVuU1NMIGNhbGwgdG8gJXMgZmFpbGVkIiAlIGZ1
bmMpCisKKworZGVmIG9wZW5zc2xfZGVjb2RlX3N0cmluZyhjaGFycCkgLT4gc3RyOgorICAgIHJl
dHVybiBmZmkuc3RyaW5nKGNoYXJwKS5kZWNvZGUoInV0Zi04IikgaWYgY2hhcnAgZWxzZSAiIgor
CisKK2RlZiBvcGVuc3NsX2VuY29kZV9wYXRoKHM6IE9wdGlvbmFsW3N0cl0pIC0+IEFueToKKyAg
ICBpZiBzIGlzIG5vdCBOb25lOgorICAgICAgICByZXR1cm4gb3MuZnNlbmNvZGUocykKKyAgICBy
ZXR1cm4gZmZpLk5VTEwKKworCitkZWYgY2VydF94NTA5X3B0cihjZXJ0aWZpY2F0ZTogeDUwOS5D
ZXJ0aWZpY2F0ZSkgLT4gQW55OgorICAgICIiIgorICAgIEFjY2Vzc29yIGZvciBwcml2YXRlIGF0
dHJpYnV0ZS4KKyAgICAiIiIKKyAgICByZXR1cm4gZ2V0YXR0cihjZXJ0aWZpY2F0ZSwgIl94NTA5
IikKKworCitkZWYgdmVyaWZ5X2NlcnRpZmljYXRlKAorICAgIGNlcnRpZmljYXRlOiB4NTA5LkNl
cnRpZmljYXRlLAorICAgIGNoYWluOiBMaXN0W3g1MDkuQ2VydGlmaWNhdGVdID0gW10sCisgICAg
c2VydmVyX25hbWU6IE9wdGlvbmFsW3N0cl0gPSBOb25lLAorICAgIGNhZGF0YTogT3B0aW9uYWxb
Ynl0ZXNdID0gTm9uZSwKKyAgICBjYWZpbGU6IE9wdGlvbmFsW3N0cl0gPSBOb25lLAorICAgIGNh
cGF0aDogT3B0aW9uYWxbc3RyXSA9IE5vbmUsCispIC0+IE5vbmU6CisgICAgIyB2ZXJpZnkgZGF0
ZXMKKyAgICBub3cgPSB1dGNub3coKQorICAgIGlmIG5vdyA8IGNlcnRpZmljYXRlLm5vdF92YWxp
ZF9iZWZvcmU6CisgICAgICAgIHJhaXNlIEFsZXJ0Q2VydGlmaWNhdGVFeHBpcmVkKCJDZXJ0aWZp
Y2F0ZSBpcyBub3QgdmFsaWQgeWV0IikKKyAgICBpZiBub3cgPiBjZXJ0aWZpY2F0ZS5ub3RfdmFs
aWRfYWZ0ZXI6CisgICAgICAgIHJhaXNlIEFsZXJ0Q2VydGlmaWNhdGVFeHBpcmVkKCJDZXJ0aWZp
Y2F0ZSBpcyBubyBsb25nZXIgdmFsaWQiKQorCisgICAgIyB2ZXJpZnkgc3ViamVjdAorICAgIGlm
IHNlcnZlcl9uYW1lIGlzIG5vdCBOb25lOgorICAgICAgICBzdWJqZWN0ID0gW10KKyAgICAgICAg
c3ViamVjdEFsdE5hbWU6IExpc3RbVHVwbGVbc3RyLCBzdHJdXSA9IFtdCisgICAgICAgIGZvciBh
dHRyIGluIGNlcnRpZmljYXRlLnN1YmplY3Q6CisgICAgICAgICAgICBpZiBhdHRyLm9pZCA9PSB4
NTA5Lk5hbWVPSUQuQ09NTU9OX05BTUU6CisgICAgICAgICAgICAgICAgc3ViamVjdC5hcHBlbmQo
KCgiY29tbW9uTmFtZSIsIGF0dHIudmFsdWUpLCkpCisgICAgICAgIGZvciBleHQgaW4gY2VydGlm
aWNhdGUuZXh0ZW5zaW9uczoKKyAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UoZXh0LnZhbHVlLCB4
NTA5LlN1YmplY3RBbHRlcm5hdGl2ZU5hbWUpOgorICAgICAgICAgICAgICAgIGZvciBuYW1lIGlu
IGV4dC52YWx1ZToKKyAgICAgICAgICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShuYW1lLCB4NTA5
LkROU05hbWUpOgorICAgICAgICAgICAgICAgICAgICAgICAgc3ViamVjdEFsdE5hbWUuYXBwZW5k
KCgiRE5TIiwgbmFtZS52YWx1ZSkpCisKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc3NsLm1h
dGNoX2hvc3RuYW1lKAorICAgICAgICAgICAgICAgIHsic3ViamVjdCI6IHR1cGxlKHN1YmplY3Qp
LCAic3ViamVjdEFsdE5hbWUiOiB0dXBsZShzdWJqZWN0QWx0TmFtZSl9LAorICAgICAgICAgICAg
ICAgIHNlcnZlcl9uYW1lLAorICAgICAgICAgICAgKQorICAgICAgICBleGNlcHQgc3NsLkNlcnRp
ZmljYXRlRXJyb3IgYXMgZXhjOgorICAgICAgICAgICAgcmFpc2UgQWxlcnRCYWRDZXJ0aWZpY2F0
ZSgiXG4iLmpvaW4oZXhjLmFyZ3MpKSBmcm9tIGV4YworCisgICAgIyB2ZXJpZnkgY2VydGlmaWNh
dGUgY2hhaW4KKyAgICBzdG9yZSA9IGxpYi5YNTA5X1NUT1JFX25ldygpCisgICAgb3BlbnNzbF9h
c3NlcnQoc3RvcmUgIT0gZmZpLk5VTEwsICJYNTA5X3N0b3JlX25ldyIpCisgICAgc3RvcmUgPSBm
ZmkuZ2Moc3RvcmUsIGxpYi5YNTA5X1NUT1JFX2ZyZWUpCisKKyAgICAjIGxvYWQgZGVmYXVsdCBD
QXMKKyAgICBvcGVuc3NsX2Fzc2VydCgKKyAgICAgICAgbGliLlg1MDlfU1RPUkVfc2V0X2RlZmF1
bHRfcGF0aHMoc3RvcmUpLCAiWDUwOV9TVE9SRV9zZXRfZGVmYXVsdF9wYXRocyIKKyAgICApCisg
ICAgb3BlbnNzbF9hc3NlcnQoCisgICAgICAgIGxpYi5YNTA5X1NUT1JFX2xvYWRfbG9jYXRpb25z
KAorICAgICAgICAgICAgc3RvcmUsIG9wZW5zc2xfZW5jb2RlX3BhdGgoY2VydGlmaS53aGVyZSgp
KSwgb3BlbnNzbF9lbmNvZGVfcGF0aChOb25lKSwKKyAgICAgICAgKSwKKyAgICAgICAgIlg1MDlf
U1RPUkVfbG9hZF9sb2NhdGlvbnMiLAorICAgICkKKworICAgICMgbG9hZCBleHRyYSBDQXMKKyAg
ICBpZiBjYWRhdGEgaXMgbm90IE5vbmU6CisgICAgICAgIGZvciBjZXJ0IGluIGxvYWRfcGVtX3g1
MDlfY2VydGlmaWNhdGVzKGNhZGF0YSk6CisgICAgICAgICAgICBvcGVuc3NsX2Fzc2VydCgKKyAg
ICAgICAgICAgICAgICBsaWIuWDUwOV9TVE9SRV9hZGRfY2VydChzdG9yZSwgY2VydF94NTA5X3B0
cihjZXJ0KSksCisgICAgICAgICAgICAgICAgIlg1MDlfU1RPUkVfYWRkX2NlcnQiLAorICAgICAg
ICAgICAgKQorCisgICAgaWYgY2FmaWxlIGlzIG5vdCBOb25lIG9yIGNhcGF0aCBpcyBub3QgTm9u
ZToKKyAgICAgICAgb3BlbnNzbF9hc3NlcnQoCisgICAgICAgICAgICBsaWIuWDUwOV9TVE9SRV9s
b2FkX2xvY2F0aW9ucygKKyAgICAgICAgICAgICAgICBzdG9yZSwgb3BlbnNzbF9lbmNvZGVfcGF0
aChjYWZpbGUpLCBvcGVuc3NsX2VuY29kZV9wYXRoKGNhcGF0aCkKKyAgICAgICAgICAgICksCisg
ICAgICAgICAgICAiWDUwOV9TVE9SRV9sb2FkX2xvY2F0aW9ucyIsCisgICAgICAgICkKKworICAg
IGNoYWluX3N0YWNrID0gbGliLnNrX1g1MDlfbmV3X251bGwoKQorICAgIG9wZW5zc2xfYXNzZXJ0
KGNoYWluX3N0YWNrICE9IGZmaS5OVUxMLCAic2tfWDUwOV9uZXdfbnVsbCIpCisgICAgY2hhaW5f
c3RhY2sgPSBmZmkuZ2MoY2hhaW5fc3RhY2ssIGxpYi5za19YNTA5X2ZyZWUpCisgICAgZm9yIGNl
cnQgaW4gY2hhaW46CisgICAgICAgIG9wZW5zc2xfYXNzZXJ0KAorICAgICAgICAgICAgbGliLnNr
X1g1MDlfcHVzaChjaGFpbl9zdGFjaywgY2VydF94NTA5X3B0cihjZXJ0KSksICJza19YNTA5X3B1
c2giCisgICAgICAgICkKKworICAgIHN0b3JlX2N0eCA9IGxpYi5YNTA5X1NUT1JFX0NUWF9uZXco
KQorICAgIG9wZW5zc2xfYXNzZXJ0KHN0b3JlX2N0eCAhPSBmZmkuTlVMTCwgIlg1MDlfU1RPUkVf
Q1RYX25ldyIpCisgICAgc3RvcmVfY3R4ID0gZmZpLmdjKHN0b3JlX2N0eCwgbGliLlg1MDlfU1RP
UkVfQ1RYX2ZyZWUpCisgICAgb3BlbnNzbF9hc3NlcnQoCisgICAgICAgIGxpYi5YNTA5X1NUT1JF
X0NUWF9pbml0KAorICAgICAgICAgICAgc3RvcmVfY3R4LCBzdG9yZSwgY2VydF94NTA5X3B0cihj
ZXJ0aWZpY2F0ZSksIGNoYWluX3N0YWNrCisgICAgICAgICksCisgICAgICAgICJYNTA5X1NUT1JF
X0NUWF9pbml0IiwKKyAgICApCisKKyAgICByZXMgPSBsaWIuWDUwOV92ZXJpZnlfY2VydChzdG9y
ZV9jdHgpCisgICAgaWYgbm90IHJlczoKKyAgICAgICAgZXJyID0gbGliLlg1MDlfU1RPUkVfQ1RY
X2dldF9lcnJvcihzdG9yZV9jdHgpCisgICAgICAgIGVycl9zdHIgPSBvcGVuc3NsX2RlY29kZV9z
dHJpbmcobGliLlg1MDlfdmVyaWZ5X2NlcnRfZXJyb3Jfc3RyaW5nKGVycikpCisgICAgICAgIHJh
aXNlIEFsZXJ0QmFkQ2VydGlmaWNhdGUoZXJyX3N0cikKKworCitjbGFzcyBDaXBoZXJTdWl0ZShJ
bnRFbnVtKToKKyAgICBBRVNfMTI4X0dDTV9TSEEyNTYgPSAweDEzMDEKKyAgICBBRVNfMjU2X0dD
TV9TSEEzODQgPSAweDEzMDIKKyAgICBDSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYgPSAweDEzMDMK
KyAgICBFTVBUWV9SRU5FR09USUFUSU9OX0lORk9fU0NTViA9IDB4MDBGRgorCisKK2NsYXNzIENv
bXByZXNzaW9uTWV0aG9kKEludEVudW0pOgorICAgIE5VTEwgPSAwCisKKworY2xhc3MgRXh0ZW5z
aW9uVHlwZShJbnRFbnVtKToKKyAgICBTRVJWRVJfTkFNRSA9IDAKKyAgICBTVEFUVVNfUkVRVUVT
VCA9IDUKKyAgICBTVVBQT1JURURfR1JPVVBTID0gMTAKKyAgICBTSUdOQVRVUkVfQUxHT1JJVEhN
UyA9IDEzCisgICAgQUxQTiA9IDE2CisgICAgQ09NUFJFU1NfQ0VSVElGSUNBVEUgPSAyNworICAg
IFBSRV9TSEFSRURfS0VZID0gNDEKKyAgICBFQVJMWV9EQVRBID0gNDIKKyAgICBTVVBQT1JURURf
VkVSU0lPTlMgPSA0MworICAgIENPT0tJRSA9IDQ0CisgICAgUFNLX0tFWV9FWENIQU5HRV9NT0RF
UyA9IDQ1CisgICAgS0VZX1NIQVJFID0gNTEKKyAgICBRVUlDX1RSQU5TUE9SVF9QQVJBTUVURVJT
ID0gNjU0NDUKKyAgICBFTkNSWVBURURfU0VSVkVSX05BTUUgPSA2NTQ4NgorCisKK2NsYXNzIEdy
b3VwKEludEVudW0pOgorICAgIFNFQ1AyNTZSMSA9IDB4MDAxNworICAgIFNFQ1AzODRSMSA9IDB4
MDAxOAorICAgIFNFQ1A1MjFSMSA9IDB4MDAxOQorICAgIFgyNTUxOSA9IDB4MDAxRAorICAgIFg0
NDggPSAweDAwMUUKKyAgICBHUkVBU0UgPSAweEFBQUEKKworCitjbGFzcyBIYW5kc2hha2VUeXBl
KEludEVudW0pOgorICAgIENMSUVOVF9IRUxMTyA9IDEKKyAgICBTRVJWRVJfSEVMTE8gPSAyCisg
ICAgTkVXX1NFU1NJT05fVElDS0VUID0gNAorICAgIEVORF9PRl9FQVJMWV9EQVRBID0gNQorICAg
IEVOQ1JZUFRFRF9FWFRFTlNJT05TID0gOAorICAgIENFUlRJRklDQVRFID0gMTEKKyAgICBDRVJU
SUZJQ0FURV9SRVFVRVNUID0gMTMKKyAgICBDRVJUSUZJQ0FURV9WRVJJRlkgPSAxNQorICAgIEZJ
TklTSEVEID0gMjAKKyAgICBLRVlfVVBEQVRFID0gMjQKKyAgICBDT01QUkVTU0VEX0NFUlRJRklD
QVRFID0gMjUKKyAgICBNRVNTQUdFX0hBU0ggPSAyNTQKKworCitjbGFzcyBQc2tLZXlFeGNoYW5n
ZU1vZGUoSW50RW51bSk6CisgICAgUFNLX0tFID0gMAorICAgIFBTS19ESEVfS0UgPSAxCisKKwor
Y2xhc3MgU2lnbmF0dXJlQWxnb3JpdGhtKEludEVudW0pOgorICAgIEVDRFNBX1NFQ1AyNTZSMV9T
SEEyNTYgPSAweDA0MDMKKyAgICBFQ0RTQV9TRUNQMzg0UjFfU0hBMzg0ID0gMHgwNTAzCisgICAg
RUNEU0FfU0VDUDUyMVIxX1NIQTUxMiA9IDB4MDYwMworICAgIEVEMjU1MTkgPSAweDA4MDcKKyAg
ICBFRDQ0OCA9IDB4MDgwOAorICAgIFJTQV9QS0NTMV9TSEEyNTYgPSAweDA0MDEKKyAgICBSU0Ff
UEtDUzFfU0hBMzg0ID0gMHgwNTAxCisgICAgUlNBX1BLQ1MxX1NIQTUxMiA9IDB4MDYwMQorICAg
IFJTQV9QU1NfUFNTX1NIQTI1NiA9IDB4MDgwOQorICAgIFJTQV9QU1NfUFNTX1NIQTM4NCA9IDB4
MDgwQQorICAgIFJTQV9QU1NfUFNTX1NIQTUxMiA9IDB4MDgwQgorICAgIFJTQV9QU1NfUlNBRV9T
SEEyNTYgPSAweDA4MDQKKyAgICBSU0FfUFNTX1JTQUVfU0hBMzg0ID0gMHgwODA1CisgICAgUlNB
X1BTU19SU0FFX1NIQTUxMiA9IDB4MDgwNgorCisgICAgIyBsZWdhY3kKKyAgICBSU0FfUEtDUzFf
U0hBMSA9IDB4MDIwMQorICAgIFNIQTFfRFNBID0gMHgwMjAyCisgICAgRUNEU0FfU0hBMSA9IDB4
MDIwMworCisKKyMgQkxPQ0tTCisKKworQGNvbnRleHRtYW5hZ2VyCitkZWYgcHVsbF9ibG9jayhi
dWY6IEJ1ZmZlciwgY2FwYWNpdHk6IGludCkgLT4gR2VuZXJhdG9yOgorICAgIGxlbmd0aCA9IDAK
KyAgICBmb3IgYiBpbiBidWYucHVsbF9ieXRlcyhjYXBhY2l0eSk6CisgICAgICAgIGxlbmd0aCA9
IChsZW5ndGggPDwgOCkgfCBiCisgICAgZW5kID0gYnVmLnRlbGwoKSArIGxlbmd0aAorICAgIHlp
ZWxkIGxlbmd0aAorICAgIGFzc2VydCBidWYudGVsbCgpID09IGVuZAorCisKK0Bjb250ZXh0bWFu
YWdlcgorZGVmIHB1c2hfYmxvY2soYnVmOiBCdWZmZXIsIGNhcGFjaXR5OiBpbnQpIC0+IEdlbmVy
YXRvcjoKKyAgICAiIiIKKyAgICBDb250ZXh0IG1hbmFnZXIgdG8gcHVzaCBhIHZhcmlhYmxlLWxl
bmd0aCBibG9jaywgd2l0aCBgY2FwYWNpdHlgIGJ5dGVzCisgICAgdG8gd3JpdGUgdGhlIGxlbmd0
aC4KKyAgICAiIiIKKyAgICBzdGFydCA9IGJ1Zi50ZWxsKCkgKyBjYXBhY2l0eQorICAgIGJ1Zi5z
ZWVrKHN0YXJ0KQorICAgIHlpZWxkCisgICAgZW5kID0gYnVmLnRlbGwoKQorICAgIGxlbmd0aCA9
IGVuZCAtIHN0YXJ0CisgICAgd2hpbGUgY2FwYWNpdHk6CisgICAgICAgIGJ1Zi5zZWVrKHN0YXJ0
IC0gY2FwYWNpdHkpCisgICAgICAgIGJ1Zi5wdXNoX3VpbnQ4KChsZW5ndGggPj4gKDggKiAoY2Fw
YWNpdHkgLSAxKSkpICYgMHhGRikKKyAgICAgICAgY2FwYWNpdHkgLT0gMQorICAgIGJ1Zi5zZWVr
KGVuZCkKKworCisjIExJU1RTCisKKworZGVmIHB1bGxfbGlzdChidWY6IEJ1ZmZlciwgY2FwYWNp
dHk6IGludCwgZnVuYzogQ2FsbGFibGVbW10sIFRdKSAtPiBMaXN0W1RdOgorICAgICIiIgorICAg
IFB1bGwgYSBsaXN0IG9mIGl0ZW1zLgorICAgICIiIgorICAgIGl0ZW1zID0gW10KKyAgICB3aXRo
IHB1bGxfYmxvY2soYnVmLCBjYXBhY2l0eSkgYXMgbGVuZ3RoOgorICAgICAgICBlbmQgPSBidWYu
dGVsbCgpICsgbGVuZ3RoCisgICAgICAgIHdoaWxlIGJ1Zi50ZWxsKCkgPCBlbmQ6CisgICAgICAg
ICAgICBpdGVtcy5hcHBlbmQoZnVuYygpKQorICAgIHJldHVybiBpdGVtcworCisKK2RlZiBwdXNo
X2xpc3QoCisgICAgYnVmOiBCdWZmZXIsIGNhcGFjaXR5OiBpbnQsIGZ1bmM6IENhbGxhYmxlW1tU
XSwgTm9uZV0sIHZhbHVlczogU2VxdWVuY2VbVF0KKykgLT4gTm9uZToKKyAgICAiIiIKKyAgICBQ
dXNoIGEgbGlzdCBvZiBpdGVtcy4KKyAgICAiIiIKKyAgICB3aXRoIHB1c2hfYmxvY2soYnVmLCBj
YXBhY2l0eSk6CisgICAgICAgIGZvciB2YWx1ZSBpbiB2YWx1ZXM6CisgICAgICAgICAgICBmdW5j
KHZhbHVlKQorCisKK2RlZiBwdWxsX29wYXF1ZShidWY6IEJ1ZmZlciwgY2FwYWNpdHk6IGludCkg
LT4gYnl0ZXM6CisgICAgIiIiCisgICAgUHVsbCBhbiBvcGFxdWUgdmFsdWUgcHJlZml4ZWQgYnkg
YSBsZW5ndGguCisgICAgIiIiCisgICAgd2l0aCBwdWxsX2Jsb2NrKGJ1ZiwgY2FwYWNpdHkpIGFz
IGxlbmd0aDoKKyAgICAgICAgcmV0dXJuIGJ1Zi5wdWxsX2J5dGVzKGxlbmd0aCkKKworCitkZWYg
cHVzaF9vcGFxdWUoYnVmOiBCdWZmZXIsIGNhcGFjaXR5OiBpbnQsIHZhbHVlOiBieXRlcykgLT4g
Tm9uZToKKyAgICAiIiIKKyAgICBQdXNoIGFuIG9wYXF1ZSB2YWx1ZSBwcmVmaXggYnkgYSBsZW5n
dGguCisgICAgIiIiCisgICAgd2l0aCBwdXNoX2Jsb2NrKGJ1ZiwgY2FwYWNpdHkpOgorICAgICAg
ICBidWYucHVzaF9ieXRlcyh2YWx1ZSkKKworCitAY29udGV4dG1hbmFnZXIKK2RlZiBwdXNoX2V4
dGVuc2lvbihidWY6IEJ1ZmZlciwgZXh0ZW5zaW9uX3R5cGU6IGludCkgLT4gR2VuZXJhdG9yOgor
ICAgIGJ1Zi5wdXNoX3VpbnQxNihleHRlbnNpb25fdHlwZSkKKyAgICB3aXRoIHB1c2hfYmxvY2so
YnVmLCAyKToKKyAgICAgICAgeWllbGQKKworCisjIEtleVNoYXJlRW50cnkKKworCitLZXlTaGFy
ZUVudHJ5ID0gVHVwbGVbaW50LCBieXRlc10KKworCitkZWYgcHVsbF9rZXlfc2hhcmUoYnVmOiBC
dWZmZXIpIC0+IEtleVNoYXJlRW50cnk6CisgICAgZ3JvdXAgPSBidWYucHVsbF91aW50MTYoKQor
ICAgIGRhdGEgPSBwdWxsX29wYXF1ZShidWYsIDIpCisgICAgcmV0dXJuIChncm91cCwgZGF0YSkK
KworCitkZWYgcHVzaF9rZXlfc2hhcmUoYnVmOiBCdWZmZXIsIHZhbHVlOiBLZXlTaGFyZUVudHJ5
KSAtPiBOb25lOgorICAgIGJ1Zi5wdXNoX3VpbnQxNih2YWx1ZVswXSkKKyAgICBwdXNoX29wYXF1
ZShidWYsIDIsIHZhbHVlWzFdKQorCisKKyMgQUxQTgorCisKK2RlZiBwdWxsX2FscG5fcHJvdG9j
b2woYnVmOiBCdWZmZXIpIC0+IHN0cjoKKyAgICByZXR1cm4gcHVsbF9vcGFxdWUoYnVmLCAxKS5k
ZWNvZGUoImFzY2lpIikKKworCitkZWYgcHVzaF9hbHBuX3Byb3RvY29sKGJ1ZjogQnVmZmVyLCBw
cm90b2NvbDogc3RyKSAtPiBOb25lOgorICAgIHB1c2hfb3BhcXVlKGJ1ZiwgMSwgcHJvdG9jb2wu
ZW5jb2RlKCJhc2NpaSIpKQorCisKKyMgUFJFIFNIQVJFRCBLRVkKKworUHNrSWRlbnRpdHkgPSBU
dXBsZVtieXRlcywgaW50XQorCisKK2RlZiBwdWxsX3Bza19pZGVudGl0eShidWY6IEJ1ZmZlcikg
LT4gUHNrSWRlbnRpdHk6CisgICAgaWRlbnRpdHkgPSBwdWxsX29wYXF1ZShidWYsIDIpCisgICAg
b2JmdXNjYXRlZF90aWNrZXRfYWdlID0gYnVmLnB1bGxfdWludDMyKCkKKyAgICByZXR1cm4gKGlk
ZW50aXR5LCBvYmZ1c2NhdGVkX3RpY2tldF9hZ2UpCisKKworZGVmIHB1c2hfcHNrX2lkZW50aXR5
KGJ1ZjogQnVmZmVyLCBlbnRyeTogUHNrSWRlbnRpdHkpIC0+IE5vbmU6CisgICAgcHVzaF9vcGFx
dWUoYnVmLCAyLCBlbnRyeVswXSkKKyAgICBidWYucHVzaF91aW50MzIoZW50cnlbMV0pCisKKwor
ZGVmIHB1bGxfcHNrX2JpbmRlcihidWY6IEJ1ZmZlcikgLT4gYnl0ZXM6CisgICAgcmV0dXJuIHB1
bGxfb3BhcXVlKGJ1ZiwgMSkKKworCitkZWYgcHVzaF9wc2tfYmluZGVyKGJ1ZjogQnVmZmVyLCBi
aW5kZXI6IGJ5dGVzKSAtPiBOb25lOgorICAgIHB1c2hfb3BhcXVlKGJ1ZiwgMSwgYmluZGVyKQor
CisKKyMgTUVTU0FHRVMKKworRXh0ZW5zaW9uID0gVHVwbGVbaW50LCBieXRlc10KKworCitAZGF0
YWNsYXNzCitjbGFzcyBPZmZlcmVkUHNrczoKKyAgICBpZGVudGl0aWVzOiBMaXN0W1Bza0lkZW50
aXR5XQorICAgIGJpbmRlcnM6IExpc3RbYnl0ZXNdCisKKworQGRhdGFjbGFzcworY2xhc3MgQ2xp
ZW50SGVsbG86CisgICAgcmFuZG9tOiBieXRlcworICAgIHNlc3Npb25faWQ6IGJ5dGVzCisgICAg
Y2lwaGVyX3N1aXRlczogTGlzdFtpbnRdCisgICAgY29tcHJlc3Npb25fbWV0aG9kczogTGlzdFtp
bnRdCisKKyAgICAjIGV4dGVuc2lvbnMKKyAgICBhbHBuX3Byb3RvY29sczogT3B0aW9uYWxbTGlz
dFtzdHJdXSA9IE5vbmUKKyAgICBlYXJseV9kYXRhOiBib29sID0gRmFsc2UKKyAgICBrZXlfc2hh
cmU6IE9wdGlvbmFsW0xpc3RbS2V5U2hhcmVFbnRyeV1dID0gTm9uZQorICAgIHByZV9zaGFyZWRf
a2V5OiBPcHRpb25hbFtPZmZlcmVkUHNrc10gPSBOb25lCisgICAgcHNrX2tleV9leGNoYW5nZV9t
b2RlczogT3B0aW9uYWxbTGlzdFtpbnRdXSA9IE5vbmUKKyAgICBzZXJ2ZXJfbmFtZTogT3B0aW9u
YWxbc3RyXSA9IE5vbmUKKyAgICBzaWduYXR1cmVfYWxnb3JpdGhtczogT3B0aW9uYWxbTGlzdFtp
bnRdXSA9IE5vbmUKKyAgICBzdXBwb3J0ZWRfZ3JvdXBzOiBPcHRpb25hbFtMaXN0W2ludF1dID0g
Tm9uZQorICAgIHN1cHBvcnRlZF92ZXJzaW9uczogT3B0aW9uYWxbTGlzdFtpbnRdXSA9IE5vbmUK
KworICAgIG90aGVyX2V4dGVuc2lvbnM6IExpc3RbRXh0ZW5zaW9uXSA9IGZpZWxkKGRlZmF1bHRf
ZmFjdG9yeT1saXN0KQorCisKK2RlZiBwdWxsX2NsaWVudF9oZWxsbyhidWY6IEJ1ZmZlcikgLT4g
Q2xpZW50SGVsbG86CisgICAgYXNzZXJ0IGJ1Zi5wdWxsX3VpbnQ4KCkgPT0gSGFuZHNoYWtlVHlw
ZS5DTElFTlRfSEVMTE8KKyAgICB3aXRoIHB1bGxfYmxvY2soYnVmLCAzKToKKyAgICAgICAgYXNz
ZXJ0IGJ1Zi5wdWxsX3VpbnQxNigpID09IFRMU19WRVJTSU9OXzFfMgorICAgICAgICBjbGllbnRf
cmFuZG9tID0gYnVmLnB1bGxfYnl0ZXMoMzIpCisKKyAgICAgICAgaGVsbG8gPSBDbGllbnRIZWxs
bygKKyAgICAgICAgICAgIHJhbmRvbT1jbGllbnRfcmFuZG9tLAorICAgICAgICAgICAgc2Vzc2lv
bl9pZD1wdWxsX29wYXF1ZShidWYsIDEpLAorICAgICAgICAgICAgY2lwaGVyX3N1aXRlcz1wdWxs
X2xpc3QoYnVmLCAyLCBidWYucHVsbF91aW50MTYpLAorICAgICAgICAgICAgY29tcHJlc3Npb25f
bWV0aG9kcz1wdWxsX2xpc3QoYnVmLCAxLCBidWYucHVsbF91aW50OCksCisgICAgICAgICkKKwor
ICAgICAgICAjIGV4dGVuc2lvbnMKKyAgICAgICAgYWZ0ZXJfcHNrID0gRmFsc2UKKworICAgICAg
ICBkZWYgcHVsbF9leHRlbnNpb24oKSAtPiBOb25lOgorICAgICAgICAgICAgIyBwcmVfc2hhcmVk
X2tleSBNVVNUIGJlIGxhc3QKKyAgICAgICAgICAgIG5vbmxvY2FsIGFmdGVyX3BzaworICAgICAg
ICAgICAgYXNzZXJ0IG5vdCBhZnRlcl9wc2sKKworICAgICAgICAgICAgZXh0ZW5zaW9uX3R5cGUg
PSBidWYucHVsbF91aW50MTYoKQorICAgICAgICAgICAgZXh0ZW5zaW9uX2xlbmd0aCA9IGJ1Zi5w
dWxsX3VpbnQxNigpCisgICAgICAgICAgICBpZiBleHRlbnNpb25fdHlwZSA9PSBFeHRlbnNpb25U
eXBlLktFWV9TSEFSRToKKyAgICAgICAgICAgICAgICBoZWxsby5rZXlfc2hhcmUgPSBwdWxsX2xp
c3QoYnVmLCAyLCBwYXJ0aWFsKHB1bGxfa2V5X3NoYXJlLCBidWYpKQorICAgICAgICAgICAgZWxp
ZiBleHRlbnNpb25fdHlwZSA9PSBFeHRlbnNpb25UeXBlLlNVUFBPUlRFRF9WRVJTSU9OUzoKKyAg
ICAgICAgICAgICAgICBoZWxsby5zdXBwb3J0ZWRfdmVyc2lvbnMgPSBwdWxsX2xpc3QoYnVmLCAx
LCBidWYucHVsbF91aW50MTYpCisgICAgICAgICAgICBlbGlmIGV4dGVuc2lvbl90eXBlID09IEV4
dGVuc2lvblR5cGUuU0lHTkFUVVJFX0FMR09SSVRITVM6CisgICAgICAgICAgICAgICAgaGVsbG8u
c2lnbmF0dXJlX2FsZ29yaXRobXMgPSBwdWxsX2xpc3QoYnVmLCAyLCBidWYucHVsbF91aW50MTYp
CisgICAgICAgICAgICBlbGlmIGV4dGVuc2lvbl90eXBlID09IEV4dGVuc2lvblR5cGUuU1VQUE9S
VEVEX0dST1VQUzoKKyAgICAgICAgICAgICAgICBoZWxsby5zdXBwb3J0ZWRfZ3JvdXBzID0gcHVs
bF9saXN0KGJ1ZiwgMiwgYnVmLnB1bGxfdWludDE2KQorICAgICAgICAgICAgZWxpZiBleHRlbnNp
b25fdHlwZSA9PSBFeHRlbnNpb25UeXBlLlBTS19LRVlfRVhDSEFOR0VfTU9ERVM6CisgICAgICAg
ICAgICAgICAgaGVsbG8ucHNrX2tleV9leGNoYW5nZV9tb2RlcyA9IHB1bGxfbGlzdChidWYsIDEs
IGJ1Zi5wdWxsX3VpbnQ4KQorICAgICAgICAgICAgZWxpZiBleHRlbnNpb25fdHlwZSA9PSBFeHRl
bnNpb25UeXBlLlNFUlZFUl9OQU1FOgorICAgICAgICAgICAgICAgIHdpdGggcHVsbF9ibG9jayhi
dWYsIDIpOgorICAgICAgICAgICAgICAgICAgICBhc3NlcnQgYnVmLnB1bGxfdWludDgoKSA9PSAw
CisgICAgICAgICAgICAgICAgICAgIGhlbGxvLnNlcnZlcl9uYW1lID0gcHVsbF9vcGFxdWUoYnVm
LCAyKS5kZWNvZGUoImFzY2lpIikKKyAgICAgICAgICAgIGVsaWYgZXh0ZW5zaW9uX3R5cGUgPT0g
RXh0ZW5zaW9uVHlwZS5BTFBOOgorICAgICAgICAgICAgICAgIGhlbGxvLmFscG5fcHJvdG9jb2xz
ID0gcHVsbF9saXN0KAorICAgICAgICAgICAgICAgICAgICBidWYsIDIsIHBhcnRpYWwocHVsbF9h
bHBuX3Byb3RvY29sLCBidWYpCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgZWxpZiBl
eHRlbnNpb25fdHlwZSA9PSBFeHRlbnNpb25UeXBlLkVBUkxZX0RBVEE6CisgICAgICAgICAgICAg
ICAgaGVsbG8uZWFybHlfZGF0YSA9IFRydWUKKyAgICAgICAgICAgIGVsaWYgZXh0ZW5zaW9uX3R5
cGUgPT0gRXh0ZW5zaW9uVHlwZS5QUkVfU0hBUkVEX0tFWToKKyAgICAgICAgICAgICAgICBoZWxs
by5wcmVfc2hhcmVkX2tleSA9IE9mZmVyZWRQc2tzKAorICAgICAgICAgICAgICAgICAgICBpZGVu
dGl0aWVzPXB1bGxfbGlzdChidWYsIDIsIHBhcnRpYWwocHVsbF9wc2tfaWRlbnRpdHksIGJ1Zikp
LAorICAgICAgICAgICAgICAgICAgICBiaW5kZXJzPXB1bGxfbGlzdChidWYsIDIsIHBhcnRpYWwo
cHVsbF9wc2tfYmluZGVyLCBidWYpKSwKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAg
ICAgYWZ0ZXJfcHNrID0gVHJ1ZQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBo
ZWxsby5vdGhlcl9leHRlbnNpb25zLmFwcGVuZCgKKyAgICAgICAgICAgICAgICAgICAgKGV4dGVu
c2lvbl90eXBlLCBidWYucHVsbF9ieXRlcyhleHRlbnNpb25fbGVuZ3RoKSkKKyAgICAgICAgICAg
ICAgICApCisKKyAgICAgICAgcHVsbF9saXN0KGJ1ZiwgMiwgcHVsbF9leHRlbnNpb24pCisKKyAg
ICByZXR1cm4gaGVsbG8KKworCitkZWYgcHVzaF9jbGllbnRfaGVsbG8oYnVmOiBCdWZmZXIsIGhl
bGxvOiBDbGllbnRIZWxsbykgLT4gTm9uZToKKyAgICBidWYucHVzaF91aW50OChIYW5kc2hha2VU
eXBlLkNMSUVOVF9IRUxMTykKKyAgICB3aXRoIHB1c2hfYmxvY2soYnVmLCAzKToKKyAgICAgICAg
YnVmLnB1c2hfdWludDE2KFRMU19WRVJTSU9OXzFfMikKKyAgICAgICAgYnVmLnB1c2hfYnl0ZXMo
aGVsbG8ucmFuZG9tKQorICAgICAgICBwdXNoX29wYXF1ZShidWYsIDEsIGhlbGxvLnNlc3Npb25f
aWQpCisgICAgICAgIHB1c2hfbGlzdChidWYsIDIsIGJ1Zi5wdXNoX3VpbnQxNiwgaGVsbG8uY2lw
aGVyX3N1aXRlcykKKyAgICAgICAgcHVzaF9saXN0KGJ1ZiwgMSwgYnVmLnB1c2hfdWludDgsIGhl
bGxvLmNvbXByZXNzaW9uX21ldGhvZHMpCisKKyAgICAgICAgIyBleHRlbnNpb25zCisgICAgICAg
IHdpdGggcHVzaF9ibG9jayhidWYsIDIpOgorICAgICAgICAgICAgd2l0aCBwdXNoX2V4dGVuc2lv
bihidWYsIEV4dGVuc2lvblR5cGUuS0VZX1NIQVJFKToKKyAgICAgICAgICAgICAgICBwdXNoX2xp
c3QoYnVmLCAyLCBwYXJ0aWFsKHB1c2hfa2V5X3NoYXJlLCBidWYpLCBoZWxsby5rZXlfc2hhcmUp
CisKKyAgICAgICAgICAgIHdpdGggcHVzaF9leHRlbnNpb24oYnVmLCBFeHRlbnNpb25UeXBlLlNV
UFBPUlRFRF9WRVJTSU9OUyk6CisgICAgICAgICAgICAgICAgcHVzaF9saXN0KGJ1ZiwgMSwgYnVm
LnB1c2hfdWludDE2LCBoZWxsby5zdXBwb3J0ZWRfdmVyc2lvbnMpCisKKyAgICAgICAgICAgIHdp
dGggcHVzaF9leHRlbnNpb24oYnVmLCBFeHRlbnNpb25UeXBlLlNJR05BVFVSRV9BTEdPUklUSE1T
KToKKyAgICAgICAgICAgICAgICBwdXNoX2xpc3QoYnVmLCAyLCBidWYucHVzaF91aW50MTYsIGhl
bGxvLnNpZ25hdHVyZV9hbGdvcml0aG1zKQorCisgICAgICAgICAgICB3aXRoIHB1c2hfZXh0ZW5z
aW9uKGJ1ZiwgRXh0ZW5zaW9uVHlwZS5TVVBQT1JURURfR1JPVVBTKToKKyAgICAgICAgICAgICAg
ICBwdXNoX2xpc3QoYnVmLCAyLCBidWYucHVzaF91aW50MTYsIGhlbGxvLnN1cHBvcnRlZF9ncm91
cHMpCisKKyAgICAgICAgICAgIGlmIGhlbGxvLnBza19rZXlfZXhjaGFuZ2VfbW9kZXMgaXMgbm90
IE5vbmU6CisgICAgICAgICAgICAgICAgd2l0aCBwdXNoX2V4dGVuc2lvbihidWYsIEV4dGVuc2lv
blR5cGUuUFNLX0tFWV9FWENIQU5HRV9NT0RFUyk6CisgICAgICAgICAgICAgICAgICAgIHB1c2hf
bGlzdChidWYsIDEsIGJ1Zi5wdXNoX3VpbnQ4LCBoZWxsby5wc2tfa2V5X2V4Y2hhbmdlX21vZGVz
KQorCisgICAgICAgICAgICBpZiBoZWxsby5zZXJ2ZXJfbmFtZSBpcyBub3QgTm9uZToKKyAgICAg
ICAgICAgICAgICB3aXRoIHB1c2hfZXh0ZW5zaW9uKGJ1ZiwgRXh0ZW5zaW9uVHlwZS5TRVJWRVJf
TkFNRSk6CisgICAgICAgICAgICAgICAgICAgIHdpdGggcHVzaF9ibG9jayhidWYsIDIpOgorICAg
ICAgICAgICAgICAgICAgICAgICAgYnVmLnB1c2hfdWludDgoMCkKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHB1c2hfb3BhcXVlKGJ1ZiwgMiwgaGVsbG8uc2VydmVyX25hbWUuZW5jb2RlKCJhc2Np
aSIpKQorCisgICAgICAgICAgICBpZiBoZWxsby5hbHBuX3Byb3RvY29scyBpcyBub3QgTm9uZToK
KyAgICAgICAgICAgICAgICB3aXRoIHB1c2hfZXh0ZW5zaW9uKGJ1ZiwgRXh0ZW5zaW9uVHlwZS5B
TFBOKToKKyAgICAgICAgICAgICAgICAgICAgcHVzaF9saXN0KAorICAgICAgICAgICAgICAgICAg
ICAgICAgYnVmLCAyLCBwYXJ0aWFsKHB1c2hfYWxwbl9wcm90b2NvbCwgYnVmKSwgaGVsbG8uYWxw
bl9wcm90b2NvbHMKKyAgICAgICAgICAgICAgICAgICAgKQorCisgICAgICAgICAgICBmb3IgZXh0
ZW5zaW9uX3R5cGUsIGV4dGVuc2lvbl92YWx1ZSBpbiBoZWxsby5vdGhlcl9leHRlbnNpb25zOgor
ICAgICAgICAgICAgICAgIHdpdGggcHVzaF9leHRlbnNpb24oYnVmLCBleHRlbnNpb25fdHlwZSk6
CisgICAgICAgICAgICAgICAgICAgIGJ1Zi5wdXNoX2J5dGVzKGV4dGVuc2lvbl92YWx1ZSkKKwor
ICAgICAgICAgICAgaWYgaGVsbG8uZWFybHlfZGF0YToKKyAgICAgICAgICAgICAgICB3aXRoIHB1
c2hfZXh0ZW5zaW9uKGJ1ZiwgRXh0ZW5zaW9uVHlwZS5FQVJMWV9EQVRBKToKKyAgICAgICAgICAg
ICAgICAgICAgcGFzcworCisgICAgICAgICAgICAjIHByZV9zaGFyZWRfa2V5IE1VU1QgYmUgbGFz
dAorICAgICAgICAgICAgaWYgaGVsbG8ucHJlX3NoYXJlZF9rZXkgaXMgbm90IE5vbmU6CisgICAg
ICAgICAgICAgICAgd2l0aCBwdXNoX2V4dGVuc2lvbihidWYsIEV4dGVuc2lvblR5cGUuUFJFX1NI
QVJFRF9LRVkpOgorICAgICAgICAgICAgICAgICAgICBwdXNoX2xpc3QoCisgICAgICAgICAgICAg
ICAgICAgICAgICBidWYsCisgICAgICAgICAgICAgICAgICAgICAgICAyLAorICAgICAgICAgICAg
ICAgICAgICAgICAgcGFydGlhbChwdXNoX3Bza19pZGVudGl0eSwgYnVmKSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGhlbGxvLnByZV9zaGFyZWRfa2V5LmlkZW50aXRpZXMsCisgICAgICAgICAg
ICAgICAgICAgICkKKyAgICAgICAgICAgICAgICAgICAgcHVzaF9saXN0KAorICAgICAgICAgICAg
ICAgICAgICAgICAgYnVmLAorICAgICAgICAgICAgICAgICAgICAgICAgMiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHBhcnRpYWwocHVzaF9wc2tfYmluZGVyLCBidWYpLAorICAgICAgICAgICAg
ICAgICAgICAgICAgaGVsbG8ucHJlX3NoYXJlZF9rZXkuYmluZGVycywKKyAgICAgICAgICAgICAg
ICAgICAgKQorCisKK0BkYXRhY2xhc3MKK2NsYXNzIFNlcnZlckhlbGxvOgorICAgIHJhbmRvbTog
Ynl0ZXMKKyAgICBzZXNzaW9uX2lkOiBieXRlcworICAgIGNpcGhlcl9zdWl0ZTogaW50CisgICAg
Y29tcHJlc3Npb25fbWV0aG9kOiBpbnQKKworICAgICMgZXh0ZW5zaW9ucworICAgIGtleV9zaGFy
ZTogT3B0aW9uYWxbS2V5U2hhcmVFbnRyeV0gPSBOb25lCisgICAgcHJlX3NoYXJlZF9rZXk6IE9w
dGlvbmFsW2ludF0gPSBOb25lCisgICAgc3VwcG9ydGVkX3ZlcnNpb246IE9wdGlvbmFsW2ludF0g
PSBOb25lCisgICAgb3RoZXJfZXh0ZW5zaW9uczogTGlzdFtUdXBsZVtpbnQsIGJ5dGVzXV0gPSBm
aWVsZChkZWZhdWx0X2ZhY3Rvcnk9bGlzdCkKKworCitkZWYgcHVsbF9zZXJ2ZXJfaGVsbG8oYnVm
OiBCdWZmZXIpIC0+IFNlcnZlckhlbGxvOgorICAgIGFzc2VydCBidWYucHVsbF91aW50OCgpID09
IEhhbmRzaGFrZVR5cGUuU0VSVkVSX0hFTExPCisgICAgd2l0aCBwdWxsX2Jsb2NrKGJ1ZiwgMyk6
CisgICAgICAgIGFzc2VydCBidWYucHVsbF91aW50MTYoKSA9PSBUTFNfVkVSU0lPTl8xXzIKKyAg
ICAgICAgc2VydmVyX3JhbmRvbSA9IGJ1Zi5wdWxsX2J5dGVzKDMyKQorCisgICAgICAgIGhlbGxv
ID0gU2VydmVySGVsbG8oCisgICAgICAgICAgICByYW5kb209c2VydmVyX3JhbmRvbSwKKyAgICAg
ICAgICAgIHNlc3Npb25faWQ9cHVsbF9vcGFxdWUoYnVmLCAxKSwKKyAgICAgICAgICAgIGNpcGhl
cl9zdWl0ZT1idWYucHVsbF91aW50MTYoKSwKKyAgICAgICAgICAgIGNvbXByZXNzaW9uX21ldGhv
ZD1idWYucHVsbF91aW50OCgpLAorICAgICAgICApCisKKyAgICAgICAgIyBleHRlbnNpb25zCisg
ICAgICAgIGRlZiBwdWxsX2V4dGVuc2lvbigpIC0+IE5vbmU6CisgICAgICAgICAgICBleHRlbnNp
b25fdHlwZSA9IGJ1Zi5wdWxsX3VpbnQxNigpCisgICAgICAgICAgICBleHRlbnNpb25fbGVuZ3Ro
ID0gYnVmLnB1bGxfdWludDE2KCkKKyAgICAgICAgICAgIGlmIGV4dGVuc2lvbl90eXBlID09IEV4
dGVuc2lvblR5cGUuU1VQUE9SVEVEX1ZFUlNJT05TOgorICAgICAgICAgICAgICAgIGhlbGxvLnN1
cHBvcnRlZF92ZXJzaW9uID0gYnVmLnB1bGxfdWludDE2KCkKKyAgICAgICAgICAgIGVsaWYgZXh0
ZW5zaW9uX3R5cGUgPT0gRXh0ZW5zaW9uVHlwZS5LRVlfU0hBUkU6CisgICAgICAgICAgICAgICAg
aGVsbG8ua2V5X3NoYXJlID0gcHVsbF9rZXlfc2hhcmUoYnVmKQorICAgICAgICAgICAgZWxpZiBl
eHRlbnNpb25fdHlwZSA9PSBFeHRlbnNpb25UeXBlLlBSRV9TSEFSRURfS0VZOgorICAgICAgICAg
ICAgICAgIGhlbGxvLnByZV9zaGFyZWRfa2V5ID0gYnVmLnB1bGxfdWludDE2KCkKKyAgICAgICAg
ICAgIGVsc2U6CisgICAgICAgICAgICAgICAgaGVsbG8ub3RoZXJfZXh0ZW5zaW9ucy5hcHBlbmQo
CisgICAgICAgICAgICAgICAgICAgIChleHRlbnNpb25fdHlwZSwgYnVmLnB1bGxfYnl0ZXMoZXh0
ZW5zaW9uX2xlbmd0aCkpCisgICAgICAgICAgICAgICAgKQorCisgICAgICAgIHB1bGxfbGlzdChi
dWYsIDIsIHB1bGxfZXh0ZW5zaW9uKQorCisgICAgcmV0dXJuIGhlbGxvCisKKworZGVmIHB1c2hf
c2VydmVyX2hlbGxvKGJ1ZjogQnVmZmVyLCBoZWxsbzogU2VydmVySGVsbG8pIC0+IE5vbmU6Cisg
ICAgYnVmLnB1c2hfdWludDgoSGFuZHNoYWtlVHlwZS5TRVJWRVJfSEVMTE8pCisgICAgd2l0aCBw
dXNoX2Jsb2NrKGJ1ZiwgMyk6CisgICAgICAgIGJ1Zi5wdXNoX3VpbnQxNihUTFNfVkVSU0lPTl8x
XzIpCisgICAgICAgIGJ1Zi5wdXNoX2J5dGVzKGhlbGxvLnJhbmRvbSkKKworICAgICAgICBwdXNo
X29wYXF1ZShidWYsIDEsIGhlbGxvLnNlc3Npb25faWQpCisgICAgICAgIGJ1Zi5wdXNoX3VpbnQx
NihoZWxsby5jaXBoZXJfc3VpdGUpCisgICAgICAgIGJ1Zi5wdXNoX3VpbnQ4KGhlbGxvLmNvbXBy
ZXNzaW9uX21ldGhvZCkKKworICAgICAgICAjIGV4dGVuc2lvbnMKKyAgICAgICAgd2l0aCBwdXNo
X2Jsb2NrKGJ1ZiwgMik6CisgICAgICAgICAgICBpZiBoZWxsby5zdXBwb3J0ZWRfdmVyc2lvbiBp
cyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICB3aXRoIHB1c2hfZXh0ZW5zaW9uKGJ1ZiwgRXh0
ZW5zaW9uVHlwZS5TVVBQT1JURURfVkVSU0lPTlMpOgorICAgICAgICAgICAgICAgICAgICBidWYu
cHVzaF91aW50MTYoaGVsbG8uc3VwcG9ydGVkX3ZlcnNpb24pCisKKyAgICAgICAgICAgIGlmIGhl
bGxvLmtleV9zaGFyZSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICB3aXRoIHB1c2hfZXh0
ZW5zaW9uKGJ1ZiwgRXh0ZW5zaW9uVHlwZS5LRVlfU0hBUkUpOgorICAgICAgICAgICAgICAgICAg
ICBwdXNoX2tleV9zaGFyZShidWYsIGhlbGxvLmtleV9zaGFyZSkKKworICAgICAgICAgICAgaWYg
aGVsbG8ucHJlX3NoYXJlZF9rZXkgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgd2l0aCBw
dXNoX2V4dGVuc2lvbihidWYsIEV4dGVuc2lvblR5cGUuUFJFX1NIQVJFRF9LRVkpOgorICAgICAg
ICAgICAgICAgICAgICBidWYucHVzaF91aW50MTYoaGVsbG8ucHJlX3NoYXJlZF9rZXkpCisKKyAg
ICAgICAgICAgIGZvciBleHRlbnNpb25fdHlwZSwgZXh0ZW5zaW9uX3ZhbHVlIGluIGhlbGxvLm90
aGVyX2V4dGVuc2lvbnM6CisgICAgICAgICAgICAgICAgd2l0aCBwdXNoX2V4dGVuc2lvbihidWYs
IGV4dGVuc2lvbl90eXBlKToKKyAgICAgICAgICAgICAgICAgICAgYnVmLnB1c2hfYnl0ZXMoZXh0
ZW5zaW9uX3ZhbHVlKQorCisKK0BkYXRhY2xhc3MKK2NsYXNzIE5ld1Nlc3Npb25UaWNrZXQ6Cisg
ICAgdGlja2V0X2xpZmV0aW1lOiBpbnQgPSAwCisgICAgdGlja2V0X2FnZV9hZGQ6IGludCA9IDAK
KyAgICB0aWNrZXRfbm9uY2U6IGJ5dGVzID0gYiIiCisgICAgdGlja2V0OiBieXRlcyA9IGIiIgor
CisgICAgIyBleHRlbnNpb25zCisgICAgbWF4X2Vhcmx5X2RhdGFfc2l6ZTogT3B0aW9uYWxbaW50
XSA9IE5vbmUKKyAgICBvdGhlcl9leHRlbnNpb25zOiBMaXN0W1R1cGxlW2ludCwgYnl0ZXNdXSA9
IGZpZWxkKGRlZmF1bHRfZmFjdG9yeT1saXN0KQorCisKK2RlZiBwdWxsX25ld19zZXNzaW9uX3Rp
Y2tldChidWY6IEJ1ZmZlcikgLT4gTmV3U2Vzc2lvblRpY2tldDoKKyAgICBuZXdfc2Vzc2lvbl90
aWNrZXQgPSBOZXdTZXNzaW9uVGlja2V0KCkKKworICAgIGFzc2VydCBidWYucHVsbF91aW50OCgp
ID09IEhhbmRzaGFrZVR5cGUuTkVXX1NFU1NJT05fVElDS0VUCisgICAgd2l0aCBwdWxsX2Jsb2Nr
KGJ1ZiwgMyk6CisgICAgICAgIG5ld19zZXNzaW9uX3RpY2tldC50aWNrZXRfbGlmZXRpbWUgPSBi
dWYucHVsbF91aW50MzIoKQorICAgICAgICBuZXdfc2Vzc2lvbl90aWNrZXQudGlja2V0X2FnZV9h
ZGQgPSBidWYucHVsbF91aW50MzIoKQorICAgICAgICBuZXdfc2Vzc2lvbl90aWNrZXQudGlja2V0
X25vbmNlID0gcHVsbF9vcGFxdWUoYnVmLCAxKQorICAgICAgICBuZXdfc2Vzc2lvbl90aWNrZXQu
dGlja2V0ID0gcHVsbF9vcGFxdWUoYnVmLCAyKQorCisgICAgICAgIGRlZiBwdWxsX2V4dGVuc2lv
bigpIC0+IE5vbmU6CisgICAgICAgICAgICBleHRlbnNpb25fdHlwZSA9IGJ1Zi5wdWxsX3VpbnQx
NigpCisgICAgICAgICAgICBleHRlbnNpb25fbGVuZ3RoID0gYnVmLnB1bGxfdWludDE2KCkKKyAg
ICAgICAgICAgIGlmIGV4dGVuc2lvbl90eXBlID09IEV4dGVuc2lvblR5cGUuRUFSTFlfREFUQToK
KyAgICAgICAgICAgICAgICBuZXdfc2Vzc2lvbl90aWNrZXQubWF4X2Vhcmx5X2RhdGFfc2l6ZSA9
IGJ1Zi5wdWxsX3VpbnQzMigpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIG5l
d19zZXNzaW9uX3RpY2tldC5vdGhlcl9leHRlbnNpb25zLmFwcGVuZCgKKyAgICAgICAgICAgICAg
ICAgICAgKGV4dGVuc2lvbl90eXBlLCBidWYucHVsbF9ieXRlcyhleHRlbnNpb25fbGVuZ3RoKSkK
KyAgICAgICAgICAgICAgICApCisKKyAgICAgICAgcHVsbF9saXN0KGJ1ZiwgMiwgcHVsbF9leHRl
bnNpb24pCisKKyAgICByZXR1cm4gbmV3X3Nlc3Npb25fdGlja2V0CisKKworZGVmIHB1c2hfbmV3
X3Nlc3Npb25fdGlja2V0KGJ1ZjogQnVmZmVyLCBuZXdfc2Vzc2lvbl90aWNrZXQ6IE5ld1Nlc3Np
b25UaWNrZXQpIC0+IE5vbmU6CisgICAgYnVmLnB1c2hfdWludDgoSGFuZHNoYWtlVHlwZS5ORVdf
U0VTU0lPTl9USUNLRVQpCisgICAgd2l0aCBwdXNoX2Jsb2NrKGJ1ZiwgMyk6CisgICAgICAgIGJ1
Zi5wdXNoX3VpbnQzMihuZXdfc2Vzc2lvbl90aWNrZXQudGlja2V0X2xpZmV0aW1lKQorICAgICAg
ICBidWYucHVzaF91aW50MzIobmV3X3Nlc3Npb25fdGlja2V0LnRpY2tldF9hZ2VfYWRkKQorICAg
ICAgICBwdXNoX29wYXF1ZShidWYsIDEsIG5ld19zZXNzaW9uX3RpY2tldC50aWNrZXRfbm9uY2Up
CisgICAgICAgIHB1c2hfb3BhcXVlKGJ1ZiwgMiwgbmV3X3Nlc3Npb25fdGlja2V0LnRpY2tldCkK
KworICAgICAgICB3aXRoIHB1c2hfYmxvY2soYnVmLCAyKToKKyAgICAgICAgICAgIGlmIG5ld19z
ZXNzaW9uX3RpY2tldC5tYXhfZWFybHlfZGF0YV9zaXplIGlzIG5vdCBOb25lOgorICAgICAgICAg
ICAgICAgIHdpdGggcHVzaF9leHRlbnNpb24oYnVmLCBFeHRlbnNpb25UeXBlLkVBUkxZX0RBVEEp
OgorICAgICAgICAgICAgICAgICAgICBidWYucHVzaF91aW50MzIobmV3X3Nlc3Npb25fdGlja2V0
Lm1heF9lYXJseV9kYXRhX3NpemUpCisKKyAgICAgICAgICAgIGZvciBleHRlbnNpb25fdHlwZSwg
ZXh0ZW5zaW9uX3ZhbHVlIGluIG5ld19zZXNzaW9uX3RpY2tldC5vdGhlcl9leHRlbnNpb25zOgor
ICAgICAgICAgICAgICAgIHdpdGggcHVzaF9leHRlbnNpb24oYnVmLCBleHRlbnNpb25fdHlwZSk6
CisgICAgICAgICAgICAgICAgICAgIGJ1Zi5wdXNoX2J5dGVzKGV4dGVuc2lvbl92YWx1ZSkKKwor
CitAZGF0YWNsYXNzCitjbGFzcyBFbmNyeXB0ZWRFeHRlbnNpb25zOgorICAgIGFscG5fcHJvdG9j
b2w6IE9wdGlvbmFsW3N0cl0gPSBOb25lCisgICAgZWFybHlfZGF0YTogYm9vbCA9IEZhbHNlCisK
KyAgICBvdGhlcl9leHRlbnNpb25zOiBMaXN0W1R1cGxlW2ludCwgYnl0ZXNdXSA9IGZpZWxkKGRl
ZmF1bHRfZmFjdG9yeT1saXN0KQorCisKK2RlZiBwdWxsX2VuY3J5cHRlZF9leHRlbnNpb25zKGJ1
ZjogQnVmZmVyKSAtPiBFbmNyeXB0ZWRFeHRlbnNpb25zOgorICAgIGV4dGVuc2lvbnMgPSBFbmNy
eXB0ZWRFeHRlbnNpb25zKCkKKworICAgIGFzc2VydCBidWYucHVsbF91aW50OCgpID09IEhhbmRz
aGFrZVR5cGUuRU5DUllQVEVEX0VYVEVOU0lPTlMKKyAgICB3aXRoIHB1bGxfYmxvY2soYnVmLCAz
KToKKworICAgICAgICBkZWYgcHVsbF9leHRlbnNpb24oKSAtPiBOb25lOgorICAgICAgICAgICAg
ZXh0ZW5zaW9uX3R5cGUgPSBidWYucHVsbF91aW50MTYoKQorICAgICAgICAgICAgZXh0ZW5zaW9u
X2xlbmd0aCA9IGJ1Zi5wdWxsX3VpbnQxNigpCisgICAgICAgICAgICBpZiBleHRlbnNpb25fdHlw
ZSA9PSBFeHRlbnNpb25UeXBlLkFMUE46CisgICAgICAgICAgICAgICAgZXh0ZW5zaW9ucy5hbHBu
X3Byb3RvY29sID0gcHVsbF9saXN0KAorICAgICAgICAgICAgICAgICAgICBidWYsIDIsIHBhcnRp
YWwocHVsbF9hbHBuX3Byb3RvY29sLCBidWYpCisgICAgICAgICAgICAgICAgKVswXQorICAgICAg
ICAgICAgZWxpZiBleHRlbnNpb25fdHlwZSA9PSBFeHRlbnNpb25UeXBlLkVBUkxZX0RBVEE6Cisg
ICAgICAgICAgICAgICAgZXh0ZW5zaW9ucy5lYXJseV9kYXRhID0gVHJ1ZQorICAgICAgICAgICAg
ZWxzZToKKyAgICAgICAgICAgICAgICBleHRlbnNpb25zLm90aGVyX2V4dGVuc2lvbnMuYXBwZW5k
KAorICAgICAgICAgICAgICAgICAgICAoZXh0ZW5zaW9uX3R5cGUsIGJ1Zi5wdWxsX2J5dGVzKGV4
dGVuc2lvbl9sZW5ndGgpKQorICAgICAgICAgICAgICAgICkKKworICAgICAgICBwdWxsX2xpc3Qo
YnVmLCAyLCBwdWxsX2V4dGVuc2lvbikKKworICAgIHJldHVybiBleHRlbnNpb25zCisKKworZGVm
IHB1c2hfZW5jcnlwdGVkX2V4dGVuc2lvbnMoYnVmOiBCdWZmZXIsIGV4dGVuc2lvbnM6IEVuY3J5
cHRlZEV4dGVuc2lvbnMpIC0+IE5vbmU6CisgICAgYnVmLnB1c2hfdWludDgoSGFuZHNoYWtlVHlw
ZS5FTkNSWVBURURfRVhURU5TSU9OUykKKyAgICB3aXRoIHB1c2hfYmxvY2soYnVmLCAzKToKKyAg
ICAgICAgd2l0aCBwdXNoX2Jsb2NrKGJ1ZiwgMik6CisgICAgICAgICAgICBpZiBleHRlbnNpb25z
LmFscG5fcHJvdG9jb2wgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgd2l0aCBwdXNoX2V4
dGVuc2lvbihidWYsIEV4dGVuc2lvblR5cGUuQUxQTik6CisgICAgICAgICAgICAgICAgICAgIHB1
c2hfbGlzdCgKKyAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgIDIsCisgICAgICAgICAgICAgICAgICAgICAgICBwYXJ0aWFsKHB1c2hfYWxwbl9wcm90
b2NvbCwgYnVmKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIFtleHRlbnNpb25zLmFscG5fcHJv
dG9jb2xdLAorICAgICAgICAgICAgICAgICAgICApCisKKyAgICAgICAgICAgIGlmIGV4dGVuc2lv
bnMuZWFybHlfZGF0YToKKyAgICAgICAgICAgICAgICB3aXRoIHB1c2hfZXh0ZW5zaW9uKGJ1Ziwg
RXh0ZW5zaW9uVHlwZS5FQVJMWV9EQVRBKToKKyAgICAgICAgICAgICAgICAgICAgcGFzcworCisg
ICAgICAgICAgICBmb3IgZXh0ZW5zaW9uX3R5cGUsIGV4dGVuc2lvbl92YWx1ZSBpbiBleHRlbnNp
b25zLm90aGVyX2V4dGVuc2lvbnM6CisgICAgICAgICAgICAgICAgd2l0aCBwdXNoX2V4dGVuc2lv
bihidWYsIGV4dGVuc2lvbl90eXBlKToKKyAgICAgICAgICAgICAgICAgICAgYnVmLnB1c2hfYnl0
ZXMoZXh0ZW5zaW9uX3ZhbHVlKQorCisKK0NlcnRpZmljYXRlRW50cnkgPSBUdXBsZVtieXRlcywg
Ynl0ZXNdCisKKworQGRhdGFjbGFzcworY2xhc3MgQ2VydGlmaWNhdGU6CisgICAgcmVxdWVzdF9j
b250ZXh0OiBieXRlcyA9IGIiIgorICAgIGNlcnRpZmljYXRlczogTGlzdFtDZXJ0aWZpY2F0ZUVu
dHJ5XSA9IGZpZWxkKGRlZmF1bHRfZmFjdG9yeT1saXN0KQorCisKK2RlZiBwdWxsX2NlcnRpZmlj
YXRlKGJ1ZjogQnVmZmVyKSAtPiBDZXJ0aWZpY2F0ZToKKyAgICBjZXJ0aWZpY2F0ZSA9IENlcnRp
ZmljYXRlKCkKKworICAgIGFzc2VydCBidWYucHVsbF91aW50OCgpID09IEhhbmRzaGFrZVR5cGUu
Q0VSVElGSUNBVEUKKyAgICB3aXRoIHB1bGxfYmxvY2soYnVmLCAzKToKKyAgICAgICAgY2VydGlm
aWNhdGUucmVxdWVzdF9jb250ZXh0ID0gcHVsbF9vcGFxdWUoYnVmLCAxKQorCisgICAgICAgIGRl
ZiBwdWxsX2NlcnRpZmljYXRlX2VudHJ5KGJ1ZjogQnVmZmVyKSAtPiBDZXJ0aWZpY2F0ZUVudHJ5
OgorICAgICAgICAgICAgZGF0YSA9IHB1bGxfb3BhcXVlKGJ1ZiwgMykKKyAgICAgICAgICAgIGV4
dGVuc2lvbnMgPSBwdWxsX29wYXF1ZShidWYsIDIpCisgICAgICAgICAgICByZXR1cm4gKGRhdGEs
IGV4dGVuc2lvbnMpCisKKyAgICAgICAgY2VydGlmaWNhdGUuY2VydGlmaWNhdGVzID0gcHVsbF9s
aXN0KAorICAgICAgICAgICAgYnVmLCAzLCBwYXJ0aWFsKHB1bGxfY2VydGlmaWNhdGVfZW50cnks
IGJ1ZikKKyAgICAgICAgKQorCisgICAgcmV0dXJuIGNlcnRpZmljYXRlCisKKworZGVmIHB1c2hf
Y2VydGlmaWNhdGUoYnVmOiBCdWZmZXIsIGNlcnRpZmljYXRlOiBDZXJ0aWZpY2F0ZSkgLT4gTm9u
ZToKKyAgICBidWYucHVzaF91aW50OChIYW5kc2hha2VUeXBlLkNFUlRJRklDQVRFKQorICAgIHdp
dGggcHVzaF9ibG9jayhidWYsIDMpOgorICAgICAgICBwdXNoX29wYXF1ZShidWYsIDEsIGNlcnRp
ZmljYXRlLnJlcXVlc3RfY29udGV4dCkKKworICAgICAgICBkZWYgcHVzaF9jZXJ0aWZpY2F0ZV9l
bnRyeShidWY6IEJ1ZmZlciwgZW50cnk6IENlcnRpZmljYXRlRW50cnkpIC0+IE5vbmU6CisgICAg
ICAgICAgICBwdXNoX29wYXF1ZShidWYsIDMsIGVudHJ5WzBdKQorICAgICAgICAgICAgcHVzaF9v
cGFxdWUoYnVmLCAyLCBlbnRyeVsxXSkKKworICAgICAgICBwdXNoX2xpc3QoCisgICAgICAgICAg
ICBidWYsIDMsIHBhcnRpYWwocHVzaF9jZXJ0aWZpY2F0ZV9lbnRyeSwgYnVmKSwgY2VydGlmaWNh
dGUuY2VydGlmaWNhdGVzCisgICAgICAgICkKKworCitAZGF0YWNsYXNzCitjbGFzcyBDZXJ0aWZp
Y2F0ZVZlcmlmeToKKyAgICBhbGdvcml0aG06IGludAorICAgIHNpZ25hdHVyZTogYnl0ZXMKKwor
CitkZWYgcHVsbF9jZXJ0aWZpY2F0ZV92ZXJpZnkoYnVmOiBCdWZmZXIpIC0+IENlcnRpZmljYXRl
VmVyaWZ5OgorICAgIGFzc2VydCBidWYucHVsbF91aW50OCgpID09IEhhbmRzaGFrZVR5cGUuQ0VS
VElGSUNBVEVfVkVSSUZZCisgICAgd2l0aCBwdWxsX2Jsb2NrKGJ1ZiwgMyk6CisgICAgICAgIGFs
Z29yaXRobSA9IGJ1Zi5wdWxsX3VpbnQxNigpCisgICAgICAgIHNpZ25hdHVyZSA9IHB1bGxfb3Bh
cXVlKGJ1ZiwgMikKKworICAgIHJldHVybiBDZXJ0aWZpY2F0ZVZlcmlmeShhbGdvcml0aG09YWxn
b3JpdGhtLCBzaWduYXR1cmU9c2lnbmF0dXJlKQorCisKK2RlZiBwdXNoX2NlcnRpZmljYXRlX3Zl
cmlmeShidWY6IEJ1ZmZlciwgdmVyaWZ5OiBDZXJ0aWZpY2F0ZVZlcmlmeSkgLT4gTm9uZToKKyAg
ICBidWYucHVzaF91aW50OChIYW5kc2hha2VUeXBlLkNFUlRJRklDQVRFX1ZFUklGWSkKKyAgICB3
aXRoIHB1c2hfYmxvY2soYnVmLCAzKToKKyAgICAgICAgYnVmLnB1c2hfdWludDE2KHZlcmlmeS5h
bGdvcml0aG0pCisgICAgICAgIHB1c2hfb3BhcXVlKGJ1ZiwgMiwgdmVyaWZ5LnNpZ25hdHVyZSkK
KworCitAZGF0YWNsYXNzCitjbGFzcyBGaW5pc2hlZDoKKyAgICB2ZXJpZnlfZGF0YTogYnl0ZXMg
PSBiIiIKKworCitkZWYgcHVsbF9maW5pc2hlZChidWY6IEJ1ZmZlcikgLT4gRmluaXNoZWQ6Cisg
ICAgZmluaXNoZWQgPSBGaW5pc2hlZCgpCisKKyAgICBhc3NlcnQgYnVmLnB1bGxfdWludDgoKSA9
PSBIYW5kc2hha2VUeXBlLkZJTklTSEVECisgICAgZmluaXNoZWQudmVyaWZ5X2RhdGEgPSBwdWxs
X29wYXF1ZShidWYsIDMpCisKKyAgICByZXR1cm4gZmluaXNoZWQKKworCitkZWYgcHVzaF9maW5p
c2hlZChidWY6IEJ1ZmZlciwgZmluaXNoZWQ6IEZpbmlzaGVkKSAtPiBOb25lOgorICAgIGJ1Zi5w
dXNoX3VpbnQ4KEhhbmRzaGFrZVR5cGUuRklOSVNIRUQpCisgICAgcHVzaF9vcGFxdWUoYnVmLCAz
LCBmaW5pc2hlZC52ZXJpZnlfZGF0YSkKKworCisjIENPTlRFWFQKKworCitjbGFzcyBLZXlTY2hl
ZHVsZToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgY2lwaGVyX3N1aXRlOiBDaXBoZXJTdWl0ZSk6
CisgICAgICAgIHNlbGYuYWxnb3JpdGhtID0gY2lwaGVyX3N1aXRlX2hhc2goY2lwaGVyX3N1aXRl
KQorICAgICAgICBzZWxmLmNpcGhlcl9zdWl0ZSA9IGNpcGhlcl9zdWl0ZQorICAgICAgICBzZWxm
LmdlbmVyYXRpb24gPSAwCisgICAgICAgIHNlbGYuaGFzaCA9IGhhc2hlcy5IYXNoKHNlbGYuYWxn
b3JpdGhtLCBkZWZhdWx0X2JhY2tlbmQoKSkKKyAgICAgICAgc2VsZi5oYXNoX2VtcHR5X3ZhbHVl
ID0gc2VsZi5oYXNoLmNvcHkoKS5maW5hbGl6ZSgpCisgICAgICAgIHNlbGYuc2VjcmV0ID0gYnl0
ZXMoc2VsZi5hbGdvcml0aG0uZGlnZXN0X3NpemUpCisKKyAgICBkZWYgY2VydGlmaWNhdGVfdmVy
aWZ5X2RhdGEoc2VsZiwgY29udGV4dF9zdHJpbmc6IGJ5dGVzKSAtPiBieXRlczoKKyAgICAgICAg
cmV0dXJuIGIiICIgKiA2NCArIGNvbnRleHRfc3RyaW5nICsgYiJceDAwIiArIHNlbGYuaGFzaC5j
b3B5KCkuZmluYWxpemUoKQorCisgICAgZGVmIGZpbmlzaGVkX3ZlcmlmeV9kYXRhKHNlbGYsIHNl
Y3JldDogYnl0ZXMpIC0+IGJ5dGVzOgorICAgICAgICBobWFjX2tleSA9IGhrZGZfZXhwYW5kX2xh
YmVsKAorICAgICAgICAgICAgYWxnb3JpdGhtPXNlbGYuYWxnb3JpdGhtLAorICAgICAgICAgICAg
c2VjcmV0PXNlY3JldCwKKyAgICAgICAgICAgIGxhYmVsPWIiZmluaXNoZWQiLAorICAgICAgICAg
ICAgaGFzaF92YWx1ZT1iIiIsCisgICAgICAgICAgICBsZW5ndGg9c2VsZi5hbGdvcml0aG0uZGln
ZXN0X3NpemUsCisgICAgICAgICkKKworICAgICAgICBoID0gaG1hYy5ITUFDKGhtYWNfa2V5LCBh
bGdvcml0aG09c2VsZi5hbGdvcml0aG0sIGJhY2tlbmQ9ZGVmYXVsdF9iYWNrZW5kKCkpCisgICAg
ICAgIGgudXBkYXRlKHNlbGYuaGFzaC5jb3B5KCkuZmluYWxpemUoKSkKKyAgICAgICAgcmV0dXJu
IGguZmluYWxpemUoKQorCisgICAgZGVmIGRlcml2ZV9zZWNyZXQoc2VsZiwgbGFiZWw6IGJ5dGVz
KSAtPiBieXRlczoKKyAgICAgICAgcmV0dXJuIGhrZGZfZXhwYW5kX2xhYmVsKAorICAgICAgICAg
ICAgYWxnb3JpdGhtPXNlbGYuYWxnb3JpdGhtLAorICAgICAgICAgICAgc2VjcmV0PXNlbGYuc2Vj
cmV0LAorICAgICAgICAgICAgbGFiZWw9bGFiZWwsCisgICAgICAgICAgICBoYXNoX3ZhbHVlPXNl
bGYuaGFzaC5jb3B5KCkuZmluYWxpemUoKSwKKyAgICAgICAgICAgIGxlbmd0aD1zZWxmLmFsZ29y
aXRobS5kaWdlc3Rfc2l6ZSwKKyAgICAgICAgKQorCisgICAgZGVmIGV4dHJhY3Qoc2VsZiwga2V5
X21hdGVyaWFsOiBPcHRpb25hbFtieXRlc10gPSBOb25lKSAtPiBOb25lOgorICAgICAgICBpZiBr
ZXlfbWF0ZXJpYWwgaXMgTm9uZToKKyAgICAgICAgICAgIGtleV9tYXRlcmlhbCA9IGJ5dGVzKHNl
bGYuYWxnb3JpdGhtLmRpZ2VzdF9zaXplKQorCisgICAgICAgIGlmIHNlbGYuZ2VuZXJhdGlvbjoK
KyAgICAgICAgICAgIHNlbGYuc2VjcmV0ID0gaGtkZl9leHBhbmRfbGFiZWwoCisgICAgICAgICAg
ICAgICAgYWxnb3JpdGhtPXNlbGYuYWxnb3JpdGhtLAorICAgICAgICAgICAgICAgIHNlY3JldD1z
ZWxmLnNlY3JldCwKKyAgICAgICAgICAgICAgICBsYWJlbD1iImRlcml2ZWQiLAorICAgICAgICAg
ICAgICAgIGhhc2hfdmFsdWU9c2VsZi5oYXNoX2VtcHR5X3ZhbHVlLAorICAgICAgICAgICAgICAg
IGxlbmd0aD1zZWxmLmFsZ29yaXRobS5kaWdlc3Rfc2l6ZSwKKyAgICAgICAgICAgICkKKworICAg
ICAgICBzZWxmLmdlbmVyYXRpb24gKz0gMQorICAgICAgICBzZWxmLnNlY3JldCA9IGhrZGZfZXh0
cmFjdCgKKyAgICAgICAgICAgIGFsZ29yaXRobT1zZWxmLmFsZ29yaXRobSwgc2FsdD1zZWxmLnNl
Y3JldCwga2V5X21hdGVyaWFsPWtleV9tYXRlcmlhbAorICAgICAgICApCisKKyAgICBkZWYgdXBk
YXRlX2hhc2goc2VsZiwgZGF0YTogYnl0ZXMpIC0+IE5vbmU6CisgICAgICAgIHNlbGYuaGFzaC51
cGRhdGUoZGF0YSkKKworCitjbGFzcyBLZXlTY2hlZHVsZVByb3h5OgorICAgIGRlZiBfX2luaXRf
XyhzZWxmLCBjaXBoZXJfc3VpdGVzOiBMaXN0W0NpcGhlclN1aXRlXSk6CisgICAgICAgIHNlbGYu
X19zY2hlZHVsZXMgPSBkaWN0KG1hcChsYW1iZGEgYzogKGMsIEtleVNjaGVkdWxlKGMpKSwgY2lw
aGVyX3N1aXRlcykpCisKKyAgICBkZWYgZXh0cmFjdChzZWxmLCBrZXlfbWF0ZXJpYWw6IE9wdGlv
bmFsW2J5dGVzXSA9IE5vbmUpIC0+IE5vbmU6CisgICAgICAgIGZvciBrIGluIHNlbGYuX19zY2hl
ZHVsZXMudmFsdWVzKCk6CisgICAgICAgICAgICBrLmV4dHJhY3Qoa2V5X21hdGVyaWFsKQorCisg
ICAgZGVmIHNlbGVjdChzZWxmLCBjaXBoZXJfc3VpdGU6IENpcGhlclN1aXRlKSAtPiBLZXlTY2hl
ZHVsZToKKyAgICAgICAgcmV0dXJuIHNlbGYuX19zY2hlZHVsZXNbY2lwaGVyX3N1aXRlXQorCisg
ICAgZGVmIHVwZGF0ZV9oYXNoKHNlbGYsIGRhdGE6IGJ5dGVzKSAtPiBOb25lOgorICAgICAgICBm
b3IgayBpbiBzZWxmLl9fc2NoZWR1bGVzLnZhbHVlcygpOgorICAgICAgICAgICAgay51cGRhdGVf
aGFzaChkYXRhKQorCisKK0NJUEhFUl9TVUlURVMgPSB7CisgICAgQ2lwaGVyU3VpdGUuQUVTXzEy
OF9HQ01fU0hBMjU2OiBoYXNoZXMuU0hBMjU2LAorICAgIENpcGhlclN1aXRlLkFFU18yNTZfR0NN
X1NIQTM4NDogaGFzaGVzLlNIQTM4NCwKKyAgICBDaXBoZXJTdWl0ZS5DSEFDSEEyMF9QT0xZMTMw
NV9TSEEyNTY6IGhhc2hlcy5TSEEyNTYsCit9CisKK1NJR05BVFVSRV9BTEdPUklUSE1TOiBEaWN0
ID0geworICAgIFNpZ25hdHVyZUFsZ29yaXRobS5FQ0RTQV9TRUNQMjU2UjFfU0hBMjU2OiAoTm9u
ZSwgaGFzaGVzLlNIQTI1NiksCisgICAgU2lnbmF0dXJlQWxnb3JpdGhtLkVDRFNBX1NFQ1AzODRS
MV9TSEEzODQ6IChOb25lLCBoYXNoZXMuU0hBMzg0KSwKKyAgICBTaWduYXR1cmVBbGdvcml0aG0u
RUNEU0FfU0VDUDUyMVIxX1NIQTUxMjogKE5vbmUsIGhhc2hlcy5TSEE1MTIpLAorICAgIFNpZ25h
dHVyZUFsZ29yaXRobS5SU0FfUEtDUzFfU0hBMTogKHBhZGRpbmcuUEtDUzF2MTUsIGhhc2hlcy5T
SEExKSwKKyAgICBTaWduYXR1cmVBbGdvcml0aG0uUlNBX1BLQ1MxX1NIQTI1NjogKHBhZGRpbmcu
UEtDUzF2MTUsIGhhc2hlcy5TSEEyNTYpLAorICAgIFNpZ25hdHVyZUFsZ29yaXRobS5SU0FfUEtD
UzFfU0hBMzg0OiAocGFkZGluZy5QS0NTMXYxNSwgaGFzaGVzLlNIQTM4NCksCisgICAgU2lnbmF0
dXJlQWxnb3JpdGhtLlJTQV9QS0NTMV9TSEE1MTI6IChwYWRkaW5nLlBLQ1MxdjE1LCBoYXNoZXMu
U0hBNTEyKSwKKyAgICBTaWduYXR1cmVBbGdvcml0aG0uUlNBX1BTU19SU0FFX1NIQTI1NjogKHBh
ZGRpbmcuUFNTLCBoYXNoZXMuU0hBMjU2KSwKKyAgICBTaWduYXR1cmVBbGdvcml0aG0uUlNBX1BT
U19SU0FFX1NIQTM4NDogKHBhZGRpbmcuUFNTLCBoYXNoZXMuU0hBMzg0KSwKKyAgICBTaWduYXR1
cmVBbGdvcml0aG0uUlNBX1BTU19SU0FFX1NIQTUxMjogKHBhZGRpbmcuUFNTLCBoYXNoZXMuU0hB
NTEyKSwKK30KKworR1JPVVBfVE9fQ1VSVkU6IERpY3QgPSB7CisgICAgR3JvdXAuU0VDUDI1NlIx
OiBlYy5TRUNQMjU2UjEsCisgICAgR3JvdXAuU0VDUDM4NFIxOiBlYy5TRUNQMzg0UjEsCisgICAg
R3JvdXAuU0VDUDUyMVIxOiBlYy5TRUNQNTIxUjEsCit9CitDVVJWRV9UT19HUk9VUCA9IGRpY3Qo
KHYsIGspIGZvciBrLCB2IGluIEdST1VQX1RPX0NVUlZFLml0ZW1zKCkpCisKKworZGVmIGNpcGhl
cl9zdWl0ZV9oYXNoKGNpcGhlcl9zdWl0ZTogQ2lwaGVyU3VpdGUpIC0+IGhhc2hlcy5IYXNoQWxn
b3JpdGhtOgorICAgIHJldHVybiBDSVBIRVJfU1VJVEVTW2NpcGhlcl9zdWl0ZV0oKQorCisKK2Rl
ZiBkZWNvZGVfcHVibGljX2tleSgKKyAgICBrZXlfc2hhcmU6IEtleVNoYXJlRW50cnksCispIC0+
IFVuaW9uW2VjLkVsbGlwdGljQ3VydmVQdWJsaWNLZXksIHgyNTUxOS5YMjU1MTlQdWJsaWNLZXks
IHg0NDguWDQ0OFB1YmxpY0tleSwgTm9uZV06CisgICAgaWYga2V5X3NoYXJlWzBdID09IEdyb3Vw
LlgyNTUxOToKKyAgICAgICAgcmV0dXJuIHgyNTUxOS5YMjU1MTlQdWJsaWNLZXkuZnJvbV9wdWJs
aWNfYnl0ZXMoa2V5X3NoYXJlWzFdKQorICAgIGVsaWYga2V5X3NoYXJlWzBdID09IEdyb3VwLlg0
NDg6CisgICAgICAgIHJldHVybiB4NDQ4Llg0NDhQdWJsaWNLZXkuZnJvbV9wdWJsaWNfYnl0ZXMo
a2V5X3NoYXJlWzFdKQorICAgIGVsaWYga2V5X3NoYXJlWzBdIGluIEdST1VQX1RPX0NVUlZFOgor
ICAgICAgICByZXR1cm4gZWMuRWxsaXB0aWNDdXJ2ZVB1YmxpY0tleS5mcm9tX2VuY29kZWRfcG9p
bnQoCisgICAgICAgICAgICBHUk9VUF9UT19DVVJWRVtrZXlfc2hhcmVbMF1dKCksIGtleV9zaGFy
ZVsxXQorICAgICAgICApCisgICAgZWxzZToKKyAgICAgICAgcmV0dXJuIE5vbmUKKworCitkZWYg
ZW5jb2RlX3B1YmxpY19rZXkoCisgICAgcHVibGljX2tleTogVW5pb25bCisgICAgICAgIGVjLkVs
bGlwdGljQ3VydmVQdWJsaWNLZXksIHgyNTUxOS5YMjU1MTlQdWJsaWNLZXksIHg0NDguWDQ0OFB1
YmxpY0tleQorICAgIF0KKykgLT4gS2V5U2hhcmVFbnRyeToKKyAgICBpZiBpc2luc3RhbmNlKHB1
YmxpY19rZXksIHgyNTUxOS5YMjU1MTlQdWJsaWNLZXkpOgorICAgICAgICByZXR1cm4gKEdyb3Vw
LlgyNTUxOSwgcHVibGljX2tleS5wdWJsaWNfYnl0ZXMoRW5jb2RpbmcuUmF3LCBQdWJsaWNGb3Jt
YXQuUmF3KSkKKyAgICBlbGlmIGlzaW5zdGFuY2UocHVibGljX2tleSwgeDQ0OC5YNDQ4UHVibGlj
S2V5KToKKyAgICAgICAgcmV0dXJuIChHcm91cC5YNDQ4LCBwdWJsaWNfa2V5LnB1YmxpY19ieXRl
cyhFbmNvZGluZy5SYXcsIFB1YmxpY0Zvcm1hdC5SYXcpKQorICAgIHJldHVybiAoCisgICAgICAg
IENVUlZFX1RPX0dST1VQW3B1YmxpY19rZXkuY3VydmUuX19jbGFzc19fXSwKKyAgICAgICAgcHVi
bGljX2tleS5wdWJsaWNfYnl0ZXMoRW5jb2RpbmcuWDk2MiwgUHVibGljRm9ybWF0LlVuY29tcHJl
c3NlZFBvaW50KSwKKyAgICApCisKKworZGVmIG5lZ290aWF0ZSgKKyAgICBzdXBwb3J0ZWQ6IExp
c3RbVF0sIG9mZmVyZWQ6IE9wdGlvbmFsW0xpc3RbQW55XV0sIGV4YzogT3B0aW9uYWxbQWxlcnRd
ID0gTm9uZQorKSAtPiBUOgorICAgIGlmIG9mZmVyZWQgaXMgbm90IE5vbmU6CisgICAgICAgIGZv
ciBjIGluIHN1cHBvcnRlZDoKKyAgICAgICAgICAgIGlmIGMgaW4gb2ZmZXJlZDoKKyAgICAgICAg
ICAgICAgICByZXR1cm4gYworCisgICAgaWYgZXhjIGlzIG5vdCBOb25lOgorICAgICAgICByYWlz
ZSBleGMKKyAgICByZXR1cm4gTm9uZQorCisKK2RlZiBzaWduYXR1cmVfYWxnb3JpdGhtX3BhcmFt
cygKKyAgICBzaWduYXR1cmVfYWxnb3JpdGhtOiBpbnQsCispIC0+IFVuaW9uW1R1cGxlW2VjLkVD
RFNBXSwgVHVwbGVbcGFkZGluZy5Bc3ltbWV0cmljUGFkZGluZywgaGFzaGVzLkhhc2hBbGdvcml0
aG1dXToKKyAgICBwYWRkaW5nX2NscywgYWxnb3JpdGhtX2NscyA9IFNJR05BVFVSRV9BTEdPUklU
SE1TW3NpZ25hdHVyZV9hbGdvcml0aG1dCisgICAgYWxnb3JpdGhtID0gYWxnb3JpdGhtX2Nscygp
CisgICAgaWYgcGFkZGluZ19jbHMgaXMgTm9uZToKKyAgICAgICAgcmV0dXJuIChlYy5FQ0RTQShh
bGdvcml0aG0pLCkKKyAgICBlbGlmIHBhZGRpbmdfY2xzID09IHBhZGRpbmcuUFNTOgorICAgICAg
ICBwYWRkaW5nX29iaiA9IHBhZGRpbmdfY2xzKAorICAgICAgICAgICAgbWdmPXBhZGRpbmcuTUdG
MShhbGdvcml0aG0pLCBzYWx0X2xlbmd0aD1hbGdvcml0aG0uZGlnZXN0X3NpemUKKyAgICAgICAg
KQorICAgIGVsc2U6CisgICAgICAgIHBhZGRpbmdfb2JqID0gcGFkZGluZ19jbHMoKQorICAgIHJl
dHVybiBwYWRkaW5nX29iaiwgYWxnb3JpdGhtCisKKworQGNvbnRleHRtYW5hZ2VyCitkZWYgcHVz
aF9tZXNzYWdlKAorICAgIGtleV9zY2hlZHVsZTogVW5pb25bS2V5U2NoZWR1bGUsIEtleVNjaGVk
dWxlUHJveHldLCBidWY6IEJ1ZmZlcgorKSAtPiBHZW5lcmF0b3I6CisgICAgaGFzaF9zdGFydCA9
IGJ1Zi50ZWxsKCkKKyAgICB5aWVsZAorICAgIGtleV9zY2hlZHVsZS51cGRhdGVfaGFzaChidWYu
ZGF0YV9zbGljZShoYXNoX3N0YXJ0LCBidWYudGVsbCgpKSkKKworCisjIGNhbGxiYWNrIHR5cGVz
CisKKworQGRhdGFjbGFzcworY2xhc3MgU2Vzc2lvblRpY2tldDoKKyAgICAiIiIKKyAgICBBIFRM
UyBzZXNzaW9uIHRpY2tldCBmb3Igc2Vzc2lvbiByZXN1bXB0aW9uLgorICAgICIiIgorCisgICAg
YWdlX2FkZDogaW50CisgICAgY2lwaGVyX3N1aXRlOiBDaXBoZXJTdWl0ZQorICAgIG5vdF92YWxp
ZF9hZnRlcjogZGF0ZXRpbWUuZGF0ZXRpbWUKKyAgICBub3RfdmFsaWRfYmVmb3JlOiBkYXRldGlt
ZS5kYXRldGltZQorICAgIHJlc3VtcHRpb25fc2VjcmV0OiBieXRlcworICAgIHNlcnZlcl9uYW1l
OiBzdHIKKyAgICB0aWNrZXQ6IGJ5dGVzCisKKyAgICBtYXhfZWFybHlfZGF0YV9zaXplOiBPcHRp
b25hbFtpbnRdID0gTm9uZQorICAgIG90aGVyX2V4dGVuc2lvbnM6IExpc3RbVHVwbGVbaW50LCBi
eXRlc11dID0gZmllbGQoZGVmYXVsdF9mYWN0b3J5PWxpc3QpCisKKyAgICBAcHJvcGVydHkKKyAg
ICBkZWYgaXNfdmFsaWQoc2VsZikgLT4gYm9vbDoKKyAgICAgICAgbm93ID0gdXRjbm93KCkKKyAg
ICAgICAgcmV0dXJuIG5vdyA+PSBzZWxmLm5vdF92YWxpZF9iZWZvcmUgYW5kIG5vdyA8PSBzZWxm
Lm5vdF92YWxpZF9hZnRlcgorCisgICAgQHByb3BlcnR5CisgICAgZGVmIG9iZnVzY2F0ZWRfYWdl
KHNlbGYpIC0+IGludDoKKyAgICAgICAgYWdlID0gaW50KCh1dGNub3coKSAtIHNlbGYubm90X3Zh
bGlkX2JlZm9yZSkudG90YWxfc2Vjb25kcygpKQorICAgICAgICByZXR1cm4gKGFnZSArIHNlbGYu
YWdlX2FkZCkgJSAoMSA8PCAzMikKKworCitBbHBuSGFuZGxlciA9IENhbGxhYmxlW1tzdHJdLCBO
b25lXQorU2Vzc2lvblRpY2tldEZldGNoZXIgPSBDYWxsYWJsZVtbYnl0ZXNdLCBPcHRpb25hbFtT
ZXNzaW9uVGlja2V0XV0KK1Nlc3Npb25UaWNrZXRIYW5kbGVyID0gQ2FsbGFibGVbW1Nlc3Npb25U
aWNrZXRdLCBOb25lXQorCisKK2NsYXNzIENvbnRleHQ6CisgICAgZGVmIF9faW5pdF9fKAorICAg
ICAgICBzZWxmLAorICAgICAgICBpc19jbGllbnQ6IGJvb2wsCisgICAgICAgIGFscG5fcHJvdG9j
b2xzOiBPcHRpb25hbFtMaXN0W3N0cl1dID0gTm9uZSwKKyAgICAgICAgY2FkYXRhOiBPcHRpb25h
bFtieXRlc10gPSBOb25lLAorICAgICAgICBjYWZpbGU6IE9wdGlvbmFsW3N0cl0gPSBOb25lLAor
ICAgICAgICBjYXBhdGg6IE9wdGlvbmFsW3N0cl0gPSBOb25lLAorICAgICAgICBsb2dnZXI6IE9w
dGlvbmFsW1VuaW9uW2xvZ2dpbmcuTG9nZ2VyLCBsb2dnaW5nLkxvZ2dlckFkYXB0ZXJdXSA9IE5v
bmUsCisgICAgICAgIG1heF9lYXJseV9kYXRhOiBPcHRpb25hbFtpbnRdID0gTm9uZSwKKyAgICAg
ICAgc2VydmVyX25hbWU6IE9wdGlvbmFsW3N0cl0gPSBOb25lLAorICAgICAgICB2ZXJpZnlfbW9k
ZTogT3B0aW9uYWxbaW50XSA9IE5vbmUsCisgICAgKToKKyAgICAgICAgIyBjb25maWd1cmF0aW9u
CisgICAgICAgIHNlbGYuX2FscG5fcHJvdG9jb2xzID0gYWxwbl9wcm90b2NvbHMKKyAgICAgICAg
c2VsZi5fY2FkYXRhID0gY2FkYXRhCisgICAgICAgIHNlbGYuX2NhZmlsZSA9IGNhZmlsZQorICAg
ICAgICBzZWxmLl9jYXBhdGggPSBjYXBhdGgKKyAgICAgICAgc2VsZi5jZXJ0aWZpY2F0ZTogT3B0
aW9uYWxbeDUwOS5DZXJ0aWZpY2F0ZV0gPSBOb25lCisgICAgICAgIHNlbGYuY2VydGlmaWNhdGVf
Y2hhaW46IExpc3RbeDUwOS5DZXJ0aWZpY2F0ZV0gPSBbXQorICAgICAgICBzZWxmLmNlcnRpZmlj
YXRlX3ByaXZhdGVfa2V5OiBPcHRpb25hbFsKKyAgICAgICAgICAgIFVuaW9uW2RzYS5EU0FQcml2
YXRlS2V5LCBlYy5FbGxpcHRpY0N1cnZlUHJpdmF0ZUtleSwgcnNhLlJTQVByaXZhdGVLZXldCisg
ICAgICAgIF0gPSBOb25lCisgICAgICAgIHNlbGYuaGFuZHNoYWtlX2V4dGVuc2lvbnM6IExpc3Rb
RXh0ZW5zaW9uXSA9IFtdCisgICAgICAgIHNlbGYuX21heF9lYXJseV9kYXRhID0gbWF4X2Vhcmx5
X2RhdGEKKyAgICAgICAgc2VsZi5zZXNzaW9uX3RpY2tldDogT3B0aW9uYWxbU2Vzc2lvblRpY2tl
dF0gPSBOb25lCisgICAgICAgIHNlbGYuX3NlcnZlcl9uYW1lID0gc2VydmVyX25hbWUKKyAgICAg
ICAgaWYgdmVyaWZ5X21vZGUgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBzZWxmLl92ZXJpZnlf
bW9kZSA9IHZlcmlmeV9tb2RlCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLl92ZXJp
ZnlfbW9kZSA9IHNzbC5DRVJUX1JFUVVJUkVEIGlmIGlzX2NsaWVudCBlbHNlIHNzbC5DRVJUX05P
TkUKKworICAgICAgICAjIGNhbGxiYWNrcworICAgICAgICBzZWxmLmFscG5fY2I6IE9wdGlvbmFs
W0FscG5IYW5kbGVyXSA9IE5vbmUKKyAgICAgICAgc2VsZi5nZXRfc2Vzc2lvbl90aWNrZXRfY2I6
IE9wdGlvbmFsW1Nlc3Npb25UaWNrZXRGZXRjaGVyXSA9IE5vbmUKKyAgICAgICAgc2VsZi5uZXdf
c2Vzc2lvbl90aWNrZXRfY2I6IE9wdGlvbmFsW1Nlc3Npb25UaWNrZXRIYW5kbGVyXSA9IE5vbmUK
KyAgICAgICAgc2VsZi51cGRhdGVfdHJhZmZpY19rZXlfY2I6IENhbGxhYmxlWworICAgICAgICAg
ICAgW0RpcmVjdGlvbiwgRXBvY2gsIENpcGhlclN1aXRlLCBieXRlc10sIE5vbmUKKyAgICAgICAg
XSA9IGxhbWJkYSBkLCBlLCBjLCBzOiBOb25lCisKKyAgICAgICAgIyBzdXBwb3J0ZWQgcGFyYW1l
dGVycworICAgICAgICBzZWxmLl9jaXBoZXJfc3VpdGVzID0gWworICAgICAgICAgICAgQ2lwaGVy
U3VpdGUuQUVTXzI1Nl9HQ01fU0hBMzg0LAorICAgICAgICAgICAgQ2lwaGVyU3VpdGUuQUVTXzEy
OF9HQ01fU0hBMjU2LAorICAgICAgICAgICAgQ2lwaGVyU3VpdGUuQ0hBQ0hBMjBfUE9MWTEzMDVf
U0hBMjU2LAorICAgICAgICBdCisgICAgICAgIHNlbGYuX2NvbXByZXNzaW9uX21ldGhvZHM6IExp
c3RbaW50XSA9IFtDb21wcmVzc2lvbk1ldGhvZC5OVUxMXQorICAgICAgICBzZWxmLl9wc2tfa2V5
X2V4Y2hhbmdlX21vZGVzOiBMaXN0W2ludF0gPSBbUHNrS2V5RXhjaGFuZ2VNb2RlLlBTS19ESEVf
S0VdCisgICAgICAgIHNlbGYuX3NpZ25hdHVyZV9hbGdvcml0aG1zOiBMaXN0W2ludF0gPSBbCisg
ICAgICAgICAgICBTaWduYXR1cmVBbGdvcml0aG0uUlNBX1BTU19SU0FFX1NIQTI1NiwKKyAgICAg
ICAgICAgIFNpZ25hdHVyZUFsZ29yaXRobS5FQ0RTQV9TRUNQMjU2UjFfU0hBMjU2LAorICAgICAg
ICAgICAgU2lnbmF0dXJlQWxnb3JpdGhtLlJTQV9QS0NTMV9TSEEyNTYsCisgICAgICAgICAgICBT
aWduYXR1cmVBbGdvcml0aG0uUlNBX1BLQ1MxX1NIQTEsCisgICAgICAgIF0KKyAgICAgICAgc2Vs
Zi5fc3VwcG9ydGVkX2dyb3VwcyA9IFtHcm91cC5TRUNQMjU2UjFdCisgICAgICAgIGlmIGRlZmF1
bHRfYmFja2VuZCgpLngyNTUxOV9zdXBwb3J0ZWQoKToKKyAgICAgICAgICAgIHNlbGYuX3N1cHBv
cnRlZF9ncm91cHMuYXBwZW5kKEdyb3VwLlgyNTUxOSkKKyAgICAgICAgaWYgZGVmYXVsdF9iYWNr
ZW5kKCkueDQ0OF9zdXBwb3J0ZWQoKToKKyAgICAgICAgICAgIHNlbGYuX3N1cHBvcnRlZF9ncm91
cHMuYXBwZW5kKEdyb3VwLlg0NDgpCisgICAgICAgIHNlbGYuX3N1cHBvcnRlZF92ZXJzaW9ucyA9
IFtUTFNfVkVSU0lPTl8xXzNdCisKKyAgICAgICAgIyBzdGF0ZQorICAgICAgICBzZWxmLmFscG5f
bmVnb3RpYXRlZDogT3B0aW9uYWxbc3RyXSA9IE5vbmUKKyAgICAgICAgc2VsZi5lYXJseV9kYXRh
X2FjY2VwdGVkID0gRmFsc2UKKyAgICAgICAgc2VsZi5rZXlfc2NoZWR1bGU6IE9wdGlvbmFsW0tl
eVNjaGVkdWxlXSA9IE5vbmUKKyAgICAgICAgc2VsZi5yZWNlaXZlZF9leHRlbnNpb25zOiBPcHRp
b25hbFtMaXN0W0V4dGVuc2lvbl1dID0gTm9uZQorICAgICAgICBzZWxmLl9rZXlfc2NoZWR1bGVf
cHNrOiBPcHRpb25hbFtLZXlTY2hlZHVsZV0gPSBOb25lCisgICAgICAgIHNlbGYuX2tleV9zY2hl
ZHVsZV9wcm94eTogT3B0aW9uYWxbS2V5U2NoZWR1bGVQcm94eV0gPSBOb25lCisgICAgICAgIHNl
bGYuX25ld19zZXNzaW9uX3RpY2tldDogT3B0aW9uYWxbTmV3U2Vzc2lvblRpY2tldF0gPSBOb25l
CisgICAgICAgIHNlbGYuX3BlZXJfY2VydGlmaWNhdGU6IE9wdGlvbmFsW3g1MDkuQ2VydGlmaWNh
dGVdID0gTm9uZQorICAgICAgICBzZWxmLl9wZWVyX2NlcnRpZmljYXRlX2NoYWluOiBMaXN0W3g1
MDkuQ2VydGlmaWNhdGVdID0gW10KKyAgICAgICAgc2VsZi5fcmVjZWl2ZV9idWZmZXIgPSBiIiIK
KyAgICAgICAgc2VsZi5fc2Vzc2lvbl9yZXN1bWVkID0gRmFsc2UKKyAgICAgICAgc2VsZi5fZW5j
X2tleTogT3B0aW9uYWxbYnl0ZXNdID0gTm9uZQorICAgICAgICBzZWxmLl9kZWNfa2V5OiBPcHRp
b25hbFtieXRlc10gPSBOb25lCisgICAgICAgIHNlbGYuX19sb2dnZXIgPSBsb2dnZXIKKworICAg
ICAgICBzZWxmLl9lY19wcml2YXRlX2tleTogT3B0aW9uYWxbZWMuRWxsaXB0aWNDdXJ2ZVByaXZh
dGVLZXldID0gTm9uZQorICAgICAgICBzZWxmLl94MjU1MTlfcHJpdmF0ZV9rZXk6IE9wdGlvbmFs
W3gyNTUxOS5YMjU1MTlQcml2YXRlS2V5XSA9IE5vbmUKKyAgICAgICAgc2VsZi5feDQ0OF9wcml2
YXRlX2tleTogT3B0aW9uYWxbeDQ0OC5YNDQ4UHJpdmF0ZUtleV0gPSBOb25lCisKKyAgICAgICAg
aWYgaXNfY2xpZW50OgorICAgICAgICAgICAgc2VsZi5jbGllbnRfcmFuZG9tID0gb3MudXJhbmRv
bSgzMikKKyAgICAgICAgICAgIHNlbGYuc2Vzc2lvbl9pZCA9IG9zLnVyYW5kb20oMzIpCisgICAg
ICAgICAgICBzZWxmLnN0YXRlID0gU3RhdGUuQ0xJRU5UX0hBTkRTSEFLRV9TVEFSVAorICAgICAg
ICBlbHNlOgorICAgICAgICAgICAgc2VsZi5jbGllbnRfcmFuZG9tID0gTm9uZQorICAgICAgICAg
ICAgc2VsZi5zZXNzaW9uX2lkID0gTm9uZQorICAgICAgICAgICAgc2VsZi5zdGF0ZSA9IFN0YXRl
LlNFUlZFUl9FWFBFQ1RfQ0xJRU5UX0hFTExPCisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgc2Vz
c2lvbl9yZXN1bWVkKHNlbGYpIC0+IGJvb2w6CisgICAgICAgICIiIgorICAgICAgICBSZXR1cm5z
IFRydWUgaWYgc2Vzc2lvbiByZXN1bXB0aW9uIHdhcyBzdWNjZXNzZnVsbHkgdXNlZC4KKyAgICAg
ICAgIiIiCisgICAgICAgIHJldHVybiBzZWxmLl9zZXNzaW9uX3Jlc3VtZWQKKworICAgIGRlZiBo
YW5kbGVfbWVzc2FnZSgKKyAgICAgICAgc2VsZiwgaW5wdXRfZGF0YTogYnl0ZXMsIG91dHB1dF9i
dWY6IERpY3RbRXBvY2gsIEJ1ZmZlcl0KKyAgICApIC0+IE5vbmU6CisgICAgICAgIGlmIHNlbGYu
c3RhdGUgPT0gU3RhdGUuQ0xJRU5UX0hBTkRTSEFLRV9TVEFSVDoKKyAgICAgICAgICAgIHNlbGYu
X2NsaWVudF9zZW5kX2hlbGxvKG91dHB1dF9idWZbRXBvY2guSU5JVElBTF0pCisgICAgICAgICAg
ICByZXR1cm4KKworICAgICAgICBzZWxmLl9yZWNlaXZlX2J1ZmZlciArPSBpbnB1dF9kYXRhCisg
ICAgICAgIHdoaWxlIGxlbihzZWxmLl9yZWNlaXZlX2J1ZmZlcikgPj0gNDoKKyAgICAgICAgICAg
ICMgZGV0ZXJtaW5lIG1lc3NhZ2UgbGVuZ3RoCisgICAgICAgICAgICBtZXNzYWdlX3R5cGUgPSBz
ZWxmLl9yZWNlaXZlX2J1ZmZlclswXQorICAgICAgICAgICAgbWVzc2FnZV9sZW5ndGggPSAwCisg
ICAgICAgICAgICBmb3IgYiBpbiBzZWxmLl9yZWNlaXZlX2J1ZmZlclsxOjRdOgorICAgICAgICAg
ICAgICAgIG1lc3NhZ2VfbGVuZ3RoID0gKG1lc3NhZ2VfbGVuZ3RoIDw8IDgpIHwgYgorICAgICAg
ICAgICAgbWVzc2FnZV9sZW5ndGggKz0gNAorCisgICAgICAgICAgICAjIGNoZWNrIG1lc3NhZ2Ug
aXMgY29tcGxldGUKKyAgICAgICAgICAgIGlmIGxlbihzZWxmLl9yZWNlaXZlX2J1ZmZlcikgPCBt
ZXNzYWdlX2xlbmd0aDoKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgbWVzc2Fn
ZSA9IHNlbGYuX3JlY2VpdmVfYnVmZmVyWzptZXNzYWdlX2xlbmd0aF0KKyAgICAgICAgICAgIHNl
bGYuX3JlY2VpdmVfYnVmZmVyID0gc2VsZi5fcmVjZWl2ZV9idWZmZXJbbWVzc2FnZV9sZW5ndGg6
XQorCisgICAgICAgICAgICBpbnB1dF9idWYgPSBCdWZmZXIoZGF0YT1tZXNzYWdlKQorCisgICAg
ICAgICAgICAjIGNsaWVudCBzdGF0ZXMKKworICAgICAgICAgICAgaWYgc2VsZi5zdGF0ZSA9PSBT
dGF0ZS5DTElFTlRfRVhQRUNUX1NFUlZFUl9IRUxMTzoKKyAgICAgICAgICAgICAgICBpZiBtZXNz
YWdlX3R5cGUgPT0gSGFuZHNoYWtlVHlwZS5TRVJWRVJfSEVMTE86CisgICAgICAgICAgICAgICAg
ICAgIHNlbGYuX2NsaWVudF9oYW5kbGVfaGVsbG8oaW5wdXRfYnVmLCBvdXRwdXRfYnVmW0Vwb2No
LklOSVRJQUxdKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIHJh
aXNlIEFsZXJ0VW5leHBlY3RlZE1lc3NhZ2UKKyAgICAgICAgICAgIGVsaWYgc2VsZi5zdGF0ZSA9
PSBTdGF0ZS5DTElFTlRfRVhQRUNUX0VOQ1JZUFRFRF9FWFRFTlNJT05TOgorICAgICAgICAgICAg
ICAgIGlmIG1lc3NhZ2VfdHlwZSA9PSBIYW5kc2hha2VUeXBlLkVOQ1JZUFRFRF9FWFRFTlNJT05T
OgorICAgICAgICAgICAgICAgICAgICBzZWxmLl9jbGllbnRfaGFuZGxlX2VuY3J5cHRlZF9leHRl
bnNpb25zKGlucHV0X2J1ZikKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAg
ICAgICByYWlzZSBBbGVydFVuZXhwZWN0ZWRNZXNzYWdlCisgICAgICAgICAgICBlbGlmIHNlbGYu
c3RhdGUgPT0gU3RhdGUuQ0xJRU5UX0VYUEVDVF9DRVJUSUZJQ0FURV9SRVFVRVNUX09SX0NFUlRJ
RklDQVRFOgorICAgICAgICAgICAgICAgIGlmIG1lc3NhZ2VfdHlwZSA9PSBIYW5kc2hha2VUeXBl
LkNFUlRJRklDQVRFOgorICAgICAgICAgICAgICAgICAgICBzZWxmLl9jbGllbnRfaGFuZGxlX2Nl
cnRpZmljYXRlKGlucHV0X2J1ZikKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAg
ICAgICAgICAjIEZJWE1FOiBoYW5kbGUgY2VydGlmaWNhdGUgcmVxdWVzdAorICAgICAgICAgICAg
ICAgICAgICByYWlzZSBBbGVydFVuZXhwZWN0ZWRNZXNzYWdlCisgICAgICAgICAgICBlbGlmIHNl
bGYuc3RhdGUgPT0gU3RhdGUuQ0xJRU5UX0VYUEVDVF9DRVJUSUZJQ0FURV9WRVJJRlk6CisgICAg
ICAgICAgICAgICAgaWYgbWVzc2FnZV90eXBlID09IEhhbmRzaGFrZVR5cGUuQ0VSVElGSUNBVEVf
VkVSSUZZOgorICAgICAgICAgICAgICAgICAgICBzZWxmLl9jbGllbnRfaGFuZGxlX2NlcnRpZmlj
YXRlX3ZlcmlmeShpbnB1dF9idWYpCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAg
ICAgICAgICAgcmFpc2UgQWxlcnRVbmV4cGVjdGVkTWVzc2FnZQorICAgICAgICAgICAgZWxpZiBz
ZWxmLnN0YXRlID09IFN0YXRlLkNMSUVOVF9FWFBFQ1RfRklOSVNIRUQ6CisgICAgICAgICAgICAg
ICAgaWYgbWVzc2FnZV90eXBlID09IEhhbmRzaGFrZVR5cGUuRklOSVNIRUQ6CisgICAgICAgICAg
ICAgICAgICAgIHNlbGYuX2NsaWVudF9oYW5kbGVfZmluaXNoZWQoaW5wdXRfYnVmLCBvdXRwdXRf
YnVmW0Vwb2NoLkhBTkRTSEFLRV0pCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAg
ICAgICAgICAgcmFpc2UgQWxlcnRVbmV4cGVjdGVkTWVzc2FnZQorICAgICAgICAgICAgZWxpZiBz
ZWxmLnN0YXRlID09IFN0YXRlLkNMSUVOVF9QT1NUX0hBTkRTSEFLRToKKyAgICAgICAgICAgICAg
ICBpZiBtZXNzYWdlX3R5cGUgPT0gSGFuZHNoYWtlVHlwZS5ORVdfU0VTU0lPTl9USUNLRVQ6Cisg
ICAgICAgICAgICAgICAgICAgIHNlbGYuX2NsaWVudF9oYW5kbGVfbmV3X3Nlc3Npb25fdGlja2V0
KGlucHV0X2J1ZikKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBy
YWlzZSBBbGVydFVuZXhwZWN0ZWRNZXNzYWdlCisKKyAgICAgICAgICAgICMgc2VydmVyIHN0YXRl
cworCisgICAgICAgICAgICBlbGlmIHNlbGYuc3RhdGUgPT0gU3RhdGUuU0VSVkVSX0VYUEVDVF9D
TElFTlRfSEVMTE86CisgICAgICAgICAgICAgICAgaWYgbWVzc2FnZV90eXBlID09IEhhbmRzaGFr
ZVR5cGUuQ0xJRU5UX0hFTExPOgorICAgICAgICAgICAgICAgICAgICBzZWxmLl9zZXJ2ZXJfaGFu
ZGxlX2hlbGxvKAorICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXRfYnVmLAorICAgICAgICAg
ICAgICAgICAgICAgICAgb3V0cHV0X2J1ZltFcG9jaC5JTklUSUFMXSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgIG91dHB1dF9idWZbRXBvY2guSEFORFNIQUtFXSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgIG91dHB1dF9idWZbRXBvY2guT05FX1JUVF0sCisgICAgICAgICAgICAgICAgICAgICkK
KyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICByYWlzZSBBbGVydFVu
ZXhwZWN0ZWRNZXNzYWdlCisgICAgICAgICAgICBlbGlmIHNlbGYuc3RhdGUgPT0gU3RhdGUuU0VS
VkVSX0VYUEVDVF9GSU5JU0hFRDoKKyAgICAgICAgICAgICAgICBpZiBtZXNzYWdlX3R5cGUgPT0g
SGFuZHNoYWtlVHlwZS5GSU5JU0hFRDoKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5fc2VydmVy
X2hhbmRsZV9maW5pc2hlZChpbnB1dF9idWYsIG91dHB1dF9idWZbRXBvY2guT05FX1JUVF0pCisg
ICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgQWxlcnRVbmV4
cGVjdGVkTWVzc2FnZQorICAgICAgICAgICAgZWxpZiBzZWxmLnN0YXRlID09IFN0YXRlLlNFUlZF
Ul9QT1NUX0hBTkRTSEFLRToKKyAgICAgICAgICAgICAgICByYWlzZSBBbGVydFVuZXhwZWN0ZWRN
ZXNzYWdlCisKKyAgICAgICAgICAgIGFzc2VydCBpbnB1dF9idWYuZW9mKCkKKworICAgIGRlZiBf
YnVpbGRfc2Vzc2lvbl90aWNrZXQoCisgICAgICAgIHNlbGYsIG5ld19zZXNzaW9uX3RpY2tldDog
TmV3U2Vzc2lvblRpY2tldAorICAgICkgLT4gU2Vzc2lvblRpY2tldDoKKyAgICAgICAgcmVzdW1w
dGlvbl9tYXN0ZXJfc2VjcmV0ID0gc2VsZi5rZXlfc2NoZWR1bGUuZGVyaXZlX3NlY3JldChiInJl
cyBtYXN0ZXIiKQorICAgICAgICByZXN1bXB0aW9uX3NlY3JldCA9IGhrZGZfZXhwYW5kX2xhYmVs
KAorICAgICAgICAgICAgYWxnb3JpdGhtPXNlbGYua2V5X3NjaGVkdWxlLmFsZ29yaXRobSwKKyAg
ICAgICAgICAgIHNlY3JldD1yZXN1bXB0aW9uX21hc3Rlcl9zZWNyZXQsCisgICAgICAgICAgICBs
YWJlbD1iInJlc3VtcHRpb24iLAorICAgICAgICAgICAgaGFzaF92YWx1ZT1uZXdfc2Vzc2lvbl90
aWNrZXQudGlja2V0X25vbmNlLAorICAgICAgICAgICAgbGVuZ3RoPXNlbGYua2V5X3NjaGVkdWxl
LmFsZ29yaXRobS5kaWdlc3Rfc2l6ZSwKKyAgICAgICAgKQorCisgICAgICAgIHRpbWVzdGFtcCA9
IHV0Y25vdygpCisgICAgICAgIHJldHVybiBTZXNzaW9uVGlja2V0KAorICAgICAgICAgICAgYWdl
X2FkZD1uZXdfc2Vzc2lvbl90aWNrZXQudGlja2V0X2FnZV9hZGQsCisgICAgICAgICAgICBjaXBo
ZXJfc3VpdGU9c2VsZi5rZXlfc2NoZWR1bGUuY2lwaGVyX3N1aXRlLAorICAgICAgICAgICAgbWF4
X2Vhcmx5X2RhdGFfc2l6ZT1uZXdfc2Vzc2lvbl90aWNrZXQubWF4X2Vhcmx5X2RhdGFfc2l6ZSwK
KyAgICAgICAgICAgIG5vdF92YWxpZF9hZnRlcj10aW1lc3RhbXAKKyAgICAgICAgICAgICsgZGF0
ZXRpbWUudGltZWRlbHRhKHNlY29uZHM9bmV3X3Nlc3Npb25fdGlja2V0LnRpY2tldF9saWZldGlt
ZSksCisgICAgICAgICAgICBub3RfdmFsaWRfYmVmb3JlPXRpbWVzdGFtcCwKKyAgICAgICAgICAg
IG90aGVyX2V4dGVuc2lvbnM9c2VsZi5oYW5kc2hha2VfZXh0ZW5zaW9ucywKKyAgICAgICAgICAg
IHJlc3VtcHRpb25fc2VjcmV0PXJlc3VtcHRpb25fc2VjcmV0LAorICAgICAgICAgICAgc2VydmVy
X25hbWU9c2VsZi5fc2VydmVyX25hbWUsCisgICAgICAgICAgICB0aWNrZXQ9bmV3X3Nlc3Npb25f
dGlja2V0LnRpY2tldCwKKyAgICAgICAgKQorCisgICAgZGVmIF9jbGllbnRfc2VuZF9oZWxsbyhz
ZWxmLCBvdXRwdXRfYnVmOiBCdWZmZXIpIC0+IE5vbmU6CisgICAgICAgIGtleV9zaGFyZTogTGlz
dFtLZXlTaGFyZUVudHJ5XSA9IFtdCisgICAgICAgIHN1cHBvcnRlZF9ncm91cHM6IExpc3RbaW50
XSA9IFtdCisKKyAgICAgICAgZm9yIGdyb3VwIGluIHNlbGYuX3N1cHBvcnRlZF9ncm91cHM6Cisg
ICAgICAgICAgICBpZiBncm91cCA9PSBHcm91cC5TRUNQMjU2UjE6CisgICAgICAgICAgICAgICAg
c2VsZi5fZWNfcHJpdmF0ZV9rZXkgPSBlYy5nZW5lcmF0ZV9wcml2YXRlX2tleSgKKyAgICAgICAg
ICAgICAgICAgICAgR1JPVVBfVE9fQ1VSVkVbR3JvdXAuU0VDUDI1NlIxXSgpLCBkZWZhdWx0X2Jh
Y2tlbmQoKQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICBrZXlfc2hhcmUuYXBw
ZW5kKGVuY29kZV9wdWJsaWNfa2V5KHNlbGYuX2VjX3ByaXZhdGVfa2V5LnB1YmxpY19rZXkoKSkp
CisgICAgICAgICAgICAgICAgc3VwcG9ydGVkX2dyb3Vwcy5hcHBlbmQoR3JvdXAuU0VDUDI1NlIx
KQorICAgICAgICAgICAgZWxpZiBncm91cCA9PSBHcm91cC5YMjU1MTk6CisgICAgICAgICAgICAg
ICAgc2VsZi5feDI1NTE5X3ByaXZhdGVfa2V5ID0geDI1NTE5LlgyNTUxOVByaXZhdGVLZXkuZ2Vu
ZXJhdGUoKQorICAgICAgICAgICAgICAgIGtleV9zaGFyZS5hcHBlbmQoCisgICAgICAgICAgICAg
ICAgICAgIGVuY29kZV9wdWJsaWNfa2V5KHNlbGYuX3gyNTUxOV9wcml2YXRlX2tleS5wdWJsaWNf
a2V5KCkpCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgIHN1cHBvcnRlZF9ncm91
cHMuYXBwZW5kKEdyb3VwLlgyNTUxOSkKKyAgICAgICAgICAgIGVsaWYgZ3JvdXAgPT0gR3JvdXAu
WDQ0ODoKKyAgICAgICAgICAgICAgICBzZWxmLl94NDQ4X3ByaXZhdGVfa2V5ID0geDQ0OC5YNDQ4
UHJpdmF0ZUtleS5nZW5lcmF0ZSgpCisgICAgICAgICAgICAgICAga2V5X3NoYXJlLmFwcGVuZChl
bmNvZGVfcHVibGljX2tleShzZWxmLl94NDQ4X3ByaXZhdGVfa2V5LnB1YmxpY19rZXkoKSkpCisg
ICAgICAgICAgICAgICAgc3VwcG9ydGVkX2dyb3Vwcy5hcHBlbmQoR3JvdXAuWDQ0OCkKKyAgICAg
ICAgICAgIGVsaWYgZ3JvdXAgPT0gR3JvdXAuR1JFQVNFOgorICAgICAgICAgICAgICAgIGtleV9z
aGFyZS5hcHBlbmQoKEdyb3VwLkdSRUFTRSwgYiJceDAwIikpCisgICAgICAgICAgICAgICAgc3Vw
cG9ydGVkX2dyb3Vwcy5hcHBlbmQoR3JvdXAuR1JFQVNFKQorCisgICAgICAgIGFzc2VydCBsZW4o
a2V5X3NoYXJlKSwgIm5vIGtleSBzaGFyZSBlbnRyaWVzIgorCisgICAgICAgIGhlbGxvID0gQ2xp
ZW50SGVsbG8oCisgICAgICAgICAgICByYW5kb209c2VsZi5jbGllbnRfcmFuZG9tLAorICAgICAg
ICAgICAgc2Vzc2lvbl9pZD1zZWxmLnNlc3Npb25faWQsCisgICAgICAgICAgICBjaXBoZXJfc3Vp
dGVzPVtpbnQoeCkgZm9yIHggaW4gc2VsZi5fY2lwaGVyX3N1aXRlc10sCisgICAgICAgICAgICBj
b21wcmVzc2lvbl9tZXRob2RzPXNlbGYuX2NvbXByZXNzaW9uX21ldGhvZHMsCisgICAgICAgICAg
ICBhbHBuX3Byb3RvY29scz1zZWxmLl9hbHBuX3Byb3RvY29scywKKyAgICAgICAgICAgIGtleV9z
aGFyZT1rZXlfc2hhcmUsCisgICAgICAgICAgICBwc2tfa2V5X2V4Y2hhbmdlX21vZGVzPXNlbGYu
X3Bza19rZXlfZXhjaGFuZ2VfbW9kZXMKKyAgICAgICAgICAgIGlmIChzZWxmLnNlc3Npb25fdGlj
a2V0IG9yIHNlbGYubmV3X3Nlc3Npb25fdGlja2V0X2NiIGlzIG5vdCBOb25lKQorICAgICAgICAg
ICAgZWxzZSBOb25lLAorICAgICAgICAgICAgc2VydmVyX25hbWU9c2VsZi5fc2VydmVyX25hbWUs
CisgICAgICAgICAgICBzaWduYXR1cmVfYWxnb3JpdGhtcz1zZWxmLl9zaWduYXR1cmVfYWxnb3Jp
dGhtcywKKyAgICAgICAgICAgIHN1cHBvcnRlZF9ncm91cHM9c3VwcG9ydGVkX2dyb3VwcywKKyAg
ICAgICAgICAgIHN1cHBvcnRlZF92ZXJzaW9ucz1zZWxmLl9zdXBwb3J0ZWRfdmVyc2lvbnMsCisg
ICAgICAgICAgICBvdGhlcl9leHRlbnNpb25zPXNlbGYuaGFuZHNoYWtlX2V4dGVuc2lvbnMsCisg
ICAgICAgICkKKworICAgICAgICAjIFBTSworICAgICAgICBpZiBzZWxmLnNlc3Npb25fdGlja2V0
IGFuZCBzZWxmLnNlc3Npb25fdGlja2V0LmlzX3ZhbGlkOgorICAgICAgICAgICAgc2VsZi5fa2V5
X3NjaGVkdWxlX3BzayA9IEtleVNjaGVkdWxlKHNlbGYuc2Vzc2lvbl90aWNrZXQuY2lwaGVyX3N1
aXRlKQorICAgICAgICAgICAgc2VsZi5fa2V5X3NjaGVkdWxlX3Bzay5leHRyYWN0KHNlbGYuc2Vz
c2lvbl90aWNrZXQucmVzdW1wdGlvbl9zZWNyZXQpCisgICAgICAgICAgICBiaW5kZXJfa2V5ID0g
c2VsZi5fa2V5X3NjaGVkdWxlX3Bzay5kZXJpdmVfc2VjcmV0KGIicmVzIGJpbmRlciIpCisgICAg
ICAgICAgICBiaW5kZXJfbGVuZ3RoID0gc2VsZi5fa2V5X3NjaGVkdWxlX3Bzay5hbGdvcml0aG0u
ZGlnZXN0X3NpemUKKworICAgICAgICAgICAgIyB1cGRhdGUgaGVsbG8KKyAgICAgICAgICAgIGlm
IHNlbGYuc2Vzc2lvbl90aWNrZXQubWF4X2Vhcmx5X2RhdGFfc2l6ZSBpcyBub3QgTm9uZToKKyAg
ICAgICAgICAgICAgICBoZWxsby5lYXJseV9kYXRhID0gVHJ1ZQorICAgICAgICAgICAgaGVsbG8u
cHJlX3NoYXJlZF9rZXkgPSBPZmZlcmVkUHNrcygKKyAgICAgICAgICAgICAgICBpZGVudGl0aWVz
PVsKKyAgICAgICAgICAgICAgICAgICAgKHNlbGYuc2Vzc2lvbl90aWNrZXQudGlja2V0LCBzZWxm
LnNlc3Npb25fdGlja2V0Lm9iZnVzY2F0ZWRfYWdlKQorICAgICAgICAgICAgICAgIF0sCisgICAg
ICAgICAgICAgICAgYmluZGVycz1bYnl0ZXMoYmluZGVyX2xlbmd0aCldLAorICAgICAgICAgICAg
KQorCisgICAgICAgICAgICAjIHNlcmlhbGl6ZSBoZWxsbyB3aXRob3V0IGJpbmRlcgorICAgICAg
ICAgICAgdG1wX2J1ZiA9IEJ1ZmZlcihjYXBhY2l0eT0xMDI0KQorICAgICAgICAgICAgcHVzaF9j
bGllbnRfaGVsbG8odG1wX2J1ZiwgaGVsbG8pCisKKyAgICAgICAgICAgICMgY2FsY3VsYXRlIGJp
bmRlcgorICAgICAgICAgICAgaGFzaF9vZmZzZXQgPSB0bXBfYnVmLnRlbGwoKSAtIGJpbmRlcl9s
ZW5ndGggLSAzCisgICAgICAgICAgICBzZWxmLl9rZXlfc2NoZWR1bGVfcHNrLnVwZGF0ZV9oYXNo
KHRtcF9idWYuZGF0YV9zbGljZSgwLCBoYXNoX29mZnNldCkpCisgICAgICAgICAgICBiaW5kZXIg
PSBzZWxmLl9rZXlfc2NoZWR1bGVfcHNrLmZpbmlzaGVkX3ZlcmlmeV9kYXRhKGJpbmRlcl9rZXkp
CisgICAgICAgICAgICBoZWxsby5wcmVfc2hhcmVkX2tleS5iaW5kZXJzWzBdID0gYmluZGVyCisg
ICAgICAgICAgICBzZWxmLl9rZXlfc2NoZWR1bGVfcHNrLnVwZGF0ZV9oYXNoKAorICAgICAgICAg
ICAgICAgIHRtcF9idWYuZGF0YV9zbGljZShoYXNoX29mZnNldCwgaGFzaF9vZmZzZXQgKyAzKSAr
IGJpbmRlcgorICAgICAgICAgICAgKQorCisgICAgICAgICAgICAjIGNhbGN1bGF0ZSBlYXJseSBk
YXRhIGtleQorICAgICAgICAgICAgaWYgaGVsbG8uZWFybHlfZGF0YToKKyAgICAgICAgICAgICAg
ICBlYXJseV9rZXkgPSBzZWxmLl9rZXlfc2NoZWR1bGVfcHNrLmRlcml2ZV9zZWNyZXQoYiJjIGUg
dHJhZmZpYyIpCisgICAgICAgICAgICAgICAgc2VsZi51cGRhdGVfdHJhZmZpY19rZXlfY2IoCisg
ICAgICAgICAgICAgICAgICAgIERpcmVjdGlvbi5FTkNSWVBULAorICAgICAgICAgICAgICAgICAg
ICBFcG9jaC5aRVJPX1JUVCwKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5fa2V5X3NjaGVkdWxl
X3Bzay5jaXBoZXJfc3VpdGUsCisgICAgICAgICAgICAgICAgICAgIGVhcmx5X2tleSwKKyAgICAg
ICAgICAgICAgICApCisKKyAgICAgICAgc2VsZi5fa2V5X3NjaGVkdWxlX3Byb3h5ID0gS2V5U2No
ZWR1bGVQcm94eShzZWxmLl9jaXBoZXJfc3VpdGVzKQorICAgICAgICBzZWxmLl9rZXlfc2NoZWR1
bGVfcHJveHkuZXh0cmFjdChOb25lKQorCisgICAgICAgIHdpdGggcHVzaF9tZXNzYWdlKHNlbGYu
X2tleV9zY2hlZHVsZV9wcm94eSwgb3V0cHV0X2J1Zik6CisgICAgICAgICAgICBwdXNoX2NsaWVu
dF9oZWxsbyhvdXRwdXRfYnVmLCBoZWxsbykKKworICAgICAgICBzZWxmLl9zZXRfc3RhdGUoU3Rh
dGUuQ0xJRU5UX0VYUEVDVF9TRVJWRVJfSEVMTE8pCisKKyAgICBkZWYgX2NsaWVudF9oYW5kbGVf
aGVsbG8oc2VsZiwgaW5wdXRfYnVmOiBCdWZmZXIsIG91dHB1dF9idWY6IEJ1ZmZlcikgLT4gTm9u
ZToKKyAgICAgICAgcGVlcl9oZWxsbyA9IHB1bGxfc2VydmVyX2hlbGxvKGlucHV0X2J1ZikKKwor
ICAgICAgICBjaXBoZXJfc3VpdGUgPSBuZWdvdGlhdGUoCisgICAgICAgICAgICBzZWxmLl9jaXBo
ZXJfc3VpdGVzLAorICAgICAgICAgICAgW3BlZXJfaGVsbG8uY2lwaGVyX3N1aXRlXSwKKyAgICAg
ICAgICAgIEFsZXJ0SGFuZHNoYWtlRmFpbHVyZSgiVW5zdXBwb3J0ZWQgY2lwaGVyIHN1aXRlIiks
CisgICAgICAgICkKKyAgICAgICAgYXNzZXJ0IHBlZXJfaGVsbG8uY29tcHJlc3Npb25fbWV0aG9k
IGluIHNlbGYuX2NvbXByZXNzaW9uX21ldGhvZHMKKyAgICAgICAgYXNzZXJ0IHBlZXJfaGVsbG8u
c3VwcG9ydGVkX3ZlcnNpb24gaW4gc2VsZi5fc3VwcG9ydGVkX3ZlcnNpb25zCisKKyAgICAgICAg
IyBzZWxlY3Qga2V5IHNjaGVkdWxlCisgICAgICAgIGlmIHBlZXJfaGVsbG8ucHJlX3NoYXJlZF9r
ZXkgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBpZiAoCisgICAgICAgICAgICAgICAgc2VsZi5f
a2V5X3NjaGVkdWxlX3BzayBpcyBOb25lCisgICAgICAgICAgICAgICAgb3IgcGVlcl9oZWxsby5w
cmVfc2hhcmVkX2tleSAhPSAwCisgICAgICAgICAgICAgICAgb3IgY2lwaGVyX3N1aXRlICE9IHNl
bGYuX2tleV9zY2hlZHVsZV9wc2suY2lwaGVyX3N1aXRlCisgICAgICAgICAgICApOgorICAgICAg
ICAgICAgICAgIHJhaXNlIEFsZXJ0SWxsZWdhbFBhcmFtZXRlcgorICAgICAgICAgICAgc2VsZi5r
ZXlfc2NoZWR1bGUgPSBzZWxmLl9rZXlfc2NoZWR1bGVfcHNrCisgICAgICAgICAgICBzZWxmLl9z
ZXNzaW9uX3Jlc3VtZWQgPSBUcnVlCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLmtl
eV9zY2hlZHVsZSA9IHNlbGYuX2tleV9zY2hlZHVsZV9wcm94eS5zZWxlY3QoY2lwaGVyX3N1aXRl
KQorICAgICAgICBzZWxmLl9rZXlfc2NoZWR1bGVfcHNrID0gTm9uZQorICAgICAgICBzZWxmLl9r
ZXlfc2NoZWR1bGVfcHJveHkgPSBOb25lCisKKyAgICAgICAgIyBwZXJmb3JtIGtleSBleGNoYW5n
ZQorICAgICAgICBwZWVyX3B1YmxpY19rZXkgPSBkZWNvZGVfcHVibGljX2tleShwZWVyX2hlbGxv
LmtleV9zaGFyZSkKKyAgICAgICAgc2hhcmVkX2tleTogT3B0aW9uYWxbYnl0ZXNdID0gTm9uZQor
ICAgICAgICBpZiAoCisgICAgICAgICAgICBpc2luc3RhbmNlKHBlZXJfcHVibGljX2tleSwgeDI1
NTE5LlgyNTUxOVB1YmxpY0tleSkKKyAgICAgICAgICAgIGFuZCBzZWxmLl94MjU1MTlfcHJpdmF0
ZV9rZXkgaXMgbm90IE5vbmUKKyAgICAgICAgKToKKyAgICAgICAgICAgIHNoYXJlZF9rZXkgPSBz
ZWxmLl94MjU1MTlfcHJpdmF0ZV9rZXkuZXhjaGFuZ2UocGVlcl9wdWJsaWNfa2V5KQorICAgICAg
ICBlbGlmICgKKyAgICAgICAgICAgIGlzaW5zdGFuY2UocGVlcl9wdWJsaWNfa2V5LCB4NDQ4Llg0
NDhQdWJsaWNLZXkpCisgICAgICAgICAgICBhbmQgc2VsZi5feDQ0OF9wcml2YXRlX2tleSBpcyBu
b3QgTm9uZQorICAgICAgICApOgorICAgICAgICAgICAgc2hhcmVkX2tleSA9IHNlbGYuX3g0NDhf
cHJpdmF0ZV9rZXkuZXhjaGFuZ2UocGVlcl9wdWJsaWNfa2V5KQorICAgICAgICBlbGlmICgKKyAg
ICAgICAgICAgIGlzaW5zdGFuY2UocGVlcl9wdWJsaWNfa2V5LCBlYy5FbGxpcHRpY0N1cnZlUHVi
bGljS2V5KQorICAgICAgICAgICAgYW5kIHNlbGYuX2VjX3ByaXZhdGVfa2V5IGlzIG5vdCBOb25l
CisgICAgICAgICAgICBhbmQgc2VsZi5fZWNfcHJpdmF0ZV9rZXkucHVibGljX2tleSgpLmN1cnZl
Ll9fY2xhc3NfXworICAgICAgICAgICAgPT0gcGVlcl9wdWJsaWNfa2V5LmN1cnZlLl9fY2xhc3Nf
XworICAgICAgICApOgorICAgICAgICAgICAgc2hhcmVkX2tleSA9IHNlbGYuX2VjX3ByaXZhdGVf
a2V5LmV4Y2hhbmdlKGVjLkVDREgoKSwgcGVlcl9wdWJsaWNfa2V5KQorICAgICAgICBhc3NlcnQg
c2hhcmVkX2tleSBpcyBub3QgTm9uZQorCisgICAgICAgIHNlbGYua2V5X3NjaGVkdWxlLnVwZGF0
ZV9oYXNoKGlucHV0X2J1Zi5kYXRhKQorICAgICAgICBzZWxmLmtleV9zY2hlZHVsZS5leHRyYWN0
KHNoYXJlZF9rZXkpCisKKyAgICAgICAgc2VsZi5fc2V0dXBfdHJhZmZpY19wcm90ZWN0aW9uKAor
ICAgICAgICAgICAgRGlyZWN0aW9uLkRFQ1JZUFQsIEVwb2NoLkhBTkRTSEFLRSwgYiJzIGhzIHRy
YWZmaWMiCisgICAgICAgICkKKworICAgICAgICBzZWxmLl9zZXRfc3RhdGUoU3RhdGUuQ0xJRU5U
X0VYUEVDVF9FTkNSWVBURURfRVhURU5TSU9OUykKKworICAgIGRlZiBfY2xpZW50X2hhbmRsZV9l
bmNyeXB0ZWRfZXh0ZW5zaW9ucyhzZWxmLCBpbnB1dF9idWY6IEJ1ZmZlcikgLT4gTm9uZToKKyAg
ICAgICAgZW5jcnlwdGVkX2V4dGVuc2lvbnMgPSBwdWxsX2VuY3J5cHRlZF9leHRlbnNpb25zKGlu
cHV0X2J1ZikKKworICAgICAgICBzZWxmLmFscG5fbmVnb3RpYXRlZCA9IGVuY3J5cHRlZF9leHRl
bnNpb25zLmFscG5fcHJvdG9jb2wKKyAgICAgICAgc2VsZi5lYXJseV9kYXRhX2FjY2VwdGVkID0g
ZW5jcnlwdGVkX2V4dGVuc2lvbnMuZWFybHlfZGF0YQorICAgICAgICBzZWxmLnJlY2VpdmVkX2V4
dGVuc2lvbnMgPSBlbmNyeXB0ZWRfZXh0ZW5zaW9ucy5vdGhlcl9leHRlbnNpb25zCisgICAgICAg
IGlmIHNlbGYuYWxwbl9jYjoKKyAgICAgICAgICAgIHNlbGYuYWxwbl9jYihzZWxmLmFscG5fbmVn
b3RpYXRlZCkKKworICAgICAgICBzZWxmLl9zZXR1cF90cmFmZmljX3Byb3RlY3Rpb24oCisgICAg
ICAgICAgICBEaXJlY3Rpb24uRU5DUllQVCwgRXBvY2guSEFORFNIQUtFLCBiImMgaHMgdHJhZmZp
YyIKKyAgICAgICAgKQorICAgICAgICBzZWxmLmtleV9zY2hlZHVsZS51cGRhdGVfaGFzaChpbnB1
dF9idWYuZGF0YSkKKworICAgICAgICAjIGlmIHRoZSBzZXJ2ZXIgYWNjZXB0ZWQgb3VyIFBTSyB3
ZSBhcmUgZG9uZSwgb3RoZXIgd2Ugd2FudCBpdHMgY2VydGlmaWNhdGUKKyAgICAgICAgaWYgc2Vs
Zi5fc2Vzc2lvbl9yZXN1bWVkOgorICAgICAgICAgICAgc2VsZi5fc2V0X3N0YXRlKFN0YXRlLkNM
SUVOVF9FWFBFQ1RfRklOSVNIRUQpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLl9z
ZXRfc3RhdGUoU3RhdGUuQ0xJRU5UX0VYUEVDVF9DRVJUSUZJQ0FURV9SRVFVRVNUX09SX0NFUlRJ
RklDQVRFKQorCisgICAgZGVmIF9jbGllbnRfaGFuZGxlX2NlcnRpZmljYXRlKHNlbGYsIGlucHV0
X2J1ZjogQnVmZmVyKSAtPiBOb25lOgorICAgICAgICBjZXJ0aWZpY2F0ZSA9IHB1bGxfY2VydGlm
aWNhdGUoaW5wdXRfYnVmKQorCisgICAgICAgIHNlbGYuX3BlZXJfY2VydGlmaWNhdGUgPSB4NTA5
LmxvYWRfZGVyX3g1MDlfY2VydGlmaWNhdGUoCisgICAgICAgICAgICBjZXJ0aWZpY2F0ZS5jZXJ0
aWZpY2F0ZXNbMF1bMF0sIGJhY2tlbmQ9ZGVmYXVsdF9iYWNrZW5kKCkKKyAgICAgICAgKQorICAg
ICAgICBzZWxmLl9wZWVyX2NlcnRpZmljYXRlX2NoYWluID0gWworICAgICAgICAgICAgeDUwOS5s
b2FkX2Rlcl94NTA5X2NlcnRpZmljYXRlKAorICAgICAgICAgICAgICAgIGNlcnRpZmljYXRlLmNl
cnRpZmljYXRlc1tpXVswXSwgYmFja2VuZD1kZWZhdWx0X2JhY2tlbmQoKQorICAgICAgICAgICAg
KQorICAgICAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMSwgbGVuKGNlcnRpZmljYXRlLmNlcnRpZmlj
YXRlcykpCisgICAgICAgIF0KKworICAgICAgICBzZWxmLmtleV9zY2hlZHVsZS51cGRhdGVfaGFz
aChpbnB1dF9idWYuZGF0YSkKKworICAgICAgICBzZWxmLl9zZXRfc3RhdGUoU3RhdGUuQ0xJRU5U
X0VYUEVDVF9DRVJUSUZJQ0FURV9WRVJJRlkpCisKKyAgICBkZWYgX2NsaWVudF9oYW5kbGVfY2Vy
dGlmaWNhdGVfdmVyaWZ5KHNlbGYsIGlucHV0X2J1ZjogQnVmZmVyKSAtPiBOb25lOgorICAgICAg
ICB2ZXJpZnkgPSBwdWxsX2NlcnRpZmljYXRlX3ZlcmlmeShpbnB1dF9idWYpCisKKyAgICAgICAg
YXNzZXJ0IHZlcmlmeS5hbGdvcml0aG0gaW4gc2VsZi5fc2lnbmF0dXJlX2FsZ29yaXRobXMKKwor
ICAgICAgICAjIGNoZWNrIHNpZ25hdHVyZQorICAgICAgICB0cnk6CisgICAgICAgICAgICBzZWxm
Ll9wZWVyX2NlcnRpZmljYXRlLnB1YmxpY19rZXkoKS52ZXJpZnkoCisgICAgICAgICAgICAgICAg
dmVyaWZ5LnNpZ25hdHVyZSwKKyAgICAgICAgICAgICAgICBzZWxmLmtleV9zY2hlZHVsZS5jZXJ0
aWZpY2F0ZV92ZXJpZnlfZGF0YSgKKyAgICAgICAgICAgICAgICAgICAgYiJUTFMgMS4zLCBzZXJ2
ZXIgQ2VydGlmaWNhdGVWZXJpZnkiCisgICAgICAgICAgICAgICAgKSwKKyAgICAgICAgICAgICAg
ICAqc2lnbmF0dXJlX2FsZ29yaXRobV9wYXJhbXModmVyaWZ5LmFsZ29yaXRobSksCisgICAgICAg
ICAgICApCisgICAgICAgIGV4Y2VwdCBJbnZhbGlkU2lnbmF0dXJlOgorICAgICAgICAgICAgcmFp
c2UgQWxlcnREZWNyeXB0RXJyb3IKKworICAgICAgICAjIGNoZWNrIGNlcnRpZmljYXRlCisgICAg
ICAgIGlmIHNlbGYuX3ZlcmlmeV9tb2RlICE9IHNzbC5DRVJUX05PTkU6CisgICAgICAgICAgICB2
ZXJpZnlfY2VydGlmaWNhdGUoCisgICAgICAgICAgICAgICAgY2FkYXRhPXNlbGYuX2NhZGF0YSwK
KyAgICAgICAgICAgICAgICBjYWZpbGU9c2VsZi5fY2FmaWxlLAorICAgICAgICAgICAgICAgIGNh
cGF0aD1zZWxmLl9jYXBhdGgsCisgICAgICAgICAgICAgICAgY2VydGlmaWNhdGU9c2VsZi5fcGVl
cl9jZXJ0aWZpY2F0ZSwKKyAgICAgICAgICAgICAgICBjaGFpbj1zZWxmLl9wZWVyX2NlcnRpZmlj
YXRlX2NoYWluLAorICAgICAgICAgICAgICAgIHNlcnZlcl9uYW1lPXNlbGYuX3NlcnZlcl9uYW1l
LAorICAgICAgICAgICAgKQorCisgICAgICAgIHNlbGYua2V5X3NjaGVkdWxlLnVwZGF0ZV9oYXNo
KGlucHV0X2J1Zi5kYXRhKQorCisgICAgICAgIHNlbGYuX3NldF9zdGF0ZShTdGF0ZS5DTElFTlRf
RVhQRUNUX0ZJTklTSEVEKQorCisgICAgZGVmIF9jbGllbnRfaGFuZGxlX2ZpbmlzaGVkKHNlbGYs
IGlucHV0X2J1ZjogQnVmZmVyLCBvdXRwdXRfYnVmOiBCdWZmZXIpIC0+IE5vbmU6CisgICAgICAg
IGZpbmlzaGVkID0gcHVsbF9maW5pc2hlZChpbnB1dF9idWYpCisKKyAgICAgICAgIyBjaGVjayB2
ZXJpZnkgZGF0YQorICAgICAgICBleHBlY3RlZF92ZXJpZnlfZGF0YSA9IHNlbGYua2V5X3NjaGVk
dWxlLmZpbmlzaGVkX3ZlcmlmeV9kYXRhKHNlbGYuX2RlY19rZXkpCisgICAgICAgIGlmIGZpbmlz
aGVkLnZlcmlmeV9kYXRhICE9IGV4cGVjdGVkX3ZlcmlmeV9kYXRhOgorICAgICAgICAgICAgcmFp
c2UgQWxlcnREZWNyeXB0RXJyb3IKKyAgICAgICAgc2VsZi5rZXlfc2NoZWR1bGUudXBkYXRlX2hh
c2goaW5wdXRfYnVmLmRhdGEpCisKKyAgICAgICAgIyBwcmVwYXJlIHRyYWZmaWMga2V5cworICAg
ICAgICBhc3NlcnQgc2VsZi5rZXlfc2NoZWR1bGUuZ2VuZXJhdGlvbiA9PSAyCisgICAgICAgIHNl
bGYua2V5X3NjaGVkdWxlLmV4dHJhY3QoTm9uZSkKKyAgICAgICAgc2VsZi5fc2V0dXBfdHJhZmZp
Y19wcm90ZWN0aW9uKAorICAgICAgICAgICAgRGlyZWN0aW9uLkRFQ1JZUFQsIEVwb2NoLk9ORV9S
VFQsIGIicyBhcCB0cmFmZmljIgorICAgICAgICApCisgICAgICAgIG5leHRfZW5jX2tleSA9IHNl
bGYua2V5X3NjaGVkdWxlLmRlcml2ZV9zZWNyZXQoYiJjIGFwIHRyYWZmaWMiKQorCisgICAgICAg
ICMgc2VuZCBmaW5pc2hlZAorICAgICAgICB3aXRoIHB1c2hfbWVzc2FnZShzZWxmLmtleV9zY2hl
ZHVsZSwgb3V0cHV0X2J1Zik6CisgICAgICAgICAgICBwdXNoX2ZpbmlzaGVkKAorICAgICAgICAg
ICAgICAgIG91dHB1dF9idWYsCisgICAgICAgICAgICAgICAgRmluaXNoZWQoCisgICAgICAgICAg
ICAgICAgICAgIHZlcmlmeV9kYXRhPXNlbGYua2V5X3NjaGVkdWxlLmZpbmlzaGVkX3ZlcmlmeV9k
YXRhKHNlbGYuX2VuY19rZXkpCisgICAgICAgICAgICAgICAgKSwKKyAgICAgICAgICAgICkKKwor
ICAgICAgICAjIGNvbW1pdCB0cmFmZmljIGtleQorICAgICAgICBzZWxmLl9lbmNfa2V5ID0gbmV4
dF9lbmNfa2V5CisgICAgICAgIHNlbGYudXBkYXRlX3RyYWZmaWNfa2V5X2NiKAorICAgICAgICAg
ICAgRGlyZWN0aW9uLkVOQ1JZUFQsCisgICAgICAgICAgICBFcG9jaC5PTkVfUlRULAorICAgICAg
ICAgICAgc2VsZi5rZXlfc2NoZWR1bGUuY2lwaGVyX3N1aXRlLAorICAgICAgICAgICAgc2VsZi5f
ZW5jX2tleSwKKyAgICAgICAgKQorCisgICAgICAgIHNlbGYuX3NldF9zdGF0ZShTdGF0ZS5DTElF
TlRfUE9TVF9IQU5EU0hBS0UpCisKKyAgICBkZWYgX2NsaWVudF9oYW5kbGVfbmV3X3Nlc3Npb25f
dGlja2V0KHNlbGYsIGlucHV0X2J1ZjogQnVmZmVyKSAtPiBOb25lOgorICAgICAgICBuZXdfc2Vz
c2lvbl90aWNrZXQgPSBwdWxsX25ld19zZXNzaW9uX3RpY2tldChpbnB1dF9idWYpCisKKyAgICAg
ICAgIyBub3RpZnkgYXBwbGljYXRpb24KKyAgICAgICAgaWYgc2VsZi5uZXdfc2Vzc2lvbl90aWNr
ZXRfY2IgaXMgbm90IE5vbmU6CisgICAgICAgICAgICB0aWNrZXQgPSBzZWxmLl9idWlsZF9zZXNz
aW9uX3RpY2tldChuZXdfc2Vzc2lvbl90aWNrZXQpCisgICAgICAgICAgICBzZWxmLm5ld19zZXNz
aW9uX3RpY2tldF9jYih0aWNrZXQpCisKKyAgICBkZWYgX3NlcnZlcl9oYW5kbGVfaGVsbG8oCisg
ICAgICAgIHNlbGYsCisgICAgICAgIGlucHV0X2J1ZjogQnVmZmVyLAorICAgICAgICBpbml0aWFs
X2J1ZjogQnVmZmVyLAorICAgICAgICBoYW5kc2hha2VfYnVmOiBCdWZmZXIsCisgICAgICAgIG9u
ZXJ0dF9idWY6IEJ1ZmZlciwKKyAgICApIC0+IE5vbmU6CisgICAgICAgIHBlZXJfaGVsbG8gPSBw
dWxsX2NsaWVudF9oZWxsbyhpbnB1dF9idWYpCisKKyAgICAgICAgIyBkZXRlcm1pbmUgYXBwbGlj
YWJsZSBzaWduYXR1cmUgYWxnb3JpdGhtcworICAgICAgICBzaWduYXR1cmVfYWxnb3JpdGhtczog
TGlzdFtTaWduYXR1cmVBbGdvcml0aG1dID0gW10KKyAgICAgICAgaWYgaXNpbnN0YW5jZShzZWxm
LmNlcnRpZmljYXRlX3ByaXZhdGVfa2V5LCByc2EuUlNBUHJpdmF0ZUtleSk6CisgICAgICAgICAg
ICBzaWduYXR1cmVfYWxnb3JpdGhtcyA9IFsKKyAgICAgICAgICAgICAgICBTaWduYXR1cmVBbGdv
cml0aG0uUlNBX1BTU19SU0FFX1NIQTI1NiwKKyAgICAgICAgICAgICAgICBTaWduYXR1cmVBbGdv
cml0aG0uUlNBX1BLQ1MxX1NIQTI1NiwKKyAgICAgICAgICAgICAgICBTaWduYXR1cmVBbGdvcml0
aG0uUlNBX1BLQ1MxX1NIQTEsCisgICAgICAgICAgICBdCisgICAgICAgIGVsaWYgaXNpbnN0YW5j
ZSgKKyAgICAgICAgICAgIHNlbGYuY2VydGlmaWNhdGVfcHJpdmF0ZV9rZXksIGVjLkVsbGlwdGlj
Q3VydmVQcml2YXRlS2V5CisgICAgICAgICkgYW5kIGlzaW5zdGFuY2Uoc2VsZi5jZXJ0aWZpY2F0
ZV9wcml2YXRlX2tleS5jdXJ2ZSwgZWMuU0VDUDI1NlIxKToKKyAgICAgICAgICAgIHNpZ25hdHVy
ZV9hbGdvcml0aG1zID0gW1NpZ25hdHVyZUFsZ29yaXRobS5FQ0RTQV9TRUNQMjU2UjFfU0hBMjU2
XQorCisgICAgICAgICMgbmVnb3RpYXRlIHBhcmFtZXRlcnMKKyAgICAgICAgY2lwaGVyX3N1aXRl
ID0gbmVnb3RpYXRlKAorICAgICAgICAgICAgc2VsZi5fY2lwaGVyX3N1aXRlcywKKyAgICAgICAg
ICAgIHBlZXJfaGVsbG8uY2lwaGVyX3N1aXRlcywKKyAgICAgICAgICAgIEFsZXJ0SGFuZHNoYWtl
RmFpbHVyZSgiTm8gc3VwcG9ydGVkIGNpcGhlciBzdWl0ZSIpLAorICAgICAgICApCisgICAgICAg
IGNvbXByZXNzaW9uX21ldGhvZCA9IG5lZ290aWF0ZSgKKyAgICAgICAgICAgIHNlbGYuX2NvbXBy
ZXNzaW9uX21ldGhvZHMsCisgICAgICAgICAgICBwZWVyX2hlbGxvLmNvbXByZXNzaW9uX21ldGhv
ZHMsCisgICAgICAgICAgICBBbGVydEhhbmRzaGFrZUZhaWx1cmUoIk5vIHN1cHBvcnRlZCBjb21w
cmVzc2lvbiBtZXRob2QiKSwKKyAgICAgICAgKQorICAgICAgICBwc2tfa2V5X2V4Y2hhbmdlX21v
ZGUgPSBuZWdvdGlhdGUoCisgICAgICAgICAgICBzZWxmLl9wc2tfa2V5X2V4Y2hhbmdlX21vZGVz
LCBwZWVyX2hlbGxvLnBza19rZXlfZXhjaGFuZ2VfbW9kZXMKKyAgICAgICAgKQorICAgICAgICBz
aWduYXR1cmVfYWxnb3JpdGhtID0gbmVnb3RpYXRlKAorICAgICAgICAgICAgc2lnbmF0dXJlX2Fs
Z29yaXRobXMsCisgICAgICAgICAgICBwZWVyX2hlbGxvLnNpZ25hdHVyZV9hbGdvcml0aG1zLAor
ICAgICAgICAgICAgQWxlcnRIYW5kc2hha2VGYWlsdXJlKCJObyBzdXBwb3J0ZWQgc2lnbmF0dXJl
IGFsZ29yaXRobSIpLAorICAgICAgICApCisgICAgICAgIHN1cHBvcnRlZF92ZXJzaW9uID0gbmVn
b3RpYXRlKAorICAgICAgICAgICAgc2VsZi5fc3VwcG9ydGVkX3ZlcnNpb25zLAorICAgICAgICAg
ICAgcGVlcl9oZWxsby5zdXBwb3J0ZWRfdmVyc2lvbnMsCisgICAgICAgICAgICBBbGVydFByb3Rv
Y29sVmVyc2lvbigiTm8gc3VwcG9ydGVkIHByb3RvY29sIHZlcnNpb24iKSwKKyAgICAgICAgKQor
CisgICAgICAgICMgbmVnb3RpYXRlIEFMUE4KKyAgICAgICAgaWYgc2VsZi5fYWxwbl9wcm90b2Nv
bHMgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBzZWxmLmFscG5fbmVnb3RpYXRlZCA9IG5lZ290
aWF0ZSgKKyAgICAgICAgICAgICAgICBzZWxmLl9hbHBuX3Byb3RvY29scywKKyAgICAgICAgICAg
ICAgICBwZWVyX2hlbGxvLmFscG5fcHJvdG9jb2xzLAorICAgICAgICAgICAgICAgIEFsZXJ0SGFu
ZHNoYWtlRmFpbHVyZSgiTm8gY29tbW9uIEFMUE4gcHJvdG9jb2xzIiksCisgICAgICAgICAgICAp
CisgICAgICAgIGlmIHNlbGYuYWxwbl9jYjoKKyAgICAgICAgICAgIHNlbGYuYWxwbl9jYihzZWxm
LmFscG5fbmVnb3RpYXRlZCkKKworICAgICAgICBzZWxmLmNsaWVudF9yYW5kb20gPSBwZWVyX2hl
bGxvLnJhbmRvbQorICAgICAgICBzZWxmLnNlcnZlcl9yYW5kb20gPSBvcy51cmFuZG9tKDMyKQor
ICAgICAgICBzZWxmLnNlc3Npb25faWQgPSBwZWVyX2hlbGxvLnNlc3Npb25faWQKKyAgICAgICAg
c2VsZi5yZWNlaXZlZF9leHRlbnNpb25zID0gcGVlcl9oZWxsby5vdGhlcl9leHRlbnNpb25zCisK
KyAgICAgICAgIyBzZWxlY3Qga2V5IHNjaGVkdWxlCisgICAgICAgIHByZV9zaGFyZWRfa2V5ID0g
Tm9uZQorICAgICAgICBpZiAoCisgICAgICAgICAgICBzZWxmLmdldF9zZXNzaW9uX3RpY2tldF9j
YiBpcyBub3QgTm9uZQorICAgICAgICAgICAgYW5kIHBza19rZXlfZXhjaGFuZ2VfbW9kZSBpcyBu
b3QgTm9uZQorICAgICAgICAgICAgYW5kIHBlZXJfaGVsbG8ucHJlX3NoYXJlZF9rZXkgaXMgbm90
IE5vbmUKKyAgICAgICAgICAgIGFuZCBsZW4ocGVlcl9oZWxsby5wcmVfc2hhcmVkX2tleS5pZGVu
dGl0aWVzKSA9PSAxCisgICAgICAgICAgICBhbmQgbGVuKHBlZXJfaGVsbG8ucHJlX3NoYXJlZF9r
ZXkuYmluZGVycykgPT0gMQorICAgICAgICApOgorICAgICAgICAgICAgIyBhc2sgYXBwbGljYXRp
b24gdG8gZmluZCBzZXNzaW9uIHRpY2tldAorICAgICAgICAgICAgaWRlbnRpdHkgPSBwZWVyX2hl
bGxvLnByZV9zaGFyZWRfa2V5LmlkZW50aXRpZXNbMF0KKyAgICAgICAgICAgIHNlc3Npb25fdGlj
a2V0ID0gc2VsZi5nZXRfc2Vzc2lvbl90aWNrZXRfY2IoaWRlbnRpdHlbMF0pCisKKyAgICAgICAg
ICAgICMgdmFsaWRhdGUgc2Vzc2lvbiB0aWNrZXQKKyAgICAgICAgICAgIGlmICgKKyAgICAgICAg
ICAgICAgICBzZXNzaW9uX3RpY2tldCBpcyBub3QgTm9uZQorICAgICAgICAgICAgICAgIGFuZCBz
ZXNzaW9uX3RpY2tldC5pc192YWxpZAorICAgICAgICAgICAgICAgIGFuZCBzZXNzaW9uX3RpY2tl
dC5jaXBoZXJfc3VpdGUgPT0gY2lwaGVyX3N1aXRlCisgICAgICAgICAgICApOgorICAgICAgICAg
ICAgICAgIHNlbGYua2V5X3NjaGVkdWxlID0gS2V5U2NoZWR1bGUoY2lwaGVyX3N1aXRlKQorICAg
ICAgICAgICAgICAgIHNlbGYua2V5X3NjaGVkdWxlLmV4dHJhY3Qoc2Vzc2lvbl90aWNrZXQucmVz
dW1wdGlvbl9zZWNyZXQpCisKKyAgICAgICAgICAgICAgICBiaW5kZXJfa2V5ID0gc2VsZi5rZXlf
c2NoZWR1bGUuZGVyaXZlX3NlY3JldChiInJlcyBiaW5kZXIiKQorICAgICAgICAgICAgICAgIGJp
bmRlcl9sZW5ndGggPSBzZWxmLmtleV9zY2hlZHVsZS5hbGdvcml0aG0uZGlnZXN0X3NpemUKKwor
ICAgICAgICAgICAgICAgIGhhc2hfb2Zmc2V0ID0gaW5wdXRfYnVmLnRlbGwoKSAtIGJpbmRlcl9s
ZW5ndGggLSAzCisgICAgICAgICAgICAgICAgYmluZGVyID0gaW5wdXRfYnVmLmRhdGFfc2xpY2Uo
CisgICAgICAgICAgICAgICAgICAgIGhhc2hfb2Zmc2V0ICsgMywgaGFzaF9vZmZzZXQgKyAzICsg
YmluZGVyX2xlbmd0aAorICAgICAgICAgICAgICAgICkKKworICAgICAgICAgICAgICAgIHNlbGYu
a2V5X3NjaGVkdWxlLnVwZGF0ZV9oYXNoKGlucHV0X2J1Zi5kYXRhX3NsaWNlKDAsIGhhc2hfb2Zm
c2V0KSkKKyAgICAgICAgICAgICAgICBleHBlY3RlZF9iaW5kZXIgPSBzZWxmLmtleV9zY2hlZHVs
ZS5maW5pc2hlZF92ZXJpZnlfZGF0YShiaW5kZXJfa2V5KQorCisgICAgICAgICAgICAgICAgaWYg
YmluZGVyICE9IGV4cGVjdGVkX2JpbmRlcjoKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgQWxl
cnRIYW5kc2hha2VGYWlsdXJlKCJQU0sgdmFsaWRhdGlvbiBmYWlsZWQiKQorCisgICAgICAgICAg
ICAgICAgc2VsZi5rZXlfc2NoZWR1bGUudXBkYXRlX2hhc2goCisgICAgICAgICAgICAgICAgICAg
IGlucHV0X2J1Zi5kYXRhX3NsaWNlKGhhc2hfb2Zmc2V0LCBoYXNoX29mZnNldCArIDMgKyBiaW5k
ZXJfbGVuZ3RoKQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICBzZWxmLl9zZXNz
aW9uX3Jlc3VtZWQgPSBUcnVlCisKKyAgICAgICAgICAgICAgICAjIGNhbGN1bGF0ZSBlYXJseSBk
YXRhIGtleQorICAgICAgICAgICAgICAgIGlmIHBlZXJfaGVsbG8uZWFybHlfZGF0YToKKyAgICAg
ICAgICAgICAgICAgICAgZWFybHlfa2V5ID0gc2VsZi5rZXlfc2NoZWR1bGUuZGVyaXZlX3NlY3Jl
dChiImMgZSB0cmFmZmljIikKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5lYXJseV9kYXRhX2Fj
Y2VwdGVkID0gVHJ1ZQorICAgICAgICAgICAgICAgICAgICBzZWxmLnVwZGF0ZV90cmFmZmljX2tl
eV9jYigKKyAgICAgICAgICAgICAgICAgICAgICAgIERpcmVjdGlvbi5ERUNSWVBULAorICAgICAg
ICAgICAgICAgICAgICAgICAgRXBvY2guWkVST19SVFQsCisgICAgICAgICAgICAgICAgICAgICAg
ICBzZWxmLmtleV9zY2hlZHVsZS5jaXBoZXJfc3VpdGUsCisgICAgICAgICAgICAgICAgICAgICAg
ICBlYXJseV9rZXksCisgICAgICAgICAgICAgICAgICAgICkKKworICAgICAgICAgICAgICAgIHBy
ZV9zaGFyZWRfa2V5ID0gMAorCisgICAgICAgICMgaWYgUFNLIGlzIG5vdCB1c2VkLCBpbml0aWFs
aXplIGtleSBzY2hlZHVsZQorICAgICAgICBpZiBwcmVfc2hhcmVkX2tleSBpcyBOb25lOgorICAg
ICAgICAgICAgc2VsZi5rZXlfc2NoZWR1bGUgPSBLZXlTY2hlZHVsZShjaXBoZXJfc3VpdGUpCisg
ICAgICAgICAgICBzZWxmLmtleV9zY2hlZHVsZS5leHRyYWN0KE5vbmUpCisgICAgICAgICAgICBz
ZWxmLmtleV9zY2hlZHVsZS51cGRhdGVfaGFzaChpbnB1dF9idWYuZGF0YSkKKworICAgICAgICAj
IHBlcmZvcm0ga2V5IGV4Y2hhbmdlCisgICAgICAgIHB1YmxpY19rZXk6IFVuaW9uWworICAgICAg
ICAgICAgZWMuRWxsaXB0aWNDdXJ2ZVB1YmxpY0tleSwgeDI1NTE5LlgyNTUxOVB1YmxpY0tleSwg
eDQ0OC5YNDQ4UHVibGljS2V5CisgICAgICAgIF0KKyAgICAgICAgc2hhcmVkX2tleTogT3B0aW9u
YWxbYnl0ZXNdID0gTm9uZQorICAgICAgICBmb3Iga2V5X3NoYXJlIGluIHBlZXJfaGVsbG8ua2V5
X3NoYXJlOgorICAgICAgICAgICAgcGVlcl9wdWJsaWNfa2V5ID0gZGVjb2RlX3B1YmxpY19rZXko
a2V5X3NoYXJlKQorICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShwZWVyX3B1YmxpY19rZXksIHgy
NTUxOS5YMjU1MTlQdWJsaWNLZXkpOgorICAgICAgICAgICAgICAgIHNlbGYuX3gyNTUxOV9wcml2
YXRlX2tleSA9IHgyNTUxOS5YMjU1MTlQcml2YXRlS2V5LmdlbmVyYXRlKCkKKyAgICAgICAgICAg
ICAgICBwdWJsaWNfa2V5ID0gc2VsZi5feDI1NTE5X3ByaXZhdGVfa2V5LnB1YmxpY19rZXkoKQor
ICAgICAgICAgICAgICAgIHNoYXJlZF9rZXkgPSBzZWxmLl94MjU1MTlfcHJpdmF0ZV9rZXkuZXhj
aGFuZ2UocGVlcl9wdWJsaWNfa2V5KQorICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAg
ICBlbGlmIGlzaW5zdGFuY2UocGVlcl9wdWJsaWNfa2V5LCB4NDQ4Llg0NDhQdWJsaWNLZXkpOgor
ICAgICAgICAgICAgICAgIHNlbGYuX3g0NDhfcHJpdmF0ZV9rZXkgPSB4NDQ4Llg0NDhQcml2YXRl
S2V5LmdlbmVyYXRlKCkKKyAgICAgICAgICAgICAgICBwdWJsaWNfa2V5ID0gc2VsZi5feDQ0OF9w
cml2YXRlX2tleS5wdWJsaWNfa2V5KCkKKyAgICAgICAgICAgICAgICBzaGFyZWRfa2V5ID0gc2Vs
Zi5feDQ0OF9wcml2YXRlX2tleS5leGNoYW5nZShwZWVyX3B1YmxpY19rZXkpCisgICAgICAgICAg
ICAgICAgYnJlYWsKKyAgICAgICAgICAgIGVsaWYgaXNpbnN0YW5jZShwZWVyX3B1YmxpY19rZXks
IGVjLkVsbGlwdGljQ3VydmVQdWJsaWNLZXkpOgorICAgICAgICAgICAgICAgIHNlbGYuX2VjX3By
aXZhdGVfa2V5ID0gZWMuZ2VuZXJhdGVfcHJpdmF0ZV9rZXkoCisgICAgICAgICAgICAgICAgICAg
IEdST1VQX1RPX0NVUlZFW2tleV9zaGFyZVswXV0oKSwgZGVmYXVsdF9iYWNrZW5kKCkKKyAgICAg
ICAgICAgICAgICApCisgICAgICAgICAgICAgICAgcHVibGljX2tleSA9IHNlbGYuX2VjX3ByaXZh
dGVfa2V5LnB1YmxpY19rZXkoKQorICAgICAgICAgICAgICAgIHNoYXJlZF9rZXkgPSBzZWxmLl9l
Y19wcml2YXRlX2tleS5leGNoYW5nZShlYy5FQ0RIKCksIHBlZXJfcHVibGljX2tleSkKKyAgICAg
ICAgICAgICAgICBicmVhaworICAgICAgICBhc3NlcnQgc2hhcmVkX2tleSBpcyBub3QgTm9uZQor
CisgICAgICAgICMgc2VuZCBoZWxsbworICAgICAgICBoZWxsbyA9IFNlcnZlckhlbGxvKAorICAg
ICAgICAgICAgcmFuZG9tPXNlbGYuc2VydmVyX3JhbmRvbSwKKyAgICAgICAgICAgIHNlc3Npb25f
aWQ9c2VsZi5zZXNzaW9uX2lkLAorICAgICAgICAgICAgY2lwaGVyX3N1aXRlPWNpcGhlcl9zdWl0
ZSwKKyAgICAgICAgICAgIGNvbXByZXNzaW9uX21ldGhvZD1jb21wcmVzc2lvbl9tZXRob2QsCisg
ICAgICAgICAgICBrZXlfc2hhcmU9ZW5jb2RlX3B1YmxpY19rZXkocHVibGljX2tleSksCisgICAg
ICAgICAgICBwcmVfc2hhcmVkX2tleT1wcmVfc2hhcmVkX2tleSwKKyAgICAgICAgICAgIHN1cHBv
cnRlZF92ZXJzaW9uPXN1cHBvcnRlZF92ZXJzaW9uLAorICAgICAgICApCisgICAgICAgIHdpdGgg
cHVzaF9tZXNzYWdlKHNlbGYua2V5X3NjaGVkdWxlLCBpbml0aWFsX2J1Zik6CisgICAgICAgICAg
ICBwdXNoX3NlcnZlcl9oZWxsbyhpbml0aWFsX2J1ZiwgaGVsbG8pCisgICAgICAgIHNlbGYua2V5
X3NjaGVkdWxlLmV4dHJhY3Qoc2hhcmVkX2tleSkKKworICAgICAgICBzZWxmLl9zZXR1cF90cmFm
ZmljX3Byb3RlY3Rpb24oCisgICAgICAgICAgICBEaXJlY3Rpb24uRU5DUllQVCwgRXBvY2guSEFO
RFNIQUtFLCBiInMgaHMgdHJhZmZpYyIKKyAgICAgICAgKQorICAgICAgICBzZWxmLl9zZXR1cF90
cmFmZmljX3Byb3RlY3Rpb24oCisgICAgICAgICAgICBEaXJlY3Rpb24uREVDUllQVCwgRXBvY2gu
SEFORFNIQUtFLCBiImMgaHMgdHJhZmZpYyIKKyAgICAgICAgKQorCisgICAgICAgICMgc2VuZCBl
bmNyeXB0ZWQgZXh0ZW5zaW9ucworICAgICAgICB3aXRoIHB1c2hfbWVzc2FnZShzZWxmLmtleV9z
Y2hlZHVsZSwgaGFuZHNoYWtlX2J1Zik6CisgICAgICAgICAgICBwdXNoX2VuY3J5cHRlZF9leHRl
bnNpb25zKAorICAgICAgICAgICAgICAgIGhhbmRzaGFrZV9idWYsCisgICAgICAgICAgICAgICAg
RW5jcnlwdGVkRXh0ZW5zaW9ucygKKyAgICAgICAgICAgICAgICAgICAgYWxwbl9wcm90b2NvbD1z
ZWxmLmFscG5fbmVnb3RpYXRlZCwKKyAgICAgICAgICAgICAgICAgICAgZWFybHlfZGF0YT1zZWxm
LmVhcmx5X2RhdGFfYWNjZXB0ZWQsCisgICAgICAgICAgICAgICAgICAgIG90aGVyX2V4dGVuc2lv
bnM9c2VsZi5oYW5kc2hha2VfZXh0ZW5zaW9ucywKKyAgICAgICAgICAgICAgICApLAorICAgICAg
ICAgICAgKQorCisgICAgICAgIGlmIHByZV9zaGFyZWRfa2V5IGlzIE5vbmU6CisgICAgICAgICAg
ICAjIHNlbmQgY2VydGlmaWNhdGUKKyAgICAgICAgICAgIHdpdGggcHVzaF9tZXNzYWdlKHNlbGYu
a2V5X3NjaGVkdWxlLCBoYW5kc2hha2VfYnVmKToKKyAgICAgICAgICAgICAgICBwdXNoX2NlcnRp
ZmljYXRlKAorICAgICAgICAgICAgICAgICAgICBoYW5kc2hha2VfYnVmLAorICAgICAgICAgICAg
ICAgICAgICBDZXJ0aWZpY2F0ZSgKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RfY29u
dGV4dD1iIiIsCisgICAgICAgICAgICAgICAgICAgICAgICBjZXJ0aWZpY2F0ZXM9WworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICh4LnB1YmxpY19ieXRlcyhFbmNvZGluZy5ERVIpLCBiIiIp
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHggaW4gW3NlbGYuY2VydGlmaWNhdGVd
ICsgc2VsZi5jZXJ0aWZpY2F0ZV9jaGFpbgorICAgICAgICAgICAgICAgICAgICAgICAgXSwKKyAg
ICAgICAgICAgICAgICAgICAgKSwKKyAgICAgICAgICAgICAgICApCisKKyAgICAgICAgICAgICMg
c2VuZCBjZXJ0aWZpY2F0ZSB2ZXJpZnkKKyAgICAgICAgICAgIHNpZ25hdHVyZSA9IHNlbGYuY2Vy
dGlmaWNhdGVfcHJpdmF0ZV9rZXkuc2lnbigKKyAgICAgICAgICAgICAgICBzZWxmLmtleV9zY2hl
ZHVsZS5jZXJ0aWZpY2F0ZV92ZXJpZnlfZGF0YSgKKyAgICAgICAgICAgICAgICAgICAgYiJUTFMg
MS4zLCBzZXJ2ZXIgQ2VydGlmaWNhdGVWZXJpZnkiCisgICAgICAgICAgICAgICAgKSwKKyAgICAg
ICAgICAgICAgICAqc2lnbmF0dXJlX2FsZ29yaXRobV9wYXJhbXMoc2lnbmF0dXJlX2FsZ29yaXRo
bSksCisgICAgICAgICAgICApCisgICAgICAgICAgICB3aXRoIHB1c2hfbWVzc2FnZShzZWxmLmtl
eV9zY2hlZHVsZSwgaGFuZHNoYWtlX2J1Zik6CisgICAgICAgICAgICAgICAgcHVzaF9jZXJ0aWZp
Y2F0ZV92ZXJpZnkoCisgICAgICAgICAgICAgICAgICAgIGhhbmRzaGFrZV9idWYsCisgICAgICAg
ICAgICAgICAgICAgIENlcnRpZmljYXRlVmVyaWZ5KAorICAgICAgICAgICAgICAgICAgICAgICAg
YWxnb3JpdGhtPXNpZ25hdHVyZV9hbGdvcml0aG0sIHNpZ25hdHVyZT1zaWduYXR1cmUKKyAgICAg
ICAgICAgICAgICAgICAgKSwKKyAgICAgICAgICAgICAgICApCisKKyAgICAgICAgIyBzZW5kIGZp
bmlzaGVkCisgICAgICAgIHdpdGggcHVzaF9tZXNzYWdlKHNlbGYua2V5X3NjaGVkdWxlLCBoYW5k
c2hha2VfYnVmKToKKyAgICAgICAgICAgIHB1c2hfZmluaXNoZWQoCisgICAgICAgICAgICAgICAg
aGFuZHNoYWtlX2J1ZiwKKyAgICAgICAgICAgICAgICBGaW5pc2hlZCgKKyAgICAgICAgICAgICAg
ICAgICAgdmVyaWZ5X2RhdGE9c2VsZi5rZXlfc2NoZWR1bGUuZmluaXNoZWRfdmVyaWZ5X2RhdGEo
c2VsZi5fZW5jX2tleSkKKyAgICAgICAgICAgICAgICApLAorICAgICAgICAgICAgKQorCisgICAg
ICAgICMgcHJlcGFyZSB0cmFmZmljIGtleXMKKyAgICAgICAgYXNzZXJ0IHNlbGYua2V5X3NjaGVk
dWxlLmdlbmVyYXRpb24gPT0gMgorICAgICAgICBzZWxmLmtleV9zY2hlZHVsZS5leHRyYWN0KE5v
bmUpCisgICAgICAgIHNlbGYuX3NldHVwX3RyYWZmaWNfcHJvdGVjdGlvbigKKyAgICAgICAgICAg
IERpcmVjdGlvbi5FTkNSWVBULCBFcG9jaC5PTkVfUlRULCBiInMgYXAgdHJhZmZpYyIKKyAgICAg
ICAgKQorICAgICAgICBzZWxmLl9uZXh0X2RlY19rZXkgPSBzZWxmLmtleV9zY2hlZHVsZS5kZXJp
dmVfc2VjcmV0KGIiYyBhcCB0cmFmZmljIikKKworICAgICAgICAjIGFudGljaXBhdGUgY2xpZW50
J3MgRklOSVNIRUQgYXMgd2UgZG9uJ3QgdXNlIGNsaWVudCBhdXRoCisgICAgICAgIHNlbGYuX2V4
cGVjdGVkX3ZlcmlmeV9kYXRhID0gc2VsZi5rZXlfc2NoZWR1bGUuZmluaXNoZWRfdmVyaWZ5X2Rh
dGEoCisgICAgICAgICAgICBzZWxmLl9kZWNfa2V5CisgICAgICAgICkKKyAgICAgICAgYnVmID0g
QnVmZmVyKGNhcGFjaXR5PTY0KQorICAgICAgICBwdXNoX2ZpbmlzaGVkKGJ1ZiwgRmluaXNoZWQo
dmVyaWZ5X2RhdGE9c2VsZi5fZXhwZWN0ZWRfdmVyaWZ5X2RhdGEpKQorICAgICAgICBzZWxmLmtl
eV9zY2hlZHVsZS51cGRhdGVfaGFzaChidWYuZGF0YSkKKworICAgICAgICAjIGNyZWF0ZSBhIG5l
dyBzZXNzaW9uIHRpY2tldAorICAgICAgICBpZiBzZWxmLm5ld19zZXNzaW9uX3RpY2tldF9jYiBp
cyBub3QgTm9uZSBhbmQgcHNrX2tleV9leGNoYW5nZV9tb2RlIGlzIG5vdCBOb25lOgorICAgICAg
ICAgICAgc2VsZi5fbmV3X3Nlc3Npb25fdGlja2V0ID0gTmV3U2Vzc2lvblRpY2tldCgKKyAgICAg
ICAgICAgICAgICB0aWNrZXRfbGlmZXRpbWU9ODY0MDAsCisgICAgICAgICAgICAgICAgdGlja2V0
X2FnZV9hZGQ9c3RydWN0LnVucGFjaygiSSIsIG9zLnVyYW5kb20oNCkpWzBdLAorICAgICAgICAg
ICAgICAgIHRpY2tldF9ub25jZT1iIiIsCisgICAgICAgICAgICAgICAgdGlja2V0PW9zLnVyYW5k
b20oNjQpLAorICAgICAgICAgICAgICAgIG1heF9lYXJseV9kYXRhX3NpemU9c2VsZi5fbWF4X2Vh
cmx5X2RhdGEsCisgICAgICAgICAgICApCisKKyAgICAgICAgICAgICMgc2VuZCBtZXNzc2FnZQor
ICAgICAgICAgICAgcHVzaF9uZXdfc2Vzc2lvbl90aWNrZXQob25lcnR0X2J1Ziwgc2VsZi5fbmV3
X3Nlc3Npb25fdGlja2V0KQorCisgICAgICAgICAgICAjIG5vdGlmeSBhcHBsaWNhdGlvbgorICAg
ICAgICAgICAgdGlja2V0ID0gc2VsZi5fYnVpbGRfc2Vzc2lvbl90aWNrZXQoc2VsZi5fbmV3X3Nl
c3Npb25fdGlja2V0KQorICAgICAgICAgICAgc2VsZi5uZXdfc2Vzc2lvbl90aWNrZXRfY2IodGlj
a2V0KQorCisgICAgICAgIHNlbGYuX3NldF9zdGF0ZShTdGF0ZS5TRVJWRVJfRVhQRUNUX0ZJTklT
SEVEKQorCisgICAgZGVmIF9zZXJ2ZXJfaGFuZGxlX2ZpbmlzaGVkKHNlbGYsIGlucHV0X2J1Zjog
QnVmZmVyLCBvdXRwdXRfYnVmOiBCdWZmZXIpIC0+IE5vbmU6CisgICAgICAgIGZpbmlzaGVkID0g
cHVsbF9maW5pc2hlZChpbnB1dF9idWYpCisKKyAgICAgICAgIyBjaGVjayB2ZXJpZnkgZGF0YQor
ICAgICAgICBpZiBmaW5pc2hlZC52ZXJpZnlfZGF0YSAhPSBzZWxmLl9leHBlY3RlZF92ZXJpZnlf
ZGF0YToKKyAgICAgICAgICAgIHJhaXNlIEFsZXJ0RGVjcnlwdEVycm9yCisKKyAgICAgICAgIyBj
b21taXQgdHJhZmZpYyBrZXkKKyAgICAgICAgc2VsZi5fZGVjX2tleSA9IHNlbGYuX25leHRfZGVj
X2tleQorICAgICAgICBzZWxmLl9uZXh0X2RlY19rZXkgPSBOb25lCisgICAgICAgIHNlbGYudXBk
YXRlX3RyYWZmaWNfa2V5X2NiKAorICAgICAgICAgICAgRGlyZWN0aW9uLkRFQ1JZUFQsCisgICAg
ICAgICAgICBFcG9jaC5PTkVfUlRULAorICAgICAgICAgICAgc2VsZi5rZXlfc2NoZWR1bGUuY2lw
aGVyX3N1aXRlLAorICAgICAgICAgICAgc2VsZi5fZGVjX2tleSwKKyAgICAgICAgKQorCisgICAg
ICAgIHNlbGYuX3NldF9zdGF0ZShTdGF0ZS5TRVJWRVJfUE9TVF9IQU5EU0hBS0UpCisKKyAgICBk
ZWYgX3NldHVwX3RyYWZmaWNfcHJvdGVjdGlvbigKKyAgICAgICAgc2VsZiwgZGlyZWN0aW9uOiBE
aXJlY3Rpb24sIGVwb2NoOiBFcG9jaCwgbGFiZWw6IGJ5dGVzCisgICAgKSAtPiBOb25lOgorICAg
ICAgICBrZXkgPSBzZWxmLmtleV9zY2hlZHVsZS5kZXJpdmVfc2VjcmV0KGxhYmVsKQorCisgICAg
ICAgIGlmIGRpcmVjdGlvbiA9PSBEaXJlY3Rpb24uRU5DUllQVDoKKyAgICAgICAgICAgIHNlbGYu
X2VuY19rZXkgPSBrZXkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuX2RlY19rZXkg
PSBrZXkKKworICAgICAgICBzZWxmLnVwZGF0ZV90cmFmZmljX2tleV9jYigKKyAgICAgICAgICAg
IGRpcmVjdGlvbiwgZXBvY2gsIHNlbGYua2V5X3NjaGVkdWxlLmNpcGhlcl9zdWl0ZSwga2V5Cisg
ICAgICAgICkKKworICAgIGRlZiBfc2V0X3N0YXRlKHNlbGYsIHN0YXRlOiBTdGF0ZSkgLT4gTm9u
ZToKKyAgICAgICAgaWYgc2VsZi5fX2xvZ2dlcjoKKyAgICAgICAgICAgIHNlbGYuX19sb2dnZXIu
ZGVidWcoIlRMUyAlcyAtPiAlcyIsIHNlbGYuc3RhdGUsIHN0YXRlKQorICAgICAgICBzZWxmLnN0
YXRlID0gc3RhdGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9zcmMvYWlvcXVpYy93M2MtaW1w
b3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvdGhpcmRfcGFydHkvYWlvcXVpYy9zcmMvYWlvcXVpYy93M2MtaW1wb3J0LmxvZwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5iZDRiMGNlZTQ2NjEzNDJmZWU0ZWMwMzFjMDYyZjkzNTc0NzBjNWUyCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy90aGlyZF9wYXJ0eS9haW9xdWljL3NyYy9haW9xdWljL3czYy1pbXBvcnQubG9nCkBAIC0wLDAg
KzEsMjUgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20g
dGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBp
biBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRo
dWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKKworVGhlbiBy
dW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBv
cnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5
IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9zcmMvYWlvcXVpYy9fX2luaXRfXy5weQor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRf
cGFydHkvYWlvcXVpYy9zcmMvYWlvcXVpYy9fYnVmZmVyLmMKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvc3JjL2Fp
b3F1aWMvX2J1ZmZlci5weWkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvc3JjL2Fpb3F1aWMvX2NyeXB0by5jCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9w
YXJ0eS9haW9xdWljL3NyYy9haW9xdWljL19jcnlwdG8ucHlpCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3NyYy9h
aW9xdWljL2Fib3V0LnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3NyYy9haW9xdWljL2J1ZmZlci5weQorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFy
dHkvYWlvcXVpYy9zcmMvYWlvcXVpYy9weS50eXBlZAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9zcmMvYWlvcXVp
Yy90bHMucHkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy90ZXN0cy9fX2luaXRfXy5weSBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFy
dHkvYWlvcXVpYy90ZXN0cy9fX2luaXRfXy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNjgzNGI4Mjg1YTU2YmVm
MGUxNTQzZmQ5MDFjN2U2ZjJmOGJjMjAyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWlj
L3Rlc3RzL19faW5pdF9fLnB5CkBAIC0wLDAgKzEgQEAKKyMgVGhpcyBmaWxlIGlzIHJlcXVpcmVk
IGZvciBQeXRob24gdG8gc2VhcmNoIHRoaXMgZGlyZWN0b3J5IGZvciBtb2R1bGVzLgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy90ZXN0cy9pbml0
aWFsX2NsaWVudC5iaW4gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvdGVzdHMvaW5pdGlhbF9jbGllbnQuYmluCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjlkN2I3MDU1Y2RhYWNhOTVlZmZiOTNlNTE5ZWNlNWUzZWQ1M2NkNWUKR0lUIGJp
bmFyeSBwYXRjaApsaXRlcmFsIDEyODAKemNtVitiMV5AY1l7e1IzUDIhKUZ8SGo5b3RaVTZ2OD8j
NDhpQkBuIz5YLV5sO0toPTl1PWkla0IkRSUtRVliZ3djCnpvNm5YcC1YY1M0bT57WiRPX3EmZVBu
bE9yLV5tTFhJaHk1RT1FVzJTMGMyZWdPRVlOUXJIUiRHI01TJk5TO1olXwp6WHNpZDh4QlpRVnlm
MDJpcDtASTZadGI+WnpJbyNmMVY9T3I9RHM2MldoQUJHUWFeQlpfYm5KWkF4aXtqWXhhKkwKenV9
dSlCP3ReekQxdXYwUTxUOzZRenI4e24leilnLTA+QFd7PGRBJnAmV3VrR3F3dyVgNnthPSsraWIo
ays5UiplCnoqTzZ8dUshfXYycF54fk14QHxUPzJnc3BkNnJeflpJKlo2bF9wVHdTT1VMb1RyIV9h
P21IRi1nSWhgQHdAKm4lfgp6WSZrWU8ycn1Ccyl8VXI8aTIjNk0mcSRsZGcqQjlLQF9HbUMrRGk3
blp3TGxAJThsKGVKc1lNNykyMCZ1NHo3P1IKenM8JDtSdHYjTD1YfU19JDhfKyk4VH5KRFg8KFFq
OWBUc2hSNzR5O2hoUEp1VFRwbFQrKj9gdzY+c1pqc2V0c1M3CnowYnA2N0stNGtkQ2NXNnBMVUBa
QkNlYHtzMENSdCRmb1NaYEh5VGkjO3FYVGErdFJAfENSJG1PYkFZWnl4aEJxdAp6RDNvWSg1aXBh
VyVNI0JZN3F2WVc1WkArI253eC1NNypmcHkjbyo3PG0rIWNsaj5IWFA9TlF+NiZpcmRiK0xLdjcK
emVnZDBFQn10UCReVk07N3h+dGY1ZiRfeCozTiR3WGFlQ0lxR1VUflF7R2JeeGN3UT9lMSRqPjlX
VFFjM1U9KUJ3Cnp7SnxJXiV8PVZCT3FwbHJmd2ZWRDc4SWBtNzxlXkYmI2ZeMm0/S3RadHdheDBN
UGA3QWxhcE4rVTs/I0FKJml6Tgp6clojU0U4QUFIIyVKdXApN3RvRmZgPi1oZGU7anFYZ0xKOHZg
Pkl5eklIfTElcXI7Vmo/NlhFQlptKVU1PEZTQUwKej1hbjJZJDBSQ01XUj9AYTZMWkhJRXBxUX5y
cXdYV3YoOX1udjFpPD1iIXhTfksleGtZTGBzZlBNbG58OTh5PWNqCno/dmdWQmFfMFJvR3VhLUBO
cU4kb29oV3k7elJGcl5MVlFQR1RecG80O1YmNDsjTWhDYFlROGhudzFvNk5XZio4Xgp6JVF+LVpZ
eGcqT2lWQldJJjdIdDUlNl9TKXRGOVVqN08jQTJTT0plR0VmY0I3NktBTEtMZCQxaVM3eFFTOyhA
NVoKemRAZWJQc05XcUtHYEQ8Zi18anFGKCVRSU57NjElcjArSn5YJTNlV21DU3xoaExSfCRjWHJ7
P0M8V1R7PD8xPE5eCnpWdkkqUF9LeGBZdmlUfHhRYEl3enArR0FlOFl4VWVWdFokYz9uZU05UTsp
QEtOX2VTOF9mbDRLckVVU3hoX31saAp6dUg/YndGViU2OXshe0lyQkItbjF6alJBdlNxJGB6MCVK
bWJFPyQ1dCE8Nm9SKSNweiNJSy1WX0dDfCZeTn1nbkkKenRuSnMmJnZ5dm1XYmMmVUdDTldwX3hC
Qyh5ZzNTaDl9UFFqZFIoS3M+e2t9P2EmfCZfMV47KEplQE0+XnV2aDNWCnpmSzR7PXBjOWdNaD5s
fTxremtlUFhDSGQ7SFkpVH4kc1NgZSRUXy1aQEp3KTF4fmkyclIkbFJgKCVhaH5WRDgqNgp6dG9q
KVJ4bm0mbWgjeWYqRi08eDFobklBNil9bWJJbGFCWG1pVHRPKGpIKTR6Y0h0M1lFU0lIO3wxUHg7
dD1vOGkKeig4cjwlVHdsNU5TOWkmWXw5QD1HKW9NcCVsaitkUW1IJCtmZ2tFfDtHQT51XzJ5dUA8
bFo2ZF5udm1HbEhvNzwjCnp2N20kfXBRYWRnRntHKUMqKnJTbzdoVktxdzU0X1gtSGs3I2JvX2R5
SFhIdnpnQ3lqMkh6TX1Hbys/KDIqOW4xKwp6RUhwejl5YHt7ZFE8P18kRWdfU3tpZUc0MUNjP1Ne
e0dCblkhRGY/dVZXVCEzSXwqQDRVST93JnQ/SEBjQ3N4NmUKcSl5Xlo1M2BhQmJVJShLVm0yZCVu
eT9uMmFtemIofFVDKjlSY1ZjTk95N0wjSTxBYjYzekh8b3cKCmxpdGVyYWwgMApIY21WP2QwMDAw
MQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy90ZXN0cy9pbml0aWFsX3NlcnZlci5iaW4gYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3Bh
cnR5L2Fpb3F1aWMvdGVzdHMvaW5pdGlhbF9zZXJ2ZXIuYmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc1YmJiOWMw
YWZmODk0NzRmZDcwMjFmNmUxYjQ0ZTA1YmExYTFjNDcKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFs
IDIwMgp6Y21WOyowNSQpP3t7UjNQMDA8ZGVYZiNlSilPaTN2eFZxWVBxdDxHPWVzV0tQbnxBdVNW
Sz82eXdSNWUwVT11PDMKekZyI0VVOXV7bjxXQlAoT0U/ZXlObDcmRm5MQ1dhZlUwcGBHS29WTTtP
V1RLc1l+IzJ9OWZDZnJEZXRGUDk8SEl8CnplYzREfmtjelJnJFV2PWdZPX56UjliYE9VWD90X2hB
eyVBZzxGVyZIKCE4ITYmP15fdXF3bElBeGZaN1Y2P0smegp6KVBKSlI0dnxGPDdpVyp0Z0tyPTB1
XkhTTlVPT0Yjdn1LUW9nJCglbkZFMXRYcn44JEl1b0UqNFF2dkcjRmVHPmIKRWNlNzdsSk9CVXkK
CmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy90ZXN0cy9w
eWNhY2VydC5wZW0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvdGVzdHMvcHljYWNlcnQucGVtCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjczMTUwYzk2MGYzNTgxNGRlZjJjMmJjNWZhZjdiZGZlYjhkYWIzMGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3Ro
aXJkX3BhcnR5L2Fpb3F1aWMvdGVzdHMvcHljYWNlcnQucGVtCkBAIC0wLDAgKzEsOTkgQEAKK0Nl
cnRpZmljYXRlOgorICAgIERhdGE6CisgICAgICAgIFZlcnNpb246IDMgKDB4MikKKyAgICAgICAg
U2VyaWFsIE51bWJlcjoKKyAgICAgICAgICAgIGNiOjJkOjgwOjk5OjVhOjY5OjUyOjViCisgICAg
U2lnbmF0dXJlIEFsZ29yaXRobTogc2hhMjU2V2l0aFJTQUVuY3J5cHRpb24KKyAgICAgICAgSXNz
dWVyOiBDPVhZLCBPPVB5dGhvbiBTb2Z0d2FyZSBGb3VuZGF0aW9uIENBLCBDTj1vdXItY2Etc2Vy
dmVyCisgICAgICAgIFZhbGlkaXR5CisgICAgICAgICAgICBOb3QgQmVmb3JlOiBBdWcgMjkgMTQ6
MjM6MTYgMjAxOCBHTVQKKyAgICAgICAgICAgIE5vdCBBZnRlciA6IEF1ZyAyNiAxNDoyMzoxNiAy
MDI4IEdNVAorICAgICAgICBTdWJqZWN0OiBDPVhZLCBPPVB5dGhvbiBTb2Z0d2FyZSBGb3VuZGF0
aW9uIENBLCBDTj1vdXItY2Etc2VydmVyCisgICAgICAgIFN1YmplY3QgUHVibGljIEtleSBJbmZv
OgorICAgICAgICAgICAgUHVibGljIEtleSBBbGdvcml0aG06IHJzYUVuY3J5cHRpb24KKyAgICAg
ICAgICAgICAgICBQdWJsaWMtS2V5OiAoMzA3MiBiaXQpCisgICAgICAgICAgICAgICAgTW9kdWx1
czoKKyAgICAgICAgICAgICAgICAgICAgMDA6OTc6ZWQ6NTU6NDE6YmE6MzY6MTc6OTU6ZGI6NzE6
MWM6ZDM6ZTE6NjE6CisgICAgICAgICAgICAgICAgICAgIGFjOjU4OjczOmUzOmM2Ojk2OmNmOjJi
OjFmOmI4OjA4OmY1OjlkOjRiOjRiOgorICAgICAgICAgICAgICAgICAgICBjNzozMDpmNjpiODow
YjpiMzo1Mjo3MjphMDpiYjpjOTo0ZDozYjo4ZTpkZjoKKyAgICAgICAgICAgICAgICAgICAgMjI6
OGU6MDE6NTc6ODE6Yzk6OTI6NzM6Y2M6MDA6YzY6ZWM6NzA6YjA6M2E6CisgICAgICAgICAgICAg
ICAgICAgIDE3OjQwOmMxOmRmOmYyOjhjOjM2OjRjOmM0OmE3OjgxOmU3OmI2OjI0OjY4OgorICAg
ICAgICAgICAgICAgICAgICBlMjphMDo3ZTozNTowNzoyZjphMDo1YjpmOTo0NTo0NjpmNzoxZTpm
MDo0NjoKKyAgICAgICAgICAgICAgICAgICAgMTE6ZmU6Y2E6MWE6M2M6NTA6ZjE6MjY6YTk6NWY6
OWM6MjI6OWM6Zjg6NDE6CisgICAgICAgICAgICAgICAgICAgIGUxOmRmOjRmOjEyOjk1OjE5OjJm
OjVjOjkwOjAxOjE3OjZlOjdlOjNlOjdkOgorICAgICAgICAgICAgICAgICAgICBjZjplOTowOTph
ZjoyNTpmODpmODo0Mjo3NzoyZDo2ZDo1ZjozNjpmMjo3ODoKKyAgICAgICAgICAgICAgICAgICAg
MWU6N2Q6NGE6ODc6Njg6NjM6NmM6MDY6NzE6MWI6OGQ6ZmE6MjU6ZmU6ZDQ6CisgICAgICAgICAg
ICAgICAgICAgIGQzOmY1OmE1OjE3OmIxOmVmOmVhOjE3OmNiOjU0OmM4OjI3Ojk5OjgwOmNiOgor
ICAgICAgICAgICAgICAgICAgICAzYzo0NTpmMToyYzo1MjoxYzpkZDoxZjo1MTo0NToyMDo1MDox
ZTo1ZTphYjoKKyAgICAgICAgICAgICAgICAgICAgNTc6NzM6MWI6NDE6Nzg6OTY6ZGU6ODQ6YTQ6
N2E6ZGQ6OGY6MzA6ODU6MzY6CisgICAgICAgICAgICAgICAgICAgIDU4Ojc5Ojc2OmEwOmQyOjYx
OmM4OjFiOmE5Ojk0Ojk5OjYzOmM2OmVlOmY4OgorICAgICAgICAgICAgICAgICAgICAxNDpiZjpi
NDo1Mjo1NjozMTo5NzpmYTplYjphYzo1Mzo5ZTo5NTpjZTo0YzoKKyAgICAgICAgICAgICAgICAg
ICAgYzQ6NWE6NGE6Yjc6Y2E6MDM6Mjc6NWI6MzU6NTc6Y2U6MDI6ZGM6ZWM6Y2E6CisgICAgICAg
ICAgICAgICAgICAgIDY5OmY4OjhhOjVhOjM5OmNiOjE2OjIwOjE1OjAzOjI0OjYxOjZjOmY0Ojdh
OgorICAgICAgICAgICAgICAgICAgICBmYzpiNjo0ODplNTo1OToxMDo1Yzo0OTpkMDoyMzo5Zjpm
Yjo3MTo1ZTozYToKKyAgICAgICAgICAgICAgICAgICAgZTk6Njg6OWY6MzQ6NzI6ODA6Mjc6YjY6
M2Y6NGM6YjE6ZDk6ZGI6NjM6N2Y6CisgICAgICAgICAgICAgICAgICAgIDY3OjY4OjRhOjZlOjEx
OmY4OmU4OmMwOmY0OjVhOjE2OjM5OjUzOjBiOjY4OgorICAgICAgICAgICAgICAgICAgICBkZTo3
NzpmYTo0NTplNzpmODo5MTpjZDo3ODpjZDoyODo5NDo5Nzo3MTo1NDoKKyAgICAgICAgICAgICAg
ICAgICAgZmI6Y2Y6ZjA6Mzc6ZGU6Yzk6MjY6YzU6ZGM6MWI6OWU6ODk6NmQ6MDk6YWM6CisgICAg
ICAgICAgICAgICAgICAgIGM4OjQ0OjcxOmNiOjZkOmYxOjk3OjMxOmQ1OjRjOjIwOjMzOmJmOjc1
OjRhOgorICAgICAgICAgICAgICAgICAgICBhMDplMDpkYzo2OToxMTplZDoyYTpiNDo2NDoxMDox
MTozMDo4YjowZTpiMDoKKyAgICAgICAgICAgICAgICAgICAgYTc6MTA6ZDg6OGE6YzU6YWE6MWI6
Yzg6MjY6OGE6MjU6ZTc6NjY6OWY6YTU6CisgICAgICAgICAgICAgICAgICAgIDZhOjFhOjJmOjdj
OjVmOjgzOmM2Ojc4OjRmOjFmCisgICAgICAgICAgICAgICAgRXhwb25lbnQ6IDY1NTM3ICgweDEw
MDAxKQorICAgICAgICBYNTA5djMgZXh0ZW5zaW9uczoKKyAgICAgICAgICAgIFg1MDl2MyBTdWJq
ZWN0IEtleSBJZGVudGlmaWVyOiAKKyAgICAgICAgICAgICAgICBERDpCRjpDQTpEQTpFNjpEMToz
NDpCQTozNzo3NToyMTpDQTo2Rjo5QTowODoyODpGMjozNTpCNjo0OAorICAgICAgICAgICAgWDUw
OXYzIEF1dGhvcml0eSBLZXkgSWRlbnRpZmllcjogCisgICAgICAgICAgICAgICAga2V5aWQ6REQ6
QkY6Q0E6REE6RTY6RDE6MzQ6QkE6Mzc6NzU6MjE6Q0E6NkY6OUE6MDg6Mjg6RjI6MzU6QjY6NDgK
KworICAgICAgICAgICAgWDUwOXYzIEJhc2ljIENvbnN0cmFpbnRzOiAKKyAgICAgICAgICAgICAg
ICBDQTpUUlVFCisgICAgU2lnbmF0dXJlIEFsZ29yaXRobTogc2hhMjU2V2l0aFJTQUVuY3J5cHRp
b24KKyAgICAgICAgIDMzOjZhOjU0OmQzOjZiOmMwOmQ3OjAxOjVmOjlkOmY0OjA1OmMxOjkzOjY2
OjkwOjUwOmQwOgorICAgICAgICAgYjc6MTg6ZTk6YjA6MWU6NGE6YTA6YjY6ZGE6NzY6OTM6YWY6
ODQ6ZGI6YWQ6MTU6NTQ6MzE6CisgICAgICAgICAxNToxMzplNDpkZTo3ZTo0ZTowYzpkNTowOTox
YzozNDozNTpiNjplNTo0YzpkNjo2Zjo2NToKKyAgICAgICAgIDdkOjMyOjVmOmViOmZjOmE5OjZi
OjA3OmY3OjQ5OjgyOmU1OjgxOjdlOjA3OjgwOjlhOjYzOgorICAgICAgICAgZjg6MmM6YzM6NDA6
YmM6OGY6ZDQ6MmE6ZGE6M2U6ZDE6ZWU6MDg6Yjc6NGQ6YTc6ODQ6Y2E6CisgICAgICAgICBmNDoz
ZjphMTo5ODo0NTpiZTpiMTowNTo2OTplNzpkZjpkNzo5OTphYjoxYjplZTo4YjozMDoKKyAgICAg
ICAgIGNjOmY3OmZjOmU3OmQ0OjBiOjE3OmFlOjk3OmJmOmU0OjdiOmZkOjBmOmE3OmI0Ojg1Ojc5
OgorICAgICAgICAgZTM6NTk6ZTI6MTY6ODc6YmY6MWY6Mjk6NDU6MmM6MjM6OTM6NzY6YmU6YzA6
ODc6MWQ6ZGU6CisgICAgICAgICBlYzoyYjo0Mjo2YTplNTpiYjpjODpmNDowYTo0YTowODowYTo4
Yzo1YzpkODo3ZDo0ZDpkMToKKyAgICAgICAgIGI4OmJmOmQ1OmY3OjI5OmVkOjkyOmQxOjk0OjA0
OmU4OjM1OjA2OjU3OjdmOjJjOjIzOjk3OgorICAgICAgICAgODc6YTU6MzU6OGQ6MjY6ZDM6MWE6
NDc6ZjI6MTY6ZDc6ZDk6YzY6ZDQ6MWY6MjM6NDM6ZDM6CisgICAgICAgICAyNjo5OTozOTpjYToy
MDpmNDo3MToyMzo2ZjowYzo0YTo3Njo3NjpmNzo3NjoxZjpiMzpmZToKKyAgICAgICAgIGJmOjQ3
OmIwOmZjOjJhOjU2OjgxOmUxOmQyOmRkOmVlOjA4OmQ4OmY0OmZmOjVhOmRjOjI1OgorICAgICAg
ICAgNjE6OGE6OTE6MDI6Yjk6ODY6MWM6ZjI6NTA6NzM6NzY6MjU6MzU6ZmM6YjY6MjU6MjY6MTU6
CisgICAgICAgICBjYjplYjpjNDoyYjo2MTowYzoxYzplNzplZToyZjoxNzo5YjplYzpmMDpkNDph
MTo4NDplNzoKKyAgICAgICAgIGQyOmFmOmRlOmU0OjFiOjI0OjE0OmE3OjAxOjg3OmUzOmFiOjI5
OjU4OjQ2OmEwOmQ5OmMwOgorICAgICAgICAgMGE6ZTA6OGQ6ZDc6NTk6ZDM6MWI6Zjg6NTQ6MjA6
M2U6Nzg6YTU6YTU6Yzg6NGY6OGI6MDM6CisgICAgICAgICBjNDo5Njo5ZjplYzpmYjo0NzpjZjo3
NjoyZDo4ZDo2NTozNDoyNzpiZjpmYTphZTowMTowNToKKyAgICAgICAgIDhhOmYzOjkyOjBhOmRk
Ojg5OjZjOjk3OmExOmM3OmU3OjYwOjUxOmU3OmFjOmViOjRiOjdkOgorICAgICAgICAgMmM6Yjg6
NjU6Yzk6ZmU6NWQ6NmE6NDg6NTU6OGU6ZTQ6Yzc6Zjk6NmE6NDA6ZTE6Yjg6NjQ6CisgICAgICAg
ICA0NTplOTpiNTo1OToyOTphNTo1ZjpjZjo3ZDo1ODo3ZDo2NDo3OTplNTphNDowOTphYzoxZToK
KyAgICAgICAgIDc2OjY1OjNkOjk0OmM0OjY4CistLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0K
K01JSUViVENDQXRXZ0F3SUJBZ0lKQU1zdGdKbGFhVkpiTUEwR0NTcUdTSWIzRFFFQkN3VUFNRTB4
Q3pBSkJnTlYKK0JBWVRBbGhaTVNZd0pBWURWUVFLREIxUWVYUm9iMjRnVTI5bWRIZGhjbVVnUm05
MWJtUmhkR2x2YmlCRFFURVcKK01CUUdBMVVFQXd3TmIzVnlMV05oTFhObGNuWmxjakFlRncweE9E
QTRNamt4TkRJek1UWmFGdzB5T0RBNE1qWXgKK05ESXpNVFphTUUweEN6QUpCZ05WQkFZVEFsaFpN
U1l3SkFZRFZRUUtEQjFRZVhSb2IyNGdVMjltZEhkaGNtVWcKK1JtOTFibVJoZEdsdmJpQkRRVEVX
TUJRR0ExVUVBd3dOYjNWeUxXTmhMWE5sY25abGNqQ0NBYUl3RFFZSktvWkkKK2h2Y05BUUVCQlFB
RGdnR1BBRENDQVlvQ2dnR0JBSmZ0VlVHNk5oZVYyM0VjMCtGaHJGaHo0OGFXenlzZnVBajEKK25V
dEx4ekQydUF1elVuS2d1OGxOTzQ3ZklvNEJWNEhKa25QTUFNYnNjTEE2RjBEQjMvS01Oa3pFcDRI
bnRpUm8KKzRxQitOUWN2b0Z2NVJVYjNIdkJHRWY3S0dqeFE4U2FwWDV3aW5QaEI0ZDlQRXBVWkwx
eVFBUmR1Zmo1OXora0oKK3J5WDQrRUozTFcxZk52SjRIbjFLaDJoamJBWnhHNDM2SmY3VTAvV2xG
N0h2NmhmTFZNZ25tWURMUEVYeExGSWMKKzNSOVJSU0JRSGw2clYzTWJRWGlXM29Ta2V0MlBNSVUy
V0hsMm9OSmh5QnVwbEpsanh1NzRGTCswVWxZeGwvcnIKK3JGT2VsYzVNeEZwS3Q4b0RKMXMxVjg0
QzNPekthZmlLV2puTEZpQVZBeVJoYlBSNi9MWkk1VmtRWEVuUUk1LzcKK2NWNDY2V2lmTkhLQUo3
WS9UTEhaMjJOL1oyaEtiaEg0Nk1EMFdoWTVVd3RvM25mNlJlZjRrYzE0elNpVWwzRlUKKys4L3dO
OTdKSnNYY0c1NkpiUW1zeUVSeHkyM3hsekhWVENBenYzVktvT0RjYVJIdEtyUmtFQkV3aXc2d3B4
RFkKK2lzV3FHOGdtaWlYblpwK2xhaG92ZkYrRHhuaFBId0lEQVFBQm8xQXdUakFkQmdOVkhRNEVG
Z1FVM2IvSzJ1YlIKK05MbzNkU0hLYjVvSUtQSTF0a2d3SHdZRFZSMGpCQmd3Rm9BVTNiL0sydWJS
TkxvM2RTSEtiNW9JS1BJMXRrZ3cKK0RBWURWUjBUQkFVd0F3RUIvekFOQmdrcWhraUc5dzBCQVFz
RkFBT0NBWUVBTTJwVTAydkExd0ZmbmZRRndaTm0KK2tGRFF0eGpwc0I1S29MYmFkcE92aE51dEZW
UXhGUlBrM241T0ROVUpIRFExdHVWTTFtOWxmVEpmNi95cGF3ZjMKK1NZTGxnWDRIZ0pwaitDekRR
THlQMUNyYVB0SHVDTGROcDRUSzlEK2htRVcrc1FWcDU5L1htYXNiN29zd3pQZjgKKzU5UUxGNjZY
ditSNy9RK250SVY1NDFuaUZvZS9IeWxGTENPVGRyN0FoeDNlN0N0Q2F1Vzd5UFFLU2dnS2pGelkK
K2ZVM1J1TC9WOXludGt0R1VCT2cxQmxkL0xDT1hoNlUxalNiVEdrZnlGdGZaeHRRZkkwUFRKcGs1
eWlEMGNTTnYKK0RFcDJkdmQySDdQK3YwZXcvQ3BXZ2VIUzNlNEkyUFQvV3R3bFlZcVJBcm1HSFBK
UWMzWWxOZnkySlNZVnkrdkUKK0syRU1IT2Z1THhlYjdQRFVvWVRuMHEvZTVCc2tGS2NCaCtPcktW
aEdvTm5BQ3VDTjExblRHL2hVSUQ1NHBhWEkKK1Q0c0R4SmFmN1B0SHozWXRqV1UwSjcvNnJnRUZp
dk9TQ3QySmJKZWh4K2RnVWVlczYwdDlMTGhseWY1ZGFraFYKK2p1VEgrV3BBNGJoa1JlbTFXU21s
WDg5OVdIMWtlZVdrQ2F3ZWRtVTlsTVJvCistLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3RoaXJkX3BhcnR5L2Fpb3F1aWMvdGVzdHMvcmV0cnkuYmluIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3Rlc3Rz
L3JldHJ5LmJpbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZjNiZDQ5ODFhNGE2NTk2YjUwZWM2NWVkYmQ1MWIwYjRj
YTNiZWU0CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAxMjUKemNtVi1AMER9TVV7e1IzUDI8ZyNB
KndJWH5qdUh6QkFYO1JQJnd8KXI1e3FaTTtEQSUrTF4qbWopfGZkdzZINXJHCnpHSU14WV5oVlJG
LTJtLUBSMUElYztjfTJ8SzYoKXdQKFBPYHhSUT1fREVYKnJNUz1QMnc5N2tGIWg+Y1dnKW5wKQpm
bkhldFNYJXhqYFhfKUt9O2lKZTVkNDhrO3o+bXFwTFphQ1g5fWhaPwoKbGl0ZXJhbCAwCkhjbVY/
ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3Rlc3RzL3Nob3J0X2hlYWRlci5iaW4g
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJk
X3BhcnR5L2Fpb3F1aWMvdGVzdHMvc2hvcnRfaGVhZGVyLmJpbgpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yODM2ODNk
MmQ1YjU1NWQ5YjAyMzE5OTkwMmZjZWU1N2QxYjU5MzdlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0
eS9haW9xdWljL3Rlc3RzL3Nob3J0X2hlYWRlci5iaW4KQEAgLTAsMCArMSBAQAorXfRap7WcDhrW
5mj1MEzU/R+zeZMnClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0
eS9haW9xdWljL3Rlc3RzL3NzbF9jZXJ0LnBlbSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy90ZXN0cy9zc2xfY2Vy
dC5wZW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMWY3MTI3YTRiMDI1YWEyMzMyMzE5M2YwNmNmMTc3M2E1NjBlMzgx
MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy90ZXN0cy9zc2xfY2VydC5wZW0KQEAg
LTAsMCArMSwzNCBAQAorLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCitNSUlGOFRDQ0JGbWdB
d0lCQWdJSkFNc3RnSmxhYVZKY01BMEdDU3FHU0liM0RRRUJDd1VBTUUweEN6QUpCZ05WCitCQVlU
QWxoWk1TWXdKQVlEVlFRS0RCMVFlWFJvYjI0Z1UyOW1kSGRoY21VZ1JtOTFibVJoZEdsdmJpQkRR
VEVXCitNQlFHQTFVRUF3d05iM1Z5TFdOaExYTmxjblpsY2pBZUZ3MHhPREE0TWpreE5ESXpNVFph
RncweU9EQTNNRGN4CitOREl6TVRaYU1GOHhDekFKQmdOVkJBWVRBbGhaTVJjd0ZRWURWUVFIREE1
RFlYTjBiR1VnUVc1MGFISmhlREVqCitNQ0VHQTFVRUNnd2FVSGwwYUc5dUlGTnZablIzWVhKbElF
WnZkVzVrWVhScGIyNHhFakFRQmdOVkJBTU1DV3h2CitZMkZzYUc5emREQ0NBYUl3RFFZSktvWklo
dmNOQVFFQkJRQURnZ0dQQURDQ0FZb0NnZ0dCQUo4b0x6ZEI3MzlrCitZeFppRnVrQkZHSXB5anFZ
a2owSTAxNXAvc0R6MU1UN0RsamNaTEJMeTdPcW5rTHBCNXRuTTgyNTZEd2RpaFBBCiszemxuZkV6
VGZyOUREMHFGQlcySDVjTUNvejdYMTdrb2VSaHpHRGQzZGtqVWVCalh2UjVxUm9zRzh3TTNsUXVn
CitVN0FpelkrM0F6YWoxeU4zbVo5SzVhMjBqcjU4S3FpbnorWHh4NnNiMkpmWVlmZjJuZUpiQmFo
Tm01aWQwQUQyCitwaS9UdGhacU81RFVSSllvK01kZ1pPY3krN2pFak9Kc0xXWmQzWXpxNzhpTTA3
cURqYnBJb1ZwRU5aQ1RIVFdBCitoWDhMSXF6ME9CbWg0d2VRcG00K3BsVTdFNHI0RDgydWF1b2NX
dzhpeXV6bkNUdEFCV083bjlmV3lTbWY5UVpDCitXWXhIQUZwQlFzNnpVVnFBRDduaEZkVHFwUTli
UmlhRW5qRTRIaUFjY1BXK01Bb1N4Rm52L3JOekV6STZiNHpVCitOc3BGTWZnMWFOVmFtZGp4ZHBV
WjFHRzFPa2YweVBKeWtxRVg0UFpsM0xhMUJlMnE3WVoxd3lkUjUyM1hkK2YzCitFTzQvZytpbUVU
U0tuOGd5Q2Y2UnZpYjE3NUw0cjJXVjFDWFFIN2dGd1pZQ29kNldIWXE1VFFJREFRQUJvNElCCit3
RENDQWJ3d0ZBWURWUjBSQkEwd0M0SUpiRzlqWVd4b2IzTjBNQTRHQTFVZER3RUIvd1FFQXdJRm9E
QWRCZ05WCitIU1VFRmpBVUJnZ3JCZ0VGQlFjREFRWUlLd1lCQlFVSEF3SXdEQVlEVlIwVEFRSC9C
QUl3QURBZEJnTlZIUTRFCitGZ1FVaitvZDR6TmNBQmF6aTI5cmI5Tk15N1hMZkZVd2ZRWURWUjBq
QkhZd2RJQVUzYi9LMnViUk5MbzNkU0hLCitiNW9JS1BJMXRraWhVYVJQTUUweEN6QUpCZ05WQkFZ
VEFsaFpNU1l3SkFZRFZRUUtEQjFRZVhSb2IyNGdVMjltCitkSGRoY21VZ1JtOTFibVJoZEdsdmJp
QkRRVEVXTUJRR0ExVUVBd3dOYjNWeUxXTmhMWE5sY25abGNvSUpBTXN0CitnSmxhYVZKYk1JR0RC
Z2dyQmdFRkJRY0JBUVIzTUhVd1BBWUlLd1lCQlFVSE1BS0dNR2gwZEhBNkx5OTBaWE4wCitZMkV1
Y0hsMGFHOXVkR1Z6ZEM1dVpYUXZkR1Z6ZEdOaEwzQjVZMkZqWlhKMExtTmxjakExQmdnckJnRUZC
UWN3CitBWVlwYUhSMGNEb3ZMM1JsYzNSallTNXdlWFJvYjI1MFpYTjBMbTVsZEM5MFpYTjBZMkV2
YjJOemNDOHdRd1lECitWUjBmQkR3d09qQTRvRGFnTklZeWFIUjBjRG92TDNSbGMzUmpZUzV3ZVhS
b2IyNTBaWE4wTG01bGRDOTBaWE4wCitZMkV2Y21WMmIyTmhkR2x2Ymk1amNtd3dEUVlKS29aSWh2
Y05BUUVMQlFBRGdnR0JBQ2YxakZrUTlNYm5LQUMvCit1bzE3RXdQeEhLWmZzd1pWcENLNTI3TFZS
cjMzRE4xRGJyUjVaV2NoRENwVjdrQ09oWitmUjdzS0trMjJaSFNZCitvSCt1M1BFdTIwSjNHT0Ix
aXlZMWFNTkI3V3ZJZDNKdmFwcGRWV2tDL1ZwVXlGZkxzR1VERnVJUEFEbVpacUNiCitpSk1YNGxv
dGVUVmZsMWQ0eEsvMW1WNkdxOU1SclJxaURmcFNFTG4rdjUzT005bUdzcHdXK05aMUNJcmJDdVcw
CitLeFovdFBrcW44UFNkOWZOWlI3MGJCN3JXYm53cmwra0g4eEt4TGw2cWRsck1tZzc0V1d3aExl
UXhLNys5RGRQCitJYURlbnpxeDVjd1dCR1kvQzBIY1FqMGdQdXkzbFNzMVYvcStmN1k2dXNwUFdQ
NTFQZ2lKTEl5d1hTNzVpUkFyCisrVUZHVHp3QXR5ZlRaU1FvRnlNbU1VTHFmazZUNUh0b1ZNcWZS
dlB2SyttRkRMV0VzdFUxTklCMUsvQ1JJN2dJCitBWTY1Q2xUVSt6UlMvdGxGOElBN3RzRnZndEVm
OGpzSTlrYW1saWRoUzFneWVnNGRXY1ZFclY0YWVUUEIxQVV2CitTdFBZUWtLTk0rTmp5dFdIbDV0
TnVCb0ROTHNjMGdJL1dTUGlJNENJWThMd29tT29pdz09CistLS0tLUVORCBDRVJUSUZJQ0FURS0t
LS0tCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvdGVzdHMvc3NsX2NlcnRfd2l0aF9jaGFpbi5w
ZW0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3Ro
aXJkX3BhcnR5L2Fpb3F1aWMvdGVzdHMvc3NsX2NlcnRfd2l0aF9jaGFpbi5wZW0KbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYjYwYWQ0MTY4N2UyYWZkN2EwZjk0ZDE1NjFhYmRlYTFlNWRkNDM2MQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
dGhpcmRfcGFydHkvYWlvcXVpYy90ZXN0cy9zc2xfY2VydF93aXRoX2NoYWluLnBlbQpAQCAtMCww
ICsxLDYwIEBACistLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KK01JSUY4VENDQkZtZ0F3SUJB
Z0lKQU1zdGdKbGFhVkpjTUEwR0NTcUdTSWIzRFFFQkN3VUFNRTB4Q3pBSkJnTlYKK0JBWVRBbGha
TVNZd0pBWURWUVFLREIxUWVYUm9iMjRnVTI5bWRIZGhjbVVnUm05MWJtUmhkR2x2YmlCRFFURVcK
K01CUUdBMVVFQXd3TmIzVnlMV05oTFhObGNuWmxjakFlRncweE9EQTRNamt4TkRJek1UWmFGdzB5
T0RBM01EY3gKK05ESXpNVFphTUY4eEN6QUpCZ05WQkFZVEFsaFpNUmN3RlFZRFZRUUhEQTVEWVhO
MGJHVWdRVzUwYUhKaGVERWoKK01DRUdBMVVFQ2d3YVVIbDBhRzl1SUZOdlpuUjNZWEpsSUVadmRX
NWtZWFJwYjI0eEVqQVFCZ05WQkFNTUNXeHYKK1kyRnNhRzl6ZERDQ0FhSXdEUVlKS29aSWh2Y05B
UUVCQlFBRGdnR1BBRENDQVlvQ2dnR0JBSjhvTHpkQjczOWsKK1l4WmlGdWtCRkdJcHlqcVlrajBJ
MDE1cC9zRHoxTVQ3RGxqY1pMQkx5N09xbmtMcEI1dG5NODI1NkR3ZGloUEEKKzN6bG5mRXpUZnI5
REQwcUZCVzJINWNNQ296N1gxN2tvZVJoekdEZDNka2pVZUJqWHZSNXFSb3NHOHdNM2xRdWcKK1U3
QWl6WSszQXphajF5TjNtWjlLNWEyMGpyNThLcWlueitYeHg2c2IySmZZWWZmMm5lSmJCYWhObTVp
ZDBBRDIKK3BpL1R0aFpxTzVEVVJKWW8rTWRnWk9jeSs3akVqT0pzTFdaZDNZenE3OGlNMDdxRGpi
cElvVnBFTlpDVEhUV0EKK2hYOExJcXowT0JtaDR3ZVFwbTQrcGxVN0U0cjREODJ1YXVvY1d3OGl5
dXpuQ1R0QUJXTzduOWZXeVNtZjlRWkMKK1dZeEhBRnBCUXM2elVWcUFEN25oRmRUcXBROWJSaWFF
bmpFNEhpQWNjUFcrTUFvU3hGbnYvck56RXpJNmI0elUKK05zcEZNZmcxYU5WYW1kanhkcFVaMUdH
MU9rZjB5UEp5a3FFWDRQWmwzTGExQmUycTdZWjF3eWRSNTIzWGQrZjMKK0VPNC9nK2ltRVRTS244
Z3lDZjZSdmliMTc1TDRyMldWMUNYUUg3Z0Z3WllDb2Q2V0hZcTVUUUlEQVFBQm80SUIKK3dEQ0NB
Ynd3RkFZRFZSMFJCQTB3QzRJSmJHOWpZV3hvYjNOME1BNEdBMVVkRHdFQi93UUVBd0lGb0RBZEJn
TlYKK0hTVUVGakFVQmdnckJnRUZCUWNEQVFZSUt3WUJCUVVIQXdJd0RBWURWUjBUQVFIL0JBSXdB
REFkQmdOVkhRNEUKK0ZnUVVqK29kNHpOY0FCYXppMjlyYjlOTXk3WExmRlV3ZlFZRFZSMGpCSFl3
ZElBVTNiL0sydWJSTkxvM2RTSEsKK2I1b0lLUEkxdGtpaFVhUlBNRTB4Q3pBSkJnTlZCQVlUQWxo
Wk1TWXdKQVlEVlFRS0RCMVFlWFJvYjI0Z1UyOW0KK2RIZGhjbVVnUm05MWJtUmhkR2x2YmlCRFFU
RVdNQlFHQTFVRUF3d05iM1Z5TFdOaExYTmxjblpsY29JSkFNc3QKK2dKbGFhVkpiTUlHREJnZ3JC
Z0VGQlFjQkFRUjNNSFV3UEFZSUt3WUJCUVVITUFLR01HaDBkSEE2THk5MFpYTjAKK1kyRXVjSGww
YUc5dWRHVnpkQzV1WlhRdmRHVnpkR05oTDNCNVkyRmpaWEowTG1ObGNqQTFCZ2dyQmdFRkJRY3cK
K0FZWXBhSFIwY0RvdkwzUmxjM1JqWVM1d2VYUm9iMjUwWlhOMExtNWxkQzkwWlhOMFkyRXZiMk56
Y0M4d1F3WUQKK1ZSMGZCRHd3T2pBNG9EYWdOSVl5YUhSMGNEb3ZMM1JsYzNSallTNXdlWFJvYjI1
MFpYTjBMbTVsZEM5MFpYTjAKK1kyRXZjbVYyYjJOaGRHbHZiaTVqY213d0RRWUpLb1pJaHZjTkFR
RUxCUUFEZ2dHQkFDZjFqRmtROU1ibktBQy8KK3VvMTdFd1B4SEtaZnN3WlZwQ0s1MjdMVlJyMzNE
TjFEYnJSNVpXY2hEQ3BWN2tDT2haK2ZSN3NLS2syMlpIU1kKK29IK3UzUEV1MjBKM0dPQjFpeVkx
YU1OQjdXdklkM0p2YXBwZFZXa0MvVnBVeUZmTHNHVURGdUlQQURtWlpxQ2IKK2lKTVg0bG90ZVRW
ZmwxZDR4Sy8xbVY2R3E5TVJyUnFpRGZwU0VMbit2NTNPTTltR3Nwd1crTloxQ0lyYkN1VzAKK0t4
Wi90UGtxbjhQU2Q5Zk5aUjcwYkI3cldibndybCtrSDh4S3hMbDZxZGxyTW1nNzRXV3doTGVReEs3
KzlEZFAKK0lhRGVuenF4NWN3V0JHWS9DMEhjUWowZ1B1eTNsU3MxVi9xK2Y3WTZ1c3BQV1A1MVBn
aUpMSXl3WFM3NWlSQXIKKytVRkdUendBdHlmVFpTUW9GeU1tTVVMcWZrNlQ1SHRvVk1xZlJ2UHZL
K21GRExXRXN0VTFOSUIxSy9DUkk3Z0kKK0FZNjVDbFRVK3pSUy90bEY4SUE3dHNGdmd0RWY4anNJ
OWthbWxpZGhTMWd5ZWc0ZFdjVkVyVjRhZVRQQjFBVXYKK1N0UFlRa0tOTStOanl0V0hsNXROdUJv
RE5Mc2MwZ0kvV1NQaUk0Q0lZOEx3b21Pb2l3PT0KKy0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
Ky0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQorTUlJRWJUQ0NBdFdnQXdJQkFnSUpBTXN0Z0ps
YWFWSmJNQTBHQ1NxR1NJYjNEUUVCQ3dVQU1FMHhDekFKQmdOVgorQkFZVEFsaFpNU1l3SkFZRFZR
UUtEQjFRZVhSb2IyNGdVMjltZEhkaGNtVWdSbTkxYm1SaGRHbHZiaUJEUVRFVworTUJRR0ExVUVB
d3dOYjNWeUxXTmhMWE5sY25abGNqQWVGdzB4T0RBNE1qa3hOREl6TVRaYUZ3MHlPREE0TWpZeAor
TkRJek1UWmFNRTB4Q3pBSkJnTlZCQVlUQWxoWk1TWXdKQVlEVlFRS0RCMVFlWFJvYjI0Z1UyOW1k
SGRoY21VZworUm05MWJtUmhkR2x2YmlCRFFURVdNQlFHQTFVRUF3d05iM1Z5TFdOaExYTmxjblps
Y2pDQ0FhSXdEUVlKS29aSQoraHZjTkFRRUJCUUFEZ2dHUEFEQ0NBWW9DZ2dHQkFKZnRWVUc2Tmhl
VjIzRWMwK0ZockZoejQ4YVd6eXNmdUFqMQorblV0THh6RDJ1QXV6VW5LZ3U4bE5PNDdmSW80QlY0
SEprblBNQU1ic2NMQTZGMERCMy9LTU5rekVwNEhudGlSbworNHFCK05RY3ZvRnY1UlViM0h2QkdF
ZjdLR2p4UThTYXBYNXdpblBoQjRkOVBFcFVaTDF5UUFSZHVmajU5eitrSgorcnlYNCtFSjNMVzFm
TnZKNEhuMUtoMmhqYkFaeEc0MzZKZjdVMC9XbEY3SHY2aGZMVk1nbm1ZRExQRVh4TEZJYworM1I5
UlJTQlFIbDZyVjNNYlFYaVczb1NrZXQyUE1JVTJXSGwyb05KaHlCdXBsSmxqeHU3NEZMKzBVbFl4
bC9ycgorckZPZWxjNU14RnBLdDhvREoxczFWODRDM096S2FmaUtXam5MRmlBVkF5UmhiUFI2L0xa
STVWa1FYRW5RSTUvNworY1Y0NjZXaWZOSEtBSjdZL1RMSFoyMk4vWjJoS2JoSDQ2TUQwV2hZNVV3
dG8zbmY2UmVmNGtjMTR6U2lVbDNGVQorKzgvd045N0pKc1hjRzU2SmJRbXN5RVJ4eTIzeGx6SFZU
Q0F6djNWS29PRGNhUkh0S3JSa0VCRXdpdzZ3cHhEWQoraXNXcUc4Z21paVhuWnArbGFob3ZmRitE
eG5oUEh3SURBUUFCbzFBd1RqQWRCZ05WSFE0RUZnUVUzYi9LMnViUgorTkxvM2RTSEtiNW9JS1BJ
MXRrZ3dId1lEVlIwakJCZ3dGb0FVM2IvSzJ1YlJOTG8zZFNIS2I1b0lLUEkxdGtndworREFZRFZS
MFRCQVV3QXdFQi96QU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FZRUFNMnBVMDJ2QTF3RmZuZlFGd1pO
bQora0ZEUXR4anBzQjVLb0xiYWRwT3ZoTnV0RlZReEZSUGszbjVPRE5VSkhEUTF0dVZNMW05bGZU
SmY2L3lwYXdmMworU1lMbGdYNEhnSnBqK0N6RFFMeVAxQ3JhUHRIdUNMZE5wNFRLOUQraG1FVytz
UVZwNTkvWG1hc2I3b3N3elBmOAorNTlRTEY2Nlh2K1I3L1ErbnRJVjU0MW5pRm9lL0h5bEZMQ09U
ZHI3QWh4M2U3Q3RDYXVXN3lQUUtTZ2dLakZ6WQorZlUzUnVML1Y5eW50a3RHVUJPZzFCbGQvTENP
WGg2VTFqU2JUR2tmeUZ0Zlp4dFFmSTBQVEpwazV5aUQwY1NOdgorREVwMmR2ZDJIN1ArdjBldy9D
cFdnZUhTM2U0STJQVC9XdHdsWVlxUkFybUdIUEpRYzNZbE5meTJKU1lWeSt2RQorSzJFTUhPZnVM
eGViN1BEVW9ZVG4wcS9lNUJza0ZLY0JoK09yS1ZoR29ObkFDdUNOMTFuVEcvaFVJRDU0cGFYSQor
VDRzRHhKYWY3UHRIejNZdGpXVTBKNy82cmdFRml2T1NDdDJKYkplaHgrZGdVZWVzNjB0OUxMaGx5
ZjVkYWtoVgoranVUSCtXcEE0YmhrUmVtMVdTbWxYODk5V0gxa2VlV2tDYXdlZG1VOWxNUm8KKy0t
LS0tRU5EIENFUlRJRklDQVRFLS0tLS0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy90ZXN0cy9z
c2xfa2V5LnBlbSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy90ZXN0cy9zc2xfa2V5LnBlbQpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5i
OGZkZWMxMDFjOGQ2NzRjNTIwN2QxMDBmNzRiNmE3MjQyNGNiNTI5Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGly
ZF9wYXJ0eS9haW9xdWljL3Rlc3RzL3NzbF9rZXkucGVtCkBAIC0wLDAgKzEsNDAgQEAKKy0tLS0t
QkVHSU4gUFJJVkFURSBLRVktLS0tLQorTUlJRy9RSUJBREFOQmdrcWhraUc5dzBCQVFFRkFBU0NC
dWN3Z2diakFnRUFBb0lCZ1FDZktDODNRZTkvWkdNVworWWhicEFSUmlLY282bUpJOUNOTmVhZjdB
ODlURSt3NVkzR1N3Uzh1enFwNUM2UWViWnpQTnVlZzhIWW9Ud044NQorWjN4TTAzNi9RdzlLaFFW
dGgrWERBcU0rMTllNUtIa1ljeGczZDNaSTFIZ1kxNzBlYWthTEJ2TURONVVMb0ZPdworSXMyUHR3
TTJvOWNqZDVtZlN1V3R0STYrZkNxb3A4L2w4Y2VyRzlpWDJHSDM5cDNpV3dXb1RadVluZEFBOXFZ
dgorMDdZV2FqdVExRVNXS1BqSFlHVG5NdnU0eEl6aWJDMW1YZDJNNnUvSWpOTzZnNDI2U0tGYVJE
V1FreDAxZ0lWLworQ3lLczlEZ1pvZU1Ia0tadVBxWlZPeE9LK0EvTnJtcnFIRnNQSXNyczV3azdR
QVZqdTUvWDFza3BuL1VHUWxtTQorUndCYVFVTE9zMUZhZ0ErNTRSWFU2cVVQVzBZbWhKNHhPQjRn
SEhEMXZqQUtFc1JaNy82emN4TXlPbStNMURiSworUlRINE5XalZXcG5ZOFhhVkdkUmh0VHBIOU1q
eWNwS2hGK0QyWmR5MnRRWHRxdTJHZGNNblVlZHQxM2ZuOXhEdQorUDRQb3BoRTBpcC9JTWduK2ti
NG05ZStTK0s5bGxkUWwwQis0QmNHV0FxSGVsaDJLdVUwQ0F3RUFBUUtDQVlFQQorbEtpV0lZam15
UmpkTEtVR1BURVM5dldOdk5tUmpvelYwUlEwTGNvU2JNTUxEWmtlTzBVd3lXcU9WSFVROCtpYgor
akljZkVqZU5KeEk1N29ab3BlSE9PNXZKaHBObEZIK2c3bHRpVzJxRVJxQTFLODhsU1htOTlCenc2
Rk5xaENSRQorSzh1YjVOOWZ5ZkpBK1A0by94bTBXSzhFWGs1eUlVVjE3cC85ekpKeHpnS2d2Mmpz
VlRpM1FHMk9aR3ZuNE91ZworQnlvbU1aRUdIa0JEemR4ejhjL2NQMVRsazFSRnV3U2dld3MxNzhr
MnhxN0FZU00vczBZbUhpN2IvUlN2cHRYNgorMXY4UDhrWE5VZTRBd1RhTnlybHZGMmx3SWFkWjho
MWhBN3RDRTJuNDRiN2E3S2ZoQWt3Y2JyMVQ1OWlvWWg2UAorenhzeVBUNjc4dUQ1MWRidEQvRFhK
Q2NvZWVGT2I4dXprUjJLTmNyblF6WnBDSm5ScTRHcDV5Ynh3c3h4dXpwcgorZ3owZ2JObGh1V3RF
N0VvU3ptSUs5dCtXVFM3SU0yQ3ZaeW1kNi9PQWgxRnV3NkFRaFNwNjRYUnAzT2ZNTUFBQworSWUy
RVB0S2o0aXNsV0dUOFZvVWp1UllHbWRSaDRkdUFIMWRraUFYT1dBM1I3eTVhMS95L2lFOEtFOEJ0
eG9jQgorQW9IQkFNOGFpVVJncHUxRnMwT3F6Nml6ZWM3S1NMTDNsOGhtVytNS1VPZmsvWWJuZzZG
clRGc0w1WXR6UitBcAord1c0d3dXbm5JS0VjMUpMaVo3ZzhhZ1JFVEs4aHI1UHdGWFVuL0dTV0Mw
U01zYXpMSlRveVNRUzVMT1YwdEx6Swora0ozanROVTd0bmxER05rQ0hUSFNvVkwyVC84dCtJa1pJ
L2g1WjZ3amxZUHZVMkl1MG5WSVh0aUcrYWx2NEE2TQorSHJoOWw1b3I0bWpCNnJHblZYZVlvaExr
Q202cy9XOTdhaFZ4TE1jRWRic0JvMXBybTJKcUduU29pUi90RUZDLworUUhRbmJRS0J3UURFdTdr
VzBZZzlzWjg5UXRZdFZRMVlwaXhGWk9SYVVlUklSTG5wRXMxdzdMMW1DYk9aMkxqOQorSkh4c0gw
NWNZQWM3SEpmUHd3eHYzKzNhR0FJQy9kZnU0VlN3RUZ0YXRBelVwemxoektTNStIUUNXQjRKVU5O
VQorTVEzK0Z3SzJ4UVg0UGg4dCtPenJGaVljSzJnMEFuNVV4V01hMkhXSUFXVU9oblRPeWRBVnNv
SDZ5UDMxY1ZtNAorMGh4b0FCQ3dmbGFOTE5HalJVeWZCcExUQWNOdS9ZdGNFK0tSRXk3WUFBZ1hY
cmhSU080WHBMc1NYd0xuTFQ3LworWU9rb0JXRGNUV0VDZ2NCUFduU1VEWkNJUTNlZml0aE1aSkJj
aXFkMlkyWDE5RHBxOE8zMUhJbUQ0anRPWTBWNworY1VCL3dTa2VIQUd3amQvZUN5QTJlMHg4QjJJ
RWRxbU1mdnIrODZKSnhla0MzZEpZWENGdkg1V0loc0g1M1lDYQorM2JUMUtsV0NMUDlpYi9nKzU4
VlFDMFIvQ2M5VDRzZkxlUE5IN0Q1WmtaZDF3bGJWMzBDUHIraThLd0theTZNRAoreGh2dEx4K2pr
MDdHRStFOXdtamJDTW83VGNseXJMb1ZFT2xxWk1BcXNoZ0FwVCtwOWV5Q1BldHdYdURId2Ezbgor
V3hoSGNsY1pDVjdSNHJVQ2djQWtkR1NueGN2cElyRFBPVU5Xd3h2bUFXVFN0dzlaYlROUDhPeENO
Q205Y3lEbAorZDRiQVMxaDhEL2ErVWs3QzcwaG51N1NsMnc3QzdFdTJ6aHdSVWRoaGUzK2w0R0lO
UEsvajk5aTZOcUdQbEdwcQoreE1sTUVKNFlTNzY4QnFlS0ZwZzBsODVQUm9FZ1RzcGhEZW9ST1NV
UHNFUGRCWjlCeElCbFlLVGtiS0VTWkRHUgordHd6WUhsangxbjFOQ0RZUGZsbXJiMUtwWG40RU9j
T2JOZ2h3MktxcU5VVVdmT2VCUHdCQTFGeHpNNEJyQVN0cAorREJJTnBHUzREYzBtalZpVmVnRUNn
Y0EzaFR0bTgyWGR4UVhqOUxRbWIvRTNsS3gvN0g4N1hJT2VOTW12all1WgoraVM5d0tya0YrdTQy
dnlvRHhjS01DbnhQNTA1NndwZFNUNHA1NnIrU0J3VlRIY2MzbEdCU0djTVRJZndSWHJqMwordGhP
QTJvdXIybjRvdU5Jc1l5VGxjc1FTemlmd21wUm1WTVJQeGw5ZllWZEVXVWdCODNGZ0hUMEQ5YXZ2
Wm5GOQordDlPY2NuR0pYU2hBSVpJQkFEaFZqL0p3RzRGYmFYNDJOaWpENVBOcFZMazFZMTdPVjBJ
NTc2VDlTZmFRb0JqSgorYUgxTS96QzRhVmFTMERZQi9HeHE3djg9CistLS0tLUVORCBQUklWQVRF
IEtFWS0tLS0tCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvdGVzdHMvdGVzdF9hc3luY2lvLnB5
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGly
ZF9wYXJ0eS9haW9xdWljL3Rlc3RzL3Rlc3RfYXN5bmNpby5weQpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MWZjYmYz
ODAzZGM4NDI4YzA3NTk2OTRjZjQ2Y2NmNDllY2Q1Zjc0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0
eS9haW9xdWljL3Rlc3RzL3Rlc3RfYXN5bmNpby5weQpAQCAtMCwwICsxLDM3NCBAQAoraW1wb3J0
IGFzeW5jaW8KK2ltcG9ydCBiaW5hc2NpaQoraW1wb3J0IHJhbmRvbQoraW1wb3J0IHNvY2tldAor
ZnJvbSB1bml0dGVzdCBpbXBvcnQgVGVzdENhc2UsIHNraXBJZgorZnJvbSB1bml0dGVzdC5tb2Nr
IGltcG9ydCBwYXRjaAorCitmcm9tIGNyeXB0b2dyYXBoeS5oYXptYXQucHJpbWl0aXZlcyBpbXBv
cnQgc2VyaWFsaXphdGlvbgorCitmcm9tIGFpb3F1aWMuYXN5bmNpby5jbGllbnQgaW1wb3J0IGNv
bm5lY3QKK2Zyb20gYWlvcXVpYy5hc3luY2lvLnByb3RvY29sIGltcG9ydCBRdWljQ29ubmVjdGlv
blByb3RvY29sCitmcm9tIGFpb3F1aWMuYXN5bmNpby5zZXJ2ZXIgaW1wb3J0IHNlcnZlCitmcm9t
IGFpb3F1aWMucXVpYy5jb25maWd1cmF0aW9uIGltcG9ydCBRdWljQ29uZmlndXJhdGlvbgorZnJv
bSBhaW9xdWljLnF1aWMubG9nZ2VyIGltcG9ydCBRdWljTG9nZ2VyCisKK2Zyb20gLnV0aWxzIGlt
cG9ydCAoCisgICAgU0VSVkVSX0NBQ0VSVEZJTEUsCisgICAgU0VSVkVSX0NFUlRGSUxFLAorICAg
IFNFUlZFUl9LRVlGSUxFLAorICAgIFNLSVBfVEVTVFMsCisgICAgZ2VuZXJhdGVfZWNfY2VydGlm
aWNhdGUsCisgICAgcnVuLAorKQorCityZWFsX3NlbmR0byA9IHNvY2tldC5zb2NrZXQuc2VuZHRv
CisKKworZGVmIHNlbmR0b193aXRoX2xvc3Moc2VsZiwgZGF0YSwgYWRkcj1Ob25lKToKKyAgICAi
IiIKKyAgICBTaW11bGF0ZSAyNSUgcGFja2V0IGxvc3MuCisgICAgIiIiCisgICAgaWYgcmFuZG9t
LnJhbmRvbSgpID4gMC4yNToKKyAgICAgICAgcmVhbF9zZW5kdG8oc2VsZiwgZGF0YSwgYWRkcikK
KworCitjbGFzcyBTZXNzaW9uVGlja2V0U3RvcmU6CisgICAgZGVmIF9faW5pdF9fKHNlbGYpOgor
ICAgICAgICBzZWxmLnRpY2tldHMgPSB7fQorCisgICAgZGVmIGFkZChzZWxmLCB0aWNrZXQpOgor
ICAgICAgICBzZWxmLnRpY2tldHNbdGlja2V0LnRpY2tldF0gPSB0aWNrZXQKKworICAgIGRlZiBw
b3Aoc2VsZiwgbGFiZWwpOgorICAgICAgICByZXR1cm4gc2VsZi50aWNrZXRzLnBvcChsYWJlbCwg
Tm9uZSkKKworCitkZWYgaGFuZGxlX3N0cmVhbShyZWFkZXIsIHdyaXRlcik6CisgICAgYXN5bmMg
ZGVmIHNlcnZlKCk6CisgICAgICAgIGRhdGEgPSBhd2FpdCByZWFkZXIucmVhZCgpCisgICAgICAg
IHdyaXRlci53cml0ZShieXRlcyhyZXZlcnNlZChkYXRhKSkpCisgICAgICAgIHdyaXRlci53cml0
ZV9lb2YoKQorCisgICAgYXN5bmNpby5lbnN1cmVfZnV0dXJlKHNlcnZlKCkpCisKKworY2xhc3Mg
SGlnaExldmVsVGVzdChUZXN0Q2FzZSk6CisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBz
ZWxmLnNlcnZlciA9IE5vbmUKKyAgICAgICAgc2VsZi5zZXJ2ZXJfaG9zdCA9ICJsb2NhbGhvc3Qi
CisgICAgICAgIHNlbGYuc2VydmVyX3BvcnQgPSA0NDMzCisKKyAgICBkZWYgdGVhckRvd24oc2Vs
Zik6CisgICAgICAgIGlmIHNlbGYuc2VydmVyIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgc2Vs
Zi5zZXJ2ZXIuY2xvc2UoKQorCisgICAgYXN5bmMgZGVmIHJ1bl9jbGllbnQoCisgICAgICAgIHNl
bGYsCisgICAgICAgIGhvc3Q9Tm9uZSwKKyAgICAgICAgcG9ydD1Ob25lLAorICAgICAgICBjYWRh
dGE9Tm9uZSwKKyAgICAgICAgY2FmaWxlPVNFUlZFUl9DQUNFUlRGSUxFLAorICAgICAgICBjb25m
aWd1cmF0aW9uPU5vbmUsCisgICAgICAgIHJlcXVlc3Q9YiJwaW5nIiwKKyAgICAgICAgKiprd2Fy
Z3MKKyAgICApOgorICAgICAgICBpZiBob3N0IGlzIE5vbmU6CisgICAgICAgICAgICBob3N0ID0g
c2VsZi5zZXJ2ZXJfaG9zdAorICAgICAgICBpZiBwb3J0IGlzIE5vbmU6CisgICAgICAgICAgICBw
b3J0ID0gc2VsZi5zZXJ2ZXJfcG9ydAorICAgICAgICBpZiBjb25maWd1cmF0aW9uIGlzIE5vbmU6
CisgICAgICAgICAgICBjb25maWd1cmF0aW9uID0gUXVpY0NvbmZpZ3VyYXRpb24oaXNfY2xpZW50
PVRydWUpCisgICAgICAgIGNvbmZpZ3VyYXRpb24ubG9hZF92ZXJpZnlfbG9jYXRpb25zKGNhZGF0
YT1jYWRhdGEsIGNhZmlsZT1jYWZpbGUpCisgICAgICAgIGFzeW5jIHdpdGggY29ubmVjdChob3N0
LCBwb3J0LCBjb25maWd1cmF0aW9uPWNvbmZpZ3VyYXRpb24sICoqa3dhcmdzKSBhcyBjbGllbnQ6
CisgICAgICAgICAgICAjIHdhaXRpbmcgZm9yIGNvbm5lY3RlZCB3aGVuIGNvbm5lY3RlZCByZXR1
cm5zIGltbWVkaWF0ZWx5CisgICAgICAgICAgICBhd2FpdCBjbGllbnQud2FpdF9jb25uZWN0ZWQo
KQorCisgICAgICAgICAgICByZWFkZXIsIHdyaXRlciA9IGF3YWl0IGNsaWVudC5jcmVhdGVfc3Ry
ZWFtKCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwod3JpdGVyLmNhbl93cml0ZV9lb2Yo
KSwgVHJ1ZSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwod3JpdGVyLmdldF9leHRyYV9p
bmZvKCJzdHJlYW1faWQiKSwgMCkKKworICAgICAgICAgICAgd3JpdGVyLndyaXRlKHJlcXVlc3Qp
CisgICAgICAgICAgICB3cml0ZXIud3JpdGVfZW9mKCkKKworICAgICAgICAgICAgcmVzcG9uc2Ug
PSBhd2FpdCByZWFkZXIucmVhZCgpCisKKyAgICAgICAgIyB3YWl0aW5nIGZvciBjbG9zZWQgd2hl
biBjbG9zZWQgcmV0dXJucyBpbW1lZGlhdGVseQorICAgICAgICBhd2FpdCBjbGllbnQud2FpdF9j
bG9zZWQoKQorCisgICAgICAgIHJldHVybiByZXNwb25zZQorCisgICAgYXN5bmMgZGVmIHJ1bl9z
ZXJ2ZXIoc2VsZiwgY29uZmlndXJhdGlvbj1Ob25lLCBob3N0PSI6OiIsICoqa3dhcmdzKToKKyAg
ICAgICAgaWYgY29uZmlndXJhdGlvbiBpcyBOb25lOgorICAgICAgICAgICAgY29uZmlndXJhdGlv
biA9IFF1aWNDb25maWd1cmF0aW9uKGlzX2NsaWVudD1GYWxzZSkKKyAgICAgICAgICAgIGNvbmZp
Z3VyYXRpb24ubG9hZF9jZXJ0X2NoYWluKFNFUlZFUl9DRVJURklMRSwgU0VSVkVSX0tFWUZJTEUp
CisgICAgICAgIHNlbGYuc2VydmVyID0gYXdhaXQgc2VydmUoCisgICAgICAgICAgICBob3N0PWhv
c3QsCisgICAgICAgICAgICBwb3J0PXNlbGYuc2VydmVyX3BvcnQsCisgICAgICAgICAgICBjb25m
aWd1cmF0aW9uPWNvbmZpZ3VyYXRpb24sCisgICAgICAgICAgICBzdHJlYW1faGFuZGxlcj1oYW5k
bGVfc3RyZWFtLAorICAgICAgICAgICAgKiprd2FyZ3MKKyAgICAgICAgKQorICAgICAgICByZXR1
cm4gc2VsZi5zZXJ2ZXIKKworICAgIGRlZiB0ZXN0X2Nvbm5lY3RfYW5kX3NlcnZlKHNlbGYpOgor
ICAgICAgICBydW4oc2VsZi5ydW5fc2VydmVyKCkpCisgICAgICAgIHJlc3BvbnNlID0gcnVuKHNl
bGYucnVuX2NsaWVudCgpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3BvbnNlLCBiImdu
aXAiKQorCisgICAgZGVmIHRlc3RfY29ubmVjdF9hbmRfc2VydmVfaXB2NChzZWxmKToKKyAgICAg
ICAgcnVuKHNlbGYucnVuX3NlcnZlcihob3N0PSIwLjAuMC4wIikpCisgICAgICAgIHJlc3BvbnNl
ID0gcnVuKHNlbGYucnVuX2NsaWVudChob3N0PSIxMjcuMC4wLjEiKSkKKyAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbChyZXNwb25zZSwgYiJnbmlwIikKKworICAgIEBza2lwSWYoImlwdjYiIGluIFNL
SVBfVEVTVFMsICJTa2lwcGluZyBJUHY2IHRlc3RzIikKKyAgICBkZWYgdGVzdF9jb25uZWN0X2Fu
ZF9zZXJ2ZV9pcHY2KHNlbGYpOgorICAgICAgICBydW4oc2VsZi5ydW5fc2VydmVyKGhvc3Q9Ijo6
IikpCisgICAgICAgIHJlc3BvbnNlID0gcnVuKHNlbGYucnVuX2NsaWVudChob3N0PSI6OjEiKSkK
KyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXNwb25zZSwgYiJnbmlwIikKKworICAgIGRlZiB0
ZXN0X2Nvbm5lY3RfYW5kX3NlcnZlX2VjX2NlcnRpZmljYXRlKHNlbGYpOgorICAgICAgICBjZXJ0
aWZpY2F0ZSwgcHJpdmF0ZV9rZXkgPSBnZW5lcmF0ZV9lY19jZXJ0aWZpY2F0ZShjb21tb25fbmFt
ZT0ibG9jYWxob3N0IikKKworICAgICAgICBydW4oCisgICAgICAgICAgICBzZWxmLnJ1bl9zZXJ2
ZXIoCisgICAgICAgICAgICAgICAgY29uZmlndXJhdGlvbj1RdWljQ29uZmlndXJhdGlvbigKKyAg
ICAgICAgICAgICAgICAgICAgY2VydGlmaWNhdGU9Y2VydGlmaWNhdGUsIHByaXZhdGVfa2V5PXBy
aXZhdGVfa2V5LCBpc19jbGllbnQ9RmFsc2UsCisgICAgICAgICAgICAgICAgKQorICAgICAgICAg
ICAgKQorICAgICAgICApCisKKyAgICAgICAgcmVzcG9uc2UgPSBydW4oCisgICAgICAgICAgICBz
ZWxmLnJ1bl9jbGllbnQoCisgICAgICAgICAgICAgICAgY2FkYXRhPWNlcnRpZmljYXRlLnB1Ymxp
Y19ieXRlcyhzZXJpYWxpemF0aW9uLkVuY29kaW5nLlBFTSksCisgICAgICAgICAgICAgICAgY2Fm
aWxlPU5vbmUsCisgICAgICAgICAgICApCisgICAgICAgICkKKworICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKHJlc3BvbnNlLCBiImduaXAiKQorCisgICAgZGVmIHRlc3RfY29ubmVjdF9hbmRfc2Vy
dmVfbGFyZ2Uoc2VsZik6CisgICAgICAgICIiIgorICAgICAgICBUcmFuc2ZlciBlbm91Z2ggZGF0
YSB0byByZXF1aXJlIHJhaXNpbmcgTUFYX0RBVEEgYW5kIE1BWF9TVFJFQU1fREFUQS4KKyAgICAg
ICAgIiIiCisgICAgICAgIGRhdGEgPSBiIloiICogMjA5NzE1MgorICAgICAgICBydW4oc2VsZi5y
dW5fc2VydmVyKCkpCisgICAgICAgIHJlc3BvbnNlID0gcnVuKHNlbGYucnVuX2NsaWVudChyZXF1
ZXN0PWRhdGEpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3BvbnNlLCBkYXRhKQorCisg
ICAgZGVmIHRlc3RfY29ubmVjdF9hbmRfc2VydmVfd2l0aG91dF9jbGllbnRfY29uZmlndXJhdGlv
bihzZWxmKToKKyAgICAgICAgYXN5bmMgZGVmIHJ1bl9jbGllbnRfd2l0aG91dF9jb25maWcoKToK
KyAgICAgICAgICAgIGFzeW5jIHdpdGggY29ubmVjdChzZWxmLnNlcnZlcl9ob3N0LCBzZWxmLnNl
cnZlcl9wb3J0KSBhcyBjbGllbnQ6CisgICAgICAgICAgICAgICAgYXdhaXQgY2xpZW50LnBpbmco
KQorCisgICAgICAgIHJ1bihzZWxmLnJ1bl9zZXJ2ZXIoKSkKKyAgICAgICAgd2l0aCBzZWxmLmFz
c2VydFJhaXNlcyhDb25uZWN0aW9uRXJyb3IpOgorICAgICAgICAgICAgcnVuKHJ1bl9jbGllbnRf
d2l0aG91dF9jb25maWcoKSkKKworICAgIGRlZiB0ZXN0X2Nvbm5lY3RfYW5kX3NlcnZlX3dyaXRl
bGluZXMoc2VsZik6CisgICAgICAgIGFzeW5jIGRlZiBydW5fY2xpZW50X3dyaXRlbGluZXMoKToK
KyAgICAgICAgICAgIGNvbmZpZ3VyYXRpb24gPSBRdWljQ29uZmlndXJhdGlvbihpc19jbGllbnQ9
VHJ1ZSkKKyAgICAgICAgICAgIGNvbmZpZ3VyYXRpb24ubG9hZF92ZXJpZnlfbG9jYXRpb25zKGNh
ZmlsZT1TRVJWRVJfQ0FDRVJURklMRSkKKyAgICAgICAgICAgIGFzeW5jIHdpdGggY29ubmVjdCgK
KyAgICAgICAgICAgICAgICBzZWxmLnNlcnZlcl9ob3N0LCBzZWxmLnNlcnZlcl9wb3J0LCBjb25m
aWd1cmF0aW9uPWNvbmZpZ3VyYXRpb24KKyAgICAgICAgICAgICkgYXMgY2xpZW50OgorICAgICAg
ICAgICAgICAgIHJlYWRlciwgd3JpdGVyID0gYXdhaXQgY2xpZW50LmNyZWF0ZV9zdHJlYW0oKQor
ICAgICAgICAgICAgICAgIGFzc2VydCB3cml0ZXIuY2FuX3dyaXRlX2VvZigpIGlzIFRydWUKKwor
ICAgICAgICAgICAgICAgIHdyaXRlci53cml0ZWxpbmVzKFtiIjAxMjM0NTY3IiwgYiI4OTAxMjM0
NSJdKQorICAgICAgICAgICAgICAgIHdyaXRlci53cml0ZV9lb2YoKQorCisgICAgICAgICAgICAg
ICAgcmV0dXJuIGF3YWl0IHJlYWRlci5yZWFkKCkKKworICAgICAgICBydW4oc2VsZi5ydW5fc2Vy
dmVyKCkpCisgICAgICAgIHJlc3BvbnNlID0gcnVuKHJ1bl9jbGllbnRfd3JpdGVsaW5lcygpKQor
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3BvbnNlLCBiIjU0MzIxMDk4NzY1NDMyMTAiKQor
CisgICAgQHNraXBJZigibG9zcyIgaW4gU0tJUF9URVNUUywgIlNraXBwaW5nIGxvc3MgdGVzdHMi
KQorICAgIEBwYXRjaCgic29ja2V0LnNvY2tldC5zZW5kdG8iLCBuZXdfY2FsbGFibGU9bGFtYmRh
OiBzZW5kdG9fd2l0aF9sb3NzKQorICAgIGRlZiB0ZXN0X2Nvbm5lY3RfYW5kX3NlcnZlX3dpdGhf
cGFja2V0X2xvc3Moc2VsZiwgbW9ja19zZW5kdG8pOgorICAgICAgICAiIiIKKyAgICAgICAgVGhp
cyB0ZXN0IGVuc3VyZXMgaGFuZHNoYWtlIHN1Y2Nlc3MgYW5kIHN0cmVhbSBkYXRhIGlzIHN1Y2Nl
c3NmdWxseSBzZW50CisgICAgICAgIGFuZCByZWNlaXZlZCBpbiB0aGUgcHJlc2VuY2Ugb2YgcGFj
a2V0IGxvc3MgKHJhbmRvbWl6ZWQgMjUlIGluIGVhY2ggZGlyZWN0aW9uKS4KKyAgICAgICAgIiIi
CisgICAgICAgIGRhdGEgPSBiIloiICogNjU1MzYKKworICAgICAgICBzZXJ2ZXJfY29uZmlndXJh
dGlvbiA9IFF1aWNDb25maWd1cmF0aW9uKAorICAgICAgICAgICAgaXNfY2xpZW50PUZhbHNlLCBx
dWljX2xvZ2dlcj1RdWljTG9nZ2VyKCkKKyAgICAgICAgKQorICAgICAgICBzZXJ2ZXJfY29uZmln
dXJhdGlvbi5sb2FkX2NlcnRfY2hhaW4oU0VSVkVSX0NFUlRGSUxFLCBTRVJWRVJfS0VZRklMRSkK
KyAgICAgICAgcnVuKHNlbGYucnVuX3NlcnZlcihjb25maWd1cmF0aW9uPXNlcnZlcl9jb25maWd1
cmF0aW9uKSkKKworICAgICAgICByZXNwb25zZSA9IHJ1bigKKyAgICAgICAgICAgIHNlbGYucnVu
X2NsaWVudCgKKyAgICAgICAgICAgICAgICBjb25maWd1cmF0aW9uPVF1aWNDb25maWd1cmF0aW9u
KAorICAgICAgICAgICAgICAgICAgICBpc19jbGllbnQ9VHJ1ZSwgcXVpY19sb2dnZXI9UXVpY0xv
Z2dlcigpCisgICAgICAgICAgICAgICAgKSwKKyAgICAgICAgICAgICAgICByZXF1ZXN0PWRhdGEs
CisgICAgICAgICAgICApCisgICAgICAgICkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXNw
b25zZSwgZGF0YSkKKworICAgIGRlZiB0ZXN0X2Nvbm5lY3RfYW5kX3NlcnZlX3dpdGhfc2Vzc2lv
bl90aWNrZXQoc2VsZik6CisgICAgICAgICMgc3RhcnQgc2VydmVyCisgICAgICAgIGNsaWVudF90
aWNrZXQgPSBOb25lCisgICAgICAgIHN0b3JlID0gU2Vzc2lvblRpY2tldFN0b3JlKCkKKworICAg
ICAgICBkZWYgc2F2ZV90aWNrZXQodCk6CisgICAgICAgICAgICBub25sb2NhbCBjbGllbnRfdGlj
a2V0CisgICAgICAgICAgICBjbGllbnRfdGlja2V0ID0gdAorCisgICAgICAgIHJ1bigKKyAgICAg
ICAgICAgIHNlbGYucnVuX3NlcnZlcigKKyAgICAgICAgICAgICAgICBzZXNzaW9uX3RpY2tldF9m
ZXRjaGVyPXN0b3JlLnBvcCwgc2Vzc2lvbl90aWNrZXRfaGFuZGxlcj1zdG9yZS5hZGQKKyAgICAg
ICAgICAgICkKKyAgICAgICAgKQorCisgICAgICAgICMgZmlyc3QgcmVxdWVzdAorICAgICAgICBy
ZXNwb25zZSA9IHJ1bihzZWxmLnJ1bl9jbGllbnQoc2Vzc2lvbl90aWNrZXRfaGFuZGxlcj1zYXZl
X3RpY2tldCksKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3BvbnNlLCBiImduaXAiKQor
CisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb3ROb25lKGNsaWVudF90aWNrZXQpCisKKyAgICAgICAg
IyBzZWNvbmQgcmVxdWVzdAorICAgICAgICBydW4oCisgICAgICAgICAgICBzZWxmLnJ1bl9jbGll
bnQoCisgICAgICAgICAgICAgICAgY29uZmlndXJhdGlvbj1RdWljQ29uZmlndXJhdGlvbigKKyAg
ICAgICAgICAgICAgICAgICAgaXNfY2xpZW50PVRydWUsIHNlc3Npb25fdGlja2V0PWNsaWVudF90
aWNrZXQKKyAgICAgICAgICAgICAgICApLAorICAgICAgICAgICAgKQorICAgICAgICApCisgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzcG9uc2UsIGIiZ25pcCIpCisKKyAgICBkZWYgdGVzdF9j
b25uZWN0X2FuZF9zZXJ2ZV93aXRoX3N0YXRlbGVzc19yZXRyeShzZWxmKToKKyAgICAgICAgcnVu
KHNlbGYucnVuX3NlcnZlcigpKQorICAgICAgICByZXNwb25zZSA9IHJ1bihzZWxmLnJ1bl9jbGll
bnQoKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXNwb25zZSwgYiJnbmlwIikKKworICAg
IGRlZiB0ZXN0X2Nvbm5lY3RfYW5kX3NlcnZlX3dpdGhfc3RhdGVsZXNzX3JldHJ5X2JhZF9vcmln
aW5hbF9jb25uZWN0aW9uX2lkKHNlbGYpOgorICAgICAgICAiIiIKKyAgICAgICAgSWYgdGhlIHNl
cnZlcidzIHRyYW5zcG9ydCBwYXJhbWV0ZXJzIGRvIG5vdCBoYXZlIHRoZSBjb3JyZWN0CisgICAg
ICAgIG9yaWdpbmFsX2Nvbm5lY3Rpb25faWQgdGhlIGNvbm5lY3Rpb24gZmFpbC4KKyAgICAgICAg
IiIiCisKKyAgICAgICAgZGVmIGNyZWF0ZV9wcm90b2NvbCgqYXJncywgKiprd2FyZ3MpOgorICAg
ICAgICAgICAgcHJvdG9jb2wgPSBRdWljQ29ubmVjdGlvblByb3RvY29sKCphcmdzLCAqKmt3YXJn
cykKKyAgICAgICAgICAgIHByb3RvY29sLl9xdWljLl9vcmlnaW5hbF9jb25uZWN0aW9uX2lkID0g
Tm9uZQorICAgICAgICAgICAgcmV0dXJuIHByb3RvY29sCisKKyAgICAgICAgcnVuKHNlbGYucnVu
X3NlcnZlcihjcmVhdGVfcHJvdG9jb2w9Y3JlYXRlX3Byb3RvY29sLCBzdGF0ZWxlc3NfcmV0cnk9
VHJ1ZSkpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoQ29ubmVjdGlvbkVycm9yKToK
KyAgICAgICAgICAgIHJ1bihzZWxmLnJ1bl9jbGllbnQoKSkKKworICAgIEBwYXRjaCgiYWlvcXVp
Yy5xdWljLnJldHJ5LlF1aWNSZXRyeVRva2VuSGFuZGxlci52YWxpZGF0ZV90b2tlbiIpCisgICAg
ZGVmIHRlc3RfY29ubmVjdF9hbmRfc2VydmVfd2l0aF9zdGF0ZWxlc3NfcmV0cnlfYmFkKHNlbGYs
IG1vY2tfdmFsaWRhdGUpOgorICAgICAgICBtb2NrX3ZhbGlkYXRlLnNpZGVfZWZmZWN0ID0gVmFs
dWVFcnJvcigiRGVjcnlwdGlvbiBmYWlsZWQuIikKKworICAgICAgICBydW4oc2VsZi5ydW5fc2Vy
dmVyKHN0YXRlbGVzc19yZXRyeT1UcnVlKSkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNl
cyhDb25uZWN0aW9uRXJyb3IpOgorICAgICAgICAgICAgcnVuKAorICAgICAgICAgICAgICAgIHNl
bGYucnVuX2NsaWVudCgKKyAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhdGlvbj1RdWljQ29u
ZmlndXJhdGlvbihpc19jbGllbnQ9VHJ1ZSwgaWRsZV90aW1lb3V0PTQuMCksCisgICAgICAgICAg
ICAgICAgKQorICAgICAgICAgICAgKQorCisgICAgZGVmIHRlc3RfY29ubmVjdF9hbmRfc2VydmVf
d2l0aF92ZXJzaW9uX25lZ290aWF0aW9uKHNlbGYpOgorICAgICAgICBydW4oc2VsZi5ydW5fc2Vy
dmVyKCkpCisKKyAgICAgICAgIyBmb3JjZSB2ZXJzaW9uIG5lZ290aWF0aW9uCisgICAgICAgIGNv
bmZpZ3VyYXRpb24gPSBRdWljQ29uZmlndXJhdGlvbihpc19jbGllbnQ9VHJ1ZSwgcXVpY19sb2dn
ZXI9UXVpY0xvZ2dlcigpKQorICAgICAgICBjb25maWd1cmF0aW9uLnN1cHBvcnRlZF92ZXJzaW9u
cy5pbnNlcnQoMCwgMHgxQTJBM0E0QSkKKworICAgICAgICByZXNwb25zZSA9IHJ1bihzZWxmLnJ1
bl9jbGllbnQoY29uZmlndXJhdGlvbj1jb25maWd1cmF0aW9uKSkKKyAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChyZXNwb25zZSwgYiJnbmlwIikKKworICAgIGRlZiB0ZXN0X2Nvbm5lY3RfdGltZW91
dChzZWxmKToKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhDb25uZWN0aW9uRXJyb3Ip
OgorICAgICAgICAgICAgcnVuKAorICAgICAgICAgICAgICAgIHNlbGYucnVuX2NsaWVudCgKKyAg
ICAgICAgICAgICAgICAgICAgcG9ydD00NDAwLAorICAgICAgICAgICAgICAgICAgICBjb25maWd1
cmF0aW9uPVF1aWNDb25maWd1cmF0aW9uKGlzX2NsaWVudD1UcnVlLCBpZGxlX3RpbWVvdXQ9NSks
CisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgKQorCisgICAgZGVmIHRlc3RfY29ubmVj
dF90aW1lb3V0X25vX3dhaXRfY29ubmVjdGVkKHNlbGYpOgorICAgICAgICBhc3luYyBkZWYgcnVu
X2NsaWVudF9ub193YWl0X2Nvbm5lY3RlZChjb25maWd1cmF0aW9uKToKKyAgICAgICAgICAgIGNv
bmZpZ3VyYXRpb24ubG9hZF92ZXJpZnlfbG9jYXRpb25zKGNhZmlsZT1TRVJWRVJfQ0FDRVJURklM
RSkKKyAgICAgICAgICAgIGFzeW5jIHdpdGggY29ubmVjdCgKKyAgICAgICAgICAgICAgICBzZWxm
LnNlcnZlcl9ob3N0LAorICAgICAgICAgICAgICAgIDQ0MDAsCisgICAgICAgICAgICAgICAgY29u
ZmlndXJhdGlvbj1jb25maWd1cmF0aW9uLAorICAgICAgICAgICAgICAgIHdhaXRfY29ubmVjdGVk
PUZhbHNlLAorICAgICAgICAgICAgKSBhcyBjbGllbnQ6CisgICAgICAgICAgICAgICAgYXdhaXQg
Y2xpZW50LnBpbmcoKQorCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoQ29ubmVjdGlv
bkVycm9yKToKKyAgICAgICAgICAgIHJ1bigKKyAgICAgICAgICAgICAgICBydW5fY2xpZW50X25v
X3dhaXRfY29ubmVjdGVkKAorICAgICAgICAgICAgICAgICAgICBjb25maWd1cmF0aW9uPVF1aWND
b25maWd1cmF0aW9uKGlzX2NsaWVudD1UcnVlLCBpZGxlX3RpbWVvdXQ9NSksCisgICAgICAgICAg
ICAgICAgKQorICAgICAgICAgICAgKQorCisgICAgZGVmIHRlc3RfY29ubmVjdF9sb2NhbF9wb3J0
KHNlbGYpOgorICAgICAgICBydW4oc2VsZi5ydW5fc2VydmVyKCkpCisgICAgICAgIHJlc3BvbnNl
ID0gcnVuKHNlbGYucnVuX2NsaWVudChsb2NhbF9wb3J0PTM0NTYpKQorICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKHJlc3BvbnNlLCBiImduaXAiKQorCisgICAgZGVmIHRlc3RfY2hhbmdlX2Nvbm5l
Y3Rpb25faWQoc2VsZik6CisgICAgICAgIGFzeW5jIGRlZiBydW5fY2xpZW50X2NoYW5nZV9jb25u
ZWN0aW9uX2lkKCk6CisgICAgICAgICAgICBjb25maWd1cmF0aW9uID0gUXVpY0NvbmZpZ3VyYXRp
b24oaXNfY2xpZW50PVRydWUpCisgICAgICAgICAgICBjb25maWd1cmF0aW9uLmxvYWRfdmVyaWZ5
X2xvY2F0aW9ucyhjYWZpbGU9U0VSVkVSX0NBQ0VSVEZJTEUpCisgICAgICAgICAgICBhc3luYyB3
aXRoIGNvbm5lY3QoCisgICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXJfaG9zdCwgc2VsZi5zZXJ2
ZXJfcG9ydCwgY29uZmlndXJhdGlvbj1jb25maWd1cmF0aW9uCisgICAgICAgICAgICApIGFzIGNs
aWVudDoKKyAgICAgICAgICAgICAgICBhd2FpdCBjbGllbnQucGluZygpCisgICAgICAgICAgICAg
ICAgY2xpZW50LmNoYW5nZV9jb25uZWN0aW9uX2lkKCkKKyAgICAgICAgICAgICAgICBhd2FpdCBj
bGllbnQucGluZygpCisKKyAgICAgICAgcnVuKHNlbGYucnVuX3NlcnZlcigpKQorICAgICAgICBy
dW4ocnVuX2NsaWVudF9jaGFuZ2VfY29ubmVjdGlvbl9pZCgpKQorCisgICAgZGVmIHRlc3Rfa2V5
X3VwZGF0ZShzZWxmKToKKyAgICAgICAgYXN5bmMgZGVmIHJ1bl9jbGllbnRfa2V5X3VwZGF0ZSgp
OgorICAgICAgICAgICAgY29uZmlndXJhdGlvbiA9IFF1aWNDb25maWd1cmF0aW9uKGlzX2NsaWVu
dD1UcnVlKQorICAgICAgICAgICAgY29uZmlndXJhdGlvbi5sb2FkX3ZlcmlmeV9sb2NhdGlvbnMo
Y2FmaWxlPVNFUlZFUl9DQUNFUlRGSUxFKQorICAgICAgICAgICAgYXN5bmMgd2l0aCBjb25uZWN0
KAorICAgICAgICAgICAgICAgIHNlbGYuc2VydmVyX2hvc3QsIHNlbGYuc2VydmVyX3BvcnQsIGNv
bmZpZ3VyYXRpb249Y29uZmlndXJhdGlvbgorICAgICAgICAgICAgKSBhcyBjbGllbnQ6CisgICAg
ICAgICAgICAgICAgYXdhaXQgY2xpZW50LnBpbmcoKQorICAgICAgICAgICAgICAgIGNsaWVudC5y
ZXF1ZXN0X2tleV91cGRhdGUoKQorICAgICAgICAgICAgICAgIGF3YWl0IGNsaWVudC5waW5nKCkK
KworICAgICAgICBydW4oc2VsZi5ydW5fc2VydmVyKCkpCisgICAgICAgIHJ1bihydW5fY2xpZW50
X2tleV91cGRhdGUoKSkKKworICAgIGRlZiB0ZXN0X3Bpbmcoc2VsZik6CisgICAgICAgIGFzeW5j
IGRlZiBydW5fY2xpZW50X3BpbmcoKToKKyAgICAgICAgICAgIGNvbmZpZ3VyYXRpb24gPSBRdWlj
Q29uZmlndXJhdGlvbihpc19jbGllbnQ9VHJ1ZSkKKyAgICAgICAgICAgIGNvbmZpZ3VyYXRpb24u
bG9hZF92ZXJpZnlfbG9jYXRpb25zKGNhZmlsZT1TRVJWRVJfQ0FDRVJURklMRSkKKyAgICAgICAg
ICAgIGFzeW5jIHdpdGggY29ubmVjdCgKKyAgICAgICAgICAgICAgICBzZWxmLnNlcnZlcl9ob3N0
LCBzZWxmLnNlcnZlcl9wb3J0LCBjb25maWd1cmF0aW9uPWNvbmZpZ3VyYXRpb24KKyAgICAgICAg
ICAgICkgYXMgY2xpZW50OgorICAgICAgICAgICAgICAgIGF3YWl0IGNsaWVudC5waW5nKCkKKyAg
ICAgICAgICAgICAgICBhd2FpdCBjbGllbnQucGluZygpCisKKyAgICAgICAgcnVuKHNlbGYucnVu
X3NlcnZlcigpKQorICAgICAgICBydW4ocnVuX2NsaWVudF9waW5nKCkpCisKKyAgICBkZWYgdGVz
dF9waW5nX3BhcmFsbGVsKHNlbGYpOgorICAgICAgICBhc3luYyBkZWYgcnVuX2NsaWVudF9waW5n
KCk6CisgICAgICAgICAgICBjb25maWd1cmF0aW9uID0gUXVpY0NvbmZpZ3VyYXRpb24oaXNfY2xp
ZW50PVRydWUpCisgICAgICAgICAgICBjb25maWd1cmF0aW9uLmxvYWRfdmVyaWZ5X2xvY2F0aW9u
cyhjYWZpbGU9U0VSVkVSX0NBQ0VSVEZJTEUpCisgICAgICAgICAgICBhc3luYyB3aXRoIGNvbm5l
Y3QoCisgICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXJfaG9zdCwgc2VsZi5zZXJ2ZXJfcG9ydCwg
Y29uZmlndXJhdGlvbj1jb25maWd1cmF0aW9uCisgICAgICAgICAgICApIGFzIGNsaWVudDoKKyAg
ICAgICAgICAgICAgICBjb3JvcyA9IFtjbGllbnQucGluZygpIGZvciB4IGluIHJhbmdlKDE2KV0K
KyAgICAgICAgICAgICAgICBhd2FpdCBhc3luY2lvLmdhdGhlcigqY29yb3MpCisKKyAgICAgICAg
cnVuKHNlbGYucnVuX3NlcnZlcigpKQorICAgICAgICBydW4ocnVuX2NsaWVudF9waW5nKCkpCisK
KyAgICBkZWYgdGVzdF9zZXJ2ZXJfcmVjZWl2ZXNfZ2FyYmFnZShzZWxmKToKKyAgICAgICAgc2Vy
dmVyID0gcnVuKHNlbGYucnVuX3NlcnZlcigpKQorICAgICAgICBzZXJ2ZXIuZGF0YWdyYW1fcmVj
ZWl2ZWQoYmluYXNjaWkudW5oZXhsaWZ5KCJjMDAwMDAwMDAwODAiKSwgKCIxLjIuMy40IiwgMTIz
NCkpCisgICAgICAgIHNlcnZlci5jbG9zZSgpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvdGVz
dHMvdGVzdF9hc3luY2lvX2NvbXBhdC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy90ZXN0cy90ZXN0X2FzeW5j
aW9fY29tcGF0LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkwNmRiZjUxMTI0Y2RiNjMyYWRhMzBiNjZjM2YyZTQ0
NmVmYmMyY2MKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvdGVzdHMvdGVzdF9hc3lu
Y2lvX2NvbXBhdC5weQpAQCAtMCwwICsxLDM4IEBACitpbXBvcnQgYXN5bmNpbworZnJvbSB1bml0
dGVzdCBpbXBvcnQgVGVzdENhc2UKKworZnJvbSBhaW9xdWljLmFzeW5jaW8uY29tcGF0IGltcG9y
dCBfYXN5bmNjb250ZXh0bWFuYWdlcgorCitmcm9tIC51dGlscyBpbXBvcnQgcnVuCisKKworQF9h
c3luY2NvbnRleHRtYW5hZ2VyCithc3luYyBkZWYgc29tZV9jb250ZXh0KCk6CisgICAgYXdhaXQg
YXN5bmNpby5zbGVlcCgwKQorICAgIHlpZWxkCisgICAgYXdhaXQgYXN5bmNpby5zbGVlcCgwKQor
CisKK2NsYXNzIEFzeW5jaW9Db21wYXRUZXN0KFRlc3RDYXNlKToKKyAgICBkZWYgdGVzdF9vayhz
ZWxmKToKKyAgICAgICAgYXN5bmMgZGVmIHRlc3QoKToKKyAgICAgICAgICAgIGFzeW5jIHdpdGgg
c29tZV9jb250ZXh0KCk6CisgICAgICAgICAgICAgICAgcGFzcworCisgICAgICAgIHJ1bih0ZXN0
KCkpCisKKyAgICBkZWYgdGVzdF9yYWlzZV9leGNlcHRpb24oc2VsZik6CisgICAgICAgIGFzeW5j
IGRlZiB0ZXN0KCk6CisgICAgICAgICAgICBhc3luYyB3aXRoIHNvbWVfY29udGV4dCgpOgorICAg
ICAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcigic29tZSByZWFzb24iKQorCisgICAgICAg
IHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoUnVudGltZUVycm9yKToKKyAgICAgICAgICAgIHJ1bih0
ZXN0KCkpCisKKyAgICBkZWYgdGVzdF9yYWlzZV9leGNlcHRpb25fdHlwZShzZWxmKToKKyAgICAg
ICAgYXN5bmMgZGVmIHRlc3QoKToKKyAgICAgICAgICAgIGFzeW5jIHdpdGggc29tZV9jb250ZXh0
KCk6CisgICAgICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yCisKKyAgICAgICAgd2l0aCBz
ZWxmLmFzc2VydFJhaXNlcyhSdW50aW1lRXJyb3IpOgorICAgICAgICAgICAgcnVuKHRlc3QoKSkK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy90ZXN0cy90ZXN0X2J1ZmZlci5weSBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlv
cXVpYy90ZXN0cy90ZXN0X2J1ZmZlci5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MWRiYzQ0ZDBkZDI2ZjFlZjY4
NTY4MjRkNTViYjg4MDk5Mjg4NzU2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3Rl
c3RzL3Rlc3RfYnVmZmVyLnB5CkBAIC0wLDAgKzEsMjAxIEBACitmcm9tIHVuaXR0ZXN0IGltcG9y
dCBUZXN0Q2FzZQorCitmcm9tIGFpb3F1aWMuYnVmZmVyIGltcG9ydCBCdWZmZXIsIEJ1ZmZlclJl
YWRFcnJvciwgQnVmZmVyV3JpdGVFcnJvciwgc2l6ZV91aW50X3ZhcgorCisKK2NsYXNzIEJ1ZmZl
clRlc3QoVGVzdENhc2UpOgorICAgIGRlZiB0ZXN0X2RhdGFfc2xpY2Uoc2VsZik6CisgICAgICAg
IGJ1ZiA9IEJ1ZmZlcihkYXRhPWIiXHgwOFx4MDdceDA2XHgwNVx4MDRceDAzXHgwMlx4MDEiKQor
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ1Zi5kYXRhX3NsaWNlKDAsIDgpLCBiIlx4MDhceDA3
XHgwNlx4MDVceDA0XHgwM1x4MDJceDAxIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChidWYu
ZGF0YV9zbGljZSgxLCAzKSwgYiJceDA3XHgwNiIpCisKKyAgICAgICAgd2l0aCBzZWxmLmFzc2Vy
dFJhaXNlcyhCdWZmZXJSZWFkRXJyb3IpOgorICAgICAgICAgICAgYnVmLmRhdGFfc2xpY2UoLTEs
IDMpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoQnVmZmVyUmVhZEVycm9yKToKKyAg
ICAgICAgICAgIGJ1Zi5kYXRhX3NsaWNlKDAsIDkpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRS
YWlzZXMoQnVmZmVyUmVhZEVycm9yKToKKyAgICAgICAgICAgIGJ1Zi5kYXRhX3NsaWNlKDEsIDAp
CisKKyAgICBkZWYgdGVzdF9wdWxsX2J5dGVzKHNlbGYpOgorICAgICAgICBidWYgPSBCdWZmZXIo
ZGF0YT1iIlx4MDhceDA3XHgwNlx4MDVceDA0XHgwM1x4MDJceDAxIikKKyAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbChidWYucHVsbF9ieXRlcygzKSwgYiJceDA4XHgwN1x4MDYiKQorCisgICAgZGVm
IHRlc3RfcHVsbF9ieXRlc19uZWdhdGl2ZShzZWxmKToKKyAgICAgICAgYnVmID0gQnVmZmVyKGRh
dGE9YiJceDA4XHgwN1x4MDZceDA1XHgwNFx4MDNceDAyXHgwMSIpCisgICAgICAgIHdpdGggc2Vs
Zi5hc3NlcnRSYWlzZXMoQnVmZmVyUmVhZEVycm9yKToKKyAgICAgICAgICAgIGJ1Zi5wdWxsX2J5
dGVzKC0xKQorCisgICAgZGVmIHRlc3RfcHVsbF9ieXRlc190cnVuY2F0ZWQoc2VsZik6CisgICAg
ICAgIGJ1ZiA9IEJ1ZmZlcihjYXBhY2l0eT0wKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFp
c2VzKEJ1ZmZlclJlYWRFcnJvcik6CisgICAgICAgICAgICBidWYucHVsbF9ieXRlcygyKQorICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKGJ1Zi50ZWxsKCksIDApCisKKyAgICBkZWYgdGVzdF9wdWxs
X2J5dGVzX3plcm8oc2VsZik6CisgICAgICAgIGJ1ZiA9IEJ1ZmZlcihkYXRhPWIiXHgwOFx4MDdc
eDA2XHgwNVx4MDRceDAzXHgwMlx4MDEiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ1Zi5w
dWxsX2J5dGVzKDApLCBiIiIpCisKKyAgICBkZWYgdGVzdF9wdWxsX3VpbnQ4KHNlbGYpOgorICAg
ICAgICBidWYgPSBCdWZmZXIoZGF0YT1iIlx4MDhceDA3XHgwNlx4MDVceDA0XHgwM1x4MDJceDAx
IikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChidWYucHVsbF91aW50OCgpLCAweDA4KQorICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKGJ1Zi50ZWxsKCksIDEpCisKKyAgICBkZWYgdGVzdF9wdWxs
X3VpbnQ4X3RydW5jYXRlZChzZWxmKToKKyAgICAgICAgYnVmID0gQnVmZmVyKGNhcGFjaXR5PTAp
CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoQnVmZmVyUmVhZEVycm9yKToKKyAgICAg
ICAgICAgIGJ1Zi5wdWxsX3VpbnQ4KCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChidWYudGVs
bCgpLCAwKQorCisgICAgZGVmIHRlc3RfcHVsbF91aW50MTYoc2VsZik6CisgICAgICAgIGJ1ZiA9
IEJ1ZmZlcihkYXRhPWIiXHgwOFx4MDdceDA2XHgwNVx4MDRceDAzXHgwMlx4MDEiKQorICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKGJ1Zi5wdWxsX3VpbnQxNigpLCAweDA4MDcpCisgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwoYnVmLnRlbGwoKSwgMikKKworICAgIGRlZiB0ZXN0X3B1bGxfdWludDE2
X3RydW5jYXRlZChzZWxmKToKKyAgICAgICAgYnVmID0gQnVmZmVyKGNhcGFjaXR5PTEpCisgICAg
ICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoQnVmZmVyUmVhZEVycm9yKToKKyAgICAgICAgICAg
IGJ1Zi5wdWxsX3VpbnQxNigpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnVmLnRlbGwoKSwg
MCkKKworICAgIGRlZiB0ZXN0X3B1bGxfdWludDMyKHNlbGYpOgorICAgICAgICBidWYgPSBCdWZm
ZXIoZGF0YT1iIlx4MDhceDA3XHgwNlx4MDVceDA0XHgwM1x4MDJceDAxIikKKyAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChidWYucHVsbF91aW50MzIoKSwgMHgwODA3MDYwNSkKKyAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChidWYudGVsbCgpLCA0KQorCisgICAgZGVmIHRlc3RfcHVsbF91aW50MzJf
dHJ1bmNhdGVkKHNlbGYpOgorICAgICAgICBidWYgPSBCdWZmZXIoY2FwYWNpdHk9MykKKyAgICAg
ICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhCdWZmZXJSZWFkRXJyb3IpOgorICAgICAgICAgICAg
YnVmLnB1bGxfdWludDMyKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChidWYudGVsbCgpLCAw
KQorCisgICAgZGVmIHRlc3RfcHVsbF91aW50NjQoc2VsZik6CisgICAgICAgIGJ1ZiA9IEJ1ZmZl
cihkYXRhPWIiXHgwOFx4MDdceDA2XHgwNVx4MDRceDAzXHgwMlx4MDEiKQorICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKGJ1Zi5wdWxsX3VpbnQ2NCgpLCAweDA4MDcwNjA1MDQwMzAyMDEpCisgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnVmLnRlbGwoKSwgOCkKKworICAgIGRlZiB0ZXN0X3B1bGxf
dWludDY0X3RydW5jYXRlZChzZWxmKToKKyAgICAgICAgYnVmID0gQnVmZmVyKGNhcGFjaXR5PTcp
CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoQnVmZmVyUmVhZEVycm9yKToKKyAgICAg
ICAgICAgIGJ1Zi5wdWxsX3VpbnQ2NCgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnVmLnRl
bGwoKSwgMCkKKworICAgIGRlZiB0ZXN0X3B1c2hfYnl0ZXMoc2VsZik6CisgICAgICAgIGJ1ZiA9
IEJ1ZmZlcihjYXBhY2l0eT0zKQorICAgICAgICBidWYucHVzaF9ieXRlcyhiIlx4MDhceDA3XHgw
NiIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnVmLmRhdGEsIGIiXHgwOFx4MDdceDA2IikK
KyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChidWYudGVsbCgpLCAzKQorCisgICAgZGVmIHRlc3Rf
cHVzaF9ieXRlc190cnVuY2F0ZWQoc2VsZik6CisgICAgICAgIGJ1ZiA9IEJ1ZmZlcihjYXBhY2l0
eT0zKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEJ1ZmZlcldyaXRlRXJyb3IpOgor
ICAgICAgICAgICAgYnVmLnB1c2hfYnl0ZXMoYiJceDA4XHgwN1x4MDZceDA1IikKKyAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChidWYudGVsbCgpLCAwKQorCisgICAgZGVmIHRlc3RfcHVzaF9ieXRl
c196ZXJvKHNlbGYpOgorICAgICAgICBidWYgPSBCdWZmZXIoY2FwYWNpdHk9MykKKyAgICAgICAg
YnVmLnB1c2hfYnl0ZXMoYiIiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ1Zi5kYXRhLCBi
IiIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnVmLnRlbGwoKSwgMCkKKworICAgIGRlZiB0
ZXN0X3B1c2hfdWludDgoc2VsZik6CisgICAgICAgIGJ1ZiA9IEJ1ZmZlcihjYXBhY2l0eT0xKQor
ICAgICAgICBidWYucHVzaF91aW50OCgweDA4KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ1
Zi5kYXRhLCBiIlx4MDgiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ1Zi50ZWxsKCksIDEp
CisKKyAgICBkZWYgdGVzdF9wdXNoX3VpbnQxNihzZWxmKToKKyAgICAgICAgYnVmID0gQnVmZmVy
KGNhcGFjaXR5PTIpCisgICAgICAgIGJ1Zi5wdXNoX3VpbnQxNigweDA4MDcpCisgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwoYnVmLmRhdGEsIGIiXHgwOFx4MDciKQorICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKGJ1Zi50ZWxsKCksIDIpCisKKyAgICBkZWYgdGVzdF9wdXNoX3VpbnQzMihzZWxmKToK
KyAgICAgICAgYnVmID0gQnVmZmVyKGNhcGFjaXR5PTQpCisgICAgICAgIGJ1Zi5wdXNoX3VpbnQz
MigweDA4MDcwNjA1KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ1Zi5kYXRhLCBiIlx4MDhc
eDA3XHgwNlx4MDUiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ1Zi50ZWxsKCksIDQpCisK
KyAgICBkZWYgdGVzdF9wdXNoX3VpbnQ2NChzZWxmKToKKyAgICAgICAgYnVmID0gQnVmZmVyKGNh
cGFjaXR5PTgpCisgICAgICAgIGJ1Zi5wdXNoX3VpbnQ2NCgweDA4MDcwNjA1MDQwMzAyMDEpCisg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnVmLmRhdGEsIGIiXHgwOFx4MDdceDA2XHgwNVx4MDRc
eDAzXHgwMlx4MDEiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ1Zi50ZWxsKCksIDgpCisK
KyAgICBkZWYgdGVzdF9zZWVrKHNlbGYpOgorICAgICAgICBidWYgPSBCdWZmZXIoZGF0YT1iIjAx
MjM0NTY3IikKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShidWYuZW9mKCkpCisgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwoYnVmLnRlbGwoKSwgMCkKKworICAgICAgICBidWYuc2Vlayg0KQorICAg
ICAgICBzZWxmLmFzc2VydEZhbHNlKGJ1Zi5lb2YoKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChidWYudGVsbCgpLCA0KQorCisgICAgICAgIGJ1Zi5zZWVrKDgpCisgICAgICAgIHNlbGYuYXNz
ZXJ0VHJ1ZShidWYuZW9mKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnVmLnRlbGwoKSwg
OCkKKworICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEJ1ZmZlclJlYWRFcnJvcik6Cisg
ICAgICAgICAgICBidWYuc2VlaygtMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChidWYudGVs
bCgpLCA4KQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEJ1ZmZlclJlYWRFcnJvcik6
CisgICAgICAgICAgICBidWYuc2Vlayg5KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ1Zi50
ZWxsKCksIDgpCisKKworY2xhc3MgVWludFZhclRlc3QoVGVzdENhc2UpOgorICAgIGRlZiByb3Vu
ZHRyaXAoc2VsZiwgZGF0YSwgdmFsdWUpOgorICAgICAgICBidWYgPSBCdWZmZXIoZGF0YT1kYXRh
KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ1Zi5wdWxsX3VpbnRfdmFyKCksIHZhbHVlKQor
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ1Zi50ZWxsKCksIGxlbihkYXRhKSkKKworICAgICAg
ICBidWYgPSBCdWZmZXIoY2FwYWNpdHk9OCkKKyAgICAgICAgYnVmLnB1c2hfdWludF92YXIodmFs
dWUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnVmLmRhdGEsIGRhdGEpCisKKyAgICBkZWYg
dGVzdF91aW50X3ZhcihzZWxmKToKKyAgICAgICAgIyAxIGJ5dGUKKyAgICAgICAgc2VsZi5yb3Vu
ZHRyaXAoYiJceDAwIiwgMCkKKyAgICAgICAgc2VsZi5yb3VuZHRyaXAoYiJceDAxIiwgMSkKKyAg
ICAgICAgc2VsZi5yb3VuZHRyaXAoYiJceDI1IiwgMzcpCisgICAgICAgIHNlbGYucm91bmR0cmlw
KGIiXHgzZiIsIDYzKQorCisgICAgICAgICMgMiBieXRlcworICAgICAgICBzZWxmLnJvdW5kdHJp
cChiIlx4N2JceGJkIiwgMTUyOTMpCisgICAgICAgIHNlbGYucm91bmR0cmlwKGIiXHg3Zlx4ZmYi
LCAxNjM4MykKKworICAgICAgICAjIDQgYnl0ZXMKKyAgICAgICAgc2VsZi5yb3VuZHRyaXAoYiJc
eDlkXHg3Zlx4M2VceDdkIiwgNDk0ODc4MzMzKQorICAgICAgICBzZWxmLnJvdW5kdHJpcChiIlx4
YmZceGZmXHhmZlx4ZmYiLCAxMDczNzQxODIzKQorCisgICAgICAgICMgOCBieXRlcworICAgICAg
ICBzZWxmLnJvdW5kdHJpcChiIlx4YzJceDE5XHg3Y1x4NWVceGZmXHgxNFx4ZThceDhjIiwgMTUx
Mjg4ODA5OTQxOTUyNjUyKQorICAgICAgICBzZWxmLnJvdW5kdHJpcChiIlx4ZmZceGZmXHhmZlx4
ZmZceGZmXHhmZlx4ZmZceGZmIiwgNDYxMTY4NjAxODQyNzM4NzkwMykKKworICAgIGRlZiB0ZXN0
X3B1bGxfdWludF92YXJfdHJ1bmNhdGVkKHNlbGYpOgorICAgICAgICBidWYgPSBCdWZmZXIoY2Fw
YWNpdHk9MCkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhCdWZmZXJSZWFkRXJyb3Ip
OgorICAgICAgICAgICAgYnVmLnB1bGxfdWludF92YXIoKQorCisgICAgICAgIGJ1ZiA9IEJ1ZmZl
cihkYXRhPWIiXHhmZiIpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoQnVmZmVyUmVh
ZEVycm9yKToKKyAgICAgICAgICAgIGJ1Zi5wdWxsX3VpbnRfdmFyKCkKKworICAgIGRlZiB0ZXN0
X3B1c2hfdWludF92YXJfdG9vX2JpZyhzZWxmKToKKyAgICAgICAgYnVmID0gQnVmZmVyKGNhcGFj
aXR5PTgpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvcikgYXMgY206
CisgICAgICAgICAgICBidWYucHVzaF91aW50X3Zhcig0NjExNjg2MDE4NDI3Mzg3OTA0KQorICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgc3RyKGNtLmV4Y2VwdGlvbiksICJJ
bnRlZ2VyIGlzIHRvbyBiaWcgZm9yIGEgdmFyaWFibGUtbGVuZ3RoIGludGVnZXIiCisgICAgICAg
ICkKKworICAgIGRlZiB0ZXN0X3NpemVfdWludF92YXIoc2VsZik6CisgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoc2l6ZV91aW50X3Zhcig2MyksIDEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
c2l6ZV91aW50X3ZhcigxNjM4MyksIDIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2l6ZV91
aW50X3ZhcigxMDczNzQxODIzKSwgNCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzaXplX3Vp
bnRfdmFyKDQ2MTE2ODYwMTg0MjczODc5MDMpLCA4KQorCisgICAgICAgIHdpdGggc2VsZi5hc3Nl
cnRSYWlzZXMoVmFsdWVFcnJvcikgYXMgY206CisgICAgICAgICAgICBzaXplX3VpbnRfdmFyKDQ2
MTE2ODYwMTg0MjczODc5MDQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAg
ICBzdHIoY20uZXhjZXB0aW9uKSwgIkludGVnZXIgaXMgdG9vIGJpZyBmb3IgYSB2YXJpYWJsZS1s
ZW5ndGggaW50ZWdlciIKKyAgICAgICAgKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3Rlc3Rz
L3Rlc3RfY29ubmVjdGlvbi5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy90ZXN0cy90ZXN0X2Nvbm5lY3Rpb24u
cHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYWYxYTVjZGM1OGY1OWM2ZTk5OGIwZDM5NDlhYTc0Zjc3ZDIxNzVkOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy90ZXN0cy90ZXN0X2Nvbm5lY3Rpb24ucHkK
QEAgLTAsMCArMSwxODAwIEBACitpbXBvcnQgYXN5bmNpbworaW1wb3J0IGJpbmFzY2lpCitpbXBv
cnQgY29udGV4dGxpYgoraW1wb3J0IGlvCitpbXBvcnQgdGltZQorZnJvbSB1bml0dGVzdCBpbXBv
cnQgVGVzdENhc2UKKworZnJvbSBhaW9xdWljIGltcG9ydCB0bHMKK2Zyb20gYWlvcXVpYy5idWZm
ZXIgaW1wb3J0IFVJTlRfVkFSX01BWCwgQnVmZmVyLCBlbmNvZGVfdWludF92YXIKK2Zyb20gYWlv
cXVpYy5xdWljIGltcG9ydCBldmVudHMKK2Zyb20gYWlvcXVpYy5xdWljLmNvbmZpZ3VyYXRpb24g
aW1wb3J0IFF1aWNDb25maWd1cmF0aW9uCitmcm9tIGFpb3F1aWMucXVpYy5jb25uZWN0aW9uIGlt
cG9ydCAoCisgICAgUXVpY0Nvbm5lY3Rpb24sCisgICAgUXVpY0Nvbm5lY3Rpb25FcnJvciwKKyAg
ICBRdWljTmV0d29ya1BhdGgsCisgICAgUXVpY1JlY2VpdmVDb250ZXh0LAorKQorZnJvbSBhaW9x
dWljLnF1aWMuY3J5cHRvIGltcG9ydCBDcnlwdG9QYWlyCitmcm9tIGFpb3F1aWMucXVpYy5sb2dn
ZXIgaW1wb3J0IFF1aWNMb2dnZXIKK2Zyb20gYWlvcXVpYy5xdWljLnBhY2tldCBpbXBvcnQgKAor
ICAgIFBBQ0tFVF9UWVBFX0lOSVRJQUwsCisgICAgUXVpY0Vycm9yQ29kZSwKKyAgICBRdWljRnJh
bWVUeXBlLAorICAgIGVuY29kZV9xdWljX3JldHJ5LAorICAgIGVuY29kZV9xdWljX3ZlcnNpb25f
bmVnb3RpYXRpb24sCispCitmcm9tIGFpb3F1aWMucXVpYy5wYWNrZXRfYnVpbGRlciBpbXBvcnQg
UXVpY0RlbGl2ZXJ5U3RhdGUsIFF1aWNQYWNrZXRCdWlsZGVyCitmcm9tIGFpb3F1aWMucXVpYy5y
ZWNvdmVyeSBpbXBvcnQgUXVpY1BhY2tldFBhY2VyCisKK2Zyb20gLnV0aWxzIGltcG9ydCAoCisg
ICAgU0VSVkVSX0NBQ0VSVEZJTEUsCisgICAgU0VSVkVSX0NFUlRGSUxFLAorICAgIFNFUlZFUl9D
RVJURklMRV9XSVRIX0NIQUlOLAorICAgIFNFUlZFUl9LRVlGSUxFLAorKQorCitDTElFTlRfQURE
UiA9ICgiMS4yLjMuNCIsIDEyMzQpCisKK1NFUlZFUl9BRERSID0gKCIyLjMuNC41IiwgNDQzMykK
KworCitjbGFzcyBTZXNzaW9uVGlja2V0U3RvcmU6CisgICAgZGVmIF9faW5pdF9fKHNlbGYpOgor
ICAgICAgICBzZWxmLnRpY2tldHMgPSB7fQorCisgICAgZGVmIGFkZChzZWxmLCB0aWNrZXQpOgor
ICAgICAgICBzZWxmLnRpY2tldHNbdGlja2V0LnRpY2tldF0gPSB0aWNrZXQKKworICAgIGRlZiBw
b3Aoc2VsZiwgbGFiZWwpOgorICAgICAgICByZXR1cm4gc2VsZi50aWNrZXRzLnBvcChsYWJlbCwg
Tm9uZSkKKworCitkZWYgY2xpZW50X3JlY2VpdmVfY29udGV4dChjbGllbnQsIGVwb2NoPXRscy5F
cG9jaC5PTkVfUlRUKToKKyAgICByZXR1cm4gUXVpY1JlY2VpdmVDb250ZXh0KAorICAgICAgICBl
cG9jaD1lcG9jaCwKKyAgICAgICAgaG9zdF9jaWQ9Y2xpZW50Lmhvc3RfY2lkLAorICAgICAgICBu
ZXR3b3JrX3BhdGg9Y2xpZW50Ll9uZXR3b3JrX3BhdGhzWzBdLAorICAgICAgICBxdWljX2xvZ2dl
cl9mcmFtZXM9W10sCisgICAgICAgIHRpbWU9YXN5bmNpby5nZXRfZXZlbnRfbG9vcCgpLnRpbWUo
KSwKKyAgICApCisKKworZGVmIGNvbnN1bWVfZXZlbnRzKGNvbm5lY3Rpb24pOgorICAgIHdoaWxl
IFRydWU6CisgICAgICAgIGV2ZW50ID0gY29ubmVjdGlvbi5uZXh0X2V2ZW50KCkKKyAgICAgICAg
aWYgZXZlbnQgaXMgTm9uZToKKyAgICAgICAgICAgIGJyZWFrCisKKworZGVmIGNyZWF0ZV9zdGFu
ZGFsb25lX2NsaWVudChzZWxmLCAqKmNsaWVudF9vcHRpb25zKToKKyAgICBjbGllbnQgPSBRdWlj
Q29ubmVjdGlvbigKKyAgICAgICAgY29uZmlndXJhdGlvbj1RdWljQ29uZmlndXJhdGlvbigKKyAg
ICAgICAgICAgIGlzX2NsaWVudD1UcnVlLCBxdWljX2xvZ2dlcj1RdWljTG9nZ2VyKCksICoqY2xp
ZW50X29wdGlvbnMKKyAgICAgICAgKQorICAgICkKKyAgICBjbGllbnQuX2Fja19kZWxheSA9IDAK
KworICAgICMga2ljay1vZmYgaGFuZHNoYWtlCisgICAgY2xpZW50LmNvbm5lY3QoU0VSVkVSX0FE
RFIsIG5vdz10aW1lLnRpbWUoKSkKKyAgICBzZWxmLmFzc2VydEVxdWFsKGRyb3AoY2xpZW50KSwg
MSkKKworICAgIHJldHVybiBjbGllbnQKKworCitAY29udGV4dGxpYi5jb250ZXh0bWFuYWdlcgor
ZGVmIGNsaWVudF9hbmRfc2VydmVyKAorICAgIGNsaWVudF9rd2FyZ3M9e30sCisgICAgY2xpZW50
X29wdGlvbnM9e30sCisgICAgY2xpZW50X3BhdGNoPWxhbWJkYSB4OiBOb25lLAorICAgIGhhbmRz
aGFrZT1UcnVlLAorICAgIHNlcnZlcl9rd2FyZ3M9e30sCisgICAgc2VydmVyX2NlcnRmaWxlPVNF
UlZFUl9DRVJURklMRSwKKyAgICBzZXJ2ZXJfa2V5ZmlsZT1TRVJWRVJfS0VZRklMRSwKKyAgICBz
ZXJ2ZXJfb3B0aW9ucz17fSwKKyAgICBzZXJ2ZXJfcGF0Y2g9bGFtYmRhIHg6IE5vbmUsCispOgor
ICAgIGNsaWVudF9jb25maWd1cmF0aW9uID0gUXVpY0NvbmZpZ3VyYXRpb24oCisgICAgICAgIGlz
X2NsaWVudD1UcnVlLCBxdWljX2xvZ2dlcj1RdWljTG9nZ2VyKCksICoqY2xpZW50X29wdGlvbnMK
KyAgICApCisgICAgY2xpZW50X2NvbmZpZ3VyYXRpb24ubG9hZF92ZXJpZnlfbG9jYXRpb25zKGNh
ZmlsZT1TRVJWRVJfQ0FDRVJURklMRSkKKworICAgIGNsaWVudCA9IFF1aWNDb25uZWN0aW9uKGNv
bmZpZ3VyYXRpb249Y2xpZW50X2NvbmZpZ3VyYXRpb24sICoqY2xpZW50X2t3YXJncykKKyAgICBj
bGllbnQuX2Fja19kZWxheSA9IDAKKyAgICBkaXNhYmxlX3BhY2tldF9wYWNpbmcoY2xpZW50KQor
ICAgIGNsaWVudF9wYXRjaChjbGllbnQpCisKKyAgICBzZXJ2ZXJfY29uZmlndXJhdGlvbiA9IFF1
aWNDb25maWd1cmF0aW9uKAorICAgICAgICBpc19jbGllbnQ9RmFsc2UsIHF1aWNfbG9nZ2VyPVF1
aWNMb2dnZXIoKSwgKipzZXJ2ZXJfb3B0aW9ucworICAgICkKKyAgICBzZXJ2ZXJfY29uZmlndXJh
dGlvbi5sb2FkX2NlcnRfY2hhaW4oc2VydmVyX2NlcnRmaWxlLCBzZXJ2ZXJfa2V5ZmlsZSkKKwor
ICAgIHNlcnZlciA9IFF1aWNDb25uZWN0aW9uKGNvbmZpZ3VyYXRpb249c2VydmVyX2NvbmZpZ3Vy
YXRpb24sICoqc2VydmVyX2t3YXJncykKKyAgICBzZXJ2ZXIuX2Fja19kZWxheSA9IDAKKyAgICBk
aXNhYmxlX3BhY2tldF9wYWNpbmcoc2VydmVyKQorICAgIHNlcnZlcl9wYXRjaChzZXJ2ZXIpCisK
KyAgICAjIHBlcmZvcm0gaGFuZHNoYWtlCisgICAgaWYgaGFuZHNoYWtlOgorICAgICAgICBjbGll
bnQuY29ubmVjdChTRVJWRVJfQUREUiwgbm93PXRpbWUudGltZSgpKQorICAgICAgICBmb3IgaSBp
biByYW5nZSgzKToKKyAgICAgICAgICAgIHJvdW5kdHJpcChjbGllbnQsIHNlcnZlcikKKworICAg
IHlpZWxkIGNsaWVudCwgc2VydmVyCisKKyAgICAjIGNsb3NlCisgICAgY2xpZW50LmNsb3NlKCkK
KyAgICBzZXJ2ZXIuY2xvc2UoKQorCisKK2RlZiBkaXNhYmxlX3BhY2tldF9wYWNpbmcoY29ubmVj
dGlvbik6CisgICAgY2xhc3MgRHVtbXlQYWNrZXRQYWNlcihRdWljUGFja2V0UGFjZXIpOgorICAg
ICAgICBkZWYgbmV4dF9zZW5kX3RpbWUoc2VsZiwgbm93KToKKyAgICAgICAgICAgIHJldHVybiBO
b25lCisKKyAgICBjb25uZWN0aW9uLl9sb3NzLl9wYWNlciA9IER1bW15UGFja2V0UGFjZXIoKQor
CisKK2RlZiBzZXF1ZW5jZV9udW1iZXJzKGNvbm5lY3Rpb25faWRzKToKKyAgICByZXR1cm4gbGlz
dChtYXAobGFtYmRhIHg6IHguc2VxdWVuY2VfbnVtYmVyLCBjb25uZWN0aW9uX2lkcykpCisKKwor
ZGVmIGRyb3Aoc2VuZGVyKToKKyAgICAiIiIKKyAgICBEcm9wIGRhdGFncmFtcyBmcm9tIGBzZW5k
ZXJgLgorICAgICIiIgorICAgIHJldHVybiBsZW4oc2VuZGVyLmRhdGFncmFtc190b19zZW5kKG5v
dz10aW1lLnRpbWUoKSkpCisKKworZGVmIHJvdW5kdHJpcChzZW5kZXIsIHJlY2VpdmVyKToKKyAg
ICAiIiIKKyAgICBTZW5kIGRhdGFncmFtcyBmcm9tIGBzZW5kZXJgIHRvIGByZWNlaXZlcmAgYW5k
IGJhY2suCisgICAgIiIiCisgICAgcmV0dXJuICh0cmFuc2ZlcihzZW5kZXIsIHJlY2VpdmVyKSwg
dHJhbnNmZXIocmVjZWl2ZXIsIHNlbmRlcikpCisKKworZGVmIHRyYW5zZmVyKHNlbmRlciwgcmVj
ZWl2ZXIpOgorICAgICIiIgorICAgIFNlbmQgZGF0YWdyYW1zIGZyb20gYHNlbmRlcmAgdG8gYHJl
Y2VpdmVyYC4KKyAgICAiIiIKKyAgICBkYXRhZ3JhbXMgPSAwCisgICAgZnJvbV9hZGRyID0gQ0xJ
RU5UX0FERFIgaWYgc2VuZGVyLl9pc19jbGllbnQgZWxzZSBTRVJWRVJfQUREUgorICAgIGZvciBk
YXRhLCBhZGRyIGluIHNlbmRlci5kYXRhZ3JhbXNfdG9fc2VuZChub3c9dGltZS50aW1lKCkpOgor
ICAgICAgICBkYXRhZ3JhbXMgKz0gMQorICAgICAgICByZWNlaXZlci5yZWNlaXZlX2RhdGFncmFt
KGRhdGEsIGZyb21fYWRkciwgbm93PXRpbWUudGltZSgpKQorICAgIHJldHVybiBkYXRhZ3JhbXMK
KworCitjbGFzcyBRdWljQ29ubmVjdGlvblRlc3QoVGVzdENhc2UpOgorICAgIGRlZiBjaGVja19o
YW5kc2hha2Uoc2VsZiwgY2xpZW50LCBzZXJ2ZXIsIGFscG5fcHJvdG9jb2w9Tm9uZSk6CisgICAg
ICAgICIiIgorICAgICAgICBDaGVjayBoYW5kc2hha2UgY29tcGxldGVkLgorICAgICAgICAiIiIK
KyAgICAgICAgZXZlbnQgPSBjbGllbnQubmV4dF9ldmVudCgpCisgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwodHlwZShldmVudCksIGV2ZW50cy5Qcm90b2NvbE5lZ290aWF0ZWQpCisgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwoZXZlbnQuYWxwbl9wcm90b2NvbCwgYWxwbl9wcm90b2NvbCkKKyAgICAg
ICAgZXZlbnQgPSBjbGllbnQubmV4dF9ldmVudCgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
dHlwZShldmVudCksIGV2ZW50cy5IYW5kc2hha2VDb21wbGV0ZWQpCisgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoZXZlbnQuYWxwbl9wcm90b2NvbCwgYWxwbl9wcm90b2NvbCkKKyAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChldmVudC5lYXJseV9kYXRhX2FjY2VwdGVkLCBGYWxzZSkKKyAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChldmVudC5zZXNzaW9uX3Jlc3VtZWQsIEZhbHNlKQorICAgICAgICBm
b3IgaSBpbiByYW5nZSg3KToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodHlwZShjbGll
bnQubmV4dF9ldmVudCgpKSwgZXZlbnRzLkNvbm5lY3Rpb25JZElzc3VlZCkKKyAgICAgICAgc2Vs
Zi5hc3NlcnRJc05vbmUoY2xpZW50Lm5leHRfZXZlbnQoKSkKKworICAgICAgICBldmVudCA9IHNl
cnZlci5uZXh0X2V2ZW50KCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0eXBlKGV2ZW50KSwg
ZXZlbnRzLlByb3RvY29sTmVnb3RpYXRlZCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChldmVu
dC5hbHBuX3Byb3RvY29sLCBhbHBuX3Byb3RvY29sKQorICAgICAgICBldmVudCA9IHNlcnZlci5u
ZXh0X2V2ZW50KCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0eXBlKGV2ZW50KSwgZXZlbnRz
LkhhbmRzaGFrZUNvbXBsZXRlZCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChldmVudC5hbHBu
X3Byb3RvY29sLCBhbHBuX3Byb3RvY29sKQorICAgICAgICBmb3IgaSBpbiByYW5nZSg3KToKKyAg
ICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodHlwZShzZXJ2ZXIubmV4dF9ldmVudCgpKSwgZXZl
bnRzLkNvbm5lY3Rpb25JZElzc3VlZCkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoc2VydmVy
Lm5leHRfZXZlbnQoKSkKKworICAgIGRlZiB0ZXN0X2Nvbm5lY3Qoc2VsZik6CisgICAgICAgIHdp
dGggY2xpZW50X2FuZF9zZXJ2ZXIoKSBhcyAoY2xpZW50LCBzZXJ2ZXIpOgorICAgICAgICAgICAg
IyBjaGVjayBoYW5kc2hha2UgY29tcGxldGVkCisgICAgICAgICAgICBzZWxmLmNoZWNrX2hhbmRz
aGFrZShjbGllbnQ9Y2xpZW50LCBzZXJ2ZXI9c2VydmVyKQorCisgICAgICAgICAgICAjIGNoZWNr
IGVhY2ggZW5kcG9pbnQgaGFzIGF2YWlsYWJsZSBjb25uZWN0aW9uIElEcyBmb3IgdGhlIHBlZXIK
KyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICAgICAgc2VxdWVuY2Vf
bnVtYmVycyhjbGllbnQuX3BlZXJfY2lkX2F2YWlsYWJsZSksIFsxLCAyLCAzLCA0LCA1LCA2LCA3
XQorICAgICAgICAgICAgKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAg
ICAgICAgICBzZXF1ZW5jZV9udW1iZXJzKHNlcnZlci5fcGVlcl9jaWRfYXZhaWxhYmxlKSwgWzEs
IDIsIDMsIDQsIDUsIDYsIDddCisgICAgICAgICAgICApCisKKyAgICAgICAgICAgICMgY2xpZW50
IGNsb3NlcyB0aGUgY29ubmVjdGlvbgorICAgICAgICAgICAgY2xpZW50LmNsb3NlKCkKKyAgICAg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodHJhbnNmZXIoY2xpZW50LCBzZXJ2ZXIpLCAxKQorCisg
ICAgICAgICAgICAjIGNoZWNrIGNvbm5lY3Rpb24gY2xvc2VzIG9uIHRoZSBjbGllbnQgc2lkZQor
ICAgICAgICAgICAgY2xpZW50LmhhbmRsZV90aW1lcihjbGllbnQuZ2V0X3RpbWVyKCkpCisgICAg
ICAgICAgICBldmVudCA9IGNsaWVudC5uZXh0X2V2ZW50KCkKKyAgICAgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwodHlwZShldmVudCksIGV2ZW50cy5Db25uZWN0aW9uVGVybWluYXRlZCkKKyAgICAg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXZlbnQuZXJyb3JfY29kZSwgUXVpY0Vycm9yQ29kZS5O
T19FUlJPUikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXZlbnQuZnJhbWVfdHlwZSwg
Tm9uZSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXZlbnQucmVhc29uX3BocmFzZSwg
IiIpCisgICAgICAgICAgICBzZWxmLmFzc2VydElzTm9uZShjbGllbnQubmV4dF9ldmVudCgpKQor
CisgICAgICAgICAgICAjIGNoZWNrIGNvbm5lY3Rpb24gY2xvc2VzIG9uIHRoZSBzZXJ2ZXIgc2lk
ZQorICAgICAgICAgICAgc2VydmVyLmhhbmRsZV90aW1lcihzZXJ2ZXIuZ2V0X3RpbWVyKCkpCisg
ICAgICAgICAgICBldmVudCA9IHNlcnZlci5uZXh0X2V2ZW50KCkKKyAgICAgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwodHlwZShldmVudCksIGV2ZW50cy5Db25uZWN0aW9uVGVybWluYXRlZCkKKyAg
ICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXZlbnQuZXJyb3JfY29kZSwgUXVpY0Vycm9yQ29k
ZS5OT19FUlJPUikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXZlbnQuZnJhbWVfdHlw
ZSwgTm9uZSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXZlbnQucmVhc29uX3BocmFz
ZSwgIiIpCisgICAgICAgICAgICBzZWxmLmFzc2VydElzTm9uZShzZXJ2ZXIubmV4dF9ldmVudCgp
KQorCisgICAgICAgICAgICAjIGNoZWNrIGNsaWVudCBsb2cKKyAgICAgICAgICAgIGNsaWVudF9s
b2cgPSBjbGllbnQuY29uZmlndXJhdGlvbi5xdWljX2xvZ2dlci50b19kaWN0KCkKKyAgICAgICAg
ICAgIHNlbGYuYXNzZXJ0R3JlYXRlcihsZW4oY2xpZW50X2xvZ1sidHJhY2VzIl1bMF1bImV2ZW50
cyJdKSwgMjApCisKKyAgICAgICAgICAgICMgY2hlY2sgc2VydmVyIGxvZworICAgICAgICAgICAg
c2VydmVyX2xvZyA9IHNlcnZlci5jb25maWd1cmF0aW9uLnF1aWNfbG9nZ2VyLnRvX2RpY3QoKQor
ICAgICAgICAgICAgc2VsZi5hc3NlcnRHcmVhdGVyKGxlbihzZXJ2ZXJfbG9nWyJ0cmFjZXMiXVsw
XVsiZXZlbnRzIl0pLCAyMCkKKworICAgIGRlZiB0ZXN0X2Nvbm5lY3Rfd2l0aF9hbHBuKHNlbGYp
OgorICAgICAgICB3aXRoIGNsaWVudF9hbmRfc2VydmVyKAorICAgICAgICAgICAgY2xpZW50X29w
dGlvbnM9eyJhbHBuX3Byb3RvY29scyI6IFsiaDMtMjUiLCAiaHEtMjUiXX0sCisgICAgICAgICAg
ICBzZXJ2ZXJfb3B0aW9ucz17ImFscG5fcHJvdG9jb2xzIjogWyJocS0yNSJdfSwKKyAgICAgICAg
KSBhcyAoY2xpZW50LCBzZXJ2ZXIpOgorICAgICAgICAgICAgIyBjaGVjayBoYW5kc2hha2UgY29t
cGxldGVkCisgICAgICAgICAgICBzZWxmLmNoZWNrX2hhbmRzaGFrZShjbGllbnQ9Y2xpZW50LCBz
ZXJ2ZXI9c2VydmVyLCBhbHBuX3Byb3RvY29sPSJocS0yNSIpCisKKyAgICBkZWYgdGVzdF9jb25u
ZWN0X3dpdGhfc2VjcmV0c19sb2coc2VsZik6CisgICAgICAgIGNsaWVudF9sb2dfZmlsZSA9IGlv
LlN0cmluZ0lPKCkKKyAgICAgICAgc2VydmVyX2xvZ19maWxlID0gaW8uU3RyaW5nSU8oKQorICAg
ICAgICB3aXRoIGNsaWVudF9hbmRfc2VydmVyKAorICAgICAgICAgICAgY2xpZW50X29wdGlvbnM9
eyJzZWNyZXRzX2xvZ19maWxlIjogY2xpZW50X2xvZ19maWxlfSwKKyAgICAgICAgICAgIHNlcnZl
cl9vcHRpb25zPXsic2VjcmV0c19sb2dfZmlsZSI6IHNlcnZlcl9sb2dfZmlsZX0sCisgICAgICAg
ICkgYXMgKGNsaWVudCwgc2VydmVyKToKKyAgICAgICAgICAgICMgY2hlY2sgaGFuZHNoYWtlIGNv
bXBsZXRlZAorICAgICAgICAgICAgc2VsZi5jaGVja19oYW5kc2hha2UoY2xpZW50PWNsaWVudCwg
c2VydmVyPXNlcnZlcikKKworICAgICAgICAgICAgIyBjaGVjayBzZWNyZXRzIHdlcmUgbG9nZ2Vk
CisgICAgICAgICAgICBjbGllbnRfbG9nID0gY2xpZW50X2xvZ19maWxlLmdldHZhbHVlKCkKKyAg
ICAgICAgICAgIHNlcnZlcl9sb2cgPSBzZXJ2ZXJfbG9nX2ZpbGUuZ2V0dmFsdWUoKQorICAgICAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbGllbnRfbG9nLCBzZXJ2ZXJfbG9nKQorICAgICAgICAg
ICAgbGFiZWxzID0gW10KKyAgICAgICAgICAgIGZvciBsaW5lIGluIGNsaWVudF9sb2cuc3BsaXRs
aW5lcygpOgorICAgICAgICAgICAgICAgIGxhYmVscy5hcHBlbmQobGluZS5zcGxpdCgpWzBdKQor
ICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgICAgICBsYWJlbHMsCisg
ICAgICAgICAgICAgICAgWworICAgICAgICAgICAgICAgICAgICAiUVVJQ19TRVJWRVJfSEFORFNI
QUtFX1RSQUZGSUNfU0VDUkVUIiwKKyAgICAgICAgICAgICAgICAgICAgIlFVSUNfQ0xJRU5UX0hB
TkRTSEFLRV9UUkFGRklDX1NFQ1JFVCIsCisgICAgICAgICAgICAgICAgICAgICJRVUlDX1NFUlZF
Ul9UUkFGRklDX1NFQ1JFVF8wIiwKKyAgICAgICAgICAgICAgICAgICAgIlFVSUNfQ0xJRU5UX1RS
QUZGSUNfU0VDUkVUXzAiLAorICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAgICApCisKKyAg
ICBkZWYgdGVzdF9jb25uZWN0X3dpdGhfY2VydF9jaGFpbihzZWxmKToKKyAgICAgICAgd2l0aCBj
bGllbnRfYW5kX3NlcnZlcihzZXJ2ZXJfY2VydGZpbGU9U0VSVkVSX0NFUlRGSUxFX1dJVEhfQ0hB
SU4pIGFzICgKKyAgICAgICAgICAgIGNsaWVudCwKKyAgICAgICAgICAgIHNlcnZlciwKKyAgICAg
ICAgKToKKyAgICAgICAgICAgICMgY2hlY2sgaGFuZHNoYWtlIGNvbXBsZXRlZAorICAgICAgICAg
ICAgc2VsZi5jaGVja19oYW5kc2hha2UoY2xpZW50PWNsaWVudCwgc2VydmVyPXNlcnZlcikKKwor
ICAgIGRlZiB0ZXN0X2Nvbm5lY3Rfd2l0aF9sb3NzXzEoc2VsZik6CisgICAgICAgICIiIgorICAg
ICAgICBDaGVjayBjb25uZWN0aW9uIGlzIGVzdGFibGlzaGVkIGV2ZW4gaW4gdGhlIGNsaWVudCdz
IElOSVRJQUwgaXMgbG9zdC4KKyAgICAgICAgIiIiCisKKyAgICAgICAgZGVmIGRhdGFncmFtX3Np
emVzKGl0ZW1zKToKKyAgICAgICAgICAgIHJldHVybiBbbGVuKHhbMF0pIGZvciB4IGluIGl0ZW1z
XQorCisgICAgICAgIGNsaWVudF9jb25maWd1cmF0aW9uID0gUXVpY0NvbmZpZ3VyYXRpb24oaXNf
Y2xpZW50PVRydWUpCisgICAgICAgIGNsaWVudF9jb25maWd1cmF0aW9uLmxvYWRfdmVyaWZ5X2xv
Y2F0aW9ucyhjYWZpbGU9U0VSVkVSX0NBQ0VSVEZJTEUpCisKKyAgICAgICAgY2xpZW50ID0gUXVp
Y0Nvbm5lY3Rpb24oY29uZmlndXJhdGlvbj1jbGllbnRfY29uZmlndXJhdGlvbikKKyAgICAgICAg
Y2xpZW50Ll9hY2tfZGVsYXkgPSAwCisKKyAgICAgICAgc2VydmVyX2NvbmZpZ3VyYXRpb24gPSBR
dWljQ29uZmlndXJhdGlvbihpc19jbGllbnQ9RmFsc2UpCisgICAgICAgIHNlcnZlcl9jb25maWd1
cmF0aW9uLmxvYWRfY2VydF9jaGFpbihTRVJWRVJfQ0VSVEZJTEUsIFNFUlZFUl9LRVlGSUxFKQor
CisgICAgICAgIHNlcnZlciA9IFF1aWNDb25uZWN0aW9uKGNvbmZpZ3VyYXRpb249c2VydmVyX2Nv
bmZpZ3VyYXRpb24pCisgICAgICAgIHNlcnZlci5fYWNrX2RlbGF5ID0gMAorCisgICAgICAgICMg
Y2xpZW50IHNlbmRzIElOSVRJQUwKKyAgICAgICAgbm93ID0gMC4wCisgICAgICAgIGNsaWVudC5j
b25uZWN0KFNFUlZFUl9BRERSLCBub3c9bm93KQorICAgICAgICBpdGVtcyA9IGNsaWVudC5kYXRh
Z3JhbXNfdG9fc2VuZChub3c9bm93KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRhdGFncmFt
X3NpemVzKGl0ZW1zKSwgWzEyODBdKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNsaWVudC5n
ZXRfdGltZXIoKSwgMS4wKQorCisgICAgICAgICMgSU5JVElBTCBpcyBsb3N0CisgICAgICAgIG5v
dyA9IDEuMAorICAgICAgICBjbGllbnQuaGFuZGxlX3RpbWVyKG5vdz1ub3cpCisgICAgICAgIGl0
ZW1zID0gY2xpZW50LmRhdGFncmFtc190b19zZW5kKG5vdz1ub3cpCisgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoZGF0YWdyYW1fc2l6ZXMoaXRlbXMpLCBbMTI4MF0pCisgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoY2xpZW50LmdldF90aW1lcigpLCAzLjApCisKKyAgICAgICAgIyBzZXJ2ZXIgcmVj
ZWl2ZXMgSU5JVElBTCwgc2VuZHMgSU5JVElBTCArIEhBTkRTSEFLRQorICAgICAgICBub3cgPSAx
LjEKKyAgICAgICAgc2VydmVyLnJlY2VpdmVfZGF0YWdyYW0oaXRlbXNbMF1bMF0sIENMSUVOVF9B
RERSLCBub3c9bm93KQorICAgICAgICBpdGVtcyA9IHNlcnZlci5kYXRhZ3JhbXNfdG9fc2VuZChu
b3c9bm93KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRhdGFncmFtX3NpemVzKGl0ZW1zKSwg
WzEyODAsIDEwNjJdKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlcnZlci5nZXRfdGltZXIo
KSwgMi4xKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihzZXJ2ZXIuX2xvc3Muc3BhY2Vz
WzBdLnNlbnRfcGFja2V0cyksIDEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHNlcnZl
ci5fbG9zcy5zcGFjZXNbMV0uc2VudF9wYWNrZXRzKSwgMikKKyAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbCh0eXBlKHNlcnZlci5uZXh0X2V2ZW50KCkpLCBldmVudHMuUHJvdG9jb2xOZWdvdGlhdGVk
KQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShzZXJ2ZXIubmV4dF9ldmVudCgpKQorCisgICAg
ICAgICMgaGFuZHNoYWtlIGNvbnRpbnVlcyBub3JtYWxseQorICAgICAgICBub3cgPSAxLjIKKyAg
ICAgICAgY2xpZW50LnJlY2VpdmVfZGF0YWdyYW0oaXRlbXNbMF1bMF0sIFNFUlZFUl9BRERSLCBu
b3c9bm93KQorICAgICAgICBjbGllbnQucmVjZWl2ZV9kYXRhZ3JhbShpdGVtc1sxXVswXSwgU0VS
VkVSX0FERFIsIG5vdz1ub3cpCisgICAgICAgIGl0ZW1zID0gY2xpZW50LmRhdGFncmFtc190b19z
ZW5kKG5vdz1ub3cpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YWdyYW1fc2l6ZXMoaXRl
bXMpLCBbMzc2XSkKKyAgICAgICAgc2VsZi5hc3NlcnRBbG1vc3RFcXVhbChjbGllbnQuZ2V0X3Rp
bWVyKCksIDEuODI1KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHR5cGUoY2xpZW50Lm5leHRf
ZXZlbnQoKSksIGV2ZW50cy5Qcm90b2NvbE5lZ290aWF0ZWQpCisgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwodHlwZShjbGllbnQubmV4dF9ldmVudCgpKSwgZXZlbnRzLkhhbmRzaGFrZUNvbXBsZXRl
ZCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0eXBlKGNsaWVudC5uZXh0X2V2ZW50KCkpLCBl
dmVudHMuQ29ubmVjdGlvbklkSXNzdWVkKQorCisgICAgICAgIG5vdyA9IDEuMworICAgICAgICBz
ZXJ2ZXIucmVjZWl2ZV9kYXRhZ3JhbShpdGVtc1swXVswXSwgQ0xJRU5UX0FERFIsIG5vdz1ub3cp
CisgICAgICAgIGl0ZW1zID0gc2VydmVyLmRhdGFncmFtc190b19zZW5kKG5vdz1ub3cpCisgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YWdyYW1fc2l6ZXMoaXRlbXMpLCBbMjI5XSkKKyAgICAg
ICAgc2VsZi5hc3NlcnRBbG1vc3RFcXVhbChzZXJ2ZXIuZ2V0X3RpbWVyKCksIDEuODI1KQorICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihzZXJ2ZXIuX2xvc3Muc3BhY2VzWzBdLnNlbnRfcGFj
a2V0cyksIDApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHNlcnZlci5fbG9zcy5zcGFj
ZXNbMV0uc2VudF9wYWNrZXRzKSwgMCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0eXBlKHNl
cnZlci5uZXh0X2V2ZW50KCkpLCBldmVudHMuSGFuZHNoYWtlQ29tcGxldGVkKQorICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKHR5cGUoc2VydmVyLm5leHRfZXZlbnQoKSksIGV2ZW50cy5Db25uZWN0
aW9uSWRJc3N1ZWQpCisKKyAgICAgICAgbm93ID0gMS40CisgICAgICAgIGNsaWVudC5yZWNlaXZl
X2RhdGFncmFtKGl0ZW1zWzBdWzBdLCBTRVJWRVJfQUREUiwgbm93PW5vdykKKyAgICAgICAgaXRl
bXMgPSBjbGllbnQuZGF0YWdyYW1zX3RvX3NlbmQobm93PW5vdykKKyAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChkYXRhZ3JhbV9zaXplcyhpdGVtcyksIFszMl0pCisgICAgICAgIHNlbGYuYXNzZXJ0
QWxtb3N0RXF1YWwoY2xpZW50LmdldF90aW1lcigpLCA2MS40KSAgIyBpZGxlIHRpbWVvdXQKKwor
ICAgIGRlZiB0ZXN0X2Nvbm5lY3Rfd2l0aF9sb3NzXzIoc2VsZik6CisgICAgICAgIGRlZiBkYXRh
Z3JhbV9zaXplcyhpdGVtcyk6CisgICAgICAgICAgICByZXR1cm4gW2xlbih4WzBdKSBmb3IgeCBp
biBpdGVtc10KKworICAgICAgICBjbGllbnRfY29uZmlndXJhdGlvbiA9IFF1aWNDb25maWd1cmF0
aW9uKGlzX2NsaWVudD1UcnVlKQorICAgICAgICBjbGllbnRfY29uZmlndXJhdGlvbi5sb2FkX3Zl
cmlmeV9sb2NhdGlvbnMoY2FmaWxlPVNFUlZFUl9DQUNFUlRGSUxFKQorCisgICAgICAgIGNsaWVu
dCA9IFF1aWNDb25uZWN0aW9uKGNvbmZpZ3VyYXRpb249Y2xpZW50X2NvbmZpZ3VyYXRpb24pCisg
ICAgICAgIGNsaWVudC5fYWNrX2RlbGF5ID0gMAorCisgICAgICAgIHNlcnZlcl9jb25maWd1cmF0
aW9uID0gUXVpY0NvbmZpZ3VyYXRpb24oaXNfY2xpZW50PUZhbHNlKQorICAgICAgICBzZXJ2ZXJf
Y29uZmlndXJhdGlvbi5sb2FkX2NlcnRfY2hhaW4oU0VSVkVSX0NFUlRGSUxFLCBTRVJWRVJfS0VZ
RklMRSkKKworICAgICAgICBzZXJ2ZXIgPSBRdWljQ29ubmVjdGlvbihjb25maWd1cmF0aW9uPXNl
cnZlcl9jb25maWd1cmF0aW9uKQorICAgICAgICBzZXJ2ZXIuX2Fja19kZWxheSA9IDAKKworICAg
ICAgICAjIGNsaWVudCBzZW5kcyBJTklUSUFMCisgICAgICAgIG5vdyA9IDAuMAorICAgICAgICBj
bGllbnQuY29ubmVjdChTRVJWRVJfQUREUiwgbm93PW5vdykKKyAgICAgICAgaXRlbXMgPSBjbGll
bnQuZGF0YWdyYW1zX3RvX3NlbmQobm93PW5vdykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChk
YXRhZ3JhbV9zaXplcyhpdGVtcyksIFsxMjgwXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChj
bGllbnQuZ2V0X3RpbWVyKCksIDEuMCkKKworICAgICAgICAjIHNlcnZlciByZWNlaXZlcyBJTklU
SUFMLCBzZW5kcyBJTklUSUFMICsgSEFORFNIQUtFIGJ1dCBzZWNvbmQgZGF0YWdyYW0gaXMgbG9z
dAorICAgICAgICBub3cgPSAwLjEKKyAgICAgICAgc2VydmVyLnJlY2VpdmVfZGF0YWdyYW0oaXRl
bXNbMF1bMF0sIENMSUVOVF9BRERSLCBub3c9bm93KQorICAgICAgICBpdGVtcyA9IHNlcnZlci5k
YXRhZ3JhbXNfdG9fc2VuZChub3c9bm93KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRhdGFn
cmFtX3NpemVzKGl0ZW1zKSwgWzEyODAsIDEwNjJdKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KHNlcnZlci5nZXRfdGltZXIoKSwgMS4xKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihz
ZXJ2ZXIuX2xvc3Muc3BhY2VzWzBdLnNlbnRfcGFja2V0cyksIDEpCisgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwobGVuKHNlcnZlci5fbG9zcy5zcGFjZXNbMV0uc2VudF9wYWNrZXRzKSwgMikKKwor
ICAgICAgICAjIGNsaWVudCBvbmx5IHJlY2VpdmVzIGZpcnN0IGRhdGFncmFtIGFuZCBzZW5kcyBB
Q0tTCisgICAgICAgIG5vdyA9IDAuMgorICAgICAgICBjbGllbnQucmVjZWl2ZV9kYXRhZ3JhbShp
dGVtc1swXVswXSwgU0VSVkVSX0FERFIsIG5vdz1ub3cpCisgICAgICAgIGl0ZW1zID0gY2xpZW50
LmRhdGFncmFtc190b19zZW5kKG5vdz1ub3cpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0
YWdyYW1fc2l6ZXMoaXRlbXMpLCBbOTddKQorICAgICAgICBzZWxmLmFzc2VydEFsbW9zdEVxdWFs
KGNsaWVudC5nZXRfdGltZXIoKSwgMC42MjUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodHlw
ZShjbGllbnQubmV4dF9ldmVudCgpKSwgZXZlbnRzLlByb3RvY29sTmVnb3RpYXRlZCkKKyAgICAg
ICAgc2VsZi5hc3NlcnRJc05vbmUoY2xpZW50Lm5leHRfZXZlbnQoKSkKKworICAgICAgICAjIGNs
aWVudCBQVE8gLSBIQU5EU0hBS0UgUElORworICAgICAgICBub3cgPSBjbGllbnQuZ2V0X3RpbWVy
KCkgICMgfjAuNjI1CisgICAgICAgIGNsaWVudC5oYW5kbGVfdGltZXIobm93PW5vdykKKyAgICAg
ICAgaXRlbXMgPSBjbGllbnQuZGF0YWdyYW1zX3RvX3NlbmQobm93PW5vdykKKyAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChkYXRhZ3JhbV9zaXplcyhpdGVtcyksIFs0NF0pCisgICAgICAgIHNlbGYu
YXNzZXJ0QWxtb3N0RXF1YWwoY2xpZW50LmdldF90aW1lcigpLCAxLjg3NSkKKworICAgICAgICAj
IHNlcnZlciByZWNlaXZlcyBQSU5HLCBkaXNjYXJkcyBJTklUSUFMIGFuZCBzZW5kcyBBQ0sKKyAg
ICAgICAgbm93ID0gMC43MjUKKyAgICAgICAgc2VydmVyLnJlY2VpdmVfZGF0YWdyYW0oaXRlbXNb
MF1bMF0sIENMSUVOVF9BRERSLCBub3c9bm93KQorICAgICAgICBpdGVtcyA9IHNlcnZlci5kYXRh
Z3JhbXNfdG9fc2VuZChub3c9bm93KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRhdGFncmFt
X3NpemVzKGl0ZW1zKSwgWzQ4XSkKKyAgICAgICAgc2VsZi5hc3NlcnRBbG1vc3RFcXVhbChzZXJ2
ZXIuZ2V0X3RpbWVyKCksIDEuMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oc2VydmVy
Ll9sb3NzLnNwYWNlc1swXS5zZW50X3BhY2tldHMpLCAwKQorICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKGxlbihzZXJ2ZXIuX2xvc3Muc3BhY2VzWzFdLnNlbnRfcGFja2V0cyksIDMpCisgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwodHlwZShzZXJ2ZXIubmV4dF9ldmVudCgpKSwgZXZlbnRzLlByb3Rv
Y29sTmVnb3RpYXRlZCkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoc2VydmVyLm5leHRfZXZl
bnQoKSkKKworICAgICAgICAjIEFDS3MgYXJlIGxvc3QsIHNlcnZlciByZXRyYW5zbWl0cyBIQU5E
U0hBS0UKKyAgICAgICAgbm93ID0gc2VydmVyLmdldF90aW1lcigpCisgICAgICAgIHNlcnZlci5o
YW5kbGVfdGltZXIobm93PW5vdykKKyAgICAgICAgaXRlbXMgPSBzZXJ2ZXIuZGF0YWdyYW1zX3Rv
X3NlbmQobm93PW5vdykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRhZ3JhbV9zaXplcyhp
dGVtcyksIFsxMjgwLCA4NTRdKQorICAgICAgICBzZWxmLmFzc2VydEFsbW9zdEVxdWFsKHNlcnZl
ci5nZXRfdGltZXIoKSwgMy4xKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihzZXJ2ZXIu
X2xvc3Muc3BhY2VzWzBdLnNlbnRfcGFja2V0cyksIDApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWwobGVuKHNlcnZlci5fbG9zcy5zcGFjZXNbMV0uc2VudF9wYWNrZXRzKSwgMykKKyAgICAgICAg
c2VsZi5hc3NlcnRJc05vbmUoc2VydmVyLm5leHRfZXZlbnQoKSkKKworICAgICAgICAjIGhhbmRz
aGFrZSBjb250aW51ZXMgbm9ybWFsbHkKKyAgICAgICAgbm93ID0gMS4yCisgICAgICAgIGNsaWVu
dC5yZWNlaXZlX2RhdGFncmFtKGl0ZW1zWzBdWzBdLCBTRVJWRVJfQUREUiwgbm93PW5vdykKKyAg
ICAgICAgY2xpZW50LnJlY2VpdmVfZGF0YWdyYW0oaXRlbXNbMV1bMF0sIFNFUlZFUl9BRERSLCBu
b3c9bm93KQorICAgICAgICBpdGVtcyA9IGNsaWVudC5kYXRhZ3JhbXNfdG9fc2VuZChub3c9bm93
KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRhdGFncmFtX3NpemVzKGl0ZW1zKSwgWzMyOV0p
CisgICAgICAgIHNlbGYuYXNzZXJ0QWxtb3N0RXF1YWwoY2xpZW50LmdldF90aW1lcigpLCAyLjQ1
KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHR5cGUoY2xpZW50Lm5leHRfZXZlbnQoKSksIGV2
ZW50cy5IYW5kc2hha2VDb21wbGV0ZWQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodHlwZShj
bGllbnQubmV4dF9ldmVudCgpKSwgZXZlbnRzLkNvbm5lY3Rpb25JZElzc3VlZCkKKworICAgICAg
ICBub3cgPSAxLjMKKyAgICAgICAgc2VydmVyLnJlY2VpdmVfZGF0YWdyYW0oaXRlbXNbMF1bMF0s
IENMSUVOVF9BRERSLCBub3c9bm93KQorICAgICAgICBpdGVtcyA9IHNlcnZlci5kYXRhZ3JhbXNf
dG9fc2VuZChub3c9bm93KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRhdGFncmFtX3NpemVz
KGl0ZW1zKSwgWzIyOV0pCisgICAgICAgIHNlbGYuYXNzZXJ0QWxtb3N0RXF1YWwoc2VydmVyLmdl
dF90aW1lcigpLCAxLjkyNSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0eXBlKHNlcnZlci5u
ZXh0X2V2ZW50KCkpLCBldmVudHMuSGFuZHNoYWtlQ29tcGxldGVkKQorICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKHR5cGUoc2VydmVyLm5leHRfZXZlbnQoKSksIGV2ZW50cy5Db25uZWN0aW9uSWRJ
c3N1ZWQpCisKKyAgICAgICAgbm93ID0gMS40CisgICAgICAgIGNsaWVudC5yZWNlaXZlX2RhdGFn
cmFtKGl0ZW1zWzBdWzBdLCBTRVJWRVJfQUREUiwgbm93PW5vdykKKyAgICAgICAgaXRlbXMgPSBj
bGllbnQuZGF0YWdyYW1zX3RvX3NlbmQobm93PW5vdykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChkYXRhZ3JhbV9zaXplcyhpdGVtcyksIFszMl0pCisgICAgICAgIHNlbGYuYXNzZXJ0QWxtb3N0
RXF1YWwoY2xpZW50LmdldF90aW1lcigpLCA2MS40KSAgIyBpZGxlIHRpbWVvdXQKKworICAgIGRl
ZiB0ZXN0X2Nvbm5lY3Rfd2l0aF9sb3NzXzMoc2VsZik6CisgICAgICAgIGRlZiBkYXRhZ3JhbV9z
aXplcyhpdGVtcyk6CisgICAgICAgICAgICByZXR1cm4gW2xlbih4WzBdKSBmb3IgeCBpbiBpdGVt
c10KKworICAgICAgICBjbGllbnRfY29uZmlndXJhdGlvbiA9IFF1aWNDb25maWd1cmF0aW9uKGlz
X2NsaWVudD1UcnVlKQorICAgICAgICBjbGllbnRfY29uZmlndXJhdGlvbi5sb2FkX3ZlcmlmeV9s
b2NhdGlvbnMoY2FmaWxlPVNFUlZFUl9DQUNFUlRGSUxFKQorCisgICAgICAgIGNsaWVudCA9IFF1
aWNDb25uZWN0aW9uKGNvbmZpZ3VyYXRpb249Y2xpZW50X2NvbmZpZ3VyYXRpb24pCisgICAgICAg
IGNsaWVudC5fYWNrX2RlbGF5ID0gMAorCisgICAgICAgIHNlcnZlcl9jb25maWd1cmF0aW9uID0g
UXVpY0NvbmZpZ3VyYXRpb24oaXNfY2xpZW50PUZhbHNlKQorICAgICAgICBzZXJ2ZXJfY29uZmln
dXJhdGlvbi5sb2FkX2NlcnRfY2hhaW4oU0VSVkVSX0NFUlRGSUxFLCBTRVJWRVJfS0VZRklMRSkK
KworICAgICAgICBzZXJ2ZXIgPSBRdWljQ29ubmVjdGlvbihjb25maWd1cmF0aW9uPXNlcnZlcl9j
b25maWd1cmF0aW9uKQorICAgICAgICBzZXJ2ZXIuX2Fja19kZWxheSA9IDAKKworICAgICAgICAj
IGNsaWVudCBzZW5kcyBJTklUSUFMCisgICAgICAgIG5vdyA9IDAuMAorICAgICAgICBjbGllbnQu
Y29ubmVjdChTRVJWRVJfQUREUiwgbm93PW5vdykKKyAgICAgICAgaXRlbXMgPSBjbGllbnQuZGF0
YWdyYW1zX3RvX3NlbmQobm93PW5vdykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRhZ3Jh
bV9zaXplcyhpdGVtcyksIFsxMjgwXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbGllbnQu
Z2V0X3RpbWVyKCksIDEuMCkKKworICAgICAgICAjIHNlcnZlciByZWNlaXZlcyBJTklUSUFMLCBz
ZW5kcyBJTklUSUFMICsgSEFORFNIQUtFCisgICAgICAgIG5vdyA9IDAuMQorICAgICAgICBzZXJ2
ZXIucmVjZWl2ZV9kYXRhZ3JhbShpdGVtc1swXVswXSwgQ0xJRU5UX0FERFIsIG5vdz1ub3cpCisg
ICAgICAgIGl0ZW1zID0gc2VydmVyLmRhdGFncmFtc190b19zZW5kKG5vdz1ub3cpCisgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwoZGF0YWdyYW1fc2l6ZXMoaXRlbXMpLCBbMTI4MCwgMTA2Ml0pCisg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VydmVyLmdldF90aW1lcigpLCAxLjEpCisgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwobGVuKHNlcnZlci5fbG9zcy5zcGFjZXNbMF0uc2VudF9wYWNrZXRz
KSwgMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oc2VydmVyLl9sb3NzLnNwYWNlc1sx
XS5zZW50X3BhY2tldHMpLCAyKQorCisgICAgICAgICMgY2xpZW50IHJlY2VpdmVzIElOSVRJQUwg
KyBIQU5EU0hBS0UKKyAgICAgICAgbm93ID0gMC4yCisgICAgICAgIGNsaWVudC5yZWNlaXZlX2Rh
dGFncmFtKGl0ZW1zWzBdWzBdLCBTRVJWRVJfQUREUiwgbm93PW5vdykKKyAgICAgICAgY2xpZW50
LnJlY2VpdmVfZGF0YWdyYW0oaXRlbXNbMV1bMF0sIFNFUlZFUl9BRERSLCBub3c9bm93KQorICAg
ICAgICBpdGVtcyA9IGNsaWVudC5kYXRhZ3JhbXNfdG9fc2VuZChub3c9bm93KQorICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKGRhdGFncmFtX3NpemVzKGl0ZW1zKSwgWzM3Nl0pCisgICAgICAgIHNl
bGYuYXNzZXJ0QWxtb3N0RXF1YWwoY2xpZW50LmdldF90aW1lcigpLCAwLjgyNSkKKyAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbCh0eXBlKGNsaWVudC5uZXh0X2V2ZW50KCkpLCBldmVudHMuUHJvdG9j
b2xOZWdvdGlhdGVkKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHR5cGUoY2xpZW50Lm5leHRf
ZXZlbnQoKSksIGV2ZW50cy5IYW5kc2hha2VDb21wbGV0ZWQpCisgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwodHlwZShjbGllbnQubmV4dF9ldmVudCgpKSwgZXZlbnRzLkNvbm5lY3Rpb25JZElzc3Vl
ZCkKKworICAgICAgICAjIHNlcnZlciBjb21wbGV0ZXMgaGFuZHNoYWtlCisgICAgICAgIG5vdyA9
IDAuMworICAgICAgICBzZXJ2ZXIucmVjZWl2ZV9kYXRhZ3JhbShpdGVtc1swXVswXSwgQ0xJRU5U
X0FERFIsIG5vdz1ub3cpCisgICAgICAgIGl0ZW1zID0gc2VydmVyLmRhdGFncmFtc190b19zZW5k
KG5vdz1ub3cpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YWdyYW1fc2l6ZXMoaXRlbXMp
LCBbMjI5XSkKKyAgICAgICAgc2VsZi5hc3NlcnRBbG1vc3RFcXVhbChzZXJ2ZXIuZ2V0X3RpbWVy
KCksIDAuODI1KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihzZXJ2ZXIuX2xvc3Muc3Bh
Y2VzWzBdLnNlbnRfcGFja2V0cyksIDApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHNl
cnZlci5fbG9zcy5zcGFjZXNbMV0uc2VudF9wYWNrZXRzKSwgMCkKKyAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbCh0eXBlKHNlcnZlci5uZXh0X2V2ZW50KCkpLCBldmVudHMuUHJvdG9jb2xOZWdvdGlh
dGVkKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHR5cGUoc2VydmVyLm5leHRfZXZlbnQoKSks
IGV2ZW50cy5IYW5kc2hha2VDb21wbGV0ZWQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodHlw
ZShzZXJ2ZXIubmV4dF9ldmVudCgpKSwgZXZlbnRzLkNvbm5lY3Rpb25JZElzc3VlZCkKKworICAg
ICAgICAjIHNlcnZlciBQVE8gLSAxLVJUVCBQSU5HCisgICAgICAgIG5vdyA9IDAuODI1CisgICAg
ICAgIHNlcnZlci5oYW5kbGVfdGltZXIobm93PW5vdykKKyAgICAgICAgaXRlbXMgPSBzZXJ2ZXIu
ZGF0YWdyYW1zX3RvX3NlbmQobm93PW5vdykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRh
Z3JhbV9zaXplcyhpdGVtcyksIFsyOV0pCisgICAgICAgIHNlbGYuYXNzZXJ0QWxtb3N0RXF1YWwo
c2VydmVyLmdldF90aW1lcigpLCAxLjg3NSkKKworICAgICAgICAjIGNsaWVudCByZWNlaXZlcyBQ
SU5HLCBzZW5kcyBBQ0sKKyAgICAgICAgbm93ID0gMC45CisgICAgICAgIGNsaWVudC5yZWNlaXZl
X2RhdGFncmFtKGl0ZW1zWzBdWzBdLCBTRVJWRVJfQUREUiwgbm93PW5vdykKKyAgICAgICAgaXRl
bXMgPSBjbGllbnQuZGF0YWdyYW1zX3RvX3NlbmQobm93PW5vdykKKyAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChkYXRhZ3JhbV9zaXplcyhpdGVtcyksIFszMl0pCisgICAgICAgIHNlbGYuYXNzZXJ0
QWxtb3N0RXF1YWwoY2xpZW50LmdldF90aW1lcigpLCAwLjgyNSkKKworICAgICAgICAjIHNlcnZl
ciByZWNlaXZlcyBBQ0ssIHJldHJhbnNtaXRzIEhBTkRTSEFLRV9ET05FCisgICAgICAgIG5vdyA9
IDEuMAorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHNlcnZlci5faGFuZHNoYWtlX2RvbmVfcGVu
ZGluZykKKyAgICAgICAgc2VydmVyLnJlY2VpdmVfZGF0YWdyYW0oaXRlbXNbMF1bMF0sIENMSUVO
VF9BRERSLCBub3c9bm93KQorICAgICAgICBzZWxmLmFzc2VydFRydWUoc2VydmVyLl9oYW5kc2hh
a2VfZG9uZV9wZW5kaW5nKQorICAgICAgICBpdGVtcyA9IHNlcnZlci5kYXRhZ3JhbXNfdG9fc2Vu
ZChub3c9bm93KQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHNlcnZlci5faGFuZHNoYWtlX2Rv
bmVfcGVuZGluZykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRhZ3JhbV9zaXplcyhpdGVt
cyksIFsyMjRdKQorCisgICAgZGVmIHRlc3RfY29ubmVjdF93aXRoX3F1YW50dW1fcmVhZGluZXNz
KHNlbGYpOgorICAgICAgICB3aXRoIGNsaWVudF9hbmRfc2VydmVyKGNsaWVudF9vcHRpb25zPXsi
cXVhbnR1bV9yZWFkaW5lc3NfdGVzdCI6IFRydWV9LCkgYXMgKAorICAgICAgICAgICAgY2xpZW50
LAorICAgICAgICAgICAgc2VydmVyLAorICAgICAgICApOgorICAgICAgICAgICAgc3RyZWFtX2lk
ID0gY2xpZW50LmdldF9uZXh0X2F2YWlsYWJsZV9zdHJlYW1faWQoKQorICAgICAgICAgICAgY2xp
ZW50LnNlbmRfc3RyZWFtX2RhdGEoc3RyZWFtX2lkLCBiImhlbGxvIikKKworICAgICAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChyb3VuZHRyaXAoY2xpZW50LCBzZXJ2ZXIpLCAoMSwgMSkpCisKKyAg
ICAgICAgICAgIHJlY2VpdmVkID0gTm9uZQorICAgICAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAg
ICAgICAgICAgICBldmVudCA9IHNlcnZlci5uZXh0X2V2ZW50KCkKKyAgICAgICAgICAgICAgICBp
ZiBpc2luc3RhbmNlKGV2ZW50LCBldmVudHMuU3RyZWFtRGF0YVJlY2VpdmVkKToKKyAgICAgICAg
ICAgICAgICAgICAgcmVjZWl2ZWQgPSBldmVudC5kYXRhCisgICAgICAgICAgICAgICAgZWxpZiBl
dmVudCBpcyBOb25lOgorICAgICAgICAgICAgICAgICAgICBicmVhaworCisgICAgICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKHJlY2VpdmVkLCBiImhlbGxvIikKKworICAgIGRlZiB0ZXN0X2Nvbm5l
Y3Rfd2l0aF8wcnR0KHNlbGYpOgorICAgICAgICBjbGllbnRfdGlja2V0ID0gTm9uZQorICAgICAg
ICB0aWNrZXRfc3RvcmUgPSBTZXNzaW9uVGlja2V0U3RvcmUoKQorCisgICAgICAgIGRlZiBzYXZl
X3Nlc3Npb25fdGlja2V0KHRpY2tldCk6CisgICAgICAgICAgICBub25sb2NhbCBjbGllbnRfdGlj
a2V0CisgICAgICAgICAgICBjbGllbnRfdGlja2V0ID0gdGlja2V0CisKKyAgICAgICAgd2l0aCBj
bGllbnRfYW5kX3NlcnZlcigKKyAgICAgICAgICAgIGNsaWVudF9rd2FyZ3M9eyJzZXNzaW9uX3Rp
Y2tldF9oYW5kbGVyIjogc2F2ZV9zZXNzaW9uX3RpY2tldH0sCisgICAgICAgICAgICBzZXJ2ZXJf
a3dhcmdzPXsic2Vzc2lvbl90aWNrZXRfaGFuZGxlciI6IHRpY2tldF9zdG9yZS5hZGR9LAorICAg
ICAgICApIGFzIChjbGllbnQsIHNlcnZlcik6CisgICAgICAgICAgICBwYXNzCisKKyAgICAgICAg
d2l0aCBjbGllbnRfYW5kX3NlcnZlcigKKyAgICAgICAgICAgIGNsaWVudF9vcHRpb25zPXsic2Vz
c2lvbl90aWNrZXQiOiBjbGllbnRfdGlja2V0fSwKKyAgICAgICAgICAgIHNlcnZlcl9rd2FyZ3M9
eyJzZXNzaW9uX3RpY2tldF9mZXRjaGVyIjogdGlja2V0X3N0b3JlLnBvcH0sCisgICAgICAgICAg
ICBoYW5kc2hha2U9RmFsc2UsCisgICAgICAgICkgYXMgKGNsaWVudCwgc2VydmVyKToKKyAgICAg
ICAgICAgIGNsaWVudC5jb25uZWN0KFNFUlZFUl9BRERSLCBub3c9dGltZS50aW1lKCkpCisgICAg
ICAgICAgICBzdHJlYW1faWQgPSBjbGllbnQuZ2V0X25leHRfYXZhaWxhYmxlX3N0cmVhbV9pZCgp
CisgICAgICAgICAgICBjbGllbnQuc2VuZF9zdHJlYW1fZGF0YShzdHJlYW1faWQsIGIiaGVsbG8i
KQorCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJvdW5kdHJpcChjbGllbnQsIHNlcnZl
ciksICgyLCAxKSkKKworICAgICAgICAgICAgZXZlbnQgPSBzZXJ2ZXIubmV4dF9ldmVudCgpCisg
ICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHR5cGUoZXZlbnQpLCBldmVudHMuUHJvdG9jb2xO
ZWdvdGlhdGVkKQorCisgICAgICAgICAgICBldmVudCA9IHNlcnZlci5uZXh0X2V2ZW50KCkKKyAg
ICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodHlwZShldmVudCksIGV2ZW50cy5TdHJlYW1EYXRh
UmVjZWl2ZWQpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV2ZW50LmRhdGEsIGIiaGVs
bG8iKQorCisgICAgZGVmIHRlc3RfY29ubmVjdF93aXRoXzBydHRfYmFkX21heF9lYXJseV9kYXRh
KHNlbGYpOgorICAgICAgICBjbGllbnRfdGlja2V0ID0gTm9uZQorICAgICAgICB0aWNrZXRfc3Rv
cmUgPSBTZXNzaW9uVGlja2V0U3RvcmUoKQorCisgICAgICAgIGRlZiBwYXRjaChzZXJ2ZXIpOgor
ICAgICAgICAgICAgIiIiCisgICAgICAgICAgICBQYXRjaCBzZXJ2ZXIncyBUTFMgaW5pdGlhbGl6
YXRpb24gdG8gc2V0IGFuIGludmFsaWQKKyAgICAgICAgICAgIG1heF9lYXJseV9kYXRhIHZhbHVl
LgorICAgICAgICAgICAgIiIiCisgICAgICAgICAgICByZWFsX2luaXRpYWxpemUgPSBzZXJ2ZXIu
X2luaXRpYWxpemUKKworICAgICAgICAgICAgZGVmIHBhdGNoZWRfaW5pdGlhbGl6ZShwZWVyX2Np
ZDogYnl0ZXMpOgorICAgICAgICAgICAgICAgIHJlYWxfaW5pdGlhbGl6ZShwZWVyX2NpZCkKKyAg
ICAgICAgICAgICAgICBzZXJ2ZXIudGxzLl9tYXhfZWFybHlfZGF0YSA9IDEyMzQ1CisKKyAgICAg
ICAgICAgIHNlcnZlci5faW5pdGlhbGl6ZSA9IHBhdGNoZWRfaW5pdGlhbGl6ZQorCisgICAgICAg
IGRlZiBzYXZlX3Nlc3Npb25fdGlja2V0KHRpY2tldCk6CisgICAgICAgICAgICBub25sb2NhbCBj
bGllbnRfdGlja2V0CisgICAgICAgICAgICBjbGllbnRfdGlja2V0ID0gdGlja2V0CisKKyAgICAg
ICAgd2l0aCBjbGllbnRfYW5kX3NlcnZlcigKKyAgICAgICAgICAgIGNsaWVudF9rd2FyZ3M9eyJz
ZXNzaW9uX3RpY2tldF9oYW5kbGVyIjogc2F2ZV9zZXNzaW9uX3RpY2tldH0sCisgICAgICAgICAg
ICBzZXJ2ZXJfa3dhcmdzPXsic2Vzc2lvbl90aWNrZXRfaGFuZGxlciI6IHRpY2tldF9zdG9yZS5h
ZGR9LAorICAgICAgICAgICAgc2VydmVyX3BhdGNoPXBhdGNoLAorICAgICAgICApIGFzIChjbGll
bnQsIHNlcnZlcik6CisgICAgICAgICAgICAjIGNoZWNrIGhhbmRzaGFrZSBmYWlsZWQKKyAgICAg
ICAgICAgIGV2ZW50ID0gY2xpZW50Lm5leHRfZXZlbnQoKQorICAgICAgICAgICAgc2VsZi5hc3Nl
cnRJc05vbmUoZXZlbnQpCisKKyAgICBkZWYgdGVzdF9jaGFuZ2VfY29ubmVjdGlvbl9pZChzZWxm
KToKKyAgICAgICAgd2l0aCBjbGllbnRfYW5kX3NlcnZlcigpIGFzIChjbGllbnQsIHNlcnZlcik6
CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgICAgIHNlcXVlbmNl
X251bWJlcnMoY2xpZW50Ll9wZWVyX2NpZF9hdmFpbGFibGUpLCBbMSwgMiwgMywgNCwgNSwgNiwg
N10KKyAgICAgICAgICAgICkKKworICAgICAgICAgICAgIyB0aGUgY2xpZW50IGNoYW5nZXMgY29u
bmVjdGlvbiBJRAorICAgICAgICAgICAgY2xpZW50LmNoYW5nZV9jb25uZWN0aW9uX2lkKCkKKyAg
ICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodHJhbnNmZXIoY2xpZW50LCBzZXJ2ZXIpLCAxKQor
ICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgICAgICBzZXF1ZW5jZV9u
dW1iZXJzKGNsaWVudC5fcGVlcl9jaWRfYXZhaWxhYmxlKSwgWzIsIDMsIDQsIDUsIDYsIDddCisg
ICAgICAgICAgICApCisKKyAgICAgICAgICAgICMgdGhlIHNlcnZlciBwcm92aWRlcyBhIG5ldyBj
b25uZWN0aW9uIElECisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRyYW5zZmVyKHNlcnZl
ciwgY2xpZW50KSwgMSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAg
ICAgICAgc2VxdWVuY2VfbnVtYmVycyhjbGllbnQuX3BlZXJfY2lkX2F2YWlsYWJsZSksIFsyLCAz
LCA0LCA1LCA2LCA3LCA4XQorICAgICAgICAgICAgKQorCisgICAgZGVmIHRlc3RfY2hhbmdlX2Nv
bm5lY3Rpb25faWRfcmV0cmFuc21pdF9uZXdfY29ubmVjdGlvbl9pZChzZWxmKToKKyAgICAgICAg
d2l0aCBjbGllbnRfYW5kX3NlcnZlcigpIGFzIChjbGllbnQsIHNlcnZlcik6CisgICAgICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgICAgIHNlcXVlbmNlX251bWJlcnMoY2xp
ZW50Ll9wZWVyX2NpZF9hdmFpbGFibGUpLCBbMSwgMiwgMywgNCwgNSwgNiwgN10KKyAgICAgICAg
ICAgICkKKworICAgICAgICAgICAgIyB0aGUgY2xpZW50IGNoYW5nZXMgY29ubmVjdGlvbiBJRAor
ICAgICAgICAgICAgY2xpZW50LmNoYW5nZV9jb25uZWN0aW9uX2lkKCkKKyAgICAgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwodHJhbnNmZXIoY2xpZW50LCBzZXJ2ZXIpLCAxKQorICAgICAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgICAgICBzZXF1ZW5jZV9udW1iZXJzKGNsaWVu
dC5fcGVlcl9jaWRfYXZhaWxhYmxlKSwgWzIsIDMsIDQsIDUsIDYsIDddCisgICAgICAgICAgICAp
CisKKyAgICAgICAgICAgICMgdGhlIHNlcnZlciBwcm92aWRlcyBhIG5ldyBjb25uZWN0aW9uIElE
LCBORVdfQ09OTkVDVElPTl9JRCBpcyBsb3N0CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KGRyb3Aoc2VydmVyKSwgMSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAg
ICAgICAgICAgc2VxdWVuY2VfbnVtYmVycyhjbGllbnQuX3BlZXJfY2lkX2F2YWlsYWJsZSksIFsy
LCAzLCA0LCA1LCA2LCA3XQorICAgICAgICAgICAgKQorCisgICAgICAgICAgICAjIE5FV19DT05O
RUNUSU9OX0lEIGlzIHJldHJhbnNtaXR0ZWQKKyAgICAgICAgICAgIHNlcnZlci5fb25fbmV3X2Nv
bm5lY3Rpb25faWRfZGVsaXZlcnkoCisgICAgICAgICAgICAgICAgUXVpY0RlbGl2ZXJ5U3RhdGUu
TE9TVCwgc2VydmVyLl9ob3N0X2NpZHNbLTFdCisgICAgICAgICAgICApCisgICAgICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKHRyYW5zZmVyKHNlcnZlciwgY2xpZW50KSwgMSkKKyAgICAgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICAgICAgc2VxdWVuY2VfbnVtYmVycyhjbGll
bnQuX3BlZXJfY2lkX2F2YWlsYWJsZSksIFsyLCAzLCA0LCA1LCA2LCA3LCA4XQorICAgICAgICAg
ICAgKQorCisgICAgZGVmIHRlc3RfY2hhbmdlX2Nvbm5lY3Rpb25faWRfcmV0cmFuc21pdF9yZXRp
cmVfY29ubmVjdGlvbl9pZChzZWxmKToKKyAgICAgICAgd2l0aCBjbGllbnRfYW5kX3NlcnZlcigp
IGFzIChjbGllbnQsIHNlcnZlcik6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAg
ICAgICAgICAgICAgIHNlcXVlbmNlX251bWJlcnMoY2xpZW50Ll9wZWVyX2NpZF9hdmFpbGFibGUp
LCBbMSwgMiwgMywgNCwgNSwgNiwgN10KKyAgICAgICAgICAgICkKKworICAgICAgICAgICAgIyB0
aGUgY2xpZW50IGNoYW5nZXMgY29ubmVjdGlvbiBJRCwgUkVUSVJFX0NPTk5FQ1RJT05fSUQgaXMg
bG9zdAorICAgICAgICAgICAgY2xpZW50LmNoYW5nZV9jb25uZWN0aW9uX2lkKCkKKyAgICAgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoZHJvcChjbGllbnQpLCAxKQorICAgICAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbCgKKyAgICAgICAgICAgICAgICBzZXF1ZW5jZV9udW1iZXJzKGNsaWVudC5fcGVl
cl9jaWRfYXZhaWxhYmxlKSwgWzIsIDMsIDQsIDUsIDYsIDddCisgICAgICAgICAgICApCisKKyAg
ICAgICAgICAgICMgUkVUSVJFX0NPTk5FQ1RJT05fSUQgaXMgcmV0cmFuc21pdHRlZAorICAgICAg
ICAgICAgY2xpZW50Ll9vbl9yZXRpcmVfY29ubmVjdGlvbl9pZF9kZWxpdmVyeShRdWljRGVsaXZl
cnlTdGF0ZS5MT1NULCAwKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0cmFuc2Zlcihj
bGllbnQsIHNlcnZlciksIDEpCisKKyAgICAgICAgICAgICMgdGhlIHNlcnZlciBwcm92aWRlcyBh
IG5ldyBjb25uZWN0aW9uIElECisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRyYW5zZmVy
KHNlcnZlciwgY2xpZW50KSwgMSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAg
ICAgICAgICAgICAgc2VxdWVuY2VfbnVtYmVycyhjbGllbnQuX3BlZXJfY2lkX2F2YWlsYWJsZSks
IFsyLCAzLCA0LCA1LCA2LCA3LCA4XQorICAgICAgICAgICAgKQorCisgICAgZGVmIHRlc3RfZ2V0
X25leHRfYXZhaWxhYmxlX3N0cmVhbV9pZChzZWxmKToKKyAgICAgICAgd2l0aCBjbGllbnRfYW5k
X3NlcnZlcigpIGFzIChjbGllbnQsIHNlcnZlcik6CisgICAgICAgICAgICAjIGNsaWVudAorICAg
ICAgICAgICAgc3RyZWFtX2lkID0gY2xpZW50LmdldF9uZXh0X2F2YWlsYWJsZV9zdHJlYW1faWQo
KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHJlYW1faWQsIDApCisgICAgICAgICAg
ICBjbGllbnQuc2VuZF9zdHJlYW1fZGF0YShzdHJlYW1faWQsIGIiaGVsbG8iKQorCisgICAgICAg
ICAgICBzdHJlYW1faWQgPSBjbGllbnQuZ2V0X25leHRfYXZhaWxhYmxlX3N0cmVhbV9pZCgpCisg
ICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cmVhbV9pZCwgNCkKKyAgICAgICAgICAgIGNs
aWVudC5zZW5kX3N0cmVhbV9kYXRhKHN0cmVhbV9pZCwgYiJoZWxsbyIpCisKKyAgICAgICAgICAg
IHN0cmVhbV9pZCA9IGNsaWVudC5nZXRfbmV4dF9hdmFpbGFibGVfc3RyZWFtX2lkKGlzX3VuaWRp
cmVjdGlvbmFsPVRydWUpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cmVhbV9pZCwg
MikKKyAgICAgICAgICAgIGNsaWVudC5zZW5kX3N0cmVhbV9kYXRhKHN0cmVhbV9pZCwgYiJoZWxs
byIpCisKKyAgICAgICAgICAgIHN0cmVhbV9pZCA9IGNsaWVudC5nZXRfbmV4dF9hdmFpbGFibGVf
c3RyZWFtX2lkKGlzX3VuaWRpcmVjdGlvbmFsPVRydWUpCisgICAgICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKHN0cmVhbV9pZCwgNikKKyAgICAgICAgICAgIGNsaWVudC5zZW5kX3N0cmVhbV9kYXRh
KHN0cmVhbV9pZCwgYiJoZWxsbyIpCisKKyAgICAgICAgICAgICMgc2VydmVyCisgICAgICAgICAg
ICBzdHJlYW1faWQgPSBzZXJ2ZXIuZ2V0X25leHRfYXZhaWxhYmxlX3N0cmVhbV9pZCgpCisgICAg
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cmVhbV9pZCwgMSkKKyAgICAgICAgICAgIHNlcnZl
ci5zZW5kX3N0cmVhbV9kYXRhKHN0cmVhbV9pZCwgYiJoZWxsbyIpCisKKyAgICAgICAgICAgIHN0
cmVhbV9pZCA9IHNlcnZlci5nZXRfbmV4dF9hdmFpbGFibGVfc3RyZWFtX2lkKCkKKyAgICAgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyZWFtX2lkLCA1KQorICAgICAgICAgICAgc2VydmVyLnNl
bmRfc3RyZWFtX2RhdGEoc3RyZWFtX2lkLCBiImhlbGxvIikKKworICAgICAgICAgICAgc3RyZWFt
X2lkID0gc2VydmVyLmdldF9uZXh0X2F2YWlsYWJsZV9zdHJlYW1faWQoaXNfdW5pZGlyZWN0aW9u
YWw9VHJ1ZSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyZWFtX2lkLCAzKQorICAg
ICAgICAgICAgc2VydmVyLnNlbmRfc3RyZWFtX2RhdGEoc3RyZWFtX2lkLCBiImhlbGxvIikKKwor
ICAgICAgICAgICAgc3RyZWFtX2lkID0gc2VydmVyLmdldF9uZXh0X2F2YWlsYWJsZV9zdHJlYW1f
aWQoaXNfdW5pZGlyZWN0aW9uYWw9VHJ1ZSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
c3RyZWFtX2lkLCA3KQorICAgICAgICAgICAgc2VydmVyLnNlbmRfc3RyZWFtX2RhdGEoc3RyZWFt
X2lkLCBiImhlbGxvIikKKworICAgIGRlZiB0ZXN0X2RhdGFncmFtX2ZyYW1lKHNlbGYpOgorICAg
ICAgICB3aXRoIGNsaWVudF9hbmRfc2VydmVyKAorICAgICAgICAgICAgY2xpZW50X29wdGlvbnM9
eyJtYXhfZGF0YWdyYW1fZnJhbWVfc2l6ZSI6IDY1NTM2fSwKKyAgICAgICAgICAgIHNlcnZlcl9v
cHRpb25zPXsibWF4X2RhdGFncmFtX2ZyYW1lX3NpemUiOiA2NTUzNn0sCisgICAgICAgICkgYXMg
KGNsaWVudCwgc2VydmVyKToKKyAgICAgICAgICAgICMgY2hlY2sgaGFuZHNoYWtlIGNvbXBsZXRl
ZAorICAgICAgICAgICAgc2VsZi5jaGVja19oYW5kc2hha2UoY2xpZW50PWNsaWVudCwgc2VydmVy
PXNlcnZlciwgYWxwbl9wcm90b2NvbD1Ob25lKQorCisgICAgICAgICAgICAjIHNlbmQgZGF0YWdy
YW0KKyAgICAgICAgICAgIGNsaWVudC5zZW5kX2RhdGFncmFtX2ZyYW1lKGIiaGVsbG8iKQorICAg
ICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0cmFuc2ZlcihjbGllbnQsIHNlcnZlciksIDEpCisK
KyAgICAgICAgICAgIGV2ZW50ID0gc2VydmVyLm5leHRfZXZlbnQoKQorICAgICAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbCh0eXBlKGV2ZW50KSwgZXZlbnRzLkRhdGFncmFtRnJhbWVSZWNlaXZlZCkK
KyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXZlbnQuZGF0YSwgYiJoZWxsbyIpCisKKyAg
ICBkZWYgdGVzdF9kYXRhZ3JhbV9mcmFtZV8yKHNlbGYpOgorICAgICAgICAjIHBheWxvYWQgd2hp
Y2ggZXhhY3RseSBmaWxscyBhbiBlbnRpcmUgcGFja2V0CisgICAgICAgIHBheWxvYWQgPSBiIloi
ICogMTI1MAorCisgICAgICAgIHdpdGggY2xpZW50X2FuZF9zZXJ2ZXIoCisgICAgICAgICAgICBj
bGllbnRfb3B0aW9ucz17Im1heF9kYXRhZ3JhbV9mcmFtZV9zaXplIjogNjU1MzZ9LAorICAgICAg
ICAgICAgc2VydmVyX29wdGlvbnM9eyJtYXhfZGF0YWdyYW1fZnJhbWVfc2l6ZSI6IDY1NTM2fSwK
KyAgICAgICAgKSBhcyAoY2xpZW50LCBzZXJ2ZXIpOgorICAgICAgICAgICAgIyBjaGVjayBoYW5k
c2hha2UgY29tcGxldGVkCisgICAgICAgICAgICBzZWxmLmNoZWNrX2hhbmRzaGFrZShjbGllbnQ9
Y2xpZW50LCBzZXJ2ZXI9c2VydmVyLCBhbHBuX3Byb3RvY29sPU5vbmUpCisKKyAgICAgICAgICAg
ICMgcXVldWUgMjAgZGF0YWdyYW1zCisgICAgICAgICAgICBmb3IgaSBpbiByYW5nZSgyMCk6Cisg
ICAgICAgICAgICAgICAgY2xpZW50LnNlbmRfZGF0YWdyYW1fZnJhbWUocGF5bG9hZCkKKworICAg
ICAgICAgICAgIyBjbGllbnQgY2FuIG9ubHkgMTEgZGF0YWdyYW1zIGFyZSBzZW50IGR1ZSB0byBj
b25nZXN0aW9uIGNvbnRyb2wKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodHJhbnNmZXIo
Y2xpZW50LCBzZXJ2ZXIpLCAxMSkKKyAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKDExKToKKyAg
ICAgICAgICAgICAgICBldmVudCA9IHNlcnZlci5uZXh0X2V2ZW50KCkKKyAgICAgICAgICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKHR5cGUoZXZlbnQpLCBldmVudHMuRGF0YWdyYW1GcmFtZVJlY2Vp
dmVkKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXZlbnQuZGF0YSwgcGF5bG9h
ZCkKKworICAgICAgICAgICAgIyBzZXJ2ZXIgc2VuZHMgQUNLCisgICAgICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKHRyYW5zZmVyKHNlcnZlciwgY2xpZW50KSwgMSkKKworICAgICAgICAgICAgIyBj
bGllbnQgc2VuZHMgcmVtYWluaW5nIGRhdGFncmFtcworICAgICAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbCh0cmFuc2ZlcihjbGllbnQsIHNlcnZlciksIDkpCisgICAgICAgICAgICBmb3IgaSBpbiBy
YW5nZSg5KToKKyAgICAgICAgICAgICAgICBldmVudCA9IHNlcnZlci5uZXh0X2V2ZW50KCkKKyAg
ICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHR5cGUoZXZlbnQpLCBldmVudHMuRGF0YWdy
YW1GcmFtZVJlY2VpdmVkKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXZlbnQu
ZGF0YSwgcGF5bG9hZCkKKworICAgIGRlZiB0ZXN0X2RlY3J5cHRpb25fZXJyb3Ioc2VsZik6Cisg
ICAgICAgIHdpdGggY2xpZW50X2FuZF9zZXJ2ZXIoKSBhcyAoY2xpZW50LCBzZXJ2ZXIpOgorICAg
ICAgICAgICAgIyBtZXNzIHdpdGggZW5jcnlwdGlvbiBrZXkKKyAgICAgICAgICAgIHNlcnZlci5f
Y3J5cHRvc1t0bHMuRXBvY2guT05FX1JUVF0uc2VuZC5zZXR1cCgKKyAgICAgICAgICAgICAgICBj
aXBoZXJfc3VpdGU9dGxzLkNpcGhlclN1aXRlLkFFU18xMjhfR0NNX1NIQTI1NiwKKyAgICAgICAg
ICAgICAgICBzZWNyZXQ9Ynl0ZXMoNDgpLAorICAgICAgICAgICAgICAgIHZlcnNpb249c2VydmVy
Ll92ZXJzaW9uLAorICAgICAgICAgICAgKQorCisgICAgICAgICAgICAjIHNlcnZlciBzZW5kcyBj
bG9zZQorICAgICAgICAgICAgc2VydmVyLmNsb3NlKGVycm9yX2NvZGU9UXVpY0Vycm9yQ29kZS5O
T19FUlJPUikKKyAgICAgICAgICAgIGZvciBkYXRhLCBhZGRyIGluIHNlcnZlci5kYXRhZ3JhbXNf
dG9fc2VuZChub3c9dGltZS50aW1lKCkpOgorICAgICAgICAgICAgICAgIGNsaWVudC5yZWNlaXZl
X2RhdGFncmFtKGRhdGEsIFNFUlZFUl9BRERSLCBub3c9dGltZS50aW1lKCkpCisKKyAgICBkZWYg
dGVzdF90bHNfZXJyb3Ioc2VsZik6CisgICAgICAgIGRlZiBwYXRjaChjbGllbnQpOgorICAgICAg
ICAgICAgcmVhbF9pbml0aWFsaXplID0gY2xpZW50Ll9pbml0aWFsaXplCisKKyAgICAgICAgICAg
IGRlZiBwYXRjaGVkX2luaXRpYWxpemUocGVlcl9jaWQ6IGJ5dGVzKToKKyAgICAgICAgICAgICAg
ICByZWFsX2luaXRpYWxpemUocGVlcl9jaWQpCisgICAgICAgICAgICAgICAgY2xpZW50LnRscy5f
c3VwcG9ydGVkX3ZlcnNpb25zID0gW3Rscy5UTFNfVkVSU0lPTl8xXzNfRFJBRlRfMjhdCisKKyAg
ICAgICAgICAgIGNsaWVudC5faW5pdGlhbGl6ZSA9IHBhdGNoZWRfaW5pdGlhbGl6ZQorCisgICAg
ICAgICMgaGFuZHNoYWtlIGZhaWxzCisgICAgICAgIHdpdGggY2xpZW50X2FuZF9zZXJ2ZXIoY2xp
ZW50X3BhdGNoPXBhdGNoKSBhcyAoY2xpZW50LCBzZXJ2ZXIpOgorICAgICAgICAgICAgdGltZXJf
YXQgPSBzZXJ2ZXIuZ2V0X3RpbWVyKCkKKyAgICAgICAgICAgIHNlcnZlci5oYW5kbGVfdGltZXIo
dGltZXJfYXQpCisKKyAgICAgICAgICAgIGV2ZW50ID0gc2VydmVyLm5leHRfZXZlbnQoKQorICAg
ICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0eXBlKGV2ZW50KSwgZXZlbnRzLkNvbm5lY3Rpb25U
ZXJtaW5hdGVkKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChldmVudC5lcnJvcl9jb2Rl
LCAzMjYpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV2ZW50LmZyYW1lX3R5cGUsIFF1
aWNGcmFtZVR5cGUuQ1JZUFRPKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChldmVudC5y
ZWFzb25fcGhyYXNlLCAiTm8gc3VwcG9ydGVkIHByb3RvY29sIHZlcnNpb24iKQorCisgICAgZGVm
IHRlc3RfcmVjZWl2ZV9kYXRhZ3JhbV9nYXJiYWdlKHNlbGYpOgorICAgICAgICBjbGllbnQgPSBj
cmVhdGVfc3RhbmRhbG9uZV9jbGllbnQoc2VsZikKKworICAgICAgICBkYXRhZ3JhbSA9IGJpbmFz
Y2lpLnVuaGV4bGlmeSgiYzAwMDAwMDAwMDgwIikKKyAgICAgICAgY2xpZW50LnJlY2VpdmVfZGF0
YWdyYW0oZGF0YWdyYW0sIFNFUlZFUl9BRERSLCBub3c9dGltZS50aW1lKCkpCisKKyAgICBkZWYg
dGVzdF9yZWNlaXZlX2RhdGFncmFtX3Jlc2VydmVkX2JpdHNfbm9uX3plcm8oc2VsZik6CisgICAg
ICAgIGNsaWVudCA9IGNyZWF0ZV9zdGFuZGFsb25lX2NsaWVudChzZWxmKQorCisgICAgICAgIGJ1
aWxkZXIgPSBRdWljUGFja2V0QnVpbGRlcigKKyAgICAgICAgICAgIGhvc3RfY2lkPWNsaWVudC5f
cGVlcl9jaWQsCisgICAgICAgICAgICBpc19jbGllbnQ9RmFsc2UsCisgICAgICAgICAgICBwZWVy
X2NpZD1jbGllbnQuaG9zdF9jaWQsCisgICAgICAgICAgICB2ZXJzaW9uPWNsaWVudC5fdmVyc2lv
biwKKyAgICAgICAgKQorICAgICAgICBjcnlwdG8gPSBDcnlwdG9QYWlyKCkKKyAgICAgICAgY3J5
cHRvLnNldHVwX2luaXRpYWwoY2xpZW50Ll9wZWVyX2NpZCwgaXNfY2xpZW50PUZhbHNlLCB2ZXJz
aW9uPWNsaWVudC5fdmVyc2lvbikKKyAgICAgICAgY3J5cHRvLmVuY3J5cHRfcGFja2V0X3JlYWwg
PSBjcnlwdG8uZW5jcnlwdF9wYWNrZXQKKworICAgICAgICBkZWYgZW5jcnlwdF9wYWNrZXQocGxh
aW5faGVhZGVyLCBwbGFpbl9wYXlsb2FkLCBwYWNrZXRfbnVtYmVyKToKKyAgICAgICAgICAgICMg
bWVzcyB3aXRoIHJlc2VydmVkIGJpdHMKKyAgICAgICAgICAgIHBsYWluX2hlYWRlciA9IGJ5dGVz
KFtwbGFpbl9oZWFkZXJbMF0gfCAweDBDXSkgKyBwbGFpbl9oZWFkZXJbMTpdCisgICAgICAgICAg
ICByZXR1cm4gY3J5cHRvLmVuY3J5cHRfcGFja2V0X3JlYWwoCisgICAgICAgICAgICAgICAgcGxh
aW5faGVhZGVyLCBwbGFpbl9wYXlsb2FkLCBwYWNrZXRfbnVtYmVyCisgICAgICAgICAgICApCisK
KyAgICAgICAgY3J5cHRvLmVuY3J5cHRfcGFja2V0ID0gZW5jcnlwdF9wYWNrZXQKKworICAgICAg
ICBidWlsZGVyLnN0YXJ0X3BhY2tldChQQUNLRVRfVFlQRV9JTklUSUFMLCBjcnlwdG8pCisgICAg
ICAgIGJ1ZiA9IGJ1aWxkZXIuc3RhcnRfZnJhbWUoUXVpY0ZyYW1lVHlwZS5QQURESU5HKQorICAg
ICAgICBidWYucHVzaF9ieXRlcyhieXRlcyhidWlsZGVyLnJlbWFpbmluZ19mbGlnaHRfc3BhY2Up
KQorCisgICAgICAgIGZvciBkYXRhZ3JhbSBpbiBidWlsZGVyLmZsdXNoKClbMF06CisgICAgICAg
ICAgICBjbGllbnQucmVjZWl2ZV9kYXRhZ3JhbShkYXRhZ3JhbSwgU0VSVkVSX0FERFIsIG5vdz10
aW1lLnRpbWUoKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkcm9wKGNsaWVudCksIDEpCisg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBjbGllbnQuX2Nsb3NlX2V2ZW50
LAorICAgICAgICAgICAgZXZlbnRzLkNvbm5lY3Rpb25UZXJtaW5hdGVkKAorICAgICAgICAgICAg
ICAgIGVycm9yX2NvZGU9UXVpY0Vycm9yQ29kZS5QUk9UT0NPTF9WSU9MQVRJT04sCisgICAgICAg
ICAgICAgICAgZnJhbWVfdHlwZT1Ob25lLAorICAgICAgICAgICAgICAgIHJlYXNvbl9waHJhc2U9
IlJlc2VydmVkIGJpdHMgbXVzdCBiZSB6ZXJvIiwKKyAgICAgICAgICAgICksCisgICAgICAgICkK
KworICAgIGRlZiB0ZXN0X3JlY2VpdmVfZGF0YWdyYW1fd3JvbmdfdmVyc2lvbihzZWxmKToKKyAg
ICAgICAgY2xpZW50ID0gY3JlYXRlX3N0YW5kYWxvbmVfY2xpZW50KHNlbGYpCisKKyAgICAgICAg
YnVpbGRlciA9IFF1aWNQYWNrZXRCdWlsZGVyKAorICAgICAgICAgICAgaG9zdF9jaWQ9Y2xpZW50
Ll9wZWVyX2NpZCwKKyAgICAgICAgICAgIGlzX2NsaWVudD1GYWxzZSwKKyAgICAgICAgICAgIHBl
ZXJfY2lkPWNsaWVudC5ob3N0X2NpZCwKKyAgICAgICAgICAgIHZlcnNpb249MHhGRjAwMDAxMSwg
ICMgRFJBRlRfMTYKKyAgICAgICAgKQorICAgICAgICBjcnlwdG8gPSBDcnlwdG9QYWlyKCkKKyAg
ICAgICAgY3J5cHRvLnNldHVwX2luaXRpYWwoY2xpZW50Ll9wZWVyX2NpZCwgaXNfY2xpZW50PUZh
bHNlLCB2ZXJzaW9uPWNsaWVudC5fdmVyc2lvbikKKyAgICAgICAgYnVpbGRlci5zdGFydF9wYWNr
ZXQoUEFDS0VUX1RZUEVfSU5JVElBTCwgY3J5cHRvKQorICAgICAgICBidWYgPSBidWlsZGVyLnN0
YXJ0X2ZyYW1lKFF1aWNGcmFtZVR5cGUuUEFERElORykKKyAgICAgICAgYnVmLnB1c2hfYnl0ZXMo
Ynl0ZXMoYnVpbGRlci5yZW1haW5pbmdfZmxpZ2h0X3NwYWNlKSkKKworICAgICAgICBmb3IgZGF0
YWdyYW0gaW4gYnVpbGRlci5mbHVzaCgpWzBdOgorICAgICAgICAgICAgY2xpZW50LnJlY2VpdmVf
ZGF0YWdyYW0oZGF0YWdyYW0sIFNFUlZFUl9BRERSLCBub3c9dGltZS50aW1lKCkpCisgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwoZHJvcChjbGllbnQpLCAwKQorCisgICAgZGVmIHRlc3RfcmVjZWl2
ZV9kYXRhZ3JhbV9yZXRyeShzZWxmKToKKyAgICAgICAgY2xpZW50ID0gY3JlYXRlX3N0YW5kYWxv
bmVfY2xpZW50KHNlbGYpCisKKyAgICAgICAgY2xpZW50LnJlY2VpdmVfZGF0YWdyYW0oCisgICAg
ICAgICAgICBlbmNvZGVfcXVpY19yZXRyeSgKKyAgICAgICAgICAgICAgICB2ZXJzaW9uPWNsaWVu
dC5fdmVyc2lvbiwKKyAgICAgICAgICAgICAgICBzb3VyY2VfY2lkPWJpbmFzY2lpLnVuaGV4bGlm
eSgiODVhYmI1NDdiZjI4YmU5NyIpLAorICAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uX2NpZD1j
bGllbnQuaG9zdF9jaWQsCisgICAgICAgICAgICAgICAgb3JpZ2luYWxfZGVzdGluYXRpb25fY2lk
PWNsaWVudC5fcGVlcl9jaWQsCisgICAgICAgICAgICAgICAgcmV0cnlfdG9rZW49Ynl0ZXMoMTYp
LAorICAgICAgICAgICAgKSwKKyAgICAgICAgICAgIFNFUlZFUl9BRERSLAorICAgICAgICAgICAg
bm93PXRpbWUudGltZSgpLAorICAgICAgICApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZHJv
cChjbGllbnQpLCAxKQorCisgICAgZGVmIHRlc3RfcmVjZWl2ZV9kYXRhZ3JhbV9yZXRyeV93cm9u
Z19kZXN0aW5hdGlvbl9jaWQoc2VsZik6CisgICAgICAgIGNsaWVudCA9IGNyZWF0ZV9zdGFuZGFs
b25lX2NsaWVudChzZWxmKQorCisgICAgICAgIGNsaWVudC5yZWNlaXZlX2RhdGFncmFtKAorICAg
ICAgICAgICAgZW5jb2RlX3F1aWNfcmV0cnkoCisgICAgICAgICAgICAgICAgdmVyc2lvbj1jbGll
bnQuX3ZlcnNpb24sCisgICAgICAgICAgICAgICAgc291cmNlX2NpZD1iaW5hc2NpaS51bmhleGxp
ZnkoIjg1YWJiNTQ3YmYyOGJlOTciKSwKKyAgICAgICAgICAgICAgICBkZXN0aW5hdGlvbl9jaWQ9
YmluYXNjaWkudW5oZXhsaWZ5KCJjOTgzNDNmZThmNWYwZmY0IiksCisgICAgICAgICAgICAgICAg
b3JpZ2luYWxfZGVzdGluYXRpb25fY2lkPWNsaWVudC5fcGVlcl9jaWQsCisgICAgICAgICAgICAg
ICAgcmV0cnlfdG9rZW49Ynl0ZXMoMTYpLAorICAgICAgICAgICAgKSwKKyAgICAgICAgICAgIFNF
UlZFUl9BRERSLAorICAgICAgICAgICAgbm93PXRpbWUudGltZSgpLAorICAgICAgICApCisgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoZHJvcChjbGllbnQpLCAwKQorCisgICAgZGVmIHRlc3RfaGFu
ZGxlX2Fja19mcmFtZV9lY24oc2VsZik6CisgICAgICAgIGNsaWVudCA9IGNyZWF0ZV9zdGFuZGFs
b25lX2NsaWVudChzZWxmKQorCisgICAgICAgIGNsaWVudC5faGFuZGxlX2Fja19mcmFtZSgKKyAg
ICAgICAgICAgIGNsaWVudF9yZWNlaXZlX2NvbnRleHQoY2xpZW50KSwKKyAgICAgICAgICAgIFF1
aWNGcmFtZVR5cGUuQUNLX0VDTiwKKyAgICAgICAgICAgIEJ1ZmZlcihkYXRhPWIiXHgwMFx4MDJc
eDAwXHgwMFx4MDBceDAwXHgwMCIpLAorICAgICAgICApCisKKyAgICBkZWYgdGVzdF9oYW5kbGVf
Y29ubmVjdGlvbl9jbG9zZV9mcmFtZShzZWxmKToKKyAgICAgICAgd2l0aCBjbGllbnRfYW5kX3Nl
cnZlcigpIGFzIChjbGllbnQsIHNlcnZlcik6CisgICAgICAgICAgICBzZXJ2ZXIuY2xvc2UoCisg
ICAgICAgICAgICAgICAgZXJyb3JfY29kZT1RdWljRXJyb3JDb2RlLlBST1RPQ09MX1ZJT0xBVElP
TiwKKyAgICAgICAgICAgICAgICBmcmFtZV90eXBlPVF1aWNGcmFtZVR5cGUuQUNLLAorICAgICAg
ICAgICAgICAgIHJlYXNvbl9waHJhc2U9ImlsbGVnYWwgQUNLIGZyYW1lIiwKKyAgICAgICAgICAg
ICkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocm91bmR0cmlwKHNlcnZlciwgY2xpZW50
KSwgKDEsIDApKQorCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAg
ICAgIGNsaWVudC5fY2xvc2VfZXZlbnQsCisgICAgICAgICAgICAgICAgZXZlbnRzLkNvbm5lY3Rp
b25UZXJtaW5hdGVkKAorICAgICAgICAgICAgICAgICAgICBlcnJvcl9jb2RlPVF1aWNFcnJvckNv
ZGUuUFJPVE9DT0xfVklPTEFUSU9OLAorICAgICAgICAgICAgICAgICAgICBmcmFtZV90eXBlPVF1
aWNGcmFtZVR5cGUuQUNLLAorICAgICAgICAgICAgICAgICAgICByZWFzb25fcGhyYXNlPSJpbGxl
Z2FsIEFDSyBmcmFtZSIsCisgICAgICAgICAgICAgICAgKSwKKyAgICAgICAgICAgICkKKworICAg
IGRlZiB0ZXN0X2hhbmRsZV9jb25uZWN0aW9uX2Nsb3NlX2ZyYW1lX2FwcChzZWxmKToKKyAgICAg
ICAgd2l0aCBjbGllbnRfYW5kX3NlcnZlcigpIGFzIChjbGllbnQsIHNlcnZlcik6CisgICAgICAg
ICAgICBzZXJ2ZXIuY2xvc2UoZXJyb3JfY29kZT1RdWljRXJyb3JDb2RlLk5PX0VSUk9SLCByZWFz
b25fcGhyYXNlPSJnb29kYnllIikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocm91bmR0
cmlwKHNlcnZlciwgY2xpZW50KSwgKDEsIDApKQorCisgICAgICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKAorICAgICAgICAgICAgICAgIGNsaWVudC5fY2xvc2VfZXZlbnQsCisgICAgICAgICAgICAg
ICAgZXZlbnRzLkNvbm5lY3Rpb25UZXJtaW5hdGVkKAorICAgICAgICAgICAgICAgICAgICBlcnJv
cl9jb2RlPVF1aWNFcnJvckNvZGUuTk9fRVJST1IsCisgICAgICAgICAgICAgICAgICAgIGZyYW1l
X3R5cGU9Tm9uZSwKKyAgICAgICAgICAgICAgICAgICAgcmVhc29uX3BocmFzZT0iZ29vZGJ5ZSIs
CisgICAgICAgICAgICAgICAgKSwKKyAgICAgICAgICAgICkKKworICAgIGRlZiB0ZXN0X2hhbmRs
ZV9jb25uZWN0aW9uX2Nsb3NlX2ZyYW1lX2FwcF9ub3RfdXRmOChzZWxmKToKKyAgICAgICAgY2xp
ZW50ID0gY3JlYXRlX3N0YW5kYWxvbmVfY2xpZW50KHNlbGYpCisKKyAgICAgICAgY2xpZW50Ll9o
YW5kbGVfY29ubmVjdGlvbl9jbG9zZV9mcmFtZSgKKyAgICAgICAgICAgIGNsaWVudF9yZWNlaXZl
X2NvbnRleHQoY2xpZW50KSwKKyAgICAgICAgICAgIFF1aWNGcmFtZVR5cGUuQVBQTElDQVRJT05f
Q0xPU0UsCisgICAgICAgICAgICBCdWZmZXIoZGF0YT1iaW5hc2NpaS51bmhleGxpZnkoIjAwMDg2
NzZmNmY2NDYyNzk4MjAwIikpLAorICAgICAgICApCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bCgKKyAgICAgICAgICAgIGNsaWVudC5fY2xvc2VfZXZlbnQsCisgICAgICAgICAgICBldmVudHMu
Q29ubmVjdGlvblRlcm1pbmF0ZWQoCisgICAgICAgICAgICAgICAgZXJyb3JfY29kZT1RdWljRXJy
b3JDb2RlLk5PX0VSUk9SLCBmcmFtZV90eXBlPU5vbmUsIHJlYXNvbl9waHJhc2U9IiIsCisgICAg
ICAgICAgICApLAorICAgICAgICApCisKKyAgICBkZWYgdGVzdF9oYW5kbGVfY3J5cHRvX2ZyYW1l
X292ZXJfbGFyZ2VzdF9vZmZzZXQoc2VsZik6CisgICAgICAgIHdpdGggY2xpZW50X2FuZF9zZXJ2
ZXIoKSBhcyAoY2xpZW50LCBzZXJ2ZXIpOgorICAgICAgICAgICAgIyBjbGllbnQgcmVjZWl2ZXMg
b2Zmc2V0ICsgbGVuZ3RoID4gMl42MiAtIDEKKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRS
YWlzZXMoUXVpY0Nvbm5lY3Rpb25FcnJvcikgYXMgY206CisgICAgICAgICAgICAgICAgY2xpZW50
Ll9oYW5kbGVfY3J5cHRvX2ZyYW1lKAorICAgICAgICAgICAgICAgICAgICBjbGllbnRfcmVjZWl2
ZV9jb250ZXh0KGNsaWVudCksCisgICAgICAgICAgICAgICAgICAgIFF1aWNGcmFtZVR5cGUuQ1JZ
UFRPLAorICAgICAgICAgICAgICAgICAgICBCdWZmZXIoZGF0YT1lbmNvZGVfdWludF92YXIoVUlO
VF9WQVJfTUFYKSArIGVuY29kZV91aW50X3ZhcigxKSksCisgICAgICAgICAgICAgICAgKQorICAg
ICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgICAgICBjbS5leGNlcHRpb24u
ZXJyb3JfY29kZSwgUXVpY0Vycm9yQ29kZS5GUkFNRV9FTkNPRElOR19FUlJPUgorICAgICAgICAg
ICAgKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbS5leGNlcHRpb24uZnJhbWVfdHlw
ZSwgUXVpY0ZyYW1lVHlwZS5DUllQVE8pCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAor
ICAgICAgICAgICAgICAgIGNtLmV4Y2VwdGlvbi5yZWFzb25fcGhyYXNlLCAib2Zmc2V0ICsgbGVu
Z3RoIGNhbm5vdCBleGNlZWQgMl42MiAtIDEiCisgICAgICAgICAgICApCisKKyAgICBkZWYgdGVz
dF9oYW5kbGVfZGF0YV9ibG9ja2VkX2ZyYW1lKHNlbGYpOgorICAgICAgICB3aXRoIGNsaWVudF9h
bmRfc2VydmVyKCkgYXMgKGNsaWVudCwgc2VydmVyKToKKyAgICAgICAgICAgICMgY2xpZW50IHJl
Y2VpdmVzIERBVEFfQkxPQ0tFRDogMTIzNDUKKyAgICAgICAgICAgIGNsaWVudC5faGFuZGxlX2Rh
dGFfYmxvY2tlZF9mcmFtZSgKKyAgICAgICAgICAgICAgICBjbGllbnRfcmVjZWl2ZV9jb250ZXh0
KGNsaWVudCksCisgICAgICAgICAgICAgICAgUXVpY0ZyYW1lVHlwZS5EQVRBX0JMT0NLRUQsCisg
ICAgICAgICAgICAgICAgQnVmZmVyKGRhdGE9ZW5jb2RlX3VpbnRfdmFyKDEyMzQ1KSksCisgICAg
ICAgICAgICApCisKKyAgICBkZWYgdGVzdF9oYW5kbGVfZGF0YWdyYW1fZnJhbWUoc2VsZik6Cisg
ICAgICAgIGNsaWVudCA9IGNyZWF0ZV9zdGFuZGFsb25lX2NsaWVudChzZWxmLCBtYXhfZGF0YWdy
YW1fZnJhbWVfc2l6ZT02KQorCisgICAgICAgIGNsaWVudC5faGFuZGxlX2RhdGFncmFtX2ZyYW1l
KAorICAgICAgICAgICAgY2xpZW50X3JlY2VpdmVfY29udGV4dChjbGllbnQpLAorICAgICAgICAg
ICAgUXVpY0ZyYW1lVHlwZS5EQVRBR1JBTSwKKyAgICAgICAgICAgIEJ1ZmZlcihkYXRhPWIiaGVs
bG8iKSwKKyAgICAgICAgKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAg
ICBjbGllbnQubmV4dF9ldmVudCgpLCBldmVudHMuRGF0YWdyYW1GcmFtZVJlY2VpdmVkKGRhdGE9
YiJoZWxsbyIpCisgICAgICAgICkKKworICAgIGRlZiB0ZXN0X2hhbmRsZV9kYXRhZ3JhbV9mcmFt
ZV9ub3RfYWxsb3dlZChzZWxmKToKKyAgICAgICAgY2xpZW50ID0gY3JlYXRlX3N0YW5kYWxvbmVf
Y2xpZW50KHNlbGYsIG1heF9kYXRhZ3JhbV9mcmFtZV9zaXplPU5vbmUpCisKKyAgICAgICAgd2l0
aCBzZWxmLmFzc2VydFJhaXNlcyhRdWljQ29ubmVjdGlvbkVycm9yKSBhcyBjbToKKyAgICAgICAg
ICAgIGNsaWVudC5faGFuZGxlX2RhdGFncmFtX2ZyYW1lKAorICAgICAgICAgICAgICAgIGNsaWVu
dF9yZWNlaXZlX2NvbnRleHQoY2xpZW50KSwKKyAgICAgICAgICAgICAgICBRdWljRnJhbWVUeXBl
LkRBVEFHUkFNLAorICAgICAgICAgICAgICAgIEJ1ZmZlcihkYXRhPWIiaGVsbG8iKSwKKyAgICAg
ICAgICAgICkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbS5leGNlcHRpb24uZXJyb3JfY29k
ZSwgUXVpY0Vycm9yQ29kZS5QUk9UT0NPTF9WSU9MQVRJT04pCisgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwoY20uZXhjZXB0aW9uLmZyYW1lX3R5cGUsIFF1aWNGcmFtZVR5cGUuREFUQUdSQU0pCisg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY20uZXhjZXB0aW9uLnJlYXNvbl9waHJhc2UsICJVbmV4
cGVjdGVkIERBVEFHUkFNIGZyYW1lIikKKworICAgIGRlZiB0ZXN0X2hhbmRsZV9kYXRhZ3JhbV9m
cmFtZV90b29fbGFyZ2Uoc2VsZik6CisgICAgICAgIGNsaWVudCA9IGNyZWF0ZV9zdGFuZGFsb25l
X2NsaWVudChzZWxmLCBtYXhfZGF0YWdyYW1fZnJhbWVfc2l6ZT01KQorCisgICAgICAgIHdpdGgg
c2VsZi5hc3NlcnRSYWlzZXMoUXVpY0Nvbm5lY3Rpb25FcnJvcikgYXMgY206CisgICAgICAgICAg
ICBjbGllbnQuX2hhbmRsZV9kYXRhZ3JhbV9mcmFtZSgKKyAgICAgICAgICAgICAgICBjbGllbnRf
cmVjZWl2ZV9jb250ZXh0KGNsaWVudCksCisgICAgICAgICAgICAgICAgUXVpY0ZyYW1lVHlwZS5E
QVRBR1JBTSwKKyAgICAgICAgICAgICAgICBCdWZmZXIoZGF0YT1iImhlbGxvIiksCisgICAgICAg
ICAgICApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY20uZXhjZXB0aW9uLmVycm9yX2NvZGUs
IFF1aWNFcnJvckNvZGUuUFJPVE9DT0xfVklPTEFUSU9OKQorICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKGNtLmV4Y2VwdGlvbi5mcmFtZV90eXBlLCBRdWljRnJhbWVUeXBlLkRBVEFHUkFNKQorICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKGNtLmV4Y2VwdGlvbi5yZWFzb25fcGhyYXNlLCAiVW5leHBl
Y3RlZCBEQVRBR1JBTSBmcmFtZSIpCisKKyAgICBkZWYgdGVzdF9oYW5kbGVfZGF0YWdyYW1fZnJh
bWVfd2l0aF9sZW5ndGgoc2VsZik6CisgICAgICAgIGNsaWVudCA9IGNyZWF0ZV9zdGFuZGFsb25l
X2NsaWVudChzZWxmLCBtYXhfZGF0YWdyYW1fZnJhbWVfc2l6ZT03KQorCisgICAgICAgIGNsaWVu
dC5faGFuZGxlX2RhdGFncmFtX2ZyYW1lKAorICAgICAgICAgICAgY2xpZW50X3JlY2VpdmVfY29u
dGV4dChjbGllbnQpLAorICAgICAgICAgICAgUXVpY0ZyYW1lVHlwZS5EQVRBR1JBTV9XSVRIX0xF
TkdUSCwKKyAgICAgICAgICAgIEJ1ZmZlcihkYXRhPWIiXHgwNWhlbGxvanVuayIpLAorICAgICAg
ICApCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIGNsaWVudC5uZXh0
X2V2ZW50KCksIGV2ZW50cy5EYXRhZ3JhbUZyYW1lUmVjZWl2ZWQoZGF0YT1iImhlbGxvIikKKyAg
ICAgICAgKQorCisgICAgZGVmIHRlc3RfaGFuZGxlX2RhdGFncmFtX2ZyYW1lX3dpdGhfbGVuZ3Ro
X25vdF9hbGxvd2VkKHNlbGYpOgorICAgICAgICBjbGllbnQgPSBjcmVhdGVfc3RhbmRhbG9uZV9j
bGllbnQoc2VsZiwgbWF4X2RhdGFncmFtX2ZyYW1lX3NpemU9Tm9uZSkKKworICAgICAgICB3aXRo
IHNlbGYuYXNzZXJ0UmFpc2VzKFF1aWNDb25uZWN0aW9uRXJyb3IpIGFzIGNtOgorICAgICAgICAg
ICAgY2xpZW50Ll9oYW5kbGVfZGF0YWdyYW1fZnJhbWUoCisgICAgICAgICAgICAgICAgY2xpZW50
X3JlY2VpdmVfY29udGV4dChjbGllbnQpLAorICAgICAgICAgICAgICAgIFF1aWNGcmFtZVR5cGUu
REFUQUdSQU1fV0lUSF9MRU5HVEgsCisgICAgICAgICAgICAgICAgQnVmZmVyKGRhdGE9YiJceDA1
aGVsbG9qdW5rIiksCisgICAgICAgICAgICApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY20u
ZXhjZXB0aW9uLmVycm9yX2NvZGUsIFF1aWNFcnJvckNvZGUuUFJPVE9DT0xfVklPTEFUSU9OKQor
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtLmV4Y2VwdGlvbi5mcmFtZV90eXBlLCBRdWljRnJh
bWVUeXBlLkRBVEFHUkFNX1dJVEhfTEVOR1RIKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNt
LmV4Y2VwdGlvbi5yZWFzb25fcGhyYXNlLCAiVW5leHBlY3RlZCBEQVRBR1JBTSBmcmFtZSIpCisK
KyAgICBkZWYgdGVzdF9oYW5kbGVfZGF0YWdyYW1fZnJhbWVfd2l0aF9sZW5ndGhfdG9vX2xhcmdl
KHNlbGYpOgorICAgICAgICBjbGllbnQgPSBjcmVhdGVfc3RhbmRhbG9uZV9jbGllbnQoc2VsZiwg
bWF4X2RhdGFncmFtX2ZyYW1lX3NpemU9NikKKworICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFp
c2VzKFF1aWNDb25uZWN0aW9uRXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgY2xpZW50Ll9oYW5k
bGVfZGF0YWdyYW1fZnJhbWUoCisgICAgICAgICAgICAgICAgY2xpZW50X3JlY2VpdmVfY29udGV4
dChjbGllbnQpLAorICAgICAgICAgICAgICAgIFF1aWNGcmFtZVR5cGUuREFUQUdSQU1fV0lUSF9M
RU5HVEgsCisgICAgICAgICAgICAgICAgQnVmZmVyKGRhdGE9YiJceDA1aGVsbG9qdW5rIiksCisg
ICAgICAgICAgICApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY20uZXhjZXB0aW9uLmVycm9y
X2NvZGUsIFF1aWNFcnJvckNvZGUuUFJPVE9DT0xfVklPTEFUSU9OKQorICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKGNtLmV4Y2VwdGlvbi5mcmFtZV90eXBlLCBRdWljRnJhbWVUeXBlLkRBVEFHUkFN
X1dJVEhfTEVOR1RIKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtLmV4Y2VwdGlvbi5yZWFz
b25fcGhyYXNlLCAiVW5leHBlY3RlZCBEQVRBR1JBTSBmcmFtZSIpCisKKyAgICBkZWYgdGVzdF9o
YW5kbGVfaGFuZHNoYWtlX2RvbmVfbm90X2FsbG93ZWQoc2VsZik6CisgICAgICAgIHdpdGggY2xp
ZW50X2FuZF9zZXJ2ZXIoKSBhcyAoY2xpZW50LCBzZXJ2ZXIpOgorICAgICAgICAgICAgIyBzZXJ2
ZXIgcmVjZWl2ZXMgSEFORFNIQUtFX0RPTkUgZnJhbWUKKyAgICAgICAgICAgIHdpdGggc2VsZi5h
c3NlcnRSYWlzZXMoUXVpY0Nvbm5lY3Rpb25FcnJvcikgYXMgY206CisgICAgICAgICAgICAgICAg
c2VydmVyLl9oYW5kbGVfaGFuZHNoYWtlX2RvbmVfZnJhbWUoCisgICAgICAgICAgICAgICAgICAg
IGNsaWVudF9yZWNlaXZlX2NvbnRleHQoc2VydmVyKSwKKyAgICAgICAgICAgICAgICAgICAgUXVp
Y0ZyYW1lVHlwZS5IQU5EU0hBS0VfRE9ORSwKKyAgICAgICAgICAgICAgICAgICAgQnVmZmVyKGRh
dGE9YiIiKSwKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KGNtLmV4Y2VwdGlvbi5lcnJvcl9jb2RlLCBRdWljRXJyb3JDb2RlLlBST1RPQ09MX1ZJT0xBVElP
TikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY20uZXhjZXB0aW9uLmZyYW1lX3R5cGUs
IFF1aWNGcmFtZVR5cGUuSEFORFNIQUtFX0RPTkUpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKAorICAgICAgICAgICAgICAgIGNtLmV4Y2VwdGlvbi5yZWFzb25fcGhyYXNlLAorICAgICAg
ICAgICAgICAgICJDbGllbnRzIG11c3Qgbm90IHNlbmQgSEFORFNIQUtFX0RPTkUgZnJhbWVzIiwK
KyAgICAgICAgICAgICkKKworICAgIGRlZiB0ZXN0X2hhbmRsZV9tYXhfZGF0YV9mcmFtZShzZWxm
KToKKyAgICAgICAgd2l0aCBjbGllbnRfYW5kX3NlcnZlcigpIGFzIChjbGllbnQsIHNlcnZlcik6
CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNsaWVudC5fcmVtb3RlX21heF9kYXRhLCAx
MDQ4NTc2KQorCisgICAgICAgICAgICAjIGNsaWVudCByZWNlaXZlcyBNQVhfREFUQSByYWlzaW5n
IGxpbWl0CisgICAgICAgICAgICBjbGllbnQuX2hhbmRsZV9tYXhfZGF0YV9mcmFtZSgKKyAgICAg
ICAgICAgICAgICBjbGllbnRfcmVjZWl2ZV9jb250ZXh0KGNsaWVudCksCisgICAgICAgICAgICAg
ICAgUXVpY0ZyYW1lVHlwZS5NQVhfREFUQSwKKyAgICAgICAgICAgICAgICBCdWZmZXIoZGF0YT1l
bmNvZGVfdWludF92YXIoMTA0ODU3NykpLAorICAgICAgICAgICAgKQorICAgICAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChjbGllbnQuX3JlbW90ZV9tYXhfZGF0YSwgMTA0ODU3NykKKworICAgIGRl
ZiB0ZXN0X2hhbmRsZV9tYXhfc3RyZWFtX2RhdGFfZnJhbWUoc2VsZik6CisgICAgICAgIHdpdGgg
Y2xpZW50X2FuZF9zZXJ2ZXIoKSBhcyAoY2xpZW50LCBzZXJ2ZXIpOgorICAgICAgICAgICAgIyBj
bGllbnQgY3JlYXRlcyBiaWRpcmVjdGlvbmFsIHN0cmVhbSAwCisgICAgICAgICAgICBzdHJlYW0g
PSBjbGllbnQuX2NyZWF0ZV9zdHJlYW0oc3RyZWFtX2lkPTApCisgICAgICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKHN0cmVhbS5tYXhfc3RyZWFtX2RhdGFfcmVtb3RlLCAxMDQ4NTc2KQorCisgICAg
ICAgICAgICAjIGNsaWVudCByZWNlaXZlcyBNQVhfU1RSRUFNX0RBVEEgcmFpc2luZyBsaW1pdAor
ICAgICAgICAgICAgY2xpZW50Ll9oYW5kbGVfbWF4X3N0cmVhbV9kYXRhX2ZyYW1lKAorICAgICAg
ICAgICAgICAgIGNsaWVudF9yZWNlaXZlX2NvbnRleHQoY2xpZW50KSwKKyAgICAgICAgICAgICAg
ICBRdWljRnJhbWVUeXBlLk1BWF9TVFJFQU1fREFUQSwKKyAgICAgICAgICAgICAgICBCdWZmZXIo
ZGF0YT1iIlx4MDAiICsgZW5jb2RlX3VpbnRfdmFyKDEwNDg1NzcpKSwKKyAgICAgICAgICAgICkK
KyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyZWFtLm1heF9zdHJlYW1fZGF0YV9yZW1v
dGUsIDEwNDg1NzcpCisKKyAgICAgICAgICAgICMgY2xpZW50IHJlY2VpdmVzIE1BWF9TVFJFQU1f
REFUQSBsb3dlcmluZyBsaW1pdAorICAgICAgICAgICAgY2xpZW50Ll9oYW5kbGVfbWF4X3N0cmVh
bV9kYXRhX2ZyYW1lKAorICAgICAgICAgICAgICAgIGNsaWVudF9yZWNlaXZlX2NvbnRleHQoY2xp
ZW50KSwKKyAgICAgICAgICAgICAgICBRdWljRnJhbWVUeXBlLk1BWF9TVFJFQU1fREFUQSwKKyAg
ICAgICAgICAgICAgICBCdWZmZXIoZGF0YT1iIlx4MDAiICsgZW5jb2RlX3VpbnRfdmFyKDEwNDg1
NzUpKSwKKyAgICAgICAgICAgICkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyZWFt
Lm1heF9zdHJlYW1fZGF0YV9yZW1vdGUsIDEwNDg1NzcpCisKKyAgICBkZWYgdGVzdF9oYW5kbGVf
bWF4X3N0cmVhbV9kYXRhX2ZyYW1lX3JlY2VpdmVfb25seShzZWxmKToKKyAgICAgICAgd2l0aCBj
bGllbnRfYW5kX3NlcnZlcigpIGFzIChjbGllbnQsIHNlcnZlcik6CisgICAgICAgICAgICAjIHNl
cnZlciBjcmVhdGVzIHVuaWRpcmVjdGlvbmFsIHN0cmVhbSAzCisgICAgICAgICAgICBzZXJ2ZXIu
c2VuZF9zdHJlYW1fZGF0YShzdHJlYW1faWQ9MywgZGF0YT1iImhlbGxvIikKKworICAgICAgICAg
ICAgIyBjbGllbnQgcmVjZWl2ZXMgTUFYX1NUUkVBTV9EQVRBOiAzLCAxCisgICAgICAgICAgICB3
aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFF1aWNDb25uZWN0aW9uRXJyb3IpIGFzIGNtOgorICAgICAg
ICAgICAgICAgIGNsaWVudC5faGFuZGxlX21heF9zdHJlYW1fZGF0YV9mcmFtZSgKKyAgICAgICAg
ICAgICAgICAgICAgY2xpZW50X3JlY2VpdmVfY29udGV4dChjbGllbnQpLAorICAgICAgICAgICAg
ICAgICAgICBRdWljRnJhbWVUeXBlLk1BWF9TVFJFQU1fREFUQSwKKyAgICAgICAgICAgICAgICAg
ICAgQnVmZmVyKGRhdGE9YiJceDAzXHgwMSIpLAorICAgICAgICAgICAgICAgICkKKyAgICAgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoY20uZXhjZXB0aW9uLmVycm9yX2NvZGUsIFF1aWNFcnJvckNv
ZGUuU1RSRUFNX1NUQVRFX0VSUk9SKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbS5l
eGNlcHRpb24uZnJhbWVfdHlwZSwgUXVpY0ZyYW1lVHlwZS5NQVhfU1RSRUFNX0RBVEEpCisgICAg
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtLmV4Y2VwdGlvbi5yZWFzb25fcGhyYXNlLCAiU3Ry
ZWFtIGlzIHJlY2VpdmUtb25seSIpCisKKyAgICBkZWYgdGVzdF9oYW5kbGVfbWF4X3N0cmVhbXNf
YmlkaV9mcmFtZShzZWxmKToKKyAgICAgICAgd2l0aCBjbGllbnRfYW5kX3NlcnZlcigpIGFzIChj
bGllbnQsIHNlcnZlcik6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNsaWVudC5fcmVt
b3RlX21heF9zdHJlYW1zX2JpZGksIDEyOCkKKworICAgICAgICAgICAgIyBjbGllbnQgcmVjZWl2
ZXMgTUFYX1NUUkVBTVNfQklESSByYWlzaW5nIGxpbWl0CisgICAgICAgICAgICBjbGllbnQuX2hh
bmRsZV9tYXhfc3RyZWFtc19iaWRpX2ZyYW1lKAorICAgICAgICAgICAgICAgIGNsaWVudF9yZWNl
aXZlX2NvbnRleHQoY2xpZW50KSwKKyAgICAgICAgICAgICAgICBRdWljRnJhbWVUeXBlLk1BWF9T
VFJFQU1TX0JJREksCisgICAgICAgICAgICAgICAgQnVmZmVyKGRhdGE9ZW5jb2RlX3VpbnRfdmFy
KDEyOSkpLAorICAgICAgICAgICAgKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbGll
bnQuX3JlbW90ZV9tYXhfc3RyZWFtc19iaWRpLCAxMjkpCisKKyAgICAgICAgICAgICMgY2xpZW50
IHJlY2VpdmVzIE1BWF9TVFJFQU1TX0JJREkgbG93ZXJpbmcgbGltaXQKKyAgICAgICAgICAgIGNs
aWVudC5faGFuZGxlX21heF9zdHJlYW1zX2JpZGlfZnJhbWUoCisgICAgICAgICAgICAgICAgY2xp
ZW50X3JlY2VpdmVfY29udGV4dChjbGllbnQpLAorICAgICAgICAgICAgICAgIFF1aWNGcmFtZVR5
cGUuTUFYX1NUUkVBTVNfQklESSwKKyAgICAgICAgICAgICAgICBCdWZmZXIoZGF0YT1lbmNvZGVf
dWludF92YXIoMTI3KSksCisgICAgICAgICAgICApCisgICAgICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKGNsaWVudC5fcmVtb3RlX21heF9zdHJlYW1zX2JpZGksIDEyOSkKKworICAgIGRlZiB0ZXN0
X2hhbmRsZV9tYXhfc3RyZWFtc191bmlfZnJhbWUoc2VsZik6CisgICAgICAgIHdpdGggY2xpZW50
X2FuZF9zZXJ2ZXIoKSBhcyAoY2xpZW50LCBzZXJ2ZXIpOgorICAgICAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChjbGllbnQuX3JlbW90ZV9tYXhfc3RyZWFtc191bmksIDEyOCkKKworICAgICAgICAg
ICAgIyBjbGllbnQgcmVjZWl2ZXMgTUFYX1NUUkVBTVNfVU5JIHJhaXNpbmcgbGltaXQKKyAgICAg
ICAgICAgIGNsaWVudC5faGFuZGxlX21heF9zdHJlYW1zX3VuaV9mcmFtZSgKKyAgICAgICAgICAg
ICAgICBjbGllbnRfcmVjZWl2ZV9jb250ZXh0KGNsaWVudCksCisgICAgICAgICAgICAgICAgUXVp
Y0ZyYW1lVHlwZS5NQVhfU1RSRUFNU19VTkksCisgICAgICAgICAgICAgICAgQnVmZmVyKGRhdGE9
ZW5jb2RlX3VpbnRfdmFyKDEyOSkpLAorICAgICAgICAgICAgKQorICAgICAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbChjbGllbnQuX3JlbW90ZV9tYXhfc3RyZWFtc191bmksIDEyOSkKKworICAgICAg
ICAgICAgIyBjbGllbnQgcmVjZWl2ZXMgTUFYX1NUUkVBTVNfVU5JIHJhaXNpbmcgbGltaXQKKyAg
ICAgICAgICAgIGNsaWVudC5faGFuZGxlX21heF9zdHJlYW1zX3VuaV9mcmFtZSgKKyAgICAgICAg
ICAgICAgICBjbGllbnRfcmVjZWl2ZV9jb250ZXh0KGNsaWVudCksCisgICAgICAgICAgICAgICAg
UXVpY0ZyYW1lVHlwZS5NQVhfU1RSRUFNU19VTkksCisgICAgICAgICAgICAgICAgQnVmZmVyKGRh
dGE9ZW5jb2RlX3VpbnRfdmFyKDEyNykpLAorICAgICAgICAgICAgKQorICAgICAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChjbGllbnQuX3JlbW90ZV9tYXhfc3RyZWFtc191bmksIDEyOSkKKworICAg
IGRlZiB0ZXN0X2hhbmRsZV9uZXdfdG9rZW5fZnJhbWUoc2VsZik6CisgICAgICAgIHdpdGggY2xp
ZW50X2FuZF9zZXJ2ZXIoKSBhcyAoY2xpZW50LCBzZXJ2ZXIpOgorICAgICAgICAgICAgIyBjbGll
bnQgcmVjZWl2ZXMgTkVXX1RPS0VOCisgICAgICAgICAgICBjbGllbnQuX2hhbmRsZV9uZXdfdG9r
ZW5fZnJhbWUoCisgICAgICAgICAgICAgICAgY2xpZW50X3JlY2VpdmVfY29udGV4dChjbGllbnQp
LAorICAgICAgICAgICAgICAgIFF1aWNGcmFtZVR5cGUuTkVXX1RPS0VOLAorICAgICAgICAgICAg
ICAgIEJ1ZmZlcihkYXRhPWJpbmFzY2lpLnVuaGV4bGlmeSgiMDgwMTAyMDMwNDA1MDYwNzA4Iikp
LAorICAgICAgICAgICAgKQorCisgICAgZGVmIHRlc3RfaGFuZGxlX25ld190b2tlbl9mcmFtZV9m
cm9tX2NsaWVudChzZWxmKToKKyAgICAgICAgd2l0aCBjbGllbnRfYW5kX3NlcnZlcigpIGFzIChj
bGllbnQsIHNlcnZlcik6CisgICAgICAgICAgICAjIHNlcnZlciByZWNlaXZlcyBORVdfVE9LRU4K
KyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoUXVpY0Nvbm5lY3Rpb25FcnJvcikg
YXMgY206CisgICAgICAgICAgICAgICAgc2VydmVyLl9oYW5kbGVfbmV3X3Rva2VuX2ZyYW1lKAor
ICAgICAgICAgICAgICAgICAgICBjbGllbnRfcmVjZWl2ZV9jb250ZXh0KGNsaWVudCksCisgICAg
ICAgICAgICAgICAgICAgIFF1aWNGcmFtZVR5cGUuTkVXX1RPS0VOLAorICAgICAgICAgICAgICAg
ICAgICBCdWZmZXIoZGF0YT1iaW5hc2NpaS51bmhleGxpZnkoIjA4MDEwMjAzMDQwNTA2MDcwOCIp
KSwKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtLmV4
Y2VwdGlvbi5lcnJvcl9jb2RlLCBRdWljRXJyb3JDb2RlLlBST1RPQ09MX1ZJT0xBVElPTikKKyAg
ICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY20uZXhjZXB0aW9uLmZyYW1lX3R5cGUsIFF1aWNG
cmFtZVR5cGUuTkVXX1RPS0VOKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAg
ICAgICAgICAgICBjbS5leGNlcHRpb24ucmVhc29uX3BocmFzZSwgIkNsaWVudHMgbXVzdCBub3Qg
c2VuZCBORVdfVE9LRU4gZnJhbWVzIgorICAgICAgICAgICAgKQorCisgICAgZGVmIHRlc3RfaGFu
ZGxlX3BhdGhfY2hhbGxlbmdlX2ZyYW1lKHNlbGYpOgorICAgICAgICB3aXRoIGNsaWVudF9hbmRf
c2VydmVyKCkgYXMgKGNsaWVudCwgc2VydmVyKToKKyAgICAgICAgICAgICMgY2xpZW50IGNoYW5n
ZXMgYWRkcmVzcyBhbmQgc2VuZHMgc29tZSBkYXRhCisgICAgICAgICAgICBjbGllbnQuc2VuZF9z
dHJlYW1fZGF0YSgwLCBiIjAxMjM0NTY3IikKKyAgICAgICAgICAgIGZvciBkYXRhLCBhZGRyIGlu
IGNsaWVudC5kYXRhZ3JhbXNfdG9fc2VuZChub3c9dGltZS50aW1lKCkpOgorICAgICAgICAgICAg
ICAgIHNlcnZlci5yZWNlaXZlX2RhdGFncmFtKGRhdGEsICgiMS4yLjMuNCIsIDIzNDUpLCBub3c9
dGltZS50aW1lKCkpCisKKyAgICAgICAgICAgICMgY2hlY2sgcGF0aHMKKyAgICAgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwobGVuKHNlcnZlci5fbmV0d29ya19wYXRocyksIDIpCisgICAgICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKHNlcnZlci5fbmV0d29ya19wYXRoc1swXS5hZGRyLCAoIjEuMi4z
LjQiLCAyMzQ1KSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uoc2VydmVyLl9uZXR3b3Jr
X3BhdGhzWzBdLmlzX3ZhbGlkYXRlZCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2Vy
dmVyLl9uZXR3b3JrX3BhdGhzWzFdLmFkZHIsICgiMS4yLjMuNCIsIDEyMzQpKQorICAgICAgICAg
ICAgc2VsZi5hc3NlcnRUcnVlKHNlcnZlci5fbmV0d29ya19wYXRoc1sxXS5pc192YWxpZGF0ZWQp
CisKKyAgICAgICAgICAgICMgc2VydmVyIHNlbmRzIFBBVEhfQ0hBTExFTkdFIGFuZCByZWNlaXZl
cyBQQVRIX1JFU1BPTlNFCisgICAgICAgICAgICBmb3IgZGF0YSwgYWRkciBpbiBzZXJ2ZXIuZGF0
YWdyYW1zX3RvX3NlbmQobm93PXRpbWUudGltZSgpKToKKyAgICAgICAgICAgICAgICBjbGllbnQu
cmVjZWl2ZV9kYXRhZ3JhbShkYXRhLCBTRVJWRVJfQUREUiwgbm93PXRpbWUudGltZSgpKQorICAg
ICAgICAgICAgZm9yIGRhdGEsIGFkZHIgaW4gY2xpZW50LmRhdGFncmFtc190b19zZW5kKG5vdz10
aW1lLnRpbWUoKSk6CisgICAgICAgICAgICAgICAgc2VydmVyLnJlY2VpdmVfZGF0YWdyYW0oZGF0
YSwgKCIxLjIuMy40IiwgMjM0NSksIG5vdz10aW1lLnRpbWUoKSkKKworICAgICAgICAgICAgIyBj
aGVjayBwYXRocworICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZXJ2ZXIuX25ldHdvcmtf
cGF0aHNbMF0uYWRkciwgKCIxLjIuMy40IiwgMjM0NSkpCisgICAgICAgICAgICBzZWxmLmFzc2Vy
dFRydWUoc2VydmVyLl9uZXR3b3JrX3BhdGhzWzBdLmlzX3ZhbGlkYXRlZCkKKyAgICAgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwoc2VydmVyLl9uZXR3b3JrX3BhdGhzWzFdLmFkZHIsICgiMS4yLjMu
NCIsIDEyMzQpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNlcnZlci5fbmV0d29ya19w
YXRoc1sxXS5pc192YWxpZGF0ZWQpCisKKyAgICBkZWYgdGVzdF9oYW5kbGVfcGF0aF9yZXNwb25z
ZV9mcmFtZV9iYWQoc2VsZik6CisgICAgICAgIHdpdGggY2xpZW50X2FuZF9zZXJ2ZXIoKSBhcyAo
Y2xpZW50LCBzZXJ2ZXIpOgorICAgICAgICAgICAgIyBzZXJ2ZXIgcmVjZWl2ZXMgdW5zb2xsaWNp
dGVkIFBBVEhfUkVTUE9OU0UKKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoUXVp
Y0Nvbm5lY3Rpb25FcnJvcikgYXMgY206CisgICAgICAgICAgICAgICAgc2VydmVyLl9oYW5kbGVf
cGF0aF9yZXNwb25zZV9mcmFtZSgKKyAgICAgICAgICAgICAgICAgICAgY2xpZW50X3JlY2VpdmVf
Y29udGV4dChjbGllbnQpLAorICAgICAgICAgICAgICAgICAgICBRdWljRnJhbWVUeXBlLlBBVEhf
UkVTUE9OU0UsCisgICAgICAgICAgICAgICAgICAgIEJ1ZmZlcihkYXRhPWIiXHgxMVx4MjJceDMz
XHg0NFx4NTVceDY2XHg3N1x4ODgiKSwKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKGNtLmV4Y2VwdGlvbi5lcnJvcl9jb2RlLCBRdWljRXJyb3JDb2RlLlBS
T1RPQ09MX1ZJT0xBVElPTikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY20uZXhjZXB0
aW9uLmZyYW1lX3R5cGUsIFF1aWNGcmFtZVR5cGUuUEFUSF9SRVNQT05TRSkKKworICAgIGRlZiB0
ZXN0X2hhbmRsZV9wYWRkaW5nX2ZyYW1lKHNlbGYpOgorICAgICAgICBjbGllbnQgPSBjcmVhdGVf
c3RhbmRhbG9uZV9jbGllbnQoc2VsZikKKworICAgICAgICAjIG5vIG1vcmUgcGFkZGluZworICAg
ICAgICBidWYgPSBCdWZmZXIoZGF0YT1iIiIpCisgICAgICAgIGNsaWVudC5faGFuZGxlX3BhZGRp
bmdfZnJhbWUoCisgICAgICAgICAgICBjbGllbnRfcmVjZWl2ZV9jb250ZXh0KGNsaWVudCksIFF1
aWNGcmFtZVR5cGUuUEFERElORywgYnVmCisgICAgICAgICkKKyAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbChidWYudGVsbCgpLCAwKQorCisgICAgICAgICMgcGFkZGluZyB1bnRpbCBlbmQKKyAgICAg
ICAgYnVmID0gQnVmZmVyKGRhdGE9Ynl0ZXMoMTApKQorICAgICAgICBjbGllbnQuX2hhbmRsZV9w
YWRkaW5nX2ZyYW1lKAorICAgICAgICAgICAgY2xpZW50X3JlY2VpdmVfY29udGV4dChjbGllbnQp
LCBRdWljRnJhbWVUeXBlLlBBRERJTkcsIGJ1ZgorICAgICAgICApCisgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoYnVmLnRlbGwoKSwgMTApCisKKyAgICAgICAgIyBwYWRkaW5nIHRoZW4gc29tZXRo
aW5nIGVsc2UKKyAgICAgICAgYnVmID0gQnVmZmVyKGRhdGE9Ynl0ZXMoMTApICsgYiJceDAxIikK
KyAgICAgICAgY2xpZW50Ll9oYW5kbGVfcGFkZGluZ19mcmFtZSgKKyAgICAgICAgICAgIGNsaWVu
dF9yZWNlaXZlX2NvbnRleHQoY2xpZW50KSwgUXVpY0ZyYW1lVHlwZS5QQURESU5HLCBidWYKKyAg
ICAgICAgKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ1Zi50ZWxsKCksIDEwKQorCisgICAg
ZGVmIHRlc3RfaGFuZGxlX3Jlc2V0X3N0cmVhbV9mcmFtZShzZWxmKToKKyAgICAgICAgd2l0aCBj
bGllbnRfYW5kX3NlcnZlcigpIGFzIChjbGllbnQsIHNlcnZlcik6CisgICAgICAgICAgICAjIGNs
aWVudCBjcmVhdGVzIGJpZGlyZWN0aW9uYWwgc3RyZWFtIDAKKyAgICAgICAgICAgIGNsaWVudC5z
ZW5kX3N0cmVhbV9kYXRhKHN0cmVhbV9pZD0wLCBkYXRhPWIiaGVsbG8iKQorICAgICAgICAgICAg
Y29uc3VtZV9ldmVudHMoY2xpZW50KQorCisgICAgICAgICAgICAjIGNsaWVudCByZWNlaXZlcyBS
RVNFVF9TVFJFQU0KKyAgICAgICAgICAgIGNsaWVudC5faGFuZGxlX3Jlc2V0X3N0cmVhbV9mcmFt
ZSgKKyAgICAgICAgICAgICAgICBjbGllbnRfcmVjZWl2ZV9jb250ZXh0KGNsaWVudCksCisgICAg
ICAgICAgICAgICAgUXVpY0ZyYW1lVHlwZS5SRVNFVF9TVFJFQU0sCisgICAgICAgICAgICAgICAg
QnVmZmVyKGRhdGE9YmluYXNjaWkudW5oZXhsaWZ5KCIwMDAxMDAiKSksCisgICAgICAgICAgICAp
CisKKyAgICAgICAgICAgIGV2ZW50ID0gY2xpZW50Lm5leHRfZXZlbnQoKQorICAgICAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbCh0eXBlKGV2ZW50KSwgZXZlbnRzLlN0cmVhbVJlc2V0KQorICAgICAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbChldmVudC5lcnJvcl9jb2RlLCBRdWljRXJyb3JDb2RlLklO
VEVSTkFMX0VSUk9SKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChldmVudC5zdHJlYW1f
aWQsIDApCisKKyAgICBkZWYgdGVzdF9oYW5kbGVfcmVzZXRfc3RyZWFtX2ZyYW1lX3NlbmRfb25s
eShzZWxmKToKKyAgICAgICAgd2l0aCBjbGllbnRfYW5kX3NlcnZlcigpIGFzIChjbGllbnQsIHNl
cnZlcik6CisgICAgICAgICAgICAjIGNsaWVudCBjcmVhdGVzIHVuaWRpcmVjdGlvbmFsIHN0cmVh
bSAyCisgICAgICAgICAgICBjbGllbnQuc2VuZF9zdHJlYW1fZGF0YShzdHJlYW1faWQ9MiwgZGF0
YT1iImhlbGxvIikKKworICAgICAgICAgICAgIyBjbGllbnQgcmVjZWl2ZXMgUkVTRVRfU1RSRUFN
CisgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFF1aWNDb25uZWN0aW9uRXJyb3Ip
IGFzIGNtOgorICAgICAgICAgICAgICAgIGNsaWVudC5faGFuZGxlX3Jlc2V0X3N0cmVhbV9mcmFt
ZSgKKyAgICAgICAgICAgICAgICAgICAgY2xpZW50X3JlY2VpdmVfY29udGV4dChjbGllbnQpLAor
ICAgICAgICAgICAgICAgICAgICBRdWljRnJhbWVUeXBlLlJFU0VUX1NUUkVBTSwKKyAgICAgICAg
ICAgICAgICAgICAgQnVmZmVyKGRhdGE9YmluYXNjaWkudW5oZXhsaWZ5KCIwMjExMDAiKSksCisg
ICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbS5leGNlcHRp
b24uZXJyb3JfY29kZSwgUXVpY0Vycm9yQ29kZS5TVFJFQU1fU1RBVEVfRVJST1IpCisgICAgICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKGNtLmV4Y2VwdGlvbi5mcmFtZV90eXBlLCBRdWljRnJhbWVU
eXBlLlJFU0VUX1NUUkVBTSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY20uZXhjZXB0
aW9uLnJlYXNvbl9waHJhc2UsICJTdHJlYW0gaXMgc2VuZC1vbmx5IikKKworICAgIGRlZiB0ZXN0
X2hhbmRsZV9yZXRpcmVfY29ubmVjdGlvbl9pZF9mcmFtZShzZWxmKToKKyAgICAgICAgd2l0aCBj
bGllbnRfYW5kX3NlcnZlcigpIGFzIChjbGllbnQsIHNlcnZlcik6CisgICAgICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKAorICAgICAgICAgICAgICAgIHNlcXVlbmNlX251bWJlcnMoY2xpZW50Ll9o
b3N0X2NpZHMpLCBbMCwgMSwgMiwgMywgNCwgNSwgNiwgN10KKyAgICAgICAgICAgICkKKworICAg
ICAgICAgICAgIyBjbGllbnQgcmVjZWl2ZXMgUkVUSVJFX0NPTk5FQ1RJT05fSUQKKyAgICAgICAg
ICAgIGNsaWVudC5faGFuZGxlX3JldGlyZV9jb25uZWN0aW9uX2lkX2ZyYW1lKAorICAgICAgICAg
ICAgICAgIGNsaWVudF9yZWNlaXZlX2NvbnRleHQoY2xpZW50KSwKKyAgICAgICAgICAgICAgICBR
dWljRnJhbWVUeXBlLlJFVElSRV9DT05ORUNUSU9OX0lELAorICAgICAgICAgICAgICAgIEJ1ZmZl
cihkYXRhPWIiXHgwMiIpLAorICAgICAgICAgICAgKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbCgKKyAgICAgICAgICAgICAgICBzZXF1ZW5jZV9udW1iZXJzKGNsaWVudC5faG9zdF9jaWRz
KSwgWzAsIDEsIDMsIDQsIDUsIDYsIDcsIDhdCisgICAgICAgICAgICApCisKKyAgICBkZWYgdGVz
dF9oYW5kbGVfcmV0aXJlX2Nvbm5lY3Rpb25faWRfZnJhbWVfY3VycmVudF9jaWQoc2VsZik6Cisg
ICAgICAgIHdpdGggY2xpZW50X2FuZF9zZXJ2ZXIoKSBhcyAoY2xpZW50LCBzZXJ2ZXIpOgorICAg
ICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgICAgICBzZXF1ZW5jZV9udW1i
ZXJzKGNsaWVudC5faG9zdF9jaWRzKSwgWzAsIDEsIDIsIDMsIDQsIDUsIDYsIDddCisgICAgICAg
ICAgICApCisKKyAgICAgICAgICAgICMgY2xpZW50IHJlY2VpdmVzIFJFVElSRV9DT05ORUNUSU9O
X0lEIGZvciB0aGUgY3VycmVudCBDSUQKKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlz
ZXMoUXVpY0Nvbm5lY3Rpb25FcnJvcikgYXMgY206CisgICAgICAgICAgICAgICAgY2xpZW50Ll9o
YW5kbGVfcmV0aXJlX2Nvbm5lY3Rpb25faWRfZnJhbWUoCisgICAgICAgICAgICAgICAgICAgIGNs
aWVudF9yZWNlaXZlX2NvbnRleHQoY2xpZW50KSwKKyAgICAgICAgICAgICAgICAgICAgUXVpY0Zy
YW1lVHlwZS5SRVRJUkVfQ09OTkVDVElPTl9JRCwKKyAgICAgICAgICAgICAgICAgICAgQnVmZmVy
KGRhdGE9YiJceDAwIiksCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChjbS5leGNlcHRpb24uZXJyb3JfY29kZSwgUXVpY0Vycm9yQ29kZS5QUk9UT0NPTF9W
SU9MQVRJT04pCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgICAg
IGNtLmV4Y2VwdGlvbi5mcmFtZV90eXBlLCBRdWljRnJhbWVUeXBlLlJFVElSRV9DT05ORUNUSU9O
X0lECisgICAgICAgICAgICApCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAg
ICAgICAgICAgIGNtLmV4Y2VwdGlvbi5yZWFzb25fcGhyYXNlLCAiQ2Fubm90IHJldGlyZSBjdXJy
ZW50IGNvbm5lY3Rpb24gSUQiCisgICAgICAgICAgICApCisgICAgICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKAorICAgICAgICAgICAgICAgIHNlcXVlbmNlX251bWJlcnMoY2xpZW50Ll9ob3N0X2Np
ZHMpLCBbMCwgMSwgMiwgMywgNCwgNSwgNiwgN10KKyAgICAgICAgICAgICkKKworICAgIGRlZiB0
ZXN0X2hhbmRsZV9zdG9wX3NlbmRpbmdfZnJhbWUoc2VsZik6CisgICAgICAgIHdpdGggY2xpZW50
X2FuZF9zZXJ2ZXIoKSBhcyAoY2xpZW50LCBzZXJ2ZXIpOgorICAgICAgICAgICAgIyBjbGllbnQg
Y3JlYXRlcyBiaWRpcmVjdGlvbmFsIHN0cmVhbSAwCisgICAgICAgICAgICBjbGllbnQuc2VuZF9z
dHJlYW1fZGF0YShzdHJlYW1faWQ9MCwgZGF0YT1iImhlbGxvIikKKworICAgICAgICAgICAgIyBj
bGllbnQgcmVjZWl2ZXMgU1RPUF9TRU5ESU5HCisgICAgICAgICAgICBjbGllbnQuX2hhbmRsZV9z
dG9wX3NlbmRpbmdfZnJhbWUoCisgICAgICAgICAgICAgICAgY2xpZW50X3JlY2VpdmVfY29udGV4
dChjbGllbnQpLAorICAgICAgICAgICAgICAgIFF1aWNGcmFtZVR5cGUuU1RPUF9TRU5ESU5HLAor
ICAgICAgICAgICAgICAgIEJ1ZmZlcihkYXRhPWIiXHgwMFx4MTEiKSwKKyAgICAgICAgICAgICkK
KworICAgIGRlZiB0ZXN0X2hhbmRsZV9zdG9wX3NlbmRpbmdfZnJhbWVfcmVjZWl2ZV9vbmx5KHNl
bGYpOgorICAgICAgICB3aXRoIGNsaWVudF9hbmRfc2VydmVyKCkgYXMgKGNsaWVudCwgc2VydmVy
KToKKyAgICAgICAgICAgICMgc2VydmVyIGNyZWF0ZXMgdW5pZGlyZWN0aW9uYWwgc3RyZWFtIDMK
KyAgICAgICAgICAgIHNlcnZlci5zZW5kX3N0cmVhbV9kYXRhKHN0cmVhbV9pZD0zLCBkYXRhPWIi
aGVsbG8iKQorCisgICAgICAgICAgICAjIGNsaWVudCByZWNlaXZlcyBTVE9QX1NFTkRJTkcKKyAg
ICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoUXVpY0Nvbm5lY3Rpb25FcnJvcikgYXMg
Y206CisgICAgICAgICAgICAgICAgY2xpZW50Ll9oYW5kbGVfc3RvcF9zZW5kaW5nX2ZyYW1lKAor
ICAgICAgICAgICAgICAgICAgICBjbGllbnRfcmVjZWl2ZV9jb250ZXh0KGNsaWVudCksCisgICAg
ICAgICAgICAgICAgICAgIFF1aWNGcmFtZVR5cGUuU1RPUF9TRU5ESU5HLAorICAgICAgICAgICAg
ICAgICAgICBCdWZmZXIoZGF0YT1iIlx4MDNceDExIiksCisgICAgICAgICAgICAgICAgKQorICAg
ICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbS5leGNlcHRpb24uZXJyb3JfY29kZSwgUXVpY0Vy
cm9yQ29kZS5TVFJFQU1fU1RBVEVfRVJST1IpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KGNtLmV4Y2VwdGlvbi5mcmFtZV90eXBlLCBRdWljRnJhbWVUeXBlLlNUT1BfU0VORElORykKKyAg
ICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY20uZXhjZXB0aW9uLnJlYXNvbl9waHJhc2UsICJT
dHJlYW0gaXMgcmVjZWl2ZS1vbmx5IikKKworICAgIGRlZiB0ZXN0X2hhbmRsZV9zdHJlYW1fZnJh
bWVfb3Zlcl9sYXJnZXN0X29mZnNldChzZWxmKToKKyAgICAgICAgd2l0aCBjbGllbnRfYW5kX3Nl
cnZlcigpIGFzIChjbGllbnQsIHNlcnZlcik6CisgICAgICAgICAgICAjIGNsaWVudCByZWNlaXZl
cyBvZmZzZXQgKyBsZW5ndGggPiAyXjYyIC0gMQorICAgICAgICAgICAgZnJhbWVfdHlwZSA9IFF1
aWNGcmFtZVR5cGUuU1RSRUFNX0JBU0UgfCA2CisgICAgICAgICAgICBzdHJlYW1faWQgPSAxCisg
ICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFF1aWNDb25uZWN0aW9uRXJyb3IpIGFz
IGNtOgorICAgICAgICAgICAgICAgIGNsaWVudC5faGFuZGxlX3N0cmVhbV9mcmFtZSgKKyAgICAg
ICAgICAgICAgICAgICAgY2xpZW50X3JlY2VpdmVfY29udGV4dChjbGllbnQpLAorICAgICAgICAg
ICAgICAgICAgICBmcmFtZV90eXBlLAorICAgICAgICAgICAgICAgICAgICBCdWZmZXIoCisgICAg
ICAgICAgICAgICAgICAgICAgICBkYXRhPWVuY29kZV91aW50X3ZhcihzdHJlYW1faWQpCisgICAg
ICAgICAgICAgICAgICAgICAgICArIGVuY29kZV91aW50X3ZhcihVSU5UX1ZBUl9NQVgpCisgICAg
ICAgICAgICAgICAgICAgICAgICArIGVuY29kZV91aW50X3ZhcigxKQorICAgICAgICAgICAgICAg
ICAgICApLAorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
CisgICAgICAgICAgICAgICAgY20uZXhjZXB0aW9uLmVycm9yX2NvZGUsIFF1aWNFcnJvckNvZGUu
RlJBTUVfRU5DT0RJTkdfRVJST1IKKyAgICAgICAgICAgICkKKyAgICAgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoY20uZXhjZXB0aW9uLmZyYW1lX3R5cGUsIGZyYW1lX3R5cGUpCisgICAgICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgICAgIGNtLmV4Y2VwdGlvbi5yZWFzb25f
cGhyYXNlLCAib2Zmc2V0ICsgbGVuZ3RoIGNhbm5vdCBleGNlZWQgMl42MiAtIDEiCisgICAgICAg
ICAgICApCisKKyAgICBkZWYgdGVzdF9oYW5kbGVfc3RyZWFtX2ZyYW1lX292ZXJfbWF4X2RhdGEo
c2VsZik6CisgICAgICAgIHdpdGggY2xpZW50X2FuZF9zZXJ2ZXIoKSBhcyAoY2xpZW50LCBzZXJ2
ZXIpOgorICAgICAgICAgICAgIyBhcnRpZmljaWFsbHkgcmFpc2UgcmVjZWl2ZWQgZGF0YSBjb3Vu
dGVyCisgICAgICAgICAgICBjbGllbnQuX2xvY2FsX21heF9kYXRhX3VzZWQgPSBjbGllbnQuX2xv
Y2FsX21heF9kYXRhCisKKyAgICAgICAgICAgICMgY2xpZW50IHJlY2VpdmVzIFNUUkVBTSBmcmFt
ZQorICAgICAgICAgICAgZnJhbWVfdHlwZSA9IFF1aWNGcmFtZVR5cGUuU1RSRUFNX0JBU0UgfCA0
CisgICAgICAgICAgICBzdHJlYW1faWQgPSAxCisgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0
UmFpc2VzKFF1aWNDb25uZWN0aW9uRXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgICAgIGNsaWVu
dC5faGFuZGxlX3N0cmVhbV9mcmFtZSgKKyAgICAgICAgICAgICAgICAgICAgY2xpZW50X3JlY2Vp
dmVfY29udGV4dChjbGllbnQpLAorICAgICAgICAgICAgICAgICAgICBmcmFtZV90eXBlLAorICAg
ICAgICAgICAgICAgICAgICBCdWZmZXIoZGF0YT1lbmNvZGVfdWludF92YXIoc3RyZWFtX2lkKSAr
IGVuY29kZV91aW50X3ZhcigxKSksCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChjbS5leGNlcHRpb24uZXJyb3JfY29kZSwgUXVpY0Vycm9yQ29kZS5GTE9X
X0NPTlRST0xfRVJST1IpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtLmV4Y2VwdGlv
bi5mcmFtZV90eXBlLCBmcmFtZV90eXBlKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChj
bS5leGNlcHRpb24ucmVhc29uX3BocmFzZSwgIk92ZXIgY29ubmVjdGlvbiBkYXRhIGxpbWl0IikK
KworICAgIGRlZiB0ZXN0X2hhbmRsZV9zdHJlYW1fZnJhbWVfb3Zlcl9tYXhfc3RyZWFtX2RhdGEo
c2VsZik6CisgICAgICAgIHdpdGggY2xpZW50X2FuZF9zZXJ2ZXIoKSBhcyAoY2xpZW50LCBzZXJ2
ZXIpOgorICAgICAgICAgICAgIyBjbGllbnQgcmVjZWl2ZXMgU1RSRUFNIGZyYW1lCisgICAgICAg
ICAgICBmcmFtZV90eXBlID0gUXVpY0ZyYW1lVHlwZS5TVFJFQU1fQkFTRSB8IDQKKyAgICAgICAg
ICAgIHN0cmVhbV9pZCA9IDEKKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoUXVp
Y0Nvbm5lY3Rpb25FcnJvcikgYXMgY206CisgICAgICAgICAgICAgICAgY2xpZW50Ll9oYW5kbGVf
c3RyZWFtX2ZyYW1lKAorICAgICAgICAgICAgICAgICAgICBjbGllbnRfcmVjZWl2ZV9jb250ZXh0
KGNsaWVudCksCisgICAgICAgICAgICAgICAgICAgIGZyYW1lX3R5cGUsCisgICAgICAgICAgICAg
ICAgICAgIEJ1ZmZlcigKKyAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE9ZW5jb2RlX3VpbnRf
dmFyKHN0cmVhbV9pZCkKKyAgICAgICAgICAgICAgICAgICAgICAgICsgZW5jb2RlX3VpbnRfdmFy
KGNsaWVudC5fbG9jYWxfbWF4X3N0cmVhbV9kYXRhX2JpZGlfcmVtb3RlICsgMSkKKyAgICAgICAg
ICAgICAgICAgICAgKSwKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKGNtLmV4Y2VwdGlvbi5lcnJvcl9jb2RlLCBRdWljRXJyb3JDb2RlLkZMT1dfQ09OVFJP
TF9FUlJPUikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY20uZXhjZXB0aW9uLmZyYW1l
X3R5cGUsIGZyYW1lX3R5cGUpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtLmV4Y2Vw
dGlvbi5yZWFzb25fcGhyYXNlLCAiT3ZlciBzdHJlYW0gZGF0YSBsaW1pdCIpCisKKyAgICBkZWYg
dGVzdF9oYW5kbGVfc3RyZWFtX2ZyYW1lX292ZXJfbWF4X3N0cmVhbXMoc2VsZik6CisgICAgICAg
IHdpdGggY2xpZW50X2FuZF9zZXJ2ZXIoKSBhcyAoY2xpZW50LCBzZXJ2ZXIpOgorICAgICAgICAg
ICAgIyBjbGllbnQgcmVjZWl2ZXMgU1RSRUFNIGZyYW1lCisgICAgICAgICAgICB3aXRoIHNlbGYu
YXNzZXJ0UmFpc2VzKFF1aWNDb25uZWN0aW9uRXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgICAg
IGNsaWVudC5faGFuZGxlX3N0cmVhbV9mcmFtZSgKKyAgICAgICAgICAgICAgICAgICAgY2xpZW50
X3JlY2VpdmVfY29udGV4dChjbGllbnQpLAorICAgICAgICAgICAgICAgICAgICBRdWljRnJhbWVU
eXBlLlNUUkVBTV9CQVNFLAorICAgICAgICAgICAgICAgICAgICBCdWZmZXIoCisgICAgICAgICAg
ICAgICAgICAgICAgICBkYXRhPWVuY29kZV91aW50X3ZhcihjbGllbnQuX2xvY2FsX21heF9zdHJl
YW1fZGF0YV91bmkgKiA0ICsgMykKKyAgICAgICAgICAgICAgICAgICAgKSwKKyAgICAgICAgICAg
ICAgICApCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtLmV4Y2VwdGlvbi5lcnJvcl9j
b2RlLCBRdWljRXJyb3JDb2RlLlNUUkVBTV9MSU1JVF9FUlJPUikKKyAgICAgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwoY20uZXhjZXB0aW9uLmZyYW1lX3R5cGUsIFF1aWNGcmFtZVR5cGUuU1RSRUFN
X0JBU0UpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtLmV4Y2VwdGlvbi5yZWFzb25f
cGhyYXNlLCAiVG9vIG1hbnkgc3RyZWFtcyBvcGVuIikKKworICAgIGRlZiB0ZXN0X2hhbmRsZV9z
dHJlYW1fZnJhbWVfc2VuZF9vbmx5KHNlbGYpOgorICAgICAgICB3aXRoIGNsaWVudF9hbmRfc2Vy
dmVyKCkgYXMgKGNsaWVudCwgc2VydmVyKToKKyAgICAgICAgICAgICMgY2xpZW50IGNyZWF0ZXMg
dW5pZGlyZWN0aW9uYWwgc3RyZWFtIDIKKyAgICAgICAgICAgIGNsaWVudC5zZW5kX3N0cmVhbV9k
YXRhKHN0cmVhbV9pZD0yLCBkYXRhPWIiaGVsbG8iKQorCisgICAgICAgICAgICAjIGNsaWVudCBy
ZWNlaXZlcyBTVFJFQU0gZnJhbWUKKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMo
UXVpY0Nvbm5lY3Rpb25FcnJvcikgYXMgY206CisgICAgICAgICAgICAgICAgY2xpZW50Ll9oYW5k
bGVfc3RyZWFtX2ZyYW1lKAorICAgICAgICAgICAgICAgICAgICBjbGllbnRfcmVjZWl2ZV9jb250
ZXh0KGNsaWVudCksCisgICAgICAgICAgICAgICAgICAgIFF1aWNGcmFtZVR5cGUuU1RSRUFNX0JB
U0UsCisgICAgICAgICAgICAgICAgICAgIEJ1ZmZlcihkYXRhPWIiXHgwMiIpLAorICAgICAgICAg
ICAgICAgICkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY20uZXhjZXB0aW9uLmVycm9y
X2NvZGUsIFF1aWNFcnJvckNvZGUuU1RSRUFNX1NUQVRFX0VSUk9SKQorICAgICAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChjbS5leGNlcHRpb24uZnJhbWVfdHlwZSwgUXVpY0ZyYW1lVHlwZS5TVFJF
QU1fQkFTRSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY20uZXhjZXB0aW9uLnJlYXNv
bl9waHJhc2UsICJTdHJlYW0gaXMgc2VuZC1vbmx5IikKKworICAgIGRlZiB0ZXN0X2hhbmRsZV9z
dHJlYW1fZnJhbWVfd3JvbmdfaW5pdGlhdG9yKHNlbGYpOgorICAgICAgICB3aXRoIGNsaWVudF9h
bmRfc2VydmVyKCkgYXMgKGNsaWVudCwgc2VydmVyKToKKyAgICAgICAgICAgICMgY2xpZW50IHJl
Y2VpdmVzIFNUUkVBTSBmcmFtZQorICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhR
dWljQ29ubmVjdGlvbkVycm9yKSBhcyBjbToKKyAgICAgICAgICAgICAgICBjbGllbnQuX2hhbmRs
ZV9zdHJlYW1fZnJhbWUoCisgICAgICAgICAgICAgICAgICAgIGNsaWVudF9yZWNlaXZlX2NvbnRl
eHQoY2xpZW50KSwKKyAgICAgICAgICAgICAgICAgICAgUXVpY0ZyYW1lVHlwZS5TVFJFQU1fQkFT
RSwKKyAgICAgICAgICAgICAgICAgICAgQnVmZmVyKGRhdGE9YiJceDAwIiksCisgICAgICAgICAg
ICAgICAgKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbS5leGNlcHRpb24uZXJyb3Jf
Y29kZSwgUXVpY0Vycm9yQ29kZS5TVFJFQU1fU1RBVEVfRVJST1IpCisgICAgICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKGNtLmV4Y2VwdGlvbi5mcmFtZV90eXBlLCBRdWljRnJhbWVUeXBlLlNUUkVB
TV9CQVNFKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbS5leGNlcHRpb24ucmVhc29u
X3BocmFzZSwgIldyb25nIHN0cmVhbSBpbml0aWF0b3IiKQorCisgICAgZGVmIHRlc3RfaGFuZGxl
X3N0cmVhbV9kYXRhX2Jsb2NrZWRfZnJhbWUoc2VsZik6CisgICAgICAgIHdpdGggY2xpZW50X2Fu
ZF9zZXJ2ZXIoKSBhcyAoY2xpZW50LCBzZXJ2ZXIpOgorICAgICAgICAgICAgIyBjbGllbnQgY3Jl
YXRlcyBiaWRpcmVjdGlvbmFsIHN0cmVhbSAwCisgICAgICAgICAgICBjbGllbnQuc2VuZF9zdHJl
YW1fZGF0YShzdHJlYW1faWQ9MCwgZGF0YT1iImhlbGxvIikKKworICAgICAgICAgICAgIyBjbGll
bnQgcmVjZWl2ZXMgU1RSRUFNX0RBVEFfQkxPQ0tFRAorICAgICAgICAgICAgY2xpZW50Ll9oYW5k
bGVfc3RyZWFtX2RhdGFfYmxvY2tlZF9mcmFtZSgKKyAgICAgICAgICAgICAgICBjbGllbnRfcmVj
ZWl2ZV9jb250ZXh0KGNsaWVudCksCisgICAgICAgICAgICAgICAgUXVpY0ZyYW1lVHlwZS5TVFJF
QU1fREFUQV9CTE9DS0VELAorICAgICAgICAgICAgICAgIEJ1ZmZlcihkYXRhPWIiXHgwMFx4MDEi
KSwKKyAgICAgICAgICAgICkKKworICAgIGRlZiB0ZXN0X2hhbmRsZV9zdHJlYW1fZGF0YV9ibG9j
a2VkX2ZyYW1lX3NlbmRfb25seShzZWxmKToKKyAgICAgICAgd2l0aCBjbGllbnRfYW5kX3NlcnZl
cigpIGFzIChjbGllbnQsIHNlcnZlcik6CisgICAgICAgICAgICAjIGNsaWVudCBjcmVhdGVzIHVu
aWRpcmVjdGlvbmFsIHN0cmVhbSAyCisgICAgICAgICAgICBjbGllbnQuc2VuZF9zdHJlYW1fZGF0
YShzdHJlYW1faWQ9MiwgZGF0YT1iImhlbGxvIikKKworICAgICAgICAgICAgIyBjbGllbnQgcmVj
ZWl2ZXMgU1RSRUFNX0RBVEFfQkxPQ0tFRAorICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJh
aXNlcyhRdWljQ29ubmVjdGlvbkVycm9yKSBhcyBjbToKKyAgICAgICAgICAgICAgICBjbGllbnQu
X2hhbmRsZV9zdHJlYW1fZGF0YV9ibG9ja2VkX2ZyYW1lKAorICAgICAgICAgICAgICAgICAgICBj
bGllbnRfcmVjZWl2ZV9jb250ZXh0KGNsaWVudCksCisgICAgICAgICAgICAgICAgICAgIFF1aWNG
cmFtZVR5cGUuU1RSRUFNX0RBVEFfQkxPQ0tFRCwKKyAgICAgICAgICAgICAgICAgICAgQnVmZmVy
KGRhdGE9YiJceDAyXHgwMSIpLAorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwoY20uZXhjZXB0aW9uLmVycm9yX2NvZGUsIFF1aWNFcnJvckNvZGUuU1RSRUFN
X1NUQVRFX0VSUk9SKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbS5leGNlcHRpb24u
ZnJhbWVfdHlwZSwgUXVpY0ZyYW1lVHlwZS5TVFJFQU1fREFUQV9CTE9DS0VEKQorICAgICAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChjbS5leGNlcHRpb24ucmVhc29uX3BocmFzZSwgIlN0cmVhbSBp
cyBzZW5kLW9ubHkiKQorCisgICAgZGVmIHRlc3RfaGFuZGxlX3N0cmVhbXNfYmxvY2tlZF91bmlf
ZnJhbWUoc2VsZik6CisgICAgICAgIHdpdGggY2xpZW50X2FuZF9zZXJ2ZXIoKSBhcyAoY2xpZW50
LCBzZXJ2ZXIpOgorICAgICAgICAgICAgIyBjbGllbnQgcmVjZWl2ZXMgU1RSRUFNU19CTE9DS0VE
X1VOSTogMAorICAgICAgICAgICAgY2xpZW50Ll9oYW5kbGVfc3RyZWFtc19ibG9ja2VkX2ZyYW1l
KAorICAgICAgICAgICAgICAgIGNsaWVudF9yZWNlaXZlX2NvbnRleHQoY2xpZW50KSwKKyAgICAg
ICAgICAgICAgICBRdWljRnJhbWVUeXBlLlNUUkVBTVNfQkxPQ0tFRF9VTkksCisgICAgICAgICAg
ICAgICAgQnVmZmVyKGRhdGE9YiJceDAwIiksCisgICAgICAgICAgICApCisKKyAgICBkZWYgdGVz
dF9wYXlsb2FkX3JlY2VpdmVkX3BhZGRpbmdfb25seShzZWxmKToKKyAgICAgICAgd2l0aCBjbGll
bnRfYW5kX3NlcnZlcigpIGFzIChjbGllbnQsIHNlcnZlcik6CisgICAgICAgICAgICAjIGNsaWVu
dCByZWNlaXZlcyBwYWRkaW5nIG9ubHkKKyAgICAgICAgICAgIGlzX2Fja19lbGljaXRpbmcsIGlz
X3Byb2JpbmcgPSBjbGllbnQuX3BheWxvYWRfcmVjZWl2ZWQoCisgICAgICAgICAgICAgICAgY2xp
ZW50X3JlY2VpdmVfY29udGV4dChjbGllbnQpLCBiIlx4MDAiICogMTIwMAorICAgICAgICAgICAg
KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShpc19hY2tfZWxpY2l0aW5nKQorICAgICAg
ICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzX3Byb2JpbmcpCisKKyAgICBkZWYgdGVzdF9wYXlsb2Fk
X3JlY2VpdmVkX3Vua25vd25fZnJhbWUoc2VsZik6CisgICAgICAgIHdpdGggY2xpZW50X2FuZF9z
ZXJ2ZXIoKSBhcyAoY2xpZW50LCBzZXJ2ZXIpOgorICAgICAgICAgICAgIyBjbGllbnQgcmVjZWl2
ZXMgdW5rbm93biBmcmFtZQorICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhRdWlj
Q29ubmVjdGlvbkVycm9yKSBhcyBjbToKKyAgICAgICAgICAgICAgICBjbGllbnQuX3BheWxvYWRf
cmVjZWl2ZWQoY2xpZW50X3JlY2VpdmVfY29udGV4dChjbGllbnQpLCBiIlx4MWYiKQorICAgICAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbS5leGNlcHRpb24uZXJyb3JfY29kZSwgUXVpY0Vycm9y
Q29kZS5QUk9UT0NPTF9WSU9MQVRJT04pCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNt
LmV4Y2VwdGlvbi5mcmFtZV90eXBlLCAweDFGKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChjbS5leGNlcHRpb24ucmVhc29uX3BocmFzZSwgIlVua25vd24gZnJhbWUgdHlwZSIpCisKKyAg
ICBkZWYgdGVzdF9wYXlsb2FkX3JlY2VpdmVkX3VuZXhwZWN0ZWRfZnJhbWUoc2VsZik6CisgICAg
ICAgIHdpdGggY2xpZW50X2FuZF9zZXJ2ZXIoKSBhcyAoY2xpZW50LCBzZXJ2ZXIpOgorICAgICAg
ICAgICAgIyBjbGllbnQgcmVjZWl2ZXMgQ1JZUFRPIGZyYW1lIGluIDAtUlRUCisgICAgICAgICAg
ICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFF1aWNDb25uZWN0aW9uRXJyb3IpIGFzIGNtOgorICAg
ICAgICAgICAgICAgIGNsaWVudC5fcGF5bG9hZF9yZWNlaXZlZCgKKyAgICAgICAgICAgICAgICAg
ICAgY2xpZW50X3JlY2VpdmVfY29udGV4dChjbGllbnQsIGVwb2NoPXRscy5FcG9jaC5aRVJPX1JU
VCksIGIiXHgwNiIKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKGNtLmV4Y2VwdGlvbi5lcnJvcl9jb2RlLCBRdWljRXJyb3JDb2RlLlBST1RPQ09MX1ZJT0xB
VElPTikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY20uZXhjZXB0aW9uLmZyYW1lX3R5
cGUsIFF1aWNGcmFtZVR5cGUuQ1JZUFRPKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChj
bS5leGNlcHRpb24ucmVhc29uX3BocmFzZSwgIlVuZXhwZWN0ZWQgZnJhbWUgdHlwZSIpCisKKyAg
ICBkZWYgdGVzdF9wYXlsb2FkX3JlY2VpdmVkX21hbGZvcm1lZF9mcmFtZShzZWxmKToKKyAgICAg
ICAgd2l0aCBjbGllbnRfYW5kX3NlcnZlcigpIGFzIChjbGllbnQsIHNlcnZlcik6CisgICAgICAg
ICAgICAjIGNsaWVudCByZWNlaXZlcyBtYWxmb3JtZWQgVFJBTlNQT1JUX0NMT1NFIGZyYW1lCisg
ICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFF1aWNDb25uZWN0aW9uRXJyb3IpIGFz
IGNtOgorICAgICAgICAgICAgICAgIGNsaWVudC5fcGF5bG9hZF9yZWNlaXZlZCgKKyAgICAgICAg
ICAgICAgICAgICAgY2xpZW50X3JlY2VpdmVfY29udGV4dChjbGllbnQpLCBiIlx4MWNceDAwXHgw
MSIKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAg
ICAgICAgICAgICAgIGNtLmV4Y2VwdGlvbi5lcnJvcl9jb2RlLCBRdWljRXJyb3JDb2RlLkZSQU1F
X0VOQ09ESU5HX0VSUk9SCisgICAgICAgICAgICApCisgICAgICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKGNtLmV4Y2VwdGlvbi5mcmFtZV90eXBlLCAweDFDKQorICAgICAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChjbS5leGNlcHRpb24ucmVhc29uX3BocmFzZSwgIkZhaWxlZCB0byBwYXJzZSBmcmFt
ZSIpCisKKyAgICBkZWYgdGVzdF9zZW5kX21heF9kYXRhX2Jsb2NrZWRfYnlfY2Moc2VsZik6Cisg
ICAgICAgIHdpdGggY2xpZW50X2FuZF9zZXJ2ZXIoKSBhcyAoY2xpZW50LCBzZXJ2ZXIpOgorICAg
ICAgICAgICAgIyBjaGVjayBjb25nZXN0aW9uIGNvbnRyb2wKKyAgICAgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoY2xpZW50Ll9sb3NzLmJ5dGVzX2luX2ZsaWdodCwgMCkKKyAgICAgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwoY2xpZW50Ll9sb3NzLmNvbmdlc3Rpb25fd2luZG93LCAxNDMwMykKKwor
ICAgICAgICAgICAgIyBhcnRpZmljaWFsbHkgcmFpc2UgcmVjZWl2ZWQgZGF0YSBjb3VudGVyCisg
ICAgICAgICAgICBjbGllbnQuX2xvY2FsX21heF9kYXRhX3VzZWQgPSBjbGllbnQuX2xvY2FsX21h
eF9kYXRhCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlcnZlci5fcmVtb3RlX21heF9k
YXRhLCAxMDQ4NTc2KQorCisgICAgICAgICAgICAjIGFydGlmaWNpYWxseSByYWlzZSBieXRlcyBp
biBmbGlnaHQKKyAgICAgICAgICAgIGNsaWVudC5fbG9zcy5fY2MuYnl0ZXNfaW5fZmxpZ2h0ID0g
MTQzMDMKKworICAgICAgICAgICAgIyBNQVhfREFUQSBpcyBub3Qgc2VudCBkdWUgdG8gY29uZ2Vz
dGlvbiBjb250cm9sCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRyb3AoY2xpZW50KSwg
MCkKKworICAgIGRlZiB0ZXN0X3NlbmRfbWF4X2RhdGFfcmV0cmFuc21pdChzZWxmKToKKyAgICAg
ICAgd2l0aCBjbGllbnRfYW5kX3NlcnZlcigpIGFzIChjbGllbnQsIHNlcnZlcik6CisgICAgICAg
ICAgICAjIGFydGlmaWNpYWxseSByYWlzZSByZWNlaXZlZCBkYXRhIGNvdW50ZXIKKyAgICAgICAg
ICAgIGNsaWVudC5fbG9jYWxfbWF4X2RhdGFfdXNlZCA9IGNsaWVudC5fbG9jYWxfbWF4X2RhdGEK
KyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VydmVyLl9yZW1vdGVfbWF4X2RhdGEsIDEw
NDg1NzYpCisKKyAgICAgICAgICAgICMgTUFYX0RBVEEgaXMgc2VudCBhbmQgbG9zdAorICAgICAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbChkcm9wKGNsaWVudCksIDEpCisgICAgICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKGNsaWVudC5fbG9jYWxfbWF4X2RhdGFfc2VudCwgMjA5NzE1MikKKyAgICAg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VydmVyLl9yZW1vdGVfbWF4X2RhdGEsIDEwNDg1NzYp
CisKKyAgICAgICAgICAgICMgTUFYX0RBVEEgaXMgcmV0cmFuc21pdHRlZCBhbmQgYWNrZWQKKyAg
ICAgICAgICAgIGNsaWVudC5fb25fbWF4X2RhdGFfZGVsaXZlcnkoUXVpY0RlbGl2ZXJ5U3RhdGUu
TE9TVCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2xpZW50Ll9sb2NhbF9tYXhfZGF0
YV9zZW50LCAwKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyb3VuZHRyaXAoY2xpZW50
LCBzZXJ2ZXIpLCAoMSwgMSkpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlcnZlci5f
cmVtb3RlX21heF9kYXRhLCAyMDk3MTUyKQorCisgICAgZGVmIHRlc3Rfc2VuZF9tYXhfc3RyZWFt
X2RhdGFfcmV0cmFuc21pdChzZWxmKToKKyAgICAgICAgd2l0aCBjbGllbnRfYW5kX3NlcnZlcigp
IGFzIChjbGllbnQsIHNlcnZlcik6CisgICAgICAgICAgICAjIGNsaWVudCBjcmVhdGVzIGJpZGly
ZWN0aW9uYWwgc3RyZWFtIDAKKyAgICAgICAgICAgIHN0cmVhbSA9IGNsaWVudC5fY3JlYXRlX3N0
cmVhbShzdHJlYW1faWQ9MCkKKyAgICAgICAgICAgIGNsaWVudC5zZW5kX3N0cmVhbV9kYXRhKDAs
IGIiaGVsbG8iKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHJlYW0ubWF4X3N0cmVh
bV9kYXRhX2xvY2FsLCAxMDQ4NTc2KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHJl
YW0ubWF4X3N0cmVhbV9kYXRhX2xvY2FsX3NlbnQsIDEwNDg1NzYpCisgICAgICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKHJvdW5kdHJpcChjbGllbnQsIHNlcnZlciksICgxLCAxKSkKKworICAgICAg
ICAgICAgIyBzZXJ2ZXIgc2VuZHMgZGF0YSwganVzdCBiZWZvcmUgcmFpc2luZyBNQVhfU1RSRUFN
X0RBVEEKKyAgICAgICAgICAgIHNlcnZlci5zZW5kX3N0cmVhbV9kYXRhKDAsIGIiWiIgKiA1MjQy
ODgpICAjIDEwNDg1NzYgLy8gMgorICAgICAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMTApOgorICAg
ICAgICAgICAgICAgIHJvdW5kdHJpcChzZXJ2ZXIsIGNsaWVudCkKKyAgICAgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwoc3RyZWFtLm1heF9zdHJlYW1fZGF0YV9sb2NhbCwgMTA0ODU3NikKKyAgICAg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyZWFtLm1heF9zdHJlYW1fZGF0YV9sb2NhbF9zZW50
LCAxMDQ4NTc2KQorCisgICAgICAgICAgICAjIHNlcnZlciBzZW5kcyBvbmUgbW9yZSBieXRlCisg
ICAgICAgICAgICBzZXJ2ZXIuc2VuZF9zdHJlYW1fZGF0YSgwLCBiIloiKQorICAgICAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbCh0cmFuc2ZlcihzZXJ2ZXIsIGNsaWVudCksIDEpCisKKyAgICAgICAg
ICAgICMgTUFYX1NUUkVBTV9EQVRBIGlzIHNlbnQgYW5kIGxvc3QKKyAgICAgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwoZHJvcChjbGllbnQpLCAxKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChzdHJlYW0ubWF4X3N0cmVhbV9kYXRhX2xvY2FsLCAyMDk3MTUyKQorICAgICAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChzdHJlYW0ubWF4X3N0cmVhbV9kYXRhX2xvY2FsX3NlbnQsIDIwOTcxNTIp
CisgICAgICAgICAgICBjbGllbnQuX29uX21heF9zdHJlYW1fZGF0YV9kZWxpdmVyeShRdWljRGVs
aXZlcnlTdGF0ZS5MT1NULCBzdHJlYW0pCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0
cmVhbS5tYXhfc3RyZWFtX2RhdGFfbG9jYWwsIDIwOTcxNTIpCisgICAgICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKHN0cmVhbS5tYXhfc3RyZWFtX2RhdGFfbG9jYWxfc2VudCwgMCkKKworICAgICAg
ICAgICAgIyBNQVhfREFUQSBpcyByZXRyYW5zbWl0dGVkIGFuZCBhY2tlZAorICAgICAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChyb3VuZHRyaXAoY2xpZW50LCBzZXJ2ZXIpLCAoMSwgMSkpCisgICAg
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cmVhbS5tYXhfc3RyZWFtX2RhdGFfbG9jYWwsIDIw
OTcxNTIpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cmVhbS5tYXhfc3RyZWFtX2Rh
dGFfbG9jYWxfc2VudCwgMjA5NzE1MikKKworICAgIGRlZiB0ZXN0X3NlbmRfcGluZyhzZWxmKToK
KyAgICAgICAgd2l0aCBjbGllbnRfYW5kX3NlcnZlcigpIGFzIChjbGllbnQsIHNlcnZlcik6Cisg
ICAgICAgICAgICBjb25zdW1lX2V2ZW50cyhjbGllbnQpCisKKyAgICAgICAgICAgICMgY2xpZW50
IHNlbmRzIHBpbmcsIHNlcnZlciBBQ0tzIGl0CisgICAgICAgICAgICBjbGllbnQuc2VuZF9waW5n
KHVpZD0xMjM0NSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocm91bmR0cmlwKGNsaWVu
dCwgc2VydmVyKSwgKDEsIDEpKQorCisgICAgICAgICAgICAjIGNoZWNrIGV2ZW50CisgICAgICAg
ICAgICBldmVudCA9IGNsaWVudC5uZXh0X2V2ZW50KCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwodHlwZShldmVudCksIGV2ZW50cy5QaW5nQWNrbm93bGVkZ2VkKQorICAgICAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChldmVudC51aWQsIDEyMzQ1KQorCisgICAgZGVmIHRlc3Rfc2VuZF9w
aW5nX3JldHJhbnNtaXQoc2VsZik6CisgICAgICAgIHdpdGggY2xpZW50X2FuZF9zZXJ2ZXIoKSBh
cyAoY2xpZW50LCBzZXJ2ZXIpOgorICAgICAgICAgICAgY29uc3VtZV9ldmVudHMoY2xpZW50KQor
CisgICAgICAgICAgICAjIGNsaWVudCBzZW5kcyBhbm90aGVyIHBpbmcsIFBJTkcgaXMgbG9zdAor
ICAgICAgICAgICAgY2xpZW50LnNlbmRfcGluZyh1aWQ9MTIzNDUpCisgICAgICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKGRyb3AoY2xpZW50KSwgMSkKKworICAgICAgICAgICAgIyBQSU5HIGlzIHJl
dHJhbnNtaXR0ZWQgYW5kIGFja2VkCisgICAgICAgICAgICBjbGllbnQuX29uX3BpbmdfZGVsaXZl
cnkoUXVpY0RlbGl2ZXJ5U3RhdGUuTE9TVCwgKDEyMzQ1LCkpCisgICAgICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKHJvdW5kdHJpcChjbGllbnQsIHNlcnZlciksICgxLCAxKSkKKworICAgICAgICAg
ICAgIyBjaGVjayBldmVudAorICAgICAgICAgICAgZXZlbnQgPSBjbGllbnQubmV4dF9ldmVudCgp
CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHR5cGUoZXZlbnQpLCBldmVudHMuUGluZ0Fj
a25vd2xlZGdlZCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXZlbnQudWlkLCAxMjM0
NSkKKworICAgIGRlZiB0ZXN0X3NlbmRfc3RyZWFtX2RhdGFfb3Zlcl9tYXhfc3RyZWFtc19iaWRp
KHNlbGYpOgorICAgICAgICB3aXRoIGNsaWVudF9hbmRfc2VydmVyKCkgYXMgKGNsaWVudCwgc2Vy
dmVyKToKKyAgICAgICAgICAgICMgY3JlYXRlIHN0cmVhbXMKKyAgICAgICAgICAgIGZvciBpIGlu
IHJhbmdlKDEyOCk6CisgICAgICAgICAgICAgICAgc3RyZWFtX2lkID0gaSAqIDQKKyAgICAgICAg
ICAgICAgICBjbGllbnQuc2VuZF9zdHJlYW1fZGF0YShzdHJlYW1faWQsIGIiIikKKyAgICAgICAg
ICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGNsaWVudC5fc3RyZWFtc1tzdHJlYW1faWRdLmlzX2Js
b2NrZWQpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihjbGllbnQuX3N0cmVhbXNf
YmxvY2tlZF9iaWRpKSwgMCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGNsaWVu
dC5fc3RyZWFtc19ibG9ja2VkX3VuaSksIDApCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KHJvdW5kdHJpcChjbGllbnQsIHNlcnZlciksICgwLCAwKSkKKworICAgICAgICAgICAgIyBjcmVh
dGUgb25lIHRvbyBtYW55IC0+IFNUUkVBTVNfQkxPQ0tFRAorICAgICAgICAgICAgc3RyZWFtX2lk
ID0gMTI4ICogNAorICAgICAgICAgICAgY2xpZW50LnNlbmRfc3RyZWFtX2RhdGEoc3RyZWFtX2lk
LCBiIiIpCisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoY2xpZW50Ll9zdHJlYW1zW3N0cmVh
bV9pZF0uaXNfYmxvY2tlZCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGNsaWVu
dC5fc3RyZWFtc19ibG9ja2VkX2JpZGkpLCAxKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChsZW4oY2xpZW50Ll9zdHJlYW1zX2Jsb2NrZWRfdW5pKSwgMCkKKyAgICAgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwocm91bmR0cmlwKGNsaWVudCwgc2VydmVyKSwgKDEsIDEpKQorCisgICAgICAg
ICAgICAjIHBlZXIgcmFpc2VzIG1heCBzdHJlYW1zCisgICAgICAgICAgICBjbGllbnQuX2hhbmRs
ZV9tYXhfc3RyZWFtc19iaWRpX2ZyYW1lKAorICAgICAgICAgICAgICAgIGNsaWVudF9yZWNlaXZl
X2NvbnRleHQoY2xpZW50KSwKKyAgICAgICAgICAgICAgICBRdWljRnJhbWVUeXBlLk1BWF9TVFJF
QU1TX0JJREksCisgICAgICAgICAgICAgICAgQnVmZmVyKGRhdGE9ZW5jb2RlX3VpbnRfdmFyKDEy
OSkpLAorICAgICAgICAgICAgKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShjbGllbnQu
X3N0cmVhbXNbc3RyZWFtX2lkXS5pc19ibG9ja2VkKQorCisgICAgZGVmIHRlc3Rfc2VuZF9zdHJl
YW1fZGF0YV9vdmVyX21heF9zdHJlYW1zX3VuaShzZWxmKToKKyAgICAgICAgd2l0aCBjbGllbnRf
YW5kX3NlcnZlcigpIGFzIChjbGllbnQsIHNlcnZlcik6CisgICAgICAgICAgICAjIGNyZWF0ZSBz
dHJlYW1zCisgICAgICAgICAgICBmb3IgaSBpbiByYW5nZSgxMjgpOgorICAgICAgICAgICAgICAg
IHN0cmVhbV9pZCA9IGkgKiA0ICsgMgorICAgICAgICAgICAgICAgIGNsaWVudC5zZW5kX3N0cmVh
bV9kYXRhKHN0cmVhbV9pZCwgYiIiKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uo
Y2xpZW50Ll9zdHJlYW1zW3N0cmVhbV9pZF0uaXNfYmxvY2tlZCkKKyAgICAgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwobGVuKGNsaWVudC5fc3RyZWFtc19ibG9ja2VkX2JpZGkpLCAwKQorICAgICAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oY2xpZW50Ll9zdHJlYW1zX2Jsb2NrZWRfdW5pKSwg
MCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocm91bmR0cmlwKGNsaWVudCwgc2VydmVy
KSwgKDAsIDApKQorCisgICAgICAgICAgICAjIGNyZWF0ZSBvbmUgdG9vIG1hbnkgLT4gU1RSRUFN
U19CTE9DS0VECisgICAgICAgICAgICBzdHJlYW1faWQgPSAxMjggKiA0ICsgMgorICAgICAgICAg
ICAgY2xpZW50LnNlbmRfc3RyZWFtX2RhdGEoc3RyZWFtX2lkLCBiIiIpCisgICAgICAgICAgICBz
ZWxmLmFzc2VydFRydWUoY2xpZW50Ll9zdHJlYW1zW3N0cmVhbV9pZF0uaXNfYmxvY2tlZCkKKyAg
ICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGNsaWVudC5fc3RyZWFtc19ibG9ja2VkX2Jp
ZGkpLCAwKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oY2xpZW50Ll9zdHJlYW1z
X2Jsb2NrZWRfdW5pKSwgMSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocm91bmR0cmlw
KGNsaWVudCwgc2VydmVyKSwgKDEsIDEpKQorCisgICAgICAgICAgICAjIHBlZXIgcmFpc2VzIG1h
eCBzdHJlYW1zCisgICAgICAgICAgICBjbGllbnQuX2hhbmRsZV9tYXhfc3RyZWFtc191bmlfZnJh
bWUoCisgICAgICAgICAgICAgICAgY2xpZW50X3JlY2VpdmVfY29udGV4dChjbGllbnQpLAorICAg
ICAgICAgICAgICAgIFF1aWNGcmFtZVR5cGUuTUFYX1NUUkVBTVNfVU5JLAorICAgICAgICAgICAg
ICAgIEJ1ZmZlcihkYXRhPWVuY29kZV91aW50X3ZhcigxMjkpKSwKKyAgICAgICAgICAgICkKKyAg
ICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoY2xpZW50Ll9zdHJlYW1zW3N0cmVhbV9pZF0uaXNf
YmxvY2tlZCkKKworICAgIGRlZiB0ZXN0X3NlbmRfc3RyZWFtX2RhdGFfcGVlcl9pbml0aWF0ZWQo
c2VsZik6CisgICAgICAgIHdpdGggY2xpZW50X2FuZF9zZXJ2ZXIoKSBhcyAoY2xpZW50LCBzZXJ2
ZXIpOgorICAgICAgICAgICAgIyBzZXJ2ZXIgY3JlYXRlcyBiaWRpcmVjdGlvbmFsIHN0cmVhbQor
ICAgICAgICAgICAgc2VydmVyLnNlbmRfc3RyZWFtX2RhdGEoMSwgYiJoZWxsbyIpCisgICAgICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKHJvdW5kdHJpcChzZXJ2ZXIsIGNsaWVudCksICgxLCAxKSkK
KworICAgICAgICAgICAgIyBzZXJ2ZXIgY3JlYXRlcyB1bmlkaXJlY3Rpb25hbCBzdHJlYW0KKyAg
ICAgICAgICAgIHNlcnZlci5zZW5kX3N0cmVhbV9kYXRhKDMsIGIiaGVsbG8iKQorICAgICAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChyb3VuZHRyaXAoc2VydmVyLCBjbGllbnQpLCAoMSwgMSkpCisK
KyAgICAgICAgICAgICMgY2xpZW50IGNyZWF0ZXMgYmlkaXJlY3Rpb25hbCBzdHJlYW0KKyAgICAg
ICAgICAgIGNsaWVudC5zZW5kX3N0cmVhbV9kYXRhKDAsIGIiaGVsbG8iKQorICAgICAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChyb3VuZHRyaXAoY2xpZW50LCBzZXJ2ZXIpLCAoMSwgMSkpCisKKyAg
ICAgICAgICAgICMgY2xpZW50IHNlbmRzIGRhdGEgb24gc2VydmVyLWluaXRpYXRlZCBiaWRpcmVj
dGlvbmFsIHN0cmVhbQorICAgICAgICAgICAgY2xpZW50LnNlbmRfc3RyZWFtX2RhdGEoMSwgYiJo
ZWxsbyIpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJvdW5kdHJpcChjbGllbnQsIHNl
cnZlciksICgxLCAxKSkKKworICAgICAgICAgICAgIyBjbGllbnQgY3JlYXRlIHVuaWRpcmVjdGlv
bmFsIHN0cmVhbQorICAgICAgICAgICAgY2xpZW50LnNlbmRfc3RyZWFtX2RhdGEoMiwgYiJoZWxs
byIpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJvdW5kdHJpcChjbGllbnQsIHNlcnZl
ciksICgxLCAxKSkKKworICAgICAgICAgICAgIyBjbGllbnQgdHJpZXMgdG8gc2VuZCBkYXRhIG9u
IHNlcnZlci1pbml0aWFsIHVuaWRpcmVjdGlvbmFsIHN0cmVhbQorICAgICAgICAgICAgd2l0aCBz
ZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yKSBhcyBjbToKKyAgICAgICAgICAgICAgICBjbGll
bnQuc2VuZF9zdHJlYW1fZGF0YSgzLCBiImhlbGxvIikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwoCisgICAgICAgICAgICAgICAgc3RyKGNtLmV4Y2VwdGlvbiksCisgICAgICAgICAgICAg
ICAgIkNhbm5vdCBzZW5kIGRhdGEgb24gcGVlci1pbml0aWF0ZWQgdW5pZGlyZWN0aW9uYWwgc3Ry
ZWFtIiwKKyAgICAgICAgICAgICkKKworICAgICAgICAgICAgIyBjbGllbnQgdHJpZXMgdG8gc2Vu
ZCBkYXRhIG9uIHVua25vd24gc2VydmVyLWluaXRpYXRlZCBiaWRpcmVjdGlvbmFsIHN0cmVhbQor
ICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yKSBhcyBjbToKKyAg
ICAgICAgICAgICAgICBjbGllbnQuc2VuZF9zdHJlYW1fZGF0YSg1LCBiImhlbGxvIikKKyAgICAg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICAgICAgc3RyKGNtLmV4Y2VwdGlv
biksICJDYW5ub3Qgc2VuZCBkYXRhIG9uIHVua25vd24gcGVlci1pbml0aWF0ZWQgc3RyZWFtIgor
ICAgICAgICAgICAgKQorCisgICAgZGVmIHRlc3Rfc3RyZWFtX2RpcmVjdGlvbihzZWxmKToKKyAg
ICAgICAgd2l0aCBjbGllbnRfYW5kX3NlcnZlcigpIGFzIChjbGllbnQsIHNlcnZlcik6CisgICAg
ICAgICAgICBmb3Igb2ZmIGluIFswLCA0LCA4XToKKyAgICAgICAgICAgICAgICAjIENsaWVudC1J
bml0aWF0ZWQsIEJpZGlyZWN0aW9uYWwKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUo
Y2xpZW50Ll9zdHJlYW1fY2FuX3JlY2VpdmUob2ZmKSkKKyAgICAgICAgICAgICAgICBzZWxmLmFz
c2VydFRydWUoY2xpZW50Ll9zdHJlYW1fY2FuX3NlbmQob2ZmKSkKKyAgICAgICAgICAgICAgICBz
ZWxmLmFzc2VydFRydWUoc2VydmVyLl9zdHJlYW1fY2FuX3JlY2VpdmUob2ZmKSkKKyAgICAgICAg
ICAgICAgICBzZWxmLmFzc2VydFRydWUoc2VydmVyLl9zdHJlYW1fY2FuX3NlbmQob2ZmKSkKKwor
ICAgICAgICAgICAgICAgICMgU2VydmVyLUluaXRpYXRlZCwgQmlkaXJlY3Rpb25hbAorICAgICAg
ICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjbGllbnQuX3N0cmVhbV9jYW5fcmVjZWl2ZShvZmYg
KyAxKSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoY2xpZW50Ll9zdHJlYW1fY2Fu
X3NlbmQob2ZmICsgMSkpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNlcnZlci5f
c3RyZWFtX2Nhbl9yZWNlaXZlKG9mZiArIDEpKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0
VHJ1ZShzZXJ2ZXIuX3N0cmVhbV9jYW5fc2VuZChvZmYgKyAxKSkKKworICAgICAgICAgICAgICAg
ICMgQ2xpZW50LUluaXRpYXRlZCwgVW5pZGlyZWN0aW9uYWwKKyAgICAgICAgICAgICAgICBzZWxm
LmFzc2VydEZhbHNlKGNsaWVudC5fc3RyZWFtX2Nhbl9yZWNlaXZlKG9mZiArIDIpKQorICAgICAg
ICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjbGllbnQuX3N0cmVhbV9jYW5fc2VuZChvZmYgKyAy
KSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoc2VydmVyLl9zdHJlYW1fY2FuX3Jl
Y2VpdmUob2ZmICsgMikpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShzZXJ2ZXIu
X3N0cmVhbV9jYW5fc2VuZChvZmYgKyAyKSkKKworICAgICAgICAgICAgICAgICMgU2VydmVyLUlu
aXRpYXRlZCwgVW5pZGlyZWN0aW9uYWwKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUo
Y2xpZW50Ll9zdHJlYW1fY2FuX3JlY2VpdmUob2ZmICsgMykpCisgICAgICAgICAgICAgICAgc2Vs
Zi5hc3NlcnRGYWxzZShjbGllbnQuX3N0cmVhbV9jYW5fc2VuZChvZmYgKyAzKSkKKyAgICAgICAg
ICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHNlcnZlci5fc3RyZWFtX2Nhbl9yZWNlaXZlKG9mZiAr
IDMpKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzZXJ2ZXIuX3N0cmVhbV9jYW5f
c2VuZChvZmYgKyAzKSkKKworICAgIGRlZiB0ZXN0X3ZlcnNpb25fbmVnb3RpYXRpb25fZmFpbChz
ZWxmKToKKyAgICAgICAgY2xpZW50ID0gY3JlYXRlX3N0YW5kYWxvbmVfY2xpZW50KHNlbGYpCisK
KyAgICAgICAgIyBubyBjb21tb24gdmVyc2lvbiwgbm8gcmV0cnkKKyAgICAgICAgY2xpZW50LnJl
Y2VpdmVfZGF0YWdyYW0oCisgICAgICAgICAgICBlbmNvZGVfcXVpY192ZXJzaW9uX25lZ290aWF0
aW9uKAorICAgICAgICAgICAgICAgIHNvdXJjZV9jaWQ9Y2xpZW50Ll9wZWVyX2NpZCwKKyAgICAg
ICAgICAgICAgICBkZXN0aW5hdGlvbl9jaWQ9Y2xpZW50Lmhvc3RfY2lkLAorICAgICAgICAgICAg
ICAgIHN1cHBvcnRlZF92ZXJzaW9ucz1bMHhGRjAwMDAxMV0sICAjIERSQUZUXzE2CisgICAgICAg
ICAgICApLAorICAgICAgICAgICAgU0VSVkVSX0FERFIsCisgICAgICAgICAgICBub3c9dGltZS50
aW1lKCksCisgICAgICAgICkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkcm9wKGNsaWVudCks
IDApCisKKyAgICAgICAgZXZlbnQgPSBjbGllbnQubmV4dF9ldmVudCgpCisgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwodHlwZShldmVudCksIGV2ZW50cy5Db25uZWN0aW9uVGVybWluYXRlZCkKKyAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbChldmVudC5lcnJvcl9jb2RlLCBRdWljRXJyb3JDb2RlLklO
VEVSTkFMX0VSUk9SKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV2ZW50LmZyYW1lX3R5cGUs
IE5vbmUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBldmVudC5yZWFz
b25fcGhyYXNlLCAiQ291bGQgbm90IGZpbmQgYSBjb21tb24gcHJvdG9jb2wgdmVyc2lvbiIKKyAg
ICAgICAgKQorCisgICAgZGVmIHRlc3RfdmVyc2lvbl9uZWdvdGlhdGlvbl9vayhzZWxmKToKKyAg
ICAgICAgY2xpZW50ID0gY3JlYXRlX3N0YW5kYWxvbmVfY2xpZW50KHNlbGYpCisKKyAgICAgICAg
IyBmb3VuZCBhIGNvbW1vbiB2ZXJzaW9uLCByZXRyeQorICAgICAgICBjbGllbnQucmVjZWl2ZV9k
YXRhZ3JhbSgKKyAgICAgICAgICAgIGVuY29kZV9xdWljX3ZlcnNpb25fbmVnb3RpYXRpb24oCisg
ICAgICAgICAgICAgICAgc291cmNlX2NpZD1jbGllbnQuX3BlZXJfY2lkLAorICAgICAgICAgICAg
ICAgIGRlc3RpbmF0aW9uX2NpZD1jbGllbnQuaG9zdF9jaWQsCisgICAgICAgICAgICAgICAgc3Vw
cG9ydGVkX3ZlcnNpb25zPVtjbGllbnQuX3ZlcnNpb25dLAorICAgICAgICAgICAgKSwKKyAgICAg
ICAgICAgIFNFUlZFUl9BRERSLAorICAgICAgICAgICAgbm93PXRpbWUudGltZSgpLAorICAgICAg
ICApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZHJvcChjbGllbnQpLCAxKQorCisKK2NsYXNz
IFF1aWNOZXR3b3JrUGF0aFRlc3QoVGVzdENhc2UpOgorICAgIGRlZiB0ZXN0X2Nhbl9zZW5kKHNl
bGYpOgorICAgICAgICBwYXRoID0gUXVpY05ldHdvcmtQYXRoKCgiMS4yLjMuNCIsIDEyMzQpKQor
ICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHBhdGguaXNfdmFsaWRhdGVkKQorCisgICAgICAgICMg
aW5pdGlhbGx5LCBjYW5ub3Qgc2VuZCBhbnkgZGF0YQorICAgICAgICBzZWxmLmFzc2VydFRydWUo
cGF0aC5jYW5fc2VuZCgwKSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShwYXRoLmNhbl9zZW5k
KDEpKQorCisgICAgICAgICMgcmVjZWl2ZSBzb21lIGRhdGEKKyAgICAgICAgcGF0aC5ieXRlc19y
ZWNlaXZlZCArPSAxCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShwYXRoLmNhbl9zZW5kKDApKQor
ICAgICAgICBzZWxmLmFzc2VydFRydWUocGF0aC5jYW5fc2VuZCgxKSkKKyAgICAgICAgc2VsZi5h
c3NlcnRUcnVlKHBhdGguY2FuX3NlbmQoMikpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShwYXRo
LmNhbl9zZW5kKDMpKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHBhdGguY2FuX3NlbmQoNCkp
CisKKyAgICAgICAgIyBzZW5kIHNvbWUgZGF0YQorICAgICAgICBwYXRoLmJ5dGVzX3NlbnQgKz0g
MworICAgICAgICBzZWxmLmFzc2VydFRydWUocGF0aC5jYW5fc2VuZCgwKSkKKyAgICAgICAgc2Vs
Zi5hc3NlcnRGYWxzZShwYXRoLmNhbl9zZW5kKDEpKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWlj
L3Rlc3RzL3Rlc3RfY3J5cHRvLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3Rlc3RzL3Rlc3RfY3J5cHRvLnB5
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjQyNGU0ZGNmNWUxOGU0NzAyNDUwZDFiZWJmNDlkZmZjMjEzZTYyZDUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvdGVzdHMvdGVzdF9jcnlwdG8ucHkKQEAgLTAs
MCArMSwzMTkgQEAKK2ltcG9ydCBiaW5hc2NpaQorZnJvbSB1bml0dGVzdCBpbXBvcnQgVGVzdENh
c2UsIHNraXBJZgorCitmcm9tIGFpb3F1aWMuYnVmZmVyIGltcG9ydCBCdWZmZXIKK2Zyb20gYWlv
cXVpYy5xdWljLmNyeXB0byBpbXBvcnQgKAorICAgIElOSVRJQUxfQ0lQSEVSX1NVSVRFLAorICAg
IENyeXB0b0Vycm9yLAorICAgIENyeXB0b1BhaXIsCisgICAgZGVyaXZlX2tleV9pdl9ocCwKKykK
K2Zyb20gYWlvcXVpYy5xdWljLnBhY2tldCBpbXBvcnQgUEFDS0VUX0ZJWEVEX0JJVCwgUXVpY1By
b3RvY29sVmVyc2lvbgorZnJvbSBhaW9xdWljLnRscyBpbXBvcnQgQ2lwaGVyU3VpdGUKKworZnJv
bSAudXRpbHMgaW1wb3J0IFNLSVBfVEVTVFMKKworUFJPVE9DT0xfVkVSU0lPTiA9IFF1aWNQcm90
b2NvbFZlcnNpb24uRFJBRlRfMjUKKworQ0hBQ0hBMjBfQ0xJRU5UX1BBQ0tFVF9OVU1CRVIgPSAy
CitDSEFDSEEyMF9DTElFTlRfUExBSU5fSEVBREVSID0gYmluYXNjaWkudW5oZXhsaWZ5KAorICAg
ICJlMWZmMDAwMDE2MDg4MGI1N2M3YjcwZDg1MjRiMDg1MGZjMmEyOGUyNDBmZDc2NDAxNzAwMDIi
CispCitDSEFDSEEyMF9DTElFTlRfUExBSU5fUEFZTE9BRCA9IGJpbmFzY2lpLnVuaGV4bGlmeSgi
MDIwMTAwMDAwMCIpCitDSEFDSEEyMF9DTElFTlRfRU5DUllQVEVEX1BBQ0tFVCA9IGJpbmFzY2lp
LnVuaGV4bGlmeSgKKyAgICAiZThmZjAwMDAxNjA4ODBiNTdjN2I3MGQ4NTI0YjA4NTBmYzJhMjhl
MjQwZmQ3NjQwMTc4MzEzYjA0YmU5ODQ0OSIKKyAgICAiZWIxMDU2N2UyNWNlOTMwMzgxZjJhNWI3
ZGEyZGI4ZGIiCispCisKK0xPTkdfQ0xJRU5UX1BBQ0tFVF9OVU1CRVIgPSAyCitMT05HX0NMSUVO
VF9QTEFJTl9IRUFERVIgPSBiaW5hc2NpaS51bmhleGxpZnkoCisgICAgImMzZmYwMDAwMTcwODgz
OTRjOGYwM2U1MTU3MDgwMDAwNDQ5ZTAwMDAwMDAyIgorKQorTE9OR19DTElFTlRfUExBSU5fUEFZ
TE9BRCA9IGJpbmFzY2lpLnVuaGV4bGlmeSgKKyAgICAiMDYwMDQwYzQwMTAwMDBjMDAzMDM2NjYw
MjYxZmY5NDdjZWE0OWNjZTZjZmFkNjg3ZjQ1N2NmMWIxNDUzMWJhMSIKKyAgICAiNDEzMWEwZThm
MzA5YTFkMGI5YzQwMDAwMDYxMzAxMTMwMzEzMDIwMTAwMDA5MTAwMDAwMDBiMDAwOTAwMDAwNiIK
KyAgICAiNzM2NTcyNzY2NTcyZmYwMTAwMDEwMDAwMGEwMDE0MDAxMjAwMWQwMDE3MDAxODAwMTkw
MTAwMDEwMTAxMDIwMSIKKyAgICAiMDMwMTA0MDAyMzAwMDAwMDMzMDAyNjAwMjQwMDFkMDAyMDRj
ZmRmY2QxNzhiNzg0YmYzMjhjYWU3OTNiMTM2ZiIKKyAgICAiMmFlZGNlMDA1ZmYxODNkN2JiMTQ5
NTIwNzIzNjY0NzAzNzAwMmIwMDAzMDIwMzA0MDAwZDAwMjAwMDFlMDQwMyIKKyAgICAiMDUwMzA2
MDMwMjAzMDgwNDA4MDUwODA2MDQwMTA1MDEwNjAxMDIwMTA0MDIwNTAyMDYwMjAyMDIwMDJkMDAw
MiIKKyAgICAiMDEwMTAwMWMwMDAyNDAwMSIKKykgKyBieXRlcyg5NjIpCitMT05HX0NMSUVOVF9F
TkNSWVBURURfUEFDS0VUID0gYmluYXNjaWkudW5oZXhsaWZ5KAorICAgICJjMGZmMDAwMDE3MDg4
Mzk0YzhmMDNlNTE1NzA4MDAwMDQ0OWUzYjM0M2FhODUzNTA2NGE0MjY4YTBkOWQ3YjFjIgorICAg
ICI5ZDI1MGFlMzU1MTYyMjc2ZTliMWUzMDExZWY2YmJjMGFiNDhhZDViY2MyNjgxZTk1Mzg1N2Nh
NjJiZWNkNzUyIgorICAgICI0ZGFhYzQ3M2U2OGQ3NDA1ZmJiYTRlOWVlNjE2Yzg3MDM4YmRiZTkw
OGMwNmQ5NjA1ZDlhYzQ5MDMwMzU5ZWVjIgorICAgICJiMWQwNWExNGUxMTdkYjhjZWRlMmJiMDlk
MGRiYmZlZTI3MWNiMzc0ZDhmMTBhYmVjODJkMGY1OWExZGVlMjlmIgorICAgICJlOTU2MzhlZDhk
ZDQxZGEwNzQ4NzQ2ODc5MWI3MTljNTVjNDY5NjhlYjNiNTQ2ODAwMzcxMDJhMjhlNTNkYzFkIgor
ICAgICIxMjkwM2RiMGFmNTgyMTc5NGI0MWM0YTkzMzU3ZmE1OWNlNjljZmU3ZjZiZGZhNjI5ZWVm
Nzg2MTY0NDdlMWQ2IgorICAgICIxMWM0YmFmNzFiZjMzZmViY2IwMzEzN2MyYzc1ZDI1MzE3ZDNl
MTNiNjg0MzcwZjY2ODQxMWMwZjAwMzA0YjUwIgorICAgICIxYzhmZDQyMmJkOWI5YWQ4MWQ2NDNi
MjBkYTg5Y2EwNTI1ZDI0ZDJiMTQyMDQxY2FlMGFmMjA1MDkyZTQzMDA4IgorICAgICIwY2Q4NTU5
ZWE0YzVjNmU0ZmEzZjY2MDgyYjdkMzAzZTUyY2UwMTYyYmFhOTU4NTMyYjBiYmMyYmM3ODU2ODFm
IgorICAgICJjZjM3NDg1ZGZmNjU5NWUwMWU3MzljOGFjOWVmYmEzMWI5ODVkNWY2NTZjYzA5MjQz
MmQ3ODFkYjk1MjIxNzI0IgorICAgICI4NzY0MWM0ZDNhYjhlY2UwMWUzOWJjODViMTU0MzY2MTQ3
NzVhOThiYThmYTEyZDQ2ZjliMzVlMmE1NWViNzJkIgorICAgICI3Zjg1MTgxYTM2NjY2MzM4N2Rk
YzIwNTUxODA3ZTAwNzY3M2JkN2UyNmJmOWIyOWI1YWIxMGExY2E4N2NiYjdhIgorICAgICJkOTdl
OTllYjY2OTU5YzJhOWJjM2NiZGU0NzA3ZmY3NzIwYjExMGZhOTUzNTQ2NzRlMzk1ODEyZTQ3YTBh
ZTUzIgorICAgICJiNDY0ZGNiMmQxZjM0NWRmMzYwZGMyMjcyNzBjNzUwNjc2ZjY3MjRlYjQ3OWYw
ZDJmYmI2MTI0NDI5OTkwNDU3IgorICAgICJhYzZjOTE2N2Y0MGFhYjczOTk5OGYzOGI5ZWNjYjI0
ZmQ0N2M4NDEwMTMxYmY2NWE1MmFmODQxMjc1ZDViM2QxIgorICAgICI4ODBiMTk3ZGYyYjVkZWEz
ZTZkZTU2ZWJjZTNmZmI2ZTkyNzdhODIwODJmOGQ5Njc3YTY3NjcwODliNjcxZWJkIgorICAgICIy
NDRjMjE0ZjBiZGU5NWMyYmViMDJjZDExNzJkNThiZGYzOWRjZTU2ZmY2OGViMzVhYjM5YjQ5YjRl
YWM3YzgxIgorICAgICI1ZWE2MDQ1MWQ2ZTZhYjgyMTE5MTE4ZGYwMmE1ODY4NDRhOWZmZTE2MmJh
MDA2ZDA2NjllZjU3NjY4Y2FiMzhiIgorICAgICI2MmY3MWEyNTIzYTA4NDg1MmNkMWQwNzliMzY1
OGRjMmYzZTg3OTQ5YjU1MGJhYjNlMTc3Y2ZjNDllZDE5MGRmIgorICAgICJmMDYzMGU0MzA3N2Mz
MGRlOGY2YWUwODE1MzdmMWU4M2RhNTM3ZGE5ODBhZmE2NjhlN2I3ZmIyNTMwMWNmNzQxIgorICAg
ICI1MjRiZTNjNDk4ODRiNDI4MjFmMTc1NTJmYmQxOTMxYTgxMzAxN2I2YjY1OTBhNDFlYTE4YjZi
YTQ5Y2Q0OGE0IgorICAgICI0MGJkOWEzMzQ2YTc2MjNmYjRiYTM0YTNlZTU3MWUzYzczMWYzNWE3
YTNjZjI1YjU1MWE2ODBmYTY4NzYzNTA3IgorICAgICJiN2ZkZTNhYWYwMjNjNTBiOWQyMmRhNjg3
NmJhMzM3ZWI1ZTlkZDllYzNkYWY5NzAyNDJiNmM1YWFiM2FhNGIyIgorICAgICI5NmFkOGI5ZjY4
MzJmNjg2ZWY3MGZhOTM4YjMxYjRlNWRkZDczNjQ0NDJkM2VhNzJlNzNkNjY4ZmIwOTM3Nzk2Igor
ICAgICJmNDYyOTIzYTgxYTQ3ZTFjZWU3NDI2ZmY2ZDkyMjEyNjliNWE2MmVjMDNkNmVjOTRkMTI2
MDZjYjQ4NTU2MGJhIgorICAgICJiNTc0ODE2MDA5ZTk2NTA0MjQ5Mzg1YmI2MWE4MTliZTA0ZjYy
YzIwNjYyMTRkODM2MGEyMDIyYmViMzE2MjQwIgorICAgICJiNmM3ZDc4YmJlNTZjMTMwODJlMGNh
MjcyNjYxMjEwYWJmMDIwYmYzYjU3ODNmMTQyNjQzNmNmOWZmNDE4NDA1IgorICAgICI5M2E1ZDA2
MzhkMzJmYzUxYzVjNjVmZjI5MWEzYTdhNTJmZDY3NzVlNjIzYTQ0MzljYzA4ZGQyNTU4MmZlYmM5
IgorICAgICI0NGVmOTJkOGRiZDMyOWM5MWRlM2U5Yzk1ODJlNDFmMTdmM2QxODZmMTA0YWQzZjkw
OTk1MTE2YzY4MmEyYTE0IgorICAgICJhM2I0YjFmNTQ3YzMzNWYwYmU3MTBmYzlmYzAzZTBlNTg3
YjhjZGEzMWNlNjViOTY5ODc4YTRhZDQyODNlNmQ1IgorICAgICJiMDM3M2Y0M2RhODZlOWUwZmZl
MWFlMGZkZGQzNTE2MjU1YmQ3NDU2NmYzNmEzODcwM2Q1ZjM0MjQ5ZGVkMWY2IgorICAgICI2YjNk
OWI0NWI5YWYyY2NmZWZlOTg0ZTEzMzc2YjFiMmM2NDA0YWE0OGM4MDI2MTMyMzQzZGEzZjNhMzM2
NTllIgorICAgICJjMWIzZTk1MDgwNTQwYjI4YjdmM2ZjZDM1ZmE1ZDg0M2I1NzlhODRjMDg5MTIx
YTYwZDhjMTc1NDkxNWMzNDRlIgorICAgICJlYWY0NWE5YmYyN2RjMGMxZTc4NDE2MTY5MTIyMDkx
MzEzZWIwZTg3NTU1YWJkNzA2NjI2ZTU1N2ZjMzZhMDRmIgorICAgICJjZDE5MWE1ODgyOTEwNGQ2
MDc1YzU1OTRmNjI3Y2E1MDZiZjE4MWRhZWM5NDBmNGE0ZjNhZjAwNzRlZWU4OWRhIgorICAgICJh
Y2RlNjc1ODMxMjYyMmQ0ZmE2NzViMzlmNzI4ZTA2MmQyYmVlNjgwZDhmNDFhNTk3YzI2MjY0OGJi
MThiY2ZjIgorICAgICIxM2M4YjNkOTdiMWE3N2IyYWMzYWY3NDVkNjFhMzRjYzQ3MDk4NjViYWM4
MjRhOTRiYjE5MDU4MDE1ZTRlNDJkIgorICAgICJjOWJlNmM3ODAzNTY3MzIxODI5ZGQ4NTg1MzM5
NjI2OSIKKykKKworTE9OR19TRVJWRVJfUEFDS0VUX05VTUJFUiA9IDEKK0xPTkdfU0VSVkVSX1BM
QUlOX0hFQURFUiA9IGJpbmFzY2lpLnVuaGV4bGlmeSgKKyAgICAiYzFmZjAwMDAxNzAwMDhmMDY3
YTU1MDJhNDI2MmI1MDA0MDc0MDAwMSIKKykKK0xPTkdfU0VSVkVSX1BMQUlOX1BBWUxPQUQgPSBi
aW5hc2NpaS51bmhleGxpZnkoCisgICAgIjBkMDAwMDAwMDAxODQxMGEwMjAwMDA1NjAzMDNlZWZj
ZTdmN2IzN2JhMWQxNjMyZTk2Njc3ODI1ZGRmNzM5ODgiCisgICAgImNmYzc5ODI1ZGY1NjZkYzU0
MzBiOWEwNDVhMTIwMDEzMDEwMDAwMmUwMDMzMDAyNDAwMWQwMDIwOWQzYzk0MGQiCisgICAgIjg5
NjkwYjg0ZDA4YTYwOTkzYzE0NGVjYTY4NGQxMDgxMjg3YzgzNGQ1MzExYmNmMzJiYjlkYTFhMDAy
YjAwMDIiCisgICAgIjAzMDQiCispCitMT05HX1NFUlZFUl9FTkNSWVBURURfUEFDS0VUID0gYmlu
YXNjaWkudW5oZXhsaWZ5KAorICAgICJjOWZmMDAwMDE3MDAwOGYwNjdhNTUwMmE0MjYyYjUwMDQw
NzQxNjhiZjIyYjcwMDI1OTZmOTlhZTY3YWJmNjVhIgorICAgICI1ODUyZjU0ZjU4YzM3YzgwODY4
MmUyZTQwNDkyZDhhMzg5OWZiMDRmYzBhZmU5YWFiYzg3NjdiMThhMGFhNDkzIgorICAgICI1Mzc0
MjYzNzNiNDhkNTAyMjE0ZGQ4NTZkNjNiNzhjZWUzN2JjNjY0YjNmZTg2ZDQ4N2FjN2E3N2M1MzAz
OGEzIgorICAgICJjZDMyZjBiNTAwNGQ5ZjU3NTRjNGY3ZjJkMWYzNWNmM2Y3MTE2MzUxYzkyYjlj
ZjliYjZkMDkxZGRmYzhiMzJkIgorICAgICI0MzIzNDhhMmM0MTMiCispCisKK1NIT1JUX1NFUlZF
Ul9QQUNLRVRfTlVNQkVSID0gMworU0hPUlRfU0VSVkVSX1BMQUlOX0hFQURFUiA9IGJpbmFzY2lp
LnVuaGV4bGlmeSgiNDFiMDFmZDI0YTU4NmE5Y2YzMDAwMyIpCitTSE9SVF9TRVJWRVJfUExBSU5f
UEFZTE9BRCA9IGJpbmFzY2lpLnVuaGV4bGlmeSgKKyAgICAiMDYwMDM5MDQwMDAwMzUwMDAxNTE4
MDVhNGJlYmY1MDAwMDIwYjA5OGM4ZGM0MTgzZTRjMTgyNTcyZTEwYWMzZSIKKyAgICAiMmI4ODg5
N2UwNTI0Yzg0NjE4NDc1NDhiZDJkZmZhMmMwYWU2MDAwODAwMmEwMDA0ZmZmZmZmZmYiCispCitT
SE9SVF9TRVJWRVJfRU5DUllQVEVEX1BBQ0tFVCA9IGJpbmFzY2lpLnVuaGV4bGlmeSgKKyAgICAi
NWRiMDFmZDI0YTU4NmE5Y2YzM2RlYzA5NGFhZWM2ZDZiNGI3YTVlMTVmNWEzZjA1ZDA2Y2YxYWQw
MzU1YzE5ZCIKKyAgICAiY2NlMDgwN2VlY2Y3YmYxYzg0NGE2NmUxZWNkMWY3NGIyYTJkNjliZmQy
NWQyMTc4MzNlZGQ5NzMyNDY1OTdiZCIKKyAgICAiNTEwN2VhMTVjYjFlMjEwMDQ1Mzk2YWZhNjAy
ZmUyMzQzMmY0YWIyNGNlMjUxYiIKKykKKworCitjbGFzcyBDcnlwdG9UZXN0KFRlc3RDYXNlKToK
KyAgICAiIiIKKyAgICBUZXN0IHZlY3RvcnMgZnJvbToKKworICAgIGh0dHBzOi8vdG9vbHMuaWV0
Zi5vcmcvaHRtbC9kcmFmdC1pZXRmLXF1aWMtdGxzLTE4I2FwcGVuZGl4LUEKKyAgICAiIiIKKwor
ICAgIGRlZiBjcmVhdGVfY3J5cHRvKHNlbGYsIGlzX2NsaWVudCk6CisgICAgICAgIHBhaXIgPSBD
cnlwdG9QYWlyKCkKKyAgICAgICAgcGFpci5zZXR1cF9pbml0aWFsKAorICAgICAgICAgICAgY2lk
PWJpbmFzY2lpLnVuaGV4bGlmeSgiODM5NGM4ZjAzZTUxNTcwOCIpLAorICAgICAgICAgICAgaXNf
Y2xpZW50PWlzX2NsaWVudCwKKyAgICAgICAgICAgIHZlcnNpb249UFJPVE9DT0xfVkVSU0lPTiwK
KyAgICAgICAgKQorICAgICAgICByZXR1cm4gcGFpcgorCisgICAgZGVmIHRlc3RfZGVyaXZlX2tl
eV9pdl9ocChzZWxmKToKKyAgICAgICAgIyBjbGllbnQKKyAgICAgICAgc2VjcmV0ID0gYmluYXNj
aWkudW5oZXhsaWZ5KAorICAgICAgICAgICAgIjhhMzUxNWExNGFlM2MzMWI5YzJkNmQ1YmM1ODUz
OGNhNWNkMmJhYTExOTA4NzE0M2U2MDg4NzQyOGRjYjUyZjYiCisgICAgICAgICkKKyAgICAgICAg
a2V5LCBpdiwgaHAgPSBkZXJpdmVfa2V5X2l2X2hwKElOSVRJQUxfQ0lQSEVSX1NVSVRFLCBzZWNy
ZXQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoa2V5LCBiaW5hc2NpaS51bmhleGxpZnkoIjk4
YjBkN2U1ZTdhNDAyYzY3YzMzZjM1MGZhNjVlYTU0IikpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWwoaXYsIGJpbmFzY2lpLnVuaGV4bGlmeSgiMTllOTQzODc4MDVlYjBiNDZjMDNhNzg4IikpCisg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaHAsIGJpbmFzY2lpLnVuaGV4bGlmeSgiMGVkZDk4MmE2
YWM1MjdmMmVkZGNiYjczNDhkZWE1ZDciKSkKKworICAgICAgICAjIHNlcnZlcgorICAgICAgICBz
ZWNyZXQgPSBiaW5hc2NpaS51bmhleGxpZnkoCisgICAgICAgICAgICAiNDdiMmVhZWE2YzI2NmUz
MmMwNjk3YTllMmE4OThiZGY1YzRmYjNlNWFjMzRmMGU1NDliZjJjNTg1ODFhMzgxMSIKKyAgICAg
ICAgKQorICAgICAgICBrZXksIGl2LCBocCA9IGRlcml2ZV9rZXlfaXZfaHAoSU5JVElBTF9DSVBI
RVJfU1VJVEUsIHNlY3JldCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChrZXksIGJpbmFzY2lp
LnVuaGV4bGlmeSgiOWE4YmU5MDJhOWJkZDkxZDE2MDY0Y2ExMTgwNDVmYjQiKSkKKyAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChpdiwgYmluYXNjaWkudW5oZXhsaWZ5KCIwYTgyMDg2ZDMyMjA1YmEy
MjI0MWQ4ZGMiKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChocCwgYmluYXNjaWkudW5oZXhs
aWZ5KCI5NGI5NDUyZDJiM2M3YzdmNmRhN2ZkZDg1OTM1MzdmZCIpKQorCisgICAgQHNraXBJZigi
Y2hhY2hhMjAiIGluIFNLSVBfVEVTVFMsICJTa2lwcGluZyBjaGFjaGEyMCB0ZXN0cyIpCisgICAg
ZGVmIHRlc3RfZGVjcnlwdF9jaGFjaGEyMChzZWxmKToKKyAgICAgICAgcGFpciA9IENyeXB0b1Bh
aXIoKQorICAgICAgICBwYWlyLnJlY3Yuc2V0dXAoCisgICAgICAgICAgICBjaXBoZXJfc3VpdGU9
Q2lwaGVyU3VpdGUuQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2LAorICAgICAgICAgICAgc2VjcmV0
PWJpbmFzY2lpLnVuaGV4bGlmeSgKKyAgICAgICAgICAgICAgICAiYjQyNzcyZGYzM2M5NzE5YTMy
ODIwZDMwMmFhNjY0ZDA4MGQ3ZjVlYTdhNzFhMzMwZjg3ODY0Y2IyODlhZThjMCIKKyAgICAgICAg
ICAgICksCisgICAgICAgICAgICB2ZXJzaW9uPVBST1RPQ09MX1ZFUlNJT04sCisgICAgICAgICkK
KworICAgICAgICBwbGFpbl9oZWFkZXIsIHBsYWluX3BheWxvYWQsIHBhY2tldF9udW1iZXIgPSBw
YWlyLmRlY3J5cHRfcGFja2V0KAorICAgICAgICAgICAgQ0hBQ0hBMjBfQ0xJRU5UX0VOQ1JZUFRF
RF9QQUNLRVQsIDI1LCAwCisgICAgICAgICkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwbGFp
bl9oZWFkZXIsIENIQUNIQTIwX0NMSUVOVF9QTEFJTl9IRUFERVIpCisgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwocGxhaW5fcGF5bG9hZCwgQ0hBQ0hBMjBfQ0xJRU5UX1BMQUlOX1BBWUxPQUQpCisg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocGFja2V0X251bWJlciwgQ0hBQ0hBMjBfQ0xJRU5UX1BB
Q0tFVF9OVU1CRVIpCisKKyAgICBkZWYgdGVzdF9kZWNyeXB0X2xvbmdfY2xpZW50KHNlbGYpOgor
ICAgICAgICBwYWlyID0gc2VsZi5jcmVhdGVfY3J5cHRvKGlzX2NsaWVudD1GYWxzZSkKKworICAg
ICAgICBwbGFpbl9oZWFkZXIsIHBsYWluX3BheWxvYWQsIHBhY2tldF9udW1iZXIgPSBwYWlyLmRl
Y3J5cHRfcGFja2V0KAorICAgICAgICAgICAgTE9OR19DTElFTlRfRU5DUllQVEVEX1BBQ0tFVCwg
MTgsIDAKKyAgICAgICAgKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBsYWluX2hlYWRlciwg
TE9OR19DTElFTlRfUExBSU5fSEVBREVSKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBsYWlu
X3BheWxvYWQsIExPTkdfQ0xJRU5UX1BMQUlOX1BBWUxPQUQpCisgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwocGFja2V0X251bWJlciwgTE9OR19DTElFTlRfUEFDS0VUX05VTUJFUikKKworICAgIGRl
ZiB0ZXN0X2RlY3J5cHRfbG9uZ19zZXJ2ZXIoc2VsZik6CisgICAgICAgIHBhaXIgPSBzZWxmLmNy
ZWF0ZV9jcnlwdG8oaXNfY2xpZW50PVRydWUpCisKKyAgICAgICAgcGxhaW5faGVhZGVyLCBwbGFp
bl9wYXlsb2FkLCBwYWNrZXRfbnVtYmVyID0gcGFpci5kZWNyeXB0X3BhY2tldCgKKyAgICAgICAg
ICAgIExPTkdfU0VSVkVSX0VOQ1JZUFRFRF9QQUNLRVQsIDE4LCAwCisgICAgICAgICkKKyAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChwbGFpbl9oZWFkZXIsIExPTkdfU0VSVkVSX1BMQUlOX0hFQURF
UikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwbGFpbl9wYXlsb2FkLCBMT05HX1NFUlZFUl9Q
TEFJTl9QQVlMT0FEKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBhY2tldF9udW1iZXIsIExP
TkdfU0VSVkVSX1BBQ0tFVF9OVU1CRVIpCisKKyAgICBkZWYgdGVzdF9kZWNyeXB0X25vX2tleShz
ZWxmKToKKyAgICAgICAgcGFpciA9IENyeXB0b1BhaXIoKQorICAgICAgICB3aXRoIHNlbGYuYXNz
ZXJ0UmFpc2VzKENyeXB0b0Vycm9yKToKKyAgICAgICAgICAgIHBhaXIuZGVjcnlwdF9wYWNrZXQo
TE9OR19TRVJWRVJfRU5DUllQVEVEX1BBQ0tFVCwgMTgsIDApCisKKyAgICBkZWYgdGVzdF9kZWNy
eXB0X3Nob3J0X3NlcnZlcihzZWxmKToKKyAgICAgICAgcGFpciA9IENyeXB0b1BhaXIoKQorICAg
ICAgICBwYWlyLnJlY3Yuc2V0dXAoCisgICAgICAgICAgICBjaXBoZXJfc3VpdGU9SU5JVElBTF9D
SVBIRVJfU1VJVEUsCisgICAgICAgICAgICBzZWNyZXQ9YmluYXNjaWkudW5oZXhsaWZ5KAorICAg
ICAgICAgICAgICAgICIzMTAyODE5NzdjYjhjMWMxYzEyMTJkNzg0YjJkMjllNWE2NDg5ZTIzZGU4
NDhkMzcwYTVhMmY5NTM3ZjNhMTAwIgorICAgICAgICAgICAgKSwKKyAgICAgICAgICAgIHZlcnNp
b249UFJPVE9DT0xfVkVSU0lPTiwKKyAgICAgICAgKQorCisgICAgICAgIHBsYWluX2hlYWRlciwg
cGxhaW5fcGF5bG9hZCwgcGFja2V0X251bWJlciA9IHBhaXIuZGVjcnlwdF9wYWNrZXQoCisgICAg
ICAgICAgICBTSE9SVF9TRVJWRVJfRU5DUllQVEVEX1BBQ0tFVCwgOSwgMAorICAgICAgICApCisg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocGxhaW5faGVhZGVyLCBTSE9SVF9TRVJWRVJfUExBSU5f
SEVBREVSKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBsYWluX3BheWxvYWQsIFNIT1JUX1NF
UlZFUl9QTEFJTl9QQVlMT0FEKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBhY2tldF9udW1i
ZXIsIFNIT1JUX1NFUlZFUl9QQUNLRVRfTlVNQkVSKQorCisgICAgQHNraXBJZigiY2hhY2hhMjAi
IGluIFNLSVBfVEVTVFMsICJTa2lwcGluZyBjaGFjaGEyMCB0ZXN0cyIpCisgICAgZGVmIHRlc3Rf
ZW5jcnlwdF9jaGFjaGEyMChzZWxmKToKKyAgICAgICAgcGFpciA9IENyeXB0b1BhaXIoKQorICAg
ICAgICBwYWlyLnNlbmQuc2V0dXAoCisgICAgICAgICAgICBjaXBoZXJfc3VpdGU9Q2lwaGVyU3Vp
dGUuQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2LAorICAgICAgICAgICAgc2VjcmV0PWJpbmFzY2lp
LnVuaGV4bGlmeSgKKyAgICAgICAgICAgICAgICAiYjQyNzcyZGYzM2M5NzE5YTMyODIwZDMwMmFh
NjY0ZDA4MGQ3ZjVlYTdhNzFhMzMwZjg3ODY0Y2IyODlhZThjMCIKKyAgICAgICAgICAgICksCisg
ICAgICAgICAgICB2ZXJzaW9uPVBST1RPQ09MX1ZFUlNJT04sCisgICAgICAgICkKKworICAgICAg
ICBwYWNrZXQgPSBwYWlyLmVuY3J5cHRfcGFja2V0KAorICAgICAgICAgICAgQ0hBQ0hBMjBfQ0xJ
RU5UX1BMQUlOX0hFQURFUiwKKyAgICAgICAgICAgIENIQUNIQTIwX0NMSUVOVF9QTEFJTl9QQVlM
T0FELAorICAgICAgICAgICAgQ0hBQ0hBMjBfQ0xJRU5UX1BBQ0tFVF9OVU1CRVIsCisgICAgICAg
ICkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwYWNrZXQsIENIQUNIQTIwX0NMSUVOVF9FTkNS
WVBURURfUEFDS0VUKQorCisgICAgZGVmIHRlc3RfZW5jcnlwdF9sb25nX2NsaWVudChzZWxmKToK
KyAgICAgICAgcGFpciA9IHNlbGYuY3JlYXRlX2NyeXB0byhpc19jbGllbnQ9VHJ1ZSkKKworICAg
ICAgICBwYWNrZXQgPSBwYWlyLmVuY3J5cHRfcGFja2V0KAorICAgICAgICAgICAgTE9OR19DTElF
TlRfUExBSU5fSEVBREVSLAorICAgICAgICAgICAgTE9OR19DTElFTlRfUExBSU5fUEFZTE9BRCwK
KyAgICAgICAgICAgIExPTkdfQ0xJRU5UX1BBQ0tFVF9OVU1CRVIsCisgICAgICAgICkKKyAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChwYWNrZXQsIExPTkdfQ0xJRU5UX0VOQ1JZUFRFRF9QQUNLRVQp
CisKKyAgICBkZWYgdGVzdF9lbmNyeXB0X2xvbmdfc2VydmVyKHNlbGYpOgorICAgICAgICBwYWly
ID0gc2VsZi5jcmVhdGVfY3J5cHRvKGlzX2NsaWVudD1GYWxzZSkKKworICAgICAgICBwYWNrZXQg
PSBwYWlyLmVuY3J5cHRfcGFja2V0KAorICAgICAgICAgICAgTE9OR19TRVJWRVJfUExBSU5fSEVB
REVSLAorICAgICAgICAgICAgTE9OR19TRVJWRVJfUExBSU5fUEFZTE9BRCwKKyAgICAgICAgICAg
IExPTkdfU0VSVkVSX1BBQ0tFVF9OVU1CRVIsCisgICAgICAgICkKKyAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChwYWNrZXQsIExPTkdfU0VSVkVSX0VOQ1JZUFRFRF9QQUNLRVQpCisKKyAgICBkZWYg
dGVzdF9lbmNyeXB0X3Nob3J0X3NlcnZlcihzZWxmKToKKyAgICAgICAgcGFpciA9IENyeXB0b1Bh
aXIoKQorICAgICAgICBwYWlyLnNlbmQuc2V0dXAoCisgICAgICAgICAgICBjaXBoZXJfc3VpdGU9
SU5JVElBTF9DSVBIRVJfU1VJVEUsCisgICAgICAgICAgICBzZWNyZXQ9YmluYXNjaWkudW5oZXhs
aWZ5KAorICAgICAgICAgICAgICAgICIzMTAyODE5NzdjYjhjMWMxYzEyMTJkNzg0YjJkMjllNWE2
NDg5ZTIzZGU4NDhkMzcwYTVhMmY5NTM3ZjNhMTAwIgorICAgICAgICAgICAgKSwKKyAgICAgICAg
ICAgIHZlcnNpb249UFJPVE9DT0xfVkVSU0lPTiwKKyAgICAgICAgKQorCisgICAgICAgIHBhY2tl
dCA9IHBhaXIuZW5jcnlwdF9wYWNrZXQoCisgICAgICAgICAgICBTSE9SVF9TRVJWRVJfUExBSU5f
SEVBREVSLAorICAgICAgICAgICAgU0hPUlRfU0VSVkVSX1BMQUlOX1BBWUxPQUQsCisgICAgICAg
ICAgICBTSE9SVF9TRVJWRVJfUEFDS0VUX05VTUJFUiwKKyAgICAgICAgKQorICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKHBhY2tldCwgU0hPUlRfU0VSVkVSX0VOQ1JZUFRFRF9QQUNLRVQpCisKKyAg
ICBkZWYgdGVzdF9rZXlfdXBkYXRlKHNlbGYpOgorICAgICAgICBwYWlyMSA9IHNlbGYuY3JlYXRl
X2NyeXB0byhpc19jbGllbnQ9VHJ1ZSkKKyAgICAgICAgcGFpcjIgPSBzZWxmLmNyZWF0ZV9jcnlw
dG8oaXNfY2xpZW50PUZhbHNlKQorCisgICAgICAgIGRlZiBjcmVhdGVfcGFja2V0KGtleV9waGFz
ZSwgcGFja2V0X251bWJlcik6CisgICAgICAgICAgICBidWYgPSBCdWZmZXIoY2FwYWNpdHk9MTAw
KQorICAgICAgICAgICAgYnVmLnB1c2hfdWludDgoUEFDS0VUX0ZJWEVEX0JJVCB8IGtleV9waGFz
ZSA8PCAyIHwgMSkKKyAgICAgICAgICAgIGJ1Zi5wdXNoX2J5dGVzKGJpbmFzY2lpLnVuaGV4bGlm
eSgiODM5NGM4ZjAzZTUxNTcwOCIpKQorICAgICAgICAgICAgYnVmLnB1c2hfdWludDE2KHBhY2tl
dF9udW1iZXIpCisgICAgICAgICAgICByZXR1cm4gYnVmLmRhdGEsIGIiXHgwMFx4MDFceDAyXHgw
MyIKKworICAgICAgICBkZWYgc2VuZChzZW5kZXIsIHJlY2VpdmVyLCBwYWNrZXRfbnVtYmVyPTAp
OgorICAgICAgICAgICAgcGxhaW5faGVhZGVyLCBwbGFpbl9wYXlsb2FkID0gY3JlYXRlX3BhY2tl
dCgKKyAgICAgICAgICAgICAgICBrZXlfcGhhc2U9c2VuZGVyLmtleV9waGFzZSwgcGFja2V0X251
bWJlcj1wYWNrZXRfbnVtYmVyCisgICAgICAgICAgICApCisgICAgICAgICAgICBlbmNyeXB0ZWQg
PSBzZW5kZXIuZW5jcnlwdF9wYWNrZXQoCisgICAgICAgICAgICAgICAgcGxhaW5faGVhZGVyLCBw
bGFpbl9wYXlsb2FkLCBwYWNrZXRfbnVtYmVyCisgICAgICAgICAgICApCisgICAgICAgICAgICBy
ZWNvdl9oZWFkZXIsIHJlY292X3BheWxvYWQsIHJlY292X3BhY2tldF9udW1iZXIgPSByZWNlaXZl
ci5kZWNyeXB0X3BhY2tldCgKKyAgICAgICAgICAgICAgICBlbmNyeXB0ZWQsIGxlbihwbGFpbl9o
ZWFkZXIpIC0gMiwgMAorICAgICAgICAgICAgKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChyZWNvdl9oZWFkZXIsIHBsYWluX2hlYWRlcikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWwocmVjb3ZfcGF5bG9hZCwgcGxhaW5fcGF5bG9hZCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwocmVjb3ZfcGFja2V0X251bWJlciwgcGFja2V0X251bWJlcikKKworICAgICAgICAjIHJv
dW5kdHJpcAorICAgICAgICBzZW5kKHBhaXIxLCBwYWlyMiwgMCkKKyAgICAgICAgc2VuZChwYWly
MiwgcGFpcjEsIDApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocGFpcjEua2V5X3BoYXNlLCAw
KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBhaXIyLmtleV9waGFzZSwgMCkKKworICAgICAg
ICAjIHBhaXIgMSBrZXkgdXBkYXRlCisgICAgICAgIHBhaXIxLnVwZGF0ZV9rZXkoKQorCisgICAg
ICAgICMgcm91bmR0cmlwCisgICAgICAgIHNlbmQocGFpcjEsIHBhaXIyLCAxKQorICAgICAgICBz
ZW5kKHBhaXIyLCBwYWlyMSwgMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwYWlyMS5rZXlf
cGhhc2UsIDEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocGFpcjIua2V5X3BoYXNlLCAxKQor
CisgICAgICAgICMgcGFpciAyIGtleSB1cGRhdGUKKyAgICAgICAgcGFpcjIudXBkYXRlX2tleSgp
CisKKyAgICAgICAgIyByb3VuZHRyaXAKKyAgICAgICAgc2VuZChwYWlyMiwgcGFpcjEsIDIpCisg
ICAgICAgIHNlbmQocGFpcjEsIHBhaXIyLCAyKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBh
aXIxLmtleV9waGFzZSwgMCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwYWlyMi5rZXlfcGhh
c2UsIDApCisKKyAgICAgICAgIyBwYWlyIDEga2V5IC0gdXBkYXRlLCBidXQgbm90IG5leHQgdG8g
c2VuZAorICAgICAgICBwYWlyMS51cGRhdGVfa2V5KCkKKworICAgICAgICAjIHJvdW5kdHJpcAor
ICAgICAgICBzZW5kKHBhaXIyLCBwYWlyMSwgMykKKyAgICAgICAgc2VuZChwYWlyMSwgcGFpcjIs
IDMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocGFpcjEua2V5X3BoYXNlLCAxKQorICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKHBhaXIyLmtleV9waGFzZSwgMSkKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkv
YWlvcXVpYy90ZXN0cy90ZXN0X2gwLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3Rlc3RzL3Rlc3RfaDAucHkK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODFjY2Y2NWUxMTc0OThjZmRkNWIwN2JlZGUxZjA3NjNkMWNhMjBmZAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy90ZXN0cy90ZXN0X2gwLnB5CkBAIC0wLDAgKzEs
MTQ4IEBACitmcm9tIHVuaXR0ZXN0IGltcG9ydCBUZXN0Q2FzZQorCitmcm9tIGFpb3F1aWMuaDAu
Y29ubmVjdGlvbiBpbXBvcnQgSDBfQUxQTiwgSDBDb25uZWN0aW9uCitmcm9tIGFpb3F1aWMuaDMu
ZXZlbnRzIGltcG9ydCBEYXRhUmVjZWl2ZWQsIEhlYWRlcnNSZWNlaXZlZAorCitmcm9tIC50ZXN0
X2Nvbm5lY3Rpb24gaW1wb3J0IGNsaWVudF9hbmRfc2VydmVyLCB0cmFuc2ZlcgorCisKK2RlZiBo
MF9jbGllbnRfYW5kX3NlcnZlcigpOgorICAgIHJldHVybiBjbGllbnRfYW5kX3NlcnZlcigKKyAg
ICAgICAgY2xpZW50X29wdGlvbnM9eyJhbHBuX3Byb3RvY29scyI6IEgwX0FMUE59LAorICAgICAg
ICBzZXJ2ZXJfb3B0aW9ucz17ImFscG5fcHJvdG9jb2xzIjogSDBfQUxQTn0sCisgICAgKQorCisK
K2RlZiBoMF90cmFuc2ZlcihxdWljX3NlbmRlciwgaDBfcmVjZWl2ZXIpOgorICAgIHF1aWNfcmVj
ZWl2ZXIgPSBoMF9yZWNlaXZlci5fcXVpYworICAgIHRyYW5zZmVyKHF1aWNfc2VuZGVyLCBxdWlj
X3JlY2VpdmVyKQorCisgICAgIyBwcm9jZXNzIFFVSUMgZXZlbnRzCisgICAgaHR0cF9ldmVudHMg
PSBbXQorICAgIGV2ZW50ID0gcXVpY19yZWNlaXZlci5uZXh0X2V2ZW50KCkKKyAgICB3aGlsZSBl
dmVudCBpcyBub3QgTm9uZToKKyAgICAgICAgaHR0cF9ldmVudHMuZXh0ZW5kKGgwX3JlY2VpdmVy
LmhhbmRsZV9ldmVudChldmVudCkpCisgICAgICAgIGV2ZW50ID0gcXVpY19yZWNlaXZlci5uZXh0
X2V2ZW50KCkKKyAgICByZXR1cm4gaHR0cF9ldmVudHMKKworCitjbGFzcyBIMENvbm5lY3Rpb25U
ZXN0KFRlc3RDYXNlKToKKyAgICBkZWYgdGVzdF9jb25uZWN0KHNlbGYpOgorICAgICAgICB3aXRo
IGgwX2NsaWVudF9hbmRfc2VydmVyKCkgYXMgKHF1aWNfY2xpZW50LCBxdWljX3NlcnZlcik6Cisg
ICAgICAgICAgICBoMF9jbGllbnQgPSBIMENvbm5lY3Rpb24ocXVpY19jbGllbnQpCisgICAgICAg
ICAgICBoMF9zZXJ2ZXIgPSBIMENvbm5lY3Rpb24ocXVpY19zZXJ2ZXIpCisKKyAgICAgICAgICAg
ICMgc2VuZCByZXF1ZXN0CisgICAgICAgICAgICBzdHJlYW1faWQgPSBxdWljX2NsaWVudC5nZXRf
bmV4dF9hdmFpbGFibGVfc3RyZWFtX2lkKCkKKyAgICAgICAgICAgIGgwX2NsaWVudC5zZW5kX2hl
YWRlcnMoCisgICAgICAgICAgICAgICAgc3RyZWFtX2lkPXN0cmVhbV9pZCwKKyAgICAgICAgICAg
ICAgICBoZWFkZXJzPVsKKyAgICAgICAgICAgICAgICAgICAgKGIiOm1ldGhvZCIsIGIiR0VUIiks
CisgICAgICAgICAgICAgICAgICAgIChiIjpzY2hlbWUiLCBiImh0dHBzIiksCisgICAgICAgICAg
ICAgICAgICAgIChiIjphdXRob3JpdHkiLCBiImxvY2FsaG9zdCIpLAorICAgICAgICAgICAgICAg
ICAgICAoYiI6cGF0aCIsIGIiLyIpLAorICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAgICAp
CisgICAgICAgICAgICBoMF9jbGllbnQuc2VuZF9kYXRhKHN0cmVhbV9pZD1zdHJlYW1faWQsIGRh
dGE9YiIiLCBlbmRfc3RyZWFtPVRydWUpCisKKyAgICAgICAgICAgICMgcmVjZWl2ZSByZXF1ZXN0
CisgICAgICAgICAgICBldmVudHMgPSBoMF90cmFuc2ZlcihxdWljX2NsaWVudCwgaDBfc2VydmVy
KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oZXZlbnRzKSwgMikKKworICAgICAg
ICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzaW5zdGFuY2UoZXZlbnRzWzBdLCBIZWFkZXJzUmVjZWl2
ZWQpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgICAgICBldmVu
dHNbMF0uaGVhZGVycywgWyhiIjptZXRob2QiLCBiIkdFVCIpLCAoYiI6cGF0aCIsIGIiLyIpXQor
ICAgICAgICAgICAgKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChldmVudHNbMF0uc3Ry
ZWFtX2lkLCBzdHJlYW1faWQpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV2ZW50c1sw
XS5zdHJlYW1fZW5kZWQsIEZhbHNlKQorCisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoaXNp
bnN0YW5jZShldmVudHNbMV0sIERhdGFSZWNlaXZlZCkpCisgICAgICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKGV2ZW50c1sxXS5kYXRhLCBiIiIpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KGV2ZW50c1sxXS5zdHJlYW1faWQsIHN0cmVhbV9pZCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwoZXZlbnRzWzFdLnN0cmVhbV9lbmRlZCwgVHJ1ZSkKKworICAgICAgICAgICAgIyBzZW5k
IHJlc3BvbnNlCisgICAgICAgICAgICBoMF9zZXJ2ZXIuc2VuZF9oZWFkZXJzKAorICAgICAgICAg
ICAgICAgIHN0cmVhbV9pZD1zdHJlYW1faWQsCisgICAgICAgICAgICAgICAgaGVhZGVycz1bCisg
ICAgICAgICAgICAgICAgICAgIChiIjpzdGF0dXMiLCBiIjIwMCIpLAorICAgICAgICAgICAgICAg
ICAgICAoYiJjb250ZW50LXR5cGUiLCBiInRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIpLAorICAg
ICAgICAgICAgICAgIF0sCisgICAgICAgICAgICApCisgICAgICAgICAgICBoMF9zZXJ2ZXIuc2Vu
ZF9kYXRhKAorICAgICAgICAgICAgICAgIHN0cmVhbV9pZD1zdHJlYW1faWQsCisgICAgICAgICAg
ICAgICAgZGF0YT1iIjxodG1sPjxib2R5PmhlbGxvPC9ib2R5PjwvaHRtbD4iLAorICAgICAgICAg
ICAgICAgIGVuZF9zdHJlYW09VHJ1ZSwKKyAgICAgICAgICAgICkKKworICAgICAgICAgICAgIyBy
ZWNlaXZlIHJlc3BvbnNlCisgICAgICAgICAgICBldmVudHMgPSBoMF90cmFuc2ZlcihxdWljX3Nl
cnZlciwgaDBfY2xpZW50KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oZXZlbnRz
KSwgMikKKworICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzaW5zdGFuY2UoZXZlbnRzWzBd
LCBIZWFkZXJzUmVjZWl2ZWQpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChldmVudHNb
MF0uaGVhZGVycywgW10pCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV2ZW50c1swXS5z
dHJlYW1faWQsIHN0cmVhbV9pZCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXZlbnRz
WzBdLnN0cmVhbV9lbmRlZCwgRmFsc2UpCisKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShp
c2luc3RhbmNlKGV2ZW50c1sxXSwgRGF0YVJlY2VpdmVkKSkKKyAgICAgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoZXZlbnRzWzFdLmRhdGEsIGIiPGh0bWw+PGJvZHk+aGVsbG88L2JvZHk+PC9odG1s
PiIpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV2ZW50c1sxXS5zdHJlYW1faWQsIHN0
cmVhbV9pZCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXZlbnRzWzFdLnN0cmVhbV9l
bmRlZCwgVHJ1ZSkKKworICAgIGRlZiB0ZXN0X2hlYWRlcnNfb25seShzZWxmKToKKyAgICAgICAg
d2l0aCBoMF9jbGllbnRfYW5kX3NlcnZlcigpIGFzIChxdWljX2NsaWVudCwgcXVpY19zZXJ2ZXIp
OgorICAgICAgICAgICAgaDBfY2xpZW50ID0gSDBDb25uZWN0aW9uKHF1aWNfY2xpZW50KQorICAg
ICAgICAgICAgaDBfc2VydmVyID0gSDBDb25uZWN0aW9uKHF1aWNfc2VydmVyKQorCisgICAgICAg
ICAgICAjIHNlbmQgcmVxdWVzdAorICAgICAgICAgICAgc3RyZWFtX2lkID0gcXVpY19jbGllbnQu
Z2V0X25leHRfYXZhaWxhYmxlX3N0cmVhbV9pZCgpCisgICAgICAgICAgICBoMF9jbGllbnQuc2Vu
ZF9oZWFkZXJzKAorICAgICAgICAgICAgICAgIHN0cmVhbV9pZD1zdHJlYW1faWQsCisgICAgICAg
ICAgICAgICAgaGVhZGVycz1bCisgICAgICAgICAgICAgICAgICAgIChiIjptZXRob2QiLCBiIkhF
QUQiKSwKKyAgICAgICAgICAgICAgICAgICAgKGIiOnNjaGVtZSIsIGIiaHR0cHMiKSwKKyAgICAg
ICAgICAgICAgICAgICAgKGIiOmF1dGhvcml0eSIsIGIibG9jYWxob3N0IiksCisgICAgICAgICAg
ICAgICAgICAgIChiIjpwYXRoIiwgYiIvIiksCisgICAgICAgICAgICAgICAgXSwKKyAgICAgICAg
ICAgICAgICBlbmRfc3RyZWFtPVRydWUsCisgICAgICAgICAgICApCisKKyAgICAgICAgICAgICMg
cmVjZWl2ZSByZXF1ZXN0CisgICAgICAgICAgICBldmVudHMgPSBoMF90cmFuc2ZlcihxdWljX2Ns
aWVudCwgaDBfc2VydmVyKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oZXZlbnRz
KSwgMikKKworICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzaW5zdGFuY2UoZXZlbnRzWzBd
LCBIZWFkZXJzUmVjZWl2ZWQpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAg
ICAgICAgICAgICBldmVudHNbMF0uaGVhZGVycywgWyhiIjptZXRob2QiLCBiIkhFQUQiKSwgKGIi
OnBhdGgiLCBiIi8iKV0KKyAgICAgICAgICAgICkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWwoZXZlbnRzWzBdLnN0cmVhbV9pZCwgc3RyZWFtX2lkKQorICAgICAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChldmVudHNbMF0uc3RyZWFtX2VuZGVkLCBGYWxzZSkKKworICAgICAgICAgICAgc2Vs
Zi5hc3NlcnRUcnVlKGlzaW5zdGFuY2UoZXZlbnRzWzFdLCBEYXRhUmVjZWl2ZWQpKQorICAgICAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbChldmVudHNbMV0uZGF0YSwgYiIiKQorICAgICAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChldmVudHNbMV0uc3RyZWFtX2lkLCBzdHJlYW1faWQpCisgICAgICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKGV2ZW50c1sxXS5zdHJlYW1fZW5kZWQsIFRydWUpCisKKyAg
ICAgICAgICAgICMgc2VuZCByZXNwb25zZQorICAgICAgICAgICAgaDBfc2VydmVyLnNlbmRfaGVh
ZGVycygKKyAgICAgICAgICAgICAgICBzdHJlYW1faWQ9c3RyZWFtX2lkLAorICAgICAgICAgICAg
ICAgIGhlYWRlcnM9WworICAgICAgICAgICAgICAgICAgICAoYiI6c3RhdHVzIiwgYiIyMDAiKSwK
KyAgICAgICAgICAgICAgICAgICAgKGIiY29udGVudC10eXBlIiwgYiJ0ZXh0L2h0bWw7IGNoYXJz
ZXQ9dXRmLTgiKSwKKyAgICAgICAgICAgICAgICBdLAorICAgICAgICAgICAgICAgIGVuZF9zdHJl
YW09VHJ1ZSwKKyAgICAgICAgICAgICkKKworICAgICAgICAgICAgIyByZWNlaXZlIHJlc3BvbnNl
CisgICAgICAgICAgICBldmVudHMgPSBoMF90cmFuc2ZlcihxdWljX3NlcnZlciwgaDBfY2xpZW50
KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oZXZlbnRzKSwgMikKKworICAgICAg
ICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzaW5zdGFuY2UoZXZlbnRzWzBdLCBIZWFkZXJzUmVjZWl2
ZWQpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChldmVudHNbMF0uaGVhZGVycywgW10p
CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV2ZW50c1swXS5zdHJlYW1faWQsIHN0cmVh
bV9pZCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXZlbnRzWzBdLnN0cmVhbV9lbmRl
ZCwgRmFsc2UpCisKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpc2luc3RhbmNlKGV2ZW50
c1sxXSwgRGF0YVJlY2VpdmVkKSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXZlbnRz
WzFdLmRhdGEsIGIiIikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXZlbnRzWzFdLnN0
cmVhbV9pZCwgc3RyZWFtX2lkKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChldmVudHNb
MV0uc3RyZWFtX2VuZGVkLCBUcnVlKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3Rlc3RzL3Rl
c3RfaDMucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvdGVzdHMvdGVzdF9oMy5weQpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZTU1
MDM5OWI0YTMwMDZmZGIwODZlMjMwOTRmZTk4OThjNTQzMTc1Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9w
YXJ0eS9haW9xdWljL3Rlc3RzL3Rlc3RfaDMucHkKQEAgLTAsMCArMSwxMjkyIEBACitpbXBvcnQg
YmluYXNjaWkKK2Zyb20gdW5pdHRlc3QgaW1wb3J0IFRlc3RDYXNlCisKK2Zyb20gYWlvcXVpYy5i
dWZmZXIgaW1wb3J0IGVuY29kZV91aW50X3ZhcgorZnJvbSBhaW9xdWljLmgzLmNvbm5lY3Rpb24g
aW1wb3J0ICgKKyAgICBIM19BTFBOLAorICAgIEVycm9yQ29kZSwKKyAgICBGcmFtZVR5cGUsCisg
ICAgRnJhbWVVbmV4cGVjdGVkLAorICAgIEgzQ29ubmVjdGlvbiwKKyAgICBTdHJlYW1UeXBlLAor
ICAgIGVuY29kZV9mcmFtZSwKKykKK2Zyb20gYWlvcXVpYy5oMy5ldmVudHMgaW1wb3J0IERhdGFS
ZWNlaXZlZCwgSGVhZGVyc1JlY2VpdmVkLCBQdXNoUHJvbWlzZVJlY2VpdmVkCitmcm9tIGFpb3F1
aWMuaDMuZXhjZXB0aW9ucyBpbXBvcnQgTm9BdmFpbGFibGVQdXNoSURFcnJvcgorZnJvbSBhaW9x
dWljLnF1aWMuY29uZmlndXJhdGlvbiBpbXBvcnQgUXVpY0NvbmZpZ3VyYXRpb24KK2Zyb20gYWlv
cXVpYy5xdWljLmV2ZW50cyBpbXBvcnQgU3RyZWFtRGF0YVJlY2VpdmVkCitmcm9tIGFpb3F1aWMu
cXVpYy5sb2dnZXIgaW1wb3J0IFF1aWNMb2dnZXIKKworZnJvbSAudGVzdF9jb25uZWN0aW9uIGlt
cG9ydCBjbGllbnRfYW5kX3NlcnZlciwgdHJhbnNmZXIKKworCitkZWYgaDNfY2xpZW50X2FuZF9z
ZXJ2ZXIoKToKKyAgICByZXR1cm4gY2xpZW50X2FuZF9zZXJ2ZXIoCisgICAgICAgIGNsaWVudF9v
cHRpb25zPXsiYWxwbl9wcm90b2NvbHMiOiBIM19BTFBOfSwKKyAgICAgICAgc2VydmVyX29wdGlv
bnM9eyJhbHBuX3Byb3RvY29scyI6IEgzX0FMUE59LAorICAgICkKKworCitkZWYgaDNfdHJhbnNm
ZXIocXVpY19zZW5kZXIsIGgzX3JlY2VpdmVyKToKKyAgICBxdWljX3JlY2VpdmVyID0gaDNfcmVj
ZWl2ZXIuX3F1aWMKKyAgICBpZiBoYXNhdHRyKHF1aWNfc2VuZGVyLCAic3RyZWFtX3F1ZXVlIik6
CisgICAgICAgIHF1aWNfcmVjZWl2ZXIuX2V2ZW50cy5leHRlbmQocXVpY19zZW5kZXIuc3RyZWFt
X3F1ZXVlKQorICAgICAgICBxdWljX3NlbmRlci5zdHJlYW1fcXVldWUuY2xlYXIoKQorICAgIGVs
c2U6CisgICAgICAgIHRyYW5zZmVyKHF1aWNfc2VuZGVyLCBxdWljX3JlY2VpdmVyKQorCisgICAg
IyBwcm9jZXNzIFFVSUMgZXZlbnRzCisgICAgaHR0cF9ldmVudHMgPSBbXQorICAgIGV2ZW50ID0g
cXVpY19yZWNlaXZlci5uZXh0X2V2ZW50KCkKKyAgICB3aGlsZSBldmVudCBpcyBub3QgTm9uZToK
KyAgICAgICAgaHR0cF9ldmVudHMuZXh0ZW5kKGgzX3JlY2VpdmVyLmhhbmRsZV9ldmVudChldmVu
dCkpCisgICAgICAgIGV2ZW50ID0gcXVpY19yZWNlaXZlci5uZXh0X2V2ZW50KCkKKyAgICByZXR1
cm4gaHR0cF9ldmVudHMKKworCitjbGFzcyBGYWtlUXVpY0Nvbm5lY3Rpb246CisgICAgZGVmIF9f
aW5pdF9fKHNlbGYsIGNvbmZpZ3VyYXRpb24pOgorICAgICAgICBzZWxmLmNsb3NlZCA9IE5vbmUK
KyAgICAgICAgc2VsZi5jb25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvbgorICAgICAgICBzZWxm
LnN0cmVhbV9xdWV1ZSA9IFtdCisgICAgICAgIHNlbGYuX2V2ZW50cyA9IFtdCisgICAgICAgIHNl
bGYuX25leHRfc3RyZWFtX2JpZGkgPSAwIGlmIGNvbmZpZ3VyYXRpb24uaXNfY2xpZW50IGVsc2Ug
MQorICAgICAgICBzZWxmLl9uZXh0X3N0cmVhbV91bmkgPSAyIGlmIGNvbmZpZ3VyYXRpb24uaXNf
Y2xpZW50IGVsc2UgMworICAgICAgICBzZWxmLl9xdWljX2xvZ2dlciA9IFF1aWNMb2dnZXIoKS5z
dGFydF90cmFjZSgKKyAgICAgICAgICAgIGlzX2NsaWVudD1jb25maWd1cmF0aW9uLmlzX2NsaWVu
dCwgb2RjaWQ9YiIiCisgICAgICAgICkKKworICAgIGRlZiBjbG9zZShzZWxmLCBlcnJvcl9jb2Rl
LCByZWFzb25fcGhyYXNlKToKKyAgICAgICAgc2VsZi5jbG9zZWQgPSAoZXJyb3JfY29kZSwgcmVh
c29uX3BocmFzZSkKKworICAgIGRlZiBnZXRfbmV4dF9hdmFpbGFibGVfc3RyZWFtX2lkKHNlbGYs
IGlzX3VuaWRpcmVjdGlvbmFsPUZhbHNlKToKKyAgICAgICAgaWYgaXNfdW5pZGlyZWN0aW9uYWw6
CisgICAgICAgICAgICBzdHJlYW1faWQgPSBzZWxmLl9uZXh0X3N0cmVhbV91bmkKKyAgICAgICAg
ICAgIHNlbGYuX25leHRfc3RyZWFtX3VuaSArPSA0CisgICAgICAgIGVsc2U6CisgICAgICAgICAg
ICBzdHJlYW1faWQgPSBzZWxmLl9uZXh0X3N0cmVhbV9iaWRpCisgICAgICAgICAgICBzZWxmLl9u
ZXh0X3N0cmVhbV9iaWRpICs9IDQKKyAgICAgICAgcmV0dXJuIHN0cmVhbV9pZAorCisgICAgZGVm
IG5leHRfZXZlbnQoc2VsZik6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHJldHVybiBzZWxm
Ll9ldmVudHMucG9wKDApCisgICAgICAgIGV4Y2VwdCBJbmRleEVycm9yOgorICAgICAgICAgICAg
cmV0dXJuIE5vbmUKKworICAgIGRlZiBzZW5kX3N0cmVhbV9kYXRhKHNlbGYsIHN0cmVhbV9pZCwg
ZGF0YSwgZW5kX3N0cmVhbT1GYWxzZSk6CisgICAgICAgICMgY2hvcCB1cCBkYXRhIGludG8gaW5k
aXZpZHVhbCBieXRlcworICAgICAgICBmb3IgYyBpbiBkYXRhOgorICAgICAgICAgICAgc2VsZi5z
dHJlYW1fcXVldWUuYXBwZW5kKAorICAgICAgICAgICAgICAgIFN0cmVhbURhdGFSZWNlaXZlZCgK
KyAgICAgICAgICAgICAgICAgICAgZGF0YT1ieXRlcyhbY10pLCBlbmRfc3RyZWFtPUZhbHNlLCBz
dHJlYW1faWQ9c3RyZWFtX2lkCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgKQorICAg
ICAgICBpZiBlbmRfc3RyZWFtOgorICAgICAgICAgICAgc2VsZi5zdHJlYW1fcXVldWUuYXBwZW5k
KAorICAgICAgICAgICAgICAgIFN0cmVhbURhdGFSZWNlaXZlZChkYXRhPWIiIiwgZW5kX3N0cmVh
bT1lbmRfc3RyZWFtLCBzdHJlYW1faWQ9c3RyZWFtX2lkKQorICAgICAgICAgICAgKQorCisKK2Ns
YXNzIEgzQ29ubmVjdGlvblRlc3QoVGVzdENhc2UpOgorICAgIG1heERpZmYgPSBOb25lCisKKyAg
ICBkZWYgX21ha2VfcmVxdWVzdChzZWxmLCBoM19jbGllbnQsIGgzX3NlcnZlcik6CisgICAgICAg
IHF1aWNfY2xpZW50ID0gaDNfY2xpZW50Ll9xdWljCisgICAgICAgIHF1aWNfc2VydmVyID0gaDNf
c2VydmVyLl9xdWljCisKKyAgICAgICAgIyBzZW5kIHJlcXVlc3QKKyAgICAgICAgc3RyZWFtX2lk
ID0gcXVpY19jbGllbnQuZ2V0X25leHRfYXZhaWxhYmxlX3N0cmVhbV9pZCgpCisgICAgICAgIGgz
X2NsaWVudC5zZW5kX2hlYWRlcnMoCisgICAgICAgICAgICBzdHJlYW1faWQ9c3RyZWFtX2lkLAor
ICAgICAgICAgICAgaGVhZGVycz1bCisgICAgICAgICAgICAgICAgKGIiOm1ldGhvZCIsIGIiR0VU
IiksCisgICAgICAgICAgICAgICAgKGIiOnNjaGVtZSIsIGIiaHR0cHMiKSwKKyAgICAgICAgICAg
ICAgICAoYiI6YXV0aG9yaXR5IiwgYiJsb2NhbGhvc3QiKSwKKyAgICAgICAgICAgICAgICAoYiI6
cGF0aCIsIGIiLyIpLAorICAgICAgICAgICAgICAgIChiIngtZm9vIiwgYiJjbGllbnQiKSwKKyAg
ICAgICAgICAgIF0sCisgICAgICAgICkKKyAgICAgICAgaDNfY2xpZW50LnNlbmRfZGF0YShzdHJl
YW1faWQ9c3RyZWFtX2lkLCBkYXRhPWIiIiwgZW5kX3N0cmVhbT1UcnVlKQorCisgICAgICAgICMg
cmVjZWl2ZSByZXF1ZXN0CisgICAgICAgIGV2ZW50cyA9IGgzX3RyYW5zZmVyKHF1aWNfY2xpZW50
LCBoM19zZXJ2ZXIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBldmVu
dHMsCisgICAgICAgICAgICBbCisgICAgICAgICAgICAgICAgSGVhZGVyc1JlY2VpdmVkKAorICAg
ICAgICAgICAgICAgICAgICBoZWFkZXJzPVsKKyAgICAgICAgICAgICAgICAgICAgICAgIChiIjpt
ZXRob2QiLCBiIkdFVCIpLAorICAgICAgICAgICAgICAgICAgICAgICAgKGIiOnNjaGVtZSIsIGIi
aHR0cHMiKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIChiIjphdXRob3JpdHkiLCBiImxvY2Fs
aG9zdCIpLAorICAgICAgICAgICAgICAgICAgICAgICAgKGIiOnBhdGgiLCBiIi8iKSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgIChiIngtZm9vIiwgYiJjbGllbnQiKSwKKyAgICAgICAgICAgICAg
ICAgICAgXSwKKyAgICAgICAgICAgICAgICAgICAgc3RyZWFtX2lkPXN0cmVhbV9pZCwKKyAgICAg
ICAgICAgICAgICAgICAgc3RyZWFtX2VuZGVkPUZhbHNlLAorICAgICAgICAgICAgICAgICksCisg
ICAgICAgICAgICAgICAgRGF0YVJlY2VpdmVkKGRhdGE9YiIiLCBzdHJlYW1faWQ9c3RyZWFtX2lk
LCBzdHJlYW1fZW5kZWQ9VHJ1ZSksCisgICAgICAgICAgICBdLAorICAgICAgICApCisKKyAgICAg
ICAgIyBzZW5kIHJlc3BvbnNlCisgICAgICAgIGgzX3NlcnZlci5zZW5kX2hlYWRlcnMoCisgICAg
ICAgICAgICBzdHJlYW1faWQ9c3RyZWFtX2lkLAorICAgICAgICAgICAgaGVhZGVycz1bCisgICAg
ICAgICAgICAgICAgKGIiOnN0YXR1cyIsIGIiMjAwIiksCisgICAgICAgICAgICAgICAgKGIiY29u
dGVudC10eXBlIiwgYiJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiKSwKKyAgICAgICAgICAgICAg
ICAoYiJ4LWZvbyIsIGIic2VydmVyIiksCisgICAgICAgICAgICBdLAorICAgICAgICApCisgICAg
ICAgIGgzX3NlcnZlci5zZW5kX2RhdGEoCisgICAgICAgICAgICBzdHJlYW1faWQ9c3RyZWFtX2lk
LAorICAgICAgICAgICAgZGF0YT1iIjxodG1sPjxib2R5PmhlbGxvPC9ib2R5PjwvaHRtbD4iLAor
ICAgICAgICAgICAgZW5kX3N0cmVhbT1UcnVlLAorICAgICAgICApCisKKyAgICAgICAgIyByZWNl
aXZlIHJlc3BvbnNlCisgICAgICAgIGV2ZW50cyA9IGgzX3RyYW5zZmVyKHF1aWNfc2VydmVyLCBo
M19jbGllbnQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBldmVudHMs
CisgICAgICAgICAgICBbCisgICAgICAgICAgICAgICAgSGVhZGVyc1JlY2VpdmVkKAorICAgICAg
ICAgICAgICAgICAgICBoZWFkZXJzPVsKKyAgICAgICAgICAgICAgICAgICAgICAgIChiIjpzdGF0
dXMiLCBiIjIwMCIpLAorICAgICAgICAgICAgICAgICAgICAgICAgKGIiY29udGVudC10eXBlIiwg
YiJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIChi
IngtZm9vIiwgYiJzZXJ2ZXIiKSwKKyAgICAgICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAg
ICAgICAgICAgc3RyZWFtX2lkPXN0cmVhbV9pZCwKKyAgICAgICAgICAgICAgICAgICAgc3RyZWFt
X2VuZGVkPUZhbHNlLAorICAgICAgICAgICAgICAgICksCisgICAgICAgICAgICAgICAgRGF0YVJl
Y2VpdmVkKAorICAgICAgICAgICAgICAgICAgICBkYXRhPWIiPGh0bWw+PGJvZHk+aGVsbG88L2Jv
ZHk+PC9odG1sPiIsCisgICAgICAgICAgICAgICAgICAgIHN0cmVhbV9pZD1zdHJlYW1faWQsCisg
ICAgICAgICAgICAgICAgICAgIHN0cmVhbV9lbmRlZD1UcnVlLAorICAgICAgICAgICAgICAgICks
CisgICAgICAgICAgICBdLAorICAgICAgICApCisKKyAgICBkZWYgdGVzdF9oYW5kbGVfY29udHJv
bF9mcmFtZV9oZWFkZXJzKHNlbGYpOgorICAgICAgICAiIiIKKyAgICAgICAgV2Ugc2hvdWxkIG5v
dCByZWNlaXZlIEhFQURFUlMgb24gdGhlIGNvbnRyb2wgc3RyZWFtLgorICAgICAgICAiIiIKKyAg
ICAgICAgcXVpY19zZXJ2ZXIgPSBGYWtlUXVpY0Nvbm5lY3Rpb24oCisgICAgICAgICAgICBjb25m
aWd1cmF0aW9uPVF1aWNDb25maWd1cmF0aW9uKGlzX2NsaWVudD1GYWxzZSkKKyAgICAgICAgKQor
ICAgICAgICBoM19zZXJ2ZXIgPSBIM0Nvbm5lY3Rpb24ocXVpY19zZXJ2ZXIpCisKKyAgICAgICAg
aDNfc2VydmVyLmhhbmRsZV9ldmVudCgKKyAgICAgICAgICAgIFN0cmVhbURhdGFSZWNlaXZlZCgK
KyAgICAgICAgICAgICAgICBzdHJlYW1faWQ9MiwKKyAgICAgICAgICAgICAgICBkYXRhPWVuY29k
ZV91aW50X3ZhcihTdHJlYW1UeXBlLkNPTlRST0wpCisgICAgICAgICAgICAgICAgKyBlbmNvZGVf
ZnJhbWUoRnJhbWVUeXBlLkhFQURFUlMsIGIiIiksCisgICAgICAgICAgICAgICAgZW5kX3N0cmVh
bT1GYWxzZSwKKyAgICAgICAgICAgICkKKyAgICAgICAgKQorICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKAorICAgICAgICAgICAgcXVpY19zZXJ2ZXIuY2xvc2VkLAorICAgICAgICAgICAgKEVycm9y
Q29kZS5IVFRQX0ZSQU1FX1VORVhQRUNURUQsICJJbnZhbGlkIGZyYW1lIHR5cGUgb24gY29udHJv
bCBzdHJlYW0iKSwKKyAgICAgICAgKQorCisgICAgZGVmIHRlc3RfaGFuZGxlX2NvbnRyb2xfZnJh
bWVfbWF4X3B1c2hfaWRfZnJvbV9zZXJ2ZXIoc2VsZik6CisgICAgICAgICIiIgorICAgICAgICBB
IGNsaWVudCBzaG91bGQgbm90IHJlY2VpdmUgTUFYX1BVU0hfSUQgb24gdGhlIGNvbnRyb2wgc3Ry
ZWFtLgorICAgICAgICAiIiIKKyAgICAgICAgcXVpY19jbGllbnQgPSBGYWtlUXVpY0Nvbm5lY3Rp
b24oCisgICAgICAgICAgICBjb25maWd1cmF0aW9uPVF1aWNDb25maWd1cmF0aW9uKGlzX2NsaWVu
dD1UcnVlKQorICAgICAgICApCisgICAgICAgIGgzX2NsaWVudCA9IEgzQ29ubmVjdGlvbihxdWlj
X2NsaWVudCkKKworICAgICAgICBoM19jbGllbnQuaGFuZGxlX2V2ZW50KAorICAgICAgICAgICAg
U3RyZWFtRGF0YVJlY2VpdmVkKAorICAgICAgICAgICAgICAgIHN0cmVhbV9pZD0zLAorICAgICAg
ICAgICAgICAgIGRhdGE9ZW5jb2RlX3VpbnRfdmFyKFN0cmVhbVR5cGUuQ09OVFJPTCkKKyAgICAg
ICAgICAgICAgICArIGVuY29kZV9mcmFtZShGcmFtZVR5cGUuTUFYX1BVU0hfSUQsIGIiIiksCisg
ICAgICAgICAgICAgICAgZW5kX3N0cmVhbT1GYWxzZSwKKyAgICAgICAgICAgICkKKyAgICAgICAg
KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgcXVpY19jbGllbnQuY2xv
c2VkLAorICAgICAgICAgICAgKEVycm9yQ29kZS5IVFRQX0ZSQU1FX1VORVhQRUNURUQsICJTZXJ2
ZXJzIG11c3Qgbm90IHNlbmQgTUFYX1BVU0hfSUQiKSwKKyAgICAgICAgKQorCisgICAgZGVmIHRl
c3RfaGFuZGxlX2NvbnRyb2xfc3RyZWFtX2R1cGxpY2F0ZShzZWxmKToKKyAgICAgICAgIiIiCisg
ICAgICAgIFdlIG11c3Qgb25seSByZWNlaXZlIGEgc2luZ2xlIGNvbnRyb2wgc3RyZWFtLgorICAg
ICAgICAiIiIKKyAgICAgICAgcXVpY19zZXJ2ZXIgPSBGYWtlUXVpY0Nvbm5lY3Rpb24oCisgICAg
ICAgICAgICBjb25maWd1cmF0aW9uPVF1aWNDb25maWd1cmF0aW9uKGlzX2NsaWVudD1GYWxzZSkK
KyAgICAgICAgKQorICAgICAgICBoM19zZXJ2ZXIgPSBIM0Nvbm5lY3Rpb24ocXVpY19zZXJ2ZXIp
CisKKyAgICAgICAgIyByZWNlaXZlIGEgZmlyc3QgY29udHJvbCBzdHJlYW0KKyAgICAgICAgaDNf
c2VydmVyLmhhbmRsZV9ldmVudCgKKyAgICAgICAgICAgIFN0cmVhbURhdGFSZWNlaXZlZCgKKyAg
ICAgICAgICAgICAgICBzdHJlYW1faWQ9MiwgZGF0YT1lbmNvZGVfdWludF92YXIoU3RyZWFtVHlw
ZS5DT05UUk9MKSwgZW5kX3N0cmVhbT1GYWxzZQorICAgICAgICAgICAgKQorICAgICAgICApCisK
KyAgICAgICAgIyByZWNlaXZlIGEgc2Vjb25kIGNvbnRyb2wgc3RyZWFtCisgICAgICAgIGgzX3Nl
cnZlci5oYW5kbGVfZXZlbnQoCisgICAgICAgICAgICBTdHJlYW1EYXRhUmVjZWl2ZWQoCisgICAg
ICAgICAgICAgICAgc3RyZWFtX2lkPTYsIGRhdGE9ZW5jb2RlX3VpbnRfdmFyKFN0cmVhbVR5cGUu
Q09OVFJPTCksIGVuZF9zdHJlYW09RmFsc2UKKyAgICAgICAgICAgICkKKyAgICAgICAgKQorICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgcXVpY19zZXJ2ZXIuY2xvc2VkLAor
ICAgICAgICAgICAgKAorICAgICAgICAgICAgICAgIEVycm9yQ29kZS5IVFRQX1NUUkVBTV9DUkVB
VElPTl9FUlJPUiwKKyAgICAgICAgICAgICAgICAiT25seSBvbmUgY29udHJvbCBzdHJlYW0gaXMg
YWxsb3dlZCIsCisgICAgICAgICAgICApLAorICAgICAgICApCisKKyAgICBkZWYgdGVzdF9oYW5k
bGVfcHVzaF9mcmFtZV93cm9uZ19mcmFtZV90eXBlKHNlbGYpOgorICAgICAgICAiIiIKKyAgICAg
ICAgV2Ugc2hvdWxkIG5vdCByZWNlaXZlZCBTRVRUSU5HUyBvbiBhIHB1c2ggc3RyZWFtLgorICAg
ICAgICAiIiIKKyAgICAgICAgcXVpY19jbGllbnQgPSBGYWtlUXVpY0Nvbm5lY3Rpb24oCisgICAg
ICAgICAgICBjb25maWd1cmF0aW9uPVF1aWNDb25maWd1cmF0aW9uKGlzX2NsaWVudD1UcnVlKQor
ICAgICAgICApCisgICAgICAgIGgzX2NsaWVudCA9IEgzQ29ubmVjdGlvbihxdWljX2NsaWVudCkK
KworICAgICAgICBoM19jbGllbnQuaGFuZGxlX2V2ZW50KAorICAgICAgICAgICAgU3RyZWFtRGF0
YVJlY2VpdmVkKAorICAgICAgICAgICAgICAgIHN0cmVhbV9pZD0xNSwKKyAgICAgICAgICAgICAg
ICBkYXRhPWVuY29kZV91aW50X3ZhcihTdHJlYW1UeXBlLlBVU0gpCisgICAgICAgICAgICAgICAg
KyBlbmNvZGVfdWludF92YXIoMCkgICMgcHVzaCBJRAorICAgICAgICAgICAgICAgICsgZW5jb2Rl
X2ZyYW1lKEZyYW1lVHlwZS5TRVRUSU5HUywgYiIiKSwKKyAgICAgICAgICAgICAgICBlbmRfc3Ry
ZWFtPUZhbHNlLAorICAgICAgICAgICAgKQorICAgICAgICApCisgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwoCisgICAgICAgICAgICBxdWljX2NsaWVudC5jbG9zZWQsCisgICAgICAgICAgICAoRXJy
b3JDb2RlLkhUVFBfRlJBTUVfVU5FWFBFQ1RFRCwgIkludmFsaWQgZnJhbWUgdHlwZSBvbiBwdXNo
IHN0cmVhbSIpLAorICAgICAgICApCisKKyAgICBkZWYgdGVzdF9oYW5kbGVfcXBhY2tfZGVjb2Rl
cl9kdXBsaWNhdGUoc2VsZik6CisgICAgICAgICIiIgorICAgICAgICBXZSBtdXN0IG9ubHkgcmVj
ZWl2ZSBhIHNpbmdsZSBRUEFDSyBkZWNvZGVyIHN0cmVhbS4KKyAgICAgICAgIiIiCisgICAgICAg
IHF1aWNfY2xpZW50ID0gRmFrZVF1aWNDb25uZWN0aW9uKAorICAgICAgICAgICAgY29uZmlndXJh
dGlvbj1RdWljQ29uZmlndXJhdGlvbihpc19jbGllbnQ9VHJ1ZSkKKyAgICAgICAgKQorICAgICAg
ICBoM19jbGllbnQgPSBIM0Nvbm5lY3Rpb24ocXVpY19jbGllbnQpCisKKyAgICAgICAgIyByZWNl
aXZlIGEgZmlyc3QgZGVjb2RlciBzdHJlYW0KKyAgICAgICAgaDNfY2xpZW50LmhhbmRsZV9ldmVu
dCgKKyAgICAgICAgICAgIFN0cmVhbURhdGFSZWNlaXZlZCgKKyAgICAgICAgICAgICAgICBzdHJl
YW1faWQ9MTEsCisgICAgICAgICAgICAgICAgZGF0YT1lbmNvZGVfdWludF92YXIoU3RyZWFtVHlw
ZS5RUEFDS19ERUNPREVSKSwKKyAgICAgICAgICAgICAgICBlbmRfc3RyZWFtPUZhbHNlLAorICAg
ICAgICAgICAgKQorICAgICAgICApCisKKyAgICAgICAgIyByZWNlaXZlIGEgc2Vjb25kIGRlY29k
ZXIgc3RyZWFtCisgICAgICAgIGgzX2NsaWVudC5oYW5kbGVfZXZlbnQoCisgICAgICAgICAgICBT
dHJlYW1EYXRhUmVjZWl2ZWQoCisgICAgICAgICAgICAgICAgc3RyZWFtX2lkPTE1LAorICAgICAg
ICAgICAgICAgIGRhdGE9ZW5jb2RlX3VpbnRfdmFyKFN0cmVhbVR5cGUuUVBBQ0tfREVDT0RFUiks
CisgICAgICAgICAgICAgICAgZW5kX3N0cmVhbT1GYWxzZSwKKyAgICAgICAgICAgICkKKyAgICAg
ICAgKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgcXVpY19jbGllbnQu
Y2xvc2VkLAorICAgICAgICAgICAgKAorICAgICAgICAgICAgICAgIEVycm9yQ29kZS5IVFRQX1NU
UkVBTV9DUkVBVElPTl9FUlJPUiwKKyAgICAgICAgICAgICAgICAiT25seSBvbmUgUVBBQ0sgZGVj
b2RlciBzdHJlYW0gaXMgYWxsb3dlZCIsCisgICAgICAgICAgICApLAorICAgICAgICApCisKKyAg
ICBkZWYgdGVzdF9oYW5kbGVfcXBhY2tfZGVjb2Rlcl9zdHJlYW1fZXJyb3Ioc2VsZik6CisgICAg
ICAgICIiIgorICAgICAgICBSZWNlaXZpbmcgZ2FyYmFnZSBvbiB0aGUgUVBBQ0sgZGVjb2RlciBz
dHJlYW0gdHJpZ2dlcnMgYW4gZXhjZXB0aW9uLgorICAgICAgICAiIiIKKyAgICAgICAgcXVpY19j
bGllbnQgPSBGYWtlUXVpY0Nvbm5lY3Rpb24oCisgICAgICAgICAgICBjb25maWd1cmF0aW9uPVF1
aWNDb25maWd1cmF0aW9uKGlzX2NsaWVudD1UcnVlKQorICAgICAgICApCisgICAgICAgIGgzX2Ns
aWVudCA9IEgzQ29ubmVjdGlvbihxdWljX2NsaWVudCkKKworICAgICAgICBoM19jbGllbnQuaGFu
ZGxlX2V2ZW50KAorICAgICAgICAgICAgU3RyZWFtRGF0YVJlY2VpdmVkKAorICAgICAgICAgICAg
ICAgIHN0cmVhbV9pZD0xMSwKKyAgICAgICAgICAgICAgICBkYXRhPWVuY29kZV91aW50X3ZhcihT
dHJlYW1UeXBlLlFQQUNLX0RFQ09ERVIpICsgYiJceDAwIiwKKyAgICAgICAgICAgICAgICBlbmRf
c3RyZWFtPUZhbHNlLAorICAgICAgICAgICAgKQorICAgICAgICApCisgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoCisgICAgICAgICAgICBxdWljX2NsaWVudC5jbG9zZWQsIChFcnJvckNvZGUuSFRU
UF9RUEFDS19ERUNPREVSX1NUUkVBTV9FUlJPUiwgIiIpCisgICAgICAgICkKKworICAgIGRlZiB0
ZXN0X2hhbmRsZV9xcGFja19lbmNvZGVyX2R1cGxpY2F0ZShzZWxmKToKKyAgICAgICAgIiIiCisg
ICAgICAgIFdlIG11c3Qgb25seSByZWNlaXZlIGEgc2luZ2xlIFFQQUNLIGVuY29kZXIgc3RyZWFt
LgorICAgICAgICAiIiIKKyAgICAgICAgcXVpY19jbGllbnQgPSBGYWtlUXVpY0Nvbm5lY3Rpb24o
CisgICAgICAgICAgICBjb25maWd1cmF0aW9uPVF1aWNDb25maWd1cmF0aW9uKGlzX2NsaWVudD1U
cnVlKQorICAgICAgICApCisgICAgICAgIGgzX2NsaWVudCA9IEgzQ29ubmVjdGlvbihxdWljX2Ns
aWVudCkKKworICAgICAgICAjIHJlY2VpdmUgYSBmaXJzdCBlbmNvZGVyIHN0cmVhbQorICAgICAg
ICBoM19jbGllbnQuaGFuZGxlX2V2ZW50KAorICAgICAgICAgICAgU3RyZWFtRGF0YVJlY2VpdmVk
KAorICAgICAgICAgICAgICAgIHN0cmVhbV9pZD0xMSwKKyAgICAgICAgICAgICAgICBkYXRhPWVu
Y29kZV91aW50X3ZhcihTdHJlYW1UeXBlLlFQQUNLX0VOQ09ERVIpLAorICAgICAgICAgICAgICAg
IGVuZF9zdHJlYW09RmFsc2UsCisgICAgICAgICAgICApCisgICAgICAgICkKKworICAgICAgICAj
IHJlY2VpdmUgYSBzZWNvbmQgZW5jb2RlciBzdHJlYW0KKyAgICAgICAgaDNfY2xpZW50LmhhbmRs
ZV9ldmVudCgKKyAgICAgICAgICAgIFN0cmVhbURhdGFSZWNlaXZlZCgKKyAgICAgICAgICAgICAg
ICBzdHJlYW1faWQ9MTUsCisgICAgICAgICAgICAgICAgZGF0YT1lbmNvZGVfdWludF92YXIoU3Ry
ZWFtVHlwZS5RUEFDS19FTkNPREVSKSwKKyAgICAgICAgICAgICAgICBlbmRfc3RyZWFtPUZhbHNl
LAorICAgICAgICAgICAgKQorICAgICAgICApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisg
ICAgICAgICAgICBxdWljX2NsaWVudC5jbG9zZWQsCisgICAgICAgICAgICAoCisgICAgICAgICAg
ICAgICAgRXJyb3JDb2RlLkhUVFBfU1RSRUFNX0NSRUFUSU9OX0VSUk9SLAorICAgICAgICAgICAg
ICAgICJPbmx5IG9uZSBRUEFDSyBlbmNvZGVyIHN0cmVhbSBpcyBhbGxvd2VkIiwKKyAgICAgICAg
ICAgICksCisgICAgICAgICkKKworICAgIGRlZiB0ZXN0X2hhbmRsZV9xcGFja19lbmNvZGVyX3N0
cmVhbV9lcnJvcihzZWxmKToKKyAgICAgICAgIiIiCisgICAgICAgIFJlY2VpdmluZyBnYXJiYWdl
IG9uIHRoZSBRUEFDSyBlbmNvZGVyIHN0cmVhbSB0cmlnZ2VycyBhbiBleGNlcHRpb24uCisgICAg
ICAgICIiIgorICAgICAgICBxdWljX2NsaWVudCA9IEZha2VRdWljQ29ubmVjdGlvbigKKyAgICAg
ICAgICAgIGNvbmZpZ3VyYXRpb249UXVpY0NvbmZpZ3VyYXRpb24oaXNfY2xpZW50PVRydWUpCisg
ICAgICAgICkKKyAgICAgICAgaDNfY2xpZW50ID0gSDNDb25uZWN0aW9uKHF1aWNfY2xpZW50KQor
CisgICAgICAgIGgzX2NsaWVudC5oYW5kbGVfZXZlbnQoCisgICAgICAgICAgICBTdHJlYW1EYXRh
UmVjZWl2ZWQoCisgICAgICAgICAgICAgICAgc3RyZWFtX2lkPTcsCisgICAgICAgICAgICAgICAg
ZGF0YT1lbmNvZGVfdWludF92YXIoU3RyZWFtVHlwZS5RUEFDS19FTkNPREVSKSArIGIiXHgwMCIs
CisgICAgICAgICAgICAgICAgZW5kX3N0cmVhbT1GYWxzZSwKKyAgICAgICAgICAgICkKKyAgICAg
ICAgKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgcXVpY19jbGllbnQu
Y2xvc2VkLCAoRXJyb3JDb2RlLkhUVFBfUVBBQ0tfRU5DT0RFUl9TVFJFQU1fRVJST1IsICIiKQor
ICAgICAgICApCisKKyAgICBkZWYgdGVzdF9oYW5kbGVfcmVxdWVzdF9mcmFtZV9iYWRfaGVhZGVy
cyhzZWxmKToKKyAgICAgICAgIiIiCisgICAgICAgIFdlIHNob3VsZCBub3QgcmVjZWl2ZSBIRUFE
RVJTIHdoaWNoIGNhbm5vdCBiZSBkZWNvZGVkLgorICAgICAgICAiIiIKKyAgICAgICAgcXVpY19z
ZXJ2ZXIgPSBGYWtlUXVpY0Nvbm5lY3Rpb24oCisgICAgICAgICAgICBjb25maWd1cmF0aW9uPVF1
aWNDb25maWd1cmF0aW9uKGlzX2NsaWVudD1GYWxzZSkKKyAgICAgICAgKQorICAgICAgICBoM19z
ZXJ2ZXIgPSBIM0Nvbm5lY3Rpb24ocXVpY19zZXJ2ZXIpCisKKyAgICAgICAgaDNfc2VydmVyLmhh
bmRsZV9ldmVudCgKKyAgICAgICAgICAgIFN0cmVhbURhdGFSZWNlaXZlZCgKKyAgICAgICAgICAg
ICAgICBzdHJlYW1faWQ9MCwgZGF0YT1lbmNvZGVfZnJhbWUoRnJhbWVUeXBlLkhFQURFUlMsIGIi
IiksIGVuZF9zdHJlYW09RmFsc2UKKyAgICAgICAgICAgICkKKyAgICAgICAgKQorICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgcXVpY19zZXJ2ZXIuY2xvc2VkLCAoRXJyb3JD
b2RlLkhUVFBfUVBBQ0tfREVDT01QUkVTU0lPTl9GQUlMRUQsICIiKQorICAgICAgICApCisKKyAg
ICBkZWYgdGVzdF9oYW5kbGVfcmVxdWVzdF9mcmFtZV9kYXRhX2JlZm9yZV9oZWFkZXJzKHNlbGYp
OgorICAgICAgICAiIiIKKyAgICAgICAgV2Ugc2hvdWxkIG5vdCByZWNlaXZlIERBVEEgYmVmb3Jl
IHJlY2VpdmluZyBoZWFkZXJzLgorICAgICAgICAiIiIKKyAgICAgICAgcXVpY19zZXJ2ZXIgPSBG
YWtlUXVpY0Nvbm5lY3Rpb24oCisgICAgICAgICAgICBjb25maWd1cmF0aW9uPVF1aWNDb25maWd1
cmF0aW9uKGlzX2NsaWVudD1GYWxzZSkKKyAgICAgICAgKQorICAgICAgICBoM19zZXJ2ZXIgPSBI
M0Nvbm5lY3Rpb24ocXVpY19zZXJ2ZXIpCisKKyAgICAgICAgaDNfc2VydmVyLmhhbmRsZV9ldmVu
dCgKKyAgICAgICAgICAgIFN0cmVhbURhdGFSZWNlaXZlZCgKKyAgICAgICAgICAgICAgICBzdHJl
YW1faWQ9MCwgZGF0YT1lbmNvZGVfZnJhbWUoRnJhbWVUeXBlLkRBVEEsIGIiIiksIGVuZF9zdHJl
YW09RmFsc2UKKyAgICAgICAgICAgICkKKyAgICAgICAgKQorICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKAorICAgICAgICAgICAgcXVpY19zZXJ2ZXIuY2xvc2VkLAorICAgICAgICAgICAgKAorICAg
ICAgICAgICAgICAgIEVycm9yQ29kZS5IVFRQX0ZSQU1FX1VORVhQRUNURUQsCisgICAgICAgICAg
ICAgICAgIkRBVEEgZnJhbWUgaXMgbm90IGFsbG93ZWQgaW4gdGhpcyBzdGF0ZSIsCisgICAgICAg
ICAgICApLAorICAgICAgICApCisKKyAgICBkZWYgdGVzdF9oYW5kbGVfcmVxdWVzdF9mcmFtZV9o
ZWFkZXJzX2FmdGVyX3RyYWlsZXJzKHNlbGYpOgorICAgICAgICAiIiIKKyAgICAgICAgV2Ugc2hv
dWxkIG5vdCByZWNlaXZlIEhFQURFUlMgYWZ0ZXIgcmVjZWl2aW5nIHRyYWlsZXJzLgorICAgICAg
ICAiIiIKKyAgICAgICAgcXVpY19jbGllbnQgPSBGYWtlUXVpY0Nvbm5lY3Rpb24oCisgICAgICAg
ICAgICBjb25maWd1cmF0aW9uPVF1aWNDb25maWd1cmF0aW9uKGlzX2NsaWVudD1UcnVlKQorICAg
ICAgICApCisgICAgICAgIHF1aWNfc2VydmVyID0gRmFrZVF1aWNDb25uZWN0aW9uKAorICAgICAg
ICAgICAgY29uZmlndXJhdGlvbj1RdWljQ29uZmlndXJhdGlvbihpc19jbGllbnQ9RmFsc2UpCisg
ICAgICAgICkKKworICAgICAgICBoM19jbGllbnQgPSBIM0Nvbm5lY3Rpb24ocXVpY19jbGllbnQp
CisgICAgICAgIGgzX3NlcnZlciA9IEgzQ29ubmVjdGlvbihxdWljX3NlcnZlcikKKworICAgICAg
ICBzdHJlYW1faWQgPSBxdWljX2NsaWVudC5nZXRfbmV4dF9hdmFpbGFibGVfc3RyZWFtX2lkKCkK
KyAgICAgICAgaDNfY2xpZW50LnNlbmRfaGVhZGVycygKKyAgICAgICAgICAgIHN0cmVhbV9pZD1z
dHJlYW1faWQsCisgICAgICAgICAgICBoZWFkZXJzPVsKKyAgICAgICAgICAgICAgICAoYiI6bWV0
aG9kIiwgYiJHRVQiKSwKKyAgICAgICAgICAgICAgICAoYiI6c2NoZW1lIiwgYiJodHRwcyIpLAor
ICAgICAgICAgICAgICAgIChiIjphdXRob3JpdHkiLCBiImxvY2FsaG9zdCIpLAorICAgICAgICAg
ICAgICAgIChiIjpwYXRoIiwgYiIvIiksCisgICAgICAgICAgICBdLAorICAgICAgICApCisgICAg
ICAgIGgzX2NsaWVudC5zZW5kX2hlYWRlcnMoCisgICAgICAgICAgICBzdHJlYW1faWQ9c3RyZWFt
X2lkLCBoZWFkZXJzPVsoYiJ4LXNvbWUtdHJhaWxlciIsIGIiZm9vIildLCBlbmRfc3RyZWFtPVRy
dWUKKyAgICAgICAgKQorICAgICAgICBoM190cmFuc2ZlcihxdWljX2NsaWVudCwgaDNfc2VydmVy
KQorCisgICAgICAgIGgzX3NlcnZlci5oYW5kbGVfZXZlbnQoCisgICAgICAgICAgICBTdHJlYW1E
YXRhUmVjZWl2ZWQoCisgICAgICAgICAgICAgICAgc3RyZWFtX2lkPTAsIGRhdGE9ZW5jb2RlX2Zy
YW1lKEZyYW1lVHlwZS5IRUFERVJTLCBiIiIpLCBlbmRfc3RyZWFtPUZhbHNlCisgICAgICAgICAg
ICApCisgICAgICAgICkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIHF1
aWNfc2VydmVyLmNsb3NlZCwKKyAgICAgICAgICAgICgKKyAgICAgICAgICAgICAgICBFcnJvckNv
ZGUuSFRUUF9GUkFNRV9VTkVYUEVDVEVELAorICAgICAgICAgICAgICAgICJIRUFERVJTIGZyYW1l
IGlzIG5vdCBhbGxvd2VkIGluIHRoaXMgc3RhdGUiLAorICAgICAgICAgICAgKSwKKyAgICAgICAg
KQorCisgICAgZGVmIHRlc3RfaGFuZGxlX3JlcXVlc3RfZnJhbWVfcHVzaF9wcm9taXNlX2Zyb21f
Y2xpZW50KHNlbGYpOgorICAgICAgICAiIiIKKyAgICAgICAgQSBzZXJ2ZXIgc2hvdWxkIG5vdCBy
ZWNlaXZlIFBVU0hfUFJPTUlTRSBvbiBhIHJlcXVlc3Qgc3RyZWFtLgorICAgICAgICAiIiIKKyAg
ICAgICAgcXVpY19zZXJ2ZXIgPSBGYWtlUXVpY0Nvbm5lY3Rpb24oCisgICAgICAgICAgICBjb25m
aWd1cmF0aW9uPVF1aWNDb25maWd1cmF0aW9uKGlzX2NsaWVudD1GYWxzZSkKKyAgICAgICAgKQor
ICAgICAgICBoM19zZXJ2ZXIgPSBIM0Nvbm5lY3Rpb24ocXVpY19zZXJ2ZXIpCisKKyAgICAgICAg
aDNfc2VydmVyLmhhbmRsZV9ldmVudCgKKyAgICAgICAgICAgIFN0cmVhbURhdGFSZWNlaXZlZCgK
KyAgICAgICAgICAgICAgICBzdHJlYW1faWQ9MCwKKyAgICAgICAgICAgICAgICBkYXRhPWVuY29k
ZV9mcmFtZShGcmFtZVR5cGUuUFVTSF9QUk9NSVNFLCBiIiIpLAorICAgICAgICAgICAgICAgIGVu
ZF9zdHJlYW09RmFsc2UsCisgICAgICAgICAgICApCisgICAgICAgICkKKyAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbCgKKyAgICAgICAgICAgIHF1aWNfc2VydmVyLmNsb3NlZCwKKyAgICAgICAgICAg
IChFcnJvckNvZGUuSFRUUF9GUkFNRV9VTkVYUEVDVEVELCAiQ2xpZW50cyBtdXN0IG5vdCBzZW5k
IFBVU0hfUFJPTUlTRSIpLAorICAgICAgICApCisKKyAgICBkZWYgdGVzdF9oYW5kbGVfcmVxdWVz
dF9mcmFtZV93cm9uZ19mcmFtZV90eXBlKHNlbGYpOgorICAgICAgICBxdWljX3NlcnZlciA9IEZh
a2VRdWljQ29ubmVjdGlvbigKKyAgICAgICAgICAgIGNvbmZpZ3VyYXRpb249UXVpY0NvbmZpZ3Vy
YXRpb24oaXNfY2xpZW50PUZhbHNlKQorICAgICAgICApCisgICAgICAgIGgzX3NlcnZlciA9IEgz
Q29ubmVjdGlvbihxdWljX3NlcnZlcikKKworICAgICAgICBoM19zZXJ2ZXIuaGFuZGxlX2V2ZW50
KAorICAgICAgICAgICAgU3RyZWFtRGF0YVJlY2VpdmVkKAorICAgICAgICAgICAgICAgIHN0cmVh
bV9pZD0wLAorICAgICAgICAgICAgICAgIGRhdGE9ZW5jb2RlX2ZyYW1lKEZyYW1lVHlwZS5TRVRU
SU5HUywgYiIiKSwKKyAgICAgICAgICAgICAgICBlbmRfc3RyZWFtPUZhbHNlLAorICAgICAgICAg
ICAgKQorICAgICAgICApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBx
dWljX3NlcnZlci5jbG9zZWQsCisgICAgICAgICAgICAoRXJyb3JDb2RlLkhUVFBfRlJBTUVfVU5F
WFBFQ1RFRCwgIkludmFsaWQgZnJhbWUgdHlwZSBvbiByZXF1ZXN0IHN0cmVhbSIpLAorICAgICAg
ICApCisKKyAgICBkZWYgdGVzdF9yZXF1ZXN0KHNlbGYpOgorICAgICAgICB3aXRoIGgzX2NsaWVu
dF9hbmRfc2VydmVyKCkgYXMgKHF1aWNfY2xpZW50LCBxdWljX3NlcnZlcik6CisgICAgICAgICAg
ICBoM19jbGllbnQgPSBIM0Nvbm5lY3Rpb24ocXVpY19jbGllbnQpCisgICAgICAgICAgICBoM19z
ZXJ2ZXIgPSBIM0Nvbm5lY3Rpb24ocXVpY19zZXJ2ZXIpCisKKyAgICAgICAgICAgICMgbWFrZSBm
aXJzdCByZXF1ZXN0CisgICAgICAgICAgICBzZWxmLl9tYWtlX3JlcXVlc3QoaDNfY2xpZW50LCBo
M19zZXJ2ZXIpCisKKyAgICAgICAgICAgICMgbWFrZSBzZWNvbmQgcmVxdWVzdAorICAgICAgICAg
ICAgc2VsZi5fbWFrZV9yZXF1ZXN0KGgzX2NsaWVudCwgaDNfc2VydmVyKQorCisgICAgICAgICAg
ICAjIG1ha2UgdGhpcmQgcmVxdWVzdCAtPiBkeW5hbWljIHRhYmxlCisgICAgICAgICAgICBzZWxm
Ll9tYWtlX3JlcXVlc3QoaDNfY2xpZW50LCBoM19zZXJ2ZXIpCisKKyAgICBkZWYgdGVzdF9yZXF1
ZXN0X2hlYWRlcnNfb25seShzZWxmKToKKyAgICAgICAgd2l0aCBoM19jbGllbnRfYW5kX3NlcnZl
cigpIGFzIChxdWljX2NsaWVudCwgcXVpY19zZXJ2ZXIpOgorICAgICAgICAgICAgaDNfY2xpZW50
ID0gSDNDb25uZWN0aW9uKHF1aWNfY2xpZW50KQorICAgICAgICAgICAgaDNfc2VydmVyID0gSDND
b25uZWN0aW9uKHF1aWNfc2VydmVyKQorCisgICAgICAgICAgICAjIHNlbmQgcmVxdWVzdAorICAg
ICAgICAgICAgc3RyZWFtX2lkID0gcXVpY19jbGllbnQuZ2V0X25leHRfYXZhaWxhYmxlX3N0cmVh
bV9pZCgpCisgICAgICAgICAgICBoM19jbGllbnQuc2VuZF9oZWFkZXJzKAorICAgICAgICAgICAg
ICAgIHN0cmVhbV9pZD1zdHJlYW1faWQsCisgICAgICAgICAgICAgICAgaGVhZGVycz1bCisgICAg
ICAgICAgICAgICAgICAgIChiIjptZXRob2QiLCBiIkhFQUQiKSwKKyAgICAgICAgICAgICAgICAg
ICAgKGIiOnNjaGVtZSIsIGIiaHR0cHMiKSwKKyAgICAgICAgICAgICAgICAgICAgKGIiOmF1dGhv
cml0eSIsIGIibG9jYWxob3N0IiksCisgICAgICAgICAgICAgICAgICAgIChiIjpwYXRoIiwgYiIv
IiksCisgICAgICAgICAgICAgICAgICAgIChiIngtZm9vIiwgYiJjbGllbnQiKSwKKyAgICAgICAg
ICAgICAgICBdLAorICAgICAgICAgICAgICAgIGVuZF9zdHJlYW09VHJ1ZSwKKyAgICAgICAgICAg
ICkKKworICAgICAgICAgICAgIyByZWNlaXZlIHJlcXVlc3QKKyAgICAgICAgICAgIGV2ZW50cyA9
IGgzX3RyYW5zZmVyKHF1aWNfY2xpZW50LCBoM19zZXJ2ZXIpCisgICAgICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKAorICAgICAgICAgICAgICAgIGV2ZW50cywKKyAgICAgICAgICAgICAgICBbCisg
ICAgICAgICAgICAgICAgICAgIEhlYWRlcnNSZWNlaXZlZCgKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGhlYWRlcnM9WworICAgICAgICAgICAgICAgICAgICAgICAgICAgIChiIjptZXRob2QiLCBi
IkhFQUQiKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYiI6c2NoZW1lIiwgYiJodHRw
cyIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChiIjphdXRob3JpdHkiLCBiImxvY2Fs
aG9zdCIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChiIjpwYXRoIiwgYiIvIiksCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGIieC1mb28iLCBiImNsaWVudCIpLAorICAgICAg
ICAgICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cmVhbV9pZD1z
dHJlYW1faWQsCisgICAgICAgICAgICAgICAgICAgICAgICBzdHJlYW1fZW5kZWQ9VHJ1ZSwKKyAg
ICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAgICApCisK
KyAgICAgICAgICAgICMgc2VuZCByZXNwb25zZQorICAgICAgICAgICAgaDNfc2VydmVyLnNlbmRf
aGVhZGVycygKKyAgICAgICAgICAgICAgICBzdHJlYW1faWQ9c3RyZWFtX2lkLAorICAgICAgICAg
ICAgICAgIGhlYWRlcnM9WworICAgICAgICAgICAgICAgICAgICAoYiI6c3RhdHVzIiwgYiIyMDAi
KSwKKyAgICAgICAgICAgICAgICAgICAgKGIiY29udGVudC10eXBlIiwgYiJ0ZXh0L2h0bWw7IGNo
YXJzZXQ9dXRmLTgiKSwKKyAgICAgICAgICAgICAgICAgICAgKGIieC1mb28iLCBiInNlcnZlciIp
LAorICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAgICAgICAgZW5kX3N0cmVhbT1UcnVlLAor
ICAgICAgICAgICAgKQorCisgICAgICAgICAgICAjIHJlY2VpdmUgcmVzcG9uc2UKKyAgICAgICAg
ICAgIGV2ZW50cyA9IGgzX3RyYW5zZmVyKHF1aWNfc2VydmVyLCBoM19jbGllbnQpCisgICAgICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgICAgIGV2ZW50cywKKyAgICAgICAg
ICAgICAgICBbCisgICAgICAgICAgICAgICAgICAgIEhlYWRlcnNSZWNlaXZlZCgKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGhlYWRlcnM9WworICAgICAgICAgICAgICAgICAgICAgICAgICAgIChi
IjpzdGF0dXMiLCBiIjIwMCIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChiImNvbnRl
bnQtdHlwZSIsIGIidGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04IiksCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgKGIieC1mb28iLCBiInNlcnZlciIpLAorICAgICAgICAgICAgICAgICAgICAg
ICAgXSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cmVhbV9pZD1zdHJlYW1faWQsCisgICAg
ICAgICAgICAgICAgICAgICAgICBzdHJlYW1fZW5kZWQ9VHJ1ZSwKKyAgICAgICAgICAgICAgICAg
ICAgKQorICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAgICApCisKKyAgICBkZWYgdGVzdF9y
ZXF1ZXN0X2ZyYWdtZW50ZWRfZnJhbWUoc2VsZik6CisgICAgICAgIHF1aWNfY2xpZW50ID0gRmFr
ZVF1aWNDb25uZWN0aW9uKAorICAgICAgICAgICAgY29uZmlndXJhdGlvbj1RdWljQ29uZmlndXJh
dGlvbihpc19jbGllbnQ9VHJ1ZSkKKyAgICAgICAgKQorICAgICAgICBxdWljX3NlcnZlciA9IEZh
a2VRdWljQ29ubmVjdGlvbigKKyAgICAgICAgICAgIGNvbmZpZ3VyYXRpb249UXVpY0NvbmZpZ3Vy
YXRpb24oaXNfY2xpZW50PUZhbHNlKQorICAgICAgICApCisKKyAgICAgICAgaDNfY2xpZW50ID0g
SDNDb25uZWN0aW9uKHF1aWNfY2xpZW50KQorICAgICAgICBoM19zZXJ2ZXIgPSBIM0Nvbm5lY3Rp
b24ocXVpY19zZXJ2ZXIpCisKKyAgICAgICAgIyBzZW5kIHJlcXVlc3QKKyAgICAgICAgc3RyZWFt
X2lkID0gcXVpY19jbGllbnQuZ2V0X25leHRfYXZhaWxhYmxlX3N0cmVhbV9pZCgpCisgICAgICAg
IGgzX2NsaWVudC5zZW5kX2hlYWRlcnMoCisgICAgICAgICAgICBzdHJlYW1faWQ9c3RyZWFtX2lk
LAorICAgICAgICAgICAgaGVhZGVycz1bCisgICAgICAgICAgICAgICAgKGIiOm1ldGhvZCIsIGIi
R0VUIiksCisgICAgICAgICAgICAgICAgKGIiOnNjaGVtZSIsIGIiaHR0cHMiKSwKKyAgICAgICAg
ICAgICAgICAoYiI6YXV0aG9yaXR5IiwgYiJsb2NhbGhvc3QiKSwKKyAgICAgICAgICAgICAgICAo
YiI6cGF0aCIsIGIiLyIpLAorICAgICAgICAgICAgICAgIChiIngtZm9vIiwgYiJjbGllbnQiKSwK
KyAgICAgICAgICAgIF0sCisgICAgICAgICkKKyAgICAgICAgaDNfY2xpZW50LnNlbmRfZGF0YShz
dHJlYW1faWQ9c3RyZWFtX2lkLCBkYXRhPWIiaGVsbG8iLCBlbmRfc3RyZWFtPVRydWUpCisKKyAg
ICAgICAgIyByZWNlaXZlIHJlcXVlc3QKKyAgICAgICAgZXZlbnRzID0gaDNfdHJhbnNmZXIocXVp
Y19jbGllbnQsIGgzX3NlcnZlcikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAg
ICAgIGV2ZW50cywKKyAgICAgICAgICAgIFsKKyAgICAgICAgICAgICAgICBIZWFkZXJzUmVjZWl2
ZWQoCisgICAgICAgICAgICAgICAgICAgIGhlYWRlcnM9WworICAgICAgICAgICAgICAgICAgICAg
ICAgKGIiOm1ldGhvZCIsIGIiR0VUIiksCisgICAgICAgICAgICAgICAgICAgICAgICAoYiI6c2No
ZW1lIiwgYiJodHRwcyIpLAorICAgICAgICAgICAgICAgICAgICAgICAgKGIiOmF1dGhvcml0eSIs
IGIibG9jYWxob3N0IiksCisgICAgICAgICAgICAgICAgICAgICAgICAoYiI6cGF0aCIsIGIiLyIp
LAorICAgICAgICAgICAgICAgICAgICAgICAgKGIieC1mb28iLCBiImNsaWVudCIpLAorICAgICAg
ICAgICAgICAgICAgICBdLAorICAgICAgICAgICAgICAgICAgICBzdHJlYW1faWQ9c3RyZWFtX2lk
LAorICAgICAgICAgICAgICAgICAgICBzdHJlYW1fZW5kZWQ9RmFsc2UsCisgICAgICAgICAgICAg
ICAgKSwKKyAgICAgICAgICAgICAgICBEYXRhUmVjZWl2ZWQoZGF0YT1iImgiLCBzdHJlYW1faWQ9
MCwgc3RyZWFtX2VuZGVkPUZhbHNlKSwKKyAgICAgICAgICAgICAgICBEYXRhUmVjZWl2ZWQoZGF0
YT1iImUiLCBzdHJlYW1faWQ9MCwgc3RyZWFtX2VuZGVkPUZhbHNlKSwKKyAgICAgICAgICAgICAg
ICBEYXRhUmVjZWl2ZWQoZGF0YT1iImwiLCBzdHJlYW1faWQ9MCwgc3RyZWFtX2VuZGVkPUZhbHNl
KSwKKyAgICAgICAgICAgICAgICBEYXRhUmVjZWl2ZWQoZGF0YT1iImwiLCBzdHJlYW1faWQ9MCwg
c3RyZWFtX2VuZGVkPUZhbHNlKSwKKyAgICAgICAgICAgICAgICBEYXRhUmVjZWl2ZWQoZGF0YT1i
Im8iLCBzdHJlYW1faWQ9MCwgc3RyZWFtX2VuZGVkPUZhbHNlKSwKKyAgICAgICAgICAgICAgICBE
YXRhUmVjZWl2ZWQoZGF0YT1iIiIsIHN0cmVhbV9pZD0wLCBzdHJlYW1fZW5kZWQ9VHJ1ZSksCisg
ICAgICAgICAgICBdLAorICAgICAgICApCisKKyAgICAgICAgIyBzZW5kIHB1c2ggcHJvbWlzZQor
ICAgICAgICBwdXNoX3N0cmVhbV9pZCA9IGgzX3NlcnZlci5zZW5kX3B1c2hfcHJvbWlzZSgKKyAg
ICAgICAgICAgIHN0cmVhbV9pZD1zdHJlYW1faWQsCisgICAgICAgICAgICBoZWFkZXJzPVsKKyAg
ICAgICAgICAgICAgICAoYiI6bWV0aG9kIiwgYiJHRVQiKSwKKyAgICAgICAgICAgICAgICAoYiI6
c2NoZW1lIiwgYiJodHRwcyIpLAorICAgICAgICAgICAgICAgIChiIjphdXRob3JpdHkiLCBiImxv
Y2FsaG9zdCIpLAorICAgICAgICAgICAgICAgIChiIjpwYXRoIiwgYiIvYXBwLnR4dCIpLAorICAg
ICAgICAgICAgXSwKKyAgICAgICAgKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHB1c2hfc3Ry
ZWFtX2lkLCAxNSkKKworICAgICAgICAjIHNlbmQgcmVzcG9uc2UKKyAgICAgICAgaDNfc2VydmVy
LnNlbmRfaGVhZGVycygKKyAgICAgICAgICAgIHN0cmVhbV9pZD1zdHJlYW1faWQsCisgICAgICAg
ICAgICBoZWFkZXJzPVsKKyAgICAgICAgICAgICAgICAoYiI6c3RhdHVzIiwgYiIyMDAiKSwKKyAg
ICAgICAgICAgICAgICAoYiJjb250ZW50LXR5cGUiLCBiInRleHQvaHRtbDsgY2hhcnNldD11dGYt
OCIpLAorICAgICAgICAgICAgXSwKKyAgICAgICAgICAgIGVuZF9zdHJlYW09RmFsc2UsCisgICAg
ICAgICkKKyAgICAgICAgaDNfc2VydmVyLnNlbmRfZGF0YShzdHJlYW1faWQ9c3RyZWFtX2lkLCBk
YXRhPWIiaHRtbCIsIGVuZF9zdHJlYW09VHJ1ZSkKKworICAgICAgICAjIMKgZnVsZmlsbCBwdXNo
IHByb21pc2UKKyAgICAgICAgaDNfc2VydmVyLnNlbmRfaGVhZGVycygKKyAgICAgICAgICAgIHN0
cmVhbV9pZD1wdXNoX3N0cmVhbV9pZCwKKyAgICAgICAgICAgIGhlYWRlcnM9WyhiIjpzdGF0dXMi
LCBiIjIwMCIpLCAoYiJjb250ZW50LXR5cGUiLCBiInRleHQvcGxhaW4iKV0sCisgICAgICAgICAg
ICBlbmRfc3RyZWFtPUZhbHNlLAorICAgICAgICApCisgICAgICAgIGgzX3NlcnZlci5zZW5kX2Rh
dGEoc3RyZWFtX2lkPXB1c2hfc3RyZWFtX2lkLCBkYXRhPWIidGV4dCIsIGVuZF9zdHJlYW09VHJ1
ZSkKKworICAgICAgICAjIHJlY2VpdmUgcHVzaCBwcm9taXNlIC8gcmVwb25zZQorICAgICAgICBl
dmVudHMgPSBoM190cmFuc2ZlcihxdWljX3NlcnZlciwgaDNfY2xpZW50KQorICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKAorICAgICAgICAgICAgZXZlbnRzLAorICAgICAgICAgICAgWworICAgICAg
ICAgICAgICAgIFB1c2hQcm9taXNlUmVjZWl2ZWQoCisgICAgICAgICAgICAgICAgICAgIGhlYWRl
cnM9WworICAgICAgICAgICAgICAgICAgICAgICAgKGIiOm1ldGhvZCIsIGIiR0VUIiksCisgICAg
ICAgICAgICAgICAgICAgICAgICAoYiI6c2NoZW1lIiwgYiJodHRwcyIpLAorICAgICAgICAgICAg
ICAgICAgICAgICAgKGIiOmF1dGhvcml0eSIsIGIibG9jYWxob3N0IiksCisgICAgICAgICAgICAg
ICAgICAgICAgICAoYiI6cGF0aCIsIGIiL2FwcC50eHQiKSwKKyAgICAgICAgICAgICAgICAgICAg
XSwKKyAgICAgICAgICAgICAgICAgICAgcHVzaF9pZD0wLAorICAgICAgICAgICAgICAgICAgICBz
dHJlYW1faWQ9c3RyZWFtX2lkLAorICAgICAgICAgICAgICAgICksCisgICAgICAgICAgICAgICAg
SGVhZGVyc1JlY2VpdmVkKAorICAgICAgICAgICAgICAgICAgICBoZWFkZXJzPVsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIChiIjpzdGF0dXMiLCBiIjIwMCIpLAorICAgICAgICAgICAgICAgICAg
ICAgICAgKGIiY29udGVudC10eXBlIiwgYiJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiKSwKKyAg
ICAgICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAgICAgICAgc3RyZWFtX2lkPTAsCisg
ICAgICAgICAgICAgICAgICAgIHN0cmVhbV9lbmRlZD1GYWxzZSwKKyAgICAgICAgICAgICAgICAp
LAorICAgICAgICAgICAgICAgIERhdGFSZWNlaXZlZChkYXRhPWIiaCIsIHN0cmVhbV9pZD0wLCBz
dHJlYW1fZW5kZWQ9RmFsc2UpLAorICAgICAgICAgICAgICAgIERhdGFSZWNlaXZlZChkYXRhPWIi
dCIsIHN0cmVhbV9pZD0wLCBzdHJlYW1fZW5kZWQ9RmFsc2UpLAorICAgICAgICAgICAgICAgIERh
dGFSZWNlaXZlZChkYXRhPWIibSIsIHN0cmVhbV9pZD0wLCBzdHJlYW1fZW5kZWQ9RmFsc2UpLAor
ICAgICAgICAgICAgICAgIERhdGFSZWNlaXZlZChkYXRhPWIibCIsIHN0cmVhbV9pZD0wLCBzdHJl
YW1fZW5kZWQ9RmFsc2UpLAorICAgICAgICAgICAgICAgIERhdGFSZWNlaXZlZChkYXRhPWIiIiwg
c3RyZWFtX2lkPTAsIHN0cmVhbV9lbmRlZD1UcnVlKSwKKyAgICAgICAgICAgICAgICBIZWFkZXJz
UmVjZWl2ZWQoCisgICAgICAgICAgICAgICAgICAgIGhlYWRlcnM9WyhiIjpzdGF0dXMiLCBiIjIw
MCIpLCAoYiJjb250ZW50LXR5cGUiLCBiInRleHQvcGxhaW4iKV0sCisgICAgICAgICAgICAgICAg
ICAgIHN0cmVhbV9pZD0xNSwKKyAgICAgICAgICAgICAgICAgICAgc3RyZWFtX2VuZGVkPUZhbHNl
LAorICAgICAgICAgICAgICAgICAgICBwdXNoX2lkPTAsCisgICAgICAgICAgICAgICAgKSwKKyAg
ICAgICAgICAgICAgICBEYXRhUmVjZWl2ZWQoZGF0YT1iInQiLCBzdHJlYW1faWQ9MTUsIHN0cmVh
bV9lbmRlZD1GYWxzZSwgcHVzaF9pZD0wKSwKKyAgICAgICAgICAgICAgICBEYXRhUmVjZWl2ZWQo
ZGF0YT1iImUiLCBzdHJlYW1faWQ9MTUsIHN0cmVhbV9lbmRlZD1GYWxzZSwgcHVzaF9pZD0wKSwK
KyAgICAgICAgICAgICAgICBEYXRhUmVjZWl2ZWQoZGF0YT1iIngiLCBzdHJlYW1faWQ9MTUsIHN0
cmVhbV9lbmRlZD1GYWxzZSwgcHVzaF9pZD0wKSwKKyAgICAgICAgICAgICAgICBEYXRhUmVjZWl2
ZWQoZGF0YT1iInQiLCBzdHJlYW1faWQ9MTUsIHN0cmVhbV9lbmRlZD1GYWxzZSwgcHVzaF9pZD0w
KSwKKyAgICAgICAgICAgICAgICBEYXRhUmVjZWl2ZWQoZGF0YT1iIiIsIHN0cmVhbV9pZD0xNSwg
c3RyZWFtX2VuZGVkPVRydWUsIHB1c2hfaWQ9MCksCisgICAgICAgICAgICBdLAorICAgICAgICAp
CisKKyAgICBkZWYgdGVzdF9yZXF1ZXN0X3dpdGhfc2VydmVyX3B1c2goc2VsZik6CisgICAgICAg
IHdpdGggaDNfY2xpZW50X2FuZF9zZXJ2ZXIoKSBhcyAocXVpY19jbGllbnQsIHF1aWNfc2VydmVy
KToKKyAgICAgICAgICAgIGgzX2NsaWVudCA9IEgzQ29ubmVjdGlvbihxdWljX2NsaWVudCkKKyAg
ICAgICAgICAgIGgzX3NlcnZlciA9IEgzQ29ubmVjdGlvbihxdWljX3NlcnZlcikKKworICAgICAg
ICAgICAgIyBzZW5kIHJlcXVlc3QKKyAgICAgICAgICAgIHN0cmVhbV9pZCA9IHF1aWNfY2xpZW50
LmdldF9uZXh0X2F2YWlsYWJsZV9zdHJlYW1faWQoKQorICAgICAgICAgICAgaDNfY2xpZW50LnNl
bmRfaGVhZGVycygKKyAgICAgICAgICAgICAgICBzdHJlYW1faWQ9c3RyZWFtX2lkLAorICAgICAg
ICAgICAgICAgIGhlYWRlcnM9WworICAgICAgICAgICAgICAgICAgICAoYiI6bWV0aG9kIiwgYiJH
RVQiKSwKKyAgICAgICAgICAgICAgICAgICAgKGIiOnNjaGVtZSIsIGIiaHR0cHMiKSwKKyAgICAg
ICAgICAgICAgICAgICAgKGIiOmF1dGhvcml0eSIsIGIibG9jYWxob3N0IiksCisgICAgICAgICAg
ICAgICAgICAgIChiIjpwYXRoIiwgYiIvIiksCisgICAgICAgICAgICAgICAgXSwKKyAgICAgICAg
ICAgICAgICBlbmRfc3RyZWFtPVRydWUsCisgICAgICAgICAgICApCisKKyAgICAgICAgICAgICMg
cmVjZWl2ZSByZXF1ZXN0CisgICAgICAgICAgICBldmVudHMgPSBoM190cmFuc2ZlcihxdWljX2Ns
aWVudCwgaDNfc2VydmVyKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAg
ICAgICAgICBldmVudHMsCisgICAgICAgICAgICAgICAgWworICAgICAgICAgICAgICAgICAgICBI
ZWFkZXJzUmVjZWl2ZWQoCisgICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJzPVsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAoYiI6bWV0aG9kIiwgYiJHRVQiKSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAoYiI6c2NoZW1lIiwgYiJodHRwcyIpLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIChiIjphdXRob3JpdHkiLCBiImxvY2FsaG9zdCIpLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIChiIjpwYXRoIiwgYiIvIiksCisgICAgICAgICAgICAgICAgICAgICAg
ICBdLAorICAgICAgICAgICAgICAgICAgICAgICAgc3RyZWFtX2lkPXN0cmVhbV9pZCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHN0cmVhbV9lbmRlZD1UcnVlLAorICAgICAgICAgICAgICAgICAg
ICApCisgICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICkKKworICAgICAgICAgICAgIyBz
ZW5kIHB1c2ggcHJvbWlzZXMKKyAgICAgICAgICAgIHB1c2hfc3RyZWFtX2lkX2NzcyA9IGgzX3Nl
cnZlci5zZW5kX3B1c2hfcHJvbWlzZSgKKyAgICAgICAgICAgICAgICBzdHJlYW1faWQ9c3RyZWFt
X2lkLAorICAgICAgICAgICAgICAgIGhlYWRlcnM9WworICAgICAgICAgICAgICAgICAgICAoYiI6
bWV0aG9kIiwgYiJHRVQiKSwKKyAgICAgICAgICAgICAgICAgICAgKGIiOnNjaGVtZSIsIGIiaHR0
cHMiKSwKKyAgICAgICAgICAgICAgICAgICAgKGIiOmF1dGhvcml0eSIsIGIibG9jYWxob3N0Iiks
CisgICAgICAgICAgICAgICAgICAgIChiIjpwYXRoIiwgYiIvYXBwLmNzcyIpLAorICAgICAgICAg
ICAgICAgIF0sCisgICAgICAgICAgICApCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHB1
c2hfc3RyZWFtX2lkX2NzcywgMTUpCisKKyAgICAgICAgICAgIHB1c2hfc3RyZWFtX2lkX2pzID0g
aDNfc2VydmVyLnNlbmRfcHVzaF9wcm9taXNlKAorICAgICAgICAgICAgICAgIHN0cmVhbV9pZD1z
dHJlYW1faWQsCisgICAgICAgICAgICAgICAgaGVhZGVycz1bCisgICAgICAgICAgICAgICAgICAg
IChiIjptZXRob2QiLCBiIkdFVCIpLAorICAgICAgICAgICAgICAgICAgICAoYiI6c2NoZW1lIiwg
YiJodHRwcyIpLAorICAgICAgICAgICAgICAgICAgICAoYiI6YXV0aG9yaXR5IiwgYiJsb2NhbGhv
c3QiKSwKKyAgICAgICAgICAgICAgICAgICAgKGIiOnBhdGgiLCBiIi9hcHAuanMiKSwKKyAgICAg
ICAgICAgICAgICBdLAorICAgICAgICAgICAgKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChwdXNoX3N0cmVhbV9pZF9qcywgMTkpCisKKyAgICAgICAgICAgICMgc2VuZCByZXNwb25zZQor
ICAgICAgICAgICAgaDNfc2VydmVyLnNlbmRfaGVhZGVycygKKyAgICAgICAgICAgICAgICBzdHJl
YW1faWQ9c3RyZWFtX2lkLAorICAgICAgICAgICAgICAgIGhlYWRlcnM9WworICAgICAgICAgICAg
ICAgICAgICAoYiI6c3RhdHVzIiwgYiIyMDAiKSwKKyAgICAgICAgICAgICAgICAgICAgKGIiY29u
dGVudC10eXBlIiwgYiJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiKSwKKyAgICAgICAgICAgICAg
ICBdLAorICAgICAgICAgICAgICAgIGVuZF9zdHJlYW09RmFsc2UsCisgICAgICAgICAgICApCisg
ICAgICAgICAgICBoM19zZXJ2ZXIuc2VuZF9kYXRhKAorICAgICAgICAgICAgICAgIHN0cmVhbV9p
ZD1zdHJlYW1faWQsCisgICAgICAgICAgICAgICAgZGF0YT1iIjxodG1sPjxib2R5PmhlbGxvPC9i
b2R5PjwvaHRtbD4iLAorICAgICAgICAgICAgICAgIGVuZF9zdHJlYW09VHJ1ZSwKKyAgICAgICAg
ICAgICkKKworICAgICAgICAgICAgIyDCoGZ1bGZpbGwgcHVzaCBwcm9taXNlcworICAgICAgICAg
ICAgaDNfc2VydmVyLnNlbmRfaGVhZGVycygKKyAgICAgICAgICAgICAgICBzdHJlYW1faWQ9cHVz
aF9zdHJlYW1faWRfY3NzLAorICAgICAgICAgICAgICAgIGhlYWRlcnM9WyhiIjpzdGF0dXMiLCBi
IjIwMCIpLCAoYiJjb250ZW50LXR5cGUiLCBiInRleHQvY3NzIildLAorICAgICAgICAgICAgICAg
IGVuZF9zdHJlYW09RmFsc2UsCisgICAgICAgICAgICApCisgICAgICAgICAgICBoM19zZXJ2ZXIu
c2VuZF9kYXRhKAorICAgICAgICAgICAgICAgIHN0cmVhbV9pZD1wdXNoX3N0cmVhbV9pZF9jc3Ms
CisgICAgICAgICAgICAgICAgZGF0YT1iImJvZHkgeyBjb2xvcjogcGluayB9IiwKKyAgICAgICAg
ICAgICAgICBlbmRfc3RyZWFtPVRydWUsCisgICAgICAgICAgICApCisKKyAgICAgICAgICAgIGgz
X3NlcnZlci5zZW5kX2hlYWRlcnMoCisgICAgICAgICAgICAgICAgc3RyZWFtX2lkPXB1c2hfc3Ry
ZWFtX2lkX2pzLAorICAgICAgICAgICAgICAgIGhlYWRlcnM9WworICAgICAgICAgICAgICAgICAg
ICAoYiI6c3RhdHVzIiwgYiIyMDAiKSwKKyAgICAgICAgICAgICAgICAgICAgKGIiY29udGVudC10
eXBlIiwgYiJhcHBsaWNhdGlvbi9qYXZhc2NyaXB0IiksCisgICAgICAgICAgICAgICAgXSwKKyAg
ICAgICAgICAgICAgICBlbmRfc3RyZWFtPUZhbHNlLAorICAgICAgICAgICAgKQorICAgICAgICAg
ICAgaDNfc2VydmVyLnNlbmRfZGF0YSgKKyAgICAgICAgICAgICAgICBzdHJlYW1faWQ9cHVzaF9z
dHJlYW1faWRfanMsIGRhdGE9YiJhbGVydCgnaG93ZGVlJyk7IiwgZW5kX3N0cmVhbT1UcnVlCisg
ICAgICAgICAgICApCisKKyAgICAgICAgICAgICMgcmVjZWl2ZSBwdXNoIHByb21pc2VzLCByZXNw
b25zZSBhbmQgcHVzaCByZXNwb25zZXMKKworICAgICAgICAgICAgZXZlbnRzID0gaDNfdHJhbnNm
ZXIocXVpY19zZXJ2ZXIsIGgzX2NsaWVudCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
CisgICAgICAgICAgICAgICAgZXZlbnRzLAorICAgICAgICAgICAgICAgIFsKKyAgICAgICAgICAg
ICAgICAgICAgUHVzaFByb21pc2VSZWNlaXZlZCgKKyAgICAgICAgICAgICAgICAgICAgICAgIGhl
YWRlcnM9WworICAgICAgICAgICAgICAgICAgICAgICAgICAgIChiIjptZXRob2QiLCBiIkdFVCIp
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChiIjpzY2hlbWUiLCBiImh0dHBzIiksCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGIiOmF1dGhvcml0eSIsIGIibG9jYWxob3N0Iiks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGIiOnBhdGgiLCBiIi9hcHAuY3NzIiksCisg
ICAgICAgICAgICAgICAgICAgICAgICBdLAorICAgICAgICAgICAgICAgICAgICAgICAgcHVzaF9p
ZD0wLAorICAgICAgICAgICAgICAgICAgICAgICAgc3RyZWFtX2lkPXN0cmVhbV9pZCwKKyAgICAg
ICAgICAgICAgICAgICAgKSwKKyAgICAgICAgICAgICAgICAgICAgUHVzaFByb21pc2VSZWNlaXZl
ZCgKKyAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcnM9WworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIChiIjptZXRob2QiLCBiIkdFVCIpLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIChiIjpzY2hlbWUiLCBiImh0dHBzIiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
KGIiOmF1dGhvcml0eSIsIGIibG9jYWxob3N0IiksCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgKGIiOnBhdGgiLCBiIi9hcHAuanMiKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIF0sCisg
ICAgICAgICAgICAgICAgICAgICAgICBwdXNoX2lkPTEsCisgICAgICAgICAgICAgICAgICAgICAg
ICBzdHJlYW1faWQ9c3RyZWFtX2lkLAorICAgICAgICAgICAgICAgICAgICApLAorICAgICAgICAg
ICAgICAgICAgICBIZWFkZXJzUmVjZWl2ZWQoCisgICAgICAgICAgICAgICAgICAgICAgICBoZWFk
ZXJzPVsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYiI6c3RhdHVzIiwgYiIyMDAiKSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYiJjb250ZW50LXR5cGUiLCBiInRleHQvaHRt
bDsgY2hhcnNldD11dGYtOCIpLAorICAgICAgICAgICAgICAgICAgICAgICAgXSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHN0cmVhbV9pZD1zdHJlYW1faWQsCisgICAgICAgICAgICAgICAgICAg
ICAgICBzdHJlYW1fZW5kZWQ9RmFsc2UsCisgICAgICAgICAgICAgICAgICAgICksCisgICAgICAg
ICAgICAgICAgICAgIERhdGFSZWNlaXZlZCgKKyAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE9
YiI8aHRtbD48Ym9keT5oZWxsbzwvYm9keT48L2h0bWw+IiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHN0cmVhbV9pZD1zdHJlYW1faWQsCisgICAgICAgICAgICAgICAgICAgICAgICBzdHJlYW1f
ZW5kZWQ9VHJ1ZSwKKyAgICAgICAgICAgICAgICAgICAgKSwKKyAgICAgICAgICAgICAgICAgICAg
SGVhZGVyc1JlY2VpdmVkKAorICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVycz1bKGIiOnN0
YXR1cyIsIGIiMjAwIiksIChiImNvbnRlbnQtdHlwZSIsIGIidGV4dC9jc3MiKV0sCisgICAgICAg
ICAgICAgICAgICAgICAgICBwdXNoX2lkPTAsCisgICAgICAgICAgICAgICAgICAgICAgICBzdHJl
YW1faWQ9cHVzaF9zdHJlYW1faWRfY3NzLAorICAgICAgICAgICAgICAgICAgICAgICAgc3RyZWFt
X2VuZGVkPUZhbHNlLAorICAgICAgICAgICAgICAgICAgICApLAorICAgICAgICAgICAgICAgICAg
ICBEYXRhUmVjZWl2ZWQoCisgICAgICAgICAgICAgICAgICAgICAgICBkYXRhPWIiYm9keSB7IGNv
bG9yOiBwaW5rIH0iLAorICAgICAgICAgICAgICAgICAgICAgICAgcHVzaF9pZD0wLAorICAgICAg
ICAgICAgICAgICAgICAgICAgc3RyZWFtX2lkPXB1c2hfc3RyZWFtX2lkX2NzcywKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHN0cmVhbV9lbmRlZD1UcnVlLAorICAgICAgICAgICAgICAgICAgICAp
LAorICAgICAgICAgICAgICAgICAgICBIZWFkZXJzUmVjZWl2ZWQoCisgICAgICAgICAgICAgICAg
ICAgICAgICBoZWFkZXJzPVsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYiI6c3RhdHVz
IiwgYiIyMDAiKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYiJjb250ZW50LXR5cGUi
LCBiImFwcGxpY2F0aW9uL2phdmFzY3JpcHQiKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIF0s
CisgICAgICAgICAgICAgICAgICAgICAgICBwdXNoX2lkPTEsCisgICAgICAgICAgICAgICAgICAg
ICAgICBzdHJlYW1faWQ9cHVzaF9zdHJlYW1faWRfanMsCisgICAgICAgICAgICAgICAgICAgICAg
ICBzdHJlYW1fZW5kZWQ9RmFsc2UsCisgICAgICAgICAgICAgICAgICAgICksCisgICAgICAgICAg
ICAgICAgICAgIERhdGFSZWNlaXZlZCgKKyAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE9YiJh
bGVydCgnaG93ZGVlJyk7IiwKKyAgICAgICAgICAgICAgICAgICAgICAgIHB1c2hfaWQ9MSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHN0cmVhbV9pZD1wdXNoX3N0cmVhbV9pZF9qcywKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHN0cmVhbV9lbmRlZD1UcnVlLAorICAgICAgICAgICAgICAgICAg
ICApLAorICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAgICApCisKKyAgICBkZWYgdGVzdF9y
ZXF1ZXN0X3dpdGhfc2VydmVyX3B1c2hfbWF4X3B1c2hfaWQoc2VsZik6CisgICAgICAgIHdpdGgg
aDNfY2xpZW50X2FuZF9zZXJ2ZXIoKSBhcyAocXVpY19jbGllbnQsIHF1aWNfc2VydmVyKToKKyAg
ICAgICAgICAgIGgzX2NsaWVudCA9IEgzQ29ubmVjdGlvbihxdWljX2NsaWVudCkKKyAgICAgICAg
ICAgIGgzX3NlcnZlciA9IEgzQ29ubmVjdGlvbihxdWljX3NlcnZlcikKKworICAgICAgICAgICAg
IyBzZW5kIHJlcXVlc3QKKyAgICAgICAgICAgIHN0cmVhbV9pZCA9IHF1aWNfY2xpZW50LmdldF9u
ZXh0X2F2YWlsYWJsZV9zdHJlYW1faWQoKQorICAgICAgICAgICAgaDNfY2xpZW50LnNlbmRfaGVh
ZGVycygKKyAgICAgICAgICAgICAgICBzdHJlYW1faWQ9c3RyZWFtX2lkLAorICAgICAgICAgICAg
ICAgIGhlYWRlcnM9WworICAgICAgICAgICAgICAgICAgICAoYiI6bWV0aG9kIiwgYiJHRVQiKSwK
KyAgICAgICAgICAgICAgICAgICAgKGIiOnNjaGVtZSIsIGIiaHR0cHMiKSwKKyAgICAgICAgICAg
ICAgICAgICAgKGIiOmF1dGhvcml0eSIsIGIibG9jYWxob3N0IiksCisgICAgICAgICAgICAgICAg
ICAgIChiIjpwYXRoIiwgYiIvIiksCisgICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAg
ICBlbmRfc3RyZWFtPVRydWUsCisgICAgICAgICAgICApCisKKyAgICAgICAgICAgICMgcmVjZWl2
ZSByZXF1ZXN0CisgICAgICAgICAgICBldmVudHMgPSBoM190cmFuc2ZlcihxdWljX2NsaWVudCwg
aDNfc2VydmVyKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgICAg
ICBldmVudHMsCisgICAgICAgICAgICAgICAgWworICAgICAgICAgICAgICAgICAgICBIZWFkZXJz
UmVjZWl2ZWQoCisgICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJzPVsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAoYiI6bWV0aG9kIiwgYiJHRVQiKSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAoYiI6c2NoZW1lIiwgYiJodHRwcyIpLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIChiIjphdXRob3JpdHkiLCBiImxvY2FsaG9zdCIpLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIChiIjpwYXRoIiwgYiIvIiksCisgICAgICAgICAgICAgICAgICAgICAgICBdLAor
ICAgICAgICAgICAgICAgICAgICAgICAgc3RyZWFtX2lkPXN0cmVhbV9pZCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHN0cmVhbV9lbmRlZD1UcnVlLAorICAgICAgICAgICAgICAgICAgICApCisg
ICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICkKKworICAgICAgICAgICAgIyBzZW5kIHB1
c2ggcHJvbWlzZXMKKyAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKDAsIDgpOgorICAgICAgICAg
ICAgICAgIGgzX3NlcnZlci5zZW5kX3B1c2hfcHJvbWlzZSgKKyAgICAgICAgICAgICAgICAgICAg
c3RyZWFtX2lkPXN0cmVhbV9pZCwKKyAgICAgICAgICAgICAgICAgICAgaGVhZGVycz1bCisgICAg
ICAgICAgICAgICAgICAgICAgICAoYiI6bWV0aG9kIiwgYiJHRVQiKSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgIChiIjpzY2hlbWUiLCBiImh0dHBzIiksCisgICAgICAgICAgICAgICAgICAgICAg
ICAoYiI6YXV0aG9yaXR5IiwgYiJsb2NhbGhvc3QiKSwKKyAgICAgICAgICAgICAgICAgICAgICAg
IChiIjpwYXRoIiwgIi97fS5jc3MiLmZvcm1hdChpKS5lbmNvZGUoImFzY2lpIikpLAorICAgICAg
ICAgICAgICAgICAgICBdLAorICAgICAgICAgICAgICAgICkKKworICAgICAgICAgICAgIyBzZW5k
IG9uZSB0b28gbWFueQorICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhOb0F2YWls
YWJsZVB1c2hJREVycm9yKToKKyAgICAgICAgICAgICAgICBoM19zZXJ2ZXIuc2VuZF9wdXNoX3By
b21pc2UoCisgICAgICAgICAgICAgICAgICAgIHN0cmVhbV9pZD1zdHJlYW1faWQsCisgICAgICAg
ICAgICAgICAgICAgIGhlYWRlcnM9WworICAgICAgICAgICAgICAgICAgICAgICAgKGIiOm1ldGhv
ZCIsIGIiR0VUIiksCisgICAgICAgICAgICAgICAgICAgICAgICAoYiI6c2NoZW1lIiwgYiJodHRw
cyIpLAorICAgICAgICAgICAgICAgICAgICAgICAgKGIiOmF1dGhvcml0eSIsIGIibG9jYWxob3N0
IiksCisgICAgICAgICAgICAgICAgICAgICAgICAoYiI6cGF0aCIsIGIiLzguY3NzIiksCisgICAg
ICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAgICAgICAgKQorCisgICAgZGVmIHRlc3Rfc2Vu
ZF9kYXRhX2FmdGVyX3RyYWlsZXJzKHNlbGYpOgorICAgICAgICAiIiIKKyAgICAgICAgV2Ugc2hv
dWxkIG5vdCBzZW5kIERBVEEgYWZ0ZXIgdHJhaWxlcnMuCisgICAgICAgICIiIgorICAgICAgICBx
dWljX2NsaWVudCA9IEZha2VRdWljQ29ubmVjdGlvbigKKyAgICAgICAgICAgIGNvbmZpZ3VyYXRp
b249UXVpY0NvbmZpZ3VyYXRpb24oaXNfY2xpZW50PVRydWUpCisgICAgICAgICkKKyAgICAgICAg
aDNfY2xpZW50ID0gSDNDb25uZWN0aW9uKHF1aWNfY2xpZW50KQorCisgICAgICAgIHN0cmVhbV9p
ZCA9IHF1aWNfY2xpZW50LmdldF9uZXh0X2F2YWlsYWJsZV9zdHJlYW1faWQoKQorICAgICAgICBo
M19jbGllbnQuc2VuZF9oZWFkZXJzKAorICAgICAgICAgICAgc3RyZWFtX2lkPXN0cmVhbV9pZCwK
KyAgICAgICAgICAgIGhlYWRlcnM9WworICAgICAgICAgICAgICAgIChiIjptZXRob2QiLCBiIkdF
VCIpLAorICAgICAgICAgICAgICAgIChiIjpzY2hlbWUiLCBiImh0dHBzIiksCisgICAgICAgICAg
ICAgICAgKGIiOmF1dGhvcml0eSIsIGIibG9jYWxob3N0IiksCisgICAgICAgICAgICAgICAgKGIi
OnBhdGgiLCBiIi8iKSwKKyAgICAgICAgICAgIF0sCisgICAgICAgICkKKyAgICAgICAgaDNfY2xp
ZW50LnNlbmRfaGVhZGVycygKKyAgICAgICAgICAgIHN0cmVhbV9pZD1zdHJlYW1faWQsIGhlYWRl
cnM9WyhiIngtc29tZS10cmFpbGVyIiwgYiJmb28iKV0sIGVuZF9zdHJlYW09RmFsc2UKKyAgICAg
ICAgKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEZyYW1lVW5leHBlY3RlZCk6Cisg
ICAgICAgICAgICBoM19jbGllbnQuc2VuZF9kYXRhKHN0cmVhbV9pZD1zdHJlYW1faWQsIGRhdGE9
YiJoZWxsbyIsIGVuZF9zdHJlYW09RmFsc2UpCisKKyAgICBkZWYgdGVzdF9zZW5kX2RhdGFfYmVm
b3JlX2hlYWRlcnMoc2VsZik6CisgICAgICAgICIiIgorICAgICAgICBXZSBzaG91bGQgbm90IHNl
bmQgREFUQSBiZWZvcmUgaGVhZGVycy4KKyAgICAgICAgIiIiCisgICAgICAgIHF1aWNfY2xpZW50
ID0gRmFrZVF1aWNDb25uZWN0aW9uKAorICAgICAgICAgICAgY29uZmlndXJhdGlvbj1RdWljQ29u
ZmlndXJhdGlvbihpc19jbGllbnQ9VHJ1ZSkKKyAgICAgICAgKQorICAgICAgICBoM19jbGllbnQg
PSBIM0Nvbm5lY3Rpb24ocXVpY19jbGllbnQpCisKKyAgICAgICAgc3RyZWFtX2lkID0gcXVpY19j
bGllbnQuZ2V0X25leHRfYXZhaWxhYmxlX3N0cmVhbV9pZCgpCisgICAgICAgIHdpdGggc2VsZi5h
c3NlcnRSYWlzZXMoRnJhbWVVbmV4cGVjdGVkKToKKyAgICAgICAgICAgIGgzX2NsaWVudC5zZW5k
X2RhdGEoc3RyZWFtX2lkPXN0cmVhbV9pZCwgZGF0YT1iImhlbGxvIiwgZW5kX3N0cmVhbT1GYWxz
ZSkKKworICAgIGRlZiB0ZXN0X3NlbmRfaGVhZGVyc19hZnRlcl90cmFpbGVycyhzZWxmKToKKyAg
ICAgICAgIiIiCisgICAgICAgIFdlIHNob3VsZCBub3Qgc2VuZCBIRUFERVJTIGFmdGVyIHRyYWls
ZXJzLgorICAgICAgICAiIiIKKyAgICAgICAgcXVpY19jbGllbnQgPSBGYWtlUXVpY0Nvbm5lY3Rp
b24oCisgICAgICAgICAgICBjb25maWd1cmF0aW9uPVF1aWNDb25maWd1cmF0aW9uKGlzX2NsaWVu
dD1UcnVlKQorICAgICAgICApCisgICAgICAgIGgzX2NsaWVudCA9IEgzQ29ubmVjdGlvbihxdWlj
X2NsaWVudCkKKworICAgICAgICBzdHJlYW1faWQgPSBxdWljX2NsaWVudC5nZXRfbmV4dF9hdmFp
bGFibGVfc3RyZWFtX2lkKCkKKyAgICAgICAgaDNfY2xpZW50LnNlbmRfaGVhZGVycygKKyAgICAg
ICAgICAgIHN0cmVhbV9pZD1zdHJlYW1faWQsCisgICAgICAgICAgICBoZWFkZXJzPVsKKyAgICAg
ICAgICAgICAgICAoYiI6bWV0aG9kIiwgYiJHRVQiKSwKKyAgICAgICAgICAgICAgICAoYiI6c2No
ZW1lIiwgYiJodHRwcyIpLAorICAgICAgICAgICAgICAgIChiIjphdXRob3JpdHkiLCBiImxvY2Fs
aG9zdCIpLAorICAgICAgICAgICAgICAgIChiIjpwYXRoIiwgYiIvIiksCisgICAgICAgICAgICBd
LAorICAgICAgICApCisgICAgICAgIGgzX2NsaWVudC5zZW5kX2hlYWRlcnMoCisgICAgICAgICAg
ICBzdHJlYW1faWQ9c3RyZWFtX2lkLCBoZWFkZXJzPVsoYiJ4LXNvbWUtdHJhaWxlciIsIGIiZm9v
IildLCBlbmRfc3RyZWFtPUZhbHNlCisgICAgICAgICkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2Vy
dFJhaXNlcyhGcmFtZVVuZXhwZWN0ZWQpOgorICAgICAgICAgICAgaDNfY2xpZW50LnNlbmRfaGVh
ZGVycygKKyAgICAgICAgICAgICAgICBzdHJlYW1faWQ9c3RyZWFtX2lkLAorICAgICAgICAgICAg
ICAgIGhlYWRlcnM9WyhiIngtb3RoZXItdHJhaWxlciIsIGIiZm9vIildLAorICAgICAgICAgICAg
ICAgIGVuZF9zdHJlYW09RmFsc2UsCisgICAgICAgICAgICApCisKKyAgICBkZWYgdGVzdF9ibG9j
a2VkX3N0cmVhbShzZWxmKToKKyAgICAgICAgcXVpY19jbGllbnQgPSBGYWtlUXVpY0Nvbm5lY3Rp
b24oCisgICAgICAgICAgICBjb25maWd1cmF0aW9uPVF1aWNDb25maWd1cmF0aW9uKGlzX2NsaWVu
dD1UcnVlKQorICAgICAgICApCisgICAgICAgIGgzX2NsaWVudCA9IEgzQ29ubmVjdGlvbihxdWlj
X2NsaWVudCkKKworICAgICAgICBoM19jbGllbnQuaGFuZGxlX2V2ZW50KAorICAgICAgICAgICAg
U3RyZWFtRGF0YVJlY2VpdmVkKAorICAgICAgICAgICAgICAgIHN0cmVhbV9pZD0zLAorICAgICAg
ICAgICAgICAgIGRhdGE9YmluYXNjaWkudW5oZXhsaWZ5KAorICAgICAgICAgICAgICAgICAgICAi
MDAwNDE3MDE1MDAwMDY4MDAyMDAwMDA3NDA2NDA5MTA0MGJjYzAwMDAwMDBmYWNlYjAwYyIKKyAg
ICAgICAgICAgICAgICApLAorICAgICAgICAgICAgICAgIGVuZF9zdHJlYW09RmFsc2UsCisgICAg
ICAgICAgICApCisgICAgICAgICkKKyAgICAgICAgaDNfY2xpZW50LmhhbmRsZV9ldmVudCgKKyAg
ICAgICAgICAgIFN0cmVhbURhdGFSZWNlaXZlZChzdHJlYW1faWQ9NywgZGF0YT1iIlx4MDIiLCBl
bmRfc3RyZWFtPUZhbHNlKQorICAgICAgICApCisgICAgICAgIGgzX2NsaWVudC5oYW5kbGVfZXZl
bnQoCisgICAgICAgICAgICBTdHJlYW1EYXRhUmVjZWl2ZWQoc3RyZWFtX2lkPTExLCBkYXRhPWIi
XHgwMyIsIGVuZF9zdHJlYW09RmFsc2UpCisgICAgICAgICkKKyAgICAgICAgaDNfY2xpZW50Lmhh
bmRsZV9ldmVudCgKKyAgICAgICAgICAgIFN0cmVhbURhdGFSZWNlaXZlZCgKKyAgICAgICAgICAg
ICAgICBzdHJlYW1faWQ9MCwgZGF0YT1iaW5hc2NpaS51bmhleGxpZnkoIjAxMDQwMjgwZDkxMCIp
LCBlbmRfc3RyZWFtPUZhbHNlCisgICAgICAgICAgICApCisgICAgICAgICkKKyAgICAgICAgaDNf
Y2xpZW50LmhhbmRsZV9ldmVudCgKKyAgICAgICAgICAgIFN0cmVhbURhdGFSZWNlaXZlZCgKKyAg
ICAgICAgICAgICAgICBzdHJlYW1faWQ9MCwKKyAgICAgICAgICAgICAgICBkYXRhPWJpbmFzY2lp
LnVuaGV4bGlmeSgKKyAgICAgICAgICAgICAgICAgICAgIjAwNDA4ZDc5NmY3NTIwNzI2NTYxNjM2
ODY1NjQyMDZkNzY2NjczNzQyZTZlNjU3NDJjMjA3MjY1NjE2MzY4MjAiCisgICAgICAgICAgICAg
ICAgICAgICI3NDY4NjUyMDJmNjU2MzY4NmYyMDY1NmU2NDcwNmY2OTZlNzQyMDY2NmY3MjIwNjE2
ZTIwNjU2MzY4NmYyMDcyIgorICAgICAgICAgICAgICAgICAgICAiNjU3MzcwNmY2ZTczNjUyMDcx
NzU2NTcyNzkyMDJmM2M2ZTc1NmQ2MjY1NzIzZTIwNjU2ZTY0NzA2ZjY5NmU3NCIKKyAgICAgICAg
ICAgICAgICAgICAgIjczMjA2NjZmNzIyMDYxMjA3NjYxNzI2OTYxNjI2YzY1MjA3MzY5N2E2NTIw
NzI2NTczNzA2ZjZlNzM2NTIwNzciCisgICAgICAgICAgICAgICAgICAgICI2OTc0NjgyMDcyNjE2
ZTY0NmY2ZDIwNjI3OTc0NjU3MyIKKyAgICAgICAgICAgICAgICApLAorICAgICAgICAgICAgICAg
IGVuZF9zdHJlYW09VHJ1ZSwKKyAgICAgICAgICAgICkKKyAgICAgICAgKQorICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKAorICAgICAgICAgICAgaDNfY2xpZW50LmhhbmRsZV9ldmVudCgKKyAgICAg
ICAgICAgICAgICBTdHJlYW1EYXRhUmVjZWl2ZWQoCisgICAgICAgICAgICAgICAgICAgIHN0cmVh
bV9pZD03LAorICAgICAgICAgICAgICAgICAgICBkYXRhPWJpbmFzY2lpLnVuaGV4bGlmeSgKKyAg
ICAgICAgICAgICAgICAgICAgICAgICIzZmUxMDFjNjk2ZDA3YWJlOTQxMDk0Y2I2ZDBhMDgwMTdk
NDAzOTcxOTY2ZTMyY2E5OGI0NmYiCisgICAgICAgICAgICAgICAgICAgICksCisgICAgICAgICAg
ICAgICAgICAgIGVuZF9zdHJlYW09RmFsc2UsCisgICAgICAgICAgICAgICAgKQorICAgICAgICAg
ICAgKSwKKyAgICAgICAgICAgIFsKKyAgICAgICAgICAgICAgICBIZWFkZXJzUmVjZWl2ZWQoCisg
ICAgICAgICAgICAgICAgICAgIGhlYWRlcnM9WworICAgICAgICAgICAgICAgICAgICAgICAgKGIi
OnN0YXR1cyIsIGIiMjAwIiksCisgICAgICAgICAgICAgICAgICAgICAgICAoYiJkYXRlIiwgYiJN
b24sIDIyIEp1bCAyMDE5IDA2OjMzOjMzIEdNVCIpLAorICAgICAgICAgICAgICAgICAgICBdLAor
ICAgICAgICAgICAgICAgICAgICBzdHJlYW1faWQ9MCwKKyAgICAgICAgICAgICAgICAgICAgc3Ry
ZWFtX2VuZGVkPUZhbHNlLAorICAgICAgICAgICAgICAgICksCisgICAgICAgICAgICAgICAgRGF0
YVJlY2VpdmVkKAorICAgICAgICAgICAgICAgICAgICBkYXRhPSgKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGIieW91IHJlYWNoZWQgbXZmc3QubmV0LCByZWFjaCB0aGUgL2VjaG8gZW5kcG9pbnQg
Zm9yIGFuICIKKyAgICAgICAgICAgICAgICAgICAgICAgIGIiZWNobyByZXNwb25zZSBxdWVyeSAv
PG51bWJlcj4gZW5kcG9pbnRzIGZvciBhIHZhcmlhYmxlICIKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGIic2l6ZSByZXNwb25zZSB3aXRoIHJhbmRvbSBieXRlcyIKKyAgICAgICAgICAgICAgICAg
ICAgKSwKKyAgICAgICAgICAgICAgICAgICAgc3RyZWFtX2lkPTAsCisgICAgICAgICAgICAgICAg
ICAgIHN0cmVhbV9lbmRlZD1UcnVlLAorICAgICAgICAgICAgICAgICksCisgICAgICAgICAgICBd
LAorICAgICAgICApCisKKyAgICBkZWYgdGVzdF9ibG9ja2VkX3N0cmVhbV90cmFpbGVyKHNlbGYp
OgorICAgICAgICBxdWljX2NsaWVudCA9IEZha2VRdWljQ29ubmVjdGlvbigKKyAgICAgICAgICAg
IGNvbmZpZ3VyYXRpb249UXVpY0NvbmZpZ3VyYXRpb24oaXNfY2xpZW50PVRydWUpCisgICAgICAg
ICkKKyAgICAgICAgaDNfY2xpZW50ID0gSDNDb25uZWN0aW9uKHF1aWNfY2xpZW50KQorCisgICAg
ICAgIGgzX2NsaWVudC5oYW5kbGVfZXZlbnQoCisgICAgICAgICAgICBTdHJlYW1EYXRhUmVjZWl2
ZWQoCisgICAgICAgICAgICAgICAgc3RyZWFtX2lkPTMsCisgICAgICAgICAgICAgICAgZGF0YT1i
aW5hc2NpaS51bmhleGxpZnkoCisgICAgICAgICAgICAgICAgICAgICIwMDA0MTcwMTUwMDAwNjgw
MDIwMDAwMDc0MDY0MDkxMDQwYmNjMDAwMDAwMGZhY2ViMDBjIgorICAgICAgICAgICAgICAgICks
CisgICAgICAgICAgICAgICAgZW5kX3N0cmVhbT1GYWxzZSwKKyAgICAgICAgICAgICkKKyAgICAg
ICAgKQorICAgICAgICBoM19jbGllbnQuaGFuZGxlX2V2ZW50KAorICAgICAgICAgICAgU3RyZWFt
RGF0YVJlY2VpdmVkKHN0cmVhbV9pZD03LCBkYXRhPWIiXHgwMiIsIGVuZF9zdHJlYW09RmFsc2Up
CisgICAgICAgICkKKyAgICAgICAgaDNfY2xpZW50LmhhbmRsZV9ldmVudCgKKyAgICAgICAgICAg
IFN0cmVhbURhdGFSZWNlaXZlZChzdHJlYW1faWQ9MTEsIGRhdGE9YiJceDAzIiwgZW5kX3N0cmVh
bT1GYWxzZSkKKyAgICAgICAgKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAg
ICAgICBoM19jbGllbnQuaGFuZGxlX2V2ZW50KAorICAgICAgICAgICAgICAgIFN0cmVhbURhdGFS
ZWNlaXZlZCgKKyAgICAgICAgICAgICAgICAgICAgc3RyZWFtX2lkPTAsCisgICAgICAgICAgICAg
ICAgICAgIGRhdGE9YmluYXNjaWkudW5oZXhsaWZ5KAorICAgICAgICAgICAgICAgICAgICAgICAg
IjAxMWIwMDAwZDk1Njk2ZDA3YWJlOTQxMDk0Y2I2ZDBhMDgwMTdkNDAzOTcxOTY2ZTMyY2E5OGI0
NmYiCisgICAgICAgICAgICAgICAgICAgICksCisgICAgICAgICAgICAgICAgICAgIGVuZF9zdHJl
YW09RmFsc2UsCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgKSwKKyAgICAgICAgICAg
IFsKKyAgICAgICAgICAgICAgICBIZWFkZXJzUmVjZWl2ZWQoCisgICAgICAgICAgICAgICAgICAg
IGhlYWRlcnM9WworICAgICAgICAgICAgICAgICAgICAgICAgKGIiOnN0YXR1cyIsIGIiMjAwIiks
CisgICAgICAgICAgICAgICAgICAgICAgICAoYiJkYXRlIiwgYiJNb24sIDIyIEp1bCAyMDE5IDA2
OjMzOjMzIEdNVCIpLAorICAgICAgICAgICAgICAgICAgICBdLAorICAgICAgICAgICAgICAgICAg
ICBzdHJlYW1faWQ9MCwKKyAgICAgICAgICAgICAgICAgICAgc3RyZWFtX2VuZGVkPUZhbHNlLAor
ICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgIF0sCisgICAgICAgICkKKworICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgaDNfY2xpZW50LmhhbmRsZV9ldmVudCgKKyAg
ICAgICAgICAgICAgICBTdHJlYW1EYXRhUmVjZWl2ZWQoCisgICAgICAgICAgICAgICAgICAgIHN0
cmVhbV9pZD0wLAorICAgICAgICAgICAgICAgICAgICBkYXRhPWJpbmFzY2lpLnVuaGV4bGlmeSgK
KyAgICAgICAgICAgICAgICAgICAgICAgICIwMDQwOGQ3OTZmNzUyMDcyNjU2MTYzNjg2NTY0MjA2
ZDc2NjY3Mzc0MmU2ZTY1NzQyYzIwNzI2NTYxNjM2ODIwIgorICAgICAgICAgICAgICAgICAgICAg
ICAgIjc0Njg2NTIwMmY2NTYzNjg2ZjIwNjU2ZTY0NzA2ZjY5NmU3NDIwNjY2ZjcyMjA2MTZlMjA2
NTYzNjg2ZjIwNzIiCisgICAgICAgICAgICAgICAgICAgICAgICAiNjU3MzcwNmY2ZTczNjUyMDcx
NzU2NTcyNzkyMDJmM2M2ZTc1NmQ2MjY1NzIzZTIwNjU2ZTY0NzA2ZjY5NmU3NCIKKyAgICAgICAg
ICAgICAgICAgICAgICAgICI3MzIwNjY2ZjcyMjA2MTIwNzY2MTcyNjk2MTYyNmM2NTIwNzM2OTdh
NjUyMDcyNjU3MzcwNmY2ZTczNjUyMDc3IgorICAgICAgICAgICAgICAgICAgICAgICAgIjY5NzQ2
ODIwNzI2MTZlNjQ2ZjZkMjA2Mjc5NzQ2NTczIgorICAgICAgICAgICAgICAgICAgICApLAorICAg
ICAgICAgICAgICAgICAgICBlbmRfc3RyZWFtPUZhbHNlLAorICAgICAgICAgICAgICAgICkKKyAg
ICAgICAgICAgICksCisgICAgICAgICAgICBbCisgICAgICAgICAgICAgICAgRGF0YVJlY2VpdmVk
KAorICAgICAgICAgICAgICAgICAgICBkYXRhPSgKKyAgICAgICAgICAgICAgICAgICAgICAgIGIi
eW91IHJlYWNoZWQgbXZmc3QubmV0LCByZWFjaCB0aGUgL2VjaG8gZW5kcG9pbnQgZm9yIGFuICIK
KyAgICAgICAgICAgICAgICAgICAgICAgIGIiZWNobyByZXNwb25zZSBxdWVyeSAvPG51bWJlcj4g
ZW5kcG9pbnRzIGZvciBhIHZhcmlhYmxlICIKKyAgICAgICAgICAgICAgICAgICAgICAgIGIic2l6
ZSByZXNwb25zZSB3aXRoIHJhbmRvbSBieXRlcyIKKyAgICAgICAgICAgICAgICAgICAgKSwKKyAg
ICAgICAgICAgICAgICAgICAgc3RyZWFtX2lkPTAsCisgICAgICAgICAgICAgICAgICAgIHN0cmVh
bV9lbmRlZD1GYWxzZSwKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICBdLAorICAgICAg
ICApCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIGgzX2NsaWVudC5o
YW5kbGVfZXZlbnQoCisgICAgICAgICAgICAgICAgU3RyZWFtRGF0YVJlY2VpdmVkKAorICAgICAg
ICAgICAgICAgICAgICBzdHJlYW1faWQ9MCwgZGF0YT1iaW5hc2NpaS51bmhleGxpZnkoIjAxMDMw
MjgwMTAiKSwgZW5kX3N0cmVhbT1UcnVlCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAg
KSwKKyAgICAgICAgICAgIFtdLAorICAgICAgICApCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bCgKKyAgICAgICAgICAgIGgzX2NsaWVudC5oYW5kbGVfZXZlbnQoCisgICAgICAgICAgICAgICAg
U3RyZWFtRGF0YVJlY2VpdmVkKAorICAgICAgICAgICAgICAgICAgICBzdHJlYW1faWQ9NywKKyAg
ICAgICAgICAgICAgICAgICAgZGF0YT1iaW5hc2NpaS51bmhleGxpZnkoIjZhZjJiMjBmNDk1NjRk
ODMzNTA1YjM4Mjk0ZTciKSwKKyAgICAgICAgICAgICAgICAgICAgZW5kX3N0cmVhbT1GYWxzZSwK
KyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICApLAorICAgICAgICAgICAgWworICAgICAg
ICAgICAgICAgIEhlYWRlcnNSZWNlaXZlZCgKKyAgICAgICAgICAgICAgICAgICAgaGVhZGVycz1b
KGIieC1zb21lLXRyYWlsZXIiLCBiImZvbyIpXSwKKyAgICAgICAgICAgICAgICAgICAgc3RyZWFt
X2lkPTAsCisgICAgICAgICAgICAgICAgICAgIHN0cmVhbV9lbmRlZD1UcnVlLAorICAgICAgICAg
ICAgICAgICAgICBwdXNoX2lkPU5vbmUsCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAg
XSwKKyAgICAgICAgKQorCisgICAgZGVmIHRlc3RfdW5pX3N0cmVhbV9ncmVhc2Uoc2VsZik6Cisg
ICAgICAgIHdpdGggaDNfY2xpZW50X2FuZF9zZXJ2ZXIoKSBhcyAocXVpY19jbGllbnQsIHF1aWNf
c2VydmVyKToKKyAgICAgICAgICAgIGgzX3NlcnZlciA9IEgzQ29ubmVjdGlvbihxdWljX3NlcnZl
cikKKworICAgICAgICAgICAgcXVpY19jbGllbnQuc2VuZF9zdHJlYW1fZGF0YSgKKyAgICAgICAg
ICAgICAgICAxNCwgYiJceGZmXHhmZlx4ZmZceGZmXHhmZlx4ZmZceGZmXHhmZUdSRUFTRSBpcyB0
aGUgd29yZCIKKyAgICAgICAgICAgICkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaDNf
dHJhbnNmZXIocXVpY19jbGllbnQsIGgzX3NlcnZlciksIFtdKQorCisgICAgZGVmIHRlc3RfcmVx
dWVzdF93aXRoX3RyYWlsZXJzKHNlbGYpOgorICAgICAgICB3aXRoIGgzX2NsaWVudF9hbmRfc2Vy
dmVyKCkgYXMgKHF1aWNfY2xpZW50LCBxdWljX3NlcnZlcik6CisgICAgICAgICAgICBoM19jbGll
bnQgPSBIM0Nvbm5lY3Rpb24ocXVpY19jbGllbnQpCisgICAgICAgICAgICBoM19zZXJ2ZXIgPSBI
M0Nvbm5lY3Rpb24ocXVpY19zZXJ2ZXIpCisKKyAgICAgICAgICAgICMgc2VuZCByZXF1ZXN0IHdp
dGggdHJhaWxlcnMKKyAgICAgICAgICAgIHN0cmVhbV9pZCA9IHF1aWNfY2xpZW50LmdldF9uZXh0
X2F2YWlsYWJsZV9zdHJlYW1faWQoKQorICAgICAgICAgICAgaDNfY2xpZW50LnNlbmRfaGVhZGVy
cygKKyAgICAgICAgICAgICAgICBzdHJlYW1faWQ9c3RyZWFtX2lkLAorICAgICAgICAgICAgICAg
IGhlYWRlcnM9WworICAgICAgICAgICAgICAgICAgICAoYiI6bWV0aG9kIiwgYiJHRVQiKSwKKyAg
ICAgICAgICAgICAgICAgICAgKGIiOnNjaGVtZSIsIGIiaHR0cHMiKSwKKyAgICAgICAgICAgICAg
ICAgICAgKGIiOmF1dGhvcml0eSIsIGIibG9jYWxob3N0IiksCisgICAgICAgICAgICAgICAgICAg
IChiIjpwYXRoIiwgYiIvIiksCisgICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAgICBl
bmRfc3RyZWFtPUZhbHNlLAorICAgICAgICAgICAgKQorICAgICAgICAgICAgaDNfY2xpZW50LnNl
bmRfaGVhZGVycygKKyAgICAgICAgICAgICAgICBzdHJlYW1faWQ9c3RyZWFtX2lkLAorICAgICAg
ICAgICAgICAgIGhlYWRlcnM9WyhiIngtc29tZS10cmFpbGVyIiwgYiJmb28iKV0sCisgICAgICAg
ICAgICAgICAgZW5kX3N0cmVhbT1UcnVlLAorICAgICAgICAgICAgKQorCisgICAgICAgICAgICAj
IHJlY2VpdmUgcmVxdWVzdAorICAgICAgICAgICAgZXZlbnRzID0gaDNfdHJhbnNmZXIocXVpY19j
bGllbnQsIGgzX3NlcnZlcikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAg
ICAgICAgICAgZXZlbnRzLAorICAgICAgICAgICAgICAgIFsKKyAgICAgICAgICAgICAgICAgICAg
SGVhZGVyc1JlY2VpdmVkKAorICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVycz1bCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgKGIiOm1ldGhvZCIsIGIiR0VUIiksCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgKGIiOnNjaGVtZSIsIGIiaHR0cHMiKSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAoYiI6YXV0aG9yaXR5IiwgYiJsb2NhbGhvc3QiKSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAoYiI6cGF0aCIsIGIiLyIpLAorICAgICAgICAgICAgICAgICAgICAg
ICAgXSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cmVhbV9pZD1zdHJlYW1faWQsCisgICAg
ICAgICAgICAgICAgICAgICAgICBzdHJlYW1fZW5kZWQ9RmFsc2UsCisgICAgICAgICAgICAgICAg
ICAgICksCisgICAgICAgICAgICAgICAgICAgIEhlYWRlcnNSZWNlaXZlZCgKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGhlYWRlcnM9WyhiIngtc29tZS10cmFpbGVyIiwgYiJmb28iKV0sCisgICAg
ICAgICAgICAgICAgICAgICAgICBzdHJlYW1faWQ9c3RyZWFtX2lkLAorICAgICAgICAgICAgICAg
ICAgICAgICAgc3RyZWFtX2VuZGVkPVRydWUsCisgICAgICAgICAgICAgICAgICAgICksCisgICAg
ICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICkKKworICAgICAgICAgICAgIyBzZW5kIHJlc3Bv
bnNlCisgICAgICAgICAgICBoM19zZXJ2ZXIuc2VuZF9oZWFkZXJzKAorICAgICAgICAgICAgICAg
IHN0cmVhbV9pZD1zdHJlYW1faWQsCisgICAgICAgICAgICAgICAgaGVhZGVycz1bCisgICAgICAg
ICAgICAgICAgICAgIChiIjpzdGF0dXMiLCBiIjIwMCIpLAorICAgICAgICAgICAgICAgICAgICAo
YiJjb250ZW50LXR5cGUiLCBiInRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIpLAorICAgICAgICAg
ICAgICAgIF0sCisgICAgICAgICAgICAgICAgZW5kX3N0cmVhbT1GYWxzZSwKKyAgICAgICAgICAg
ICkKKyAgICAgICAgICAgIGgzX3NlcnZlci5zZW5kX2RhdGEoCisgICAgICAgICAgICAgICAgc3Ry
ZWFtX2lkPXN0cmVhbV9pZCwKKyAgICAgICAgICAgICAgICBkYXRhPWIiPGh0bWw+PGJvZHk+aGVs
bG88L2JvZHk+PC9odG1sPiIsCisgICAgICAgICAgICAgICAgZW5kX3N0cmVhbT1GYWxzZSwKKyAg
ICAgICAgICAgICkKKyAgICAgICAgICAgIGgzX3NlcnZlci5zZW5kX2hlYWRlcnMoCisgICAgICAg
ICAgICAgICAgc3RyZWFtX2lkPXN0cmVhbV9pZCwKKyAgICAgICAgICAgICAgICBoZWFkZXJzPVso
YiJ4LXNvbWUtdHJhaWxlciIsIGIiYmFyIildLAorICAgICAgICAgICAgICAgIGVuZF9zdHJlYW09
VHJ1ZSwKKyAgICAgICAgICAgICkKKworICAgICAgICAgICAgIyByZWNlaXZlIHJlc3BvbnNlCisg
ICAgICAgICAgICBldmVudHMgPSBoM190cmFuc2ZlcihxdWljX3NlcnZlciwgaDNfY2xpZW50KQor
ICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgICAgICBldmVudHMsCisg
ICAgICAgICAgICAgICAgWworICAgICAgICAgICAgICAgICAgICBIZWFkZXJzUmVjZWl2ZWQoCisg
ICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJzPVsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAoYiI6c3RhdHVzIiwgYiIyMDAiKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAo
YiJjb250ZW50LXR5cGUiLCBiInRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIpLAorICAgICAgICAg
ICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cmVhbV9pZD1zdHJl
YW1faWQsCisgICAgICAgICAgICAgICAgICAgICAgICBzdHJlYW1fZW5kZWQ9RmFsc2UsCisgICAg
ICAgICAgICAgICAgICAgICksCisgICAgICAgICAgICAgICAgICAgIERhdGFSZWNlaXZlZCgKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGRhdGE9YiI8aHRtbD48Ym9keT5oZWxsbzwvYm9keT48L2h0
bWw+IiwKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cmVhbV9pZD1zdHJlYW1faWQsCisgICAg
ICAgICAgICAgICAgICAgICAgICBzdHJlYW1fZW5kZWQ9RmFsc2UsCisgICAgICAgICAgICAgICAg
ICAgICksCisgICAgICAgICAgICAgICAgICAgIEhlYWRlcnNSZWNlaXZlZCgKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGhlYWRlcnM9WyhiIngtc29tZS10cmFpbGVyIiwgYiJiYXIiKV0sCisgICAg
ICAgICAgICAgICAgICAgICAgICBzdHJlYW1faWQ9c3RyZWFtX2lkLAorICAgICAgICAgICAgICAg
ICAgICAgICAgc3RyZWFtX2VuZGVkPVRydWUsCisgICAgICAgICAgICAgICAgICAgICksCisgICAg
ICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICkKKworICAgIGRlZiB0ZXN0X3VuaV9zdHJlYW1f
dHlwZShzZWxmKToKKyAgICAgICAgd2l0aCBoM19jbGllbnRfYW5kX3NlcnZlcigpIGFzIChxdWlj
X2NsaWVudCwgcXVpY19zZXJ2ZXIpOgorICAgICAgICAgICAgaDNfc2VydmVyID0gSDNDb25uZWN0
aW9uKHF1aWNfc2VydmVyKQorCisgICAgICAgICAgICAjIHVua25vd24gc3RyZWFtIHR5cGUgOQor
ICAgICAgICAgICAgc3RyZWFtX2lkID0gcXVpY19jbGllbnQuZ2V0X25leHRfYXZhaWxhYmxlX3N0
cmVhbV9pZChpc191bmlkaXJlY3Rpb25hbD1UcnVlKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbChzdHJlYW1faWQsIDIpCisgICAgICAgICAgICBxdWljX2NsaWVudC5zZW5kX3N0cmVhbV9k
YXRhKHN0cmVhbV9pZCwgYiJceDA5IikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaDNf
dHJhbnNmZXIocXVpY19jbGllbnQsIGgzX3NlcnZlciksIFtdKQorICAgICAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbChsaXN0KGgzX3NlcnZlci5fc3RyZWFtLmtleXMoKSksIFsyXSkKKyAgICAgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoaDNfc2VydmVyLl9zdHJlYW1bMl0uYnVmZmVyLCBiIiIpCisg
ICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGgzX3NlcnZlci5fc3RyZWFtWzJdLnN0cmVhbV90
eXBlLCA5KQorCisgICAgICAgICAgICAjIHVua25vd24gc3RyZWFtIHR5cGUgNjQsIG9uZSBieXRl
IGF0IGEgdGltZQorICAgICAgICAgICAgc3RyZWFtX2lkID0gcXVpY19jbGllbnQuZ2V0X25leHRf
YXZhaWxhYmxlX3N0cmVhbV9pZChpc191bmlkaXJlY3Rpb25hbD1UcnVlKQorICAgICAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChzdHJlYW1faWQsIDYpCisKKyAgICAgICAgICAgIHF1aWNfY2xpZW50
LnNlbmRfc3RyZWFtX2RhdGEoc3RyZWFtX2lkLCBiIlx4NDAiKQorICAgICAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbChoM190cmFuc2ZlcihxdWljX2NsaWVudCwgaDNfc2VydmVyKSwgW10pCisgICAg
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpc3QoaDNfc2VydmVyLl9zdHJlYW0ua2V5cygpKSwg
WzIsIDZdKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChoM19zZXJ2ZXIuX3N0cmVhbVsy
XS5idWZmZXIsIGIiIikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaDNfc2VydmVyLl9z
dHJlYW1bMl0uc3RyZWFtX3R5cGUsIDkpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGgz
X3NlcnZlci5fc3RyZWFtWzZdLmJ1ZmZlciwgYiJceDQwIikKKyAgICAgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoaDNfc2VydmVyLl9zdHJlYW1bNl0uc3RyZWFtX3R5cGUsIE5vbmUpCisKKyAgICAg
ICAgICAgIHF1aWNfY2xpZW50LnNlbmRfc3RyZWFtX2RhdGEoc3RyZWFtX2lkLCBiIlx4NDAiKQor
ICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChoM190cmFuc2ZlcihxdWljX2NsaWVudCwgaDNf
c2VydmVyKSwgW10pCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpc3QoaDNfc2VydmVy
Ll9zdHJlYW0ua2V5cygpKSwgWzIsIDZdKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCho
M19zZXJ2ZXIuX3N0cmVhbVsyXS5idWZmZXIsIGIiIikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwoaDNfc2VydmVyLl9zdHJlYW1bMl0uc3RyZWFtX3R5cGUsIDkpCisgICAgICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKGgzX3NlcnZlci5fc3RyZWFtWzZdLmJ1ZmZlciwgYiIiKQorICAgICAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbChoM19zZXJ2ZXIuX3N0cmVhbVs2XS5zdHJlYW1fdHlwZSwg
NjQpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvdGVzdHMvdGVzdF9sb2dnZXIucHkgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5
L2Fpb3F1aWMvdGVzdHMvdGVzdF9sb2dnZXIucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmI3YzUyMDkzOGUyY2Yy
NGFlYjc2YjkxOWQ5NjdhZmJjNmM2ZWVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVp
Yy90ZXN0cy90ZXN0X2xvZ2dlci5weQpAQCAtMCwwICsxLDM3IEBACitmcm9tIHVuaXR0ZXN0IGlt
cG9ydCBUZXN0Q2FzZQorCitmcm9tIGFpb3F1aWMucXVpYy5sb2dnZXIgaW1wb3J0IFF1aWNMb2dn
ZXIKKworCitjbGFzcyBRdWljTG9nZ2VyVGVzdChUZXN0Q2FzZSk6CisgICAgZGVmIHRlc3RfZW1w
dHkoc2VsZik6CisgICAgICAgIGxvZ2dlciA9IFF1aWNMb2dnZXIoKQorICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKGxvZ2dlci50b19kaWN0KCksIHsicWxvZ192ZXJzaW9uIjogImRyYWZ0LTAxIiwg
InRyYWNlcyI6IFtdfSkKKworICAgIGRlZiB0ZXN0X2VtcHR5X3RyYWNlKHNlbGYpOgorICAgICAg
ICBsb2dnZXIgPSBRdWljTG9nZ2VyKCkKKyAgICAgICAgdHJhY2UgPSBsb2dnZXIuc3RhcnRfdHJh
Y2UoaXNfY2xpZW50PVRydWUsIG9kY2lkPWJ5dGVzKDgpKQorICAgICAgICBsb2dnZXIuZW5kX3Ry
YWNlKHRyYWNlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgbG9nZ2Vy
LnRvX2RpY3QoKSwKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAicWxvZ192ZXJzaW9u
IjogImRyYWZ0LTAxIiwKKyAgICAgICAgICAgICAgICAidHJhY2VzIjogWworICAgICAgICAgICAg
ICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAiY29tbW9uX2ZpZWxkcyI6IHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiT0RDSUQiOiAiMDAwMDAwMDAwMDAwMDAwMCIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlZmVyZW5jZV90aW1lIjogIjAiLAorICAgICAg
ICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJjb25maWd1cmF0
aW9uIjogeyJ0aW1lX3VuaXRzIjogInVzIn0sCisgICAgICAgICAgICAgICAgICAgICAgICAiZXZl
bnRfZmllbGRzIjogWworICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZWxhdGl2ZV90aW1l
IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY2F0ZWdvcnkiLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJldmVudF90eXBlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiZGF0YSIsCisgICAgICAgICAgICAgICAgICAgICAgICBdLAorICAgICAgICAgICAgICAgICAg
ICAgICAgImV2ZW50cyI6IFtdLAorICAgICAgICAgICAgICAgICAgICAgICAgInZhbnRhZ2VfcG9p
bnQiOiB7Im5hbWUiOiAiYWlvcXVpYyIsICJ0eXBlIjogImNsaWVudCJ9LAorICAgICAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgIH0sCisgICAgICAgICkK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy90ZXN0cy90ZXN0X3BhY2tldC5weSBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlv
cXVpYy90ZXN0cy90ZXN0X3BhY2tldC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNjliN2FhOWE2MTk3NjdhN2Y1
YzAzNWY3NzMwZmYzNzFkN2Q1Zjc5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3Rl
c3RzL3Rlc3RfcGFja2V0LnB5CkBAIC0wLDAgKzEsNTEzIEBACitpbXBvcnQgYmluYXNjaWkKK2Zy
b20gdW5pdHRlc3QgaW1wb3J0IFRlc3RDYXNlCisKK2Zyb20gYWlvcXVpYy5idWZmZXIgaW1wb3J0
IEJ1ZmZlciwgQnVmZmVyUmVhZEVycm9yCitmcm9tIGFpb3F1aWMucXVpYyBpbXBvcnQgcGFja2V0
Citmcm9tIGFpb3F1aWMucXVpYy5wYWNrZXQgaW1wb3J0ICgKKyAgICBQQUNLRVRfVFlQRV9JTklU
SUFMLAorICAgIFBBQ0tFVF9UWVBFX1JFVFJZLAorICAgIFF1aWNQcmVmZXJyZWRBZGRyZXNzLAor
ICAgIFF1aWNQcm90b2NvbFZlcnNpb24sCisgICAgUXVpY1RyYW5zcG9ydFBhcmFtZXRlcnMsCisg
ICAgZGVjb2RlX3BhY2tldF9udW1iZXIsCisgICAgZW5jb2RlX3F1aWNfdmVyc2lvbl9uZWdvdGlh
dGlvbiwKKyAgICBnZXRfcmV0cnlfaW50ZWdyaXR5X3RhZywKKyAgICBwdWxsX3F1aWNfaGVhZGVy
LAorICAgIHB1bGxfcXVpY19wcmVmZXJyZWRfYWRkcmVzcywKKyAgICBwdWxsX3F1aWNfdHJhbnNw
b3J0X3BhcmFtZXRlcnMsCisgICAgcHVzaF9xdWljX3ByZWZlcnJlZF9hZGRyZXNzLAorICAgIHB1
c2hfcXVpY190cmFuc3BvcnRfcGFyYW1ldGVycywKKykKKworZnJvbSAudXRpbHMgaW1wb3J0IGxv
YWQKKworCitjbGFzcyBQYWNrZXRUZXN0KFRlc3RDYXNlKToKKyAgICBkZWYgdGVzdF9kZWNvZGVf
cGFja2V0X251bWJlcihzZWxmKToKKyAgICAgICAgIyBleHBlY3RlZCA9IDAKKyAgICAgICAgZm9y
IGkgaW4gcmFuZ2UoMCwgMjU2KToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGVjb2Rl
X3BhY2tldF9udW1iZXIoaSwgOCwgZXhwZWN0ZWQ9MCksIGkpCisKKyAgICAgICAgIyBleHBlY3Rl
ZCA9IDEyOAorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRlY29kZV9wYWNrZXRfbnVtYmVyKDAs
IDgsIGV4cGVjdGVkPTEyOCksIDI1NikKKyAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMSwgMjU2KToK
KyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGVjb2RlX3BhY2tldF9udW1iZXIoaSwgOCwg
ZXhwZWN0ZWQ9MTI4KSwgaSkKKworICAgICAgICAjIGV4cGVjdGVkID0gMTI5CisgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwoZGVjb2RlX3BhY2tldF9udW1iZXIoMCwgOCwgZXhwZWN0ZWQ9MTI5KSwg
MjU2KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRlY29kZV9wYWNrZXRfbnVtYmVyKDEsIDgs
IGV4cGVjdGVkPTEyOSksIDI1NykKKyAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMiwgMjU2KToKKyAg
ICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGVjb2RlX3BhY2tldF9udW1iZXIoaSwgOCwgZXhw
ZWN0ZWQ9MTI5KSwgaSkKKworICAgICAgICAjIGV4cGVjdGVkID0gMjU2CisgICAgICAgIGZvciBp
IGluIHJhbmdlKDAsIDEyOCk6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRlY29kZV9w
YWNrZXRfbnVtYmVyKGksIDgsIGV4cGVjdGVkPTI1NiksIDI1NiArIGkpCisgICAgICAgIGZvciBp
IGluIHJhbmdlKDEyOSwgMjU2KToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGVjb2Rl
X3BhY2tldF9udW1iZXIoaSwgOCwgZXhwZWN0ZWQ9MjU2KSwgaSkKKworICAgIGRlZiB0ZXN0X3B1
bGxfZW1wdHkoc2VsZik6CisgICAgICAgIGJ1ZiA9IEJ1ZmZlcihkYXRhPWIiIikKKyAgICAgICAg
d2l0aCBzZWxmLmFzc2VydFJhaXNlcyhCdWZmZXJSZWFkRXJyb3IpOgorICAgICAgICAgICAgcHVs
bF9xdWljX2hlYWRlcihidWYsIGhvc3RfY2lkX2xlbmd0aD04KQorCisgICAgZGVmIHRlc3RfcHVs
bF9pbml0aWFsX2NsaWVudChzZWxmKToKKyAgICAgICAgYnVmID0gQnVmZmVyKGRhdGE9bG9hZCgi
aW5pdGlhbF9jbGllbnQuYmluIikpCisgICAgICAgIGhlYWRlciA9IHB1bGxfcXVpY19oZWFkZXIo
YnVmLCBob3N0X2NpZF9sZW5ndGg9OCkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGhlYWRlci5p
c19sb25nX2hlYWRlcikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChoZWFkZXIudmVyc2lvbiwg
UXVpY1Byb3RvY29sVmVyc2lvbi5EUkFGVF8yNSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCho
ZWFkZXIucGFja2V0X3R5cGUsIFBBQ0tFVF9UWVBFX0lOSVRJQUwpCisgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoaGVhZGVyLmRlc3RpbmF0aW9uX2NpZCwgYmluYXNjaWkudW5oZXhsaWZ5KCI4NThi
MzkzNjhiOGUzYzZlIikpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaGVhZGVyLnNvdXJjZV9j
aWQsIGIiIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChoZWFkZXIudG9rZW4sIGIiIikKKyAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbChoZWFkZXIuaW50ZWdyaXR5X3RhZywgYiIiKQorICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKGhlYWRlci5yZXN0X2xlbmd0aCwgMTI2MikKKyAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChidWYudGVsbCgpLCAxOCkKKworICAgIGRlZiB0ZXN0X3B1bGxfaW5pdGlh
bF9zZXJ2ZXIoc2VsZik6CisgICAgICAgIGJ1ZiA9IEJ1ZmZlcihkYXRhPWxvYWQoImluaXRpYWxf
c2VydmVyLmJpbiIpKQorICAgICAgICBoZWFkZXIgPSBwdWxsX3F1aWNfaGVhZGVyKGJ1ZiwgaG9z
dF9jaWRfbGVuZ3RoPTgpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShoZWFkZXIuaXNfbG9uZ19o
ZWFkZXIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaGVhZGVyLnZlcnNpb24sIFF1aWNQcm90
b2NvbFZlcnNpb24uRFJBRlRfMjUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaGVhZGVyLnBh
Y2tldF90eXBlLCBQQUNLRVRfVFlQRV9JTklUSUFMKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KGhlYWRlci5kZXN0aW5hdGlvbl9jaWQsIGIiIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCho
ZWFkZXIuc291cmNlX2NpZCwgYmluYXNjaWkudW5oZXhsaWZ5KCIxOTVjNjgzNDRlMjhkNDc5Iikp
CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaGVhZGVyLnRva2VuLCBiIiIpCisgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwoaGVhZGVyLmludGVncml0eV90YWcsIGIiIikKKyAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbChoZWFkZXIucmVzdF9sZW5ndGgsIDE4NCkKKyAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbChidWYudGVsbCgpLCAxOCkKKworICAgIGRlZiB0ZXN0X3B1bGxfcmV0cnkoc2VsZik6Cisg
ICAgICAgIGJ1ZiA9IEJ1ZmZlcihkYXRhPWxvYWQoInJldHJ5LmJpbiIpKQorICAgICAgICBoZWFk
ZXIgPSBwdWxsX3F1aWNfaGVhZGVyKGJ1ZiwgaG9zdF9jaWRfbGVuZ3RoPTgpCisgICAgICAgIHNl
bGYuYXNzZXJ0VHJ1ZShoZWFkZXIuaXNfbG9uZ19oZWFkZXIpCisgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwoaGVhZGVyLnZlcnNpb24sIFF1aWNQcm90b2NvbFZlcnNpb24uRFJBRlRfMjUpCisgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoaGVhZGVyLnBhY2tldF90eXBlLCBQQUNLRVRfVFlQRV9SRVRS
WSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChoZWFkZXIuZGVzdGluYXRpb25fY2lkLCBiaW5h
c2NpaS51bmhleGxpZnkoImU5ZDE0NmQ4ZDE0Y2IyOGUiKSkKKyAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbCgKKyAgICAgICAgICAgIGhlYWRlci5zb3VyY2VfY2lkLAorICAgICAgICAgICAgYmluYXNj
aWkudW5oZXhsaWZ5KCIwYjBhMjA1YTY0OGZjZjgyZDg1ZjEyOGI2N2JiZTA4MDUzZTYiKSwKKyAg
ICAgICAgKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgaGVhZGVyLnRv
a2VuLAorICAgICAgICAgICAgYmluYXNjaWkudW5oZXhsaWZ5KAorICAgICAgICAgICAgICAgICI0
NDM5N2EzNWQ2OTgzOTNjMTM0YjA4YTkzMjczNzg1OWY0NDZkM2FhZGQwMGVkODE1NDBjOGQ4ZGUx
NzIiCisgICAgICAgICAgICAgICAgIjkwNmQzZTdhMTExYjUwM2Y5NzI5Yjg5MjhlNzUyOGY5YTg2
YTQ1ODFmOWViYjRjYjNiNTNjMjgzNjYxZSIKKyAgICAgICAgICAgICAgICAiODUzMDc0MWE5OTE5
MmVlNTY5MTRjNTYyNjk5OGVjMGYiCisgICAgICAgICAgICApLAorICAgICAgICApCisgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBoZWFkZXIuaW50ZWdyaXR5X3RhZywgYmlu
YXNjaWkudW5oZXhsaWZ5KCJlMWEzYzgwYzc5N2VhNDAxYzA4ZmM5YzM0MmEyZDkwZCIpCisgICAg
ICAgICkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChoZWFkZXIucmVzdF9sZW5ndGgsIDApCisg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnVmLnRlbGwoKSwgMTI1KQorCisgICAgICAgICMgY2hl
Y2sgaW50ZWdyaXR5CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBnZXRf
cmV0cnlfaW50ZWdyaXR5X3RhZygKKyAgICAgICAgICAgICAgICBidWYuZGF0YV9zbGljZSgwLCAx
MDkpLCBiaW5hc2NpaS51bmhleGxpZnkoImZiYmQyMTliNzM2M2I2NGIiKSwKKyAgICAgICAgICAg
ICksCisgICAgICAgICAgICBoZWFkZXIuaW50ZWdyaXR5X3RhZywKKyAgICAgICAgKQorCisgICAg
ZGVmIHRlc3RfcHVsbF92ZXJzaW9uX25lZ290aWF0aW9uKHNlbGYpOgorICAgICAgICBidWYgPSBC
dWZmZXIoZGF0YT1sb2FkKCJ2ZXJzaW9uX25lZ290aWF0aW9uLmJpbiIpKQorICAgICAgICBoZWFk
ZXIgPSBwdWxsX3F1aWNfaGVhZGVyKGJ1ZiwgaG9zdF9jaWRfbGVuZ3RoPTgpCisgICAgICAgIHNl
bGYuYXNzZXJ0VHJ1ZShoZWFkZXIuaXNfbG9uZ19oZWFkZXIpCisgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwoaGVhZGVyLnZlcnNpb24sIFF1aWNQcm90b2NvbFZlcnNpb24uTkVHT1RJQVRJT04pCisg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaGVhZGVyLnBhY2tldF90eXBlLCBOb25lKQorICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKGhlYWRlci5kZXN0aW5hdGlvbl9jaWQsIGJpbmFzY2lpLnVuaGV4
bGlmeSgiOWFhYzVhNDliYTg3YTg0OSIpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGhlYWRl
ci5zb3VyY2VfY2lkLCBiaW5hc2NpaS51bmhleGxpZnkoImY5MmY0MzM2ZmE5NTFiYTEiKSkKKyAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbChoZWFkZXIudG9rZW4sIGIiIikKKyAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbChoZWFkZXIuaW50ZWdyaXR5X3RhZywgYiIiKQorICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKGhlYWRlci5yZXN0X2xlbmd0aCwgOCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChi
dWYudGVsbCgpLCAyMykKKworICAgIGRlZiB0ZXN0X3B1bGxfbG9uZ19oZWFkZXJfZGNpZF90b29f
bG9uZyhzZWxmKToKKyAgICAgICAgYnVmID0gQnVmZmVyKAorICAgICAgICAgICAgZGF0YT1iaW5h
c2NpaS51bmhleGxpZnkoCisgICAgICAgICAgICAgICAgImM2ZmYwMDAwMTYxNTAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0IgorICAgICAgICAgICAgICAgICIw
MWM1MTRmOTllYzRiYmYxZjdhMzBmOWIwYzk0ZmVmNzE3ZjFjMWQwN2ZlYzI0Yzk5YTg2NGRhN2Vk
ZSIKKyAgICAgICAgICAgICkKKyAgICAgICAgKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFp
c2VzKFZhbHVlRXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgcHVsbF9xdWljX2hlYWRlcihidWYs
IGhvc3RfY2lkX2xlbmd0aD04KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cihjbS5leGNl
cHRpb24pLCAiRGVzdGluYXRpb24gQ0lEIGlzIHRvbyBsb25nICgyMSBieXRlcykiKQorCisgICAg
ZGVmIHRlc3RfcHVsbF9sb25nX2hlYWRlcl9zY2lkX3Rvb19sb25nKHNlbGYpOgorICAgICAgICBi
dWYgPSBCdWZmZXIoCisgICAgICAgICAgICBkYXRhPWJpbmFzY2lpLnVuaGV4bGlmeSgKKyAgICAg
ICAgICAgICAgICAiYzJmZjAwMDAxNjAwMTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDQiCisgICAgICAgICAgICAgICAgIjAxY2ZjZWU5OWVjNGJiZjFmN2EzMGY5
YjBjOTQxN2I4YzI2M2NkZDhjYzk3MmE0NDM5ZDY4YTQ2MzIwIgorICAgICAgICAgICAgKQorICAg
ICAgICApCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvcikgYXMgY206
CisgICAgICAgICAgICBwdWxsX3F1aWNfaGVhZGVyKGJ1ZiwgaG9zdF9jaWRfbGVuZ3RoPTgpCisg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGNtLmV4Y2VwdGlvbiksICJTb3VyY2UgQ0lEIGlz
IHRvbyBsb25nICgyMSBieXRlcykiKQorCisgICAgZGVmIHRlc3RfcHVsbF9sb25nX2hlYWRlcl9u
b19maXhlZF9iaXQoc2VsZik6CisgICAgICAgIGJ1ZiA9IEJ1ZmZlcihkYXRhPWIiXHg4MFx4ZmZc
eDAwXHgwMFx4MTFceDAwXHgwMCIpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFs
dWVFcnJvcikgYXMgY206CisgICAgICAgICAgICBwdWxsX3F1aWNfaGVhZGVyKGJ1ZiwgaG9zdF9j
aWRfbGVuZ3RoPTgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGNtLmV4Y2VwdGlvbiks
ICJQYWNrZXQgZml4ZWQgYml0IGlzIHplcm8iKQorCisgICAgZGVmIHRlc3RfcHVsbF9sb25nX2hl
YWRlcl90b29fc2hvcnQoc2VsZik6CisgICAgICAgIGJ1ZiA9IEJ1ZmZlcihkYXRhPWIiXHhjMFx4
MDAiKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEJ1ZmZlclJlYWRFcnJvcik6Cisg
ICAgICAgICAgICBwdWxsX3F1aWNfaGVhZGVyKGJ1ZiwgaG9zdF9jaWRfbGVuZ3RoPTgpCisKKyAg
ICBkZWYgdGVzdF9wdWxsX3Nob3J0X2hlYWRlcihzZWxmKToKKyAgICAgICAgYnVmID0gQnVmZmVy
KGRhdGE9bG9hZCgic2hvcnRfaGVhZGVyLmJpbiIpKQorICAgICAgICBoZWFkZXIgPSBwdWxsX3F1
aWNfaGVhZGVyKGJ1ZiwgaG9zdF9jaWRfbGVuZ3RoPTgpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFs
c2UoaGVhZGVyLmlzX2xvbmdfaGVhZGVyKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGhlYWRl
ci52ZXJzaW9uLCBOb25lKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGhlYWRlci5wYWNrZXRf
dHlwZSwgMHg1MCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChoZWFkZXIuZGVzdGluYXRpb25f
Y2lkLCBiaW5hc2NpaS51bmhleGxpZnkoImY0NWFhN2I1OWMwZTFhZDYiKSkKKyAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChoZWFkZXIuc291cmNlX2NpZCwgYiIiKQorICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKGhlYWRlci50b2tlbiwgYiIiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGhlYWRl
ci5pbnRlZ3JpdHlfdGFnLCBiIiIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaGVhZGVyLnJl
c3RfbGVuZ3RoLCAxMikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChidWYudGVsbCgpLCA5KQor
CisgICAgZGVmIHRlc3RfcHVsbF9zaG9ydF9oZWFkZXJfbm9fZml4ZWRfYml0KHNlbGYpOgorICAg
ICAgICBidWYgPSBCdWZmZXIoZGF0YT1iIlx4MDAiKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0
UmFpc2VzKFZhbHVlRXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgcHVsbF9xdWljX2hlYWRlcihi
dWYsIGhvc3RfY2lkX2xlbmd0aD04KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cihjbS5l
eGNlcHRpb24pLCAiUGFja2V0IGZpeGVkIGJpdCBpcyB6ZXJvIikKKworICAgIGRlZiB0ZXN0X2Vu
Y29kZV9xdWljX3ZlcnNpb25fbmVnb3RpYXRpb24oc2VsZik6CisgICAgICAgIGRhdGEgPSBlbmNv
ZGVfcXVpY192ZXJzaW9uX25lZ290aWF0aW9uKAorICAgICAgICAgICAgZGVzdGluYXRpb25fY2lk
PWJpbmFzY2lpLnVuaGV4bGlmeSgiOWFhYzVhNDliYTg3YTg0OSIpLAorICAgICAgICAgICAgc291
cmNlX2NpZD1iaW5hc2NpaS51bmhleGxpZnkoImY5MmY0MzM2ZmE5NTFiYTEiKSwKKyAgICAgICAg
ICAgIHN1cHBvcnRlZF92ZXJzaW9ucz1bMHg0NTQ3NDcxNiwgUXVpY1Byb3RvY29sVmVyc2lvbi5E
UkFGVF8yNV0sCisgICAgICAgICkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRhWzE6XSwg
bG9hZCgidmVyc2lvbl9uZWdvdGlhdGlvbi5iaW4iKVsxOl0pCisKKworY2xhc3MgUGFyYW1zVGVz
dChUZXN0Q2FzZSk6CisgICAgbWF4RGlmZiA9IE5vbmUKKworICAgIGRlZiB0ZXN0X3BhcmFtcyhz
ZWxmKToKKyAgICAgICAgZGF0YSA9IGJpbmFzY2lpLnVuaGV4bGlmeSgKKyAgICAgICAgICAgICIw
MTAyNjcxMDAyMTBjYzJmZDZlN2Q5N2E1M2FiNWJlODViMjhkNzVjODAwODAzMDI0N2U0MDQwNDgw
MDVmZmYiCisgICAgICAgICAgICAiYTA1MDQ4MDAwZmZmZjA2MDQ4MDAwZmZmZjA4MDEwNjBhMDEw
MzBiMDExOSIKKyAgICAgICAgKQorCisgICAgICAgICMgcGFyc2UKKyAgICAgICAgYnVmID0gQnVm
ZmVyKGRhdGE9ZGF0YSkKKyAgICAgICAgcGFyYW1zID0gcHVsbF9xdWljX3RyYW5zcG9ydF9wYXJh
bWV0ZXJzKAorICAgICAgICAgICAgYnVmLCBwcm90b2NvbF92ZXJzaW9uPVF1aWNQcm90b2NvbFZl
cnNpb24uRFJBRlRfMjcKKyAgICAgICAgKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAg
ICAgICAgICAgcGFyYW1zLAorICAgICAgICAgICAgUXVpY1RyYW5zcG9ydFBhcmFtZXRlcnMoCisg
ICAgICAgICAgICAgICAgaWRsZV90aW1lb3V0PTEwMDAwLAorICAgICAgICAgICAgICAgIHN0YXRl
bGVzc19yZXNldF90b2tlbj1iIlx4Y2MvXHhkNlx4ZTdceGQ5elNceGFiW1x4ZThbKFx4ZDdcXFx4
ODBceDA4IiwKKyAgICAgICAgICAgICAgICBtYXhfcGFja2V0X3NpemU9MjAyMCwKKyAgICAgICAg
ICAgICAgICBpbml0aWFsX21heF9kYXRhPTM5MzIxMCwKKyAgICAgICAgICAgICAgICBpbml0aWFs
X21heF9zdHJlYW1fZGF0YV9iaWRpX2xvY2FsPTY1NTM1LAorICAgICAgICAgICAgICAgIGluaXRp
YWxfbWF4X3N0cmVhbV9kYXRhX2JpZGlfcmVtb3RlPTY1NTM1LAorICAgICAgICAgICAgICAgIGlu
aXRpYWxfbWF4X3N0cmVhbV9kYXRhX3VuaT1Ob25lLAorICAgICAgICAgICAgICAgIGluaXRpYWxf
bWF4X3N0cmVhbXNfYmlkaT02LAorICAgICAgICAgICAgICAgIGluaXRpYWxfbWF4X3N0cmVhbXNf
dW5pPU5vbmUsCisgICAgICAgICAgICAgICAgYWNrX2RlbGF5X2V4cG9uZW50PTMsCisgICAgICAg
ICAgICAgICAgbWF4X2Fja19kZWxheT0yNSwKKyAgICAgICAgICAgICksCisgICAgICAgICkKKwor
ICAgICAgICAjIHNlcmlhbGl6ZQorICAgICAgICBidWYgPSBCdWZmZXIoY2FwYWNpdHk9bGVuKGRh
dGEpKQorICAgICAgICBwdXNoX3F1aWNfdHJhbnNwb3J0X3BhcmFtZXRlcnMoCisgICAgICAgICAg
ICBidWYsIHBhcmFtcywgcHJvdG9jb2xfdmVyc2lvbj1RdWljUHJvdG9jb2xWZXJzaW9uLkRSQUZU
XzI3CisgICAgICAgICkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oYnVmLmRhdGEpLCBs
ZW4oZGF0YSkpCisKKyAgICBkZWYgdGVzdF9wYXJhbXNfbGVnYWN5KHNlbGYpOgorICAgICAgICBk
YXRhID0gYmluYXNjaWkudW5oZXhsaWZ5KAorICAgICAgICAgICAgIjAwNDcwMDAyMDAxMGNjMmZk
NmU3ZDk3YTUzYWI1YmU4NWIyOGQ3NWM4MDA4MDAwODAwMDEwNjAwMDEwMDAyNiIKKyAgICAgICAg
ICAgICI3MTAwMDA2MDAwNDgwMDBmZmZmMDAwNTAwMDQ4MDAwZmZmZjAwMDQwMDA0ODAwNWZmZmEw
MDBhMDAwMTAzMDAiCisgICAgICAgICAgICAiMGIwMDAxMTkwMDAzMDAwMjQ3ZTQiCisgICAgICAg
ICkKKworICAgICAgICAjIHBhcnNlCisgICAgICAgIGJ1ZiA9IEJ1ZmZlcihkYXRhPWRhdGEpCisg
ICAgICAgIHBhcmFtcyA9IHB1bGxfcXVpY190cmFuc3BvcnRfcGFyYW1ldGVycygKKyAgICAgICAg
ICAgIGJ1ZiwgcHJvdG9jb2xfdmVyc2lvbj1RdWljUHJvdG9jb2xWZXJzaW9uLkRSQUZUXzI1Cisg
ICAgICAgICkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIHBhcmFtcywK
KyAgICAgICAgICAgIFF1aWNUcmFuc3BvcnRQYXJhbWV0ZXJzKAorICAgICAgICAgICAgICAgIGlk
bGVfdGltZW91dD0xMDAwMCwKKyAgICAgICAgICAgICAgICBzdGF0ZWxlc3NfcmVzZXRfdG9rZW49
YiJceGNjL1x4ZDZceGU3XHhkOXpTXHhhYltceGU4WyhceGQ3XFxceDgwXHgwOCIsCisgICAgICAg
ICAgICAgICAgbWF4X3BhY2tldF9zaXplPTIwMjAsCisgICAgICAgICAgICAgICAgaW5pdGlhbF9t
YXhfZGF0YT0zOTMyMTAsCisgICAgICAgICAgICAgICAgaW5pdGlhbF9tYXhfc3RyZWFtX2RhdGFf
YmlkaV9sb2NhbD02NTUzNSwKKyAgICAgICAgICAgICAgICBpbml0aWFsX21heF9zdHJlYW1fZGF0
YV9iaWRpX3JlbW90ZT02NTUzNSwKKyAgICAgICAgICAgICAgICBpbml0aWFsX21heF9zdHJlYW1f
ZGF0YV91bmk9Tm9uZSwKKyAgICAgICAgICAgICAgICBpbml0aWFsX21heF9zdHJlYW1zX2JpZGk9
NiwKKyAgICAgICAgICAgICAgICBpbml0aWFsX21heF9zdHJlYW1zX3VuaT1Ob25lLAorICAgICAg
ICAgICAgICAgIGFja19kZWxheV9leHBvbmVudD0zLAorICAgICAgICAgICAgICAgIG1heF9hY2tf
ZGVsYXk9MjUsCisgICAgICAgICAgICApLAorICAgICAgICApCisKKyAgICAgICAgIyBzZXJpYWxp
emUKKyAgICAgICAgYnVmID0gQnVmZmVyKGNhcGFjaXR5PWxlbihkYXRhKSkKKyAgICAgICAgcHVz
aF9xdWljX3RyYW5zcG9ydF9wYXJhbWV0ZXJzKAorICAgICAgICAgICAgYnVmLCBwYXJhbXMsIHBy
b3RvY29sX3ZlcnNpb249UXVpY1Byb3RvY29sVmVyc2lvbi5EUkFGVF8yNQorICAgICAgICApCisg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGJ1Zi5kYXRhKSwgbGVuKGRhdGEpKQorCisgICAg
ZGVmIHRlc3RfcGFyYW1zX2Rpc2FibGVfYWN0aXZlX21pZ3JhdGlvbihzZWxmKToKKyAgICAgICAg
ZGF0YSA9IGJpbmFzY2lpLnVuaGV4bGlmeSgiMGMwMCIpCisKKyAgICAgICAgIyBwYXJzZQorICAg
ICAgICBidWYgPSBCdWZmZXIoZGF0YT1kYXRhKQorICAgICAgICBwYXJhbXMgPSBwdWxsX3F1aWNf
dHJhbnNwb3J0X3BhcmFtZXRlcnMoCisgICAgICAgICAgICBidWYsIHByb3RvY29sX3ZlcnNpb249
UXVpY1Byb3RvY29sVmVyc2lvbi5EUkFGVF8yNworICAgICAgICApCisgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwocGFyYW1zLCBRdWljVHJhbnNwb3J0UGFyYW1ldGVycyhkaXNhYmxlX2FjdGl2ZV9t
aWdyYXRpb249VHJ1ZSkpCisKKyAgICAgICAgIyBzZXJpYWxpemUKKyAgICAgICAgYnVmID0gQnVm
ZmVyKGNhcGFjaXR5PWxlbihkYXRhKSkKKyAgICAgICAgcHVzaF9xdWljX3RyYW5zcG9ydF9wYXJh
bWV0ZXJzKAorICAgICAgICAgICAgYnVmLCBwYXJhbXMsIHByb3RvY29sX3ZlcnNpb249UXVpY1By
b3RvY29sVmVyc2lvbi5EUkFGVF8yNworICAgICAgICApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWwoYnVmLmRhdGEsIGRhdGEpCisKKyAgICBkZWYgdGVzdF9wYXJhbXNfZGlzYWJsZV9hY3RpdmVf
bWlncmF0aW9uX2xlZ2FjeShzZWxmKToKKyAgICAgICAgZGF0YSA9IGJpbmFzY2lpLnVuaGV4bGlm
eSgiMDAwNDAwMGMwMDAwIikKKworICAgICAgICAjIHBhcnNlCisgICAgICAgIGJ1ZiA9IEJ1ZmZl
cihkYXRhPWRhdGEpCisgICAgICAgIHBhcmFtcyA9IHB1bGxfcXVpY190cmFuc3BvcnRfcGFyYW1l
dGVycygKKyAgICAgICAgICAgIGJ1ZiwgcHJvdG9jb2xfdmVyc2lvbj1RdWljUHJvdG9jb2xWZXJz
aW9uLkRSQUZUXzI1CisgICAgICAgICkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwYXJhbXMs
IFF1aWNUcmFuc3BvcnRQYXJhbWV0ZXJzKGRpc2FibGVfYWN0aXZlX21pZ3JhdGlvbj1UcnVlKSkK
KworICAgICAgICAjIHNlcmlhbGl6ZQorICAgICAgICBidWYgPSBCdWZmZXIoY2FwYWNpdHk9bGVu
KGRhdGEpKQorICAgICAgICBwdXNoX3F1aWNfdHJhbnNwb3J0X3BhcmFtZXRlcnMoCisgICAgICAg
ICAgICBidWYsIHBhcmFtcywgcHJvdG9jb2xfdmVyc2lvbj1RdWljUHJvdG9jb2xWZXJzaW9uLkRS
QUZUXzI1CisgICAgICAgICkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChidWYuZGF0YSwgZGF0
YSkKKworICAgIGRlZiB0ZXN0X3BhcmFtc19wcmVmZXJyZWRfYWRkcmVzcyhzZWxmKToKKyAgICAg
ICAgZGF0YSA9IGJpbmFzY2lpLnVuaGV4bGlmeSgKKyAgICAgICAgICAgICIwZDNiOGJhMjdiODYx
MTUzMjQwMDg5MDIwMDAwMDAwMGYwM2M5MWZmZmU2OWE0NTQxMTUzMTI2MmM0NTE4ZDYiCisgICAg
ICAgICAgICAiMzAxM2YwYzI4N2VkMzU3M2VmYTkwOTU2MDM3NDZiMmUwMmQ0NTQ4MGJhNjY0M2U1
YzZlN2Q0OGVjYjQiCisgICAgICAgICkKKworICAgICAgICAjIHBhcnNlCisgICAgICAgIGJ1ZiA9
IEJ1ZmZlcihkYXRhPWRhdGEpCisgICAgICAgIHBhcmFtcyA9IHB1bGxfcXVpY190cmFuc3BvcnRf
cGFyYW1ldGVycygKKyAgICAgICAgICAgIGJ1ZiwgcHJvdG9jb2xfdmVyc2lvbj1RdWljUHJvdG9j
b2xWZXJzaW9uLkRSQUZUXzI3CisgICAgICAgICkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgK
KyAgICAgICAgICAgIHBhcmFtcywKKyAgICAgICAgICAgIFF1aWNUcmFuc3BvcnRQYXJhbWV0ZXJz
KAorICAgICAgICAgICAgICAgIHByZWZlcnJlZF9hZGRyZXNzPVF1aWNQcmVmZXJyZWRBZGRyZXNz
KAorICAgICAgICAgICAgICAgICAgICBpcHY0X2FkZHJlc3M9KCIxMzkuMTYyLjEyMy4xMzQiLCA0
NDM1KSwKKyAgICAgICAgICAgICAgICAgICAgaXB2Nl9hZGRyZXNzPSgiMjQwMDo4OTAyOjpmMDNj
OjkxZmY6ZmU2OTphNDU0IiwgNDQzNSksCisgICAgICAgICAgICAgICAgICAgIGNvbm5lY3Rpb25f
aWQ9YiJiXHhjNFFceDhkY1x4MDE/XHgwYyh+XHhkM1c+XHhmYVx4OTBceDk1YDciLAorICAgICAg
ICAgICAgICAgICAgICBzdGF0ZWxlc3NfcmVzZXRfdG9rZW49YiJGXHhiMlx4ZTAtRUhceDBiXHhh
NmQ+XFxufUhceGVjXHhiNCIsCisgICAgICAgICAgICAgICAgKSwKKyAgICAgICAgICAgICksCisg
ICAgICAgICkKKworICAgICAgICAjIHNlcmlhbGl6ZQorICAgICAgICBidWYgPSBCdWZmZXIoY2Fw
YWNpdHk9MTAwMCkKKyAgICAgICAgcHVzaF9xdWljX3RyYW5zcG9ydF9wYXJhbWV0ZXJzKAorICAg
ICAgICAgICAgYnVmLCBwYXJhbXMsIHByb3RvY29sX3ZlcnNpb249UXVpY1Byb3RvY29sVmVyc2lv
bi5EUkFGVF8yNworICAgICAgICApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnVmLmRhdGEs
IGRhdGEpCisKKyAgICBkZWYgdGVzdF9wYXJhbXNfcHJlZmVycmVkX2FkZHJlc3NfbGVnYWN5KHNl
bGYpOgorICAgICAgICBkYXRhID0gYmluYXNjaWkudW5oZXhsaWZ5KAorICAgICAgICAgICAgIjAw
M2YwMDBkMDAzYjhiYTI3Yjg2MTE1MzI0MDA4OTAyMDAwMDAwMDBmMDNjOTFmZmZlNjlhNDU0MTE1
MzEyNiIKKyAgICAgICAgICAgICIyYzQ1MThkNjMwMTNmMGMyODdlZDM1NzNlZmE5MDk1NjAzNzQ2
YjJlMDJkNDU0ODBiYTY2NDNlNWM2ZTdkNDgiCisgICAgICAgICAgICAiZWNiNCIKKyAgICAgICAg
KQorCisgICAgICAgICMgcGFyc2UKKyAgICAgICAgYnVmID0gQnVmZmVyKGRhdGE9ZGF0YSkKKyAg
ICAgICAgcGFyYW1zID0gcHVsbF9xdWljX3RyYW5zcG9ydF9wYXJhbWV0ZXJzKAorICAgICAgICAg
ICAgYnVmLCBwcm90b2NvbF92ZXJzaW9uPVF1aWNQcm90b2NvbFZlcnNpb24uRFJBRlRfMjUKKyAg
ICAgICAgKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgcGFyYW1zLAor
ICAgICAgICAgICAgUXVpY1RyYW5zcG9ydFBhcmFtZXRlcnMoCisgICAgICAgICAgICAgICAgcHJl
ZmVycmVkX2FkZHJlc3M9UXVpY1ByZWZlcnJlZEFkZHJlc3MoCisgICAgICAgICAgICAgICAgICAg
IGlwdjRfYWRkcmVzcz0oIjEzOS4xNjIuMTIzLjEzNCIsIDQ0MzUpLAorICAgICAgICAgICAgICAg
ICAgICBpcHY2X2FkZHJlc3M9KCIyNDAwOjg5MDI6OmYwM2M6OTFmZjpmZTY5OmE0NTQiLCA0NDM1
KSwKKyAgICAgICAgICAgICAgICAgICAgY29ubmVjdGlvbl9pZD1iImJceGM0UVx4OGRjXHgwMT9c
eDBjKH5ceGQzVz5ceGZhXHg5MFx4OTVgNyIsCisgICAgICAgICAgICAgICAgICAgIHN0YXRlbGVz
c19yZXNldF90b2tlbj1iIkZceGIyXHhlMC1FSFx4MGJceGE2ZD5cXG59SFx4ZWNceGI0IiwKKyAg
ICAgICAgICAgICAgICApLAorICAgICAgICAgICAgKSwKKyAgICAgICAgKQorCisgICAgICAgICMg
c2VyaWFsaXplCisgICAgICAgIGJ1ZiA9IEJ1ZmZlcihjYXBhY2l0eT1sZW4oZGF0YSkpCisgICAg
ICAgIHB1c2hfcXVpY190cmFuc3BvcnRfcGFyYW1ldGVycygKKyAgICAgICAgICAgIGJ1ZiwgcGFy
YW1zLCBwcm90b2NvbF92ZXJzaW9uPVF1aWNQcm90b2NvbFZlcnNpb24uRFJBRlRfMjUKKyAgICAg
ICAgKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ1Zi5kYXRhLCBkYXRhKQorCisgICAgZGVm
IHRlc3RfcGFyYW1zX3Vua25vd24oc2VsZik6CisgICAgICAgIGRhdGEgPSBiaW5hc2NpaS51bmhl
eGxpZnkoIjgwMDBmZjAwMDEwMCIpCisKKyAgICAgICAgIyBwYXJzZQorICAgICAgICBidWYgPSBC
dWZmZXIoZGF0YT1kYXRhKQorICAgICAgICBwYXJhbXMgPSBwdWxsX3F1aWNfdHJhbnNwb3J0X3Bh
cmFtZXRlcnMoCisgICAgICAgICAgICBidWYsIHByb3RvY29sX3ZlcnNpb249UXVpY1Byb3RvY29s
VmVyc2lvbi5EUkFGVF8yNworICAgICAgICApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocGFy
YW1zLCBRdWljVHJhbnNwb3J0UGFyYW1ldGVycygpKQorCisgICAgZGVmIHRlc3RfcGFyYW1zX3Vu
a25vd25fbGVnYWN5KHNlbGYpOgorICAgICAgICAjIGZiLm12ZnN0Lm5ldCBzZW5kcyBhIHByb3By
aWV0YXJ5IHBhcmFtZXRlciA2NTI4MAorICAgICAgICBkYXRhID0gYmluYXNjaWkudW5oZXhsaWZ5
KAorICAgICAgICAgICAgIjAwNjQwMDA1MDAwNDgwMDEwNDAwMDAwNjAwMDQ4MDAxMDQwMDAwMDcw
MDA0ODAwMTA0MDAwMDA0MDAwNDgwMSIKKyAgICAgICAgICAgICIwMDAwMDAwMDgwMDA4YzAwMDAw
MDBmZmZmZmZmZjAwMDkwMDA4YzAwMDAwMDBmZmZmZmZmZjAwMDEwMDA0ODAiCisgICAgICAgICAg
ICAiMDBlYTYwMDAwYTAwMDEwMzAwMDMwMDAyNTAwMDAwMDIwMDEwNjE2MTYxNjE2MjYyNjI2MjYz
NjM2MzYzNjQ2IgorICAgICAgICAgICAgIjQ2NDY0ZmYwMDAwMDEwMCIKKyAgICAgICAgKQorCisg
ICAgICAgICMgcGFyc2UKKyAgICAgICAgYnVmID0gQnVmZmVyKGRhdGE9ZGF0YSkKKyAgICAgICAg
cGFyYW1zID0gcHVsbF9xdWljX3RyYW5zcG9ydF9wYXJhbWV0ZXJzKAorICAgICAgICAgICAgYnVm
LCBwcm90b2NvbF92ZXJzaW9uPVF1aWNQcm90b2NvbFZlcnNpb24uRFJBRlRfMjUKKyAgICAgICAg
KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgcGFyYW1zLAorICAgICAg
ICAgICAgUXVpY1RyYW5zcG9ydFBhcmFtZXRlcnMoCisgICAgICAgICAgICAgICAgaWRsZV90aW1l
b3V0PTYwMDAwLAorICAgICAgICAgICAgICAgIHN0YXRlbGVzc19yZXNldF90b2tlbj1iImFhYWFi
YmJiY2NjY2RkZGQiLAorICAgICAgICAgICAgICAgIG1heF9wYWNrZXRfc2l6ZT00MDk2LAorICAg
ICAgICAgICAgICAgIGluaXRpYWxfbWF4X2RhdGE9MTA0ODU3NiwKKyAgICAgICAgICAgICAgICBp
bml0aWFsX21heF9zdHJlYW1fZGF0YV9iaWRpX2xvY2FsPTY2NTYwLAorICAgICAgICAgICAgICAg
IGluaXRpYWxfbWF4X3N0cmVhbV9kYXRhX2JpZGlfcmVtb3RlPTY2NTYwLAorICAgICAgICAgICAg
ICAgIGluaXRpYWxfbWF4X3N0cmVhbV9kYXRhX3VuaT02NjU2MCwKKyAgICAgICAgICAgICAgICBp
bml0aWFsX21heF9zdHJlYW1zX2JpZGk9NDI5NDk2NzI5NSwKKyAgICAgICAgICAgICAgICBpbml0
aWFsX21heF9zdHJlYW1zX3VuaT00Mjk0OTY3Mjk1LAorICAgICAgICAgICAgICAgIGFja19kZWxh
eV9leHBvbmVudD0zLAorICAgICAgICAgICAgKSwKKyAgICAgICAgKQorCisgICAgZGVmIHRlc3Rf
cHJlZmVycmVkX2FkZHJlc3NfaXB2NF9vbmx5KHNlbGYpOgorICAgICAgICBkYXRhID0gYmluYXNj
aWkudW5oZXhsaWZ5KAorICAgICAgICAgICAgIjhiYTI3Yjg2MTE1MzAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDEyNjJjNDUxOGQ2MzAxMyIKKyAgICAgICAgICAgICJmMGMyODdl
ZDM1NzNlZmE5MDk1NjAzNzQ2YjJlMDJkNDU0ODBiYTY2NDNlNWM2ZTdkNDhlY2I0IgorICAgICAg
ICApCisKKyAgICAgICAgIyBwYXJzZQorICAgICAgICBidWYgPSBCdWZmZXIoZGF0YT1kYXRhKQor
ICAgICAgICBwcmVmZXJyZWRfYWRkcmVzcyA9IHB1bGxfcXVpY19wcmVmZXJyZWRfYWRkcmVzcyhi
dWYpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBwcmVmZXJyZWRfYWRk
cmVzcywKKyAgICAgICAgICAgIFF1aWNQcmVmZXJyZWRBZGRyZXNzKAorICAgICAgICAgICAgICAg
IGlwdjRfYWRkcmVzcz0oIjEzOS4xNjIuMTIzLjEzNCIsIDQ0MzUpLAorICAgICAgICAgICAgICAg
IGlwdjZfYWRkcmVzcz1Ob25lLAorICAgICAgICAgICAgICAgIGNvbm5lY3Rpb25faWQ9YiJiXHhj
NFFceDhkY1x4MDE/XHgwYyh+XHhkM1c+XHhmYVx4OTBceDk1YDciLAorICAgICAgICAgICAgICAg
IHN0YXRlbGVzc19yZXNldF90b2tlbj1iIkZceGIyXHhlMC1FSFx4MGJceGE2ZD5cXG59SFx4ZWNc
eGI0IiwKKyAgICAgICAgICAgICksCisgICAgICAgICkKKworICAgICAgICAjIHNlcmlhbGl6ZQor
ICAgICAgICBidWYgPSBCdWZmZXIoY2FwYWNpdHk9bGVuKGRhdGEpKQorICAgICAgICBwdXNoX3F1
aWNfcHJlZmVycmVkX2FkZHJlc3MoYnVmLCBwcmVmZXJyZWRfYWRkcmVzcykKKyAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChidWYuZGF0YSwgZGF0YSkKKworICAgIGRlZiB0ZXN0X3ByZWZlcnJlZF9h
ZGRyZXNzX2lwdjZfb25seShzZWxmKToKKyAgICAgICAgZGF0YSA9IGJpbmFzY2lpLnVuaGV4bGlm
eSgKKyAgICAgICAgICAgICIwMDAwMDAwMDAwMDAyNDAwODkwMjAwMDAwMDAwZjAzYzkxZmZmZTY5
YTQ1NDExNTMxMjYyYzQ1MThkNjMwMTMiCisgICAgICAgICAgICAiZjBjMjg3ZWQzNTczZWZhOTA5
NTYwMzc0NmIyZTAyZDQ1NDgwYmE2NjQzZTVjNmU3ZDQ4ZWNiNCIKKyAgICAgICAgKQorCisgICAg
ICAgICMgcGFyc2UKKyAgICAgICAgYnVmID0gQnVmZmVyKGRhdGE9ZGF0YSkKKyAgICAgICAgcHJl
ZmVycmVkX2FkZHJlc3MgPSBwdWxsX3F1aWNfcHJlZmVycmVkX2FkZHJlc3MoYnVmKQorICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgcHJlZmVycmVkX2FkZHJlc3MsCisgICAg
ICAgICAgICBRdWljUHJlZmVycmVkQWRkcmVzcygKKyAgICAgICAgICAgICAgICBpcHY0X2FkZHJl
c3M9Tm9uZSwKKyAgICAgICAgICAgICAgICBpcHY2X2FkZHJlc3M9KCIyNDAwOjg5MDI6OmYwM2M6
OTFmZjpmZTY5OmE0NTQiLCA0NDM1KSwKKyAgICAgICAgICAgICAgICBjb25uZWN0aW9uX2lkPWIi
Ylx4YzRRXHg4ZGNceDAxP1x4MGMoflx4ZDNXPlx4ZmFceDkwXHg5NWA3IiwKKyAgICAgICAgICAg
ICAgICBzdGF0ZWxlc3NfcmVzZXRfdG9rZW49YiJGXHhiMlx4ZTAtRUhceDBiXHhhNmQ+XFxufUhc
eGVjXHhiNCIsCisgICAgICAgICAgICApLAorICAgICAgICApCisKKyAgICAgICAgIyBzZXJpYWxp
emUKKyAgICAgICAgYnVmID0gQnVmZmVyKGNhcGFjaXR5PWxlbihkYXRhKSkKKyAgICAgICAgcHVz
aF9xdWljX3ByZWZlcnJlZF9hZGRyZXNzKGJ1ZiwgcHJlZmVycmVkX2FkZHJlc3MpCisgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwoYnVmLmRhdGEsIGRhdGEpCisKKworY2xhc3MgRnJhbWVUZXN0KFRl
c3RDYXNlKToKKyAgICBkZWYgdGVzdF9hY2tfZnJhbWUoc2VsZik6CisgICAgICAgIGRhdGEgPSBi
Ilx4MDBceDAyXHgwMFx4MDAiCisKKyAgICAgICAgIyBwYXJzZQorICAgICAgICBidWYgPSBCdWZm
ZXIoZGF0YT1kYXRhKQorICAgICAgICByYW5nZXNldCwgZGVsYXkgPSBwYWNrZXQucHVsbF9hY2tf
ZnJhbWUoYnVmKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpc3QocmFuZ2VzZXQpLCBbcmFu
Z2UoMCwgMSldKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRlbGF5LCAyKQorCisgICAgICAg
ICMgc2VyaWFsaXplCisgICAgICAgIGJ1ZiA9IEJ1ZmZlcihjYXBhY2l0eT1sZW4oZGF0YSkpCisg
ICAgICAgIHBhY2tldC5wdXNoX2Fja19mcmFtZShidWYsIHJhbmdlc2V0LCBkZWxheSkKKyAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChidWYuZGF0YSwgZGF0YSkKKworICAgIGRlZiB0ZXN0X2Fja19m
cmFtZV93aXRoX29uZV9yYW5nZShzZWxmKToKKyAgICAgICAgZGF0YSA9IGIiXHgwMlx4MDJceDAx
XHgwMFx4MDBceDAwIgorCisgICAgICAgICMgcGFyc2UKKyAgICAgICAgYnVmID0gQnVmZmVyKGRh
dGE9ZGF0YSkKKyAgICAgICAgcmFuZ2VzZXQsIGRlbGF5ID0gcGFja2V0LnB1bGxfYWNrX2ZyYW1l
KGJ1ZikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaXN0KHJhbmdlc2V0KSwgW3JhbmdlKDAs
IDEpLCByYW5nZSgyLCAzKV0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGVsYXksIDIpCisK
KyAgICAgICAgIyBzZXJpYWxpemUKKyAgICAgICAgYnVmID0gQnVmZmVyKGNhcGFjaXR5PWxlbihk
YXRhKSkKKyAgICAgICAgcGFja2V0LnB1c2hfYWNrX2ZyYW1lKGJ1ZiwgcmFuZ2VzZXQsIGRlbGF5
KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ1Zi5kYXRhLCBkYXRhKQorCisgICAgZGVmIHRl
c3RfYWNrX2ZyYW1lX3dpdGhfb25lX3JhbmdlXzIoc2VsZik6CisgICAgICAgIGRhdGEgPSBiIlx4
MDVceDAyXHgwMVx4MDBceDAwXHgwMyIKKworICAgICAgICAjIHBhcnNlCisgICAgICAgIGJ1ZiA9
IEJ1ZmZlcihkYXRhPWRhdGEpCisgICAgICAgIHJhbmdlc2V0LCBkZWxheSA9IHBhY2tldC5wdWxs
X2Fja19mcmFtZShidWYpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGlzdChyYW5nZXNldCks
IFtyYW5nZSgwLCA0KSwgcmFuZ2UoNSwgNildKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRl
bGF5LCAyKQorCisgICAgICAgICMgc2VyaWFsaXplCisgICAgICAgIGJ1ZiA9IEJ1ZmZlcihjYXBh
Y2l0eT1sZW4oZGF0YSkpCisgICAgICAgIHBhY2tldC5wdXNoX2Fja19mcmFtZShidWYsIHJhbmdl
c2V0LCBkZWxheSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChidWYuZGF0YSwgZGF0YSkKKwor
ICAgIGRlZiB0ZXN0X2Fja19mcmFtZV93aXRoX29uZV9yYW5nZV8zKHNlbGYpOgorICAgICAgICBk
YXRhID0gYiJceDA1XHgwMlx4MDFceDAwXHgwMVx4MDIiCisKKyAgICAgICAgIyBwYXJzZQorICAg
ICAgICBidWYgPSBCdWZmZXIoZGF0YT1kYXRhKQorICAgICAgICByYW5nZXNldCwgZGVsYXkgPSBw
YWNrZXQucHVsbF9hY2tfZnJhbWUoYnVmKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpc3Qo
cmFuZ2VzZXQpLCBbcmFuZ2UoMCwgMyksIHJhbmdlKDUsIDYpXSkKKyAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChkZWxheSwgMikKKworICAgICAgICAjIHNlcmlhbGl6ZQorICAgICAgICBidWYgPSBC
dWZmZXIoY2FwYWNpdHk9bGVuKGRhdGEpKQorICAgICAgICBwYWNrZXQucHVzaF9hY2tfZnJhbWUo
YnVmLCByYW5nZXNldCwgZGVsYXkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnVmLmRhdGEs
IGRhdGEpCisKKyAgICBkZWYgdGVzdF9hY2tfZnJhbWVfd2l0aF90d29fcmFuZ2VzKHNlbGYpOgor
ICAgICAgICBkYXRhID0gYiJceDA0XHgwMlx4MDJceDAwXHgwMFx4MDBceDAwXHgwMCIKKworICAg
ICAgICAjIHBhcnNlCisgICAgICAgIGJ1ZiA9IEJ1ZmZlcihkYXRhPWRhdGEpCisgICAgICAgIHJh
bmdlc2V0LCBkZWxheSA9IHBhY2tldC5wdWxsX2Fja19mcmFtZShidWYpCisgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwobGlzdChyYW5nZXNldCksIFtyYW5nZSgwLCAxKSwgcmFuZ2UoMiwgMyksIHJh
bmdlKDQsIDUpXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkZWxheSwgMikKKworICAgICAg
ICAjIHNlcmlhbGl6ZQorICAgICAgICBidWYgPSBCdWZmZXIoY2FwYWNpdHk9bGVuKGRhdGEpKQor
ICAgICAgICBwYWNrZXQucHVzaF9hY2tfZnJhbWUoYnVmLCByYW5nZXNldCwgZGVsYXkpCisgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnVmLmRhdGEsIGRhdGEpCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fp
b3F1aWMvdGVzdHMvdGVzdF9wYWNrZXRfYnVpbGRlci5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy90ZXN0cy90
ZXN0X3BhY2tldF9idWlsZGVyLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQzZTIzMTFkOTkxMjBmMWU3YjRhNDIw
YmE1ZDFjNGVjNmY3Y2FkODkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvdGVzdHMv
dGVzdF9wYWNrZXRfYnVpbGRlci5weQpAQCAtMCwwICsxLDU2OSBAQAorZnJvbSB1bml0dGVzdCBp
bXBvcnQgVGVzdENhc2UKKworZnJvbSBhaW9xdWljLnF1aWMuY3J5cHRvIGltcG9ydCBDcnlwdG9Q
YWlyCitmcm9tIGFpb3F1aWMucXVpYy5wYWNrZXQgaW1wb3J0ICgKKyAgICBQQUNLRVRfVFlQRV9I
QU5EU0hBS0UsCisgICAgUEFDS0VUX1RZUEVfSU5JVElBTCwKKyAgICBQQUNLRVRfVFlQRV9PTkVf
UlRULAorICAgIFF1aWNGcmFtZVR5cGUsCisgICAgUXVpY1Byb3RvY29sVmVyc2lvbiwKKykKK2Zy
b20gYWlvcXVpYy5xdWljLnBhY2tldF9idWlsZGVyIGltcG9ydCAoCisgICAgUXVpY1BhY2tldEJ1
aWxkZXIsCisgICAgUXVpY1BhY2tldEJ1aWxkZXJTdG9wLAorICAgIFF1aWNTZW50UGFja2V0LAor
KQorZnJvbSBhaW9xdWljLnRscyBpbXBvcnQgRXBvY2gKKworCitkZWYgY3JlYXRlX2J1aWxkZXIo
aXNfY2xpZW50PUZhbHNlKToKKyAgICByZXR1cm4gUXVpY1BhY2tldEJ1aWxkZXIoCisgICAgICAg
IGhvc3RfY2lkPWJ5dGVzKDgpLAorICAgICAgICBpc19jbGllbnQ9aXNfY2xpZW50LAorICAgICAg
ICBwYWNrZXRfbnVtYmVyPTAsCisgICAgICAgIHBlZXJfY2lkPWJ5dGVzKDgpLAorICAgICAgICBw
ZWVyX3Rva2VuPWIiIiwKKyAgICAgICAgc3Bpbl9iaXQ9RmFsc2UsCisgICAgICAgIHZlcnNpb249
UXVpY1Byb3RvY29sVmVyc2lvbi5EUkFGVF8yNSwKKyAgICApCisKKworZGVmIGNyZWF0ZV9jcnlw
dG8oKToKKyAgICBjcnlwdG8gPSBDcnlwdG9QYWlyKCkKKyAgICBjcnlwdG8uc2V0dXBfaW5pdGlh
bChieXRlcyg4KSwgaXNfY2xpZW50PVRydWUsIHZlcnNpb249UXVpY1Byb3RvY29sVmVyc2lvbi5E
UkFGVF8yNSkKKyAgICByZXR1cm4gY3J5cHRvCisKKworY2xhc3MgUXVpY1BhY2tldEJ1aWxkZXJU
ZXN0KFRlc3RDYXNlKToKKyAgICBkZWYgdGVzdF9sb25nX2hlYWRlcl9lbXB0eShzZWxmKToKKyAg
ICAgICAgYnVpbGRlciA9IGNyZWF0ZV9idWlsZGVyKCkKKyAgICAgICAgY3J5cHRvID0gY3JlYXRl
X2NyeXB0bygpCisKKyAgICAgICAgYnVpbGRlci5zdGFydF9wYWNrZXQoUEFDS0VUX1RZUEVfSU5J
VElBTCwgY3J5cHRvKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ1aWxkZXIucmVtYWluaW5n
X2ZsaWdodF9zcGFjZSwgMTIzNikKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGJ1aWxkZXIucGFj
a2V0X2lzX2VtcHR5KQorCisgICAgICAgICMgY2hlY2sgZGF0YWdyYW1zCisgICAgICAgIGRhdGFn
cmFtcywgcGFja2V0cyA9IGJ1aWxkZXIuZmx1c2goKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KGxlbihkYXRhZ3JhbXMpLCAwKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBhY2tldHMsIFtd
KQorCisgICAgICAgICMgY2hlY2sgYnVpbGRlcgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ1
aWxkZXIucGFja2V0X251bWJlciwgMCkKKworICAgIGRlZiB0ZXN0X2xvbmdfaGVhZGVyX3BhZGRp
bmcoc2VsZik6CisgICAgICAgIGJ1aWxkZXIgPSBjcmVhdGVfYnVpbGRlcihpc19jbGllbnQ9VHJ1
ZSkKKyAgICAgICAgY3J5cHRvID0gY3JlYXRlX2NyeXB0bygpCisKKyAgICAgICAgIyBJTklUSUFM
LCBmdWxseSBwYWRkZWQKKyAgICAgICAgYnVpbGRlci5zdGFydF9wYWNrZXQoUEFDS0VUX1RZUEVf
SU5JVElBTCwgY3J5cHRvKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ1aWxkZXIucmVtYWlu
aW5nX2ZsaWdodF9zcGFjZSwgMTIzNikKKyAgICAgICAgYnVmID0gYnVpbGRlci5zdGFydF9mcmFt
ZShRdWljRnJhbWVUeXBlLkNSWVBUTykKKyAgICAgICAgYnVmLnB1c2hfYnl0ZXMoYnl0ZXMoMTAw
KSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShidWlsZGVyLnBhY2tldF9pc19lbXB0eSkKKwor
ICAgICAgICAjIElOSVRJQUwsIGVtcHR5CisgICAgICAgIGJ1aWxkZXIuc3RhcnRfcGFja2V0KFBB
Q0tFVF9UWVBFX0lOSVRJQUwsIGNyeXB0bykKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGJ1aWxk
ZXIucGFja2V0X2lzX2VtcHR5KQorCisgICAgICAgICMgY2hlY2sgZGF0YWdyYW1zCisgICAgICAg
IGRhdGFncmFtcywgcGFja2V0cyA9IGJ1aWxkZXIuZmx1c2goKQorICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKGxlbihkYXRhZ3JhbXMpLCAxKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihk
YXRhZ3JhbXNbMF0pLCAxMjgwKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAg
ICAgcGFja2V0cywKKyAgICAgICAgICAgIFsKKyAgICAgICAgICAgICAgICBRdWljU2VudFBhY2tl
dCgKKyAgICAgICAgICAgICAgICAgICAgZXBvY2g9RXBvY2guSU5JVElBTCwKKyAgICAgICAgICAg
ICAgICAgICAgaW5fZmxpZ2h0PVRydWUsCisgICAgICAgICAgICAgICAgICAgIGlzX2Fja19lbGlj
aXRpbmc9VHJ1ZSwKKyAgICAgICAgICAgICAgICAgICAgaXNfY3J5cHRvX3BhY2tldD1UcnVlLAor
ICAgICAgICAgICAgICAgICAgICBwYWNrZXRfbnVtYmVyPTAsCisgICAgICAgICAgICAgICAgICAg
IHBhY2tldF90eXBlPVBBQ0tFVF9UWVBFX0lOSVRJQUwsCisgICAgICAgICAgICAgICAgICAgIHNl
bnRfYnl0ZXM9MTI4MCwKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICBdLAorICAgICAg
ICApCisKKyAgICAgICAgIyBjaGVjayBidWlsZGVyCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
YnVpbGRlci5wYWNrZXRfbnVtYmVyLCAxKQorCisgICAgZGVmIHRlc3RfbG9uZ19oZWFkZXJfaW5p
dGlhbF9jbGllbnRfMihzZWxmKToKKyAgICAgICAgYnVpbGRlciA9IGNyZWF0ZV9idWlsZGVyKGlz
X2NsaWVudD1UcnVlKQorICAgICAgICBjcnlwdG8gPSBjcmVhdGVfY3J5cHRvKCkKKworICAgICAg
ICAjIElOSVRJQUwsIGZ1bGwgbGVuZ3RoCisgICAgICAgIGJ1aWxkZXIuc3RhcnRfcGFja2V0KFBB
Q0tFVF9UWVBFX0lOSVRJQUwsIGNyeXB0bykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChidWls
ZGVyLnJlbWFpbmluZ19mbGlnaHRfc3BhY2UsIDEyMzYpCisgICAgICAgIGJ1ZiA9IGJ1aWxkZXIu
c3RhcnRfZnJhbWUoUXVpY0ZyYW1lVHlwZS5DUllQVE8pCisgICAgICAgIGJ1Zi5wdXNoX2J5dGVz
KGJ5dGVzKGJ1aWxkZXIucmVtYWluaW5nX2ZsaWdodF9zcGFjZSkpCisgICAgICAgIHNlbGYuYXNz
ZXJ0RmFsc2UoYnVpbGRlci5wYWNrZXRfaXNfZW1wdHkpCisKKyAgICAgICAgIyBJTklUSUFMCisg
ICAgICAgIGJ1aWxkZXIuc3RhcnRfcGFja2V0KFBBQ0tFVF9UWVBFX0lOSVRJQUwsIGNyeXB0bykK
KyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChidWlsZGVyLnJlbWFpbmluZ19mbGlnaHRfc3BhY2Us
IDEyMzYpCisgICAgICAgIGJ1ZiA9IGJ1aWxkZXIuc3RhcnRfZnJhbWUoUXVpY0ZyYW1lVHlwZS5D
UllQVE8pCisgICAgICAgIGJ1Zi5wdXNoX2J5dGVzKGJ5dGVzKDEwMCkpCisgICAgICAgIHNlbGYu
YXNzZXJ0RmFsc2UoYnVpbGRlci5wYWNrZXRfaXNfZW1wdHkpCisKKyAgICAgICAgIyBJTklUSUFM
LCBlbXB0eQorICAgICAgICBidWlsZGVyLnN0YXJ0X3BhY2tldChQQUNLRVRfVFlQRV9JTklUSUFM
LCBjcnlwdG8pCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShidWlsZGVyLnBhY2tldF9pc19lbXB0
eSkKKworICAgICAgICAjIGNoZWNrIGRhdGFncmFtcworICAgICAgICBkYXRhZ3JhbXMsIHBhY2tl
dHMgPSBidWlsZGVyLmZsdXNoKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oZGF0YWdy
YW1zKSwgMikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oZGF0YWdyYW1zWzBdKSwgMTI4
MCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oZGF0YWdyYW1zWzFdKSwgMTI4MCkKKyAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIHBhY2tldHMsCisgICAgICAgICAg
ICBbCisgICAgICAgICAgICAgICAgUXVpY1NlbnRQYWNrZXQoCisgICAgICAgICAgICAgICAgICAg
IGVwb2NoPUVwb2NoLklOSVRJQUwsCisgICAgICAgICAgICAgICAgICAgIGluX2ZsaWdodD1UcnVl
LAorICAgICAgICAgICAgICAgICAgICBpc19hY2tfZWxpY2l0aW5nPVRydWUsCisgICAgICAgICAg
ICAgICAgICAgIGlzX2NyeXB0b19wYWNrZXQ9VHJ1ZSwKKyAgICAgICAgICAgICAgICAgICAgcGFj
a2V0X251bWJlcj0wLAorICAgICAgICAgICAgICAgICAgICBwYWNrZXRfdHlwZT1QQUNLRVRfVFlQ
RV9JTklUSUFMLAorICAgICAgICAgICAgICAgICAgICBzZW50X2J5dGVzPTEyODAsCisgICAgICAg
ICAgICAgICAgKSwKKyAgICAgICAgICAgICAgICBRdWljU2VudFBhY2tldCgKKyAgICAgICAgICAg
ICAgICAgICAgZXBvY2g9RXBvY2guSU5JVElBTCwKKyAgICAgICAgICAgICAgICAgICAgaW5fZmxp
Z2h0PVRydWUsCisgICAgICAgICAgICAgICAgICAgIGlzX2Fja19lbGljaXRpbmc9VHJ1ZSwKKyAg
ICAgICAgICAgICAgICAgICAgaXNfY3J5cHRvX3BhY2tldD1UcnVlLAorICAgICAgICAgICAgICAg
ICAgICBwYWNrZXRfbnVtYmVyPTEsCisgICAgICAgICAgICAgICAgICAgIHBhY2tldF90eXBlPVBB
Q0tFVF9UWVBFX0lOSVRJQUwsCisgICAgICAgICAgICAgICAgICAgIHNlbnRfYnl0ZXM9MTI4MCwK
KyAgICAgICAgICAgICAgICApLAorICAgICAgICAgICAgXSwKKyAgICAgICAgKQorCisgICAgICAg
ICMgY2hlY2sgYnVpbGRlcgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ1aWxkZXIucGFja2V0
X251bWJlciwgMikKKworICAgIGRlZiB0ZXN0X2xvbmdfaGVhZGVyX2luaXRpYWxfc2VydmVyKHNl
bGYpOgorICAgICAgICBidWlsZGVyID0gY3JlYXRlX2J1aWxkZXIoKQorICAgICAgICBjcnlwdG8g
PSBjcmVhdGVfY3J5cHRvKCkKKworICAgICAgICAjIElOSVRJQUwKKyAgICAgICAgYnVpbGRlci5z
dGFydF9wYWNrZXQoUEFDS0VUX1RZUEVfSU5JVElBTCwgY3J5cHRvKQorICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKGJ1aWxkZXIucmVtYWluaW5nX2ZsaWdodF9zcGFjZSwgMTIzNikKKyAgICAgICAg
YnVmID0gYnVpbGRlci5zdGFydF9mcmFtZShRdWljRnJhbWVUeXBlLkNSWVBUTykKKyAgICAgICAg
YnVmLnB1c2hfYnl0ZXMoYnl0ZXMoMTAwKSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShidWls
ZGVyLnBhY2tldF9pc19lbXB0eSkKKworICAgICAgICAjIElOSVRJQUwsIGVtcHR5CisgICAgICAg
IGJ1aWxkZXIuc3RhcnRfcGFja2V0KFBBQ0tFVF9UWVBFX0lOSVRJQUwsIGNyeXB0bykKKyAgICAg
ICAgc2VsZi5hc3NlcnRUcnVlKGJ1aWxkZXIucGFja2V0X2lzX2VtcHR5KQorCisgICAgICAgICMg
Y2hlY2sgZGF0YWdyYW1zCisgICAgICAgIGRhdGFncmFtcywgcGFja2V0cyA9IGJ1aWxkZXIuZmx1
c2goKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihkYXRhZ3JhbXMpLCAxKQorICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKGxlbihkYXRhZ3JhbXNbMF0pLCAxNDUpCisgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBwYWNrZXRzLAorICAgICAgICAgICAgWworICAgICAg
ICAgICAgICAgIFF1aWNTZW50UGFja2V0KAorICAgICAgICAgICAgICAgICAgICBlcG9jaD1FcG9j
aC5JTklUSUFMLAorICAgICAgICAgICAgICAgICAgICBpbl9mbGlnaHQ9VHJ1ZSwKKyAgICAgICAg
ICAgICAgICAgICAgaXNfYWNrX2VsaWNpdGluZz1UcnVlLAorICAgICAgICAgICAgICAgICAgICBp
c19jcnlwdG9fcGFja2V0PVRydWUsCisgICAgICAgICAgICAgICAgICAgIHBhY2tldF9udW1iZXI9
MCwKKyAgICAgICAgICAgICAgICAgICAgcGFja2V0X3R5cGU9UEFDS0VUX1RZUEVfSU5JVElBTCwK
KyAgICAgICAgICAgICAgICAgICAgc2VudF9ieXRlcz0xNDUsCisgICAgICAgICAgICAgICAgKQor
ICAgICAgICAgICAgXSwKKyAgICAgICAgKQorCisgICAgICAgICMgY2hlY2sgYnVpbGRlcgorICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKGJ1aWxkZXIucGFja2V0X251bWJlciwgMSkKKworICAgIGRl
ZiB0ZXN0X2xvbmdfaGVhZGVyX3RoZW5fc2hvcnRfaGVhZGVyKHNlbGYpOgorICAgICAgICBidWls
ZGVyID0gY3JlYXRlX2J1aWxkZXIoKQorICAgICAgICBjcnlwdG8gPSBjcmVhdGVfY3J5cHRvKCkK
KworICAgICAgICAjIElOSVRJQUwsIGZ1bGwgbGVuZ3RoCisgICAgICAgIGJ1aWxkZXIuc3RhcnRf
cGFja2V0KFBBQ0tFVF9UWVBFX0lOSVRJQUwsIGNyeXB0bykKKyAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbChidWlsZGVyLnJlbWFpbmluZ19mbGlnaHRfc3BhY2UsIDEyMzYpCisgICAgICAgIGJ1ZiA9
IGJ1aWxkZXIuc3RhcnRfZnJhbWUoUXVpY0ZyYW1lVHlwZS5DUllQVE8pCisgICAgICAgIGJ1Zi5w
dXNoX2J5dGVzKGJ5dGVzKGJ1aWxkZXIucmVtYWluaW5nX2ZsaWdodF9zcGFjZSkpCisgICAgICAg
IHNlbGYuYXNzZXJ0RmFsc2UoYnVpbGRlci5wYWNrZXRfaXNfZW1wdHkpCisKKyAgICAgICAgIyBJ
TklUSUFMLCBlbXB0eQorICAgICAgICBidWlsZGVyLnN0YXJ0X3BhY2tldChQQUNLRVRfVFlQRV9J
TklUSUFMLCBjcnlwdG8pCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShidWlsZGVyLnBhY2tldF9p
c19lbXB0eSkKKworICAgICAgICAjIE9ORV9SVFQsIGZ1bGwgbGVuZ3RoCisgICAgICAgIGJ1aWxk
ZXIuc3RhcnRfcGFja2V0KFBBQ0tFVF9UWVBFX09ORV9SVFQsIGNyeXB0bykKKyAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChidWlsZGVyLnJlbWFpbmluZ19mbGlnaHRfc3BhY2UsIDEyNTMpCisgICAg
ICAgIGJ1ZiA9IGJ1aWxkZXIuc3RhcnRfZnJhbWUoUXVpY0ZyYW1lVHlwZS5TVFJFQU1fQkFTRSkK
KyAgICAgICAgYnVmLnB1c2hfYnl0ZXMoYnl0ZXMoYnVpbGRlci5yZW1haW5pbmdfZmxpZ2h0X3Nw
YWNlKSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShidWlsZGVyLnBhY2tldF9pc19lbXB0eSkK
KworICAgICAgICAjIE9ORV9SVFQsIGVtcHR5CisgICAgICAgIGJ1aWxkZXIuc3RhcnRfcGFja2V0
KFBBQ0tFVF9UWVBFX09ORV9SVFQsIGNyeXB0bykKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGJ1
aWxkZXIucGFja2V0X2lzX2VtcHR5KQorCisgICAgICAgICMgY2hlY2sgZGF0YWdyYW1zCisgICAg
ICAgIGRhdGFncmFtcywgcGFja2V0cyA9IGJ1aWxkZXIuZmx1c2goKQorICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKGxlbihkYXRhZ3JhbXMpLCAyKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxl
bihkYXRhZ3JhbXNbMF0pLCAxMjgwKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihkYXRh
Z3JhbXNbMV0pLCAxMjgwKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAg
cGFja2V0cywKKyAgICAgICAgICAgIFsKKyAgICAgICAgICAgICAgICBRdWljU2VudFBhY2tldCgK
KyAgICAgICAgICAgICAgICAgICAgZXBvY2g9RXBvY2guSU5JVElBTCwKKyAgICAgICAgICAgICAg
ICAgICAgaW5fZmxpZ2h0PVRydWUsCisgICAgICAgICAgICAgICAgICAgIGlzX2Fja19lbGljaXRp
bmc9VHJ1ZSwKKyAgICAgICAgICAgICAgICAgICAgaXNfY3J5cHRvX3BhY2tldD1UcnVlLAorICAg
ICAgICAgICAgICAgICAgICBwYWNrZXRfbnVtYmVyPTAsCisgICAgICAgICAgICAgICAgICAgIHBh
Y2tldF90eXBlPVBBQ0tFVF9UWVBFX0lOSVRJQUwsCisgICAgICAgICAgICAgICAgICAgIHNlbnRf
Ynl0ZXM9MTI4MCwKKyAgICAgICAgICAgICAgICApLAorICAgICAgICAgICAgICAgIFF1aWNTZW50
UGFja2V0KAorICAgICAgICAgICAgICAgICAgICBlcG9jaD1FcG9jaC5PTkVfUlRULAorICAgICAg
ICAgICAgICAgICAgICBpbl9mbGlnaHQ9VHJ1ZSwKKyAgICAgICAgICAgICAgICAgICAgaXNfYWNr
X2VsaWNpdGluZz1UcnVlLAorICAgICAgICAgICAgICAgICAgICBpc19jcnlwdG9fcGFja2V0PUZh
bHNlLAorICAgICAgICAgICAgICAgICAgICBwYWNrZXRfbnVtYmVyPTEsCisgICAgICAgICAgICAg
ICAgICAgIHBhY2tldF90eXBlPVBBQ0tFVF9UWVBFX09ORV9SVFQsCisgICAgICAgICAgICAgICAg
ICAgIHNlbnRfYnl0ZXM9MTI4MCwKKyAgICAgICAgICAgICAgICApLAorICAgICAgICAgICAgXSwK
KyAgICAgICAgKQorCisgICAgICAgICMgY2hlY2sgYnVpbGRlcgorICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKGJ1aWxkZXIucGFja2V0X251bWJlciwgMikKKworICAgIGRlZiB0ZXN0X2xvbmdfaGVh
ZGVyX3RoZW5fbG9uZ19oZWFkZXIoc2VsZik6CisgICAgICAgIGJ1aWxkZXIgPSBjcmVhdGVfYnVp
bGRlcigpCisgICAgICAgIGNyeXB0byA9IGNyZWF0ZV9jcnlwdG8oKQorCisgICAgICAgICMgSU5J
VElBTAorICAgICAgICBidWlsZGVyLnN0YXJ0X3BhY2tldChQQUNLRVRfVFlQRV9JTklUSUFMLCBj
cnlwdG8pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnVpbGRlci5yZW1haW5pbmdfZmxpZ2h0
X3NwYWNlLCAxMjM2KQorICAgICAgICBidWYgPSBidWlsZGVyLnN0YXJ0X2ZyYW1lKFF1aWNGcmFt
ZVR5cGUuQ1JZUFRPKQorICAgICAgICBidWYucHVzaF9ieXRlcyhieXRlcygxOTkpKQorICAgICAg
ICBzZWxmLmFzc2VydEZhbHNlKGJ1aWxkZXIucGFja2V0X2lzX2VtcHR5KQorCisgICAgICAgICMg
SEFORFNIQUtFCisgICAgICAgIGJ1aWxkZXIuc3RhcnRfcGFja2V0KFBBQ0tFVF9UWVBFX0hBTkRT
SEFLRSwgY3J5cHRvKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ1aWxkZXIucmVtYWluaW5n
X2ZsaWdodF9zcGFjZSwgOTkzKQorICAgICAgICBidWYgPSBidWlsZGVyLnN0YXJ0X2ZyYW1lKFF1
aWNGcmFtZVR5cGUuQ1JZUFRPKQorICAgICAgICBidWYucHVzaF9ieXRlcyhieXRlcygyOTkpKQor
ICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGJ1aWxkZXIucGFja2V0X2lzX2VtcHR5KQorCisgICAg
ICAgICMgT05FX1JUVAorICAgICAgICBidWlsZGVyLnN0YXJ0X3BhY2tldChQQUNLRVRfVFlQRV9P
TkVfUlRULCBjcnlwdG8pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnVpbGRlci5yZW1haW5p
bmdfZmxpZ2h0X3NwYWNlLCA2NjYpCisgICAgICAgIGJ1ZiA9IGJ1aWxkZXIuc3RhcnRfZnJhbWUo
UXVpY0ZyYW1lVHlwZS5DUllQVE8pCisgICAgICAgIGJ1Zi5wdXNoX2J5dGVzKGJ5dGVzKDI5OSkp
CisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoYnVpbGRlci5wYWNrZXRfaXNfZW1wdHkpCisKKyAg
ICAgICAgIyBjaGVjayBkYXRhZ3JhbXMKKyAgICAgICAgZGF0YWdyYW1zLCBwYWNrZXRzID0gYnVp
bGRlci5mbHVzaCgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGRhdGFncmFtcyksIDEp
CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGRhdGFncmFtc1swXSksIDkxNCkKKyAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIHBhY2tldHMsCisgICAgICAgICAgICBb
CisgICAgICAgICAgICAgICAgUXVpY1NlbnRQYWNrZXQoCisgICAgICAgICAgICAgICAgICAgIGVw
b2NoPUVwb2NoLklOSVRJQUwsCisgICAgICAgICAgICAgICAgICAgIGluX2ZsaWdodD1UcnVlLAor
ICAgICAgICAgICAgICAgICAgICBpc19hY2tfZWxpY2l0aW5nPVRydWUsCisgICAgICAgICAgICAg
ICAgICAgIGlzX2NyeXB0b19wYWNrZXQ9VHJ1ZSwKKyAgICAgICAgICAgICAgICAgICAgcGFja2V0
X251bWJlcj0wLAorICAgICAgICAgICAgICAgICAgICBwYWNrZXRfdHlwZT1QQUNLRVRfVFlQRV9J
TklUSUFMLAorICAgICAgICAgICAgICAgICAgICBzZW50X2J5dGVzPTI0NCwKKyAgICAgICAgICAg
ICAgICApLAorICAgICAgICAgICAgICAgIFF1aWNTZW50UGFja2V0KAorICAgICAgICAgICAgICAg
ICAgICBlcG9jaD1FcG9jaC5IQU5EU0hBS0UsCisgICAgICAgICAgICAgICAgICAgIGluX2ZsaWdo
dD1UcnVlLAorICAgICAgICAgICAgICAgICAgICBpc19hY2tfZWxpY2l0aW5nPVRydWUsCisgICAg
ICAgICAgICAgICAgICAgIGlzX2NyeXB0b19wYWNrZXQ9VHJ1ZSwKKyAgICAgICAgICAgICAgICAg
ICAgcGFja2V0X251bWJlcj0xLAorICAgICAgICAgICAgICAgICAgICBwYWNrZXRfdHlwZT1QQUNL
RVRfVFlQRV9IQU5EU0hBS0UsCisgICAgICAgICAgICAgICAgICAgIHNlbnRfYnl0ZXM9MzQzLAor
ICAgICAgICAgICAgICAgICksCisgICAgICAgICAgICAgICAgUXVpY1NlbnRQYWNrZXQoCisgICAg
ICAgICAgICAgICAgICAgIGVwb2NoPUVwb2NoLk9ORV9SVFQsCisgICAgICAgICAgICAgICAgICAg
IGluX2ZsaWdodD1UcnVlLAorICAgICAgICAgICAgICAgICAgICBpc19hY2tfZWxpY2l0aW5nPVRy
dWUsCisgICAgICAgICAgICAgICAgICAgIGlzX2NyeXB0b19wYWNrZXQ9VHJ1ZSwKKyAgICAgICAg
ICAgICAgICAgICAgcGFja2V0X251bWJlcj0yLAorICAgICAgICAgICAgICAgICAgICBwYWNrZXRf
dHlwZT1QQUNLRVRfVFlQRV9PTkVfUlRULAorICAgICAgICAgICAgICAgICAgICBzZW50X2J5dGVz
PTMyNywKKyAgICAgICAgICAgICAgICApLAorICAgICAgICAgICAgXSwKKyAgICAgICAgKQorCisg
ICAgICAgICMgY2hlY2sgYnVpbGRlcgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ1aWxkZXIu
cGFja2V0X251bWJlciwgMykKKworICAgIGRlZiB0ZXN0X3Nob3J0X2hlYWRlcl9lbXB0eShzZWxm
KToKKyAgICAgICAgYnVpbGRlciA9IGNyZWF0ZV9idWlsZGVyKCkKKyAgICAgICAgY3J5cHRvID0g
Y3JlYXRlX2NyeXB0bygpCisKKyAgICAgICAgYnVpbGRlci5zdGFydF9wYWNrZXQoUEFDS0VUX1RZ
UEVfT05FX1JUVCwgY3J5cHRvKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ1aWxkZXIucmVt
YWluaW5nX2ZsaWdodF9zcGFjZSwgMTI1MykKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGJ1aWxk
ZXIucGFja2V0X2lzX2VtcHR5KQorCisgICAgICAgICMgY2hlY2sgZGF0YWdyYW1zCisgICAgICAg
IGRhdGFncmFtcywgcGFja2V0cyA9IGJ1aWxkZXIuZmx1c2goKQorICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKGRhdGFncmFtcywgW10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocGFja2V0cywg
W10pCisKKyAgICAgICAgIyBjaGVjayBidWlsZGVyCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
YnVpbGRlci5wYWNrZXRfbnVtYmVyLCAwKQorCisgICAgZGVmIHRlc3Rfc2hvcnRfaGVhZGVyX3Bh
ZGRpbmcoc2VsZik6CisgICAgICAgIGJ1aWxkZXIgPSBjcmVhdGVfYnVpbGRlcigpCisgICAgICAg
IGNyeXB0byA9IGNyZWF0ZV9jcnlwdG8oKQorCisgICAgICAgICMgT05FX1JUVCwgZnVsbCBsZW5n
dGgKKyAgICAgICAgYnVpbGRlci5zdGFydF9wYWNrZXQoUEFDS0VUX1RZUEVfT05FX1JUVCwgY3J5
cHRvKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ1aWxkZXIucmVtYWluaW5nX2ZsaWdodF9z
cGFjZSwgMTI1MykKKyAgICAgICAgYnVmID0gYnVpbGRlci5zdGFydF9mcmFtZShRdWljRnJhbWVU
eXBlLkNSWVBUTykKKyAgICAgICAgYnVmLnB1c2hfYnl0ZXMoYnl0ZXMoYnVpbGRlci5yZW1haW5p
bmdfZmxpZ2h0X3NwYWNlKSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShidWlsZGVyLnBhY2tl
dF9pc19lbXB0eSkKKworICAgICAgICAjIGNoZWNrIGRhdGFncmFtcworICAgICAgICBkYXRhZ3Jh
bXMsIHBhY2tldHMgPSBidWlsZGVyLmZsdXNoKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChs
ZW4oZGF0YWdyYW1zKSwgMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oZGF0YWdyYW1z
WzBdKSwgMTI4MCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIHBhY2tl
dHMsCisgICAgICAgICAgICBbCisgICAgICAgICAgICAgICAgUXVpY1NlbnRQYWNrZXQoCisgICAg
ICAgICAgICAgICAgICAgIGVwb2NoPUVwb2NoLk9ORV9SVFQsCisgICAgICAgICAgICAgICAgICAg
IGluX2ZsaWdodD1UcnVlLAorICAgICAgICAgICAgICAgICAgICBpc19hY2tfZWxpY2l0aW5nPVRy
dWUsCisgICAgICAgICAgICAgICAgICAgIGlzX2NyeXB0b19wYWNrZXQ9VHJ1ZSwKKyAgICAgICAg
ICAgICAgICAgICAgcGFja2V0X251bWJlcj0wLAorICAgICAgICAgICAgICAgICAgICBwYWNrZXRf
dHlwZT1QQUNLRVRfVFlQRV9PTkVfUlRULAorICAgICAgICAgICAgICAgICAgICBzZW50X2J5dGVz
PTEyODAsCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgXSwKKyAgICAgICAgKQorCisg
ICAgICAgICMgY2hlY2sgYnVpbGRlcgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ1aWxkZXIu
cGFja2V0X251bWJlciwgMSkKKworICAgIGRlZiB0ZXN0X3Nob3J0X2hlYWRlcl9tYXhfZmxpZ2h0
X2J5dGVzKHNlbGYpOgorICAgICAgICAiIiIKKyAgICAgICAgbWF4X2ZsaWdodF9ieXRlcyBsaW1p
dHMgc2VudCBkYXRhLgorICAgICAgICAiIiIKKyAgICAgICAgYnVpbGRlciA9IGNyZWF0ZV9idWls
ZGVyKCkKKyAgICAgICAgYnVpbGRlci5tYXhfZmxpZ2h0X2J5dGVzID0gMTAwMAorCisgICAgICAg
IGNyeXB0byA9IGNyZWF0ZV9jcnlwdG8oKQorCisgICAgICAgIGJ1aWxkZXIuc3RhcnRfcGFja2V0
KFBBQ0tFVF9UWVBFX09ORV9SVFQsIGNyeXB0bykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChi
dWlsZGVyLnJlbWFpbmluZ19mbGlnaHRfc3BhY2UsIDk3MykKKyAgICAgICAgYnVmID0gYnVpbGRl
ci5zdGFydF9mcmFtZShRdWljRnJhbWVUeXBlLkNSWVBUTykKKyAgICAgICAgYnVmLnB1c2hfYnl0
ZXMoYnl0ZXMoYnVpbGRlci5yZW1haW5pbmdfZmxpZ2h0X3NwYWNlKSkKKyAgICAgICAgc2VsZi5h
c3NlcnRGYWxzZShidWlsZGVyLnBhY2tldF9pc19lbXB0eSkKKworICAgICAgICB3aXRoIHNlbGYu
YXNzZXJ0UmFpc2VzKFF1aWNQYWNrZXRCdWlsZGVyU3RvcCk6CisgICAgICAgICAgICBidWlsZGVy
LnN0YXJ0X3BhY2tldChQQUNLRVRfVFlQRV9PTkVfUlRULCBjcnlwdG8pCisgICAgICAgICAgICBi
dWlsZGVyLnN0YXJ0X2ZyYW1lKFF1aWNGcmFtZVR5cGUuQ1JZUFRPKQorCisgICAgICAgICMgY2hl
Y2sgZGF0YWdyYW1zCisgICAgICAgIGRhdGFncmFtcywgcGFja2V0cyA9IGJ1aWxkZXIuZmx1c2go
KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihkYXRhZ3JhbXMpLCAxKQorICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKGxlbihkYXRhZ3JhbXNbMF0pLCAxMDAwKQorICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKAorICAgICAgICAgICAgcGFja2V0cywKKyAgICAgICAgICAgIFsKKyAgICAgICAg
ICAgICAgICBRdWljU2VudFBhY2tldCgKKyAgICAgICAgICAgICAgICAgICAgZXBvY2g9RXBvY2gu
T05FX1JUVCwKKyAgICAgICAgICAgICAgICAgICAgaW5fZmxpZ2h0PVRydWUsCisgICAgICAgICAg
ICAgICAgICAgIGlzX2Fja19lbGljaXRpbmc9VHJ1ZSwKKyAgICAgICAgICAgICAgICAgICAgaXNf
Y3J5cHRvX3BhY2tldD1UcnVlLAorICAgICAgICAgICAgICAgICAgICBwYWNrZXRfbnVtYmVyPTAs
CisgICAgICAgICAgICAgICAgICAgIHBhY2tldF90eXBlPVBBQ0tFVF9UWVBFX09ORV9SVFQsCisg
ICAgICAgICAgICAgICAgICAgIHNlbnRfYnl0ZXM9MTAwMCwKKyAgICAgICAgICAgICAgICApLAor
ICAgICAgICAgICAgXSwKKyAgICAgICAgKQorCisgICAgICAgICMgY2hlY2sgYnVpbGRlcgorICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKGJ1aWxkZXIucGFja2V0X251bWJlciwgMSkKKworICAgIGRl
ZiB0ZXN0X3Nob3J0X2hlYWRlcl9tYXhfZmxpZ2h0X2J5dGVzX3plcm8oc2VsZik6CisgICAgICAg
ICIiIgorICAgICAgICBtYXhfZmxpZ2h0X2J5dGVzID0gMCBvbmx5IGFsbG93cyBBQ0tzIGFuZCBD
T05ORUNUSU9OX0NMT1NFLgorCisgICAgICAgIENoZWNrIENSWVBUTyBpcyBub3QgYWxsb3dlZC4K
KyAgICAgICAgIiIiCisgICAgICAgIGJ1aWxkZXIgPSBjcmVhdGVfYnVpbGRlcigpCisgICAgICAg
IGJ1aWxkZXIubWF4X2ZsaWdodF9ieXRlcyA9IDAKKworICAgICAgICBjcnlwdG8gPSBjcmVhdGVf
Y3J5cHRvKCkKKworICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFF1aWNQYWNrZXRCdWls
ZGVyU3RvcCk6CisgICAgICAgICAgICBidWlsZGVyLnN0YXJ0X3BhY2tldChQQUNLRVRfVFlQRV9P
TkVfUlRULCBjcnlwdG8pCisgICAgICAgICAgICBidWlsZGVyLnN0YXJ0X2ZyYW1lKFF1aWNGcmFt
ZVR5cGUuQ1JZUFRPKQorCisgICAgICAgICMgY2hlY2sgZGF0YWdyYW1zCisgICAgICAgIGRhdGFn
cmFtcywgcGFja2V0cyA9IGJ1aWxkZXIuZmx1c2goKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KGxlbihkYXRhZ3JhbXMpLCAwKQorCisgICAgICAgICMgY2hlY2sgYnVpbGRlcgorICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKGJ1aWxkZXIucGFja2V0X251bWJlciwgMCkKKworICAgIGRlZiB0ZXN0
X3Nob3J0X2hlYWRlcl9tYXhfZmxpZ2h0X2J5dGVzX3plcm9fYWNrKHNlbGYpOgorICAgICAgICAi
IiIKKyAgICAgICAgbWF4X2ZsaWdodF9ieXRlcyA9IDAgb25seSBhbGxvd3MgQUNLcyBhbmQgQ09O
TkVDVElPTl9DTE9TRS4KKworICAgICAgICBDaGVjayBBQ0sgaXMgYWxsb3dlZC4KKyAgICAgICAg
IiIiCisgICAgICAgIGJ1aWxkZXIgPSBjcmVhdGVfYnVpbGRlcigpCisgICAgICAgIGJ1aWxkZXIu
bWF4X2ZsaWdodF9ieXRlcyA9IDAKKworICAgICAgICBjcnlwdG8gPSBjcmVhdGVfY3J5cHRvKCkK
KworICAgICAgICBidWlsZGVyLnN0YXJ0X3BhY2tldChQQUNLRVRfVFlQRV9PTkVfUlRULCBjcnlw
dG8pCisgICAgICAgIGJ1ZiA9IGJ1aWxkZXIuc3RhcnRfZnJhbWUoUXVpY0ZyYW1lVHlwZS5BQ0sp
CisgICAgICAgIGJ1Zi5wdXNoX2J5dGVzKGJ5dGVzKDY0KSkKKworICAgICAgICB3aXRoIHNlbGYu
YXNzZXJ0UmFpc2VzKFF1aWNQYWNrZXRCdWlsZGVyU3RvcCk6CisgICAgICAgICAgICBidWlsZGVy
LnN0YXJ0X3BhY2tldChQQUNLRVRfVFlQRV9PTkVfUlRULCBjcnlwdG8pCisgICAgICAgICAgICBi
dWlsZGVyLnN0YXJ0X2ZyYW1lKFF1aWNGcmFtZVR5cGUuQ1JZUFRPKQorCisgICAgICAgICMgY2hl
Y2sgZGF0YWdyYW1zCisgICAgICAgIGRhdGFncmFtcywgcGFja2V0cyA9IGJ1aWxkZXIuZmx1c2go
KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihkYXRhZ3JhbXMpLCAxKQorICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKGxlbihkYXRhZ3JhbXNbMF0pLCA5MikKKyAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbCgKKyAgICAgICAgICAgIHBhY2tldHMsCisgICAgICAgICAgICBbCisgICAgICAgICAg
ICAgICAgUXVpY1NlbnRQYWNrZXQoCisgICAgICAgICAgICAgICAgICAgIGVwb2NoPUVwb2NoLk9O
RV9SVFQsCisgICAgICAgICAgICAgICAgICAgIGluX2ZsaWdodD1GYWxzZSwKKyAgICAgICAgICAg
ICAgICAgICAgaXNfYWNrX2VsaWNpdGluZz1GYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgaXNf
Y3J5cHRvX3BhY2tldD1GYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgcGFja2V0X251bWJlcj0w
LAorICAgICAgICAgICAgICAgICAgICBwYWNrZXRfdHlwZT1QQUNLRVRfVFlQRV9PTkVfUlRULAor
ICAgICAgICAgICAgICAgICAgICBzZW50X2J5dGVzPTkyLAorICAgICAgICAgICAgICAgICksCisg
ICAgICAgICAgICBdLAorICAgICAgICApCisKKyAgICAgICAgIyBjaGVjayBidWlsZGVyCisgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnVpbGRlci5wYWNrZXRfbnVtYmVyLCAxKQorCisgICAgZGVm
IHRlc3Rfc2hvcnRfaGVhZGVyX21heF90b3RhbF9ieXRlc18xKHNlbGYpOgorICAgICAgICAiIiIK
KyAgICAgICAgbWF4X3RvdGFsX2J5dGVzIGRvZXNuJ3QgYWxsb3cgYW55IHBhY2tldHMuCisgICAg
ICAgICIiIgorICAgICAgICBidWlsZGVyID0gY3JlYXRlX2J1aWxkZXIoKQorICAgICAgICBidWls
ZGVyLm1heF90b3RhbF9ieXRlcyA9IDExCisKKyAgICAgICAgY3J5cHRvID0gY3JlYXRlX2NyeXB0
bygpCisKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhRdWljUGFja2V0QnVpbGRlclN0
b3ApOgorICAgICAgICAgICAgYnVpbGRlci5zdGFydF9wYWNrZXQoUEFDS0VUX1RZUEVfT05FX1JU
VCwgY3J5cHRvKQorCisgICAgICAgICMgY2hlY2sgZGF0YWdyYW1zCisgICAgICAgIGRhdGFncmFt
cywgcGFja2V0cyA9IGJ1aWxkZXIuZmx1c2goKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRh
dGFncmFtcywgW10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocGFja2V0cywgW10pCisKKyAg
ICAgICAgIyBjaGVjayBidWlsZGVyCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnVpbGRlci5w
YWNrZXRfbnVtYmVyLCAwKQorCisgICAgZGVmIHRlc3Rfc2hvcnRfaGVhZGVyX21heF90b3RhbF9i
eXRlc18yKHNlbGYpOgorICAgICAgICAiIiIKKyAgICAgICAgbWF4X3RvdGFsX2J5dGVzIGFsbG93
cyBhIHNob3J0IHBhY2tldC4KKyAgICAgICAgIiIiCisgICAgICAgIGJ1aWxkZXIgPSBjcmVhdGVf
YnVpbGRlcigpCisgICAgICAgIGJ1aWxkZXIubWF4X3RvdGFsX2J5dGVzID0gODAwCisKKyAgICAg
ICAgY3J5cHRvID0gY3JlYXRlX2NyeXB0bygpCisKKyAgICAgICAgYnVpbGRlci5zdGFydF9wYWNr
ZXQoUEFDS0VUX1RZUEVfT05FX1JUVCwgY3J5cHRvKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KGJ1aWxkZXIucmVtYWluaW5nX2ZsaWdodF9zcGFjZSwgNzczKQorICAgICAgICBidWYgPSBidWls
ZGVyLnN0YXJ0X2ZyYW1lKFF1aWNGcmFtZVR5cGUuQ1JZUFRPKQorICAgICAgICBidWYucHVzaF9i
eXRlcyhieXRlcyhidWlsZGVyLnJlbWFpbmluZ19mbGlnaHRfc3BhY2UpKQorICAgICAgICBzZWxm
LmFzc2VydEZhbHNlKGJ1aWxkZXIucGFja2V0X2lzX2VtcHR5KQorCisgICAgICAgIHdpdGggc2Vs
Zi5hc3NlcnRSYWlzZXMoUXVpY1BhY2tldEJ1aWxkZXJTdG9wKToKKyAgICAgICAgICAgIGJ1aWxk
ZXIuc3RhcnRfcGFja2V0KFBBQ0tFVF9UWVBFX09ORV9SVFQsIGNyeXB0bykKKworICAgICAgICAj
IGNoZWNrIGRhdGFncmFtcworICAgICAgICBkYXRhZ3JhbXMsIHBhY2tldHMgPSBidWlsZGVyLmZs
dXNoKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oZGF0YWdyYW1zKSwgMSkKKyAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oZGF0YWdyYW1zWzBdKSwgODAwKQorICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKAorICAgICAgICAgICAgcGFja2V0cywKKyAgICAgICAgICAgIFsKKyAgICAg
ICAgICAgICAgICBRdWljU2VudFBhY2tldCgKKyAgICAgICAgICAgICAgICAgICAgZXBvY2g9RXBv
Y2guT05FX1JUVCwKKyAgICAgICAgICAgICAgICAgICAgaW5fZmxpZ2h0PVRydWUsCisgICAgICAg
ICAgICAgICAgICAgIGlzX2Fja19lbGljaXRpbmc9VHJ1ZSwKKyAgICAgICAgICAgICAgICAgICAg
aXNfY3J5cHRvX3BhY2tldD1UcnVlLAorICAgICAgICAgICAgICAgICAgICBwYWNrZXRfbnVtYmVy
PTAsCisgICAgICAgICAgICAgICAgICAgIHBhY2tldF90eXBlPVBBQ0tFVF9UWVBFX09ORV9SVFQs
CisgICAgICAgICAgICAgICAgICAgIHNlbnRfYnl0ZXM9ODAwLAorICAgICAgICAgICAgICAgICkK
KyAgICAgICAgICAgIF0sCisgICAgICAgICkKKworICAgICAgICAjIGNoZWNrIGJ1aWxkZXIKKyAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbChidWlsZGVyLnBhY2tldF9udW1iZXIsIDEpCisKKyAgICBk
ZWYgdGVzdF9zaG9ydF9oZWFkZXJfbWF4X3RvdGFsX2J5dGVzXzMoc2VsZik6CisgICAgICAgIGJ1
aWxkZXIgPSBjcmVhdGVfYnVpbGRlcigpCisgICAgICAgIGJ1aWxkZXIubWF4X3RvdGFsX2J5dGVz
ID0gMjAwMAorCisgICAgICAgIGNyeXB0byA9IGNyZWF0ZV9jcnlwdG8oKQorCisgICAgICAgIGJ1
aWxkZXIuc3RhcnRfcGFja2V0KFBBQ0tFVF9UWVBFX09ORV9SVFQsIGNyeXB0bykKKyAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChidWlsZGVyLnJlbWFpbmluZ19mbGlnaHRfc3BhY2UsIDEyNTMpCisg
ICAgICAgIGJ1ZiA9IGJ1aWxkZXIuc3RhcnRfZnJhbWUoUXVpY0ZyYW1lVHlwZS5DUllQVE8pCisg
ICAgICAgIGJ1Zi5wdXNoX2J5dGVzKGJ5dGVzKGJ1aWxkZXIucmVtYWluaW5nX2ZsaWdodF9zcGFj
ZSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoYnVpbGRlci5wYWNrZXRfaXNfZW1wdHkpCisK
KyAgICAgICAgYnVpbGRlci5zdGFydF9wYWNrZXQoUEFDS0VUX1RZUEVfT05FX1JUVCwgY3J5cHRv
KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ1aWxkZXIucmVtYWluaW5nX2ZsaWdodF9zcGFj
ZSwgNjkzKQorICAgICAgICBidWYgPSBidWlsZGVyLnN0YXJ0X2ZyYW1lKFF1aWNGcmFtZVR5cGUu
Q1JZUFRPKQorICAgICAgICBidWYucHVzaF9ieXRlcyhieXRlcyhidWlsZGVyLnJlbWFpbmluZ19m
bGlnaHRfc3BhY2UpKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGJ1aWxkZXIucGFja2V0X2lz
X2VtcHR5KQorCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoUXVpY1BhY2tldEJ1aWxk
ZXJTdG9wKToKKyAgICAgICAgICAgIGJ1aWxkZXIuc3RhcnRfcGFja2V0KFBBQ0tFVF9UWVBFX09O
RV9SVFQsIGNyeXB0bykKKworICAgICAgICAjIGNoZWNrIGRhdGFncmFtcworICAgICAgICBkYXRh
Z3JhbXMsIHBhY2tldHMgPSBidWlsZGVyLmZsdXNoKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChsZW4oZGF0YWdyYW1zKSwgMikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oZGF0YWdy
YW1zWzBdKSwgMTI4MCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oZGF0YWdyYW1zWzFd
KSwgNzIwKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgcGFja2V0cywK
KyAgICAgICAgICAgIFsKKyAgICAgICAgICAgICAgICBRdWljU2VudFBhY2tldCgKKyAgICAgICAg
ICAgICAgICAgICAgZXBvY2g9RXBvY2guT05FX1JUVCwKKyAgICAgICAgICAgICAgICAgICAgaW5f
ZmxpZ2h0PVRydWUsCisgICAgICAgICAgICAgICAgICAgIGlzX2Fja19lbGljaXRpbmc9VHJ1ZSwK
KyAgICAgICAgICAgICAgICAgICAgaXNfY3J5cHRvX3BhY2tldD1UcnVlLAorICAgICAgICAgICAg
ICAgICAgICBwYWNrZXRfbnVtYmVyPTAsCisgICAgICAgICAgICAgICAgICAgIHBhY2tldF90eXBl
PVBBQ0tFVF9UWVBFX09ORV9SVFQsCisgICAgICAgICAgICAgICAgICAgIHNlbnRfYnl0ZXM9MTI4
MCwKKyAgICAgICAgICAgICAgICApLAorICAgICAgICAgICAgICAgIFF1aWNTZW50UGFja2V0KAor
ICAgICAgICAgICAgICAgICAgICBlcG9jaD1FcG9jaC5PTkVfUlRULAorICAgICAgICAgICAgICAg
ICAgICBpbl9mbGlnaHQ9VHJ1ZSwKKyAgICAgICAgICAgICAgICAgICAgaXNfYWNrX2VsaWNpdGlu
Zz1UcnVlLAorICAgICAgICAgICAgICAgICAgICBpc19jcnlwdG9fcGFja2V0PVRydWUsCisgICAg
ICAgICAgICAgICAgICAgIHBhY2tldF9udW1iZXI9MSwKKyAgICAgICAgICAgICAgICAgICAgcGFj
a2V0X3R5cGU9UEFDS0VUX1RZUEVfT05FX1JUVCwKKyAgICAgICAgICAgICAgICAgICAgc2VudF9i
eXRlcz03MjAsCisgICAgICAgICAgICAgICAgKSwKKyAgICAgICAgICAgIF0sCisgICAgICAgICkK
KworICAgICAgICAjIGNoZWNrIGJ1aWxkZXIKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChidWls
ZGVyLnBhY2tldF9udW1iZXIsIDIpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvdGVzdHMvdGVz
dF9yYW5nZXNldC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy90ZXN0cy90ZXN0X3Jhbmdlc2V0LnB5Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjViNDA4YzhhYzZjNTIzNmQxMzYzNDhhZDI0YWJmOWZhNmQ4NTkzOGUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvdGVzdHMvdGVzdF9yYW5nZXNldC5weQpAQCAtMCwwICsx
LDIzNyBAQAorZnJvbSB1bml0dGVzdCBpbXBvcnQgVGVzdENhc2UKKworZnJvbSBhaW9xdWljLnF1
aWMucmFuZ2VzZXQgaW1wb3J0IFJhbmdlU2V0CisKKworY2xhc3MgUmFuZ2VTZXRUZXN0KFRlc3RD
YXNlKToKKyAgICBkZWYgdGVzdF9hZGRfc2luZ2xlX2R1cGxpY2F0ZShzZWxmKToKKyAgICAgICAg
cmFuZ2VzZXQgPSBSYW5nZVNldCgpCisKKyAgICAgICAgcmFuZ2VzZXQuYWRkKDApCisgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwobGlzdChyYW5nZXNldCksIFtyYW5nZSgwLCAxKV0pCisKKyAgICAg
ICAgcmFuZ2VzZXQuYWRkKDApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGlzdChyYW5nZXNl
dCksIFtyYW5nZSgwLCAxKV0pCisKKyAgICBkZWYgdGVzdF9hZGRfc2luZ2xlX29yZGVyZWQoc2Vs
Zik6CisgICAgICAgIHJhbmdlc2V0ID0gUmFuZ2VTZXQoKQorCisgICAgICAgIHJhbmdlc2V0LmFk
ZCgwKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpc3QocmFuZ2VzZXQpLCBbcmFuZ2UoMCwg
MSldKQorCisgICAgICAgIHJhbmdlc2V0LmFkZCgxKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KGxpc3QocmFuZ2VzZXQpLCBbcmFuZ2UoMCwgMildKQorCisgICAgICAgIHJhbmdlc2V0LmFkZCgy
KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpc3QocmFuZ2VzZXQpLCBbcmFuZ2UoMCwgMyld
KQorCisgICAgZGVmIHRlc3RfYWRkX3NpbmdsZV9tZXJnZShzZWxmKToKKyAgICAgICAgcmFuZ2Vz
ZXQgPSBSYW5nZVNldCgpCisKKyAgICAgICAgcmFuZ2VzZXQuYWRkKDApCisgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwobGlzdChyYW5nZXNldCksIFtyYW5nZSgwLCAxKV0pCisKKyAgICAgICAgcmFu
Z2VzZXQuYWRkKDIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGlzdChyYW5nZXNldCksIFty
YW5nZSgwLCAxKSwgcmFuZ2UoMiwgMyldKQorCisgICAgICAgIHJhbmdlc2V0LmFkZCgxKQorICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKGxpc3QocmFuZ2VzZXQpLCBbcmFuZ2UoMCwgMyldKQorCisg
ICAgZGVmIHRlc3RfYWRkX3NpbmdsZV9yZXZlcnNlKHNlbGYpOgorICAgICAgICByYW5nZXNldCA9
IFJhbmdlU2V0KCkKKworICAgICAgICByYW5nZXNldC5hZGQoMikKKyAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChsaXN0KHJhbmdlc2V0KSwgW3JhbmdlKDIsIDMpXSkKKworICAgICAgICByYW5nZXNl
dC5hZGQoMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaXN0KHJhbmdlc2V0KSwgW3Jhbmdl
KDEsIDMpXSkKKworICAgICAgICByYW5nZXNldC5hZGQoMCkKKyAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbChsaXN0KHJhbmdlc2V0KSwgW3JhbmdlKDAsIDMpXSkKKworICAgIGRlZiB0ZXN0X2FkZF9y
YW5nZV9vcmRlcmVkKHNlbGYpOgorICAgICAgICByYW5nZXNldCA9IFJhbmdlU2V0KCkKKworICAg
ICAgICByYW5nZXNldC5hZGQoMCwgMikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaXN0KHJh
bmdlc2V0KSwgW3JhbmdlKDAsIDIpXSkKKworICAgICAgICByYW5nZXNldC5hZGQoMiwgNCkKKyAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaXN0KHJhbmdlc2V0KSwgW3JhbmdlKDAsIDQpXSkKKwor
ICAgICAgICByYW5nZXNldC5hZGQoNCwgNikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaXN0
KHJhbmdlc2V0KSwgW3JhbmdlKDAsIDYpXSkKKworICAgIGRlZiB0ZXN0X2FkZF9yYW5nZV9tZXJn
ZShzZWxmKToKKyAgICAgICAgcmFuZ2VzZXQgPSBSYW5nZVNldCgpCisKKyAgICAgICAgcmFuZ2Vz
ZXQuYWRkKDAsIDIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGlzdChyYW5nZXNldCksIFty
YW5nZSgwLCAyKV0pCisKKyAgICAgICAgcmFuZ2VzZXQuYWRkKDMsIDUpCisgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwobGlzdChyYW5nZXNldCksIFtyYW5nZSgwLCAyKSwgcmFuZ2UoMywgNSldKQor
CisgICAgICAgIHJhbmdlc2V0LmFkZCgyLCAzKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxp
c3QocmFuZ2VzZXQpLCBbcmFuZ2UoMCwgNSldKQorCisgICAgZGVmIHRlc3RfYWRkX3JhbmdlX292
ZXJsYXAoc2VsZik6CisgICAgICAgIHJhbmdlc2V0ID0gUmFuZ2VTZXQoKQorCisgICAgICAgIHJh
bmdlc2V0LmFkZCgwLCAyKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpc3QocmFuZ2VzZXQp
LCBbcmFuZ2UoMCwgMildKQorCisgICAgICAgIHJhbmdlc2V0LmFkZCgzLCA1KQorICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKGxpc3QocmFuZ2VzZXQpLCBbcmFuZ2UoMCwgMiksIHJhbmdlKDMsIDUp
XSkKKworICAgICAgICByYW5nZXNldC5hZGQoMSwgNSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChsaXN0KHJhbmdlc2V0KSwgW3JhbmdlKDAsIDUpXSkKKworICAgIGRlZiB0ZXN0X2FkZF9yYW5n
ZV9vdmVybGFwXzIoc2VsZik6CisgICAgICAgIHJhbmdlc2V0ID0gUmFuZ2VTZXQoKQorCisgICAg
ICAgIHJhbmdlc2V0LmFkZCgyLCA0KQorICAgICAgICByYW5nZXNldC5hZGQoNiwgOCkKKyAgICAg
ICAgcmFuZ2VzZXQuYWRkKDEwLCAxMikKKyAgICAgICAgcmFuZ2VzZXQuYWRkKDE2LCAxOCkKKyAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIGxpc3QocmFuZ2VzZXQpLCBbcmFu
Z2UoMiwgNCksIHJhbmdlKDYsIDgpLCByYW5nZSgxMCwgMTIpLCByYW5nZSgxNiwgMTgpXQorICAg
ICAgICApCisKKyAgICAgICAgcmFuZ2VzZXQuYWRkKDEsIDE1KQorICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKGxpc3QocmFuZ2VzZXQpLCBbcmFuZ2UoMSwgMTUpLCByYW5nZSgxNiwgMTgpXSkKKwor
ICAgIGRlZiB0ZXN0X2FkZF9yYW5nZV9yZXZlcnNlKHNlbGYpOgorICAgICAgICByYW5nZXNldCA9
IFJhbmdlU2V0KCkKKworICAgICAgICByYW5nZXNldC5hZGQoNiwgOCkKKyAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbChsaXN0KHJhbmdlc2V0KSwgW3JhbmdlKDYsIDgpXSkKKworICAgICAgICByYW5n
ZXNldC5hZGQoMywgNSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaXN0KHJhbmdlc2V0KSwg
W3JhbmdlKDMsIDUpLCByYW5nZSg2LCA4KV0pCisKKyAgICAgICAgcmFuZ2VzZXQuYWRkKDAsIDIp
CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGlzdChyYW5nZXNldCksIFtyYW5nZSgwLCAyKSwg
cmFuZ2UoMywgNSksIHJhbmdlKDYsIDgpXSkKKworICAgIGRlZiB0ZXN0X2FkZF9yYW5nZV91bm9y
ZGVyZWRfY29udGlndW91cyhzZWxmKToKKyAgICAgICAgcmFuZ2VzZXQgPSBSYW5nZVNldCgpCisK
KyAgICAgICAgcmFuZ2VzZXQuYWRkKDAsIDIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGlz
dChyYW5nZXNldCksIFtyYW5nZSgwLCAyKV0pCisKKyAgICAgICAgcmFuZ2VzZXQuYWRkKDQsIDYp
CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGlzdChyYW5nZXNldCksIFtyYW5nZSgwLCAyKSwg
cmFuZ2UoNCwgNildKQorCisgICAgICAgIHJhbmdlc2V0LmFkZCgyLCA0KQorICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKGxpc3QocmFuZ2VzZXQpLCBbcmFuZ2UoMCwgNildKQorCisgICAgZGVmIHRl
c3RfYWRkX3JhbmdlX3Vub3JkZXJlZF9zcGFyc2Uoc2VsZik6CisgICAgICAgIHJhbmdlc2V0ID0g
UmFuZ2VTZXQoKQorCisgICAgICAgIHJhbmdlc2V0LmFkZCgwLCAyKQorICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKGxpc3QocmFuZ2VzZXQpLCBbcmFuZ2UoMCwgMildKQorCisgICAgICAgIHJhbmdl
c2V0LmFkZCg2LCA4KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpc3QocmFuZ2VzZXQpLCBb
cmFuZ2UoMCwgMiksIHJhbmdlKDYsIDgpXSkKKworICAgICAgICByYW5nZXNldC5hZGQoMywgNSkK
KyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaXN0KHJhbmdlc2V0KSwgW3JhbmdlKDAsIDIpLCBy
YW5nZSgzLCA1KSwgcmFuZ2UoNiwgOCldKQorCisgICAgZGVmIHRlc3Rfc3VidHJhY3Qoc2VsZik6
CisgICAgICAgIHJhbmdlc2V0ID0gUmFuZ2VTZXQoKQorICAgICAgICByYW5nZXNldC5hZGQoMCwg
MTApCisgICAgICAgIHJhbmdlc2V0LmFkZCgyMCwgMzApCisKKyAgICAgICAgcmFuZ2VzZXQuc3Vi
dHJhY3QoMCwgMykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaXN0KHJhbmdlc2V0KSwgW3Jh
bmdlKDMsIDEwKSwgcmFuZ2UoMjAsIDMwKV0pCisKKyAgICBkZWYgdGVzdF9zdWJ0cmFjdF9ub19j
aGFuZ2Uoc2VsZik6CisgICAgICAgIHJhbmdlc2V0ID0gUmFuZ2VTZXQoKQorICAgICAgICByYW5n
ZXNldC5hZGQoNSwgMTApCisgICAgICAgIHJhbmdlc2V0LmFkZCgxNSwgMjApCisgICAgICAgIHJh
bmdlc2V0LmFkZCgyNSwgMzApCisKKyAgICAgICAgcmFuZ2VzZXQuc3VidHJhY3QoMCwgNSkKKyAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaXN0KHJhbmdlc2V0KSwgW3JhbmdlKDUsIDEwKSwgcmFu
Z2UoMTUsIDIwKSwgcmFuZ2UoMjUsIDMwKV0pCisKKyAgICAgICAgcmFuZ2VzZXQuc3VidHJhY3Qo
MTAsIDE1KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpc3QocmFuZ2VzZXQpLCBbcmFuZ2Uo
NSwgMTApLCByYW5nZSgxNSwgMjApLCByYW5nZSgyNSwgMzApXSkKKworICAgIGRlZiB0ZXN0X3N1
YnRyYWN0X292ZXJsYXAoc2VsZik6CisgICAgICAgIHJhbmdlc2V0ID0gUmFuZ2VTZXQoKQorICAg
ICAgICByYW5nZXNldC5hZGQoMSwgNCkKKyAgICAgICAgcmFuZ2VzZXQuYWRkKDYsIDgpCisgICAg
ICAgIHJhbmdlc2V0LmFkZCgxMCwgMjApCisgICAgICAgIHJhbmdlc2V0LmFkZCgzMCwgNDApCisg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBsaXN0KHJhbmdlc2V0KSwgW3Jh
bmdlKDEsIDQpLCByYW5nZSg2LCA4KSwgcmFuZ2UoMTAsIDIwKSwgcmFuZ2UoMzAsIDQwKV0KKyAg
ICAgICAgKQorCisgICAgICAgIHJhbmdlc2V0LnN1YnRyYWN0KDAsIDIpCisgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBsaXN0KHJhbmdlc2V0KSwgW3JhbmdlKDIsIDQpLCBy
YW5nZSg2LCA4KSwgcmFuZ2UoMTAsIDIwKSwgcmFuZ2UoMzAsIDQwKV0KKyAgICAgICAgKQorCisg
ICAgICAgIHJhbmdlc2V0LnN1YnRyYWN0KDMsIDExKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KGxpc3QocmFuZ2VzZXQpLCBbcmFuZ2UoMiwgMyksIHJhbmdlKDExLCAyMCksIHJhbmdlKDMwLCA0
MCldKQorCisgICAgZGVmIHRlc3Rfc3VidHJhY3Rfc3BsaXQoc2VsZik6CisgICAgICAgIHJhbmdl
c2V0ID0gUmFuZ2VTZXQoKQorICAgICAgICByYW5nZXNldC5hZGQoMCwgMTApCisgICAgICAgIHJh
bmdlc2V0LnN1YnRyYWN0KDIsIDUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGlzdChyYW5n
ZXNldCksIFtyYW5nZSgwLCAyKSwgcmFuZ2UoNSwgMTApXSkKKworICAgIGRlZiB0ZXN0X2Jvb2wo
c2VsZik6CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoTm90SW1wbGVtZW50ZWRFcnJv
cik6CisgICAgICAgICAgICBib29sKFJhbmdlU2V0KCkpCisKKyAgICBkZWYgdGVzdF9jb250YWlu
cyhzZWxmKToKKyAgICAgICAgcmFuZ2VzZXQgPSBSYW5nZVNldCgpCisgICAgICAgIHNlbGYuYXNz
ZXJ0RmFsc2UoMCBpbiByYW5nZXNldCkKKworICAgICAgICByYW5nZXNldCA9IFJhbmdlU2V0KFty
YW5nZSgwLCAxKV0pCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSgwIGluIHJhbmdlc2V0KQorICAg
ICAgICBzZWxmLmFzc2VydEZhbHNlKDEgaW4gcmFuZ2VzZXQpCisKKyAgICAgICAgcmFuZ2VzZXQg
PSBSYW5nZVNldChbcmFuZ2UoMCwgMSksIHJhbmdlKDMsIDYpXSkKKyAgICAgICAgc2VsZi5hc3Nl
cnRUcnVlKDAgaW4gcmFuZ2VzZXQpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoMSBpbiByYW5n
ZXNldCkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZSgyIGluIHJhbmdlc2V0KQorICAgICAgICBz
ZWxmLmFzc2VydFRydWUoMyBpbiByYW5nZXNldCkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKDQg
aW4gcmFuZ2VzZXQpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSg1IGluIHJhbmdlc2V0KQorICAg
ICAgICBzZWxmLmFzc2VydEZhbHNlKDYgaW4gcmFuZ2VzZXQpCisKKyAgICBkZWYgdGVzdF9lcShz
ZWxmKToKKyAgICAgICAgcjAgPSBSYW5nZVNldChbcmFuZ2UoMCwgMSldKQorICAgICAgICByMSA9
IFJhbmdlU2V0KFtyYW5nZSgxLCAyKSwgcmFuZ2UoMywgNCldKQorICAgICAgICByMiA9IFJhbmdl
U2V0KFtyYW5nZSgzLCA0KSwgcmFuZ2UoMSwgMildKQorCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1
ZShyMCA9PSByMCkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShyMCA9PSByMSkKKyAgICAgICAg
c2VsZi5hc3NlcnRGYWxzZShyMCA9PSAwKQorCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyMSA9
PSByMSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShyMSA9PSByMCkKKyAgICAgICAgc2VsZi5h
c3NlcnRUcnVlKHIxID09IHIyKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHIxID09IDApCisK
KyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHIyID09IHIyKQorICAgICAgICBzZWxmLmFzc2VydFRy
dWUocjIgPT0gcjEpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UocjIgPT0gcjApCisgICAgICAg
IHNlbGYuYXNzZXJ0RmFsc2UocjIgPT0gMCkKKworICAgIGRlZiB0ZXN0X2xlbihzZWxmKToKKyAg
ICAgICAgcmFuZ2VzZXQgPSBSYW5nZVNldCgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVu
KHJhbmdlc2V0KSwgMCkKKworICAgICAgICByYW5nZXNldCA9IFJhbmdlU2V0KFtyYW5nZSgwLCAx
KV0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHJhbmdlc2V0KSwgMSkKKworICAgIGRl
ZiB0ZXN0X3BvcChzZWxmKToKKyAgICAgICAgcmFuZ2VzZXQgPSBSYW5nZVNldChbcmFuZ2UoMSwg
MiksIHJhbmdlKDMsIDQpXSkKKyAgICAgICAgciA9IHJhbmdlc2V0LnNoaWZ0KCkKKyAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChyLCByYW5nZSgxLCAyKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChsaXN0KHJhbmdlc2V0KSwgW3JhbmdlKDMsIDQpXSkKKworICAgIGRlZiB0ZXN0X3JlcHIoc2Vs
Zik6CisgICAgICAgIHJhbmdlc2V0ID0gUmFuZ2VTZXQoW3JhbmdlKDEsIDIpLCByYW5nZSgzLCA0
KV0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVwcihyYW5nZXNldCksICJSYW5nZVNldChb
cmFuZ2UoMSwgMiksIHJhbmdlKDMsIDQpXSkiKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3Rl
c3RzL3Rlc3RfcmVjb3ZlcnkucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvdGVzdHMvdGVzdF9yZWNvdmVyeS5w
eQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5jMzEzZjhmYzhhNGM0MGZiNjQzMTE0NGI4YzBmYmJkYjdhODBiYTUxCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3Rlc3RzL3Rlc3RfcmVjb3ZlcnkucHkKQEAg
LTAsMCArMSwyMjcgQEAKK2ltcG9ydCBtYXRoCitmcm9tIHVuaXR0ZXN0IGltcG9ydCBUZXN0Q2Fz
ZQorCitmcm9tIGFpb3F1aWMgaW1wb3J0IHRscworZnJvbSBhaW9xdWljLnF1aWMucGFja2V0IGlt
cG9ydCBQQUNLRVRfVFlQRV9JTklUSUFMLCBQQUNLRVRfVFlQRV9PTkVfUlRUCitmcm9tIGFpb3F1
aWMucXVpYy5wYWNrZXRfYnVpbGRlciBpbXBvcnQgUXVpY1NlbnRQYWNrZXQKK2Zyb20gYWlvcXVp
Yy5xdWljLnJhbmdlc2V0IGltcG9ydCBSYW5nZVNldAorZnJvbSBhaW9xdWljLnF1aWMucmVjb3Zl
cnkgaW1wb3J0ICgKKyAgICBRdWljUGFja2V0UGFjZXIsCisgICAgUXVpY1BhY2tldFJlY292ZXJ5
LAorICAgIFF1aWNQYWNrZXRTcGFjZSwKKyAgICBRdWljUnR0TW9uaXRvciwKKykKKworCitkZWYg
c2VuZF9wcm9iZSgpOgorICAgIHBhc3MKKworCitjbGFzcyBRdWljUGFja2V0UGFjZXJUZXN0KFRl
c3RDYXNlKToKKyAgICBkZWYgc2V0VXAoc2VsZik6CisgICAgICAgIHNlbGYucGFjZXIgPSBRdWlj
UGFja2V0UGFjZXIoKQorCisgICAgZGVmIHRlc3Rfbm9fbWVhc3VyZW1lbnQoc2VsZik6CisgICAg
ICAgIHNlbGYuYXNzZXJ0SXNOb25lKHNlbGYucGFjZXIubmV4dF9zZW5kX3RpbWUobm93PTAuMCkp
CisgICAgICAgIHNlbGYucGFjZXIudXBkYXRlX2FmdGVyX3NlbmQobm93PTAuMCkKKworICAgICAg
ICBzZWxmLmFzc2VydElzTm9uZShzZWxmLnBhY2VyLm5leHRfc2VuZF90aW1lKG5vdz0wLjApKQor
ICAgICAgICBzZWxmLnBhY2VyLnVwZGF0ZV9hZnRlcl9zZW5kKG5vdz0wLjApCisKKyAgICBkZWYg
dGVzdF93aXRoX21lYXN1cmVtZW50KHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShz
ZWxmLnBhY2VyLm5leHRfc2VuZF90aW1lKG5vdz0wLjApKQorICAgICAgICBzZWxmLnBhY2VyLnVw
ZGF0ZV9hZnRlcl9zZW5kKG5vdz0wLjApCisKKyAgICAgICAgc2VsZi5wYWNlci51cGRhdGVfcmF0
ZShjb25nZXN0aW9uX3dpbmRvdz0xMjgwMDAwLCBzbW9vdGhlZF9ydHQ9MC4wNSkKKyAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChzZWxmLnBhY2VyLmJ1Y2tldF9tYXgsIDAuMDAwOCkKKyAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChzZWxmLnBhY2VyLmJ1Y2tldF90aW1lLCAwLjApCisgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwoc2VsZi5wYWNlci5wYWNrZXRfdGltZSwgMC4wMDAwNSkKKworICAgICAg
ICAjIDE2IHBhY2tldHMKKyAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMTYpOgorICAgICAgICAgICAg
c2VsZi5hc3NlcnRJc05vbmUoc2VsZi5wYWNlci5uZXh0X3NlbmRfdGltZShub3c9MS4wKSkKKyAg
ICAgICAgICAgIHNlbGYucGFjZXIudXBkYXRlX2FmdGVyX3NlbmQobm93PTEuMCkKKyAgICAgICAg
c2VsZi5hc3NlcnRBbG1vc3RFcXVhbChzZWxmLnBhY2VyLm5leHRfc2VuZF90aW1lKG5vdz0xLjAp
LCAxLjAwMDA1KQorCisgICAgICAgICMgMiBwYWNrZXRzCisgICAgICAgIGZvciBpIGluIHJhbmdl
KDIpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoc2VsZi5wYWNlci5uZXh0X3NlbmRf
dGltZShub3c9MS4wMDAwNSkpCisgICAgICAgICAgICBzZWxmLnBhY2VyLnVwZGF0ZV9hZnRlcl9z
ZW5kKG5vdz0xLjAwMDA1KQorICAgICAgICBzZWxmLmFzc2VydEFsbW9zdEVxdWFsKHNlbGYucGFj
ZXIubmV4dF9zZW5kX3RpbWUobm93PTEuMDAwMDUpLCAxLjAwMDEpCisKKyAgICAgICAgIyAxIHBh
Y2tldAorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShzZWxmLnBhY2VyLm5leHRfc2VuZF90aW1l
KG5vdz0xLjAwMDEpKQorICAgICAgICBzZWxmLnBhY2VyLnVwZGF0ZV9hZnRlcl9zZW5kKG5vdz0x
LjAwMDEpCisgICAgICAgIHNlbGYuYXNzZXJ0QWxtb3N0RXF1YWwoc2VsZi5wYWNlci5uZXh0X3Nl
bmRfdGltZShub3c9MS4wMDAxKSwgMS4wMDAxNSkKKworICAgICAgICAjIDIgcGFja2V0cworICAg
ICAgICBmb3IgaSBpbiByYW5nZSgyKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKHNl
bGYucGFjZXIubmV4dF9zZW5kX3RpbWUobm93PTEuMDAwMTUpKQorICAgICAgICAgICAgc2VsZi5w
YWNlci51cGRhdGVfYWZ0ZXJfc2VuZChub3c9MS4wMDAxNSkKKyAgICAgICAgc2VsZi5hc3NlcnRB
bG1vc3RFcXVhbChzZWxmLnBhY2VyLm5leHRfc2VuZF90aW1lKG5vdz0xLjAwMDE1KSwgMS4wMDAy
KQorCisKK2NsYXNzIFF1aWNQYWNrZXRSZWNvdmVyeVRlc3QoVGVzdENhc2UpOgorICAgIGRlZiBz
ZXRVcChzZWxmKToKKyAgICAgICAgc2VsZi5JTklUSUFMX1NQQUNFID0gUXVpY1BhY2tldFNwYWNl
KCkKKyAgICAgICAgc2VsZi5IQU5EU0hBS0VfU1BBQ0UgPSBRdWljUGFja2V0U3BhY2UoKQorICAg
ICAgICBzZWxmLk9ORV9SVFRfU1BBQ0UgPSBRdWljUGFja2V0U3BhY2UoKQorCisgICAgICAgIHNl
bGYucmVjb3ZlcnkgPSBRdWljUGFja2V0UmVjb3ZlcnkoCisgICAgICAgICAgICBpc19jbGllbnRf
d2l0aG91dF8xcnR0PUZhbHNlLCBzZW5kX3Byb2JlPXNlbmRfcHJvYmUKKyAgICAgICAgKQorICAg
ICAgICBzZWxmLnJlY292ZXJ5LnNwYWNlcyA9IFsKKyAgICAgICAgICAgIHNlbGYuSU5JVElBTF9T
UEFDRSwKKyAgICAgICAgICAgIHNlbGYuSEFORFNIQUtFX1NQQUNFLAorICAgICAgICAgICAgc2Vs
Zi5PTkVfUlRUX1NQQUNFLAorICAgICAgICBdCisKKyAgICBkZWYgdGVzdF9kaXNjYXJkX3NwYWNl
KHNlbGYpOgorICAgICAgICBzZWxmLnJlY292ZXJ5LmRpc2NhcmRfc3BhY2Uoc2VsZi5JTklUSUFM
X1NQQUNFKQorCisgICAgZGVmIHRlc3Rfb25fYWNrX3JlY2VpdmVkX2Fja19lbGljaXRpbmcoc2Vs
Zik6CisgICAgICAgIHBhY2tldCA9IFF1aWNTZW50UGFja2V0KAorICAgICAgICAgICAgZXBvY2g9
dGxzLkVwb2NoLk9ORV9SVFQsCisgICAgICAgICAgICBpbl9mbGlnaHQ9VHJ1ZSwKKyAgICAgICAg
ICAgIGlzX2Fja19lbGljaXRpbmc9VHJ1ZSwKKyAgICAgICAgICAgIGlzX2NyeXB0b19wYWNrZXQ9
RmFsc2UsCisgICAgICAgICAgICBwYWNrZXRfbnVtYmVyPTAsCisgICAgICAgICAgICBwYWNrZXRf
dHlwZT1QQUNLRVRfVFlQRV9PTkVfUlRULAorICAgICAgICAgICAgc2VudF9ieXRlcz0xMjgwLAor
ICAgICAgICAgICAgc2VudF90aW1lPTAuMCwKKyAgICAgICAgKQorICAgICAgICBzcGFjZSA9IHNl
bGYuT05FX1JUVF9TUEFDRQorCisgICAgICAgICMgwqBwYWNrZXQgc2VudAorICAgICAgICBzZWxm
LnJlY292ZXJ5Lm9uX3BhY2tldF9zZW50KHBhY2tldCwgc3BhY2UpCisgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoc2VsZi5yZWNvdmVyeS5ieXRlc19pbl9mbGlnaHQsIDEyODApCisgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwoc3BhY2UuYWNrX2VsaWNpdGluZ19pbl9mbGlnaHQsIDEpCisgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwobGVuKHNwYWNlLnNlbnRfcGFja2V0cyksIDEpCisKKyAgICAgICAg
IyBwYWNrZXQgYWNrJ2QKKyAgICAgICAgc2VsZi5yZWNvdmVyeS5vbl9hY2tfcmVjZWl2ZWQoCisg
ICAgICAgICAgICBzcGFjZSwgYWNrX3Jhbmdlc2V0PVJhbmdlU2V0KFtyYW5nZSgwLCAxKV0pLCBh
Y2tfZGVsYXk9MC4wLCBub3c9MTAuMAorICAgICAgICApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWwoc2VsZi5yZWNvdmVyeS5ieXRlc19pbl9mbGlnaHQsIDApCisgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwoc3BhY2UuYWNrX2VsaWNpdGluZ19pbl9mbGlnaHQsIDApCisgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwobGVuKHNwYWNlLnNlbnRfcGFja2V0cyksIDApCisKKyAgICAgICAgIyBjaGVjayBS
VFQKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNlbGYucmVjb3ZlcnkuX3J0dF9pbml0aWFsaXpl
ZCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLnJlY292ZXJ5Ll9ydHRfbGF0ZXN0LCAx
MC4wKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYucmVjb3ZlcnkuX3J0dF9taW4sIDEw
LjApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5yZWNvdmVyeS5fcnR0X3Ntb290aGVk
LCAxMC4wKQorCisgICAgZGVmIHRlc3Rfb25fYWNrX3JlY2VpdmVkX25vbl9hY2tfZWxpY2l0aW5n
KHNlbGYpOgorICAgICAgICBwYWNrZXQgPSBRdWljU2VudFBhY2tldCgKKyAgICAgICAgICAgIGVw
b2NoPXRscy5FcG9jaC5PTkVfUlRULAorICAgICAgICAgICAgaW5fZmxpZ2h0PVRydWUsCisgICAg
ICAgICAgICBpc19hY2tfZWxpY2l0aW5nPUZhbHNlLAorICAgICAgICAgICAgaXNfY3J5cHRvX3Bh
Y2tldD1GYWxzZSwKKyAgICAgICAgICAgIHBhY2tldF9udW1iZXI9MCwKKyAgICAgICAgICAgIHBh
Y2tldF90eXBlPVBBQ0tFVF9UWVBFX09ORV9SVFQsCisgICAgICAgICAgICBzZW50X2J5dGVzPTEy
ODAsCisgICAgICAgICAgICBzZW50X3RpbWU9MTIzLjQ1LAorICAgICAgICApCisgICAgICAgIHNw
YWNlID0gc2VsZi5PTkVfUlRUX1NQQUNFCisKKyAgICAgICAgIyDCoHBhY2tldCBzZW50CisgICAg
ICAgIHNlbGYucmVjb3Zlcnkub25fcGFja2V0X3NlbnQocGFja2V0LCBzcGFjZSkKKyAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChzZWxmLnJlY292ZXJ5LmJ5dGVzX2luX2ZsaWdodCwgMTI4MCkKKyAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbChzcGFjZS5hY2tfZWxpY2l0aW5nX2luX2ZsaWdodCwgMCkK
KyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oc3BhY2Uuc2VudF9wYWNrZXRzKSwgMSkKKwor
ICAgICAgICAjIHBhY2tldCBhY2snZAorICAgICAgICBzZWxmLnJlY292ZXJ5Lm9uX2Fja19yZWNl
aXZlZCgKKyAgICAgICAgICAgIHNwYWNlLCBhY2tfcmFuZ2VzZXQ9UmFuZ2VTZXQoW3JhbmdlKDAs
IDEpXSksIGFja19kZWxheT0wLjAsIG5vdz0xMC4wCisgICAgICAgICkKKyAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbChzZWxmLnJlY292ZXJ5LmJ5dGVzX2luX2ZsaWdodCwgMCkKKyAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChzcGFjZS5hY2tfZWxpY2l0aW5nX2luX2ZsaWdodCwgMCkKKyAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChsZW4oc3BhY2Uuc2VudF9wYWNrZXRzKSwgMCkKKworICAgICAgICAj
IGNoZWNrIFJUVAorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHNlbGYucmVjb3ZlcnkuX3J0dF9p
bml0aWFsaXplZCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLnJlY292ZXJ5Ll9ydHRf
bGF0ZXN0LCAwLjApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5yZWNvdmVyeS5fcnR0
X21pbiwgbWF0aC5pbmYpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5yZWNvdmVyeS5f
cnR0X3Ntb290aGVkLCAwLjApCisKKyAgICBkZWYgdGVzdF9vbl9wYWNrZXRfbG9zdF9jcnlwdG8o
c2VsZik6CisgICAgICAgIHBhY2tldCA9IFF1aWNTZW50UGFja2V0KAorICAgICAgICAgICAgZXBv
Y2g9dGxzLkVwb2NoLklOSVRJQUwsCisgICAgICAgICAgICBpbl9mbGlnaHQ9VHJ1ZSwKKyAgICAg
ICAgICAgIGlzX2Fja19lbGljaXRpbmc9VHJ1ZSwKKyAgICAgICAgICAgIGlzX2NyeXB0b19wYWNr
ZXQ9VHJ1ZSwKKyAgICAgICAgICAgIHBhY2tldF9udW1iZXI9MCwKKyAgICAgICAgICAgIHBhY2tl
dF90eXBlPVBBQ0tFVF9UWVBFX0lOSVRJQUwsCisgICAgICAgICAgICBzZW50X2J5dGVzPTEyODAs
CisgICAgICAgICAgICBzZW50X3RpbWU9MC4wLAorICAgICAgICApCisgICAgICAgIHNwYWNlID0g
c2VsZi5JTklUSUFMX1NQQUNFCisKKyAgICAgICAgc2VsZi5yZWNvdmVyeS5vbl9wYWNrZXRfc2Vu
dChwYWNrZXQsIHNwYWNlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYucmVjb3Zlcnku
Ynl0ZXNfaW5fZmxpZ2h0LCAxMjgwKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNwYWNlLmFj
a19lbGljaXRpbmdfaW5fZmxpZ2h0LCAxKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihz
cGFjZS5zZW50X3BhY2tldHMpLCAxKQorCisgICAgICAgIHNlbGYucmVjb3ZlcnkuX2RldGVjdF9s
b3NzKHNwYWNlLCBub3c9MS4wKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYucmVjb3Zl
cnkuYnl0ZXNfaW5fZmxpZ2h0LCAwKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNwYWNlLmFj
a19lbGljaXRpbmdfaW5fZmxpZ2h0LCAwKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihz
cGFjZS5zZW50X3BhY2tldHMpLCAwKQorCisKK2NsYXNzIFF1aWNSdHRNb25pdG9yVGVzdChUZXN0
Q2FzZSk6CisgICAgZGVmIHRlc3RfbW9uaXRvcihzZWxmKToKKyAgICAgICAgbW9uaXRvciA9IFF1
aWNSdHRNb25pdG9yKCkKKworICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG1vbml0b3IuaXNfcnR0
X2luY3JlYXNpbmcocnR0PTEwLCBub3c9MTAwMCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
bW9uaXRvci5fc2FtcGxlcywgWzEwLCAwLjAsIDAuMCwgMC4wLCAwLjBdKQorICAgICAgICBzZWxm
LmFzc2VydEZhbHNlKG1vbml0b3IuX3JlYWR5KQorCisgICAgICAgICMgbm90IHRha2VuIGludG8g
YWNjb3VudAorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG1vbml0b3IuaXNfcnR0X2luY3JlYXNp
bmcocnR0PTExLCBub3c9MTAwMCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9uaXRvci5f
c2FtcGxlcywgWzEwLCAwLjAsIDAuMCwgMC4wLCAwLjBdKQorICAgICAgICBzZWxmLmFzc2VydEZh
bHNlKG1vbml0b3IuX3JlYWR5KQorCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UobW9uaXRvci5p
c19ydHRfaW5jcmVhc2luZyhydHQ9MTEsIG5vdz0xMDAxKSkKKyAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbChtb25pdG9yLl9zYW1wbGVzLCBbMTAsIDExLCAwLjAsIDAuMCwgMC4wXSkKKyAgICAgICAg
c2VsZi5hc3NlcnRGYWxzZShtb25pdG9yLl9yZWFkeSkKKworICAgICAgICBzZWxmLmFzc2VydEZh
bHNlKG1vbml0b3IuaXNfcnR0X2luY3JlYXNpbmcocnR0PTEyLCBub3c9MTAwMikpCisgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwobW9uaXRvci5fc2FtcGxlcywgWzEwLCAxMSwgMTIsIDAuMCwgMC4w
XSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShtb25pdG9yLl9yZWFkeSkKKworICAgICAgICBz
ZWxmLmFzc2VydEZhbHNlKG1vbml0b3IuaXNfcnR0X2luY3JlYXNpbmcocnR0PTEzLCBub3c9MTAw
MykpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9uaXRvci5fc2FtcGxlcywgWzEwLCAxMSwg
MTIsIDEzLCAwLjBdKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG1vbml0b3IuX3JlYWR5KQor
CisgICAgICAgICMgd2Ugbm93IGhhdmUgZW5vdWdoIHNhbXBsZXMKKyAgICAgICAgc2VsZi5hc3Nl
cnRGYWxzZShtb25pdG9yLmlzX3J0dF9pbmNyZWFzaW5nKHJ0dD0xNCwgbm93PTEwMDQpKQorICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKG1vbml0b3IuX3NhbXBsZXMsIFsxMCwgMTEsIDEyLCAxMywg
MTRdKQorICAgICAgICBzZWxmLmFzc2VydFRydWUobW9uaXRvci5fcmVhZHkpCisKKyAgICAgICAg
c2VsZi5hc3NlcnRGYWxzZShtb25pdG9yLmlzX3J0dF9pbmNyZWFzaW5nKHJ0dD0yMCwgbm93PTEw
MDUpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vbml0b3IuX2luY3JlYXNlcywgMCkKKwor
ICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG1vbml0b3IuaXNfcnR0X2luY3JlYXNpbmcocnR0PTMw
LCBub3c9MTAwNikpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9uaXRvci5faW5jcmVhc2Vz
LCAwKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UobW9uaXRvci5pc19ydHRfaW5jcmVhc2lu
ZyhydHQ9NDAsIG5vdz0xMDA3KSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb25pdG9yLl9p
bmNyZWFzZXMsIDApCisKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShtb25pdG9yLmlzX3J0dF9p
bmNyZWFzaW5nKHJ0dD01MCwgbm93PTEwMDgpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1v
bml0b3IuX2luY3JlYXNlcywgMCkKKworICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG1vbml0b3Iu
aXNfcnR0X2luY3JlYXNpbmcocnR0PTYwLCBub3c9MTAwOSkpCisgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwobW9uaXRvci5faW5jcmVhc2VzLCAxKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uo
bW9uaXRvci5pc19ydHRfaW5jcmVhc2luZyhydHQ9NzAsIG5vdz0xMDEwKSkKKyAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChtb25pdG9yLl9pbmNyZWFzZXMsIDIpCisKKyAgICAgICAgc2VsZi5hc3Nl
cnRGYWxzZShtb25pdG9yLmlzX3J0dF9pbmNyZWFzaW5nKHJ0dD04MCwgbm93PTEwMTEpKQorICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKG1vbml0b3IuX2luY3JlYXNlcywgMykKKworICAgICAgICBz
ZWxmLmFzc2VydEZhbHNlKG1vbml0b3IuaXNfcnR0X2luY3JlYXNpbmcocnR0PTkwLCBub3c9MTAx
MikpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9uaXRvci5faW5jcmVhc2VzLCA0KQorCisg
ICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShtb25pdG9yLmlzX3J0dF9pbmNyZWFzaW5nKHJ0dD0xMDAs
IG5vdz0xMDEzKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb25pdG9yLl9pbmNyZWFzZXMs
IDUpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvdGVzdHMvdGVzdF9yZXRyeS5weSBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkv
YWlvcXVpYy90ZXN0cy90ZXN0X3JldHJ5LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM3NmYwMjNiZjkzZGE0YzY5
ZWI5YWFkM2UxOTY4YmZhZmYzN2EzNGEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMv
dGVzdHMvdGVzdF9yZXRyeS5weQpAQCAtMCwwICsxLDMwIEBACitmcm9tIHVuaXR0ZXN0IGltcG9y
dCBUZXN0Q2FzZQorCitmcm9tIGFpb3F1aWMucXVpYy5yZXRyeSBpbXBvcnQgUXVpY1JldHJ5VG9r
ZW5IYW5kbGVyCisKKworY2xhc3MgUXVpY1JldHJ5VG9rZW5IYW5kbGVyVGVzdChUZXN0Q2FzZSk6
CisgICAgZGVmIHRlc3RfcmV0cnlfdG9rZW4oc2VsZik6CisgICAgICAgIGFkZHIgPSAoIjEyNy4w
LjAuMSIsIDEyMzQpCisgICAgICAgIGNpZCA9IGIiXHgwOFx4MDdceDA2XDA1XHgwNFx4MDNceDAy
XHgwMSIKKworICAgICAgICBoYW5kbGVyID0gUXVpY1JldHJ5VG9rZW5IYW5kbGVyKCkKKworICAg
ICAgICAjIGNyZWF0ZSB0b2tlbgorICAgICAgICB0b2tlbiA9IGhhbmRsZXIuY3JlYXRlX3Rva2Vu
KGFkZHIsIGNpZCkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vdE5vbmUodG9rZW4pCisKKyAgICAg
ICAgIyB2YWxpZGF0ZSB0b2tlbiAtIG9rCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaGFuZGxl
ci52YWxpZGF0ZV90b2tlbihhZGRyLCB0b2tlbiksIGNpZCkKKworICAgICAgICAjIHZhbGlkYXRl
IHRva2VuIC0gZW1wdHkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9y
KSBhcyBjbToKKyAgICAgICAgICAgIGhhbmRsZXIudmFsaWRhdGVfdG9rZW4oYWRkciwgYiIiKQor
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgc3RyKGNtLmV4Y2VwdGlvbiks
ICJDaXBoZXJ0ZXh0IGxlbmd0aCBtdXN0IGJlIGVxdWFsIHRvIGtleSBzaXplLiIKKyAgICAgICAg
KQorCisgICAgICAgICMgdmFsaWRhdGUgdG9rZW4gLSB3cm9uZyBhZGRyZXNzCisgICAgICAgIHdp
dGggc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvcikgYXMgY206CisgICAgICAgICAgICBoYW5k
bGVyLnZhbGlkYXRlX3Rva2VuKCgiMS4yLjMuNCIsIDEyMzQ1KSwgdG9rZW4pCisgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwoc3RyKGNtLmV4Y2VwdGlvbiksICJSZW1vdGUgYWRkcmVzcyBkb2VzIG5v
dCBtYXRjaC4iKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3Rlc3RzL3Rlc3Rfc3RyZWFtLnB5
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGly
ZF9wYXJ0eS9haW9xdWljL3Rlc3RzL3Rlc3Rfc3RyZWFtLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM1MzdhZTJl
ZDEyYjZmNmMwNDJkMDk5MDRlY2ZiNGYwYzJkZjU3ZWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5
L2Fpb3F1aWMvdGVzdHMvdGVzdF9zdHJlYW0ucHkKQEAgLTAsMCArMSw0NDYgQEAKK2Zyb20gdW5p
dHRlc3QgaW1wb3J0IFRlc3RDYXNlCisKK2Zyb20gYWlvcXVpYy5xdWljLmV2ZW50cyBpbXBvcnQg
U3RyZWFtRGF0YVJlY2VpdmVkCitmcm9tIGFpb3F1aWMucXVpYy5wYWNrZXQgaW1wb3J0IFF1aWNT
dHJlYW1GcmFtZQorZnJvbSBhaW9xdWljLnF1aWMucGFja2V0X2J1aWxkZXIgaW1wb3J0IFF1aWNE
ZWxpdmVyeVN0YXRlCitmcm9tIGFpb3F1aWMucXVpYy5zdHJlYW0gaW1wb3J0IFF1aWNTdHJlYW0K
KworCitjbGFzcyBRdWljU3RyZWFtVGVzdChUZXN0Q2FzZSk6CisgICAgZGVmIHRlc3RfcmVjdl9l
bXB0eShzZWxmKToKKyAgICAgICAgc3RyZWFtID0gUXVpY1N0cmVhbShzdHJlYW1faWQ9MCkKKyAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbChieXRlcyhzdHJlYW0uX3JlY3ZfYnVmZmVyKSwgYiIiKQor
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpc3Qoc3RyZWFtLl9yZWN2X3JhbmdlcyksIFtdKQor
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cmVhbS5fcmVjdl9idWZmZXJfc3RhcnQsIDApCisK
KyAgICAgICAgIyBlbXB0eQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cmVhbS5hZGRfZnJh
bWUoUXVpY1N0cmVhbUZyYW1lKG9mZnNldD0wLCBkYXRhPWIiIikpLCBOb25lKQorICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKGJ5dGVzKHN0cmVhbS5fcmVjdl9idWZmZXIpLCBiIiIpCisgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwobGlzdChzdHJlYW0uX3JlY3ZfcmFuZ2VzKSwgW10pCisgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwoc3RyZWFtLl9yZWN2X2J1ZmZlcl9zdGFydCwgMCkKKworICAgIGRl
ZiB0ZXN0X3JlY3Zfb3JkZXJlZChzZWxmKToKKyAgICAgICAgc3RyZWFtID0gUXVpY1N0cmVhbShz
dHJlYW1faWQ9MCkKKworICAgICAgICAjIGFkZCBkYXRhIGF0IHN0YXJ0CisgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBzdHJlYW0uYWRkX2ZyYW1lKFF1aWNTdHJlYW1GcmFt
ZShvZmZzZXQ9MCwgZGF0YT1iIjAxMjM0NTY3IikpLAorICAgICAgICAgICAgU3RyZWFtRGF0YVJl
Y2VpdmVkKGRhdGE9YiIwMTIzNDU2NyIsIGVuZF9zdHJlYW09RmFsc2UsIHN0cmVhbV9pZD0wKSwK
KyAgICAgICAgKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ5dGVzKHN0cmVhbS5fcmVjdl9i
dWZmZXIpLCBiIiIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGlzdChzdHJlYW0uX3JlY3Zf
cmFuZ2VzKSwgW10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyZWFtLl9yZWN2X2J1ZmZl
cl9zdGFydCwgOCkKKworICAgICAgICAjIGFkZCBtb3JlIGRhdGEKKyAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbCgKKyAgICAgICAgICAgIHN0cmVhbS5hZGRfZnJhbWUoUXVpY1N0cmVhbUZyYW1lKG9m
ZnNldD04LCBkYXRhPWIiODkwMTIzNDUiKSksCisgICAgICAgICAgICBTdHJlYW1EYXRhUmVjZWl2
ZWQoZGF0YT1iIjg5MDEyMzQ1IiwgZW5kX3N0cmVhbT1GYWxzZSwgc3RyZWFtX2lkPTApLAorICAg
ICAgICApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnl0ZXMoc3RyZWFtLl9yZWN2X2J1ZmZl
ciksIGIiIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaXN0KHN0cmVhbS5fcmVjdl9yYW5n
ZXMpLCBbXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHJlYW0uX3JlY3ZfYnVmZmVyX3N0
YXJ0LCAxNikKKworICAgICAgICAjIGFkZCBkYXRhIGFuZCBmaW4KKyAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbCgKKyAgICAgICAgICAgIHN0cmVhbS5hZGRfZnJhbWUoUXVpY1N0cmVhbUZyYW1lKG9m
ZnNldD0xNiwgZGF0YT1iIjY3ODkwMTIzIiwgZmluPVRydWUpKSwKKyAgICAgICAgICAgIFN0cmVh
bURhdGFSZWNlaXZlZChkYXRhPWIiNjc4OTAxMjMiLCBlbmRfc3RyZWFtPVRydWUsIHN0cmVhbV9p
ZD0wKSwKKyAgICAgICAgKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ5dGVzKHN0cmVhbS5f
cmVjdl9idWZmZXIpLCBiIiIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGlzdChzdHJlYW0u
X3JlY3ZfcmFuZ2VzKSwgW10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyZWFtLl9yZWN2
X2J1ZmZlcl9zdGFydCwgMjQpCisKKyAgICBkZWYgdGVzdF9yZWN2X3Vub3JkZXJlZChzZWxmKToK
KyAgICAgICAgc3RyZWFtID0gUXVpY1N0cmVhbShzdHJlYW1faWQ9MCkKKworICAgICAgICAjIGFk
ZCBkYXRhIGF0IG9mZnNldCA4CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAg
ICBzdHJlYW0uYWRkX2ZyYW1lKFF1aWNTdHJlYW1GcmFtZShvZmZzZXQ9OCwgZGF0YT1iIjg5MDEy
MzQ1IikpLCBOb25lCisgICAgICAgICkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAg
ICAgICAgIGJ5dGVzKHN0cmVhbS5fcmVjdl9idWZmZXIpLCBiIlx4MDBceDAwXHgwMFx4MDBceDAw
XHgwMFx4MDBceDAwODkwMTIzNDUiCisgICAgICAgICkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChsaXN0KHN0cmVhbS5fcmVjdl9yYW5nZXMpLCBbcmFuZ2UoOCwgMTYpXSkKKyAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChzdHJlYW0uX3JlY3ZfYnVmZmVyX3N0YXJ0LCAwKQorCisgICAgICAgICMg
YWRkIGRhdGEgYXQgb2Zmc2V0IDAKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAg
ICAgIHN0cmVhbS5hZGRfZnJhbWUoUXVpY1N0cmVhbUZyYW1lKG9mZnNldD0wLCBkYXRhPWIiMDEy
MzQ1NjciKSksCisgICAgICAgICAgICBTdHJlYW1EYXRhUmVjZWl2ZWQoZGF0YT1iIjAxMjM0NTY3
ODkwMTIzNDUiLCBlbmRfc3RyZWFtPUZhbHNlLCBzdHJlYW1faWQ9MCksCisgICAgICAgICkKKyAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbChieXRlcyhzdHJlYW0uX3JlY3ZfYnVmZmVyKSwgYiIiKQor
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpc3Qoc3RyZWFtLl9yZWN2X3JhbmdlcyksIFtdKQor
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cmVhbS5fcmVjdl9idWZmZXJfc3RhcnQsIDE2KQor
CisgICAgZGVmIHRlc3RfcmVjdl9vZmZzZXRfb25seShzZWxmKToKKyAgICAgICAgc3RyZWFtID0g
UXVpY1N0cmVhbShzdHJlYW1faWQ9MCkKKworICAgICAgICAjIGFkZCBkYXRhIGF0IG9mZnNldCAw
CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyZWFtLmFkZF9mcmFtZShRdWljU3RyZWFtRnJh
bWUob2Zmc2V0PTAsIGRhdGE9YiIiKSksIE5vbmUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
Ynl0ZXMoc3RyZWFtLl9yZWN2X2J1ZmZlciksIGIiIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChsaXN0KHN0cmVhbS5fcmVjdl9yYW5nZXMpLCBbXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChzdHJlYW0uX3JlY3ZfYnVmZmVyX3N0YXJ0LCAwKQorCisgICAgICAgICMgYWRkIGRhdGEgYXQg
b2Zmc2V0IDgKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHJlYW0uYWRkX2ZyYW1lKFF1aWNT
dHJlYW1GcmFtZShvZmZzZXQ9OCwgZGF0YT1iIiIpKSwgTm9uZSkKKyAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbCgKKyAgICAgICAgICAgIGJ5dGVzKHN0cmVhbS5fcmVjdl9idWZmZXIpLCBiIlx4MDBc
eDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwIgorICAgICAgICApCisgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwobGlzdChzdHJlYW0uX3JlY3ZfcmFuZ2VzKSwgW10pCisgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoc3RyZWFtLl9yZWN2X2J1ZmZlcl9zdGFydCwgMCkKKworICAgIGRlZiB0ZXN0X3Jl
Y3ZfYWxyZWFkeV9mdWxseV9jb25zdW1lZChzZWxmKToKKyAgICAgICAgc3RyZWFtID0gUXVpY1N0
cmVhbShzdHJlYW1faWQ9MCkKKworICAgICAgICAjIGFkZCBkYXRhIGF0IG9mZnNldCAwCisgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBzdHJlYW0uYWRkX2ZyYW1lKFF1aWNT
dHJlYW1GcmFtZShvZmZzZXQ9MCwgZGF0YT1iIjAxMjM0NTY3IikpLAorICAgICAgICAgICAgU3Ry
ZWFtRGF0YVJlY2VpdmVkKGRhdGE9YiIwMTIzNDU2NyIsIGVuZF9zdHJlYW09RmFsc2UsIHN0cmVh
bV9pZD0wKSwKKyAgICAgICAgKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ5dGVzKHN0cmVh
bS5fcmVjdl9idWZmZXIpLCBiIiIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGlzdChzdHJl
YW0uX3JlY3ZfcmFuZ2VzKSwgW10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyZWFtLl9y
ZWN2X2J1ZmZlcl9zdGFydCwgOCkKKworICAgICAgICAjIGFkZCBkYXRhIGFnYWluIGF0IG9mZnNl
dCAwCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBzdHJlYW0uYWRkX2Zy
YW1lKFF1aWNTdHJlYW1GcmFtZShvZmZzZXQ9MCwgZGF0YT1iIjAxMjM0NTY3IikpLCBOb25lCisg
ICAgICAgICkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChieXRlcyhzdHJlYW0uX3JlY3ZfYnVm
ZmVyKSwgYiIiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpc3Qoc3RyZWFtLl9yZWN2X3Jh
bmdlcyksIFtdKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cmVhbS5fcmVjdl9idWZmZXJf
c3RhcnQsIDgpCisKKyAgICBkZWYgdGVzdF9yZWN2X2FscmVhZHlfcGFydGlhbGx5X2NvbnN1bWVk
KHNlbGYpOgorICAgICAgICBzdHJlYW0gPSBRdWljU3RyZWFtKHN0cmVhbV9pZD0wKQorCisgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBzdHJlYW0uYWRkX2ZyYW1lKFF1aWNT
dHJlYW1GcmFtZShvZmZzZXQ9MCwgZGF0YT1iIjAxMjM0NTY3IikpLAorICAgICAgICAgICAgU3Ry
ZWFtRGF0YVJlY2VpdmVkKGRhdGE9YiIwMTIzNDU2NyIsIGVuZF9zdHJlYW09RmFsc2UsIHN0cmVh
bV9pZD0wKSwKKyAgICAgICAgKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAg
ICAgICBzdHJlYW0uYWRkX2ZyYW1lKFF1aWNTdHJlYW1GcmFtZShvZmZzZXQ9MCwgZGF0YT1iIjAx
MjM0NTY3ODkwMTIzNDUiKSksCisgICAgICAgICAgICBTdHJlYW1EYXRhUmVjZWl2ZWQoZGF0YT1i
Ijg5MDEyMzQ1IiwgZW5kX3N0cmVhbT1GYWxzZSwgc3RyZWFtX2lkPTApLAorICAgICAgICApCisg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnl0ZXMoc3RyZWFtLl9yZWN2X2J1ZmZlciksIGIiIikK
KyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaXN0KHN0cmVhbS5fcmVjdl9yYW5nZXMpLCBbXSkK
KyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHJlYW0uX3JlY3ZfYnVmZmVyX3N0YXJ0LCAxNikK
KworICAgIGRlZiB0ZXN0X3JlY3ZfZmluKHNlbGYpOgorICAgICAgICBzdHJlYW0gPSBRdWljU3Ry
ZWFtKHN0cmVhbV9pZD0wKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAg
ICBzdHJlYW0uYWRkX2ZyYW1lKFF1aWNTdHJlYW1GcmFtZShvZmZzZXQ9MCwgZGF0YT1iIjAxMjM0
NTY3IikpLAorICAgICAgICAgICAgU3RyZWFtRGF0YVJlY2VpdmVkKGRhdGE9YiIwMTIzNDU2NyIs
IGVuZF9zdHJlYW09RmFsc2UsIHN0cmVhbV9pZD0wKSwKKyAgICAgICAgKQorICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKAorICAgICAgICAgICAgc3RyZWFtLmFkZF9mcmFtZShRdWljU3RyZWFtRnJh
bWUob2Zmc2V0PTgsIGRhdGE9YiI4OTAxMjM0NSIsIGZpbj1UcnVlKSksCisgICAgICAgICAgICBT
dHJlYW1EYXRhUmVjZWl2ZWQoZGF0YT1iIjg5MDEyMzQ1IiwgZW5kX3N0cmVhbT1UcnVlLCBzdHJl
YW1faWQ9MCksCisgICAgICAgICkKKworICAgIGRlZiB0ZXN0X3JlY3ZfZmluX291dF9vZl9vcmRl
cihzZWxmKToKKyAgICAgICAgc3RyZWFtID0gUXVpY1N0cmVhbShzdHJlYW1faWQ9MCkKKworICAg
ICAgICAjIGFkZCBkYXRhIGF0IG9mZnNldCA4IHdpdGggRklOCisgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwoCisgICAgICAgICAgICBzdHJlYW0uYWRkX2ZyYW1lKFF1aWNTdHJlYW1GcmFtZShvZmZz
ZXQ9OCwgZGF0YT1iIjg5MDEyMzQ1IiwgZmluPVRydWUpKSwKKyAgICAgICAgICAgIE5vbmUsCisg
ICAgICAgICkKKworICAgICAgICAjIGFkZCBkYXRhIGF0IG9mZnNldCAwCisgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBzdHJlYW0uYWRkX2ZyYW1lKFF1aWNTdHJlYW1GcmFt
ZShvZmZzZXQ9MCwgZGF0YT1iIjAxMjM0NTY3IikpLAorICAgICAgICAgICAgU3RyZWFtRGF0YVJl
Y2VpdmVkKGRhdGE9YiIwMTIzNDU2Nzg5MDEyMzQ1IiwgZW5kX3N0cmVhbT1UcnVlLCBzdHJlYW1f
aWQ9MCksCisgICAgICAgICkKKworICAgIGRlZiB0ZXN0X3JlY3ZfZmluX3RoZW5fZGF0YShzZWxm
KToKKyAgICAgICAgc3RyZWFtID0gUXVpY1N0cmVhbShzdHJlYW1faWQ9MCkKKyAgICAgICAgc3Ry
ZWFtLmFkZF9mcmFtZShRdWljU3RyZWFtRnJhbWUob2Zmc2V0PTAsIGRhdGE9YiIiLCBmaW49VHJ1
ZSkpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoRXhjZXB0aW9uKSBhcyBjbToKKyAg
ICAgICAgICAgIHN0cmVhbS5hZGRfZnJhbWUoUXVpY1N0cmVhbUZyYW1lKG9mZnNldD0wLCBkYXRh
PWIiMDEyMzQ1NjciKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoY20uZXhjZXB0aW9u
KSwgIkRhdGEgcmVjZWl2ZWQgYmV5b25kIEZJTiIpCisKKyAgICBkZWYgdGVzdF9yZWN2X2Zpbl90
d2ljZShzZWxmKToKKyAgICAgICAgc3RyZWFtID0gUXVpY1N0cmVhbShzdHJlYW1faWQ9MCkKKyAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIHN0cmVhbS5hZGRfZnJhbWUoUXVp
Y1N0cmVhbUZyYW1lKG9mZnNldD0wLCBkYXRhPWIiMDEyMzQ1NjciKSksCisgICAgICAgICAgICBT
dHJlYW1EYXRhUmVjZWl2ZWQoZGF0YT1iIjAxMjM0NTY3IiwgZW5kX3N0cmVhbT1GYWxzZSwgc3Ry
ZWFtX2lkPTApLAorICAgICAgICApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAg
ICAgICBzdHJlYW0uYWRkX2ZyYW1lKFF1aWNTdHJlYW1GcmFtZShvZmZzZXQ9OCwgZGF0YT1iIjg5
MDEyMzQ1IiwgZmluPVRydWUpKSwKKyAgICAgICAgICAgIFN0cmVhbURhdGFSZWNlaXZlZChkYXRh
PWIiODkwMTIzNDUiLCBlbmRfc3RyZWFtPVRydWUsIHN0cmVhbV9pZD0wKSwKKyAgICAgICAgKQor
CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBzdHJlYW0uYWRkX2ZyYW1l
KFF1aWNTdHJlYW1GcmFtZShvZmZzZXQ9OCwgZGF0YT1iIjg5MDEyMzQ1IiwgZmluPVRydWUpKSwK
KyAgICAgICAgICAgIFN0cmVhbURhdGFSZWNlaXZlZChkYXRhPWIiIiwgZW5kX3N0cmVhbT1UcnVl
LCBzdHJlYW1faWQ9MCksCisgICAgICAgICkKKworICAgIGRlZiB0ZXN0X3JlY3ZfZmluX3dpdGhv
dXRfZGF0YShzZWxmKToKKyAgICAgICAgc3RyZWFtID0gUXVpY1N0cmVhbShzdHJlYW1faWQ9MCkK
KyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIHN0cmVhbS5hZGRfZnJhbWUo
UXVpY1N0cmVhbUZyYW1lKG9mZnNldD0wLCBkYXRhPWIiIiwgZmluPVRydWUpKSwKKyAgICAgICAg
ICAgIFN0cmVhbURhdGFSZWNlaXZlZChkYXRhPWIiIiwgZW5kX3N0cmVhbT1UcnVlLCBzdHJlYW1f
aWQ9MCksCisgICAgICAgICkKKworICAgIGRlZiB0ZXN0X3NlbmRfZGF0YShzZWxmKToKKyAgICAg
ICAgc3RyZWFtID0gUXVpY1N0cmVhbSgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyZWFt
Lm5leHRfc2VuZF9vZmZzZXQsIDApCisKKyAgICAgICAgIyBub3RoaW5nIHRvIHNlbmQgeWV0Cisg
ICAgICAgIGZyYW1lID0gc3RyZWFtLmdldF9mcmFtZSg4KQorICAgICAgICBzZWxmLmFzc2VydElz
Tm9uZShmcmFtZSkKKworICAgICAgICAjIHdyaXRlIGRhdGEKKyAgICAgICAgc3RyZWFtLndyaXRl
KGIiMDEyMzQ1Njc4OTAxMjM0NSIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGlzdChzdHJl
YW0uX3NlbmRfcGVuZGluZyksIFtyYW5nZSgwLCAxNildKQorICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKHN0cmVhbS5uZXh0X3NlbmRfb2Zmc2V0LCAwKQorCisgICAgICAgICMgc2VuZCBhIGNodW5r
CisgICAgICAgIGZyYW1lID0gc3RyZWFtLmdldF9mcmFtZSg4KQorICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKGZyYW1lLmRhdGEsIGIiMDEyMzQ1NjciKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNl
KGZyYW1lLmZpbikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmcmFtZS5vZmZzZXQsIDApCisg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGlzdChzdHJlYW0uX3NlbmRfcGVuZGluZyksIFtyYW5n
ZSg4LCAxNildKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cmVhbS5uZXh0X3NlbmRfb2Zm
c2V0LCA4KQorCisgICAgICAgICMgc2VuZCBhbm90aGVyIGNodW5rCisgICAgICAgIGZyYW1lID0g
c3RyZWFtLmdldF9mcmFtZSg4KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZyYW1lLmRhdGEs
IGIiODkwMTIzNDUiKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGZyYW1lLmZpbikKKyAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChmcmFtZS5vZmZzZXQsIDgpCisgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwobGlzdChzdHJlYW0uX3NlbmRfcGVuZGluZyksIFtdKQorICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKHN0cmVhbS5uZXh0X3NlbmRfb2Zmc2V0LCAxNikKKworICAgICAgICAjIG5vdGhpbmcg
bW9yZSB0byBzZW5kCisgICAgICAgIGZyYW1lID0gc3RyZWFtLmdldF9mcmFtZSg4KQorICAgICAg
ICBzZWxmLmFzc2VydElzTm9uZShmcmFtZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaXN0
KHN0cmVhbS5fc2VuZF9wZW5kaW5nKSwgW10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3Ry
ZWFtLm5leHRfc2VuZF9vZmZzZXQsIDE2KQorCisgICAgICAgICMgZmlyc3QgY2h1bmsgZ2V0cyBh
Y2tub3dsZWRnZWQKKyAgICAgICAgc3RyZWFtLm9uX2RhdGFfZGVsaXZlcnkoUXVpY0RlbGl2ZXJ5
U3RhdGUuQUNLRUQsIDAsIDgpCisKKyAgICAgICAgIyBzZWNvbmQgY2h1bmsgZ2V0cyBhY2tub3ds
ZWRnZWQKKyAgICAgICAgc3RyZWFtLm9uX2RhdGFfZGVsaXZlcnkoUXVpY0RlbGl2ZXJ5U3RhdGUu
QUNLRUQsIDgsIDE2KQorCisgICAgZGVmIHRlc3Rfc2VuZF9kYXRhX2FuZF9maW4oc2VsZik6Cisg
ICAgICAgIHN0cmVhbSA9IFF1aWNTdHJlYW0oKQorCisgICAgICAgICMgbm90aGluZyB0byBzZW5k
IHlldAorICAgICAgICBmcmFtZSA9IHN0cmVhbS5nZXRfZnJhbWUoOCkKKyAgICAgICAgc2VsZi5h
c3NlcnRJc05vbmUoZnJhbWUpCisKKyAgICAgICAgIyB3cml0ZSBkYXRhIGFuZCBFT0YKKyAgICAg
ICAgc3RyZWFtLndyaXRlKGIiMDEyMzQ1Njc4OTAxMjM0NSIsIGVuZF9zdHJlYW09VHJ1ZSkKKyAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaXN0KHN0cmVhbS5fc2VuZF9wZW5kaW5nKSwgW3Jhbmdl
KDAsIDE2KV0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyZWFtLm5leHRfc2VuZF9vZmZz
ZXQsIDApCisKKyAgICAgICAgIyBzZW5kIGEgY2h1bmsKKyAgICAgICAgZnJhbWUgPSBzdHJlYW0u
Z2V0X2ZyYW1lKDgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZnJhbWUuZGF0YSwgYiIwMTIz
NDU2NyIpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoZnJhbWUuZmluKQorICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKGZyYW1lLm9mZnNldCwgMCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChz
dHJlYW0ubmV4dF9zZW5kX29mZnNldCwgOCkKKworICAgICAgICAjIHNlbmQgYW5vdGhlciBjaHVu
aworICAgICAgICBmcmFtZSA9IHN0cmVhbS5nZXRfZnJhbWUoOCkKKyAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChmcmFtZS5kYXRhLCBiIjg5MDEyMzQ1IikKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVl
KGZyYW1lLmZpbikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmcmFtZS5vZmZzZXQsIDgpCisg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyZWFtLm5leHRfc2VuZF9vZmZzZXQsIDE2KQorCisg
ICAgICAgICMgbm90aGluZyBtb3JlIHRvIHNlbmQKKyAgICAgICAgZnJhbWUgPSBzdHJlYW0uZ2V0
X2ZyYW1lKDgpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKGZyYW1lKQorICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKHN0cmVhbS5uZXh0X3NlbmRfb2Zmc2V0LCAxNikKKworICAgIGRlZiB0ZXN0
X3NlbmRfZGF0YV9sb3N0KHNlbGYpOgorICAgICAgICBzdHJlYW0gPSBRdWljU3RyZWFtKCkKKwor
ICAgICAgICAjIG5vdGhpbmcgdG8gc2VuZCB5ZXQKKyAgICAgICAgZnJhbWUgPSBzdHJlYW0uZ2V0
X2ZyYW1lKDgpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKGZyYW1lKQorCisgICAgICAgICMg
d3JpdGUgZGF0YSBhbmQgRU9GCisgICAgICAgIHN0cmVhbS53cml0ZShiIjAxMjM0NTY3ODkwMTIz
NDUiLCBlbmRfc3RyZWFtPVRydWUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGlzdChzdHJl
YW0uX3NlbmRfcGVuZGluZyksIFtyYW5nZSgwLCAxNildKQorICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKHN0cmVhbS5uZXh0X3NlbmRfb2Zmc2V0LCAwKQorCisgICAgICAgICMgc2VuZCBhIGNodW5r
CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBzdHJlYW0uZ2V0X2ZyYW1l
KDgpLCBRdWljU3RyZWFtRnJhbWUoZGF0YT1iIjAxMjM0NTY3IiwgZmluPUZhbHNlLCBvZmZzZXQ9
MCkKKyAgICAgICAgKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpc3Qoc3RyZWFtLl9zZW5k
X3BlbmRpbmcpLCBbcmFuZ2UoOCwgMTYpXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHJl
YW0ubmV4dF9zZW5kX29mZnNldCwgOCkKKworICAgICAgICAjIHNlbmQgYW5vdGhlciBjaHVuawor
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgc3RyZWFtLmdldF9mcmFtZSg4
KSwgUXVpY1N0cmVhbUZyYW1lKGRhdGE9YiI4OTAxMjM0NSIsIGZpbj1UcnVlLCBvZmZzZXQ9OCkK
KyAgICAgICAgKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpc3Qoc3RyZWFtLl9zZW5kX3Bl
bmRpbmcpLCBbXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHJlYW0ubmV4dF9zZW5kX29m
ZnNldCwgMTYpCisKKyAgICAgICAgIyBub3RoaW5nIG1vcmUgdG8gc2VuZAorICAgICAgICBzZWxm
LmFzc2VydElzTm9uZShzdHJlYW0uZ2V0X2ZyYW1lKDgpKQorICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKGxpc3Qoc3RyZWFtLl9zZW5kX3BlbmRpbmcpLCBbXSkKKyAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbChzdHJlYW0ubmV4dF9zZW5kX29mZnNldCwgMTYpCisKKyAgICAgICAgIyBhIGNodW5rIGdl
dHMgbG9zdAorICAgICAgICBzdHJlYW0ub25fZGF0YV9kZWxpdmVyeShRdWljRGVsaXZlcnlTdGF0
ZS5MT1NULCAwLCA4KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpc3Qoc3RyZWFtLl9zZW5k
X3BlbmRpbmcpLCBbcmFuZ2UoMCwgOCldKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cmVh
bS5uZXh0X3NlbmRfb2Zmc2V0LCAwKQorCisgICAgICAgICMgc2VuZCBjaHVuayBhZ2FpbgorICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgc3RyZWFtLmdldF9mcmFtZSg4KSwg
UXVpY1N0cmVhbUZyYW1lKGRhdGE9YiIwMTIzNDU2NyIsIGZpbj1GYWxzZSwgb2Zmc2V0PTApCisg
ICAgICAgICkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaXN0KHN0cmVhbS5fc2VuZF9wZW5k
aW5nKSwgW10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyZWFtLm5leHRfc2VuZF9vZmZz
ZXQsIDE2KQorCisgICAgZGVmIHRlc3Rfc2VuZF9kYXRhX2xvc3RfZmluKHNlbGYpOgorICAgICAg
ICBzdHJlYW0gPSBRdWljU3RyZWFtKCkKKworICAgICAgICAjIG5vdGhpbmcgdG8gc2VuZCB5ZXQK
KyAgICAgICAgZnJhbWUgPSBzdHJlYW0uZ2V0X2ZyYW1lKDgpCisgICAgICAgIHNlbGYuYXNzZXJ0
SXNOb25lKGZyYW1lKQorCisgICAgICAgICMgd3JpdGUgZGF0YSBhbmQgRU9GCisgICAgICAgIHN0
cmVhbS53cml0ZShiIjAxMjM0NTY3ODkwMTIzNDUiLCBlbmRfc3RyZWFtPVRydWUpCisgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwobGlzdChzdHJlYW0uX3NlbmRfcGVuZGluZyksIFtyYW5nZSgwLCAx
NildKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cmVhbS5uZXh0X3NlbmRfb2Zmc2V0LCAw
KQorCisgICAgICAgICMgc2VuZCBhIGNodW5rCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisg
ICAgICAgICAgICBzdHJlYW0uZ2V0X2ZyYW1lKDgpLCBRdWljU3RyZWFtRnJhbWUoZGF0YT1iIjAx
MjM0NTY3IiwgZmluPUZhbHNlLCBvZmZzZXQ9MCkKKyAgICAgICAgKQorICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKGxpc3Qoc3RyZWFtLl9zZW5kX3BlbmRpbmcpLCBbcmFuZ2UoOCwgMTYpXSkKKyAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHJlYW0ubmV4dF9zZW5kX29mZnNldCwgOCkKKworICAg
ICAgICAjIHNlbmQgYW5vdGhlciBjaHVuaworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAg
ICAgICAgICAgc3RyZWFtLmdldF9mcmFtZSg4KSwgUXVpY1N0cmVhbUZyYW1lKGRhdGE9YiI4OTAx
MjM0NSIsIGZpbj1UcnVlLCBvZmZzZXQ9OCkKKyAgICAgICAgKQorICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKGxpc3Qoc3RyZWFtLl9zZW5kX3BlbmRpbmcpLCBbXSkKKyAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChzdHJlYW0ubmV4dF9zZW5kX29mZnNldCwgMTYpCisKKyAgICAgICAgIyBub3RoaW5n
IG1vcmUgdG8gc2VuZAorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShzdHJlYW0uZ2V0X2ZyYW1l
KDgpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpc3Qoc3RyZWFtLl9zZW5kX3BlbmRpbmcp
LCBbXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHJlYW0ubmV4dF9zZW5kX29mZnNldCwg
MTYpCisKKyAgICAgICAgIyBhIGNodW5rIGdldHMgbG9zdAorICAgICAgICBzdHJlYW0ub25fZGF0
YV9kZWxpdmVyeShRdWljRGVsaXZlcnlTdGF0ZS5MT1NULCA4LCAxNikKKyAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbChsaXN0KHN0cmVhbS5fc2VuZF9wZW5kaW5nKSwgW3JhbmdlKDgsIDE2KV0pCisg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyZWFtLm5leHRfc2VuZF9vZmZzZXQsIDgpCisKKyAg
ICAgICAgIyBzZW5kIGNodW5rIGFnYWluCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAg
ICAgICAgICBzdHJlYW0uZ2V0X2ZyYW1lKDgpLCBRdWljU3RyZWFtRnJhbWUoZGF0YT1iIjg5MDEy
MzQ1IiwgZmluPVRydWUsIG9mZnNldD04KQorICAgICAgICApCisgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwobGlzdChzdHJlYW0uX3NlbmRfcGVuZGluZyksIFtdKQorICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKHN0cmVhbS5uZXh0X3NlbmRfb2Zmc2V0LCAxNikKKworICAgIGRlZiB0ZXN0X3NlbmRf
YmxvY2tlZChzZWxmKToKKyAgICAgICAgc3RyZWFtID0gUXVpY1N0cmVhbSgpCisgICAgICAgIG1h
eF9vZmZzZXQgPSAxMgorCisgICAgICAgICMgbm90aGluZyB0byBzZW5kIHlldAorICAgICAgICBm
cmFtZSA9IHN0cmVhbS5nZXRfZnJhbWUoOCwgbWF4X29mZnNldCkKKyAgICAgICAgc2VsZi5hc3Nl
cnRJc05vbmUoZnJhbWUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGlzdChzdHJlYW0uX3Nl
bmRfcGVuZGluZyksIFtdKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cmVhbS5uZXh0X3Nl
bmRfb2Zmc2V0LCAwKQorCisgICAgICAgICMgd3JpdGUgZGF0YSwgc2VuZCBhIGNodW5rCisgICAg
ICAgIHN0cmVhbS53cml0ZShiIjAxMjM0NTY3ODkwMTIzNDUiKQorICAgICAgICBmcmFtZSA9IHN0
cmVhbS5nZXRfZnJhbWUoOCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmcmFtZS5kYXRhLCBi
IjAxMjM0NTY3IikKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShmcmFtZS5maW4pCisgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwoZnJhbWUub2Zmc2V0LCAwKQorICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKGxpc3Qoc3RyZWFtLl9zZW5kX3BlbmRpbmcpLCBbcmFuZ2UoOCwgMTYpXSkKKyAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChzdHJlYW0ubmV4dF9zZW5kX29mZnNldCwgOCkKKworICAgICAgICAj
IHNlbmQgaXMgbGltaXRlZCBieSBwZWVyCisgICAgICAgIGZyYW1lID0gc3RyZWFtLmdldF9mcmFt
ZSg4LCBtYXhfb2Zmc2V0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZyYW1lLmRhdGEsIGIi
ODkwMSIpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoZnJhbWUuZmluKQorICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKGZyYW1lLm9mZnNldCwgOCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChs
aXN0KHN0cmVhbS5fc2VuZF9wZW5kaW5nKSwgW3JhbmdlKDEyLCAxNildKQorICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKHN0cmVhbS5uZXh0X3NlbmRfb2Zmc2V0LCAxMikKKworICAgICAgICAjIHVu
YWJsZSB0byBzZW5kLCBibG9ja2VkCisgICAgICAgIGZyYW1lID0gc3RyZWFtLmdldF9mcmFtZSg4
LCBtYXhfb2Zmc2V0KQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShmcmFtZSkKKyAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChsaXN0KHN0cmVhbS5fc2VuZF9wZW5kaW5nKSwgW3JhbmdlKDEyLCAx
NildKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cmVhbS5uZXh0X3NlbmRfb2Zmc2V0LCAx
MikKKworICAgICAgICAjIHdyaXRlIG1vcmUgZGF0YSwgc3RpbGwgYmxvY2tlZAorICAgICAgICBz
dHJlYW0ud3JpdGUoYiJhYmNkZWZnaCIpCisgICAgICAgIGZyYW1lID0gc3RyZWFtLmdldF9mcmFt
ZSg4LCBtYXhfb2Zmc2V0KQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShmcmFtZSkKKyAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChsaXN0KHN0cmVhbS5fc2VuZF9wZW5kaW5nKSwgW3JhbmdlKDEy
LCAyNCldKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cmVhbS5uZXh0X3NlbmRfb2Zmc2V0
LCAxMikKKworICAgICAgICAjIHBlZXIgcmFpc2VzIGxpbWl0LCBzZW5kIHNvbWUgZGF0YQorICAg
ICAgICBtYXhfb2Zmc2V0ICs9IDgKKyAgICAgICAgZnJhbWUgPSBzdHJlYW0uZ2V0X2ZyYW1lKDgs
IG1heF9vZmZzZXQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZnJhbWUuZGF0YSwgYiIyMzQ1
YWJjZCIpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoZnJhbWUuZmluKQorICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKGZyYW1lLm9mZnNldCwgMTIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
bGlzdChzdHJlYW0uX3NlbmRfcGVuZGluZyksIFtyYW5nZSgyMCwgMjQpXSkKKyAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChzdHJlYW0ubmV4dF9zZW5kX29mZnNldCwgMjApCisKKyAgICAgICAgIyBw
ZWVyIHJhaXNlcyBsaW1pdCBhZ2Fpbiwgc2VuZCByZW1haW5pbmcgZGF0YQorICAgICAgICBtYXhf
b2Zmc2V0ICs9IDgKKyAgICAgICAgZnJhbWUgPSBzdHJlYW0uZ2V0X2ZyYW1lKDgsIG1heF9vZmZz
ZXQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZnJhbWUuZGF0YSwgYiJlZmdoIikKKyAgICAg
ICAgc2VsZi5hc3NlcnRGYWxzZShmcmFtZS5maW4pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
ZnJhbWUub2Zmc2V0LCAyMCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaXN0KHN0cmVhbS5f
c2VuZF9wZW5kaW5nKSwgW10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyZWFtLm5leHRf
c2VuZF9vZmZzZXQsIDI0KQorCisgICAgICAgICMgbm90aGluZyBtb3JlIHRvIHNlbmQKKyAgICAg
ICAgZnJhbWUgPSBzdHJlYW0uZ2V0X2ZyYW1lKDgsIG1heF9vZmZzZXQpCisgICAgICAgIHNlbGYu
YXNzZXJ0SXNOb25lKGZyYW1lKQorCisgICAgZGVmIHRlc3Rfc2VuZF9maW5fb25seShzZWxmKToK
KyAgICAgICAgc3RyZWFtID0gUXVpY1N0cmVhbSgpCisKKyAgICAgICAgIyBub3RoaW5nIHRvIHNl
bmQgeWV0CisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzdHJlYW0uc2VuZF9idWZmZXJfaXNfZW1w
dHkpCisgICAgICAgIGZyYW1lID0gc3RyZWFtLmdldF9mcmFtZSg4KQorICAgICAgICBzZWxmLmFz
c2VydElzTm9uZShmcmFtZSkKKworICAgICAgICAjIHdyaXRlIEVPRgorICAgICAgICBzdHJlYW0u
d3JpdGUoYiIiLCBlbmRfc3RyZWFtPVRydWUpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uoc3Ry
ZWFtLnNlbmRfYnVmZmVyX2lzX2VtcHR5KQorICAgICAgICBmcmFtZSA9IHN0cmVhbS5nZXRfZnJh
bWUoOCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmcmFtZS5kYXRhLCBiIiIpCisgICAgICAg
IHNlbGYuYXNzZXJ0VHJ1ZShmcmFtZS5maW4pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZnJh
bWUub2Zmc2V0LCAwKQorCisgICAgICAgICMgbm90aGluZyBtb3JlIHRvIHNlbmQKKyAgICAgICAg
c2VsZi5hc3NlcnRGYWxzZShzdHJlYW0uc2VuZF9idWZmZXJfaXNfZW1wdHkpICAjIEZJWE1FPwor
ICAgICAgICBmcmFtZSA9IHN0cmVhbS5nZXRfZnJhbWUoOCkKKyAgICAgICAgc2VsZi5hc3NlcnRJ
c05vbmUoZnJhbWUpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzdHJlYW0uc2VuZF9idWZmZXJf
aXNfZW1wdHkpCisKKyAgICBkZWYgdGVzdF9zZW5kX2Zpbl9vbmx5X2Rlc3BpdGVfYmxvY2tlZChz
ZWxmKToKKyAgICAgICAgc3RyZWFtID0gUXVpY1N0cmVhbSgpCisKKyAgICAgICAgIyBub3RoaW5n
IHRvIHNlbmQgeWV0CisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzdHJlYW0uc2VuZF9idWZmZXJf
aXNfZW1wdHkpCisgICAgICAgIGZyYW1lID0gc3RyZWFtLmdldF9mcmFtZSg4KQorICAgICAgICBz
ZWxmLmFzc2VydElzTm9uZShmcmFtZSkKKworICAgICAgICAjIHdyaXRlIEVPRgorICAgICAgICBz
dHJlYW0ud3JpdGUoYiIiLCBlbmRfc3RyZWFtPVRydWUpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFs
c2Uoc3RyZWFtLnNlbmRfYnVmZmVyX2lzX2VtcHR5KQorICAgICAgICBmcmFtZSA9IHN0cmVhbS5n
ZXRfZnJhbWUoOCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmcmFtZS5kYXRhLCBiIiIpCisg
ICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShmcmFtZS5maW4pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWwoZnJhbWUub2Zmc2V0LCAwKQorCisgICAgICAgICMgbm90aGluZyBtb3JlIHRvIHNlbmQKKyAg
ICAgICAgc2VsZi5hc3NlcnRGYWxzZShzdHJlYW0uc2VuZF9idWZmZXJfaXNfZW1wdHkpICAjIEZJ
WE1FPworICAgICAgICBmcmFtZSA9IHN0cmVhbS5nZXRfZnJhbWUoOCkKKyAgICAgICAgc2VsZi5h
c3NlcnRJc05vbmUoZnJhbWUpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzdHJlYW0uc2VuZF9i
dWZmZXJfaXNfZW1wdHkpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvdGVzdHMvdGVzdF90bHMu
cHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3Ro
aXJkX3BhcnR5L2Fpb3F1aWMvdGVzdHMvdGVzdF90bHMucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzJkZDU2ZGVi
OGJhZWFjOTZmY2QxYTNmZTBiYjVmOTQzNWQ3YzBjMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkv
YWlvcXVpYy90ZXN0cy90ZXN0X3Rscy5weQpAQCAtMCwwICsxLDE0MDAgQEAKK2ltcG9ydCBiaW5h
c2NpaQoraW1wb3J0IGRhdGV0aW1lCitpbXBvcnQgc3NsCitmcm9tIHVuaXR0ZXN0IGltcG9ydCBU
ZXN0Q2FzZQorZnJvbSB1bml0dGVzdC5tb2NrIGltcG9ydCBwYXRjaAorCitmcm9tIGNyeXB0b2dy
YXBoeS5leGNlcHRpb25zIGltcG9ydCBVbnN1cHBvcnRlZEFsZ29yaXRobQorZnJvbSBjcnlwdG9n
cmFwaHkuaGF6bWF0LnByaW1pdGl2ZXMgaW1wb3J0IHNlcmlhbGl6YXRpb24KK2Zyb20gY3J5cHRv
Z3JhcGh5Lmhhem1hdC5wcmltaXRpdmVzLmFzeW1tZXRyaWMgaW1wb3J0IGVjCisKK2Zyb20gYWlv
cXVpYyBpbXBvcnQgdGxzCitmcm9tIGFpb3F1aWMuYnVmZmVyIGltcG9ydCBCdWZmZXIsIEJ1ZmZl
clJlYWRFcnJvcgorZnJvbSBhaW9xdWljLnF1aWMuY29uZmlndXJhdGlvbiBpbXBvcnQgUXVpY0Nv
bmZpZ3VyYXRpb24KK2Zyb20gYWlvcXVpYy50bHMgaW1wb3J0ICgKKyAgICBDZXJ0aWZpY2F0ZSwK
KyAgICBDZXJ0aWZpY2F0ZVZlcmlmeSwKKyAgICBDbGllbnRIZWxsbywKKyAgICBDb250ZXh0LAor
ICAgIEVuY3J5cHRlZEV4dGVuc2lvbnMsCisgICAgRmluaXNoZWQsCisgICAgTmV3U2Vzc2lvblRp
Y2tldCwKKyAgICBTZXJ2ZXJIZWxsbywKKyAgICBTdGF0ZSwKKyAgICBsb2FkX3BlbV94NTA5X2Nl
cnRpZmljYXRlcywKKyAgICBwdWxsX2Jsb2NrLAorICAgIHB1bGxfY2VydGlmaWNhdGUsCisgICAg
cHVsbF9jZXJ0aWZpY2F0ZV92ZXJpZnksCisgICAgcHVsbF9jbGllbnRfaGVsbG8sCisgICAgcHVs
bF9lbmNyeXB0ZWRfZXh0ZW5zaW9ucywKKyAgICBwdWxsX2ZpbmlzaGVkLAorICAgIHB1bGxfbmV3
X3Nlc3Npb25fdGlja2V0LAorICAgIHB1bGxfc2VydmVyX2hlbGxvLAorICAgIHB1c2hfY2VydGlm
aWNhdGUsCisgICAgcHVzaF9jZXJ0aWZpY2F0ZV92ZXJpZnksCisgICAgcHVzaF9jbGllbnRfaGVs
bG8sCisgICAgcHVzaF9lbmNyeXB0ZWRfZXh0ZW5zaW9ucywKKyAgICBwdXNoX2ZpbmlzaGVkLAor
ICAgIHB1c2hfbmV3X3Nlc3Npb25fdGlja2V0LAorICAgIHB1c2hfc2VydmVyX2hlbGxvLAorICAg
IHZlcmlmeV9jZXJ0aWZpY2F0ZSwKKykKKworZnJvbSAudXRpbHMgaW1wb3J0ICgKKyAgICBTRVJW
RVJfQ0FDRVJURklMRSwKKyAgICBTRVJWRVJfQ0VSVEZJTEUsCisgICAgU0VSVkVSX0tFWUZJTEUs
CisgICAgZ2VuZXJhdGVfZWNfY2VydGlmaWNhdGUsCisgICAgbG9hZCwKKykKKworQ0VSVElGSUNB
VEVfREFUQSA9IGxvYWQoInRsc19jZXJ0aWZpY2F0ZS5iaW4iKVsxMTotMl0KK0NFUlRJRklDQVRF
X1ZFUklGWV9TSUdOQVRVUkUgPSBsb2FkKCJ0bHNfY2VydGlmaWNhdGVfdmVyaWZ5LmJpbiIpWy0z
ODQ6XQorCitDTElFTlRfUVVJQ19UUkFOU1BPUlRfUEFSQU1FVEVSUyA9IGJpbmFzY2lpLnVuaGV4
bGlmeSgKKyAgICBiImZmMDAwMDExMDAzMTAwMDUwMDA0ODAxMDAwMDAwMDA2MDAwNDgwMTAwMDAw
MDAwNzAwMDQ4MDEwMDAwMDAwMCIKKyAgICBiIjQwMDA0ODEwMDAwMDAwMDAxMDAwMjQyNTgwMDA4
MDAwMjQwNjQwMDBhMDAwMTBhIgorKQorCitTRVJWRVJfUVVJQ19UUkFOU1BPUlRfUEFSQU1FVEVS
UyA9IGJpbmFzY2lpLnVuaGV4bGlmeSgKKyAgICBiImZmMDAwMDExMDRmZjAwMDAxMTAwNDUwMDA1
MDAwNDgwMTAwMDAwMDAwNjAwMDQ4MDEwMDAwMDAwMDcwMDA0OCIKKyAgICBiIjAxMDAwMDAwMDA0
MDAwNDgxMDAwMDAwMDAwMTAwMDI0MjU4MDAwMjAwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMCIKKyAg
ICBiIjAwMDAwMDAwMDAwMDAwMDgwMDAyNDA2NDAwMGEwMDAxMGEiCispCisKK1NFUlZFUl9RVUlD
X1RSQU5TUE9SVF9QQVJBTUVURVJTXzIgPSBiaW5hc2NpaS51bmhleGxpZnkoCisgICAgYiIwMDU3
MDAwNjAwMDQ4MDAwZmZmZjAwMDUwMDA0ODAwMGZmZmYwMDAyMDAxMGM1YWM0MTBmYmRkNGZlNmUy
YzEiCisgICAgYiI0MjI3OWYyMzFlOGUwMDAwYTAwMDEwMzAwMDQwMDA0ODAwNWZmZmEwMDBiMDAw
MTE5MDAwMTAwMDI2NzEwZmYiCisgICAgYiI0MjAwMGM1YzA2N2YyN2UzOTMyMWM2M2UyOGU3Yzkw
MDAzMDAwMjQ3ZTQwMDA4MDAwMTA2IgorKQorCitTRVJWRVJfUVVJQ19UUkFOU1BPUlRfUEFSQU1F
VEVSU18zID0gYmluYXNjaWkudW5oZXhsaWZ5KAorICAgIGIiMDA1NDAwMDIwMDEwMGRjYjUwYTQ0
MjUxMzI5NWI0Njc5YmFmMDRjYjVlZmZmZjhhMDAwOWM4YWZlNzJhNjM5NyIKKyAgICBiIjI1NTQw
NzAwMDYwMDA0ODAwMGZmZmYwMDA4MDAwMTA2MDAwNDAwMDQ4MDA1ZmZmYTAwMDUwMDA0ODAwMGZm
ZmYiCisgICAgYiIwMDAzMDAwMjQ3ZTQwMDBhMDAwMTAzMDAwMTAwMDI2NzEwMDAwYjAwMDExOSIK
KykKKworCitjbGFzcyBCdWZmZXJUZXN0KFRlc3RDYXNlKToKKyAgICBkZWYgdGVzdF9wdWxsX2Js
b2NrX3RydW5jYXRlZChzZWxmKToKKyAgICAgICAgYnVmID0gQnVmZmVyKGNhcGFjaXR5PTApCisg
ICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoQnVmZmVyUmVhZEVycm9yKToKKyAgICAgICAg
ICAgIHdpdGggcHVsbF9ibG9jayhidWYsIDEpOgorICAgICAgICAgICAgICAgIHBhc3MKKworCitk
ZWYgY3JlYXRlX2J1ZmZlcnMoKToKKyAgICByZXR1cm4geworICAgICAgICB0bHMuRXBvY2guSU5J
VElBTDogQnVmZmVyKGNhcGFjaXR5PTQwOTYpLAorICAgICAgICB0bHMuRXBvY2guSEFORFNIQUtF
OiBCdWZmZXIoY2FwYWNpdHk9NDA5NiksCisgICAgICAgIHRscy5FcG9jaC5PTkVfUlRUOiBCdWZm
ZXIoY2FwYWNpdHk9NDA5NiksCisgICAgfQorCisKK2RlZiBtZXJnZV9idWZmZXJzKGJ1ZmZlcnMp
OgorICAgIHJldHVybiBiIiIuam9pbih4LmRhdGEgZm9yIHggaW4gYnVmZmVycy52YWx1ZXMoKSkK
KworCitkZWYgcmVzZXRfYnVmZmVycyhidWZmZXJzKToKKyAgICBmb3IgayBpbiBidWZmZXJzLmtl
eXMoKToKKyAgICAgICAgYnVmZmVyc1trXS5zZWVrKDApCisKKworY2xhc3MgQ29udGV4dFRlc3Qo
VGVzdENhc2UpOgorICAgIGRlZiBjcmVhdGVfY2xpZW50KAorICAgICAgICBzZWxmLCBhbHBuX3By
b3RvY29scz1Ob25lLCBjYWRhdGE9Tm9uZSwgY2FmaWxlPVNFUlZFUl9DQUNFUlRGSUxFLCAqKmt3
YXJncworICAgICk6CisgICAgICAgIGNsaWVudCA9IENvbnRleHQoCisgICAgICAgICAgICBhbHBu
X3Byb3RvY29scz1hbHBuX3Byb3RvY29scywKKyAgICAgICAgICAgIGNhZGF0YT1jYWRhdGEsCisg
ICAgICAgICAgICBjYWZpbGU9Y2FmaWxlLAorICAgICAgICAgICAgaXNfY2xpZW50PVRydWUsCisg
ICAgICAgICAgICAqKmt3YXJncworICAgICAgICApCisgICAgICAgIGNsaWVudC5oYW5kc2hha2Vf
ZXh0ZW5zaW9ucyA9IFsKKyAgICAgICAgICAgICgKKyAgICAgICAgICAgICAgICB0bHMuRXh0ZW5z
aW9uVHlwZS5RVUlDX1RSQU5TUE9SVF9QQVJBTUVURVJTLAorICAgICAgICAgICAgICAgIENMSUVO
VF9RVUlDX1RSQU5TUE9SVF9QQVJBTUVURVJTLAorICAgICAgICAgICAgKQorICAgICAgICBdCisg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2xpZW50LnN0YXRlLCBTdGF0ZS5DTElFTlRfSEFORFNI
QUtFX1NUQVJUKQorICAgICAgICByZXR1cm4gY2xpZW50CisKKyAgICBkZWYgY3JlYXRlX3NlcnZl
cihzZWxmLCBhbHBuX3Byb3RvY29scz1Ob25lKToKKyAgICAgICAgY29uZmlndXJhdGlvbiA9IFF1
aWNDb25maWd1cmF0aW9uKGlzX2NsaWVudD1GYWxzZSkKKyAgICAgICAgY29uZmlndXJhdGlvbi5s
b2FkX2NlcnRfY2hhaW4oU0VSVkVSX0NFUlRGSUxFLCBTRVJWRVJfS0VZRklMRSkKKworICAgICAg
ICBzZXJ2ZXIgPSBDb250ZXh0KAorICAgICAgICAgICAgYWxwbl9wcm90b2NvbHM9YWxwbl9wcm90
b2NvbHMsIGlzX2NsaWVudD1GYWxzZSwgbWF4X2Vhcmx5X2RhdGE9MHhGRkZGRkZGRgorICAgICAg
ICApCisgICAgICAgIHNlcnZlci5jZXJ0aWZpY2F0ZSA9IGNvbmZpZ3VyYXRpb24uY2VydGlmaWNh
dGUKKyAgICAgICAgc2VydmVyLmNlcnRpZmljYXRlX3ByaXZhdGVfa2V5ID0gY29uZmlndXJhdGlv
bi5wcml2YXRlX2tleQorICAgICAgICBzZXJ2ZXIuaGFuZHNoYWtlX2V4dGVuc2lvbnMgPSBbCisg
ICAgICAgICAgICAoCisgICAgICAgICAgICAgICAgdGxzLkV4dGVuc2lvblR5cGUuUVVJQ19UUkFO
U1BPUlRfUEFSQU1FVEVSUywKKyAgICAgICAgICAgICAgICBTRVJWRVJfUVVJQ19UUkFOU1BPUlRf
UEFSQU1FVEVSUywKKyAgICAgICAgICAgICkKKyAgICAgICAgXQorICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKHNlcnZlci5zdGF0ZSwgU3RhdGUuU0VSVkVSX0VYUEVDVF9DTElFTlRfSEVMTE8pCisg
ICAgICAgIHJldHVybiBzZXJ2ZXIKKworICAgIGRlZiB0ZXN0X2NsaWVudF91bmV4cGVjdGVkX21l
c3NhZ2Uoc2VsZik6CisgICAgICAgIGNsaWVudCA9IHNlbGYuY3JlYXRlX2NsaWVudCgpCisKKyAg
ICAgICAgY2xpZW50LnN0YXRlID0gU3RhdGUuQ0xJRU5UX0VYUEVDVF9TRVJWRVJfSEVMTE8KKyAg
ICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyh0bHMuQWxlcnRVbmV4cGVjdGVkTWVzc2FnZSk6
CisgICAgICAgICAgICBjbGllbnQuaGFuZGxlX21lc3NhZ2UoYiJceDAwXHgwMFx4MDBceDAwIiwg
Y3JlYXRlX2J1ZmZlcnMoKSkKKworICAgICAgICBjbGllbnQuc3RhdGUgPSBTdGF0ZS5DTElFTlRf
RVhQRUNUX0VOQ1JZUFRFRF9FWFRFTlNJT05TCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlz
ZXModGxzLkFsZXJ0VW5leHBlY3RlZE1lc3NhZ2UpOgorICAgICAgICAgICAgY2xpZW50LmhhbmRs
ZV9tZXNzYWdlKGIiXHgwMFx4MDBceDAwXHgwMCIsIGNyZWF0ZV9idWZmZXJzKCkpCisKKyAgICAg
ICAgY2xpZW50LnN0YXRlID0gU3RhdGUuQ0xJRU5UX0VYUEVDVF9DRVJUSUZJQ0FURV9SRVFVRVNU
X09SX0NFUlRJRklDQVRFCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXModGxzLkFsZXJ0
VW5leHBlY3RlZE1lc3NhZ2UpOgorICAgICAgICAgICAgY2xpZW50LmhhbmRsZV9tZXNzYWdlKGIi
XHgwMFx4MDBceDAwXHgwMCIsIGNyZWF0ZV9idWZmZXJzKCkpCisKKyAgICAgICAgY2xpZW50LnN0
YXRlID0gU3RhdGUuQ0xJRU5UX0VYUEVDVF9DRVJUSUZJQ0FURV9WRVJJRlkKKyAgICAgICAgd2l0
aCBzZWxmLmFzc2VydFJhaXNlcyh0bHMuQWxlcnRVbmV4cGVjdGVkTWVzc2FnZSk6CisgICAgICAg
ICAgICBjbGllbnQuaGFuZGxlX21lc3NhZ2UoYiJceDAwXHgwMFx4MDBceDAwIiwgY3JlYXRlX2J1
ZmZlcnMoKSkKKworICAgICAgICBjbGllbnQuc3RhdGUgPSBTdGF0ZS5DTElFTlRfRVhQRUNUX0ZJ
TklTSEVECisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXModGxzLkFsZXJ0VW5leHBlY3Rl
ZE1lc3NhZ2UpOgorICAgICAgICAgICAgY2xpZW50LmhhbmRsZV9tZXNzYWdlKGIiXHgwMFx4MDBc
eDAwXHgwMCIsIGNyZWF0ZV9idWZmZXJzKCkpCisKKyAgICAgICAgY2xpZW50LnN0YXRlID0gU3Rh
dGUuQ0xJRU5UX1BPU1RfSEFORFNIQUtFCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMo
dGxzLkFsZXJ0VW5leHBlY3RlZE1lc3NhZ2UpOgorICAgICAgICAgICAgY2xpZW50LmhhbmRsZV9t
ZXNzYWdlKGIiXHgwMFx4MDBceDAwXHgwMCIsIGNyZWF0ZV9idWZmZXJzKCkpCisKKyAgICBkZWYg
dGVzdF9jbGllbnRfYmFkX2NlcnRpZmljYXRlX3ZlcmlmeV9kYXRhKHNlbGYpOgorICAgICAgICBj
bGllbnQgPSBzZWxmLmNyZWF0ZV9jbGllbnQoKQorICAgICAgICBzZXJ2ZXIgPSBzZWxmLmNyZWF0
ZV9zZXJ2ZXIoKQorCisgICAgICAgICMgc2VuZCBjbGllbnQgaGVsbG8KKyAgICAgICAgY2xpZW50
X2J1ZiA9IGNyZWF0ZV9idWZmZXJzKCkKKyAgICAgICAgY2xpZW50LmhhbmRsZV9tZXNzYWdlKGIi
IiwgY2xpZW50X2J1ZikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbGllbnQuc3RhdGUsIFN0
YXRlLkNMSUVOVF9FWFBFQ1RfU0VSVkVSX0hFTExPKQorICAgICAgICBzZXJ2ZXJfaW5wdXQgPSBt
ZXJnZV9idWZmZXJzKGNsaWVudF9idWYpCisgICAgICAgIHJlc2V0X2J1ZmZlcnMoY2xpZW50X2J1
ZikKKworICAgICAgICAjIGhhbmRsZSBjbGllbnQgaGVsbG8KKyAgICAgICAgIyBzZW5kIHNlcnZl
ciBoZWxsbywgZW5jcnlwdGVkIGV4dGVuc2lvbnMsIGNlcnRpZmljYXRlLCBjZXJ0aWZpY2F0ZSB2
ZXJpZnksIGZpbmlzaGVkCisgICAgICAgIHNlcnZlcl9idWYgPSBjcmVhdGVfYnVmZmVycygpCisg
ICAgICAgIHNlcnZlci5oYW5kbGVfbWVzc2FnZShzZXJ2ZXJfaW5wdXQsIHNlcnZlcl9idWYpCisg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VydmVyLnN0YXRlLCBTdGF0ZS5TRVJWRVJfRVhQRUNU
X0ZJTklTSEVEKQorICAgICAgICBjbGllbnRfaW5wdXQgPSBtZXJnZV9idWZmZXJzKHNlcnZlcl9i
dWYpCisgICAgICAgIHJlc2V0X2J1ZmZlcnMoc2VydmVyX2J1ZikKKworICAgICAgICAjIG1lc3Mg
d2l0aCBjZXJ0aWZpY2F0ZSB2ZXJpZnkKKyAgICAgICAgY2xpZW50X2lucHV0ID0gY2xpZW50X2lu
cHV0WzotNTZdICsgYnl0ZXMoNCkgKyBjbGllbnRfaW5wdXRbLTUyOl0KKworICAgICAgICAjIGhh
bmRsZSBzZXJ2ZXIgaGVsbG8sIGVuY3J5cHRlZCBleHRlbnNpb25zLCBjZXJ0aWZpY2F0ZSwgY2Vy
dGlmaWNhdGUgdmVyaWZ5LCBmaW5pc2hlZAorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2Vz
KHRscy5BbGVydERlY3J5cHRFcnJvcik6CisgICAgICAgICAgICBjbGllbnQuaGFuZGxlX21lc3Nh
Z2UoY2xpZW50X2lucHV0LCBjbGllbnRfYnVmKQorCisgICAgZGVmIHRlc3RfY2xpZW50X2JhZF9m
aW5pc2hlZF92ZXJpZnlfZGF0YShzZWxmKToKKyAgICAgICAgY2xpZW50ID0gc2VsZi5jcmVhdGVf
Y2xpZW50KCkKKyAgICAgICAgc2VydmVyID0gc2VsZi5jcmVhdGVfc2VydmVyKCkKKworICAgICAg
ICAjIHNlbmQgY2xpZW50IGhlbGxvCisgICAgICAgIGNsaWVudF9idWYgPSBjcmVhdGVfYnVmZmVy
cygpCisgICAgICAgIGNsaWVudC5oYW5kbGVfbWVzc2FnZShiIiIsIGNsaWVudF9idWYpCisgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2xpZW50LnN0YXRlLCBTdGF0ZS5DTElFTlRfRVhQRUNUX1NF
UlZFUl9IRUxMTykKKyAgICAgICAgc2VydmVyX2lucHV0ID0gbWVyZ2VfYnVmZmVycyhjbGllbnRf
YnVmKQorICAgICAgICByZXNldF9idWZmZXJzKGNsaWVudF9idWYpCisKKyAgICAgICAgIyBoYW5k
bGUgY2xpZW50IGhlbGxvCisgICAgICAgICMgc2VuZCBzZXJ2ZXIgaGVsbG8sIGVuY3J5cHRlZCBl
eHRlbnNpb25zLCBjZXJ0aWZpY2F0ZSwgY2VydGlmaWNhdGUgdmVyaWZ5LCBmaW5pc2hlZAorICAg
ICAgICBzZXJ2ZXJfYnVmID0gY3JlYXRlX2J1ZmZlcnMoKQorICAgICAgICBzZXJ2ZXIuaGFuZGxl
X21lc3NhZ2Uoc2VydmVyX2lucHV0LCBzZXJ2ZXJfYnVmKQorICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKHNlcnZlci5zdGF0ZSwgU3RhdGUuU0VSVkVSX0VYUEVDVF9GSU5JU0hFRCkKKyAgICAgICAg
Y2xpZW50X2lucHV0ID0gbWVyZ2VfYnVmZmVycyhzZXJ2ZXJfYnVmKQorICAgICAgICByZXNldF9i
dWZmZXJzKHNlcnZlcl9idWYpCisKKyAgICAgICAgIyBtZXNzIHdpdGggZmluaXNoZWQgdmVyaWZ5
IGRhdGEKKyAgICAgICAgY2xpZW50X2lucHV0ID0gY2xpZW50X2lucHV0WzotNF0gKyBieXRlcyg0
KQorCisgICAgICAgICMgaGFuZGxlIHNlcnZlciBoZWxsbywgZW5jcnlwdGVkIGV4dGVuc2lvbnMs
IGNlcnRpZmljYXRlLCBjZXJ0aWZpY2F0ZSB2ZXJpZnksIGZpbmlzaGVkCisgICAgICAgIHdpdGgg
c2VsZi5hc3NlcnRSYWlzZXModGxzLkFsZXJ0RGVjcnlwdEVycm9yKToKKyAgICAgICAgICAgIGNs
aWVudC5oYW5kbGVfbWVzc2FnZShjbGllbnRfaW5wdXQsIGNsaWVudF9idWYpCisKKyAgICBkZWYg
dGVzdF9zZXJ2ZXJfdW5leHBlY3RlZF9tZXNzYWdlKHNlbGYpOgorICAgICAgICBzZXJ2ZXIgPSBz
ZWxmLmNyZWF0ZV9zZXJ2ZXIoKQorCisgICAgICAgIHNlcnZlci5zdGF0ZSA9IFN0YXRlLlNFUlZF
Ul9FWFBFQ1RfQ0xJRU5UX0hFTExPCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXModGxz
LkFsZXJ0VW5leHBlY3RlZE1lc3NhZ2UpOgorICAgICAgICAgICAgc2VydmVyLmhhbmRsZV9tZXNz
YWdlKGIiXHgwMFx4MDBceDAwXHgwMCIsIGNyZWF0ZV9idWZmZXJzKCkpCisKKyAgICAgICAgc2Vy
dmVyLnN0YXRlID0gU3RhdGUuU0VSVkVSX0VYUEVDVF9GSU5JU0hFRAorICAgICAgICB3aXRoIHNl
bGYuYXNzZXJ0UmFpc2VzKHRscy5BbGVydFVuZXhwZWN0ZWRNZXNzYWdlKToKKyAgICAgICAgICAg
IHNlcnZlci5oYW5kbGVfbWVzc2FnZShiIlx4MDBceDAwXHgwMFx4MDAiLCBjcmVhdGVfYnVmZmVy
cygpKQorCisgICAgICAgIHNlcnZlci5zdGF0ZSA9IFN0YXRlLlNFUlZFUl9QT1NUX0hBTkRTSEFL
RQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKHRscy5BbGVydFVuZXhwZWN0ZWRNZXNz
YWdlKToKKyAgICAgICAgICAgIHNlcnZlci5oYW5kbGVfbWVzc2FnZShiIlx4MDBceDAwXHgwMFx4
MDAiLCBjcmVhdGVfYnVmZmVycygpKQorCisgICAgZGVmIF9zZXJ2ZXJfZmFpbF9oZWxsbyhzZWxm
LCBjbGllbnQsIHNlcnZlcik6CisgICAgICAgICMgc2VuZCBjbGllbnQgaGVsbG8KKyAgICAgICAg
Y2xpZW50X2J1ZiA9IGNyZWF0ZV9idWZmZXJzKCkKKyAgICAgICAgY2xpZW50LmhhbmRsZV9tZXNz
YWdlKGIiIiwgY2xpZW50X2J1ZikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbGllbnQuc3Rh
dGUsIFN0YXRlLkNMSUVOVF9FWFBFQ1RfU0VSVkVSX0hFTExPKQorICAgICAgICBzZXJ2ZXJfaW5w
dXQgPSBtZXJnZV9idWZmZXJzKGNsaWVudF9idWYpCisgICAgICAgIHJlc2V0X2J1ZmZlcnMoY2xp
ZW50X2J1ZikKKworICAgICAgICAjIGhhbmRsZSBjbGllbnQgaGVsbG8KKyAgICAgICAgc2VydmVy
X2J1ZiA9IGNyZWF0ZV9idWZmZXJzKCkKKyAgICAgICAgc2VydmVyLmhhbmRsZV9tZXNzYWdlKHNl
cnZlcl9pbnB1dCwgc2VydmVyX2J1ZikKKworICAgIGRlZiB0ZXN0X3NlcnZlcl91bnN1cHBvcnRl
ZF9jaXBoZXJfc3VpdGUoc2VsZik6CisgICAgICAgIGNsaWVudCA9IHNlbGYuY3JlYXRlX2NsaWVu
dCgpCisgICAgICAgIGNsaWVudC5fY2lwaGVyX3N1aXRlcyA9IFt0bHMuQ2lwaGVyU3VpdGUuQUVT
XzEyOF9HQ01fU0hBMjU2XQorCisgICAgICAgIHNlcnZlciA9IHNlbGYuY3JlYXRlX3NlcnZlcigp
CisgICAgICAgIHNlcnZlci5fY2lwaGVyX3N1aXRlcyA9IFt0bHMuQ2lwaGVyU3VpdGUuQUVTXzI1
Nl9HQ01fU0hBMzg0XQorCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXModGxzLkFsZXJ0
SGFuZHNoYWtlRmFpbHVyZSkgYXMgY206CisgICAgICAgICAgICBzZWxmLl9zZXJ2ZXJfZmFpbF9o
ZWxsbyhjbGllbnQsIHNlcnZlcikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoY20uZXhj
ZXB0aW9uKSwgIk5vIHN1cHBvcnRlZCBjaXBoZXIgc3VpdGUiKQorCisgICAgZGVmIHRlc3Rfc2Vy
dmVyX3Vuc3VwcG9ydGVkX3NpZ25hdHVyZV9hbGdvcml0aG0oc2VsZik6CisgICAgICAgIGNsaWVu
dCA9IHNlbGYuY3JlYXRlX2NsaWVudCgpCisgICAgICAgIGNsaWVudC5fc2lnbmF0dXJlX2FsZ29y
aXRobXMgPSBbdGxzLlNpZ25hdHVyZUFsZ29yaXRobS5FRDQ0OF0KKworICAgICAgICBzZXJ2ZXIg
PSBzZWxmLmNyZWF0ZV9zZXJ2ZXIoKQorCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMo
dGxzLkFsZXJ0SGFuZHNoYWtlRmFpbHVyZSkgYXMgY206CisgICAgICAgICAgICBzZWxmLl9zZXJ2
ZXJfZmFpbF9oZWxsbyhjbGllbnQsIHNlcnZlcikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChz
dHIoY20uZXhjZXB0aW9uKSwgIk5vIHN1cHBvcnRlZCBzaWduYXR1cmUgYWxnb3JpdGhtIikKKwor
ICAgIGRlZiB0ZXN0X3NlcnZlcl91bnN1cHBvcnRlZF92ZXJzaW9uKHNlbGYpOgorICAgICAgICBj
bGllbnQgPSBzZWxmLmNyZWF0ZV9jbGllbnQoKQorICAgICAgICBjbGllbnQuX3N1cHBvcnRlZF92
ZXJzaW9ucyA9IFt0bHMuVExTX1ZFUlNJT05fMV8yXQorCisgICAgICAgIHNlcnZlciA9IHNlbGYu
Y3JlYXRlX3NlcnZlcigpCisKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyh0bHMuQWxl
cnRQcm90b2NvbFZlcnNpb24pIGFzIGNtOgorICAgICAgICAgICAgc2VsZi5fc2VydmVyX2ZhaWxf
aGVsbG8oY2xpZW50LCBzZXJ2ZXIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGNtLmV4
Y2VwdGlvbiksICJObyBzdXBwb3J0ZWQgcHJvdG9jb2wgdmVyc2lvbiIpCisKKyAgICBkZWYgdGVz
dF9zZXJ2ZXJfYmFkX2ZpbmlzaGVkX3ZlcmlmeV9kYXRhKHNlbGYpOgorICAgICAgICBjbGllbnQg
PSBzZWxmLmNyZWF0ZV9jbGllbnQoKQorICAgICAgICBzZXJ2ZXIgPSBzZWxmLmNyZWF0ZV9zZXJ2
ZXIoKQorCisgICAgICAgICMgc2VuZCBjbGllbnQgaGVsbG8KKyAgICAgICAgY2xpZW50X2J1ZiA9
IGNyZWF0ZV9idWZmZXJzKCkKKyAgICAgICAgY2xpZW50LmhhbmRsZV9tZXNzYWdlKGIiIiwgY2xp
ZW50X2J1ZikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbGllbnQuc3RhdGUsIFN0YXRlLkNM
SUVOVF9FWFBFQ1RfU0VSVkVSX0hFTExPKQorICAgICAgICBzZXJ2ZXJfaW5wdXQgPSBtZXJnZV9i
dWZmZXJzKGNsaWVudF9idWYpCisgICAgICAgIHJlc2V0X2J1ZmZlcnMoY2xpZW50X2J1ZikKKwor
ICAgICAgICAjIGhhbmRsZSBjbGllbnQgaGVsbG8KKyAgICAgICAgIyBzZW5kIHNlcnZlciBoZWxs
bywgZW5jcnlwdGVkIGV4dGVuc2lvbnMsIGNlcnRpZmljYXRlLCBjZXJ0aWZpY2F0ZSB2ZXJpZnks
IGZpbmlzaGVkCisgICAgICAgIHNlcnZlcl9idWYgPSBjcmVhdGVfYnVmZmVycygpCisgICAgICAg
IHNlcnZlci5oYW5kbGVfbWVzc2FnZShzZXJ2ZXJfaW5wdXQsIHNlcnZlcl9idWYpCisgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwoc2VydmVyLnN0YXRlLCBTdGF0ZS5TRVJWRVJfRVhQRUNUX0ZJTklT
SEVEKQorICAgICAgICBjbGllbnRfaW5wdXQgPSBtZXJnZV9idWZmZXJzKHNlcnZlcl9idWYpCisg
ICAgICAgIHJlc2V0X2J1ZmZlcnMoc2VydmVyX2J1ZikKKworICAgICAgICAjIGhhbmRsZSBzZXJ2
ZXIgaGVsbG8sIGVuY3J5cHRlZCBleHRlbnNpb25zLCBjZXJ0aWZpY2F0ZSwgY2VydGlmaWNhdGUg
dmVyaWZ5LCBmaW5pc2hlZAorICAgICAgICAjIHNlbmQgZmluaXNoZWQKKyAgICAgICAgY2xpZW50
LmhhbmRsZV9tZXNzYWdlKGNsaWVudF9pbnB1dCwgY2xpZW50X2J1ZikKKyAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbChjbGllbnQuc3RhdGUsIFN0YXRlLkNMSUVOVF9QT1NUX0hBTkRTSEFLRSkKKyAg
ICAgICAgc2VydmVyX2lucHV0ID0gbWVyZ2VfYnVmZmVycyhjbGllbnRfYnVmKQorICAgICAgICBy
ZXNldF9idWZmZXJzKGNsaWVudF9idWYpCisKKyAgICAgICAgIyBtZXNzIHdpdGggZmluaXNoZWQg
dmVyaWZ5IGRhdGEKKyAgICAgICAgc2VydmVyX2lucHV0ID0gc2VydmVyX2lucHV0WzotNF0gKyBi
eXRlcyg0KQorCisgICAgICAgICMgaGFuZGxlIGZpbmlzaGVkCisgICAgICAgIHdpdGggc2VsZi5h
c3NlcnRSYWlzZXModGxzLkFsZXJ0RGVjcnlwdEVycm9yKToKKyAgICAgICAgICAgIHNlcnZlci5o
YW5kbGVfbWVzc2FnZShzZXJ2ZXJfaW5wdXQsIHNlcnZlcl9idWYpCisKKyAgICBkZWYgX2hhbmRz
aGFrZShzZWxmLCBjbGllbnQsIHNlcnZlcik6CisgICAgICAgICMgc2VuZCBjbGllbnQgaGVsbG8K
KyAgICAgICAgY2xpZW50X2J1ZiA9IGNyZWF0ZV9idWZmZXJzKCkKKyAgICAgICAgY2xpZW50Lmhh
bmRsZV9tZXNzYWdlKGIiIiwgY2xpZW50X2J1ZikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChj
bGllbnQuc3RhdGUsIFN0YXRlLkNMSUVOVF9FWFBFQ1RfU0VSVkVSX0hFTExPKQorICAgICAgICBz
ZXJ2ZXJfaW5wdXQgPSBtZXJnZV9idWZmZXJzKGNsaWVudF9idWYpCisgICAgICAgIHNlbGYuYXNz
ZXJ0R3JlYXRlckVxdWFsKGxlbihzZXJ2ZXJfaW5wdXQpLCAyMTMpCisgICAgICAgIHNlbGYuYXNz
ZXJ0TGVzc0VxdWFsKGxlbihzZXJ2ZXJfaW5wdXQpLCAzNTgpCisgICAgICAgIHJlc2V0X2J1ZmZl
cnMoY2xpZW50X2J1ZikKKworICAgICAgICAjIGhhbmRsZSBjbGllbnQgaGVsbG8KKyAgICAgICAg
IyBzZW5kIHNlcnZlciBoZWxsbywgZW5jcnlwdGVkIGV4dGVuc2lvbnMsIGNlcnRpZmljYXRlLCBj
ZXJ0aWZpY2F0ZSB2ZXJpZnksIGZpbmlzaGVkLCAoc2Vzc2lvbiB0aWNrZXQpCisgICAgICAgIHNl
cnZlcl9idWYgPSBjcmVhdGVfYnVmZmVycygpCisgICAgICAgIHNlcnZlci5oYW5kbGVfbWVzc2Fn
ZShzZXJ2ZXJfaW5wdXQsIHNlcnZlcl9idWYpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2Vy
dmVyLnN0YXRlLCBTdGF0ZS5TRVJWRVJfRVhQRUNUX0ZJTklTSEVEKQorICAgICAgICBjbGllbnRf
aW5wdXQgPSBtZXJnZV9idWZmZXJzKHNlcnZlcl9idWYpCisgICAgICAgIHNlbGYuYXNzZXJ0R3Jl
YXRlckVxdWFsKGxlbihjbGllbnRfaW5wdXQpLCA2MDApCisgICAgICAgIHNlbGYuYXNzZXJ0TGVz
c0VxdWFsKGxlbihjbGllbnRfaW5wdXQpLCAyMzE2KQorCisgICAgICAgIHJlc2V0X2J1ZmZlcnMo
c2VydmVyX2J1ZikKKworICAgICAgICAjIGhhbmRsZSBzZXJ2ZXIgaGVsbG8sIGVuY3J5cHRlZCBl
eHRlbnNpb25zLCBjZXJ0aWZpY2F0ZSwgY2VydGlmaWNhdGUgdmVyaWZ5LCBmaW5pc2hlZCwgKHNl
c3Npb24gdGlja2V0KQorICAgICAgICAjIHNlbmQgZmluaXNoZWQKKyAgICAgICAgY2xpZW50Lmhh
bmRsZV9tZXNzYWdlKGNsaWVudF9pbnB1dCwgY2xpZW50X2J1ZikKKyAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChjbGllbnQuc3RhdGUsIFN0YXRlLkNMSUVOVF9QT1NUX0hBTkRTSEFLRSkKKyAgICAg
ICAgc2VydmVyX2lucHV0ID0gbWVyZ2VfYnVmZmVycyhjbGllbnRfYnVmKQorICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKGxlbihzZXJ2ZXJfaW5wdXQpLCA1MikKKyAgICAgICAgcmVzZXRfYnVmZmVy
cyhjbGllbnRfYnVmKQorCisgICAgICAgICMgaGFuZGxlIGZpbmlzaGVkCisgICAgICAgIHNlcnZl
ci5oYW5kbGVfbWVzc2FnZShzZXJ2ZXJfaW5wdXQsIHNlcnZlcl9idWYpCisgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwoc2VydmVyLnN0YXRlLCBTdGF0ZS5TRVJWRVJfUE9TVF9IQU5EU0hBS0UpCisg
ICAgICAgIGNsaWVudF9pbnB1dCA9IG1lcmdlX2J1ZmZlcnMoc2VydmVyX2J1ZikKKyAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChsZW4oY2xpZW50X2lucHV0KSwgMCkKKworICAgICAgICAjIGNoZWNr
IGtleXMgbWF0Y2gKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbGllbnQuX2RlY19rZXksIHNl
cnZlci5fZW5jX2tleSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbGllbnQuX2VuY19rZXks
IHNlcnZlci5fZGVjX2tleSkKKworICAgICAgICAjIGNoZWNrIGNpcGhlciBzdWl0ZQorICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgY2xpZW50LmtleV9zY2hlZHVsZS5jaXBo
ZXJfc3VpdGUsIHRscy5DaXBoZXJTdWl0ZS5BRVNfMjU2X0dDTV9TSEEzODQKKyAgICAgICAgKQor
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgc2VydmVyLmtleV9zY2hlZHVs
ZS5jaXBoZXJfc3VpdGUsIHRscy5DaXBoZXJTdWl0ZS5BRVNfMjU2X0dDTV9TSEEzODQKKyAgICAg
ICAgKQorCisgICAgZGVmIHRlc3RfaGFuZHNoYWtlKHNlbGYpOgorICAgICAgICBjbGllbnQgPSBz
ZWxmLmNyZWF0ZV9jbGllbnQoKQorICAgICAgICBzZXJ2ZXIgPSBzZWxmLmNyZWF0ZV9zZXJ2ZXIo
KQorCisgICAgICAgIHNlbGYuX2hhbmRzaGFrZShjbGllbnQsIHNlcnZlcikKKworICAgICAgICAj
IGNoZWNrIEFMUE4gbWF0Y2hlcworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNsaWVudC5hbHBu
X25lZ290aWF0ZWQsIE5vbmUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VydmVyLmFscG5f
bmVnb3RpYXRlZCwgTm9uZSkKKworICAgIGRlZiB0ZXN0X2hhbmRzaGFrZV9lY2RzYV9zZWNwMjU2
cjEoc2VsZik6CisgICAgICAgIHNlcnZlciA9IHNlbGYuY3JlYXRlX3NlcnZlcigpCisgICAgICAg
IHNlcnZlci5jZXJ0aWZpY2F0ZSwgc2VydmVyLmNlcnRpZmljYXRlX3ByaXZhdGVfa2V5ID0gZ2Vu
ZXJhdGVfZWNfY2VydGlmaWNhdGUoCisgICAgICAgICAgICBjb21tb25fbmFtZT0iZXhhbXBsZS5j
b20iLCBjdXJ2ZT1lYy5TRUNQMjU2UjEKKyAgICAgICAgKQorCisgICAgICAgIGNsaWVudCA9IHNl
bGYuY3JlYXRlX2NsaWVudCgKKyAgICAgICAgICAgIGNhZGF0YT1zZXJ2ZXIuY2VydGlmaWNhdGUu
cHVibGljX2J5dGVzKHNlcmlhbGl6YXRpb24uRW5jb2RpbmcuUEVNKSwKKyAgICAgICAgICAgIGNh
ZmlsZT1Ob25lLAorICAgICAgICApCisKKyAgICAgICAgc2VsZi5faGFuZHNoYWtlKGNsaWVudCwg
c2VydmVyKQorCisgICAgICAgICMgY2hlY2sgQUxQTiBtYXRjaGVzCisgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoY2xpZW50LmFscG5fbmVnb3RpYXRlZCwgTm9uZSkKKyAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChzZXJ2ZXIuYWxwbl9uZWdvdGlhdGVkLCBOb25lKQorCisgICAgZGVmIHRlc3RfaGFu
ZHNoYWtlX3dpdGhfYWxwbihzZWxmKToKKyAgICAgICAgY2xpZW50ID0gc2VsZi5jcmVhdGVfY2xp
ZW50KGFscG5fcHJvdG9jb2xzPVsiaHEtMjAiXSkKKyAgICAgICAgc2VydmVyID0gc2VsZi5jcmVh
dGVfc2VydmVyKGFscG5fcHJvdG9jb2xzPVsiaHEtMjAiLCAiaDMtMjAiXSkKKworICAgICAgICBz
ZWxmLl9oYW5kc2hha2UoY2xpZW50LCBzZXJ2ZXIpCisKKyAgICAgICAgIyBjaGVjayBBTFBOIG1h
dGNoZXMKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbGllbnQuYWxwbl9uZWdvdGlhdGVkLCAi
aHEtMjAiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlcnZlci5hbHBuX25lZ290aWF0ZWQs
ICJocS0yMCIpCisKKyAgICBkZWYgdGVzdF9oYW5kc2hha2Vfd2l0aF9hbHBuX2ZhaWwoc2VsZik6
CisgICAgICAgIGNsaWVudCA9IHNlbGYuY3JlYXRlX2NsaWVudChhbHBuX3Byb3RvY29scz1bImhx
LTIwIl0pCisgICAgICAgIHNlcnZlciA9IHNlbGYuY3JlYXRlX3NlcnZlcihhbHBuX3Byb3RvY29s
cz1bImgzLTIwIl0pCisKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyh0bHMuQWxlcnRI
YW5kc2hha2VGYWlsdXJlKSBhcyBjbToKKyAgICAgICAgICAgIHNlbGYuX2hhbmRzaGFrZShjbGll
bnQsIHNlcnZlcikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoY20uZXhjZXB0aW9uKSwg
Ik5vIGNvbW1vbiBBTFBOIHByb3RvY29scyIpCisKKyAgICBkZWYgdGVzdF9oYW5kc2hha2Vfd2l0
aF9yc2FfcGtjczFfc2hhMjU2X3NpZ25hdHVyZShzZWxmKToKKyAgICAgICAgY2xpZW50ID0gc2Vs
Zi5jcmVhdGVfY2xpZW50KCkKKyAgICAgICAgY2xpZW50Ll9zaWduYXR1cmVfYWxnb3JpdGhtcyA9
IFt0bHMuU2lnbmF0dXJlQWxnb3JpdGhtLlJTQV9QS0NTMV9TSEEyNTZdCisgICAgICAgIHNlcnZl
ciA9IHNlbGYuY3JlYXRlX3NlcnZlcigpCisKKyAgICAgICAgc2VsZi5faGFuZHNoYWtlKGNsaWVu
dCwgc2VydmVyKQorCisgICAgZGVmIHRlc3RfaGFuZHNoYWtlX3dpdGhfY2VydGlmaWNhdGVfZXJy
b3Ioc2VsZik6CisgICAgICAgIGNsaWVudCA9IHNlbGYuY3JlYXRlX2NsaWVudChjYWZpbGU9Tm9u
ZSkKKyAgICAgICAgc2VydmVyID0gc2VsZi5jcmVhdGVfc2VydmVyKCkKKworICAgICAgICB3aXRo
IHNlbGYuYXNzZXJ0UmFpc2VzKHRscy5BbGVydEJhZENlcnRpZmljYXRlKSBhcyBjbToKKyAgICAg
ICAgICAgIHNlbGYuX2hhbmRzaGFrZShjbGllbnQsIHNlcnZlcikKKyAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChzdHIoY20uZXhjZXB0aW9uKSwgInVuYWJsZSB0byBnZXQgbG9jYWwgaXNzdWVyIGNl
cnRpZmljYXRlIikKKworICAgIGRlZiB0ZXN0X2hhbmRzaGFrZV93aXRoX2NlcnRpZmljYXRlX25v
X3ZlcmlmeShzZWxmKToKKyAgICAgICAgY2xpZW50ID0gc2VsZi5jcmVhdGVfY2xpZW50KGNhZmls
ZT1Ob25lLCB2ZXJpZnlfbW9kZT1zc2wuQ0VSVF9OT05FKQorICAgICAgICBzZXJ2ZXIgPSBzZWxm
LmNyZWF0ZV9zZXJ2ZXIoKQorCisgICAgICAgIHNlbGYuX2hhbmRzaGFrZShjbGllbnQsIHNlcnZl
cikKKworICAgIGRlZiB0ZXN0X2hhbmRzaGFrZV93aXRoX2dyZWFzZV9ncm91cChzZWxmKToKKyAg
ICAgICAgY2xpZW50ID0gc2VsZi5jcmVhdGVfY2xpZW50KCkKKyAgICAgICAgY2xpZW50Ll9zdXBw
b3J0ZWRfZ3JvdXBzID0gW3Rscy5Hcm91cC5HUkVBU0UsIHRscy5Hcm91cC5TRUNQMjU2UjFdCisg
ICAgICAgIHNlcnZlciA9IHNlbGYuY3JlYXRlX3NlcnZlcigpCisKKyAgICAgICAgc2VsZi5faGFu
ZHNoYWtlKGNsaWVudCwgc2VydmVyKQorCisgICAgZGVmIHRlc3RfaGFuZHNoYWtlX3dpdGhfeDI1
NTE5KHNlbGYpOgorICAgICAgICBjbGllbnQgPSBzZWxmLmNyZWF0ZV9jbGllbnQoKQorICAgICAg
ICBjbGllbnQuX3N1cHBvcnRlZF9ncm91cHMgPSBbdGxzLkdyb3VwLlgyNTUxOV0KKyAgICAgICAg
c2VydmVyID0gc2VsZi5jcmVhdGVfc2VydmVyKCkKKworICAgICAgICB0cnk6CisgICAgICAgICAg
ICBzZWxmLl9oYW5kc2hha2UoY2xpZW50LCBzZXJ2ZXIpCisgICAgICAgIGV4Y2VwdCBVbnN1cHBv
cnRlZEFsZ29yaXRobSBhcyBleGM6CisgICAgICAgICAgICBzZWxmLnNraXBUZXN0KHN0cihleGMp
KQorCisgICAgZGVmIHRlc3RfaGFuZHNoYWtlX3dpdGhfeDQ0OChzZWxmKToKKyAgICAgICAgY2xp
ZW50ID0gc2VsZi5jcmVhdGVfY2xpZW50KCkKKyAgICAgICAgY2xpZW50Ll9zdXBwb3J0ZWRfZ3Jv
dXBzID0gW3Rscy5Hcm91cC5YNDQ4XQorICAgICAgICBzZXJ2ZXIgPSBzZWxmLmNyZWF0ZV9zZXJ2
ZXIoKQorCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNlbGYuX2hhbmRzaGFrZShjbGllbnQs
IHNlcnZlcikKKyAgICAgICAgZXhjZXB0IFVuc3VwcG9ydGVkQWxnb3JpdGhtIGFzIGV4YzoKKyAg
ICAgICAgICAgIHNlbGYuc2tpcFRlc3Qoc3RyKGV4YykpCisKKyAgICBkZWYgdGVzdF9zZXNzaW9u
X3RpY2tldChzZWxmKToKKyAgICAgICAgY2xpZW50X3RpY2tldHMgPSBbXQorICAgICAgICBzZXJ2
ZXJfdGlja2V0cyA9IFtdCisKKyAgICAgICAgZGVmIGNsaWVudF9uZXdfdGlja2V0KHRpY2tldCk6
CisgICAgICAgICAgICBjbGllbnRfdGlja2V0cy5hcHBlbmQodGlja2V0KQorCisgICAgICAgIGRl
ZiBzZXJ2ZXJfZ2V0X3RpY2tldChsYWJlbCk6CisgICAgICAgICAgICBmb3IgdCBpbiBzZXJ2ZXJf
dGlja2V0czoKKyAgICAgICAgICAgICAgICBpZiB0LnRpY2tldCA9PSBsYWJlbDoKKyAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIHQKKyAgICAgICAgICAgIHJldHVybiBOb25lCisKKyAgICAgICAg
ZGVmIHNlcnZlcl9uZXdfdGlja2V0KHRpY2tldCk6CisgICAgICAgICAgICBzZXJ2ZXJfdGlja2V0
cy5hcHBlbmQodGlja2V0KQorCisgICAgICAgIGRlZiBmaXJzdF9oYW5kc2hha2UoKToKKyAgICAg
ICAgICAgIGNsaWVudCA9IHNlbGYuY3JlYXRlX2NsaWVudCgpCisgICAgICAgICAgICBjbGllbnQu
bmV3X3Nlc3Npb25fdGlja2V0X2NiID0gY2xpZW50X25ld190aWNrZXQKKworICAgICAgICAgICAg
c2VydmVyID0gc2VsZi5jcmVhdGVfc2VydmVyKCkKKyAgICAgICAgICAgIHNlcnZlci5uZXdfc2Vz
c2lvbl90aWNrZXRfY2IgPSBzZXJ2ZXJfbmV3X3RpY2tldAorCisgICAgICAgICAgICBzZWxmLl9o
YW5kc2hha2UoY2xpZW50LCBzZXJ2ZXIpCisKKyAgICAgICAgICAgICMgY2hlY2sgc2Vzc2lvbiBy
ZXN1bXB0aW9uIHdhcyBub3QgdXNlZAorICAgICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShjbGll
bnQuc2Vzc2lvbl9yZXN1bWVkKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShzZXJ2ZXIu
c2Vzc2lvbl9yZXN1bWVkKQorCisgICAgICAgICAgICAjIGNoZWNrIHRpY2tldHMgbWF0Y2gKKyAg
ICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGNsaWVudF90aWNrZXRzKSwgMSkKKyAgICAg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHNlcnZlcl90aWNrZXRzKSwgMSkKKyAgICAgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2xpZW50X3RpY2tldHNbMF0udGlja2V0LCBzZXJ2ZXJfdGlj
a2V0c1swXS50aWNrZXQpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAg
ICAgICAgIGNsaWVudF90aWNrZXRzWzBdLnJlc3VtcHRpb25fc2VjcmV0LCBzZXJ2ZXJfdGlja2V0
c1swXS5yZXN1bXB0aW9uX3NlY3JldAorICAgICAgICAgICAgKQorCisgICAgICAgIGRlZiBzZWNv
bmRfaGFuZHNoYWtlKCk6CisgICAgICAgICAgICBjbGllbnQgPSBzZWxmLmNyZWF0ZV9jbGllbnQo
KQorICAgICAgICAgICAgY2xpZW50LnNlc3Npb25fdGlja2V0ID0gY2xpZW50X3RpY2tldHNbMF0K
KworICAgICAgICAgICAgc2VydmVyID0gc2VsZi5jcmVhdGVfc2VydmVyKCkKKyAgICAgICAgICAg
IHNlcnZlci5nZXRfc2Vzc2lvbl90aWNrZXRfY2IgPSBzZXJ2ZXJfZ2V0X3RpY2tldAorCisgICAg
ICAgICAgICAjIHNlbmQgY2xpZW50IGhlbGxvIHdpdGggcHJlX3NoYXJlZF9rZXkKKyAgICAgICAg
ICAgIGNsaWVudF9idWYgPSBjcmVhdGVfYnVmZmVycygpCisgICAgICAgICAgICBjbGllbnQuaGFu
ZGxlX21lc3NhZ2UoYiIiLCBjbGllbnRfYnVmKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChjbGllbnQuc3RhdGUsIFN0YXRlLkNMSUVOVF9FWFBFQ1RfU0VSVkVSX0hFTExPKQorICAgICAg
ICAgICAgc2VydmVyX2lucHV0ID0gbWVyZ2VfYnVmZmVycyhjbGllbnRfYnVmKQorICAgICAgICAg
ICAgc2VsZi5hc3NlcnRHcmVhdGVyRXF1YWwobGVuKHNlcnZlcl9pbnB1dCksIDM4MykKKyAgICAg
ICAgICAgIHNlbGYuYXNzZXJ0TGVzc0VxdWFsKGxlbihzZXJ2ZXJfaW5wdXQpLCA0ODMpCisgICAg
ICAgICAgICByZXNldF9idWZmZXJzKGNsaWVudF9idWYpCisKKyAgICAgICAgICAgICMgaGFuZGxl
IGNsaWVudCBoZWxsbworICAgICAgICAgICAgIyBzZW5kIHNlcnZlciBoZWxsbywgZW5jcnlwdGVk
IGV4dGVuc2lvbnMsIGZpbmlzaGVkCisgICAgICAgICAgICBzZXJ2ZXJfYnVmID0gY3JlYXRlX2J1
ZmZlcnMoKQorICAgICAgICAgICAgc2VydmVyLmhhbmRsZV9tZXNzYWdlKHNlcnZlcl9pbnB1dCwg
c2VydmVyX2J1ZikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VydmVyLnN0YXRlLCBT
dGF0ZS5TRVJWRVJfRVhQRUNUX0ZJTklTSEVEKQorICAgICAgICAgICAgY2xpZW50X2lucHV0ID0g
bWVyZ2VfYnVmZmVycyhzZXJ2ZXJfYnVmKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChs
ZW4oY2xpZW50X2lucHV0KSwgMzA3KQorICAgICAgICAgICAgcmVzZXRfYnVmZmVycyhzZXJ2ZXJf
YnVmKQorCisgICAgICAgICAgICAjIGhhbmRsZSBzZXJ2ZXIgaGVsbG8sIGVuY3J5cHRlZCBleHRl
bnNpb25zLCBjZXJ0aWZpY2F0ZSwgY2VydGlmaWNhdGUgdmVyaWZ5LCBmaW5pc2hlZAorICAgICAg
ICAgICAgIyBzZW5kIGZpbmlzaGVkCisgICAgICAgICAgICBjbGllbnQuaGFuZGxlX21lc3NhZ2Uo
Y2xpZW50X2lucHV0LCBjbGllbnRfYnVmKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChj
bGllbnQuc3RhdGUsIFN0YXRlLkNMSUVOVF9QT1NUX0hBTkRTSEFLRSkKKyAgICAgICAgICAgIHNl
cnZlcl9pbnB1dCA9IG1lcmdlX2J1ZmZlcnMoY2xpZW50X2J1ZikKKyAgICAgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwobGVuKHNlcnZlcl9pbnB1dCksIDUyKQorICAgICAgICAgICAgcmVzZXRfYnVm
ZmVycyhjbGllbnRfYnVmKQorCisgICAgICAgICAgICAjIGhhbmRsZSBmaW5pc2hlZAorICAgICAg
ICAgICAgIyBzZW5kIG5ld19zZXNzaW9uX3RpY2tldAorICAgICAgICAgICAgc2VydmVyLmhhbmRs
ZV9tZXNzYWdlKHNlcnZlcl9pbnB1dCwgc2VydmVyX2J1ZikKKyAgICAgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoc2VydmVyLnN0YXRlLCBTdGF0ZS5TRVJWRVJfUE9TVF9IQU5EU0hBS0UpCisgICAg
ICAgICAgICBjbGllbnRfaW5wdXQgPSBtZXJnZV9idWZmZXJzKHNlcnZlcl9idWYpCisgICAgICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihjbGllbnRfaW5wdXQpLCAwKQorICAgICAgICAgICAg
cmVzZXRfYnVmZmVycyhzZXJ2ZXJfYnVmKQorCisgICAgICAgICAgICAjIGNoZWNrIGtleXMgbWF0
Y2gKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2xpZW50Ll9kZWNfa2V5LCBzZXJ2ZXIu
X2VuY19rZXkpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNsaWVudC5fZW5jX2tleSwg
c2VydmVyLl9kZWNfa2V5KQorCisgICAgICAgICAgICAjIGNoZWNrIHNlc3Npb24gcmVzdW1wdGlv
biB3YXMgdXNlZAorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGNsaWVudC5zZXNzaW9uX3Jl
c3VtZWQpCisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoc2VydmVyLnNlc3Npb25fcmVzdW1l
ZCkKKworICAgICAgICBkZWYgc2Vjb25kX2hhbmRzaGFrZV9iYWRfYmluZGVyKCk6CisgICAgICAg
ICAgICBjbGllbnQgPSBzZWxmLmNyZWF0ZV9jbGllbnQoKQorICAgICAgICAgICAgY2xpZW50LnNl
c3Npb25fdGlja2V0ID0gY2xpZW50X3RpY2tldHNbMF0KKworICAgICAgICAgICAgc2VydmVyID0g
c2VsZi5jcmVhdGVfc2VydmVyKCkKKyAgICAgICAgICAgIHNlcnZlci5nZXRfc2Vzc2lvbl90aWNr
ZXRfY2IgPSBzZXJ2ZXJfZ2V0X3RpY2tldAorCisgICAgICAgICAgICAjIHNlbmQgY2xpZW50IGhl
bGxvIHdpdGggcHJlX3NoYXJlZF9rZXkKKyAgICAgICAgICAgIGNsaWVudF9idWYgPSBjcmVhdGVf
YnVmZmVycygpCisgICAgICAgICAgICBjbGllbnQuaGFuZGxlX21lc3NhZ2UoYiIiLCBjbGllbnRf
YnVmKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbGllbnQuc3RhdGUsIFN0YXRlLkNM
SUVOVF9FWFBFQ1RfU0VSVkVSX0hFTExPKQorICAgICAgICAgICAgc2VydmVyX2lucHV0ID0gbWVy
Z2VfYnVmZmVycyhjbGllbnRfYnVmKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRHcmVhdGVyRXF1
YWwobGVuKHNlcnZlcl9pbnB1dCksIDM4MykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0TGVzc0Vx
dWFsKGxlbihzZXJ2ZXJfaW5wdXQpLCA0ODMpCisgICAgICAgICAgICByZXNldF9idWZmZXJzKGNs
aWVudF9idWYpCisKKyAgICAgICAgICAgICMgdGFtcGVyIHdpdGggYmluZGVyCisgICAgICAgICAg
ICBzZXJ2ZXJfaW5wdXQgPSBzZXJ2ZXJfaW5wdXRbOi00XSArIGJ5dGVzKDQpCisKKyAgICAgICAg
ICAgICMgaGFuZGxlIGNsaWVudCBoZWxsbworICAgICAgICAgICAgIyBzZW5kIHNlcnZlciBoZWxs
bywgZW5jcnlwdGVkIGV4dGVuc2lvbnMsIGZpbmlzaGVkCisgICAgICAgICAgICBzZXJ2ZXJfYnVm
ID0gY3JlYXRlX2J1ZmZlcnMoKQorICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyh0
bHMuQWxlcnRIYW5kc2hha2VGYWlsdXJlKSBhcyBjbToKKyAgICAgICAgICAgICAgICBzZXJ2ZXIu
aGFuZGxlX21lc3NhZ2Uoc2VydmVyX2lucHV0LCBzZXJ2ZXJfYnVmKQorICAgICAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChzdHIoY20uZXhjZXB0aW9uKSwgIlBTSyB2YWxpZGF0aW9uIGZhaWxlZCIp
CisKKyAgICAgICAgZGVmIHNlY29uZF9oYW5kc2hha2VfYmFkX3ByZV9zaGFyZWRfa2V5KCk6Cisg
ICAgICAgICAgICBjbGllbnQgPSBzZWxmLmNyZWF0ZV9jbGllbnQoKQorICAgICAgICAgICAgY2xp
ZW50LnNlc3Npb25fdGlja2V0ID0gY2xpZW50X3RpY2tldHNbMF0KKworICAgICAgICAgICAgc2Vy
dmVyID0gc2VsZi5jcmVhdGVfc2VydmVyKCkKKyAgICAgICAgICAgIHNlcnZlci5nZXRfc2Vzc2lv
bl90aWNrZXRfY2IgPSBzZXJ2ZXJfZ2V0X3RpY2tldAorCisgICAgICAgICAgICAjIHNlbmQgY2xp
ZW50IGhlbGxvIHdpdGggcHJlX3NoYXJlZF9rZXkKKyAgICAgICAgICAgIGNsaWVudF9idWYgPSBj
cmVhdGVfYnVmZmVycygpCisgICAgICAgICAgICBjbGllbnQuaGFuZGxlX21lc3NhZ2UoYiIiLCBj
bGllbnRfYnVmKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbGllbnQuc3RhdGUsIFN0
YXRlLkNMSUVOVF9FWFBFQ1RfU0VSVkVSX0hFTExPKQorICAgICAgICAgICAgc2VydmVyX2lucHV0
ID0gbWVyZ2VfYnVmZmVycyhjbGllbnRfYnVmKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRHcmVh
dGVyRXF1YWwobGVuKHNlcnZlcl9pbnB1dCksIDM4MykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0
TGVzc0VxdWFsKGxlbihzZXJ2ZXJfaW5wdXQpLCA0ODMpCisgICAgICAgICAgICByZXNldF9idWZm
ZXJzKGNsaWVudF9idWYpCisKKyAgICAgICAgICAgICMgaGFuZGxlIGNsaWVudCBoZWxsbworICAg
ICAgICAgICAgIyBzZW5kIHNlcnZlciBoZWxsbywgZW5jcnlwdGVkIGV4dGVuc2lvbnMsIGZpbmlz
aGVkCisgICAgICAgICAgICBzZXJ2ZXJfYnVmID0gY3JlYXRlX2J1ZmZlcnMoKQorICAgICAgICAg
ICAgc2VydmVyLmhhbmRsZV9tZXNzYWdlKHNlcnZlcl9pbnB1dCwgc2VydmVyX2J1ZikKKyAgICAg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VydmVyLnN0YXRlLCBTdGF0ZS5TRVJWRVJfRVhQRUNU
X0ZJTklTSEVEKQorCisgICAgICAgICAgICAjIHRhbXBlciB3aXRoIHByZV9zaGFyZV9rZXkgaW5k
ZXgKKyAgICAgICAgICAgIGJ1ZiA9IHNlcnZlcl9idWZbdGxzLkVwb2NoLklOSVRJQUxdCisgICAg
ICAgICAgICBidWYuc2VlayhidWYudGVsbCgpIC0gMSkKKyAgICAgICAgICAgIGJ1Zi5wdXNoX3Vp
bnQ4KDEpCisgICAgICAgICAgICBjbGllbnRfaW5wdXQgPSBtZXJnZV9idWZmZXJzKHNlcnZlcl9i
dWYpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihjbGllbnRfaW5wdXQpLCAzMDcp
CisgICAgICAgICAgICByZXNldF9idWZmZXJzKHNlcnZlcl9idWYpCisKKyAgICAgICAgICAgICMg
aGFuZGxlIHNlcnZlciBoZWxsbyBhbmQgYm9tYgorICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2Vy
dFJhaXNlcyh0bHMuQWxlcnRJbGxlZ2FsUGFyYW1ldGVyKToKKyAgICAgICAgICAgICAgICBjbGll
bnQuaGFuZGxlX21lc3NhZ2UoY2xpZW50X2lucHV0LCBjbGllbnRfYnVmKQorCisgICAgICAgIGZp
cnN0X2hhbmRzaGFrZSgpCisgICAgICAgIHNlY29uZF9oYW5kc2hha2UoKQorICAgICAgICBzZWNv
bmRfaGFuZHNoYWtlX2JhZF9iaW5kZXIoKQorICAgICAgICBzZWNvbmRfaGFuZHNoYWtlX2JhZF9w
cmVfc2hhcmVkX2tleSgpCisKKworY2xhc3MgVGxzVGVzdChUZXN0Q2FzZSk6CisgICAgZGVmIHRl
c3RfcHVsbF9jbGllbnRfaGVsbG8oc2VsZik6CisgICAgICAgIGJ1ZiA9IEJ1ZmZlcihkYXRhPWxv
YWQoInRsc19jbGllbnRfaGVsbG8uYmluIikpCisgICAgICAgIGhlbGxvID0gcHVsbF9jbGllbnRf
aGVsbG8oYnVmKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoYnVmLmVvZigpKQorCisgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBoZWxsby5yYW5kb20sCisgICAgICAgICAg
ICBiaW5hc2NpaS51bmhleGxpZnkoCisgICAgICAgICAgICAgICAgIjE4YjJiMjNiZjNlNDRiNWQ1
MmNjZmU3YWVjYmM1ZmYxNGVhZGMzZDM0OWZhYmY4MDRkNzFmMTY1YWU3NmU3ZDUiCisgICAgICAg
ICAgICApLAorICAgICAgICApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAg
ICBoZWxsby5zZXNzaW9uX2lkLAorICAgICAgICAgICAgYmluYXNjaWkudW5oZXhsaWZ5KAorICAg
ICAgICAgICAgICAgICI5YWVlODJhMmQxODZjMWNiMzJhMzI5ZDlkY2ZlMDA0YTFhNDM4YWQwNDg1
YTUzYzZiZmNmNTVjMTMyYTIzMjM1IgorICAgICAgICAgICAgKSwKKyAgICAgICAgKQorICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgaGVsbG8uY2lwaGVyX3N1aXRlcywKKyAg
ICAgICAgICAgIFsKKyAgICAgICAgICAgICAgICB0bHMuQ2lwaGVyU3VpdGUuQUVTXzI1Nl9HQ01f
U0hBMzg0LAorICAgICAgICAgICAgICAgIHRscy5DaXBoZXJTdWl0ZS5BRVNfMTI4X0dDTV9TSEEy
NTYsCisgICAgICAgICAgICAgICAgdGxzLkNpcGhlclN1aXRlLkNIQUNIQTIwX1BPTFkxMzA1X1NI
QTI1NiwKKyAgICAgICAgICAgIF0sCisgICAgICAgICkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChoZWxsby5jb21wcmVzc2lvbl9tZXRob2RzLCBbdGxzLkNvbXByZXNzaW9uTWV0aG9kLk5VTExd
KQorCisgICAgICAgICMgZXh0ZW5zaW9ucworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGhlbGxv
LmFscG5fcHJvdG9jb2xzLCBOb25lKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAg
ICAgICAgaGVsbG8ua2V5X3NoYXJlLAorICAgICAgICAgICAgWworICAgICAgICAgICAgICAgICgK
KyAgICAgICAgICAgICAgICAgICAgdGxzLkdyb3VwLlNFQ1AyNTZSMSwKKyAgICAgICAgICAgICAg
ICAgICAgYmluYXNjaWkudW5oZXhsaWZ5KAorICAgICAgICAgICAgICAgICAgICAgICAgIjA0N2Jm
ZWEzNDQ0Njc1MzUwNTQyNjNiNzVkZWY2MGNmZmE4MjQwNWEyMTFiNjhkMWViOGQxZDk0NGU2N2Fl
ZjgiCisgICAgICAgICAgICAgICAgICAgICAgICAiOTNjNzY2NWE1NDczZDAzMmNmYWYyMmE3M2Rh
MjhlYjRhYWNhZTAwMTdlZDEyNTU3YjU3OTFmOThhMWU4NGYxNSIKKyAgICAgICAgICAgICAgICAg
ICAgICAgICJiMCIKKyAgICAgICAgICAgICAgICAgICAgKSwKKyAgICAgICAgICAgICAgICApCisg
ICAgICAgICAgICBdLAorICAgICAgICApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAg
ICAgICAgICBoZWxsby5wc2tfa2V5X2V4Y2hhbmdlX21vZGVzLCBbdGxzLlBza0tleUV4Y2hhbmdl
TW9kZS5QU0tfREhFX0tFXQorICAgICAgICApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaGVs
bG8uc2VydmVyX25hbWUsIE5vbmUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAg
ICAgICBoZWxsby5zaWduYXR1cmVfYWxnb3JpdGhtcywKKyAgICAgICAgICAgIFsKKyAgICAgICAg
ICAgICAgICB0bHMuU2lnbmF0dXJlQWxnb3JpdGhtLlJTQV9QU1NfUlNBRV9TSEEyNTYsCisgICAg
ICAgICAgICAgICAgdGxzLlNpZ25hdHVyZUFsZ29yaXRobS5FQ0RTQV9TRUNQMjU2UjFfU0hBMjU2
LAorICAgICAgICAgICAgICAgIHRscy5TaWduYXR1cmVBbGdvcml0aG0uUlNBX1BLQ1MxX1NIQTI1
NiwKKyAgICAgICAgICAgICAgICB0bHMuU2lnbmF0dXJlQWxnb3JpdGhtLlJTQV9QS0NTMV9TSEEx
LAorICAgICAgICAgICAgXSwKKyAgICAgICAgKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGhl
bGxvLnN1cHBvcnRlZF9ncm91cHMsIFt0bHMuR3JvdXAuU0VDUDI1NlIxXSkKKyAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIGhlbGxvLnN1cHBvcnRlZF92ZXJzaW9ucywKKyAg
ICAgICAgICAgIFsKKyAgICAgICAgICAgICAgICB0bHMuVExTX1ZFUlNJT05fMV8zLAorICAgICAg
ICAgICAgICAgIHRscy5UTFNfVkVSU0lPTl8xXzNfRFJBRlRfMjgsCisgICAgICAgICAgICAgICAg
dGxzLlRMU19WRVJTSU9OXzFfM19EUkFGVF8yNywKKyAgICAgICAgICAgICAgICB0bHMuVExTX1ZF
UlNJT05fMV8zX0RSQUZUXzI2LAorICAgICAgICAgICAgXSwKKyAgICAgICAgKQorCisgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBoZWxsby5vdGhlcl9leHRlbnNpb25zLAor
ICAgICAgICAgICAgWworICAgICAgICAgICAgICAgICgKKyAgICAgICAgICAgICAgICAgICAgdGxz
LkV4dGVuc2lvblR5cGUuUVVJQ19UUkFOU1BPUlRfUEFSQU1FVEVSUywKKyAgICAgICAgICAgICAg
ICAgICAgQ0xJRU5UX1FVSUNfVFJBTlNQT1JUX1BBUkFNRVRFUlMsCisgICAgICAgICAgICAgICAg
KQorICAgICAgICAgICAgXSwKKyAgICAgICAgKQorCisgICAgZGVmIHRlc3RfcHVsbF9jbGllbnRf
aGVsbG9fd2l0aF9hbHBuKHNlbGYpOgorICAgICAgICBidWYgPSBCdWZmZXIoZGF0YT1sb2FkKCJ0
bHNfY2xpZW50X2hlbGxvX3dpdGhfYWxwbi5iaW4iKSkKKyAgICAgICAgaGVsbG8gPSBwdWxsX2Ns
aWVudF9oZWxsbyhidWYpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShidWYuZW9mKCkpCisKKyAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIGhlbGxvLnJhbmRvbSwKKyAgICAg
ICAgICAgIGJpbmFzY2lpLnVuaGV4bGlmeSgKKyAgICAgICAgICAgICAgICAiZWQ1NzVjNmZiZDU5
OWM0ZGZhYWJkMDAzZGNhNmU4NjBjY2RiMGUxNzgyYzFhZjAyZTU3YmYyN2NiNjQ3OWI3NiIKKyAg
ICAgICAgICAgICksCisgICAgICAgICkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChoZWxsby5z
ZXNzaW9uX2lkLCBiIiIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBo
ZWxsby5jaXBoZXJfc3VpdGVzLAorICAgICAgICAgICAgWworICAgICAgICAgICAgICAgIHRscy5D
aXBoZXJTdWl0ZS5BRVNfMTI4X0dDTV9TSEEyNTYsCisgICAgICAgICAgICAgICAgdGxzLkNpcGhl
clN1aXRlLkFFU18yNTZfR0NNX1NIQTM4NCwKKyAgICAgICAgICAgICAgICB0bHMuQ2lwaGVyU3Vp
dGUuQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2LAorICAgICAgICAgICAgICAgIHRscy5DaXBoZXJT
dWl0ZS5FTVBUWV9SRU5FR09USUFUSU9OX0lORk9fU0NTViwKKyAgICAgICAgICAgIF0sCisgICAg
ICAgICkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChoZWxsby5jb21wcmVzc2lvbl9tZXRob2Rz
LCBbdGxzLkNvbXByZXNzaW9uTWV0aG9kLk5VTExdKQorCisgICAgICAgICMgZXh0ZW5zaW9ucwor
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGhlbGxvLmFscG5fcHJvdG9jb2xzLCBbImgzLTE5Il0p
CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaGVsbG8uZWFybHlfZGF0YSwgRmFsc2UpCisgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBoZWxsby5rZXlfc2hhcmUsCisgICAg
ICAgICAgICBbCisgICAgICAgICAgICAgICAgKAorICAgICAgICAgICAgICAgICAgICB0bHMuR3Jv
dXAuU0VDUDI1NlIxLAorICAgICAgICAgICAgICAgICAgICBiaW5hc2NpaS51bmhleGxpZnkoCisg
ICAgICAgICAgICAgICAgICAgICAgICAiMDQ4ODQyMzE1YzQzN2JiMGNlMjkyOWM4MTZmZWU0ZTk0
MmVjNWNiNmRiNmE2YjliZjYyMjY4MDE4OGViYjBkNCIKKyAgICAgICAgICAgICAgICAgICAgICAg
ICJiNjUyZTY5MDMzZjcxNjg2YWEwMWNiYzc5MTU1ODY2ZTI2NGM5ZjMzZjQ1YWExNmIwZGZhMTBh
MjIyZTNhNjY5IgorICAgICAgICAgICAgICAgICAgICAgICAgIjIyIgorICAgICAgICAgICAgICAg
ICAgICApLAorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgIF0sCisgICAgICAgICkKKyAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIGhlbGxvLnBza19rZXlfZXhjaGFu
Z2VfbW9kZXMsIFt0bHMuUHNrS2V5RXhjaGFuZ2VNb2RlLlBTS19ESEVfS0VdCisgICAgICAgICkK
KyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChoZWxsby5zZXJ2ZXJfbmFtZSwgImNsb3VkZmxhcmUt
cXVpYy5jb20iKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgaGVsbG8u
c2lnbmF0dXJlX2FsZ29yaXRobXMsCisgICAgICAgICAgICBbCisgICAgICAgICAgICAgICAgdGxz
LlNpZ25hdHVyZUFsZ29yaXRobS5FQ0RTQV9TRUNQMjU2UjFfU0hBMjU2LAorICAgICAgICAgICAg
ICAgIHRscy5TaWduYXR1cmVBbGdvcml0aG0uRUNEU0FfU0VDUDM4NFIxX1NIQTM4NCwKKyAgICAg
ICAgICAgICAgICB0bHMuU2lnbmF0dXJlQWxnb3JpdGhtLkVDRFNBX1NFQ1A1MjFSMV9TSEE1MTIs
CisgICAgICAgICAgICAgICAgdGxzLlNpZ25hdHVyZUFsZ29yaXRobS5FRDI1NTE5LAorICAgICAg
ICAgICAgICAgIHRscy5TaWduYXR1cmVBbGdvcml0aG0uRUQ0NDgsCisgICAgICAgICAgICAgICAg
dGxzLlNpZ25hdHVyZUFsZ29yaXRobS5SU0FfUFNTX1BTU19TSEEyNTYsCisgICAgICAgICAgICAg
ICAgdGxzLlNpZ25hdHVyZUFsZ29yaXRobS5SU0FfUFNTX1BTU19TSEEzODQsCisgICAgICAgICAg
ICAgICAgdGxzLlNpZ25hdHVyZUFsZ29yaXRobS5SU0FfUFNTX1BTU19TSEE1MTIsCisgICAgICAg
ICAgICAgICAgdGxzLlNpZ25hdHVyZUFsZ29yaXRobS5SU0FfUFNTX1JTQUVfU0hBMjU2LAorICAg
ICAgICAgICAgICAgIHRscy5TaWduYXR1cmVBbGdvcml0aG0uUlNBX1BTU19SU0FFX1NIQTM4NCwK
KyAgICAgICAgICAgICAgICB0bHMuU2lnbmF0dXJlQWxnb3JpdGhtLlJTQV9QU1NfUlNBRV9TSEE1
MTIsCisgICAgICAgICAgICAgICAgdGxzLlNpZ25hdHVyZUFsZ29yaXRobS5SU0FfUEtDUzFfU0hB
MjU2LAorICAgICAgICAgICAgICAgIHRscy5TaWduYXR1cmVBbGdvcml0aG0uUlNBX1BLQ1MxX1NI
QTM4NCwKKyAgICAgICAgICAgICAgICB0bHMuU2lnbmF0dXJlQWxnb3JpdGhtLlJTQV9QS0NTMV9T
SEE1MTIsCisgICAgICAgICAgICBdLAorICAgICAgICApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWwoCisgICAgICAgICAgICBoZWxsby5zdXBwb3J0ZWRfZ3JvdXBzLAorICAgICAgICAgICAgWwor
ICAgICAgICAgICAgICAgIHRscy5Hcm91cC5TRUNQMjU2UjEsCisgICAgICAgICAgICAgICAgdGxz
Lkdyb3VwLlgyNTUxOSwKKyAgICAgICAgICAgICAgICB0bHMuR3JvdXAuU0VDUDM4NFIxLAorICAg
ICAgICAgICAgICAgIHRscy5Hcm91cC5TRUNQNTIxUjEsCisgICAgICAgICAgICBdLAorICAgICAg
ICApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaGVsbG8uc3VwcG9ydGVkX3ZlcnNpb25zLCBb
dGxzLlRMU19WRVJTSU9OXzFfM10pCisKKyAgICAgICAgIyBzZXJpYWxpemUKKyAgICAgICAgYnVm
ID0gQnVmZmVyKDEwMDApCisgICAgICAgIHB1c2hfY2xpZW50X2hlbGxvKGJ1ZiwgaGVsbG8pCisg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGJ1Zi5kYXRhKSwgbGVuKGxvYWQoInRsc19jbGll
bnRfaGVsbG9fd2l0aF9hbHBuLmJpbiIpKSkKKworICAgIGRlZiB0ZXN0X3B1bGxfY2xpZW50X2hl
bGxvX3dpdGhfcHNrKHNlbGYpOgorICAgICAgICBidWYgPSBCdWZmZXIoZGF0YT1sb2FkKCJ0bHNf
Y2xpZW50X2hlbGxvX3dpdGhfcHNrLmJpbiIpKQorICAgICAgICBoZWxsbyA9IHB1bGxfY2xpZW50
X2hlbGxvKGJ1ZikKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGhlbGxvLmVhcmx5X2RhdGEs
IFRydWUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBoZWxsby5wcmVf
c2hhcmVkX2tleSwKKyAgICAgICAgICAgIHRscy5PZmZlcmVkUHNrcygKKyAgICAgICAgICAgICAg
ICBpZGVudGl0aWVzPVsKKyAgICAgICAgICAgICAgICAgICAgKAorICAgICAgICAgICAgICAgICAg
ICAgICAgYmluYXNjaWkudW5oZXhsaWZ5KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJm
YWIzZGM3ZDc5ZjM1ZWE1M2U5YWRmMjExNTBlNjAxNTkxYTc1MGI4MGNkZTBjZDE2N2ZlZjZlMGNk
YmMwMzJhIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjNDE2MWZjNWM1YjY2Njc5ZGU0
OTUyNGJkNTYyNGM1MGQ3MWJhM2U2NTA3ODBhNGJmZTQwMmQ2YTA2YTAwNTI1IgorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICIwYjVkYzUyMDg1MjMzYjY5ZDBkZDEzOTI0Y2M1YzcxM2EzOTY3
ODRlY2FmYzU5ZjVlYTczYzE1ODVkNzk2MjFiIgorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICI4YTk0ZTRmMjI5MWIxNzQyN2Q1MTg1YWJmNGE5OTRmY2E3NGVlN2E3Zjk5M2E5NTBjNzEwMDNm
YzdjZjgiCisgICAgICAgICAgICAgICAgICAgICAgICApLAorICAgICAgICAgICAgICAgICAgICAg
ICAgMjA2NzE1NjM3OCwKKyAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgIF0s
CisgICAgICAgICAgICAgICAgYmluZGVycz1bCisgICAgICAgICAgICAgICAgICAgIGJpbmFzY2lp
LnVuaGV4bGlmeSgKKyAgICAgICAgICAgICAgICAgICAgICAgICIxNzg4YWQ0M2ZkZmYzN2NmYzYy
OGYyNGI2Y2U3YzhjNzYxODA3MDUzODBkYTE3ZGEzMjgxMWI1YmFlNGU3OCIKKyAgICAgICAgICAg
ICAgICAgICAgICAgICJkN2FhYWY2NWE5YjcxMzg3MmYyYmIyODgxOGNhMWE2YjAxIgorICAgICAg
ICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICksCisgICAg
ICAgICkKKworICAgICAgICBzZWxmLmFzc2VydFRydWUoYnVmLmVvZigpKQorCisgICAgICAgICMg
c2VyaWFsaXplCisgICAgICAgIGJ1ZiA9IEJ1ZmZlcigxMDAwKQorICAgICAgICBwdXNoX2NsaWVu
dF9oZWxsbyhidWYsIGhlbGxvKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ1Zi5kYXRhLCBs
b2FkKCJ0bHNfY2xpZW50X2hlbGxvX3dpdGhfcHNrLmJpbiIpKQorCisgICAgZGVmIHRlc3RfcHVs
bF9jbGllbnRfaGVsbG9fd2l0aF9zbmkoc2VsZik6CisgICAgICAgIGJ1ZiA9IEJ1ZmZlcihkYXRh
PWxvYWQoInRsc19jbGllbnRfaGVsbG9fd2l0aF9zbmkuYmluIikpCisgICAgICAgIGhlbGxvID0g
cHVsbF9jbGllbnRfaGVsbG8oYnVmKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoYnVmLmVvZigp
KQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBoZWxsby5yYW5kb20s
CisgICAgICAgICAgICBiaW5hc2NpaS51bmhleGxpZnkoCisgICAgICAgICAgICAgICAgIjk4N2Q4
OTM0MTQwYjBhNDJjYzU1NDUwNzFmM2Y5ZjdmNjE5NjNkN2I2NDA0ZWI2NzRjOGRiZTUxMzYwNDM0
NmIiCisgICAgICAgICAgICApLAorICAgICAgICApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
CisgICAgICAgICAgICBoZWxsby5zZXNzaW9uX2lkLAorICAgICAgICAgICAgYmluYXNjaWkudW5o
ZXhsaWZ5KAorICAgICAgICAgICAgICAgICIyNmIxOWJkZDMwZGJmNzUxMDE1YTNhMTZlMTNiZDU5
MDAyZGZlNDIwYjc5OWQyYTVjZDVlMTFiOGZhN2JjYjY2IgorICAgICAgICAgICAgKSwKKyAgICAg
ICAgKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgaGVsbG8uY2lwaGVy
X3N1aXRlcywKKyAgICAgICAgICAgIFsKKyAgICAgICAgICAgICAgICB0bHMuQ2lwaGVyU3VpdGUu
QUVTXzI1Nl9HQ01fU0hBMzg0LAorICAgICAgICAgICAgICAgIHRscy5DaXBoZXJTdWl0ZS5BRVNf
MTI4X0dDTV9TSEEyNTYsCisgICAgICAgICAgICAgICAgdGxzLkNpcGhlclN1aXRlLkNIQUNIQTIw
X1BPTFkxMzA1X1NIQTI1NiwKKyAgICAgICAgICAgIF0sCisgICAgICAgICkKKyAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChoZWxsby5jb21wcmVzc2lvbl9tZXRob2RzLCBbdGxzLkNvbXByZXNzaW9u
TWV0aG9kLk5VTExdKQorCisgICAgICAgICMgZXh0ZW5zaW9ucworICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKGhlbGxvLmFscG5fcHJvdG9jb2xzLCBOb25lKQorICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKAorICAgICAgICAgICAgaGVsbG8ua2V5X3NoYXJlLAorICAgICAgICAgICAgWworICAgICAg
ICAgICAgICAgICgKKyAgICAgICAgICAgICAgICAgICAgdGxzLkdyb3VwLlNFQ1AyNTZSMSwKKyAg
ICAgICAgICAgICAgICAgICAgYmluYXNjaWkudW5oZXhsaWZ5KAorICAgICAgICAgICAgICAgICAg
ICAgICAgIjA0YjYyZDcwZjkwN2M4MTRjZDY1ZDBmNzNiOGI5OTFmMDZiNzBjNzcxNTNmNTQ4NDEw
YTE5MWQyYjE5NzY0YTIiCisgICAgICAgICAgICAgICAgICAgICAgICAiZWNjMDYwNjVhNDgwZWZh
OWUxZjEwYzhkYTZlNzM3ZDViZmMwNGJlM2Y3NzNlMjBhMGM5OTdmNTFiNTYyMTI4MCIKKyAgICAg
ICAgICAgICAgICAgICAgICAgICI0MCIKKyAgICAgICAgICAgICAgICAgICAgKSwKKyAgICAgICAg
ICAgICAgICApCisgICAgICAgICAgICBdLAorICAgICAgICApCisgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwoCisgICAgICAgICAgICBoZWxsby5wc2tfa2V5X2V4Y2hhbmdlX21vZGVzLCBbdGxzLlBz
a0tleUV4Y2hhbmdlTW9kZS5QU0tfREhFX0tFXQorICAgICAgICApCisgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoaGVsbG8uc2VydmVyX25hbWUsICJjbG91ZGZsYXJlLXF1aWMuY29tIikKKyAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIGhlbGxvLnNpZ25hdHVyZV9hbGdvcml0
aG1zLAorICAgICAgICAgICAgWworICAgICAgICAgICAgICAgIHRscy5TaWduYXR1cmVBbGdvcml0
aG0uUlNBX1BTU19SU0FFX1NIQTI1NiwKKyAgICAgICAgICAgICAgICB0bHMuU2lnbmF0dXJlQWxn
b3JpdGhtLkVDRFNBX1NFQ1AyNTZSMV9TSEEyNTYsCisgICAgICAgICAgICAgICAgdGxzLlNpZ25h
dHVyZUFsZ29yaXRobS5SU0FfUEtDUzFfU0hBMjU2LAorICAgICAgICAgICAgICAgIHRscy5TaWdu
YXR1cmVBbGdvcml0aG0uUlNBX1BLQ1MxX1NIQTEsCisgICAgICAgICAgICBdLAorICAgICAgICAp
CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaGVsbG8uc3VwcG9ydGVkX2dyb3VwcywgW3Rscy5H
cm91cC5TRUNQMjU2UjFdKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAg
aGVsbG8uc3VwcG9ydGVkX3ZlcnNpb25zLAorICAgICAgICAgICAgWworICAgICAgICAgICAgICAg
IHRscy5UTFNfVkVSU0lPTl8xXzMsCisgICAgICAgICAgICAgICAgdGxzLlRMU19WRVJTSU9OXzFf
M19EUkFGVF8yOCwKKyAgICAgICAgICAgICAgICB0bHMuVExTX1ZFUlNJT05fMV8zX0RSQUZUXzI3
LAorICAgICAgICAgICAgICAgIHRscy5UTFNfVkVSU0lPTl8xXzNfRFJBRlRfMjYsCisgICAgICAg
ICAgICBdLAorICAgICAgICApCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAg
ICAgIGhlbGxvLm90aGVyX2V4dGVuc2lvbnMsCisgICAgICAgICAgICBbCisgICAgICAgICAgICAg
ICAgKAorICAgICAgICAgICAgICAgICAgICB0bHMuRXh0ZW5zaW9uVHlwZS5RVUlDX1RSQU5TUE9S
VF9QQVJBTUVURVJTLAorICAgICAgICAgICAgICAgICAgICBDTElFTlRfUVVJQ19UUkFOU1BPUlRf
UEFSQU1FVEVSUywKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICBdLAorICAgICAgICAp
CisKKyAgICAgICAgIyBzZXJpYWxpemUKKyAgICAgICAgYnVmID0gQnVmZmVyKDEwMDApCisgICAg
ICAgIHB1c2hfY2xpZW50X2hlbGxvKGJ1ZiwgaGVsbG8pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWwoYnVmLmRhdGEsIGxvYWQoInRsc19jbGllbnRfaGVsbG9fd2l0aF9zbmkuYmluIikpCisKKyAg
ICBkZWYgdGVzdF9wdXNoX2NsaWVudF9oZWxsbyhzZWxmKToKKyAgICAgICAgaGVsbG8gPSBDbGll
bnRIZWxsbygKKyAgICAgICAgICAgIHJhbmRvbT1iaW5hc2NpaS51bmhleGxpZnkoCisgICAgICAg
ICAgICAgICAgIjE4YjJiMjNiZjNlNDRiNWQ1MmNjZmU3YWVjYmM1ZmYxNGVhZGMzZDM0OWZhYmY4
MDRkNzFmMTY1YWU3NmU3ZDUiCisgICAgICAgICAgICApLAorICAgICAgICAgICAgc2Vzc2lvbl9p
ZD1iaW5hc2NpaS51bmhleGxpZnkoCisgICAgICAgICAgICAgICAgIjlhZWU4MmEyZDE4NmMxY2Iz
MmEzMjlkOWRjZmUwMDRhMWE0MzhhZDA0ODVhNTNjNmJmY2Y1NWMxMzJhMjMyMzUiCisgICAgICAg
ICAgICApLAorICAgICAgICAgICAgY2lwaGVyX3N1aXRlcz1bCisgICAgICAgICAgICAgICAgdGxz
LkNpcGhlclN1aXRlLkFFU18yNTZfR0NNX1NIQTM4NCwKKyAgICAgICAgICAgICAgICB0bHMuQ2lw
aGVyU3VpdGUuQUVTXzEyOF9HQ01fU0hBMjU2LAorICAgICAgICAgICAgICAgIHRscy5DaXBoZXJT
dWl0ZS5DSEFDSEEyMF9QT0xZMTMwNV9TSEEyNTYsCisgICAgICAgICAgICBdLAorICAgICAgICAg
ICAgY29tcHJlc3Npb25fbWV0aG9kcz1bdGxzLkNvbXByZXNzaW9uTWV0aG9kLk5VTExdLAorICAg
ICAgICAgICAga2V5X3NoYXJlPVsKKyAgICAgICAgICAgICAgICAoCisgICAgICAgICAgICAgICAg
ICAgIHRscy5Hcm91cC5TRUNQMjU2UjEsCisgICAgICAgICAgICAgICAgICAgIGJpbmFzY2lpLnVu
aGV4bGlmeSgKKyAgICAgICAgICAgICAgICAgICAgICAgICIwNDdiZmVhMzQ0NDY3NTM1MDU0MjYz
Yjc1ZGVmNjBjZmZhODI0MDVhMjExYjY4ZDFlYjhkMWQ5NDRlNjdhZWY4IgorICAgICAgICAgICAg
ICAgICAgICAgICAgIjkzYzc2NjVhNTQ3M2QwMzJjZmFmMjJhNzNkYTI4ZWI0YWFjYWUwMDE3ZWQx
MjU1N2I1NzkxZjk4YTFlODRmMTUiCisgICAgICAgICAgICAgICAgICAgICAgICAiYjAiCisgICAg
ICAgICAgICAgICAgICAgICksCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgXSwKKyAg
ICAgICAgICAgIHBza19rZXlfZXhjaGFuZ2VfbW9kZXM9W3Rscy5Qc2tLZXlFeGNoYW5nZU1vZGUu
UFNLX0RIRV9LRV0sCisgICAgICAgICAgICBzaWduYXR1cmVfYWxnb3JpdGhtcz1bCisgICAgICAg
ICAgICAgICAgdGxzLlNpZ25hdHVyZUFsZ29yaXRobS5SU0FfUFNTX1JTQUVfU0hBMjU2LAorICAg
ICAgICAgICAgICAgIHRscy5TaWduYXR1cmVBbGdvcml0aG0uRUNEU0FfU0VDUDI1NlIxX1NIQTI1
NiwKKyAgICAgICAgICAgICAgICB0bHMuU2lnbmF0dXJlQWxnb3JpdGhtLlJTQV9QS0NTMV9TSEEy
NTYsCisgICAgICAgICAgICAgICAgdGxzLlNpZ25hdHVyZUFsZ29yaXRobS5SU0FfUEtDUzFfU0hB
MSwKKyAgICAgICAgICAgIF0sCisgICAgICAgICAgICBzdXBwb3J0ZWRfZ3JvdXBzPVt0bHMuR3Jv
dXAuU0VDUDI1NlIxXSwKKyAgICAgICAgICAgIHN1cHBvcnRlZF92ZXJzaW9ucz1bCisgICAgICAg
ICAgICAgICAgdGxzLlRMU19WRVJTSU9OXzFfMywKKyAgICAgICAgICAgICAgICB0bHMuVExTX1ZF
UlNJT05fMV8zX0RSQUZUXzI4LAorICAgICAgICAgICAgICAgIHRscy5UTFNfVkVSU0lPTl8xXzNf
RFJBRlRfMjcsCisgICAgICAgICAgICAgICAgdGxzLlRMU19WRVJTSU9OXzFfM19EUkFGVF8yNiwK
KyAgICAgICAgICAgIF0sCisgICAgICAgICAgICBvdGhlcl9leHRlbnNpb25zPVsKKyAgICAgICAg
ICAgICAgICAoCisgICAgICAgICAgICAgICAgICAgIHRscy5FeHRlbnNpb25UeXBlLlFVSUNfVFJB
TlNQT1JUX1BBUkFNRVRFUlMsCisgICAgICAgICAgICAgICAgICAgIENMSUVOVF9RVUlDX1RSQU5T
UE9SVF9QQVJBTUVURVJTLAorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgIF0sCisgICAg
ICAgICkKKworICAgICAgICBidWYgPSBCdWZmZXIoMTAwMCkKKyAgICAgICAgcHVzaF9jbGllbnRf
aGVsbG8oYnVmLCBoZWxsbykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChidWYuZGF0YSwgbG9h
ZCgidGxzX2NsaWVudF9oZWxsby5iaW4iKSkKKworICAgIGRlZiB0ZXN0X3B1bGxfc2VydmVyX2hl
bGxvKHNlbGYpOgorICAgICAgICBidWYgPSBCdWZmZXIoZGF0YT1sb2FkKCJ0bHNfc2VydmVyX2hl
bGxvLmJpbiIpKQorICAgICAgICBoZWxsbyA9IHB1bGxfc2VydmVyX2hlbGxvKGJ1ZikKKyAgICAg
ICAgc2VsZi5hc3NlcnRUcnVlKGJ1Zi5lb2YoKSkKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KAorICAgICAgICAgICAgaGVsbG8ucmFuZG9tLAorICAgICAgICAgICAgYmluYXNjaWkudW5oZXhs
aWZ5KAorICAgICAgICAgICAgICAgICJhZGE4NTI3MWQxOTY4MGM2MTVlYTczMzY1MTllM2ZkZjZm
MWUyNmYzYjEwNzVlZTFkZTk2ZmZhODg4NGU4MjgwIgorICAgICAgICAgICAgKSwKKyAgICAgICAg
KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgaGVsbG8uc2Vzc2lvbl9p
ZCwKKyAgICAgICAgICAgIGJpbmFzY2lpLnVuaGV4bGlmeSgKKyAgICAgICAgICAgICAgICAiOWFl
ZTgyYTJkMTg2YzFjYjMyYTMyOWQ5ZGNmZTAwNGExYTQzOGFkMDQ4NWE1M2M2YmZjZjU1YzEzMmEy
MzIzNSIKKyAgICAgICAgICAgICksCisgICAgICAgICkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChoZWxsby5jaXBoZXJfc3VpdGUsIHRscy5DaXBoZXJTdWl0ZS5BRVNfMjU2X0dDTV9TSEEzODQp
CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaGVsbG8uY29tcHJlc3Npb25fbWV0aG9kLCB0bHMu
Q29tcHJlc3Npb25NZXRob2QuTlVMTCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAg
ICAgICAgIGhlbGxvLmtleV9zaGFyZSwKKyAgICAgICAgICAgICgKKyAgICAgICAgICAgICAgICB0
bHMuR3JvdXAuU0VDUDI1NlIxLAorICAgICAgICAgICAgICAgIGJpbmFzY2lpLnVuaGV4bGlmeSgK
KyAgICAgICAgICAgICAgICAgICAgIjA0OGIyN2QwMjgyMjQyZDg0YjdmY2MwMmE5YzRmMTNlY2Ew
MzI5ZTNjNzAyOWFhMzRhMzM3OTRlNmU3YmExODkiCisgICAgICAgICAgICAgICAgICAgICI1Y2Nh
MWM1MDNiZjAzNzhhYzY5MzdjMzU0OTEyMTE2ZmYzMjUxMDI2YmNhMTk1OGQ3ZjM4NzMxNmM4M2Fl
NmNmIgorICAgICAgICAgICAgICAgICAgICAiYjIiCisgICAgICAgICAgICAgICAgKSwKKyAgICAg
ICAgICAgICksCisgICAgICAgICkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChoZWxsby5wcmVf
c2hhcmVkX2tleSwgTm9uZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChoZWxsby5zdXBwb3J0
ZWRfdmVyc2lvbiwgdGxzLlRMU19WRVJTSU9OXzFfMykKKworICAgIGRlZiB0ZXN0X3B1bGxfc2Vy
dmVyX2hlbGxvX3dpdGhfcHNrKHNlbGYpOgorICAgICAgICBidWYgPSBCdWZmZXIoZGF0YT1sb2Fk
KCJ0bHNfc2VydmVyX2hlbGxvX3dpdGhfcHNrLmJpbiIpKQorICAgICAgICBoZWxsbyA9IHB1bGxf
c2VydmVyX2hlbGxvKGJ1ZikKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGJ1Zi5lb2YoKSkKKwor
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgaGVsbG8ucmFuZG9tLAorICAg
ICAgICAgICAgYmluYXNjaWkudW5oZXhsaWZ5KAorICAgICAgICAgICAgICAgICJjY2JhYWYwNGZj
MWJkNTE0M2IyY2M2Yjk3NTIwY2YzN2Q5MTQ3MGRiZmM4MTI3MTMxYTdiZjBmOTQxZTNhMTM3Igor
ICAgICAgICAgICAgKSwKKyAgICAgICAgKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAg
ICAgICAgICAgaGVsbG8uc2Vzc2lvbl9pZCwKKyAgICAgICAgICAgIGJpbmFzY2lpLnVuaGV4bGlm
eSgKKyAgICAgICAgICAgICAgICAiOTQ4M2U3ZTg5NWQwZjRjZWMxNzA4NmIwODQ5NjAxYzA2MzI2
NjJjZDc2NGU4MjhmMmY4OTJmNGM0Yjc3NzFiMCIKKyAgICAgICAgICAgICksCisgICAgICAgICkK
KyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChoZWxsby5jaXBoZXJfc3VpdGUsIHRscy5DaXBoZXJT
dWl0ZS5BRVNfMjU2X0dDTV9TSEEzODQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaGVsbG8u
Y29tcHJlc3Npb25fbWV0aG9kLCB0bHMuQ29tcHJlc3Npb25NZXRob2QuTlVMTCkKKyAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIGhlbGxvLmtleV9zaGFyZSwKKyAgICAgICAg
ICAgICgKKyAgICAgICAgICAgICAgICB0bHMuR3JvdXAuU0VDUDI1NlIxLAorICAgICAgICAgICAg
ICAgIGJpbmFzY2lpLnVuaGV4bGlmeSgKKyAgICAgICAgICAgICAgICAgICAgIjA0ODVkN2NlY2Jl
YmZjNTQ4ZmM2NTdiZjUxYjhlOGRhODQyYTQwNTZiMTY0YTI3Zjc3MDJjYTMxOGMxNmU0ODgiCisg
ICAgICAgICAgICAgICAgICAgICIxOGI2NDA5NTkzYjE1YzY2NDlkNmY0NTkzODdhNTMxMjhiMTY0
MTc4YWRjODQwMTc5YWFkMDFkMzZjZTk1ZDYyIgorICAgICAgICAgICAgICAgICAgICAiNzYiCisg
ICAgICAgICAgICAgICAgKSwKKyAgICAgICAgICAgICksCisgICAgICAgICkKKyAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChoZWxsby5wcmVfc2hhcmVkX2tleSwgMCkKKyAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChoZWxsby5zdXBwb3J0ZWRfdmVyc2lvbiwgdGxzLlRMU19WRVJTSU9OXzFfMykKKwor
ICAgICAgICAjIHNlcmlhbGl6ZQorICAgICAgICBidWYgPSBCdWZmZXIoMTAwMCkKKyAgICAgICAg
cHVzaF9zZXJ2ZXJfaGVsbG8oYnVmLCBoZWxsbykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChi
dWYuZGF0YSwgbG9hZCgidGxzX3NlcnZlcl9oZWxsb193aXRoX3Bzay5iaW4iKSkKKworICAgIGRl
ZiB0ZXN0X3B1bGxfc2VydmVyX2hlbGxvX3dpdGhfdW5rbm93bl9leHRlbnNpb24oc2VsZik6Cisg
ICAgICAgIGJ1ZiA9IEJ1ZmZlcihkYXRhPWxvYWQoInRsc19zZXJ2ZXJfaGVsbG9fd2l0aF91bmtu
b3duX2V4dGVuc2lvbi5iaW4iKSkKKyAgICAgICAgaGVsbG8gPSBwdWxsX3NlcnZlcl9oZWxsbyhi
dWYpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShidWYuZW9mKCkpCisKKyAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbCgKKyAgICAgICAgICAgIGhlbGxvLAorICAgICAgICAgICAgU2VydmVySGVsbG8o
CisgICAgICAgICAgICAgICAgcmFuZG9tPWJpbmFzY2lpLnVuaGV4bGlmeSgKKyAgICAgICAgICAg
ICAgICAgICAgImFkYTg1MjcxZDE5NjgwYzYxNWVhNzMzNjUxOWUzZmRmNmYxZTI2ZjNiMTA3NWVl
MWRlOTZmZmE4ODg0ZTgyODAiCisgICAgICAgICAgICAgICAgKSwKKyAgICAgICAgICAgICAgICBz
ZXNzaW9uX2lkPWJpbmFzY2lpLnVuaGV4bGlmeSgKKyAgICAgICAgICAgICAgICAgICAgIjlhZWU4
MmEyZDE4NmMxY2IzMmEzMjlkOWRjZmUwMDRhMWE0MzhhZDA0ODVhNTNjNmJmY2Y1NWMxMzJhMjMy
MzUiCisgICAgICAgICAgICAgICAgKSwKKyAgICAgICAgICAgICAgICBjaXBoZXJfc3VpdGU9dGxz
LkNpcGhlclN1aXRlLkFFU18yNTZfR0NNX1NIQTM4NCwKKyAgICAgICAgICAgICAgICBjb21wcmVz
c2lvbl9tZXRob2Q9dGxzLkNvbXByZXNzaW9uTWV0aG9kLk5VTEwsCisgICAgICAgICAgICAgICAg
a2V5X3NoYXJlPSgKKyAgICAgICAgICAgICAgICAgICAgdGxzLkdyb3VwLlNFQ1AyNTZSMSwKKyAg
ICAgICAgICAgICAgICAgICAgYmluYXNjaWkudW5oZXhsaWZ5KAorICAgICAgICAgICAgICAgICAg
ICAgICAgIjA0OGIyN2QwMjgyMjQyZDg0YjdmY2MwMmE5YzRmMTNlY2EwMzI5ZTNjNzAyOWFhMzRh
MzM3OTRlNmU3YmExODkiCisgICAgICAgICAgICAgICAgICAgICAgICAiNWNjYTFjNTAzYmYwMzc4
YWM2OTM3YzM1NDkxMjExNmZmMzI1MTAyNmJjYTE5NThkN2YzODczMTZjODNhZTZjZiIKKyAgICAg
ICAgICAgICAgICAgICAgICAgICJiMiIKKyAgICAgICAgICAgICAgICAgICAgKSwKKyAgICAgICAg
ICAgICAgICApLAorICAgICAgICAgICAgICAgIHN1cHBvcnRlZF92ZXJzaW9uPXRscy5UTFNfVkVS
U0lPTl8xXzMsCisgICAgICAgICAgICAgICAgb3RoZXJfZXh0ZW5zaW9ucz1bKDEyMzQ1LCBiImZv
byIpXSwKKyAgICAgICAgICAgICksCisgICAgICAgICkKKworICAgICAgICAjIHNlcmlhbGl6ZQor
ICAgICAgICBidWYgPSBCdWZmZXIoMTAwMCkKKyAgICAgICAgcHVzaF9zZXJ2ZXJfaGVsbG8oYnVm
LCBoZWxsbykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChidWYuZGF0YSwgbG9hZCgidGxzX3Nl
cnZlcl9oZWxsb193aXRoX3Vua25vd25fZXh0ZW5zaW9uLmJpbiIpKQorCisgICAgZGVmIHRlc3Rf
cHVzaF9zZXJ2ZXJfaGVsbG8oc2VsZik6CisgICAgICAgIGhlbGxvID0gU2VydmVySGVsbG8oCisg
ICAgICAgICAgICByYW5kb209YmluYXNjaWkudW5oZXhsaWZ5KAorICAgICAgICAgICAgICAgICJh
ZGE4NTI3MWQxOTY4MGM2MTVlYTczMzY1MTllM2ZkZjZmMWUyNmYzYjEwNzVlZTFkZTk2ZmZhODg4
NGU4MjgwIgorICAgICAgICAgICAgKSwKKyAgICAgICAgICAgIHNlc3Npb25faWQ9YmluYXNjaWku
dW5oZXhsaWZ5KAorICAgICAgICAgICAgICAgICI5YWVlODJhMmQxODZjMWNiMzJhMzI5ZDlkY2Zl
MDA0YTFhNDM4YWQwNDg1YTUzYzZiZmNmNTVjMTMyYTIzMjM1IgorICAgICAgICAgICAgKSwKKyAg
ICAgICAgICAgIGNpcGhlcl9zdWl0ZT10bHMuQ2lwaGVyU3VpdGUuQUVTXzI1Nl9HQ01fU0hBMzg0
LAorICAgICAgICAgICAgY29tcHJlc3Npb25fbWV0aG9kPXRscy5Db21wcmVzc2lvbk1ldGhvZC5O
VUxMLAorICAgICAgICAgICAga2V5X3NoYXJlPSgKKyAgICAgICAgICAgICAgICB0bHMuR3JvdXAu
U0VDUDI1NlIxLAorICAgICAgICAgICAgICAgIGJpbmFzY2lpLnVuaGV4bGlmeSgKKyAgICAgICAg
ICAgICAgICAgICAgIjA0OGIyN2QwMjgyMjQyZDg0YjdmY2MwMmE5YzRmMTNlY2EwMzI5ZTNjNzAy
OWFhMzRhMzM3OTRlNmU3YmExODkiCisgICAgICAgICAgICAgICAgICAgICI1Y2NhMWM1MDNiZjAz
NzhhYzY5MzdjMzU0OTEyMTE2ZmYzMjUxMDI2YmNhMTk1OGQ3ZjM4NzMxNmM4M2FlNmNmIgorICAg
ICAgICAgICAgICAgICAgICAiYjIiCisgICAgICAgICAgICAgICAgKSwKKyAgICAgICAgICAgICks
CisgICAgICAgICAgICBzdXBwb3J0ZWRfdmVyc2lvbj10bHMuVExTX1ZFUlNJT05fMV8zLAorICAg
ICAgICApCisKKyAgICAgICAgYnVmID0gQnVmZmVyKDEwMDApCisgICAgICAgIHB1c2hfc2VydmVy
X2hlbGxvKGJ1ZiwgaGVsbG8pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnVmLmRhdGEsIGxv
YWQoInRsc19zZXJ2ZXJfaGVsbG8uYmluIikpCisKKyAgICBkZWYgdGVzdF9wdWxsX25ld19zZXNz
aW9uX3RpY2tldChzZWxmKToKKyAgICAgICAgYnVmID0gQnVmZmVyKGRhdGE9bG9hZCgidGxzX25l
d19zZXNzaW9uX3RpY2tldC5iaW4iKSkKKyAgICAgICAgbmV3X3Nlc3Npb25fdGlja2V0ID0gcHVs
bF9uZXdfc2Vzc2lvbl90aWNrZXQoYnVmKQorICAgICAgICBzZWxmLmFzc2VydElzTm90Tm9uZShu
ZXdfc2Vzc2lvbl90aWNrZXQpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShidWYuZW9mKCkpCisK
KyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIG5ld19zZXNzaW9uX3RpY2tl
dCwKKyAgICAgICAgICAgIE5ld1Nlc3Npb25UaWNrZXQoCisgICAgICAgICAgICAgICAgdGlja2V0
X2xpZmV0aW1lPTg2NDAwLAorICAgICAgICAgICAgICAgIHRpY2tldF9hZ2VfYWRkPTMzMDM0NTI0
MjUsCisgICAgICAgICAgICAgICAgdGlja2V0X25vbmNlPWIiIiwKKyAgICAgICAgICAgICAgICB0
aWNrZXQ9YmluYXNjaWkudW5oZXhsaWZ5KAorICAgICAgICAgICAgICAgICAgICAiZGJlNmYxYTc3
YTc4YzA0MjZiZmE2MDdjZDBkMDJiMzUwMjQ3ZDkwNjE4NzA0NzA5NTk2YmVkYTdlOTYyY2M4MSIK
KyAgICAgICAgICAgICAgICApLAorICAgICAgICAgICAgICAgIG1heF9lYXJseV9kYXRhX3NpemU9
MHhGRkZGRkZGRiwKKyAgICAgICAgICAgICksCisgICAgICAgICkKKworICAgICAgICAjIHNlcmlh
bGl6ZQorICAgICAgICBidWYgPSBCdWZmZXIoMTAwKQorICAgICAgICBwdXNoX25ld19zZXNzaW9u
X3RpY2tldChidWYsIG5ld19zZXNzaW9uX3RpY2tldCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChidWYuZGF0YSwgbG9hZCgidGxzX25ld19zZXNzaW9uX3RpY2tldC5iaW4iKSkKKworICAgIGRl
ZiB0ZXN0X3B1bGxfbmV3X3Nlc3Npb25fdGlja2V0X3dpdGhfdW5rbm93bl9leHRlbnNpb24oc2Vs
Zik6CisgICAgICAgIGJ1ZiA9IEJ1ZmZlcihkYXRhPWxvYWQoInRsc19uZXdfc2Vzc2lvbl90aWNr
ZXRfd2l0aF91bmtub3duX2V4dGVuc2lvbi5iaW4iKSkKKyAgICAgICAgbmV3X3Nlc3Npb25fdGlj
a2V0ID0gcHVsbF9uZXdfc2Vzc2lvbl90aWNrZXQoYnVmKQorICAgICAgICBzZWxmLmFzc2VydElz
Tm90Tm9uZShuZXdfc2Vzc2lvbl90aWNrZXQpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShidWYu
ZW9mKCkpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIG5ld19zZXNz
aW9uX3RpY2tldCwKKyAgICAgICAgICAgIE5ld1Nlc3Npb25UaWNrZXQoCisgICAgICAgICAgICAg
ICAgdGlja2V0X2xpZmV0aW1lPTg2NDAwLAorICAgICAgICAgICAgICAgIHRpY2tldF9hZ2VfYWRk
PTMzMDM0NTI0MjUsCisgICAgICAgICAgICAgICAgdGlja2V0X25vbmNlPWIiIiwKKyAgICAgICAg
ICAgICAgICB0aWNrZXQ9YmluYXNjaWkudW5oZXhsaWZ5KAorICAgICAgICAgICAgICAgICAgICAi
ZGJlNmYxYTc3YTc4YzA0MjZiZmE2MDdjZDBkMDJiMzUwMjQ3ZDkwNjE4NzA0NzA5NTk2YmVkYTdl
OTYyY2M4MSIKKyAgICAgICAgICAgICAgICApLAorICAgICAgICAgICAgICAgIG1heF9lYXJseV9k
YXRhX3NpemU9MHhGRkZGRkZGRiwKKyAgICAgICAgICAgICAgICBvdGhlcl9leHRlbnNpb25zPVso
MTIzNDUsIGIiZm9vIildLAorICAgICAgICAgICAgKSwKKyAgICAgICAgKQorCisgICAgICAgICMg
c2VyaWFsaXplCisgICAgICAgIGJ1ZiA9IEJ1ZmZlcigxMDApCisgICAgICAgIHB1c2hfbmV3X3Nl
c3Npb25fdGlja2V0KGJ1ZiwgbmV3X3Nlc3Npb25fdGlja2V0KQorICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKAorICAgICAgICAgICAgYnVmLmRhdGEsIGxvYWQoInRsc19uZXdfc2Vzc2lvbl90aWNr
ZXRfd2l0aF91bmtub3duX2V4dGVuc2lvbi5iaW4iKQorICAgICAgICApCisKKyAgICBkZWYgdGVz
dF9lbmNyeXB0ZWRfZXh0ZW5zaW9ucyhzZWxmKToKKyAgICAgICAgZGF0YSA9IGxvYWQoInRsc19l
bmNyeXB0ZWRfZXh0ZW5zaW9ucy5iaW4iKQorICAgICAgICBidWYgPSBCdWZmZXIoZGF0YT1kYXRh
KQorICAgICAgICBleHRlbnNpb25zID0gcHVsbF9lbmNyeXB0ZWRfZXh0ZW5zaW9ucyhidWYpCisg
ICAgICAgIHNlbGYuYXNzZXJ0SXNOb3ROb25lKGV4dGVuc2lvbnMpCisgICAgICAgIHNlbGYuYXNz
ZXJ0VHJ1ZShidWYuZW9mKCkpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAg
ICAgIGV4dGVuc2lvbnMsCisgICAgICAgICAgICBFbmNyeXB0ZWRFeHRlbnNpb25zKAorICAgICAg
ICAgICAgICAgIG90aGVyX2V4dGVuc2lvbnM9WworICAgICAgICAgICAgICAgICAgICAoCisgICAg
ICAgICAgICAgICAgICAgICAgICB0bHMuRXh0ZW5zaW9uVHlwZS5RVUlDX1RSQU5TUE9SVF9QQVJB
TUVURVJTLAorICAgICAgICAgICAgICAgICAgICAgICAgU0VSVkVSX1FVSUNfVFJBTlNQT1JUX1BB
UkFNRVRFUlMsCisgICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICBdCisgICAg
ICAgICAgICApLAorICAgICAgICApCisKKyAgICAgICAgIyBzZXJpYWxpemUKKyAgICAgICAgYnVm
ID0gQnVmZmVyKGNhcGFjaXR5PTEwMCkKKyAgICAgICAgcHVzaF9lbmNyeXB0ZWRfZXh0ZW5zaW9u
cyhidWYsIGV4dGVuc2lvbnMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnVmLmRhdGEsIGRh
dGEpCisKKyAgICBkZWYgdGVzdF9lbmNyeXB0ZWRfZXh0ZW5zaW9uc193aXRoX2FscG4oc2VsZik6
CisgICAgICAgIGRhdGEgPSBsb2FkKCJ0bHNfZW5jcnlwdGVkX2V4dGVuc2lvbnNfd2l0aF9hbHBu
LmJpbiIpCisgICAgICAgIGJ1ZiA9IEJ1ZmZlcihkYXRhPWRhdGEpCisgICAgICAgIGV4dGVuc2lv
bnMgPSBwdWxsX2VuY3J5cHRlZF9leHRlbnNpb25zKGJ1ZikKKyAgICAgICAgc2VsZi5hc3NlcnRJ
c05vdE5vbmUoZXh0ZW5zaW9ucykKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGJ1Zi5lb2YoKSkK
KworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgZXh0ZW5zaW9ucywKKyAg
ICAgICAgICAgIEVuY3J5cHRlZEV4dGVuc2lvbnMoCisgICAgICAgICAgICAgICAgYWxwbl9wcm90
b2NvbD0iaHEtMjAiLAorICAgICAgICAgICAgICAgIG90aGVyX2V4dGVuc2lvbnM9WworICAgICAg
ICAgICAgICAgICAgICAodGxzLkV4dGVuc2lvblR5cGUuU0VSVkVSX05BTUUsIGIiIiksCisgICAg
ICAgICAgICAgICAgICAgICgKKyAgICAgICAgICAgICAgICAgICAgICAgIHRscy5FeHRlbnNpb25U
eXBlLlFVSUNfVFJBTlNQT1JUX1BBUkFNRVRFUlMsCisgICAgICAgICAgICAgICAgICAgICAgICBT
RVJWRVJfUVVJQ19UUkFOU1BPUlRfUEFSQU1FVEVSU18yLAorICAgICAgICAgICAgICAgICAgICAp
LAorICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAgICApLAorICAgICAgICApCisKKyAgICAg
ICAgIyBzZXJpYWxpemUKKyAgICAgICAgYnVmID0gQnVmZmVyKDExNSkKKyAgICAgICAgcHVzaF9l
bmNyeXB0ZWRfZXh0ZW5zaW9ucyhidWYsIGV4dGVuc2lvbnMpCisgICAgICAgIHNlbGYuYXNzZXJ0
VHJ1ZShidWYuZW9mKCkpCisKKyAgICBkZWYgdGVzdF9wdWxsX2VuY3J5cHRlZF9leHRlbnNpb25z
X3dpdGhfYWxwbl9hbmRfZWFybHlfZGF0YShzZWxmKToKKyAgICAgICAgYnVmID0gQnVmZmVyKGRh
dGE9bG9hZCgidGxzX2VuY3J5cHRlZF9leHRlbnNpb25zX3dpdGhfYWxwbl9hbmRfZWFybHlfZGF0
YS5iaW4iKSkKKyAgICAgICAgZXh0ZW5zaW9ucyA9IHB1bGxfZW5jcnlwdGVkX2V4dGVuc2lvbnMo
YnVmKQorICAgICAgICBzZWxmLmFzc2VydElzTm90Tm9uZShleHRlbnNpb25zKQorICAgICAgICBz
ZWxmLmFzc2VydFRydWUoYnVmLmVvZigpKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisg
ICAgICAgICAgICBleHRlbnNpb25zLAorICAgICAgICAgICAgRW5jcnlwdGVkRXh0ZW5zaW9ucygK
KyAgICAgICAgICAgICAgICBhbHBuX3Byb3RvY29sPSJocS0yMCIsCisgICAgICAgICAgICAgICAg
ZWFybHlfZGF0YT1UcnVlLAorICAgICAgICAgICAgICAgIG90aGVyX2V4dGVuc2lvbnM9WworICAg
ICAgICAgICAgICAgICAgICAodGxzLkV4dGVuc2lvblR5cGUuU0VSVkVSX05BTUUsIGIiIiksCisg
ICAgICAgICAgICAgICAgICAgICgKKyAgICAgICAgICAgICAgICAgICAgICAgIHRscy5FeHRlbnNp
b25UeXBlLlFVSUNfVFJBTlNQT1JUX1BBUkFNRVRFUlMsCisgICAgICAgICAgICAgICAgICAgICAg
ICBTRVJWRVJfUVVJQ19UUkFOU1BPUlRfUEFSQU1FVEVSU18zLAorICAgICAgICAgICAgICAgICAg
ICApLAorICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAgICApLAorICAgICAgICApCisKKyAg
ICAgICAgIyBzZXJpYWxpemUKKyAgICAgICAgYnVmID0gQnVmZmVyKDExNikKKyAgICAgICAgcHVz
aF9lbmNyeXB0ZWRfZXh0ZW5zaW9ucyhidWYsIGV4dGVuc2lvbnMpCisgICAgICAgIHNlbGYuYXNz
ZXJ0VHJ1ZShidWYuZW9mKCkpCisKKyAgICBkZWYgdGVzdF9wdWxsX2NlcnRpZmljYXRlKHNlbGYp
OgorICAgICAgICBidWYgPSBCdWZmZXIoZGF0YT1sb2FkKCJ0bHNfY2VydGlmaWNhdGUuYmluIikp
CisgICAgICAgIGNlcnRpZmljYXRlID0gcHVsbF9jZXJ0aWZpY2F0ZShidWYpCisgICAgICAgIHNl
bGYuYXNzZXJ0VHJ1ZShidWYuZW9mKCkpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjZXJ0
aWZpY2F0ZS5yZXF1ZXN0X2NvbnRleHQsIGIiIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChj
ZXJ0aWZpY2F0ZS5jZXJ0aWZpY2F0ZXMsIFsoQ0VSVElGSUNBVEVfREFUQSwgYiIiKV0pCisKKyAg
ICBkZWYgdGVzdF9wdXNoX2NlcnRpZmljYXRlKHNlbGYpOgorICAgICAgICBjZXJ0aWZpY2F0ZSA9
IENlcnRpZmljYXRlKAorICAgICAgICAgICAgcmVxdWVzdF9jb250ZXh0PWIiIiwgY2VydGlmaWNh
dGVzPVsoQ0VSVElGSUNBVEVfREFUQSwgYiIiKV0KKyAgICAgICAgKQorCisgICAgICAgIGJ1ZiA9
IEJ1ZmZlcigxNjAwKQorICAgICAgICBwdXNoX2NlcnRpZmljYXRlKGJ1ZiwgY2VydGlmaWNhdGUp
CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnVmLmRhdGEsIGxvYWQoInRsc19jZXJ0aWZpY2F0
ZS5iaW4iKSkKKworICAgIGRlZiB0ZXN0X3B1bGxfY2VydGlmaWNhdGVfdmVyaWZ5KHNlbGYpOgor
ICAgICAgICBidWYgPSBCdWZmZXIoZGF0YT1sb2FkKCJ0bHNfY2VydGlmaWNhdGVfdmVyaWZ5LmJp
biIpKQorICAgICAgICB2ZXJpZnkgPSBwdWxsX2NlcnRpZmljYXRlX3ZlcmlmeShidWYpCisgICAg
ICAgIHNlbGYuYXNzZXJ0VHJ1ZShidWYuZW9mKCkpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bCh2ZXJpZnkuYWxnb3JpdGhtLCB0bHMuU2lnbmF0dXJlQWxnb3JpdGhtLlJTQV9QU1NfUlNBRV9T
SEEyNTYpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodmVyaWZ5LnNpZ25hdHVyZSwgQ0VSVElG
SUNBVEVfVkVSSUZZX1NJR05BVFVSRSkKKworICAgIGRlZiB0ZXN0X3B1c2hfY2VydGlmaWNhdGVf
dmVyaWZ5KHNlbGYpOgorICAgICAgICB2ZXJpZnkgPSBDZXJ0aWZpY2F0ZVZlcmlmeSgKKyAgICAg
ICAgICAgIGFsZ29yaXRobT10bHMuU2lnbmF0dXJlQWxnb3JpdGhtLlJTQV9QU1NfUlNBRV9TSEEy
NTYsCisgICAgICAgICAgICBzaWduYXR1cmU9Q0VSVElGSUNBVEVfVkVSSUZZX1NJR05BVFVSRSwK
KyAgICAgICAgKQorCisgICAgICAgIGJ1ZiA9IEJ1ZmZlcig0MDApCisgICAgICAgIHB1c2hfY2Vy
dGlmaWNhdGVfdmVyaWZ5KGJ1ZiwgdmVyaWZ5KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ1
Zi5kYXRhLCBsb2FkKCJ0bHNfY2VydGlmaWNhdGVfdmVyaWZ5LmJpbiIpKQorCisgICAgZGVmIHRl
c3RfcHVsbF9maW5pc2hlZChzZWxmKToKKyAgICAgICAgYnVmID0gQnVmZmVyKGRhdGE9bG9hZCgi
dGxzX2ZpbmlzaGVkLmJpbiIpKQorICAgICAgICBmaW5pc2hlZCA9IHB1bGxfZmluaXNoZWQoYnVm
KQorICAgICAgICBzZWxmLmFzc2VydFRydWUoYnVmLmVvZigpKQorCisgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoCisgICAgICAgICAgICBmaW5pc2hlZC52ZXJpZnlfZGF0YSwKKyAgICAgICAgICAg
IGJpbmFzY2lpLnVuaGV4bGlmeSgKKyAgICAgICAgICAgICAgICAiZjE1NzkyMzIzNGZmOWE0OTIx
YWFkYjJlMGVjN2IxYTMwZmNlNzNmYjllYzBjNDI3NmY5YWYyNjhmNDA4ZWM2OCIKKyAgICAgICAg
ICAgICksCisgICAgICAgICkKKworICAgIGRlZiB0ZXN0X3B1c2hfZmluaXNoZWQoc2VsZik6Cisg
ICAgICAgIGZpbmlzaGVkID0gRmluaXNoZWQoCisgICAgICAgICAgICB2ZXJpZnlfZGF0YT1iaW5h
c2NpaS51bmhleGxpZnkoCisgICAgICAgICAgICAgICAgImYxNTc5MjMyMzRmZjlhNDkyMWFhZGIy
ZTBlYzdiMWEzMGZjZTczZmI5ZWMwYzQyNzZmOWFmMjY4ZjQwOGVjNjgiCisgICAgICAgICAgICAp
CisgICAgICAgICkKKworICAgICAgICBidWYgPSBCdWZmZXIoMTI4KQorICAgICAgICBwdXNoX2Zp
bmlzaGVkKGJ1ZiwgZmluaXNoZWQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnVmLmRhdGEs
IGxvYWQoInRsc19maW5pc2hlZC5iaW4iKSkKKworCitjbGFzcyBWZXJpZnlDZXJ0aWZpY2F0ZVRl
c3QoVGVzdENhc2UpOgorICAgIGRlZiB0ZXN0X3ZlcmlmeV9jZXJ0aWZpY2F0ZV9jaGFpbihzZWxm
KToKKyAgICAgICAgd2l0aCBvcGVuKFNFUlZFUl9DRVJURklMRSwgInJiIikgYXMgZnA6CisgICAg
ICAgICAgICBjZXJ0aWZpY2F0ZSA9IGxvYWRfcGVtX3g1MDlfY2VydGlmaWNhdGVzKGZwLnJlYWQo
KSlbMF0KKworICAgICAgICB3aXRoIHBhdGNoKCJhaW9xdWljLnRscy51dGNub3ciKSBhcyBtb2Nr
X3V0Y25vdzoKKyAgICAgICAgICAgIG1vY2tfdXRjbm93LnJldHVybl92YWx1ZSA9IGNlcnRpZmlj
YXRlLm5vdF92YWxpZF9iZWZvcmUKKworICAgICAgICAgICAgIyBmYWlsCisgICAgICAgICAgICB3
aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKHRscy5BbGVydEJhZENlcnRpZmljYXRlKSBhcyBjbToKKyAg
ICAgICAgICAgICAgICB2ZXJpZnlfY2VydGlmaWNhdGUoY2VydGlmaWNhdGU9Y2VydGlmaWNhdGUs
IHNlcnZlcl9uYW1lPSJsb2NhbGhvc3QiKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgK
KyAgICAgICAgICAgICAgICBzdHIoY20uZXhjZXB0aW9uKSwgInVuYWJsZSB0byBnZXQgbG9jYWwg
aXNzdWVyIGNlcnRpZmljYXRlIgorICAgICAgICAgICAgKQorCisgICAgICAgICAgICAjIG9rCisg
ICAgICAgICAgICB2ZXJpZnlfY2VydGlmaWNhdGUoCisgICAgICAgICAgICAgICAgY2FmaWxlPVNF
UlZFUl9DQUNFUlRGSUxFLAorICAgICAgICAgICAgICAgIGNlcnRpZmljYXRlPWNlcnRpZmljYXRl
LAorICAgICAgICAgICAgICAgIHNlcnZlcl9uYW1lPSJsb2NhbGhvc3QiLAorICAgICAgICAgICAg
KQorCisgICAgZGVmIHRlc3RfdmVyaWZ5X2NlcnRpZmljYXRlX2NoYWluX3NlbGZfc2lnbmVkKHNl
bGYpOgorICAgICAgICBjZXJ0aWZpY2F0ZSwgXyA9IGdlbmVyYXRlX2VjX2NlcnRpZmljYXRlKAor
ICAgICAgICAgICAgY29tbW9uX25hbWU9ImxvY2FsaG9zdCIsIGN1cnZlPWVjLlNFQ1AyNTZSMQor
ICAgICAgICApCisKKyAgICAgICAgd2l0aCBwYXRjaCgiYWlvcXVpYy50bHMudXRjbm93IikgYXMg
bW9ja191dGNub3c6CisgICAgICAgICAgICBtb2NrX3V0Y25vdy5yZXR1cm5fdmFsdWUgPSBjZXJ0
aWZpY2F0ZS5ub3RfdmFsaWRfYmVmb3JlCisKKyAgICAgICAgICAgICMgZmFpbAorICAgICAgICAg
ICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyh0bHMuQWxlcnRCYWRDZXJ0aWZpY2F0ZSkgYXMgY206
CisgICAgICAgICAgICAgICAgdmVyaWZ5X2NlcnRpZmljYXRlKGNlcnRpZmljYXRlPWNlcnRpZmlj
YXRlLCBzZXJ2ZXJfbmFtZT0ibG9jYWxob3N0IikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWwoc3RyKGNtLmV4Y2VwdGlvbiksICJzZWxmIHNpZ25lZCBjZXJ0aWZpY2F0ZSIpCisKKyAgICAg
ICAgICAgICMgb2sKKyAgICAgICAgICAgIHZlcmlmeV9jZXJ0aWZpY2F0ZSgKKyAgICAgICAgICAg
ICAgICBjYWRhdGE9Y2VydGlmaWNhdGUucHVibGljX2J5dGVzKHNlcmlhbGl6YXRpb24uRW5jb2Rp
bmcuUEVNKSwKKyAgICAgICAgICAgICAgICBjZXJ0aWZpY2F0ZT1jZXJ0aWZpY2F0ZSwKKyAgICAg
ICAgICAgICAgICBzZXJ2ZXJfbmFtZT0ibG9jYWxob3N0IiwKKyAgICAgICAgICAgICkKKworICAg
IEBwYXRjaCgiYWlvcXVpYy50bHMubGliLlg1MDlfU1RPUkVfbmV3IikKKyAgICBkZWYgdGVzdF92
ZXJpZnlfY2VydGlmaWNhdGVfY2hhaW5faW50ZXJuYWxfZXJyb3Ioc2VsZiwgbW9ja19zdG9yZV9u
ZXcpOgorICAgICAgICBtb2NrX3N0b3JlX25ldy5yZXR1cm5fdmFsdWUgPSB0bHMuZmZpLk5VTEwK
KworICAgICAgICBjZXJ0aWZpY2F0ZSwgXyA9IGdlbmVyYXRlX2VjX2NlcnRpZmljYXRlKAorICAg
ICAgICAgICAgY29tbW9uX25hbWU9ImxvY2FsaG9zdCIsIGN1cnZlPWVjLlNFQ1AyNTZSMQorICAg
ICAgICApCisKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyh0bHMuQWxlcnRJbnRlcm5h
bEVycm9yKSBhcyBjbToKKyAgICAgICAgICAgIHZlcmlmeV9jZXJ0aWZpY2F0ZSgKKyAgICAgICAg
ICAgICAgICBjYWRhdGE9Y2VydGlmaWNhdGUucHVibGljX2J5dGVzKHNlcmlhbGl6YXRpb24uRW5j
b2RpbmcuUEVNKSwKKyAgICAgICAgICAgICAgICBjZXJ0aWZpY2F0ZT1jZXJ0aWZpY2F0ZSwKKyAg
ICAgICAgICAgICAgICBzZXJ2ZXJfbmFtZT0ibG9jYWxob3N0IiwKKyAgICAgICAgICAgICkKKyAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoY20uZXhjZXB0aW9uKSwgIk9wZW5TU0wgY2FsbCB0
byBYNTA5X3N0b3JlX25ldyBmYWlsZWQiKQorCisgICAgZGVmIHRlc3RfdmVyaWZ5X2RhdGVzKHNl
bGYpOgorICAgICAgICBjZXJ0aWZpY2F0ZSwgXyA9IGdlbmVyYXRlX2VjX2NlcnRpZmljYXRlKAor
ICAgICAgICAgICAgY29tbW9uX25hbWU9ImV4YW1wbGUuY29tIiwgY3VydmU9ZWMuU0VDUDI1NlIx
CisgICAgICAgICkKKyAgICAgICAgY2FkYXRhID0gY2VydGlmaWNhdGUucHVibGljX2J5dGVzKHNl
cmlhbGl6YXRpb24uRW5jb2RpbmcuUEVNKQorCisgICAgICAgICMgwqB0b28gZWFybHkKKyAgICAg
ICAgd2l0aCBwYXRjaCgiYWlvcXVpYy50bHMudXRjbm93IikgYXMgbW9ja191dGNub3c6CisgICAg
ICAgICAgICBtb2NrX3V0Y25vdy5yZXR1cm5fdmFsdWUgPSAoCisgICAgICAgICAgICAgICAgY2Vy
dGlmaWNhdGUubm90X3ZhbGlkX2JlZm9yZSAtIGRhdGV0aW1lLnRpbWVkZWx0YShzZWNvbmRzPTEp
CisgICAgICAgICAgICApCisgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKHRscy5B
bGVydENlcnRpZmljYXRlRXhwaXJlZCkgYXMgY206CisgICAgICAgICAgICAgICAgdmVyaWZ5X2Nl
cnRpZmljYXRlKAorICAgICAgICAgICAgICAgICAgICBjYWRhdGE9Y2FkYXRhLCBjZXJ0aWZpY2F0
ZT1jZXJ0aWZpY2F0ZSwgc2VydmVyX25hbWU9ImV4YW1wbGUuY29tIgorICAgICAgICAgICAgICAg
ICkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGNtLmV4Y2VwdGlvbiksICJDZXJ0
aWZpY2F0ZSBpcyBub3QgdmFsaWQgeWV0IikKKworICAgICAgICAjIHZhbGlkCisgICAgICAgIHdp
dGggcGF0Y2goImFpb3F1aWMudGxzLnV0Y25vdyIpIGFzIG1vY2tfdXRjbm93OgorICAgICAgICAg
ICAgbW9ja191dGNub3cucmV0dXJuX3ZhbHVlID0gY2VydGlmaWNhdGUubm90X3ZhbGlkX2JlZm9y
ZQorICAgICAgICAgICAgdmVyaWZ5X2NlcnRpZmljYXRlKAorICAgICAgICAgICAgICAgIGNhZGF0
YT1jYWRhdGEsIGNlcnRpZmljYXRlPWNlcnRpZmljYXRlLCBzZXJ2ZXJfbmFtZT0iZXhhbXBsZS5j
b20iCisgICAgICAgICAgICApCisKKyAgICAgICAgd2l0aCBwYXRjaCgiYWlvcXVpYy50bHMudXRj
bm93IikgYXMgbW9ja191dGNub3c6CisgICAgICAgICAgICBtb2NrX3V0Y25vdy5yZXR1cm5fdmFs
dWUgPSBjZXJ0aWZpY2F0ZS5ub3RfdmFsaWRfYWZ0ZXIKKyAgICAgICAgICAgIHZlcmlmeV9jZXJ0
aWZpY2F0ZSgKKyAgICAgICAgICAgICAgICBjYWRhdGE9Y2FkYXRhLCBjZXJ0aWZpY2F0ZT1jZXJ0
aWZpY2F0ZSwgc2VydmVyX25hbWU9ImV4YW1wbGUuY29tIgorICAgICAgICAgICAgKQorCisgICAg
ICAgICMgdG9vIGxhdGUKKyAgICAgICAgd2l0aCBwYXRjaCgiYWlvcXVpYy50bHMudXRjbm93Iikg
YXMgbW9ja191dGNub3c6CisgICAgICAgICAgICBtb2NrX3V0Y25vdy5yZXR1cm5fdmFsdWUgPSBj
ZXJ0aWZpY2F0ZS5ub3RfdmFsaWRfYWZ0ZXIgKyBkYXRldGltZS50aW1lZGVsdGEoCisgICAgICAg
ICAgICAgICAgc2Vjb25kcz0xCisgICAgICAgICAgICApCisgICAgICAgICAgICB3aXRoIHNlbGYu
YXNzZXJ0UmFpc2VzKHRscy5BbGVydENlcnRpZmljYXRlRXhwaXJlZCkgYXMgY206CisgICAgICAg
ICAgICAgICAgdmVyaWZ5X2NlcnRpZmljYXRlKAorICAgICAgICAgICAgICAgICAgICBjYWRhdGE9
Y2FkYXRhLCBjZXJ0aWZpY2F0ZT1jZXJ0aWZpY2F0ZSwgc2VydmVyX25hbWU9ImV4YW1wbGUuY29t
IgorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGNt
LmV4Y2VwdGlvbiksICJDZXJ0aWZpY2F0ZSBpcyBubyBsb25nZXIgdmFsaWQiKQorCisgICAgZGVm
IHRlc3RfdmVyaWZ5X3N1YmplY3Qoc2VsZik6CisgICAgICAgIGNlcnRpZmljYXRlLCBfID0gZ2Vu
ZXJhdGVfZWNfY2VydGlmaWNhdGUoCisgICAgICAgICAgICBjb21tb25fbmFtZT0iZXhhbXBsZS5j
b20iLCBjdXJ2ZT1lYy5TRUNQMjU2UjEKKyAgICAgICAgKQorICAgICAgICBjYWRhdGEgPSBjZXJ0
aWZpY2F0ZS5wdWJsaWNfYnl0ZXMoc2VyaWFsaXphdGlvbi5FbmNvZGluZy5QRU0pCisKKyAgICAg
ICAgd2l0aCBwYXRjaCgiYWlvcXVpYy50bHMudXRjbm93IikgYXMgbW9ja191dGNub3c6CisgICAg
ICAgICAgICBtb2NrX3V0Y25vdy5yZXR1cm5fdmFsdWUgPSBjZXJ0aWZpY2F0ZS5ub3RfdmFsaWRf
YmVmb3JlCisKKyAgICAgICAgICAgICMgdmFsaWQKKyAgICAgICAgICAgIHZlcmlmeV9jZXJ0aWZp
Y2F0ZSgKKyAgICAgICAgICAgICAgICBjYWRhdGE9Y2FkYXRhLCBjZXJ0aWZpY2F0ZT1jZXJ0aWZp
Y2F0ZSwgc2VydmVyX25hbWU9ImV4YW1wbGUuY29tIgorICAgICAgICAgICAgKQorCisgICAgICAg
ICAgICAjIGludmFsaWQKKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXModGxzLkFs
ZXJ0QmFkQ2VydGlmaWNhdGUpIGFzIGNtOgorICAgICAgICAgICAgICAgIHZlcmlmeV9jZXJ0aWZp
Y2F0ZSgKKyAgICAgICAgICAgICAgICAgICAgY2FkYXRhPWNhZGF0YSwKKyAgICAgICAgICAgICAg
ICAgICAgY2VydGlmaWNhdGU9Y2VydGlmaWNhdGUsCisgICAgICAgICAgICAgICAgICAgIHNlcnZl
cl9uYW1lPSJ0ZXN0LmV4YW1wbGUuY29tIiwKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgICAgIHN0cihjbS5leGNlcHRpb24pLAor
ICAgICAgICAgICAgICAgICJob3N0bmFtZSAndGVzdC5leGFtcGxlLmNvbScgZG9lc24ndCBtYXRj
aCAnZXhhbXBsZS5jb20nIiwKKyAgICAgICAgICAgICkKKworICAgICAgICAgICAgd2l0aCBzZWxm
LmFzc2VydFJhaXNlcyh0bHMuQWxlcnRCYWRDZXJ0aWZpY2F0ZSkgYXMgY206CisgICAgICAgICAg
ICAgICAgdmVyaWZ5X2NlcnRpZmljYXRlKAorICAgICAgICAgICAgICAgICAgICBjYWRhdGE9Y2Fk
YXRhLCBjZXJ0aWZpY2F0ZT1jZXJ0aWZpY2F0ZSwgc2VydmVyX25hbWU9ImFjbWUuY29tIgorICAg
ICAgICAgICAgICAgICkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAg
ICAgICAgc3RyKGNtLmV4Y2VwdGlvbiksICJob3N0bmFtZSAnYWNtZS5jb20nIGRvZXNuJ3QgbWF0
Y2ggJ2V4YW1wbGUuY29tJyIKKyAgICAgICAgICAgICkKKworICAgIGRlZiB0ZXN0X3ZlcmlmeV9z
dWJqZWN0X3dpdGhfc3ViamFsdG5hbWUoc2VsZik6CisgICAgICAgIGNlcnRpZmljYXRlLCBfID0g
Z2VuZXJhdGVfZWNfY2VydGlmaWNhdGUoCisgICAgICAgICAgICBhbHRlcm5hdGl2ZV9uYW1lcz1b
IiouZXhhbXBsZS5jb20iLCAiZXhhbXBsZS5jb20iXSwKKyAgICAgICAgICAgIGNvbW1vbl9uYW1l
PSJleGFtcGxlLmNvbSIsCisgICAgICAgICAgICBjdXJ2ZT1lYy5TRUNQMjU2UjEsCisgICAgICAg
ICkKKyAgICAgICAgY2FkYXRhID0gY2VydGlmaWNhdGUucHVibGljX2J5dGVzKHNlcmlhbGl6YXRp
b24uRW5jb2RpbmcuUEVNKQorCisgICAgICAgIHdpdGggcGF0Y2goImFpb3F1aWMudGxzLnV0Y25v
dyIpIGFzIG1vY2tfdXRjbm93OgorICAgICAgICAgICAgbW9ja191dGNub3cucmV0dXJuX3ZhbHVl
ID0gY2VydGlmaWNhdGUubm90X3ZhbGlkX2JlZm9yZQorCisgICAgICAgICAgICAjIHZhbGlkCisg
ICAgICAgICAgICB2ZXJpZnlfY2VydGlmaWNhdGUoCisgICAgICAgICAgICAgICAgY2FkYXRhPWNh
ZGF0YSwgY2VydGlmaWNhdGU9Y2VydGlmaWNhdGUsIHNlcnZlcl9uYW1lPSJleGFtcGxlLmNvbSIK
KyAgICAgICAgICAgICkKKyAgICAgICAgICAgIHZlcmlmeV9jZXJ0aWZpY2F0ZSgKKyAgICAgICAg
ICAgICAgICBjYWRhdGE9Y2FkYXRhLCBjZXJ0aWZpY2F0ZT1jZXJ0aWZpY2F0ZSwgc2VydmVyX25h
bWU9InRlc3QuZXhhbXBsZS5jb20iCisgICAgICAgICAgICApCisKKyAgICAgICAgICAgICMgaW52
YWxpZAorICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyh0bHMuQWxlcnRCYWRDZXJ0
aWZpY2F0ZSkgYXMgY206CisgICAgICAgICAgICAgICAgdmVyaWZ5X2NlcnRpZmljYXRlKAorICAg
ICAgICAgICAgICAgICAgICBjYWRhdGE9Y2FkYXRhLCBjZXJ0aWZpY2F0ZT1jZXJ0aWZpY2F0ZSwg
c2VydmVyX25hbWU9ImFjbWUuY29tIgorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICAgICAgc3RyKGNtLmV4Y2VwdGlvbiksCisgICAg
ICAgICAgICAgICAgImhvc3RuYW1lICdhY21lLmNvbScgZG9lc24ndCBtYXRjaCBlaXRoZXIgb2Yg
JyouZXhhbXBsZS5jb20nLCAnZXhhbXBsZS5jb20nIiwKKyAgICAgICAgICAgICkKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhp
cmRfcGFydHkvYWlvcXVpYy90ZXN0cy90bHNfY2VydGlmaWNhdGUuYmluIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWlj
L3Rlc3RzL3Rsc19jZXJ0aWZpY2F0ZS5iaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTliZGU2MjkwNTQ4NTk5YmE4
NmY4NWMxNTA2MTNiZjc3NmFjZDdjOQpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMTUzOAp6Y21k
O1BWRXhDeSExe31VXntZVj4+cW1ub21kRkxuT3BIdVNvRDhSUjgpaW1qMkVgY2d2VDxzKWQ5OzEh
V258PUwKeldpYXFIPFRsYEJWLTk2dTZLMEJ0RyptTkMwZGNyXldDSlFvR1Y9MmpnN2VjIyRgZ3hI
NzJOVm1eSExIXkdKI153CnpqKXIwZUF8UTNsSmlQZyhNWV9wfXkyWXRRV3ZOOTVhXmsjKDc2dWta
bVdDIXEjKWY4NTs9RCF7MklkQ2xQXzk4ZAp6cyYoUTlxOTl8fmRIOT9ZaSVXNys2JiYrUUdLdnhf
NDMhTk9BP31kRT9HOGdCMHxBSTVJQ0p1bzZMVHsxaSVTZmUKejcjQVVYayYlXnd4cndvIzBWdita
KVdxMXhGa2VJOC0wXipWTzBybXoqaEB4e0IrWE0rR2JZKGBUI24yOWNpezd0CnpCZnQzfj94Yncr
S0R+TD5KZzFsSnYodF53P3RFYiorYS1NOXpHWnJpJippJVAmaXIxanRod3peND5LKmN5TUJHQQp6
TXh7aXRnbjQ8SCRDVjArPndEJDArYDhGNUduLUg0VUokJU4+MV9YWVgweWZEbUNJKyZfajxaXk9X
KGQ0dHJnNDkKekttQi1vd2UqZVlIeGo+cG9CSnI1YiVwUWo4Rk1jJWR8UmV9ZDdEXzReQEotZig9
PmhAUGVeJWdebjFzVm88fSpsCnpYfFo+RVVjRW9qYjlxO0Q/PUZ2cFE3KXp2Q2QtO093QU9QZ3RA
JmFoeCRyVWpna15ibCVSO1MleU1GTVdVNj1Kcgp6Q1lvUkEpU0tzPSkoKSk2eVhSbE9jMmFaeFMy
bX19OShSVClOMmhhfTFFVSlGY1JtIW9AQGdyNnczfU1YSlZPZ1AKejEofH1jYHdYfipqenFyeXg0
QnJAJFNTfCppckZidyF5bCNAU0VGWCRfKmdib0A9REBYRUI3eGFKezMoYERFe0RFCno+WVome1M+
TFhEK2c1czVKQDkkJV80NFE2MT5WXj16Z1EreyhsITV0NSRDXiZgXyNVXnBZJnNXPmVNVCQ3dnkp
YQp6OS1QTHNAWkwxcHVBUlAyJSF+fC1pPD1rXjBBcGtpSTEkTVR2aFcma0h6Q0MjQTIzI0JgNTc3
aXYjPkJUdWBWIT4KejFAVG9gS3h2TGNufmpsYG03U1JwJlNFbSkwWjl2a2xydEdIS29zK19oX1Eo
RHptazF5OUsjXkN4alIyUXxGWH5OCnp0KjJ7MzRRZkcobTA4TFJOKllBJj9tdTx3KityOUc9QjB8
S0BASHtxZEB8a1V1YHFDbktiMTJANkZtMXQ4I0ZlPAp6OUx+dGRRZl5SY1U8MmJERnRyKEVsI349
JD5GYnhJN01DT14+SkAtPEFjJil2bXMkYzkpaTA8X1BFMVpNRCR4VEgKejJCdlZgakJUMzQ9Kn58
ckYzPmt7MV9ncFZpO2FQbWZ5RHh8MXR4N3EjT04oYkVkeXBWUHpqKXlUJEY+SCVZWCQ1CnpGcWJ0
bHNESkg9NiE+IU54ZHl9alVBQCk5JXBZWnojY3lUe1U4MXp9X05KP0RkJXlHQ2I8VyNUblZQUTFx
WlJ0agp6cHw1clJlRH5kNFRFNSMtTkBnc21Vdzd4RC1mZ0ZIaTNnP0tZTmk+NzlwN2YzQ0A7Iy1u
aVUoRyRARGlXPFY1KUMKejRYTW14a042b1pYUW5OZi03IzdHUUl1fF9ZNWVyP2lYLWQ0Jld2a1ll
T1lqPSlGUiRySz58RGY/Vm8kal8tNU90CnpJYnVKcW0yITA1PTZicUNUZGFQfFBwJGNmRk9eP0Vu
PTFEdU5BN2p4JkpYTTJtJmwqLUk8bThCPDtgclA0Q3t4Zgp6OChPd2NJSWB+RjdqdThiMV40RCNa
RzN1MGozdiNVK3dxUSp0JUJXfj9OaFopISstNm8tKTZQemx6K3MoUWFnQEwKem90X1BgZE90ZV93
MH1DZmBQKHBUU0hHTzlxOUx4Vlg2Vz4pJlRzT1E+V3ErNl5XOHFiKk04WmB2JGJXQFJhMjlPCnpR
dGJ+RG0zTUczX1UrXmZ4JEBnMj0tKkEoNC1NQWE0KDJ5cWw+Y1BTQHklYDdIMSRPOTIlez1LKn5w
X1ZZdlpJVQp6alNwVTcpJVV1NSFeeEBGXztLPjd0TEBXZ2B8Z2xwSHJYdzZpT0RgdmBIXnglTkFq
VCRpO2BEI0djVylFVUxyfTQKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFy
dHkvYWlvcXVpYy90ZXN0cy90bHNfY2VydGlmaWNhdGVfdmVyaWZ5LmJpbiBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVp
Yy90ZXN0cy90bHNfY2VydGlmaWNhdGVfdmVyaWZ5LmJpbgpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZjA4Mzk1MGI1
MzhjMTIzZWI5ZWRjOGZjYmVkOTJlMTkzMjk1NzM1CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAz
OTIKemNtVjszMGVBaW4wMEQjdTFPYjQ4ck91PTljT2QwQXZ2MyU5QzI9bSU3PXIqIyE8YiZhPld7
JUclfFdDT0BgclZhCnpsOzhHemVsQDVzJlZpWDc2eDs7flJXJjdeeiVBenUpZil6bEdDK0k2Tz9w
Y3MhfTxtKDNBWG0qYmhucVgoIS1HWgp6byE0fkJYUmAkWXpHUD1UZSZofD5UP2UjVDxJZFdobzVe
MEBoZlh3RFU3OUJweUFSM0peP2FAQngzIUB+QkprTTUKekgxPUFEJjEhRGZ4MnJ4Yz1mJl9qZCpm
JTRsLVZsbUUyNkV4dkUqYWImcE5ONzE+bHlDP1hsO2xOTDx1V0Q2fGUzCnpgRj5FNHZ1MkE5NUA3
YSpkKkp8V0BtJkI3c0xublFyen5zKHQ7TGlQPDI9PTEkfX0yZExNPTE4P28mM2IrPmI/dgp6MV5f
Rn4jbXhKT2JtUnl2UDg8aGhsSVlQKyVZVHQqUGFKNzdUeFhkYXwwQmRsMzY+ajFDQzBhVE9iOzg4
cVpDNSgKemFiSTNZS21FalpxSHxTMVZGWmJJQVl+S0heeyVZZW5gVT9TJlgob1dtNUR8UU0jc2JI
R0Z3XyRveTh7UTNfX0JYCm07e2A+ejg+UFNHOGpXVGAwISV5bjgmSFd+dEhDJihaKCRFdHlVTVFB
UTJ8QDhYVEFGWAoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9x
dWljL3Rlc3RzL3Rsc19jbGllbnRfaGVsbG8uYmluIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3Rlc3RzL3Rsc19j
bGllbnRfaGVsbG8uYmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjExNDBhZWNmYzY5ZmI4NGQ1YmVkNmIxYWFjOTE2
MmVjMTNhMDQ2ODYKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDI1OAp6Y21aUSVWRUQoKEVVe15t
XzIoenZ1fGE0NFJsVjYwfEl1Jmw7bWUtQ19CWiR6ZW9TM2dfV1l7Q3Rhblh8RjE4JiEKelpNMGJQ
PUFDfkdVUSo2bzdkKWJaa0xeRG5kZUNUKmt0cVk0RnExSCZGZiRfcSErSGl8MjZxTm0yNXw7UW1n
O3x0CnpVRUU0ZFMpRyElJEclVEV8RXRMJU4+TXVGO19GYDdEU3FrZWVvUWB8NzhPIV8hUlkqWXJS
QkRaYG5JZShePzxTTgp6cUg2Zm9POEZUSlUtKmt8Vjk7alo8WH5wMG0jTFNvbXR4PiQ7OX10NVV9
MGZxVlBzK2l2Uk4zSWZWU3V8RmZsVXoKeVUmPihxcE1nUDshSHxLS2Z1JXUhZnF7VnlPMHo/MDc2
ejZecGZDZD8xQ3Z0KDB8eF8+TGtpRmdNbEp4JEkjR0g2CgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEK
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvdGVzdHMvdGxzX2NsaWVudF9oZWxsb193aXRoX2Fs
cG4uYmluIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy90aGlyZF9wYXJ0eS9haW9xdWljL3Rlc3RzL3Rsc19jbGllbnRfaGVsbG9fd2l0aF9hbHBuLmJp
bgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi45MTEzYTNlNzVlMTRkNmQ5MjkwZjVkYTQyOWEzMjUwMmQ3YzRjMjZjCkdJ
VCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAzMDYKemNtWlElVkFOd35lajZUPnpjK0dAQDJ9TXRuQ35v
bWsjT2NWcExvOzNeLU5FektoPG49cEl5ZWx6IyteaSVwfWFyCnpAU2wtXjtxVSpZNDVrZG00NkY8
KzRKLUB7M35XJUU5Wkl0UlgjdD0oMkxtR2AxMUFITUxrYV5VUD43K18wNE9OSQp6QWpaSFRvU2Mo
aW52I34yU2ReKztTZWx1dm16PHg9enxGd0klKXJSUnp5KlhINEJgeTNLKCYkIyUwTjg9S3QzQzUK
emhPd0BwQn1nfD1qKTglZkw1QEwmZ18pSV5qaFRhO2dNKSpVZ051V2tnTjF7WWdOPW9lbTY0NStM
N1JiQGlKNjUjCnptd15mQjN9WGcmMjNNZClOMHRzSiF4LW80NGQqbTlQbCl8e14zdiV8JShtTkUq
fFdiWFdpV1FVLWYoNEcoNmI0fgppLV5KUWlGYGhtP0Z8O2pEJjFiJnhtI0JyPXl1U24lRExyMTZz
UlJJKyhNTV9rCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1
aWMvdGVzdHMvdGxzX2NsaWVudF9oZWxsb193aXRoX3Bzay5iaW4gYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvdGVz
dHMvdGxzX2NsaWVudF9oZWxsb193aXRoX3Bzay5iaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2Y2OTVjM2E3YjM3
YzI3MDE5YWZhNTFhNjA1MjVjYmJjMTA5NjZiOApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgNDgx
CnpjbVpRJVY3JHhCOUY/K1MqQiRFeGVBUWIjR21yQXV6Y3NxTkdFaXtCe29KK1I2Q0RxbXUqKWVw
Wndsalc2T1lVUAp6YFp8UC1gPk85dTlxVkp+OWx4WGAmWSQ7I3p4R2VkOFV7OURDU2dXbFc9MDBh
Sl9jaDNjTHJBbWFSeGAwRFJ4SDcKekEwKzlXS2R7VzlgUy1QfV9XM1YqWTkwJTBzKExEXyhEYCRa
Km8+REY0aC1IRTstPWpkQXZQKz9gJWIrcWN5eDNBCnopJShsLVVIT3xHKW1YTmNMN1JiLWdQRW1Y
cmUzO1VpaC1BYmktQ2lLZ0B1YGdrJTx3PVc/XjZnK00+KEEjS18zTgp6eiN6alEjbFJxNWwzSEEl
UzVUQiRtUk9SU3BJbmsoUCtGeylvUyp4RERUNjd7VTkxYyY0RlcqNVkqM21WTzB6SnEKekd5O1Zn
Nz1lNi1RVWVBSzF9MjlUcGJkOyUzfGNeOE9AXkhlRWV2KFBIczdoT3syYUhgWnF8SzhRTjlHeGlP
VTBhCnpAWjk2TW5Fdm5FZ1JeXj53VF82JUEzZUcpdEA1NXtrb1ZPanBNZE1xaT1QRWxhQyFmOCg5
TDM3el5jan1kc0x4Uwp6KipmI1dVRXhWU01+QDNIbz50Kl4+UUNnP1NIJVktVms/dVJ5UVZ6KHEk
d0AjUjIkZzNgcGUyR2YwcHxfVTtjQ1EKeiU3RWhuJXp0V3JSR2F6RVZsWHJpP154Xm5fckxsMVY7
WX5sYkRwMCNwNGQ8ais7Ql8kbVFrYTBeZzYkYT4jTnFNClN1R311JXVDS2tSTCprVEZIWHtJQ0FG
QGdTCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvdGVz
dHMvdGxzX2NsaWVudF9oZWxsb193aXRoX3NuaS5iaW4gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvdGVzdHMvdGxz
X2NsaWVudF9oZWxsb193aXRoX3NuaS5iaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjU2OGE4NjE2N2ZmMTYxODMx
ZjNlOTc5ZTc0NTAyYzMwM2UxNmE1ZQpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMjg2CnpjbVpR
JVYzY0JKbz5BTHJCRXJxKGJTQmk1VUVZM3ZlZDA5Uj5KKm1PPXt+KnQwP2stVnZLNz1lJmMxN0tg
K0ZjYAp6bCRGPis+I0d4KD9tdG8zS0ooSmp2dkdudWVwUjFOVl8qfHo1QHItO1dAS1BFJjB4Jm4m
ZnYtKiZmdihoT31GNEQKemB3NVk9c1RhT21jaDhoKCtzOyFpWTlHPWZ1eUVwfmpuaCpXeSpaR094
fUBSIyU3LTYkZFkzJm56cTxjYF92NyF5CnprR09iZCkoMzcpNV44V0AmfVFKfFV9bVk4c2g2Jm9W
JkctcVYmTEZsVlBSJXJXTVR4ZVNzMGpydyYqZjJGI0BlKwp6a1lFc0ZVPVU4dSR1Q1Z3JVNrTHMp
aCNUfE94OD16Jjs3clkhVGRpMWdDSyg7MTFrZWRnOCkhMTg8Yns7KGt1KXQKWGpYK0ByTWd9SVEy
bkclWUNXalFEYEhXbHUxfENyVAoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9w
YXJ0eS9haW9xdWljL3Rlc3RzL3Rsc19lbmNyeXB0ZWRfZXh0ZW5zaW9ucy5iaW4gYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fp
b3F1aWMvdGVzdHMvdGxzX2VuY3J5cHRlZF9leHRlbnNpb25zLmJpbgpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMzU0
NmM3MGM0OWNlNmIzYjM3MzlmYTI5NDMzZTE3Mzk3NTUzZWE2CkdJVCBiaW5hcnkgcGF0Y2gKbGl0
ZXJhbCA5MAp6Y21kO0pVPGhMZmBNO0RROzZEUntBUGIwS2FBamErVX0rRndVfD9XXygoRiowZ0BM
NkpEOXBnZnp+bUljentDSmoKUWc5PG5wbT5nMFZ4RUw2QDA0fVR1KiNIMGwKCmxpdGVyYWwgMApI
Y21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy90ZXN0cy90bHNfZW5jcnlwdGVk
X2V4dGVuc2lvbnNfd2l0aF9hbHBuLmJpbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy90ZXN0cy90bHNfZW5jcnlw
dGVkX2V4dGVuc2lvbnNfd2l0aF9hbHBuLmJpbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZDg0MzZhN2IzMzgzMDc3
ZjRhMzlhZDMxOGE1OGIyOGUzYmQzNTcyCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAxMTUKemNt
ZDtKVjkwMDRXZEgjSTFgWS1gKXtIYDNCWkwxLTg2cHxOOFEyKEQ4V3tmblhKQ2NXT2JofT8qRXNV
O3o0OStsCnpNP3xVZWxpYGE4M3x0SjElblUzKjErNCNuRj5vXzVOLXs3cUZyXkZwY1ZnZylWWEll
dkpYIUlXb3lQTiU0OXBCbgpMP29XVT1GdFB5dlFWMVFSCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEK
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvdGVzdHMvdGxzX2VuY3J5cHRlZF9leHRlbnNpb25z
X3dpdGhfYWxwbl9hbmRfZWFybHlfZGF0YS5iaW4gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvdGVzdHMvdGxzX2Vu
Y3J5cHRlZF9leHRlbnNpb25zX3dpdGhfYWxwbl9hbmRfZWFybHlfZGF0YS5iaW4KbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uN2U5MDY5ZjZiZTNkMmU0NTdlNjNjOTQyZmM5ZjA1NGNkYmFjNGE5MQpHSVQgYmluYXJ5IHBh
dGNoCmxpdGVyYWwgMTE2CnpjbWQ7SlU/XmI3ViptakcxYFktYCl7SGAzQkxmQzQyOFJEajhOd0pz
Nz8+Q1ljdXhsYGFTQWs9eCtRKH5kWTAzMQp6fE5uT31hR3FISVRxfTlIWTZ2PzY4dnshTiF+ZyQ0
JjVTQE1raStgXzdYdkYpa2VQd1d7UnNtWDEweXA3QkxoPnEKSzAwVER6cWEqLW9fOFo2bQoKbGl0
ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3Rlc3RzL3Rsc19m
aW5pc2hlZC5iaW4gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvdGVzdHMvdGxzX2ZpbmlzaGVkLmJpbgpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5hNjRiYjJmMmE5ZDI3NTM4Y2EyMTU0YWI3OTRmMzllZjc3NmZkNWZhCkdJVCBiaW5hcnkg
cGF0Y2gKbGl0ZXJhbCAzNgp1Y21WKzwwTmVpKjAwMUVJU0NUUmB8QyZpNXNAcENPJEZaWGkmVTU+
b3p7RHFTbih9RCQyPCZKYU5ELVI9CgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJk
X3BhcnR5L2Fpb3F1aWMvdGVzdHMvdGxzX25ld19zZXNzaW9uX3RpY2tldC5iaW4gYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fp
b3F1aWMvdGVzdHMvdGxzX25ld19zZXNzaW9uX3RpY2tldC5iaW4KbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjQzOWI0
NzMxZTA0YjNiNmQ2ZDNhNjE1ZmMzM2RlNWRmNzQ2Y2Y1YgpHSVQgYmluYXJ5IHBhdGNoCmxpdGVy
YWwgNTcKemNtWlEhVUAmRTEzflZeXlkmfENmZ1RuMStBRDM1RTlCfDcxbH44bHhnMD9BPmAlTn45
MChae0g/Nj1FYkNZQDx5Ck07OSReVlZFR1JPMER3anFKXiVtIQoKbGl0ZXJhbCAwCkhjbVY/ZDAw
MDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3Rlc3RzL3Rsc19uZXdfc2Vzc2lvbl90aWNr
ZXRfd2l0aF91bmtub3duX2V4dGVuc2lvbi5iaW4gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvdGVzdHMvdGxzX25l
d19zZXNzaW9uX3RpY2tldF93aXRoX3Vua25vd25fZXh0ZW5zaW9uLmJpbgpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
Mzc5Mjg5MGFjZTc1MTNjZmI1YWExOGEzNzNhOTQ5ZjQxZGI4Y2NmCkdJVCBiaW5hcnkgcGF0Y2gK
bGl0ZXJhbCA2NAp6Y21aUSFWNmI2ZTN+Vl5eWSZ8Q2ZnVG4xK0FEMzVFOUJ8NzFsfjhseGcwP0E+
YCVOfjkwKFp7SD82PUViQ1lAPHkKVDtBaFpjVkVHUk8yOV54V1k1RG04RjtmfSoKCmxpdGVyYWwg
MApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy90ZXN0cy90bHNfc2VydmVy
X2hlbGxvLmJpbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy90ZXN0cy90bHNfc2VydmVyX2hlbGxvLmJpbgpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMGE2YzUxZmU1NjAyOTUxM2I4MzhjNmQyNDMxOWNlNWM4ZmZkYmY0CkdJVCBiaW5h
cnkgcGF0Y2gKbGl0ZXJhbCAxNTUKemNtVjtNMEEmOUgwMDVUKjFGZmkxYW5ZODUjdWUmd0hjXzVH
LSl8bCFeUldrQjtvZ0Ayc0VBSTJmRlBSZ2Z9K3VlCnohT0pxRURjUmlxMDdARHxpcUo/fVFedm9+
Umx6YyVHQnB6ZDAwMihfRCp5cm0xT1BKdE1GMUI3Sz9JOEAmP3E4OAp6KmhfIVIwOyRDREtGUnxy
PEhySjtxZT9TKlBIdWFsaUNvR1lQJkBFOWlwRzxDSEF4Wj9afVRNKENjTDRRamVqX0UKSjdSV20w
JiQxTipLe0B+YwoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9x
dWljL3Rlc3RzL3Rsc19zZXJ2ZXJfaGVsbG9fd2l0aF9wc2suYmluIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3Rl
c3RzL3Rsc19zZXJ2ZXJfaGVsbG9fd2l0aF9wc2suYmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRlY2NkZjU5YWI5
NWU4OWU0MDRjZTIzNGRiM2Y4MWQxOGRlMWUwZWIKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDE2
MQp6Y21WO1MwQUJ3QjAwNWw+MUkpVXcxcEZKLTZndz0meHBnNFZIYHg/JCt4JnFpNkI+SylgOWI1
TUh6MVVRPWpmSHQKel52PU8+aE9tVHwwbDtHPlYkRjY9ZnshbldGSEIyIWFqKzh0MDAzMTBEKnly
bTFPUEp0TUYxQjdLP0hAQCZkY2xrCnpSRkI0Mnpmcmo4K0pxYFZSPFVIRmV8R31QRl5tQEVoIzBt
Jm02TmV0Vz1Zb2NTdlkhQTV7bmk9YyYqNGw3bi1kQgpQKGBATm9Wcy0jMjAwSUMyNkkoO2sKCmxp
dGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy90ZXN0cy90bHNf
c2VydmVyX2hlbGxvX3dpdGhfdW5rbm93bl9leHRlbnNpb24uYmluIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3Rl
c3RzL3Rsc19zZXJ2ZXJfaGVsbG9fd2l0aF91bmtub3duX2V4dGVuc2lvbi5iaW4KbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZGJlNWI3MDczZmRiZTNjYjdiZmZiNzE4YjE0NmRlMjUxMDgzYmVkNQpHSVQgYmluYXJ5IHBh
dGNoCmxpdGVyYWwgMTYyCnpjbVY7VDBBMnFBMDA1bz8xRmZpMWFuWTg1I3VlJndIY181Ry0pfGwh
XlJXa0I7b2dAMnNFQUkyZkZQUmdmfSt1ZQp6IU9KcUVEY1JpcTA3QER8aXFKP31RXnZvflJsemMl
R0JwemQwMDM0MUQqeXJtMU9QSnRNRjFCN0s/SThAJj9xODgKeipoXyFSMDskQ0RLRlJ8cjxIcko7
cWU/UypQSHVhbGlDb0dZUCZARTlpcEc8Q0hBeFo/Wn1UTShDY0w0UWplal9FClE3UldtMCYkMksl
MDBVLWtafFJkbF95N09eCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5
L2Fpb3F1aWMvdGVzdHMvdXRpbHMucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvdGVzdHMvdXRpbHMucHkKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNjBiYWIyYjY4YTI0OGZiYzUzNDBmMjNlMmE3OTc2NzA1MGE1ZjVhNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy90ZXN0cy91dGlscy5weQpAQCAtMCwwICsxLDcxIEBA
CitpbXBvcnQgYXN5bmNpbworaW1wb3J0IGRhdGV0aW1lCitpbXBvcnQgbG9nZ2luZworaW1wb3J0
IG9zCitpbXBvcnQgc3lzCisKK2Zyb20gY3J5cHRvZ3JhcGh5IGltcG9ydCB4NTA5Citmcm9tIGNy
eXB0b2dyYXBoeS5oYXptYXQuYmFja2VuZHMgaW1wb3J0IGRlZmF1bHRfYmFja2VuZAorZnJvbSBj
cnlwdG9ncmFwaHkuaGF6bWF0LnByaW1pdGl2ZXMgaW1wb3J0IGhhc2hlcworZnJvbSBjcnlwdG9n
cmFwaHkuaGF6bWF0LnByaW1pdGl2ZXMuYXN5bW1ldHJpYyBpbXBvcnQgZWMKKworCitkZWYgZ2Vu
ZXJhdGVfZWNfY2VydGlmaWNhdGUoY29tbW9uX25hbWUsIGN1cnZlPWVjLlNFQ1AyNTZSMSwgYWx0
ZXJuYXRpdmVfbmFtZXM9W10pOgorICAgIGtleSA9IGVjLmdlbmVyYXRlX3ByaXZhdGVfa2V5KGJh
Y2tlbmQ9ZGVmYXVsdF9iYWNrZW5kKCksIGN1cnZlPWN1cnZlKQorCisgICAgc3ViamVjdCA9IGlz
c3VlciA9IHg1MDkuTmFtZSgKKyAgICAgICAgW3g1MDkuTmFtZUF0dHJpYnV0ZSh4NTA5Lk5hbWVP
SUQuQ09NTU9OX05BTUUsIGNvbW1vbl9uYW1lKV0KKyAgICApCisKKyAgICBidWlsZGVyID0gKAor
ICAgICAgICB4NTA5LkNlcnRpZmljYXRlQnVpbGRlcigpCisgICAgICAgIC5zdWJqZWN0X25hbWUo
c3ViamVjdCkKKyAgICAgICAgLmlzc3Vlcl9uYW1lKGlzc3VlcikKKyAgICAgICAgLnB1YmxpY19r
ZXkoa2V5LnB1YmxpY19rZXkoKSkKKyAgICAgICAgLnNlcmlhbF9udW1iZXIoeDUwOS5yYW5kb21f
c2VyaWFsX251bWJlcigpKQorICAgICAgICAubm90X3ZhbGlkX2JlZm9yZShkYXRldGltZS5kYXRl
dGltZS51dGNub3coKSkKKyAgICAgICAgLm5vdF92YWxpZF9hZnRlcihkYXRldGltZS5kYXRldGlt
ZS51dGNub3coKSArIGRhdGV0aW1lLnRpbWVkZWx0YShkYXlzPTEwKSkKKyAgICApCisgICAgaWYg
YWx0ZXJuYXRpdmVfbmFtZXM6CisgICAgICAgIGJ1aWxkZXIgPSBidWlsZGVyLmFkZF9leHRlbnNp
b24oCisgICAgICAgICAgICB4NTA5LlN1YmplY3RBbHRlcm5hdGl2ZU5hbWUoCisgICAgICAgICAg
ICAgICAgW3g1MDkuRE5TTmFtZShuYW1lKSBmb3IgbmFtZSBpbiBhbHRlcm5hdGl2ZV9uYW1lc10K
KyAgICAgICAgICAgICksCisgICAgICAgICAgICBjcml0aWNhbD1GYWxzZSwKKyAgICAgICAgKQor
ICAgIGNlcnQgPSBidWlsZGVyLnNpZ24oa2V5LCBoYXNoZXMuU0hBMjU2KCksIGRlZmF1bHRfYmFj
a2VuZCgpKQorICAgIHJldHVybiBjZXJ0LCBrZXkKKworCitkZWYgbG9hZChuYW1lKToKKyAgICBw
YXRoID0gb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksIG5hbWUpCisgICAg
d2l0aCBvcGVuKHBhdGgsICJyYiIpIGFzIGZwOgorICAgICAgICByZXR1cm4gZnAucmVhZCgpCisK
KworZGVmIHJ1bihjb3JvKToKKyAgICByZXR1cm4gYXN5bmNpby5nZXRfZXZlbnRfbG9vcCgpLnJ1
bl91bnRpbF9jb21wbGV0ZShjb3JvKQorCisKK1NFUlZFUl9DQUNFUlRGSUxFID0gb3MucGF0aC5q
b2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksICJweWNhY2VydC5wZW0iKQorU0VSVkVSX0NF
UlRGSUxFID0gb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksICJzc2xfY2Vy
dC5wZW0iKQorU0VSVkVSX0NFUlRGSUxFX1dJVEhfQ0hBSU4gPSBvcy5wYXRoLmpvaW4oCisgICAg
b3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgInNzbF9jZXJ0X3dpdGhfY2hhaW4ucGVtIgorKQor
U0VSVkVSX0tFWUZJTEUgPSBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwg
InNzbF9rZXkucGVtIikKK1NLSVBfVEVTVFMgPSBmcm96ZW5zZXQob3MuZW52aXJvbi5nZXQoIkFJ
T1FVSUNfU0tJUF9URVNUUyIsICIiKS5zcGxpdCgiLCIpKQorCitpZiBvcy5lbnZpcm9uLmdldCgi
QUlPUVVJQ19ERUJVRyIpOgorICAgIGxvZ2dpbmcuYmFzaWNDb25maWcobGV2ZWw9bG9nZ2luZy5E
RUJVRykKKworaWYgKAorICAgIHN5cy5wbGF0Zm9ybSA9PSAid2luMzIiCisgICAgYW5kIHN5cy52
ZXJzaW9uX2luZm8ubWFqb3IgPT0gMworICAgIGFuZCBzeXMudmVyc2lvbl9pbmZvLm1pbm9yID09
IDgKKyk6CisgICAgIyBQeXRob24gMy44IHVzZXMgUHJvYWN0b3JFdmVudExvb3AgYnkgZGVmYXVs
dCwKKyAgICAjIHdoaWNoIGJyZWFrcyBVRFAgLyBJUHY2IHN1cHBvcnQsIHNlZToKKyAgICAjCisg
ICAgIyBodHRwczovL2J1Z3MucHl0aG9uLm9yZy9pc3N1ZTM5MTQ4CisKKyAgICBhc3luY2lvLnNl
dF9ldmVudF9sb29wX3BvbGljeShhc3luY2lvLldpbmRvd3NTZWxlY3RvckV2ZW50TG9vcFBvbGlj
eSgpKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3Rlc3RzL3ZlcnNpb25fbmVnb3RpYXRpb24u
YmluIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90
aGlyZF9wYXJ0eS9haW9xdWljL3Rlc3RzL3ZlcnNpb25fbmVnb3RpYXRpb24uYmluCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY4NTA5YzkwOTljZWE4YWVlMjhkZWZmYjU1MDYyZDM5M2QxYzNiYTgKR0lUIGJpbmFyeSBw
YXRjaApsaXRlcmFsIDMxCmxjbWFGRzAwYlBmKTxrKmtZRzJ7V0BsKVR+P0FLSzNnfDY9SVYqZVEh
Qm11SUozaitXRQoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9x
dWljL3Rlc3RzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3Rlc3RzL3czYy1pbXBvcnQu
bG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjM5MGYxM2UxYjJjMzc1M2UyODY5M2ZhZTIzODI1MmFmNjdhNzg4NjMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvdGVzdHMvdzNjLWltcG9ydC5sb2cKQEAg
LTAsMCArMSw1NyBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQg
ZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVj
dGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BU
IGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAorCitU
aGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byBy
ZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJv
cGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3Rlc3RzL19faW5pdF9fLnB5Cisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9w
YXJ0eS9haW9xdWljL3Rlc3RzL2luaXRpYWxfY2xpZW50LmJpbgorL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy90ZXN0
cy9pbml0aWFsX3NlcnZlci5iaW4KKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvdGVzdHMvcHljYWNlcnQucGVtCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9w
YXJ0eS9haW9xdWljL3Rlc3RzL3JldHJ5LmJpbgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy90ZXN0cy9zaG9ydF9o
ZWFkZXIuYmluCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3Rlc3RzL3NzbF9jZXJ0LnBlbQorL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVp
Yy90ZXN0cy9zc2xfY2VydF93aXRoX2NoYWluLnBlbQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy90ZXN0cy9zc2xf
a2V5LnBlbQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvdGhpcmRfcGFydHkvYWlvcXVpYy90ZXN0cy90ZXN0X2FzeW5jaW8ucHkKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1
aWMvdGVzdHMvdGVzdF9hc3luY2lvX2NvbXBhdC5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy90ZXN0cy90ZXN0
X2J1ZmZlci5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy90ZXN0cy90ZXN0X2Nvbm5lY3Rpb24ucHkKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5
L2Fpb3F1aWMvdGVzdHMvdGVzdF9jcnlwdG8ucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvdGVzdHMvdGVzdF9o
MC5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
dGhpcmRfcGFydHkvYWlvcXVpYy90ZXN0cy90ZXN0X2gzLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3Rlc3Rz
L3Rlc3RfbG9nZ2VyLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3Rlc3RzL3Rlc3RfcGFja2V0LnB5CisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0
eS9haW9xdWljL3Rlc3RzL3Rlc3RfcGFja2V0X2J1aWxkZXIucHkKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvdGVz
dHMvdGVzdF9yYW5nZXNldC5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy90ZXN0cy90ZXN0X3JlY292ZXJ5LnB5
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGly
ZF9wYXJ0eS9haW9xdWljL3Rlc3RzL3Rlc3RfcmV0cnkucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvdGVzdHMv
dGVzdF9zdHJlYW0ucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvdGVzdHMvdGVzdF90bHMucHkKKy9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fp
b3F1aWMvdGVzdHMvdGxzX2NlcnRpZmljYXRlLmJpbgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy90ZXN0cy90bHNf
Y2VydGlmaWNhdGVfdmVyaWZ5LmJpbgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy90ZXN0cy90bHNfY2xpZW50X2hl
bGxvLmJpbgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvdGhpcmRfcGFydHkvYWlvcXVpYy90ZXN0cy90bHNfY2xpZW50X2hlbGxvX3dpdGhfYWxwbi5i
aW4KKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3Ro
aXJkX3BhcnR5L2Fpb3F1aWMvdGVzdHMvdGxzX2NsaWVudF9oZWxsb193aXRoX3Bzay5iaW4KKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3Bh
cnR5L2Fpb3F1aWMvdGVzdHMvdGxzX2NsaWVudF9oZWxsb193aXRoX3NuaS5iaW4KKy9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fp
b3F1aWMvdGVzdHMvdGxzX2VuY3J5cHRlZF9leHRlbnNpb25zLmJpbgorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy90
ZXN0cy90bHNfZW5jcnlwdGVkX2V4dGVuc2lvbnNfd2l0aF9hbHBuLmJpbgorL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVp
Yy90ZXN0cy90bHNfZW5jcnlwdGVkX2V4dGVuc2lvbnNfd2l0aF9hbHBuX2FuZF9lYXJseV9kYXRh
LmJpbgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
dGhpcmRfcGFydHkvYWlvcXVpYy90ZXN0cy90bHNfZmluaXNoZWQuYmluCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWlj
L3Rlc3RzL3Rsc19uZXdfc2Vzc2lvbl90aWNrZXQuYmluCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3Rlc3RzL3Rs
c19uZXdfc2Vzc2lvbl90aWNrZXRfd2l0aF91bmtub3duX2V4dGVuc2lvbi5iaW4KKy9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fp
b3F1aWMvdGVzdHMvdGxzX3NlcnZlcl9oZWxsby5iaW4KKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvdGVzdHMvdGxz
X3NlcnZlcl9oZWxsb193aXRoX3Bzay5iaW4KKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvdGVzdHMvdGxzX3NlcnZl
cl9oZWxsb193aXRoX3Vua25vd25fZXh0ZW5zaW9uLmJpbgorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy90ZXN0cy91
dGlscy5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvdGhpcmRfcGFydHkvYWlvcXVpYy90ZXN0cy92ZXJzaW9uX25lZ290aWF0aW9uLmJpbgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy90aGlyZF9wYXJ0eS9haW9xdWljL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL3czYy1p
bXBvcnQubG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFhNGVjOTVjOWExNjE2N2NjM2VjMGMzMTczNTMyYzU0MDBj
MTE2Y2MKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvdzNjLWltcG9ydC5sb2cKQEAg
LTAsMCArMSwyMSBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQg
ZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVj
dGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BU
IGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAorCitU
aGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byBy
ZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJv
cGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9haW9xdWljL0xJQ0VOU0UKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1
aWMvTUFOSUZFU1QuaW4KKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvUkVBRE1FLnJzdAorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvYWlvcXVpYy9z
ZXR1cC5jZmcKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3RoaXJkX3BhcnR5L2Fpb3F1aWMvc2V0dXAucHkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJz
b2NrZXQzL0NPTlRSSUJVVElORyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL0NPTlRSSUJVVElORwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mOTc1YmUxMjZmYjQ1ODljODY1OTk0YzU5ZDYxM2UzZDQxYTdhOTY2Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvQ09OVFJJQlVUSU5HCkBAIC0wLDAgKzEsMzAg
QEAKKyMgSG93IHRvIENvbnRyaWJ1dGUKKworV2UnZCBsb3ZlIHRvIGFjY2VwdCB5b3VyIHBhdGNo
ZXMgYW5kIGNvbnRyaWJ1dGlvbnMgdG8gdGhpcyBwcm9qZWN0LiBUaGVyZSBhcmUKK2p1c3QgYSBm
ZXcgc21hbGwgZ3VpZGVsaW5lcyB5b3UgbmVlZCB0byBmb2xsb3cuCisKKyMjIENvbnRyaWJ1dG9y
IExpY2Vuc2UgQWdyZWVtZW50CisKK0NvbnRyaWJ1dGlvbnMgdG8gdGhpcyBwcm9qZWN0IG11c3Qg
YmUgYWNjb21wYW5pZWQgYnkgYSBDb250cmlidXRvciBMaWNlbnNlCitBZ3JlZW1lbnQuIFlvdSAo
b3IgeW91ciBlbXBsb3llcikgcmV0YWluIHRoZSBjb3B5cmlnaHQgdG8geW91ciBjb250cmlidXRp
b247Cit0aGlzIHNpbXBseSBnaXZlcyB1cyBwZXJtaXNzaW9uIHRvIHVzZSBhbmQgcmVkaXN0cmli
dXRlIHlvdXIgY29udHJpYnV0aW9ucyBhcworcGFydCBvZiB0aGUgcHJvamVjdC4gSGVhZCBvdmVy
IHRvIDxodHRwczovL2NsYS5kZXZlbG9wZXJzLmdvb2dsZS5jb20vPiB0byBzZWUKK3lvdXIgY3Vy
cmVudCBhZ3JlZW1lbnRzIG9uIGZpbGUgb3IgdG8gc2lnbiBhIG5ldyBvbmUuCisKK1lvdSBnZW5l
cmFsbHkgb25seSBuZWVkIHRvIHN1Ym1pdCBhIENMQSBvbmNlLCBzbyBpZiB5b3UndmUgYWxyZWFk
eSBzdWJtaXR0ZWQgb25lCisoZXZlbiBpZiBpdCB3YXMgZm9yIGEgZGlmZmVyZW50IHByb2plY3Qp
LCB5b3UgcHJvYmFibHkgZG9uJ3QgbmVlZCB0byBkbyBpdAorYWdhaW4uCisKKyMjIENvZGUgcmV2
aWV3cworCitBbGwgc3VibWlzc2lvbnMsIGluY2x1ZGluZyBzdWJtaXNzaW9ucyBieSBwcm9qZWN0
IG1lbWJlcnMsIHJlcXVpcmUgcmV2aWV3LiBXZQordXNlIEdpdEh1YiBwdWxsIHJlcXVlc3RzIGZv
ciB0aGlzIHB1cnBvc2UuIENvbnN1bHQKK1tHaXRIdWIgSGVscF0oaHR0cHM6Ly9oZWxwLmdpdGh1
Yi5jb20vYXJ0aWNsZXMvYWJvdXQtcHVsbC1yZXF1ZXN0cy8pIGZvciBtb3JlCitpbmZvcm1hdGlv
biBvbiB1c2luZyBwdWxsIHJlcXVlc3RzLgorRm9yIGluc3RydWN0aW9ucyBmb3IgY29udHJpYnV0
aW5nIGNvZGUsIHBsZWFzZSByZWFkOgoraHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9weXdlYnNv
Y2tldC93aWtpL0NvZGVSZXZpZXdJbnN0cnVjdGlvbgorCisjIyBDb21tdW5pdHkgR3VpZGVsaW5l
cworCitUaGlzIHByb2plY3QgZm9sbG93cworW0dvb2dsZSdzIE9wZW4gU291cmNlIENvbW11bml0
eSBHdWlkZWxpbmVzXShodHRwczovL29wZW5zb3VyY2UuZ29vZ2xlL2NvbmR1Y3QvKS4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
dGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL0xJQ0VOU0UgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My9MSUNF
TlNFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmM5MWJlYTkwMjU0Mjg3NzllMTY0NDU5YzJhMTIwZTFhMDdhYTg1YzgK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My9MSUNFTlNFCkBAIC0wLDAgKzEs
MjggQEAKK0NvcHlyaWdodCAyMDIwLCBHb29nbGUgSW5jLgorQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KworUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Cittb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCittZXQ6CisKKyAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Citub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlCitjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCitpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCitkaXN0cmlidXRpb24uCisgICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCitjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQor
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
KworVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUworIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKK0xJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKK09XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLAorU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCitEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKK1RIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyhJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQz
L01BTklGRVNULmluIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvTUFOSUZFU1QuaW4KbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTkyNTY4ODJjNTZmZWI3MjgxMmM5OWM4YTgzNzk5NzllNjNlNGEwYwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhp
cmRfcGFydHkvcHl3ZWJzb2NrZXQzL01BTklGRVNULmluCkBAIC0wLDAgKzEsNiBAQAoraW5jbHVk
ZSBDT1BZSU5HCitpbmNsdWRlIE1BTklGRVNULmluCitpbmNsdWRlIFJFQURNRQorcmVjdXJzaXZl
LWluY2x1ZGUgZXhhbXBsZSAqLnB5CityZWN1cnNpdmUtaW5jbHVkZSBtb2RfcHl3ZWJzb2NrZXQg
Ki5weQorcmVjdXJzaXZlLWluY2x1ZGUgdGVzdCAqLnB5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vi
c29ja2V0My9SRUFETUUubWQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My9SRUFETUUubWQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjc3Y2JlNTUwYzA2NTc4MmIwZTMxNWRlMDQ2NTFjOWUwNjhjYjNhZAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
dGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL1JFQURNRS5tZApAQCAtMCwwICsxLDM2IEBACisKKyMg
cHl3ZWJzb2NrZXQzICMKKworVGhlIHB5d2Vic29ja2V0IHByb2plY3QgYWltcyB0byBwcm92aWRl
IGEgW1dlYlNvY2tldF0oaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzY0NTUpIHN0YW5k
YWxvbmUgc2VydmVyLgorCitweXdlYnNvY2tldCBpcyBpbnRlbmRlZCBmb3IgKip0ZXN0aW5nKiog
b3IgKipleHBlcmltZW50YWwqKiBwdXJwb3Nlcy4KKworUnVuIHRoaXMgdG8gcmVhZCB0aGUgZ2Vu
ZXJhbCBkb2N1bWVudDoKK2BgYAorJCBweWRvYyBtb2RfcHl3ZWJzb2NrZXQKK2BgYAorCitQbGVh
c2Ugc2VlIFtXaWtpXSguLi8uLi93aWtpKSBmb3IgbW9yZSBkZXRhaWxzLgorCisjIElOU1RBTEwg
IworCitUbyBpbnN0YWxsIHRoaXMgcGFja2FnZSB0byB0aGUgc3lzdGVtLCBydW4gdGhpczoKK2Bg
YAorJCBweXRob24gc2V0dXAucHkgYnVpbGQKKyQgc3VkbyBweXRob24gc2V0dXAucHkgaW5zdGFs
bAorYGBgCisKK1RvIGluc3RhbGwgdGhpcyBwYWNrYWdlIGFzIGEgbm9ybWFsIHVzZXIsIHJ1biB0
aGlzIGluc3RlYWQ6CisKK2BgYAorJCBweXRob24gc2V0dXAucHkgYnVpbGQKKyQgcHl0aG9uIHNl
dHVwLnB5IGluc3RhbGwgLS11c2VyCitgYGAKKyMgTEFVTkNIICMKKworVG8gdXNlIHB5d2Vic29j
a2V0IGFzIHN0YW5kYWxvbmUgc2VydmVyLCBydW4gdGhpcyB0byByZWFkIHRoZSBkb2N1bWVudDoK
K2BgYAorJCBweWRvYyBtb2RfcHl3ZWJzb2NrZXQuc3RhbmRhbG9uZQorYGBgCisjIERpc2NsYWlt
ZXIgIworVGhpcyBpcyBub3QgYW4gb2ZmaWNpYWxseSBzdXBwb3J0ZWQgR29vZ2xlIHByb2R1Y3QK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL2V4YW1wbGUvYWJvcnRfaGFuZHNoYWtlX3dz
aC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
dGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL2V4YW1wbGUvYWJvcnRfaGFuZHNoYWtlX3dzaC5weQpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xYjcxOWNhODk3MzcxMDU3MTljNzFjMmE0MmVhZmYwZDQ2NDQ3OGM3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvZXhhbXBsZS9hYm9ydF9oYW5kc2hha2Vf
d3NoLnB5CkBAIC0wLDAgKzEsNDMgQEAKKyMgQ29weXJpZ2h0IDIwMTIsIEdvb2dsZSBJbmMuCisj
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisj
IG1ldDoKKyMKKyMgICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisjIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIK
KyMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZQorIyBkaXN0cmlidXRpb24uCisjICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29v
Z2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyMgdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMgVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUworIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyMgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyMgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsCisjIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisjIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorIyBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCitmcm9tIF9fZnV0dXJl
X18gaW1wb3J0IGFic29sdXRlX2ltcG9ydAorZnJvbSBtb2RfcHl3ZWJzb2NrZXQgaW1wb3J0IGhh
bmRzaGFrZQorCisKK2RlZiB3ZWJfc29ja2V0X2RvX2V4dHJhX2hhbmRzaGFrZShyZXF1ZXN0KToK
KyAgICByYWlzZSBoYW5kc2hha2UuQWJvcnRlZEJ5VXNlckV4Y2VwdGlvbigKKyAgICAgICAgIkFi
b3J0ZWQgaW4gd2ViX3NvY2tldF9kb19leHRyYV9oYW5kc2hha2UiKQorCisKK2RlZiB3ZWJfc29j
a2V0X3RyYW5zZmVyX2RhdGEocmVxdWVzdCk6CisgICAgcGFzcworCisKKyMgdmk6c3RzPTQgc3c9
NCBldApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvZXhhbXBsZS9hYm9ydF93c2gucHkg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJk
X3BhcnR5L3B5d2Vic29ja2V0My9leGFtcGxlL2Fib3J0X3dzaC5weQpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNGMy
NDBiZjJjMWNiMGJkNTM4ZWMzN2JmNTUxYzExMjU2Mzk2YjhjCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9w
YXJ0eS9weXdlYnNvY2tldDMvZXhhbXBsZS9hYm9ydF93c2gucHkKQEAgLTAsMCArMSw0MyBAQAor
IyBDb3B5cmlnaHQgMjAxMiwgR29vZ2xlIEluYy4KKyMgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMK
KyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyMgbWV0OgorIworIyAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
IyBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKKyMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisjIGRpc3RyaWJ1dGlvbi4K
KyMgICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cworIyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbQorIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisjICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisjIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUgorIyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorIyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyMgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorIyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKKyMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisKK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0
Citmcm9tIG1vZF9weXdlYnNvY2tldCBpbXBvcnQgaGFuZHNoYWtlCisKKworZGVmIHdlYl9zb2Nr
ZXRfZG9fZXh0cmFfaGFuZHNoYWtlKHJlcXVlc3QpOgorICAgIHBhc3MKKworCitkZWYgd2ViX3Nv
Y2tldF90cmFuc2Zlcl9kYXRhKHJlcXVlc3QpOgorICAgIHJhaXNlIGhhbmRzaGFrZS5BYm9ydGVk
QnlVc2VyRXhjZXB0aW9uKAorICAgICAgICAiQWJvcnRlZCBpbiB3ZWJfc29ja2V0X3RyYW5zZmVy
X2RhdGEiKQorCisKKyMgdmk6c3RzPTQgc3c9NCBldApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNv
Y2tldDMvZXhhbXBsZS9hcnJheWJ1ZmZlcl9iZW5jaG1hcmsuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2Nr
ZXQzL2V4YW1wbGUvYXJyYXlidWZmZXJfYmVuY2htYXJrLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODY5Y2Q3
ZTFlZTY1M2Q1OWYwNGI4MDJmZjM0YzhkMDgxMzE3Y2E4OQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFy
dHkvcHl3ZWJzb2NrZXQzL2V4YW1wbGUvYXJyYXlidWZmZXJfYmVuY2htYXJrLmh0bWwKQEAgLTAs
MCArMSwxMzQgQEAKKzwhLS0KK0NvcHlyaWdodCAyMDEzLCBHb29nbGUgSW5jLgorQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKworUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cittb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCittZXQ6CisKKyAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0Citub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlCitjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCitpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCitkaXN0cmlidXRpb24uCisgICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCitj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQordGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKworVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKK0xJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQKK09XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLAorU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCitEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
K1RIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyhJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKy0tPgorCis8aHRtbD4KKzxo
ZWFkPgorPHRpdGxlPkFycmF5QnVmZmVyIGJlbmNobWFyazwvdGl0bGU+Cis8c2NyaXB0IHNyYz0i
dXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgordmFyIFBSSU5UX1NJWkUgPSB0cnVlOworCisv
LyBJbml0aWFsIHNpemUgb2YgYXJyYXlzLgordmFyIFNUQVJUX1NJWkUgPSAxMCAqIDEwMjQ7Cisv
LyBTdG9wcyBiZW5jaG1hcmsgd2hlbiB0aGUgc2l6ZSBvZiBhbiBhcnJheSBleGNlZWRzIHRoaXMg
dGhyZXNob2xkLgordmFyIFNUT1BfVEhSRVNIT0xEID0gMTAwMDAwICogMTAyNDsKKy8vIElmIHRo
ZSBzaXplIG9mIGVhY2ggYXJyYXkgaXMgc21hbGwsIHdyaXRlL3JlYWQgdGhlIGFycmF5IG11bHRp
cGxlIHRpbWVzCisvLyB1bnRpbCB0aGUgc3VtIG9mIHNpemVzIHJlYWNoZXMgdGhpcyB0aHJlc2hv
bGQuCit2YXIgTUlOX1RPVEFMID0gMTAwMDAwICogMTAyNDsKK3ZhciBNVUxUSVBMSUVSUyA9IFs1
LCAyXTsKKworLy8gUmVwZWF0IGJlbmNobWFyayBmb3Igc2V2ZXJhbCB0aW1lcyB0byBtZWFzdXJl
IHBlcmZvcm1hbmNlIG9mIG9wdGltaXplZAorLy8gKHN1Y2ggYXMgSklUKSBydW4uCit2YXIgUkVQ
RUFUX0ZPUl9XQVJNVVAgPSAzOworCitmdW5jdGlvbiB3cml0ZUJlbmNobWFyayhzaXplLCBtaW5U
b3RhbCkgeworICB2YXIgdG90YWxTaXplID0gMDsKKyAgd2hpbGUgKHRvdGFsU2l6ZSA8IG1pblRv
dGFsKSB7CisgICAgdmFyIGFycmF5QnVmZmVyID0gbmV3IEFycmF5QnVmZmVyKHNpemUpOworCisg
ICAgLy8gV3JpdGUgJ2Ency4KKyAgICBmaWxsQXJyYXlCdWZmZXIoYXJyYXlCdWZmZXIsIDB4NjEp
OworCisgICAgdG90YWxTaXplICs9IHNpemU7CisgIH0KKyAgcmV0dXJuIHRvdGFsU2l6ZTsKK30K
KworZnVuY3Rpb24gcmVhZEJlbmNobWFyayhzaXplLCBtaW5Ub3RhbCkgeworICB2YXIgdG90YWxT
aXplID0gMDsKKyAgd2hpbGUgKHRvdGFsU2l6ZSA8IG1pblRvdGFsKSB7CisgICAgdmFyIGFycmF5
QnVmZmVyID0gbmV3IEFycmF5QnVmZmVyKHNpemUpOworCisgICAgaWYgKCF2ZXJpZnlBcnJheUJ1
ZmZlcihhcnJheUJ1ZmZlciwgMHgwMCkpIHsKKyAgICAgIHF1ZXVlTG9nKCdWZXJpZmljYXRpb24g
ZmFpbGVkJyk7CisgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgdG90YWxTaXplICs9IHNp
emU7CisgIH0KKyAgcmV0dXJuIHRvdGFsU2l6ZTsKK30KKworZnVuY3Rpb24gcnVuQmVuY2htYXJr
KGJlbmNobWFya0Z1bmN0aW9uLAorICAgICAgICAgICAgICAgICAgICAgIHNpemUsCisgICAgICAg
ICAgICAgICAgICAgICAgc3RvcFRocmVzaG9sZCwKKyAgICAgICAgICAgICAgICAgICAgICBtaW5U
b3RhbCwKKyAgICAgICAgICAgICAgICAgICAgICBtdWx0aXBsaWVycywKKyAgICAgICAgICAgICAg
ICAgICAgICBtdWx0aXBsaWVySW5kZXgpIHsKKyAgd2hpbGUgKHNpemUgPD0gc3RvcFRocmVzaG9s
ZCkgeworICAgIHZhciBtYXhTcGVlZCA9IDA7CisKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IFJF
UEVBVF9GT1JfV0FSTVVQOyArK2kpIHsKKyAgICAgIHZhciBzdGFydFRpbWVJbk1zID0gZ2V0VGlt
ZVN0YW1wKCk7CisKKyAgICAgIHZhciB0b3RhbFNpemUgPSBiZW5jaG1hcmtGdW5jdGlvbihzaXpl
LCBtaW5Ub3RhbCk7CisKKyAgICAgIG1heFNwZWVkID0gTWF0aC5tYXgobWF4U3BlZWQsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNhbGN1bGF0ZVNwZWVkSW5LQih0b3RhbFNpemUsIHN0YXJ0
VGltZUluTXMpKTsKKyAgICB9CisgICAgcXVldWVMb2coZm9ybWF0UmVzdWx0SW5LaUIoc2l6ZSwg
bWF4U3BlZWQsIFBSSU5UX1NJWkUpKTsKKworICAgIHNpemUgKj0gbXVsdGlwbGllcnNbbXVsdGlw
bGllckluZGV4XTsKKyAgICBtdWx0aXBsaWVySW5kZXggPSAobXVsdGlwbGllckluZGV4ICsgMSkg
JSBtdWx0aXBsaWVycy5sZW5ndGg7CisgIH0KK30KKworZnVuY3Rpb24gcnVuQmVuY2htYXJrcygp
IHsKKyAgcXVldWVMb2coJ01lc3NhZ2Ugc2l6ZSBpbiBLaUIsIFNwZWVkIGluIGtCL3MnKTsKKwor
ICBxdWV1ZUxvZygnV3JpdGUgYmVuY2htYXJrJyk7CisgIHJ1bkJlbmNobWFyaygKKyAgICAgIHdy
aXRlQmVuY2htYXJrLCBTVEFSVF9TSVpFLCBTVE9QX1RIUkVTSE9MRCwgTUlOX1RPVEFMLCBNVUxU
SVBMSUVSUywgMCk7CisgIHF1ZXVlTG9nKCdGaW5pc2hlZCcpOworCisgIHF1ZXVlTG9nKCdSZWFk
IGJlbmNobWFyaycpOworICBydW5CZW5jaG1hcmsoCisgICAgICByZWFkQmVuY2htYXJrLCBTVEFS
VF9TSVpFLCBTVE9QX1RIUkVTSE9MRCwgTUlOX1RPVEFMLCBNVUxUSVBMSUVSUywgMCk7CisgIGFk
ZFRvTG9nKCdGaW5pc2hlZCcpOworfQorCitmdW5jdGlvbiBpbml0KCkgeworICBsb2dCb3ggPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbG9nJyk7CisKKyAgcXVldWVMb2cod2luZG93Lm5hdmln
YXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKSk7CisKKyAgYWRkVG9Mb2coJ1N0YXJ0ZWQuLi4n
KTsKKworICBzZXRUaW1lb3V0KHJ1bkJlbmNobWFya3MsIDApOworfQorCis8L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5IG9ubG9hZD0iaW5pdCgpIj4KKzx0ZXh0YXJlYQorICAgIGlkPSJsb2ciIHJv
d3M9IjUwIiBzdHlsZT0id2lkdGg6IDEwMCUiIHJlYWRvbmx5PjwvdGV4dGFyZWE+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My9leGFtcGxlL2JlbmNoX3dz
aC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
dGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL2V4YW1wbGUvYmVuY2hfd3NoLnB5Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjJkZjUwZTc3ZGIyNzZjY2ExZGU0NzIwNTlhMDc0MDcxYjgxYTkzY2MKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3Ro
aXJkX3BhcnR5L3B5d2Vic29ja2V0My9leGFtcGxlL2JlbmNoX3dzaC5weQpAQCAtMCwwICsxLDU5
IEBACisjIENvcHlyaWdodCAyMDExLCBHb29nbGUgSW5jLgorIyBBbGwgcmlnaHRzIHJlc2VydmVk
LgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorIyBtZXQ6CisjCisjICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisjIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyMgICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZQorIyBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisjIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyMgZGlzdHJpYnV0
aW9uLgorIyAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFt
ZXMgb2YgaXRzCisjIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisjIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyMgIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyMgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SCisjIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisjIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorIyBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisjIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAorIyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyMgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyIiIkEgc2ltcGxlIGxvYWQgdGVzdGVyIGZvciBXZWJTb2Nr
ZXQgY2xpZW50cy4KKworQSBjbGllbnQgcHJvZ3JhbSBzZW5kcyBhIG1lc3NhZ2UgZm9ybWF0dGVk
IGFzICI8dGltZT4gPGNvdW50PiA8bWVzc2FnZT4iIHRvCit0aGlzIGhhbmRsZXIuIFRoaXMgaGFu
ZGxlciBzdGFydHMgc2VuZGluZyB0b3RhbCA8Y291bnQ+IFdlYlNvY2tldCBtZXNzYWdlcworY29u
dGFpbmluZyA8bWVzc2FnZT4gZXZlcnkgPHRpbWU+IHNlY29uZHMuIDx0aW1lPiBjYW4gYmUgYSBm
bG9hdGluZyBwb2ludAordmFsdWUuIDxjb3VudD4gbXVzdCBiZSBhbiBpbnRlZ2VyIHZhbHVlLgor
IiIiCisKK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0CitpbXBvcnQgdGlt
ZQorZnJvbSBzaXgubW92ZXMgaW1wb3J0IHJhbmdlCisKKworZGVmIHdlYl9zb2NrZXRfZG9fZXh0
cmFfaGFuZHNoYWtlKHJlcXVlc3QpOgorICAgIHBhc3MgICMgQWx3YXlzIGFjY2VwdC4KKworCitk
ZWYgd2ViX3NvY2tldF90cmFuc2Zlcl9kYXRhKHJlcXVlc3QpOgorICAgIGxpbmUgPSByZXF1ZXN0
LndzX3N0cmVhbS5yZWNlaXZlX21lc3NhZ2UoKQorICAgIHBhcnRzID0gbGluZS5zcGxpdCgnICcp
CisgICAgaWYgbGVuKHBhcnRzKSAhPSAzOgorICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCdCYWQg
cGFyYW1ldGVyIGZvcm1hdCcpCisgICAgd2FpdCA9IGZsb2F0KHBhcnRzWzBdKQorICAgIGNvdW50
ID0gaW50KHBhcnRzWzFdKQorICAgIG1lc3NhZ2UgPSBwYXJ0c1syXQorICAgIGZvciBpIGluIHJh
bmdlKGNvdW50KToKKyAgICAgICAgcmVxdWVzdC53c19zdHJlYW0uc2VuZF9tZXNzYWdlKG1lc3Nh
Z2UpCisgICAgICAgIHRpbWUuc2xlZXAod2FpdCkKKworCisjIHZpOnN0cz00IHN3PTQgZXQKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL2V4YW1wbGUvYmVuY2htYXJrLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5
L3B5d2Vic29ja2V0My9leGFtcGxlL2JlbmNobWFyay5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYxZTVjOTdi
M2E3MWJjZjllYmRlN2M0ZmNhZjE1Mzc1Mzg5YjFjNjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5
L3B5d2Vic29ja2V0My9leGFtcGxlL2JlbmNobWFyay5odG1sCkBAIC0wLDAgKzEsMTc1IEBACis8
IS0tCitDb3B5cmlnaHQgMjAxMywgR29vZ2xlIEluYy4KK0FsbCByaWdodHMgcmVzZXJ2ZWQuCisK
K1JlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorbWV0OgorCisgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZQorY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lcgoraW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZQorZGlzdHJpYnV0aW9uLgorICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KK3Ro
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisK
K1RISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMKKyJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UCitMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKK0EgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCitPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwKK1NQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKK0xJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCitUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiso
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKK09GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCistLT4KKworPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5X
ZWJTb2NrZXQgYmVuY2htYXJrPC90aXRsZT4KKzxzY3JpcHQgc3JjPSJ1dGlsX21haW4uanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9InV0aWwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9ImJl
bmNobWFyay5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgordmFyIGFkZHJlc3NCb3ggPSBudWxsOwor
CitmdW5jdGlvbiBnZXRDb25maWcoKSB7CisgIHJldHVybiB7CisgICAgcHJlZml4VXJsOiBhZGRy
ZXNzQm94LnZhbHVlLAorICAgIHByaW50U2l6ZTogZ2V0Qm9vbEZyb21DaGVja0JveCgncHJpbnRz
aXplJyksCisgICAgbnVtU29ja2V0czogZ2V0SW50RnJvbUlucHV0KCdudW1zb2NrZXRzJyksCisg
ICAgLy8gSW5pdGlhbCBzaXplIG9mIG1lc3NhZ2VzLgorICAgIG51bUl0ZXJhdGlvbnM6IGdldElu
dEZyb21JbnB1dCgnbnVtaXRlcmF0aW9ucycpLAorICAgIG51bVdhcm1VcEl0ZXJhdGlvbnM6IGdl
dEludEZyb21JbnB1dCgnbnVtd2FybXVwaXRlcmF0aW9ucycpLAorICAgIHN0YXJ0U2l6ZTogZ2V0
SW50RnJvbUlucHV0KCdzdGFydHNpemUnKSwKKyAgICAvLyBTdG9wcyBiZW5jaG1hcmsgd2hlbiB0
aGUgc2l6ZSBvZiBtZXNzYWdlIGV4Y2VlZHMgdGhpcyB0aHJlc2hvbGQuCisgICAgc3RvcFRocmVz
aG9sZDogZ2V0SW50RnJvbUlucHV0KCdzdG9wdGhyZXNob2xkJyksCisgICAgLy8gSWYgdGhlIHNp
emUgb2YgZWFjaCBtZXNzYWdlIGlzIHNtYWxsLCBzZW5kL3JlY2VpdmUgbXVsdGlwbGUgbWVzc2Fn
ZXMKKyAgICAvLyB1bnRpbCB0aGUgc3VtIG9mIHNpemVzIHJlYWNoZXMgdGhpcyB0aHJlc2hvbGQu
CisgICAgbWluVG90YWw6IGdldEludEZyb21JbnB1dCgnbWludG90YWwnKSwKKyAgICBtdWx0aXBs
aWVyczogZ2V0RmxvYXRBcnJheUZyb21JbnB1dCgnbXVsdGlwbGllcnMnKSwKKyAgICB2ZXJpZnlE
YXRhOiBnZXRCb29sRnJvbUNoZWNrQm94KCd2ZXJpZnlkYXRhJyksCisgICAgYWRkVG9Mb2c6IGFk
ZFRvTG9nLAorICAgIGFkZFRvU3VtbWFyeTogYWRkVG9TdW1tYXJ5LAorICAgIG1lYXN1cmVWYWx1
ZTogbWVhc3VyZVZhbHVlLAorICAgIG5vdGlmeUFib3J0OiBub3RpZnlBYm9ydAorICB9OworfQor
CitmdW5jdGlvbiBvblNlbmRCZW5jaG1hcmsoKSB7CisgIHZhciBjb25maWcgPSBnZXRDb25maWco
KTsKKyAgZG9BY3Rpb24oY29uZmlnLCBnZXRCb29sRnJvbUNoZWNrQm94KCd3b3JrZXInKSwgJ3Nl
bmRCZW5jaG1hcmsnKTsKK30KKworZnVuY3Rpb24gb25SZWNlaXZlQmVuY2htYXJrKCkgeworICB2
YXIgY29uZmlnID0gZ2V0Q29uZmlnKCk7CisgIGRvQWN0aW9uKGNvbmZpZywgZ2V0Qm9vbEZyb21D
aGVja0JveCgnd29ya2VyJyksICdyZWNlaXZlQmVuY2htYXJrJyk7Cit9CisKK2Z1bmN0aW9uIG9u
QmF0Y2hCZW5jaG1hcmsoKSB7CisgIHZhciBjb25maWcgPSBnZXRDb25maWcoKTsKKyAgZG9BY3Rp
b24oY29uZmlnLCBnZXRCb29sRnJvbUNoZWNrQm94KCd3b3JrZXInKSwgJ2JhdGNoQmVuY2htYXJr
Jyk7Cit9CisKK2Z1bmN0aW9uIG9uU3RvcCgpIHsKKyAgdmFyIGNvbmZpZyA9IGdldENvbmZpZygp
OworICBkb0FjdGlvbihjb25maWcsIGdldEJvb2xGcm9tQ2hlY2tCb3goJ3dvcmtlcicpLCAnc3Rv
cCcpOworfQorCitmdW5jdGlvbiBpbml0KCkgeworICBhZGRyZXNzQm94ID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2FkZHJlc3MnKTsKKyAgbG9nQm94ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2xvZycpOworCisgIHN1bW1hcnlCb3ggPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3Vt
bWFyeScpOworCisgIHZhciBzY2hlbWUgPSB3aW5kb3cubG9jYXRpb24ucHJvdG9jb2wgPT0gJ2h0
dHBzOicgPyAnd3NzOi8vJyA6ICd3czovLyc7CisgIHZhciBkZWZhdWx0QWRkcmVzcyA9IHNjaGVt
ZSArIHdpbmRvdy5sb2NhdGlvbi5ob3N0ICsgJy9iZW5jaG1hcmtfaGVscGVyJzsKKworICBhZGRy
ZXNzQm94LnZhbHVlID0gZGVmYXVsdEFkZHJlc3M7CisKKyAgYWRkVG9Mb2cod2luZG93Lm5hdmln
YXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKSk7CisgIGFkZFRvU3VtbWFyeSh3aW5kb3cubmF2
aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpKTsKKworICBpZiAoISgnV2ViU29ja2V0JyBp
biB3aW5kb3cpKSB7CisgICAgYWRkVG9Mb2coJ1dlYlNvY2tldCBpcyBub3QgYXZhaWxhYmxlJyk7
CisgIH0KKworICBpbml0V29ya2VyKCcnKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkg
b25sb2FkPSJpbml0KCkiPgorCis8ZGl2IGlkPSJiZW5jaG1hcmtfZGl2Ij4KKyAgdXJsIDxpbnB1
dCB0eXBlPSJ0ZXh0IiBpZD0iYWRkcmVzcyIgc2l6ZT0iNDAiPgorICA8aW5wdXQgdHlwZT0iYnV0
dG9uIiB2YWx1ZT0ic2VuZCIgb25jbGljaz0ib25TZW5kQmVuY2htYXJrKCkiPgorICA8aW5wdXQg
dHlwZT0iYnV0dG9uIiB2YWx1ZT0icmVjZWl2ZSIgb25jbGljaz0ib25SZWNlaXZlQmVuY2htYXJr
KCkiPgorICA8aW5wdXQgdHlwZT0iYnV0dG9uIiB2YWx1ZT0iYmF0Y2giIG9uY2xpY2s9Im9uQmF0
Y2hCZW5jaG1hcmsoKSI+CisgIDxpbnB1dCB0eXBlPSJidXR0b24iIHZhbHVlPSJzdG9wIiBvbmNs
aWNrPSJvblN0b3AoKSI+CisKKyAgPGJyLz4KKworICA8aW5wdXQgdHlwZT0iY2hlY2tib3giIGlk
PSJwcmludHNpemUiIGNoZWNrZWQ+CisgIDxsYWJlbCBmb3I9InByaW50c2l6ZSI+UHJpbnQgc2l6
ZSBhbmQgdGltZSBwZXIgbWVzc2FnZTwvbGFiZWw+CisgIDxpbnB1dCB0eXBlPSJjaGVja2JveCIg
aWQ9InZlcmlmeWRhdGEiIGNoZWNrZWQ+CisgIDxsYWJlbCBmb3I9InZlcmlmeWRhdGEiPlZlcmlm
eSBkYXRhPC9sYWJlbD4KKyAgPGlucHV0IHR5cGU9ImNoZWNrYm94IiBpZD0id29ya2VyIj4KKyAg
PGxhYmVsIGZvcj0id29ya2VyIj5SdW4gb24gd29ya2VyPC9sYWJlbD4KKworICA8YnIvPgorCisg
IFBhcmFtZXRlcnM6CisKKyAgPGJyLz4KKworICA8dGFibGU+CisgICAgPHRyPgorICAgICAgPHRk
Pk51bSBzb2NrZXRzPC90ZD4KKyAgICAgIDx0ZD48aW5wdXQgdHlwZT0idGV4dCIgaWQ9Im51bXNv
Y2tldHMiIHZhbHVlPSIxIj48L3RkPgorICAgIDwvdHI+CisgICAgPHRyPgorICAgICAgPHRkPk51
bWJlciBvZiBpdGVyYXRpb25zPC90ZD4KKyAgICAgIDx0ZD48aW5wdXQgdHlwZT0idGV4dCIgaWQ9
Im51bWl0ZXJhdGlvbnMiIHZhbHVlPSIxIj48L3RkPgorICAgIDwvdHI+CisgICAgPHRyPgorICAg
ICAgPHRkPk51bWJlciBvZiB3YXJtLXVwIGl0ZXJhdGlvbnM8L3RkPgorICAgICAgPHRkPjxpbnB1
dCB0eXBlPSJ0ZXh0IiBpZD0ibnVtd2FybXVwaXRlcmF0aW9ucyIgdmFsdWU9IjAiPjwvdGQ+Cisg
ICAgPC90cj4KKyAgICA8dHI+CisgICAgICA8dGQ+U3RhcnQgc2l6ZTwvdGQ+CisgICAgICA8dGQ+
PGlucHV0IHR5cGU9InRleHQiIGlkPSJzdGFydHNpemUiIHZhbHVlPSIxMDI0MCI+PC90ZD4KKyAg
ICA8L3RyPgorICAgIDx0cj4KKyAgICAgIDx0ZD5TdG9wIHRocmVzaG9sZDwvdGQ+CisgICAgICA8
dGQ+PGlucHV0IHR5cGU9InRleHQiIGlkPSJzdG9wdGhyZXNob2xkIiB2YWx1ZT0iMTAyNDAwMDAw
Ij48L3RkPgorICAgIDwvdHI+CisgICAgPHRyPgorICAgICAgPHRkPk1pbmltdW0gdG90YWw8L3Rk
PgorICAgICAgPHRkPjxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0ibWludG90YWwiIHZhbHVlPSIxMDI0
MDAwMDAiPjwvdGQ+CisgICAgPC90cj4KKyAgICA8dHI+CisgICAgICA8dGQ+TXVsdGlwbGllcnM8
L3RkPgorICAgICAgPHRkPjxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0ibXVsdGlwbGllcnMiIHZhbHVl
PSI1LCAyIj48L3RkPgorICAgIDwvdHI+CisgIDwvdGFibGU+Cis8L2Rpdj4KKworPGRpdiBpZD0i
bG9nX2RpdiI+CisgIDx0ZXh0YXJlYQorICAgICAgaWQ9ImxvZyIgcm93cz0iMjAiIHN0eWxlPSJ3
aWR0aDogMTAwJSIgcmVhZG9ubHk+PC90ZXh0YXJlYT4KKzwvZGl2PgorPGRpdiBpZD0ic3VtbWFy
eV9kaXYiPgorICBTdW1tYXJ5CisgIDx0ZXh0YXJlYQorICAgICAgaWQ9InN1bW1hcnkiIHJvd3M9
IjIwIiBzdHlsZT0id2lkdGg6IDEwMCUiIHJlYWRvbmx5PjwvdGV4dGFyZWE+Cis8L2Rpdj4KKwor
Tm90ZTogRWZmZWN0IG9mIFJUVCBpcyBub3QgZWxpbWluYXRlZC4KKworPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvZXhhbXBsZS9iZW5jaG1hcmsuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3Bh
cnR5L3B5d2Vic29ja2V0My9leGFtcGxlL2JlbmNobWFyay5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNzAxNDcy
YTRmYWFjNDQ2YjFjOGJkMjQ1NmYyNzFlOTM0ZGI1NzFjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0
eS9weXdlYnNvY2tldDMvZXhhbXBsZS9iZW5jaG1hcmsuanMKQEAgLTAsMCArMSwyMzggQEAKKy8v
IENvcHlyaWdodCAyMDE0LCBHb29nbGUgSW5jLgorLy8gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8v
CisvLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKy8vIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKy8vIG1ldDoKKy8vCisvLyAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorLy8gbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorLy8gICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorLy8gY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorLy8gaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorLy8gZGlz
dHJpYnV0aW9uLgorLy8gICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3Ig
dGhlIG5hbWVzIG9mIGl0cworLy8gY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKy8vIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLworLy8gVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwor
Ly8gIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QKKy8vIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorLy8gQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKy8vIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLAorLy8gU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisvLyBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKy8vIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKy8vIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorLy8gT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCitpZiAodHlwZW9m
IGltcG9ydFNjcmlwdHMgIT09ICJ1bmRlZmluZWQiKSB7CisgIC8vIFJ1bm5pbmcgb24gYSB3b3Jr
ZXIKKyAgaW1wb3J0U2NyaXB0cygndXRpbC5qcycsICd1dGlsX3dvcmtlci5qcycpOworfQorCisv
LyBOYW1lc3BhY2UgZm9yIGhvbGRpbmcgZ2xvYmFscy4KK3ZhciBiZW5jaG1hcmsgPSB7c3RhcnRU
aW1lSW5NczogMH07CisKK3ZhciBzb2NrZXRzID0gW107Cit2YXIgbnVtRXN0YWJsaXNoZWRTb2Nr
ZXRzID0gMDsKKwordmFyIHRpbWVySUQgPSBudWxsOworCitmdW5jdGlvbiBkZXN0cm95U29ja2V0
KHNvY2tldCkgeworICBzb2NrZXQub25vcGVuID0gbnVsbDsKKyAgc29ja2V0Lm9ubWVzc2FnZSA9
IG51bGw7CisgIHNvY2tldC5vbmVycm9yID0gbnVsbDsKKyAgc29ja2V0Lm9uY2xvc2UgPSBudWxs
OworICBzb2NrZXQuY2xvc2UoKTsKK30KKworZnVuY3Rpb24gZGVzdHJveUFsbFNvY2tldHMoKSB7
CisgIGZvciAodmFyIGkgPSAwOyBpIDwgc29ja2V0cy5sZW5ndGg7ICsraSkgeworICAgIGRlc3Ry
b3lTb2NrZXQoc29ja2V0c1tpXSk7CisgIH0KKyAgc29ja2V0cyA9IFtdOworfQorCitmdW5jdGlv
biBzZW5kQmVuY2htYXJrU3RlcChzaXplLCBjb25maWcsIGlzV2FybVVwKSB7CisgIHRpbWVySUQg
PSBudWxsOworCisgIHZhciB0b3RhbFNpemUgPSAwOworICB2YXIgdG90YWxSZXBsaWVkID0gMDsK
KworICB2YXIgb25NZXNzYWdlSGFuZGxlciA9IGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgaWYgKCF2
ZXJpZnlBY2tub3dsZWRnZW1lbnQoY29uZmlnLCBldmVudC5kYXRhLCBzaXplKSkgeworICAgICAg
ZGVzdHJveUFsbFNvY2tldHMoKTsKKyAgICAgIGNvbmZpZy5ub3RpZnlBYm9ydCgpOworICAgICAg
cmV0dXJuOworICAgIH0KKworICAgIHRvdGFsUmVwbGllZCArPSBzaXplOworCisgICAgaWYgKHRv
dGFsUmVwbGllZCA8IHRvdGFsU2l6ZSkgeworICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGNh
bGN1bGF0ZUFuZExvZ1Jlc3VsdChjb25maWcsIHNpemUsIGJlbmNobWFyay5zdGFydFRpbWVJbk1z
LCB0b3RhbFNpemUsCisgICAgICAgIGlzV2FybVVwKTsKKworICAgIHJ1bk5leHRUYXNrKGNvbmZp
Zyk7CisgIH07CisKKyAgZm9yICh2YXIgaSA9IDA7IGkgPCBzb2NrZXRzLmxlbmd0aDsgKytpKSB7
CisgICAgdmFyIHNvY2tldCA9IHNvY2tldHNbaV07CisgICAgc29ja2V0Lm9ubWVzc2FnZSA9IG9u
TWVzc2FnZUhhbmRsZXI7CisgIH0KKworICB2YXIgZGF0YUFycmF5ID0gW107CisKKyAgd2hpbGUg
KHRvdGFsU2l6ZSA8IGNvbmZpZy5taW5Ub3RhbCkgeworICAgIHZhciBidWZmZXIgPSBuZXcgQXJy
YXlCdWZmZXIoc2l6ZSk7CisKKyAgICBmaWxsQXJyYXlCdWZmZXIoYnVmZmVyLCAweDYxKTsKKwor
ICAgIGRhdGFBcnJheS5wdXNoKGJ1ZmZlcik7CisgICAgdG90YWxTaXplICs9IHNpemU7CisgIH0K
KworICBiZW5jaG1hcmsuc3RhcnRUaW1lSW5NcyA9IGdldFRpbWVTdGFtcCgpOworCisgIHRvdGFs
U2l6ZSA9IDA7CisKKyAgdmFyIHNvY2tldEluZGV4ID0gMDsKKyAgdmFyIGRhdGFJbmRleCA9IDA7
CisgIHdoaWxlICh0b3RhbFNpemUgPCBjb25maWcubWluVG90YWwpIHsKKyAgICB2YXIgY29tbWFu
ZCA9IFsnc2VuZCddOworICAgIGNvbW1hbmQucHVzaChjb25maWcudmVyaWZ5RGF0YSA/ICcxJyA6
ICcwJyk7CisgICAgc29ja2V0c1tzb2NrZXRJbmRleF0uc2VuZChjb21tYW5kLmpvaW4oJyAnKSk7
CisgICAgc29ja2V0c1tzb2NrZXRJbmRleF0uc2VuZChkYXRhQXJyYXlbZGF0YUluZGV4XSk7Cisg
ICAgc29ja2V0SW5kZXggPSAoc29ja2V0SW5kZXggKyAxKSAlIHNvY2tldHMubGVuZ3RoOworCisg
ICAgdG90YWxTaXplICs9IHNpemU7CisgICAgKytkYXRhSW5kZXg7CisgIH0KK30KKworZnVuY3Rp
b24gcmVjZWl2ZUJlbmNobWFya1N0ZXAoc2l6ZSwgY29uZmlnLCBpc1dhcm1VcCkgeworICB0aW1l
cklEID0gbnVsbDsKKworICB2YXIgdG90YWxTaXplID0gMDsKKyAgdmFyIHRvdGFsUmVwbGllZCA9
IDA7CisKKyAgdmFyIG9uTWVzc2FnZUhhbmRsZXIgPSBmdW5jdGlvbihldmVudCkgeworICAgIHZh
ciBieXRlc1JlY2VpdmVkID0gZXZlbnQuZGF0YS5ieXRlTGVuZ3RoOworICAgIGlmIChieXRlc1Jl
Y2VpdmVkICE9IHNpemUpIHsKKyAgICAgIGNvbmZpZy5hZGRUb0xvZygnRXhwZWN0ZWQgJyArIHNp
emUgKyAnQiBidXQgcmVjZWl2ZWQgJyArCisgICAgICAgICAgYnl0ZXNSZWNlaXZlZCArICdCJyk7
CisgICAgICBkZXN0cm95QWxsU29ja2V0cygpOworICAgICAgY29uZmlnLm5vdGlmeUFib3J0KCk7
CisgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKGNvbmZpZy52ZXJpZnlEYXRhICYmICF2
ZXJpZnlBcnJheUJ1ZmZlcihldmVudC5kYXRhLCAweDYxKSkgeworICAgICAgY29uZmlnLmFkZFRv
TG9nKCdSZXNwb25zZSB2ZXJpZmljYXRpb24gZmFpbGVkJyk7CisgICAgICBkZXN0cm95QWxsU29j
a2V0cygpOworICAgICAgY29uZmlnLm5vdGlmeUFib3J0KCk7CisgICAgICByZXR1cm47CisgICAg
fQorCisgICAgdG90YWxSZXBsaWVkICs9IGJ5dGVzUmVjZWl2ZWQ7CisKKyAgICBpZiAodG90YWxS
ZXBsaWVkIDwgdG90YWxTaXplKSB7CisgICAgICByZXR1cm47CisgICAgfQorCisgICAgY2FsY3Vs
YXRlQW5kTG9nUmVzdWx0KGNvbmZpZywgc2l6ZSwgYmVuY2htYXJrLnN0YXJ0VGltZUluTXMsIHRv
dGFsU2l6ZSwKKyAgICAgICAgaXNXYXJtVXApOworCisgICAgcnVuTmV4dFRhc2soY29uZmlnKTsK
KyAgfTsKKworICBmb3IgKHZhciBpID0gMDsgaSA8IHNvY2tldHMubGVuZ3RoOyArK2kpIHsKKyAg
ICB2YXIgc29ja2V0ID0gc29ja2V0c1tpXTsKKyAgICBzb2NrZXQuYmluYXJ5VHlwZSA9ICdhcnJh
eWJ1ZmZlcic7CisgICAgc29ja2V0Lm9ubWVzc2FnZSA9IG9uTWVzc2FnZUhhbmRsZXI7CisgIH0K
KworICBiZW5jaG1hcmsuc3RhcnRUaW1lSW5NcyA9IGdldFRpbWVTdGFtcCgpOworCisgIHZhciBz
b2NrZXRJbmRleCA9IDA7CisgIHdoaWxlICh0b3RhbFNpemUgPCBjb25maWcubWluVG90YWwpIHsK
KyAgICBzb2NrZXRzW3NvY2tldEluZGV4XS5zZW5kKCdyZWNlaXZlICcgKyBzaXplKTsKKyAgICBz
b2NrZXRJbmRleCA9IChzb2NrZXRJbmRleCArIDEpICUgc29ja2V0cy5sZW5ndGg7CisKKyAgICB0
b3RhbFNpemUgKz0gc2l6ZTsKKyAgfQorfQorCitmdW5jdGlvbiBjcmVhdGVTb2NrZXQoY29uZmln
KSB7CisgIC8vIFRPRE8odHlvc2hpbm8pOiBBZGQgVENQIHdhcm0gdXAuCisgIHZhciB1cmwgPSBj
b25maWcucHJlZml4VXJsOworCisgIGNvbmZpZy5hZGRUb0xvZygnQ29ubmVjdCAnICsgdXJsKTsK
KworICB2YXIgc29ja2V0ID0gbmV3IFdlYlNvY2tldCh1cmwpOworICBzb2NrZXQub25tZXNzYWdl
ID0gZnVuY3Rpb24oZXZlbnQpIHsKKyAgICBjb25maWcuYWRkVG9Mb2coJ1VuZXhwZWN0ZWQgbWVz
c2FnZSByZWNlaXZlZC4gQWJvcnRpbmcuJyk7CisgIH07CisgIHNvY2tldC5vbmVycm9yID0gZnVu
Y3Rpb24oKSB7CisgICAgY29uZmlnLmFkZFRvTG9nKCdFcnJvcicpOworICB9OworICBzb2NrZXQu
b25jbG9zZSA9IGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgY29uZmlnLmFkZFRvTG9nKCdDbG9zZWQn
KTsKKyAgICBjb25maWcubm90aWZ5QWJvcnQoKTsKKyAgfTsKKyAgcmV0dXJuIHNvY2tldDsKK30K
KworZnVuY3Rpb24gc3RhcnRCZW5jaG1hcmsoY29uZmlnKSB7CisgIGNsZWFyVGltZW91dCh0aW1l
cklEKTsKKyAgZGVzdHJveUFsbFNvY2tldHMoKTsKKworICBudW1Fc3RhYmxpc2hlZFNvY2tldHMg
PSAwOworCisgIGZvciAodmFyIGkgPSAwOyBpIDwgY29uZmlnLm51bVNvY2tldHM7ICsraSkgewor
ICAgIHZhciBzb2NrZXQgPSBjcmVhdGVTb2NrZXQoY29uZmlnKTsKKyAgICBzb2NrZXQub25vcGVu
ID0gZnVuY3Rpb24oKSB7CisgICAgICBjb25maWcuYWRkVG9Mb2coJ09wZW5lZCcpOworCisgICAg
ICArK251bUVzdGFibGlzaGVkU29ja2V0czsKKworICAgICAgaWYgKG51bUVzdGFibGlzaGVkU29j
a2V0cyA9PSBzb2NrZXRzLmxlbmd0aCkgeworICAgICAgICBydW5OZXh0VGFzayhjb25maWcpOwor
ICAgICAgfQorICAgIH07CisgICAgc29ja2V0cy5wdXNoKHNvY2tldCk7CisgIH0KK30KKworZnVu
Y3Rpb24gZ2V0Q29uZmlnU3RyaW5nKGNvbmZpZykgeworICByZXR1cm4gJyhXZWJTb2NrZXQnICsK
KyAgICAnLCAnICsgKHR5cGVvZiBpbXBvcnRTY3JpcHRzICE9PSAidW5kZWZpbmVkIiA/ICdXb3Jr
ZXInIDogJ01haW4nKSArCisgICAgJywgbnVtU29ja2V0cz0nICsgY29uZmlnLm51bVNvY2tldHMg
KworICAgICcsIG51bUl0ZXJhdGlvbnM9JyArIGNvbmZpZy5udW1JdGVyYXRpb25zICsKKyAgICAn
LCB2ZXJpZnlEYXRhPScgKyBjb25maWcudmVyaWZ5RGF0YSArCisgICAgJywgbWluVG90YWw9JyAr
IGNvbmZpZy5taW5Ub3RhbCArCisgICAgJywgbnVtV2FybVVwSXRlcmF0aW9ucz0nICsgY29uZmln
Lm51bVdhcm1VcEl0ZXJhdGlvbnMgKworICAgICcpJzsKK30KKworZnVuY3Rpb24gYmF0Y2hCZW5j
aG1hcmsoY29uZmlnKSB7CisgIGNvbmZpZy5hZGRUb0xvZygnQmF0Y2ggYmVuY2htYXJrJyk7Cisg
IGNvbmZpZy5hZGRUb0xvZyhidWlsZExlZ2VuZFN0cmluZyhjb25maWcpKTsKKworICB0YXNrcyA9
IFtdOworICBjbGVhckF2ZXJhZ2VEYXRhKCk7CisgIGFkZFRhc2tzKGNvbmZpZywgc2VuZEJlbmNo
bWFya1N0ZXApOworICBhZGRSZXN1bHRSZXBvcnRpbmdUYXNrKGNvbmZpZywgJ1NlbmQgQmVuY2ht
YXJrICcgKyBnZXRDb25maWdTdHJpbmcoY29uZmlnKSk7CisgIGFkZFRhc2tzKGNvbmZpZywgcmVj
ZWl2ZUJlbmNobWFya1N0ZXApOworICBhZGRSZXN1bHRSZXBvcnRpbmdUYXNrKGNvbmZpZywgJ1Jl
Y2VpdmUgQmVuY2htYXJrICcgKworICAgICAgZ2V0Q29uZmlnU3RyaW5nKGNvbmZpZykpOworICBz
dGFydEJlbmNobWFyayhjb25maWcpOworfQorCitmdW5jdGlvbiBjbGVhbnVwKCkgeworICBkZXN0
cm95QWxsU29ja2V0cygpOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvZXhhbXBs
ZS9iZW5jaG1hcmtfaGVscGVyX3dzaC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL2V4YW1wbGUvYmVu
Y2htYXJrX2hlbHBlcl93c2gucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmMxNzUzMzMzNTRjYzljODg1NjJjZjZm
YzgxZWYzMjYwOTM3Mjk4NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL2V4
YW1wbGUvYmVuY2htYXJrX2hlbHBlcl93c2gucHkKQEAgLTAsMCArMSw4NCBAQAorIyBDb3B5cmln
aHQgMjAxMywgR29vZ2xlIEluYy4KKyMgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKyMgbWV0OgorIworIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisj
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisjIGRpc3RyaWJ1dGlvbi4KKyMgICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworIyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQorIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisjICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgorIyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVAorIyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyMgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwKKyMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisiIiJIYW5kbGVyIGZvciBiZW5jaG1hcmsuaHRtbC4iIiIKK2Zyb20gX19mdXR1cmVf
XyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0CitpbXBvcnQgc2l4CisKKworZGVmIHdlYl9zb2NrZXRf
ZG9fZXh0cmFfaGFuZHNoYWtlKHJlcXVlc3QpOgorICAgICMgVHVybiBvZmYgY29tcHJlc3Npb24u
CisgICAgcmVxdWVzdC53c19leHRlbnNpb25fcHJvY2Vzc29ycyA9IFtdCisKKworZGVmIHdlYl9z
b2NrZXRfdHJhbnNmZXJfZGF0YShyZXF1ZXN0KToKKyAgICBkYXRhID0gYicnCisKKyAgICB3aGls
ZSBUcnVlOgorICAgICAgICBjb21tYW5kID0gcmVxdWVzdC53c19zdHJlYW0ucmVjZWl2ZV9tZXNz
YWdlKCkKKyAgICAgICAgaWYgY29tbWFuZCBpcyBOb25lOgorICAgICAgICAgICAgcmV0dXJuCisK
KyAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UoY29tbWFuZCwgc2l4LnRleHRfdHlwZSk6CisgICAg
ICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCdJbnZhbGlkIGNvbW1hbmQgZGF0YTonICsgY29tbWFu
ZCkKKyAgICAgICAgY29tbWFuZHMgPSBjb21tYW5kLnNwbGl0KCcgJykKKyAgICAgICAgaWYgbGVu
KGNvbW1hbmRzKSA9PSAwOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignSW52YWxpZCBj
b21tYW5kIGRhdGE6ICcgKyBjb21tYW5kKQorCisgICAgICAgIGlmIGNvbW1hbmRzWzBdID09ICdy
ZWNlaXZlJzoKKyAgICAgICAgICAgIGlmIGxlbihjb21tYW5kcykgIT0gMjoKKyAgICAgICAgICAg
ICAgICByYWlzZSBWYWx1ZUVycm9yKAorICAgICAgICAgICAgICAgICAgICAnSWxsZWdhbCBudW1i
ZXIgb2YgYXJndW1lbnRzIGZvciBzZW5kIGNvbW1hbmQnICsgY29tbWFuZCkKKyAgICAgICAgICAg
IHNpemUgPSBpbnQoY29tbWFuZHNbMV0pCisKKyAgICAgICAgICAgICMgUmV1c2UgZGF0YSBpZiBw
b3NzaWJsZS4KKyAgICAgICAgICAgIGlmIGxlbihkYXRhKSAhPSBzaXplOgorICAgICAgICAgICAg
ICAgIGRhdGEgPSBiJ2EnICogc2l6ZQorICAgICAgICAgICAgcmVxdWVzdC53c19zdHJlYW0uc2Vu
ZF9tZXNzYWdlKGRhdGEsIGJpbmFyeT1UcnVlKQorICAgICAgICBlbGlmIGNvbW1hbmRzWzBdID09
ICdzZW5kJzoKKyAgICAgICAgICAgIGlmIGxlbihjb21tYW5kcykgIT0gMjoKKyAgICAgICAgICAg
ICAgICByYWlzZSBWYWx1ZUVycm9yKAorICAgICAgICAgICAgICAgICAgICAnSWxsZWdhbCBudW1i
ZXIgb2YgYXJndW1lbnRzIGZvciByZWNlaXZlIGNvbW1hbmQnICsKKyAgICAgICAgICAgICAgICAg
ICAgY29tbWFuZCkKKyAgICAgICAgICAgIHZlcmlmeV9kYXRhID0gY29tbWFuZHNbMV0gPT0gJzEn
CisKKyAgICAgICAgICAgIGRhdGEgPSByZXF1ZXN0LndzX3N0cmVhbS5yZWNlaXZlX21lc3NhZ2Uo
KQorICAgICAgICAgICAgaWYgZGF0YSBpcyBOb25lOgorICAgICAgICAgICAgICAgIHJhaXNlIFZh
bHVlRXJyb3IoJ1BheWxvYWQgbm90IHJlY2VpdmVkJykKKyAgICAgICAgICAgIHNpemUgPSBsZW4o
ZGF0YSkKKworICAgICAgICAgICAgaWYgdmVyaWZ5X2RhdGE6CisgICAgICAgICAgICAgICAgaWYg
ZGF0YSAhPSBiJ2EnICogc2l6ZToKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJv
cignUGF5bG9hZCB2ZXJpZmljYXRpb24gZmFpbGVkJykKKworICAgICAgICAgICAgcmVxdWVzdC53
c19zdHJlYW0uc2VuZF9tZXNzYWdlKHN0cihzaXplKSkKKyAgICAgICAgZWxzZToKKyAgICAgICAg
ICAgIHJhaXNlIFZhbHVlRXJyb3IoJ0ludmFsaWQgY29tbWFuZDogJyArIGNvbW1hbmRzWzBdKQor
CisKKyMgdmk6c3RzPTQgc3c9NCBldApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvZXhh
bXBsZS9jbG9zZV93c2gucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My9leGFtcGxlL2Nsb3NlX3dzaC5w
eQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44ZjAwMDVmZmVhOTkwNWQ2YzE5N2MwZjRkZDU5M2MwNmZmNDM3ZDNhCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvZXhhbXBsZS9jbG9zZV93c2gucHkK
QEAgLTAsMCArMSw3MCBAQAorIyBDb3B5cmlnaHQgMjAxMiwgR29vZ2xlIEluYy4KKyMgQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyMgbWV0Ogor
IworIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorIyBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyMgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorIyBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
CisjIGRpc3RyaWJ1dGlvbi4KKyMgICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cworIyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorIyB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorIworIyBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
CisjICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorIyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorIyBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwKKyMgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisjIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKK2Zyb20gX19mdXR1cmVfXyBpbXBv
cnQgYWJzb2x1dGVfaW1wb3J0CitpbXBvcnQgc3RydWN0CisKK2Zyb20gbW9kX3B5d2Vic29ja2V0
IGltcG9ydCBjb21tb24KK2Zyb20gbW9kX3B5d2Vic29ja2V0IGltcG9ydCBzdHJlYW0KKworCitk
ZWYgd2ViX3NvY2tldF9kb19leHRyYV9oYW5kc2hha2UocmVxdWVzdCk6CisgICAgcGFzcworCisK
K2RlZiB3ZWJfc29ja2V0X3RyYW5zZmVyX2RhdGEocmVxdWVzdCk6CisgICAgd2hpbGUgVHJ1ZToK
KyAgICAgICAgbGluZSA9IHJlcXVlc3Qud3Nfc3RyZWFtLnJlY2VpdmVfbWVzc2FnZSgpCisgICAg
ICAgIGlmIGxpbmUgaXMgTm9uZToKKyAgICAgICAgICAgIHJldHVybgorICAgICAgICBjb2RlLCBy
ZWFzb24gPSBsaW5lLnNwbGl0KCcgJywgMSkKKyAgICAgICAgaWYgY29kZSBpcyBOb25lIG9yIHJl
YXNvbiBpcyBOb25lOgorICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIHJlcXVlc3Qud3Nfc3Ry
ZWFtLmNsb3NlX2Nvbm5lY3Rpb24oaW50KGNvZGUpLCByZWFzb24pCisgICAgICAgICMgY2xvc2Vf
Y29ubmVjdGlvbigpIGluaXRpYXRlcyBjbG9zaW5nIGhhbmRzaGFrZS4gSXQgdmFsaWRhdGVzIGNv
ZGUKKyAgICAgICAgIyBhbmQgcmVhc29uLiBJZiB5b3Ugd2FudCB0byBzZW5kIGEgYnJva2VuIGNs
b3NlIGZyYW1lIGZvciBhIHRlc3QsCisgICAgICAgICMgZm9sbG93aW5nIGNvZGUgd2lsbCBiZSB1
c2VmdWwuCisgICAgICAgICMgPiBkYXRhID0gc3RydWN0LnBhY2soJyFIJywgaW50KGNvZGUpKSAr
IHJlYXNvbi5lbmNvZGUoJ1VURi04JykKKyAgICAgICAgIyA+IHJlcXVlc3QuY29ubmVjdGlvbi53
cml0ZShzdHJlYW0uY3JlYXRlX2Nsb3NlX2ZyYW1lKGRhdGEpKQorICAgICAgICAjID4gIyBTdXBw
cmVzcyB0byByZS1yZXNwb25kIGNsaWVudCByZXNwb25kaW5nIGNsb3NlIGZyYW1lLgorICAgICAg
ICAjID4gcmFpc2UgRXhjZXB0aW9uKCJjdXN0b21pemVkIHNlcnZlciBpbml0aWF0ZWQgY2xvc2lu
ZyBoYW5kc2hha2UiKQorCisKK2RlZiB3ZWJfc29ja2V0X3Bhc3NpdmVfY2xvc2luZ19oYW5kc2hh
a2UocmVxdWVzdCk6CisgICAgIyBTaW1wbHkgZWNobyBhIGNsb3NlIHN0YXR1cyBjb2RlCisgICAg
Y29kZSwgcmVhc29uID0gcmVxdWVzdC53c19jbG9zZV9jb2RlLCByZXF1ZXN0LndzX2Nsb3NlX3Jl
YXNvbgorCisgICAgIyBweXdlYnNvY2tldCBzZXRzIHBzZXVkbyBjb2RlIGZvciByZWNlaXZpbmcg
YW4gZW1wdHkgYm9keSBjbG9zZSBmcmFtZS4KKyAgICBpZiBjb2RlID09IGNvbW1vbi5TVEFUVVNf
Tk9fU1RBVFVTX1JFQ0VJVkVEOgorICAgICAgICBjb2RlID0gTm9uZQorICAgICAgICByZWFzb24g
PSAnJworICAgIHJldHVybiBjb2RlLCByZWFzb24KKworCisjIHZpOnN0cz00IHN3PTQgZXQKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL2V4YW1wbGUvY29uc29sZS5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9w
eXdlYnNvY2tldDMvZXhhbXBsZS9jb25zb2xlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2NkNmQ4ZjgwNjc2
Yjk5OTFlMjJkZmM3ZWM4NTA4MzQxMWRkZDBiMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3
ZWJzb2NrZXQzL2V4YW1wbGUvY29uc29sZS5odG1sCkBAIC0wLDAgKzEsMzE3IEBACis8IS0tCitD
b3B5cmlnaHQgMjAxMSwgR29vZ2xlIEluYy4KK0FsbCByaWdodHMgcmVzZXJ2ZWQuCisKK1JlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZQorbWV0OgorCisgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lcgoraW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZQorZGlzdHJpYnV0aW9uLgorICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KK3RoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisKK1RISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMKKyJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UCitMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKK0EgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCitPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwK
K1NQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKK0xJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLAorREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCitUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKK09GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCistLT4KKworPCEtLQorQSBzaW1wbGUgY29uc29sZSBmb3IgdGVz
dGluZyBXZWJTb2NrZXQgc2VydmVyLgorCitUeXBlIGFuIGFkZHJlc3MgaW50byB0aGUgdG9wIHRl
eHQgaW5wdXQgYW5kIGNsaWNrIGNvbm5lY3QgdG8gZXN0YWJsaXNoCitXZWJTb2NrZXQuIFRoZW4s
IHR5cGUgc29tZSBtZXNzYWdlIGludG8gdGhlIGJvdHRvbSB0ZXh0IGlucHV0IGFuZCBjbGljayBz
ZW5kCit0byBzZW5kIHRoZSBtZXNzYWdlLiBSZWNlaXZlZC9zZW50IG1lc3NhZ2VzIGFuZCBjb25u
ZWN0aW9uIHN0YXRlIHdpbGwgYmUgc2hvd24KK29uIHRoZSBtaWRkbGUgdGV4dGFyZWEuCistLT4K
KworPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5XZWJTb2NrZXQgY29uc29sZTwvdGl0bGU+Cis8c2Ny
aXB0PgordmFyIHNvY2tldCA9IG51bGw7CisKK3ZhciBzaG93VGltZVN0YW1wID0gZmFsc2U7CisK
K3ZhciBhZGRyZXNzQm94ID0gbnVsbDsKK3ZhciBwcm90b2NvbHNCb3ggPSBudWxsOwordmFyIGxv
Z0JveCA9IG51bGw7Cit2YXIgbWVzc2FnZUJveCA9IG51bGw7Cit2YXIgZmlsZUJveCA9IG51bGw7
Cit2YXIgY29kZUJveCA9IG51bGw7Cit2YXIgcmVhc29uQm94ID0gbnVsbDsKKworZnVuY3Rpb24g
Z2V0VGltZVN0YW1wKCkgeworICByZXR1cm4gbmV3IERhdGUoKS5nZXRUaW1lKCk7Cit9CisKK2Z1
bmN0aW9uIGFkZFRvTG9nKGxvZykgeworICBpZiAoc2hvd1RpbWVTdGFtcCkgeworICAgIGxvZ0Jv
eC52YWx1ZSArPSAnWycgKyBnZXRUaW1lU3RhbXAoKSArICddICc7CisgIH0KKyAgbG9nQm94LnZh
bHVlICs9IGxvZyArICdcbicKKyAgLy8gTGFyZ2UgZW5vdWdoIHRvIGtlZXAgc2hvd2luZyB0aGUg
bGF0ZXN0IG1lc3NhZ2UuCisgIGxvZ0JveC5zY3JvbGxUb3AgPSAxMDAwMDAwOworfQorCitmdW5j
dGlvbiBzZXRiaW5hcnl0eXBlKGJpbmFyeVR5cGUpIHsKKyAgaWYgKCFzb2NrZXQpIHsKKyAgICBh
ZGRUb0xvZygnTm90IGNvbm5lY3RlZCcpOworICAgIHJldHVybjsKKyAgfQorCisgIHNvY2tldC5i
aW5hcnlUeXBlID0gYmluYXJ5VHlwZTsKKyAgYWRkVG9Mb2coJ1NldCBiaW5hcnlUeXBlIHRvICcg
KyBiaW5hcnlUeXBlKTsKK30KKworZnVuY3Rpb24gc2VuZCgpIHsKKyAgaWYgKCFzb2NrZXQpIHsK
KyAgICBhZGRUb0xvZygnTm90IGNvbm5lY3RlZCcpOworICAgIHJldHVybjsKKyAgfQorCisgIHNv
Y2tldC5zZW5kKG1lc3NhZ2VCb3gudmFsdWUpOworICBhZGRUb0xvZygnPiAnICsgbWVzc2FnZUJv
eC52YWx1ZSk7CisgIG1lc3NhZ2VCb3gudmFsdWUgPSAnJzsKK30KKworZnVuY3Rpb24gc2VuZGZp
bGUoKSB7CisgIGlmICghc29ja2V0KSB7CisgICAgYWRkVG9Mb2coJ05vdCBjb25uZWN0ZWQnKTsK
KyAgICByZXR1cm47CisgIH0KKworICB2YXIgZmlsZXMgPSBmaWxlQm94LmZpbGVzOworCisgIGlm
IChmaWxlcy5sZW5ndGggPT0gMCkgeworICAgIGFkZFRvTG9nKCdGaWxlIG5vdCBzZWxlY3RlZCcp
OworICAgIHJldHVybjsKKyAgfQorCisgIHNvY2tldC5zZW5kKGZpbGVzWzBdKTsKKyAgYWRkVG9M
b2coJz4gU2VuZCAnICsgZmlsZXNbMF0ubmFtZSk7Cit9CisKK2Z1bmN0aW9uIHBhcnNlUHJvdG9j
b2xzKHByb3RvY29sc1RleHQpIHsKKyAgdmFyIHByb3RvY29scyA9IHByb3RvY29sc1RleHQuc3Bs
aXQoJywnKTsKKyAgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm90b2NvbHMubGVuZ3RoOyArK2kpIHsK
KyAgICBwcm90b2NvbHNbaV0gPSBwcm90b2NvbHNbaV0udHJpbSgpOworICB9CisKKyAgaWYgKHBy
b3RvY29scy5sZW5ndGggPT0gMCkgeworICAgIC8vIERvbid0IHBhc3MuCisgICAgcHJvdG9jb2xz
ID0gbnVsbDsKKyAgfSBlbHNlIGlmIChwcm90b2NvbHMubGVuZ3RoID09IDEpIHsKKyAgICBpZiAo
cHJvdG9jb2xzWzBdLmxlbmd0aCA9PSAwKSB7CisgICAgICAvLyBEb24ndCBwYXNzLgorICAgICAg
cHJvdG9jb2xzID0gbnVsbDsKKyAgICB9IGVsc2UgeworICAgICAgLy8gUGFzcyBhcyBhIHN0cmlu
Zy4KKyAgICAgIHByb3RvY29scyA9IHByb3RvY29sc1swXTsKKyAgICB9CisgIH0KKworICByZXR1
cm4gcHJvdG9jb2xzOworfQorCitmdW5jdGlvbiBjb25uZWN0KCkgeworICB2YXIgdXJsID0gYWRk
cmVzc0JveC52YWx1ZTsKKyAgdmFyIHByb3RvY29scyA9IHBhcnNlUHJvdG9jb2xzKHByb3RvY29s
c0JveC52YWx1ZSk7CisKKyAgaWYgKCdXZWJTb2NrZXQnIGluIHdpbmRvdykgeworICAgIGlmIChw
cm90b2NvbHMpIHsKKyAgICAgIHNvY2tldCA9IG5ldyBXZWJTb2NrZXQodXJsLCBwcm90b2NvbHMp
OworICAgIH0gZWxzZSB7CisgICAgICBzb2NrZXQgPSBuZXcgV2ViU29ja2V0KHVybCk7CisgICAg
fQorICB9IGVsc2UgeworICAgIHJldHVybjsKKyAgfQorCisgIHNvY2tldC5vbm9wZW4gPSBmdW5j
dGlvbiAoKSB7CisgICAgdmFyIGV4dHJhSW5mbyA9IFtdOworICAgIGlmICgoJ3Byb3RvY29sJyBp
biBzb2NrZXQpICYmIHNvY2tldC5wcm90b2NvbCkgeworICAgICAgZXh0cmFJbmZvLnB1c2goJ3By
b3RvY29sID0gJyArIHNvY2tldC5wcm90b2NvbCk7CisgICAgfQorICAgIGlmICgoJ2V4dGVuc2lv
bnMnIGluIHNvY2tldCkgJiYgc29ja2V0LmV4dGVuc2lvbnMpIHsKKyAgICAgIGV4dHJhSW5mby5w
dXNoKCdleHRlbnNpb25zID0gJyArIHNvY2tldC5leHRlbnNpb25zKTsKKyAgICB9CisKKyAgICB2
YXIgbG9nTWVzc2FnZSA9ICdPcGVuZWQnOworICAgIGlmIChleHRyYUluZm8ubGVuZ3RoID4gMCkg
eworICAgICAgbG9nTWVzc2FnZSArPSAnICgnICsgZXh0cmFJbmZvLmpvaW4oJywgJykgKyAnKSc7
CisgICAgfQorICAgIGFkZFRvTG9nKGxvZ01lc3NhZ2UpOworICB9OworICBzb2NrZXQub25tZXNz
YWdlID0gZnVuY3Rpb24gKGV2ZW50KSB7CisgICAgaWYgKCgnQXJyYXlCdWZmZXInIGluIHdpbmRv
dykgJiYgKGV2ZW50LmRhdGEgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcikpIHsKKyAgICAgIGFkZFRv
TG9nKCc8IFJlY2VpdmVkIGFuIEFycmF5QnVmZmVyIG9mICcgKyBldmVudC5kYXRhLmJ5dGVMZW5n
dGggKworICAgICAgICAgICAgICAgJyBieXRlcycpCisgICAgfSBlbHNlIGlmICgoJ0Jsb2InIGlu
IHdpbmRvdykgJiYgKGV2ZW50LmRhdGEgaW5zdGFuY2VvZiBCbG9iKSkgeworICAgICAgYWRkVG9M
b2coJzwgUmVjZWl2ZWQgYSBCbG9iIG9mICcgKyBldmVudC5kYXRhLnNpemUgKyAnIGJ5dGVzJykK
KyAgICB9IGVsc2UgeworICAgICAgYWRkVG9Mb2coJzwgJyArIGV2ZW50LmRhdGEpOworICAgIH0K
KyAgfTsKKyAgc29ja2V0Lm9uZXJyb3IgPSBmdW5jdGlvbiAoKSB7CisgICAgYWRkVG9Mb2coJ0Vy
cm9yJyk7CisgIH07CisgIHNvY2tldC5vbmNsb3NlID0gZnVuY3Rpb24gKGV2ZW50KSB7CisgICAg
dmFyIGxvZ01lc3NhZ2UgPSAnQ2xvc2VkICgnOworICAgIGlmICgoYXJndW1lbnRzLmxlbmd0aCA9
PSAxKSAmJiAoJ0Nsb3NlRXZlbnQnIGluIHdpbmRvdykgJiYKKyAgICAgICAgKGV2ZW50IGluc3Rh
bmNlb2YgQ2xvc2VFdmVudCkpIHsKKyAgICAgIGxvZ01lc3NhZ2UgKz0gJ3dhc0NsZWFuID0gJyAr
IGV2ZW50Lndhc0NsZWFuOworICAgICAgLy8gY29kZSBhbmQgcmVhc29uIGFyZSBwcmVzZW50IG9u
bHkgZm9yCisgICAgICAvLyBkcmFmdC1pZXRmLWh5YmktdGhld2Vic29ja2V0cHJvdG9jb2wtMDYg
YW5kIGxhdGVyCisgICAgICBpZiAoJ2NvZGUnIGluIGV2ZW50KSB7CisgICAgICAgIGxvZ01lc3Nh
Z2UgKz0gJywgY29kZSA9ICcgKyBldmVudC5jb2RlOworICAgICAgfQorICAgICAgaWYgKCdyZWFz
b24nIGluIGV2ZW50KSB7CisgICAgICAgIGxvZ01lc3NhZ2UgKz0gJywgcmVhc29uID0gJyArIGV2
ZW50LnJlYXNvbjsKKyAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgbG9nTWVzc2FnZSArPSAn
Q2xvc2VFdmVudCBpcyBub3QgYXZhaWxhYmxlJzsKKyAgICB9CisgICAgYWRkVG9Mb2cobG9nTWVz
c2FnZSArICcpJyk7CisgIH07CisKKyAgaWYgKHByb3RvY29scykgeworICAgIGFkZFRvTG9nKCdD
b25uZWN0ICcgKyB1cmwgKyAnIChwcm90b2NvbHMgPSAnICsgcHJvdG9jb2xzICsgJyknKTsKKyAg
fSBlbHNlIHsKKyAgICBhZGRUb0xvZygnQ29ubmVjdCAnICsgdXJsKTsKKyAgfQorfQorCitmdW5j
dGlvbiBjbG9zZVNvY2tldCgpIHsKKyAgaWYgKCFzb2NrZXQpIHsKKyAgICBhZGRUb0xvZygnTm90
IGNvbm5lY3RlZCcpOworICAgIHJldHVybjsKKyAgfQorCisgIGlmIChjb2RlQm94LnZhbHVlIHx8
IHJlYXNvbkJveC52YWx1ZSkgeworICAgIHNvY2tldC5jbG9zZShjb2RlQm94LnZhbHVlLCByZWFz
b25Cb3gudmFsdWUpOworICB9IGVsc2UgeworICAgIHNvY2tldC5jbG9zZSgpOworICB9Cit9CisK
K2Z1bmN0aW9uIHByaW50U3RhdGUoKSB7CisgIGlmICghc29ja2V0KSB7CisgICAgYWRkVG9Mb2co
J05vdCBjb25uZWN0ZWQnKTsKKyAgICByZXR1cm47CisgIH0KKworICBhZGRUb0xvZygKKyAgICAg
ICd1cmwgPSAnICsgc29ja2V0LnVybCArCisgICAgICAnLCByZWFkeVN0YXRlID0gJyArIHNvY2tl
dC5yZWFkeVN0YXRlICsKKyAgICAgICcsIGJ1ZmZlcmVkQW1vdW50ID0gJyArIHNvY2tldC5idWZm
ZXJlZEFtb3VudCk7Cit9CisKK2Z1bmN0aW9uIGluaXQoKSB7CisgIHZhciBzY2hlbWUgPSB3aW5k
b3cubG9jYXRpb24ucHJvdG9jb2wgPT0gJ2h0dHBzOicgPyAnd3NzOi8vJyA6ICd3czovLyc7Cisg
IHZhciBkZWZhdWx0QWRkcmVzcyA9IHNjaGVtZSArIHdpbmRvdy5sb2NhdGlvbi5ob3N0ICsgJy9l
Y2hvJzsKKworICBhZGRyZXNzQm94ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FkZHJlc3Mn
KTsKKyAgcHJvdG9jb2xzQm94ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Byb3RvY29scycp
OworICBsb2dCb3ggPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbG9nJyk7CisgIG1lc3NhZ2VC
b3ggPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWVzc2FnZScpOworICBmaWxlQm94ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZpbGUnKTsKKyAgY29kZUJveCA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdjb2RlJyk7CisgIHJlYXNvbkJveCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdyZWFzb24nKTsKKworICBhZGRyZXNzQm94LnZhbHVlID0gZGVmYXVsdEFkZHJlc3M7CisKKyAg
aWYgKCEoJ1dlYlNvY2tldCcgaW4gd2luZG93KSkgeworICAgIGFkZFRvTG9nKCdXZWJTb2NrZXQg
aXMgbm90IGF2YWlsYWJsZScpOworICB9Cit9Cis8L3NjcmlwdD4KKzxzdHlsZSB0eXBlPSJ0ZXh0
L2NzcyI+Citmb3JtIHsKKyAgbWFyZ2luOiAwcHg7Cit9CisKKyNjb25uZWN0X2RpdiwgI2xvZ19k
aXYsICNzZW5kX2RpdiwgI3NlbmRmaWxlX2RpdiwgI2Nsb3NlX2RpdiwgI3ByaW50c3RhdGVfZGl2
IHsKKyAgcGFkZGluZzogNXB4OworICBtYXJnaW46IDVweDsKKyAgYm9yZGVyLXdpZHRoOiAwcHgg
MHB4IDBweCAxMHB4OworICBib3JkZXItc3R5bGU6IHNvbGlkOworICBib3JkZXItY29sb3I6IHNp
bHZlcjsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9ImluaXQoKSI+CisKKzxk
aXY+CisKKzxkaXYgaWQ9ImNvbm5lY3RfZGl2Ij4KKyAgPGZvcm0gYWN0aW9uPSIjIiBvbnN1Ym1p
dD0iY29ubmVjdCgpOyByZXR1cm4gZmFsc2U7Ij4KKyAgICB1cmwgPGlucHV0IHR5cGU9InRleHQi
IGlkPSJhZGRyZXNzIiBzaXplPSI0MCI+CisgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9
ImNvbm5lY3QiPgorICAgIDxici8+CisgICAgcHJvdG9jb2xzIDxpbnB1dCB0eXBlPSJ0ZXh0IiBp
ZD0icHJvdG9jb2xzIiBzaXplPSIyMCI+CisgIDwvZm9ybT4KKzwvZGl2PgorCis8ZGl2IGlkPSJs
b2dfZGl2Ij4KKyAgPHRleHRhcmVhIGlkPSJsb2ciIHJvd3M9IjEwIiBjb2xzPSI0MCIgcmVhZG9u
bHk+PC90ZXh0YXJlYT4KKyAgPGJyLz4KKyAgPGlucHV0IHR5cGU9ImNoZWNrYm94IgorICAgICAg
ICAgbmFtZT0ic2hvd3RpbWVzdGFtcCIKKyAgICAgICAgIHZhbHVlPSJzaG93dGltZXN0YW1wIgor
ICAgICAgICAgb25jbGljaz0ic2hvd1RpbWVTdGFtcCA9IHRoaXMuY2hlY2tlZCI+U2hvdyB0aW1l
IHN0YW1wCis8L2Rpdj4KKworPGRpdiBpZD0ic2VuZF9kaXYiPgorICA8Zm9ybSBhY3Rpb249IiMi
IG9uc3VibWl0PSJzZW5kKCk7IHJldHVybiBmYWxzZTsiPgorICAgIGRhdGEgPGlucHV0IHR5cGU9
InRleHQiIGlkPSJtZXNzYWdlIiBzaXplPSI0MCI+CisgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIg
dmFsdWU9InNlbmQiPgorICA8L2Zvcm0+Cis8L2Rpdj4KKworPGRpdiBpZD0ic2VuZGZpbGVfZGl2
Ij4KKyAgPGZvcm0gYWN0aW9uPSIjIiBvbnN1Ym1pdD0ic2VuZGZpbGUoKTsgcmV0dXJuIGZhbHNl
OyI+CisgICAgPGlucHV0IHR5cGU9ImZpbGUiIGlkPSJmaWxlIiBzaXplPSI0MCI+CisgICAgPGlu
cHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9InNlbmQgZmlsZSI+CisgIDwvZm9ybT4KKworICBTZXQg
YmluYXJ5VHlwZQorICA8aW5wdXQgdHlwZT0icmFkaW8iCisgICAgICAgICBuYW1lPSJiaW5hcnl0
eXBlIgorICAgICAgICAgdmFsdWU9ImJsb2IiCisgICAgICAgICBvbmNsaWNrPSJzZXRiaW5hcnl0
eXBlKCdibG9iJykiIGNoZWNrZWQ+YmxvYgorICA8aW5wdXQgdHlwZT0icmFkaW8iCisgICAgICAg
ICBuYW1lPSJiaW5hcnl0eXBlIgorICAgICAgICAgdmFsdWU9ImFycmF5YnVmZmVyIgorICAgICAg
ICAgb25jbGljaz0ic2V0YmluYXJ5dHlwZSgnYXJyYXlidWZmZXInKSI+YXJyYXlidWZmZXIKKzwv
ZGl2PgorCis8ZGl2IGlkPSJjbG9zZV9kaXYiPgorICA8Zm9ybSBhY3Rpb249IiMiIG9uc3VibWl0
PSJjbG9zZVNvY2tldCgpOyByZXR1cm4gZmFsc2U7Ij4KKyAgICBjb2RlIDxpbnB1dCB0eXBlPSJ0
ZXh0IiBpZD0iY29kZSIgc2l6ZT0iMTAiPgorICAgIHJlYXNvbiA8aW5wdXQgdHlwZT0idGV4dCIg
aWQ9InJlYXNvbiIgc2l6ZT0iMjAiPgorICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJj
bG9zZSI+CisgIDwvZm9ybT4KKzwvZGl2PgorCis8ZGl2IGlkPSJwcmludHN0YXRlX2RpdiI+Cisg
IDxpbnB1dCB0eXBlPSJidXR0b24iIHZhbHVlPSJwcmludCBzdGF0ZSIgb25jbGljaz0icHJpbnRT
dGF0ZSgpOyI+Cis8L2Rpdj4KKworPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhp
cmRfcGFydHkvcHl3ZWJzb2NrZXQzL2V4YW1wbGUvY29va2llX3dzaC5weSBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJz
b2NrZXQzL2V4YW1wbGUvY29va2llX3dzaC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MTUyMDk2OTRlM2ZmMjMy
MGY1NjgzZWUwNTk2YWUzNDQyOGIxNWViCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNv
Y2tldDMvZXhhbXBsZS9jb29raWVfd3NoLnB5CkBAIC0wLDAgKzEsNTQgQEAKKyMgQ29weXJpZ2h0
IDIwMjAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisj
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKKyMgbWV0OgorIworIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
KyMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisjIGRpc3RyaWJ1dGlvbi4KKyMgICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworIyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbQorIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisjICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorIyBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAorIyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyMgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyMg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisKK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0Citmcm9tIHNpeC5tb3Zl
cyBpbXBvcnQgdXJsbGliCisKKworZGVmIF9hZGRfc2V0X2Nvb2tpZShyZXF1ZXN0LCB2YWx1ZSk6
CisgICAgcmVxdWVzdC5leHRyYV9oZWFkZXJzLmFwcGVuZCgoJ1NldC1Db29raWUnLCB2YWx1ZSkp
CisKKworZGVmIHdlYl9zb2NrZXRfZG9fZXh0cmFfaGFuZHNoYWtlKHJlcXVlc3QpOgorICAgIGNv
bXBvbmVudHMgPSB1cmxsaWIucGFyc2UudXJscGFyc2UocmVxdWVzdC51cmkpCisgICAgY29tbWFu
ZCA9IGNvbXBvbmVudHNbNF0KKworICAgIE9ORV9EQVlfTElGRSA9ICdNYXgtQWdlPTg2NDAwJwor
CisgICAgaWYgY29tbWFuZCA9PSAnc2V0JzoKKyAgICAgICAgX2FkZF9zZXRfY29va2llKHJlcXVl
c3QsICc7ICcuam9pbihbJ2Zvbz1iYXInLCBPTkVfREFZX0xJRkVdKSkKKyAgICBlbGlmIGNvbW1h
bmQgPT0gJ3NldF9odHRwb25seSc6CisgICAgICAgIF9hZGRfc2V0X2Nvb2tpZSgKKyAgICAgICAg
ICAgIHJlcXVlc3QsICc7ICcuam9pbihbJ2h0dHBPbmx5Rm9vPWJhcicsIE9ORV9EQVlfTElGRSwg
J2h0dHBPbmx5J10pKQorICAgIGVsaWYgY29tbWFuZCA9PSAnY2xlYXInOgorICAgICAgICBfYWRk
X3NldF9jb29raWUocmVxdWVzdCwgJ2Zvbz0wOyBNYXgtQWdlPTAnKQorICAgICAgICBfYWRkX3Nl
dF9jb29raWUocmVxdWVzdCwgJ2h0dHBPbmx5Rm9vPTA7IE1heC1BZ2U9MCcpCisKKworZGVmIHdl
Yl9zb2NrZXRfdHJhbnNmZXJfZGF0YShyZXF1ZXN0KToKKyAgICBwYXNzCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3Bh
cnR5L3B5d2Vic29ja2V0My9leGFtcGxlL2VjaG9fY2xpZW50LnB5IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tl
dDMvZXhhbXBsZS9lY2hvX2NsaWVudC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNDQ1OWExOWJjNjhjNzg3OWEx
NzRmNTcyMTIyMzgyOTE0ZTZmN2RkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tl
dDMvZXhhbXBsZS9lY2hvX2NsaWVudC5weQpAQCAtMCwwICsxLDY5NiBAQAorIyEvdXNyL2Jpbi9l
bnYgcHl0aG9uCisjCisjIENvcHlyaWdodCAyMDExLCBHb29nbGUgSW5jLgorIyBBbGwgcmlnaHRz
IHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorIyBtZXQ6CisjCisj
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisjIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorIyBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisjIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyMg
ZGlzdHJpYnV0aW9uLgorIyAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5v
ciB0aGUgbmFtZXMgb2YgaXRzCisjIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisjIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisjCisjIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyMg
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKKyMgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisjIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisjIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAor
IyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorIyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyMgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
IyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyIiIlNpbXBsZSBXZWJTb2NrZXQgY2xpZW50
IG5hbWVkIGVjaG9fY2xpZW50IGp1c3QgYmVjYXVzZSBvZiBoaXN0b3JpY2FsIHJlYXNvbi4KKwor
bW9kX3B5d2Vic29ja2V0IGRpcmVjdG9yeSBtdXN0IGJlIGluIFBZVEhPTlBBVEguCisKK0V4YW1w
bGUgVXNhZ2U6CisKKyMgc2VydmVyIHNldHVwCisgJSBjZCAkcHl3ZWJzb2NrZXQKKyAlIFBZVEhP
TlBBVEg9JGN3ZC9zcmMgcHl0aG9uIC4vbW9kX3B5d2Vic29ja2V0L3N0YW5kYWxvbmUucHkgLXAg
ODg4MCBcCisgICAgLWQgJGN3ZC9zcmMvZXhhbXBsZQorCisjIHJ1biBjbGllbnQKKyAlIFBZVEhP
TlBBVEg9JGN3ZC9zcmMgcHl0aG9uIC4vc3JjL2V4YW1wbGUvZWNob19jbGllbnQucHkgLXAgODg4
MCBcCisgICAgIC1zIGxvY2FsaG9zdCBcCisgICAgIC1vIGh0dHA6Ly9sb2NhbGhvc3QgLXIgL2Vj
aG8gLW0gdGVzdAorIiIiCisKK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0
Citmcm9tIF9fZnV0dXJlX18gaW1wb3J0IHByaW50X2Z1bmN0aW9uCitpbXBvcnQgYmFzZTY0Citp
bXBvcnQgY29kZWNzCitmcm9tIGhhc2hsaWIgaW1wb3J0IHNoYTEKK2ltcG9ydCBsb2dnaW5nCitm
cm9tIG9wdHBhcnNlIGltcG9ydCBPcHRpb25QYXJzZXIKK2ltcG9ydCBvcworaW1wb3J0IHJhbmRv
bQoraW1wb3J0IHJlCitpbXBvcnQgc2l4CitpbXBvcnQgc29ja2V0CitpbXBvcnQgc3NsCitpbXBv
cnQgc3RydWN0CitpbXBvcnQgc3lzCisKK2Zyb20gbW9kX3B5d2Vic29ja2V0IGltcG9ydCBjb21t
b24KK2Zyb20gbW9kX3B5d2Vic29ja2V0LmV4dGVuc2lvbnMgaW1wb3J0IFBlck1lc3NhZ2VEZWZs
YXRlRXh0ZW5zaW9uUHJvY2Vzc29yCitmcm9tIG1vZF9weXdlYnNvY2tldC5leHRlbnNpb25zIGlt
cG9ydCBfUGVyTWVzc2FnZURlZmxhdGVGcmFtZXIKK2Zyb20gbW9kX3B5d2Vic29ja2V0LmV4dGVu
c2lvbnMgaW1wb3J0IF9wYXJzZV93aW5kb3dfYml0cworZnJvbSBtb2RfcHl3ZWJzb2NrZXQuc3Ry
ZWFtIGltcG9ydCBTdHJlYW0KK2Zyb20gbW9kX3B5d2Vic29ja2V0LnN0cmVhbSBpbXBvcnQgU3Ry
ZWFtT3B0aW9ucworZnJvbSBtb2RfcHl3ZWJzb2NrZXQgaW1wb3J0IHV0aWwKKworX1RJTUVPVVRf
U0VDID0gMTAKK19VTkRFRklORURfUE9SVCA9IC0xCisKK19VUEdSQURFX0hFQURFUiA9ICdVcGdy
YWRlOiB3ZWJzb2NrZXRcclxuJworX0NPTk5FQ1RJT05fSEVBREVSID0gJ0Nvbm5lY3Rpb246IFVw
Z3JhZGVcclxuJworCisjIFNwZWNpYWwgbWVzc2FnZSB0aGF0IHRlbGxzIHRoZSBlY2hvIHNlcnZl
ciB0byBzdGFydCBjbG9zaW5nIGhhbmRzaGFrZQorX0dPT0RCWUVfTUVTU0FHRSA9ICdHb29kYnll
JworCitfUFJPVE9DT0xfVkVSU0lPTl9IWUJJMTMgPSAnaHliaTEzJworCisKK2NsYXNzIENsaWVu
dEhhbmRzaGFrZUVycm9yKEV4Y2VwdGlvbik6CisgICAgcGFzcworCisKK2RlZiBfYnVpbGRfbWV0
aG9kX2xpbmUocmVzb3VyY2UpOgorICAgIHJldHVybiAnR0VUICVzIEhUVFAvMS4xXHJcbicgJSBy
ZXNvdXJjZQorCisKK2RlZiBfb3JpZ2luX2hlYWRlcihoZWFkZXIsIG9yaWdpbik6CisgICAgIyA0
LjEgMTMuIGNvbmNhdGVuYXRpb24gb2YgdGhlIHN0cmluZyAiT3JpZ2luOiIsIGEgVSswMDIwIFNQ
QUNFIGNoYXJhY3RlciwKKyAgICAjIGFuZCB0aGUgL29yaWdpbi8gdmFsdWUsIGNvbnZlcnRlZCB0
byBBU0NJSSBsb3dlcmNhc2UsIHRvIC9maWVsZHMvLgorICAgIHJldHVybiAnJXM6ICVzXHJcbicg
JSAoaGVhZGVyLCBvcmlnaW4ubG93ZXIoKSkKKworCitkZWYgX2Zvcm1hdF9ob3N0X2hlYWRlciho
b3N0LCBwb3J0LCBzZWN1cmUpOgorICAgICMgNC4xIDkuIExldCAvaG9zdHBvcnQvIGJlIGFuIGVt
cHR5IHN0cmluZy4KKyAgICAjIDQuMSAxMC4gQXBwZW5kIHRoZSAvaG9zdC8gdmFsdWUsIGNvbnZl
cnRlZCB0byBBU0NJSSBsb3dlcmNhc2UsIHRvCisgICAgIyAvaG9zdHBvcnQvCisgICAgaG9zdHBv
cnQgPSBob3N0Lmxvd2VyKCkKKyAgICAjIDQuMSAxMS4gSWYgL3NlY3VyZS8gaXMgZmFsc2UsIGFu
ZCAvcG9ydC8gaXMgbm90IDgwLCBvciBpZiAvc2VjdXJlLworICAgICMgaXMgdHJ1ZSwgYW5kIC9w
b3J0LyBpcyBub3QgNDQzLCB0aGVuIGFwcGVuZCBhIFUrMDAzQSBDT0xPTiBjaGFyYWN0ZXIKKyAg
ICAjICg6KSBmb2xsb3dlZCBieSB0aGUgdmFsdWUgb2YgL3BvcnQvLCBleHByZXNzZWQgYXMgYSBi
YXNlLXRlbiBpbnRlZ2VyLAorICAgICMgdG8gL2hvc3Rwb3J0LworICAgIGlmICgobm90IHNlY3Vy
ZSBhbmQgcG9ydCAhPSBjb21tb24uREVGQVVMVF9XRUJfU09DS0VUX1BPUlQpCisgICAgICAgICAg
ICBvciAoc2VjdXJlIGFuZCBwb3J0ICE9IGNvbW1vbi5ERUZBVUxUX1dFQl9TT0NLRVRfU0VDVVJF
X1BPUlQpKToKKyAgICAgICAgaG9zdHBvcnQgKz0gJzonICsgc3RyKHBvcnQpCisgICAgIyA0LjEg
MTIuIGNvbmNhdGVuYXRpb24gb2YgdGhlIHN0cmluZyAiSG9zdDoiLCBhIFUrMDAyMCBTUEFDRQor
ICAgICMgY2hhcmFjdGVyLCBhbmQgL2hvc3Rwb3J0LywgdG8gL2ZpZWxkcy8uCisgICAgcmV0dXJu
ICclczogJXNcclxuJyAlIChjb21tb24uSE9TVF9IRUFERVIsIGhvc3Rwb3J0KQorCisKK2RlZiBf
cmVjZWl2ZV9ieXRlcyhzb2NrZXQsIGxlbmd0aCk6CisgICAgcmVjdl9ieXRlcyA9IFtdCisgICAg
cmVtYWluaW5nID0gbGVuZ3RoCisgICAgd2hpbGUgcmVtYWluaW5nID4gMDoKKyAgICAgICAgcmVj
ZWl2ZWRfYnl0ZXMgPSBzb2NrZXQucmVjdihyZW1haW5pbmcpCisgICAgICAgIGlmIG5vdCByZWNl
aXZlZF9ieXRlczoKKyAgICAgICAgICAgIHJhaXNlIElPRXJyb3IoCisgICAgICAgICAgICAgICAg
J0Nvbm5lY3Rpb24gY2xvc2VkIGJlZm9yZSByZWNlaXZpbmcgcmVxdWVzdGVkIGxlbmd0aCAnCisg
ICAgICAgICAgICAgICAgJyhyZXF1ZXN0ZWQgJWQgYnl0ZXMgYnV0IHJlY2VpdmVkIG9ubHkgJWQg
Ynl0ZXMpJyAlCisgICAgICAgICAgICAgICAgKGxlbmd0aCwgbGVuZ3RoIC0gcmVtYWluaW5nKSkK
KyAgICAgICAgcmVjdl9ieXRlcy5hcHBlbmQocmVjZWl2ZWRfYnl0ZXMpCisgICAgICAgIHJlbWFp
bmluZyAtPSBsZW4ocmVjZWl2ZWRfYnl0ZXMpCisgICAgcmV0dXJuIGInJy5qb2luKHJlY3ZfYnl0
ZXMpCisKKworZGVmIF9nZXRfbWFuZGF0b3J5X2hlYWRlcihmaWVsZHMsIG5hbWUpOgorICAgICIi
IkdldHMgdGhlIHZhbHVlIG9mIHRoZSBoZWFkZXIgc3BlY2lmaWVkIGJ5IG5hbWUgZnJvbSBmaWVs
ZHMuCisKKyAgICBUaGlzIGZ1bmN0aW9uIGV4cGVjdHMgdGhhdCB0aGVyZSdzIG9ubHkgb25lIGhl
YWRlciB3aXRoIHRoZSBzcGVjaWZpZWQgbmFtZQorICAgIGluIGZpZWxkcy4gT3RoZXJ3aXNlLCBy
YWlzZXMgYW4gQ2xpZW50SGFuZHNoYWtlRXJyb3IuCisgICAgIiIiCisKKyAgICB2YWx1ZXMgPSBm
aWVsZHMuZ2V0KG5hbWUubG93ZXIoKSkKKyAgICBpZiB2YWx1ZXMgaXMgTm9uZSBvciBsZW4odmFs
dWVzKSA9PSAwOgorICAgICAgICByYWlzZSBDbGllbnRIYW5kc2hha2VFcnJvcignJXMgaGVhZGVy
IG5vdCBmb3VuZDogJXInICUgKG5hbWUsIHZhbHVlcykpCisgICAgaWYgbGVuKHZhbHVlcykgPiAx
OgorICAgICAgICByYWlzZSBDbGllbnRIYW5kc2hha2VFcnJvcignTXVsdGlwbGUgJXMgaGVhZGVy
cyBmb3VuZDogJXInICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5hbWUs
IHZhbHVlcykpCisgICAgcmV0dXJuIHZhbHVlc1swXQorCisKK2RlZiBfdmFsaWRhdGVfbWFuZGF0
b3J5X2hlYWRlcihmaWVsZHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZF92YWx1ZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjYXNlX3NlbnNpdGl2ZT1GYWxzZSk6CisgICAgIiIiR2V0
cyBhbmQgdmFsaWRhdGVzIHRoZSB2YWx1ZSBvZiB0aGUgaGVhZGVyIHNwZWNpZmllZCBieSBuYW1l
IGZyb20KKyAgICBmaWVsZHMuCisKKyAgICBJZiBleHBlY3RlZF92YWx1ZSBpcyBzcGVjaWZpZWQs
IGNvbXBhcmVzIGV4cGVjdGVkIHZhbHVlIGFuZCBhY3R1YWwgdmFsdWUKKyAgICBhbmQgcmFpc2Vz
IGFuIENsaWVudEhhbmRzaGFrZUVycm9yIG9uIGZhaWx1cmUuIFlvdSBjYW4gc3BlY2lmeSBjYXNl
CisgICAgc2Vuc2l0aXZlbmVzcyBpbiB0aGlzIGNvbXBhcmlzb24gYnkgY2FzZV9zZW5zaXRpdmUg
cGFyYW1ldGVyLiBUaGlzIGZ1bmN0aW9uCisgICAgZXhwZWN0cyB0aGF0IHRoZXJlJ3Mgb25seSBv
bmUgaGVhZGVyIHdpdGggdGhlIHNwZWNpZmllZCBuYW1lIGluIGZpZWxkcy4KKyAgICBPdGhlcndp
c2UsIHJhaXNlcyBhbiBDbGllbnRIYW5kc2hha2VFcnJvci4KKyAgICAiIiIKKworICAgIHZhbHVl
ID0gX2dldF9tYW5kYXRvcnlfaGVhZGVyKGZpZWxkcywgbmFtZSkKKworICAgIGlmICgoY2FzZV9z
ZW5zaXRpdmUgYW5kIHZhbHVlICE9IGV4cGVjdGVkX3ZhbHVlKSBvcgorICAgICAgICAobm90IGNh
c2Vfc2Vuc2l0aXZlIGFuZCB2YWx1ZS5sb3dlcigpICE9IGV4cGVjdGVkX3ZhbHVlLmxvd2VyKCkp
KToKKyAgICAgICAgcmFpc2UgQ2xpZW50SGFuZHNoYWtlRXJyb3IoCisgICAgICAgICAgICAnSWxs
ZWdhbCB2YWx1ZSBmb3IgaGVhZGVyICVzOiAlciAoZXhwZWN0ZWQpIHZzICVyIChhY3R1YWwpJyAl
CisgICAgICAgICAgICAobmFtZSwgZXhwZWN0ZWRfdmFsdWUsIHZhbHVlKSkKKworCitjbGFzcyBf
VExTU29ja2V0KG9iamVjdCk6CisgICAgIiIiV3JhcHBlciBmb3IgYSBUTFMgY29ubmVjdGlvbi4i
IiIKKyAgICBkZWYgX19pbml0X18oc2VsZiwgcmF3X3NvY2tldCk6CisgICAgICAgIHNlbGYuX2xv
Z2dlciA9IHV0aWwuZ2V0X2NsYXNzX2xvZ2dlcihzZWxmKQorCisgICAgICAgIHNlbGYuX3Rsc19z
b2NrZXQgPSBzc2wud3JhcF9zb2NrZXQocmF3X3NvY2tldCkKKworICAgICAgICAjIFByaW50IGNp
cGhlciBpbiB1c2UuIEhhbmRzaGFrZSBpcyBkb25lIG9uIHdyYXBfc29ja2V0IGNhbGwuCisgICAg
ICAgIHNlbGYuX2xvZ2dlci5pbmZvKCJDaXBoZXI6ICVzIiwgc2VsZi5fdGxzX3NvY2tldC5jaXBo
ZXIoKSkKKworICAgIGRlZiBzZW5kKHNlbGYsIGRhdGEpOgorICAgICAgICByZXR1cm4gc2VsZi5f
dGxzX3NvY2tldC53cml0ZShkYXRhKQorCisgICAgZGVmIHNlbmRhbGwoc2VsZiwgZGF0YSk6Cisg
ICAgICAgIHJldHVybiBzZWxmLl90bHNfc29ja2V0LnNlbmRhbGwoZGF0YSkKKworICAgIGRlZiBy
ZWN2KHNlbGYsIHNpemU9LTEpOgorICAgICAgICByZXR1cm4gc2VsZi5fdGxzX3NvY2tldC5yZWFk
KHNpemUpCisKKyAgICBkZWYgY2xvc2Uoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLl90bHNf
c29ja2V0LmNsb3NlKCkKKworICAgIGRlZiBnZXRwZWVybmFtZShzZWxmKToKKyAgICAgICAgcmV0
dXJuIHNlbGYuX3Rsc19zb2NrZXQuZ2V0cGVlcm5hbWUoKQorCisKK2NsYXNzIENsaWVudEhhbmRz
aGFrZUJhc2Uob2JqZWN0KToKKyAgICAiIiJBIGJhc2UgY2xhc3MgZm9yIFdlYlNvY2tldCBvcGVu
aW5nIGhhbmRzaGFrZSBwcm9jZXNzb3JzIGZvciBlYWNoCisgICAgcHJvdG9jb2wgdmVyc2lvbi4K
KyAgICAiIiIKKyAgICBkZWYgX19pbml0X18oc2VsZik6CisgICAgICAgIHNlbGYuX2xvZ2dlciA9
IHV0aWwuZ2V0X2NsYXNzX2xvZ2dlcihzZWxmKQorCisgICAgZGVmIF9yZWFkX2ZpZWxkcyhzZWxm
KToKKyAgICAgICAgIyA0LjEgMzIuIGxldCAvZmllbGRzLyBiZSBhIGxpc3Qgb2YgbmFtZS12YWx1
ZSBwYWlycywgaW5pdGlhbGx5IGVtcHR5LgorICAgICAgICBmaWVsZHMgPSB7fQorICAgICAgICB3
aGlsZSBUcnVlOiAgIyAiRmllbGQiCisgICAgICAgICAgICAjIDQuMSAzMy4gbGV0IC9uYW1lLyBh
bmQgL3ZhbHVlLyBiZSBlbXB0eSBieXRlIGFycmF5cworICAgICAgICAgICAgbmFtZSA9IGInJwor
ICAgICAgICAgICAgdmFsdWUgPSBiJycKKyAgICAgICAgICAgICMgNC4xIDM0LiByZWFkIC9uYW1l
LworICAgICAgICAgICAgbmFtZSA9IHNlbGYuX3JlYWRfbmFtZSgpCisgICAgICAgICAgICBpZiBu
YW1lIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgICMgNC4xIDM1
LiByZWFkIHNwYWNlcworICAgICAgICAgICAgIyBUT0RPKHR5b3NoaW5vKTogU2tpcCBvbmx5IG9u
ZSBzcGFjZSBhcyBkZXNjcmliZWQgaW4gdGhlIHNwZWMuCisgICAgICAgICAgICBjaCA9IHNlbGYu
X3NraXBfc3BhY2VzKCkKKyAgICAgICAgICAgICMgNC4xIDM2LiByZWFkIC92YWx1ZS8KKyAgICAg
ICAgICAgIHZhbHVlID0gc2VsZi5fcmVhZF92YWx1ZShjaCkKKyAgICAgICAgICAgICMgNC4xIDM3
LiByZWFkIGEgYnl0ZSBmcm9tIHRoZSBzZXJ2ZXIKKyAgICAgICAgICAgIGNoID0gX3JlY2VpdmVf
Ynl0ZXMoc2VsZi5fc29ja2V0LCAxKQorICAgICAgICAgICAgaWYgY2ggIT0gYidcbic6ICAjIDB4
MEEKKyAgICAgICAgICAgICAgICByYWlzZSBDbGllbnRIYW5kc2hha2VFcnJvcigKKyAgICAgICAg
ICAgICAgICAgICAgJ0V4cGVjdGVkIExGIGJ1dCBmb3VuZCAlciB3aGlsZSByZWFkaW5nIHZhbHVl
ICVyIGZvciAnCisgICAgICAgICAgICAgICAgICAgICdoZWFkZXIgJXInICUgKGNoLCB2YWx1ZSwg
bmFtZSkpCisgICAgICAgICAgICBzZWxmLl9sb2dnZXIuZGVidWcoJ1JlY2VpdmVkICVyIGhlYWRl
cicsIG5hbWUpCisgICAgICAgICAgICAjIDQuMSAzOC4gYXBwZW5kIGFuIGVudHJ5IHRvIHRoZSAv
ZmllbGRzLyBsaXN0IHRoYXQgaGFzIHRoZSBuYW1lCisgICAgICAgICAgICAjIGdpdmVuIGJ5IHRo
ZSBzdHJpbmcgb2J0YWluZWQgYnkgaW50ZXJwcmV0aW5nIHRoZSAvbmFtZS8gYnl0ZQorICAgICAg
ICAgICAgIyBhcnJheSBhcyBhIFVURi04IHN0cmVhbSBhbmQgdGhlIHZhbHVlIGdpdmVuIGJ5IHRo
ZSBzdHJpbmcKKyAgICAgICAgICAgICMgb2J0YWluZWQgYnkgaW50ZXJwcmV0aW5nIHRoZSAvdmFs
dWUvIGJ5dGUgYXJyYXkgYXMgYSBVVEYtOCBieXRlCisgICAgICAgICAgICAjIHN0cmVhbS4KKyAg
ICAgICAgICAgIGZpZWxkcy5zZXRkZWZhdWx0KG5hbWUuZGVjb2RlKCdVVEYtOCcpLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgW10pLmFwcGVuZCh2YWx1ZS5kZWNvZGUoJ1VURi04Jykp
CisgICAgICAgICAgICAjIDQuMSAzOS4gcmV0dXJuIHRvIHRoZSAiRmllbGQiIHN0ZXAgYWJvdmUK
KyAgICAgICAgcmV0dXJuIGZpZWxkcworCisgICAgZGVmIF9yZWFkX25hbWUoc2VsZik6CisgICAg
ICAgICMgNC4xIDMzLiBsZXQgL25hbWUvIGJlIGVtcHR5IGJ5dGUgYXJyYXlzCisgICAgICAgIG5h
bWUgPSBiJycKKyAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgICMgNC4xIDM0LiByZWFk
IGEgYnl0ZSBmcm9tIHRoZSBzZXJ2ZXIKKyAgICAgICAgICAgIGNoID0gX3JlY2VpdmVfYnl0ZXMo
c2VsZi5fc29ja2V0LCAxKQorICAgICAgICAgICAgaWYgY2ggPT0gYidccic6ICAjIDB4MEQKKyAg
ICAgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICAgICAgZWxpZiBjaCA9PSBiJ1xuJzog
ICMgMHgwQQorICAgICAgICAgICAgICAgIHJhaXNlIENsaWVudEhhbmRzaGFrZUVycm9yKAorICAg
ICAgICAgICAgICAgICAgICAnVW5leHBlY3RlZCBMRiB3aGVuIHJlYWRpbmcgaGVhZGVyIG5hbWUg
JXInICUgbmFtZSkKKyAgICAgICAgICAgIGVsaWYgY2ggPT0gYic6JzogICMgMHgzQQorICAgICAg
ICAgICAgICAgIHJldHVybiBuYW1lLmxvd2VyKCkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAg
ICAgICAgICAgbmFtZSArPSBjaAorCisgICAgZGVmIF9za2lwX3NwYWNlcyhzZWxmKToKKyAgICAg
ICAgIyA0LjEgMzUuIHJlYWQgYSBieXRlIGZyb20gdGhlIHNlcnZlcgorICAgICAgICB3aGlsZSBU
cnVlOgorICAgICAgICAgICAgY2ggPSBfcmVjZWl2ZV9ieXRlcyhzZWxmLl9zb2NrZXQsIDEpCisg
ICAgICAgICAgICBpZiBjaCA9PSBiJyAnOiAgIyAweDIwCisgICAgICAgICAgICAgICAgY29udGlu
dWUKKyAgICAgICAgICAgIHJldHVybiBjaAorCisgICAgZGVmIF9yZWFkX3ZhbHVlKHNlbGYsIGNo
KToKKyAgICAgICAgIyA0LjEgMzMuIGxldCAvdmFsdWUvIGJlIGVtcHR5IGJ5dGUgYXJyYXlzCisg
ICAgICAgIHZhbHVlID0gYicnCisgICAgICAgICMgNC4xIDM2LiByZWFkIGEgYnl0ZSBmcm9tIHNl
cnZlci4KKyAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgIGlmIGNoID09IGInXHInOiAg
IyAweDBECisgICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlCisgICAgICAgICAgICBlbGlmIGNo
ID09IGInXG4nOiAgIyAweDBBCisgICAgICAgICAgICAgICAgcmFpc2UgQ2xpZW50SGFuZHNoYWtl
RXJyb3IoCisgICAgICAgICAgICAgICAgICAgICdVbmV4cGVjdGVkIExGIHdoZW4gcmVhZGluZyBo
ZWFkZXIgdmFsdWUgJXInICUgdmFsdWUpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAg
ICAgIHZhbHVlICs9IGNoCisgICAgICAgICAgICBjaCA9IF9yZWNlaXZlX2J5dGVzKHNlbGYuX3Nv
Y2tldCwgMSkKKworCitkZWYgX2dldF9wZXJtZXNzYWdlX2RlZmxhdGVfZnJhbWVyKGV4dGVuc2lv
bl9yZXNwb25zZSk6CisgICAgIiIiVmFsaWRhdGUgdGhlIHJlc3BvbnNlIGFuZCByZXR1cm4gYSBm
cmFtZXIgb2JqZWN0IHVzaW5nIHRoZSBwYXJhbWV0ZXJzIGluCisgICAgdGhlIHJlc3BvbnNlLiBU
aGlzIG1ldGhvZCBkb2Vzbid0IGFjY2VwdCB0aGUgc2VydmVyXy4qIHBhcmFtZXRlcnMuCisgICAg
IiIiCisKKyAgICBjbGllbnRfbWF4X3dpbmRvd19iaXRzID0gTm9uZQorICAgIGNsaWVudF9ub19j
b250ZXh0X3Rha2VvdmVyID0gTm9uZQorCisgICAgY2xpZW50X21heF93aW5kb3dfYml0c19uYW1l
ID0gKAorICAgICAgICBQZXJNZXNzYWdlRGVmbGF0ZUV4dGVuc2lvblByb2Nlc3Nvci5fQ0xJRU5U
X01BWF9XSU5ET1dfQklUU19QQVJBTSkKKyAgICBjbGllbnRfbm9fY29udGV4dF90YWtlb3Zlcl9u
YW1lID0gKAorICAgICAgICBQZXJNZXNzYWdlRGVmbGF0ZUV4dGVuc2lvblByb2Nlc3Nvci5fQ0xJ
RU5UX05PX0NPTlRFWFRfVEFLRU9WRVJfUEFSQU0pCisKKyAgICAjIFdlIGRpZG4ndCBzZW5kIGFu
eSBzZXJ2ZXJfLiogcGFyYW1ldGVyLgorICAgICMgSGFuZGxlIHRob3NlIHBhcmFtZXRlcnMgYXMg
aW52YWxpZCBpZiBmb3VuZCBpbiB0aGUgcmVzcG9uc2UuCisKKyAgICBmb3IgcGFyYW1fbmFtZSwg
cGFyYW1fdmFsdWUgaW4gZXh0ZW5zaW9uX3Jlc3BvbnNlLmdldF9wYXJhbWV0ZXJzKCk6CisgICAg
ICAgIGlmIHBhcmFtX25hbWUgPT0gY2xpZW50X21heF93aW5kb3dfYml0c19uYW1lOgorICAgICAg
ICAgICAgaWYgY2xpZW50X21heF93aW5kb3dfYml0cyBpcyBub3QgTm9uZToKKyAgICAgICAgICAg
ICAgICByYWlzZSBDbGllbnRIYW5kc2hha2VFcnJvcignTXVsdGlwbGUgJXMgZm91bmQnICUKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRfbWF4X3dpbmRv
d19iaXRzX25hbWUpCisKKyAgICAgICAgICAgIHBhcnNlZF92YWx1ZSA9IF9wYXJzZV93aW5kb3df
Yml0cyhwYXJhbV92YWx1ZSkKKyAgICAgICAgICAgIGlmIHBhcnNlZF92YWx1ZSBpcyBOb25lOgor
ICAgICAgICAgICAgICAgIHJhaXNlIENsaWVudEhhbmRzaGFrZUVycm9yKAorICAgICAgICAgICAg
ICAgICAgICAnQmFkICVzOiAlcicgJSAoY2xpZW50X21heF93aW5kb3dfYml0c19uYW1lLCBwYXJh
bV92YWx1ZSkpCisgICAgICAgICAgICBjbGllbnRfbWF4X3dpbmRvd19iaXRzID0gcGFyc2VkX3Zh
bHVlCisgICAgICAgIGVsaWYgcGFyYW1fbmFtZSA9PSBjbGllbnRfbm9fY29udGV4dF90YWtlb3Zl
cl9uYW1lOgorICAgICAgICAgICAgaWYgY2xpZW50X25vX2NvbnRleHRfdGFrZW92ZXIgaXMgbm90
IE5vbmU6CisgICAgICAgICAgICAgICAgcmFpc2UgQ2xpZW50SGFuZHNoYWtlRXJyb3IoJ011bHRp
cGxlICVzIGZvdW5kJyAlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY2xpZW50X25vX2NvbnRleHRfdGFrZW92ZXJfbmFtZSkKKworICAgICAgICAgICAgaWYgcGFy
YW1fdmFsdWUgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgcmFpc2UgQ2xpZW50SGFuZHNo
YWtlRXJyb3IoCisgICAgICAgICAgICAgICAgICAgICdCYWQgJXM6IEhhcyB2YWx1ZSAlcicgJQor
ICAgICAgICAgICAgICAgICAgICAoY2xpZW50X25vX2NvbnRleHRfdGFrZW92ZXJfbmFtZSwgcGFy
YW1fdmFsdWUpKQorICAgICAgICAgICAgY2xpZW50X25vX2NvbnRleHRfdGFrZW92ZXIgPSBUcnVl
CisKKyAgICBpZiBjbGllbnRfbm9fY29udGV4dF90YWtlb3ZlciBpcyBOb25lOgorICAgICAgICBj
bGllbnRfbm9fY29udGV4dF90YWtlb3ZlciA9IEZhbHNlCisKKyAgICByZXR1cm4gX1Blck1lc3Nh
Z2VEZWZsYXRlRnJhbWVyKGNsaWVudF9tYXhfd2luZG93X2JpdHMsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjbGllbnRfbm9fY29udGV4dF90YWtlb3ZlcikKKworCitjbGFz
cyBDbGllbnRIYW5kc2hha2VQcm9jZXNzb3IoQ2xpZW50SGFuZHNoYWtlQmFzZSk6CisgICAgIiIi
V2ViU29ja2V0IG9wZW5pbmcgaGFuZHNoYWtlIHByb2Nlc3NvcgorICAgICIiIgorICAgIGRlZiBf
X2luaXRfXyhzZWxmLCBzb2NrZXQsIG9wdGlvbnMpOgorICAgICAgICBzdXBlcihDbGllbnRIYW5k
c2hha2VQcm9jZXNzb3IsIHNlbGYpLl9faW5pdF9fKCkKKworICAgICAgICBzZWxmLl9zb2NrZXQg
PSBzb2NrZXQKKyAgICAgICAgc2VsZi5fb3B0aW9ucyA9IG9wdGlvbnMKKworICAgICAgICBzZWxm
Ll9sb2dnZXIgPSB1dGlsLmdldF9jbGFzc19sb2dnZXIoc2VsZikKKworICAgIGRlZiBoYW5kc2hh
a2Uoc2VsZik6CisgICAgICAgICIiIlBlcmZvcm1zIG9wZW5pbmcgaGFuZHNoYWtlIG9uIHRoZSBz
cGVjaWZpZWQgc29ja2V0LgorCisgICAgICAgIFJhaXNlczoKKyAgICAgICAgICAgIENsaWVudEhh
bmRzaGFrZUVycm9yOiBoYW5kc2hha2UgZmFpbGVkLgorICAgICAgICAiIiIKKworICAgICAgICBy
ZXF1ZXN0X2xpbmUgPSBfYnVpbGRfbWV0aG9kX2xpbmUoc2VsZi5fb3B0aW9ucy5yZXNvdXJjZSkK
KyAgICAgICAgc2VsZi5fbG9nZ2VyLmRlYnVnKCdDbGllbnRcJ3Mgb3BlbmluZyBoYW5kc2hha2Ug
UmVxdWVzdC1MaW5lOiAlcicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0X2xp
bmUpCisgICAgICAgIHNlbGYuX3NvY2tldC5zZW5kYWxsKHJlcXVlc3RfbGluZS5lbmNvZGUoJ1VU
Ri04JykpCisKKyAgICAgICAgZmllbGRzID0gW10KKyAgICAgICAgZmllbGRzLmFwcGVuZCgKKyAg
ICAgICAgICAgIF9mb3JtYXRfaG9zdF9oZWFkZXIoc2VsZi5fb3B0aW9ucy5zZXJ2ZXJfaG9zdCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fb3B0aW9ucy5zZXJ2ZXJfcG9y
dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fb3B0aW9ucy51c2VfdGxz
KSkKKyAgICAgICAgZmllbGRzLmFwcGVuZChfVVBHUkFERV9IRUFERVIpCisgICAgICAgIGZpZWxk
cy5hcHBlbmQoX0NPTk5FQ1RJT05fSEVBREVSKQorICAgICAgICBpZiBzZWxmLl9vcHRpb25zLm9y
aWdpbiBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGZpZWxkcy5hcHBlbmQoCisgICAgICAgICAg
ICAgICAgX29yaWdpbl9oZWFkZXIoY29tbW9uLk9SSUdJTl9IRUFERVIsIHNlbGYuX29wdGlvbnMu
b3JpZ2luKSkKKworICAgICAgICBvcmlnaW5hbF9rZXkgPSBvcy51cmFuZG9tKDE2KQorICAgICAg
ICBzZWxmLl9rZXkgPSBiYXNlNjQuYjY0ZW5jb2RlKG9yaWdpbmFsX2tleSkKKyAgICAgICAgc2Vs
Zi5fbG9nZ2VyLmRlYnVnKCclczogJXIgKCVzKScsIGNvbW1vbi5TRUNfV0VCU09DS0VUX0tFWV9I
RUFERVIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9rZXksIHV0aWwuaGV4aWZ5
KG9yaWdpbmFsX2tleSkpCisgICAgICAgIGZpZWxkcy5hcHBlbmQoCisgICAgICAgICAgICAnJXM6
ICVzXHJcbicgJQorICAgICAgICAgICAgKGNvbW1vbi5TRUNfV0VCU09DS0VUX0tFWV9IRUFERVIs
IHNlbGYuX2tleS5kZWNvZGUoJ1VURi04JykpKQorCisgICAgICAgIGZpZWxkcy5hcHBlbmQoCisg
ICAgICAgICAgICAnJXM6ICVkXHJcbicgJQorICAgICAgICAgICAgKGNvbW1vbi5TRUNfV0VCU09D
S0VUX1ZFUlNJT05fSEVBREVSLCBjb21tb24uVkVSU0lPTl9IWUJJX0xBVEVTVCkpCisKKyAgICAg
ICAgZXh0ZW5zaW9uc190b19yZXF1ZXN0ID0gW10KKworICAgICAgICBpZiBzZWxmLl9vcHRpb25z
LnVzZV9wZXJtZXNzYWdlX2RlZmxhdGU6CisgICAgICAgICAgICBleHRlbnNpb24gPSBjb21tb24u
RXh0ZW5zaW9uUGFyYW1ldGVyKAorICAgICAgICAgICAgICAgIGNvbW1vbi5QRVJNRVNTQUdFX0RF
RkxBVEVfRVhURU5TSU9OKQorICAgICAgICAgICAgIyBBY2NlcHQgdGhlIGNsaWVudF9tYXhfd2lu
ZG93X2JpdHMgZXh0ZW5zaW9uIHBhcmFtZXRlciBieSBkZWZhdWx0LgorICAgICAgICAgICAgZXh0
ZW5zaW9uLmFkZF9wYXJhbWV0ZXIoCisgICAgICAgICAgICAgICAgUGVyTWVzc2FnZURlZmxhdGVF
eHRlbnNpb25Qcm9jZXNzb3IuCisgICAgICAgICAgICAgICAgX0NMSUVOVF9NQVhfV0lORE9XX0JJ
VFNfUEFSQU0sIE5vbmUpCisgICAgICAgICAgICBleHRlbnNpb25zX3RvX3JlcXVlc3QuYXBwZW5k
KGV4dGVuc2lvbikKKworICAgICAgICBpZiBsZW4oZXh0ZW5zaW9uc190b19yZXF1ZXN0KSAhPSAw
OgorICAgICAgICAgICAgZmllbGRzLmFwcGVuZCgnJXM6ICVzXHJcbicgJQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAoY29tbW9uLlNFQ19XRUJTT0NLRVRfRVhURU5TSU9OU19IRUFERVIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb21tb24uZm9ybWF0X2V4dGVuc2lvbnMoZXh0ZW5z
aW9uc190b19yZXF1ZXN0KSkpCisKKyAgICAgICAgZm9yIGZpZWxkIGluIGZpZWxkczoKKyAgICAg
ICAgICAgIHNlbGYuX3NvY2tldC5zZW5kYWxsKGZpZWxkLmVuY29kZSgnVVRGLTgnKSkKKworICAg
ICAgICBzZWxmLl9zb2NrZXQuc2VuZGFsbChiJ1xyXG4nKQorCisgICAgICAgIHNlbGYuX2xvZ2dl
ci5kZWJ1ZygnU2VudCBjbGllbnRcJ3Mgb3BlbmluZyBoYW5kc2hha2UgaGVhZGVyczogJXInLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGRzKQorICAgICAgICBzZWxmLl9sb2dnZXIu
ZGVidWcoJ1N0YXJ0IHJlYWRpbmcgU3RhdHVzLUxpbmUnKQorCisgICAgICAgIHN0YXR1c19saW5l
ID0gYicnCisgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICBjaCA9IF9yZWNlaXZlX2J5
dGVzKHNlbGYuX3NvY2tldCwgMSkKKyAgICAgICAgICAgIHN0YXR1c19saW5lICs9IGNoCisgICAg
ICAgICAgICBpZiBjaCA9PSBiJ1xuJzoKKyAgICAgICAgICAgICAgICBicmVhaworCisgICAgICAg
IG0gPSByZS5tYXRjaChiJ0hUVFAvXFxkK1wuXFxkKyAoXFxkXFxkXFxkKSAuKlxyXG4nLCBzdGF0
dXNfbGluZSkKKyAgICAgICAgaWYgbSBpcyBOb25lOgorICAgICAgICAgICAgcmFpc2UgQ2xpZW50
SGFuZHNoYWtlRXJyb3IoJ1dyb25nIHN0YXR1cyBsaW5lIGZvcm1hdDogJXInICUKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1c19saW5lKQorICAgICAgICBzdGF0
dXNfY29kZSA9IG0uZ3JvdXAoMSkKKyAgICAgICAgaWYgc3RhdHVzX2NvZGUgIT0gYicxMDEnOgor
ICAgICAgICAgICAgc2VsZi5fbG9nZ2VyLmRlYnVnKAorICAgICAgICAgICAgICAgICdVbmV4cGVj
dGVkIHN0YXR1cyBjb2RlICVzIHdpdGggZm9sbG93aW5nIGhlYWRlcnM6ICVyJywKKyAgICAgICAg
ICAgICAgICBzdGF0dXNfY29kZSwgc2VsZi5fcmVhZF9maWVsZHMoKSkKKyAgICAgICAgICAgIHJh
aXNlIENsaWVudEhhbmRzaGFrZUVycm9yKAorICAgICAgICAgICAgICAgICdFeHBlY3RlZCBIVFRQ
IHN0YXR1cyBjb2RlIDEwMSBidXQgZm91bmQgJXInICUgc3RhdHVzX2NvZGUpCisKKyAgICAgICAg
c2VsZi5fbG9nZ2VyLmRlYnVnKCdSZWNlaXZlZCB2YWxpZCBTdGF0dXMtTGluZScpCisgICAgICAg
IHNlbGYuX2xvZ2dlci5kZWJ1ZygnU3RhcnQgcmVhZGluZyBoZWFkZXJzIHVudGlsIHdlIHNlZSBh
biBlbXB0eSBsaW5lJykKKworICAgICAgICBmaWVsZHMgPSBzZWxmLl9yZWFkX2ZpZWxkcygpCisK
KyAgICAgICAgY2ggPSBfcmVjZWl2ZV9ieXRlcyhzZWxmLl9zb2NrZXQsIDEpCisgICAgICAgIGlm
IGNoICE9IGInXG4nOiAgIyAweDBBCisgICAgICAgICAgICByYWlzZSBDbGllbnRIYW5kc2hha2VF
cnJvcigKKyAgICAgICAgICAgICAgICAnRXhwZWN0ZWQgTEYgYnV0IGZvdW5kICVyIHdoaWxlIHJl
YWRpbmcgdmFsdWUgJXIgZm9yIGhlYWRlciAnCisgICAgICAgICAgICAgICAgJ25hbWUgJXInICUg
KGNoLCB2YWx1ZSwgbmFtZSkpCisKKyAgICAgICAgc2VsZi5fbG9nZ2VyLmRlYnVnKCdSZWNlaXZl
ZCBhbiBlbXB0eSBsaW5lJykKKyAgICAgICAgc2VsZi5fbG9nZ2VyLmRlYnVnKCdTZXJ2ZXJcJ3Mg
b3BlbmluZyBoYW5kc2hha2UgaGVhZGVyczogJXInLCBmaWVsZHMpCisKKyAgICAgICAgX3ZhbGlk
YXRlX21hbmRhdG9yeV9oZWFkZXIoZmllbGRzLCBjb21tb24uVVBHUkFERV9IRUFERVIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1vbi5XRUJTT0NLRVRfVVBHUkFERV9U
WVBFLCBGYWxzZSkKKworICAgICAgICBfdmFsaWRhdGVfbWFuZGF0b3J5X2hlYWRlcihmaWVsZHMs
IGNvbW1vbi5DT05ORUNUSU9OX0hFQURFUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29tbW9uLlVQR1JBREVfQ09OTkVDVElPTl9UWVBFLCBGYWxzZSkKKworICAgICAgICBh
Y2NlcHQgPSBfZ2V0X21hbmRhdG9yeV9oZWFkZXIoZmllbGRzLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29tbW9uLlNFQ19XRUJTT0NLRVRfQUNDRVBUX0hFQURFUikK
KworICAgICAgICAjIFZhbGlkYXRlCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGJpbmFyeV9h
Y2NlcHQgPSBiYXNlNjQuYjY0ZGVjb2RlKGFjY2VwdCkKKyAgICAgICAgZXhjZXB0IFR5cGVFcnJv
cjoKKyAgICAgICAgICAgIHJhaXNlIEhhbmRzaGFrZUVycm9yKCdJbGxlZ2FsIHZhbHVlIGZvciBo
ZWFkZXIgJXM6ICVyJyAlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29tbW9u
LlNFQ19XRUJTT0NLRVRfQUNDRVBUX0hFQURFUiwgYWNjZXB0KSkKKworICAgICAgICBpZiBsZW4o
YmluYXJ5X2FjY2VwdCkgIT0gMjA6CisgICAgICAgICAgICByYWlzZSBDbGllbnRIYW5kc2hha2VF
cnJvcigKKyAgICAgICAgICAgICAgICAnRGVjb2RlZCB2YWx1ZSBvZiAlcyBpcyBub3QgMjAtYnl0
ZSBsb25nJyAlCisgICAgICAgICAgICAgICAgY29tbW9uLlNFQ19XRUJTT0NLRVRfQUNDRVBUX0hF
QURFUikKKworICAgICAgICBzZWxmLl9sb2dnZXIuZGVidWcoJ1Jlc3BvbnNlIGZvciBjaGFsbGVu
Z2UgOiAlciAoJXMpJywgYWNjZXB0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgdXRpbC5o
ZXhpZnkoYmluYXJ5X2FjY2VwdCkpCisKKyAgICAgICAgYmluYXJ5X2V4cGVjdGVkX2FjY2VwdCA9
IHNoYTEoc2VsZi5fa2V5ICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29tbW9uLldFQlNPQ0tFVF9BQ0NFUFRfVVVJRCkuZGlnZXN0KCkKKyAgICAgICAgZXhwZWN0ZWRf
YWNjZXB0ID0gYmFzZTY0LmI2NGVuY29kZShiaW5hcnlfZXhwZWN0ZWRfYWNjZXB0KQorCisgICAg
ICAgIHNlbGYuX2xvZ2dlci5kZWJ1ZygnRXhwZWN0ZWQgcmVzcG9uc2UgZm9yIGNoYWxsZW5nZTog
JXIgKCVzKScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZF9hY2NlcHQsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICB1dGlsLmhleGlmeShiaW5hcnlfZXhwZWN0ZWRfYWNj
ZXB0KSkKKworICAgICAgICBpZiBhY2NlcHQgIT0gZXhwZWN0ZWRfYWNjZXB0LmRlY29kZSgnVVRG
LTgnKToKKyAgICAgICAgICAgIHJhaXNlIENsaWVudEhhbmRzaGFrZUVycm9yKAorICAgICAgICAg
ICAgICAgICdJbnZhbGlkICVzIGhlYWRlcjogJXIgKGV4cGVjdGVkOiAlcyknICUKKyAgICAgICAg
ICAgICAgICAoY29tbW9uLlNFQ19XRUJTT0NLRVRfQUNDRVBUX0hFQURFUiwgYWNjZXB0LCBleHBl
Y3RlZF9hY2NlcHQpKQorCisgICAgICAgIHBlcm1lc3NhZ2VfZGVmbGF0ZV9hY2NlcHRlZCA9IEZh
bHNlCisKKyAgICAgICAgZXh0ZW5zaW9uc19oZWFkZXIgPSBmaWVsZHMuZ2V0KAorICAgICAgICAg
ICAgY29tbW9uLlNFQ19XRUJTT0NLRVRfRVhURU5TSU9OU19IRUFERVIubG93ZXIoKSkKKyAgICAg
ICAgYWNjZXB0ZWRfZXh0ZW5zaW9ucyA9IFtdCisgICAgICAgIGlmIGV4dGVuc2lvbnNfaGVhZGVy
IGlzIG5vdCBOb25lIGFuZCBsZW4oZXh0ZW5zaW9uc19oZWFkZXIpICE9IDA6CisgICAgICAgICAg
ICBhY2NlcHRlZF9leHRlbnNpb25zID0gY29tbW9uLnBhcnNlX2V4dGVuc2lvbnMoZXh0ZW5zaW9u
c19oZWFkZXJbMF0pCisKKyAgICAgICAgZm9yIGV4dGVuc2lvbiBpbiBhY2NlcHRlZF9leHRlbnNp
b25zOgorICAgICAgICAgICAgZXh0ZW5zaW9uX25hbWUgPSBleHRlbnNpb24ubmFtZSgpCisgICAg
ICAgICAgICBpZiAoZXh0ZW5zaW9uX25hbWUgPT0gY29tbW9uLlBFUk1FU1NBR0VfREVGTEFURV9F
WFRFTlNJT04KKyAgICAgICAgICAgICAgICAgICAgYW5kIHNlbGYuX29wdGlvbnMudXNlX3Blcm1l
c3NhZ2VfZGVmbGF0ZSk6CisgICAgICAgICAgICAgICAgcGVybWVzc2FnZV9kZWZsYXRlX2FjY2Vw
dGVkID0gVHJ1ZQorCisgICAgICAgICAgICAgICAgZnJhbWVyID0gX2dldF9wZXJtZXNzYWdlX2Rl
ZmxhdGVfZnJhbWVyKGV4dGVuc2lvbikKKyAgICAgICAgICAgICAgICBmcmFtZXIuc2V0X2NvbXBy
ZXNzX291dGdvaW5nX2VuYWJsZWQoVHJ1ZSkKKyAgICAgICAgICAgICAgICBzZWxmLl9vcHRpb25z
LnVzZV9wZXJtZXNzYWdlX2RlZmxhdGUgPSBmcmFtZXIKKyAgICAgICAgICAgICAgICBjb250aW51
ZQorCisgICAgICAgICAgICByYWlzZSBDbGllbnRIYW5kc2hha2VFcnJvcignVW5leHBlY3RlZCBl
eHRlbnNpb24gJXInICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4
dGVuc2lvbl9uYW1lKQorCisgICAgICAgIGlmIChzZWxmLl9vcHRpb25zLnVzZV9wZXJtZXNzYWdl
X2RlZmxhdGUKKyAgICAgICAgICAgICAgICBhbmQgbm90IHBlcm1lc3NhZ2VfZGVmbGF0ZV9hY2Nl
cHRlZCk6CisgICAgICAgICAgICByYWlzZSBDbGllbnRIYW5kc2hha2VFcnJvcigKKyAgICAgICAg
ICAgICAgICAnUmVxdWVzdGVkICVzLCBidXQgdGhlIHNlcnZlciByZWplY3RlZCBpdCcgJQorICAg
ICAgICAgICAgICAgIGNvbW1vbi5QRVJNRVNTQUdFX0RFRkxBVEVfRVhURU5TSU9OKQorCisgICAg
ICAgICMgVE9ETyh0eW9zaGlubyk6IEhhbmRsZSBTZWMtV2ViU29ja2V0LVByb3RvY29sCisgICAg
ICAgICMgVE9ETyh0eW9zaGlubyk6IEhhbmRsZSBDb29raWUsIGV0Yy4KKworCitjbGFzcyBDbGll
bnRDb25uZWN0aW9uKG9iamVjdCk6CisgICAgIiIiQSB3cmFwcGVyIGZvciBzb2NrZXQgb2JqZWN0
IHRvIHByb3ZpZGUgdGhlIG1wX2Nvbm4gaW50ZXJmYWNlLgorICAgICIiIgorICAgIGRlZiBfX2lu
aXRfXyhzZWxmLCBzb2NrZXQpOgorICAgICAgICBzZWxmLl9zb2NrZXQgPSBzb2NrZXQKKworICAg
IGRlZiB3cml0ZShzZWxmLCBkYXRhKToKKyAgICAgICAgc2VsZi5fc29ja2V0LnNlbmRhbGwoZGF0
YSkKKworICAgIGRlZiByZWFkKHNlbGYsIG4pOgorICAgICAgICByZXR1cm4gc2VsZi5fc29ja2V0
LnJlY3YobikKKworICAgIGRlZiBnZXRfcmVtb3RlX2FkZHIoc2VsZik6CisgICAgICAgIHJldHVy
biBzZWxmLl9zb2NrZXQuZ2V0cGVlcm5hbWUoKQorCisgICAgcmVtb3RlX2FkZHIgPSBwcm9wZXJ0
eShnZXRfcmVtb3RlX2FkZHIpCisKKworY2xhc3MgQ2xpZW50UmVxdWVzdChvYmplY3QpOgorICAg
ICIiIkEgd3JhcHBlciBjbGFzcyBqdXN0IHRvIG1ha2UgaXQgYWJsZSB0byBwYXNzIGEgc29ja2V0
IG9iamVjdCB0bworICAgIGZ1bmN0aW9ucyB0aGF0IGV4cGVjdCBhIG1wX3JlcXVlc3Qgb2JqZWN0
LgorICAgICIiIgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBzb2NrZXQpOgorICAgICAgICBzZWxm
Ll9sb2dnZXIgPSB1dGlsLmdldF9jbGFzc19sb2dnZXIoc2VsZikKKworICAgICAgICBzZWxmLl9z
b2NrZXQgPSBzb2NrZXQKKyAgICAgICAgc2VsZi5jb25uZWN0aW9uID0gQ2xpZW50Q29ubmVjdGlv
bihzb2NrZXQpCisgICAgICAgIHNlbGYud3NfdmVyc2lvbiA9IGNvbW1vbi5WRVJTSU9OX0hZQklf
TEFURVNUCisKKworY2xhc3MgRWNob0NsaWVudChvYmplY3QpOgorICAgICIiIldlYlNvY2tldCBl
Y2hvIGNsaWVudC4iIiIKKyAgICBkZWYgX19pbml0X18oc2VsZiwgb3B0aW9ucyk6CisgICAgICAg
IHNlbGYuX29wdGlvbnMgPSBvcHRpb25zCisgICAgICAgIHNlbGYuX3NvY2tldCA9IE5vbmUKKwor
ICAgICAgICBzZWxmLl9sb2dnZXIgPSB1dGlsLmdldF9jbGFzc19sb2dnZXIoc2VsZikKKworICAg
IGRlZiBydW4oc2VsZik6CisgICAgICAgICIiIlJ1biB0aGUgY2xpZW50LgorCisgICAgICAgIFNo
YWtlIGhhbmRzIGFuZCB0aGVuIHJlcGVhdCBzZW5kaW5nIG1lc3NhZ2UgYW5kIHJlY2VpdmluZyBp
dHMgZWNoby4KKyAgICAgICAgIiIiCisKKyAgICAgICAgc2VsZi5fc29ja2V0ID0gc29ja2V0LnNv
Y2tldCgpCisgICAgICAgIHNlbGYuX3NvY2tldC5zZXR0aW1lb3V0KHNlbGYuX29wdGlvbnMuc29j
a2V0X3RpbWVvdXQpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNlbGYuX3NvY2tldC5jb25u
ZWN0KAorICAgICAgICAgICAgICAgIChzZWxmLl9vcHRpb25zLnNlcnZlcl9ob3N0LCBzZWxmLl9v
cHRpb25zLnNlcnZlcl9wb3J0KSkKKyAgICAgICAgICAgIGlmIHNlbGYuX29wdGlvbnMudXNlX3Rs
czoKKyAgICAgICAgICAgICAgICBzZWxmLl9zb2NrZXQgPSBfVExTU29ja2V0KHNlbGYuX3NvY2tl
dCkKKworICAgICAgICAgICAgc2VsZi5faGFuZHNoYWtlID0gQ2xpZW50SGFuZHNoYWtlUHJvY2Vz
c29yKHNlbGYuX3NvY2tldCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBzZWxmLl9vcHRpb25zKQorCisgICAgICAgICAgICBzZWxmLl9oYW5k
c2hha2UuaGFuZHNoYWtlKCkKKworICAgICAgICAgICAgc2VsZi5fbG9nZ2VyLmluZm8oJ0Nvbm5l
Y3Rpb24gZXN0YWJsaXNoZWQnKQorCisgICAgICAgICAgICByZXF1ZXN0ID0gQ2xpZW50UmVxdWVz
dChzZWxmLl9zb2NrZXQpCisKKyAgICAgICAgICAgIHN0cmVhbV9vcHRpb24gPSBTdHJlYW1PcHRp
b25zKCkKKyAgICAgICAgICAgIHN0cmVhbV9vcHRpb24ubWFza19zZW5kID0gVHJ1ZQorICAgICAg
ICAgICAgc3RyZWFtX29wdGlvbi51bm1hc2tfcmVjZWl2ZSA9IEZhbHNlCisKKyAgICAgICAgICAg
IGlmIHNlbGYuX29wdGlvbnMudXNlX3Blcm1lc3NhZ2VfZGVmbGF0ZSBpcyBub3QgRmFsc2U6Cisg
ICAgICAgICAgICAgICAgZnJhbWVyID0gc2VsZi5fb3B0aW9ucy51c2VfcGVybWVzc2FnZV9kZWZs
YXRlCisgICAgICAgICAgICAgICAgZnJhbWVyLnNldHVwX3N0cmVhbV9vcHRpb25zKHN0cmVhbV9v
cHRpb24pCisKKyAgICAgICAgICAgIHNlbGYuX3N0cmVhbSA9IFN0cmVhbShyZXF1ZXN0LCBzdHJl
YW1fb3B0aW9uKQorCisgICAgICAgICAgICBmb3IgbGluZSBpbiBzZWxmLl9vcHRpb25zLm1lc3Nh
Z2Uuc3BsaXQoJywnKToKKyAgICAgICAgICAgICAgICBzZWxmLl9zdHJlYW0uc2VuZF9tZXNzYWdl
KGxpbmUpCisgICAgICAgICAgICAgICAgaWYgc2VsZi5fb3B0aW9ucy52ZXJib3NlOgorICAgICAg
ICAgICAgICAgICAgICBwcmludCgnU2VuZDogJXMnICUgbGluZSkKKyAgICAgICAgICAgICAgICB0
cnk6CisgICAgICAgICAgICAgICAgICAgIHJlY2VpdmVkID0gc2VsZi5fc3RyZWFtLnJlY2VpdmVf
bWVzc2FnZSgpCisKKyAgICAgICAgICAgICAgICAgICAgaWYgc2VsZi5fb3B0aW9ucy52ZXJib3Nl
OgorICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnQoJ1JlY3Y6ICVzJyAlIHJlY2VpdmVkKQor
ICAgICAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgICAgICAg
ICAgaWYgc2VsZi5fb3B0aW9ucy52ZXJib3NlOgorICAgICAgICAgICAgICAgICAgICAgICAgcHJp
bnQoJ0Vycm9yOiAlcycgJSBlKQorICAgICAgICAgICAgICAgICAgICByYWlzZQorCisgICAgICAg
ICAgICBzZWxmLl9kb19jbG9zaW5nX2hhbmRzaGFrZSgpCisgICAgICAgIGZpbmFsbHk6CisgICAg
ICAgICAgICBzZWxmLl9zb2NrZXQuY2xvc2UoKQorCisgICAgZGVmIF9kb19jbG9zaW5nX2hhbmRz
aGFrZShzZWxmKToKKyAgICAgICAgIiIiUGVyZm9ybSBjbG9zaW5nIGhhbmRzaGFrZSB1c2luZyB0
aGUgc3BlY2lmaWVkIGNsb3NpbmcgZnJhbWUuIiIiCisKKyAgICAgICAgaWYgc2VsZi5fb3B0aW9u
cy5tZXNzYWdlLnNwbGl0KCcsJylbLTFdID09IF9HT09EQllFX01FU1NBR0U6CisgICAgICAgICAg
ICAjIHJlcXVlc3RlZCBzZXJ2ZXIgaW5pdGlhdGVkIGNsb3NpbmcgaGFuZHNoYWtlLCBzbworICAg
ICAgICAgICAgIyBleHBlY3RpbmcgY2xvc2luZyBoYW5kc2hha2UgbWVzc2FnZSBmcm9tIHNlcnZl
ci4KKyAgICAgICAgICAgIHNlbGYuX2xvZ2dlci5pbmZvKCdXYWl0IGZvciBzZXJ2ZXItaW5pdGlh
dGVkIGNsb3NpbmcgaGFuZHNoYWtlJykKKyAgICAgICAgICAgIG1lc3NhZ2UgPSBzZWxmLl9zdHJl
YW0ucmVjZWl2ZV9tZXNzYWdlKCkKKyAgICAgICAgICAgIGlmIG1lc3NhZ2UgaXMgTm9uZToKKyAg
ICAgICAgICAgICAgICBwcmludCgnUmVjdiBjbG9zZScpCisgICAgICAgICAgICAgICAgcHJpbnQo
J1NlbmQgYWNrJykKKyAgICAgICAgICAgICAgICBzZWxmLl9sb2dnZXIuaW5mbygnUmVjZWl2ZWQg
Y2xvc2luZyBoYW5kc2hha2UgYW5kIHNlbnQgYWNrJykKKyAgICAgICAgICAgICAgICByZXR1cm4K
KyAgICAgICAgcHJpbnQoJ1NlbmQgY2xvc2UnKQorICAgICAgICBzZWxmLl9zdHJlYW0uY2xvc2Vf
Y29ubmVjdGlvbigpCisgICAgICAgIHNlbGYuX2xvZ2dlci5pbmZvKCdTZW50IGNsb3NpbmcgaGFu
ZHNoYWtlJykKKyAgICAgICAgcHJpbnQoJ1JlY3YgYWNrJykKKyAgICAgICAgc2VsZi5fbG9nZ2Vy
LmluZm8oJ1JlY2VpdmVkIGFjaycpCisKKworZGVmIG1haW4oKToKKyAgICBpZiBzaXguUFkyOgor
ICAgICAgICBzeXMuc3Rkb3V0ID0gY29kZWNzLmdldHdyaXRlcigndXRmLTgnKShzeXMuc3Rkb3V0
KQorCisgICAgcGFyc2VyID0gT3B0aW9uUGFyc2VyKCkKKyAgICAjIFdlIGFjY2VwdCAtLWNvbW1h
bmRfbGluZV9mbGFnIHN0eWxlIGZsYWdzIHdoaWNoIGlzIHRoZSBzYW1lIGFzIEdvb2dsZQorICAg
ICMgZ2ZsYWdzIGluIGFkZGl0aW9uIHRvIGNvbW1vbiAtLWNvbW1hbmQtbGluZS1mbGFnIHN0eWxl
IGZsYWdzLgorICAgIHBhcnNlci5hZGRfb3B0aW9uKCctcycsCisgICAgICAgICAgICAgICAgICAg
ICAgJy0tc2VydmVyLWhvc3QnLAorICAgICAgICAgICAgICAgICAgICAgICctLXNlcnZlcl9ob3N0
JywKKyAgICAgICAgICAgICAgICAgICAgICBkZXN0PSdzZXJ2ZXJfaG9zdCcsCisgICAgICAgICAg
ICAgICAgICAgICAgdHlwZT0nc3RyaW5nJywKKyAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0
PSdsb2NhbGhvc3QnLAorICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J3NlcnZlciBob3N0JykK
KyAgICBwYXJzZXIuYWRkX29wdGlvbignLXAnLAorICAgICAgICAgICAgICAgICAgICAgICctLXNl
cnZlci1wb3J0JywKKyAgICAgICAgICAgICAgICAgICAgICAnLS1zZXJ2ZXJfcG9ydCcsCisgICAg
ICAgICAgICAgICAgICAgICAgZGVzdD0nc2VydmVyX3BvcnQnLAorICAgICAgICAgICAgICAgICAg
ICAgIHR5cGU9J2ludCcsCisgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdD1fVU5ERUZJTkVE
X1BPUlQsCisgICAgICAgICAgICAgICAgICAgICAgaGVscD0nc2VydmVyIHBvcnQnKQorICAgIHBh
cnNlci5hZGRfb3B0aW9uKCctbycsCisgICAgICAgICAgICAgICAgICAgICAgJy0tb3JpZ2luJywK
KyAgICAgICAgICAgICAgICAgICAgICBkZXN0PSdvcmlnaW4nLAorICAgICAgICAgICAgICAgICAg
ICAgIHR5cGU9J3N0cmluZycsCisgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdD1Ob25lLAor
ICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J29yaWdpbicpCisgICAgcGFyc2VyLmFkZF9vcHRp
b24oJy1yJywKKyAgICAgICAgICAgICAgICAgICAgICAnLS1yZXNvdXJjZScsCisgICAgICAgICAg
ICAgICAgICAgICAgZGVzdD0ncmVzb3VyY2UnLAorICAgICAgICAgICAgICAgICAgICAgIHR5cGU9
J3N0cmluZycsCisgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdD0nL2VjaG8nLAorICAgICAg
ICAgICAgICAgICAgICAgIGhlbHA9J3Jlc291cmNlIHBhdGgnKQorICAgIHBhcnNlci5hZGRfb3B0
aW9uKCctbScsCisgICAgICAgICAgICAgICAgICAgICAgJy0tbWVzc2FnZScsCisgICAgICAgICAg
ICAgICAgICAgICAgZGVzdD0nbWVzc2FnZScsCisgICAgICAgICAgICAgICAgICAgICAgdHlwZT0n
c3RyaW5nJywKKyAgICAgICAgICAgICAgICAgICAgICBoZWxwPSgnY29tbWEtc2VwYXJhdGVkIG1l
c3NhZ2VzIHRvIHNlbmQuICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJXMgd2lsbCBm
b3JjZSBjbG9zZSB0aGUgY29ubmVjdGlvbiBmcm9tIHNlcnZlci4nICUKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBfR09PREJZRV9NRVNTQUdFKSkKKyAgICBwYXJzZXIuYWRkX29wdGlvbign
LXEnLAorICAgICAgICAgICAgICAgICAgICAgICctLXF1aWV0JywKKyAgICAgICAgICAgICAgICAg
ICAgICBkZXN0PSd2ZXJib3NlJywKKyAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249J3N0b3Jl
X2ZhbHNlJywKKyAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0PVRydWUsCisgICAgICAgICAg
ICAgICAgICAgICAgaGVscD0nc3VwcHJlc3MgbWVzc2FnZXMnKQorICAgIHBhcnNlci5hZGRfb3B0
aW9uKCctdCcsCisgICAgICAgICAgICAgICAgICAgICAgJy0tdGxzJywKKyAgICAgICAgICAgICAg
ICAgICAgICBkZXN0PSd1c2VfdGxzJywKKyAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249J3N0
b3JlX3RydWUnLAorICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ9RmFsc2UsCisgICAgICAg
ICAgICAgICAgICAgICAgaGVscD0ndXNlIFRMUyAod3NzOi8vKS4nKQorICAgIHBhcnNlci5hZGRf
b3B0aW9uKCctaycsCisgICAgICAgICAgICAgICAgICAgICAgJy0tc29ja2V0LXRpbWVvdXQnLAor
ICAgICAgICAgICAgICAgICAgICAgICctLXNvY2tldF90aW1lb3V0JywKKyAgICAgICAgICAgICAg
ICAgICAgICBkZXN0PSdzb2NrZXRfdGltZW91dCcsCisgICAgICAgICAgICAgICAgICAgICAgdHlw
ZT0naW50JywKKyAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0PV9USU1FT1VUX1NFQywKKyAg
ICAgICAgICAgICAgICAgICAgICBoZWxwPSdUaW1lb3V0KHNlYykgZm9yIHNvY2tldHMnKQorICAg
IHBhcnNlci5hZGRfb3B0aW9uKCctLXVzZS1wZXJtZXNzYWdlLWRlZmxhdGUnLAorICAgICAgICAg
ICAgICAgICAgICAgICctLXVzZV9wZXJtZXNzYWdlX2RlZmxhdGUnLAorICAgICAgICAgICAgICAg
ICAgICAgIGRlc3Q9J3VzZV9wZXJtZXNzYWdlX2RlZmxhdGUnLAorICAgICAgICAgICAgICAgICAg
ICAgIGFjdGlvbj0nc3RvcmVfdHJ1ZScsCisgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdD1G
YWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdVc2UgdGhlIHBlcm1lc3NhZ2UtZGVm
bGF0ZSBleHRlbnNpb24uJykKKyAgICBwYXJzZXIuYWRkX29wdGlvbignLS1sb2ctbGV2ZWwnLAor
ICAgICAgICAgICAgICAgICAgICAgICctLWxvZ19sZXZlbCcsCisgICAgICAgICAgICAgICAgICAg
ICAgdHlwZT0nY2hvaWNlJywKKyAgICAgICAgICAgICAgICAgICAgICBkZXN0PSdsb2dfbGV2ZWwn
LAorICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ9J3dhcm4nLAorICAgICAgICAgICAgICAg
ICAgICAgIGNob2ljZXM9WydkZWJ1ZycsICdpbmZvJywgJ3dhcm4nLCAnZXJyb3InLCAnY3JpdGlj
YWwnXSwKKyAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdMb2cgbGV2ZWwuJykKKworICAgIChv
cHRpb25zLCB1bnVzZWRfYXJncykgPSBwYXJzZXIucGFyc2VfYXJncygpCisKKyAgICBsb2dnaW5n
LmJhc2ljQ29uZmlnKGxldmVsPWxvZ2dpbmcuZ2V0TGV2ZWxOYW1lKG9wdGlvbnMubG9nX2xldmVs
LnVwcGVyKCkpKQorCisgICAgIyBEZWZhdWx0IHBvcnQgbnVtYmVyIGRlcGVuZHMgb24gd2hldGhl
ciBUTFMgaXMgdXNlZC4KKyAgICBpZiBvcHRpb25zLnNlcnZlcl9wb3J0ID09IF9VTkRFRklORURf
UE9SVDoKKyAgICAgICAgaWYgb3B0aW9ucy51c2VfdGxzOgorICAgICAgICAgICAgb3B0aW9ucy5z
ZXJ2ZXJfcG9ydCA9IGNvbW1vbi5ERUZBVUxUX1dFQl9TT0NLRVRfU0VDVVJFX1BPUlQKKyAgICAg
ICAgZWxzZToKKyAgICAgICAgICAgIG9wdGlvbnMuc2VydmVyX3BvcnQgPSBjb21tb24uREVGQVVM
VF9XRUJfU09DS0VUX1BPUlQKKworICAgICMgb3B0cGFyc2UgZG9lc24ndCBzZWVtIHRvIGhhbmRs
ZSBub24tYXNjaWkgZGVmYXVsdCB2YWx1ZXMuCisgICAgIyBTZXQgZGVmYXVsdCBtZXNzYWdlIGhl
cmUuCisgICAgaWYgbm90IG9wdGlvbnMubWVzc2FnZToKKyAgICAgICAgb3B0aW9ucy5tZXNzYWdl
ID0gdSdIZWxsbyxcdTY1ZTVcdTY3MmMnICAjICJKYXBhbiIgaW4gSmFwYW5lc2UKKworICAgIEVj
aG9DbGllbnQob3B0aW9ucykucnVuKCkKKworCitpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgor
ICAgIG1haW4oKQorCisjIHZpOnN0cz00IHN3PTQgZXQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJz
b2NrZXQzL2V4YW1wbGUvZWNob19ub2V4dF93c2gucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My9leGFt
cGxlL2VjaG9fbm9leHRfd3NoLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmViYTUwMzIyMThkMjY5OTU4YmY3NTFi
ZjYwOGJiYjUyNTU2YzZmNzYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My9l
eGFtcGxlL2VjaG9fbm9leHRfd3NoLnB5CkBAIC0wLDAgKzEsNjIgQEAKKyMgQ29weXJpZ2h0IDIw
MTMsIEdvb2dsZSBJbmMuCisjIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
IyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCisjIG1ldDoKKyMKKyMgICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
CisjIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIKKyMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorIyBkaXN0cmlidXRpb24uCisjICAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20KKyMgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyMg
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQKKyMgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisjIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisj
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQorIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorCitpbXBvcnQgc2l4CisKK19HT09EQllFX01FU1NBR0UgPSB1J0dvb2RieWUnCisKKworZGVm
IHdlYl9zb2NrZXRfZG9fZXh0cmFfaGFuZHNoYWtlKHJlcXVlc3QpOgorICAgICIiIlJlY2VpdmVk
IFNlYy1XZWJTb2NrZXQtRXh0ZW5zaW9ucyBoZWFkZXIgdmFsdWUgaXMgcGFyc2VkIGludG8KKyAg
ICByZXF1ZXN0LndzX3JlcXVlc3RlZF9leHRlbnNpb25zLiBweXdlYnNvY2tldCBjcmVhdGVzIGV4
dGVuc2lvbgorICAgIHByb2Nlc3NvcnMgdXNpbmcgaXQgYmVmb3JlIGRvX2V4dHJhX2hhbmRzaGFr
ZSBjYWxsIGFuZCBuZXZlciBsb29rcyBhdCBpdAorICAgIGFmdGVyIHRoZSBjYWxsLgorCisgICAg
VG8gcmVqZWN0IHJlcXVlc3RlZCBleHRlbnNpb25zLCBjbGVhciB0aGUgcHJvY2Vzc29yIGxpc3Qu
CisgICAgIiIiCisKKyAgICByZXF1ZXN0LndzX2V4dGVuc2lvbl9wcm9jZXNzb3JzID0gW10KKwor
CitkZWYgd2ViX3NvY2tldF90cmFuc2Zlcl9kYXRhKHJlcXVlc3QpOgorICAgICIiIkVjaG8uIFNh
bWUgYXMgZWNob193c2gucHkuIiIiCisKKyAgICB3aGlsZSBUcnVlOgorICAgICAgICBsaW5lID0g
cmVxdWVzdC53c19zdHJlYW0ucmVjZWl2ZV9tZXNzYWdlKCkKKyAgICAgICAgaWYgbGluZSBpcyBO
b25lOgorICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIGlmIGlzaW5zdGFuY2UobGluZSwgc2l4
LnRleHRfdHlwZSk6CisgICAgICAgICAgICByZXF1ZXN0LndzX3N0cmVhbS5zZW5kX21lc3NhZ2Uo
bGluZSwgYmluYXJ5PUZhbHNlKQorICAgICAgICAgICAgaWYgbGluZSA9PSBfR09PREJZRV9NRVNT
QUdFOgorICAgICAgICAgICAgICAgIHJldHVybgorICAgICAgICBlbHNlOgorICAgICAgICAgICAg
cmVxdWVzdC53c19zdHJlYW0uc2VuZF9tZXNzYWdlKGxpbmUsIGJpbmFyeT1UcnVlKQorCisKKyMg
dmk6c3RzPTQgc3c9NCBldApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvZXhhbXBsZS9l
Y2hvX3dzaC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL2V4YW1wbGUvZWNob193c2gucHkKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjdiM2M2YzUzMTFiYmI5OWYzMzRmMzM1N2Q4MDFhMmY0MjA1NjAwOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL2V4YW1wbGUvZWNob193c2gucHkKQEAgLTAsMCAr
MSw1NSBAQAorIyBDb3B5cmlnaHQgMjAxMSwgR29vZ2xlIEluYy4KKyMgQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyMgbWV0OgorIworIyAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorIyBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisjIGRpc3Ry
aWJ1dGlvbi4KKyMgICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhl
IG5hbWVzIG9mIGl0cworIyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisjICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisjIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgorIyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorIyBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyMgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorIyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKK2ltcG9ydCBzaXgKKworX0dPT0RCWUVfTUVTU0FH
RSA9IHUnR29vZGJ5ZScKKworCitkZWYgd2ViX3NvY2tldF9kb19leHRyYV9oYW5kc2hha2UocmVx
dWVzdCk6CisgICAgIyBUaGlzIGV4YW1wbGUgaGFuZGxlciBhY2NlcHRzIGFueSByZXF1ZXN0LiBT
ZWUgb3JpZ2luX2NoZWNrX3dzaC5weSBmb3IgaG93CisgICAgIyB0byByZWplY3QgYWNjZXNzIGZy
b20gdW50cnVzdGVkIHNjcmlwdHMgYmFzZWQgb24gb3JpZ2luIHZhbHVlLgorCisgICAgcGFzcyAg
IyBBbHdheXMgYWNjZXB0LgorCisKK2RlZiB3ZWJfc29ja2V0X3RyYW5zZmVyX2RhdGEocmVxdWVz
dCk6CisgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgbGluZSA9IHJlcXVlc3Qud3Nfc3RyZWFtLnJl
Y2VpdmVfbWVzc2FnZSgpCisgICAgICAgIGlmIGxpbmUgaXMgTm9uZToKKyAgICAgICAgICAgIHJl
dHVybgorICAgICAgICBpZiBpc2luc3RhbmNlKGxpbmUsIHNpeC50ZXh0X3R5cGUpOgorICAgICAg
ICAgICAgcmVxdWVzdC53c19zdHJlYW0uc2VuZF9tZXNzYWdlKGxpbmUsIGJpbmFyeT1GYWxzZSkK
KyAgICAgICAgICAgIGlmIGxpbmUgPT0gX0dPT0RCWUVfTUVTU0FHRToKKyAgICAgICAgICAgICAg
ICByZXR1cm4KKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJlcXVlc3Qud3Nfc3RyZWFtLnNl
bmRfbWVzc2FnZShsaW5lLCBiaW5hcnk9VHJ1ZSkKKworCisjIHZpOnN0cz00IHN3PTQgZXQKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL2V4YW1wbGUvaGFuZGxlcl9tYXAudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0
eS9weXdlYnNvY2tldDMvZXhhbXBsZS9oYW5kbGVyX21hcC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjFjNGMw
OWFhMDA5MWQ4YmFmMjkwODk1OTkwNTg2Nzg0MmFlYjg2NQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFy
dHkvcHl3ZWJzb2NrZXQzL2V4YW1wbGUvaGFuZGxlcl9tYXAudHh0CkBAIC0wLDAgKzEsMTEgQEAK
KyMgd2Vic29ja2V0IGhhbmRsZXIgbWFwIGZpbGUsIHVzZWQgYnkgc3RhbmRhbG9uZS5weSAtbSBv
cHRpb24uCisjIEEgbGluZSBzdGFydGluZyB3aXRoICcjJyBpcyBhIGNvbW1lbnQgbGluZS4KKyMg
RWFjaCBsaW5lIGNvbnNpc3RzIG9mICdhbGlhc19yZXNvdXJjZV9wYXRoJyBhbmQgJ2V4aXN0aW5n
X3Jlc291cmNlX3BhdGgnCisjIHNlcGFyYXRlZCBieSBzcGFjZXMuCisjIEFsaWFzaW5nIGlzIHBy
b2Nlc3NlZCBmcm9tIHRoZSB0b3AgdG8gdGhlIGJvdHRvbSBvZiB0aGUgbGluZSwgYW5kCisjICdl
eGlzdGluZ19yZXNvdXJjZV9wYXRoJyBtdXN0IGV4aXN0IGJlZm9yZSBpdCBpcyBhbGlhc2VkLgor
IyBGb3IgZXhhbXBsZSwKKyMgIC8gL2VjaG8KKyMgbWVhbnMgdGhhdCBhIHJlcXVlc3QgdG8gJy8n
IHdpbGwgYmUgaGFuZGxlZCBieSBoYW5kbGVycyBmb3IgJy9lY2hvJy4KKy8gL2VjaG8KKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvZXhhbXBsZS9oc3RzX3dzaC5weSBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3
ZWJzb2NrZXQzL2V4YW1wbGUvaHN0c193c2gucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTg2MTk0NjkyMWFmMDQ1
OTRkNjIwMjZiNDZmMDc3NThkZGZlNDAyYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJz
b2NrZXQzL2V4YW1wbGUvaHN0c193c2gucHkKQEAgLTAsMCArMSw0MCBAQAorIyBDb3B5cmlnaHQg
MjAxMywgR29vZ2xlIEluYy4KKyMgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUKKyMgbWV0OgorIworIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKKyMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisjIGRpc3RyaWJ1dGlvbi4KKyMgICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworIyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbQorIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisjICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgor
IyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVAorIyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyMgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwK
KyMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisKKworZGVmIHdlYl9zb2NrZXRfZG9fZXh0cmFfaGFuZHNoYWtlKHJlcXVlc3QpOgorICAg
IHJlcXVlc3QuZXh0cmFfaGVhZGVycy5hcHBlbmQoCisgICAgICAgICgnU3RyaWN0LVRyYW5zcG9y
dC1TZWN1cml0eScsICdtYXgtYWdlPTg2NDAwJykpCisKKworZGVmIHdlYl9zb2NrZXRfdHJhbnNm
ZXJfZGF0YShyZXF1ZXN0KToKKyAgICByZXF1ZXN0LndzX3N0cmVhbS5zZW5kX21lc3NhZ2UoJ0hl
bGxvJywgYmluYXJ5PUZhbHNlKQorCisKKyMgdmk6c3RzPTQgc3c9NCBldApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9w
YXJ0eS9weXdlYnNvY2tldDMvZXhhbXBsZS9pbnRlcm5hbF9lcnJvcl93c2gucHkgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5
d2Vic29ja2V0My9leGFtcGxlL2ludGVybmFsX2Vycm9yX3dzaC5weQpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNGFh
Njg0MjgzYTYwM2Y1YjMzZGRhNTI2MzAxOTk5YjQ0NzkyZGRmCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9w
YXJ0eS9weXdlYnNvY2tldDMvZXhhbXBsZS9pbnRlcm5hbF9lcnJvcl93c2gucHkKQEAgLTAsMCAr
MSw0MiBAQAorIyBDb3B5cmlnaHQgMjAxMiwgR29vZ2xlIEluYy4KKyMgQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyMgbWV0OgorIworIyAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorIyBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisjIGRpc3Ry
aWJ1dGlvbi4KKyMgICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhl
IG5hbWVzIG9mIGl0cworIyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisjICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisjIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgorIyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorIyBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyMgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorIyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1
dGVfaW1wb3J0Citmcm9tIG1vZF9weXdlYnNvY2tldCBpbXBvcnQgbXNndXRpbAorCisKK2RlZiB3
ZWJfc29ja2V0X2RvX2V4dHJhX2hhbmRzaGFrZShyZXF1ZXN0KToKKyAgICBwYXNzCisKKworZGVm
IHdlYl9zb2NrZXRfdHJhbnNmZXJfZGF0YShyZXF1ZXN0KToKKyAgICByYWlzZSBtc2d1dGlsLkJh
ZE9wZXJhdGlvbkV4Y2VwdGlvbignSW50ZW50aW9uYWwnKQorCisKKyMgdmk6c3RzPTQgc3c9NCBl
dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvZXhhbXBsZS9vcmlnaW5fY2hlY2tfd3No
LnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90
aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvZXhhbXBsZS9vcmlnaW5fY2hlY2tfd3NoLnB5Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmUwNTc2N2FiOTMyZmI1ODI4MjRhYWYxYTU3ZDkyNDljMzA0YmQ1MWUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My9leGFtcGxlL29yaWdpbl9jaGVja193c2gucHkK
QEAgLTAsMCArMSw0NCBAQAorIyBDb3B5cmlnaHQgMjAxMSwgR29vZ2xlIEluYy4KKyMgQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyMgbWV0Ogor
IworIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorIyBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyMgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorIyBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
CisjIGRpc3RyaWJ1dGlvbi4KKyMgICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cworIyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorIyB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorIworIyBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
CisjICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorIyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorIyBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwKKyMgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisjIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKyMgVGhpcyBleGFtcGxlIGlzIGRl
cml2ZWQgZnJvbSB0ZXN0L3Rlc3RkYXRhL2hhbmRsZXJzL29yaWdpbl9jaGVja193c2gucHkuCisK
KworZGVmIHdlYl9zb2NrZXRfZG9fZXh0cmFfaGFuZHNoYWtlKHJlcXVlc3QpOgorICAgIGlmIHJl
cXVlc3Qud3Nfb3JpZ2luID09ICdodHRwOi8vZXhhbXBsZS5jb20nOgorICAgICAgICByZXR1cm4K
KyAgICByYWlzZSBWYWx1ZUVycm9yKCdVbmFjY2VwdGFibGUgb3JpZ2luOiAlcicgJSByZXF1ZXN0
LndzX29yaWdpbikKKworCitkZWYgd2ViX3NvY2tldF90cmFuc2Zlcl9kYXRhKHJlcXVlc3QpOgor
ICAgIHJlcXVlc3QuY29ubmVjdGlvbi53cml0ZSgnb3JpZ2luX2NoZWNrX3dzaC5weSBpcyBjYWxs
ZWQgZm9yICVzLCAlcycgJQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVxdWVzdC53
c19yZXNvdXJjZSwgcmVxdWVzdC53c19wcm90b2NvbCkpCisKKworIyB2aTpzdHM9NCBzdz00IGV0
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My9leGFtcGxlL3BlcmZvcm1hbmNlX3Rlc3Rf
aWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My9leGFtcGxlL3BlcmZvcm1hbmNlX3Rlc3Rf
aWZyYW1lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzE4YjJjMDhmNmEyMjU0YTFmOWQ3NjUwNzkwMmMxYTZi
NWFlZTg4YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL2V4YW1wbGUvcGVy
Zm9ybWFuY2VfdGVzdF9pZnJhbWUuaHRtbApAQCAtMCwwICsxLDM3IEBACis8IS0tCitDb3B5cmln
aHQgMjAyMCwgR29vZ2xlIEluYy4KK0FsbCByaWdodHMgcmVzZXJ2ZWQuCisKK1JlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZQorbWV0OgorCisgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lcgoraW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZQorZGlzdHJpYnV0aW9uLgorICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29n
bGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KK3RoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisKK1RISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMK
KyJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UCitMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IKK0EgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCitPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKK1NQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKK0xJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAorREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCitUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
K09GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSJ1dGlsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJwZXJmb3JtYW5jZV90ZXN0X2lmcmFt
ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iYmVuY2htYXJrLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL2V4YW1wbGUvcGVyZm9ybWFuY2Vf
dGVzdF9pZnJhbWUuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My9leGFtcGxlL3BlcmZvcm1hbmNlX3Rl
c3RfaWZyYW1lLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI3MDQwOWFhNmViNWZkMWExMWFlMmQ1YmExNTZiYjhh
YWMyZmNhYWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My9leGFtcGxlL3Bl
cmZvcm1hbmNlX3Rlc3RfaWZyYW1lLmpzCkBAIC0wLDAgKzEsODYgQEAKKy8vIENvcHlyaWdodCAy
MDIwLCBHb29nbGUgSW5jLgorLy8gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vCisvLyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKy8vIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKy8vIG1ldDoKKy8vCisvLyAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorLy8gbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorLy8gICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorLy8gY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorLy8gaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorLy8gZGlzdHJpYnV0aW9uLgor
Ly8gICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cworLy8gY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKy8vIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLworLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworLy8gIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
Ky8vIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorLy8gQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKy8vIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorLy8gU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisvLyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKy8vIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKy8v
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorLy8gT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworZnVuY3Rpb24gcGVyZlRlc3RBZGRUb0xv
Zyh0ZXh0KSB7CisgIHBhcmVudC5wb3N0TWVzc2FnZSh7J2NvbW1hbmQnOiAnbG9nJywgJ3ZhbHVl
JzogdGV4dH0sICcqJyk7Cit9CisKK2Z1bmN0aW9uIHBlcmZUZXN0QWRkVG9TdW1tYXJ5KHRleHQp
IHsKK30KKworZnVuY3Rpb24gcGVyZlRlc3RNZWFzdXJlVmFsdWUodmFsdWUpIHsKKyAgcGFyZW50
LnBvc3RNZXNzYWdlKHsnY29tbWFuZCc6ICdtZWFzdXJlVmFsdWUnLCAndmFsdWUnOiB2YWx1ZX0s
ICcqJyk7Cit9CisKK2Z1bmN0aW9uIHBlcmZUZXN0Tm90aWZ5QWJvcnQoKSB7CisgIHBhcmVudC5w
b3N0TWVzc2FnZSh7J2NvbW1hbmQnOiAnbm90aWZ5QWJvcnQnfSwgJyonKTsKK30KKworZnVuY3Rp
b24gZ2V0Q29uZmlnRm9yUGVyZm9ybWFuY2VUZXN0KGRhdGFUeXBlLCBhc3luYywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJpZnlEYXRhLCBudW1JdGVyYXRpb25zLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bVdhcm1VcEl0ZXJhdGlvbnMp
IHsKKworICByZXR1cm4geworICAgIHByZWZpeFVybDogJ3dzOi8vJyArIGxvY2F0aW9uLmhvc3Qg
KyAnL2JlbmNobWFya19oZWxwZXInLAorICAgIHByaW50U2l6ZTogdHJ1ZSwKKyAgICBudW1Tb2Nr
ZXRzOiAxLAorICAgIC8vICsgMSBpcyBmb3IgYSB3YXJtdXAgaXRlcmF0aW9uIGJ5IHRoZSBUZWxl
bWV0cnkgZnJhbWV3b3JrLgorICAgIG51bUl0ZXJhdGlvbnM6IG51bUl0ZXJhdGlvbnMgKyBudW1X
YXJtVXBJdGVyYXRpb25zICsgMSwKKyAgICBudW1XYXJtVXBJdGVyYXRpb25zOiBudW1XYXJtVXBJ
dGVyYXRpb25zLAorICAgIG1pblRvdGFsOiAxMDI0MDAwMCwKKyAgICBzdGFydFNpemU6IDEwMjQw
MDAwLAorICAgIHN0b3BUaHJlc2hvbGQ6IDEwMjQwMDAwLAorICAgIG11bHRpcGxpZXJzOiBbMl0s
CisgICAgdmVyaWZ5RGF0YTogdmVyaWZ5RGF0YSwKKyAgICBkYXRhVHlwZTogZGF0YVR5cGUsCisg
ICAgYXN5bmM6IGFzeW5jLAorICAgIGFkZFRvTG9nOiBwZXJmVGVzdEFkZFRvTG9nLAorICAgIGFk
ZFRvU3VtbWFyeTogcGVyZlRlc3RBZGRUb1N1bW1hcnksCisgICAgbWVhc3VyZVZhbHVlOiBwZXJm
VGVzdE1lYXN1cmVWYWx1ZSwKKyAgICBub3RpZnlBYm9ydDogcGVyZlRlc3ROb3RpZnlBYm9ydAor
ICB9OworfQorCit2YXIgZGF0YTsKK29ubWVzc2FnZSA9IGZ1bmN0aW9uKG1lc3NhZ2UpIHsKKyAg
dmFyIGFjdGlvbjsKKyAgaWYgKG1lc3NhZ2UuZGF0YS5jb21tYW5kID09PSAnc3RhcnQnKSB7Cisg
ICAgZGF0YSA9IG1lc3NhZ2UuZGF0YTsKKyAgICBpbml0V29ya2VyKCdodHRwOi8vJyArIGxvY2F0
aW9uLmhvc3QpOworICAgIGFjdGlvbiA9IGRhdGEuYmVuY2htYXJrTmFtZTsKKyAgfSBlbHNlIHsK
KyAgICBhY3Rpb24gPSAnc3RvcCc7CisgIH0KKworICB2YXIgY29uZmlnID0gZ2V0Q29uZmlnRm9y
UGVyZm9ybWFuY2VUZXN0KGRhdGEuZGF0YVR5cGUsIGRhdGEuYXN5bmMsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS52ZXJpZnlEYXRhLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEubnVtSXRlcmF0aW9ucywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLm51bVdhcm1VcEl0
ZXJhdGlvbnMpOworICBkb0FjdGlvbihjb25maWcsIGRhdGEuaXNXb3JrZXIsIGFjdGlvbik7Cit9
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvZXhhbXBsZS9zcGVjaWFsX2hlYWRlcnMu
Y2dpIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90
aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvZXhhbXBsZS9zcGVjaWFsX2hlYWRlcnMuY2dpCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjcwM2NiNzQwMWI3ODdhYzZlMTFjNjc0NmM2ODQyZTU3ZDM4MDk1NmMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My9leGFtcGxlL3NwZWNpYWxfaGVhZGVycy5jZ2kK
QEAgLTAsMCArMSwyNiBAQAorIyEvdXNyL2Jpbi9weXRob24KKworIyBDb3B5cmlnaHQgMjAxNCBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBVc2Ugb2YgdGhpcyBzb3VyY2Ug
Y29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZQorIyBsaWNlbnNlIHRoYXQgY2FuIGJlIGZv
dW5kIGluIHRoZSBDT1BZSU5HIGZpbGUgb3IgYXQKKyMgaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2ds
ZS5jb20vb3Blbi1zb3VyY2UvbGljZW5zZXMvYnNkCisiIiJDR0kgc2NyaXB0IHNhbXBsZSBmb3Ig
dGVzdGluZyBlZmZlY3Qgb2YgSFRUUCBoZWFkZXJzIG9uIHRoZSBvcmlnaW4gcGFnZS4KKworTm90
ZSB0aGF0IENHSSBzY3JpcHRzIGRvbid0IHdvcmsgb24gdGhlIHN0YW5kYWxvbmUgcHl3ZWJzb2Nr
ZXQgcnVubmluZyBpbiBUTFMKK21vZGUuCisiIiIKKworcHJpbnQgIiIiQ29udGVudC10eXBlOiB0
ZXh0L2h0bWwKK0NvbnRlbnQtU2VjdXJpdHktUG9saWN5OiBjb25uZWN0LXNyYyBzZWxmCisKKzxo
dG1sPgorPGhlYWQ+Cis8dGl0bGU+PC90aXRsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4K
K3ZhciBzb2NrZXQgPSBuZXcgV2ViU29ja2V0KCJ3czovL2V4YW1wbGUuY29tIik7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4iIiIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL2V4
YW1wbGUvdXRpbC5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL2V4YW1wbGUvdXRpbC5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi45OTAxNjBjYjQwYzRjNzgwMGNkOWU3NjMwMDE0MGI5YmZlOWYxNGQwCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvZXhhbXBsZS91dGlsLmpzCkBAIC0wLDAgKzEsMzIz
IEBACisvLyBDb3B5cmlnaHQgMjAxMywgR29vZ2xlIEluYy4KKy8vIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisvLworLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisvLyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisvLyBtZXQ6CisvLworLy8g
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKy8vIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKy8vICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKy8vIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKy8vIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUK
Ky8vIGRpc3RyaWJ1dGlvbi4KKy8vICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIElu
Yy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKy8vIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisvLyB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLy8KKy8vIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMKKy8vICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UCisvLyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKy8vIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisvLyBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwKKy8vIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKy8vIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorLy8gREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
CisvLyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisvLyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKy8vIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKworLy8g
VXRpbGl0aWVzIGZvciBleGFtcGxlIGFwcGxpY2F0aW9ucyAoZm9yIGJvdGggbWFpbiBhbmQgd29y
a2VyIHRocmVhZCkuCisKK3ZhciByZXN1bHRzID0ge307CisKK2Z1bmN0aW9uIGdldFRpbWVTdGFt
cCgpIHsKKyAgcmV0dXJuIERhdGUubm93KCk7Cit9CisKK2Z1bmN0aW9uIGZvcm1hdFJlc3VsdElu
S2lCKHNpemUsIHRpbWVQZXJNZXNzYWdlSW5Ncywgc3RkZGV2VGltZVBlck1lc3NhZ2VJbk1zLAor
ICAgIHNwZWVkLCBwcmludFNpemUpIHsKKyAgaWYgKHByaW50U2l6ZSkgeworICAgIHJldHVybiAo
c2l6ZSAvIDEwMjQpICsKKyAgICAgICAgJ1x0JyArIHRpbWVQZXJNZXNzYWdlSW5Ncy50b0ZpeGVk
KDMpICsKKyAgICAgICAgKHN0ZGRldlRpbWVQZXJNZXNzYWdlSW5NcyA9PSAtMSA/CisgICAgICAg
ICAgICAnJyA6CisgICAgICAgICAgICAnXHQnICsgc3RkZGV2VGltZVBlck1lc3NhZ2VJbk1zLnRv
Rml4ZWQoMykpICsKKyAgICAgICAgJ1x0JyArIHNwZWVkLnRvRml4ZWQoMyk7CisgIH0gZWxzZSB7
CisgICAgcmV0dXJuIHNwZWVkLnRvU3RyaW5nKCk7CisgIH0KK30KKworZnVuY3Rpb24gY2xlYXJB
dmVyYWdlRGF0YSgpIHsKKyAgcmVzdWx0cyA9IHt9OworfQorCitmdW5jdGlvbiByZXBvcnRBdmVy
YWdlRGF0YShjb25maWcpIHsKKyAgY29uZmlnLmFkZFRvU3VtbWFyeSgKKyAgICAgICdTaXplW0tp
Ql1cdEF2ZXJhZ2UgdGltZVttc11cdFN0ZGRldiB0aW1lW21zXVx0U3BlZWRbS0Ivc10nKTsKKyAg
Zm9yICh2YXIgc2l6ZSBpbiByZXN1bHRzKSB7CisgICAgdmFyIGF2ZXJhZ2VUaW1lUGVyTWVzc2Fn
ZUluTXMgPSByZXN1bHRzW3NpemVdLnN1bV90IC8gcmVzdWx0c1tzaXplXS5uOworICAgIHZhciBz
cGVlZCA9IGNhbGN1bGF0ZVNwZWVkSW5LQihzaXplLCBhdmVyYWdlVGltZVBlck1lc3NhZ2VJbk1z
KTsKKyAgICAvLyBDYWxjdWxhdGUgc2FtcGxlIHN0YW5kYXJkIGRldmlhdGlvbgorICAgIHZhciBz
dGRkZXZUaW1lUGVyTWVzc2FnZUluTXMgPSBNYXRoLnNxcnQoCisgICAgICAgIChyZXN1bHRzW3Np
emVdLnN1bV90MiAvIHJlc3VsdHNbc2l6ZV0ubiAtCisgICAgICAgICAgICBhdmVyYWdlVGltZVBl
ck1lc3NhZ2VJbk1zICogYXZlcmFnZVRpbWVQZXJNZXNzYWdlSW5NcykgKgorICAgICAgICByZXN1
bHRzW3NpemVdLm4gLworICAgICAgICAocmVzdWx0c1tzaXplXS5uIC0gMSkpOworICAgIGNvbmZp
Zy5hZGRUb1N1bW1hcnkoZm9ybWF0UmVzdWx0SW5LaUIoCisgICAgICAgIHNpemUsIGF2ZXJhZ2VU
aW1lUGVyTWVzc2FnZUluTXMsIHN0ZGRldlRpbWVQZXJNZXNzYWdlSW5Ncywgc3BlZWQsCisgICAg
ICAgIHRydWUpKTsKKyAgfQorfQorCitmdW5jdGlvbiBjYWxjdWxhdGVTcGVlZEluS0Ioc2l6ZSwg
dGltZVNwZW50SW5NcykgeworICByZXR1cm4gTWF0aC5yb3VuZChzaXplIC8gdGltZVNwZW50SW5N
cyAqIDEwMDApIC8gMTAwMDsKK30KKworZnVuY3Rpb24gY2FsY3VsYXRlQW5kTG9nUmVzdWx0KGNv
bmZpZywgc2l6ZSwgc3RhcnRUaW1lSW5NcywgdG90YWxTaXplLAorICAgIGlzV2FybVVwKSB7Cisg
IHZhciB0aW1lU3BlbnRJbk1zID0gZ2V0VGltZVN0YW1wKCkgLSBzdGFydFRpbWVJbk1zOworICB2
YXIgc3BlZWQgPSBjYWxjdWxhdGVTcGVlZEluS0IodG90YWxTaXplLCB0aW1lU3BlbnRJbk1zKTsK
KyAgdmFyIHRpbWVQZXJNZXNzYWdlSW5NcyA9IHRpbWVTcGVudEluTXMgLyAodG90YWxTaXplIC8g
c2l6ZSk7CisgIGlmICghaXNXYXJtVXApIHsKKyAgICBjb25maWcubWVhc3VyZVZhbHVlKHRpbWVQ
ZXJNZXNzYWdlSW5Ncyk7CisgICAgaWYgKCFyZXN1bHRzW3NpemVdKSB7CisgICAgICByZXN1bHRz
W3NpemVdID0ge246IDAsIHN1bV90OiAwLCBzdW1fdDI6IDB9OworICAgIH0KKyAgICByZXN1bHRz
W3NpemVdLm4gKys7CisgICAgcmVzdWx0c1tzaXplXS5zdW1fdCArPSB0aW1lUGVyTWVzc2FnZUlu
TXM7CisgICAgcmVzdWx0c1tzaXplXS5zdW1fdDIgKz0gdGltZVBlck1lc3NhZ2VJbk1zICogdGlt
ZVBlck1lc3NhZ2VJbk1zOworICB9CisgIGNvbmZpZy5hZGRUb0xvZyhmb3JtYXRSZXN1bHRJbktp
QihzaXplLCB0aW1lUGVyTWVzc2FnZUluTXMsIC0xLCBzcGVlZCwKKyAgICAgIGNvbmZpZy5wcmlu
dFNpemUpKTsKK30KKworZnVuY3Rpb24gcmVwZWF0U3RyaW5nKHN0ciwgY291bnQpIHsKKyAgdmFy
IGRhdGEgPSAnJzsKKyAgdmFyIGV4cENodW5rID0gc3RyOworICB2YXIgcmVtYWluID0gY291bnQ7
CisgIHdoaWxlICh0cnVlKSB7CisgICAgaWYgKHJlbWFpbiAlIDIpIHsKKyAgICAgIGRhdGEgKz0g
ZXhwQ2h1bms7CisgICAgICByZW1haW4gPSAocmVtYWluIC0gMSkgLyAyOworICAgIH0gZWxzZSB7
CisgICAgICByZW1haW4gLz0gMjsKKyAgICB9CisKKyAgICBpZiAocmVtYWluID09IDApCisgICAg
ICBicmVhazsKKworICAgIGV4cENodW5rID0gZXhwQ2h1bmsgKyBleHBDaHVuazsKKyAgfQorICBy
ZXR1cm4gZGF0YTsKK30KKworZnVuY3Rpb24gZmlsbEFycmF5QnVmZmVyKGJ1ZmZlciwgYykgewor
ICB2YXIgaTsKKworICB2YXIgdTMyQ29udGVudCA9IGMgKiAweDAxMDEwMTAxOworCisgIHZhciB1
MzJCbG9ja3MgPSBNYXRoLmZsb29yKGJ1ZmZlci5ieXRlTGVuZ3RoIC8gNCk7CisgIHZhciB1MzJW
aWV3ID0gbmV3IFVpbnQzMkFycmF5KGJ1ZmZlciwgMCwgdTMyQmxvY2tzKTsKKyAgLy8gbGVuZ3Ro
IGF0dHJpYnV0ZSBpcyBzbG93IG9uIENocm9tZS4gRG9uJ3QgdXNlIGl0IGZvciBsb29wIGNvbmRp
dGlvbi4KKyAgZm9yIChpID0gMDsgaSA8IHUzMkJsb2NrczsgKytpKSB7CisgICAgdTMyVmlld1tp
XSA9IHUzMkNvbnRlbnQ7CisgIH0KKworICAvLyBGcmFjdGlvbgorICB2YXIgdThCbG9ja3MgPSBi
dWZmZXIuYnl0ZUxlbmd0aCAtIHUzMkJsb2NrcyAqIDQ7CisgIHZhciB1OFZpZXcgPSBuZXcgVWlu
dDhBcnJheShidWZmZXIsIHUzMkJsb2NrcyAqIDQsIHU4QmxvY2tzKTsKKyAgZm9yIChpID0gMDsg
aSA8IHU4QmxvY2tzOyArK2kpIHsKKyAgICB1OFZpZXdbaV0gPSBjOworICB9Cit9CisKK2Z1bmN0
aW9uIHZlcmlmeUFycmF5QnVmZmVyKGJ1ZmZlciwgZXhwZWN0ZWRDaGFyKSB7CisgIHZhciBpOwor
CisgIHZhciBleHBlY3RlZFUzMlZhbHVlID0gZXhwZWN0ZWRDaGFyICogMHgwMTAxMDEwMTsKKwor
ICB2YXIgdTMyQmxvY2tzID0gTWF0aC5mbG9vcihidWZmZXIuYnl0ZUxlbmd0aCAvIDQpOworICB2
YXIgdTMyVmlldyA9IG5ldyBVaW50MzJBcnJheShidWZmZXIsIDAsIHUzMkJsb2Nrcyk7CisgIGZv
ciAoaSA9IDA7IGkgPCB1MzJCbG9ja3M7ICsraSkgeworICAgIGlmICh1MzJWaWV3W2ldICE9IGV4
cGVjdGVkVTMyVmFsdWUpIHsKKyAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgIH0KKworICB2
YXIgdThCbG9ja3MgPSBidWZmZXIuYnl0ZUxlbmd0aCAtIHUzMkJsb2NrcyAqIDQ7CisgIHZhciB1
OFZpZXcgPSBuZXcgVWludDhBcnJheShidWZmZXIsIHUzMkJsb2NrcyAqIDQsIHU4QmxvY2tzKTsK
KyAgZm9yIChpID0gMDsgaSA8IHU4QmxvY2tzOyArK2kpIHsKKyAgICBpZiAodThWaWV3W2ldICE9
IGV4cGVjdGVkQ2hhcikgeworICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAgfQorCisgIHJl
dHVybiB0cnVlOworfQorCitmdW5jdGlvbiB2ZXJpZnlCbG9iKGNvbmZpZywgYmxvYiwgZXhwZWN0
ZWRDaGFyLCBkb25lQ2FsbGJhY2spIHsKKyAgdmFyIHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKGJs
b2IpOworICByZWFkZXIub25lcnJvciA9IGZ1bmN0aW9uKCkgeworICAgIGNvbmZpZy5hZGRUb0xv
ZygnRmlsZVJlYWRlciBFcnJvcjogJyArIHJlYWRlci5lcnJvci5tZXNzYWdlKTsKKyAgICBkb25l
Q2FsbGJhY2soYmxvYi5zaXplLCBmYWxzZSk7CisgIH0KKyAgcmVhZGVyLm9ubG9hZGVuZCA9IGZ1
bmN0aW9uKCkgeworICAgIHZhciByZXN1bHQgPSB2ZXJpZnlBcnJheUJ1ZmZlcihyZWFkZXIucmVz
dWx0LCBleHBlY3RlZENoYXIpOworICAgIGRvbmVDYWxsYmFjayhibG9iLnNpemUsIHJlc3VsdCk7
CisgIH0KKyAgcmVhZGVyLnJlYWRBc0FycmF5QnVmZmVyKGJsb2IpOworfQorCitmdW5jdGlvbiB2
ZXJpZnlBY2tub3dsZWRnZW1lbnQoY29uZmlnLCBtZXNzYWdlLCBzaXplKSB7CisgIGlmICh0eXBl
b2YgbWVzc2FnZSAhPSAnc3RyaW5nJykgeworICAgIGNvbmZpZy5hZGRUb0xvZygnSW52YWxpZCBh
Y2sgdHlwZTogJyArIHR5cGVvZiBtZXNzYWdlKTsKKyAgICByZXR1cm4gZmFsc2U7CisgIH0KKyAg
dmFyIHBhcnNlZEFjayA9IHBhcnNlSW50KG1lc3NhZ2UpOworICBpZiAoaXNOYU4ocGFyc2VkQWNr
KSkgeworICAgIGNvbmZpZy5hZGRUb0xvZygnSW52YWxpZCBhY2sgdmFsdWU6ICcgKyBtZXNzYWdl
KTsKKyAgICByZXR1cm4gZmFsc2U7CisgIH0KKyAgaWYgKHBhcnNlZEFjayAhPSBzaXplKSB7Cisg
ICAgY29uZmlnLmFkZFRvTG9nKAorICAgICAgICAnRXhwZWN0ZWQgYWNrIGZvciAnICsgc2l6ZSAr
ICdCIGJ1dCByZWNlaXZlZCBvbmUgZm9yICcgKyBwYXJzZWRBY2sgKworICAgICAgICAnQicpOwor
ICAgIHJldHVybiBmYWxzZTsKKyAgfQorCisgIHJldHVybiB0cnVlOworfQorCitmdW5jdGlvbiBj
bG9uZUNvbmZpZyhvYmopIHsKKyAgdmFyIG5ld09iaiA9IHt9OworICBmb3IgKGtleSBpbiBvYmop
IHsKKyAgICBuZXdPYmpba2V5XSA9IG9ialtrZXldOworICB9CisgIHJldHVybiBuZXdPYmo7Cit9
CisKK3ZhciB0YXNrcyA9IFtdOworCitmdW5jdGlvbiBydW5OZXh0VGFzayhjb25maWcpIHsKKyAg
dmFyIHRhc2sgPSB0YXNrcy5zaGlmdCgpOworICBpZiAodGFzayA9PSB1bmRlZmluZWQpIHsKKyAg
ICBjb25maWcuYWRkVG9Mb2coJ0ZpbmlzaGVkJyk7CisgICAgY2xlYW51cCgpOworICAgIHJldHVy
bjsKKyAgfQorICB0aW1lcklEID0gc2V0VGltZW91dCh0YXNrLCAwKTsKK30KKworZnVuY3Rpb24g
YnVpbGRMZWdlbmRTdHJpbmcoY29uZmlnKSB7CisgIHZhciBsZWdlbmQgPSAnJworICBpZiAoY29u
ZmlnLnByaW50U2l6ZSkKKyAgICBsZWdlbmQgPSAnTWVzc2FnZSBzaXplIGluIEtpQiwgVGltZS9t
ZXNzYWdlIGluIG1zLCAnOworICBsZWdlbmQgKz0gJ1NwZWVkIGluIGtCL3MnOworICByZXR1cm4g
bGVnZW5kOworfQorCitmdW5jdGlvbiBhZGRUYXNrcyhjb25maWcsIHN0ZXBGdW5jKSB7CisgIGZv
ciAodmFyIGkgPSAwOworICAgICAgaSA8IGNvbmZpZy5udW1XYXJtVXBJdGVyYXRpb25zICsgY29u
ZmlnLm51bUl0ZXJhdGlvbnM7ICsraSkgeworICAgIHZhciBtdWx0aXBsaWVySW5kZXggPSAwOwor
ICAgIGZvciAodmFyIHNpemUgPSBjb25maWcuc3RhcnRTaXplOworICAgICAgICAgc2l6ZSA8PSBj
b25maWcuc3RvcFRocmVzaG9sZDsKKyAgICAgICAgICsrbXVsdGlwbGllckluZGV4KSB7CisgICAg
ICB2YXIgdGFzayA9IHN0ZXBGdW5jLmJpbmQoCisgICAgICAgICAgbnVsbCwKKyAgICAgICAgICBz
aXplLAorICAgICAgICAgIGNvbmZpZywKKyAgICAgICAgICBpIDwgY29uZmlnLm51bVdhcm1VcEl0
ZXJhdGlvbnMpOworICAgICAgdGFza3MucHVzaCh0YXNrKTsKKyAgICAgIHZhciBtdWx0aXBsaWVy
ID0gY29uZmlnLm11bHRpcGxpZXJzWworICAgICAgICBtdWx0aXBsaWVySW5kZXggJSBjb25maWcu
bXVsdGlwbGllcnMubGVuZ3RoXTsKKyAgICAgIGlmIChtdWx0aXBsaWVyIDw9IDEpIHsKKyAgICAg
ICAgY29uZmlnLmFkZFRvTG9nKCdJbnZhbGlkIG11bHRpcGxpZXIgJyArIG11bHRpcGxpZXIpOwor
ICAgICAgICBjb25maWcubm90aWZ5QWJvcnQoKTsKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJ
bnZhbGlkIG11bHRpcGxlcicpOworICAgICAgfQorICAgICAgc2l6ZSA9IE1hdGguY2VpbChzaXpl
ICogbXVsdGlwbGllcik7CisgICAgfQorICB9Cit9CisKK2Z1bmN0aW9uIGFkZFJlc3VsdFJlcG9y
dGluZ1Rhc2soY29uZmlnLCB0aXRsZSkgeworICB0YXNrcy5wdXNoKGZ1bmN0aW9uKCl7CisgICAg
ICB0aW1lcklEID0gbnVsbDsKKyAgICAgIGNvbmZpZy5hZGRUb1N1bW1hcnkodGl0bGUpOworICAg
ICAgcmVwb3J0QXZlcmFnZURhdGEoY29uZmlnKTsKKyAgICAgIGNsZWFyQXZlcmFnZURhdGEoKTsK
KyAgICAgIHJ1bk5leHRUYXNrKGNvbmZpZyk7CisgIH0pOworfQorCitmdW5jdGlvbiBzZW5kQmVu
Y2htYXJrKGNvbmZpZykgeworICBjb25maWcuYWRkVG9Mb2coJ1NlbmQgYmVuY2htYXJrJyk7Cisg
IGNvbmZpZy5hZGRUb0xvZyhidWlsZExlZ2VuZFN0cmluZyhjb25maWcpKTsKKworICB0YXNrcyA9
IFtdOworICBjbGVhckF2ZXJhZ2VEYXRhKCk7CisgIGFkZFRhc2tzKGNvbmZpZywgc2VuZEJlbmNo
bWFya1N0ZXApOworICBhZGRSZXN1bHRSZXBvcnRpbmdUYXNrKGNvbmZpZywgJ1NlbmQgQmVuY2ht
YXJrICcgKyBnZXRDb25maWdTdHJpbmcoY29uZmlnKSk7CisgIHN0YXJ0QmVuY2htYXJrKGNvbmZp
Zyk7Cit9CisKK2Z1bmN0aW9uIHJlY2VpdmVCZW5jaG1hcmsoY29uZmlnKSB7CisgIGNvbmZpZy5h
ZGRUb0xvZygnUmVjZWl2ZSBiZW5jaG1hcmsnKTsKKyAgY29uZmlnLmFkZFRvTG9nKGJ1aWxkTGVn
ZW5kU3RyaW5nKGNvbmZpZykpOworCisgIHRhc2tzID0gW107CisgIGNsZWFyQXZlcmFnZURhdGEo
KTsKKyAgYWRkVGFza3MoY29uZmlnLCByZWNlaXZlQmVuY2htYXJrU3RlcCk7CisgIGFkZFJlc3Vs
dFJlcG9ydGluZ1Rhc2soY29uZmlnLAorICAgICAgJ1JlY2VpdmUgQmVuY2htYXJrICcgKyBnZXRD
b25maWdTdHJpbmcoY29uZmlnKSk7CisgIHN0YXJ0QmVuY2htYXJrKGNvbmZpZyk7Cit9CisKK2Z1
bmN0aW9uIHN0b3AoY29uZmlnKSB7CisgIGNsZWFyVGltZW91dCh0aW1lcklEKTsKKyAgdGltZXJJ
RCA9IG51bGw7CisgIHRhc2tzID0gW107CisgIGNvbmZpZy5hZGRUb0xvZygnU3RvcHBlZCcpOwor
ICBjbGVhbnVwKCk7Cit9CisKK3ZhciB3b3JrZXI7CisKK2Z1bmN0aW9uIGluaXRXb3JrZXIob3Jp
Z2luKSB7CisgIHdvcmtlciA9IG5ldyBXb3JrZXIob3JpZ2luICsgJy9iZW5jaG1hcmsuanMnKTsK
K30KKworZnVuY3Rpb24gZG9BY3Rpb24oY29uZmlnLCBpc1dpbmRvd1RvV29ya2VyLCBhY3Rpb24p
IHsKKyAgaWYgKGlzV2luZG93VG9Xb3JrZXIpIHsKKyAgICB3b3JrZXIub25tZXNzYWdlID0gZnVu
Y3Rpb24oYWRkVG9Mb2csIGFkZFRvU3VtbWFyeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbWVhc3VyZVZhbHVlLCBub3RpZnlBYm9ydCwgbWVzc2FnZSkgeworICAgICAgaWYgKG1l
c3NhZ2UuZGF0YS50eXBlID09PSAnYWRkVG9Mb2cnKQorICAgICAgICBhZGRUb0xvZyhtZXNzYWdl
LmRhdGEuZGF0YSk7CisgICAgICBlbHNlIGlmIChtZXNzYWdlLmRhdGEudHlwZSA9PT0gJ2FkZFRv
U3VtbWFyeScpCisgICAgICAgIGFkZFRvU3VtbWFyeShtZXNzYWdlLmRhdGEuZGF0YSk7CisgICAg
ICBlbHNlIGlmIChtZXNzYWdlLmRhdGEudHlwZSA9PT0gJ21lYXN1cmVWYWx1ZScpCisgICAgICAg
IG1lYXN1cmVWYWx1ZShtZXNzYWdlLmRhdGEuZGF0YSk7CisgICAgICBlbHNlIGlmIChtZXNzYWdl
LmRhdGEudHlwZSA9PT0gJ25vdGlmeUFib3J0JykKKyAgICAgICAgbm90aWZ5QWJvcnQoKTsKKyAg
ICB9LmJpbmQodW5kZWZpbmVkLCBjb25maWcuYWRkVG9Mb2csIGNvbmZpZy5hZGRUb1N1bW1hcnks
CisgICAgICAgICAgIGNvbmZpZy5tZWFzdXJlVmFsdWUsIGNvbmZpZy5ub3RpZnlBYm9ydCk7Cisg
ICAgY29uZmlnLmFkZFRvTG9nID0gdW5kZWZpbmVkOworICAgIGNvbmZpZy5hZGRUb1N1bW1hcnkg
PSB1bmRlZmluZWQ7CisgICAgY29uZmlnLm1lYXN1cmVWYWx1ZSA9IHVuZGVmaW5lZDsKKyAgICBj
b25maWcubm90aWZ5QWJvcnQgPSB1bmRlZmluZWQ7CisgICAgd29ya2VyLnBvc3RNZXNzYWdlKHt0
eXBlOiBhY3Rpb24sIGNvbmZpZzogY29uZmlnfSk7CisgIH0gZWxzZSB7CisgICAgaWYgKGFjdGlv
biA9PT0gJ3NlbmRCZW5jaG1hcmsnKQorICAgICAgc2VuZEJlbmNobWFyayhjb25maWcpOworICAg
IGVsc2UgaWYgKGFjdGlvbiA9PT0gJ3JlY2VpdmVCZW5jaG1hcmsnKQorICAgICAgcmVjZWl2ZUJl
bmNobWFyayhjb25maWcpOworICAgIGVsc2UgaWYgKGFjdGlvbiA9PT0gJ2JhdGNoQmVuY2htYXJr
JykKKyAgICAgIGJhdGNoQmVuY2htYXJrKGNvbmZpZyk7CisgICAgZWxzZSBpZiAoYWN0aW9uID09
PSAnc3RvcCcpCisgICAgICBzdG9wKGNvbmZpZyk7CisgIH0KK30KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkv
cHl3ZWJzb2NrZXQzL2V4YW1wbGUvdXRpbF9tYWluLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvZXhh
bXBsZS91dGlsX21haW4uanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzhhZGQ0ODczMWY4OGZlODVlZWVhNDBlNmUw
MTljZjE3Y2NjZTNjOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL2V4YW1w
bGUvdXRpbF9tYWluLmpzCkBAIC0wLDAgKzEsODkgQEAKKy8vIENvcHlyaWdodCAyMDE0LCBHb29n
bGUgSW5jLgorLy8gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vCisvLyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKy8vIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUKKy8vIG1ldDoKKy8vCisvLyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorLy8gbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorLy8gICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZQorLy8gY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lcgorLy8gaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorLy8gZGlzdHJpYnV0aW9uLgorLy8gICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworLy8g
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20KKy8vIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisvLworLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworLy8gIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKy8vIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUgorLy8gQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKy8vIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorLy8gU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorLy8g
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsCisvLyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKy8vIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKy8vIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorLy8gT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKworCisvLyBVdGlsaXRpZXMgZm9yIGV4YW1wbGUgYXBwbGlj
YXRpb25zIChmb3IgdGhlIG1haW4gdGhyZWFkIG9ubHkpLgorCit2YXIgbG9nQm94ID0gbnVsbDsK
K3ZhciBxdWV1ZWRMb2cgPSAnJzsKKwordmFyIHN1bW1hcnlCb3ggPSBudWxsOworCitmdW5jdGlv
biBxdWV1ZUxvZyhsb2cpIHsKKyAgcXVldWVkTG9nICs9IGxvZyArICdcbic7Cit9CisKK2Z1bmN0
aW9uIGFkZFRvTG9nKGxvZykgeworICBsb2dCb3gudmFsdWUgKz0gcXVldWVkTG9nOworICBxdWV1
ZWRMb2cgPSAnJzsKKyAgbG9nQm94LnZhbHVlICs9IGxvZyArICdcbic7CisgIGxvZ0JveC5zY3Jv
bGxUb3AgPSAxMDAwMDAwOworfQorCitmdW5jdGlvbiBhZGRUb1N1bW1hcnkobG9nKSB7CisgIHN1
bW1hcnlCb3gudmFsdWUgKz0gbG9nICsgJ1xuJzsKKyAgc3VtbWFyeUJveC5zY3JvbGxUb3AgPSAx
MDAwMDAwOworfQorCisvLyB2YWx1ZTogZXhlY3V0aW9uIHRpbWUgaW4gbWlsbGlzZWNvbmRzLgor
Ly8gY29uZmlnLm1lYXN1cmVWYWx1ZSBpcyBpbnRlbmRlZCB0byBiZSB1c2VkIGluIFBlcmZvcm1h
bmNlIFRlc3RzLgorLy8gRG8gbm90aGluZyBoZXJlIGluIG5vbi1QZXJmb3JtYW5jZVRlc3QuCitm
dW5jdGlvbiBtZWFzdXJlVmFsdWUodmFsdWUpIHsKK30KKworLy8gY29uZmlnLm5vdGlmeUFib3J0
IGlzIGNhbGxlZCB3aGVuIHRoZSBiZW5jaG1hcmsgZmFpbGVkIGFuZCBhYm9ydGVkLCBhbmQKKy8v
IGludGVuZGVkIHRvIGJlIHVzZWQgaW4gUGVyZm9ybWFuY2UgVGVzdHMuCisvLyBEbyBub3RoaW5n
IGhlcmUgaW4gbm9uLVBlcmZvcm1hbmNlVGVzdC4KK2Z1bmN0aW9uIG5vdGlmeUFib3J0KCkgewor
fQorCitmdW5jdGlvbiBnZXRJbnRGcm9tSW5wdXQoaWQpIHsKKyAgcmV0dXJuIHBhcnNlSW50KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKS52YWx1ZSk7Cit9CisKK2Z1bmN0aW9uIGdldFN0cmlu
Z0Zyb21SYWRpb0JveChuYW1lKSB7CisgIHZhciBsaXN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2JlbmNobWFya19mb3JtJylbbmFtZV07CisgIGZvciAodmFyIGkgPSAwOyBpIDwgbGlzdC5s
ZW5ndGg7ICsraSkKKyAgICBpZiAobGlzdC5pdGVtKGkpLmNoZWNrZWQpCisgICAgICByZXR1cm4g
bGlzdC5pdGVtKGkpLnZhbHVlOworICByZXR1cm4gdW5kZWZpbmVkOworfQorZnVuY3Rpb24gZ2V0
Qm9vbEZyb21DaGVja0JveChpZCkgeworICByZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
aWQpLmNoZWNrZWQ7Cit9CisKK2Z1bmN0aW9uIGdldEludEFycmF5RnJvbUlucHV0KGlkKSB7Cisg
IHZhciBzdHJBcnJheSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKS52YWx1ZS5zcGxpdCgn
LCcpOworICByZXR1cm4gc3RyQXJyYXkubWFwKGZ1bmN0aW9uKHN0cikgeyByZXR1cm4gcGFyc2VJ
bnQoc3RyLCAxMCk7IH0pOworfQorCitmdW5jdGlvbiBnZXRGbG9hdEFycmF5RnJvbUlucHV0KGlk
KSB7CisgIHZhciBzdHJBcnJheSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKS52YWx1ZS5z
cGxpdCgnLCcpOworICByZXR1cm4gc3RyQXJyYXkubWFwKHBhcnNlRmxvYXQpOworfQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90
aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvZXhhbXBsZS91dGlsX3dvcmtlci5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3
ZWJzb2NrZXQzL2V4YW1wbGUvdXRpbF93b3JrZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGQ5MDQ0OWE5MGE3
ZDc4MmI5NzAyM2U4ZDlkNWE3YWFlZTk0YTMyZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3
ZWJzb2NrZXQzL2V4YW1wbGUvdXRpbF93b3JrZXIuanMKQEAgLTAsMCArMSw0NCBAQAorLy8gQ29w
eXJpZ2h0IDIwMTQsIEdvb2dsZSBJbmMuCisvLyBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8KKy8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorLy8gbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorLy8gbWV0OgorLy8KKy8vICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisvLyBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisvLyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCisvLyBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisvLyBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisvLyBkaXN0cmli
dXRpb24uCisvLyAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUg
bmFtZXMgb2YgaXRzCisvLyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorLy8gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy8vCisvLyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisvLyAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAorLy8gTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisvLyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorLy8gT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
CisvLyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisvLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKy8vIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorLy8gVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorLy8gKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisvLyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisKKy8vIFV0aWxpdGllcyBm
b3IgZXhhbXBsZSBhcHBsaWNhdGlvbnMgKGZvciB0aGUgd29ya2VyIHRocmVhZHMgb25seSkuCisK
K29ubWVzc2FnZSA9IGZ1bmN0aW9uIChtZXNzYWdlKSB7CisgIHZhciBjb25maWcgPSBtZXNzYWdl
LmRhdGEuY29uZmlnOworICBjb25maWcuYWRkVG9Mb2cgPSBmdW5jdGlvbih0ZXh0KSB7CisgICAg
ICBwb3N0TWVzc2FnZSh7dHlwZTogJ2FkZFRvTG9nJywgZGF0YTogdGV4dH0pOyB9OworICBjb25m
aWcuYWRkVG9TdW1tYXJ5ID0gZnVuY3Rpb24odGV4dCkgeworICAgICAgcG9zdE1lc3NhZ2Uoe3R5
cGU6ICdhZGRUb1N1bW1hcnknLCBkYXRhOiB0ZXh0fSk7IH07CisgIGNvbmZpZy5tZWFzdXJlVmFs
dWUgPSBmdW5jdGlvbih2YWx1ZSkgeworICAgICAgcG9zdE1lc3NhZ2Uoe3R5cGU6ICdtZWFzdXJl
VmFsdWUnLCBkYXRhOiB2YWx1ZX0pOyB9OworICBjb25maWcubm90aWZ5QWJvcnQgPSBmdW5jdGlv
bigpIHsgcG9zdE1lc3NhZ2Uoe3R5cGU6ICdub3RpZnlBYm9ydCd9KTsgfTsKKworICBkb0FjdGlv
bihjb25maWcsIGZhbHNlLCBtZXNzYWdlLmRhdGEudHlwZSk7Cit9OwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0
eS9weXdlYnNvY2tldDMvZXhhbXBsZS93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQz
L2V4YW1wbGUvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmY0M2QzOGUyYWI2MmZhNzYxZTU0
MWMzZTQ3YjUxNTY0ZDkxMzFhYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQz
L2V4YW1wbGUvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwzOSBAQAorVGhlIHRlc3RzIGluIHRo
aXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBO
T1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0
ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20v
d2ViLXBsYXRmb3JtLXRlc3RzL3dwdAorCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBv
cnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJl
bW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcg
dmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3Ig
cHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9w
eXdlYnNvY2tldDMvZXhhbXBsZS9hYm9ydF9oYW5kc2hha2Vfd3NoLnB5CisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNv
Y2tldDMvZXhhbXBsZS9hYm9ydF93c2gucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My9leGFtcGxlL2Fy
cmF5YnVmZmVyX2JlbmNobWFyay5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvZXhhbXBsZS9iZW5j
aF93c2gucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My9leGFtcGxlL2JlbmNobWFyay5odG1sCisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0
eS9weXdlYnNvY2tldDMvZXhhbXBsZS9iZW5jaG1hcmsuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My9l
eGFtcGxlL2JlbmNobWFya19oZWxwZXJfd3NoLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvZXhhbXBs
ZS9jbG9zZV93c2gucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My9leGFtcGxlL2NvbnNvbGUuaHRtbAor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRf
cGFydHkvcHl3ZWJzb2NrZXQzL2V4YW1wbGUvY29va2llX3dzaC5weQorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2Nr
ZXQzL2V4YW1wbGUvZWNob19jbGllbnQucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My9leGFtcGxlL2Vj
aG9fbm9leHRfd3NoLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvZXhhbXBsZS9lY2hvX3dzaC5weQor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRf
cGFydHkvcHl3ZWJzb2NrZXQzL2V4YW1wbGUvaGFuZGxlcl9tYXAudHh0CisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNv
Y2tldDMvZXhhbXBsZS9oc3RzX3dzaC5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL2V4YW1wbGUvaW50
ZXJuYWxfZXJyb3Jfd3NoLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvZXhhbXBsZS9vcmlnaW5fY2hl
Y2tfd3NoLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvZXhhbXBsZS9wZXJmb3JtYW5jZV90ZXN0X2lm
cmFtZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvZXhhbXBsZS9wZXJmb3JtYW5jZV90ZXN0X2lm
cmFtZS5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL2V4YW1wbGUvc3BlY2lhbF9oZWFkZXJzLmNnaQor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRf
cGFydHkvcHl3ZWJzb2NrZXQzL2V4YW1wbGUvdXRpbC5qcworL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL2V4
YW1wbGUvdXRpbF9tYWluLmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvZXhhbXBsZS91dGlsX3dvcmtl
ci5qcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvbW9kX3B5d2Vic29ja2V0L19faW5p
dF9fLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvbW9kX3B5d2Vic29ja2V0L19faW5pdF9fLnB5Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjI4ZDVmNTk1MGYzNDc1MzFiOTI2MmMzMWI3N2QwYzI5ZDQyNmU1OWQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My9tb2RfcHl3ZWJzb2NrZXQvX19pbml0X18u
cHkKQEAgLTAsMCArMSwxNzIgQEAKKyMgQ29weXJpZ2h0IDIwMTEsIEdvb2dsZSBJbmMuCisjIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisjIG1l
dDoKKyMKKyMgICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisjIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyMg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZQorIyBkaXN0cmlidXRpb24uCisjICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xl
IEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyMgdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMgVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyMgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyMgT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsCisjIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisjIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorIyBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorIiIiIEEgU3RhbmRhbG9uZSBX
ZWJTb2NrZXQgU2VydmVyIGZvciB0ZXN0aW5nIHB1cnBvc2VzCisKK21vZF9weXdlYnNvY2tldCBp
cyBhbiBBUEkgdGhhdCBwcm92aWRlcyBXZWJTb2NrZXQgZnVuY3Rpb25hbGl0aWVzIHdpdGgKK2Eg
c3RhbmRhbG9uZSBXZWJTb2NrZXQgc2VydmVyLiBJdCBpcyBpbnRlbmRlZCBmb3IgdGVzdGluZyBv
cgorZXhwZXJpbWVudGFsIHB1cnBvc2VzLgorCitJbnN0YWxsYXRpb24KKz09PT09PT09PT09PQor
MS4gRm9sbG93IHN0YW5kYWxvbmUgc2VydmVyIGRvY3VtZW50YXRpb24gdG8gc3RhcnQgcnVubmlu
ZyB0aGUKK3N0YW5kYWxvbmUgc2VydmVyLiBJdCBjYW4gYmUgcmVhZCBieSBydW5uaW5nIHRoZSBm
b2xsb3dpbmcgY29tbWFuZDoKKworICAgICQgcHlkb2MgbW9kX3B5d2Vic29ja2V0LnN0YW5kYWxv
bmUKKworMi4gT25jZSB0aGUgc3RhbmRhbG9uZSBzZXJ2ZXIgaXMgbGF1bmNoZWQgdmVyaWZ5IGl0
IGJ5IGFjY2Vzc2luZworaHR0cDovL2xvY2FsaG9zdFs6cG9ydF0vY29uc29sZS5odG1sLiBJbmNs
dWRlIHRoZSBwb3J0IG51bWJlciB3aGVuCitzcGVjaWZpZWQgb24gbGF1bmNoLiBJZiBldmVyeXRo
aW5nIGlzIHdvcmtpbmcgY29ycmVjdGx5LCB5b3UKK3dpbGwgc2VlIGEgc2ltcGxlIGVjaG8gY29u
c29sZS4KKworCitXcml0aW5nIFdlYlNvY2tldCBoYW5kbGVycworPT09PT09PT09PT09PT09PT09
PT09PT09PT0KKworV2hlbiBhIFdlYlNvY2tldCByZXF1ZXN0IGNvbWVzIGluLCB0aGUgcmVzb3Vy
Y2UgbmFtZQorc3BlY2lmaWVkIGluIHRoZSBoYW5kc2hha2UgaXMgY29uc2lkZXJlZCBhcyBpZiBp
dCBpcyBhIGZpbGUgcGF0aCB1bmRlcgorPHdlYnNvY2tfaGFuZGxlcnM+IGFuZCB0aGUgaGFuZGxl
ciBkZWZpbmVkIGluCis8d2Vic29ja19oYW5kbGVycz4vPHJlc291cmNlX25hbWU+X3dzaC5weSBp
cyBpbnZva2VkLgorCitGb3IgZXhhbXBsZSwgaWYgdGhlIHJlc291cmNlIG5hbWUgaXMgL2V4YW1w
bGUvY2hhdCwgdGhlIGhhbmRsZXIgZGVmaW5lZCBpbgorPHdlYnNvY2tfaGFuZGxlcnM+L2V4YW1w
bGUvY2hhdF93c2gucHkgaXMgaW52b2tlZC4KKworQSBXZWJTb2NrZXQgaGFuZGxlciBpcyBjb21w
b3NlZCBvZiB0aGUgZm9sbG93aW5nIHRocmVlIGZ1bmN0aW9uczoKKworICAgIHdlYl9zb2NrZXRf
ZG9fZXh0cmFfaGFuZHNoYWtlKHJlcXVlc3QpCisgICAgd2ViX3NvY2tldF90cmFuc2Zlcl9kYXRh
KHJlcXVlc3QpCisgICAgd2ViX3NvY2tldF9wYXNzaXZlX2Nsb3NpbmdfaGFuZHNoYWtlKHJlcXVl
c3QpCisKK3doZXJlOgorICAgIHJlcXVlc3Q6IG1vZF9weXRob24gcmVxdWVzdC4KKword2ViX3Nv
Y2tldF9kb19leHRyYV9oYW5kc2hha2UgaXMgY2FsbGVkIGR1cmluZyB0aGUgaGFuZHNoYWtlIGFm
dGVyIHRoZQoraGVhZGVycyBhcmUgc3VjY2Vzc2Z1bGx5IHBhcnNlZCBhbmQgV2ViU29ja2V0IHBy
b3BlcnRpZXMgKHdzX29yaWdpbiwKK2FuZCB3c19yZXNvdXJjZSkgYXJlIGFkZGVkIHRvIHJlcXVl
c3QuIEEgaGFuZGxlcgorY2FuIHJlamVjdCB0aGUgcmVxdWVzdCBieSByYWlzaW5nIGFuIGV4Y2Vw
dGlvbi4KKworQSByZXF1ZXN0IG9iamVjdCBoYXMgdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzIHRo
YXQgeW91IGNhbiB1c2UgZHVyaW5nIHRoZQorZXh0cmEgaGFuZHNoYWtlICh3ZWJfc29ja2V0X2Rv
X2V4dHJhX2hhbmRzaGFrZSk6CistIHdzX3Jlc291cmNlCistIHdzX29yaWdpbgorLSB3c192ZXJz
aW9uCistIHdzX2V4dGVuc2lvbnMKKy0gd3NfZGVmbGF0ZQorLSB3c19wcm90b2NvbAorLSB3c19y
ZXF1ZXN0ZWRfcHJvdG9jb2xzCisKK1RoZSBsYXN0IHR3byBhcmUgYSBiaXQgdHJpY2t5LiBTZWUg
dGhlIG5leHQgc3Vic2VjdGlvbi4KKworCitTdWJwcm90b2NvbCBOZWdvdGlhdGlvbgorLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KKword3NfcHJvdG9jb2wgaXMgYWx3YXlzIHNldCB0byBOb25lIHdo
ZW4KK3dlYl9zb2NrZXRfZG9fZXh0cmFfaGFuZHNoYWtlIGlzIGNhbGxlZC4gSWYgd3NfcmVxdWVz
dGVkX3Byb3RvY29scyBpcyBub3QKK05vbmUsIHlvdSBtdXN0IGNob29zZSBvbmUgc3VicHJvdG9j
b2wgZnJvbSB0aGlzIGxpc3QgYW5kIHNldCBpdCB0bword3NfcHJvdG9jb2wuCisKK0RhdGEgVHJh
bnNmZXIKKy0tLS0tLS0tLS0tLS0KKword2ViX3NvY2tldF90cmFuc2Zlcl9kYXRhIGlzIGNhbGxl
ZCBhZnRlciB0aGUgaGFuZHNoYWtlIGNvbXBsZXRlZAorc3VjY2Vzc2Z1bGx5LiBBIGhhbmRsZXIg
Y2FuIHJlY2VpdmUvc2VuZCBtZXNzYWdlcyBmcm9tL3RvIHRoZSBjbGllbnQKK3VzaW5nIHJlcXVl
c3QuIG1vZF9weXdlYnNvY2tldC5tc2d1dGlsIG1vZHVsZSBwcm92aWRlcyB1dGlsaXRpZXMKK2Zv
ciBkYXRhIHRyYW5zZmVyLgorCitZb3UgY2FuIHJlY2VpdmUgYSBtZXNzYWdlIGJ5IHRoZSBmb2xs
b3dpbmcgc3RhdGVtZW50LgorCisgICAgbWVzc2FnZSA9IHJlcXVlc3Qud3Nfc3RyZWFtLnJlY2Vp
dmVfbWVzc2FnZSgpCisKK1RoaXMgY2FsbCBibG9ja3MgdW50aWwgYW55IGNvbXBsZXRlIHRleHQg
ZnJhbWUgYXJyaXZlcywgYW5kIHRoZSBwYXlsb2FkIGRhdGEKK29mIHRoZSBpbmNvbWluZyBmcmFt
ZSB3aWxsIGJlIHN0b3JlZCBpbnRvIG1lc3NhZ2UuIFdoZW4geW91J3JlIHVzaW5nIElFVEYKK0h5
QmkgMDAgb3IgbGF0ZXIgcHJvdG9jb2wsIHJlY2VpdmVfbWVzc2FnZSgpIHdpbGwgcmV0dXJuIE5v
bmUgb24gcmVjZWl2aW5nCitjbGllbnQtaW5pdGlhdGVkIGNsb3NpbmcgaGFuZHNoYWtlLiBXaGVu
IGFueSBlcnJvciBvY2N1cnMsIHJlY2VpdmVfbWVzc2FnZSgpCit3aWxsIHJhaXNlIHNvbWUgZXhj
ZXB0aW9uLgorCitZb3UgY2FuIHNlbmQgYSBtZXNzYWdlIGJ5IHRoZSBmb2xsb3dpbmcgc3RhdGVt
ZW50LgorCisgICAgcmVxdWVzdC53c19zdHJlYW0uc2VuZF9tZXNzYWdlKG1lc3NhZ2UpCisKKwor
Q2xvc2luZyBDb25uZWN0aW9uCistLS0tLS0tLS0tLS0tLS0tLS0KKworRXhlY3V0aW5nIHRoZSBm
b2xsb3dpbmcgc3RhdGVtZW50IG9yIGp1c3QgcmV0dXJuLWluZyBmcm9tCit3ZWJfc29ja2V0X3Ry
YW5zZmVyX2RhdGEgY2F1c2UgY29ubmVjdGlvbiBjbG9zZS4KKworICAgIHJlcXVlc3Qud3Nfc3Ry
ZWFtLmNsb3NlX2Nvbm5lY3Rpb24oKQorCitjbG9zZV9jb25uZWN0aW9uIHdpbGwgd2FpdAorZm9y
IGNsb3NpbmcgaGFuZHNoYWtlIGFja25vd2xlZGdlbWVudCBjb21pbmcgZnJvbSB0aGUgY2xpZW50
LiBXaGVuIGl0Citjb3VsZG4ndCByZWNlaXZlIGEgdmFsaWQgYWNrbm93bGVkZ2VtZW50LCByYWlz
ZXMgYW4gZXhjZXB0aW9uLgorCit3ZWJfc29ja2V0X3Bhc3NpdmVfY2xvc2luZ19oYW5kc2hha2Ug
aXMgY2FsbGVkIGFmdGVyIHRoZSBzZXJ2ZXIgcmVjZWl2ZXMKK2luY29taW5nIGNsb3NpbmcgZnJh
bWUgZnJvbSB0aGUgY2xpZW50IHBlZXIgaW1tZWRpYXRlbHkuIFlvdSBjYW4gc3BlY2lmeQorY29k
ZSBhbmQgcmVhc29uIGJ5IHJldHVybiB2YWx1ZXMuIFRoZXkgYXJlIHNlbnQgYXMgYSBvdXRnb2lu
ZyBjbG9zaW5nIGZyYW1lCitmcm9tIHRoZSBzZXJ2ZXIuIEEgcmVxdWVzdCBvYmplY3QgaGFzIHRo
ZSBmb2xsb3dpbmcgcHJvcGVydGllcyB0aGF0IHlvdSBjYW4KK3VzZSBpbiB3ZWJfc29ja2V0X3Bh
c3NpdmVfY2xvc2luZ19oYW5kc2hha2UuCistIHdzX2Nsb3NlX2NvZGUKKy0gd3NfY2xvc2VfcmVh
c29uCisKKworVGhyZWFkaW5nCistLS0tLS0tLS0KKworQSBXZWJTb2NrZXQgaGFuZGxlciBtdXN0
IGJlIHRocmVhZC1zYWZlLiBUaGUgc3RhbmRhbG9uZQorc2VydmVyIHVzZXMgdGhyZWFkcyBieSBk
ZWZhdWx0LgorCisKK0NvbmZpZ3VyaW5nIFdlYlNvY2tldCBFeHRlbnNpb24gUHJvY2Vzc29ycwor
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1NlZSBleHRlbnNp
b25zLnB5IGZvciBzdXBwb3J0ZWQgV2ViU29ja2V0IGV4dGVuc2lvbnMuIE5vdGUgdGhhdCB0aGV5
IGFyZQordW5zdGFibGUgYW5kIHRoZWlyIEFQSXMgYXJlIHN1YmplY3QgdG8gY2hhbmdlIHN1YnN0
YW50aWFsbHkuCisKK0EgcmVxdWVzdCBvYmplY3QgaGFzIHRoZXNlIGV4dGVuc2lvbiBwcm9jZXNz
aW5nIHJlbGF0ZWQgYXR0cmlidXRlcy4KKworLSB3c19yZXF1ZXN0ZWRfZXh0ZW5zaW9uczoKKwor
ICBBIGxpc3Qgb2YgY29tbW9uLkV4dGVuc2lvblBhcmFtZXRlciBpbnN0YW5jZXMgcmVwcmVzZW50
aW5nIGV4dGVuc2lvbgorICBwYXJhbWV0ZXJzIHJlY2VpdmVkIGZyb20gdGhlIGNsaWVudCBpbiB0
aGUgY2xpZW50J3Mgb3BlbmluZyBoYW5kc2hha2UuCisgIFlvdSBzaG91bGRuJ3QgbW9kaWZ5IGl0
IG1hbnVhbGx5LgorCistIHdzX2V4dGVuc2lvbnM6CisKKyAgQSBsaXN0IG9mIGNvbW1vbi5FeHRl
bnNpb25QYXJhbWV0ZXIgaW5zdGFuY2VzIHJlcHJlc2VudGluZyBleHRlbnNpb24KKyAgcGFyYW1l
dGVycyB0byBzZW5kIGJhY2sgdG8gdGhlIGNsaWVudCBpbiB0aGUgc2VydmVyJ3Mgb3BlbmluZyBo
YW5kc2hha2UuCisgIFlvdSBzaG91bGRuJ3QgdG91Y2ggaXQgZGlyZWN0bHkuIEluc3RlYWQsIGNh
bGwgbWV0aG9kcyBvbiBleHRlbnNpb24KKyAgcHJvY2Vzc29ycy4KKworLSB3c19leHRlbnNpb25f
cHJvY2Vzc29yczoKKworICBBIGxpc3Qgb2YgbG9hZGVkIGV4dGVuc2lvbiBwcm9jZXNzb3JzLiBG
aW5kIHRoZSBwcm9jZXNzb3IgZm9yIHRoZQorICBleHRlbnNpb24geW91IHdhbnQgdG8gY29uZmln
dXJlIGZyb20gaXQsIGFuZCBjYWxsIGl0cyBtZXRob2RzLgorIiIiCisKKyMgdmk6c3RzPTQgc3c9
NCBldCB0dz03MgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvbW9kX3B5d2Vic29ja2V0
L19zdHJlYW1fZXhjZXB0aW9ucy5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL21vZF9weXdlYnNvY2tl
dC9fc3RyZWFtX2V4Y2VwdGlvbnMucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjQ3ODc4YmM0YTM3OWI1YWQ4YzQy
M2E4ZTM4ZGY0MDVhOTZjY2JmNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQz
L21vZF9weXdlYnNvY2tldC9fc3RyZWFtX2V4Y2VwdGlvbnMucHkKQEAgLTAsMCArMSw4MiBAQAor
IyBDb3B5cmlnaHQgMjAyMCwgR29vZ2xlIEluYy4KKyMgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMK
KyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyMgbWV0OgorIworIyAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
IyBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKKyMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisjIGRpc3RyaWJ1dGlvbi4K
KyMgICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cworIyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbQorIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisjICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisjIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUgorIyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorIyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyMgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorIyBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKKyMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisiIiJTdHJlYW0gRXhjZXB0aW9ucy4KKyIiIgorCisjIE5vdGU6IHJl
cXVlc3QuY29ubmVjdGlvbi53cml0ZS9yZWFkIGFyZSB1c2VkIGluIHRoaXMgbW9kdWxlLCBldmVu
IHRob3VnaAorIyBtb2RfcHl0aG9uIGRvY3VtZW50IHNheXMgdGhhdCB0aGV5IHNob3VsZCBiZSB1
c2VkIG9ubHkgaW4gY29ubmVjdGlvbgorIyBoYW5kbGVycy4gVW5mb3J0dW5hdGVseSwgd2UgaGF2
ZSBubyBvdGhlciBvcHRpb25zLiBGb3IgZXhhbXBsZSwKKyMgcmVxdWVzdC53cml0ZS9yZWFkIGFy
ZSBub3Qgc3VpdGFibGUgYmVjYXVzZSB0aGV5IGRvbid0IGFsbG93IGRpcmVjdCByYXcgYnl0ZXMK
KyMgd3JpdGluZy9yZWFkaW5nLgorCisKKyMgRXhjZXB0aW9ucworY2xhc3MgQ29ubmVjdGlvblRl
cm1pbmF0ZWRFeGNlcHRpb24oRXhjZXB0aW9uKToKKyAgICAiIiJUaGlzIGV4Y2VwdGlvbiB3aWxs
IGJlIHJhaXNlZCB3aGVuIGEgY29ubmVjdGlvbiBpcyB0ZXJtaW5hdGVkCisgICAgdW5leHBlY3Rl
ZGx5LgorICAgICIiIgorCisgICAgcGFzcworCisKK2NsYXNzIEludmFsaWRGcmFtZUV4Y2VwdGlv
bihDb25uZWN0aW9uVGVybWluYXRlZEV4Y2VwdGlvbik6CisgICAgIiIiVGhpcyBleGNlcHRpb24g
d2lsbCBiZSByYWlzZWQgd2hlbiB3ZSByZWNlaXZlZCBhbiBpbnZhbGlkIGZyYW1lIHdlCisgICAg
Y2Fubm90IHBhcnNlLgorICAgICIiIgorCisgICAgcGFzcworCisKK2NsYXNzIEJhZE9wZXJhdGlv
bkV4Y2VwdGlvbihFeGNlcHRpb24pOgorICAgICIiIlRoaXMgZXhjZXB0aW9uIHdpbGwgYmUgcmFp
c2VkIHdoZW4gc2VuZF9tZXNzYWdlKCkgaXMgY2FsbGVkIG9uCisgICAgc2VydmVyLXRlcm1pbmF0
ZWQgY29ubmVjdGlvbiBvciByZWNlaXZlX21lc3NhZ2UoKSBpcyBjYWxsZWQgb24KKyAgICBjbGll
bnQtdGVybWluYXRlZCBjb25uZWN0aW9uLgorICAgICIiIgorCisgICAgcGFzcworCisKK2NsYXNz
IFVuc3VwcG9ydGVkRnJhbWVFeGNlcHRpb24oRXhjZXB0aW9uKToKKyAgICAiIiJUaGlzIGV4Y2Vw
dGlvbiB3aWxsIGJlIHJhaXNlZCB3aGVuIHdlIHJlY2VpdmUgYSBmcmFtZSB3aXRoIGZsYWcsIG9w
Y29kZQorICAgIHdlIGNhbm5vdCBoYW5kbGUuIEhhbmRsZXJzIGNhbiBqdXN0IGNhdGNoIGFuZCBp
Z25vcmUgdGhpcyBleGNlcHRpb24gYW5kCisgICAgY2FsbCByZWNlaXZlX21lc3NhZ2UoKSBhZ2Fp
biB0byBjb250aW51ZSBwcm9jZXNzaW5nIHRoZSBuZXh0IGZyYW1lLgorICAgICIiIgorCisgICAg
cGFzcworCisKK2NsYXNzIEludmFsaWRVVEY4RXhjZXB0aW9uKEV4Y2VwdGlvbik6CisgICAgIiIi
VGhpcyBleGNlcHRpb24gd2lsbCBiZSByYWlzZWQgd2hlbiB3ZSByZWNlaXZlIGEgdGV4dCBmcmFt
ZSB3aGljaAorICAgIGNvbnRhaW5zIGludmFsaWQgVVRGLTggc3RyaW5ncy4KKyAgICAiIiIKKwor
ICAgIHBhc3MKKworCisjIHZpOnN0cz00IHN3PTQgZXQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJz
b2NrZXQzL21vZF9weXdlYnNvY2tldC9jb21tb24ucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My9tb2Rf
cHl3ZWJzb2NrZXQvY29tbW9uLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjljYjExZjE1Y2IyZjU4MmU2YzI5ZTY5
OGVlNWZmZjJhZmRlOGE3NjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My9t
b2RfcHl3ZWJzb2NrZXQvY29tbW9uLnB5CkBAIC0wLDAgKzEsMjczIEBACisjIENvcHlyaWdodCAy
MDEyLCBHb29nbGUgSW5jLgorIyBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQorIyBtZXQ6CisjCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZQorIyBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCisjIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyMgZGlzdHJpYnV0aW9uLgorIyAgICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisjIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tCisjIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisj
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUCisjIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorIyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAor
IyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyMgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyIiIlRoaXMgZmlsZSBtdXN0IG5vdCBkZXBlbmQgb24gYW55IG1vZHVsZSBzcGVjaWZpYyB0
byB0aGUgV2ViU29ja2V0IHByb3RvY29sLgorIiIiCisKK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQg
YWJzb2x1dGVfaW1wb3J0Citmcm9tIG1vZF9weXdlYnNvY2tldCBpbXBvcnQgaHR0cF9oZWFkZXJf
dXRpbAorCisjIEFkZGl0aW9uYWwgbG9nIGxldmVsIGRlZmluaXRpb25zLgorTE9HTEVWRUxfRklO
RSA9IDkKKworIyBDb25zdGFudHMgaW5kaWNhdGluZyBXZWJTb2NrZXQgcHJvdG9jb2wgdmVyc2lv
bi4KK1ZFUlNJT05fSFlCSTEzID0gMTMKK1ZFUlNJT05fSFlCSTE0ID0gMTMKK1ZFUlNJT05fSFlC
STE1ID0gMTMKK1ZFUlNJT05fSFlCSTE2ID0gMTMKK1ZFUlNJT05fSFlCSTE3ID0gMTMKKworIyBD
b25zdGFudHMgaW5kaWNhdGluZyBXZWJTb2NrZXQgcHJvdG9jb2wgbGF0ZXN0IHZlcnNpb24uCitW
RVJTSU9OX0hZQklfTEFURVNUID0gVkVSU0lPTl9IWUJJMTMKKworIyBQb3J0IG51bWJlcnMKK0RF
RkFVTFRfV0VCX1NPQ0tFVF9QT1JUID0gODAKK0RFRkFVTFRfV0VCX1NPQ0tFVF9TRUNVUkVfUE9S
VCA9IDQ0MworCisjIFNjaGVtZXMKK1dFQl9TT0NLRVRfU0NIRU1FID0gJ3dzJworV0VCX1NPQ0tF
VF9TRUNVUkVfU0NIRU1FID0gJ3dzcycKKworIyBGcmFtZSBvcGNvZGVzIGRlZmluZWQgaW4gdGhl
IHNwZWMuCitPUENPREVfQ09OVElOVUFUSU9OID0gMHgwCitPUENPREVfVEVYVCA9IDB4MQorT1BD
T0RFX0JJTkFSWSA9IDB4MgorT1BDT0RFX0NMT1NFID0gMHg4CitPUENPREVfUElORyA9IDB4OQor
T1BDT0RFX1BPTkcgPSAweGEKKworIyBVVUlEIGZvciB0aGUgb3BlbmluZyBoYW5kc2hha2UgYW5k
IGZyYW1lIG1hc2tpbmcuCitXRUJTT0NLRVRfQUNDRVBUX1VVSUQgPSBiJzI1OEVBRkE1LUU5MTQt
NDdEQS05NUNBLUM1QUIwREM4NUIxMScKKworIyBPcGVuaW5nIGhhbmRzaGFrZSBoZWFkZXIgbmFt
ZXMgYW5kIGV4cGVjdGVkIHZhbHVlcy4KK1VQR1JBREVfSEVBREVSID0gJ1VwZ3JhZGUnCitXRUJT
T0NLRVRfVVBHUkFERV9UWVBFID0gJ3dlYnNvY2tldCcKK0NPTk5FQ1RJT05fSEVBREVSID0gJ0Nv
bm5lY3Rpb24nCitVUEdSQURFX0NPTk5FQ1RJT05fVFlQRSA9ICdVcGdyYWRlJworSE9TVF9IRUFE
RVIgPSAnSG9zdCcKK09SSUdJTl9IRUFERVIgPSAnT3JpZ2luJworU0VDX1dFQlNPQ0tFVF9LRVlf
SEVBREVSID0gJ1NlYy1XZWJTb2NrZXQtS2V5JworU0VDX1dFQlNPQ0tFVF9BQ0NFUFRfSEVBREVS
ID0gJ1NlYy1XZWJTb2NrZXQtQWNjZXB0JworU0VDX1dFQlNPQ0tFVF9WRVJTSU9OX0hFQURFUiA9
ICdTZWMtV2ViU29ja2V0LVZlcnNpb24nCitTRUNfV0VCU09DS0VUX1BST1RPQ09MX0hFQURFUiA9
ICdTZWMtV2ViU29ja2V0LVByb3RvY29sJworU0VDX1dFQlNPQ0tFVF9FWFRFTlNJT05TX0hFQURF
UiA9ICdTZWMtV2ViU29ja2V0LUV4dGVuc2lvbnMnCisKKyMgRXh0ZW5zaW9ucworUEVSTUVTU0FH
RV9ERUZMQVRFX0VYVEVOU0lPTiA9ICdwZXJtZXNzYWdlLWRlZmxhdGUnCisKKyMgU3RhdHVzIGNv
ZGVzCisjIENvZGUgU1RBVFVTX05PX1NUQVRVU19SRUNFSVZFRCwgU1RBVFVTX0FCTk9STUFMX0NM
T1NVUkUsIGFuZAorIyBTVEFUVVNfVExTX0hBTkRTSEFLRSBhcmUgcHNldWRvIGNvZGVzIHRvIGlu
ZGljYXRlIHNwZWNpZmljIGVycm9yIGNhc2VzLgorIyBDb3VsZCBub3QgYmUgdXNlZCBmb3IgY29k
ZXMgaW4gYWN0dWFsIGNsb3NpbmcgZnJhbWVzLgorIyBBcHBsaWNhdGlvbiBsZXZlbCBlcnJvcnMg
bXVzdCB1c2UgY29kZXMgaW4gdGhlIHJhbmdlCisjIFNUQVRVU19VU0VSX1JFR0lTVEVSRURfQkFT
RSB0byBTVEFUVVNfVVNFUl9QUklWQVRFX01BWC4gVGhlIGNvZGVzIGluIHRoZQorIyByYW5nZSBT
VEFUVVNfVVNFUl9SRUdJU1RFUkVEX0JBU0UgdG8gU1RBVFVTX1VTRVJfUkVHSVNURVJFRF9NQVgg
YXJlIG1hbmFnZWQKKyMgYnkgSUFOQS4gVXN1YWxseSBhcHBsaWNhdGlvbiBtdXN0IGRlZmluZSB1
c2VyIHByb3RvY29sIGxldmVsIGVycm9ycyBpbiB0aGUKKyMgcmFuZ2UgU1RBVFVTX1VTRVJfUFJJ
VkFURV9CQVNFIHRvIFNUQVRVU19VU0VSX1BSSVZBVEVfTUFYLgorU1RBVFVTX05PUk1BTF9DTE9T
VVJFID0gMTAwMAorU1RBVFVTX0dPSU5HX0FXQVkgPSAxMDAxCitTVEFUVVNfUFJPVE9DT0xfRVJS
T1IgPSAxMDAyCitTVEFUVVNfVU5TVVBQT1JURURfREFUQSA9IDEwMDMKK1NUQVRVU19OT19TVEFU
VVNfUkVDRUlWRUQgPSAxMDA1CitTVEFUVVNfQUJOT1JNQUxfQ0xPU1VSRSA9IDEwMDYKK1NUQVRV
U19JTlZBTElEX0ZSQU1FX1BBWUxPQURfREFUQSA9IDEwMDcKK1NUQVRVU19QT0xJQ1lfVklPTEFU
SU9OID0gMTAwOAorU1RBVFVTX01FU1NBR0VfVE9PX0JJRyA9IDEwMDkKK1NUQVRVU19NQU5EQVRP
UllfRVhURU5TSU9OID0gMTAxMAorU1RBVFVTX0lOVEVSTkFMX0VORFBPSU5UX0VSUk9SID0gMTAx
MQorU1RBVFVTX1RMU19IQU5EU0hBS0UgPSAxMDE1CitTVEFUVVNfVVNFUl9SRUdJU1RFUkVEX0JB
U0UgPSAzMDAwCitTVEFUVVNfVVNFUl9SRUdJU1RFUkVEX01BWCA9IDM5OTkKK1NUQVRVU19VU0VS
X1BSSVZBVEVfQkFTRSA9IDQwMDAKK1NUQVRVU19VU0VSX1BSSVZBVEVfTUFYID0gNDk5OQorIyBG
b2xsb3dpbmcgZGVmaW5pdGlvbnMgYXJlIGFsaWFzZXMgdG8ga2VlcCBjb21wYXRpYmlsaXR5LiBB
cHBsaWNhdGlvbnMgbXVzdAorIyBub3QgdXNlIHRoZXNlIG9ic29sZXRlZCBkZWZpbml0aW9ucyBh
bnltb3JlLgorU1RBVFVTX05PUk1BTCA9IFNUQVRVU19OT1JNQUxfQ0xPU1VSRQorU1RBVFVTX1VO
U1VQUE9SVEVEID0gU1RBVFVTX1VOU1VQUE9SVEVEX0RBVEEKK1NUQVRVU19DT0RFX05PVF9BVkFJ
TEFCTEUgPSBTVEFUVVNfTk9fU1RBVFVTX1JFQ0VJVkVECitTVEFUVVNfQUJOT1JNQUxfQ0xPU0Ug
PSBTVEFUVVNfQUJOT1JNQUxfQ0xPU1VSRQorU1RBVFVTX0lOVkFMSURfRlJBTUVfUEFZTE9BRCA9
IFNUQVRVU19JTlZBTElEX0ZSQU1FX1BBWUxPQURfREFUQQorU1RBVFVTX01BTkRBVE9SWV9FWFQg
PSBTVEFUVVNfTUFOREFUT1JZX0VYVEVOU0lPTgorCisjIEhUVFAgc3RhdHVzIGNvZGVzCitIVFRQ
X1NUQVRVU19CQURfUkVRVUVTVCA9IDQwMAorSFRUUF9TVEFUVVNfRk9SQklEREVOID0gNDAzCitI
VFRQX1NUQVRVU19OT1RfRk9VTkQgPSA0MDQKKworCitkZWYgaXNfY29udHJvbF9vcGNvZGUob3Bj
b2RlKToKKyAgICByZXR1cm4gKG9wY29kZSA+PiAzKSA9PSAxCisKKworY2xhc3MgRXh0ZW5zaW9u
UGFyYW1ldGVyKG9iamVjdCk6CisgICAgIiIiVGhpcyBpcyBleGNoYW5nZWQgb24gZXh0ZW5zaW9u
IG5lZ290aWF0aW9uIGluIG9wZW5pbmcgaGFuZHNoYWtlLiIiIgorICAgIGRlZiBfX2luaXRfXyhz
ZWxmLCBuYW1lKToKKyAgICAgICAgc2VsZi5fbmFtZSA9IG5hbWUKKyAgICAgICAgIyBUT0RPKHR5
b3NoaW5vKTogQ2hhbmdlIHRoZSBkYXRhIHN0cnVjdHVyZSB0byBtb3JlIGVmZmljaWVudCBvbmUg
c3VjaAorICAgICAgICAjIGFzIGRpY3Qgd2hlbiB0aGUgc3BlYyBjaGFuZ2VzIHRvIHNheSBsaWtl
CisgICAgICAgICMgLSBQYXJhbWV0ZXIgbmFtZXMgbXVzdCBiZSB1bmlxdWUKKyAgICAgICAgIyAt
IFRoZSBvcmRlciBvZiBwYXJhbWV0ZXJzIGlzIG5vdCBzaWduaWZpY2FudAorICAgICAgICBzZWxm
Ll9wYXJhbWV0ZXJzID0gW10KKworICAgIGRlZiBuYW1lKHNlbGYpOgorICAgICAgICAiIiJSZXR1
cm4gdGhlIGV4dGVuc2lvbiBuYW1lLiIiIgorICAgICAgICByZXR1cm4gc2VsZi5fbmFtZQorCisg
ICAgZGVmIGFkZF9wYXJhbWV0ZXIoc2VsZiwgbmFtZSwgdmFsdWUpOgorICAgICAgICAiIiJBZGQg
YSBwYXJhbWV0ZXIuIiIiCisgICAgICAgIHNlbGYuX3BhcmFtZXRlcnMuYXBwZW5kKChuYW1lLCB2
YWx1ZSkpCisKKyAgICBkZWYgZ2V0X3BhcmFtZXRlcnMoc2VsZik6CisgICAgICAgICIiIlJldHVy
biB0aGUgcGFyYW1ldGVycy4iIiIKKyAgICAgICAgcmV0dXJuIHNlbGYuX3BhcmFtZXRlcnMKKwor
ICAgIGRlZiBnZXRfcGFyYW1ldGVyX25hbWVzKHNlbGYpOgorICAgICAgICAiIiJSZXR1cm4gdGhl
IG5hbWVzIG9mIHRoZSBwYXJhbWV0ZXJzLiIiIgorICAgICAgICByZXR1cm4gW25hbWUgZm9yIG5h
bWUsIHVudXNlZF92YWx1ZSBpbiBzZWxmLl9wYXJhbWV0ZXJzXQorCisgICAgZGVmIGhhc19wYXJh
bWV0ZXIoc2VsZiwgbmFtZSk6CisgICAgICAgICIiIlRlc3QgaWYgYSBwYXJhbWV0ZXIgZXhpc3Rz
LiIiIgorICAgICAgICBmb3IgcGFyYW1fbmFtZSwgcGFyYW1fdmFsdWUgaW4gc2VsZi5fcGFyYW1l
dGVyczoKKyAgICAgICAgICAgIGlmIHBhcmFtX25hbWUgPT0gbmFtZToKKyAgICAgICAgICAgICAg
ICByZXR1cm4gVHJ1ZQorICAgICAgICByZXR1cm4gRmFsc2UKKworICAgIGRlZiBnZXRfcGFyYW1l
dGVyX3ZhbHVlKHNlbGYsIG5hbWUpOgorICAgICAgICAiIiJHZXQgdGhlIHZhbHVlIG9mIGEgc3Bl
Y2lmaWMgcGFyYW1ldGVyLiIiIgorICAgICAgICBmb3IgcGFyYW1fbmFtZSwgcGFyYW1fdmFsdWUg
aW4gc2VsZi5fcGFyYW1ldGVyczoKKyAgICAgICAgICAgIGlmIHBhcmFtX25hbWUgPT0gbmFtZToK
KyAgICAgICAgICAgICAgICByZXR1cm4gcGFyYW1fdmFsdWUKKworCitjbGFzcyBFeHRlbnNpb25Q
YXJzaW5nRXhjZXB0aW9uKEV4Y2VwdGlvbik6CisgICAgIiIiRXhjZXB0aW9uIHRvIGhhbmRsZSBl
cnJvcnMgaW4gZXh0ZW5zaW9uIHBhcnNpbmcuIiIiCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIG5h
bWUpOgorICAgICAgICBzdXBlcihFeHRlbnNpb25QYXJzaW5nRXhjZXB0aW9uLCBzZWxmKS5fX2lu
aXRfXyhuYW1lKQorCisKK2RlZiBfcGFyc2VfZXh0ZW5zaW9uX3BhcmFtKHN0YXRlLCBkZWZpbml0
aW9uKToKKyAgICBwYXJhbV9uYW1lID0gaHR0cF9oZWFkZXJfdXRpbC5jb25zdW1lX3Rva2VuKHN0
YXRlKQorCisgICAgaWYgcGFyYW1fbmFtZSBpcyBOb25lOgorICAgICAgICByYWlzZSBFeHRlbnNp
b25QYXJzaW5nRXhjZXB0aW9uKCdObyB2YWxpZCBwYXJhbWV0ZXIgbmFtZSBmb3VuZCcpCisKKyAg
ICBodHRwX2hlYWRlcl91dGlsLmNvbnN1bWVfbHdzZXMoc3RhdGUpCisKKyAgICBpZiBub3QgaHR0
cF9oZWFkZXJfdXRpbC5jb25zdW1lX3N0cmluZyhzdGF0ZSwgJz0nKToKKyAgICAgICAgZGVmaW5p
dGlvbi5hZGRfcGFyYW1ldGVyKHBhcmFtX25hbWUsIE5vbmUpCisgICAgICAgIHJldHVybgorCisg
ICAgaHR0cF9oZWFkZXJfdXRpbC5jb25zdW1lX2x3c2VzKHN0YXRlKQorCisgICAgIyBUT0RPKHR5
b3NoaW5vKTogQWRkIGNvZGUgdG8gdmFsaWRhdGUgdGhhdCBwYXJzZWQgcGFyYW1fdmFsdWUgaXMg
dG9rZW4KKyAgICBwYXJhbV92YWx1ZSA9IGh0dHBfaGVhZGVyX3V0aWwuY29uc3VtZV90b2tlbl9v
cl9xdW90ZWRfc3RyaW5nKHN0YXRlKQorICAgIGlmIHBhcmFtX3ZhbHVlIGlzIE5vbmU6CisgICAg
ICAgIHJhaXNlIEV4dGVuc2lvblBhcnNpbmdFeGNlcHRpb24oCisgICAgICAgICAgICAnTm8gdmFs
aWQgcGFyYW1ldGVyIHZhbHVlIGZvdW5kIG9uIHRoZSByaWdodC1oYW5kIHNpZGUgb2YgJworICAg
ICAgICAgICAgJ3BhcmFtZXRlciAlcicgJSBwYXJhbV9uYW1lKQorCisgICAgZGVmaW5pdGlvbi5h
ZGRfcGFyYW1ldGVyKHBhcmFtX25hbWUsIHBhcmFtX3ZhbHVlKQorCisKK2RlZiBfcGFyc2VfZXh0
ZW5zaW9uKHN0YXRlKToKKyAgICBleHRlbnNpb25fdG9rZW4gPSBodHRwX2hlYWRlcl91dGlsLmNv
bnN1bWVfdG9rZW4oc3RhdGUpCisgICAgaWYgZXh0ZW5zaW9uX3Rva2VuIGlzIE5vbmU6CisgICAg
ICAgIHJldHVybiBOb25lCisKKyAgICBleHRlbnNpb24gPSBFeHRlbnNpb25QYXJhbWV0ZXIoZXh0
ZW5zaW9uX3Rva2VuKQorCisgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgaHR0cF9oZWFkZXJfdXRp
bC5jb25zdW1lX2x3c2VzKHN0YXRlKQorCisgICAgICAgIGlmIG5vdCBodHRwX2hlYWRlcl91dGls
LmNvbnN1bWVfc3RyaW5nKHN0YXRlLCAnOycpOgorICAgICAgICAgICAgYnJlYWsKKworICAgICAg
ICBodHRwX2hlYWRlcl91dGlsLmNvbnN1bWVfbHdzZXMoc3RhdGUpCisKKyAgICAgICAgdHJ5Ogor
ICAgICAgICAgICAgX3BhcnNlX2V4dGVuc2lvbl9wYXJhbShzdGF0ZSwgZXh0ZW5zaW9uKQorICAg
ICAgICBleGNlcHQgRXh0ZW5zaW9uUGFyc2luZ0V4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAg
cmFpc2UgRXh0ZW5zaW9uUGFyc2luZ0V4Y2VwdGlvbigKKyAgICAgICAgICAgICAgICAnRmFpbGVk
IHRvIHBhcnNlIHBhcmFtZXRlciBmb3IgJXIgKCVyKScgJSAoZXh0ZW5zaW9uX3Rva2VuLCBlKSkK
KworICAgIHJldHVybiBleHRlbnNpb24KKworCitkZWYgcGFyc2VfZXh0ZW5zaW9ucyhkYXRhKToK
KyAgICAiIiJQYXJzZSBTZWMtV2ViU29ja2V0LUV4dGVuc2lvbnMgaGVhZGVyIHZhbHVlLgorCisg
ICAgUmV0dXJucyBhIGxpc3Qgb2YgRXh0ZW5zaW9uUGFyYW1ldGVyIG9iamVjdHMuCisgICAgTGVh
ZGluZyBMV1NlcyBtdXN0IGJlIHRyaW1tZWQuCisgICAgIiIiCisgICAgc3RhdGUgPSBodHRwX2hl
YWRlcl91dGlsLlBhcnNpbmdTdGF0ZShkYXRhKQorCisgICAgZXh0ZW5zaW9uX2xpc3QgPSBbXQor
ICAgIHdoaWxlIFRydWU6CisgICAgICAgIGV4dGVuc2lvbiA9IF9wYXJzZV9leHRlbnNpb24oc3Rh
dGUpCisgICAgICAgIGlmIGV4dGVuc2lvbiBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGV4dGVu
c2lvbl9saXN0LmFwcGVuZChleHRlbnNpb24pCisKKyAgICAgICAgaHR0cF9oZWFkZXJfdXRpbC5j
b25zdW1lX2x3c2VzKHN0YXRlKQorCisgICAgICAgIGlmIGh0dHBfaGVhZGVyX3V0aWwucGVlayhz
dGF0ZSkgaXMgTm9uZToKKyAgICAgICAgICAgIGJyZWFrCisKKyAgICAgICAgaWYgbm90IGh0dHBf
aGVhZGVyX3V0aWwuY29uc3VtZV9zdHJpbmcoc3RhdGUsICcsJyk6CisgICAgICAgICAgICByYWlz
ZSBFeHRlbnNpb25QYXJzaW5nRXhjZXB0aW9uKAorICAgICAgICAgICAgICAgICdGYWlsZWQgdG8g
cGFyc2UgU2VjLVdlYlNvY2tldC1FeHRlbnNpb25zIGhlYWRlcjogJworICAgICAgICAgICAgICAg
ICdFeHBlY3RlZCBhIGNvbW1hIGJ1dCBmb3VuZCAlcicgJSBodHRwX2hlYWRlcl91dGlsLnBlZWso
c3RhdGUpKQorCisgICAgICAgIGh0dHBfaGVhZGVyX3V0aWwuY29uc3VtZV9sd3NlcyhzdGF0ZSkK
KworICAgIGlmIGxlbihleHRlbnNpb25fbGlzdCkgPT0gMDoKKyAgICAgICAgcmFpc2UgRXh0ZW5z
aW9uUGFyc2luZ0V4Y2VwdGlvbignTm8gdmFsaWQgZXh0ZW5zaW9uIGVudHJ5IGZvdW5kJykKKwor
ICAgIHJldHVybiBleHRlbnNpb25fbGlzdAorCisKK2RlZiBmb3JtYXRfZXh0ZW5zaW9uKGV4dGVu
c2lvbik6CisgICAgIiIiRm9ybWF0IGFuIEV4dGVuc2lvblBhcmFtZXRlciBvYmplY3QuIiIiCisg
ICAgZm9ybWF0dGVkX3BhcmFtcyA9IFtleHRlbnNpb24ubmFtZSgpXQorICAgIGZvciBwYXJhbV9u
YW1lLCBwYXJhbV92YWx1ZSBpbiBleHRlbnNpb24uZ2V0X3BhcmFtZXRlcnMoKToKKyAgICAgICAg
aWYgcGFyYW1fdmFsdWUgaXMgTm9uZToKKyAgICAgICAgICAgIGZvcm1hdHRlZF9wYXJhbXMuYXBw
ZW5kKHBhcmFtX25hbWUpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBxdW90ZWRfdmFsdWUg
PSBodHRwX2hlYWRlcl91dGlsLnF1b3RlX2lmX25lY2Vzc2FyeShwYXJhbV92YWx1ZSkKKyAgICAg
ICAgICAgIGZvcm1hdHRlZF9wYXJhbXMuYXBwZW5kKCclcz0lcycgJSAocGFyYW1fbmFtZSwgcXVv
dGVkX3ZhbHVlKSkKKyAgICByZXR1cm4gJzsgJy5qb2luKGZvcm1hdHRlZF9wYXJhbXMpCisKKwor
ZGVmIGZvcm1hdF9leHRlbnNpb25zKGV4dGVuc2lvbl9saXN0KToKKyAgICAiIiJGb3JtYXQgYSBs
aXN0IG9mIEV4dGVuc2lvblBhcmFtZXRlciBvYmplY3RzLiIiIgorICAgIGZvcm1hdHRlZF9leHRl
bnNpb25fbGlzdCA9IFtdCisgICAgZm9yIGV4dGVuc2lvbiBpbiBleHRlbnNpb25fbGlzdDoKKyAg
ICAgICAgZm9ybWF0dGVkX2V4dGVuc2lvbl9saXN0LmFwcGVuZChmb3JtYXRfZXh0ZW5zaW9uKGV4
dGVuc2lvbikpCisgICAgcmV0dXJuICcsICcuam9pbihmb3JtYXR0ZWRfZXh0ZW5zaW9uX2xpc3Qp
CisKKworIyB2aTpzdHM9NCBzdz00IGV0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My9t
b2RfcHl3ZWJzb2NrZXQvZGlzcGF0Y2gucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My9tb2RfcHl3ZWJz
b2NrZXQvZGlzcGF0Y2gucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGVlOTQzYTViODBhZmRjMGJkYTk1M2FhMmE3
MzE5OGI5OWE0NTliMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL21vZF9w
eXdlYnNvY2tldC9kaXNwYXRjaC5weQpAQCAtMCwwICsxLDM4NSBAQAorIyBDb3B5cmlnaHQgMjAx
MiwgR29vZ2xlIEluYy4KKyMgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisj
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKKyMgbWV0OgorIworIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
KyMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisjIGRpc3RyaWJ1dGlvbi4KKyMgICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworIyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbQorIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisjICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorIyBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAorIyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyMgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyMg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisiIiJEaXNwYXRjaCBXZWJTb2NrZXQgcmVxdWVzdC4KKyIiIgorCitmcm9tIF9fZnV0dXJlX18g
aW1wb3J0IGFic29sdXRlX2ltcG9ydAoraW1wb3J0IGxvZ2dpbmcKK2ltcG9ydCBvcworaW1wb3J0
IHJlCitpbXBvcnQgdHJhY2ViYWNrCisKK2Zyb20gbW9kX3B5d2Vic29ja2V0IGltcG9ydCBjb21t
b24KK2Zyb20gbW9kX3B5d2Vic29ja2V0IGltcG9ydCBoYW5kc2hha2UKK2Zyb20gbW9kX3B5d2Vi
c29ja2V0IGltcG9ydCBtc2d1dGlsCitmcm9tIG1vZF9weXdlYnNvY2tldCBpbXBvcnQgc3RyZWFt
Citmcm9tIG1vZF9weXdlYnNvY2tldCBpbXBvcnQgdXRpbAorCitfU09VUkNFX1BBVEhfUEFUVEVS
TiA9IHJlLmNvbXBpbGUocicoP2kpX3dzaFwucHkkJykKK19TT1VSQ0VfU1VGRklYID0gJ193c2gu
cHknCitfRE9fRVhUUkFfSEFORFNIQUtFX0hBTkRMRVJfTkFNRSA9ICd3ZWJfc29ja2V0X2RvX2V4
dHJhX2hhbmRzaGFrZScKK19UUkFOU0ZFUl9EQVRBX0hBTkRMRVJfTkFNRSA9ICd3ZWJfc29ja2V0
X3RyYW5zZmVyX2RhdGEnCitfUEFTU0lWRV9DTE9TSU5HX0hBTkRTSEFLRV9IQU5ETEVSX05BTUUg
PSAoCisgICAgJ3dlYl9zb2NrZXRfcGFzc2l2ZV9jbG9zaW5nX2hhbmRzaGFrZScpCisKKworY2xh
c3MgRGlzcGF0Y2hFeGNlcHRpb24oRXhjZXB0aW9uKToKKyAgICAiIiJFeGNlcHRpb24gaW4gZGlz
cGF0Y2hpbmcgV2ViU29ja2V0IHJlcXVlc3QuIiIiCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIG5h
bWUsIHN0YXR1cz1jb21tb24uSFRUUF9TVEFUVVNfTk9UX0ZPVU5EKToKKyAgICAgICAgc3VwZXIo
RGlzcGF0Y2hFeGNlcHRpb24sIHNlbGYpLl9faW5pdF9fKG5hbWUpCisgICAgICAgIHNlbGYuc3Rh
dHVzID0gc3RhdHVzCisKKworZGVmIF9kZWZhdWx0X3Bhc3NpdmVfY2xvc2luZ19oYW5kc2hha2Vf
aGFuZGxlcihyZXF1ZXN0KToKKyAgICAiIiJEZWZhdWx0IHdlYl9zb2NrZXRfcGFzc2l2ZV9jbG9z
aW5nX2hhbmRzaGFrZSBoYW5kbGVyLiIiIgorCisgICAgcmV0dXJuIGNvbW1vbi5TVEFUVVNfTk9S
TUFMX0NMT1NVUkUsICcnCisKKworZGVmIF9ub3JtYWxpemVfcGF0aChwYXRoKToKKyAgICAiIiJO
b3JtYWxpemUgcGF0aC4KKworICAgIEFyZ3M6CisgICAgICAgIHBhdGg6IHRoZSBwYXRoIHRvIG5v
cm1hbGl6ZS4KKworICAgIFBhdGggaXMgY29udmVydGVkIHRvIHRoZSBhYnNvbHV0ZSBwYXRoLgor
ICAgIFRoZSBpbnB1dCBwYXRoIGNhbiB1c2UgZWl0aGVyICdcXCcgb3IgJy8nIGFzIHRoZSBzZXBh
cmF0b3IuCisgICAgVGhlIG5vcm1hbGl6ZWQgcGF0aCBhbHdheXMgdXNlcyAnLycgcmVnYXJkbGVz
cyBvZiB0aGUgcGxhdGZvcm0uCisgICAgIiIiCisKKyAgICBwYXRoID0gcGF0aC5yZXBsYWNlKCdc
XCcsIG9zLnBhdGguc2VwKQorICAgIHBhdGggPSBvcy5wYXRoLnJlYWxwYXRoKHBhdGgpCisgICAg
cGF0aCA9IHBhdGgucmVwbGFjZSgnXFwnLCAnLycpCisgICAgcmV0dXJuIHBhdGgKKworCitkZWYg
X2NyZWF0ZV9wYXRoX3RvX3Jlc291cmNlX2NvbnZlcnRlcihiYXNlX2Rpcik6CisgICAgIiIiUmV0
dXJucyBhIGZ1bmN0aW9uIHRoYXQgY29udmVydHMgdGhlIHBhdGggb2YgYSBXZWJTb2NrZXQgaGFu
ZGxlciBzb3VyY2UKKyAgICBmaWxlIHRvIGEgcmVzb3VyY2Ugc3RyaW5nIGJ5IHJlbW92aW5nIHRo
ZSBwYXRoIHRvIHRoZSBiYXNlIGRpcmVjdG9yeSBmcm9tCisgICAgaXRzIGhlYWQsIHJlbW92aW5n
IF9TT1VSQ0VfU1VGRklYIGZyb20gaXRzIHRhaWwsIGFuZCByZXBsYWNpbmcgcGF0aAorICAgIHNl
cGFyYXRvcnMgaW4gaXQgd2l0aCAnLycuCisKKyAgICBBcmdzOgorICAgICAgICBiYXNlX2Rpcjog
dGhlIHBhdGggdG8gdGhlIGJhc2UgZGlyZWN0b3J5LgorICAgICIiIgorCisgICAgYmFzZV9kaXIg
PSBfbm9ybWFsaXplX3BhdGgoYmFzZV9kaXIpCisKKyAgICBiYXNlX2xlbiA9IGxlbihiYXNlX2Rp
cikKKyAgICBzdWZmaXhfbGVuID0gbGVuKF9TT1VSQ0VfU1VGRklYKQorCisgICAgZGVmIGNvbnZl
cnRlcihwYXRoKToKKyAgICAgICAgaWYgbm90IHBhdGguZW5kc3dpdGgoX1NPVVJDRV9TVUZGSVgp
OgorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgIyBfbm9ybWFsaXplX3BhdGggbXVz
dCBub3QgYmUgdXNlZCBiZWNhdXNlIHJlc29sdmluZyBzeW1saW5rIGJyZWFrcworICAgICAgICAj
IGZvbGxvd2luZyBwYXRoIGNoZWNrLgorICAgICAgICBwYXRoID0gcGF0aC5yZXBsYWNlKCdcXCcs
ICcvJykKKyAgICAgICAgaWYgbm90IHBhdGguc3RhcnRzd2l0aChiYXNlX2Rpcik6CisgICAgICAg
ICAgICByZXR1cm4gTm9uZQorICAgICAgICByZXR1cm4gcGF0aFtiYXNlX2xlbjotc3VmZml4X2xl
bl0KKworICAgIHJldHVybiBjb252ZXJ0ZXIKKworCitkZWYgX2VudW1lcmF0ZV9oYW5kbGVyX2Zp
bGVfcGF0aHMoZGlyZWN0b3J5KToKKyAgICAiIiJSZXR1cm5zIGEgZ2VuZXJhdG9yIHRoYXQgZW51
bWVyYXRlcyBXZWJTb2NrZXQgSGFuZGxlciBzb3VyY2UgZmlsZSBuYW1lcworICAgIGluIHRoZSBn
aXZlbiBkaXJlY3RvcnkuCisgICAgIiIiCisKKyAgICBmb3Igcm9vdCwgdW51c2VkX2RpcnMsIGZp
bGVzIGluIG9zLndhbGsoZGlyZWN0b3J5KToKKyAgICAgICAgZm9yIGJhc2UgaW4gZmlsZXM6Cisg
ICAgICAgICAgICBwYXRoID0gb3MucGF0aC5qb2luKHJvb3QsIGJhc2UpCisgICAgICAgICAgICBp
ZiBfU09VUkNFX1BBVEhfUEFUVEVSTi5zZWFyY2gocGF0aCk6CisgICAgICAgICAgICAgICAgeWll
bGQgcGF0aAorCisKK2NsYXNzIF9IYW5kbGVyU3VpdGUob2JqZWN0KToKKyAgICAiIiJBIGhhbmRs
ZXIgc3VpdGUgaG9sZGVyIGNsYXNzLiIiIgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBkb19leHRy
YV9oYW5kc2hha2UsIHRyYW5zZmVyX2RhdGEsCisgICAgICAgICAgICAgICAgIHBhc3NpdmVfY2xv
c2luZ19oYW5kc2hha2UpOgorICAgICAgICBzZWxmLmRvX2V4dHJhX2hhbmRzaGFrZSA9IGRvX2V4
dHJhX2hhbmRzaGFrZQorICAgICAgICBzZWxmLnRyYW5zZmVyX2RhdGEgPSB0cmFuc2Zlcl9kYXRh
CisgICAgICAgIHNlbGYucGFzc2l2ZV9jbG9zaW5nX2hhbmRzaGFrZSA9IHBhc3NpdmVfY2xvc2lu
Z19oYW5kc2hha2UKKworCitkZWYgX3NvdXJjZV9oYW5kbGVyX2ZpbGUoaGFuZGxlcl9kZWZpbml0
aW9uKToKKyAgICAiIiJTb3VyY2UgYSBoYW5kbGVyIGRlZmluaXRpb24gc3RyaW5nLgorCisgICAg
QXJnczoKKyAgICAgICAgaGFuZGxlcl9kZWZpbml0aW9uOiBhIHN0cmluZyBjb250YWluaW5nIFB5
dGhvbiBzdGF0ZW1lbnRzIHRoYXQgZGVmaW5lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aGFuZGxlciBmdW5jdGlvbnMuCisgICAgIiIiCisKKyAgICBnbG9iYWxfZGljID0ge30KKyAgICB0
cnk6CisgICAgICAgICMgVGhpcyBzdGF0ZW1lbnQgaXMgZ3JhbWF0aWNhbGx5IGRpZmZlcmVudCBp
biBweXRob24gMiBhbmQgMy4KKyAgICAgICAgIyBIZW5jZSwgeWFwZiB3aWxsIGNvbXBsYWluIGFi
b3V0IHRoaXMuIFRvIG92ZXJjb21lIHRoaXMsIHdlIGRpc2FibGUKKyAgICAgICAgIyB5YXBmIGZv
ciB0aGlzIGxpbmUuCisgICAgICAgIGV4ZWMoaGFuZGxlcl9kZWZpbml0aW9uLCBnbG9iYWxfZGlj
KSAjIHlhcGY6IGRpc2FibGUKKyAgICBleGNlcHQgRXhjZXB0aW9uOgorICAgICAgICByYWlzZSBE
aXNwYXRjaEV4Y2VwdGlvbignRXJyb3IgaW4gc291cmNpbmcgaGFuZGxlcjonICsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2ViYWNrLmZvcm1hdF9leGMoKSkKKyAgICBwYXNz
aXZlX2Nsb3NpbmdfaGFuZHNoYWtlX2hhbmRsZXIgPSBOb25lCisgICAgdHJ5OgorICAgICAgICBw
YXNzaXZlX2Nsb3NpbmdfaGFuZHNoYWtlX2hhbmRsZXIgPSBfZXh0cmFjdF9oYW5kbGVyKAorICAg
ICAgICAgICAgZ2xvYmFsX2RpYywgX1BBU1NJVkVfQ0xPU0lOR19IQU5EU0hBS0VfSEFORExFUl9O
QU1FKQorICAgIGV4Y2VwdCBFeGNlcHRpb246CisgICAgICAgIHBhc3NpdmVfY2xvc2luZ19oYW5k
c2hha2VfaGFuZGxlciA9ICgKKyAgICAgICAgICAgIF9kZWZhdWx0X3Bhc3NpdmVfY2xvc2luZ19o
YW5kc2hha2VfaGFuZGxlcikKKyAgICByZXR1cm4gX0hhbmRsZXJTdWl0ZSgKKyAgICAgICAgX2V4
dHJhY3RfaGFuZGxlcihnbG9iYWxfZGljLCBfRE9fRVhUUkFfSEFORFNIQUtFX0hBTkRMRVJfTkFN
RSksCisgICAgICAgIF9leHRyYWN0X2hhbmRsZXIoZ2xvYmFsX2RpYywgX1RSQU5TRkVSX0RBVEFf
SEFORExFUl9OQU1FKSwKKyAgICAgICAgcGFzc2l2ZV9jbG9zaW5nX2hhbmRzaGFrZV9oYW5kbGVy
KQorCisKK2RlZiBfZXh0cmFjdF9oYW5kbGVyKGRpYywgbmFtZSk6CisgICAgIiIiRXh0cmFjdHMg
YSBjYWxsYWJsZSB3aXRoIHRoZSBzcGVjaWZpZWQgbmFtZSBmcm9tIHRoZSBnaXZlbiBkaWN0aW9u
YXJ5CisgICAgZGljLgorICAgICIiIgorCisgICAgaWYgbmFtZSBub3QgaW4gZGljOgorICAgICAg
ICByYWlzZSBEaXNwYXRjaEV4Y2VwdGlvbignJXMgaXMgbm90IGRlZmluZWQuJyAlIG5hbWUpCisg
ICAgaGFuZGxlciA9IGRpY1tuYW1lXQorICAgIGlmIG5vdCBjYWxsYWJsZShoYW5kbGVyKToKKyAg
ICAgICAgcmFpc2UgRGlzcGF0Y2hFeGNlcHRpb24oJyVzIGlzIG5vdCBjYWxsYWJsZS4nICUgbmFt
ZSkKKyAgICByZXR1cm4gaGFuZGxlcgorCisKK2NsYXNzIERpc3BhdGNoZXIob2JqZWN0KToKKyAg
ICAiIiJEaXNwYXRjaGVzIFdlYlNvY2tldCByZXF1ZXN0cy4KKworICAgIFRoaXMgY2xhc3MgbWFp
bnRhaW5zIGEgbWFwIGZyb20gcmVzb3VyY2UgbmFtZSB0byBoYW5kbGVycy4KKyAgICAiIiIKKyAg
ICBkZWYgX19pbml0X18oc2VsZiwKKyAgICAgICAgICAgICAgICAgcm9vdF9kaXIsCisgICAgICAg
ICAgICAgICAgIHNjYW5fZGlyPU5vbmUsCisgICAgICAgICAgICAgICAgIGFsbG93X2hhbmRsZXJz
X291dHNpZGVfcm9vdF9kaXI9VHJ1ZSk6CisgICAgICAgICIiIkNvbnN0cnVjdCBhbiBpbnN0YW5j
ZS4KKworICAgICAgICBBcmdzOgorICAgICAgICAgICAgcm9vdF9kaXI6IFRoZSBkaXJlY3Rvcnkg
d2hlcmUgaGFuZGxlciBkZWZpbml0aW9uIGZpbGVzIGFyZQorICAgICAgICAgICAgICAgICAgICAg
IHBsYWNlZC4KKyAgICAgICAgICAgIHNjYW5fZGlyOiBUaGUgZGlyZWN0b3J5IHdoZXJlIGhhbmRs
ZXIgZGVmaW5pdGlvbiBmaWxlcyBhcmUKKyAgICAgICAgICAgICAgICAgICAgICBzZWFyY2hlZC4g
c2Nhbl9kaXIgbXVzdCBiZSBhIGRpcmVjdG9yeSB1bmRlciByb290X2RpciwKKyAgICAgICAgICAg
ICAgICAgICAgICBpbmNsdWRpbmcgcm9vdF9kaXIgaXRzZWxmLiAgSWYgc2Nhbl9kaXIgaXMgTm9u
ZSwKKyAgICAgICAgICAgICAgICAgICAgICByb290X2RpciBpcyB1c2VkIGFzIHNjYW5fZGlyLiBz
Y2FuX2RpciBjYW4gYmUgdXNlZnVsCisgICAgICAgICAgICAgICAgICAgICAgaW4gc2F2aW5nIHNj
YW4gdGltZSB3aGVuIHJvb3RfZGlyIGNvbnRhaW5zIG1hbnkKKyAgICAgICAgICAgICAgICAgICAg
ICBzdWJkaXJlY3Rvcmllcy4KKyAgICAgICAgICAgIGFsbG93X2hhbmRsZXJzX291dHNpZGVfcm9v
dF9kaXI6IFNjYW5zIGhhbmRsZXIgZmlsZXMgZXZlbiBpZiB0aGVpcgorICAgICAgICAgICAgICAg
ICAgICAgIGNhbm9uaWNhbCBwYXRoIGlzIG5vdCB1bmRlciByb290X2Rpci4KKyAgICAgICAgIiIi
CisKKyAgICAgICAgc2VsZi5fbG9nZ2VyID0gdXRpbC5nZXRfY2xhc3NfbG9nZ2VyKHNlbGYpCisK
KyAgICAgICAgc2VsZi5faGFuZGxlcl9zdWl0ZV9tYXAgPSB7fQorICAgICAgICBzZWxmLl9zb3Vy
Y2Vfd2FybmluZ3MgPSBbXQorICAgICAgICBpZiBzY2FuX2RpciBpcyBOb25lOgorICAgICAgICAg
ICAgc2Nhbl9kaXIgPSByb290X2RpcgorICAgICAgICBpZiBub3Qgb3MucGF0aC5yZWFscGF0aChz
Y2FuX2Rpcikuc3RhcnRzd2l0aCgKKyAgICAgICAgICAgICAgICBvcy5wYXRoLnJlYWxwYXRoKHJv
b3RfZGlyKSk6CisgICAgICAgICAgICByYWlzZSBEaXNwYXRjaEV4Y2VwdGlvbignc2Nhbl9kaXI6
JXMgbXVzdCBiZSBhIGRpcmVjdG9yeSB1bmRlciAnCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAncm9vdF9kaXI6JXMuJyAlIChzY2FuX2Rpciwgcm9vdF9kaXIpKQorICAgICAg
ICBzZWxmLl9zb3VyY2VfaGFuZGxlcl9maWxlc19pbl9kaXIocm9vdF9kaXIsIHNjYW5fZGlyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsb3dfaGFuZGxlcnNf
b3V0c2lkZV9yb290X2RpcikKKworICAgIGRlZiBhZGRfcmVzb3VyY2VfcGF0aF9hbGlhcyhzZWxm
LCBhbGlhc19yZXNvdXJjZV9wYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBl
eGlzdGluZ19yZXNvdXJjZV9wYXRoKToKKyAgICAgICAgIiIiQWRkIHJlc291cmNlIHBhdGggYWxp
YXMuCisKKyAgICAgICAgT25jZSBhZGRlZCwgcmVxdWVzdCB0byBhbGlhc19yZXNvdXJjZV9wYXRo
IHdvdWxkIGJlIGhhbmRsZWQgYnkKKyAgICAgICAgaGFuZGxlciByZWdpc3RlcmVkIGZvciBleGlz
dGluZ19yZXNvdXJjZV9wYXRoLgorCisgICAgICAgIEFyZ3M6CisgICAgICAgICAgICBhbGlhc19y
ZXNvdXJjZV9wYXRoOiBhbGlhcyByZXNvdXJjZSBwYXRoCisgICAgICAgICAgICBleGlzdGluZ19y
ZXNvdXJjZV9wYXRoOiBleGlzdGluZyByZXNvdXJjZSBwYXRoCisgICAgICAgICIiIgorICAgICAg
ICB0cnk6CisgICAgICAgICAgICBoYW5kbGVyX3N1aXRlID0gc2VsZi5faGFuZGxlcl9zdWl0ZV9t
YXBbZXhpc3RpbmdfcmVzb3VyY2VfcGF0aF0KKyAgICAgICAgICAgIHNlbGYuX2hhbmRsZXJfc3Vp
dGVfbWFwW2FsaWFzX3Jlc291cmNlX3BhdGhdID0gaGFuZGxlcl9zdWl0ZQorICAgICAgICBleGNl
cHQgS2V5RXJyb3I6CisgICAgICAgICAgICByYWlzZSBEaXNwYXRjaEV4Y2VwdGlvbignTm8gaGFu
ZGxlciBmb3I6ICVyJyAlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGlz
dGluZ19yZXNvdXJjZV9wYXRoKQorCisgICAgZGVmIHNvdXJjZV93YXJuaW5ncyhzZWxmKToKKyAg
ICAgICAgIiIiUmV0dXJuIHdhcm5pbmdzIGluIHNvdXJjaW5nIGhhbmRsZXJzLiIiIgorCisgICAg
ICAgIHJldHVybiBzZWxmLl9zb3VyY2Vfd2FybmluZ3MKKworICAgIGRlZiBkb19leHRyYV9oYW5k
c2hha2Uoc2VsZiwgcmVxdWVzdCk6CisgICAgICAgICIiIkRvIGV4dHJhIGNoZWNraW5nIGluIFdl
YlNvY2tldCBoYW5kc2hha2UuCisKKyAgICAgICAgU2VsZWN0IGEgaGFuZGxlciBiYXNlZCBvbiBy
ZXF1ZXN0LnVyaSBhbmQgY2FsbCBpdHMKKyAgICAgICAgd2ViX3NvY2tldF9kb19leHRyYV9oYW5k
c2hha2UgZnVuY3Rpb24uCisKKyAgICAgICAgQXJnczoKKyAgICAgICAgICAgIHJlcXVlc3Q6IG1v
ZF9weXRob24gcmVxdWVzdC4KKworICAgICAgICBSYWlzZXM6CisgICAgICAgICAgICBEaXNwYXRj
aEV4Y2VwdGlvbjogd2hlbiBoYW5kbGVyIHdhcyBub3QgZm91bmQKKyAgICAgICAgICAgIEFib3J0
ZWRCeVVzZXJFeGNlcHRpb246IHdoZW4gdXNlciBoYW5kbGVyIGFib3J0IGNvbm5lY3Rpb24KKyAg
ICAgICAgICAgIEhhbmRzaGFrZUV4Y2VwdGlvbjogd2hlbiBvcGVuaW5nIGhhbmRzaGFrZSBmYWls
ZWQKKyAgICAgICAgIiIiCisKKyAgICAgICAgaGFuZGxlcl9zdWl0ZSA9IHNlbGYuZ2V0X2hhbmRs
ZXJfc3VpdGUocmVxdWVzdC53c19yZXNvdXJjZSkKKyAgICAgICAgaWYgaGFuZGxlcl9zdWl0ZSBp
cyBOb25lOgorICAgICAgICAgICAgcmFpc2UgRGlzcGF0Y2hFeGNlcHRpb24oJ05vIGhhbmRsZXIg
Zm9yOiAlcicgJSByZXF1ZXN0LndzX3Jlc291cmNlKQorICAgICAgICBkb19leHRyYV9oYW5kc2hh
a2VfID0gaGFuZGxlcl9zdWl0ZS5kb19leHRyYV9oYW5kc2hha2UKKyAgICAgICAgdHJ5OgorICAg
ICAgICAgICAgZG9fZXh0cmFfaGFuZHNoYWtlXyhyZXF1ZXN0KQorICAgICAgICBleGNlcHQgaGFu
ZHNoYWtlLkFib3J0ZWRCeVVzZXJFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgICMgUmUtcmFp
c2UgdG8gdGVsbCB0aGUgY2FsbGVyIG9mIHRoaXMgZnVuY3Rpb24gdG8gZmluaXNoIHRoaXMKKyAg
ICAgICAgICAgICMgY29ubmVjdGlvbiB3aXRob3V0IHNlbmRpbmcgYW55IGVycm9yLgorICAgICAg
ICAgICAgc2VsZi5fbG9nZ2VyLmRlYnVnKCclcycsIHRyYWNlYmFjay5mb3JtYXRfZXhjKCkpCisg
ICAgICAgICAgICByYWlzZQorICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CisgICAgICAg
ICAgICB1dGlsLnByZXBlbmRfbWVzc2FnZV90b19leGNlcHRpb24oCisgICAgICAgICAgICAgICAg
JyVzIHJhaXNlZCBleGNlcHRpb24gZm9yICVzOiAnICUKKyAgICAgICAgICAgICAgICAoX0RPX0VY
VFJBX0hBTkRTSEFLRV9IQU5ETEVSX05BTUUsIHJlcXVlc3Qud3NfcmVzb3VyY2UpLCBlKQorICAg
ICAgICAgICAgcmFpc2UgaGFuZHNoYWtlLkhhbmRzaGFrZUV4Y2VwdGlvbihlLCBjb21tb24uSFRU
UF9TVEFUVVNfRk9SQklEREVOKQorCisgICAgZGVmIHRyYW5zZmVyX2RhdGEoc2VsZiwgcmVxdWVz
dCk6CisgICAgICAgICIiIkxldCBhIGhhbmRsZXIgdHJhbnNmZXJfZGF0YSB3aXRoIGEgV2ViU29j
a2V0IGNsaWVudC4KKworICAgICAgICBTZWxlY3QgYSBoYW5kbGVyIGJhc2VkIG9uIHJlcXVlc3Qu
d3NfcmVzb3VyY2UgYW5kIGNhbGwgaXRzCisgICAgICAgIHdlYl9zb2NrZXRfdHJhbnNmZXJfZGF0
YSBmdW5jdGlvbi4KKworICAgICAgICBBcmdzOgorICAgICAgICAgICAgcmVxdWVzdDogbW9kX3B5
dGhvbiByZXF1ZXN0LgorCisgICAgICAgIFJhaXNlczoKKyAgICAgICAgICAgIERpc3BhdGNoRXhj
ZXB0aW9uOiB3aGVuIGhhbmRsZXIgd2FzIG5vdCBmb3VuZAorICAgICAgICAgICAgQWJvcnRlZEJ5
VXNlckV4Y2VwdGlvbjogd2hlbiB1c2VyIGhhbmRsZXIgYWJvcnQgY29ubmVjdGlvbgorICAgICAg
ICAiIiIKKworICAgICAgICAjIFRPRE8odHlvc2hpbm8pOiBUZXJtaW5hdGUgdW5kZXJseWluZyBU
Q1AgY29ubmVjdGlvbiBpZiBwb3NzaWJsZS4KKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgaGFu
ZGxlcl9zdWl0ZSA9IHNlbGYuZ2V0X2hhbmRsZXJfc3VpdGUocmVxdWVzdC53c19yZXNvdXJjZSkK
KyAgICAgICAgICAgIGlmIGhhbmRsZXJfc3VpdGUgaXMgTm9uZToKKyAgICAgICAgICAgICAgICBy
YWlzZSBEaXNwYXRjaEV4Y2VwdGlvbignTm8gaGFuZGxlciBmb3I6ICVyJyAlCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdC53c19yZXNvdXJjZSkKKyAgICAg
ICAgICAgIHRyYW5zZmVyX2RhdGFfID0gaGFuZGxlcl9zdWl0ZS50cmFuc2Zlcl9kYXRhCisgICAg
ICAgICAgICB0cmFuc2Zlcl9kYXRhXyhyZXF1ZXN0KQorCisgICAgICAgICAgICBpZiBub3QgcmVx
dWVzdC5zZXJ2ZXJfdGVybWluYXRlZDoKKyAgICAgICAgICAgICAgICByZXF1ZXN0LndzX3N0cmVh
bS5jbG9zZV9jb25uZWN0aW9uKCkKKyAgICAgICAgIyBDYXRjaCBub24tY3JpdGljYWwgZXhjZXB0
aW9ucyB0aGUgaGFuZGxlciBkaWRuJ3QgaGFuZGxlLgorICAgICAgICBleGNlcHQgaGFuZHNoYWtl
LkFib3J0ZWRCeVVzZXJFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgIHNlbGYuX2xvZ2dlci5k
ZWJ1ZygnJXMnLCB0cmFjZWJhY2suZm9ybWF0X2V4YygpKQorICAgICAgICAgICAgcmFpc2UKKyAg
ICAgICAgZXhjZXB0IG1zZ3V0aWwuQmFkT3BlcmF0aW9uRXhjZXB0aW9uIGFzIGU6CisgICAgICAg
ICAgICBzZWxmLl9sb2dnZXIuZGVidWcoJyVzJywgZSkKKyAgICAgICAgICAgIHJlcXVlc3Qud3Nf
c3RyZWFtLmNsb3NlX2Nvbm5lY3Rpb24oCisgICAgICAgICAgICAgICAgY29tbW9uLlNUQVRVU19J
TlRFUk5BTF9FTkRQT0lOVF9FUlJPUikKKyAgICAgICAgZXhjZXB0IG1zZ3V0aWwuSW52YWxpZEZy
YW1lRXhjZXB0aW9uIGFzIGU6CisgICAgICAgICAgICAjIEludmFsaWRGcmFtZUV4Y2VwdGlvbiBt
dXN0IGJlIGNhdWdodCBiZWZvcmUKKyAgICAgICAgICAgICMgQ29ubmVjdGlvblRlcm1pbmF0ZWRF
eGNlcHRpb24gdGhhdCBjYXRjaGVzIEludmFsaWRGcmFtZUV4Y2VwdGlvbi4KKyAgICAgICAgICAg
IHNlbGYuX2xvZ2dlci5kZWJ1ZygnJXMnLCBlKQorICAgICAgICAgICAgcmVxdWVzdC53c19zdHJl
YW0uY2xvc2VfY29ubmVjdGlvbihjb21tb24uU1RBVFVTX1BST1RPQ09MX0VSUk9SKQorICAgICAg
ICBleGNlcHQgbXNndXRpbC5VbnN1cHBvcnRlZEZyYW1lRXhjZXB0aW9uIGFzIGU6CisgICAgICAg
ICAgICBzZWxmLl9sb2dnZXIuZGVidWcoJyVzJywgZSkKKyAgICAgICAgICAgIHJlcXVlc3Qud3Nf
c3RyZWFtLmNsb3NlX2Nvbm5lY3Rpb24oY29tbW9uLlNUQVRVU19VTlNVUFBPUlRFRF9EQVRBKQor
ICAgICAgICBleGNlcHQgc3RyZWFtLkludmFsaWRVVEY4RXhjZXB0aW9uIGFzIGU6CisgICAgICAg
ICAgICBzZWxmLl9sb2dnZXIuZGVidWcoJyVzJywgZSkKKyAgICAgICAgICAgIHJlcXVlc3Qud3Nf
c3RyZWFtLmNsb3NlX2Nvbm5lY3Rpb24oCisgICAgICAgICAgICAgICAgY29tbW9uLlNUQVRVU19J
TlZBTElEX0ZSQU1FX1BBWUxPQURfREFUQSkKKyAgICAgICAgZXhjZXB0IG1zZ3V0aWwuQ29ubmVj
dGlvblRlcm1pbmF0ZWRFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgIHNlbGYuX2xvZ2dlci5k
ZWJ1ZygnJXMnLCBlKQorICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CisgICAgICAgICAg
ICAjIEFueSBvdGhlciBleGNlcHRpb25zIGFyZSBmb3J3YXJkZWQgdG8gdGhlIGNhbGxlciBvZiB0
aGlzCisgICAgICAgICAgICAjIGZ1bmN0aW9uLgorICAgICAgICAgICAgdXRpbC5wcmVwZW5kX21l
c3NhZ2VfdG9fZXhjZXB0aW9uKAorICAgICAgICAgICAgICAgICclcyByYWlzZWQgZXhjZXB0aW9u
IGZvciAlczogJyAlCisgICAgICAgICAgICAgICAgKF9UUkFOU0ZFUl9EQVRBX0hBTkRMRVJfTkFN
RSwgcmVxdWVzdC53c19yZXNvdXJjZSksIGUpCisgICAgICAgICAgICByYWlzZQorCisgICAgZGVm
IHBhc3NpdmVfY2xvc2luZ19oYW5kc2hha2Uoc2VsZiwgcmVxdWVzdCk6CisgICAgICAgICIiIlBy
ZXBhcmUgY29kZSBhbmQgcmVhc29uIGZvciByZXNwb25kaW5nIGNsaWVudCBpbml0aWF0ZWQgY2xv
c2luZworICAgICAgICBoYW5kc2hha2UuCisgICAgICAgICIiIgorCisgICAgICAgIGhhbmRsZXJf
c3VpdGUgPSBzZWxmLmdldF9oYW5kbGVyX3N1aXRlKHJlcXVlc3Qud3NfcmVzb3VyY2UpCisgICAg
ICAgIGlmIGhhbmRsZXJfc3VpdGUgaXMgTm9uZToKKyAgICAgICAgICAgIHJldHVybiBfZGVmYXVs
dF9wYXNzaXZlX2Nsb3NpbmdfaGFuZHNoYWtlX2hhbmRsZXIocmVxdWVzdCkKKyAgICAgICAgcmV0
dXJuIGhhbmRsZXJfc3VpdGUucGFzc2l2ZV9jbG9zaW5nX2hhbmRzaGFrZShyZXF1ZXN0KQorCisg
ICAgZGVmIGdldF9oYW5kbGVyX3N1aXRlKHNlbGYsIHJlc291cmNlKToKKyAgICAgICAgIiIiUmV0
cmlldmVzIHR3byBoYW5kbGVycyAob25lIGZvciBleHRyYSBoYW5kc2hha2UgcHJvY2Vzc2luZywg
YW5kIG9uZQorICAgICAgICBmb3IgZGF0YSB0cmFuc2ZlcikgZm9yIHRoZSBnaXZlbiByZXF1ZXN0
IGFzIGEgSGFuZGxlclN1aXRlIG9iamVjdC4KKyAgICAgICAgIiIiCisKKyAgICAgICAgZnJhZ21l
bnQgPSBOb25lCisgICAgICAgIGlmICcjJyBpbiByZXNvdXJjZToKKyAgICAgICAgICAgIHJlc291
cmNlLCBmcmFnbWVudCA9IHJlc291cmNlLnNwbGl0KCcjJywgMSkKKyAgICAgICAgaWYgJz8nIGlu
IHJlc291cmNlOgorICAgICAgICAgICAgcmVzb3VyY2UgPSByZXNvdXJjZS5zcGxpdCgnPycsIDEp
WzBdCisgICAgICAgIGhhbmRsZXJfc3VpdGUgPSBzZWxmLl9oYW5kbGVyX3N1aXRlX21hcC5nZXQo
cmVzb3VyY2UpCisgICAgICAgIGlmIGhhbmRsZXJfc3VpdGUgYW5kIGZyYWdtZW50OgorICAgICAg
ICAgICAgcmFpc2UgRGlzcGF0Y2hFeGNlcHRpb24oCisgICAgICAgICAgICAgICAgJ0ZyYWdtZW50
IGlkZW50aWZpZXJzIE1VU1QgTk9UIGJlIHVzZWQgb24gV2ViU29ja2V0IFVSSXMnLAorICAgICAg
ICAgICAgICAgIGNvbW1vbi5IVFRQX1NUQVRVU19CQURfUkVRVUVTVCkKKyAgICAgICAgcmV0dXJu
IGhhbmRsZXJfc3VpdGUKKworICAgIGRlZiBfc291cmNlX2hhbmRsZXJfZmlsZXNfaW5fZGlyKHNl
bGYsIHJvb3RfZGlyLCBzY2FuX2RpciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBhbGxvd19oYW5kbGVyc19vdXRzaWRlX3Jvb3RfZGlyKToKKyAgICAgICAgIiIiU291cmNl
IGFsbCB0aGUgaGFuZGxlciBzb3VyY2UgZmlsZXMgaW4gdGhlIHNjYW5fZGlyIGRpcmVjdG9yeS4K
KworICAgICAgICBUaGUgcmVzb3VyY2UgcGF0aCBpcyBkZXRlcm1pbmVkIHJlbGF0aXZlIHRvIHJv
b3RfZGlyLgorICAgICAgICAiIiIKKworICAgICAgICAjIFdlIGJ1aWxkIGEgbWFwIGZyb20gcmVz
b3VyY2UgdG8gaGFuZGxlciBjb2RlIGFzc3VtaW5nIHRoYXQgdGhlcmUncworICAgICAgICAjIG9u
bHkgb25lIHBhdGggZnJvbSByb290X2RpciB0byBzY2FuX2RpciBhbmQgaXQgY2FuIGJlIG9idGFp
bmVkIGJ5CisgICAgICAgICMgY29tcGFyaW5nIHJlYWxwYXRoIG9mIHRoZW0uCisKKyAgICAgICAg
IyBIZXJlIHdlIGNhbm5vdCB1c2UgYWJzcGF0aC4gU2VlCisgICAgICAgICMgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMxNjAzCisKKyAgICAgICAgY29udmVydCA9IF9j
cmVhdGVfcGF0aF90b19yZXNvdXJjZV9jb252ZXJ0ZXIocm9vdF9kaXIpCisgICAgICAgIHNjYW5f
cmVhbHBhdGggPSBvcy5wYXRoLnJlYWxwYXRoKHNjYW5fZGlyKQorICAgICAgICByb290X3JlYWxw
YXRoID0gb3MucGF0aC5yZWFscGF0aChyb290X2RpcikKKyAgICAgICAgZm9yIHBhdGggaW4gX2Vu
dW1lcmF0ZV9oYW5kbGVyX2ZpbGVfcGF0aHMoc2Nhbl9yZWFscGF0aCk6CisgICAgICAgICAgICBp
ZiAobm90IGFsbG93X2hhbmRsZXJzX291dHNpZGVfcm9vdF9kaXIgYW5kCisgICAgICAgICAgICAg
ICAgKG5vdCBvcy5wYXRoLnJlYWxwYXRoKHBhdGgpLnN0YXJ0c3dpdGgocm9vdF9yZWFscGF0aCkp
KToKKyAgICAgICAgICAgICAgICBzZWxmLl9sb2dnZXIuZGVidWcoCisgICAgICAgICAgICAgICAg
ICAgICdDYW5vbmljYWwgcGF0aCBvZiAlcyBpcyBub3QgdW5kZXIgcm9vdCBkaXJlY3RvcnknICUg
cGF0aCkKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgdHJ5OgorICAgICAg
ICAgICAgICAgIHdpdGggb3BlbihwYXRoKSBhcyBoYW5kbGVyX2ZpbGU6CisgICAgICAgICAgICAg
ICAgICAgIGhhbmRsZXJfc3VpdGUgPSBfc291cmNlX2hhbmRsZXJfZmlsZShoYW5kbGVyX2ZpbGUu
cmVhZCgpKQorICAgICAgICAgICAgZXhjZXB0IERpc3BhdGNoRXhjZXB0aW9uIGFzIGU6CisgICAg
ICAgICAgICAgICAgc2VsZi5fc291cmNlX3dhcm5pbmdzLmFwcGVuZCgnJXM6ICVzJyAlIChwYXRo
LCBlKSkKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgcmVzb3VyY2UgPSBj
b252ZXJ0KHBhdGgpCisgICAgICAgICAgICBpZiByZXNvdXJjZSBpcyBOb25lOgorICAgICAgICAg
ICAgICAgIHNlbGYuX2xvZ2dlci5kZWJ1ZygnUGF0aCB0byByZXNvdXJjZSBjb252ZXJzaW9uIG9u
ICVzIGZhaWxlZCcgJQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoKQor
ICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBzZWxmLl9oYW5kbGVyX3N1aXRlX21h
cFtjb252ZXJ0KHBhdGgpXSA9IGhhbmRsZXJfc3VpdGUKKworCisjIHZpOnN0cz00IHN3PTQgZXQK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL21vZF9weXdlYnNvY2tldC9leHRlbnNpb25z
LnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90
aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvbW9kX3B5d2Vic29ja2V0L2V4dGVuc2lvbnMucHkKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMzQ0NTM5ZjZmY2UxNGJlZTY1ZDdmYTdhNTgzYWNiYjY1ZjAyM2FmZgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL21vZF9weXdlYnNvY2tldC9leHRlbnNpb25z
LnB5CkBAIC0wLDAgKzEsNDczIEBACisjIENvcHlyaWdodCAyMDEyLCBHb29nbGUgSW5jLgorIyBB
bGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorIyBt
ZXQ6CisjCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisjIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorIyBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisj
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUKKyMgZGlzdHJpYnV0aW9uLgorIyAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2ds
ZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisjIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisjIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisjCisjIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMKKyMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisjIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisjIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLAorIyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorIyBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyMgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworZnJvbSBfX2Z1dHVyZV9f
IGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQKK2Zyb20gbW9kX3B5d2Vic29ja2V0IGltcG9ydCBjb21t
b24KK2Zyb20gbW9kX3B5d2Vic29ja2V0IGltcG9ydCB1dGlsCitmcm9tIG1vZF9weXdlYnNvY2tl
dC5odHRwX2hlYWRlcl91dGlsIGltcG9ydCBxdW90ZV9pZl9uZWNlc3NhcnkKKworIyBUaGUgbGlz
dCBvZiBhdmFpbGFibGUgc2VydmVyIHNpZGUgZXh0ZW5zaW9uIHByb2Nlc3NvciBjbGFzc2VzLgor
X2F2YWlsYWJsZV9wcm9jZXNzb3JzID0ge30KKworCitjbGFzcyBFeHRlbnNpb25Qcm9jZXNzb3JJ
bnRlcmZhY2Uob2JqZWN0KToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgcmVxdWVzdCk6CisgICAg
ICAgIHNlbGYuX2xvZ2dlciA9IHV0aWwuZ2V0X2NsYXNzX2xvZ2dlcihzZWxmKQorCisgICAgICAg
IHNlbGYuX3JlcXVlc3QgPSByZXF1ZXN0CisgICAgICAgIHNlbGYuX2FjdGl2ZSA9IFRydWUKKwor
ICAgIGRlZiByZXF1ZXN0KHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5fcmVxdWVzdAorCisg
ICAgZGVmIG5hbWUoc2VsZik6CisgICAgICAgIHJldHVybiBOb25lCisKKyAgICBkZWYgY2hlY2tf
Y29uc2lzdGVuY3lfd2l0aF9vdGhlcl9wcm9jZXNzb3JzKHNlbGYsIHByb2Nlc3NvcnMpOgorICAg
ICAgICBwYXNzCisKKyAgICBkZWYgc2V0X2FjdGl2ZShzZWxmLCBhY3RpdmUpOgorICAgICAgICBz
ZWxmLl9hY3RpdmUgPSBhY3RpdmUKKworICAgIGRlZiBpc19hY3RpdmUoc2VsZik6CisgICAgICAg
IHJldHVybiBzZWxmLl9hY3RpdmUKKworICAgIGRlZiBfZ2V0X2V4dGVuc2lvbl9yZXNwb25zZV9p
bnRlcm5hbChzZWxmKToKKyAgICAgICAgcmV0dXJuIE5vbmUKKworICAgIGRlZiBnZXRfZXh0ZW5z
aW9uX3Jlc3BvbnNlKHNlbGYpOgorICAgICAgICBpZiBub3Qgc2VsZi5fYWN0aXZlOgorICAgICAg
ICAgICAgc2VsZi5fbG9nZ2VyLmRlYnVnKCdFeHRlbnNpb24gJXMgaXMgZGVhY3RpdmF0ZWQnLCBz
ZWxmLm5hbWUoKSkKKyAgICAgICAgICAgIHJldHVybiBOb25lCisKKyAgICAgICAgcmVzcG9uc2Ug
PSBzZWxmLl9nZXRfZXh0ZW5zaW9uX3Jlc3BvbnNlX2ludGVybmFsKCkKKyAgICAgICAgaWYgcmVz
cG9uc2UgaXMgTm9uZToKKyAgICAgICAgICAgIHNlbGYuX2FjdGl2ZSA9IEZhbHNlCisgICAgICAg
IHJldHVybiByZXNwb25zZQorCisgICAgZGVmIF9zZXR1cF9zdHJlYW1fb3B0aW9uc19pbnRlcm5h
bChzZWxmLCBzdHJlYW1fb3B0aW9ucyk6CisgICAgICAgIHBhc3MKKworICAgIGRlZiBzZXR1cF9z
dHJlYW1fb3B0aW9ucyhzZWxmLCBzdHJlYW1fb3B0aW9ucyk6CisgICAgICAgIGlmIHNlbGYuX2Fj
dGl2ZToKKyAgICAgICAgICAgIHNlbGYuX3NldHVwX3N0cmVhbV9vcHRpb25zX2ludGVybmFsKHN0
cmVhbV9vcHRpb25zKQorCisKK2RlZiBfbG9nX291dGdvaW5nX2NvbXByZXNzaW9uX3JhdGlvKGxv
Z2dlciwgb3JpZ2luYWxfYnl0ZXMsIGZpbHRlcmVkX2J5dGVzLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgYXZlcmFnZV9yYXRpbyk6CisgICAgIyBQcmludCBpbmYgd2hlbiBy
YXRpbyBpcyBub3QgYXZhaWxhYmxlLgorICAgIHJhdGlvID0gZmxvYXQoJ2luZicpCisgICAgaWYg
b3JpZ2luYWxfYnl0ZXMgIT0gMDoKKyAgICAgICAgcmF0aW8gPSBmbG9hdChmaWx0ZXJlZF9ieXRl
cykgLyBvcmlnaW5hbF9ieXRlcworCisgICAgbG9nZ2VyLmRlYnVnKCdPdXRnb2luZyBjb21wcmVz
c2lvbiByYXRpbzogJWYgKGF2ZXJhZ2U6ICVmKScgJQorICAgICAgICAgICAgICAgICAocmF0aW8s
IGF2ZXJhZ2VfcmF0aW8pKQorCisKK2RlZiBfbG9nX2luY29taW5nX2NvbXByZXNzaW9uX3JhdGlv
KGxvZ2dlciwgcmVjZWl2ZWRfYnl0ZXMsIGZpbHRlcmVkX2J5dGVzLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgYXZlcmFnZV9yYXRpbyk6CisgICAgIyBQcmludCBpbmYgd2hl
biByYXRpbyBpcyBub3QgYXZhaWxhYmxlLgorICAgIHJhdGlvID0gZmxvYXQoJ2luZicpCisgICAg
aWYgZmlsdGVyZWRfYnl0ZXMgIT0gMDoKKyAgICAgICAgcmF0aW8gPSBmbG9hdChyZWNlaXZlZF9i
eXRlcykgLyBmaWx0ZXJlZF9ieXRlcworCisgICAgbG9nZ2VyLmRlYnVnKCdJbmNvbWluZyBjb21w
cmVzc2lvbiByYXRpbzogJWYgKGF2ZXJhZ2U6ICVmKScgJQorICAgICAgICAgICAgICAgICAocmF0
aW8sIGF2ZXJhZ2VfcmF0aW8pKQorCisKK2RlZiBfcGFyc2Vfd2luZG93X2JpdHMoYml0cyk6Cisg
ICAgIiIiUmV0dXJuIHBhcnNlZCBpbnRlZ2VyIHZhbHVlIGlmZiB0aGUgZ2l2ZW4gc3RyaW5nIGNv
bmZvcm1zIHRvIHRoZQorICAgIGdyYW1tYXIgb2YgdGhlIHdpbmRvdyBiaXRzIGV4dGVuc2lvbiBw
YXJhbWV0ZXJzLgorICAgICIiIgorCisgICAgaWYgYml0cyBpcyBOb25lOgorICAgICAgICByYWlz
ZSBWYWx1ZUVycm9yKCdWYWx1ZSBpcyByZXF1aXJlZCcpCisKKyAgICAjIEZvciBub24gaW50ZWdl
ciB2YWx1ZXMgc3VjaCBhcyAiMTAuMCIsIFZhbHVlRXJyb3Igd2lsbCBiZSByYWlzZWQuCisgICAg
aW50X2JpdHMgPSBpbnQoYml0cykKKworICAgICMgRmlyc3QgY29uZGl0aW9uIGlzIHRvIGRyb3Ag
bGVhZGluZyB6ZXJvIGNhc2UgZS5nLiAiMDgiLgorICAgIGlmIGJpdHMgIT0gc3RyKGludF9iaXRz
KSBvciBpbnRfYml0cyA8IDggb3IgaW50X2JpdHMgPiAxNToKKyAgICAgICAgcmFpc2UgVmFsdWVF
cnJvcignSW52YWxpZCB2YWx1ZTogJXInICUgYml0cykKKworICAgIHJldHVybiBpbnRfYml0cwor
CisKK2NsYXNzIF9BdmVyYWdlUmF0aW9DYWxjdWxhdG9yKG9iamVjdCk6CisgICAgIiIiU3RvcmVz
IHRvdGFsIGJ5dGVzIG9mIG9yaWdpbmFsIGFuZCByZXN1bHQgZGF0YSwgYW5kIGNhbGN1bGF0ZXMg
YXZlcmFnZQorICAgIHJlc3VsdCAvIG9yaWdpbmFsIHJhdGlvLgorICAgICIiIgorICAgIGRlZiBf
X2luaXRfXyhzZWxmKToKKyAgICAgICAgc2VsZi5fdG90YWxfb3JpZ2luYWxfYnl0ZXMgPSAwCisg
ICAgICAgIHNlbGYuX3RvdGFsX3Jlc3VsdF9ieXRlcyA9IDAKKworICAgIGRlZiBhZGRfb3JpZ2lu
YWxfYnl0ZXMoc2VsZiwgdmFsdWUpOgorICAgICAgICBzZWxmLl90b3RhbF9vcmlnaW5hbF9ieXRl
cyArPSB2YWx1ZQorCisgICAgZGVmIGFkZF9yZXN1bHRfYnl0ZXMoc2VsZiwgdmFsdWUpOgorICAg
ICAgICBzZWxmLl90b3RhbF9yZXN1bHRfYnl0ZXMgKz0gdmFsdWUKKworICAgIGRlZiBnZXRfYXZl
cmFnZV9yYXRpbyhzZWxmKToKKyAgICAgICAgaWYgc2VsZi5fdG90YWxfb3JpZ2luYWxfYnl0ZXMg
IT0gMDoKKyAgICAgICAgICAgIHJldHVybiAoZmxvYXQoc2VsZi5fdG90YWxfcmVzdWx0X2J5dGVz
KSAvCisgICAgICAgICAgICAgICAgICAgIHNlbGYuX3RvdGFsX29yaWdpbmFsX2J5dGVzKQorICAg
ICAgICBlbHNlOgorICAgICAgICAgICAgcmV0dXJuIGZsb2F0KCdpbmYnKQorCisKK2NsYXNzIFBl
ck1lc3NhZ2VEZWZsYXRlRXh0ZW5zaW9uUHJvY2Vzc29yKEV4dGVuc2lvblByb2Nlc3NvckludGVy
ZmFjZSk6CisgICAgIiIicGVybWVzc2FnZS1kZWZsYXRlIGV4dGVuc2lvbiBwcm9jZXNzb3IuCisK
KyAgICBTcGVjaWZpY2F0aW9uOgorICAgIGh0dHA6Ly90b29scy5pZXRmLm9yZy9odG1sL2RyYWZ0
LWlldGYtaHliaS1wZXJtZXNzYWdlLWNvbXByZXNzaW9uLTA4CisgICAgIiIiCisKKyAgICBfU0VS
VkVSX01BWF9XSU5ET1dfQklUU19QQVJBTSA9ICdzZXJ2ZXJfbWF4X3dpbmRvd19iaXRzJworICAg
IF9TRVJWRVJfTk9fQ09OVEVYVF9UQUtFT1ZFUl9QQVJBTSA9ICdzZXJ2ZXJfbm9fY29udGV4dF90
YWtlb3ZlcicKKyAgICBfQ0xJRU5UX01BWF9XSU5ET1dfQklUU19QQVJBTSA9ICdjbGllbnRfbWF4
X3dpbmRvd19iaXRzJworICAgIF9DTElFTlRfTk9fQ09OVEVYVF9UQUtFT1ZFUl9QQVJBTSA9ICdj
bGllbnRfbm9fY29udGV4dF90YWtlb3ZlcicKKworICAgIGRlZiBfX2luaXRfXyhzZWxmLCByZXF1
ZXN0KToKKyAgICAgICAgIiIiQ29uc3RydWN0IFBlck1lc3NhZ2VEZWZsYXRlRXh0ZW5zaW9uUHJv
Y2Vzc29yLiIiIgorCisgICAgICAgIEV4dGVuc2lvblByb2Nlc3NvckludGVyZmFjZS5fX2luaXRf
XyhzZWxmLCByZXF1ZXN0KQorICAgICAgICBzZWxmLl9sb2dnZXIgPSB1dGlsLmdldF9jbGFzc19s
b2dnZXIoc2VsZikKKworICAgICAgICBzZWxmLl9wcmVmZXJyZWRfY2xpZW50X21heF93aW5kb3df
Yml0cyA9IE5vbmUKKyAgICAgICAgc2VsZi5fY2xpZW50X25vX2NvbnRleHRfdGFrZW92ZXIgPSBG
YWxzZQorCisgICAgZGVmIG5hbWUoc2VsZik6CisgICAgICAgICMgVGhpcyBtZXRob2QgcmV0dXJu
cyAiZGVmbGF0ZSIgKG5vdCAicGVybWVzc2FnZS1kZWZsYXRlIikgZm9yCisgICAgICAgICMgY29t
cGF0aWJpbGl0eS4KKyAgICAgICAgcmV0dXJuICdkZWZsYXRlJworCisgICAgZGVmIF9nZXRfZXh0
ZW5zaW9uX3Jlc3BvbnNlX2ludGVybmFsKHNlbGYpOgorICAgICAgICBmb3IgbmFtZSBpbiBzZWxm
Ll9yZXF1ZXN0LmdldF9wYXJhbWV0ZXJfbmFtZXMoKToKKyAgICAgICAgICAgIGlmIG5hbWUgbm90
IGluIFsKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5fU0VSVkVSX01BWF9XSU5ET1dfQklUU19Q
QVJBTSwKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5fU0VSVkVSX05PX0NPTlRFWFRfVEFLRU9W
RVJfUEFSQU0sCisgICAgICAgICAgICAgICAgICAgIHNlbGYuX0NMSUVOVF9NQVhfV0lORE9XX0JJ
VFNfUEFSQU0KKyAgICAgICAgICAgIF06CisgICAgICAgICAgICAgICAgc2VsZi5fbG9nZ2VyLmRl
YnVnKCdVbmtub3duIHBhcmFtZXRlcjogJXInLCBuYW1lKQorICAgICAgICAgICAgICAgIHJldHVy
biBOb25lCisKKyAgICAgICAgc2VydmVyX21heF93aW5kb3dfYml0cyA9IE5vbmUKKyAgICAgICAg
aWYgc2VsZi5fcmVxdWVzdC5oYXNfcGFyYW1ldGVyKHNlbGYuX1NFUlZFUl9NQVhfV0lORE9XX0JJ
VFNfUEFSQU0pOgorICAgICAgICAgICAgc2VydmVyX21heF93aW5kb3dfYml0cyA9IHNlbGYuX3Jl
cXVlc3QuZ2V0X3BhcmFtZXRlcl92YWx1ZSgKKyAgICAgICAgICAgICAgICBzZWxmLl9TRVJWRVJf
TUFYX1dJTkRPV19CSVRTX1BBUkFNKQorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAg
IHNlcnZlcl9tYXhfd2luZG93X2JpdHMgPSBfcGFyc2Vfd2luZG93X2JpdHMoCisgICAgICAgICAg
ICAgICAgICAgIHNlcnZlcl9tYXhfd2luZG93X2JpdHMpCisgICAgICAgICAgICBleGNlcHQgVmFs
dWVFcnJvciBhcyBlOgorICAgICAgICAgICAgICAgIHNlbGYuX2xvZ2dlci5kZWJ1ZygnQmFkICVz
IHBhcmFtZXRlcjogJXInLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxm
Ll9TRVJWRVJfTUFYX1dJTkRPV19CSVRTX1BBUkFNLCBlKQorICAgICAgICAgICAgICAgIHJldHVy
biBOb25lCisKKyAgICAgICAgc2VydmVyX25vX2NvbnRleHRfdGFrZW92ZXIgPSBzZWxmLl9yZXF1
ZXN0Lmhhc19wYXJhbWV0ZXIoCisgICAgICAgICAgICBzZWxmLl9TRVJWRVJfTk9fQ09OVEVYVF9U
QUtFT1ZFUl9QQVJBTSkKKyAgICAgICAgaWYgKHNlcnZlcl9ub19jb250ZXh0X3Rha2VvdmVyIGFu
ZCBzZWxmLl9yZXF1ZXN0LmdldF9wYXJhbWV0ZXJfdmFsdWUoCisgICAgICAgICAgICAgICAgc2Vs
Zi5fU0VSVkVSX05PX0NPTlRFWFRfVEFLRU9WRVJfUEFSQU0pIGlzIG5vdCBOb25lKToKKyAgICAg
ICAgICAgIHNlbGYuX2xvZ2dlci5kZWJ1ZygnJXMgcGFyYW1ldGVyIG11c3Qgbm90IGhhdmUgYSB2
YWx1ZTogJXInLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX1NFUlZFUl9O
T19DT05URVhUX1RBS0VPVkVSX1BBUkFNLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHNlcnZlcl9ub19jb250ZXh0X3Rha2VvdmVyKQorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKwor
ICAgICAgICAjIGNsaWVudF9tYXhfd2luZG93X2JpdHMgZnJvbSBhIGNsaWVudCBpbmRpY2F0ZXMg
d2hldGhlciB0aGUgY2xpZW50IGNhbgorICAgICAgICAjIGFjY2VwdCBjbGllbnRfbWF4X3dpbmRv
d19iaXRzIGZyb20gYSBzZXJ2ZXIgb3Igbm90LgorICAgICAgICBjbGllbnRfY2xpZW50X21heF93
aW5kb3dfYml0cyA9IHNlbGYuX3JlcXVlc3QuaGFzX3BhcmFtZXRlcigKKyAgICAgICAgICAgIHNl
bGYuX0NMSUVOVF9NQVhfV0lORE9XX0JJVFNfUEFSQU0pCisgICAgICAgIGlmIChjbGllbnRfY2xp
ZW50X21heF93aW5kb3dfYml0cworICAgICAgICAgICAgICAgIGFuZCBzZWxmLl9yZXF1ZXN0Lmdl
dF9wYXJhbWV0ZXJfdmFsdWUoCisgICAgICAgICAgICAgICAgICAgIHNlbGYuX0NMSUVOVF9NQVhf
V0lORE9XX0JJVFNfUEFSQU0pIGlzIG5vdCBOb25lKToKKyAgICAgICAgICAgIHNlbGYuX2xvZ2dl
ci5kZWJ1ZygKKyAgICAgICAgICAgICAgICAnJXMgcGFyYW1ldGVyIG11c3Qgbm90IGhhdmUgYSB2
YWx1ZSBpbiBhICcKKyAgICAgICAgICAgICAgICAnY2xpZW50XCdzIG9wZW5pbmcgaGFuZHNoYWtl
OiAlcicsCisgICAgICAgICAgICAgICAgc2VsZi5fQ0xJRU5UX01BWF9XSU5ET1dfQklUU19QQVJB
TSwKKyAgICAgICAgICAgICAgICBjbGllbnRfY2xpZW50X21heF93aW5kb3dfYml0cykKKyAgICAg
ICAgICAgIHJldHVybiBOb25lCisKKyAgICAgICAgc2VsZi5fcmZjMTk3OV9kZWZsYXRlciA9IHV0
aWwuX1JGQzE5NzlEZWZsYXRlcigKKyAgICAgICAgICAgIHNlcnZlcl9tYXhfd2luZG93X2JpdHMs
IHNlcnZlcl9ub19jb250ZXh0X3Rha2VvdmVyKQorCisgICAgICAgICMgTm90ZSB0aGF0IHdlIHBy
ZXBhcmUgZm9yIGluY29taW5nIG1lc3NhZ2VzIGNvbXByZXNzZWQgd2l0aCB3aW5kb3cKKyAgICAg
ICAgIyBiaXRzIHVwdG8gMTUgcmVnYXJkbGVzcyBvZiB0aGUgY2xpZW50X21heF93aW5kb3dfYml0
cyB2YWx1ZSB0byBiZQorICAgICAgICAjIHNlbnQgdG8gdGhlIGNsaWVudC4KKyAgICAgICAgc2Vs
Zi5fcmZjMTk3OV9pbmZsYXRlciA9IHV0aWwuX1JGQzE5NzlJbmZsYXRlcigpCisKKyAgICAgICAg
c2VsZi5fZnJhbWVyID0gX1Blck1lc3NhZ2VEZWZsYXRlRnJhbWVyKHNlcnZlcl9tYXhfd2luZG93
X2JpdHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
ZXJ2ZXJfbm9fY29udGV4dF90YWtlb3ZlcikKKyAgICAgICAgc2VsZi5fZnJhbWVyLnNldF9iZmlu
YWwoRmFsc2UpCisgICAgICAgIHNlbGYuX2ZyYW1lci5zZXRfY29tcHJlc3Nfb3V0Z29pbmdfZW5h
YmxlZChUcnVlKQorCisgICAgICAgIHJlc3BvbnNlID0gY29tbW9uLkV4dGVuc2lvblBhcmFtZXRl
cihzZWxmLl9yZXF1ZXN0Lm5hbWUoKSkKKworICAgICAgICBpZiBzZXJ2ZXJfbWF4X3dpbmRvd19i
aXRzIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgcmVzcG9uc2UuYWRkX3BhcmFtZXRlcihzZWxm
Ll9TRVJWRVJfTUFYX1dJTkRPV19CSVRTX1BBUkFNLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzdHIoc2VydmVyX21heF93aW5kb3dfYml0cykpCisKKyAgICAgICAgaWYgc2Vy
dmVyX25vX2NvbnRleHRfdGFrZW92ZXI6CisgICAgICAgICAgICByZXNwb25zZS5hZGRfcGFyYW1l
dGVyKHNlbGYuX1NFUlZFUl9OT19DT05URVhUX1RBS0VPVkVSX1BBUkFNLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBOb25lKQorCisgICAgICAgIGlmIHNlbGYuX3ByZWZlcnJl
ZF9jbGllbnRfbWF4X3dpbmRvd19iaXRzIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgaWYgbm90
IGNsaWVudF9jbGllbnRfbWF4X3dpbmRvd19iaXRzOgorICAgICAgICAgICAgICAgIHNlbGYuX2xv
Z2dlci5kZWJ1ZygKKyAgICAgICAgICAgICAgICAgICAgJ1Byb2Nlc3NvciBpcyBjb25maWd1cmVk
IHRvIHVzZSAlcyBidXQgJworICAgICAgICAgICAgICAgICAgICAndGhlIGNsaWVudCBjYW5ub3Qg
YWNjZXB0IGl0JywKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5fQ0xJRU5UX01BWF9XSU5ET1df
QklUU19QQVJBTSkKKyAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICAgICAgcmVz
cG9uc2UuYWRkX3BhcmFtZXRlcihzZWxmLl9DTElFTlRfTUFYX1dJTkRPV19CSVRTX1BBUkFNLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIoc2VsZi5fcHJlZmVycmVkX2Ns
aWVudF9tYXhfd2luZG93X2JpdHMpKQorCisgICAgICAgIGlmIHNlbGYuX2NsaWVudF9ub19jb250
ZXh0X3Rha2VvdmVyOgorICAgICAgICAgICAgcmVzcG9uc2UuYWRkX3BhcmFtZXRlcihzZWxmLl9D
TElFTlRfTk9fQ09OVEVYVF9UQUtFT1ZFUl9QQVJBTSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgTm9uZSkKKworICAgICAgICBzZWxmLl9sb2dnZXIuZGVidWcoJ0VuYWJsZSAl
cyBleHRlbnNpb24gKCcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1ZXN0OiBzZXJ2
ZXJfbWF4X3dpbmRvd19iaXRzPSVzOyAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2Vy
dmVyX25vX2NvbnRleHRfdGFrZW92ZXI9JXIsICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICdyZXNwb25zZTogY2xpZW50X21heF93aW5kb3dfYml0cz0lczsgJworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJ2NsaWVudF9ub19jb250ZXh0X3Rha2VvdmVyPSVyKScgJQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgKHNlbGYuX3JlcXVlc3QubmFtZSgpLCBzZXJ2ZXJfbWF4X3dpbmRv
d19iaXRzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlcl9ub19jb250ZXh0X3Rh
a2VvdmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3ByZWZlcnJlZF9jbGll
bnRfbWF4X3dpbmRvd19iaXRzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2Ns
aWVudF9ub19jb250ZXh0X3Rha2VvdmVyKSkKKworICAgICAgICByZXR1cm4gcmVzcG9uc2UKKwor
ICAgIGRlZiBfc2V0dXBfc3RyZWFtX29wdGlvbnNfaW50ZXJuYWwoc2VsZiwgc3RyZWFtX29wdGlv
bnMpOgorICAgICAgICBzZWxmLl9mcmFtZXIuc2V0dXBfc3RyZWFtX29wdGlvbnMoc3RyZWFtX29w
dGlvbnMpCisKKyAgICBkZWYgc2V0X2NsaWVudF9tYXhfd2luZG93X2JpdHMoc2VsZiwgdmFsdWUp
OgorICAgICAgICAiIiJJZiB0aGlzIG9wdGlvbiBpcyBzcGVjaWZpZWQsIHRoaXMgY2xhc3MgYWRk
cyB0aGUKKyAgICAgICAgY2xpZW50X21heF93aW5kb3dfYml0cyBleHRlbnNpb24gcGFyYW1ldGVy
IHRvIHRoZSBoYW5kc2hha2UgcmVzcG9uc2UsCisgICAgICAgIGJ1dCBkb2Vzbid0IHJlZHVjZSB0
aGUgTFo3NyBzbGlkaW5nIHdpbmRvdyBzaXplIG9mIGl0cyBpbmZsYXRlci4KKyAgICAgICAgSS5l
LiwgeW91IGNhbiB1c2UgdGhpcyBmb3IgdGVzdGluZyBjbGllbnQgaW1wbGVtZW50YXRpb24gYnV0
IGNhbm5vdAorICAgICAgICByZWR1Y2UgbWVtb3J5IHVzYWdlIG9mIHRoaXMgY2xhc3MuCisKKyAg
ICAgICAgSWYgdGhpcyBtZXRob2QgaGFzIGJlZW4gY2FsbGVkIHdpdGggVHJ1ZSBhbmQgYW4gb2Zm
ZXIgd2l0aG91dCB0aGUKKyAgICAgICAgY2xpZW50X21heF93aW5kb3dfYml0cyBleHRlbnNpb24g
cGFyYW1ldGVyIGlzIHJlY2VpdmVkLAorICAgICAgICAtIChXaGVuIHByb2Nlc3NpbmcgdGhlIHBl
cm1lc3NhZ2UtZGVmbGF0ZSBleHRlbnNpb24pIHRoaXMgcHJvY2Vzc29yCisgICAgICAgICAgZGVj
bGluZXMgdGhlIHJlcXVlc3QuCisgICAgICAgIC0gKFdoZW4gcHJvY2Vzc2luZyB0aGUgcGVybWVz
c2FnZS1jb21wcmVzcyBleHRlbnNpb24pIHRoaXMgcHJvY2Vzc29yCisgICAgICAgICAgYWNjZXB0
cyB0aGUgcmVxdWVzdC4KKyAgICAgICAgIiIiCisKKyAgICAgICAgc2VsZi5fcHJlZmVycmVkX2Ns
aWVudF9tYXhfd2luZG93X2JpdHMgPSB2YWx1ZQorCisgICAgZGVmIHNldF9jbGllbnRfbm9fY29u
dGV4dF90YWtlb3ZlcihzZWxmLCB2YWx1ZSk6CisgICAgICAgICIiIklmIHRoaXMgb3B0aW9uIGlz
IHNwZWNpZmllZCwgdGhpcyBjbGFzcyBhZGRzIHRoZQorICAgICAgICBjbGllbnRfbm9fY29udGV4
dF90YWtlb3ZlciBleHRlbnNpb24gcGFyYW1ldGVyIHRvIHRoZSBoYW5kc2hha2UKKyAgICAgICAg
cmVzcG9uc2UsIGJ1dCBkb2Vzbid0IHJlc2V0IGluZmxhdGVyIGZvciBlYWNoIG1lc3NhZ2UuIEku
ZS4sIHlvdSBjYW4KKyAgICAgICAgdXNlIHRoaXMgZm9yIHRlc3RpbmcgY2xpZW50IGltcGxlbWVu
dGF0aW9uIGJ1dCBjYW5ub3QgcmVkdWNlIG1lbW9yeQorICAgICAgICB1c2FnZSBvZiB0aGlzIGNs
YXNzLgorICAgICAgICAiIiIKKworICAgICAgICBzZWxmLl9jbGllbnRfbm9fY29udGV4dF90YWtl
b3ZlciA9IHZhbHVlCisKKyAgICBkZWYgc2V0X2JmaW5hbChzZWxmLCB2YWx1ZSk6CisgICAgICAg
IHNlbGYuX2ZyYW1lci5zZXRfYmZpbmFsKHZhbHVlKQorCisgICAgZGVmIGVuYWJsZV9vdXRnb2lu
Z19jb21wcmVzc2lvbihzZWxmKToKKyAgICAgICAgc2VsZi5fZnJhbWVyLnNldF9jb21wcmVzc19v
dXRnb2luZ19lbmFibGVkKFRydWUpCisKKyAgICBkZWYgZGlzYWJsZV9vdXRnb2luZ19jb21wcmVz
c2lvbihzZWxmKToKKyAgICAgICAgc2VsZi5fZnJhbWVyLnNldF9jb21wcmVzc19vdXRnb2luZ19l
bmFibGVkKEZhbHNlKQorCisKK2NsYXNzIF9QZXJNZXNzYWdlRGVmbGF0ZUZyYW1lcihvYmplY3Qp
OgorICAgICIiIkEgZnJhbWVyIGZvciBleHRlbnNpb25zIHdpdGggcGVyLW1lc3NhZ2UgREVGTEFU
RSBmZWF0dXJlLiIiIgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBkZWZsYXRlX21heF93aW5kb3df
Yml0cywgZGVmbGF0ZV9ub19jb250ZXh0X3Rha2VvdmVyKToKKyAgICAgICAgc2VsZi5fbG9nZ2Vy
ID0gdXRpbC5nZXRfY2xhc3NfbG9nZ2VyKHNlbGYpCisKKyAgICAgICAgc2VsZi5fcmZjMTk3OV9k
ZWZsYXRlciA9IHV0aWwuX1JGQzE5NzlEZWZsYXRlcigKKyAgICAgICAgICAgIGRlZmxhdGVfbWF4
X3dpbmRvd19iaXRzLCBkZWZsYXRlX25vX2NvbnRleHRfdGFrZW92ZXIpCisKKyAgICAgICAgc2Vs
Zi5fcmZjMTk3OV9pbmZsYXRlciA9IHV0aWwuX1JGQzE5NzlJbmZsYXRlcigpCisKKyAgICAgICAg
c2VsZi5fYmZpbmFsID0gRmFsc2UKKworICAgICAgICBzZWxmLl9jb21wcmVzc19vdXRnb2luZ19l
bmFibGVkID0gRmFsc2UKKworICAgICAgICAjIFRydWUgaWYgYSBtZXNzYWdlIGlzIGZyYWdtZW50
ZWQgYW5kIGNvbXByZXNzaW9uIGlzIG9uZ29pbmcuCisgICAgICAgIHNlbGYuX2NvbXByZXNzX29u
Z29pbmcgPSBGYWxzZQorCisgICAgICAgICMgQ2FsY3VsYXRlcworICAgICAgICAjICAgICAoVG90
YWwgb3V0Z29pbmcgYnl0ZXMgc3VwcGxpZWQgdG8gdGhpcyBmaWx0ZXIpIC8KKyAgICAgICAgIyAg
ICAgKFRvdGFsIGJ5dGVzIHNlbnQgdG8gdGhlIG5ldHdvcmsgYWZ0ZXIgYXBwbHlpbmcgdGhpcyBm
aWx0ZXIpCisgICAgICAgIHNlbGYuX291dGdvaW5nX2F2ZXJhZ2VfcmF0aW9fY2FsY3VsYXRvciA9
IF9BdmVyYWdlUmF0aW9DYWxjdWxhdG9yKCkKKworICAgICAgICAjIENhbGN1bGF0ZXMKKyAgICAg
ICAgIyAgICAgKFRvdGFsIGJ5dGVzIHJlY2VpdmVkIGZyb20gdGhlIG5ldHdvcmspIC8KKyAgICAg
ICAgIyAgICAgKFRvdGFsIGluY29taW5nIGJ5dGVzIG9idGFpbmVkIGFmdGVyIGFwcGx5aW5nIHRo
aXMgZmlsdGVyKQorICAgICAgICBzZWxmLl9pbmNvbWluZ19hdmVyYWdlX3JhdGlvX2NhbGN1bGF0
b3IgPSBfQXZlcmFnZVJhdGlvQ2FsY3VsYXRvcigpCisKKyAgICBkZWYgc2V0X2JmaW5hbChzZWxm
LCB2YWx1ZSk6CisgICAgICAgIHNlbGYuX2JmaW5hbCA9IHZhbHVlCisKKyAgICBkZWYgc2V0X2Nv
bXByZXNzX291dGdvaW5nX2VuYWJsZWQoc2VsZiwgdmFsdWUpOgorICAgICAgICBzZWxmLl9jb21w
cmVzc19vdXRnb2luZ19lbmFibGVkID0gdmFsdWUKKworICAgIGRlZiBfcHJvY2Vzc19pbmNvbWlu
Z19tZXNzYWdlKHNlbGYsIG1lc3NhZ2UsIGRlY29tcHJlc3MpOgorICAgICAgICBpZiBub3QgZGVj
b21wcmVzczoKKyAgICAgICAgICAgIHJldHVybiBtZXNzYWdlCisKKyAgICAgICAgcmVjZWl2ZWRf
cGF5bG9hZF9zaXplID0gbGVuKG1lc3NhZ2UpCisgICAgICAgIHNlbGYuX2luY29taW5nX2F2ZXJh
Z2VfcmF0aW9fY2FsY3VsYXRvci5hZGRfcmVzdWx0X2J5dGVzKAorICAgICAgICAgICAgcmVjZWl2
ZWRfcGF5bG9hZF9zaXplKQorCisgICAgICAgIG1lc3NhZ2UgPSBzZWxmLl9yZmMxOTc5X2luZmxh
dGVyLmZpbHRlcihtZXNzYWdlKQorCisgICAgICAgIGZpbHRlcmVkX3BheWxvYWRfc2l6ZSA9IGxl
bihtZXNzYWdlKQorICAgICAgICBzZWxmLl9pbmNvbWluZ19hdmVyYWdlX3JhdGlvX2NhbGN1bGF0
b3IuYWRkX29yaWdpbmFsX2J5dGVzKAorICAgICAgICAgICAgZmlsdGVyZWRfcGF5bG9hZF9zaXpl
KQorCisgICAgICAgIF9sb2dfaW5jb21pbmdfY29tcHJlc3Npb25fcmF0aW8oCisgICAgICAgICAg
ICBzZWxmLl9sb2dnZXIsIHJlY2VpdmVkX3BheWxvYWRfc2l6ZSwgZmlsdGVyZWRfcGF5bG9hZF9z
aXplLAorICAgICAgICAgICAgc2VsZi5faW5jb21pbmdfYXZlcmFnZV9yYXRpb19jYWxjdWxhdG9y
LmdldF9hdmVyYWdlX3JhdGlvKCkpCisKKyAgICAgICAgcmV0dXJuIG1lc3NhZ2UKKworICAgIGRl
ZiBfcHJvY2Vzc19vdXRnb2luZ19tZXNzYWdlKHNlbGYsIG1lc3NhZ2UsIGVuZCwgYmluYXJ5KToK
KyAgICAgICAgaWYgbm90IGJpbmFyeToKKyAgICAgICAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLmVu
Y29kZSgndXRmLTgnKQorCisgICAgICAgIGlmIG5vdCBzZWxmLl9jb21wcmVzc19vdXRnb2luZ19l
bmFibGVkOgorICAgICAgICAgICAgcmV0dXJuIG1lc3NhZ2UKKworICAgICAgICBvcmlnaW5hbF9w
YXlsb2FkX3NpemUgPSBsZW4obWVzc2FnZSkKKyAgICAgICAgc2VsZi5fb3V0Z29pbmdfYXZlcmFn
ZV9yYXRpb19jYWxjdWxhdG9yLmFkZF9vcmlnaW5hbF9ieXRlcygKKyAgICAgICAgICAgIG9yaWdp
bmFsX3BheWxvYWRfc2l6ZSkKKworICAgICAgICBtZXNzYWdlID0gc2VsZi5fcmZjMTk3OV9kZWZs
YXRlci5maWx0ZXIobWVzc2FnZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGVuZD1lbmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBiZmluYWw9c2VsZi5fYmZpbmFsKQorCisgICAgICAgIGZpbHRlcmVkX3Bh
eWxvYWRfc2l6ZSA9IGxlbihtZXNzYWdlKQorICAgICAgICBzZWxmLl9vdXRnb2luZ19hdmVyYWdl
X3JhdGlvX2NhbGN1bGF0b3IuYWRkX3Jlc3VsdF9ieXRlcygKKyAgICAgICAgICAgIGZpbHRlcmVk
X3BheWxvYWRfc2l6ZSkKKworICAgICAgICBfbG9nX291dGdvaW5nX2NvbXByZXNzaW9uX3JhdGlv
KAorICAgICAgICAgICAgc2VsZi5fbG9nZ2VyLCBvcmlnaW5hbF9wYXlsb2FkX3NpemUsIGZpbHRl
cmVkX3BheWxvYWRfc2l6ZSwKKyAgICAgICAgICAgIHNlbGYuX291dGdvaW5nX2F2ZXJhZ2VfcmF0
aW9fY2FsY3VsYXRvci5nZXRfYXZlcmFnZV9yYXRpbygpKQorCisgICAgICAgIGlmIG5vdCBzZWxm
Ll9jb21wcmVzc19vbmdvaW5nOgorICAgICAgICAgICAgc2VsZi5fb3V0Z29pbmdfZnJhbWVfZmls
dGVyLnNldF9jb21wcmVzc2lvbl9iaXQoKQorICAgICAgICBzZWxmLl9jb21wcmVzc19vbmdvaW5n
ID0gbm90IGVuZAorICAgICAgICByZXR1cm4gbWVzc2FnZQorCisgICAgZGVmIF9wcm9jZXNzX2lu
Y29taW5nX2ZyYW1lKHNlbGYsIGZyYW1lKToKKyAgICAgICAgaWYgZnJhbWUucnN2MSA9PSAxIGFu
ZCBub3QgY29tbW9uLmlzX2NvbnRyb2xfb3Bjb2RlKGZyYW1lLm9wY29kZSk6CisgICAgICAgICAg
ICBzZWxmLl9pbmNvbWluZ19tZXNzYWdlX2ZpbHRlci5kZWNvbXByZXNzX25leHRfbWVzc2FnZSgp
CisgICAgICAgICAgICBmcmFtZS5yc3YxID0gMAorCisgICAgZGVmIF9wcm9jZXNzX291dGdvaW5n
X2ZyYW1lKHNlbGYsIGZyYW1lLCBjb21wcmVzc2lvbl9iaXQpOgorICAgICAgICBpZiAobm90IGNv
bXByZXNzaW9uX2JpdCBvciBjb21tb24uaXNfY29udHJvbF9vcGNvZGUoZnJhbWUub3Bjb2RlKSk6
CisgICAgICAgICAgICByZXR1cm4KKworICAgICAgICBmcmFtZS5yc3YxID0gMQorCisgICAgZGVm
IHNldHVwX3N0cmVhbV9vcHRpb25zKHNlbGYsIHN0cmVhbV9vcHRpb25zKToKKyAgICAgICAgIiIi
Q3JlYXRlcyBmaWx0ZXJzIGFuZCBzZXRzIHRoZW0gdG8gdGhlIFN0cmVhbU9wdGlvbnMuIiIiCisg
ICAgICAgIGNsYXNzIF9PdXRnb2luZ01lc3NhZ2VGaWx0ZXIob2JqZWN0KToKKyAgICAgICAgICAg
IGRlZiBfX2luaXRfXyhzZWxmLCBwYXJlbnQpOgorICAgICAgICAgICAgICAgIHNlbGYuX3BhcmVu
dCA9IHBhcmVudAorCisgICAgICAgICAgICBkZWYgZmlsdGVyKHNlbGYsIG1lc3NhZ2UsIGVuZD1U
cnVlLCBiaW5hcnk9RmFsc2UpOgorICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLl9wYXJlbnQu
X3Byb2Nlc3Nfb3V0Z29pbmdfbWVzc2FnZSgKKyAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSwg
ZW5kLCBiaW5hcnkpCisKKyAgICAgICAgY2xhc3MgX0luY29taW5nTWVzc2FnZUZpbHRlcihvYmpl
Y3QpOgorICAgICAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBhcmVudCk6CisgICAgICAgICAg
ICAgICAgc2VsZi5fcGFyZW50ID0gcGFyZW50CisgICAgICAgICAgICAgICAgc2VsZi5fZGVjb21w
cmVzc19uZXh0X21lc3NhZ2UgPSBGYWxzZQorCisgICAgICAgICAgICBkZWYgZGVjb21wcmVzc19u
ZXh0X21lc3NhZ2Uoc2VsZik6CisgICAgICAgICAgICAgICAgc2VsZi5fZGVjb21wcmVzc19uZXh0
X21lc3NhZ2UgPSBUcnVlCisKKyAgICAgICAgICAgIGRlZiBmaWx0ZXIoc2VsZiwgbWVzc2FnZSk6
CisgICAgICAgICAgICAgICAgbWVzc2FnZSA9IHNlbGYuX3BhcmVudC5fcHJvY2Vzc19pbmNvbWlu
Z19tZXNzYWdlKAorICAgICAgICAgICAgICAgICAgICBtZXNzYWdlLCBzZWxmLl9kZWNvbXByZXNz
X25leHRfbWVzc2FnZSkKKyAgICAgICAgICAgICAgICBzZWxmLl9kZWNvbXByZXNzX25leHRfbWVz
c2FnZSA9IEZhbHNlCisgICAgICAgICAgICAgICAgcmV0dXJuIG1lc3NhZ2UKKworICAgICAgICBz
ZWxmLl9vdXRnb2luZ19tZXNzYWdlX2ZpbHRlciA9IF9PdXRnb2luZ01lc3NhZ2VGaWx0ZXIoc2Vs
ZikKKyAgICAgICAgc2VsZi5faW5jb21pbmdfbWVzc2FnZV9maWx0ZXIgPSBfSW5jb21pbmdNZXNz
YWdlRmlsdGVyKHNlbGYpCisgICAgICAgIHN0cmVhbV9vcHRpb25zLm91dGdvaW5nX21lc3NhZ2Vf
ZmlsdGVycy5hcHBlbmQoCisgICAgICAgICAgICBzZWxmLl9vdXRnb2luZ19tZXNzYWdlX2ZpbHRl
cikKKyAgICAgICAgc3RyZWFtX29wdGlvbnMuaW5jb21pbmdfbWVzc2FnZV9maWx0ZXJzLmFwcGVu
ZCgKKyAgICAgICAgICAgIHNlbGYuX2luY29taW5nX21lc3NhZ2VfZmlsdGVyKQorCisgICAgICAg
IGNsYXNzIF9PdXRnb2luZ0ZyYW1lRmlsdGVyKG9iamVjdCk6CisgICAgICAgICAgICBkZWYgX19p
bml0X18oc2VsZiwgcGFyZW50KToKKyAgICAgICAgICAgICAgICBzZWxmLl9wYXJlbnQgPSBwYXJl
bnQKKyAgICAgICAgICAgICAgICBzZWxmLl9zZXRfY29tcHJlc3Npb25fYml0ID0gRmFsc2UKKwor
ICAgICAgICAgICAgZGVmIHNldF9jb21wcmVzc2lvbl9iaXQoc2VsZik6CisgICAgICAgICAgICAg
ICAgc2VsZi5fc2V0X2NvbXByZXNzaW9uX2JpdCA9IFRydWUKKworICAgICAgICAgICAgZGVmIGZp
bHRlcihzZWxmLCBmcmFtZSk6CisgICAgICAgICAgICAgICAgc2VsZi5fcGFyZW50Ll9wcm9jZXNz
X291dGdvaW5nX2ZyYW1lKGZyYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzZWxmLl9zZXRfY29tcHJlc3Npb25fYml0KQorICAgICAgICAg
ICAgICAgIHNlbGYuX3NldF9jb21wcmVzc2lvbl9iaXQgPSBGYWxzZQorCisgICAgICAgIGNsYXNz
IF9JbmNvbWluZ0ZyYW1lRmlsdGVyKG9iamVjdCk6CisgICAgICAgICAgICBkZWYgX19pbml0X18o
c2VsZiwgcGFyZW50KToKKyAgICAgICAgICAgICAgICBzZWxmLl9wYXJlbnQgPSBwYXJlbnQKKwor
ICAgICAgICAgICAgZGVmIGZpbHRlcihzZWxmLCBmcmFtZSk6CisgICAgICAgICAgICAgICAgc2Vs
Zi5fcGFyZW50Ll9wcm9jZXNzX2luY29taW5nX2ZyYW1lKGZyYW1lKQorCisgICAgICAgIHNlbGYu
X291dGdvaW5nX2ZyYW1lX2ZpbHRlciA9IF9PdXRnb2luZ0ZyYW1lRmlsdGVyKHNlbGYpCisgICAg
ICAgIHNlbGYuX2luY29taW5nX2ZyYW1lX2ZpbHRlciA9IF9JbmNvbWluZ0ZyYW1lRmlsdGVyKHNl
bGYpCisgICAgICAgIHN0cmVhbV9vcHRpb25zLm91dGdvaW5nX2ZyYW1lX2ZpbHRlcnMuYXBwZW5k
KAorICAgICAgICAgICAgc2VsZi5fb3V0Z29pbmdfZnJhbWVfZmlsdGVyKQorICAgICAgICBzdHJl
YW1fb3B0aW9ucy5pbmNvbWluZ19mcmFtZV9maWx0ZXJzLmFwcGVuZCgKKyAgICAgICAgICAgIHNl
bGYuX2luY29taW5nX2ZyYW1lX2ZpbHRlcikKKworICAgICAgICBzdHJlYW1fb3B0aW9ucy5lbmNv
ZGVfdGV4dF9tZXNzYWdlX3RvX3V0ZjggPSBGYWxzZQorCisKK19hdmFpbGFibGVfcHJvY2Vzc29y
c1tjb21tb24uUEVSTUVTU0FHRV9ERUZMQVRFX0VYVEVOU0lPTl0gPSAoCisgICAgUGVyTWVzc2Fn
ZURlZmxhdGVFeHRlbnNpb25Qcm9jZXNzb3IpCisKKworZGVmIGdldF9leHRlbnNpb25fcHJvY2Vz
c29yKGV4dGVuc2lvbl9yZXF1ZXN0KToKKyAgICAiIiJHaXZlbiBhbiBFeHRlbnNpb25QYXJhbWV0
ZXIgcmVwcmVzZW50aW5nIGFuIGV4dGVuc2lvbiBvZmZlciByZWNlaXZlZAorICAgIGZyb20gYSBj
bGllbnQsIGNvbmZpZ3VyZXMgYW5kIHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgdGhlIGNvcnJlc3Bv
bmRpbmcKKyAgICBleHRlbnNpb24gcHJvY2Vzc29yIGNsYXNzLgorICAgICIiIgorCisgICAgcHJv
Y2Vzc29yX2NsYXNzID0gX2F2YWlsYWJsZV9wcm9jZXNzb3JzLmdldChleHRlbnNpb25fcmVxdWVz
dC5uYW1lKCkpCisgICAgaWYgcHJvY2Vzc29yX2NsYXNzIGlzIE5vbmU6CisgICAgICAgIHJldHVy
biBOb25lCisgICAgcmV0dXJuIHByb2Nlc3Nvcl9jbGFzcyhleHRlbnNpb25fcmVxdWVzdCkKKwor
CisjIHZpOnN0cz00IHN3PTQgZXQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL21vZF9w
eXdlYnNvY2tldC9mYXN0X21hc2tpbmcuaSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL21vZF9weXdlYnNv
Y2tldC9mYXN0X21hc2tpbmcuaQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZGFhZDI3ZjUzYzQ2YmUyYTcxYzcwNGM3
MDhmYmIzZjQyZjFhM2QxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvbW9k
X3B5d2Vic29ja2V0L2Zhc3RfbWFza2luZy5pCkBAIC0wLDAgKzEsOTggQEAKKy8vIENvcHlyaWdo
dCAyMDEzLCBHb29nbGUgSW5jLgorLy8gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vCisvLyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKy8vIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKy8vIG1ldDoKKy8vCisvLyAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorLy8g
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorLy8gICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZQorLy8gY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorLy8gaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorLy8gZGlzdHJpYnV0aW9u
LgorLy8gICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVz
IG9mIGl0cworLy8gY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKy8vIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisvLworLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworLy8gIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QKKy8vIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgorLy8gQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKy8vIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorLy8g
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorLy8gTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisvLyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKy8vIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
Ky8vIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorLy8gT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCislbW9kdWxlIGZhc3RfbWFza2lu
ZworCislaW5jbHVkZSAiY3N0cmluZy5pIgorCisleworI2luY2x1ZGUgPGNzdHJpbmc+CisKKyNp
ZmRlZiBfX1NTRTJfXworI2luY2x1ZGUgPGVtbWludHJpbi5oPgorI2VuZGlmCislfQorCislYXBw
bHkgKGNoYXIgKlNUUklORywgaW50IExFTkdUSCkgeworICAgIChjb25zdCBjaGFyKiBwYXlsb2Fk
LCBpbnQgcGF5bG9hZF9sZW5ndGgpLAorICAgIChjb25zdCBjaGFyKiBtYXNraW5nX2tleSwgaW50
IG1hc2tpbmdfa2V5X2xlbmd0aCkgfTsKKyVjc3RyaW5nX291dHB1dF9hbGxvY2F0ZV9zaXplKAor
ICAgIGNoYXIqKiByZXN1bHQsIGludCogcmVzdWx0X2xlbmd0aCwgZGVsZXRlIFtdICokMSk7CisK
KyVpbmxpbmUgJXsKKwordm9pZCBtYXNrKAorICAgIGNvbnN0IGNoYXIqIHBheWxvYWQsIGludCBw
YXlsb2FkX2xlbmd0aCwKKyAgICBjb25zdCBjaGFyKiBtYXNraW5nX2tleSwgaW50IG1hc2tpbmdf
a2V5X2xlbmd0aCwKKyAgICBpbnQgbWFza2luZ19rZXlfaW5kZXgsCisgICAgY2hhcioqIHJlc3Vs
dCwgaW50KiByZXN1bHRfbGVuZ3RoKSB7CisgICpyZXN1bHQgPSBuZXcgY2hhcltwYXlsb2FkX2xl
bmd0aF07CisgICpyZXN1bHRfbGVuZ3RoID0gcGF5bG9hZF9sZW5ndGg7CisgIG1lbWNweSgqcmVz
dWx0LCBwYXlsb2FkLCBwYXlsb2FkX2xlbmd0aCk7CisKKyAgY2hhciogY3Vyc29yID0gKnJlc3Vs
dDsKKyAgY2hhciogY3Vyc29yX2VuZCA9ICpyZXN1bHQgKyAqcmVzdWx0X2xlbmd0aDsKKworI2lm
ZGVmIF9fU1NFMl9fCisgIHdoaWxlICgoY3Vyc29yIDwgY3Vyc29yX2VuZCkgJiYKKyAgICAgICAg
IChyZWludGVycHJldF9jYXN0PHNpemVfdD4oY3Vyc29yKSAmIDB4ZikpIHsKKyAgICAqY3Vyc29y
IF49IG1hc2tpbmdfa2V5W21hc2tpbmdfa2V5X2luZGV4XTsKKyAgICArK2N1cnNvcjsKKyAgICBt
YXNraW5nX2tleV9pbmRleCA9IChtYXNraW5nX2tleV9pbmRleCArIDEpICUgbWFza2luZ19rZXlf
bGVuZ3RoOworICB9CisgIGlmIChjdXJzb3IgPT0gY3Vyc29yX2VuZCkgeworICAgIHJldHVybjsK
KyAgfQorCisgIGNvbnN0IGludCBrQmxvY2tTaXplID0gMTY7CisgIF9fbTEyOGkgbWFza2luZ19r
ZXlfYmxvY2s7CisgIGZvciAoaW50IGkgPSAwOyBpIDwga0Jsb2NrU2l6ZTsgKytpKSB7CisgICAg
KihyZWludGVycHJldF9jYXN0PGNoYXIqPigmbWFza2luZ19rZXlfYmxvY2spICsgaSkgPQorICAg
ICAgICBtYXNraW5nX2tleVttYXNraW5nX2tleV9pbmRleF07CisgICAgbWFza2luZ19rZXlfaW5k
ZXggPSAobWFza2luZ19rZXlfaW5kZXggKyAxKSAlIG1hc2tpbmdfa2V5X2xlbmd0aDsKKyAgfQor
CisgIHdoaWxlIChjdXJzb3IgKyBrQmxvY2tTaXplIDw9IGN1cnNvcl9lbmQpIHsKKyAgICBfX20x
MjhpIHBheWxvYWRfYmxvY2sgPQorICAgICAgICBfbW1fbG9hZF9zaTEyOChyZWludGVycHJldF9j
YXN0PF9fbTEyOGkqPihjdXJzb3IpKTsKKyAgICBfbW1fc3RyZWFtX3NpMTI4KHJlaW50ZXJwcmV0
X2Nhc3Q8X19tMTI4aSo+KGN1cnNvciksCisgICAgICAgICAgICAgICAgICAgICBfbW1feG9yX3Np
MTI4KHBheWxvYWRfYmxvY2ssIG1hc2tpbmdfa2V5X2Jsb2NrKSk7CisgICAgY3Vyc29yICs9IGtC
bG9ja1NpemU7CisgIH0KKyNlbmRpZgorCisgIHdoaWxlIChjdXJzb3IgPCBjdXJzb3JfZW5kKSB7
CisgICAgKmN1cnNvciBePSBtYXNraW5nX2tleVttYXNraW5nX2tleV9pbmRleF07CisgICAgKytj
dXJzb3I7CisgICAgbWFza2luZ19rZXlfaW5kZXggPSAobWFza2luZ19rZXlfaW5kZXggKyAxKSAl
IG1hc2tpbmdfa2V5X2xlbmd0aDsKKyAgfQorfQorCislfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9weXdl
YnNvY2tldDMvbW9kX3B5d2Vic29ja2V0L2hhbmRzaGFrZS9fX2luaXRfXy5weSBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3
ZWJzb2NrZXQzL21vZF9weXdlYnNvY2tldC9oYW5kc2hha2UvX19pbml0X18ucHkKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODJiZTVhZTlmZGZkNDZkMTg5NzBiZjk5MmNjMWFkZWEyNWFjYzVmNwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
dGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL21vZF9weXdlYnNvY2tldC9oYW5kc2hha2UvX19pbml0
X18ucHkKQEAgLTAsMCArMSwxMDEgQEAKKyMgQ29weXJpZ2h0IDIwMTEsIEdvb2dsZSBJbmMuCisj
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisj
IG1ldDoKKyMKKyMgICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisjIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIK
KyMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZQorIyBkaXN0cmlidXRpb24uCisjICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29v
Z2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyMgdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMgVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUworIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyMgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyMgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsCisjIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisjIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorIyBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorIiIiV2ViU29ja2V0IG9w
ZW5pbmcgaGFuZHNoYWtlIHByb2Nlc3Nvci4gVGhpcyBjbGFzcyB0cnkgdG8gYXBwbHkgYXZhaWxh
YmxlCitvcGVuaW5nIGhhbmRzaGFrZSBwcm9jZXNzb3JzIGZvciBlYWNoIHByb3RvY29sIHZlcnNp
b24gdW50aWwgYSBjb25uZWN0aW9uIGlzCitzdWNjZXNzZnVsbHkgZXN0YWJsaXNoZWQuCisiIiIK
KworZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQKK2ltcG9ydCBsb2dnaW5n
CisKK2Zyb20gbW9kX3B5d2Vic29ja2V0IGltcG9ydCBjb21tb24KK2Zyb20gbW9kX3B5d2Vic29j
a2V0LmhhbmRzaGFrZSBpbXBvcnQgaHliaQorIyBFeHBvcnQgQWJvcnRlZEJ5VXNlckV4Y2VwdGlv
biwgSGFuZHNoYWtlRXhjZXB0aW9uLCBhbmQgVmVyc2lvbkV4Y2VwdGlvbgorIyBzeW1ib2wgZnJv
bSB0aGlzIG1vZHVsZS4KK2Zyb20gbW9kX3B5d2Vic29ja2V0LmhhbmRzaGFrZS5fYmFzZSBpbXBv
cnQgQWJvcnRlZEJ5VXNlckV4Y2VwdGlvbgorZnJvbSBtb2RfcHl3ZWJzb2NrZXQuaGFuZHNoYWtl
Ll9iYXNlIGltcG9ydCBIYW5kc2hha2VFeGNlcHRpb24KK2Zyb20gbW9kX3B5d2Vic29ja2V0Lmhh
bmRzaGFrZS5fYmFzZSBpbXBvcnQgVmVyc2lvbkV4Y2VwdGlvbgorCitfTE9HR0VSID0gbG9nZ2lu
Zy5nZXRMb2dnZXIoX19uYW1lX18pCisKKworZGVmIGRvX2hhbmRzaGFrZShyZXF1ZXN0LCBkaXNw
YXRjaGVyKToKKyAgICAiIiJQZXJmb3JtcyBXZWJTb2NrZXQgaGFuZHNoYWtlLgorCisgICAgQXJn
czoKKyAgICAgICAgcmVxdWVzdDogbW9kX3B5dGhvbiByZXF1ZXN0LgorICAgICAgICBkaXNwYXRj
aGVyOiBEaXNwYXRjaGVyIChkaXNwYXRjaC5EaXNwYXRjaGVyKS4KKworICAgIEhhbmRzaGFrZXIg
d2lsbCBhZGQgYXR0cmlidXRlcyBzdWNoIGFzIHdzX3Jlc291cmNlIGluIHBlcmZvcm1pbmcKKyAg
ICBoYW5kc2hha2UuCisgICAgIiIiCisKKyAgICBfTE9HR0VSLmRlYnVnKCdDbGllbnRcJ3Mgb3Bl
bmluZyBoYW5kc2hha2UgcmVzb3VyY2U6ICVyJywgcmVxdWVzdC51cmkpCisgICAgIyBUbyBwcmlu
dCBtaW1ldG9vbHMuTWVzc2FnZSBhcyBlc2NhcGVkIG9uZS1saW5lIHN0cmluZywgd2UgY29udmVy
dHMKKyAgICAjIGhlYWRlcnNfaW4gdG8gZGljdCBvYmplY3QuIFdpdGhvdXQgY29udmVyc2lvbiwg
aWYgd2UgdXNlICVyLCBpdCBqdXN0CisgICAgIyBwcmludHMgdGhlIHR5cGUgYW5kIGFkZHJlc3Ms
IGFuZCBpZiB3ZSB1c2UgJXMsIGl0IHByaW50cyB0aGUgb3JpZ2luYWwKKyAgICAjIGhlYWRlciBz
dHJpbmcgYXMgbXVsdGlwbGUgbGluZXMuCisgICAgIworICAgICMgQm90aCBtaW1ldG9vbHMuTWVz
c2FnZSBhbmQgTXBUYWJsZV9UeXBlIG9mIG1vZF9weXRob24gY2FuIGJlCisgICAgIyBjb252ZXJ0
ZWQgdG8gZGljdC4KKyAgICAjCisgICAgIyBtaW1ldG9vbHMuTWVzc2FnZS5fX3N0cl9fIHJldHVy
bnMgdGhlIG9yaWdpbmFsIGhlYWRlciBzdHJpbmcuCisgICAgIyBkaWN0KG1pbWV0b29scy5NZXNz
YWdlIG9iamVjdCkgcmV0dXJucyB0aGUgbWFwIGZyb20gaGVhZGVyIG5hbWVzIHRvCisgICAgIyBo
ZWFkZXIgdmFsdWVzLiBXaGlsZSBNcFRhYmxlX1R5cGUgZG9lc24ndCBoYXZlIHN1Y2ggX19zdHJf
XyBidXQganVzdAorICAgICMgX19yZXByX18gd2hpY2ggZm9ybWF0cyBpdHNlbGYgYXMgd2VsbCBh
cyBkaWN0aW9uYXJ5IG9iamVjdC4KKyAgICBfTE9HR0VSLmRlYnVnKCdDbGllbnRcJ3Mgb3Blbmlu
ZyBoYW5kc2hha2UgaGVhZGVyczogJXInLAorICAgICAgICAgICAgICAgICAgZGljdChyZXF1ZXN0
LmhlYWRlcnNfaW4pKQorCisgICAgaGFuZHNoYWtlcnMgPSBbXQorICAgIGhhbmRzaGFrZXJzLmFw
cGVuZCgoJ1JGQyA2NDU1JywgaHliaS5IYW5kc2hha2VyKHJlcXVlc3QsIGRpc3BhdGNoZXIpKSkK
KworICAgIGZvciBuYW1lLCBoYW5kc2hha2VyIGluIGhhbmRzaGFrZXJzOgorICAgICAgICBfTE9H
R0VSLmRlYnVnKCdUcnlpbmcgcHJvdG9jb2wgdmVyc2lvbiAlcycsIG5hbWUpCisgICAgICAgIHRy
eToKKyAgICAgICAgICAgIGhhbmRzaGFrZXIuZG9faGFuZHNoYWtlKCkKKyAgICAgICAgICAgIF9M
T0dHRVIuaW5mbygnRXN0YWJsaXNoZWQgKCVzIHByb3RvY29sKScsIG5hbWUpCisgICAgICAgICAg
ICByZXR1cm4KKyAgICAgICAgZXhjZXB0IEhhbmRzaGFrZUV4Y2VwdGlvbiBhcyBlOgorICAgICAg
ICAgICAgX0xPR0dFUi5kZWJ1ZygKKyAgICAgICAgICAgICAgICAnRmFpbGVkIHRvIGNvbXBsZXRl
IG9wZW5pbmcgaGFuZHNoYWtlIGFzICVzIHByb3RvY29sOiAlcicsCisgICAgICAgICAgICAgICAg
bmFtZSwgZSkKKyAgICAgICAgICAgIGlmIGUuc3RhdHVzOgorICAgICAgICAgICAgICAgIHJhaXNl
IGUKKyAgICAgICAgZXhjZXB0IEFib3J0ZWRCeVVzZXJFeGNlcHRpb24gYXMgZToKKyAgICAgICAg
ICAgIHJhaXNlCisgICAgICAgIGV4Y2VwdCBWZXJzaW9uRXhjZXB0aW9uIGFzIGU6CisgICAgICAg
ICAgICByYWlzZQorCisgICAgIyBUT0RPKHRveW9zaGltKTogQWRkIGEgdGVzdCB0byBjb3ZlciB0
aGUgY2FzZSBhbGwgaGFuZHNoYWtlcnMgZmFpbC4KKyAgICByYWlzZSBIYW5kc2hha2VFeGNlcHRp
b24oCisgICAgICAgICdGYWlsZWQgdG8gY29tcGxldGUgb3BlbmluZyBoYW5kc2hha2UgZm9yIGFs
bCBhdmFpbGFibGUgcHJvdG9jb2xzJywKKyAgICAgICAgc3RhdHVzPWNvbW1vbi5IVFRQX1NUQVRV
U19CQURfUkVRVUVTVCkKKworCisjIHZpOnN0cz00IHN3PTQgZXQKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkv
cHl3ZWJzb2NrZXQzL21vZF9weXdlYnNvY2tldC9oYW5kc2hha2UvX2Jhc2UucHkgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5
d2Vic29ja2V0My9tb2RfcHl3ZWJzb2NrZXQvaGFuZHNoYWtlL19iYXNlLnB5Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjM1OGRkOGQ0OTdkOWQ4OWRkOWMxMDQzMmJjZGJhM2U5MDNlMWI2MTYKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3Ro
aXJkX3BhcnR5L3B5d2Vic29ja2V0My9tb2RfcHl3ZWJzb2NrZXQvaGFuZHNoYWtlL19iYXNlLnB5
CkBAIC0wLDAgKzEsMTc5IEBACisjIENvcHlyaWdodCAyMDEyLCBHb29nbGUgSW5jLgorIyBBbGwg
cmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorIyBtZXQ6
CisjCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisjIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorIyBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisjIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUKKyMgZGlzdHJpYnV0aW9uLgorIyAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJ
bmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisjIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisjIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisjCisjIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMKKyMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisjIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisjIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLAorIyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorIyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyMgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyIiIkNvbW1vbiBmdW5jdGlvbnMg
YW5kIGV4Y2VwdGlvbnMgdXNlZCBieSBXZWJTb2NrZXQgb3BlbmluZyBoYW5kc2hha2UKK3Byb2Nl
c3NvcnMuCisiIiIKKworZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQKK2Zy
b20gbW9kX3B5d2Vic29ja2V0IGltcG9ydCBjb21tb24KK2Zyb20gbW9kX3B5d2Vic29ja2V0IGlt
cG9ydCBodHRwX2hlYWRlcl91dGlsCisKKworY2xhc3MgQWJvcnRlZEJ5VXNlckV4Y2VwdGlvbihF
eGNlcHRpb24pOgorICAgICIiIkV4Y2VwdGlvbiBmb3IgYWJvcnRpbmcgYSBjb25uZWN0aW9uIGlu
dGVudGlvbmFsbHkuCisKKyAgICBJZiB0aGlzIGV4Y2VwdGlvbiBpcyByYWlzZWQgaW4gZG9fZXh0
cmFfaGFuZHNoYWtlIGhhbmRsZXIsIHRoZSBjb25uZWN0aW9uCisgICAgd2lsbCBiZSBhYmFuZG9u
ZWQuIE5vIG90aGVyIFdlYlNvY2tldCBvciBIVFRQKFMpIGhhbmRsZXIgd2lsbCBiZSBpbnZva2Vk
LgorCisgICAgSWYgdGhpcyBleGNlcHRpb24gaXMgcmFpc2VkIGluIHRyYW5zZmVyX2RhdGFfaGFu
ZGxlciwgdGhlIGNvbm5lY3Rpb24gd2lsbAorICAgIGJlIGNsb3NlZCB3aXRob3V0IGNsb3Npbmcg
aGFuZHNoYWtlLiBObyBvdGhlciBXZWJTb2NrZXQgb3IgSFRUUChTKSBoYW5kbGVyCisgICAgd2ls
bCBiZSBpbnZva2VkLgorICAgICIiIgorCisgICAgcGFzcworCisKK2NsYXNzIEhhbmRzaGFrZUV4
Y2VwdGlvbihFeGNlcHRpb24pOgorICAgICIiIlRoaXMgZXhjZXB0aW9uIHdpbGwgYmUgcmFpc2Vk
IHdoZW4gYW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgcHJvY2Vzc2luZworICAgIFdlYlNvY2tldCBp
bml0aWFsIGhhbmRzaGFrZS4KKyAgICAiIiIKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbmFtZSwg
c3RhdHVzPU5vbmUpOgorICAgICAgICBzdXBlcihIYW5kc2hha2VFeGNlcHRpb24sIHNlbGYpLl9f
aW5pdF9fKG5hbWUpCisgICAgICAgIHNlbGYuc3RhdHVzID0gc3RhdHVzCisKKworY2xhc3MgVmVy
c2lvbkV4Y2VwdGlvbihFeGNlcHRpb24pOgorICAgICIiIlRoaXMgZXhjZXB0aW9uIHdpbGwgYmUg
cmFpc2VkIHdoZW4gYSB2ZXJzaW9uIG9mIGNsaWVudCByZXF1ZXN0IGRvZXMgbm90CisgICAgbWF0
Y2ggd2l0aCB2ZXJzaW9uIHRoZSBzZXJ2ZXIgc3VwcG9ydHMuCisgICAgIiIiCisgICAgZGVmIF9f
aW5pdF9fKHNlbGYsIG5hbWUsIHN1cHBvcnRlZF92ZXJzaW9ucz0nJyk6CisgICAgICAgICIiIkNv
bnN0cnVjdCBhbiBpbnN0YW5jZS4KKworICAgICAgICBBcmdzOgorICAgICAgICAgICAgc3VwcG9y
dGVkX3ZlcnNpb246IGEgc3RyIG9iamVjdCB0byBzaG93IHN1cHBvcnRlZCBoeWJpIHZlcnNpb25z
LgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlLmcuICcxMycpCisgICAgICAgICIi
IgorICAgICAgICBzdXBlcihWZXJzaW9uRXhjZXB0aW9uLCBzZWxmKS5fX2luaXRfXyhuYW1lKQor
ICAgICAgICBzZWxmLnN1cHBvcnRlZF92ZXJzaW9ucyA9IHN1cHBvcnRlZF92ZXJzaW9ucworCisK
K2RlZiBnZXRfZGVmYXVsdF9wb3J0KGlzX3NlY3VyZSk6CisgICAgaWYgaXNfc2VjdXJlOgorICAg
ICAgICByZXR1cm4gY29tbW9uLkRFRkFVTFRfV0VCX1NPQ0tFVF9TRUNVUkVfUE9SVAorICAgIGVs
c2U6CisgICAgICAgIHJldHVybiBjb21tb24uREVGQVVMVF9XRUJfU09DS0VUX1BPUlQKKworCitk
ZWYgdmFsaWRhdGVfc3VicHJvdG9jb2woc3VicHJvdG9jb2wpOgorICAgICIiIlZhbGlkYXRlIGEg
dmFsdWUgaW4gdGhlIFNlYy1XZWJTb2NrZXQtUHJvdG9jb2wgZmllbGQuCisKKyAgICBTZWUgdGhl
IFNlY3Rpb24gNC4xLiwgNC4yLjIuLCBhbmQgNC4zLiBvZiBSRkMgNjQ1NS4KKyAgICAiIiIKKwor
ICAgIGlmIG5vdCBzdWJwcm90b2NvbDoKKyAgICAgICAgcmFpc2UgSGFuZHNoYWtlRXhjZXB0aW9u
KCdJbnZhbGlkIHN1YnByb3RvY29sIG5hbWU6IGVtcHR5JykKKworICAgICMgUGFyYW1ldGVyIHNo
b3VsZCBiZSBlbmNvZGVkIEhUVFAgdG9rZW4uCisgICAgc3RhdGUgPSBodHRwX2hlYWRlcl91dGls
LlBhcnNpbmdTdGF0ZShzdWJwcm90b2NvbCkKKyAgICB0b2tlbiA9IGh0dHBfaGVhZGVyX3V0aWwu
Y29uc3VtZV90b2tlbihzdGF0ZSkKKyAgICByZXN0ID0gaHR0cF9oZWFkZXJfdXRpbC5wZWVrKHN0
YXRlKQorICAgICMgSWYgfHJlc3R8IGlzIG5vdCBOb25lLCB8c3VicHJvdG9jb2x8IGlzIG5vdCBv
bmUgdG9rZW4gb3IgaW52YWxpZC4gSWYKKyAgICAjIHxyZXN0fCBpcyBOb25lLCB8dG9rZW58IG11
c3Qgbm90IGJlIE5vbmUgYmVjYXVzZSB8c3VicHJvdG9jb2x8IGlzCisgICAgIyBjb25jYXRlbmF0
aW9uIG9mIHx0b2tlbnwgYW5kIHxyZXN0fCBhbmQgaXMgbm90IE5vbmUuCisgICAgaWYgcmVzdCBp
cyBub3QgTm9uZToKKyAgICAgICAgcmFpc2UgSGFuZHNoYWtlRXhjZXB0aW9uKCdJbnZhbGlkIG5v
bi10b2tlbiBzdHJpbmcgaW4gc3VicHJvdG9jb2wgJworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJ25hbWU6ICVyJyAlIHJlc3QpCisKKworZGVmIHBhcnNlX2hvc3RfaGVhZGVyKHJl
cXVlc3QpOgorICAgIGZpZWxkcyA9IHJlcXVlc3QuaGVhZGVyc19pbltjb21tb24uSE9TVF9IRUFE
RVJdLnNwbGl0KCc6JywgMSkKKyAgICBpZiBsZW4oZmllbGRzKSA9PSAxOgorICAgICAgICByZXR1
cm4gZmllbGRzWzBdLCBnZXRfZGVmYXVsdF9wb3J0KHJlcXVlc3QuaXNfaHR0cHMoKSkKKyAgICB0
cnk6CisgICAgICAgIHJldHVybiBmaWVsZHNbMF0sIGludChmaWVsZHNbMV0pCisgICAgZXhjZXB0
IFZhbHVlRXJyb3IgYXMgZToKKyAgICAgICAgcmFpc2UgSGFuZHNoYWtlRXhjZXB0aW9uKCdJbnZh
bGlkIHBvcnQgbnVtYmVyIGZvcm1hdDogJXInICUgZSkKKworCitkZWYgZm9ybWF0X2hlYWRlcihu
YW1lLCB2YWx1ZSk6CisgICAgcmV0dXJuIHUnJXM6ICVzXHJcbicgJSAobmFtZSwgdmFsdWUpCisK
KworZGVmIGdldF9tYW5kYXRvcnlfaGVhZGVyKHJlcXVlc3QsIGtleSk6CisgICAgdmFsdWUgPSBy
ZXF1ZXN0LmhlYWRlcnNfaW4uZ2V0KGtleSkKKyAgICBpZiB2YWx1ZSBpcyBOb25lOgorICAgICAg
ICByYWlzZSBIYW5kc2hha2VFeGNlcHRpb24oJ0hlYWRlciAlcyBpcyBub3QgZGVmaW5lZCcgJSBr
ZXkpCisgICAgcmV0dXJuIHZhbHVlCisKKworZGVmIHZhbGlkYXRlX21hbmRhdG9yeV9oZWFkZXIo
cmVxdWVzdCwga2V5LCBleHBlY3RlZF92YWx1ZSwgZmFpbF9zdGF0dXM9Tm9uZSk6CisgICAgdmFs
dWUgPSBnZXRfbWFuZGF0b3J5X2hlYWRlcihyZXF1ZXN0LCBrZXkpCisKKyAgICBpZiB2YWx1ZS5s
b3dlcigpICE9IGV4cGVjdGVkX3ZhbHVlLmxvd2VyKCk6CisgICAgICAgIHJhaXNlIEhhbmRzaGFr
ZUV4Y2VwdGlvbigKKyAgICAgICAgICAgICdFeHBlY3RlZCAlciBmb3IgaGVhZGVyICVzIGJ1dCBm
b3VuZCAlciAoY2FzZS1pbnNlbnNpdGl2ZSknICUKKyAgICAgICAgICAgIChleHBlY3RlZF92YWx1
ZSwga2V5LCB2YWx1ZSksCisgICAgICAgICAgICBzdGF0dXM9ZmFpbF9zdGF0dXMpCisKKworZGVm
IGNoZWNrX3JlcXVlc3RfbGluZShyZXF1ZXN0KToKKyAgICAjIDUuMSAxLiBUaGUgdGhyZWUgY2hh
cmFjdGVyIFVURi04IHN0cmluZyAiR0VUIi4KKyAgICAjIDUuMSAyLiBBIFVURi04LWVuY29kZWQg
VSswMDIwIFNQQUNFIGNoYXJhY3RlciAoMHgyMCBieXRlKS4KKyAgICBpZiByZXF1ZXN0Lm1ldGhv
ZCAhPSB1J0dFVCc6CisgICAgICAgIHJhaXNlIEhhbmRzaGFrZUV4Y2VwdGlvbignTWV0aG9kIGlz
IG5vdCBHRVQ6ICVyJyAlIHJlcXVlc3QubWV0aG9kKQorCisgICAgaWYgcmVxdWVzdC5wcm90b2Nv
bCAhPSB1J0hUVFAvMS4xJzoKKyAgICAgICAgcmFpc2UgSGFuZHNoYWtlRXhjZXB0aW9uKCdWZXJz
aW9uIGlzIG5vdCBIVFRQLzEuMTogJXInICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHJlcXVlc3QucHJvdG9jb2wpCisKKworZGVmIHBhcnNlX3Rva2VuX2xpc3QoZGF0YSk6Cisg
ICAgIiIiUGFyc2VzIGEgaGVhZGVyIHZhbHVlIHdoaWNoIGZvbGxvd3MgMSN0b2tlbiBhbmQgcmV0
dXJucyBwYXJzZWQgZWxlbWVudHMKKyAgICBhcyBhIGxpc3Qgb2Ygc3RyaW5ncy4KKworICAgIExl
YWRpbmcgTFdTZXMgbXVzdCBiZSB0cmltbWVkLgorICAgICIiIgorCisgICAgc3RhdGUgPSBodHRw
X2hlYWRlcl91dGlsLlBhcnNpbmdTdGF0ZShkYXRhKQorCisgICAgdG9rZW5fbGlzdCA9IFtdCisK
KyAgICB3aGlsZSBUcnVlOgorICAgICAgICB0b2tlbiA9IGh0dHBfaGVhZGVyX3V0aWwuY29uc3Vt
ZV90b2tlbihzdGF0ZSkKKyAgICAgICAgaWYgdG9rZW4gaXMgbm90IE5vbmU6CisgICAgICAgICAg
ICB0b2tlbl9saXN0LmFwcGVuZCh0b2tlbikKKworICAgICAgICBodHRwX2hlYWRlcl91dGlsLmNv
bnN1bWVfbHdzZXMoc3RhdGUpCisKKyAgICAgICAgaWYgaHR0cF9oZWFkZXJfdXRpbC5wZWVrKHN0
YXRlKSBpcyBOb25lOgorICAgICAgICAgICAgYnJlYWsKKworICAgICAgICBpZiBub3QgaHR0cF9o
ZWFkZXJfdXRpbC5jb25zdW1lX3N0cmluZyhzdGF0ZSwgJywnKToKKyAgICAgICAgICAgIHJhaXNl
IEhhbmRzaGFrZUV4Y2VwdGlvbignRXhwZWN0ZWQgYSBjb21tYSBidXQgZm91bmQgJXInICUKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwX2hlYWRlcl91dGlsLnBlZWso
c3RhdGUpKQorCisgICAgICAgIGh0dHBfaGVhZGVyX3V0aWwuY29uc3VtZV9sd3NlcyhzdGF0ZSkK
KworICAgIGlmIGxlbih0b2tlbl9saXN0KSA9PSAwOgorICAgICAgICByYWlzZSBIYW5kc2hha2VF
eGNlcHRpb24oJ05vIHZhbGlkIHRva2VuIGZvdW5kJykKKworICAgIHJldHVybiB0b2tlbl9saXN0
CisKKworIyB2aTpzdHM9NCBzdz00IGV0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My9t
b2RfcHl3ZWJzb2NrZXQvaGFuZHNoYWtlL2h5YmkucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My9tb2Rf
cHl3ZWJzb2NrZXQvaGFuZHNoYWtlL2h5YmkucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2ZkNjNlYjYzZWRkMWY0
YWNmODg3ZGYzNWQ0YmRjM2I2ZTEzOTkxNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJz
b2NrZXQzL21vZF9weXdlYnNvY2tldC9oYW5kc2hha2UvaHliaS5weQpAQCAtMCwwICsxLDM5NSBA
QAorIyBDb3B5cmlnaHQgMjAxMiwgR29vZ2xlIEluYy4KKyMgQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyMgbWV0OgorIworIyAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorIyBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUKKyMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisjIGRpc3RyaWJ1dGlv
bi4KKyMgICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVz
IG9mIGl0cworIyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisjICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisj
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUgorIyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorIyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyMgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
IyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwKKyMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisiIiJUaGlzIGZpbGUgcHJvdmlkZXMgdGhlIG9wZW5pbmcgaGFu
ZHNoYWtlIHByb2Nlc3NvciBmb3IgdGhlIFdlYlNvY2tldAorcHJvdG9jb2wgKFJGQyA2NDU1KS4K
KworU3BlY2lmaWNhdGlvbjoKK2h0dHA6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzY0NTUKKyIi
IgorCitmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydAoraW1wb3J0IGJhc2U2
NAoraW1wb3J0IGxvZ2dpbmcKK2ltcG9ydCBvcworaW1wb3J0IHJlCitmcm9tIGhhc2hsaWIgaW1w
b3J0IHNoYTEKKworZnJvbSBtb2RfcHl3ZWJzb2NrZXQgaW1wb3J0IGNvbW1vbgorZnJvbSBtb2Rf
cHl3ZWJzb2NrZXQuZXh0ZW5zaW9ucyBpbXBvcnQgZ2V0X2V4dGVuc2lvbl9wcm9jZXNzb3IKK2Zy
b20gbW9kX3B5d2Vic29ja2V0LmhhbmRzaGFrZS5fYmFzZSBpbXBvcnQgY2hlY2tfcmVxdWVzdF9s
aW5lCitmcm9tIG1vZF9weXdlYnNvY2tldC5oYW5kc2hha2UuX2Jhc2UgaW1wb3J0IGZvcm1hdF9o
ZWFkZXIKK2Zyb20gbW9kX3B5d2Vic29ja2V0LmhhbmRzaGFrZS5fYmFzZSBpbXBvcnQgZ2V0X21h
bmRhdG9yeV9oZWFkZXIKK2Zyb20gbW9kX3B5d2Vic29ja2V0LmhhbmRzaGFrZS5fYmFzZSBpbXBv
cnQgSGFuZHNoYWtlRXhjZXB0aW9uCitmcm9tIG1vZF9weXdlYnNvY2tldC5oYW5kc2hha2UuX2Jh
c2UgaW1wb3J0IHBhcnNlX3Rva2VuX2xpc3QKK2Zyb20gbW9kX3B5d2Vic29ja2V0LmhhbmRzaGFr
ZS5fYmFzZSBpbXBvcnQgdmFsaWRhdGVfbWFuZGF0b3J5X2hlYWRlcgorZnJvbSBtb2RfcHl3ZWJz
b2NrZXQuaGFuZHNoYWtlLl9iYXNlIGltcG9ydCB2YWxpZGF0ZV9zdWJwcm90b2NvbAorZnJvbSBt
b2RfcHl3ZWJzb2NrZXQuaGFuZHNoYWtlLl9iYXNlIGltcG9ydCBWZXJzaW9uRXhjZXB0aW9uCitm
cm9tIG1vZF9weXdlYnNvY2tldC5zdHJlYW0gaW1wb3J0IFN0cmVhbQorZnJvbSBtb2RfcHl3ZWJz
b2NrZXQuc3RyZWFtIGltcG9ydCBTdHJlYW1PcHRpb25zCitmcm9tIG1vZF9weXdlYnNvY2tldCBp
bXBvcnQgdXRpbAorZnJvbSBzaXgubW92ZXMgaW1wb3J0IG1hcAorZnJvbSBzaXgubW92ZXMgaW1w
b3J0IHJhbmdlCisKKyMgVXNlZCB0byB2YWxpZGF0ZSB0aGUgdmFsdWUgaW4gdGhlIFNlYy1XZWJT
b2NrZXQtS2V5IGhlYWRlciBzdHJpY3RseS4gUkZDIDQ2NDgKKyMgZGlzYWxsb3dzIG5vbi16ZXJv
IHBhZGRpbmcsIHNvIHRoZSBjaGFyYWN0ZXIgcmlnaHQgYmVmb3JlID09IG11c3QgYmUgYW55IG9m
CisjIEEsIFEsIGcgYW5kIHcuCitfU0VDX1dFQlNPQ0tFVF9LRVlfUkVHRVggPSByZS5jb21waWxl
KCdeWysvMC05QS1aYS16XXsyMX1bQVFnd109PSQnKQorCisjIERlZmluaW5nIGFsaWFzZXMgZm9y
IHZhbHVlcyB1c2VkIGZyZXF1ZW50bHkuCitfVkVSU0lPTl9MQVRFU1QgPSBjb21tb24uVkVSU0lP
Tl9IWUJJX0xBVEVTVAorX1ZFUlNJT05fTEFURVNUX1NUUklORyA9IHN0cihfVkVSU0lPTl9MQVRF
U1QpCitfU1VQUE9SVEVEX1ZFUlNJT05TID0gWworICAgIF9WRVJTSU9OX0xBVEVTVCwKK10KKwor
CitkZWYgY29tcHV0ZV9hY2NlcHQoa2V5KToKKyAgICAiIiJDb21wdXRlcyB2YWx1ZSBmb3IgdGhl
IFNlYy1XZWJTb2NrZXQtQWNjZXB0IGhlYWRlciBmcm9tIHZhbHVlIG9mIHRoZQorICAgIFNlYy1X
ZWJTb2NrZXQtS2V5IGhlYWRlci4KKyAgICAiIiIKKworICAgIGFjY2VwdF9iaW5hcnkgPSBzaGEx
KGtleSArIGNvbW1vbi5XRUJTT0NLRVRfQUNDRVBUX1VVSUQpLmRpZ2VzdCgpCisgICAgYWNjZXB0
ID0gYmFzZTY0LmI2NGVuY29kZShhY2NlcHRfYmluYXJ5KQorCisgICAgcmV0dXJuIGFjY2VwdAor
CisKK2RlZiBjb21wdXRlX2FjY2VwdF9mcm9tX3VuaWNvZGUodW5pY29kZV9rZXkpOgorICAgICIi
IkEgd3JhcHBlciBmdW5jdGlvbiBmb3IgY29tcHV0ZV9hY2NlcHQgd2hpY2ggdGFrZXMgYSB1bmlj
b2RlIHN0cmluZyBhcyBhbgorICAgIGFyZ3VtZW50LCBhbmQgZW5jb2RlcyBpdCB0byBieXRlIHN0
cmluZy4gSXQgdGhlbiBwYXNzZXMgaXQgb24gdG8KKyAgICBjb21wdXRlX2FjY2VwdC4KKyAgICAi
IiIKKworICAgIGtleSA9IHVuaWNvZGVfa2V5LmVuY29kZSgnVVRGLTgnKQorICAgIHJldHVybiBj
b21wdXRlX2FjY2VwdChrZXkpCisKKworY2xhc3MgSGFuZHNoYWtlcihvYmplY3QpOgorICAgICIi
Ik9wZW5pbmcgaGFuZHNoYWtlIHByb2Nlc3NvciBmb3IgdGhlIFdlYlNvY2tldCBwcm90b2NvbCAo
UkZDIDY0NTUpLiIiIgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCByZXF1ZXN0LCBkaXNwYXRjaGVy
KToKKyAgICAgICAgIiIiQ29uc3RydWN0IGFuIGluc3RhbmNlLgorCisgICAgICAgIEFyZ3M6Cisg
ICAgICAgICAgICByZXF1ZXN0OiBtb2RfcHl0aG9uIHJlcXVlc3QuCisgICAgICAgICAgICBkaXNw
YXRjaGVyOiBEaXNwYXRjaGVyIChkaXNwYXRjaC5EaXNwYXRjaGVyKS4KKworICAgICAgICBIYW5k
c2hha2VyIHdpbGwgYWRkIGF0dHJpYnV0ZXMgc3VjaCBhcyB3c19yZXNvdXJjZSBkdXJpbmcgaGFu
ZHNoYWtlLgorICAgICAgICAiIiIKKworICAgICAgICBzZWxmLl9sb2dnZXIgPSB1dGlsLmdldF9j
bGFzc19sb2dnZXIoc2VsZikKKworICAgICAgICBzZWxmLl9yZXF1ZXN0ID0gcmVxdWVzdAorICAg
ICAgICBzZWxmLl9kaXNwYXRjaGVyID0gZGlzcGF0Y2hlcgorCisgICAgZGVmIF92YWxpZGF0ZV9j
b25uZWN0aW9uX2hlYWRlcihzZWxmKToKKyAgICAgICAgY29ubmVjdGlvbiA9IGdldF9tYW5kYXRv
cnlfaGVhZGVyKHNlbGYuX3JlcXVlc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb21tb24uQ09OTkVDVElPTl9IRUFERVIpCisKKyAgICAgICAgdHJ5OgorICAg
ICAgICAgICAgY29ubmVjdGlvbl90b2tlbnMgPSBwYXJzZV90b2tlbl9saXN0KGNvbm5lY3Rpb24p
CisgICAgICAgIGV4Y2VwdCBIYW5kc2hha2VFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgIHJh
aXNlIEhhbmRzaGFrZUV4Y2VwdGlvbignRmFpbGVkIHRvIHBhcnNlICVzOiAlcycgJQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb21tb24uQ09OTkVDVElPTl9IRUFERVIs
IGUpKQorCisgICAgICAgIGNvbm5lY3Rpb25faXNfdmFsaWQgPSBGYWxzZQorICAgICAgICBmb3Ig
dG9rZW4gaW4gY29ubmVjdGlvbl90b2tlbnM6CisgICAgICAgICAgICBpZiB0b2tlbi5sb3dlcigp
ID09IGNvbW1vbi5VUEdSQURFX0NPTk5FQ1RJT05fVFlQRS5sb3dlcigpOgorICAgICAgICAgICAg
ICAgIGNvbm5lY3Rpb25faXNfdmFsaWQgPSBUcnVlCisgICAgICAgICAgICAgICAgYnJlYWsKKyAg
ICAgICAgaWYgbm90IGNvbm5lY3Rpb25faXNfdmFsaWQ6CisgICAgICAgICAgICByYWlzZSBIYW5k
c2hha2VFeGNlcHRpb24oCisgICAgICAgICAgICAgICAgJyVzIGhlYWRlciBkb2VzblwndCBjb250
YWluICIlcyInICUKKyAgICAgICAgICAgICAgICAoY29tbW9uLkNPTk5FQ1RJT05fSEVBREVSLCBj
b21tb24uVVBHUkFERV9DT05ORUNUSU9OX1RZUEUpKQorCisgICAgZGVmIGRvX2hhbmRzaGFrZShz
ZWxmKToKKyAgICAgICAgc2VsZi5fcmVxdWVzdC53c19jbG9zZV9jb2RlID0gTm9uZQorICAgICAg
ICBzZWxmLl9yZXF1ZXN0LndzX2Nsb3NlX3JlYXNvbiA9IE5vbmUKKworICAgICAgICAjIFBhcnNp
bmcuCisKKyAgICAgICAgY2hlY2tfcmVxdWVzdF9saW5lKHNlbGYuX3JlcXVlc3QpCisKKyAgICAg
ICAgdmFsaWRhdGVfbWFuZGF0b3J5X2hlYWRlcihzZWxmLl9yZXF1ZXN0LCBjb21tb24uVVBHUkFE
RV9IRUFERVIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tbW9uLldFQlNP
Q0tFVF9VUEdSQURFX1RZUEUpCisKKyAgICAgICAgc2VsZi5fdmFsaWRhdGVfY29ubmVjdGlvbl9o
ZWFkZXIoKQorCisgICAgICAgIHNlbGYuX3JlcXVlc3Qud3NfcmVzb3VyY2UgPSBzZWxmLl9yZXF1
ZXN0LnVyaQorCisgICAgICAgIHVudXNlZF9ob3N0ID0gZ2V0X21hbmRhdG9yeV9oZWFkZXIoc2Vs
Zi5fcmVxdWVzdCwgY29tbW9uLkhPU1RfSEVBREVSKQorCisgICAgICAgIHNlbGYuX3JlcXVlc3Qu
d3NfdmVyc2lvbiA9IHNlbGYuX2NoZWNrX3ZlcnNpb24oKQorCisgICAgICAgIHRyeToKKyAgICAg
ICAgICAgIHNlbGYuX2dldF9vcmlnaW4oKQorICAgICAgICAgICAgc2VsZi5fc2V0X3Byb3RvY29s
KCkKKyAgICAgICAgICAgIHNlbGYuX3BhcnNlX2V4dGVuc2lvbnMoKQorCisgICAgICAgICAgICAj
IEtleSB2YWxpZGF0aW9uLCByZXNwb25zZSBnZW5lcmF0aW9uLgorCisgICAgICAgICAgICBrZXkg
PSBzZWxmLl9nZXRfa2V5KCkKKyAgICAgICAgICAgIGFjY2VwdCA9IGNvbXB1dGVfYWNjZXB0KGtl
eSkKKyAgICAgICAgICAgIHNlbGYuX2xvZ2dlci5kZWJ1ZygnJXM6ICVyICglcyknLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1vbi5TRUNfV0VCU09DS0VUX0FDQ0VQVF9IRUFE
RVIsIGFjY2VwdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1dGlsLmhleGlmeShi
YXNlNjQuYjY0ZGVjb2RlKGFjY2VwdCkpKQorCisgICAgICAgICAgICBzZWxmLl9sb2dnZXIuZGVi
dWcoJ1Byb3RvY29sIHZlcnNpb24gaXMgUkZDIDY0NTUnKQorCisgICAgICAgICAgICAjIFNldHVw
IGV4dGVuc2lvbiBwcm9jZXNzb3JzLgorCisgICAgICAgICAgICBwcm9jZXNzb3JzID0gW10KKyAg
ICAgICAgICAgIGlmIHNlbGYuX3JlcXVlc3Qud3NfcmVxdWVzdGVkX2V4dGVuc2lvbnMgaXMgbm90
IE5vbmU6CisgICAgICAgICAgICAgICAgZm9yIGV4dGVuc2lvbl9yZXF1ZXN0IGluIHNlbGYuX3Jl
cXVlc3Qud3NfcmVxdWVzdGVkX2V4dGVuc2lvbnM6CisgICAgICAgICAgICAgICAgICAgIHByb2Nl
c3NvciA9IGdldF9leHRlbnNpb25fcHJvY2Vzc29yKGV4dGVuc2lvbl9yZXF1ZXN0KQorICAgICAg
ICAgICAgICAgICAgICAjIFVua25vd24gZXh0ZW5zaW9uIHJlcXVlc3RzIGFyZSBqdXN0IGlnbm9y
ZWQuCisgICAgICAgICAgICAgICAgICAgIGlmIHByb2Nlc3NvciBpcyBub3QgTm9uZToKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHByb2Nlc3NvcnMuYXBwZW5kKHByb2Nlc3NvcikKKyAgICAgICAg
ICAgIHNlbGYuX3JlcXVlc3Qud3NfZXh0ZW5zaW9uX3Byb2Nlc3NvcnMgPSBwcm9jZXNzb3JzCisK
KyAgICAgICAgICAgICMgTGlzdCBvZiBleHRyYSBoZWFkZXJzLiBUaGUgZXh0cmEgaGFuZHNoYWtl
IGhhbmRsZXIgbWF5IGFkZCBoZWFkZXIKKyAgICAgICAgICAgICMgZGF0YSBhcyBuYW1lL3ZhbHVl
IHBhaXJzIHRvIHRoaXMgbGlzdCBhbmQgcHl3ZWJzb2NrZXQgYXBwZW5kcworICAgICAgICAgICAg
IyB0aGVtIHRvIHRoZSBXZWJTb2NrZXQgaGFuZHNoYWtlLgorICAgICAgICAgICAgc2VsZi5fcmVx
dWVzdC5leHRyYV9oZWFkZXJzID0gW10KKworICAgICAgICAgICAgIyBFeHRyYSBoYW5kc2hha2Ug
aGFuZGxlciBtYXkgbW9kaWZ5L3JlbW92ZSBwcm9jZXNzb3JzLgorICAgICAgICAgICAgc2VsZi5f
ZGlzcGF0Y2hlci5kb19leHRyYV9oYW5kc2hha2Uoc2VsZi5fcmVxdWVzdCkKKyAgICAgICAgICAg
IHByb2Nlc3NvcnMgPSBbCisgICAgICAgICAgICAgICAgcHJvY2Vzc29yCisgICAgICAgICAgICAg
ICAgZm9yIHByb2Nlc3NvciBpbiBzZWxmLl9yZXF1ZXN0LndzX2V4dGVuc2lvbl9wcm9jZXNzb3Jz
CisgICAgICAgICAgICAgICAgaWYgcHJvY2Vzc29yIGlzIG5vdCBOb25lCisgICAgICAgICAgICBd
CisKKyAgICAgICAgICAgICMgQXNrIGVhY2ggcHJvY2Vzc29yIGlmIHRoZXJlIGFyZSBleHRlbnNp
b25zIG9uIHRoZSByZXF1ZXN0IHdoaWNoCisgICAgICAgICAgICAjIGNhbm5vdCBjby1leGlzdC4g
V2hlbiBwcm9jZXNzb3IgZGVjaWRlZCBvdGhlciBwcm9jZXNzb3JzIGNhbm5vdAorICAgICAgICAg
ICAgIyBjby1leGlzdCB3aXRoIGl0LCB0aGUgcHJvY2Vzc29yIG1hcmtzIHRoZW0gKG9yIGl0c2Vs
ZikgYXMKKyAgICAgICAgICAgICMgImluYWN0aXZlIi4gVGhlIGZpcnN0IGV4dGVuc2lvbiBwcm9j
ZXNzb3IgaGFzIHRoZSByaWdodCB0bworICAgICAgICAgICAgIyBtYWtlIHRoZSBmaW5hbCBjYWxs
LgorICAgICAgICAgICAgZm9yIHByb2Nlc3NvciBpbiByZXZlcnNlZChwcm9jZXNzb3JzKToKKyAg
ICAgICAgICAgICAgICBpZiBwcm9jZXNzb3IuaXNfYWN0aXZlKCk6CisgICAgICAgICAgICAgICAg
ICAgIHByb2Nlc3Nvci5jaGVja19jb25zaXN0ZW5jeV93aXRoX290aGVyX3Byb2Nlc3NvcnMoCisg
ICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzb3JzKQorICAgICAgICAgICAgcHJvY2Vzc29y
cyA9IFsKKyAgICAgICAgICAgICAgICBwcm9jZXNzb3IgZm9yIHByb2Nlc3NvciBpbiBwcm9jZXNz
b3JzIGlmIHByb2Nlc3Nvci5pc19hY3RpdmUoKQorICAgICAgICAgICAgXQorCisgICAgICAgICAg
ICBhY2NlcHRlZF9leHRlbnNpb25zID0gW10KKworICAgICAgICAgICAgc3RyZWFtX29wdGlvbnMg
PSBTdHJlYW1PcHRpb25zKCkKKworICAgICAgICAgICAgZm9yIGluZGV4LCBwcm9jZXNzb3IgaW4g
ZW51bWVyYXRlKHByb2Nlc3NvcnMpOgorICAgICAgICAgICAgICAgIGlmIG5vdCBwcm9jZXNzb3Iu
aXNfYWN0aXZlKCk6CisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisKKyAgICAgICAgICAg
ICAgICBleHRlbnNpb25fcmVzcG9uc2UgPSBwcm9jZXNzb3IuZ2V0X2V4dGVuc2lvbl9yZXNwb25z
ZSgpCisgICAgICAgICAgICAgICAgaWYgZXh0ZW5zaW9uX3Jlc3BvbnNlIGlzIE5vbmU6CisgICAg
ICAgICAgICAgICAgICAgICMgUmVqZWN0ZWQuCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVl
CisKKyAgICAgICAgICAgICAgICBhY2NlcHRlZF9leHRlbnNpb25zLmFwcGVuZChleHRlbnNpb25f
cmVzcG9uc2UpCisKKyAgICAgICAgICAgICAgICBwcm9jZXNzb3Iuc2V0dXBfc3RyZWFtX29wdGlv
bnMoc3RyZWFtX29wdGlvbnMpCisKKyAgICAgICAgICAgICAgICAjIEluYWN0aXZhdGUgYWxsIG9m
IHRoZSBmb2xsb3dpbmcgY29tcHJlc3Npb24gZXh0ZW5zaW9ucy4KKyAgICAgICAgICAgICAgICBm
b3IgaiBpbiByYW5nZShpbmRleCArIDEsIGxlbihwcm9jZXNzb3JzKSk6CisgICAgICAgICAgICAg
ICAgICAgIHByb2Nlc3NvcnNbal0uc2V0X2FjdGl2ZShGYWxzZSkKKworICAgICAgICAgICAgaWYg
bGVuKGFjY2VwdGVkX2V4dGVuc2lvbnMpID4gMDoKKyAgICAgICAgICAgICAgICBzZWxmLl9yZXF1
ZXN0LndzX2V4dGVuc2lvbnMgPSBhY2NlcHRlZF9leHRlbnNpb25zCisgICAgICAgICAgICAgICAg
c2VsZi5fbG9nZ2VyLmRlYnVnKAorICAgICAgICAgICAgICAgICAgICAnRXh0ZW5zaW9ucyBhY2Nl
cHRlZDogJXInLAorICAgICAgICAgICAgICAgICAgICBsaXN0KAorICAgICAgICAgICAgICAgICAg
ICAgICAgbWFwKGNvbW1vbi5FeHRlbnNpb25QYXJhbWV0ZXIubmFtZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBhY2NlcHRlZF9leHRlbnNpb25zKSkpCisgICAgICAgICAgICBlbHNlOgor
ICAgICAgICAgICAgICAgIHNlbGYuX3JlcXVlc3Qud3NfZXh0ZW5zaW9ucyA9IE5vbmUKKworICAg
ICAgICAgICAgc2VsZi5fcmVxdWVzdC53c19zdHJlYW0gPSBzZWxmLl9jcmVhdGVfc3RyZWFtKHN0
cmVhbV9vcHRpb25zKQorCisgICAgICAgICAgICBpZiBzZWxmLl9yZXF1ZXN0LndzX3JlcXVlc3Rl
ZF9wcm90b2NvbHMgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgaWYgc2VsZi5fcmVxdWVz
dC53c19wcm90b2NvbCBpcyBOb25lOgorICAgICAgICAgICAgICAgICAgICByYWlzZSBIYW5kc2hh
a2VFeGNlcHRpb24oCisgICAgICAgICAgICAgICAgICAgICAgICAnZG9fZXh0cmFfaGFuZHNoYWtl
IG11c3QgY2hvb3NlIG9uZSBzdWJwcm90b2NvbCBmcm9tICcKKyAgICAgICAgICAgICAgICAgICAg
ICAgICd3c19yZXF1ZXN0ZWRfcHJvdG9jb2xzIGFuZCBzZXQgaXQgdG8gd3NfcHJvdG9jb2wnKQor
ICAgICAgICAgICAgICAgIHZhbGlkYXRlX3N1YnByb3RvY29sKHNlbGYuX3JlcXVlc3Qud3NfcHJv
dG9jb2wpCisKKyAgICAgICAgICAgICAgICBzZWxmLl9sb2dnZXIuZGVidWcoJ1N1YnByb3RvY29s
IGFjY2VwdGVkOiAlcicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYu
X3JlcXVlc3Qud3NfcHJvdG9jb2wpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAg
IGlmIHNlbGYuX3JlcXVlc3Qud3NfcHJvdG9jb2wgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAg
ICAgICAgIHJhaXNlIEhhbmRzaGFrZUV4Y2VwdGlvbigKKyAgICAgICAgICAgICAgICAgICAgICAg
ICd3c19wcm90b2NvbCBtdXN0IGJlIE5vbmUgd2hlbiB0aGUgY2xpZW50IGRpZG5cJ3QgJworICAg
ICAgICAgICAgICAgICAgICAgICAgJ3JlcXVlc3QgYW55IHN1YnByb3RvY29sJykKKworICAgICAg
ICAgICAgc2VsZi5fc2VuZF9oYW5kc2hha2UoYWNjZXB0KQorICAgICAgICBleGNlcHQgSGFuZHNo
YWtlRXhjZXB0aW9uIGFzIGU6CisgICAgICAgICAgICBpZiBub3QgZS5zdGF0dXM6CisgICAgICAg
ICAgICAgICAgIyBGYWxsYmFjayB0byA0MDAgYmFkIHJlcXVlc3QgYnkgZGVmYXVsdC4KKyAgICAg
ICAgICAgICAgICBlLnN0YXR1cyA9IGNvbW1vbi5IVFRQX1NUQVRVU19CQURfUkVRVUVTVAorICAg
ICAgICAgICAgcmFpc2UgZQorCisgICAgZGVmIF9nZXRfb3JpZ2luKHNlbGYpOgorICAgICAgICBv
cmlnaW5faGVhZGVyID0gY29tbW9uLk9SSUdJTl9IRUFERVIKKyAgICAgICAgb3JpZ2luID0gc2Vs
Zi5fcmVxdWVzdC5oZWFkZXJzX2luLmdldChvcmlnaW5faGVhZGVyKQorICAgICAgICBpZiBvcmln
aW4gaXMgTm9uZToKKyAgICAgICAgICAgIHNlbGYuX2xvZ2dlci5kZWJ1ZygnQ2xpZW50IHJlcXVl
c3QgZG9lcyBub3QgaGF2ZSBvcmlnaW4gaGVhZGVyJykKKyAgICAgICAgc2VsZi5fcmVxdWVzdC53
c19vcmlnaW4gPSBvcmlnaW4KKworICAgIGRlZiBfY2hlY2tfdmVyc2lvbihzZWxmKToKKyAgICAg
ICAgdmVyc2lvbiA9IGdldF9tYW5kYXRvcnlfaGVhZGVyKHNlbGYuX3JlcXVlc3QsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21tb24uU0VDX1dFQlNPQ0tFVF9WRVJT
SU9OX0hFQURFUikKKyAgICAgICAgaWYgdmVyc2lvbiA9PSBfVkVSU0lPTl9MQVRFU1RfU1RSSU5H
OgorICAgICAgICAgICAgcmV0dXJuIF9WRVJTSU9OX0xBVEVTVAorCisgICAgICAgIGlmIHZlcnNp
b24uZmluZCgnLCcpID49IDA6CisgICAgICAgICAgICByYWlzZSBIYW5kc2hha2VFeGNlcHRpb24o
CisgICAgICAgICAgICAgICAgJ011bHRpcGxlIHZlcnNpb25zICglcikgYXJlIG5vdCBhbGxvd2Vk
IGZvciBoZWFkZXIgJXMnICUKKyAgICAgICAgICAgICAgICAodmVyc2lvbiwgY29tbW9uLlNFQ19X
RUJTT0NLRVRfVkVSU0lPTl9IRUFERVIpLAorICAgICAgICAgICAgICAgIHN0YXR1cz1jb21tb24u
SFRUUF9TVEFUVVNfQkFEX1JFUVVFU1QpCisgICAgICAgIHJhaXNlIFZlcnNpb25FeGNlcHRpb24o
J1Vuc3VwcG9ydGVkIHZlcnNpb24gJXIgZm9yIGhlYWRlciAlcycgJQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICh2ZXJzaW9uLCBjb21tb24uU0VDX1dFQlNPQ0tFVF9WRVJTSU9OX0hF
QURFUiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydGVkX3ZlcnNpb25z
PScsICcuam9pbigKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwKHN0ciwg
X1NVUFBPUlRFRF9WRVJTSU9OUykpKQorCisgICAgZGVmIF9zZXRfcHJvdG9jb2woc2VsZik6Cisg
ICAgICAgIHNlbGYuX3JlcXVlc3Qud3NfcHJvdG9jb2wgPSBOb25lCisKKyAgICAgICAgcHJvdG9j
b2xfaGVhZGVyID0gc2VsZi5fcmVxdWVzdC5oZWFkZXJzX2luLmdldCgKKyAgICAgICAgICAgIGNv
bW1vbi5TRUNfV0VCU09DS0VUX1BST1RPQ09MX0hFQURFUikKKworICAgICAgICBpZiBwcm90b2Nv
bF9oZWFkZXIgaXMgTm9uZToKKyAgICAgICAgICAgIHNlbGYuX3JlcXVlc3Qud3NfcmVxdWVzdGVk
X3Byb3RvY29scyA9IE5vbmUKKyAgICAgICAgICAgIHJldHVybgorCisgICAgICAgIHNlbGYuX3Jl
cXVlc3Qud3NfcmVxdWVzdGVkX3Byb3RvY29scyA9IHBhcnNlX3Rva2VuX2xpc3QoCisgICAgICAg
ICAgICBwcm90b2NvbF9oZWFkZXIpCisgICAgICAgIHNlbGYuX2xvZ2dlci5kZWJ1ZygnU3VicHJv
dG9jb2xzIHJlcXVlc3RlZDogJXInLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5f
cmVxdWVzdC53c19yZXF1ZXN0ZWRfcHJvdG9jb2xzKQorCisgICAgZGVmIF9wYXJzZV9leHRlbnNp
b25zKHNlbGYpOgorICAgICAgICBleHRlbnNpb25zX2hlYWRlciA9IHNlbGYuX3JlcXVlc3QuaGVh
ZGVyc19pbi5nZXQoCisgICAgICAgICAgICBjb21tb24uU0VDX1dFQlNPQ0tFVF9FWFRFTlNJT05T
X0hFQURFUikKKyAgICAgICAgaWYgbm90IGV4dGVuc2lvbnNfaGVhZGVyOgorICAgICAgICAgICAg
c2VsZi5fcmVxdWVzdC53c19yZXF1ZXN0ZWRfZXh0ZW5zaW9ucyA9IE5vbmUKKyAgICAgICAgICAg
IHJldHVybgorCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNlbGYuX3JlcXVlc3Qud3NfcmVx
dWVzdGVkX2V4dGVuc2lvbnMgPSBjb21tb24ucGFyc2VfZXh0ZW5zaW9ucygKKyAgICAgICAgICAg
ICAgICBleHRlbnNpb25zX2hlYWRlcikKKyAgICAgICAgZXhjZXB0IGNvbW1vbi5FeHRlbnNpb25Q
YXJzaW5nRXhjZXB0aW9uIGFzIGU6CisgICAgICAgICAgICByYWlzZSBIYW5kc2hha2VFeGNlcHRp
b24oCisgICAgICAgICAgICAgICAgJ0ZhaWxlZCB0byBwYXJzZSBTZWMtV2ViU29ja2V0LUV4dGVu
c2lvbnMgaGVhZGVyOiAlcicgJSBlKQorCisgICAgICAgIHNlbGYuX2xvZ2dlci5kZWJ1ZygKKyAg
ICAgICAgICAgICdFeHRlbnNpb25zIHJlcXVlc3RlZDogJXInLAorICAgICAgICAgICAgbGlzdCgK
KyAgICAgICAgICAgICAgICBtYXAoY29tbW9uLkV4dGVuc2lvblBhcmFtZXRlci5uYW1lLAorICAg
ICAgICAgICAgICAgICAgICBzZWxmLl9yZXF1ZXN0LndzX3JlcXVlc3RlZF9leHRlbnNpb25zKSkp
CisKKyAgICBkZWYgX3ZhbGlkYXRlX2tleShzZWxmLCBrZXkpOgorICAgICAgICBpZiBrZXkuZmlu
ZCgnLCcpID49IDA6CisgICAgICAgICAgICByYWlzZSBIYW5kc2hha2VFeGNlcHRpb24oJ1JlcXVl
c3QgaGFzIG11bHRpcGxlICVzIGhlYWRlciBsaW5lcyBvciAnCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJ2NvbnRhaW5zIGlsbGVnYWwgY2hhcmFjdGVyIFwnLFwnOiAlcicg
JQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb21tb24uU0VDX1dFQlNP
Q0tFVF9LRVlfSEVBREVSLCBrZXkpKQorCisgICAgICAgICMgVmFsaWRhdGUKKyAgICAgICAga2V5
X2lzX3ZhbGlkID0gRmFsc2UKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgIyBWYWxpZGF0ZSBr
ZXkgYnkgcXVpY2sgcmVnZXggbWF0Y2ggYmVmb3JlIHBhcnNpbmcgYnkgYmFzZTY0CisgICAgICAg
ICAgICAjIG1vZHVsZS4gQmVjYXVzZSBiYXNlNjQgbW9kdWxlIHNraXBzIGludmFsaWQgY2hhcmFj
dGVycywgd2UgaGF2ZQorICAgICAgICAgICAgIyB0byBkbyB0aGlzIGluIGFkdmFuY2UgdG8gbWFr
ZSB0aGlzIHNlcnZlciBzdHJpY3RseSByZWplY3QgaWxsZWdhbAorICAgICAgICAgICAgIyBrZXlz
LgorICAgICAgICAgICAgaWYgX1NFQ19XRUJTT0NLRVRfS0VZX1JFR0VYLm1hdGNoKGtleSk6Cisg
ICAgICAgICAgICAgICAgZGVjb2RlZF9rZXkgPSBiYXNlNjQuYjY0ZGVjb2RlKGtleSkKKyAgICAg
ICAgICAgICAgICBpZiBsZW4oZGVjb2RlZF9rZXkpID09IDE2OgorICAgICAgICAgICAgICAgICAg
ICBrZXlfaXNfdmFsaWQgPSBUcnVlCisgICAgICAgIGV4Y2VwdCBUeXBlRXJyb3IgYXMgZToKKyAg
ICAgICAgICAgIHBhc3MKKworICAgICAgICBpZiBub3Qga2V5X2lzX3ZhbGlkOgorICAgICAgICAg
ICAgcmFpc2UgSGFuZHNoYWtlRXhjZXB0aW9uKCdJbGxlZ2FsIHZhbHVlIGZvciBoZWFkZXIgJXM6
ICVyJyAlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbW1vbi5TRUNf
V0VCU09DS0VUX0tFWV9IRUFERVIsIGtleSkpCisKKyAgICAgICAgcmV0dXJuIGRlY29kZWRfa2V5
CisKKyAgICBkZWYgX2dldF9rZXkoc2VsZik6CisgICAgICAgIGtleSA9IGdldF9tYW5kYXRvcnlf
aGVhZGVyKHNlbGYuX3JlcXVlc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbW1vbi5TRUNfV0VCU09DS0VUX0tFWV9IRUFERVIpCisKKyAgICAgICAgZGVjb2RlZF9rZXkg
PSBzZWxmLl92YWxpZGF0ZV9rZXkoa2V5KQorCisgICAgICAgIHNlbGYuX2xvZ2dlci5kZWJ1Zygn
JXM6ICVyICglcyknLCBjb21tb24uU0VDX1dFQlNPQ0tFVF9LRVlfSEVBREVSLCBrZXksCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1dGlsLmhleGlmeShkZWNvZGVkX2tleSkpCisKKyAgICAg
ICAgcmV0dXJuIGtleS5lbmNvZGUoJ1VURi04JykKKworICAgIGRlZiBfY3JlYXRlX3N0cmVhbShz
ZWxmLCBzdHJlYW1fb3B0aW9ucyk6CisgICAgICAgIHJldHVybiBTdHJlYW0oc2VsZi5fcmVxdWVz
dCwgc3RyZWFtX29wdGlvbnMpCisKKyAgICBkZWYgX2NyZWF0ZV9oYW5kc2hha2VfcmVzcG9uc2Uo
c2VsZiwgYWNjZXB0KToKKyAgICAgICAgcmVzcG9uc2UgPSBbXQorCisgICAgICAgIHJlc3BvbnNl
LmFwcGVuZCh1J0hUVFAvMS4xIDEwMSBTd2l0Y2hpbmcgUHJvdG9jb2xzXHJcbicpCisKKyAgICAg
ICAgIyBXZWJTb2NrZXQgaGVhZGVycworICAgICAgICByZXNwb25zZS5hcHBlbmQoCisgICAgICAg
ICAgICBmb3JtYXRfaGVhZGVyKGNvbW1vbi5VUEdSQURFX0hFQURFUiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29tbW9uLldFQlNPQ0tFVF9VUEdSQURFX1RZUEUpKQorICAgICAgICByZXNw
b25zZS5hcHBlbmQoCisgICAgICAgICAgICBmb3JtYXRfaGVhZGVyKGNvbW1vbi5DT05ORUNUSU9O
X0hFQURFUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29tbW9uLlVQR1JBREVfQ09OTkVD
VElPTl9UWVBFKSkKKyAgICAgICAgcmVzcG9uc2UuYXBwZW5kKAorICAgICAgICAgICAgZm9ybWF0
X2hlYWRlcihjb21tb24uU0VDX1dFQlNPQ0tFVF9BQ0NFUFRfSEVBREVSLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICBhY2NlcHQuZGVjb2RlKCdVVEYtOCcpKSkKKyAgICAgICAgaWYgc2VsZi5f
cmVxdWVzdC53c19wcm90b2NvbCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHJlc3BvbnNlLmFw
cGVuZCgKKyAgICAgICAgICAgICAgICBmb3JtYXRfaGVhZGVyKGNvbW1vbi5TRUNfV0VCU09DS0VU
X1BST1RPQ09MX0hFQURFUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3Jl
cXVlc3Qud3NfcHJvdG9jb2wpKQorICAgICAgICBpZiAoc2VsZi5fcmVxdWVzdC53c19leHRlbnNp
b25zIGlzIG5vdCBOb25lCisgICAgICAgICAgICAgICAgYW5kIGxlbihzZWxmLl9yZXF1ZXN0Lndz
X2V4dGVuc2lvbnMpICE9IDApOgorICAgICAgICAgICAgcmVzcG9uc2UuYXBwZW5kKAorICAgICAg
ICAgICAgICAgIGZvcm1hdF9oZWFkZXIoCisgICAgICAgICAgICAgICAgICAgIGNvbW1vbi5TRUNf
V0VCU09DS0VUX0VYVEVOU0lPTlNfSEVBREVSLAorICAgICAgICAgICAgICAgICAgICBjb21tb24u
Zm9ybWF0X2V4dGVuc2lvbnMoc2VsZi5fcmVxdWVzdC53c19leHRlbnNpb25zKSkpCisKKyAgICAg
ICAgIyBIZWFkZXJzIG5vdCBzcGVjaWZpYyBmb3IgV2ViU29ja2V0CisgICAgICAgIGZvciBuYW1l
LCB2YWx1ZSBpbiBzZWxmLl9yZXF1ZXN0LmV4dHJhX2hlYWRlcnM6CisgICAgICAgICAgICByZXNw
b25zZS5hcHBlbmQoZm9ybWF0X2hlYWRlcihuYW1lLCB2YWx1ZSkpCisKKyAgICAgICAgcmVzcG9u
c2UuYXBwZW5kKHUnXHJcbicpCisKKyAgICAgICAgcmV0dXJuIHUnJy5qb2luKHJlc3BvbnNlKQor
CisgICAgZGVmIF9zZW5kX2hhbmRzaGFrZShzZWxmLCBhY2NlcHQpOgorICAgICAgICByYXdfcmVz
cG9uc2UgPSBzZWxmLl9jcmVhdGVfaGFuZHNoYWtlX3Jlc3BvbnNlKGFjY2VwdCkKKyAgICAgICAg
c2VsZi5fcmVxdWVzdC5jb25uZWN0aW9uLndyaXRlKHJhd19yZXNwb25zZS5lbmNvZGUoJ1VURi04
JykpCisgICAgICAgIHNlbGYuX2xvZ2dlci5kZWJ1ZygnU2VudCBzZXJ2ZXJcJ3Mgb3BlbmluZyBo
YW5kc2hha2U6ICVyJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhd19yZXNwb25zZSkK
KworCisjIHZpOnN0cz00IHN3PTQgZXQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL21v
ZF9weXdlYnNvY2tldC9oYW5kc2hha2UvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0
My9tb2RfcHl3ZWJzb2NrZXQvaGFuZHNoYWtlL3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY1
OThmNTcwZjJkYzFlZTAxNjJkOTk2ZDY4ODVjYTBiZDZhYjdmMTYKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJk
X3BhcnR5L3B5d2Vic29ja2V0My9tb2RfcHl3ZWJzb2NrZXQvaGFuZHNoYWtlL3czYy1pbXBvcnQu
bG9nCkBAIC0wLDAgKzEsMTkgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGlt
cG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0
cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24g
dGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93
cHQKKworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJL
aXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCist
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05v
bmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL21vZF9weXdl
YnNvY2tldC9oYW5kc2hha2UvX19pbml0X18ucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My9tb2RfcHl3
ZWJzb2NrZXQvaGFuZHNoYWtlL19iYXNlLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvbW9kX3B5d2Vi
c29ja2V0L2hhbmRzaGFrZS9oeWJpLnB5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My9t
b2RfcHl3ZWJzb2NrZXQvaHR0cF9oZWFkZXJfdXRpbC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL21v
ZF9weXdlYnNvY2tldC9odHRwX2hlYWRlcl91dGlsLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRlZDkwYjI0N2I4
ZGVkOWYyNTRkYWJhNzA5MDljYmM4ZmYzYzgyZDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5
d2Vic29ja2V0My9tb2RfcHl3ZWJzb2NrZXQvaHR0cF9oZWFkZXJfdXRpbC5weQpAQCAtMCwwICsx
LDI1NCBAQAorIyBDb3B5cmlnaHQgMjAxMSwgR29vZ2xlIEluYy4KKyMgQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyMgbWV0OgorIworIyAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorIyBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisjIGRpc3Ry
aWJ1dGlvbi4KKyMgICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhl
IG5hbWVzIG9mIGl0cworIyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisjICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisjIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgorIyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorIyBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyMgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorIyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisiIiJVdGlsaXRpZXMgZm9yIHBhcnNpbmcgYW5kIGZv
cm1hdHRpbmcgaGVhZGVycyB0aGF0IGZvbGxvdyB0aGUgZ3JhbW1hciBkZWZpbmVkCitpbiBIVFRQ
IFJGQyBodHRwOi8vd3d3LmlldGYub3JnL3JmYy9yZmMyNjE2LnR4dC4KKyIiIgorCitmcm9tIF9f
ZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydAoraW1wb3J0IHNpeC5tb3Zlcy51cmxsaWIu
cGFyc2UKKworX1NFUEFSQVRPUlMgPSAnKCk8PkAsOzpcXCIvW10/PXt9IFx0JworCisKK2RlZiBf
aXNfY2hhcihjKToKKyAgICAiIiJSZXR1cm5zIHRydWUgaWZmIGMgaXMgaW4gQ0hBUiBhcyBzcGVj
aWZpZWQgaW4gSFRUUCBSRkMuIiIiCisKKyAgICByZXR1cm4gb3JkKGMpIDw9IDEyNworCisKK2Rl
ZiBfaXNfY3RsKGMpOgorICAgICIiIlJldHVybnMgdHJ1ZSBpZmYgYyBpcyBpbiBDVEwgYXMgc3Bl
Y2lmaWVkIGluIEhUVFAgUkZDLiIiIgorCisgICAgcmV0dXJuIG9yZChjKSA8PSAzMSBvciBvcmQo
YykgPT0gMTI3CisKKworY2xhc3MgUGFyc2luZ1N0YXRlKG9iamVjdCk6CisgICAgZGVmIF9faW5p
dF9fKHNlbGYsIGRhdGEpOgorICAgICAgICBzZWxmLmRhdGEgPSBkYXRhCisgICAgICAgIHNlbGYu
aGVhZCA9IDAKKworCitkZWYgcGVlayhzdGF0ZSwgcG9zPTApOgorICAgICIiIlBlZWtzIHRoZSBj
aGFyYWN0ZXIgYXQgcG9zIGZyb20gdGhlIGhlYWQgb2YgZGF0YS4iIiIKKworICAgIGlmIHN0YXRl
LmhlYWQgKyBwb3MgPj0gbGVuKHN0YXRlLmRhdGEpOgorICAgICAgICByZXR1cm4gTm9uZQorCisg
ICAgcmV0dXJuIHN0YXRlLmRhdGFbc3RhdGUuaGVhZCArIHBvc10KKworCitkZWYgY29uc3VtZShz
dGF0ZSwgYW1vdW50PTEpOgorICAgICIiIkNvbnN1bWVzIHNwZWNpZmllZCBhbW91bnQgb2YgYnl0
ZXMgZnJvbSB0aGUgaGVhZCBhbmQgcmV0dXJucyB0aGUKKyAgICBjb25zdW1lZCBieXRlcy4gSWYg
dGhlcmUncyBub3QgZW5vdWdoIGJ5dGVzIHRvIGNvbnN1bWUsIHJldHVybnMgTm9uZS4KKyAgICAi
IiIKKworICAgIGlmIHN0YXRlLmhlYWQgKyBhbW91bnQgPiBsZW4oc3RhdGUuZGF0YSk6CisgICAg
ICAgIHJldHVybiBOb25lCisKKyAgICByZXN1bHQgPSBzdGF0ZS5kYXRhW3N0YXRlLmhlYWQ6c3Rh
dGUuaGVhZCArIGFtb3VudF0KKyAgICBzdGF0ZS5oZWFkID0gc3RhdGUuaGVhZCArIGFtb3VudAor
ICAgIHJldHVybiByZXN1bHQKKworCitkZWYgY29uc3VtZV9zdHJpbmcoc3RhdGUsIGV4cGVjdGVk
KToKKyAgICAiIiJHaXZlbiBhIHBhcnNpbmcgc3RhdGUgYW5kIGEgZXhwZWN0ZWQgc3RyaW5nLCBj
b25zdW1lcyB0aGUgc3RyaW5nIGZyb20KKyAgICB0aGUgaGVhZC4gUmV0dXJucyBUcnVlIGlmIGNv
bnN1bWVkIHN1Y2Nlc3NmdWxseS4gT3RoZXJ3aXNlLCByZXR1cm5zCisgICAgRmFsc2UuCisgICAg
IiIiCisKKyAgICBwb3MgPSAwCisKKyAgICBmb3IgYyBpbiBleHBlY3RlZDoKKyAgICAgICAgaWYg
YyAhPSBwZWVrKHN0YXRlLCBwb3MpOgorICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgICAg
IHBvcyArPSAxCisKKyAgICBjb25zdW1lKHN0YXRlLCBwb3MpCisgICAgcmV0dXJuIFRydWUKKwor
CitkZWYgY29uc3VtZV9sd3Moc3RhdGUpOgorICAgICIiIkNvbnN1bWVzIGEgTFdTIGZyb20gdGhl
IGhlYWQuIFJldHVybnMgVHJ1ZSBpZiBhbnkgTFdTIGlzIGNvbnN1bWVkLgorICAgIE90aGVyd2lz
ZSwgcmV0dXJucyBGYWxzZS4KKworICAgIExXUyA9IFtDUkxGXSAxKiggU1AgfCBIVCApCisgICAg
IiIiCisKKyAgICBvcmlnaW5hbF9oZWFkID0gc3RhdGUuaGVhZAorCisgICAgY29uc3VtZV9zdHJp
bmcoc3RhdGUsICdcclxuJykKKworICAgIHBvcyA9IDAKKworICAgIHdoaWxlIFRydWU6CisgICAg
ICAgIGMgPSBwZWVrKHN0YXRlLCBwb3MpCisgICAgICAgIGlmIGMgPT0gJyAnIG9yIGMgPT0gJ1x0
JzoKKyAgICAgICAgICAgIHBvcyArPSAxCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBpZiBw
b3MgPT0gMDoKKyAgICAgICAgICAgICAgICBzdGF0ZS5oZWFkID0gb3JpZ2luYWxfaGVhZAorICAg
ICAgICAgICAgICAgIHJldHVybiBGYWxzZQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAg
ICAgICBjb25zdW1lKHN0YXRlLCBwb3MpCisgICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKKwor
CitkZWYgY29uc3VtZV9sd3NlcyhzdGF0ZSk6CisgICAgIiIiQ29uc3VtZXMgKkxXUyBmcm9tIHRo
ZSBoZWFkLiIiIgorCisgICAgd2hpbGUgY29uc3VtZV9sd3Moc3RhdGUpOgorICAgICAgICBwYXNz
CisKKworZGVmIGNvbnN1bWVfdG9rZW4oc3RhdGUpOgorICAgICIiIkNvbnN1bWVzIGEgdG9rZW4g
ZnJvbSB0aGUgaGVhZC4gUmV0dXJucyB0aGUgdG9rZW4gb3IgTm9uZSBpZiBubyB0b2tlbgorICAg
IHdhcyBmb3VuZC4KKyAgICAiIiIKKworICAgIHBvcyA9IDAKKworICAgIHdoaWxlIFRydWU6Cisg
ICAgICAgIGMgPSBwZWVrKHN0YXRlLCBwb3MpCisgICAgICAgIGlmIGMgaXMgTm9uZSBvciBjIGlu
IF9TRVBBUkFUT1JTIG9yIF9pc19jdGwoYykgb3Igbm90IF9pc19jaGFyKGMpOgorICAgICAgICAg
ICAgaWYgcG9zID09IDA6CisgICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKKworICAgICAgICAg
ICAgcmV0dXJuIGNvbnN1bWUoc3RhdGUsIHBvcykKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAg
IHBvcyArPSAxCisKKworZGVmIGNvbnN1bWVfdG9rZW5fb3JfcXVvdGVkX3N0cmluZyhzdGF0ZSk6
CisgICAgIiIiQ29uc3VtZXMgYSB0b2tlbiBvciBhIHF1b3RlZC1zdHJpbmcsIGFuZCByZXR1cm5z
IHRoZSB0b2tlbiBvciB1bnF1b3RlZAorICAgIHN0cmluZy4gSWYgbm8gdG9rZW4gb3IgcXVvdGVk
LXN0cmluZyB3YXMgZm91bmQsIHJldHVybnMgTm9uZS4KKyAgICAiIiIKKworICAgIG9yaWdpbmFs
X2hlYWQgPSBzdGF0ZS5oZWFkCisKKyAgICBpZiBub3QgY29uc3VtZV9zdHJpbmcoc3RhdGUsICci
Jyk6CisgICAgICAgIHJldHVybiBjb25zdW1lX3Rva2VuKHN0YXRlKQorCisgICAgcmVzdWx0ID0g
W10KKworICAgIGV4cGVjdF9xdW90ZWRfcGFpciA9IEZhbHNlCisKKyAgICB3aGlsZSBUcnVlOgor
ICAgICAgICBpZiBub3QgZXhwZWN0X3F1b3RlZF9wYWlyIGFuZCBjb25zdW1lX2x3cyhzdGF0ZSk6
CisgICAgICAgICAgICByZXN1bHQuYXBwZW5kKCcgJykKKyAgICAgICAgICAgIGNvbnRpbnVlCisK
KyAgICAgICAgYyA9IGNvbnN1bWUoc3RhdGUpCisgICAgICAgIGlmIGMgaXMgTm9uZToKKyAgICAg
ICAgICAgICMgcXVvdGVkLXN0cmluZyBpcyBub3QgZW5jbG9zZWQgd2l0aCBkb3VibGUgcXVvdGF0
aW9uCisgICAgICAgICAgICBzdGF0ZS5oZWFkID0gb3JpZ2luYWxfaGVhZAorICAgICAgICAgICAg
cmV0dXJuIE5vbmUKKyAgICAgICAgZWxpZiBleHBlY3RfcXVvdGVkX3BhaXI6CisgICAgICAgICAg
ICBleHBlY3RfcXVvdGVkX3BhaXIgPSBGYWxzZQorICAgICAgICAgICAgaWYgX2lzX2NoYXIoYyk6
CisgICAgICAgICAgICAgICAgcmVzdWx0LmFwcGVuZChjKQorICAgICAgICAgICAgZWxzZToKKyAg
ICAgICAgICAgICAgICAjIE5vbiBDSEFSIGNoYXJhY3RlciBmb3VuZCBpbiBxdW90ZWQtcGFpcgor
ICAgICAgICAgICAgICAgIHN0YXRlLmhlYWQgPSBvcmlnaW5hbF9oZWFkCisgICAgICAgICAgICAg
ICAgcmV0dXJuIE5vbmUKKyAgICAgICAgZWxpZiBjID09ICdcXCc6CisgICAgICAgICAgICBleHBl
Y3RfcXVvdGVkX3BhaXIgPSBUcnVlCisgICAgICAgIGVsaWYgYyA9PSAnIic6CisgICAgICAgICAg
ICByZXR1cm4gJycuam9pbihyZXN1bHQpCisgICAgICAgIGVsaWYgX2lzX2N0bChjKToKKyAgICAg
ICAgICAgICMgSW52YWxpZCBjaGFyYWN0ZXIgJXIgZm91bmQgaW4gcWR0ZXh0CisgICAgICAgICAg
ICBzdGF0ZS5oZWFkID0gb3JpZ2luYWxfaGVhZAorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAg
ICAgICAgZWxzZToKKyAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoYykKKworCitkZWYgcXVvdGVf
aWZfbmVjZXNzYXJ5KHMpOgorICAgICIiIlF1b3RlcyBhcmJpdHJhcnkgc3RyaW5nIGludG8gcXVv
dGVkLXN0cmluZy4iIiIKKworICAgIHF1b3RlID0gRmFsc2UKKyAgICBpZiBzID09ICcnOgorICAg
ICAgICByZXR1cm4gJyIiJworCisgICAgcmVzdWx0ID0gW10KKyAgICBmb3IgYyBpbiBzOgorICAg
ICAgICBpZiBjID09ICciJyBvciBjIGluIF9TRVBBUkFUT1JTIG9yIF9pc19jdGwoYykgb3Igbm90
IF9pc19jaGFyKGMpOgorICAgICAgICAgICAgcXVvdGUgPSBUcnVlCisKKyAgICAgICAgaWYgYyA9
PSAnIicgb3IgX2lzX2N0bChjKToKKyAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoJ1xcJyArIGMp
CisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXN1bHQuYXBwZW5kKGMpCisKKyAgICBpZiBx
dW90ZToKKyAgICAgICAgcmV0dXJuICciJyArICcnLmpvaW4ocmVzdWx0KSArICciJworICAgIGVs
c2U6CisgICAgICAgIHJldHVybiAnJy5qb2luKHJlc3VsdCkKKworCitkZWYgcGFyc2VfdXJpKHVy
aSk6CisgICAgIiIiUGFyc2UgYWJzb2x1dGUgVVJJIHRoZW4gcmV0dXJuIGhvc3QsIHBvcnQgYW5k
IHJlc291cmNlLiIiIgorCisgICAgcGFyc2VkID0gc2l4Lm1vdmVzLnVybGxpYi5wYXJzZS51cmxz
cGxpdCh1cmkpCisgICAgaWYgcGFyc2VkLnNjaGVtZSAhPSAnd3NzJyBhbmQgcGFyc2VkLnNjaGVt
ZSAhPSAnd3MnOgorICAgICAgICAjIHx1cml8IG11c3QgYmUgYSByZWxhdGl2ZSBVUkkuCisgICAg
ICAgICMgVE9ETyh0b3lvc2hpbSk6IFNob3VsZCB2YWxpZGF0ZSB8dXJpfC4KKyAgICAgICAgcmV0
dXJuIE5vbmUsIE5vbmUsIHVyaQorCisgICAgaWYgcGFyc2VkLmhvc3RuYW1lIGlzIE5vbmU6Cisg
ICAgICAgIHJldHVybiBOb25lLCBOb25lLCBOb25lCisKKyAgICBwb3J0ID0gTm9uZQorICAgIHRy
eToKKyAgICAgICAgcG9ydCA9IHBhcnNlZC5wb3J0CisgICAgZXhjZXB0IFZhbHVlRXJyb3I6Cisg
ICAgICAgICMgVGhlIHBvcnQgcHJvcGVydHkgY2F1c2UgVmFsdWVFcnJvciBvbiBpbnZhbGlkIG51
bGwgcG9ydCBkZXNjcmlwdGlvbnMKKyAgICAgICAgIyBsaWtlICd3czovL2hvc3Q6SU5WQUxJRF9Q
T1JUL3BhdGgnLCB3aGVyZSB0aGUgYXNzaWduZWQgcG9ydCBpcyBub3QKKyAgICAgICAgIyAqRElH
SVQuIEZvciBweXRob24gMy42IGFuZCBsYXRlciwgVmFsdWVFcnJvciBhbHNvIHJhaXNlcyB3aGVu
CisgICAgICAgICMgYXNzaWduaW5nIGludmFsaWQgcG9ydCBudW1iZXJzIHN1Y2ggYXMgJ3dzOi8v
aG9zdDotMS9wYXRoJy4gRWFybGllcgorICAgICAgICAjIHZlcnNpb25zIHNpbXBseSByZXR1cm4g
Tm9uZSBhbmQgaWdub3JlIGludmFsaWQgcG9ydCBhdHRyaWJ1dGVzLgorICAgICAgICByZXR1cm4g
Tm9uZSwgTm9uZSwgTm9uZQorCisgICAgaWYgcG9ydCBpcyBOb25lOgorICAgICAgICBpZiBwYXJz
ZWQuc2NoZW1lID09ICd3cyc6CisgICAgICAgICAgICBwb3J0ID0gODAKKyAgICAgICAgZWxzZToK
KyAgICAgICAgICAgIHBvcnQgPSA0NDMKKworICAgIHBhdGggPSBwYXJzZWQucGF0aAorICAgIGlm
IG5vdCBwYXRoOgorICAgICAgICBwYXRoICs9ICcvJworICAgIGlmIHBhcnNlZC5xdWVyeToKKyAg
ICAgICAgcGF0aCArPSAnPycgKyBwYXJzZWQucXVlcnkKKyAgICBpZiBwYXJzZWQuZnJhZ21lbnQ6
CisgICAgICAgIHBhdGggKz0gJyMnICsgcGFyc2VkLmZyYWdtZW50CisKKyAgICByZXR1cm4gcGFy
c2VkLmhvc3RuYW1lLCBwb3J0LCBwYXRoCisKKworIyB2aTpzdHM9NCBzdz00IGV0CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3Ro
aXJkX3BhcnR5L3B5d2Vic29ja2V0My9tb2RfcHl3ZWJzb2NrZXQvbWVtb3JpemluZ2ZpbGUucHkg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJk
X3BhcnR5L3B5d2Vic29ja2V0My9tb2RfcHl3ZWJzb2NrZXQvbWVtb3JpemluZ2ZpbGUucHkKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZDM1Mzk2NzYxODQ3YTY4NDA0NjQ4NDBiMGU3MmViYzdiYTE1MGU0MQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL21vZF9weXdlYnNvY2tldC9tZW1vcml6aW5n
ZmlsZS5weQpAQCAtMCwwICsxLDk5IEBACisjIS91c3IvYmluL2VudiBweXRob24KKyMKKyMgQ29w
eXJpZ2h0IDIwMTEsIEdvb2dsZSBJbmMuCisjIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisjIG1ldDoKKyMKKyMgICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlCisjIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorIyBkaXN0cmlidXRpb24uCisjICAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMK
KyMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20KKyMgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworIyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKKyMgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQKKyMgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisjIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCisjIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorIiIiTWVtb3JpemluZyBmaWxlLgorCitBIG1lbW9yaXppbmcgZmlsZSB3cmFw
cyBhIGZpbGUgYW5kIG1lbW9yaXplcyBsaW5lcyByZWFkIGJ5IHJlYWRsaW5lLgorIiIiCisKK2Zy
b20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0CitpbXBvcnQgc3lzCisKKworY2xh
c3MgTWVtb3JpemluZ0ZpbGUob2JqZWN0KToKKyAgICAiIiJNZW1vcml6aW5nRmlsZSB3cmFwcyBh
IGZpbGUgYW5kIG1lbW9yaXplcyBsaW5lcyByZWFkIGJ5IHJlYWRsaW5lLgorCisgICAgTm90ZSB0
aGF0IGRhdGEgcmVhZCBieSBvdGhlciBtZXRob2RzIGFyZSBub3QgbWVtb3JpemVkLiBUaGlzIGJl
aGF2aW9yCisgICAgaXMgZ29vZCBlbm91Z2ggZm9yIG1lbW9yaXppbmcgbGluZXMgU2ltcGxlSFRU
UFNlcnZlciByZWFkcyBiZWZvcmUKKyAgICB0aGUgY29udHJvbCByZWFjaGVzIFdlYlNvY2tldFJl
cXVlc3RIYW5kbGVyLgorICAgICIiIgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBmaWxlXywgbWF4
X21lbW9yaXplZF9saW5lcz1zeXMubWF4c2l6ZSk6CisgICAgICAgICIiIkNvbnN0cnVjdCBhbiBp
bnN0YW5jZS4KKworICAgICAgICBBcmdzOgorICAgICAgICAgICAgZmlsZV86IHRoZSBmaWxlIG9i
amVjdCB0byB3cmFwLgorICAgICAgICAgICAgbWF4X21lbW9yaXplZF9saW5lczogdGhlIG1heGlt
dW0gbnVtYmVyIG9mIGxpbmVzIHRvIG1lbW9yaXplLgorICAgICAgICAgICAgICAgIE9ubHkgdGhl
IGZpcnN0IG1heF9tZW1vcml6ZWRfbGluZXMgYXJlIG1lbW9yaXplZC4KKyAgICAgICAgICAgICAg
ICBEZWZhdWx0OiBzeXMubWF4aW50LgorICAgICAgICAiIiIKKyAgICAgICAgc2VsZi5fZmlsZSA9
IGZpbGVfCisgICAgICAgIHNlbGYuX21lbW9yaXplZF9saW5lcyA9IFtdCisgICAgICAgIHNlbGYu
X21heF9tZW1vcml6ZWRfbGluZXMgPSBtYXhfbWVtb3JpemVkX2xpbmVzCisgICAgICAgIHNlbGYu
X2J1ZmZlcmVkID0gRmFsc2UKKyAgICAgICAgc2VsZi5fYnVmZmVyZWRfbGluZSA9IE5vbmUKKwor
ICAgIGRlZiBfX2dldGF0dHJpYnV0ZV9fKHNlbGYsIG5hbWUpOgorICAgICAgICAiIiJSZXR1cm4g
YSBmaWxlIGF0dHJpYnV0ZS4KKyAgICAgICAgCisgICAgICAgIFJldHVybnMgdGhlIHZhbHVlIG92
ZXJyaWRkZW4gYnkgdGhpcyBjbGFzcyBmb3Igc29tZSBhdHRyaWJ1dGVzLAorICAgICAgICBhbmQg
Zm9yd2FyZHMgdGhlIGNhbGwgdG8gX2ZpbGUgZm9yIHRoZSBvdGhlciBhdHRyaWJ1dGVzLgorICAg
ICAgICAiIiIKKyAgICAgICAgaWYgbmFtZSBpbiAoJ19maWxlJywgJ19tZW1vcml6ZWRfbGluZXMn
LCAnX21heF9tZW1vcml6ZWRfbGluZXMnLAorICAgICAgICAgICAgICAgICAgICAnX2J1ZmZlcmVk
JywgJ19idWZmZXJlZF9saW5lJywgJ3JlYWRsaW5lJywKKyAgICAgICAgICAgICAgICAgICAgJ2dl
dF9tZW1vcml6ZWRfbGluZXMnKToKKyAgICAgICAgICAgIHJldHVybiBvYmplY3QuX19nZXRhdHRy
aWJ1dGVfXyhzZWxmLCBuYW1lKQorICAgICAgICByZXR1cm4gc2VsZi5fZmlsZS5fX2dldGF0dHJp
YnV0ZV9fKG5hbWUpCisKKyAgICBkZWYgcmVhZGxpbmUoc2VsZiwgc2l6ZT0tMSk6CisgICAgICAg
ICIiIk92ZXJyaWRlIGZpbGUucmVhZGxpbmUgYW5kIG1lbW9yaXplIHRoZSBsaW5lIHJlYWQuCisK
KyAgICAgICAgTm90ZSB0aGF0IGV2ZW4gaWYgc2l6ZSBpcyBzcGVjaWZpZWQgYW5kIHNtYWxsZXIg
dGhhbiBhY3R1YWwgc2l6ZSwKKyAgICAgICAgdGhlIHdob2xlIGxpbmUgd2lsbCBiZSByZWFkIG91
dCBmcm9tIHVuZGVybHlpbmcgZmlsZSBvYmplY3QgYnkKKyAgICAgICAgc3Vic2VxdWVudCByZWFk
bGluZSBjYWxscy4KKyAgICAgICAgIiIiCisgICAgICAgIGlmIHNlbGYuX2J1ZmZlcmVkOgorICAg
ICAgICAgICAgbGluZSA9IHNlbGYuX2J1ZmZlcmVkX2xpbmUKKyAgICAgICAgICAgIHNlbGYuX2J1
ZmZlcmVkID0gRmFsc2UKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGxpbmUgPSBzZWxmLl9m
aWxlLnJlYWRsaW5lKCkKKyAgICAgICAgICAgIGlmIGxpbmUgYW5kIGxlbihzZWxmLl9tZW1vcml6
ZWRfbGluZXMpIDwgc2VsZi5fbWF4X21lbW9yaXplZF9saW5lczoKKyAgICAgICAgICAgICAgICBz
ZWxmLl9tZW1vcml6ZWRfbGluZXMuYXBwZW5kKGxpbmUpCisgICAgICAgIGlmIHNpemUgPj0gMCBh
bmQgc2l6ZSA8IGxlbihsaW5lKToKKyAgICAgICAgICAgIHNlbGYuX2J1ZmZlcmVkID0gVHJ1ZQor
ICAgICAgICAgICAgc2VsZi5fYnVmZmVyZWRfbGluZSA9IGxpbmVbc2l6ZTpdCisgICAgICAgICAg
ICByZXR1cm4gbGluZVs6c2l6ZV0KKyAgICAgICAgcmV0dXJuIGxpbmUKKworICAgIGRlZiBnZXRf
bWVtb3JpemVkX2xpbmVzKHNlbGYpOgorICAgICAgICAiIiJHZXQgbGluZXMgbWVtb3JpemVkIHNv
IGZhci4iIiIKKyAgICAgICAgcmV0dXJuIHNlbGYuX21lbW9yaXplZF9saW5lcworCisKKyMgdmk6
c3RzPTQgc3c9NCBldApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvbW9kX3B5d2Vic29j
a2V0L21zZ3V0aWwucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My9tb2RfcHl3ZWJzb2NrZXQvbXNndXRp
bC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mNThjYTc4ZTE0YWQyNWU3YTQ0ZDFhYjI2MmU3YmQzNWNlYWVhNWYy
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvbW9kX3B5d2Vic29ja2V0L21z
Z3V0aWwucHkKQEAgLTAsMCArMSwyMTQgQEAKKyMgQ29weXJpZ2h0IDIwMTEsIEdvb2dsZSBJbmMu
CisjIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CisjIG1ldDoKKyMKKyMgICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisjIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIKKyMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZQorIyBkaXN0cmlidXRpb24uCisjICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
R29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyMgdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMg
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUworIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyMgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyMg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCisjIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisjIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQor
IyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorIiIiTWVzc2FnZSBy
ZWxhdGVkIHV0aWxpdGllcy4KKworTm90ZTogcmVxdWVzdC5jb25uZWN0aW9uLndyaXRlL3JlYWQg
YXJlIHVzZWQgaW4gdGhpcyBtb2R1bGUsIGV2ZW4gdGhvdWdoCittb2RfcHl0aG9uIGRvY3VtZW50
IHNheXMgdGhhdCB0aGV5IHNob3VsZCBiZSB1c2VkIG9ubHkgaW4gY29ubmVjdGlvbgoraGFuZGxl
cnMuIFVuZm9ydHVuYXRlbHksIHdlIGhhdmUgbm8gb3RoZXIgb3B0aW9ucy4gRm9yIGV4YW1wbGUs
CityZXF1ZXN0LndyaXRlL3JlYWQgYXJlIG5vdCBzdWl0YWJsZSBiZWNhdXNlIHRoZXkgZG9uJ3Qg
YWxsb3cgZGlyZWN0IHJhdworYnl0ZXMgd3JpdGluZy9yZWFkaW5nLgorIiIiCisKK2Zyb20gX19m
dXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0CitpbXBvcnQgc2l4Lm1vdmVzLnF1ZXVlCitp
bXBvcnQgdGhyZWFkaW5nCisKKyMgRXhwb3J0IEV4Y2VwdGlvbiBzeW1ib2xzIGZyb20gbXNndXRp
bCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eQorZnJvbSBtb2RfcHl3ZWJzb2NrZXQuX3N0cmVh
bV9leGNlcHRpb25zIGltcG9ydCBDb25uZWN0aW9uVGVybWluYXRlZEV4Y2VwdGlvbgorZnJvbSBt
b2RfcHl3ZWJzb2NrZXQuX3N0cmVhbV9leGNlcHRpb25zIGltcG9ydCBJbnZhbGlkRnJhbWVFeGNl
cHRpb24KK2Zyb20gbW9kX3B5d2Vic29ja2V0Ll9zdHJlYW1fZXhjZXB0aW9ucyBpbXBvcnQgQmFk
T3BlcmF0aW9uRXhjZXB0aW9uCitmcm9tIG1vZF9weXdlYnNvY2tldC5fc3RyZWFtX2V4Y2VwdGlv
bnMgaW1wb3J0IFVuc3VwcG9ydGVkRnJhbWVFeGNlcHRpb24KKworCisjIEFuIEFQSSBmb3IgaGFu
ZGxlciB0byBzZW5kL3JlY2VpdmUgV2ViU29ja2V0IG1lc3NhZ2VzLgorZGVmIGNsb3NlX2Nvbm5l
Y3Rpb24ocmVxdWVzdCk6CisgICAgIiIiQ2xvc2UgY29ubmVjdGlvbi4KKworICAgIEFyZ3M6Cisg
ICAgICAgIHJlcXVlc3Q6IG1vZF9weXRob24gcmVxdWVzdC4KKyAgICAiIiIKKyAgICByZXF1ZXN0
LndzX3N0cmVhbS5jbG9zZV9jb25uZWN0aW9uKCkKKworCitkZWYgc2VuZF9tZXNzYWdlKHJlcXVl
c3QsIHBheWxvYWRfZGF0YSwgZW5kPVRydWUsIGJpbmFyeT1GYWxzZSk6CisgICAgIiIiU2VuZCBh
IG1lc3NhZ2UgKG9yIHBhcnQgb2YgYSBtZXNzYWdlKS4KKworICAgIEFyZ3M6CisgICAgICAgIHJl
cXVlc3Q6IG1vZF9weXRob24gcmVxdWVzdC4KKyAgICAgICAgcGF5bG9hZF9kYXRhOiB1bmljb2Rl
IHRleHQgb3Igc3RyIGJpbmFyeSB0byBzZW5kLgorICAgICAgICBlbmQ6IFRydWUgdG8gdGVybWlu
YXRlIGEgbWVzc2FnZS4KKyAgICAgICAgICAgICBGYWxzZSB0byBzZW5kIHBheWxvYWRfZGF0YSBh
cyBwYXJ0IG9mIGEgbWVzc2FnZSB0aGF0IGlzIHRvIGJlCisgICAgICAgICAgICAgdGVybWluYXRl
ZCBieSBuZXh0IG9yIGxhdGVyIHNlbmRfbWVzc2FnZSBjYWxsIHdpdGggZW5kPVRydWUuCisgICAg
ICAgIGJpbmFyeTogc2VuZCBwYXlsb2FkX2RhdGEgYXMgYmluYXJ5IGZyYW1lKHMpLgorICAgIFJh
aXNlczoKKyAgICAgICAgQmFkT3BlcmF0aW9uRXhjZXB0aW9uOiB3aGVuIHNlcnZlciBhbHJlYWR5
IHRlcm1pbmF0ZWQuCisgICAgIiIiCisgICAgcmVxdWVzdC53c19zdHJlYW0uc2VuZF9tZXNzYWdl
KHBheWxvYWRfZGF0YSwgZW5kLCBiaW5hcnkpCisKKworZGVmIHJlY2VpdmVfbWVzc2FnZShyZXF1
ZXN0KToKKyAgICAiIiJSZWNlaXZlIGEgV2ViU29ja2V0IGZyYW1lIGFuZCByZXR1cm4gaXRzIHBh
eWxvYWQgYXMgYSB0ZXh0IGluCisgICAgdW5pY29kZSBvciBhIGJpbmFyeSBpbiBzdHIuCisKKyAg
ICBBcmdzOgorICAgICAgICByZXF1ZXN0OiBtb2RfcHl0aG9uIHJlcXVlc3QuCisgICAgUmFpc2Vz
OgorICAgICAgICBJbnZhbGlkRnJhbWVFeGNlcHRpb246ICAgICB3aGVuIGNsaWVudCBzZW5kIGlu
dmFsaWQgZnJhbWUuCisgICAgICAgIFVuc3VwcG9ydGVkRnJhbWVFeGNlcHRpb246IHdoZW4gY2xp
ZW50IHNlbmQgdW5zdXBwb3J0ZWQgZnJhbWUgZS5nLiBzb21lCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIG9mIHJlc2VydmVkIGJpdCBpcyBzZXQgYnV0IG5vIGV4dGVuc2lvbiBj
YW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjb2duaXplIGl0LgorICAg
ICAgICBJbnZhbGlkVVRGOEV4Y2VwdGlvbjogICAgICB3aGVuIGNsaWVudCBzZW5kIGEgdGV4dCBm
cmFtZSBjb250YWluaW5nIGFueQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnZhbGlkIFVURi04IHN0cmluZy4KKyAgICAgICAgQ29ubmVjdGlvblRlcm1pbmF0ZWRFeGNlcHRp
b246IHdoZW4gdGhlIGNvbm5lY3Rpb24gaXMgY2xvc2VkCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVuZXhwZWN0ZWRseS4KKyAgICAgICAgQmFkT3BlcmF0aW9uRXhjZXB0aW9u
OiAgICAgd2hlbiBjbGllbnQgYWxyZWFkeSB0ZXJtaW5hdGVkLgorICAgICIiIgorICAgIHJldHVy
biByZXF1ZXN0LndzX3N0cmVhbS5yZWNlaXZlX21lc3NhZ2UoKQorCisKK2RlZiBzZW5kX3Bpbmco
cmVxdWVzdCwgYm9keSk6CisgICAgcmVxdWVzdC53c19zdHJlYW0uc2VuZF9waW5nKGJvZHkpCisK
KworY2xhc3MgTWVzc2FnZVJlY2VpdmVyKHRocmVhZGluZy5UaHJlYWQpOgorICAgICIiIlRoaXMg
Y2xhc3MgcmVjZWl2ZXMgbWVzc2FnZXMgZnJvbSB0aGUgY2xpZW50LgorCisgICAgVGhpcyBjbGFz
cyBwcm92aWRlcyB0aHJlZSB3YXlzIHRvIHJlY2VpdmUgbWVzc2FnZXM6IGJsb2NraW5nLAorICAg
IG5vbi1ibG9ja2luZywgYW5kIHZpYSBjYWxsYmFjay4gQ2FsbGJhY2sgaGFzIHRoZSBoaWdoZXN0
IHByZWNlZGVuY2UuCisKKyAgICBOb3RlOiBUaGlzIGNsYXNzIHNob3VsZCBub3QgYmUgdXNlZCB3
aXRoIHRoZSBzdGFuZGFsb25lIHNlcnZlciBmb3Igd3NzCisgICAgYmVjYXVzZSBweU9wZW5TU0wg
dXNlZCBieSB0aGUgc2VydmVyIHJhaXNlcyBhIGZhdGFsIGVycm9yIGlmIHRoZSBzb2NrZXQKKyAg
ICBpcyBhY2Nlc3NlZCBmcm9tIG11bHRpcGxlIHRocmVhZHMuCisgICAgIiIiCisgICAgZGVmIF9f
aW5pdF9fKHNlbGYsIHJlcXVlc3QsIG9ubWVzc2FnZT1Ob25lKToKKyAgICAgICAgIiIiQ29uc3Ry
dWN0IGFuIGluc3RhbmNlLgorCisgICAgICAgIEFyZ3M6CisgICAgICAgICAgICByZXF1ZXN0OiBt
b2RfcHl0aG9uIHJlcXVlc3QuCisgICAgICAgICAgICBvbm1lc3NhZ2U6IGEgZnVuY3Rpb24gdG8g
YmUgY2FsbGVkIHdoZW4gYSBtZXNzYWdlIGlzIHJlY2VpdmVkLgorICAgICAgICAgICAgICAgICAg
ICAgICBNYXkgYmUgTm9uZS4gSWYgbm90IE5vbmUsIHRoZSBmdW5jdGlvbiBpcyBjYWxsZWQgb24K
KyAgICAgICAgICAgICAgICAgICAgICAgYW5vdGhlciB0aHJlYWQuIEluIHRoYXQgY2FzZSwgTWVz
c2FnZVJlY2VpdmVyLnJlY2VpdmUKKyAgICAgICAgICAgICAgICAgICAgICAgYW5kIE1lc3NhZ2VS
ZWNlaXZlci5yZWNlaXZlX25vd2FpdCBhcmUgdXNlbGVzcworICAgICAgICAgICAgICAgICAgICAg
ICBiZWNhdXNlIHRoZXkgd2lsbCBuZXZlciByZXR1cm4gYW55IG1lc3NhZ2VzLgorICAgICAgICAi
IiIKKworICAgICAgICB0aHJlYWRpbmcuVGhyZWFkLl9faW5pdF9fKHNlbGYpCisgICAgICAgIHNl
bGYuX3JlcXVlc3QgPSByZXF1ZXN0CisgICAgICAgIHNlbGYuX3F1ZXVlID0gc2l4Lm1vdmVzLnF1
ZXVlLlF1ZXVlKCkKKyAgICAgICAgc2VsZi5fb25tZXNzYWdlID0gb25tZXNzYWdlCisgICAgICAg
IHNlbGYuX3N0b3BfcmVxdWVzdGVkID0gRmFsc2UKKyAgICAgICAgc2VsZi5zZXREYWVtb24oVHJ1
ZSkKKyAgICAgICAgc2VsZi5zdGFydCgpCisKKyAgICBkZWYgcnVuKHNlbGYpOgorICAgICAgICB0
cnk6CisgICAgICAgICAgICB3aGlsZSBub3Qgc2VsZi5fc3RvcF9yZXF1ZXN0ZWQ6CisgICAgICAg
ICAgICAgICAgbWVzc2FnZSA9IHJlY2VpdmVfbWVzc2FnZShzZWxmLl9yZXF1ZXN0KQorICAgICAg
ICAgICAgICAgIGlmIHNlbGYuX29ubWVzc2FnZToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5f
b25tZXNzYWdlKG1lc3NhZ2UpCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAg
ICAgICAgc2VsZi5fcXVldWUucHV0KG1lc3NhZ2UpCisgICAgICAgIGZpbmFsbHk6CisgICAgICAg
ICAgICBjbG9zZV9jb25uZWN0aW9uKHNlbGYuX3JlcXVlc3QpCisKKyAgICBkZWYgcmVjZWl2ZShz
ZWxmKToKKyAgICAgICAgIiIiIFJlY2VpdmUgYSBtZXNzYWdlIGZyb20gdGhlIGNoYW5uZWwsIGJs
b2NraW5nLgorCisgICAgICAgIFJldHVybnM6CisgICAgICAgICAgICBtZXNzYWdlIGFzIGEgdW5p
Y29kZSBzdHJpbmcuCisgICAgICAgICIiIgorICAgICAgICByZXR1cm4gc2VsZi5fcXVldWUuZ2V0
KCkKKworICAgIGRlZiByZWNlaXZlX25vd2FpdChzZWxmKToKKyAgICAgICAgIiIiIFJlY2VpdmUg
YSBtZXNzYWdlIGZyb20gdGhlIGNoYW5uZWwsIG5vbi1ibG9ja2luZy4KKworICAgICAgICBSZXR1
cm5zOgorICAgICAgICAgICAgbWVzc2FnZSBhcyBhIHVuaWNvZGUgc3RyaW5nIGlmIGF2YWlsYWJs
ZS4gTm9uZSBvdGhlcndpc2UuCisgICAgICAgICIiIgorICAgICAgICB0cnk6CisgICAgICAgICAg
ICBtZXNzYWdlID0gc2VsZi5fcXVldWUuZ2V0X25vd2FpdCgpCisgICAgICAgIGV4Y2VwdCBzaXgu
bW92ZXMucXVldWUuRW1wdHk6CisgICAgICAgICAgICBtZXNzYWdlID0gTm9uZQorICAgICAgICBy
ZXR1cm4gbWVzc2FnZQorCisgICAgZGVmIHN0b3Aoc2VsZik6CisgICAgICAgICIiIlJlcXVlc3Qg
dG8gc3RvcCB0aGlzIGluc3RhbmNlLgorCisgICAgICAgIFRoZSBpbnN0YW5jZSB3aWxsIGJlIHN0
b3BwZWQgYWZ0ZXIgcmVjZWl2aW5nIHRoZSBuZXh0IG1lc3NhZ2UuCisgICAgICAgIFRoaXMgbWV0
aG9kIG1heSBub3QgYmUgdmVyeSB1c2VmdWwsIGJ1dCB0aGVyZSBpcyBubyBjbGVhbiB3YXkKKyAg
ICAgICAgaW4gUHl0aG9uIHRvIGZvcmNlZnVsbHkgc3RvcCBhIHJ1bm5pbmcgdGhyZWFkLgorICAg
ICAgICAiIiIKKyAgICAgICAgc2VsZi5fc3RvcF9yZXF1ZXN0ZWQgPSBUcnVlCisKKworY2xhc3Mg
TWVzc2FnZVNlbmRlcih0aHJlYWRpbmcuVGhyZWFkKToKKyAgICAiIiJUaGlzIGNsYXNzIHNlbmRz
IG1lc3NhZ2VzIHRvIHRoZSBjbGllbnQuCisKKyAgICBUaGlzIGNsYXNzIHByb3ZpZGVzIGJvdGgg
c3luY2hyb25vdXMgYW5kIGFzeW5jaHJvbm91cyB3YXlzIHRvIHNlbmQKKyAgICBtZXNzYWdlcy4K
KworICAgIE5vdGU6IFRoaXMgY2xhc3Mgc2hvdWxkIG5vdCBiZSB1c2VkIHdpdGggdGhlIHN0YW5k
YWxvbmUgc2VydmVyIGZvciB3c3MKKyAgICBiZWNhdXNlIHB5T3BlblNTTCB1c2VkIGJ5IHRoZSBz
ZXJ2ZXIgcmFpc2VzIGEgZmF0YWwgZXJyb3IgaWYgdGhlIHNvY2tldAorICAgIGlzIGFjY2Vzc2Vk
IGZyb20gbXVsdGlwbGUgdGhyZWFkcy4KKyAgICAiIiIKKyAgICBkZWYgX19pbml0X18oc2VsZiwg
cmVxdWVzdCk6CisgICAgICAgICIiIkNvbnN0cnVjdCBhbiBpbnN0YW5jZS4KKworICAgICAgICBB
cmdzOgorICAgICAgICAgICAgcmVxdWVzdDogbW9kX3B5dGhvbiByZXF1ZXN0LgorICAgICAgICAi
IiIKKyAgICAgICAgdGhyZWFkaW5nLlRocmVhZC5fX2luaXRfXyhzZWxmKQorICAgICAgICBzZWxm
Ll9yZXF1ZXN0ID0gcmVxdWVzdAorICAgICAgICBzZWxmLl9xdWV1ZSA9IHNpeC5tb3Zlcy5xdWV1
ZS5RdWV1ZSgpCisgICAgICAgIHNlbGYuc2V0RGFlbW9uKFRydWUpCisgICAgICAgIHNlbGYuc3Rh
cnQoKQorCisgICAgZGVmIHJ1bihzZWxmKToKKyAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAg
ICAgIG1lc3NhZ2UsIGNvbmRpdGlvbiA9IHNlbGYuX3F1ZXVlLmdldCgpCisgICAgICAgICAgICBj
b25kaXRpb24uYWNxdWlyZSgpCisgICAgICAgICAgICBzZW5kX21lc3NhZ2Uoc2VsZi5fcmVxdWVz
dCwgbWVzc2FnZSkKKyAgICAgICAgICAgIGNvbmRpdGlvbi5ub3RpZnkoKQorICAgICAgICAgICAg
Y29uZGl0aW9uLnJlbGVhc2UoKQorCisgICAgZGVmIHNlbmQoc2VsZiwgbWVzc2FnZSk6CisgICAg
ICAgICIiIlNlbmQgYSBtZXNzYWdlLCBibG9ja2luZy4iIiIKKworICAgICAgICBjb25kaXRpb24g
PSB0aHJlYWRpbmcuQ29uZGl0aW9uKCkKKyAgICAgICAgY29uZGl0aW9uLmFjcXVpcmUoKQorICAg
ICAgICBzZWxmLl9xdWV1ZS5wdXQoKG1lc3NhZ2UsIGNvbmRpdGlvbikpCisgICAgICAgIGNvbmRp
dGlvbi53YWl0KCkKKworICAgIGRlZiBzZW5kX25vd2FpdChzZWxmLCBtZXNzYWdlKToKKyAgICAg
ICAgIiIiU2VuZCBhIG1lc3NhZ2UsIG5vbi1ibG9ja2luZy4iIiIKKworICAgICAgICBzZWxmLl9x
dWV1ZS5wdXQoKG1lc3NhZ2UsIHRocmVhZGluZy5Db25kaXRpb24oKSkpCisKKworIyB2aTpzdHM9
NCBzdz00IGV0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My9tb2RfcHl3ZWJzb2NrZXQv
cmVxdWVzdF9oYW5kbGVyLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvbW9kX3B5d2Vic29ja2V0L3Jl
cXVlc3RfaGFuZGxlci5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMDM4ZDlmNDNhY2QzN2JmNWExYjEwYTBjZTU1
ODViZDUxZWQ2MDJkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvbW9kX3B5
d2Vic29ja2V0L3JlcXVlc3RfaGFuZGxlci5weQpAQCAtMCwwICsxLDMxOSBAQAorIyBDb3B5cmln
aHQgMjAyMCwgR29vZ2xlIEluYy4KKyMgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKyMgbWV0OgorIworIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisj
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisjIGRpc3RyaWJ1dGlvbi4KKyMgICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworIyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQorIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisjICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgorIyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVAorIyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyMgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwKKyMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisiIiJSZXF1ZXN0IEhhbmRsZXIgYW5kIFJlcXVlc3QvQ29ubmVjdGlvbiBjbGFzc2Vz
IGZvciBzdGFuZGFsb25lIHNlcnZlci4KKyIiIgorCitpbXBvcnQgb3MKKworZnJvbSBzaXgubW92
ZXMgaW1wb3J0IENHSUhUVFBTZXJ2ZXIKK2Zyb20gc2l4Lm1vdmVzIGltcG9ydCBodHRwX2NsaWVu
dAorCitmcm9tIG1vZF9weXdlYnNvY2tldCBpbXBvcnQgY29tbW9uCitmcm9tIG1vZF9weXdlYnNv
Y2tldCBpbXBvcnQgZGlzcGF0Y2gKK2Zyb20gbW9kX3B5d2Vic29ja2V0IGltcG9ydCBoYW5kc2hh
a2UKK2Zyb20gbW9kX3B5d2Vic29ja2V0IGltcG9ydCBodHRwX2hlYWRlcl91dGlsCitmcm9tIG1v
ZF9weXdlYnNvY2tldCBpbXBvcnQgbWVtb3JpemluZ2ZpbGUKK2Zyb20gbW9kX3B5d2Vic29ja2V0
IGltcG9ydCB1dGlsCisKKyMgMTAyNCBpcyBwcmFjdGljYWxseSBsYXJnZSBlbm91Z2ggdG8gY29u
dGFpbiBXZWJTb2NrZXQgaGFuZHNoYWtlIGxpbmVzLgorX01BWF9NRU1PUklaRURfTElORVMgPSAx
MDI0CisKKworY2xhc3MgX1N0YW5kYWxvbmVDb25uZWN0aW9uKG9iamVjdCk6CisgICAgIiIiTWlt
aWMgbW9kX3B5dGhvbiBtcF9jb25uLiIiIgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCByZXF1ZXN0
X2hhbmRsZXIpOgorICAgICAgICAiIiJDb25zdHJ1Y3QgYW4gaW5zdGFuY2UuCisKKyAgICAgICAg
QXJnczoKKyAgICAgICAgICAgIHJlcXVlc3RfaGFuZGxlcjogQSBXZWJTb2NrZXRSZXF1ZXN0SGFu
ZGxlciBpbnN0YW5jZS4KKyAgICAgICAgIiIiCisKKyAgICAgICAgc2VsZi5fcmVxdWVzdF9oYW5k
bGVyID0gcmVxdWVzdF9oYW5kbGVyCisKKyAgICBkZWYgZ2V0X2xvY2FsX2FkZHIoc2VsZik6Cisg
ICAgICAgICIiIkdldHRlciB0byBtaW1pYyBtcF9jb25uLmxvY2FsX2FkZHIuIiIiCisKKyAgICAg
ICAgcmV0dXJuIChzZWxmLl9yZXF1ZXN0X2hhbmRsZXIuc2VydmVyLnNlcnZlcl9uYW1lLAorICAg
ICAgICAgICAgICAgIHNlbGYuX3JlcXVlc3RfaGFuZGxlci5zZXJ2ZXIuc2VydmVyX3BvcnQpCisK
KyAgICBsb2NhbF9hZGRyID0gcHJvcGVydHkoZ2V0X2xvY2FsX2FkZHIpCisKKyAgICBkZWYgZ2V0
X3JlbW90ZV9hZGRyKHNlbGYpOgorICAgICAgICAiIiJHZXR0ZXIgdG8gbWltaWMgbXBfY29ubi5y
ZW1vdGVfYWRkci4KKworICAgICAgICBTZXR0aW5nIHRoZSBwcm9wZXJ0eSBpbiBfX2luaXRfXyB3
b24ndCB3b3JrIGJlY2F1c2UgdGhlIHJlcXVlc3QKKyAgICAgICAgaGFuZGxlciBpcyBub3QgaW5p
dGlhbGl6ZWQgeWV0IHRoZXJlLiIiIgorCisgICAgICAgIHJldHVybiBzZWxmLl9yZXF1ZXN0X2hh
bmRsZXIuY2xpZW50X2FkZHJlc3MKKworICAgIHJlbW90ZV9hZGRyID0gcHJvcGVydHkoZ2V0X3Jl
bW90ZV9hZGRyKQorCisgICAgZGVmIHdyaXRlKHNlbGYsIGRhdGEpOgorICAgICAgICAiIiJNaW1p
YyBtcF9jb25uLndyaXRlKCkuIiIiCisKKyAgICAgICAgcmV0dXJuIHNlbGYuX3JlcXVlc3RfaGFu
ZGxlci53ZmlsZS53cml0ZShkYXRhKQorCisgICAgZGVmIHJlYWQoc2VsZiwgbGVuZ3RoKToKKyAg
ICAgICAgIiIiTWltaWMgbXBfY29ubi5yZWFkKCkuIiIiCisKKyAgICAgICAgcmV0dXJuIHNlbGYu
X3JlcXVlc3RfaGFuZGxlci5yZmlsZS5yZWFkKGxlbmd0aCkKKworICAgIGRlZiBnZXRfbWVtb3Jp
emVkX2xpbmVzKHNlbGYpOgorICAgICAgICAiIiJHZXQgbWVtb3JpemVkIGxpbmVzLiIiIgorCisg
ICAgICAgIHJldHVybiBzZWxmLl9yZXF1ZXN0X2hhbmRsZXIucmZpbGUuZ2V0X21lbW9yaXplZF9s
aW5lcygpCisKKworY2xhc3MgX1N0YW5kYWxvbmVSZXF1ZXN0KG9iamVjdCk6CisgICAgIiIiTWlt
aWMgbW9kX3B5dGhvbiByZXF1ZXN0LiIiIgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCByZXF1ZXN0
X2hhbmRsZXIsIHVzZV90bHMpOgorICAgICAgICAiIiJDb25zdHJ1Y3QgYW4gaW5zdGFuY2UuCisK
KyAgICAgICAgQXJnczoKKyAgICAgICAgICAgIHJlcXVlc3RfaGFuZGxlcjogQSBXZWJTb2NrZXRS
ZXF1ZXN0SGFuZGxlciBpbnN0YW5jZS4KKyAgICAgICAgIiIiCisKKyAgICAgICAgc2VsZi5fbG9n
Z2VyID0gdXRpbC5nZXRfY2xhc3NfbG9nZ2VyKHNlbGYpCisKKyAgICAgICAgc2VsZi5fcmVxdWVz
dF9oYW5kbGVyID0gcmVxdWVzdF9oYW5kbGVyCisgICAgICAgIHNlbGYuY29ubmVjdGlvbiA9IF9T
dGFuZGFsb25lQ29ubmVjdGlvbihyZXF1ZXN0X2hhbmRsZXIpCisgICAgICAgIHNlbGYuX3VzZV90
bHMgPSB1c2VfdGxzCisgICAgICAgIHNlbGYuaGVhZGVyc19pbiA9IHJlcXVlc3RfaGFuZGxlci5o
ZWFkZXJzCisKKyAgICBkZWYgZ2V0X3VyaShzZWxmKToKKyAgICAgICAgIiIiR2V0dGVyIHRvIG1p
bWljIHJlcXVlc3QudXJpLgorCisgICAgICAgIFRoaXMgbWV0aG9kIHJldHVybnMgdGhlIHJhdyBk
YXRhIGF0IHRoZSBSZXF1ZXN0LVVSSSBwYXJ0IG9mIHRoZQorICAgICAgICBSZXF1ZXN0LUxpbmUs
IHdoaWxlIHRoZSB1cmkgbWV0aG9kIG9uIHRoZSByZXF1ZXN0IG9iamVjdCBvZiBtb2RfcHl0aG9u
CisgICAgICAgIHJldHVybnMgdGhlIHBhdGggcG9ydGlvbiBhZnRlciBwYXJzaW5nIHRoZSByYXcg
ZGF0YS4gVGhpcyBiZWhhdmlvciBpcworICAgICAgICBrZXB0IGZvciBjb21wYXRpYmlsaXR5Lgor
ICAgICAgICAiIiIKKworICAgICAgICByZXR1cm4gc2VsZi5fcmVxdWVzdF9oYW5kbGVyLnBhdGgK
KworICAgIHVyaSA9IHByb3BlcnR5KGdldF91cmkpCisKKyAgICBkZWYgZ2V0X3VucGFyc2VkX3Vy
aShzZWxmKToKKyAgICAgICAgIiIiR2V0dGVyIHRvIG1pbWljIHJlcXVlc3QudW5wYXJzZWRfdXJp
LiIiIgorCisgICAgICAgIHJldHVybiBzZWxmLl9yZXF1ZXN0X2hhbmRsZXIucGF0aAorCisgICAg
dW5wYXJzZWRfdXJpID0gcHJvcGVydHkoZ2V0X3VucGFyc2VkX3VyaSkKKworICAgIGRlZiBnZXRf
bWV0aG9kKHNlbGYpOgorICAgICAgICAiIiJHZXR0ZXIgdG8gbWltaWMgcmVxdWVzdC5tZXRob2Qu
IiIiCisKKyAgICAgICAgcmV0dXJuIHNlbGYuX3JlcXVlc3RfaGFuZGxlci5jb21tYW5kCisKKyAg
ICBtZXRob2QgPSBwcm9wZXJ0eShnZXRfbWV0aG9kKQorCisgICAgZGVmIGdldF9wcm90b2NvbChz
ZWxmKToKKyAgICAgICAgIiIiR2V0dGVyIHRvIG1pbWljIHJlcXVlc3QucHJvdG9jb2wuIiIiCisK
KyAgICAgICAgcmV0dXJuIHNlbGYuX3JlcXVlc3RfaGFuZGxlci5yZXF1ZXN0X3ZlcnNpb24KKwor
ICAgIHByb3RvY29sID0gcHJvcGVydHkoZ2V0X3Byb3RvY29sKQorCisgICAgZGVmIGlzX2h0dHBz
KHNlbGYpOgorICAgICAgICAiIiJNaW1pYyByZXF1ZXN0LmlzX2h0dHBzKCkuIiIiCisKKyAgICAg
ICAgcmV0dXJuIHNlbGYuX3VzZV90bHMKKworCitjbGFzcyBXZWJTb2NrZXRSZXF1ZXN0SGFuZGxl
cihDR0lIVFRQU2VydmVyLkNHSUhUVFBSZXF1ZXN0SGFuZGxlcik6CisgICAgIiIiQ0dJSFRUUFJl
cXVlc3RIYW5kbGVyIHNwZWNpYWxpemVkIGZvciBXZWJTb2NrZXQuIiIiCisKKyAgICAjIFVzZSBo
dHRwbGliLkhUVFBNZXNzYWdlIGluc3RlYWQgb2YgbWltZXRvb2xzLk1lc3NhZ2UuCisgICAgTWVz
c2FnZUNsYXNzID0gaHR0cF9jbGllbnQuSFRUUE1lc3NhZ2UKKworICAgIGRlZiBzZXR1cChzZWxm
KToKKyAgICAgICAgIiIiT3ZlcnJpZGUgU29ja2V0U2VydmVyLlN0cmVhbVJlcXVlc3RIYW5kbGVy
LnNldHVwIHRvIHdyYXAgcmZpbGUKKyAgICAgICAgd2l0aCBNZW1vcml6aW5nRmlsZS4KKworICAg
ICAgICBUaGlzIG1ldGhvZCB3aWxsIGJlIGNhbGxlZCBieSBCYXNlUmVxdWVzdEhhbmRsZXIncyBj
b25zdHJ1Y3RvcgorICAgICAgICBiZWZvcmUgY2FsbGluZyBCYXNlSFRUUFJlcXVlc3RIYW5kbGVy
LmhhbmRsZS4KKyAgICAgICAgQmFzZUhUVFBSZXF1ZXN0SGFuZGxlci5oYW5kbGUgd2lsbCBjYWxs
CisgICAgICAgIEJhc2VIVFRQUmVxdWVzdEhhbmRsZXIuaGFuZGxlX29uZV9yZXF1ZXN0IGFuZCBp
dCB3aWxsIGNhbGwKKyAgICAgICAgV2ViU29ja2V0UmVxdWVzdEhhbmRsZXIucGFyc2VfcmVxdWVz
dC4KKyAgICAgICAgIiIiCisKKyAgICAgICAgIyBDYWxsIHN1cGVyY2xhc3MncyBzZXR1cCB0byBw
cmVwYXJlIHJmaWxlLCB3ZmlsZSwgZXRjLiBTZWUgc2V0dXAKKyAgICAgICAgIyBkZWZpbml0aW9u
IG9uIHRoZSByb290IGNsYXNzIFNvY2tldFNlcnZlci5TdHJlYW1SZXF1ZXN0SGFuZGxlciB0bwor
ICAgICAgICAjIHVuZGVyc3RhbmQgd2hhdCB0aGlzIGRvZXMuCisgICAgICAgIENHSUhUVFBTZXJ2
ZXIuQ0dJSFRUUFJlcXVlc3RIYW5kbGVyLnNldHVwKHNlbGYpCisKKyAgICAgICAgc2VsZi5yZmls
ZSA9IG1lbW9yaXppbmdmaWxlLk1lbW9yaXppbmdGaWxlKAorICAgICAgICAgICAgc2VsZi5yZmls
ZSwgbWF4X21lbW9yaXplZF9saW5lcz1fTUFYX01FTU9SSVpFRF9MSU5FUykKKworICAgIGRlZiBf
X2luaXRfXyhzZWxmLCByZXF1ZXN0LCBjbGllbnRfYWRkcmVzcywgc2VydmVyKToKKyAgICAgICAg
c2VsZi5fbG9nZ2VyID0gdXRpbC5nZXRfY2xhc3NfbG9nZ2VyKHNlbGYpCisKKyAgICAgICAgc2Vs
Zi5fb3B0aW9ucyA9IHNlcnZlci53ZWJzb2NrZXRfc2VydmVyX29wdGlvbnMKKworICAgICAgICAj
IE92ZXJyaWRlcyBDR0lIVFRQU2VydmVyUmVxdWVzdEhhbmRsZXIuY2dpX2RpcmVjdG9yaWVzLgor
ICAgICAgICBzZWxmLmNnaV9kaXJlY3RvcmllcyA9IHNlbGYuX29wdGlvbnMuY2dpX2RpcmVjdG9y
aWVzCisgICAgICAgICMgUmVwbGFjZSBDR0lIVFRQUmVxdWVzdEhhbmRsZXIuaXNfZXhlY3V0YWJs
ZSBtZXRob2QuCisgICAgICAgIGlmIHNlbGYuX29wdGlvbnMuaXNfZXhlY3V0YWJsZV9tZXRob2Qg
aXMgbm90IE5vbmU6CisgICAgICAgICAgICBzZWxmLmlzX2V4ZWN1dGFibGUgPSBzZWxmLl9vcHRp
b25zLmlzX2V4ZWN1dGFibGVfbWV0aG9kCisKKyAgICAgICAgIyBUaGlzIGFjdHVhbGx5IGNhbGxz
IEJhc2VSZXF1ZXN0SGFuZGxlci5fX2luaXRfXy4KKyAgICAgICAgQ0dJSFRUUFNlcnZlci5DR0lI
VFRQUmVxdWVzdEhhbmRsZXIuX19pbml0X18oc2VsZiwgcmVxdWVzdCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50X2FkZHJlc3MsIHNl
cnZlcikKKworICAgIGRlZiBwYXJzZV9yZXF1ZXN0KHNlbGYpOgorICAgICAgICAiIiJPdmVycmlk
ZSBCYXNlSFRUUFNlcnZlci5CYXNlSFRUUFJlcXVlc3RIYW5kbGVyLnBhcnNlX3JlcXVlc3QuCisK
KyAgICAgICAgUmV0dXJuIFRydWUgdG8gY29udGludWUgcHJvY2Vzc2luZyBmb3IgSFRUUChTKSwg
RmFsc2Ugb3RoZXJ3aXNlLgorCisgICAgICAgIFNlZSBCYXNlSFRUUFJlcXVlc3RIYW5kbGVyLmhh
bmRsZV9vbmVfcmVxdWVzdCBtZXRob2Qgd2hpY2ggY2FsbHMKKyAgICAgICAgdGhpcyBtZXRob2Qg
dG8gdW5kZXJzdGFuZCBob3cgdGhlIHJldHVybiB2YWx1ZSB3aWxsIGJlIGhhbmRsZWQuCisgICAg
ICAgICIiIgorCisgICAgICAgICMgV2UgaG9vayBwYXJzZV9yZXF1ZXN0IG1ldGhvZCwgYnV0IGFs
c28gY2FsbCB0aGUgb3JpZ2luYWwKKyAgICAgICAgIyBDR0lIVFRQUmVxdWVzdEhhbmRsZXIucGFy
c2VfcmVxdWVzdCBzaW5jZSB3aGVuIHdlIHJldHVybiBGYWxzZSwKKyAgICAgICAgIyBDR0lIVFRQ
UmVxdWVzdEhhbmRsZXIuaGFuZGxlX29uZV9yZXF1ZXN0IGNvbnRpbnVlcyBwcm9jZXNzaW5nIGFu
ZAorICAgICAgICAjIGl0IG5lZWRzIHZhcmlhYmxlcyBzZXQgYnkgQ0dJSFRUUFJlcXVlc3RIYW5k
bGVyLnBhcnNlX3JlcXVlc3QuCisgICAgICAgICMKKyAgICAgICAgIyBWYXJpYWJsZXMgc2V0IGJ5
IHRoaXMgbWV0aG9kIHdpbGwgYmUgYWxzbyB1c2VkIGJ5IFdlYlNvY2tldCByZXF1ZXN0CisgICAg
ICAgICMgaGFuZGxpbmcgKHNlbGYucGF0aCwgc2VsZi5jb21tYW5kLCBzZWxmLnJlcXVlc3RsaW5l
LCBldGMuIFNlZSBhbHNvCisgICAgICAgICMgaG93IF9TdGFuZGFsb25lUmVxdWVzdCdzIG1lbWJl
cnMgYXJlIGltcGxlbWVudGVkIHVzaW5nIHRoZXNlCisgICAgICAgICMgYXR0cmlidXRlcykuCisg
ICAgICAgIGlmIG5vdCBDR0lIVFRQU2VydmVyLkNHSUhUVFBSZXF1ZXN0SGFuZGxlci5wYXJzZV9y
ZXF1ZXN0KHNlbGYpOgorICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisKKyAgICAgICAgaWYgc2Vs
Zi5fb3B0aW9ucy51c2VfYmFzaWNfYXV0aDoKKyAgICAgICAgICAgIGF1dGggPSBzZWxmLmhlYWRl
cnMuZ2V0aGVhZGVyKCdBdXRob3JpemF0aW9uJykKKyAgICAgICAgICAgIGlmIGF1dGggIT0gc2Vs
Zi5fb3B0aW9ucy5iYXNpY19hdXRoX2NyZWRlbnRpYWw6CisgICAgICAgICAgICAgICAgc2VsZi5z
ZW5kX3Jlc3BvbnNlKDQwMSkKKyAgICAgICAgICAgICAgICBzZWxmLnNlbmRfaGVhZGVyKCdXV1ct
QXV0aGVudGljYXRlJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdCYXNpYyBy
ZWFsbT0iUHl3ZWJzb2NrZXQiJykKKyAgICAgICAgICAgICAgICBzZWxmLmVuZF9oZWFkZXJzKCkK
KyAgICAgICAgICAgICAgICBzZWxmLl9sb2dnZXIuaW5mbygnUmVxdWVzdCBiYXNpYyBhdXRoZW50
aWNhdGlvbicpCisgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisKKyAgICAgICAgaG9zdCwg
cG9ydCwgcmVzb3VyY2UgPSBodHRwX2hlYWRlcl91dGlsLnBhcnNlX3VyaShzZWxmLnBhdGgpCisg
ICAgICAgIGlmIHJlc291cmNlIGlzIE5vbmU6CisgICAgICAgICAgICBzZWxmLl9sb2dnZXIuaW5m
bygnSW52YWxpZCBVUkk6ICVyJywgc2VsZi5wYXRoKQorICAgICAgICAgICAgc2VsZi5fbG9nZ2Vy
LmluZm8oJ0ZhbGxiYWNrIHRvIENHSUhUVFBSZXF1ZXN0SGFuZGxlcicpCisgICAgICAgICAgICBy
ZXR1cm4gVHJ1ZQorICAgICAgICBzZXJ2ZXJfb3B0aW9ucyA9IHNlbGYuc2VydmVyLndlYnNvY2tl
dF9zZXJ2ZXJfb3B0aW9ucworICAgICAgICBpZiBob3N0IGlzIG5vdCBOb25lOgorICAgICAgICAg
ICAgdmFsaWRhdGlvbl9ob3N0ID0gc2VydmVyX29wdGlvbnMudmFsaWRhdGlvbl9ob3N0CisgICAg
ICAgICAgICBpZiB2YWxpZGF0aW9uX2hvc3QgaXMgbm90IE5vbmUgYW5kIGhvc3QgIT0gdmFsaWRh
dGlvbl9ob3N0OgorICAgICAgICAgICAgICAgIHNlbGYuX2xvZ2dlci5pbmZvKCdJbnZhbGlkIGhv
c3Q6ICVyIChleHBlY3RlZDogJXIpJywgaG9zdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB2YWxpZGF0aW9uX2hvc3QpCisgICAgICAgICAgICAgICAgc2VsZi5fbG9nZ2VyLmlu
Zm8oJ0ZhbGxiYWNrIHRvIENHSUhUVFBSZXF1ZXN0SGFuZGxlcicpCisgICAgICAgICAgICAgICAg
cmV0dXJuIFRydWUKKyAgICAgICAgaWYgcG9ydCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHZh
bGlkYXRpb25fcG9ydCA9IHNlcnZlcl9vcHRpb25zLnZhbGlkYXRpb25fcG9ydAorICAgICAgICAg
ICAgaWYgdmFsaWRhdGlvbl9wb3J0IGlzIG5vdCBOb25lIGFuZCBwb3J0ICE9IHZhbGlkYXRpb25f
cG9ydDoKKyAgICAgICAgICAgICAgICBzZWxmLl9sb2dnZXIuaW5mbygnSW52YWxpZCBwb3J0OiAl
ciAoZXhwZWN0ZWQ6ICVyKScsIHBvcnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdmFsaWRhdGlvbl9wb3J0KQorICAgICAgICAgICAgICAgIHNlbGYuX2xvZ2dlci5pbmZvKCdG
YWxsYmFjayB0byBDR0lIVFRQUmVxdWVzdEhhbmRsZXInKQorICAgICAgICAgICAgICAgIHJldHVy
biBUcnVlCisgICAgICAgIHNlbGYucGF0aCA9IHJlc291cmNlCisKKyAgICAgICAgcmVxdWVzdCA9
IF9TdGFuZGFsb25lUmVxdWVzdChzZWxmLCBzZWxmLl9vcHRpb25zLnVzZV90bHMpCisKKyAgICAg
ICAgdHJ5OgorICAgICAgICAgICAgIyBGYWxsYmFjayB0byBkZWZhdWx0IGh0dHAgaGFuZGxlciBm
b3IgcmVxdWVzdCBwYXRocyBmb3Igd2hpY2gKKyAgICAgICAgICAgICMgd2UgZG9uJ3QgaGF2ZSBy
ZXF1ZXN0IGhhbmRsZXJzLgorICAgICAgICAgICAgaWYgbm90IHNlbGYuX29wdGlvbnMuZGlzcGF0
Y2hlci5nZXRfaGFuZGxlcl9zdWl0ZShzZWxmLnBhdGgpOgorICAgICAgICAgICAgICAgIHNlbGYu
X2xvZ2dlci5pbmZvKCdObyBoYW5kbGVyIGZvciByZXNvdXJjZTogJXInLCBzZWxmLnBhdGgpCisg
ICAgICAgICAgICAgICAgc2VsZi5fbG9nZ2VyLmluZm8oJ0ZhbGxiYWNrIHRvIENHSUhUVFBSZXF1
ZXN0SGFuZGxlcicpCisgICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKKyAgICAgICAgZXhjZXB0
IGRpc3BhdGNoLkRpc3BhdGNoRXhjZXB0aW9uIGFzIGU6CisgICAgICAgICAgICBzZWxmLl9sb2dn
ZXIuaW5mbygnRGlzcGF0Y2ggZmFpbGVkIGZvciBlcnJvcjogJXMnLCBlKQorICAgICAgICAgICAg
c2VsZi5zZW5kX2Vycm9yKGUuc3RhdHVzKQorICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisKKyAg
ICAgICAgIyBJZiBhbnkgRXhjZXB0aW9ucyB3aXRob3V0IGV4Y2VwdCBjbGF1c2Ugc2V0dXAgKGlu
Y2x1ZGluZworICAgICAgICAjIERpc3BhdGNoRXhjZXB0aW9uKSBpcyByYWlzZWQgYmVsb3cgdGhp
cyBwb2ludCwgaXQgd2lsbCBiZSBjYXVnaHQKKyAgICAgICAgIyBhbmQgbG9nZ2VkIGJ5IFdlYlNv
Y2tldFNlcnZlci4KKworICAgICAgICB0cnk6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAg
ICAgICAgaGFuZHNoYWtlLmRvX2hhbmRzaGFrZShyZXF1ZXN0LCBzZWxmLl9vcHRpb25zLmRpc3Bh
dGNoZXIpCisgICAgICAgICAgICBleGNlcHQgaGFuZHNoYWtlLlZlcnNpb25FeGNlcHRpb24gYXMg
ZToKKyAgICAgICAgICAgICAgICBzZWxmLl9sb2dnZXIuaW5mbygnSGFuZHNoYWtlIGZhaWxlZCBm
b3IgdmVyc2lvbiBlcnJvcjogJXMnLCBlKQorICAgICAgICAgICAgICAgIHNlbGYuc2VuZF9yZXNw
b25zZShjb21tb24uSFRUUF9TVEFUVVNfQkFEX1JFUVVFU1QpCisgICAgICAgICAgICAgICAgc2Vs
Zi5zZW5kX2hlYWRlcihjb21tb24uU0VDX1dFQlNPQ0tFVF9WRVJTSU9OX0hFQURFUiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUuc3VwcG9ydGVkX3ZlcnNpb25zKQorICAgICAg
ICAgICAgICAgIHNlbGYuZW5kX2hlYWRlcnMoKQorICAgICAgICAgICAgICAgIHJldHVybiBGYWxz
ZQorICAgICAgICAgICAgZXhjZXB0IGhhbmRzaGFrZS5IYW5kc2hha2VFeGNlcHRpb24gYXMgZToK
KyAgICAgICAgICAgICAgICAjIEhhbmRzaGFrZSBmb3Igd3MocykgZmFpbGVkLgorICAgICAgICAg
ICAgICAgIHNlbGYuX2xvZ2dlci5pbmZvKCdIYW5kc2hha2UgZmFpbGVkIGZvciBlcnJvcjogJXMn
LCBlKQorICAgICAgICAgICAgICAgIHNlbGYuc2VuZF9lcnJvcihlLnN0YXR1cykKKyAgICAgICAg
ICAgICAgICByZXR1cm4gRmFsc2UKKworICAgICAgICAgICAgcmVxdWVzdC5fZGlzcGF0Y2hlciA9
IHNlbGYuX29wdGlvbnMuZGlzcGF0Y2hlcgorICAgICAgICAgICAgc2VsZi5fb3B0aW9ucy5kaXNw
YXRjaGVyLnRyYW5zZmVyX2RhdGEocmVxdWVzdCkKKyAgICAgICAgZXhjZXB0IGhhbmRzaGFrZS5B
Ym9ydGVkQnlVc2VyRXhjZXB0aW9uIGFzIGU6CisgICAgICAgICAgICBzZWxmLl9sb2dnZXIuaW5m
bygnQWJvcnRlZDogJXMnLCBlKQorICAgICAgICByZXR1cm4gRmFsc2UKKworICAgIGRlZiBsb2df
cmVxdWVzdChzZWxmLCBjb2RlPSctJywgc2l6ZT0nLScpOgorICAgICAgICAiIiJPdmVycmlkZSBC
YXNlSFRUUFNlcnZlci5sb2dfcmVxdWVzdC4iIiIKKworICAgICAgICBzZWxmLl9sb2dnZXIuaW5m
bygnIiVzIiAlcyAlcycsIHNlbGYucmVxdWVzdGxpbmUsIHN0cihjb2RlKSwgc3RyKHNpemUpKQor
CisgICAgZGVmIGxvZ19lcnJvcihzZWxmLCAqYXJncyk6CisgICAgICAgICIiIk92ZXJyaWRlIEJh
c2VIVFRQU2VydmVyLmxvZ19lcnJvci4iIiIKKworICAgICAgICAjIERlc3BpdGUgdGhlIG5hbWUs
IHRoaXMgbWV0aG9kIGlzIGZvciB3YXJuaW5ncyB0aGFuIGZvciBlcnJvcnMuCisgICAgICAgICMg
Rm9yIGV4YW1wbGUsIEhUVFAgc3RhdHVzIGNvZGUgaXMgbG9nZ2VkIGJ5IHRoaXMgbWV0aG9kLgor
ICAgICAgICBzZWxmLl9sb2dnZXIud2FybmluZygnJXMgLSAlcycsIHNlbGYuYWRkcmVzc19zdHJp
bmcoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJnc1swXSAlIGFyZ3NbMTpdKQor
CisgICAgZGVmIGlzX2NnaShzZWxmKToKKyAgICAgICAgIiIiVGVzdCB3aGV0aGVyIHNlbGYucGF0
aCBjb3JyZXNwb25kcyB0byBhIENHSSBzY3JpcHQuCisKKyAgICAgICAgQWRkIGV4dHJhIGNoZWNr
IHRoYXQgc2VsZi5wYXRoIGRvZXNuJ3QgY29udGFpbnMgLi4KKyAgICAgICAgQWxzbyBjaGVjayBp
ZiB0aGUgZmlsZSBpcyBhIGV4ZWN1dGFibGUgZmlsZSBvciBub3QuCisgICAgICAgIElmIHRoZSBm
aWxlIGlzIG5vdCBleGVjdXRhYmxlLCBpdCBpcyBoYW5kbGVkIGFzIHN0YXRpYyBmaWxlIG9yIGRp
cgorICAgICAgICByYXRoZXIgdGhhbiBhIENHSSBzY3JpcHQuCisgICAgICAgICIiIgorCisgICAg
ICAgIGlmIENHSUhUVFBTZXJ2ZXIuQ0dJSFRUUFJlcXVlc3RIYW5kbGVyLmlzX2NnaShzZWxmKToK
KyAgICAgICAgICAgIGlmICcuLicgaW4gc2VsZi5wYXRoOgorICAgICAgICAgICAgICAgIHJldHVy
biBGYWxzZQorICAgICAgICAgICAgIyBzdHJpcCBxdWVyeSBwYXJhbWV0ZXIgZnJvbSByZXF1ZXN0
IHBhdGgKKyAgICAgICAgICAgIHJlc291cmNlX25hbWUgPSBzZWxmLnBhdGguc3BsaXQoJz8nLCAy
KVswXQorICAgICAgICAgICAgIyBjb252ZXJ0IHJlc291cmNlX25hbWUgaW50byByZWFsIHBhdGgg
bmFtZSBpbiBmaWxlc3lzdGVtLgorICAgICAgICAgICAgc2NyaXB0ZmlsZSA9IHNlbGYudHJhbnNs
YXRlX3BhdGgocmVzb3VyY2VfbmFtZSkKKyAgICAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmlzZmls
ZShzY3JpcHRmaWxlKToKKyAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgICAg
IGlmIG5vdCBzZWxmLmlzX2V4ZWN1dGFibGUoc2NyaXB0ZmlsZSk6CisgICAgICAgICAgICAgICAg
cmV0dXJuIEZhbHNlCisgICAgICAgICAgICByZXR1cm4gVHJ1ZQorICAgICAgICByZXR1cm4gRmFs
c2UKKworCisjIHZpOnN0cz00IHN3PTQgZXQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQz
L21vZF9weXdlYnNvY2tldC9zZXJ2ZXJfdXRpbC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL21vZF9w
eXdlYnNvY2tldC9zZXJ2ZXJfdXRpbC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZjllMjczZTk3NzA4NDRiN2Ni
NDQ2MTZlYmY5ODI1ODg2YmY0NGU2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tl
dDMvbW9kX3B5d2Vic29ja2V0L3NlcnZlcl91dGlsLnB5CkBAIC0wLDAgKzEsODcgQEAKKyMgQ29w
eXJpZ2h0IDIwMjAsIEdvb2dsZSBJbmMuCisjIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisjIG1ldDoKKyMKKyMgICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlCisjIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorIyBkaXN0cmlidXRpb24uCisjICAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMK
KyMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20KKyMgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworIyAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKKyMgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQKKyMgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisjIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCisjIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorIiIiU2VydmVyIHJlbGF0ZWQgdXRpbGl0aWVzLiIiIgorCitpbXBvcnQgbG9n
Z2luZworaW1wb3J0IGxvZ2dpbmcuaGFuZGxlcnMKK2ltcG9ydCB0aHJlYWRpbmcKK2ltcG9ydCB0
aW1lCisKK2Zyb20gbW9kX3B5d2Vic29ja2V0IGltcG9ydCBjb21tb24KK2Zyb20gbW9kX3B5d2Vi
c29ja2V0IGltcG9ydCB1dGlsCisKKworZGVmIF9nZXRfbG9nZ2VyX2Zyb21fY2xhc3MoYyk6Cisg
ICAgcmV0dXJuIGxvZ2dpbmcuZ2V0TG9nZ2VyKCclcy4lcycgJSAoYy5fX21vZHVsZV9fLCBjLl9f
bmFtZV9fKSkKKworCitkZWYgY29uZmlndXJlX2xvZ2dpbmcob3B0aW9ucyk6CisgICAgbG9nZ2lu
Zy5hZGRMZXZlbE5hbWUoY29tbW9uLkxPR0xFVkVMX0ZJTkUsICdGSU5FJykKKworICAgIGxvZ2dl
ciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCkKKyAgICBsb2dnZXIuc2V0TGV2ZWwobG9nZ2luZy5nZXRM
ZXZlbE5hbWUob3B0aW9ucy5sb2dfbGV2ZWwudXBwZXIoKSkpCisgICAgaWYgb3B0aW9ucy5sb2df
ZmlsZToKKyAgICAgICAgaGFuZGxlciA9IGxvZ2dpbmcuaGFuZGxlcnMuUm90YXRpbmdGaWxlSGFu
ZGxlcihvcHRpb25zLmxvZ19maWxlLCAnYScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5sb2dfbWF4LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMubG9nX2Nv
dW50KQorICAgIGVsc2U6CisgICAgICAgIGhhbmRsZXIgPSBsb2dnaW5nLlN0cmVhbUhhbmRsZXIo
KQorICAgIGZvcm1hdHRlciA9IGxvZ2dpbmcuRm9ybWF0dGVyKAorICAgICAgICAnWyUoYXNjdGlt
ZSlzXSBbJShsZXZlbG5hbWUpc10gJShuYW1lKXM6ICUobWVzc2FnZSlzJykKKyAgICBoYW5kbGVy
LnNldEZvcm1hdHRlcihmb3JtYXR0ZXIpCisgICAgbG9nZ2VyLmFkZEhhbmRsZXIoaGFuZGxlcikK
KworICAgIGRlZmxhdGVfbG9nX2xldmVsX25hbWUgPSBsb2dnaW5nLmdldExldmVsTmFtZSgKKyAg
ICAgICAgb3B0aW9ucy5kZWZsYXRlX2xvZ19sZXZlbC51cHBlcigpKQorICAgIF9nZXRfbG9nZ2Vy
X2Zyb21fY2xhc3ModXRpbC5fRGVmbGF0ZXIpLnNldExldmVsKGRlZmxhdGVfbG9nX2xldmVsX25h
bWUpCisgICAgX2dldF9sb2dnZXJfZnJvbV9jbGFzcyh1dGlsLl9JbmZsYXRlcikuc2V0TGV2ZWwo
ZGVmbGF0ZV9sb2dfbGV2ZWxfbmFtZSkKKworCitjbGFzcyBUaHJlYWRNb25pdG9yKHRocmVhZGlu
Zy5UaHJlYWQpOgorICAgIGRhZW1vbiA9IFRydWUKKworICAgIGRlZiBfX2luaXRfXyhzZWxmLCBp
bnRlcnZhbF9pbl9zZWMpOgorICAgICAgICB0aHJlYWRpbmcuVGhyZWFkLl9faW5pdF9fKHNlbGYs
IG5hbWU9J1RocmVhZE1vbml0b3InKQorCisgICAgICAgIHNlbGYuX2xvZ2dlciA9IHV0aWwuZ2V0
X2NsYXNzX2xvZ2dlcihzZWxmKQorCisgICAgICAgIHNlbGYuX2ludGVydmFsX2luX3NlYyA9IGlu
dGVydmFsX2luX3NlYworCisgICAgZGVmIHJ1bihzZWxmKToKKyAgICAgICAgd2hpbGUgVHJ1ZToK
KyAgICAgICAgICAgIHRocmVhZF9uYW1lX2xpc3QgPSBbXQorICAgICAgICAgICAgZm9yIHRocmVh
ZCBpbiB0aHJlYWRpbmcuZW51bWVyYXRlKCk6CisgICAgICAgICAgICAgICAgdGhyZWFkX25hbWVf
bGlzdC5hcHBlbmQodGhyZWFkLm5hbWUpCisgICAgICAgICAgICBzZWxmLl9sb2dnZXIuaW5mbygi
JWQgYWN0aXZlIHRocmVhZHM6ICVzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRo
cmVhZGluZy5hY3RpdmVfY291bnQoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcs
ICcuam9pbih0aHJlYWRfbmFtZV9saXN0KSkKKyAgICAgICAgICAgIHRpbWUuc2xlZXAoc2VsZi5f
aW50ZXJ2YWxfaW5fc2VjKQorCisKKyMgdmk6c3RzPTQgc3c9NCBldApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0
eS9weXdlYnNvY2tldDMvbW9kX3B5d2Vic29ja2V0L3N0YW5kYWxvbmUucHkgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vi
c29ja2V0My9tb2RfcHl3ZWJzb2NrZXQvc3RhbmRhbG9uZS5weQpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMDQyYzQ5
NmM1OGEyM2I2Y2U0YzIzZWVlMGJhNDYyMDk1NDUyNjcxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0
eS9weXdlYnNvY2tldDMvbW9kX3B5d2Vic29ja2V0L3N0YW5kYWxvbmUucHkKQEAgLTAsMCArMSw0
NzggQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbgorIworIyBDb3B5cmlnaHQgMjAxMiwgR29vZ2xl
IEluYy4KKyMgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUKKyMgbWV0OgorIworIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyMgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lcgorIyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlCisjIGRpc3RyaWJ1dGlvbi4KKyMgICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworIyBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorIyB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
IworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCisjICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorIyBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VAorIyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwKKyMgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyMgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisiIiJTdGFu
ZGFsb25lIFdlYlNvY2tldCBzZXJ2ZXIuCisKK1VzZSB0aGlzIGZpbGUgdG8gbGF1bmNoIHB5d2Vi
c29ja2V0IGFzIGEgc3RhbmRhbG9uZSBzZXJ2ZXIuCisKKworQkFTSUMgVVNBR0UKKz09PT09PT09
PT09CisKK0dvIHRvIHRoZSBzcmMgZGlyZWN0b3J5IGFuZCBydW4KKworICAkIHB5dGhvbiBtb2Rf
cHl3ZWJzb2NrZXQvc3RhbmRhbG9uZS5weSBbLXAgPHdzX3BvcnQ+XQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBbLXcgPHdlYnNvY2tfaGFuZGxlcnM+XQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbLWQgPGRvY3VtZW50X3Jvb3Q+XQor
Cis8d3NfcG9ydD4gaXMgdGhlIHBvcnQgbnVtYmVyIHRvIHVzZSBmb3Igd3M6Ly8gY29ubmVjdGlv
bi4KKworPGRvY3VtZW50X3Jvb3Q+IGlzIHRoZSBwYXRoIHRvIHRoZSByb290IGRpcmVjdG9yeSBv
ZiBIVE1MIGZpbGVzLgorCis8d2Vic29ja19oYW5kbGVycz4gaXMgdGhlIHBhdGggdG8gdGhlIHJv
b3QgZGlyZWN0b3J5IG9mIFdlYlNvY2tldCBoYW5kbGVycy4KK0lmIG5vdCBzcGVjaWZpZWQsIDxk
b2N1bWVudF9yb290PiB3aWxsIGJlIHVzZWQuIFNlZSBfX2luaXRfXy5weSAob3IKK3J1biAkIHB5
ZG9jIG1vZF9weXdlYnNvY2tldCkgZm9yIGhvdyB0byB3cml0ZSBXZWJTb2NrZXQgaGFuZGxlcnMu
CisKK0ZvciBtb3JlIGRldGFpbCBhbmQgb3RoZXIgb3B0aW9ucywgcnVuCisKKyAgJCBweXRob24g
bW9kX3B5d2Vic29ja2V0L3N0YW5kYWxvbmUucHkgLS1oZWxwCisKK29yIHNlZSBfYnVpbGRfb3B0
aW9uX3BhcnNlciBtZXRob2QgYmVsb3cuCisKK0ZvciB0cm91YmxlIHNob290aW5nLCBhZGRpbmcg
Ii0tbG9nX2xldmVsIGRlYnVnIiBtaWdodCBoZWxwIHlvdS4KKworCitUUlkgREVNTworPT09PT09
PT0KKworR28gdG8gdGhlIHNyYyBkaXJlY3RvcnkgYW5kIHJ1biBzdGFuZGFsb25lLnB5IHdpdGgg
LWQgb3B0aW9uIHRvIHNldCB0aGUKK2RvY3VtZW50IHJvb3QgdG8gdGhlIGRpcmVjdG9yeSBjb250
YWluaW5nIGV4YW1wbGUgSFRNTHMgYW5kIGhhbmRsZXJzIGxpa2UgdGhpczoKKworICAkIGNkIHNy
YworICAkIFBZVEhPTlBBVEg9LiBweXRob24gbW9kX3B5d2Vic29ja2V0L3N0YW5kYWxvbmUucHkg
LWQgZXhhbXBsZQorCit0byBsYXVuY2ggcHl3ZWJzb2NrZXQgd2l0aCB0aGUgc2FtcGxlIGhhbmRs
ZXIgYW5kIGh0bWwgb24gcG9ydCA4MC4gT3BlbgoraHR0cDovL2xvY2FsaG9zdC9jb25zb2xlLmh0
bWwsIGNsaWNrIHRoZSBjb25uZWN0IGJ1dHRvbiwgdHlwZSBzb21ldGhpbmcgaW50bwordGhlIHRl
eHQgYm94IG5leHQgdG8gdGhlIHNlbmQgYnV0dG9uIGFuZCBjbGljayB0aGUgc2VuZCBidXR0b24u
IElmIGV2ZXJ5dGhpbmcKK2lzIHdvcmtpbmcsIHlvdSdsbCBzZWUgdGhlIG1lc3NhZ2UgeW91IHR5
cGVkIGVjaG9lZCBieSB0aGUgc2VydmVyLgorCisKK1VTSU5HIFRMUworPT09PT09PT09CisKK1Rv
IHJ1biB0aGUgc3RhbmRhbG9uZSBzZXJ2ZXIgd2l0aCBUTFMgc3VwcG9ydCwgcnVuIGl0IHdpdGgg
LXQsIC1rLCBhbmQgLWMKK29wdGlvbnMuIFdoZW4gVExTIGlzIGVuYWJsZWQsIHRoZSBzdGFuZGFs
b25lIHNlcnZlciBhY2NlcHRzIG9ubHkgVExTIGNvbm5lY3Rpb24uCisKK05vdGUgdGhhdCB3aGVu
IHNzbCBtb2R1bGUgaXMgdXNlZCBhbmQgdGhlIGtleS9jZXJ0IGxvY2F0aW9uIGlzIGluY29ycmVj
dCwKK1RMUyBjb25uZWN0aW9uIHNpbGVudGx5IGZhaWxzIHdoaWxlIHB5T3BlblNTTCBmYWlscyBv
biBzdGFydHVwLgorCitFeGFtcGxlOgorCisgICQgUFlUSE9OUEFUSD0uIHB5dGhvbiBtb2RfcHl3
ZWJzb2NrZXQvc3RhbmRhbG9uZS5weSBcCisgICAgICAgIC1kIGV4YW1wbGUgXAorICAgICAgICAt
cCAxMDQ0MyBcCisgICAgICAgIC10IFwKKyAgICAgICAgLWMgLi4vdGVzdC9jZXJ0L2NlcnQucGVt
IFwKKyAgICAgICAgLWsgLi4vdGVzdC9jZXJ0L2tleS5wZW0gXAorCitOb3RlIHRoYXQgd2hlbiBw
YXNzaW5nIGEgcmVsYXRpdmUgcGF0aCB0byAtYyBhbmQgLWsgb3B0aW9uLCBpdCB3aWxsIGJlIHJl
c29sdmVkCit1c2luZyB0aGUgZG9jdW1lbnQgcm9vdCBkaXJlY3RvcnkgYXMgdGhlIGJhc2UuCisK
KworVVNJTkcgQ0xJRU5UIEFVVEhFTlRJQ0FUSU9OCis9PT09PT09PT09PT09PT09PT09PT09PT09
PT0KKworVG8gcnVuIHRoZSBzdGFuZGFsb25lIHNlcnZlciB3aXRoIFRMUyBjbGllbnQgYXV0aGVu
dGljYXRpb24gc3VwcG9ydCwgcnVuIGl0IHdpdGgKKy0tdGxzLWNsaWVudC1hdXRoIGFuZCAtLXRs
cy1jbGllbnQtY2Egb3B0aW9ucyBpbiBhZGRpdGlvbiB0byBvbmVzIHJlcXVpcmVkIGZvcgorVExT
IHN1cHBvcnQuCisKK0V4YW1wbGU6CisKKyAgJCBQWVRIT05QQVRIPS4gcHl0aG9uIG1vZF9weXdl
YnNvY2tldC9zdGFuZGFsb25lLnB5IC1kIGV4YW1wbGUgLXAgMTA0NDMgLXQgXAorICAgICAgICAt
YyAuLi90ZXN0L2NlcnQvY2VydC5wZW0gLWsgLi4vdGVzdC9jZXJ0L2tleS5wZW0gXAorICAgICAg
ICAtLXRscy1jbGllbnQtYXV0aCBcCisgICAgICAgIC0tdGxzLWNsaWVudC1jYT0uLi90ZXN0L2Nl
cnQvY2FjZXJ0LnBlbQorCitOb3RlIHRoYXQgd2hlbiBwYXNzaW5nIGEgcmVsYXRpdmUgcGF0aCB0
byAtLXRscy1jbGllbnQtY2Egb3B0aW9uLCBpdCB3aWxsIGJlCityZXNvbHZlZCB1c2luZyB0aGUg
ZG9jdW1lbnQgcm9vdCBkaXJlY3RvcnkgYXMgdGhlIGJhc2UuCisKKworQ09ORklHVVJBVElPTiBG
SUxFCis9PT09PT09PT09PT09PT09PT0KKworWW91IGNhbiBhbHNvIHdyaXRlIGEgY29uZmlndXJh
dGlvbiBmaWxlIGFuZCB1c2UgaXQgYnkgc3BlY2lmeWluZyB0aGUgcGF0aCB0bwordGhlIGNvbmZp
Z3VyYXRpb24gZmlsZSBieSAtLWNvbmZpZyBvcHRpb24uIFBsZWFzZSB3cml0ZSBhIGNvbmZpZ3Vy
YXRpb24gZmlsZQorZm9sbG93aW5nIHRoZSBkb2N1bWVudGF0aW9uIG9mIHRoZSBQeXRob24gQ29u
ZmlnUGFyc2VyIGxpYnJhcnkuIE5hbWUgb2YgZWFjaAorZW50cnkgbXVzdCBiZSB0aGUgbG9uZyB2
ZXJzaW9uIGFyZ3VtZW50IG5hbWUuIEUuZy4gdG8gc2V0IGxvZyBsZXZlbCB0byBkZWJ1ZywKK2Fk
ZCB0aGUgZm9sbG93aW5nIGxpbmU6CisKK2xvZ19sZXZlbD1kZWJ1ZworCitGb3Igb3B0aW9ucyB3
aGljaCBkb2Vzbid0IHRha2UgdmFsdWUsIHBsZWFzZSBhZGQgc29tZSBmYWtlIHZhbHVlLiBFLmcu
IGZvcgorLS10bHMgb3B0aW9uLCBhZGQgdGhlIGZvbGxvd2luZyBsaW5lOgorCit0bHM9VHJ1ZQor
CitOb3RlIHRoYXQgdGxzIHdpbGwgYmUgZW5hYmxlZCBldmVuIGlmIHlvdSB3cml0ZSB0bHM9RmFs
c2UgYXMgdGhlIHZhbHVlIHBhcnQgaXMKK2Zha2UuCisKK1doZW4gYm90aCBhIGNvbW1hbmQgbGlu
ZSBhcmd1bWVudCBhbmQgYSBjb25maWd1cmF0aW9uIGZpbGUgZW50cnkgYXJlIHNldCBmb3IKK3Ro
ZSBzYW1lIGNvbmZpZ3VyYXRpb24gaXRlbSwgdGhlIGNvbW1hbmQgbGluZSB2YWx1ZSB3aWxsIG92
ZXJyaWRlIG9uZSBpbiB0aGUKK2NvbmZpZ3VyYXRpb24gZmlsZS4KKworCitUSFJFQURJTkcKKz09
PT09PT09PQorCitUaGlzIHNlcnZlciBpcyBkZXJpdmVkIGZyb20gU29ja2V0U2VydmVyLlRocmVh
ZGluZ01peEluLiBIZW5jZSBhIHRocmVhZCBpcwordXNlZCBmb3IgZWFjaCByZXF1ZXN0LgorCisK
K1NFQ1VSSVRZIFdBUk5JTkcKKz09PT09PT09PT09PT09PT0KKworVGhpcyB1c2VzIENHSUhUVFBT
ZXJ2ZXIgYW5kIENHSUhUVFBTZXJ2ZXIgaXMgbm90IHNlY3VyZS4KK0l0IG1heSBleGVjdXRlIGFy
Yml0cmFyeSBQeXRob24gY29kZSBvciBleHRlcm5hbCBwcm9ncmFtcy4gSXQgc2hvdWxkIG5vdCBi
ZQordXNlZCBvdXRzaWRlIGEgZmlyZXdhbGwuCisiIiIKKworZnJvbSBfX2Z1dHVyZV9fIGltcG9y
dCBhYnNvbHV0ZV9pbXBvcnQKK2Zyb20gc2l4Lm1vdmVzIGltcG9ydCBjb25maWdwYXJzZXIKK2lt
cG9ydCBiYXNlNjQKK2ltcG9ydCBsb2dnaW5nCitpbXBvcnQgb3B0cGFyc2UKK2ltcG9ydCBvcwor
aW1wb3J0IHN5cworaW1wb3J0IHRyYWNlYmFjaworCitmcm9tIG1vZF9weXdlYnNvY2tldCBpbXBv
cnQgY29tbW9uCitmcm9tIG1vZF9weXdlYnNvY2tldCBpbXBvcnQgdXRpbAorZnJvbSBtb2RfcHl3
ZWJzb2NrZXQgaW1wb3J0IHNlcnZlcl91dGlsCitmcm9tIG1vZF9weXdlYnNvY2tldC53ZWJzb2Nr
ZXRfc2VydmVyIGltcG9ydCBXZWJTb2NrZXRTZXJ2ZXIKKworX0RFRkFVTFRfTE9HX01BWF9CWVRF
UyA9IDEwMjQgKiAyNTYKK19ERUZBVUxUX0xPR19CQUNLVVBfQ09VTlQgPSA1CisKK19ERUZBVUxU
X1JFUVVFU1RfUVVFVUVfU0laRSA9IDEyOAorCisKK2RlZiBfYnVpbGRfb3B0aW9uX3BhcnNlcigp
OgorICAgIHBhcnNlciA9IG9wdHBhcnNlLk9wdGlvblBhcnNlcigpCisKKyAgICBwYXJzZXIuYWRk
X29wdGlvbignLS1jb25maWcnLAorICAgICAgICAgICAgICAgICAgICAgIGRlc3Q9J2NvbmZpZ19m
aWxlJywKKyAgICAgICAgICAgICAgICAgICAgICB0eXBlPSdzdHJpbmcnLAorICAgICAgICAgICAg
ICAgICAgICAgIGRlZmF1bHQ9Tm9uZSwKKyAgICAgICAgICAgICAgICAgICAgICBoZWxwPSgnUGF0
aCB0byBjb25maWd1cmF0aW9uIGZpbGUuIFNlZSB0aGUgZmlsZSBjb21tZW50ICcKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAnYXQgdGhlIHRvcCBvZiB0aGlzIGZpbGUgZm9yIHRoZSBjb25m
aWd1cmF0aW9uICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZmlsZSBmb3JtYXQnKSkK
KyAgICBwYXJzZXIuYWRkX29wdGlvbignLUgnLAorICAgICAgICAgICAgICAgICAgICAgICctLXNl
cnZlci1ob3N0JywKKyAgICAgICAgICAgICAgICAgICAgICAnLS1zZXJ2ZXJfaG9zdCcsCisgICAg
ICAgICAgICAgICAgICAgICAgZGVzdD0nc2VydmVyX2hvc3QnLAorICAgICAgICAgICAgICAgICAg
ICAgIGRlZmF1bHQ9JycsCisgICAgICAgICAgICAgICAgICAgICAgaGVscD0nc2VydmVyIGhvc3Ru
YW1lIHRvIGxpc3RlbiB0bycpCisgICAgcGFyc2VyLmFkZF9vcHRpb24oJy1WJywKKyAgICAgICAg
ICAgICAgICAgICAgICAnLS12YWxpZGF0aW9uLWhvc3QnLAorICAgICAgICAgICAgICAgICAgICAg
ICctLXZhbGlkYXRpb25faG9zdCcsCisgICAgICAgICAgICAgICAgICAgICAgZGVzdD0ndmFsaWRh
dGlvbl9ob3N0JywKKyAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0PU5vbmUsCisgICAgICAg
ICAgICAgICAgICAgICAgaGVscD0nc2VydmVyIGhvc3RuYW1lIHRvIHZhbGlkYXRlIGluIGFic29s
dXRlIHBhdGguJykKKyAgICBwYXJzZXIuYWRkX29wdGlvbignLXAnLAorICAgICAgICAgICAgICAg
ICAgICAgICctLXBvcnQnLAorICAgICAgICAgICAgICAgICAgICAgIGRlc3Q9J3BvcnQnLAorICAg
ICAgICAgICAgICAgICAgICAgIHR5cGU9J2ludCcsCisgICAgICAgICAgICAgICAgICAgICAgZGVm
YXVsdD1jb21tb24uREVGQVVMVF9XRUJfU09DS0VUX1BPUlQsCisgICAgICAgICAgICAgICAgICAg
ICAgaGVscD0ncG9ydCB0byBsaXN0ZW4gdG8nKQorICAgIHBhcnNlci5hZGRfb3B0aW9uKCctUCcs
CisgICAgICAgICAgICAgICAgICAgICAgJy0tdmFsaWRhdGlvbi1wb3J0JywKKyAgICAgICAgICAg
ICAgICAgICAgICAnLS12YWxpZGF0aW9uX3BvcnQnLAorICAgICAgICAgICAgICAgICAgICAgIGRl
c3Q9J3ZhbGlkYXRpb25fcG9ydCcsCisgICAgICAgICAgICAgICAgICAgICAgdHlwZT0naW50JywK
KyAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0PU5vbmUsCisgICAgICAgICAgICAgICAgICAg
ICAgaGVscD0nc2VydmVyIHBvcnQgdG8gdmFsaWRhdGUgaW4gYWJzb2x1dGUgcGF0aC4nKQorICAg
IHBhcnNlci5hZGRfb3B0aW9uKCctdycsCisgICAgICAgICAgICAgICAgICAgICAgJy0td2Vic29j
ay1oYW5kbGVycycsCisgICAgICAgICAgICAgICAgICAgICAgJy0td2Vic29ja19oYW5kbGVycycs
CisgICAgICAgICAgICAgICAgICAgICAgZGVzdD0nd2Vic29ja19oYW5kbGVycycsCisgICAgICAg
ICAgICAgICAgICAgICAgZGVmYXVsdD0nLicsCisgICAgICAgICAgICAgICAgICAgICAgaGVscD0o
J1RoZSByb290IGRpcmVjdG9yeSBvZiBXZWJTb2NrZXQgaGFuZGxlciBmaWxlcy4gJworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICdJZiB0aGUgcGF0aCBpcyByZWxhdGl2ZSwgLS1kb2N1bWVu
dC1yb290IGlzIHVzZWQgJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhcyB0aGUgYmFz
ZS4nKSkKKyAgICBwYXJzZXIuYWRkX29wdGlvbignLW0nLAorICAgICAgICAgICAgICAgICAgICAg
ICctLXdlYnNvY2staGFuZGxlcnMtbWFwLWZpbGUnLAorICAgICAgICAgICAgICAgICAgICAgICct
LXdlYnNvY2tfaGFuZGxlcnNfbWFwX2ZpbGUnLAorICAgICAgICAgICAgICAgICAgICAgIGRlc3Q9
J3dlYnNvY2tfaGFuZGxlcnNfbWFwX2ZpbGUnLAorICAgICAgICAgICAgICAgICAgICAgIGRlZmF1
bHQ9Tm9uZSwKKyAgICAgICAgICAgICAgICAgICAgICBoZWxwPSgnV2ViU29ja2V0IGhhbmRsZXJz
IG1hcCBmaWxlLiAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VhY2ggbGluZSBjb25z
aXN0cyBvZiBhbGlhc19yZXNvdXJjZV9wYXRoIGFuZCAnCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJ2V4aXN0aW5nX3Jlc291cmNlX3BhdGgsIHNlcGFyYXRlZCBieSBzcGFjZXMuJykpCisg
ICAgcGFyc2VyLmFkZF9vcHRpb24oJy1zJywKKyAgICAgICAgICAgICAgICAgICAgICAnLS1zY2Fu
LWRpcicsCisgICAgICAgICAgICAgICAgICAgICAgJy0tc2Nhbl9kaXInLAorICAgICAgICAgICAg
ICAgICAgICAgIGRlc3Q9J3NjYW5fZGlyJywKKyAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0
PU5vbmUsCisgICAgICAgICAgICAgICAgICAgICAgaGVscD0oJ011c3QgYmUgYSBkaXJlY3Rvcnkg
dW5kZXIgLS13ZWJzb2NrLWhhbmRsZXJzLiAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
J09ubHkgaGFuZGxlcnMgdW5kZXIgdGhpcyBkaXJlY3RvcnkgYXJlIHNjYW5uZWQgJworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICdhbmQgcmVnaXN0ZXJlZCB0byB0aGUgc2VydmVyLiAnCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1VzZWZ1bCBmb3Igc2F2aW5nIHNjYW4gdGltZSB3
aGVuIHRoZSBoYW5kbGVyICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAncm9vdCBkaXJl
Y3RvcnkgY29udGFpbnMgbG90cyBvZiBmaWxlcyB0aGF0IGFyZSAnCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJ25vdCBoYW5kbGVyIGZpbGUgb3IgYXJlIGhhbmRsZXIgZmlsZXMgYnV0IHlv
dSAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RvblwndCB3YW50IHRoZW0gdG8gYmUg
cmVnaXN0ZXJlZC4gJykpCisgICAgcGFyc2VyLmFkZF9vcHRpb24oJy0tYWxsb3ctaGFuZGxlcnMt
b3V0c2lkZS1yb290LWRpcicsCisgICAgICAgICAgICAgICAgICAgICAgJy0tYWxsb3dfaGFuZGxl
cnNfb3V0c2lkZV9yb290X2RpcicsCisgICAgICAgICAgICAgICAgICAgICAgZGVzdD0nYWxsb3df
aGFuZGxlcnNfb3V0c2lkZV9yb290X2RpcicsCisgICAgICAgICAgICAgICAgICAgICAgYWN0aW9u
PSdzdG9yZV90cnVlJywKKyAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0PUZhbHNlLAorICAg
ICAgICAgICAgICAgICAgICAgIGhlbHA9KCdTY2FucyBXZWJTb2NrZXQgaGFuZGxlcnMgZXZlbiBp
ZiB0aGVpciBjYW5vbmljYWwgJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwYXRoIGlz
IG5vdCB1bmRlciAtLXdlYnNvY2staGFuZGxlcnMuJykpCisgICAgcGFyc2VyLmFkZF9vcHRpb24o
Jy1kJywKKyAgICAgICAgICAgICAgICAgICAgICAnLS1kb2N1bWVudC1yb290JywKKyAgICAgICAg
ICAgICAgICAgICAgICAnLS1kb2N1bWVudF9yb290JywKKyAgICAgICAgICAgICAgICAgICAgICBk
ZXN0PSdkb2N1bWVudF9yb290JywKKyAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0PScuJywK
KyAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdEb2N1bWVudCByb290IGRpcmVjdG9yeS4nKQor
ICAgIHBhcnNlci5hZGRfb3B0aW9uKCcteCcsCisgICAgICAgICAgICAgICAgICAgICAgJy0tY2dp
LXBhdGhzJywKKyAgICAgICAgICAgICAgICAgICAgICAnLS1jZ2lfcGF0aHMnLAorICAgICAgICAg
ICAgICAgICAgICAgIGRlc3Q9J2NnaV9wYXRocycsCisgICAgICAgICAgICAgICAgICAgICAgZGVm
YXVsdD1Ob25lLAorICAgICAgICAgICAgICAgICAgICAgIGhlbHA9KCdDR0kgcGF0aHMgcmVsYXRp
dmUgdG8gZG9jdW1lbnRfcm9vdC4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0NvbW1h
LXNlcGFyYXRlZC4gKGUuZyAteCAvY2dpLC9odGJpbikgJworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICdGaWxlcyB1bmRlciBkb2N1bWVudF9yb290L2NnaV9wYXRoIGFyZSBoYW5kbGVkICcK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXMgQ0dJIHByb2dyYW1zLiBNdXN0IGJlIGV4
ZWN1dGFibGUuJykpCisgICAgcGFyc2VyLmFkZF9vcHRpb24oJy10JywKKyAgICAgICAgICAgICAg
ICAgICAgICAnLS10bHMnLAorICAgICAgICAgICAgICAgICAgICAgIGRlc3Q9J3VzZV90bHMnLAor
ICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0nc3RvcmVfdHJ1ZScsCisgICAgICAgICAgICAg
ICAgICAgICAgZGVmYXVsdD1GYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICBoZWxwPSd1c2Ug
VExTICh3c3M6Ly8pJykKKyAgICBwYXJzZXIuYWRkX29wdGlvbignLWsnLAorICAgICAgICAgICAg
ICAgICAgICAgICctLXByaXZhdGUta2V5JywKKyAgICAgICAgICAgICAgICAgICAgICAnLS1wcml2
YXRlX2tleScsCisgICAgICAgICAgICAgICAgICAgICAgZGVzdD0ncHJpdmF0ZV9rZXknLAorICAg
ICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ9JycsCisgICAgICAgICAgICAgICAgICAgICAgaGVs
cD0nVExTIHByaXZhdGUga2V5IGZpbGUuJykKKyAgICBwYXJzZXIuYWRkX29wdGlvbignLWMnLAor
ICAgICAgICAgICAgICAgICAgICAgICctLWNlcnRpZmljYXRlJywKKyAgICAgICAgICAgICAgICAg
ICAgICBkZXN0PSdjZXJ0aWZpY2F0ZScsCisgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdD0n
JywKKyAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdUTFMgY2VydGlmaWNhdGUgZmlsZS4nKQor
ICAgIHBhcnNlci5hZGRfb3B0aW9uKCctLXRscy1jbGllbnQtYXV0aCcsCisgICAgICAgICAgICAg
ICAgICAgICAgZGVzdD0ndGxzX2NsaWVudF9hdXRoJywKKyAgICAgICAgICAgICAgICAgICAgICBh
Y3Rpb249J3N0b3JlX3RydWUnLAorICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ9RmFsc2Us
CisgICAgICAgICAgICAgICAgICAgICAgaGVscD0nUmVxdWVzdHMgVExTIGNsaWVudCBhdXRoIG9u
IGV2ZXJ5IGNvbm5lY3Rpb24uJykKKyAgICBwYXJzZXIuYWRkX29wdGlvbignLS10bHMtY2xpZW50
LWNlcnQtb3B0aW9uYWwnLAorICAgICAgICAgICAgICAgICAgICAgIGRlc3Q9J3Rsc19jbGllbnRf
Y2VydF9vcHRpb25hbCcsCisgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSdzdG9yZV90cnVl
JywKKyAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0PUZhbHNlLAorICAgICAgICAgICAgICAg
ICAgICAgIGhlbHA9KCdNYWtlcyBjbGllbnQgY2VydGlmaWNhdGUgb3B0aW9uYWwgZXZlbiB0aG91
Z2ggJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUTFMgY2xpZW50IGF1dGggaXMgZW5h
YmxlZC4nKSkKKyAgICBwYXJzZXIuYWRkX29wdGlvbignLS10bHMtY2xpZW50LWNhJywKKyAgICAg
ICAgICAgICAgICAgICAgICBkZXN0PSd0bHNfY2xpZW50X2NhJywKKyAgICAgICAgICAgICAgICAg
ICAgICBkZWZhdWx0PScnLAorICAgICAgICAgICAgICAgICAgICAgIGhlbHA9KCdTcGVjaWZpZXMg
YSBwZW0gZmlsZSB3aGljaCBjb250YWlucyBhIHNldCBvZiAnCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJ2NvbmNhdGVuYXRlZCBDQSBjZXJ0aWZpY2F0ZXMgd2hpY2ggYXJlIHVzZWQgdG8g
JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICd2YWxpZGF0ZSBjZXJ0aWZpY2F0ZXMgcGFz
c2VkIGZyb20gY2xpZW50cycpKQorICAgIHBhcnNlci5hZGRfb3B0aW9uKCctLWJhc2ljLWF1dGgn
LAorICAgICAgICAgICAgICAgICAgICAgIGRlc3Q9J3VzZV9iYXNpY19hdXRoJywKKyAgICAgICAg
ICAgICAgICAgICAgICBhY3Rpb249J3N0b3JlX3RydWUnLAorICAgICAgICAgICAgICAgICAgICAg
IGRlZmF1bHQ9RmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAgaGVscD0nUmVxdWlyZXMgQmFz
aWMgYXV0aGVudGljYXRpb24uJykKKyAgICBwYXJzZXIuYWRkX29wdGlvbignLS1iYXNpYy1hdXRo
LWNyZWRlbnRpYWwnLAorICAgICAgICAgICAgICAgICAgICAgIGRlc3Q9J2Jhc2ljX2F1dGhfY3Jl
ZGVudGlhbCcsCisgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdD0ndGVzdDp0ZXN0JywKKyAg
ICAgICAgICAgICAgICAgICAgICBoZWxwPSdTcGVjaWZpZXMgdGhlIGNyZWRlbnRpYWwgb2YgYmFz
aWMgYXV0aGVudGljYXRpb24gJworICAgICAgICAgICAgICAgICAgICAgICdieSB1c2VybmFtZTpw
YXNzd29yZCBwYWlyIChlLmcuIHRlc3Q6dGVzdCkuJykKKyAgICBwYXJzZXIuYWRkX29wdGlvbign
LWwnLAorICAgICAgICAgICAgICAgICAgICAgICctLWxvZy1maWxlJywKKyAgICAgICAgICAgICAg
ICAgICAgICAnLS1sb2dfZmlsZScsCisgICAgICAgICAgICAgICAgICAgICAgZGVzdD0nbG9nX2Zp
bGUnLAorICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ9JycsCisgICAgICAgICAgICAgICAg
ICAgICAgaGVscD0nTG9nIGZpbGUuJykKKyAgICAjIEN1c3RvbSBsb2cgbGV2ZWw6CisgICAgIyAt
IEZJTkU6IFByaW50cyBzdGF0dXMgb2YgZWFjaCBmcmFtZSBwcm9jZXNzaW5nIHN0ZXAKKyAgICBw
YXJzZXIuYWRkX29wdGlvbignLS1sb2ctbGV2ZWwnLAorICAgICAgICAgICAgICAgICAgICAgICct
LWxvZ19sZXZlbCcsCisgICAgICAgICAgICAgICAgICAgICAgdHlwZT0nY2hvaWNlJywKKyAgICAg
ICAgICAgICAgICAgICAgICBkZXN0PSdsb2dfbGV2ZWwnLAorICAgICAgICAgICAgICAgICAgICAg
IGRlZmF1bHQ9J3dhcm4nLAorICAgICAgICAgICAgICAgICAgICAgIGNob2ljZXM9WworICAgICAg
ICAgICAgICAgICAgICAgICAgICAnZmluZScsICdkZWJ1ZycsICdpbmZvJywgJ3dhcm5pbmcnLCAn
d2FybicsICdlcnJvcicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICdjcml0aWNhbCcKKyAg
ICAgICAgICAgICAgICAgICAgICBdLAorICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J0xvZyBs
ZXZlbC4nKQorICAgIHBhcnNlci5hZGRfb3B0aW9uKAorICAgICAgICAnLS1kZWZsYXRlLWxvZy1s
ZXZlbCcsCisgICAgICAgICctLWRlZmxhdGVfbG9nX2xldmVsJywKKyAgICAgICAgdHlwZT0nY2hv
aWNlJywKKyAgICAgICAgZGVzdD0nZGVmbGF0ZV9sb2dfbGV2ZWwnLAorICAgICAgICBkZWZhdWx0
PSd3YXJuJywKKyAgICAgICAgY2hvaWNlcz1bJ2RlYnVnJywgJ2luZm8nLCAnd2FybmluZycsICd3
YXJuJywgJ2Vycm9yJywgJ2NyaXRpY2FsJ10sCisgICAgICAgIGhlbHA9J0xvZyBsZXZlbCBmb3Ig
X0RlZmxhdGVyIGFuZCBfSW5mbGF0ZXIuJykKKyAgICBwYXJzZXIuYWRkX29wdGlvbignLS10aHJl
YWQtbW9uaXRvci1pbnRlcnZhbC1pbi1zZWMnLAorICAgICAgICAgICAgICAgICAgICAgICctLXRo
cmVhZF9tb25pdG9yX2ludGVydmFsX2luX3NlYycsCisgICAgICAgICAgICAgICAgICAgICAgZGVz
dD0ndGhyZWFkX21vbml0b3JfaW50ZXJ2YWxfaW5fc2VjJywKKyAgICAgICAgICAgICAgICAgICAg
ICB0eXBlPSdpbnQnLAorICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ9LTEsCisgICAgICAg
ICAgICAgICAgICAgICAgaGVscD0oJ0lmIHBvc2l0aXZlIGludGVnZXIgaXMgc3BlY2lmaWVkLCBy
dW4gYSB0aHJlYWQgJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb25pdG9yIHRvIHNo
b3cgdGhlIHN0YXR1cyBvZiBzZXJ2ZXIgdGhyZWFkcyAnCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJ3BlcmlvZGljYWxseSBpbiB0aGUgc3BlY2lmaWVkIGludGV2YWwgaW4gJworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICdzZWNvbmQuIElmIG5vbi1wb3NpdGl2ZSBpbnRlZ2VyIGlz
IHNwZWNpZmllZCwgJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkaXNhYmxlIHRoZSB0
aHJlYWQgbW9uaXRvci4nKSkKKyAgICBwYXJzZXIuYWRkX29wdGlvbignLS1sb2ctbWF4JywKKyAg
ICAgICAgICAgICAgICAgICAgICAnLS1sb2dfbWF4JywKKyAgICAgICAgICAgICAgICAgICAgICBk
ZXN0PSdsb2dfbWF4JywKKyAgICAgICAgICAgICAgICAgICAgICB0eXBlPSdpbnQnLAorICAgICAg
ICAgICAgICAgICAgICAgIGRlZmF1bHQ9X0RFRkFVTFRfTE9HX01BWF9CWVRFUywKKyAgICAgICAg
ICAgICAgICAgICAgICBoZWxwPSdMb2cgbWF4aW11bSBieXRlcycpCisgICAgcGFyc2VyLmFkZF9v
cHRpb24oJy0tbG9nLWNvdW50JywKKyAgICAgICAgICAgICAgICAgICAgICAnLS1sb2dfY291bnQn
LAorICAgICAgICAgICAgICAgICAgICAgIGRlc3Q9J2xvZ19jb3VudCcsCisgICAgICAgICAgICAg
ICAgICAgICAgdHlwZT0naW50JywKKyAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0PV9ERUZB
VUxUX0xPR19CQUNLVVBfQ09VTlQsCisgICAgICAgICAgICAgICAgICAgICAgaGVscD0nTG9nIGJh
Y2t1cCBjb3VudCcpCisgICAgcGFyc2VyLmFkZF9vcHRpb24oJy1xJywKKyAgICAgICAgICAgICAg
ICAgICAgICAnLS1xdWV1ZScsCisgICAgICAgICAgICAgICAgICAgICAgZGVzdD0ncmVxdWVzdF9x
dWV1ZV9zaXplJywKKyAgICAgICAgICAgICAgICAgICAgICB0eXBlPSdpbnQnLAorICAgICAgICAg
ICAgICAgICAgICAgIGRlZmF1bHQ9X0RFRkFVTFRfUkVRVUVTVF9RVUVVRV9TSVpFLAorICAgICAg
ICAgICAgICAgICAgICAgIGhlbHA9J3JlcXVlc3QgcXVldWUgc2l6ZScpCisKKyAgICByZXR1cm4g
cGFyc2VyCisKKworZGVmIF9wYXJzZV9hcmdzX2FuZF9jb25maWcoYXJncyk6CisgICAgcGFyc2Vy
ID0gX2J1aWxkX29wdGlvbl9wYXJzZXIoKQorCisgICAgIyBGaXJzdCwgcGFyc2Ugb3B0aW9ucyB3
aXRob3V0IGNvbmZpZ3VyYXRpb24gZmlsZS4KKyAgICB0ZW1wb3Jhcnlfb3B0aW9ucywgdGVtcG9y
YXJ5X2FyZ3MgPSBwYXJzZXIucGFyc2VfYXJncyhhcmdzPWFyZ3MpCisgICAgaWYgdGVtcG9yYXJ5
X2FyZ3M6CisgICAgICAgIGxvZ2dpbmcuY3JpdGljYWwoJ1VucmVjb2duaXplZCBwb3NpdGlvbmFs
IGFyZ3VtZW50czogJXInLAorICAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBvcmFyeV9hcmdz
KQorICAgICAgICBzeXMuZXhpdCgxKQorCisgICAgaWYgdGVtcG9yYXJ5X29wdGlvbnMuY29uZmln
X2ZpbGU6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGNvbmZpZ19mcCA9IG9wZW4odGVtcG9y
YXJ5X29wdGlvbnMuY29uZmlnX2ZpbGUsICdyJykKKyAgICAgICAgZXhjZXB0IElPRXJyb3IgYXMg
ZToKKyAgICAgICAgICAgIGxvZ2dpbmcuY3JpdGljYWwoJ0ZhaWxlZCB0byBvcGVuIGNvbmZpZ3Vy
YXRpb24gZmlsZSAlcjogJXInLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZW1wb3Jh
cnlfb3B0aW9ucy5jb25maWdfZmlsZSwgZSkKKyAgICAgICAgICAgIHN5cy5leGl0KDEpCisKKyAg
ICAgICAgY29uZmlnX3BhcnNlciA9IGNvbmZpZ3BhcnNlci5TYWZlQ29uZmlnUGFyc2VyKCkKKyAg
ICAgICAgY29uZmlnX3BhcnNlci5yZWFkZnAoY29uZmlnX2ZwKQorICAgICAgICBjb25maWdfZnAu
Y2xvc2UoKQorCisgICAgICAgIGFyZ3NfZnJvbV9jb25maWcgPSBbXQorICAgICAgICBmb3IgbmFt
ZSwgdmFsdWUgaW4gY29uZmlnX3BhcnNlci5pdGVtcygncHl3ZWJzb2NrZXQnKToKKyAgICAgICAg
ICAgIGFyZ3NfZnJvbV9jb25maWcuYXBwZW5kKCctLScgKyBuYW1lKQorICAgICAgICAgICAgYXJn
c19mcm9tX2NvbmZpZy5hcHBlbmQodmFsdWUpCisgICAgICAgIGlmIGFyZ3MgaXMgTm9uZToKKyAg
ICAgICAgICAgIGFyZ3MgPSBhcmdzX2Zyb21fY29uZmlnCisgICAgICAgIGVsc2U6CisgICAgICAg
ICAgICBhcmdzID0gYXJnc19mcm9tX2NvbmZpZyArIGFyZ3MKKyAgICAgICAgcmV0dXJuIHBhcnNl
ci5wYXJzZV9hcmdzKGFyZ3M9YXJncykKKyAgICBlbHNlOgorICAgICAgICByZXR1cm4gdGVtcG9y
YXJ5X29wdGlvbnMsIHRlbXBvcmFyeV9hcmdzCisKKworZGVmIF9tYWluKGFyZ3M9Tm9uZSk6Cisg
ICAgIiIiWW91IGNhbiBjYWxsIHRoaXMgZnVuY3Rpb24gZnJvbSB5b3VyIG93biBwcm9ncmFtLCBi
dXQgcGxlYXNlIG5vdGUgdGhhdAorICAgIHRoaXMgZnVuY3Rpb24gaGFzIHNvbWUgc2lkZS1lZmZl
Y3RzIHRoYXQgbWlnaHQgYWZmZWN0IHlvdXIgcHJvZ3JhbS4gRm9yCisgICAgZXhhbXBsZSwgdXRp
bC53cmFwX3BvcGVuM19mb3Jfd2luIHVzZSBpbiB0aGlzIG1ldGhvZCByZXBsYWNlcyBpbXBsZW1l
bnRhdGlvbgorICAgIG9mIG9zLnBvcGVuMy4KKyAgICAiIiIKKworICAgIG9wdGlvbnMsIGFyZ3Mg
PSBfcGFyc2VfYXJnc19hbmRfY29uZmlnKGFyZ3M9YXJncykKKworICAgIG9zLmNoZGlyKG9wdGlv
bnMuZG9jdW1lbnRfcm9vdCkKKworICAgIHNlcnZlcl91dGlsLmNvbmZpZ3VyZV9sb2dnaW5nKG9w
dGlvbnMpCisKKyAgICAjIFRPRE8odHlvc2hpbm8pOiBDbGVhbiB1cCBpbml0aWFsaXphdGlvbiBv
ZiBDR0kgcmVsYXRlZCB2YWx1ZXMuIE1vdmUgc29tZQorICAgICMgb2YgY29kZSBoZXJlIHRvIFdl
YlNvY2tldFJlcXVlc3RIYW5kbGVyIGNsYXNzIGlmIGl0J3MgYmV0dGVyLgorICAgIG9wdGlvbnMu
Y2dpX2RpcmVjdG9yaWVzID0gW10KKyAgICBvcHRpb25zLmlzX2V4ZWN1dGFibGVfbWV0aG9kID0g
Tm9uZQorICAgIGlmIG9wdGlvbnMuY2dpX3BhdGhzOgorICAgICAgICBvcHRpb25zLmNnaV9kaXJl
Y3RvcmllcyA9IG9wdGlvbnMuY2dpX3BhdGhzLnNwbGl0KCcsJykKKyAgICAgICAgaWYgc3lzLnBs
YXRmb3JtIGluICgnY3lnd2luJywgJ3dpbjMyJyk6CisgICAgICAgICAgICBjeWd3aW5fcGF0aCA9
IE5vbmUKKyAgICAgICAgICAgICMgRm9yIFdpbjMyIFB5dGhvbiwgaXQgaXMgZXhwZWN0ZWQgdGhh
dCBDWUdXSU5fUEFUSAorICAgICAgICAgICAgIyBpcyBzZXQgdG8gYSBkaXJlY3Rvcnkgb2YgY3ln
d2luIGJpbmFyaWVzLgorICAgICAgICAgICAgIyBGb3IgZXhhbXBsZSwgd2Vic29ja2V0X3NlcnZl
ci5weSBpbiBDaHJvbWl1bSBzZXRzIENZR1dJTl9QQVRIIHRvCisgICAgICAgICAgICAjIGZ1bGwg
cGF0aCBvZiB0aGlyZF9wYXJ0eS9jeWd3aW4vYmluLgorICAgICAgICAgICAgaWYgJ0NZR1dJTl9Q
QVRIJyBpbiBvcy5lbnZpcm9uOgorICAgICAgICAgICAgICAgIGN5Z3dpbl9wYXRoID0gb3MuZW52
aXJvblsnQ1lHV0lOX1BBVEgnXQorICAgICAgICAgICAgdXRpbC53cmFwX3BvcGVuM19mb3Jfd2lu
KGN5Z3dpbl9wYXRoKQorCisgICAgICAgICAgICBkZWYgX19jaGVja19zY3JpcHQoc2NyaXB0cGF0
aCk6CisgICAgICAgICAgICAgICAgcmV0dXJuIHV0aWwuZ2V0X3NjcmlwdF9pbnRlcnAoc2NyaXB0
cGF0aCwgY3lnd2luX3BhdGgpCisKKyAgICAgICAgICAgIG9wdGlvbnMuaXNfZXhlY3V0YWJsZV9t
ZXRob2QgPSBfX2NoZWNrX3NjcmlwdAorCisgICAgaWYgb3B0aW9ucy51c2VfdGxzOgorICAgICAg
ICBsb2dnaW5nLmRlYnVnKCdVc2luZyBzc2wgbW9kdWxlJykKKworICAgICAgICBpZiBub3Qgb3B0
aW9ucy5wcml2YXRlX2tleSBvciBub3Qgb3B0aW9ucy5jZXJ0aWZpY2F0ZToKKyAgICAgICAgICAg
IGxvZ2dpbmcuY3JpdGljYWwoCisgICAgICAgICAgICAgICAgJ1RvIHVzZSBUTFMsIHNwZWNpZnkg
cHJpdmF0ZV9rZXkgYW5kIGNlcnRpZmljYXRlLicpCisgICAgICAgICAgICBzeXMuZXhpdCgxKQor
CisgICAgICAgIGlmIChvcHRpb25zLnRsc19jbGllbnRfY2VydF9vcHRpb25hbCBhbmQgbm90IG9w
dGlvbnMudGxzX2NsaWVudF9hdXRoKToKKyAgICAgICAgICAgIGxvZ2dpbmcuY3JpdGljYWwoJ0Ns
aWVudCBhdXRoZW50aWNhdGlvbiBtdXN0IGJlIGVuYWJsZWQgdG8gJworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAnc3BlY2lmeSB0bHNfY2xpZW50X2NlcnRfb3B0aW9uYWwnKQorICAgICAg
ICAgICAgc3lzLmV4aXQoMSkKKyAgICBlbHNlOgorICAgICAgICBpZiBvcHRpb25zLnRsc19jbGll
bnRfYXV0aDoKKyAgICAgICAgICAgIGxvZ2dpbmcuY3JpdGljYWwoJ1RMUyBtdXN0IGJlIGVuYWJs
ZWQgZm9yIGNsaWVudCBhdXRoZW50aWNhdGlvbi4nKQorICAgICAgICAgICAgc3lzLmV4aXQoMSkK
KworICAgICAgICBpZiBvcHRpb25zLnRsc19jbGllbnRfY2VydF9vcHRpb25hbDoKKyAgICAgICAg
ICAgIGxvZ2dpbmcuY3JpdGljYWwoJ1RMUyBtdXN0IGJlIGVuYWJsZWQgZm9yIGNsaWVudCBhdXRo
ZW50aWNhdGlvbi4nKQorICAgICAgICAgICAgc3lzLmV4aXQoMSkKKworICAgIGlmIG5vdCBvcHRp
b25zLnNjYW5fZGlyOgorICAgICAgICBvcHRpb25zLnNjYW5fZGlyID0gb3B0aW9ucy53ZWJzb2Nr
X2hhbmRsZXJzCisKKyAgICBpZiBvcHRpb25zLnVzZV9iYXNpY19hdXRoOgorICAgICAgICBvcHRp
b25zLmJhc2ljX2F1dGhfY3JlZGVudGlhbCA9ICdCYXNpYyAnICsgYmFzZTY0LmI2NGVuY29kZSgK
KyAgICAgICAgICAgIG9wdGlvbnMuYmFzaWNfYXV0aF9jcmVkZW50aWFsLmVuY29kZSgnVVRGLTgn
KSkuZGVjb2RlKCkKKworICAgIHRyeToKKyAgICAgICAgaWYgb3B0aW9ucy50aHJlYWRfbW9uaXRv
cl9pbnRlcnZhbF9pbl9zZWMgPiAwOgorICAgICAgICAgICAgIyBSdW4gYSB0aHJlYWQgbW9uaXRv
ciB0byBzaG93IHRoZSBzdGF0dXMgb2Ygc2VydmVyIHRocmVhZHMgZm9yCisgICAgICAgICAgICAj
IGRlYnVnZ2luZy4KKyAgICAgICAgICAgIHNlcnZlcl91dGlsLlRocmVhZE1vbml0b3IoCisgICAg
ICAgICAgICAgICAgb3B0aW9ucy50aHJlYWRfbW9uaXRvcl9pbnRlcnZhbF9pbl9zZWMpLnN0YXJ0
KCkKKworICAgICAgICBzZXJ2ZXIgPSBXZWJTb2NrZXRTZXJ2ZXIob3B0aW9ucykKKyAgICAgICAg
c2VydmVyLnNlcnZlX2ZvcmV2ZXIoKQorICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAg
ICAgbG9nZ2luZy5jcml0aWNhbCgnbW9kX3B5d2Vic29ja2V0OiAlcycgJSBlKQorICAgICAgICBs
b2dnaW5nLmNyaXRpY2FsKCdtb2RfcHl3ZWJzb2NrZXQ6ICVzJyAlIHRyYWNlYmFjay5mb3JtYXRf
ZXhjKCkpCisgICAgICAgIHN5cy5leGl0KDEpCisKKworaWYgX19uYW1lX18gPT0gJ19fbWFpbl9f
JzoKKyAgICBfbWFpbihzeXMuYXJndlsxOl0pCisKKyMgdmk6c3RzPTQgc3c9NCBldApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90
aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvbW9kX3B5d2Vic29ja2V0L3N0cmVhbS5weSBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkv
cHl3ZWJzb2NrZXQzL21vZF9weXdlYnNvY2tldC9zdHJlYW0ucHkKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmMzOTlm
MmE4NWI5ZmU2YzUyZWM1NjkwZjU4MGQwNmIyMjJlNDc0OAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFy
dHkvcHl3ZWJzb2NrZXQzL21vZF9weXdlYnNvY2tldC9zdHJlYW0ucHkKQEAgLTAsMCArMSw5NTAg
QEAKKyMgQ29weXJpZ2h0IDIwMTEsIEdvb2dsZSBJbmMuCisjIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisjIG1ldDoKKyMKKyMgICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyMgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCisjIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyMgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorIyBkaXN0cmlidXRp
b24uCisjICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKKyMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyMgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworIyAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAor
IyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IKKyMgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyMgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisjIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
KyMgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsCisjIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorIyBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorIiIiVGhpcyBmaWxlIHByb3ZpZGVzIGNsYXNzZXMgYW5kIGhl
bHBlciBmdW5jdGlvbnMgZm9yIHBhcnNpbmcvYnVpbGRpbmcgZnJhbWVzCitvZiB0aGUgV2ViU29j
a2V0IHByb3RvY29sIChSRkMgNjQ1NSkuCisKK1NwZWNpZmljYXRpb246CitodHRwOi8vdG9vbHMu
aWV0Zi5vcmcvaHRtbC9yZmM2NDU1CisiIiIKKworZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgZGVx
dWUKK2ltcG9ydCBsb2dnaW5nCitpbXBvcnQgb3MKK2ltcG9ydCBzdHJ1Y3QKK2ltcG9ydCB0aW1l
CitpbXBvcnQgc29ja2V0CitpbXBvcnQgc2l4CisKK2Zyb20gbW9kX3B5d2Vic29ja2V0IGltcG9y
dCBjb21tb24KK2Zyb20gbW9kX3B5d2Vic29ja2V0IGltcG9ydCB1dGlsCitmcm9tIG1vZF9weXdl
YnNvY2tldC5fc3RyZWFtX2V4Y2VwdGlvbnMgaW1wb3J0IEJhZE9wZXJhdGlvbkV4Y2VwdGlvbgor
ZnJvbSBtb2RfcHl3ZWJzb2NrZXQuX3N0cmVhbV9leGNlcHRpb25zIGltcG9ydCBDb25uZWN0aW9u
VGVybWluYXRlZEV4Y2VwdGlvbgorZnJvbSBtb2RfcHl3ZWJzb2NrZXQuX3N0cmVhbV9leGNlcHRp
b25zIGltcG9ydCBJbnZhbGlkRnJhbWVFeGNlcHRpb24KK2Zyb20gbW9kX3B5d2Vic29ja2V0Ll9z
dHJlYW1fZXhjZXB0aW9ucyBpbXBvcnQgSW52YWxpZFVURjhFeGNlcHRpb24KK2Zyb20gbW9kX3B5
d2Vic29ja2V0Ll9zdHJlYW1fZXhjZXB0aW9ucyBpbXBvcnQgVW5zdXBwb3J0ZWRGcmFtZUV4Y2Vw
dGlvbgorCitfTk9PUF9NQVNLRVIgPSB1dGlsLk5vb3BNYXNrZXIoKQorCisKK2NsYXNzIEZyYW1l
KG9iamVjdCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsCisgICAgICAgICAgICAgICAgIGZpbj0x
LAorICAgICAgICAgICAgICAgICByc3YxPTAsCisgICAgICAgICAgICAgICAgIHJzdjI9MCwKKyAg
ICAgICAgICAgICAgICAgcnN2Mz0wLAorICAgICAgICAgICAgICAgICBvcGNvZGU9Tm9uZSwKKyAg
ICAgICAgICAgICAgICAgcGF5bG9hZD1iJycpOgorICAgICAgICBzZWxmLmZpbiA9IGZpbgorICAg
ICAgICBzZWxmLnJzdjEgPSByc3YxCisgICAgICAgIHNlbGYucnN2MiA9IHJzdjIKKyAgICAgICAg
c2VsZi5yc3YzID0gcnN2MworICAgICAgICBzZWxmLm9wY29kZSA9IG9wY29kZQorICAgICAgICBz
ZWxmLnBheWxvYWQgPSBwYXlsb2FkCisKKworIyBIZWxwZXIgZnVuY3Rpb25zIG1hZGUgcHVibGlj
IHRvIGJlIHVzZWQgZm9yIHdyaXRpbmcgdW5pdHRlc3RzIGZvciBXZWJTb2NrZXQKKyMgY2xpZW50
cy4KKworCitkZWYgY3JlYXRlX2xlbmd0aF9oZWFkZXIobGVuZ3RoLCBtYXNrKToKKyAgICAiIiJD
cmVhdGVzIGEgbGVuZ3RoIGhlYWRlci4KKworICAgIEFyZ3M6CisgICAgICAgIGxlbmd0aDogRnJh
bWUgbGVuZ3RoLiBNdXN0IGJlIGxlc3MgdGhhbiAyXjYzLgorICAgICAgICBtYXNrOiBNYXNrIGJp
dC4gTXVzdCBiZSBib29sZWFuLgorCisgICAgUmFpc2VzOgorICAgICAgICBWYWx1ZUVycm9yOiB3
aGVuIGJhZCBkYXRhIGlzIGdpdmVuLgorICAgICIiIgorCisgICAgaWYgbWFzazoKKyAgICAgICAg
bWFza19iaXQgPSAxIDw8IDcKKyAgICBlbHNlOgorICAgICAgICBtYXNrX2JpdCA9IDAKKworICAg
IGlmIGxlbmd0aCA8IDA6CisgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ2xlbmd0aCBtdXN0IGJl
IG5vbiBuZWdhdGl2ZSBpbnRlZ2VyJykKKyAgICBlbGlmIGxlbmd0aCA8PSAxMjU6CisgICAgICAg
IHJldHVybiB1dGlsLnBhY2tfYnl0ZShtYXNrX2JpdCB8IGxlbmd0aCkKKyAgICBlbGlmIGxlbmd0
aCA8ICgxIDw8IDE2KToKKyAgICAgICAgcmV0dXJuIHV0aWwucGFja19ieXRlKG1hc2tfYml0IHwg
MTI2KSArIHN0cnVjdC5wYWNrKCchSCcsIGxlbmd0aCkKKyAgICBlbGlmIGxlbmd0aCA8ICgxIDw8
IDYzKToKKyAgICAgICAgcmV0dXJuIHV0aWwucGFja19ieXRlKG1hc2tfYml0IHwgMTI3KSArIHN0
cnVjdC5wYWNrKCchUScsIGxlbmd0aCkKKyAgICBlbHNlOgorICAgICAgICByYWlzZSBWYWx1ZUVy
cm9yKCdQYXlsb2FkIGlzIHRvbyBiaWcgZm9yIG9uZSBmcmFtZScpCisKKworZGVmIGNyZWF0ZV9o
ZWFkZXIob3Bjb2RlLCBwYXlsb2FkX2xlbmd0aCwgZmluLCByc3YxLCByc3YyLCByc3YzLCBtYXNr
KToKKyAgICAiIiJDcmVhdGVzIGEgZnJhbWUgaGVhZGVyLgorCisgICAgUmFpc2VzOgorICAgICAg
ICBFeGNlcHRpb246IHdoZW4gYmFkIGRhdGEgaXMgZ2l2ZW4uCisgICAgIiIiCisKKyAgICBpZiBv
cGNvZGUgPCAwIG9yIDB4ZiA8IG9wY29kZToKKyAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignT3Bj
b2RlIG91dCBvZiByYW5nZScpCisKKyAgICBpZiBwYXlsb2FkX2xlbmd0aCA8IDAgb3IgKDEgPDwg
NjMpIDw9IHBheWxvYWRfbGVuZ3RoOgorICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCdwYXlsb2Fk
X2xlbmd0aCBvdXQgb2YgcmFuZ2UnKQorCisgICAgaWYgKGZpbiB8IHJzdjEgfCByc3YyIHwgcnN2
MykgJiB+MToKKyAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignRklOIGJpdCBhbmQgUmVzZXJ2ZWQg
Yml0IHBhcmFtZXRlciBtdXN0IGJlIDAgb3IgMScpCisKKyAgICBoZWFkZXIgPSBiJycKKworICAg
IGZpcnN0X2J5dGUgPSAoKGZpbiA8PCA3KQorICAgICAgICAgICAgICAgICAgfCAocnN2MSA8PCA2
KSB8IChyc3YyIDw8IDUpIHwgKHJzdjMgPDwgNCkKKyAgICAgICAgICAgICAgICAgIHwgb3Bjb2Rl
KQorICAgIGhlYWRlciArPSB1dGlsLnBhY2tfYnl0ZShmaXJzdF9ieXRlKQorICAgIGhlYWRlciAr
PSBjcmVhdGVfbGVuZ3RoX2hlYWRlcihwYXlsb2FkX2xlbmd0aCwgbWFzaykKKworICAgIHJldHVy
biBoZWFkZXIKKworCitkZWYgX2J1aWxkX2ZyYW1lKGhlYWRlciwgYm9keSwgbWFzayk6CisgICAg
aWYgbm90IG1hc2s6CisgICAgICAgIHJldHVybiBoZWFkZXIgKyBib2R5CisKKyAgICBtYXNraW5n
X25vbmNlID0gb3MudXJhbmRvbSg0KQorICAgIG1hc2tlciA9IHV0aWwuUmVwZWF0ZWRYb3JNYXNr
ZXIobWFza2luZ19ub25jZSkKKworICAgIHJldHVybiBoZWFkZXIgKyBtYXNraW5nX25vbmNlICsg
bWFza2VyLm1hc2soYm9keSkKKworCitkZWYgX2ZpbHRlcl9hbmRfZm9ybWF0X2ZyYW1lX29iamVj
dChmcmFtZSwgbWFzaywgZnJhbWVfZmlsdGVycyk6CisgICAgZm9yIGZyYW1lX2ZpbHRlciBpbiBm
cmFtZV9maWx0ZXJzOgorICAgICAgICBmcmFtZV9maWx0ZXIuZmlsdGVyKGZyYW1lKQorCisgICAg
aGVhZGVyID0gY3JlYXRlX2hlYWRlcihmcmFtZS5vcGNvZGUsIGxlbihmcmFtZS5wYXlsb2FkKSwg
ZnJhbWUuZmluLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJhbWUucnN2MSwgZnJhbWUu
cnN2MiwgZnJhbWUucnN2MywgbWFzaykKKyAgICByZXR1cm4gX2J1aWxkX2ZyYW1lKGhlYWRlciwg
ZnJhbWUucGF5bG9hZCwgbWFzaykKKworCitkZWYgY3JlYXRlX2JpbmFyeV9mcmFtZShtZXNzYWdl
LAorICAgICAgICAgICAgICAgICAgICAgICAgb3Bjb2RlPWNvbW1vbi5PUENPREVfQklOQVJZLAor
ICAgICAgICAgICAgICAgICAgICAgICAgZmluPTEsCisgICAgICAgICAgICAgICAgICAgICAgICBt
YXNrPUZhbHNlLAorICAgICAgICAgICAgICAgICAgICAgICAgZnJhbWVfZmlsdGVycz1bXSk6Cisg
ICAgIiIiQ3JlYXRlcyBhIHNpbXBsZSBiaW5hcnkgZnJhbWUgd2l0aCBubyBleHRlbnNpb24sIHJl
c2VydmVkIGJpdC4iIiIKKworICAgIGZyYW1lID0gRnJhbWUoZmluPWZpbiwgb3Bjb2RlPW9wY29k
ZSwgcGF5bG9hZD1tZXNzYWdlKQorICAgIHJldHVybiBfZmlsdGVyX2FuZF9mb3JtYXRfZnJhbWVf
b2JqZWN0KGZyYW1lLCBtYXNrLCBmcmFtZV9maWx0ZXJzKQorCisKK2RlZiBjcmVhdGVfdGV4dF9m
cmFtZShtZXNzYWdlLAorICAgICAgICAgICAgICAgICAgICAgIG9wY29kZT1jb21tb24uT1BDT0RF
X1RFWFQsCisgICAgICAgICAgICAgICAgICAgICAgZmluPTEsCisgICAgICAgICAgICAgICAgICAg
ICAgbWFzaz1GYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICBmcmFtZV9maWx0ZXJzPVtdKToK
KyAgICAiIiJDcmVhdGVzIGEgc2ltcGxlIHRleHQgZnJhbWUgd2l0aCBubyBleHRlbnNpb24sIHJl
c2VydmVkIGJpdC4iIiIKKworICAgIGVuY29kZWRfbWVzc2FnZSA9IG1lc3NhZ2UuZW5jb2RlKCd1
dGYtOCcpCisgICAgcmV0dXJuIGNyZWF0ZV9iaW5hcnlfZnJhbWUoZW5jb2RlZF9tZXNzYWdlLCBv
cGNvZGUsIGZpbiwgbWFzaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcmFtZV9m
aWx0ZXJzKQorCisKK2RlZiBwYXJzZV9mcmFtZShyZWNlaXZlX2J5dGVzLAorICAgICAgICAgICAg
ICAgIGxvZ2dlcj1Ob25lLAorICAgICAgICAgICAgICAgIHdzX3ZlcnNpb249Y29tbW9uLlZFUlNJ
T05fSFlCSV9MQVRFU1QsCisgICAgICAgICAgICAgICAgdW5tYXNrX3JlY2VpdmU9VHJ1ZSk6Cisg
ICAgIiIiUGFyc2VzIGEgZnJhbWUuIFJldHVybnMgYSB0dXBsZSBjb250YWluaW5nIGVhY2ggaGVh
ZGVyIGZpZWxkIGFuZAorICAgIHBheWxvYWQuCisKKyAgICBBcmdzOgorICAgICAgICByZWNlaXZl
X2J5dGVzOiBhIGZ1bmN0aW9uIHRoYXQgcmVhZHMgZnJhbWUgZGF0YSBmcm9tIGEgc3RyZWFtIG9y
CisgICAgICAgICAgICBzb21ldGhpbmcgc2ltaWxhci4gVGhlIGZ1bmN0aW9uIHRha2VzIGxlbmd0
aCBvZiB0aGUgYnl0ZXMgdG8gYmUKKyAgICAgICAgICAgIHJlYWQuIFRoZSBmdW5jdGlvbiBtdXN0
IHJhaXNlIENvbm5lY3Rpb25UZXJtaW5hdGVkRXhjZXB0aW9uIGlmCisgICAgICAgICAgICB0aGVy
ZSBpcyBub3QgZW5vdWdoIGRhdGEgdG8gYmUgcmVhZC4KKyAgICAgICAgbG9nZ2VyOiBhIGxvZ2dp
bmcgb2JqZWN0LgorICAgICAgICB3c192ZXJzaW9uOiB0aGUgdmVyc2lvbiBvZiBXZWJTb2NrZXQg
cHJvdG9jb2wuCisgICAgICAgIHVubWFza19yZWNlaXZlOiB1bm1hc2sgcmVjZWl2ZWQgZnJhbWVz
LiBXaGVuIHJlY2VpdmVkIHVubWFza2VkCisgICAgICAgICAgICBmcmFtZSwgcmFpc2VzIEludmFs
aWRGcmFtZUV4Y2VwdGlvbi4KKworICAgIFJhaXNlczoKKyAgICAgICAgQ29ubmVjdGlvblRlcm1p
bmF0ZWRFeGNlcHRpb246IHdoZW4gcmVjZWl2ZV9ieXRlcyByYWlzZXMgaXQuCisgICAgICAgIElu
dmFsaWRGcmFtZUV4Y2VwdGlvbjogd2hlbiB0aGUgZnJhbWUgY29udGFpbnMgaW52YWxpZCBkYXRh
LgorICAgICIiIgorCisgICAgaWYgbm90IGxvZ2dlcjoKKyAgICAgICAgbG9nZ2VyID0gbG9nZ2lu
Zy5nZXRMb2dnZXIoKQorCisgICAgbG9nZ2VyLmxvZyhjb21tb24uTE9HTEVWRUxfRklORSwgJ1Jl
Y2VpdmUgdGhlIGZpcnN0IDIgb2N0ZXRzIG9mIGEgZnJhbWUnKQorCisgICAgZmlyc3RfYnl0ZSA9
IG9yZChyZWNlaXZlX2J5dGVzKDEpKQorICAgIGZpbiA9IChmaXJzdF9ieXRlID4+IDcpICYgMQor
ICAgIHJzdjEgPSAoZmlyc3RfYnl0ZSA+PiA2KSAmIDEKKyAgICByc3YyID0gKGZpcnN0X2J5dGUg
Pj4gNSkgJiAxCisgICAgcnN2MyA9IChmaXJzdF9ieXRlID4+IDQpICYgMQorICAgIG9wY29kZSA9
IGZpcnN0X2J5dGUgJiAweGYKKworICAgIHNlY29uZF9ieXRlID0gb3JkKHJlY2VpdmVfYnl0ZXMo
MSkpCisgICAgbWFzayA9IChzZWNvbmRfYnl0ZSA+PiA3KSAmIDEKKyAgICBwYXlsb2FkX2xlbmd0
aCA9IHNlY29uZF9ieXRlICYgMHg3ZgorCisgICAgbG9nZ2VyLmxvZygKKyAgICAgICAgY29tbW9u
LkxPR0xFVkVMX0ZJTkUsICdGSU49JXMsIFJTVjE9JXMsIFJTVjI9JXMsIFJTVjM9JXMsIG9wY29k
ZT0lcywgJworICAgICAgICAnTWFzaz0lcywgUGF5bG9hZF9sZW5ndGg9JXMnLCBmaW4sIHJzdjEs
IHJzdjIsIHJzdjMsIG9wY29kZSwgbWFzaywKKyAgICAgICAgcGF5bG9hZF9sZW5ndGgpCisKKyAg
ICBpZiAobWFzayA9PSAxKSAhPSB1bm1hc2tfcmVjZWl2ZToKKyAgICAgICAgcmFpc2UgSW52YWxp
ZEZyYW1lRXhjZXB0aW9uKAorICAgICAgICAgICAgJ01hc2sgYml0IG9uIHRoZSByZWNlaXZlZCBm
cmFtZSBkaWRcJ250IG1hdGNoIG1hc2tpbmcgJworICAgICAgICAgICAgJ2NvbmZpZ3VyYXRpb24g
Zm9yIHJlY2VpdmVkIGZyYW1lcycpCisKKyAgICAjIFRoZSBIeUJpIGFuZCBsYXRlciBzcGVjcyBk
aXNhbGxvdyBwdXR0aW5nIGEgdmFsdWUgaW4gMHgwLTB4RkZGRgorICAgICMgaW50byB0aGUgOC1v
Y3RldCBleHRlbmRlZCBwYXlsb2FkIGxlbmd0aCBmaWVsZCAob3IgMHgwLTB4RkQgaW4KKyAgICAj
IDItb2N0ZXQgZmllbGQpLgorICAgIHZhbGlkX2xlbmd0aF9lbmNvZGluZyA9IFRydWUKKyAgICBs
ZW5ndGhfZW5jb2RpbmdfYnl0ZXMgPSAxCisgICAgaWYgcGF5bG9hZF9sZW5ndGggPT0gMTI3Ogor
ICAgICAgICBsb2dnZXIubG9nKGNvbW1vbi5MT0dMRVZFTF9GSU5FLAorICAgICAgICAgICAgICAg
ICAgICdSZWNlaXZlIDgtb2N0ZXQgZXh0ZW5kZWQgcGF5bG9hZCBsZW5ndGgnKQorCisgICAgICAg
IGV4dGVuZGVkX3BheWxvYWRfbGVuZ3RoID0gcmVjZWl2ZV9ieXRlcyg4KQorICAgICAgICBwYXls
b2FkX2xlbmd0aCA9IHN0cnVjdC51bnBhY2soJyFRJywgZXh0ZW5kZWRfcGF5bG9hZF9sZW5ndGgp
WzBdCisgICAgICAgIGlmIHBheWxvYWRfbGVuZ3RoID4gMHg3RkZGRkZGRkZGRkZGRkZGOgorICAg
ICAgICAgICAgcmFpc2UgSW52YWxpZEZyYW1lRXhjZXB0aW9uKCdFeHRlbmRlZCBwYXlsb2FkIGxl
bmd0aCA+PSAyXjYzJykKKyAgICAgICAgaWYgd3NfdmVyc2lvbiA+PSAxMyBhbmQgcGF5bG9hZF9s
ZW5ndGggPCAweDEwMDAwOgorICAgICAgICAgICAgdmFsaWRfbGVuZ3RoX2VuY29kaW5nID0gRmFs
c2UKKyAgICAgICAgICAgIGxlbmd0aF9lbmNvZGluZ19ieXRlcyA9IDgKKworICAgICAgICBsb2dn
ZXIubG9nKGNvbW1vbi5MT0dMRVZFTF9GSU5FLCAnRGVjb2RlZF9wYXlsb2FkX2xlbmd0aD0lcycs
CisgICAgICAgICAgICAgICAgICAgcGF5bG9hZF9sZW5ndGgpCisgICAgZWxpZiBwYXlsb2FkX2xl
bmd0aCA9PSAxMjY6CisgICAgICAgIGxvZ2dlci5sb2coY29tbW9uLkxPR0xFVkVMX0ZJTkUsCisg
ICAgICAgICAgICAgICAgICAgJ1JlY2VpdmUgMi1vY3RldCBleHRlbmRlZCBwYXlsb2FkIGxlbmd0
aCcpCisKKyAgICAgICAgZXh0ZW5kZWRfcGF5bG9hZF9sZW5ndGggPSByZWNlaXZlX2J5dGVzKDIp
CisgICAgICAgIHBheWxvYWRfbGVuZ3RoID0gc3RydWN0LnVucGFjaygnIUgnLCBleHRlbmRlZF9w
YXlsb2FkX2xlbmd0aClbMF0KKyAgICAgICAgaWYgd3NfdmVyc2lvbiA+PSAxMyBhbmQgcGF5bG9h
ZF9sZW5ndGggPCAxMjY6CisgICAgICAgICAgICB2YWxpZF9sZW5ndGhfZW5jb2RpbmcgPSBGYWxz
ZQorICAgICAgICAgICAgbGVuZ3RoX2VuY29kaW5nX2J5dGVzID0gMgorCisgICAgICAgIGxvZ2dl
ci5sb2coY29tbW9uLkxPR0xFVkVMX0ZJTkUsICdEZWNvZGVkX3BheWxvYWRfbGVuZ3RoPSVzJywK
KyAgICAgICAgICAgICAgICAgICBwYXlsb2FkX2xlbmd0aCkKKworICAgIGlmIG5vdCB2YWxpZF9s
ZW5ndGhfZW5jb2Rpbmc6CisgICAgICAgIGxvZ2dlci53YXJuaW5nKAorICAgICAgICAgICAgJ1Bh
eWxvYWQgbGVuZ3RoIGlzIG5vdCBlbmNvZGVkIHVzaW5nIHRoZSBtaW5pbWFsIG51bWJlciBvZiAn
CisgICAgICAgICAgICAnYnl0ZXMgKCVkIGlzIGVuY29kZWQgdXNpbmcgJWQgYnl0ZXMpJywgcGF5
bG9hZF9sZW5ndGgsCisgICAgICAgICAgICBsZW5ndGhfZW5jb2RpbmdfYnl0ZXMpCisKKyAgICBp
ZiBtYXNrID09IDE6CisgICAgICAgIGxvZ2dlci5sb2coY29tbW9uLkxPR0xFVkVMX0ZJTkUsICdS
ZWNlaXZlIG1hc2snKQorCisgICAgICAgIG1hc2tpbmdfbm9uY2UgPSByZWNlaXZlX2J5dGVzKDQp
CisgICAgICAgIG1hc2tlciA9IHV0aWwuUmVwZWF0ZWRYb3JNYXNrZXIobWFza2luZ19ub25jZSkK
KworICAgICAgICBsb2dnZXIubG9nKGNvbW1vbi5MT0dMRVZFTF9GSU5FLCAnTWFzaz0lcicsIG1h
c2tpbmdfbm9uY2UpCisgICAgZWxzZToKKyAgICAgICAgbWFza2VyID0gX05PT1BfTUFTS0VSCisK
KyAgICBsb2dnZXIubG9nKGNvbW1vbi5MT0dMRVZFTF9GSU5FLCAnUmVjZWl2ZSBwYXlsb2FkIGRh
dGEnKQorICAgIGlmIGxvZ2dlci5pc0VuYWJsZWRGb3IoY29tbW9uLkxPR0xFVkVMX0ZJTkUpOgor
ICAgICAgICByZWNlaXZlX3N0YXJ0ID0gdGltZS50aW1lKCkKKworICAgIHJhd19wYXlsb2FkX2J5
dGVzID0gcmVjZWl2ZV9ieXRlcyhwYXlsb2FkX2xlbmd0aCkKKworICAgIGlmIGxvZ2dlci5pc0Vu
YWJsZWRGb3IoY29tbW9uLkxPR0xFVkVMX0ZJTkUpOgorICAgICAgICBsb2dnZXIubG9nKAorICAg
ICAgICAgICAgY29tbW9uLkxPR0xFVkVMX0ZJTkUsICdEb25lIHJlY2VpdmluZyBwYXlsb2FkIGRh
dGEgYXQgJXMgTUIvcycsCisgICAgICAgICAgICBwYXlsb2FkX2xlbmd0aCAvICh0aW1lLnRpbWUo
KSAtIHJlY2VpdmVfc3RhcnQpIC8gMTAwMCAvIDEwMDApCisgICAgbG9nZ2VyLmxvZyhjb21tb24u
TE9HTEVWRUxfRklORSwgJ1VubWFzayBwYXlsb2FkIGRhdGEnKQorCisgICAgaWYgbG9nZ2VyLmlz
RW5hYmxlZEZvcihjb21tb24uTE9HTEVWRUxfRklORSk6CisgICAgICAgIHVubWFza19zdGFydCA9
IHRpbWUudGltZSgpCisKKyAgICB1bm1hc2tlZF9ieXRlcyA9IG1hc2tlci5tYXNrKHJhd19wYXls
b2FkX2J5dGVzKQorCisgICAgaWYgbG9nZ2VyLmlzRW5hYmxlZEZvcihjb21tb24uTE9HTEVWRUxf
RklORSk6CisgICAgICAgIGxvZ2dlci5sb2coY29tbW9uLkxPR0xFVkVMX0ZJTkUsCisgICAgICAg
ICAgICAgICAgICAgJ0RvbmUgdW5tYXNraW5nIHBheWxvYWQgZGF0YSBhdCAlcyBNQi9zJywKKyAg
ICAgICAgICAgICAgICAgICBwYXlsb2FkX2xlbmd0aCAvICh0aW1lLnRpbWUoKSAtIHVubWFza19z
dGFydCkgLyAxMDAwIC8gMTAwMCkKKworICAgIHJldHVybiBvcGNvZGUsIHVubWFza2VkX2J5dGVz
LCBmaW4sIHJzdjEsIHJzdjIsIHJzdjMKKworCitjbGFzcyBGcmFnbWVudGVkRnJhbWVCdWlsZGVy
KG9iamVjdCk6CisgICAgIiIiQSBzdGF0ZWZ1bCBjbGFzcyB0byBzZW5kIGEgbWVzc2FnZSBhcyBm
cmFnbWVudHMuIiIiCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIG1hc2ssIGZyYW1lX2ZpbHRlcnM9
W10sIGVuY29kZV91dGY4PVRydWUpOgorICAgICAgICAiIiJDb25zdHJ1Y3RzIGFuIGluc3RhbmNl
LiIiIgorCisgICAgICAgIHNlbGYuX21hc2sgPSBtYXNrCisgICAgICAgIHNlbGYuX2ZyYW1lX2Zp
bHRlcnMgPSBmcmFtZV9maWx0ZXJzCisgICAgICAgICMgVGhpcyBpcyBmb3Igc2tpcHBpbmcgVVRG
LTggZW5jb2Rpbmcgd2hlbiBidWlsZGluZyB0ZXh0IHR5cGUgZnJhbWVzCisgICAgICAgICMgZnJv
bSBjb21wcmVzc2VkIGRhdGEuCisgICAgICAgIHNlbGYuX2VuY29kZV91dGY4ID0gZW5jb2RlX3V0
ZjgKKworICAgICAgICBzZWxmLl9zdGFydGVkID0gRmFsc2UKKworICAgICAgICAjIEhvbGQgb3Bj
b2RlIG9mIHRoZSBmaXJzdCBmcmFtZSBpbiBtZXNzYWdlcyB0byB2ZXJpZnkgdHlwZXMgb2Ygb3Ro
ZXIKKyAgICAgICAgIyBmcmFtZXMgaW4gdGhlIG1lc3NhZ2UgYXJlIGFsbCB0aGUgc2FtZS4KKyAg
ICAgICAgc2VsZi5fb3Bjb2RlID0gY29tbW9uLk9QQ09ERV9URVhUCisKKyAgICBkZWYgYnVpbGQo
c2VsZiwgcGF5bG9hZF9kYXRhLCBlbmQsIGJpbmFyeSk6CisgICAgICAgIGlmIGJpbmFyeToKKyAg
ICAgICAgICAgIGZyYW1lX3R5cGUgPSBjb21tb24uT1BDT0RFX0JJTkFSWQorICAgICAgICBlbHNl
OgorICAgICAgICAgICAgZnJhbWVfdHlwZSA9IGNvbW1vbi5PUENPREVfVEVYVAorICAgICAgICBp
ZiBzZWxmLl9zdGFydGVkOgorICAgICAgICAgICAgaWYgc2VsZi5fb3Bjb2RlICE9IGZyYW1lX3R5
cGU6CisgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignTWVzc2FnZSB0eXBlcyBhcmUg
ZGlmZmVyZW50IGluIGZyYW1lcyBmb3IgJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJ3RoZSBzYW1lIG1lc3NhZ2UnKQorICAgICAgICAgICAgb3Bjb2RlID0gY29tbW9uLk9QQ09E
RV9DT05USU5VQVRJT04KKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIG9wY29kZSA9IGZyYW1l
X3R5cGUKKyAgICAgICAgICAgIHNlbGYuX29wY29kZSA9IGZyYW1lX3R5cGUKKworICAgICAgICBp
ZiBlbmQ6CisgICAgICAgICAgICBzZWxmLl9zdGFydGVkID0gRmFsc2UKKyAgICAgICAgICAgIGZp
biA9IDEKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuX3N0YXJ0ZWQgPSBUcnVlCisg
ICAgICAgICAgICBmaW4gPSAwCisKKyAgICAgICAgaWYgYmluYXJ5IG9yIG5vdCBzZWxmLl9lbmNv
ZGVfdXRmODoKKyAgICAgICAgICAgIHJldHVybiBjcmVhdGVfYmluYXJ5X2ZyYW1lKHBheWxvYWRf
ZGF0YSwgb3Bjb2RlLCBmaW4sIHNlbGYuX21hc2ssCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzZWxmLl9mcmFtZV9maWx0ZXJzKQorICAgICAgICBlbHNlOgorICAgICAg
ICAgICAgcmV0dXJuIGNyZWF0ZV90ZXh0X2ZyYW1lKHBheWxvYWRfZGF0YSwgb3Bjb2RlLCBmaW4s
IHNlbGYuX21hc2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5f
ZnJhbWVfZmlsdGVycykKKworCitkZWYgX2NyZWF0ZV9jb250cm9sX2ZyYW1lKG9wY29kZSwgYm9k
eSwgbWFzaywgZnJhbWVfZmlsdGVycyk6CisgICAgZnJhbWUgPSBGcmFtZShvcGNvZGU9b3Bjb2Rl
LCBwYXlsb2FkPWJvZHkpCisKKyAgICBmb3IgZnJhbWVfZmlsdGVyIGluIGZyYW1lX2ZpbHRlcnM6
CisgICAgICAgIGZyYW1lX2ZpbHRlci5maWx0ZXIoZnJhbWUpCisKKyAgICBpZiBsZW4oZnJhbWUu
cGF5bG9hZCkgPiAxMjU6CisgICAgICAgIHJhaXNlIEJhZE9wZXJhdGlvbkV4Y2VwdGlvbigKKyAg
ICAgICAgICAgICdQYXlsb2FkIGRhdGEgc2l6ZSBvZiBjb250cm9sIGZyYW1lcyBtdXN0IGJlIDEy
NSBieXRlcyBvciBsZXNzJykKKworICAgIGhlYWRlciA9IGNyZWF0ZV9oZWFkZXIoZnJhbWUub3Bj
b2RlLCBsZW4oZnJhbWUucGF5bG9hZCksIGZyYW1lLmZpbiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGZyYW1lLnJzdjEsIGZyYW1lLnJzdjIsIGZyYW1lLnJzdjMsIG1hc2spCisgICAgcmV0
dXJuIF9idWlsZF9mcmFtZShoZWFkZXIsIGZyYW1lLnBheWxvYWQsIG1hc2spCisKKworZGVmIGNy
ZWF0ZV9waW5nX2ZyYW1lKGJvZHksIG1hc2s9RmFsc2UsIGZyYW1lX2ZpbHRlcnM9W10pOgorICAg
IHJldHVybiBfY3JlYXRlX2NvbnRyb2xfZnJhbWUoY29tbW9uLk9QQ09ERV9QSU5HLCBib2R5LCBt
YXNrLCBmcmFtZV9maWx0ZXJzKQorCisKK2RlZiBjcmVhdGVfcG9uZ19mcmFtZShib2R5LCBtYXNr
PUZhbHNlLCBmcmFtZV9maWx0ZXJzPVtdKToKKyAgICByZXR1cm4gX2NyZWF0ZV9jb250cm9sX2Zy
YW1lKGNvbW1vbi5PUENPREVfUE9ORywgYm9keSwgbWFzaywgZnJhbWVfZmlsdGVycykKKworCitk
ZWYgY3JlYXRlX2Nsb3NlX2ZyYW1lKGJvZHksIG1hc2s9RmFsc2UsIGZyYW1lX2ZpbHRlcnM9W10p
OgorICAgIHJldHVybiBfY3JlYXRlX2NvbnRyb2xfZnJhbWUoY29tbW9uLk9QQ09ERV9DTE9TRSwg
Ym9keSwgbWFzaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyYW1lX2ZpbHRl
cnMpCisKKworZGVmIGNyZWF0ZV9jbG9zaW5nX2hhbmRzaGFrZV9ib2R5KGNvZGUsIHJlYXNvbik6
CisgICAgYm9keSA9IGInJworICAgIGlmIGNvZGUgaXMgbm90IE5vbmU6CisgICAgICAgIGlmIChj
b2RlID4gY29tbW9uLlNUQVRVU19VU0VSX1BSSVZBVEVfTUFYCisgICAgICAgICAgICAgICAgb3Ig
Y29kZSA8IGNvbW1vbi5TVEFUVVNfTk9STUFMX0NMT1NVUkUpOgorICAgICAgICAgICAgcmFpc2Ug
QmFkT3BlcmF0aW9uRXhjZXB0aW9uKCdTdGF0dXMgY29kZSBpcyBvdXQgb2YgcmFuZ2UnKQorICAg
ICAgICBpZiAoY29kZSA9PSBjb21tb24uU1RBVFVTX05PX1NUQVRVU19SRUNFSVZFRAorICAgICAg
ICAgICAgICAgIG9yIGNvZGUgPT0gY29tbW9uLlNUQVRVU19BQk5PUk1BTF9DTE9TVVJFCisgICAg
ICAgICAgICAgICAgb3IgY29kZSA9PSBjb21tb24uU1RBVFVTX1RMU19IQU5EU0hBS0UpOgorICAg
ICAgICAgICAgcmFpc2UgQmFkT3BlcmF0aW9uRXhjZXB0aW9uKCdTdGF0dXMgY29kZSBpcyByZXNl
cnZlZCBwc2V1ZG8gJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdj
b2RlJykKKyAgICAgICAgZW5jb2RlZF9yZWFzb24gPSByZWFzb24uZW5jb2RlKCd1dGYtOCcpCisg
ICAgICAgIGJvZHkgPSBzdHJ1Y3QucGFjaygnIUgnLCBjb2RlKSArIGVuY29kZWRfcmVhc29uCisg
ICAgcmV0dXJuIGJvZHkKKworCitjbGFzcyBTdHJlYW1PcHRpb25zKG9iamVjdCk6CisgICAgIiIi
SG9sZHMgb3B0aW9uIHZhbHVlcyB0byBjb25maWd1cmUgU3RyZWFtIG9iamVjdHMuIiIiCisgICAg
ZGVmIF9faW5pdF9fKHNlbGYpOgorICAgICAgICAiIiJDb25zdHJ1Y3RzIFN0cmVhbU9wdGlvbnMu
IiIiCisKKyAgICAgICAgIyBGaWx0ZXJzIGFwcGxpZWQgdG8gZnJhbWVzLgorICAgICAgICBzZWxm
Lm91dGdvaW5nX2ZyYW1lX2ZpbHRlcnMgPSBbXQorICAgICAgICBzZWxmLmluY29taW5nX2ZyYW1l
X2ZpbHRlcnMgPSBbXQorCisgICAgICAgICMgRmlsdGVycyBhcHBsaWVkIHRvIG1lc3NhZ2VzLiBD
b250cm9sIGZyYW1lcyBhcmUgbm90IGFmZmVjdGVkIGJ5IHRoZW0uCisgICAgICAgIHNlbGYub3V0
Z29pbmdfbWVzc2FnZV9maWx0ZXJzID0gW10KKyAgICAgICAgc2VsZi5pbmNvbWluZ19tZXNzYWdl
X2ZpbHRlcnMgPSBbXQorCisgICAgICAgIHNlbGYuZW5jb2RlX3RleHRfbWVzc2FnZV90b191dGY4
ID0gVHJ1ZQorICAgICAgICBzZWxmLm1hc2tfc2VuZCA9IEZhbHNlCisgICAgICAgIHNlbGYudW5t
YXNrX3JlY2VpdmUgPSBUcnVlCisKKworY2xhc3MgU3RyZWFtKG9iamVjdCk6CisgICAgIiIiQSBj
bGFzcyBmb3IgcGFyc2luZy9idWlsZGluZyBmcmFtZXMgb2YgdGhlIFdlYlNvY2tldCBwcm90b2Nv
bAorICAgIChSRkMgNjQ1NSkuCisgICAgIiIiCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHJlcXVl
c3QsIG9wdGlvbnMpOgorICAgICAgICAiIiJDb25zdHJ1Y3RzIGFuIGluc3RhbmNlLgorCisgICAg
ICAgIEFyZ3M6CisgICAgICAgICAgICByZXF1ZXN0OiBtb2RfcHl0aG9uIHJlcXVlc3QuCisgICAg
ICAgICIiIgorCisgICAgICAgIHNlbGYuX2xvZ2dlciA9IHV0aWwuZ2V0X2NsYXNzX2xvZ2dlcihz
ZWxmKQorCisgICAgICAgIHNlbGYuX29wdGlvbnMgPSBvcHRpb25zCisgICAgICAgIHNlbGYuX3Jl
cXVlc3QgPSByZXF1ZXN0CisKKyAgICAgICAgc2VsZi5fcmVxdWVzdC5jbGllbnRfdGVybWluYXRl
ZCA9IEZhbHNlCisgICAgICAgIHNlbGYuX3JlcXVlc3Quc2VydmVyX3Rlcm1pbmF0ZWQgPSBGYWxz
ZQorCisgICAgICAgICMgSG9sZHMgYm9keSBvZiByZWNlaXZlZCBmcmFnbWVudHMuCisgICAgICAg
IHNlbGYuX3JlY2VpdmVkX2ZyYWdtZW50cyA9IFtdCisgICAgICAgICMgSG9sZHMgdGhlIG9wY29k
ZSBvZiB0aGUgZmlyc3QgZnJhZ21lbnQuCisgICAgICAgIHNlbGYuX29yaWdpbmFsX29wY29kZSA9
IE5vbmUKKworICAgICAgICBzZWxmLl93cml0ZXIgPSBGcmFnbWVudGVkRnJhbWVCdWlsZGVyKAor
ICAgICAgICAgICAgc2VsZi5fb3B0aW9ucy5tYXNrX3NlbmQsIHNlbGYuX29wdGlvbnMub3V0Z29p
bmdfZnJhbWVfZmlsdGVycywKKyAgICAgICAgICAgIHNlbGYuX29wdGlvbnMuZW5jb2RlX3RleHRf
bWVzc2FnZV90b191dGY4KQorCisgICAgICAgIHNlbGYuX3BpbmdfcXVldWUgPSBkZXF1ZSgpCisK
KyAgICBkZWYgX3JlYWQoc2VsZiwgbGVuZ3RoKToKKyAgICAgICAgIiIiUmVhZHMgbGVuZ3RoIGJ5
dGVzIGZyb20gY29ubmVjdGlvbi4gSW4gY2FzZSB3ZSBjYXRjaCBhbnkgZXhjZXB0aW9uLAorICAg
ICAgICBwcmVwZW5kcyByZW1vdGUgYWRkcmVzcyB0byB0aGUgZXhjZXB0aW9uIG1lc3NhZ2UgYW5k
IHJhaXNlIGFnYWluLgorCisgICAgICAgIFJhaXNlczoKKyAgICAgICAgICAgIENvbm5lY3Rpb25U
ZXJtaW5hdGVkRXhjZXB0aW9uOiB3aGVuIHJlYWQgcmV0dXJucyBlbXB0eSBzdHJpbmcuCisgICAg
ICAgICIiIgorCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHJlYWRfYnl0ZXMgPSBzZWxmLl9y
ZXF1ZXN0LmNvbm5lY3Rpb24ucmVhZChsZW5ndGgpCisgICAgICAgICAgICBpZiBub3QgcmVhZF9i
eXRlczoKKyAgICAgICAgICAgICAgICByYWlzZSBDb25uZWN0aW9uVGVybWluYXRlZEV4Y2VwdGlv
bigKKyAgICAgICAgICAgICAgICAgICAgJ1JlY2VpdmluZyAlZCBieXRlIGZhaWxlZC4gUGVlciAo
JXIpIGNsb3NlZCBjb25uZWN0aW9uJyAlCisgICAgICAgICAgICAgICAgICAgIChsZW5ndGgsIChz
ZWxmLl9yZXF1ZXN0LmNvbm5lY3Rpb24ucmVtb3RlX2FkZHIsICkpKQorICAgICAgICAgICAgcmV0
dXJuIHJlYWRfYnl0ZXMKKyAgICAgICAgZXhjZXB0IElPRXJyb3IgYXMgZToKKyAgICAgICAgICAg
ICMgQWxzbyBjYXRjaCBhbiBJT0Vycm9yIGJlY2F1c2UgbW9kX3B5dGhvbiB0aHJvd3MgaXQuCisg
ICAgICAgICAgICByYWlzZSBDb25uZWN0aW9uVGVybWluYXRlZEV4Y2VwdGlvbigKKyAgICAgICAg
ICAgICAgICAnUmVjZWl2aW5nICVkIGJ5dGUgZmFpbGVkLiBJT0Vycm9yICglcykgb2NjdXJyZWQn
ICUKKyAgICAgICAgICAgICAgICAobGVuZ3RoLCBlKSkKKworICAgIGRlZiBfd3JpdGUoc2VsZiwg
Ynl0ZXNfdG9fd3JpdGUpOgorICAgICAgICAiIiJXcml0ZXMgZ2l2ZW4gYnl0ZXMgdG8gY29ubmVj
dGlvbi4gSW4gY2FzZSB3ZSBjYXRjaCBhbnkgZXhjZXB0aW9uLAorICAgICAgICBwcmVwZW5kcyBy
ZW1vdGUgYWRkcmVzcyB0byB0aGUgZXhjZXB0aW9uIG1lc3NhZ2UgYW5kIHJhaXNlIGFnYWluLgor
ICAgICAgICAiIiIKKworICAgICAgICB0cnk6CisgICAgICAgICAgICBzZWxmLl9yZXF1ZXN0LmNv
bm5lY3Rpb24ud3JpdGUoYnl0ZXNfdG9fd3JpdGUpCisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24g
YXMgZToKKyAgICAgICAgICAgIHV0aWwucHJlcGVuZF9tZXNzYWdlX3RvX2V4Y2VwdGlvbigKKyAg
ICAgICAgICAgICAgICAnRmFpbGVkIHRvIHNlbmQgbWVzc2FnZSB0byAlcjogJyAlCisgICAgICAg
ICAgICAgICAgKHNlbGYuX3JlcXVlc3QuY29ubmVjdGlvbi5yZW1vdGVfYWRkciwgKSwgZSkKKyAg
ICAgICAgICAgIHJhaXNlCisKKyAgICBkZWYgcmVjZWl2ZV9ieXRlcyhzZWxmLCBsZW5ndGgpOgor
ICAgICAgICAiIiJSZWNlaXZlcyBtdWx0aXBsZSBieXRlcy4gUmV0cmllcyByZWFkIHdoZW4gd2Ug
Y291bGRuJ3QgcmVjZWl2ZSB0aGUKKyAgICAgICAgc3BlY2lmaWVkIGFtb3VudC4gVGhpcyBtZXRo
b2QgcmV0dXJucyBieXRlIHN0cmluZ3MuCisKKyAgICAgICAgUmFpc2VzOgorICAgICAgICAgICAg
Q29ubmVjdGlvblRlcm1pbmF0ZWRFeGNlcHRpb246IHdoZW4gcmVhZCByZXR1cm5zIGVtcHR5IHN0
cmluZy4KKyAgICAgICAgIiIiCisKKyAgICAgICAgcmVhZF9ieXRlcyA9IFtdCisgICAgICAgIHdo
aWxlIGxlbmd0aCA+IDA6CisgICAgICAgICAgICBuZXdfcmVhZF9ieXRlcyA9IHNlbGYuX3JlYWQo
bGVuZ3RoKQorICAgICAgICAgICAgcmVhZF9ieXRlcy5hcHBlbmQobmV3X3JlYWRfYnl0ZXMpCisg
ICAgICAgICAgICBsZW5ndGggLT0gbGVuKG5ld19yZWFkX2J5dGVzKQorICAgICAgICByZXR1cm4g
YicnLmpvaW4ocmVhZF9ieXRlcykKKworICAgIGRlZiBfcmVhZF91bnRpbChzZWxmLCBkZWxpbV9j
aGFyKToKKyAgICAgICAgIiIiUmVhZHMgYnl0ZXMgdW50aWwgd2UgZW5jb3VudGVyIGRlbGltX2No
YXIuIFRoZSByZXN1bHQgd2lsbCBub3QKKyAgICAgICAgY29udGFpbiBkZWxpbV9jaGFyLgorCisg
ICAgICAgIFJhaXNlczoKKyAgICAgICAgICAgIENvbm5lY3Rpb25UZXJtaW5hdGVkRXhjZXB0aW9u
OiB3aGVuIHJlYWQgcmV0dXJucyBlbXB0eSBzdHJpbmcuCisgICAgICAgICIiIgorCisgICAgICAg
IHJlYWRfYnl0ZXMgPSBbXQorICAgICAgICB3aGlsZSBUcnVlOgorICAgICAgICAgICAgY2ggPSBz
ZWxmLl9yZWFkKDEpCisgICAgICAgICAgICBpZiBjaCA9PSBkZWxpbV9jaGFyOgorICAgICAgICAg
ICAgICAgIGJyZWFrCisgICAgICAgICAgICByZWFkX2J5dGVzLmFwcGVuZChjaCkKKyAgICAgICAg
cmV0dXJuIGInJy5qb2luKHJlYWRfYnl0ZXMpCisKKyAgICBkZWYgX3JlY2VpdmVfZnJhbWUoc2Vs
Zik6CisgICAgICAgICIiIlJlY2VpdmVzIGEgZnJhbWUgYW5kIHJldHVybiBkYXRhIGluIHRoZSBm
cmFtZSBhcyBhIHR1cGxlIGNvbnRhaW5pbmcKKyAgICAgICAgZWFjaCBoZWFkZXIgZmllbGQgYW5k
IHBheWxvYWQgc2VwYXJhdGVseS4KKworICAgICAgICBSYWlzZXM6CisgICAgICAgICAgICBDb25u
ZWN0aW9uVGVybWluYXRlZEV4Y2VwdGlvbjogd2hlbiByZWFkIHJldHVybnMgZW1wdHkKKyAgICAg
ICAgICAgICAgICBzdHJpbmcuCisgICAgICAgICAgICBJbnZhbGlkRnJhbWVFeGNlcHRpb246IHdo
ZW4gdGhlIGZyYW1lIGNvbnRhaW5zIGludmFsaWQgZGF0YS4KKyAgICAgICAgIiIiCisgICAgICAg
IGRlZiBfcmVjZWl2ZV9ieXRlcyhsZW5ndGgpOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYucmVj
ZWl2ZV9ieXRlcyhsZW5ndGgpCisKKyAgICAgICAgcmV0dXJuIHBhcnNlX2ZyYW1lKHJlY2VpdmVf
Ynl0ZXM9X3JlY2VpdmVfYnl0ZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2dnZXI9
c2VsZi5fbG9nZ2VyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgd3NfdmVyc2lvbj1zZWxm
Ll9yZXF1ZXN0LndzX3ZlcnNpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICB1bm1hc2tf
cmVjZWl2ZT1zZWxmLl9vcHRpb25zLnVubWFza19yZWNlaXZlKQorCisgICAgZGVmIF9yZWNlaXZl
X2ZyYW1lX2FzX2ZyYW1lX29iamVjdChzZWxmKToKKyAgICAgICAgb3Bjb2RlLCB1bm1hc2tlZF9i
eXRlcywgZmluLCByc3YxLCByc3YyLCByc3YzID0gc2VsZi5fcmVjZWl2ZV9mcmFtZSgpCisKKyAg
ICAgICAgcmV0dXJuIEZyYW1lKGZpbj1maW4sCisgICAgICAgICAgICAgICAgICAgICByc3YxPXJz
djEsCisgICAgICAgICAgICAgICAgICAgICByc3YyPXJzdjIsCisgICAgICAgICAgICAgICAgICAg
ICByc3YzPXJzdjMsCisgICAgICAgICAgICAgICAgICAgICBvcGNvZGU9b3Bjb2RlLAorICAgICAg
ICAgICAgICAgICAgICAgcGF5bG9hZD11bm1hc2tlZF9ieXRlcykKKworICAgIGRlZiByZWNlaXZl
X2ZpbHRlcmVkX2ZyYW1lKHNlbGYpOgorICAgICAgICAiIiJSZWNlaXZlcyBhIGZyYW1lIGFuZCBh
cHBsaWVzIGZyYW1lIGZpbHRlcnMgYW5kIG1lc3NhZ2UgZmlsdGVycy4KKyAgICAgICAgVGhlIGZy
YW1lIHRvIGJlIHJlY2VpdmVkIG11c3Qgc2F0aXNmeSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAg
ICAgICAgLSBUaGUgZnJhbWUgaXMgbm90IGZyYWdtZW50ZWQuCisgICAgICAgIC0gVGhlIG9wY29k
ZSBvZiB0aGUgZnJhbWUgaXMgVEVYVCBvciBCSU5BUlkuCisKKyAgICAgICAgRE8gTk9UIFVTRSB0
aGlzIG1ldGhvZCBleGNlcHQgZm9yIHRlc3RpbmcgcHVycG9zZS4KKyAgICAgICAgIiIiCisKKyAg
ICAgICAgZnJhbWUgPSBzZWxmLl9yZWNlaXZlX2ZyYW1lX2FzX2ZyYW1lX29iamVjdCgpCisgICAg
ICAgIGlmIG5vdCBmcmFtZS5maW46CisgICAgICAgICAgICByYWlzZSBJbnZhbGlkRnJhbWVFeGNl
cHRpb24oCisgICAgICAgICAgICAgICAgJ1NlZ21lbnRlZCBmcmFtZXMgbXVzdCBub3QgYmUgcmVj
ZWl2ZWQgdmlhICcKKyAgICAgICAgICAgICAgICAncmVjZWl2ZV9maWx0ZXJlZF9mcmFtZSgpJykK
KyAgICAgICAgaWYgKGZyYW1lLm9wY29kZSAhPSBjb21tb24uT1BDT0RFX1RFWFQKKyAgICAgICAg
ICAgICAgICBhbmQgZnJhbWUub3Bjb2RlICE9IGNvbW1vbi5PUENPREVfQklOQVJZKToKKyAgICAg
ICAgICAgIHJhaXNlIEludmFsaWRGcmFtZUV4Y2VwdGlvbigKKyAgICAgICAgICAgICAgICAnQ29u
dHJvbCBmcmFtZXMgbXVzdCBub3QgYmUgcmVjZWl2ZWQgdmlhICcKKyAgICAgICAgICAgICAgICAn
cmVjZWl2ZV9maWx0ZXJlZF9mcmFtZSgpJykKKworICAgICAgICBmb3IgZnJhbWVfZmlsdGVyIGlu
IHNlbGYuX29wdGlvbnMuaW5jb21pbmdfZnJhbWVfZmlsdGVyczoKKyAgICAgICAgICAgIGZyYW1l
X2ZpbHRlci5maWx0ZXIoZnJhbWUpCisgICAgICAgIGZvciBtZXNzYWdlX2ZpbHRlciBpbiBzZWxm
Ll9vcHRpb25zLmluY29taW5nX21lc3NhZ2VfZmlsdGVyczoKKyAgICAgICAgICAgIGZyYW1lLnBh
eWxvYWQgPSBtZXNzYWdlX2ZpbHRlci5maWx0ZXIoZnJhbWUucGF5bG9hZCkKKyAgICAgICAgcmV0
dXJuIGZyYW1lCisKKyAgICBkZWYgc2VuZF9tZXNzYWdlKHNlbGYsIG1lc3NhZ2UsIGVuZD1UcnVl
LCBiaW5hcnk9RmFsc2UpOgorICAgICAgICAiIiJTZW5kIG1lc3NhZ2UuCisKKyAgICAgICAgQXJn
czoKKyAgICAgICAgICAgIG1lc3NhZ2U6IHRleHQgaW4gdW5pY29kZSBvciBiaW5hcnkgaW4gc3Ry
IHRvIHNlbmQuCisgICAgICAgICAgICBiaW5hcnk6IHNlbmQgbWVzc2FnZSBhcyBiaW5hcnkgZnJh
bWUuCisKKyAgICAgICAgUmFpc2VzOgorICAgICAgICAgICAgQmFkT3BlcmF0aW9uRXhjZXB0aW9u
OiB3aGVuIGNhbGxlZCBvbiBhIHNlcnZlci10ZXJtaW5hdGVkCisgICAgICAgICAgICAgICAgY29u
bmVjdGlvbiBvciBjYWxsZWQgd2l0aCBpbmNvbnNpc3RlbnQgbWVzc2FnZSB0eXBlIG9yCisgICAg
ICAgICAgICAgICAgYmluYXJ5IHBhcmFtZXRlci4KKyAgICAgICAgIiIiCisKKyAgICAgICAgaWYg
c2VsZi5fcmVxdWVzdC5zZXJ2ZXJfdGVybWluYXRlZDoKKyAgICAgICAgICAgIHJhaXNlIEJhZE9w
ZXJhdGlvbkV4Y2VwdGlvbigKKyAgICAgICAgICAgICAgICAnUmVxdWVzdGVkIHNlbmRfbWVzc2Fn
ZSBhZnRlciBzZW5kaW5nIG91dCBhIGNsb3NpbmcgaGFuZHNoYWtlJykKKworICAgICAgICBpZiBi
aW5hcnkgYW5kIGlzaW5zdGFuY2UobWVzc2FnZSwgc2l4LnRleHRfdHlwZSk6CisgICAgICAgICAg
ICByYWlzZSBCYWRPcGVyYXRpb25FeGNlcHRpb24oCisgICAgICAgICAgICAgICAgJ01lc3NhZ2Ug
Zm9yIGJpbmFyeSBmcmFtZSBtdXN0IG5vdCBiZSBpbnN0YW5jZSBvZiBVbmljb2RlJykKKworICAg
ICAgICBmb3IgbWVzc2FnZV9maWx0ZXIgaW4gc2VsZi5fb3B0aW9ucy5vdXRnb2luZ19tZXNzYWdl
X2ZpbHRlcnM6CisgICAgICAgICAgICBtZXNzYWdlID0gbWVzc2FnZV9maWx0ZXIuZmlsdGVyKG1l
c3NhZ2UsIGVuZCwgYmluYXJ5KQorCisgICAgICAgIHRyeToKKyAgICAgICAgICAgICMgU2V0IHRo
aXMgdG8gYW55IHBvc2l0aXZlIGludGVnZXIgdG8gbGltaXQgbWF4aW11bSBzaXplIG9mIGRhdGEg
aW4KKyAgICAgICAgICAgICMgcGF5bG9hZCBkYXRhIG9mIGVhY2ggZnJhbWUuCisgICAgICAgICAg
ICBNQVhfUEFZTE9BRF9EQVRBX1NJWkUgPSAtMQorCisgICAgICAgICAgICBpZiBNQVhfUEFZTE9B
RF9EQVRBX1NJWkUgPD0gMDoKKyAgICAgICAgICAgICAgICBzZWxmLl93cml0ZShzZWxmLl93cml0
ZXIuYnVpbGQobWVzc2FnZSwgZW5kLCBiaW5hcnkpKQorICAgICAgICAgICAgICAgIHJldHVybgor
CisgICAgICAgICAgICBieXRlc193cml0dGVuID0gMAorICAgICAgICAgICAgd2hpbGUgVHJ1ZToK
KyAgICAgICAgICAgICAgICBlbmRfZm9yX3RoaXNfZnJhbWUgPSBlbmQKKyAgICAgICAgICAgICAg
ICBieXRlc190b193cml0ZSA9IGxlbihtZXNzYWdlKSAtIGJ5dGVzX3dyaXR0ZW4KKyAgICAgICAg
ICAgICAgICBpZiAoTUFYX1BBWUxPQURfREFUQV9TSVpFID4gMAorICAgICAgICAgICAgICAgICAg
ICAgICAgYW5kIGJ5dGVzX3RvX3dyaXRlID4gTUFYX1BBWUxPQURfREFUQV9TSVpFKToKKyAgICAg
ICAgICAgICAgICAgICAgZW5kX2Zvcl90aGlzX2ZyYW1lID0gRmFsc2UKKyAgICAgICAgICAgICAg
ICAgICAgYnl0ZXNfdG9fd3JpdGUgPSBNQVhfUEFZTE9BRF9EQVRBX1NJWkUKKworICAgICAgICAg
ICAgICAgIGZyYW1lID0gc2VsZi5fd3JpdGVyLmJ1aWxkKAorICAgICAgICAgICAgICAgICAgICBt
ZXNzYWdlW2J5dGVzX3dyaXR0ZW46Ynl0ZXNfd3JpdHRlbiArIGJ5dGVzX3RvX3dyaXRlXSwKKyAg
ICAgICAgICAgICAgICAgICAgZW5kX2Zvcl90aGlzX2ZyYW1lLCBiaW5hcnkpCisgICAgICAgICAg
ICAgICAgc2VsZi5fd3JpdGUoZnJhbWUpCisKKyAgICAgICAgICAgICAgICBieXRlc193cml0dGVu
ICs9IGJ5dGVzX3RvX3dyaXRlCisKKyAgICAgICAgICAgICAgICAjIFRoaXMgaWYgbXVzdCBiZSBw
bGFjZWQgaGVyZSAodGhlIGVuZCBvZiB3aGlsZSBibG9jaykgc28gdGhhdAorICAgICAgICAgICAg
ICAgICMgYXQgbGVhc3Qgb25lIGZyYW1lIGlzIHNlbnQuCisgICAgICAgICAgICAgICAgaWYgbGVu
KG1lc3NhZ2UpIDw9IGJ5dGVzX3dyaXR0ZW46CisgICAgICAgICAgICAgICAgICAgIGJyZWFrCisg
ICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yIGFzIGU6CisgICAgICAgICAgICByYWlzZSBCYWRPcGVy
YXRpb25FeGNlcHRpb24oZSkKKworICAgIGRlZiBfZ2V0X21lc3NhZ2VfZnJvbV9mcmFtZShzZWxm
LCBmcmFtZSk6CisgICAgICAgICIiIkdldHMgYSBtZXNzYWdlIGZyb20gZnJhbWUuIElmIHRoZSBt
ZXNzYWdlIGlzIGNvbXBvc2VkIG9mIGZyYWdtZW50ZWQKKyAgICAgICAgZnJhbWVzIGFuZCB0aGUg
ZnJhbWUgaXMgbm90IHRoZSBsYXN0IGZyYWdtZW50ZWQgZnJhbWUsIHRoaXMgbWV0aG9kCisgICAg
ICAgIHJldHVybnMgTm9uZS4gVGhlIHdob2xlIG1lc3NhZ2Ugd2lsbCBiZSByZXR1cm5lZCB3aGVu
IHRoZSBsYXN0CisgICAgICAgIGZyYWdtZW50ZWQgZnJhbWUgaXMgcGFzc2VkIHRvIHRoaXMgbWV0
aG9kLgorCisgICAgICAgIFJhaXNlczoKKyAgICAgICAgICAgIEludmFsaWRGcmFtZUV4Y2VwdGlv
bjogd2hlbiB0aGUgZnJhbWUgZG9lc24ndCBtYXRjaCBkZWZyYWdtZW50YXRpb24KKyAgICAgICAg
ICAgICAgICBjb250ZXh0LCBvciB0aGUgZnJhbWUgY29udGFpbnMgaW52YWxpZCBkYXRhLgorICAg
ICAgICAiIiIKKworICAgICAgICBpZiBmcmFtZS5vcGNvZGUgPT0gY29tbW9uLk9QQ09ERV9DT05U
SU5VQVRJT046CisgICAgICAgICAgICBpZiBub3Qgc2VsZi5fcmVjZWl2ZWRfZnJhZ21lbnRzOgor
ICAgICAgICAgICAgICAgIGlmIGZyYW1lLmZpbjoKKyAgICAgICAgICAgICAgICAgICAgcmFpc2Ug
SW52YWxpZEZyYW1lRXhjZXB0aW9uKAorICAgICAgICAgICAgICAgICAgICAgICAgJ1JlY2VpdmVk
IGEgdGVybWluYXRpb24gZnJhbWUgYnV0IGZyYWdtZW50YXRpb24gJworICAgICAgICAgICAgICAg
ICAgICAgICAgJ25vdCBzdGFydGVkJykKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAg
ICAgICAgICAgICByYWlzZSBJbnZhbGlkRnJhbWVFeGNlcHRpb24oCisgICAgICAgICAgICAgICAg
ICAgICAgICAnUmVjZWl2ZWQgYW4gaW50ZXJtZWRpYXRlIGZyYW1lIGJ1dCAnCisgICAgICAgICAg
ICAgICAgICAgICAgICAnZnJhZ21lbnRhdGlvbiBub3Qgc3RhcnRlZCcpCisKKyAgICAgICAgICAg
IGlmIGZyYW1lLmZpbjoKKyAgICAgICAgICAgICAgICAjIEVuZCBvZiBmcmFnbWVudGF0aW9uIGZy
YW1lCisgICAgICAgICAgICAgICAgc2VsZi5fcmVjZWl2ZWRfZnJhZ21lbnRzLmFwcGVuZChmcmFt
ZS5wYXlsb2FkKQorICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSBiJycuam9pbihzZWxmLl9yZWNl
aXZlZF9mcmFnbWVudHMpCisgICAgICAgICAgICAgICAgc2VsZi5fcmVjZWl2ZWRfZnJhZ21lbnRz
ID0gW10KKyAgICAgICAgICAgICAgICByZXR1cm4gbWVzc2FnZQorICAgICAgICAgICAgZWxzZToK
KyAgICAgICAgICAgICAgICAjIEludGVybWVkaWF0ZSBmcmFtZQorICAgICAgICAgICAgICAgIHNl
bGYuX3JlY2VpdmVkX2ZyYWdtZW50cy5hcHBlbmQoZnJhbWUucGF5bG9hZCkKKyAgICAgICAgICAg
ICAgICByZXR1cm4gTm9uZQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgaWYgc2VsZi5fcmVj
ZWl2ZWRfZnJhZ21lbnRzOgorICAgICAgICAgICAgICAgIGlmIGZyYW1lLmZpbjoKKyAgICAgICAg
ICAgICAgICAgICAgcmFpc2UgSW52YWxpZEZyYW1lRXhjZXB0aW9uKAorICAgICAgICAgICAgICAg
ICAgICAgICAgJ1JlY2VpdmVkIGFuIHVuZnJhZ21lbnRlZCBmcmFtZSB3aXRob3V0ICcKKyAgICAg
ICAgICAgICAgICAgICAgICAgICd0ZXJtaW5hdGluZyBleGlzdGluZyBmcmFnbWVudGF0aW9uJykK
KyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICByYWlzZSBJbnZhbGlk
RnJhbWVFeGNlcHRpb24oCisgICAgICAgICAgICAgICAgICAgICAgICAnTmV3IGZyYWdtZW50YXRp
b24gc3RhcnRlZCB3aXRob3V0IHRlcm1pbmF0aW5nICcKKyAgICAgICAgICAgICAgICAgICAgICAg
ICdleGlzdGluZyBmcmFnbWVudGF0aW9uJykKKworICAgICAgICAgICAgaWYgZnJhbWUuZmluOgor
ICAgICAgICAgICAgICAgICMgVW5mcmFnbWVudGVkIGZyYW1lCisKKyAgICAgICAgICAgICAgICBz
ZWxmLl9vcmlnaW5hbF9vcGNvZGUgPSBmcmFtZS5vcGNvZGUKKyAgICAgICAgICAgICAgICByZXR1
cm4gZnJhbWUucGF5bG9hZAorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAjIFN0
YXJ0IG9mIGZyYWdtZW50YXRpb24gZnJhbWUKKworICAgICAgICAgICAgICAgIGlmIGNvbW1vbi5p
c19jb250cm9sX29wY29kZShmcmFtZS5vcGNvZGUpOgorICAgICAgICAgICAgICAgICAgICByYWlz
ZSBJbnZhbGlkRnJhbWVFeGNlcHRpb24oCisgICAgICAgICAgICAgICAgICAgICAgICAnQ29udHJv
bCBmcmFtZXMgbXVzdCBub3QgYmUgZnJhZ21lbnRlZCcpCisKKyAgICAgICAgICAgICAgICBzZWxm
Ll9vcmlnaW5hbF9vcGNvZGUgPSBmcmFtZS5vcGNvZGUKKyAgICAgICAgICAgICAgICBzZWxmLl9y
ZWNlaXZlZF9mcmFnbWVudHMuYXBwZW5kKGZyYW1lLnBheWxvYWQpCisgICAgICAgICAgICAgICAg
cmV0dXJuIE5vbmUKKworICAgIGRlZiBfcHJvY2Vzc19jbG9zZV9tZXNzYWdlKHNlbGYsIG1lc3Nh
Z2UpOgorICAgICAgICAiIiJQcm9jZXNzZXMgY2xvc2UgbWVzc2FnZS4KKworICAgICAgICBBcmdz
OgorICAgICAgICAgICAgbWVzc2FnZTogY2xvc2UgbWVzc2FnZS4KKworICAgICAgICBSYWlzZXM6
CisgICAgICAgICAgICBJbnZhbGlkRnJhbWVFeGNlcHRpb246IHdoZW4gdGhlIG1lc3NhZ2UgaXMg
aW52YWxpZC4KKyAgICAgICAgIiIiCisKKyAgICAgICAgc2VsZi5fcmVxdWVzdC5jbGllbnRfdGVy
bWluYXRlZCA9IFRydWUKKworICAgICAgICAjIFN0YXR1cyBjb2RlIGlzIG9wdGlvbmFsLiBXZSBj
YW4gaGF2ZSBzdGF0dXMgcmVhc29uIG9ubHkgaWYgd2UKKyAgICAgICAgIyBoYXZlIHN0YXR1cyBj
b2RlLiBTdGF0dXMgcmVhc29uIGNhbiBiZSBlbXB0eSBzdHJpbmcuIFNvLAorICAgICAgICAjIGFs
bG93ZWQgY2FzZXMgYXJlCisgICAgICAgICMgLSBubyBhcHBsaWNhdGlvbiBkYXRhOiBubyBjb2Rl
IG5vIHJlYXNvbgorICAgICAgICAjIC0gMiBvY3RldCBvZiBhcHBsaWNhdGlvbiBkYXRhOiBoYXMg
Y29kZSBidXQgbm8gcmVhc29uCisgICAgICAgICMgLSAzIG9yIG1vcmUgb2N0ZXQgb2YgYXBwbGlj
YXRpb24gZGF0YTogYm90aCBjb2RlIGFuZCByZWFzb24KKyAgICAgICAgaWYgbGVuKG1lc3NhZ2Up
ID09IDA6CisgICAgICAgICAgICBzZWxmLl9sb2dnZXIuZGVidWcoJ1JlY2VpdmVkIGNsb3NlIGZy
YW1lIChlbXB0eSBib2R5KScpCisgICAgICAgICAgICBzZWxmLl9yZXF1ZXN0LndzX2Nsb3NlX2Nv
ZGUgPSBjb21tb24uU1RBVFVTX05PX1NUQVRVU19SRUNFSVZFRAorICAgICAgICBlbGlmIGxlbiht
ZXNzYWdlKSA9PSAxOgorICAgICAgICAgICAgcmFpc2UgSW52YWxpZEZyYW1lRXhjZXB0aW9uKAor
ICAgICAgICAgICAgICAgICdJZiBhIGNsb3NlIGZyYW1lIGhhcyBzdGF0dXMgY29kZSwgdGhlIGxl
bmd0aCBvZiAnCisgICAgICAgICAgICAgICAgJ3N0YXR1cyBjb2RlIG11c3QgYmUgMiBvY3RldCcp
CisgICAgICAgIGVsaWYgbGVuKG1lc3NhZ2UpID49IDI6CisgICAgICAgICAgICBzZWxmLl9yZXF1
ZXN0LndzX2Nsb3NlX2NvZGUgPSBzdHJ1Y3QudW5wYWNrKCchSCcsIG1lc3NhZ2VbMDoyXSlbMF0K
KyAgICAgICAgICAgIHNlbGYuX3JlcXVlc3Qud3NfY2xvc2VfcmVhc29uID0gbWVzc2FnZVsyOl0u
ZGVjb2RlKAorICAgICAgICAgICAgICAgICd1dGYtOCcsICdyZXBsYWNlJykKKyAgICAgICAgICAg
IHNlbGYuX2xvZ2dlci5kZWJ1ZygnUmVjZWl2ZWQgY2xvc2UgZnJhbWUgKGNvZGU9JWQsIHJlYXNv
bj0lciknLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3JlcXVlc3Qud3Nf
Y2xvc2VfY29kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9yZXF1ZXN0
LndzX2Nsb3NlX3JlYXNvbikKKworICAgICAgICAjIEFzIHdlJ3ZlIHJlY2VpdmVkIGEgY2xvc2Ug
ZnJhbWUsIG5vIG1vcmUgZGF0YSBpcyBjb21pbmcgb3ZlciB0aGUKKyAgICAgICAgIyBzb2NrZXQu
IFdlIGNhbiBub3cgc2FmZWx5IGNsb3NlIHRoZSBzb2NrZXQgd2l0aG91dCB3b3JyeWluZyBhYm91
dAorICAgICAgICAjIFJTVCBzZW5kaW5nLgorCisgICAgICAgIGlmIHNlbGYuX3JlcXVlc3Quc2Vy
dmVyX3Rlcm1pbmF0ZWQ6CisgICAgICAgICAgICBzZWxmLl9sb2dnZXIuZGVidWcoCisgICAgICAg
ICAgICAgICAgJ1JlY2VpdmVkIGFjayBmb3Igc2VydmVyLWluaXRpYXRlZCBjbG9zaW5nIGhhbmRz
aGFrZScpCisgICAgICAgICAgICByZXR1cm4KKworICAgICAgICBzZWxmLl9sb2dnZXIuZGVidWco
J1JlY2VpdmVkIGNsaWVudC1pbml0aWF0ZWQgY2xvc2luZyBoYW5kc2hha2UnKQorCisgICAgICAg
IGNvZGUgPSBjb21tb24uU1RBVFVTX05PUk1BTF9DTE9TVVJFCisgICAgICAgIHJlYXNvbiA9ICcn
CisgICAgICAgIGlmIGhhc2F0dHIoc2VsZi5fcmVxdWVzdCwgJ19kaXNwYXRjaGVyJyk6CisgICAg
ICAgICAgICBkaXNwYXRjaGVyID0gc2VsZi5fcmVxdWVzdC5fZGlzcGF0Y2hlcgorICAgICAgICAg
ICAgY29kZSwgcmVhc29uID0gZGlzcGF0Y2hlci5wYXNzaXZlX2Nsb3NpbmdfaGFuZHNoYWtlKHNl
bGYuX3JlcXVlc3QpCisgICAgICAgICAgICBpZiBjb2RlIGlzIE5vbmUgYW5kIHJlYXNvbiBpcyBu
b3QgTm9uZSBhbmQgbGVuKHJlYXNvbikgPiAwOgorICAgICAgICAgICAgICAgIHNlbGYuX2xvZ2dl
ci53YXJuaW5nKAorICAgICAgICAgICAgICAgICAgICAnSGFuZGxlciBzcGVjaWZpZWQgcmVhc29u
IGRlc3BpdGUgY29kZSBiZWluZyBOb25lJykKKyAgICAgICAgICAgICAgICByZWFzb24gPSAnJwor
ICAgICAgICAgICAgaWYgcmVhc29uIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgcmVhc29uID0g
JycKKyAgICAgICAgc2VsZi5fc2VuZF9jbG9zaW5nX2hhbmRzaGFrZShjb2RlLCByZWFzb24pCisg
ICAgICAgIHNlbGYuX2xvZ2dlci5kZWJ1ZygKKyAgICAgICAgICAgICdBY2tub3dsZWRnZWQgY2xv
c2luZyBoYW5kc2hha2UgaW5pdGlhdGVkIGJ5IHRoZSBwZWVyICcKKyAgICAgICAgICAgICcoY29k
ZT0lciwgcmVhc29uPSVyKScsIGNvZGUsIHJlYXNvbikKKworICAgIGRlZiBfcHJvY2Vzc19waW5n
X21lc3NhZ2Uoc2VsZiwgbWVzc2FnZSk6CisgICAgICAgICIiIlByb2Nlc3NlcyBwaW5nIG1lc3Nh
Z2UuCisKKyAgICAgICAgQXJnczoKKyAgICAgICAgICAgIG1lc3NhZ2U6IHBpbmcgbWVzc2FnZS4K
KyAgICAgICAgIiIiCisKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgaGFuZGxlciA9IHNlbGYu
X3JlcXVlc3Qub25fcGluZ19oYW5kbGVyCisgICAgICAgICAgICBpZiBoYW5kbGVyOgorICAgICAg
ICAgICAgICAgIGhhbmRsZXIoc2VsZi5fcmVxdWVzdCwgbWVzc2FnZSkKKyAgICAgICAgICAgICAg
ICByZXR1cm4KKyAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgorICAgICAgICAgICAgcGFz
cworICAgICAgICBzZWxmLl9zZW5kX3BvbmcobWVzc2FnZSkKKworICAgIGRlZiBfcHJvY2Vzc19w
b25nX21lc3NhZ2Uoc2VsZiwgbWVzc2FnZSk6CisgICAgICAgICIiIlByb2Nlc3NlcyBwb25nIG1l
c3NhZ2UuCisKKyAgICAgICAgQXJnczoKKyAgICAgICAgICAgIG1lc3NhZ2U6IHBvbmcgbWVzc2Fn
ZS4KKyAgICAgICAgIiIiCisKKyAgICAgICAgIyBUT0RPKHR5b3NoaW5vKTogQWRkIHBpbmcgdGlt
ZW91dCBoYW5kbGluZy4KKworICAgICAgICBpbmZsaWdodF9waW5ncyA9IGRlcXVlKCkKKworICAg
ICAgICB3aGlsZSBUcnVlOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIGV4cGVj
dGVkX2JvZHkgPSBzZWxmLl9waW5nX3F1ZXVlLnBvcGxlZnQoKQorICAgICAgICAgICAgICAgIGlm
IGV4cGVjdGVkX2JvZHkgPT0gbWVzc2FnZToKKyAgICAgICAgICAgICAgICAgICAgIyBpbmZsaWdo
dF9waW5ncyBjb250YWlucyBwaW5ncyBpZ25vcmVkIGJ5IHRoZQorICAgICAgICAgICAgICAgICAg
ICAjIG90aGVyIHBlZXIuIEp1c3QgZm9yZ2V0IHRoZW0uCisgICAgICAgICAgICAgICAgICAgIHNl
bGYuX2xvZ2dlci5kZWJ1ZygKKyAgICAgICAgICAgICAgICAgICAgICAgICdQaW5nICVyIGlzIGFj
a2VkICglZCBwaW5ncyB3ZXJlIGlnbm9yZWQpJywKKyAgICAgICAgICAgICAgICAgICAgICAgIGV4
cGVjdGVkX2JvZHksIGxlbihpbmZsaWdodF9waW5ncykpCisgICAgICAgICAgICAgICAgICAgIGJy
ZWFrCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgaW5mbGlnaHRf
cGluZ3MuYXBwZW5kKGV4cGVjdGVkX2JvZHkpCisgICAgICAgICAgICBleGNlcHQgSW5kZXhFcnJv
cjoKKyAgICAgICAgICAgICAgICAjIFRoZSByZWNlaXZlZCBwb25nIHdhcyB1bnNvbGljaXRlZCBw
b25nLiBLZWVwIHRoZQorICAgICAgICAgICAgICAgICMgcGluZyBxdWV1ZSBhcyBpcy4KKyAgICAg
ICAgICAgICAgICBzZWxmLl9waW5nX3F1ZXVlID0gaW5mbGlnaHRfcGluZ3MKKyAgICAgICAgICAg
ICAgICBzZWxmLl9sb2dnZXIuZGVidWcoJ1JlY2VpdmVkIGEgdW5zb2xpY2l0ZWQgcG9uZycpCisg
ICAgICAgICAgICAgICAgYnJlYWsKKworICAgICAgICB0cnk6CisgICAgICAgICAgICBoYW5kbGVy
ID0gc2VsZi5fcmVxdWVzdC5vbl9wb25nX2hhbmRsZXIKKyAgICAgICAgICAgIGlmIGhhbmRsZXI6
CisgICAgICAgICAgICAgICAgaGFuZGxlcihzZWxmLl9yZXF1ZXN0LCBtZXNzYWdlKQorICAgICAg
ICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisgICAgICAgICAgICBwYXNzCisKKyAgICBkZWYgcmVj
ZWl2ZV9tZXNzYWdlKHNlbGYpOgorICAgICAgICAiIiJSZWNlaXZlIGEgV2ViU29ja2V0IGZyYW1l
IGFuZCByZXR1cm4gaXRzIHBheWxvYWQgYXMgYSB0ZXh0IGluCisgICAgICAgIHVuaWNvZGUgb3Ig
YSBiaW5hcnkgaW4gc3RyLgorCisgICAgICAgIFJldHVybnM6CisgICAgICAgICAgICBwYXlsb2Fk
IGRhdGEgb2YgdGhlIGZyYW1lCisgICAgICAgICAgICAtIGFzIHVuaWNvZGUgaW5zdGFuY2UgaWYg
cmVjZWl2ZWQgdGV4dCBmcmFtZQorICAgICAgICAgICAgLSBhcyBzdHIgaW5zdGFuY2UgaWYgcmVj
ZWl2ZWQgYmluYXJ5IGZyYW1lCisgICAgICAgICAgICBvciBOb25lIGlmZiByZWNlaXZlZCBjbG9z
aW5nIGhhbmRzaGFrZS4KKyAgICAgICAgUmFpc2VzOgorICAgICAgICAgICAgQmFkT3BlcmF0aW9u
RXhjZXB0aW9uOiB3aGVuIGNhbGxlZCBvbiBhIGNsaWVudC10ZXJtaW5hdGVkCisgICAgICAgICAg
ICAgICAgY29ubmVjdGlvbi4KKyAgICAgICAgICAgIENvbm5lY3Rpb25UZXJtaW5hdGVkRXhjZXB0
aW9uOiB3aGVuIHJlYWQgcmV0dXJucyBlbXB0eQorICAgICAgICAgICAgICAgIHN0cmluZy4KKyAg
ICAgICAgICAgIEludmFsaWRGcmFtZUV4Y2VwdGlvbjogd2hlbiB0aGUgZnJhbWUgY29udGFpbnMg
aW52YWxpZAorICAgICAgICAgICAgICAgIGRhdGEuCisgICAgICAgICAgICBVbnN1cHBvcnRlZEZy
YW1lRXhjZXB0aW9uOiB3aGVuIHRoZSByZWNlaXZlZCBmcmFtZSBoYXMKKyAgICAgICAgICAgICAg
ICBmbGFncywgb3Bjb2RlIHdlIGNhbm5vdCBoYW5kbGUuIFlvdSBjYW4gaWdub3JlIHRoaXMKKyAg
ICAgICAgICAgICAgICBleGNlcHRpb24gYW5kIGNvbnRpbnVlIHJlY2VpdmluZyB0aGUgbmV4dCBm
cmFtZS4KKyAgICAgICAgIiIiCisKKyAgICAgICAgaWYgc2VsZi5fcmVxdWVzdC5jbGllbnRfdGVy
bWluYXRlZDoKKyAgICAgICAgICAgIHJhaXNlIEJhZE9wZXJhdGlvbkV4Y2VwdGlvbigKKyAgICAg
ICAgICAgICAgICAnUmVxdWVzdGVkIHJlY2VpdmVfbWVzc2FnZSBhZnRlciByZWNlaXZpbmcgYSBj
bG9zaW5nICcKKyAgICAgICAgICAgICAgICAnaGFuZHNoYWtlJykKKworICAgICAgICB3aGlsZSBU
cnVlOgorICAgICAgICAgICAgIyBtcF9jb25uLnJlYWQgd2lsbCBibG9jayBpZiBubyBieXRlcyBh
cmUgYXZhaWxhYmxlLgorCisgICAgICAgICAgICBmcmFtZSA9IHNlbGYuX3JlY2VpdmVfZnJhbWVf
YXNfZnJhbWVfb2JqZWN0KCkKKworICAgICAgICAgICAgIyBDaGVjayB0aGUgY29uc3RyYWludCBv
biB0aGUgcGF5bG9hZCBzaXplIGZvciBjb250cm9sIGZyYW1lcworICAgICAgICAgICAgIyBiZWZv
cmUgZXh0ZW5zaW9uIHByb2Nlc3NlcyB0aGUgZnJhbWUuCisgICAgICAgICAgICAjIFNlZSBhbHNv
IGh0dHA6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzY0NTUjc2VjdGlvbi01LjUKKyAgICAgICAg
ICAgIGlmIChjb21tb24uaXNfY29udHJvbF9vcGNvZGUoZnJhbWUub3Bjb2RlKQorICAgICAgICAg
ICAgICAgICAgICBhbmQgbGVuKGZyYW1lLnBheWxvYWQpID4gMTI1KToKKyAgICAgICAgICAgICAg
ICByYWlzZSBJbnZhbGlkRnJhbWVFeGNlcHRpb24oCisgICAgICAgICAgICAgICAgICAgICdQYXls
b2FkIGRhdGEgc2l6ZSBvZiBjb250cm9sIGZyYW1lcyBtdXN0IGJlIDEyNSBieXRlcyBvciAnCisg
ICAgICAgICAgICAgICAgICAgICdsZXNzJykKKworICAgICAgICAgICAgZm9yIGZyYW1lX2ZpbHRl
ciBpbiBzZWxmLl9vcHRpb25zLmluY29taW5nX2ZyYW1lX2ZpbHRlcnM6CisgICAgICAgICAgICAg
ICAgZnJhbWVfZmlsdGVyLmZpbHRlcihmcmFtZSkKKworICAgICAgICAgICAgaWYgZnJhbWUucnN2
MSBvciBmcmFtZS5yc3YyIG9yIGZyYW1lLnJzdjM6CisgICAgICAgICAgICAgICAgcmFpc2UgVW5z
dXBwb3J0ZWRGcmFtZUV4Y2VwdGlvbigKKyAgICAgICAgICAgICAgICAgICAgJ1Vuc3VwcG9ydGVk
IGZsYWcgaXMgc2V0IChyc3YgPSAlZCVkJWQpJyAlCisgICAgICAgICAgICAgICAgICAgIChmcmFt
ZS5yc3YxLCBmcmFtZS5yc3YyLCBmcmFtZS5yc3YzKSkKKworICAgICAgICAgICAgbWVzc2FnZSA9
IHNlbGYuX2dldF9tZXNzYWdlX2Zyb21fZnJhbWUoZnJhbWUpCisgICAgICAgICAgICBpZiBtZXNz
YWdlIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgY29udGludWUKKworICAgICAgICAgICAgZm9y
IG1lc3NhZ2VfZmlsdGVyIGluIHNlbGYuX29wdGlvbnMuaW5jb21pbmdfbWVzc2FnZV9maWx0ZXJz
OgorICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlX2ZpbHRlci5maWx0ZXIobWVzc2Fn
ZSkKKworICAgICAgICAgICAgaWYgc2VsZi5fb3JpZ2luYWxfb3Bjb2RlID09IGNvbW1vbi5PUENP
REVfVEVYVDoKKyAgICAgICAgICAgICAgICAjIFRoZSBXZWJTb2NrZXQgcHJvdG9jb2wgc2VjdGlv
biA0LjQgc3BlY2lmaWVzIHRoYXQgaW52YWxpZAorICAgICAgICAgICAgICAgICMgY2hhcmFjdGVy
cyBtdXN0IGJlIHJlcGxhY2VkIHdpdGggVStmZmZkIFJFUExBQ0VNRU5UCisgICAgICAgICAgICAg
ICAgIyBDSEFSQUNURVIuCisgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gbWVzc2FnZS5kZWNvZGUoJ3V0Zi04JykKKyAgICAgICAgICAgICAgICBleGNlcHQg
VW5pY29kZURlY29kZUVycm9yIGFzIGU6CisgICAgICAgICAgICAgICAgICAgIHJhaXNlIEludmFs
aWRVVEY4RXhjZXB0aW9uKGUpCisgICAgICAgICAgICBlbGlmIHNlbGYuX29yaWdpbmFsX29wY29k
ZSA9PSBjb21tb24uT1BDT0RFX0JJTkFSWToKKyAgICAgICAgICAgICAgICByZXR1cm4gbWVzc2Fn
ZQorICAgICAgICAgICAgZWxpZiBzZWxmLl9vcmlnaW5hbF9vcGNvZGUgPT0gY29tbW9uLk9QQ09E
RV9DTE9TRToKKyAgICAgICAgICAgICAgICBzZWxmLl9wcm9jZXNzX2Nsb3NlX21lc3NhZ2UobWVz
c2FnZSkKKyAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICAgICAgZWxpZiBzZWxm
Ll9vcmlnaW5hbF9vcGNvZGUgPT0gY29tbW9uLk9QQ09ERV9QSU5HOgorICAgICAgICAgICAgICAg
IHNlbGYuX3Byb2Nlc3NfcGluZ19tZXNzYWdlKG1lc3NhZ2UpCisgICAgICAgICAgICBlbGlmIHNl
bGYuX29yaWdpbmFsX29wY29kZSA9PSBjb21tb24uT1BDT0RFX1BPTkc6CisgICAgICAgICAgICAg
ICAgc2VsZi5fcHJvY2Vzc19wb25nX21lc3NhZ2UobWVzc2FnZSkKKyAgICAgICAgICAgIGVsc2U6
CisgICAgICAgICAgICAgICAgcmFpc2UgVW5zdXBwb3J0ZWRGcmFtZUV4Y2VwdGlvbignT3Bjb2Rl
ICVkIGlzIG5vdCBzdXBwb3J0ZWQnICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHNlbGYuX29yaWdpbmFsX29wY29kZSkKKworICAgIGRlZiBfc2VuZF9j
bG9zaW5nX2hhbmRzaGFrZShzZWxmLCBjb2RlLCByZWFzb24pOgorICAgICAgICBib2R5ID0gY3Jl
YXRlX2Nsb3NpbmdfaGFuZHNoYWtlX2JvZHkoY29kZSwgcmVhc29uKQorICAgICAgICBmcmFtZSA9
IGNyZWF0ZV9jbG9zZV9mcmFtZSgKKyAgICAgICAgICAgIGJvZHksCisgICAgICAgICAgICBtYXNr
PXNlbGYuX29wdGlvbnMubWFza19zZW5kLAorICAgICAgICAgICAgZnJhbWVfZmlsdGVycz1zZWxm
Ll9vcHRpb25zLm91dGdvaW5nX2ZyYW1lX2ZpbHRlcnMpCisKKyAgICAgICAgc2VsZi5fcmVxdWVz
dC5zZXJ2ZXJfdGVybWluYXRlZCA9IFRydWUKKworICAgICAgICBzZWxmLl93cml0ZShmcmFtZSkK
KworICAgIGRlZiBjbG9zZV9jb25uZWN0aW9uKHNlbGYsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgY29kZT1jb21tb24uU1RBVFVTX05PUk1BTF9DTE9TVVJFLAorICAgICAgICAgICAgICAgICAg
ICAgICAgIHJlYXNvbj0nJywKKyAgICAgICAgICAgICAgICAgICAgICAgICB3YWl0X3Jlc3BvbnNl
PVRydWUpOgorICAgICAgICAiIiJDbG9zZXMgYSBXZWJTb2NrZXQgY29ubmVjdGlvbi4gTm90ZSB0
aGF0IHRoaXMgbWV0aG9kIGJsb2NrcyB1bnRpbAorICAgICAgICBpdCByZWNlaXZlcyBhY2tub3ds
ZWRnZW1lbnQgdG8gdGhlIGNsb3NpbmcgaGFuZHNoYWtlLgorCisgICAgICAgIEFyZ3M6CisgICAg
ICAgICAgICBjb2RlOiBTdGF0dXMgY29kZSBmb3IgY2xvc2UgZnJhbWUuIElmIGNvZGUgaXMgTm9u
ZSwgYSBjbG9zZQorICAgICAgICAgICAgICAgIGZyYW1lIHdpdGggZW1wdHkgYm9keSB3aWxsIGJl
IHNlbnQuCisgICAgICAgICAgICByZWFzb246IHN0cmluZyByZXByZXNlbnRpbmcgY2xvc2UgcmVh
c29uLgorICAgICAgICAgICAgd2FpdF9yZXNwb25zZTogVHJ1ZSB3aGVuIGNhbGxlciB3YW50IHRv
IHdhaXQgdGhlIHJlc3BvbnNlLgorICAgICAgICBSYWlzZXM6CisgICAgICAgICAgICBCYWRPcGVy
YXRpb25FeGNlcHRpb246IHdoZW4gcmVhc29uIGlzIHNwZWNpZmllZCB3aXRoIGNvZGUgTm9uZQor
ICAgICAgICAgICAgb3IgcmVhc29uIGlzIG5vdCBhbiBpbnN0YW5jZSBvZiBib3RoIHN0ciBhbmQg
dW5pY29kZS4KKyAgICAgICAgIiIiCisKKyAgICAgICAgaWYgc2VsZi5fcmVxdWVzdC5zZXJ2ZXJf
dGVybWluYXRlZDoKKyAgICAgICAgICAgIHNlbGYuX2xvZ2dlci5kZWJ1ZygKKyAgICAgICAgICAg
ICAgICAnUmVxdWVzdGVkIGNsb3NlX2Nvbm5lY3Rpb24gYnV0IHNlcnZlciBpcyBhbHJlYWR5IHRl
cm1pbmF0ZWQnKQorICAgICAgICAgICAgcmV0dXJuCisKKyAgICAgICAgIyBXaGVuIHdlIHJlY2Vp
dmUgYSBjbG9zZSBmcmFtZSwgd2UgY2FsbCBfcHJvY2Vzc19jbG9zZV9tZXNzYWdlKCkuCisgICAg
ICAgICMgX3Byb2Nlc3NfY2xvc2VfbWVzc2FnZSgpIGltbWVkaWF0ZWx5IGFja25vd2xlZGdlcyB0
byB0aGUKKyAgICAgICAgIyBzZXJ2ZXItaW5pdGlhdGVkIGNsb3NpbmcgaGFuZHNoYWtlIGFuZCBz
ZXRzIHNlcnZlcl90ZXJtaW5hdGVkIHRvCisgICAgICAgICMgVHJ1ZS4gU28sIGhlcmUgd2UgY2Fu
IGFzc3VtZSB0aGF0IHdlIGhhdmVuJ3QgcmVjZWl2ZWQgYW55IGNsb3NlCisgICAgICAgICMgZnJh
bWUuIFdlJ3JlIGluaXRpYXRpbmcgYSBjbG9zaW5nIGhhbmRzaGFrZS4KKworICAgICAgICBpZiBj
b2RlIGlzIE5vbmU6CisgICAgICAgICAgICBpZiByZWFzb24gaXMgbm90IE5vbmUgYW5kIGxlbihy
ZWFzb24pID4gMDoKKyAgICAgICAgICAgICAgICByYWlzZSBCYWRPcGVyYXRpb25FeGNlcHRpb24o
CisgICAgICAgICAgICAgICAgICAgICdjbG9zZSByZWFzb24gbXVzdCBub3QgYmUgc3BlY2lmaWVk
IGlmIGNvZGUgaXMgTm9uZScpCisgICAgICAgICAgICByZWFzb24gPSAnJworICAgICAgICBlbHNl
OgorICAgICAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UocmVhc29uLCBieXRlcykgYW5kIG5vdCBp
c2luc3RhbmNlKAorICAgICAgICAgICAgICAgICAgICByZWFzb24sIHNpeC50ZXh0X3R5cGUpOgor
ICAgICAgICAgICAgICAgIHJhaXNlIEJhZE9wZXJhdGlvbkV4Y2VwdGlvbigKKyAgICAgICAgICAg
ICAgICAgICAgJ2Nsb3NlIHJlYXNvbiBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIGJ5dGVzIG9yIHVu
aWNvZGUnKQorCisgICAgICAgIHNlbGYuX3NlbmRfY2xvc2luZ19oYW5kc2hha2UoY29kZSwgcmVh
c29uKQorICAgICAgICBzZWxmLl9sb2dnZXIuZGVidWcoJ0luaXRpYXRlZCBjbG9zaW5nIGhhbmRz
aGFrZSAoY29kZT0lciwgcmVhc29uPSVyKScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b2RlLCByZWFzb24pCisKKyAgICAgICAgaWYgKGNvZGUgPT0gY29tbW9uLlNUQVRVU19HT0lOR19B
V0FZCisgICAgICAgICAgICAgICAgb3IgY29kZSA9PSBjb21tb24uU1RBVFVTX1BST1RPQ09MX0VS
Uk9SKSBvciBub3Qgd2FpdF9yZXNwb25zZToKKyAgICAgICAgICAgICMgSXQgZG9lc24ndCBtYWtl
IHNlbnNlIHRvIHdhaXQgZm9yIGEgY2xvc2UgZnJhbWUgaWYgdGhlIHJlYXNvbiBpcworICAgICAg
ICAgICAgIyBwcm90b2NvbCBlcnJvciBvciB0aGF0IHRoZSBzZXJ2ZXIgaXMgZ29pbmcgYXdheS4g
Rm9yIHNvbWUgb2YKKyAgICAgICAgICAgICMgb3RoZXIgcmVhc29ucywgaXQgbWlnaHQgbm90IG1h
a2Ugc2Vuc2UgdG8gd2FpdCBmb3IgYSBjbG9zZSBmcmFtZSwKKyAgICAgICAgICAgICMgYnV0IGl0
J3Mgbm90IGNsZWFyLCB5ZXQuCisgICAgICAgICAgICByZXR1cm4KKworICAgICAgICAjIFRPRE8o
dWthaSk6IDIuIHdhaXQgdW50aWwgdGhlIC9jbGllbnQgdGVybWluYXRlZC8gZmxhZyBoYXMgYmVl
biBzZXQsCisgICAgICAgICMgb3IgdW50aWwgYSBzZXJ2ZXItZGVmaW5lZCB0aW1lb3V0IGV4cGly
ZXMuCisgICAgICAgICMKKyAgICAgICAgIyBGb3Igbm93LCB3ZSBleHBlY3QgcmVjZWl2aW5nIGNs
b3NpbmcgaGFuZHNoYWtlIHJpZ2h0IGFmdGVyIHNlbmRpbmcKKyAgICAgICAgIyBvdXQgY2xvc2lu
ZyBoYW5kc2hha2UuCisgICAgICAgIG1lc3NhZ2UgPSBzZWxmLnJlY2VpdmVfbWVzc2FnZSgpCisg
ICAgICAgIGlmIG1lc3NhZ2UgaXMgbm90IE5vbmU6CisgICAgICAgICAgICByYWlzZSBDb25uZWN0
aW9uVGVybWluYXRlZEV4Y2VwdGlvbigKKyAgICAgICAgICAgICAgICAnRGlkblwndCByZWNlaXZl
IHZhbGlkIGFjayBmb3IgY2xvc2luZyBoYW5kc2hha2UnKQorICAgICAgICAjIFRPRE86IDMuIGNs
b3NlIHRoZSBXZWJTb2NrZXQgY29ubmVjdGlvbi4KKyAgICAgICAgIyBub3RlOiBtb2RfcHl0aG9u
IENvbm5lY3Rpb24gKG1wX2Nvbm4pIGRvZXNuJ3QgaGF2ZSBjbG9zZSBtZXRob2QuCisKKyAgICBk
ZWYgc2VuZF9waW5nKHNlbGYsIGJvZHksIGJpbmFyeT1GYWxzZSk6CisgICAgICAgIGlmIG5vdCBi
aW5hcnkgYW5kIGlzaW5zdGFuY2UoYm9keSwgc2l4LnRleHRfdHlwZSk6CisgICAgICAgICAgICBi
b2R5ID0gYm9keS5lbmNvZGUoJ1VURi04JykKKyAgICAgICAgZnJhbWUgPSBjcmVhdGVfcGluZ19m
cmFtZShib2R5LCBzZWxmLl9vcHRpb25zLm1hc2tfc2VuZCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzZWxmLl9vcHRpb25zLm91dGdvaW5nX2ZyYW1lX2ZpbHRlcnMpCisgICAg
ICAgIHNlbGYuX3dyaXRlKGZyYW1lKQorCisgICAgICAgIHNlbGYuX3BpbmdfcXVldWUuYXBwZW5k
KGJvZHkpCisKKyAgICBkZWYgX3NlbmRfcG9uZyhzZWxmLCBib2R5KToKKyAgICAgICAgZnJhbWUg
PSBjcmVhdGVfcG9uZ19mcmFtZShib2R5LCBzZWxmLl9vcHRpb25zLm1hc2tfc2VuZCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9vcHRpb25zLm91dGdvaW5nX2ZyYW1l
X2ZpbHRlcnMpCisgICAgICAgIHNlbGYuX3dyaXRlKGZyYW1lKQorCisgICAgZGVmIGdldF9sYXN0
X3JlY2VpdmVkX29wY29kZShzZWxmKToKKyAgICAgICAgIiIiUmV0dXJucyB0aGUgb3Bjb2RlIG9m
IHRoZSBXZWJTb2NrZXQgbWVzc2FnZSB3aGljaCB0aGUgbGFzdCByZWNlaXZlZAorICAgICAgICBm
cmFtZSBiZWxvbmdzIHRvLiBUaGUgcmV0dXJuIHZhbHVlIGlzIHZhbGlkIGlmZiBpbW1lZGlhdGVs
eSBhZnRlcgorICAgICAgICByZWNlaXZlX21lc3NhZ2UgY2FsbC4KKyAgICAgICAgIiIiCisKKyAg
ICAgICAgcmV0dXJuIHNlbGYuX29yaWdpbmFsX29wY29kZQorCisKKyMgdmk6c3RzPTQgc3c9NCBl
dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvbW9kX3B5d2Vic29ja2V0L3V0aWwucHkg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJk
X3BhcnR5L3B5d2Vic29ja2V0My9tb2RfcHl3ZWJzb2NrZXQvdXRpbC5weQpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5l
MTY0ZTZiOGU0NjgyNDY3MTg3ZmMzODk0YjFjYTc5ZWM4MmE0MTNhCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGly
ZF9wYXJ0eS9weXdlYnNvY2tldDMvbW9kX3B5d2Vic29ja2V0L3V0aWwucHkKQEAgLTAsMCArMSw0
MDUgQEAKKyMgQ29weXJpZ2h0IDIwMTEsIEdvb2dsZSBJbmMuCisjIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisjIG1ldDoKKyMKKyMgICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyMgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlCisjIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyMgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorIyBkaXN0cmli
dXRpb24uCisjICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBu
YW1lcyBvZiBpdHMKKyMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyMgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworIyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAorIyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IKKyMgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyMgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisjIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKyMgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsCisjIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorIyBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorIiIiV2ViU29ja2V0IHV0aWxpdGllcy4iIiIKKworZnJv
bSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQKK2ltcG9ydCBhcnJheQoraW1wb3J0
IGVycm5vCitpbXBvcnQgbG9nZ2luZworaW1wb3J0IG9zCitpbXBvcnQgcmUKK2ltcG9ydCBzaXgK
K2Zyb20gc2l4Lm1vdmVzIGltcG9ydCBtYXAKK2Zyb20gc2l4Lm1vdmVzIGltcG9ydCByYW5nZQor
aW1wb3J0IHNvY2tldAoraW1wb3J0IHN0cnVjdAoraW1wb3J0IHpsaWIKKwordHJ5OgorICAgIGZy
b20gbW9kX3B5d2Vic29ja2V0IGltcG9ydCBmYXN0X21hc2tpbmcKK2V4Y2VwdCBJbXBvcnRFcnJv
cjoKKyAgICBwYXNzCisKKworZGVmIHByZXBlbmRfbWVzc2FnZV90b19leGNlcHRpb24obWVzc2Fn
ZSwgZXhjKToKKyAgICAiIiJQcmVwZW5kIG1lc3NhZ2UgdG8gdGhlIGV4Y2VwdGlvbi4iIiIKKyAg
ICBleGMuYXJncyA9IChtZXNzYWdlICsgc3RyKGV4YyksICkKKyAgICByZXR1cm4KKworCitkZWYg
X190cmFuc2xhdGVfaW50ZXJwKGludGVycCwgY3lnd2luX3BhdGgpOgorICAgICIiIlRyYW5zbGF0
ZSBpbnRlcnAgcHJvZ3JhbSBwYXRoIGZvciBXaW4zMiBweXRob24gdG8gcnVuIGN5Z3dpbiBwcm9n
cmFtCisgICAgKGUuZy4gcGVybCkuICBOb3RlIHRoYXQgaXQgZG9lc24ndCBzdXBwb3J0IHBhdGgg
dGhhdCBjb250YWlucyBzcGFjZSwKKyAgICB3aGljaCBpcyB0eXBpY2FsbHkgdHJ1ZSBmb3IgVW5p
eCwgd2hlcmUgIyEtc2NyaXB0IGlzIHdyaXR0ZW4uCisgICAgRm9yIFdpbjMyIHB5dGhvbiwgY3ln
d2luX3BhdGggaXMgYSBkaXJlY3Rvcnkgb2YgY3lnd2luIGJpbmFyaWVzLgorCisgICAgQXJnczoK
KyAgICAgIGludGVycDogaW50ZXJwIGNvbW1hbmQgbGluZQorICAgICAgY3lnd2luX3BhdGg6IGRp
cmVjdG9yeSBuYW1lIG9mIGN5Z3dpbiBiaW5hcnksIG9yIE5vbmUKKyAgICBSZXR1cm5zOgorICAg
ICAgdHJhbnNsYXRlZCBpbnRlcnAgY29tbWFuZCBsaW5lLgorICAgICIiIgorICAgIGlmIG5vdCBj
eWd3aW5fcGF0aDoKKyAgICAgICAgcmV0dXJuIGludGVycAorICAgIG0gPSByZS5tYXRjaCgnXlte
IF0qLyhbXiBdKykoIC4qKT8nLCBpbnRlcnApCisgICAgaWYgbToKKyAgICAgICAgY21kID0gb3Mu
cGF0aC5qb2luKGN5Z3dpbl9wYXRoLCBtLmdyb3VwKDEpKQorICAgICAgICByZXR1cm4gY21kICsg
bS5ncm91cCgyKQorICAgIHJldHVybiBpbnRlcnAKKworCitkZWYgZ2V0X3NjcmlwdF9pbnRlcnAo
c2NyaXB0X3BhdGgsIGN5Z3dpbl9wYXRoPU5vbmUpOgorICAgIHIiIiJHZXQgIyEtaW50ZXJwcmV0
ZXIgY29tbWFuZCBsaW5lIGZyb20gdGhlIHNjcmlwdC4KKworICAgIEl0IGFsc28gZml4ZXMgY29t
bWFuZCBwYXRoLiAgV2hlbiBDeWd3aW4gUHl0aG9uIGlzIHVzZWQsIGUuZy4gaW4gV2ViS2l0LAor
ICAgIGl0IGNvdWxkIHJ1biAiL3Vzci9iaW4vcGVybCAtd1QgaGVsbG8ucGwiLgorICAgIFdoZW4g
V2luMzIgUHl0aG9uIGlzIHVzZWQsIGUuZy4gaW4gQ2hyb21pdW0sIGl0IGNvdWxkbid0LiAgU28s
IGZpeAorICAgICIvdXNyL2Jpbi9wZXJsIiB0byAiPGN5Z3dpbl9wYXRoPlxwZXJsLmV4ZSIuCisK
KyAgICBBcmdzOgorICAgICAgc2NyaXB0X3BhdGg6IHBhdGhuYW1lIG9mIHRoZSBzY3JpcHQKKyAg
ICAgIGN5Z3dpbl9wYXRoOiBkaXJlY3RvcnkgbmFtZSBvZiBjeWd3aW4gYmluYXJ5LCBvciBOb25l
CisgICAgUmV0dXJuczoKKyAgICAgICMhLWludGVycHJldGVyIGNvbW1hbmQgbGluZSwgb3IgTm9u
ZSBpZiBpdCBpcyBub3QgIyEtc2NyaXB0LgorICAgICIiIgorICAgIGZwID0gb3BlbihzY3JpcHRf
cGF0aCkKKyAgICBsaW5lID0gZnAucmVhZGxpbmUoKQorICAgIGZwLmNsb3NlKCkKKyAgICBtID0g
cmUubWF0Y2goJ14jISguKiknLCBsaW5lKQorICAgIGlmIG06CisgICAgICAgIHJldHVybiBfX3Ry
YW5zbGF0ZV9pbnRlcnAobS5ncm91cCgxKSwgY3lnd2luX3BhdGgpCisgICAgcmV0dXJuIE5vbmUK
KworCitkZWYgd3JhcF9wb3BlbjNfZm9yX3dpbihjeWd3aW5fcGF0aCk6CisgICAgIiIiV3JhcCBw
b3BlbjMgdG8gc3VwcG9ydCAjIS1zY3JpcHQgb24gV2luZG93cy4KKworICAgIEFyZ3M6CisgICAg
ICBjeWd3aW5fcGF0aDogIHBhdGggZm9yIGN5Z3dpbiBiaW5hcnkgaWYgY29tbWFuZCBwYXRoIGlz
IG5lZWRlZCB0byBiZQorICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGVkLiAgTm9uZSBpZiBu
byB0cmFuc2xhdGlvbiByZXF1aXJlZC4KKyAgICAiIiIKKyAgICBfX29yaWdfcG9wZW4zID0gb3Mu
cG9wZW4zCisKKyAgICBkZWYgX193cmFwX3BvcGVuMyhjbWQsIG1vZGU9J3QnLCBidWZzaXplPS0x
KToKKyAgICAgICAgY21kbGluZSA9IGNtZC5zcGxpdCgnICcpCisgICAgICAgIGludGVycCA9IGdl
dF9zY3JpcHRfaW50ZXJwKGNtZGxpbmVbMF0sIGN5Z3dpbl9wYXRoKQorICAgICAgICBpZiBpbnRl
cnA6CisgICAgICAgICAgICBjbWQgPSBpbnRlcnAgKyAnICcgKyBjbWQKKyAgICAgICAgcmV0dXJu
IF9fb3JpZ19wb3BlbjMoY21kLCBtb2RlLCBidWZzaXplKQorCisgICAgb3MucG9wZW4zID0gX193
cmFwX3BvcGVuMworCisKK2RlZiBoZXhpZnkocyk6CisgICAgcmV0dXJuICcgJy5qb2luKFsnJTAy
eCcgJSB4IGZvciB4IGluIHNpeC5pdGVyYnl0ZXMocyldKQorCisKK2RlZiBnZXRfY2xhc3NfbG9n
Z2VyKG8pOgorICAgICIiIlJldHVybiB0aGUgbG9nZ2luZyBjbGFzcyBpbmZvcm1hdGlvbi4iIiIK
KyAgICByZXR1cm4gbG9nZ2luZy5nZXRMb2dnZXIoJyVzLiVzJyAlCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIChvLl9fY2xhc3NfXy5fX21vZHVsZV9fLCBvLl9fY2xhc3NfXy5fX25hbWVf
XykpCisKKworZGVmIHBhY2tfYnl0ZShiKToKKyAgICAiIiJQYWNrIGFuIGludGVnZXIgdG8gbmV0
d29yay1vcmRlcmVkIGJ5dGUiIiIKKyAgICByZXR1cm4gc3RydWN0LnBhY2soJyFCJywgYikKKwor
CitjbGFzcyBOb29wTWFza2VyKG9iamVjdCk6CisgICAgIiIiQSBOb09wIG1hc2tpbmcgb2JqZWN0
LgorCisgICAgVGhpcyBoYXMgdGhlIHNhbWUgaW50ZXJmYWNlIGFzIFJlcGVhdGVkWG9yTWFza2Vy
IGJ1dCBqdXN0IHJldHVybnMKKyAgICB0aGUgc3RyaW5nIHBhc3NlZCBpbiB3aXRob3V0IG1ha2lu
ZyBhbnkgY2hhbmdlLgorICAgICIiIgorICAgIGRlZiBfX2luaXRfXyhzZWxmKToKKyAgICAgICAg
IiIiTm9PcC4iIiIKKyAgICAgICAgcGFzcworCisgICAgZGVmIG1hc2soc2VsZiwgcyk6CisgICAg
ICAgICIiIk5vT3AuIiIiCisgICAgICAgIHJldHVybiBzCisKKworY2xhc3MgUmVwZWF0ZWRYb3JN
YXNrZXIob2JqZWN0KToKKyAgICAiIiJBIG1hc2tpbmcgb2JqZWN0IHRoYXQgYXBwbGllcyBYT1Ig
b24gdGhlIHN0cmluZy4KKworICAgIEFwcGxpZXMgWE9SIG9uIHRoZSBieXRlIHN0cmluZyBnaXZl
biB0byBtYXNrIG1ldGhvZCB3aXRoIHRoZSBtYXNraW5nIGJ5dGVzCisgICAgZ2l2ZW4gdG8gdGhl
IGNvbnN0cnVjdG9yIHJlcGVhdGVkbHkuIFRoaXMgb2JqZWN0IHJlbWVtYmVycyB0aGUgcG9zaXRp
b24KKyAgICBpbiB0aGUgbWFza2luZyBieXRlcyB0aGUgbGFzdCBtYXNrIG1ldGhvZCBjYWxsIGVu
ZGVkIGFuZCByZXN1bWVzIGZyb20KKyAgICB0aGF0IHBvaW50IG9uIHRoZSBuZXh0IG1hc2sgbWV0
aG9kIGNhbGwuCisgICAgIiIiCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIG1hc2tpbmdfa2V5KToK
KyAgICAgICAgc2VsZi5fbWFza2luZ19rZXkgPSBtYXNraW5nX2tleQorICAgICAgICBzZWxmLl9t
YXNraW5nX2tleV9pbmRleCA9IDAKKworICAgIGRlZiBfbWFza191c2luZ19zd2lnKHNlbGYsIHMp
OgorICAgICAgICAiIiJQZXJmb3JtIHRoZSBtYXNrIHZpYSBTV0lHLiIiIgorICAgICAgICBtYXNr
ZWRfZGF0YSA9IGZhc3RfbWFza2luZy5tYXNrKHMsIHNlbGYuX21hc2tpbmdfa2V5LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX21hc2tpbmdfa2V5X2luZGV4
KQorICAgICAgICBzZWxmLl9tYXNraW5nX2tleV9pbmRleCA9ICgoc2VsZi5fbWFza2luZ19rZXlf
aW5kZXggKyBsZW4ocykpICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVu
KHNlbGYuX21hc2tpbmdfa2V5KSkKKyAgICAgICAgcmV0dXJuIG1hc2tlZF9kYXRhCisKKyAgICBk
ZWYgX21hc2tfdXNpbmdfYXJyYXkoc2VsZiwgcyk6CisgICAgICAgICIiIlBlcmZvcm0gdGhlIG1h
c2sgdmlhIHB5dGhvbi4iIiIKKyAgICAgICAgaWYgaXNpbnN0YW5jZShzLCBzaXgudGV4dF90eXBl
KToKKyAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigKKyAgICAgICAgICAgICAgICAnTWFza2lu
ZyBPcGVyYXRpb24gc2hvdWxkIG5vdCBwcm9jZXNzIHVuaWNvZGUgc3RyaW5ncycpCisKKyAgICAg
ICAgcmVzdWx0ID0gYnl0ZWFycmF5KHMpCisKKyAgICAgICAgIyBVc2UgdGVtcG9yYXJ5IGxvY2Fs
IHZhcmlhYmxlcyB0byBlbGltaW5hdGUgdGhlIGNvc3QgdG8gYWNjZXNzCisgICAgICAgICMgYXR0
cmlidXRlcworICAgICAgICBtYXNraW5nX2tleSA9IFtjIGZvciBjIGluIHNpeC5pdGVyYnl0ZXMo
c2VsZi5fbWFza2luZ19rZXkpXQorICAgICAgICBtYXNraW5nX2tleV9zaXplID0gbGVuKG1hc2tp
bmdfa2V5KQorICAgICAgICBtYXNraW5nX2tleV9pbmRleCA9IHNlbGYuX21hc2tpbmdfa2V5X2lu
ZGV4CisKKyAgICAgICAgZm9yIGkgaW4gcmFuZ2UobGVuKHJlc3VsdCkpOgorICAgICAgICAgICAg
cmVzdWx0W2ldIF49IG1hc2tpbmdfa2V5W21hc2tpbmdfa2V5X2luZGV4XQorICAgICAgICAgICAg
bWFza2luZ19rZXlfaW5kZXggPSAobWFza2luZ19rZXlfaW5kZXggKyAxKSAlIG1hc2tpbmdfa2V5
X3NpemUKKworICAgICAgICBzZWxmLl9tYXNraW5nX2tleV9pbmRleCA9IG1hc2tpbmdfa2V5X2lu
ZGV4CisKKyAgICAgICAgcmV0dXJuIGJ5dGVzKHJlc3VsdCkKKworICAgIGlmICdmYXN0X21hc2tp
bmcnIGluIGdsb2JhbHMoKToKKyAgICAgICAgbWFzayA9IF9tYXNrX3VzaW5nX3N3aWcKKyAgICBl
bHNlOgorICAgICAgICBtYXNrID0gX21hc2tfdXNpbmdfYXJyYXkKKworCisjIEJ5IG1ha2luZyB3
Yml0cyBvcHRpb24gbmVnYXRpdmUsIHdlIGNhbiBzdXBwcmVzcyBDTUYvRkxHICgyIG9jdGV0KSBh
bmQKKyMgQURMRVIzMiAoNCBvY3RldCkgZmllbGRzIG9mIHpsaWIgc28gdGhhdCB3ZSBjYW4gdXNl
IHpsaWIgbW9kdWxlIGp1c3QgYXMKKyMgZGVmbGF0ZSBsaWJyYXJ5LiBESUNUSUQgd29uJ3QgYmUg
YWRkZWQgYXMgZmFyIGFzIHdlIGRvbid0IHNldCBkaWN0aW9uYXJ5LgorIyBMWjc3IHdpbmRvdyBv
ZiAzMksgd2lsbCBiZSB1c2VkIGZvciBib3RoIGNvbXByZXNzaW9uIGFuZCBkZWNvbXByZXNzaW9u
LgorIyBGb3IgZGVjb21wcmVzc2lvbiwgd2UgY2FuIGp1c3QgdXNlIDMySyB0byBjb3ZlciBhbnkg
d2luZG93cyBzaXplLiBGb3IKKyMgY29tcHJlc3Npb24sIHdlIHVzZSAzMksgc28gcmVjZWl2ZXJz
IG11c3QgdXNlIDMySy4KKyMKKyMgQ29tcHJlc3Npb24gbGV2ZWwgaXMgWl9ERUZBVUxUX0NPTVBS
RVNTSU9OLiBXZSBkb24ndCBoYXZlIHRvIG1hdGNoIGxldmVsCisjIHRvIGRlY29kZS4KKyMKKyMg
U2VlIHpjb25mLmgsIGRlZmxhdGUuY2MsIGluZmxhdGUuY2Mgb2YgemxpYiBsaWJyYXJ5LCBhbmQg
emxpYm1vZHVsZS5jIG9mCisjIFB5dGhvbi4gU2VlIGFsc28gUkZDMTk1MCAoWkxJQiAzLjMpLgor
CisKK2NsYXNzIF9EZWZsYXRlcihvYmplY3QpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCB3aW5k
b3dfYml0cyk6CisgICAgICAgIHNlbGYuX2xvZ2dlciA9IGdldF9jbGFzc19sb2dnZXIoc2VsZikK
KworICAgICAgICAjIFVzaW5nIHRoZSBzbWFsbGVzdCB3aW5kb3cgYml0cyBvZiA5IGZvciBnZW5l
cmF0aW5nIGlucHV0IGZyYW1lcy4KKyAgICAgICAgIyBPbiBXZWJTb2NrZXQgc3BlYywgdGhlIHNt
YWxsZXN0IHdpbmRvdyBiaXQgaXMgOC4gSG93ZXZlciwgemxpYiBkb2VzCisgICAgICAgICMgbm90
IGFjY2VwdCB3aW5kb3dfYml0ID0gOC4KKyAgICAgICAgIworICAgICAgICAjIEJlY2F1c2Ugb2Yg
YSB6bGliIGRlZmxhdGUgcXVpcmssIGJhY2stcmVmZXJlbmNlcyB3aWxsIG5vdCB1c2UgdGhlCisg
ICAgICAgICMgZW50aXJlIHJhbmdlIG9mIDEgPDwgd2luZG93X2JpdHMsIGJ1dCB3aWxsIGluc3Rl
YWQgdXNlIGEgcmVzdHJpY3RlZAorICAgICAgICAjIHJhbmdlIG9mICgxIDw8IHdpbmRvd19iaXRz
KSAtIDI2Mi4gV2l0aCBhbiBpbmNyZWFzZWQgd2luZG93X2JpdHMgPSA5LAorICAgICAgICAjIGJh
Y2stcmVmZXJlbmNlcyB3aWxsIGJlIHdpdGhpbiBhIHJhbmdlIG9mIDI1MC4gVGhlc2UgY2FuIHN0
aWxsIGJlCisgICAgICAgICMgZGVjb21wcmVzc2VkIHdpdGggd2luZG93X2JpdHMgPSA4IGFuZCB0
aGUgMjU2LWJ5dGUgd2luZG93IHVzZWQgdGhlcmUuCisgICAgICAgICMKKyAgICAgICAgIyBTaW1p
bGFyIGRpc3NjdXNzaW9ucyBjYW4gYmUgZm91bmQgaW4gaHR0cHM6Ly9jcmJ1Zy5jb20vNjkxMDc0
CisgICAgICAgIHdpbmRvd19iaXRzID0gbWF4KHdpbmRvd19iaXRzLCA5KQorCisgICAgICAgIHNl
bGYuX2NvbXByZXNzID0gemxpYi5jb21wcmVzc29iaih6bGliLlpfREVGQVVMVF9DT01QUkVTU0lP
TiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHpsaWIuREVGTEFU
RUQsIC13aW5kb3dfYml0cykKKworICAgIGRlZiBjb21wcmVzcyhzZWxmLCBieXRlcyk6CisgICAg
ICAgIGNvbXByZXNzZWRfYnl0ZXMgPSBzZWxmLl9jb21wcmVzcy5jb21wcmVzcyhieXRlcykKKyAg
ICAgICAgc2VsZi5fbG9nZ2VyLmRlYnVnKCdDb21wcmVzcyBpbnB1dCAlcicsIGJ5dGVzKQorICAg
ICAgICBzZWxmLl9sb2dnZXIuZGVidWcoJ0NvbXByZXNzIHJlc3VsdCAlcicsIGNvbXByZXNzZWRf
Ynl0ZXMpCisgICAgICAgIHJldHVybiBjb21wcmVzc2VkX2J5dGVzCisKKyAgICBkZWYgY29tcHJl
c3NfYW5kX2ZsdXNoKHNlbGYsIGJ5dGVzKToKKyAgICAgICAgY29tcHJlc3NlZF9ieXRlcyA9IHNl
bGYuX2NvbXByZXNzLmNvbXByZXNzKGJ5dGVzKQorICAgICAgICBjb21wcmVzc2VkX2J5dGVzICs9
IHNlbGYuX2NvbXByZXNzLmZsdXNoKHpsaWIuWl9TWU5DX0ZMVVNIKQorICAgICAgICBzZWxmLl9s
b2dnZXIuZGVidWcoJ0NvbXByZXNzIGlucHV0ICVyJywgYnl0ZXMpCisgICAgICAgIHNlbGYuX2xv
Z2dlci5kZWJ1ZygnQ29tcHJlc3MgcmVzdWx0ICVyJywgY29tcHJlc3NlZF9ieXRlcykKKyAgICAg
ICAgcmV0dXJuIGNvbXByZXNzZWRfYnl0ZXMKKworICAgIGRlZiBjb21wcmVzc19hbmRfZmluaXNo
KHNlbGYsIGJ5dGVzKToKKyAgICAgICAgY29tcHJlc3NlZF9ieXRlcyA9IHNlbGYuX2NvbXByZXNz
LmNvbXByZXNzKGJ5dGVzKQorICAgICAgICBjb21wcmVzc2VkX2J5dGVzICs9IHNlbGYuX2NvbXBy
ZXNzLmZsdXNoKHpsaWIuWl9GSU5JU0gpCisgICAgICAgIHNlbGYuX2xvZ2dlci5kZWJ1ZygnQ29t
cHJlc3MgaW5wdXQgJXInLCBieXRlcykKKyAgICAgICAgc2VsZi5fbG9nZ2VyLmRlYnVnKCdDb21w
cmVzcyByZXN1bHQgJXInLCBjb21wcmVzc2VkX2J5dGVzKQorICAgICAgICByZXR1cm4gY29tcHJl
c3NlZF9ieXRlcworCisKK2NsYXNzIF9JbmZsYXRlcihvYmplY3QpOgorICAgIGRlZiBfX2luaXRf
XyhzZWxmLCB3aW5kb3dfYml0cyk6CisgICAgICAgIHNlbGYuX2xvZ2dlciA9IGdldF9jbGFzc19s
b2dnZXIoc2VsZikKKyAgICAgICAgc2VsZi5fd2luZG93X2JpdHMgPSB3aW5kb3dfYml0cworCisg
ICAgICAgIHNlbGYuX3VuY29uc3VtZWQgPSBiJycKKworICAgICAgICBzZWxmLnJlc2V0KCkKKwor
ICAgIGRlZiBkZWNvbXByZXNzKHNlbGYsIHNpemUpOgorICAgICAgICBpZiBub3QgKHNpemUgPT0g
LTEgb3Igc2l6ZSA+IDApOgorICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCdzaXplIG11c3Qg
YmUgLTEgb3IgcG9zaXRpdmUnKQorCisgICAgICAgIGRhdGEgPSBiJycKKworICAgICAgICB3aGls
ZSBUcnVlOgorICAgICAgICAgICAgZGF0YSArPSBzZWxmLl9kZWNvbXByZXNzLmRlY29tcHJlc3Mo
c2VsZi5fdW5jb25zdW1lZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIG1heCgwLCBzaXplIC0gbGVuKGRhdGEpKSkKKyAgICAgICAgICAgIHNlbGYuX3Vu
Y29uc3VtZWQgPSBzZWxmLl9kZWNvbXByZXNzLnVuY29uc3VtZWRfdGFpbAorICAgICAgICAgICAg
aWYgc2VsZi5fZGVjb21wcmVzcy51bnVzZWRfZGF0YToKKyAgICAgICAgICAgICAgICAjIEVuY291
bnRlcmVkIGEgbGFzdCBibG9jayAoaS5lLiBhIGJsb2NrIHdpdGggQkZJTkFMID0gMSkgYW5kCisg
ICAgICAgICAgICAgICAgIyBmb3VuZCBhIG5ldyBzdHJlYW0gKHVudXNlZF9kYXRhKS4gV2UgY2Fu
bm90IHVzZSB0aGUgc2FtZQorICAgICAgICAgICAgICAgICMgemxpYi5EZWNvbXByZXNzIG9iamVj
dCBmb3IgdGhlIG5ldyBzdHJlYW0uIENyZWF0ZSBhIG5ldworICAgICAgICAgICAgICAgICMgRGVj
b21wcmVzcyBvYmplY3QgdG8gZGVjb21wcmVzcyB0aGUgbmV3IG9uZS4KKyAgICAgICAgICAgICAg
ICAjCisgICAgICAgICAgICAgICAgIyBJdCdzIGZpbmUgdG8gaWdub3JlIHVuY29uc3VtZWRfdGFp
bCBpZiB1bnVzZWRfZGF0YSBpcyBub3QKKyAgICAgICAgICAgICAgICAjIGVtcHR5LgorICAgICAg
ICAgICAgICAgIHNlbGYuX3VuY29uc3VtZWQgPSBzZWxmLl9kZWNvbXByZXNzLnVudXNlZF9kYXRh
CisgICAgICAgICAgICAgICAgc2VsZi5yZXNldCgpCisgICAgICAgICAgICAgICAgaWYgc2l6ZSA+
PSAwIGFuZCBsZW4oZGF0YSkgPT0gc2l6ZToKKyAgICAgICAgICAgICAgICAgICAgIyBkYXRhIGlz
IGZpbGxlZC4gRG9uJ3QgY2FsbCBkZWNvbXByZXNzIGFnYWluLgorICAgICAgICAgICAgICAgICAg
ICBicmVhaworICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICMgUmUt
aW52b2tlIERlY29tcHJlc3MuZGVjb21wcmVzcyB0byB0cnkgdG8gZGVjb21wcmVzcyBhbGwKKyAg
ICAgICAgICAgICAgICAgICAgIyBhdmFpbGFibGUgYnl0ZXMgYmVmb3JlIGludm9raW5nIHJlYWQg
d2hpY2ggYmxvY2tzIHVudGlsCisgICAgICAgICAgICAgICAgICAgICMgYW55IG5ldyBieXRlIGlz
IGF2YWlsYWJsZS4KKyAgICAgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgIGVs
c2U6CisgICAgICAgICAgICAgICAgIyBIZXJlLCBzaW5jZSB1bnVzZWRfZGF0YSBpcyBlbXB0eSwg
ZXZlbiBpZiB1bmNvbnN1bWVkX3RhaWwgaXMKKyAgICAgICAgICAgICAgICAjIG5vdCBlbXB0eSwg
Ynl0ZXMgb2YgcmVxdWVzdGVkIGxlbmd0aCBhcmUgYWxyZWFkeSBpbiBkYXRhLiBXZQorICAgICAg
ICAgICAgICAgICMgZG9uJ3QgaGF2ZSB0byAiY29udGludWUiIGhlcmUuCisgICAgICAgICAgICAg
ICAgYnJlYWsKKworICAgICAgICBpZiBkYXRhOgorICAgICAgICAgICAgc2VsZi5fbG9nZ2VyLmRl
YnVnKCdEZWNvbXByZXNzZWQgJXInLCBkYXRhKQorICAgICAgICByZXR1cm4gZGF0YQorCisgICAg
ZGVmIGFwcGVuZChzZWxmLCBkYXRhKToKKyAgICAgICAgc2VsZi5fbG9nZ2VyLmRlYnVnKCdBcHBl
bmRlZCAlcicsIGRhdGEpCisgICAgICAgIHNlbGYuX3VuY29uc3VtZWQgKz0gZGF0YQorCisgICAg
ZGVmIHJlc2V0KHNlbGYpOgorICAgICAgICBzZWxmLl9sb2dnZXIuZGVidWcoJ1Jlc2V0JykKKyAg
ICAgICAgc2VsZi5fZGVjb21wcmVzcyA9IHpsaWIuZGVjb21wcmVzc29iaigtc2VsZi5fd2luZG93
X2JpdHMpCisKKworIyBDb21wcmVzc2VzL2RlY29tcHJlc3NlcyBnaXZlbiBvY3RldHMgdXNpbmcg
dGhlIG1ldGhvZCBpbnRyb2R1Y2VkIGluIFJGQzE5NzkuCisKKworY2xhc3MgX1JGQzE5NzlEZWZs
YXRlcihvYmplY3QpOgorICAgICIiIkEgY29tcHJlc3NvciBjbGFzcyB0aGF0IGFwcGxpZXMgREVG
TEFURSB0byBnaXZlbiBieXRlIHNlcXVlbmNlIGFuZAorICAgIGZsdXNoZXMgdXNpbmcgdGhlIGFs
Z29yaXRobSBkZXNjcmliZWQgaW4gdGhlIFJGQzE5Nzkgc2VjdGlvbiAyLjEuCisgICAgIiIiCisg
ICAgZGVmIF9faW5pdF9fKHNlbGYsIHdpbmRvd19iaXRzLCBub19jb250ZXh0X3Rha2VvdmVyKToK
KyAgICAgICAgc2VsZi5fZGVmbGF0ZXIgPSBOb25lCisgICAgICAgIGlmIHdpbmRvd19iaXRzIGlz
IE5vbmU6CisgICAgICAgICAgICB3aW5kb3dfYml0cyA9IHpsaWIuTUFYX1dCSVRTCisgICAgICAg
IHNlbGYuX3dpbmRvd19iaXRzID0gd2luZG93X2JpdHMKKyAgICAgICAgc2VsZi5fbm9fY29udGV4
dF90YWtlb3ZlciA9IG5vX2NvbnRleHRfdGFrZW92ZXIKKworICAgIGRlZiBmaWx0ZXIoc2VsZiwg
Ynl0ZXMsIGVuZD1UcnVlLCBiZmluYWw9RmFsc2UpOgorICAgICAgICBpZiBzZWxmLl9kZWZsYXRl
ciBpcyBOb25lOgorICAgICAgICAgICAgc2VsZi5fZGVmbGF0ZXIgPSBfRGVmbGF0ZXIoc2VsZi5f
d2luZG93X2JpdHMpCisKKyAgICAgICAgaWYgYmZpbmFsOgorICAgICAgICAgICAgcmVzdWx0ID0g
c2VsZi5fZGVmbGF0ZXIuY29tcHJlc3NfYW5kX2ZpbmlzaChieXRlcykKKyAgICAgICAgICAgICMg
QWRkIGEgcGFkZGluZyBibG9jayB3aXRoIEJGSU5BTCA9IDAgYW5kIEJUWVBFID0gMC4KKyAgICAg
ICAgICAgIHJlc3VsdCA9IHJlc3VsdCArIHBhY2tfYnl0ZSgwKQorICAgICAgICAgICAgc2VsZi5f
ZGVmbGF0ZXIgPSBOb25lCisgICAgICAgICAgICByZXR1cm4gcmVzdWx0CisKKyAgICAgICAgcmVz
dWx0ID0gc2VsZi5fZGVmbGF0ZXIuY29tcHJlc3NfYW5kX2ZsdXNoKGJ5dGVzKQorICAgICAgICBp
ZiBlbmQ6CisgICAgICAgICAgICAjIFN0cmlwIGxhc3QgNCBvY3RldHMgd2hpY2ggaXMgTEVOIGFu
ZCBOTEVOIGZpZWxkIG9mIGEKKyAgICAgICAgICAgICMgbm9uLWNvbXByZXNzZWQgYmxvY2sgYWRk
ZWQgZm9yIFpfU1lOQ19GTFVTSC4KKyAgICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdFs6LTRdCisK
KyAgICAgICAgaWYgc2VsZi5fbm9fY29udGV4dF90YWtlb3ZlciBhbmQgZW5kOgorICAgICAgICAg
ICAgc2VsZi5fZGVmbGF0ZXIgPSBOb25lCisKKyAgICAgICAgcmV0dXJuIHJlc3VsdAorCisKK2Ns
YXNzIF9SRkMxOTc5SW5mbGF0ZXIob2JqZWN0KToKKyAgICAiIiJBIGRlY29tcHJlc3NvciBjbGFz
cyBhIGxhIFJGQzE5NzkuCisKKyAgICBBIGRlY29tcHJlc3NvciBjbGFzcyBmb3IgYnl0ZSBzZXF1
ZW5jZSBjb21wcmVzc2VkIGFuZCBmbHVzaGVkIGZvbGxvd2luZworICAgIHRoZSBhbGdvcml0aG0g
ZGVzY3JpYmVkIGluIHRoZSBSRkMxOTc5IHNlY3Rpb24gMi4xLgorICAgICIiIgorICAgIGRlZiBf
X2luaXRfXyhzZWxmLCB3aW5kb3dfYml0cz16bGliLk1BWF9XQklUUyk6CisgICAgICAgIHNlbGYu
X2luZmxhdGVyID0gX0luZmxhdGVyKHdpbmRvd19iaXRzKQorCisgICAgZGVmIGZpbHRlcihzZWxm
LCBieXRlcyk6CisgICAgICAgICMgUmVzdG9yZSBzdHJpcHBlZCBMRU4gYW5kIE5MRU4gZmllbGQg
b2YgYSBub24tY29tcHJlc3NlZCBibG9jayBhZGRlZAorICAgICAgICAjIGZvciBaX1NZTkNfRkxV
U0guCisgICAgICAgIHNlbGYuX2luZmxhdGVyLmFwcGVuZChieXRlcyArIGInXHgwMFx4MDBceGZm
XHhmZicpCisgICAgICAgIHJldHVybiBzZWxmLl9pbmZsYXRlci5kZWNvbXByZXNzKC0xKQorCisK
K2NsYXNzIERlZmxhdGVTb2NrZXQob2JqZWN0KToKKyAgICAiIiJBIHdyYXBwZXIgY2xhc3MgZm9y
IHNvY2tldCBvYmplY3QgdG8gaW50ZXJjZXB0IHNlbmQgYW5kIHJlY3YgdG8gcGVyZm9ybQorICAg
IGRlZmxhdGUgY29tcHJlc3Npb24gYW5kIGRlY29tcHJlc3Npb24gdHJhbnNwYXJlbnRseS4KKyAg
ICAiIiIKKworICAgICMgU2l6ZSBvZiB0aGUgYnVmZmVyIHBhc3NlZCB0byByZWN2IHRvIHJlY2Vp
dmUgY29tcHJlc3NlZCBkYXRhLgorICAgIF9SRUNWX1NJWkUgPSA0MDk2CisKKyAgICBkZWYgX19p
bml0X18oc2VsZiwgc29ja2V0KToKKyAgICAgICAgc2VsZi5fc29ja2V0ID0gc29ja2V0CisKKyAg
ICAgICAgc2VsZi5fbG9nZ2VyID0gZ2V0X2NsYXNzX2xvZ2dlcihzZWxmKQorCisgICAgICAgIHNl
bGYuX2RlZmxhdGVyID0gX0RlZmxhdGVyKHpsaWIuTUFYX1dCSVRTKQorICAgICAgICBzZWxmLl9p
bmZsYXRlciA9IF9JbmZsYXRlcih6bGliLk1BWF9XQklUUykKKworICAgIGRlZiByZWN2KHNlbGYs
IHNpemUpOgorICAgICAgICAiIiJSZWNlaXZlcyBkYXRhIGZyb20gdGhlIHNvY2tldCBzcGVjaWZp
ZWQgb24gdGhlIGNvbnN0cnVjdGlvbiB1cAorICAgICAgICB0byB0aGUgc3BlY2lmaWVkIHNpemUu
IE9uY2UgYW55IGRhdGEgaXMgYXZhaWxhYmxlLCByZXR1cm5zIGl0IGV2ZW4KKyAgICAgICAgaWYg
aXQncyBzbWFsbGVyIHRoYW4gdGhlIHNwZWNpZmllZCBzaXplLgorICAgICAgICAiIiIKKworICAg
ICAgICAjIFRPRE8odHlvc2hpbm8pOiBBbGxvdyBjYWxsIHdpdGggc2l6ZT0wLiBJdCBzaG91bGQg
YmxvY2sgdW50aWwgYW55CisgICAgICAgICMgZGVjb21wcmVzc2VkIGRhdGEgaXMgYXZhaWxhYmxl
LgorICAgICAgICBpZiBzaXplIDw9IDA6CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oJ05v
bi1wb3NpdGl2ZSBzaXplIHBhc3NlZCcpCisgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAg
ICBkYXRhID0gc2VsZi5faW5mbGF0ZXIuZGVjb21wcmVzcyhzaXplKQorICAgICAgICAgICAgaWYg
bGVuKGRhdGEpICE9IDA6CisgICAgICAgICAgICAgICAgcmV0dXJuIGRhdGEKKworICAgICAgICAg
ICAgcmVhZF9kYXRhID0gc2VsZi5fc29ja2V0LnJlY3YoRGVmbGF0ZVNvY2tldC5fUkVDVl9TSVpF
KQorICAgICAgICAgICAgaWYgbm90IHJlYWRfZGF0YToKKyAgICAgICAgICAgICAgICByZXR1cm4g
YicnCisgICAgICAgICAgICBzZWxmLl9pbmZsYXRlci5hcHBlbmQocmVhZF9kYXRhKQorCisgICAg
ZGVmIHNlbmRhbGwoc2VsZiwgYnl0ZXMpOgorICAgICAgICBzZWxmLnNlbmQoYnl0ZXMpCisKKyAg
ICBkZWYgc2VuZChzZWxmLCBieXRlcyk6CisgICAgICAgIHNlbGYuX3NvY2tldC5zZW5kYWxsKHNl
bGYuX2RlZmxhdGVyLmNvbXByZXNzX2FuZF9mbHVzaChieXRlcykpCisgICAgICAgIHJldHVybiBs
ZW4oYnl0ZXMpCisKKworIyB2aTpzdHM9NCBzdz00IGV0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vi
c29ja2V0My9tb2RfcHl3ZWJzb2NrZXQvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0
My9tb2RfcHl3ZWJzb2NrZXQvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDYxNDI1ZTExNGQx
NGQ4NmY4MWJjZDE0MWY2MmY3N2Q2NjRiOWNjZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3
ZWJzb2NrZXQzL21vZF9weXdlYnNvY2tldC93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDMxIEBA
CitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0Mg
cmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0
LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0
dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CisKK1RoZW4gcnVuIHRoZSBU
b29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0Rv
IE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9w
ZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMg
cmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBv
ZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My9tb2RfcHl3ZWJzb2NrZXQvX19pbml0X18ucHkK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJk
X3BhcnR5L3B5d2Vic29ja2V0My9tb2RfcHl3ZWJzb2NrZXQvX3N0cmVhbV9leGNlcHRpb25zLnB5
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGly
ZF9wYXJ0eS9weXdlYnNvY2tldDMvbW9kX3B5d2Vic29ja2V0L2NvbW1vbi5weQorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3
ZWJzb2NrZXQzL21vZF9weXdlYnNvY2tldC9kaXNwYXRjaC5weQorL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQz
L21vZF9weXdlYnNvY2tldC9leHRlbnNpb25zLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvbW9kX3B5
d2Vic29ja2V0L2Zhc3RfbWFza2luZy5pCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvbW9kX3B5d2Vic29j
a2V0L2h0dHBfaGVhZGVyX3V0aWwucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My9tb2RfcHl3ZWJzb2Nr
ZXQvbWVtb3JpemluZ2ZpbGUucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My9tb2RfcHl3ZWJzb2NrZXQv
bXNndXRpbC5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL21vZF9weXdlYnNvY2tldC9yZXF1ZXN0X2hh
bmRsZXIucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My9tb2RfcHl3ZWJzb2NrZXQvc2VydmVyX3V0aWwu
cHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3Ro
aXJkX3BhcnR5L3B5d2Vic29ja2V0My9tb2RfcHl3ZWJzb2NrZXQvc3RhbmRhbG9uZS5weQorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFy
dHkvcHl3ZWJzb2NrZXQzL21vZF9weXdlYnNvY2tldC9zdHJlYW0ucHkKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29j
a2V0My9tb2RfcHl3ZWJzb2NrZXQvdXRpbC5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL21vZF9weXdl
YnNvY2tldC93ZWJzb2NrZXRfc2VydmVyLnB5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0
My9tb2RfcHl3ZWJzb2NrZXQvd2Vic29ja2V0X3NlcnZlci5weSBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQz
L21vZF9weXdlYnNvY2tldC93ZWJzb2NrZXRfc2VydmVyLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRmOGNkMzkz
YzdlZTgwNjk2NzU3MTM2NjVkODViZTdkOTc2NTdiNzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5
L3B5d2Vic29ja2V0My9tb2RfcHl3ZWJzb2NrZXQvd2Vic29ja2V0X3NlcnZlci5weQpAQCAtMCww
ICsxLDI4NSBAQAorIyBDb3B5cmlnaHQgMjAyMCwgR29vZ2xlIEluYy4KKyMgQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyMgbWV0OgorIworIyAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorIyBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisjIGRp
c3RyaWJ1dGlvbi4KKyMgICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3Ig
dGhlIG5hbWVzIG9mIGl0cworIyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorIworIyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisjICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UCisjIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorIyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorIyBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyMg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorIyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisiIiJTdGFuZGFsb25lIFdlYnNvY2tldFNlcnZl
cgorCitUaGlzIGZpbGUgZGVhbHMgd2l0aCB0aGUgbWFpbiBtb2R1bGUgb2Ygc3RhbmRhbG9uZSBz
ZXJ2ZXIuIEFsdGhvdWdoIGl0IGlzIGZpbmUKK3RvIGltcG9ydCB0aGlzIGZpbGUgZGlyZWN0bHkg
dG8gdXNlIFdlYlNvY2tldFNlcnZlciwgaXQgaXMgc3Ryb25nbHkgcmVjb21tZW5kZWQKK3RvIHVz
ZSBzdGFuZGFsb25lLnB5LCBzaW5jZSBpdCBpcyBpbnRlbmRlZCB0byBhY3QgYXMgYSBza2VsZXRv
biBvZiB0aGlzIG1vZHVsZS4KKyIiIgorCitmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRl
X2ltcG9ydAorZnJvbSBzaXgubW92ZXMgaW1wb3J0IEJhc2VIVFRQU2VydmVyCitmcm9tIHNpeC5t
b3ZlcyBpbXBvcnQgc29ja2V0c2VydmVyCitpbXBvcnQgbG9nZ2luZworaW1wb3J0IHJlCitpbXBv
cnQgc2VsZWN0CitpbXBvcnQgc29ja2V0CitpbXBvcnQgc3NsCitpbXBvcnQgdGhyZWFkaW5nCitp
bXBvcnQgdHJhY2ViYWNrCisKK2Zyb20gbW9kX3B5d2Vic29ja2V0IGltcG9ydCBkaXNwYXRjaAor
ZnJvbSBtb2RfcHl3ZWJzb2NrZXQgaW1wb3J0IHV0aWwKK2Zyb20gbW9kX3B5d2Vic29ja2V0LnJl
cXVlc3RfaGFuZGxlciBpbXBvcnQgV2ViU29ja2V0UmVxdWVzdEhhbmRsZXIKKworCitkZWYgX2Fs
aWFzX2hhbmRsZXJzKGRpc3BhdGNoZXIsIHdlYnNvY2tfaGFuZGxlcnNfbWFwX2ZpbGUpOgorICAg
ICIiIlNldCBhbGlhc2VzIHNwZWNpZmllZCBpbiB3ZWJzb2NrX2hhbmRsZXJfbWFwX2ZpbGUgaW4g
ZGlzcGF0Y2hlci4KKworICAgIEFyZ3M6CisgICAgICAgIGRpc3BhdGNoZXI6IGRpc3BhdGNoLkRp
c3BhdGNoZXIgaW5zdGFuY2UKKyAgICAgICAgd2Vic29ja19oYW5kbGVyX21hcF9maWxlOiBhbGlh
cyBtYXAgZmlsZQorICAgICIiIgorCisgICAgd2l0aCBvcGVuKHdlYnNvY2tfaGFuZGxlcnNfbWFw
X2ZpbGUpIGFzIGY6CisgICAgICAgIGZvciBsaW5lIGluIGY6CisgICAgICAgICAgICBpZiBsaW5l
WzBdID09ICcjJyBvciBsaW5lLmlzc3BhY2UoKToKKyAgICAgICAgICAgICAgICBjb250aW51ZQor
ICAgICAgICAgICAgbSA9IHJlLm1hdGNoKCcoXFMrKVxzKyhcUyspJCcsIGxpbmUpCisgICAgICAg
ICAgICBpZiBub3QgbToKKyAgICAgICAgICAgICAgICBsb2dnaW5nLndhcm5pbmcoJ1dyb25nIGZv
cm1hdCBpbiBtYXAgZmlsZTonICsgbGluZSkKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAg
ICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIGRpc3BhdGNoZXIuYWRkX3Jlc291cmNlX3Bh
dGhfYWxpYXMobS5ncm91cCgxKSwgbS5ncm91cCgyKSkKKyAgICAgICAgICAgIGV4Y2VwdCBkaXNw
YXRjaC5EaXNwYXRjaEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgICAgIGxvZ2dpbmcuZXJy
b3Ioc3RyKGUpKQorCisKK2NsYXNzIFdlYlNvY2tldFNlcnZlcihzb2NrZXRzZXJ2ZXIuVGhyZWFk
aW5nTWl4SW4sIEJhc2VIVFRQU2VydmVyLkhUVFBTZXJ2ZXIpOgorICAgICIiIkhUVFBTZXJ2ZXIg
c3BlY2lhbGl6ZWQgZm9yIFdlYlNvY2tldC4iIiIKKworICAgICMgT3ZlcnJpZGVzIFNvY2tldFNl
cnZlci5UaHJlYWRpbmdNaXhJbi5kYWVtb25fdGhyZWFkcworICAgIGRhZW1vbl90aHJlYWRzID0g
VHJ1ZQorICAgICMgT3ZlcnJpZGVzIEJhc2VIVFRQU2VydmVyLkhUVFBTZXJ2ZXIuYWxsb3dfcmV1
c2VfYWRkcmVzcworICAgIGFsbG93X3JldXNlX2FkZHJlc3MgPSBUcnVlCisKKyAgICBkZWYgX19p
bml0X18oc2VsZiwgb3B0aW9ucyk6CisgICAgICAgICIiIk92ZXJyaWRlIFNvY2tldFNlcnZlci5U
Q1BTZXJ2ZXIuX19pbml0X18gdG8gc2V0IFNTTCBlbmFibGVkCisgICAgICAgIHNvY2tldCBvYmpl
Y3QgdG8gc2VsZi5zb2NrZXQgYmVmb3JlIHNlcnZlcl9iaW5kIGFuZCBzZXJ2ZXJfYWN0aXZhdGUs
CisgICAgICAgIGlmIG5lY2Vzc2FyeS4KKyAgICAgICAgIiIiCisKKyAgICAgICAgIyBTaGFyZSBh
IERpc3BhdGNoZXIgYW1vbmcgcmVxdWVzdCBoYW5kbGVycyB0byBzYXZlIHRpbWUgZm9yCisgICAg
ICAgICMgaW5zdGFudGlhdGlvbi4gIERpc3BhdGNoZXIgY2FuIGJlIHNoYXJlZCBiZWNhdXNlIGl0
IGlzIHRocmVhZC1zYWZlLgorICAgICAgICBvcHRpb25zLmRpc3BhdGNoZXIgPSBkaXNwYXRjaC5E
aXNwYXRjaGVyKAorICAgICAgICAgICAgb3B0aW9ucy53ZWJzb2NrX2hhbmRsZXJzLCBvcHRpb25z
LnNjYW5fZGlyLAorICAgICAgICAgICAgb3B0aW9ucy5hbGxvd19oYW5kbGVyc19vdXRzaWRlX3Jv
b3RfZGlyKQorICAgICAgICBpZiBvcHRpb25zLndlYnNvY2tfaGFuZGxlcnNfbWFwX2ZpbGU6Cisg
ICAgICAgICAgICBfYWxpYXNfaGFuZGxlcnMob3B0aW9ucy5kaXNwYXRjaGVyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIG9wdGlvbnMud2Vic29ja19oYW5kbGVyc19tYXBfZmlsZSkKKyAg
ICAgICAgd2FybmluZ3MgPSBvcHRpb25zLmRpc3BhdGNoZXIuc291cmNlX3dhcm5pbmdzKCkKKyAg
ICAgICAgaWYgd2FybmluZ3M6CisgICAgICAgICAgICBmb3Igd2FybmluZyBpbiB3YXJuaW5nczoK
KyAgICAgICAgICAgICAgICBsb2dnaW5nLndhcm5pbmcoJ1dhcm5pbmcgaW4gc291cmNlIGxvYWRp
bmc6ICVzJyAlIHdhcm5pbmcpCisKKyAgICAgICAgc2VsZi5fbG9nZ2VyID0gdXRpbC5nZXRfY2xh
c3NfbG9nZ2VyKHNlbGYpCisKKyAgICAgICAgc2VsZi5yZXF1ZXN0X3F1ZXVlX3NpemUgPSBvcHRp
b25zLnJlcXVlc3RfcXVldWVfc2l6ZQorICAgICAgICBzZWxmLl9fd3NfaXNfc2h1dF9kb3duID0g
dGhyZWFkaW5nLkV2ZW50KCkKKyAgICAgICAgc2VsZi5fX3dzX3NlcnZpbmcgPSBGYWxzZQorCisg
ICAgICAgIHNvY2tldHNlcnZlci5CYXNlU2VydmVyLl9faW5pdF9fKHNlbGYsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvcHRpb25zLnNlcnZlcl9ob3N0LCBvcHRp
b25zLnBvcnQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJT
b2NrZXRSZXF1ZXN0SGFuZGxlcikKKworICAgICAgICAjIEV4cG9zZSB0aGUgb3B0aW9ucyBvYmpl
Y3QgdG8gYWxsb3cgaGFuZGxlciBvYmplY3RzIGFjY2VzcyBpdC4gV2UgbmFtZQorICAgICAgICAj
IGl0IHdpdGggd2Vic29ja2V0XyBwcmVmaXggdG8gYXZvaWQgY29uZmxpY3QuCisgICAgICAgIHNl
bGYud2Vic29ja2V0X3NlcnZlcl9vcHRpb25zID0gb3B0aW9ucworCisgICAgICAgIHNlbGYuX2Ny
ZWF0ZV9zb2NrZXRzKCkKKyAgICAgICAgc2VsZi5zZXJ2ZXJfYmluZCgpCisgICAgICAgIHNlbGYu
c2VydmVyX2FjdGl2YXRlKCkKKworICAgIGRlZiBfY3JlYXRlX3NvY2tldHMoc2VsZik6CisgICAg
ICAgIHNlbGYuc2VydmVyX25hbWUsIHNlbGYuc2VydmVyX3BvcnQgPSBzZWxmLnNlcnZlcl9hZGRy
ZXNzCisgICAgICAgIHNlbGYuX3NvY2tldHMgPSBbXQorICAgICAgICBpZiBub3Qgc2VsZi5zZXJ2
ZXJfbmFtZToKKyAgICAgICAgICAgICMgT24gcGxhdGZvcm1zIHRoYXQgZG9lc24ndCBzdXBwb3J0
IElQdjYsIHRoZSBmaXJzdCBiaW5kIGZhaWxzLgorICAgICAgICAgICAgIyBPbiBwbGF0Zm9ybXMg
dGhhdCBzdXBwb3J0cyBJUHY2CisgICAgICAgICAgICAjIC0gSWYgaXQgYmluZHMgYm90aCBJUHY0
IGFuZCBJUHY2IG9uIGNhbGwgd2l0aCBBRl9JTkVUNiwgdGhlCisgICAgICAgICAgICAjICAgZmly
c3QgYmluZCBzdWNjZWVkcyBhbmQgdGhlIHNlY29uZCBmYWlscyAod2UnbGwgc2VlICdBZGRyZXNz
CisgICAgICAgICAgICAjICAgYWxyZWFkeSBpbiB1c2UnIGVycm9yKS4KKyAgICAgICAgICAgICMg
LSBJZiBpdCBiaW5kcyBvbmx5IElQdjYgb24gY2FsbCB3aXRoIEFGX0lORVQ2LCBib3RoIGNhbGwg
YXJlCisgICAgICAgICAgICAjICAgZXhwZWN0ZWQgdG8gc3VjY2VlZCB0byBsaXN0ZW4gYm90aCBw
cm90b2NvbC4KKyAgICAgICAgICAgIGFkZHJpbmZvX2FycmF5ID0gWyhzb2NrZXQuQUZfSU5FVDYs
IHNvY2tldC5TT0NLX1NUUkVBTSwgJycsICcnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICcnKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzb2NrZXQuQUZfSU5FVCwg
c29ja2V0LlNPQ0tfU1RSRUFNLCAnJywgJycsICcnKV0KKyAgICAgICAgZWxzZToKKyAgICAgICAg
ICAgIGFkZHJpbmZvX2FycmF5ID0gc29ja2V0LmdldGFkZHJpbmZvKHNlbGYuc2VydmVyX25hbWUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNl
cnZlcl9wb3J0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgc29ja2V0LkFGX1VOU1BFQywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHNvY2tldC5TT0NLX1NUUkVBTSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHNvY2tldC5JUFBST1RPX1RDUCkKKyAgICAgICAgZm9y
IGFkZHJpbmZvIGluIGFkZHJpbmZvX2FycmF5OgorICAgICAgICAgICAgc2VsZi5fbG9nZ2VyLmlu
Zm8oJ0NyZWF0ZSBzb2NrZXQgb246ICVyJywgYWRkcmluZm8pCisgICAgICAgICAgICBmYW1pbHks
IHNvY2t0eXBlLCBwcm90bywgY2Fub25uYW1lLCBzb2NrYWRkciA9IGFkZHJpbmZvCisgICAgICAg
ICAgICB0cnk6CisgICAgICAgICAgICAgICAgc29ja2V0XyA9IHNvY2tldC5zb2NrZXQoZmFtaWx5
LCBzb2NrdHlwZSkKKyAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAg
ICAgICAgICBzZWxmLl9sb2dnZXIuaW5mbygnU2tpcCBieSBmYWlsdXJlOiAlcicsIGUpCisgICAg
ICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgIHNlcnZlcl9vcHRpb25zID0gc2VsZi53
ZWJzb2NrZXRfc2VydmVyX29wdGlvbnMKKyAgICAgICAgICAgIGlmIHNlcnZlcl9vcHRpb25zLnVz
ZV90bHM6CisgICAgICAgICAgICAgICAgaWYgc2VydmVyX29wdGlvbnMudGxzX2NsaWVudF9hdXRo
OgorICAgICAgICAgICAgICAgICAgICBpZiBzZXJ2ZXJfb3B0aW9ucy50bHNfY2xpZW50X2NlcnRf
b3B0aW9uYWw6CisgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRfY2VydF8gPSBzc2wuQ0VS
VF9PUFRJT05BTAorICAgICAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAg
ICAgICAgY2xpZW50X2NlcnRfID0gc3NsLkNFUlRfUkVRVUlSRUQKKyAgICAgICAgICAgICAgICBl
bHNlOgorICAgICAgICAgICAgICAgICAgICBjbGllbnRfY2VydF8gPSBzc2wuQ0VSVF9OT05FCisg
ICAgICAgICAgICAgICAgc29ja2V0XyA9IHNzbC53cmFwX3NvY2tldCgKKyAgICAgICAgICAgICAg
ICAgICAgc29ja2V0XywKKyAgICAgICAgICAgICAgICAgICAga2V5ZmlsZT1zZXJ2ZXJfb3B0aW9u
cy5wcml2YXRlX2tleSwKKyAgICAgICAgICAgICAgICAgICAgY2VydGZpbGU9c2VydmVyX29wdGlv
bnMuY2VydGlmaWNhdGUsCisgICAgICAgICAgICAgICAgICAgIGNhX2NlcnRzPXNlcnZlcl9vcHRp
b25zLnRsc19jbGllbnRfY2EsCisgICAgICAgICAgICAgICAgICAgIGNlcnRfcmVxcz1jbGllbnRf
Y2VydF8pCisgICAgICAgICAgICBzZWxmLl9zb2NrZXRzLmFwcGVuZCgoc29ja2V0XywgYWRkcmlu
Zm8pKQorCisgICAgZGVmIHNlcnZlcl9iaW5kKHNlbGYpOgorICAgICAgICAiIiJPdmVycmlkZSBT
b2NrZXRTZXJ2ZXIuVENQU2VydmVyLnNlcnZlcl9iaW5kIHRvIGVuYWJsZSBtdWx0aXBsZQorICAg
ICAgICBzb2NrZXRzIGJpbmQuCisgICAgICAgICIiIgorCisgICAgICAgIGZhaWxlZF9zb2NrZXRz
ID0gW10KKworICAgICAgICBmb3Igc29ja2V0aW5mbyBpbiBzZWxmLl9zb2NrZXRzOgorICAgICAg
ICAgICAgc29ja2V0XywgYWRkcmluZm8gPSBzb2NrZXRpbmZvCisgICAgICAgICAgICBzZWxmLl9s
b2dnZXIuaW5mbygnQmluZCBvbjogJXInLCBhZGRyaW5mbykKKyAgICAgICAgICAgIGlmIHNlbGYu
YWxsb3dfcmV1c2VfYWRkcmVzczoKKyAgICAgICAgICAgICAgICBzb2NrZXRfLnNldHNvY2tvcHQo
c29ja2V0LlNPTF9TT0NLRVQsIHNvY2tldC5TT19SRVVTRUFERFIsIDEpCisgICAgICAgICAgICB0
cnk6CisgICAgICAgICAgICAgICAgc29ja2V0Xy5iaW5kKHNlbGYuc2VydmVyX2FkZHJlc3MpCisg
ICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CisgICAgICAgICAgICAgICAgc2VsZi5f
bG9nZ2VyLmluZm8oJ1NraXAgYnkgZmFpbHVyZTogJXInLCBlKQorICAgICAgICAgICAgICAgIHNv
Y2tldF8uY2xvc2UoKQorICAgICAgICAgICAgICAgIGZhaWxlZF9zb2NrZXRzLmFwcGVuZChzb2Nr
ZXRpbmZvKQorICAgICAgICAgICAgaWYgc2VsZi5zZXJ2ZXJfYWRkcmVzc1sxXSA9PSAwOgorICAg
ICAgICAgICAgICAgICMgVGhlIG9wZXJhdGluZyBzeXN0ZW0gYXNzaWducyB0aGUgYWN0dWFsIHBv
cnQgbnVtYmVyIGZvciBwb3J0CisgICAgICAgICAgICAgICAgIyBudW1iZXIgMC4gVGhpcyBjYXNl
LCB0aGUgc2Vjb25kIGFuZCBsYXRlciBzb2NrZXRzIHNob3VsZCB1c2UKKyAgICAgICAgICAgICAg
ICAjIHRoZSBzYW1lIHBvcnQgbnVtYmVyLiBBbHNvIHNlbGYuc2VydmVyX3BvcnQgaXMgcmV3cml0
dGVuCisgICAgICAgICAgICAgICAgIyBiZWNhdXNlIGl0IGlzIGV4cG9ydGVkLCBhbmQgd2lsbCBi
ZSB1c2VkIGJ5IGV4dGVybmFsIGNvZGUuCisgICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXJfYWRk
cmVzcyA9IChzZWxmLnNlcnZlcl9uYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc29ja2V0Xy5nZXRzb2NrbmFtZSgpWzFdKQorICAgICAgICAgICAgICAgIHNlbGYu
c2VydmVyX3BvcnQgPSBzZWxmLnNlcnZlcl9hZGRyZXNzWzFdCisgICAgICAgICAgICAgICAgc2Vs
Zi5fbG9nZ2VyLmluZm8oJ1BvcnQgJXIgaXMgYXNzaWduZWQnLCBzZWxmLnNlcnZlcl9wb3J0KQor
CisgICAgICAgIGZvciBzb2NrZXRpbmZvIGluIGZhaWxlZF9zb2NrZXRzOgorICAgICAgICAgICAg
c2VsZi5fc29ja2V0cy5yZW1vdmUoc29ja2V0aW5mbykKKworICAgIGRlZiBzZXJ2ZXJfYWN0aXZh
dGUoc2VsZik6CisgICAgICAgICIiIk92ZXJyaWRlIFNvY2tldFNlcnZlci5UQ1BTZXJ2ZXIuc2Vy
dmVyX2FjdGl2YXRlIHRvIGVuYWJsZSBtdWx0aXBsZQorICAgICAgICBzb2NrZXRzIGxpc3Rlbi4K
KyAgICAgICAgIiIiCisKKyAgICAgICAgZmFpbGVkX3NvY2tldHMgPSBbXQorCisgICAgICAgIGZv
ciBzb2NrZXRpbmZvIGluIHNlbGYuX3NvY2tldHM6CisgICAgICAgICAgICBzb2NrZXRfLCBhZGRy
aW5mbyA9IHNvY2tldGluZm8KKyAgICAgICAgICAgIHNlbGYuX2xvZ2dlci5pbmZvKCdMaXN0ZW4g
b246ICVyJywgYWRkcmluZm8pCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgc29j
a2V0Xy5saXN0ZW4oc2VsZi5yZXF1ZXN0X3F1ZXVlX3NpemUpCisgICAgICAgICAgICBleGNlcHQg
RXhjZXB0aW9uIGFzIGU6CisgICAgICAgICAgICAgICAgc2VsZi5fbG9nZ2VyLmluZm8oJ1NraXAg
YnkgZmFpbHVyZTogJXInLCBlKQorICAgICAgICAgICAgICAgIHNvY2tldF8uY2xvc2UoKQorICAg
ICAgICAgICAgICAgIGZhaWxlZF9zb2NrZXRzLmFwcGVuZChzb2NrZXRpbmZvKQorCisgICAgICAg
IGZvciBzb2NrZXRpbmZvIGluIGZhaWxlZF9zb2NrZXRzOgorICAgICAgICAgICAgc2VsZi5fc29j
a2V0cy5yZW1vdmUoc29ja2V0aW5mbykKKworICAgICAgICBpZiBsZW4oc2VsZi5fc29ja2V0cykg
PT0gMDoKKyAgICAgICAgICAgIHNlbGYuX2xvZ2dlci5jcml0aWNhbCgKKyAgICAgICAgICAgICAg
ICAnTm8gc29ja2V0cyBhY3RpdmF0ZWQuIFVzZSBpbmZvIGxvZyBsZXZlbCB0byBzZWUgdGhlIHJl
YXNvbi4nKQorCisgICAgZGVmIHNlcnZlcl9jbG9zZShzZWxmKToKKyAgICAgICAgIiIiT3ZlcnJp
ZGUgU29ja2V0U2VydmVyLlRDUFNlcnZlci5zZXJ2ZXJfY2xvc2UgdG8gZW5hYmxlIG11bHRpcGxl
CisgICAgICAgIHNvY2tldHMgY2xvc2UuCisgICAgICAgICIiIgorCisgICAgICAgIGZvciBzb2Nr
ZXRpbmZvIGluIHNlbGYuX3NvY2tldHM6CisgICAgICAgICAgICBzb2NrZXRfLCBhZGRyaW5mbyA9
IHNvY2tldGluZm8KKyAgICAgICAgICAgIHNlbGYuX2xvZ2dlci5pbmZvKCdDbG9zZSBvbjogJXIn
LCBhZGRyaW5mbykKKyAgICAgICAgICAgIHNvY2tldF8uY2xvc2UoKQorCisgICAgZGVmIGZpbGVu
byhzZWxmKToKKyAgICAgICAgIiIiT3ZlcnJpZGUgU29ja2V0U2VydmVyLlRDUFNlcnZlci5maWxl
bm8uIiIiCisKKyAgICAgICAgc2VsZi5fbG9nZ2VyLmNyaXRpY2FsKCdOb3Qgc3VwcG9ydGVkOiBm
aWxlbm8nKQorICAgICAgICByZXR1cm4gc2VsZi5fc29ja2V0c1swXVswXS5maWxlbm8oKQorCisg
ICAgZGVmIGhhbmRsZV9lcnJvcihzZWxmLCByZXF1ZXN0LCBjbGllbnRfYWRkcmVzcyk6CisgICAg
ICAgICIiIk92ZXJyaWRlIFNvY2tldFNlcnZlci5oYW5kbGVfZXJyb3IuIiIiCisKKyAgICAgICAg
c2VsZi5fbG9nZ2VyLmVycm9yKCdFeGNlcHRpb24gaW4gcHJvY2Vzc2luZyByZXF1ZXN0IGZyb206
ICVyXG4lcycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRfYWRkcmVzcywgdHJh
Y2ViYWNrLmZvcm1hdF9leGMoKSkKKyAgICAgICAgIyBOb3RlOiBjbGllbnRfYWRkcmVzcyBpcyBh
IHR1cGxlLgorCisgICAgZGVmIGdldF9yZXF1ZXN0KHNlbGYpOgorICAgICAgICAiIiJPdmVycmlk
ZSBUQ1BTZXJ2ZXIuZ2V0X3JlcXVlc3QuIiIiCisKKyAgICAgICAgYWNjZXB0ZWRfc29ja2V0LCBj
bGllbnRfYWRkcmVzcyA9IHNlbGYuc29ja2V0LmFjY2VwdCgpCisKKyAgICAgICAgc2VydmVyX29w
dGlvbnMgPSBzZWxmLndlYnNvY2tldF9zZXJ2ZXJfb3B0aW9ucworICAgICAgICBpZiBzZXJ2ZXJf
b3B0aW9ucy51c2VfdGxzOgorICAgICAgICAgICAgIyBQcmludCBjaXBoZXIgaW4gdXNlLiBIYW5k
c2hha2UgaXMgZG9uZSBvbiBhY2NlcHQuCisgICAgICAgICAgICBzZWxmLl9sb2dnZXIuZGVidWco
J0NpcGhlcjogJXMnLCBhY2NlcHRlZF9zb2NrZXQuY2lwaGVyKCkpCisgICAgICAgICAgICBzZWxm
Ll9sb2dnZXIuZGVidWcoJ0NsaWVudCBjZXJ0OiAlcicsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYWNjZXB0ZWRfc29ja2V0LmdldHBlZXJjZXJ0KCkpCisKKyAgICAgICAgcmV0dXJu
IGFjY2VwdGVkX3NvY2tldCwgY2xpZW50X2FkZHJlc3MKKworICAgIGRlZiBzZXJ2ZV9mb3JldmVy
KHNlbGYsIHBvbGxfaW50ZXJ2YWw9MC41KToKKyAgICAgICAgIiIiT3ZlcnJpZGUgU29ja2V0U2Vy
dmVyLkJhc2VTZXJ2ZXIuc2VydmVfZm9yZXZlci4iIiIKKworICAgICAgICBzZWxmLl9fd3Nfc2Vy
dmluZyA9IFRydWUKKyAgICAgICAgc2VsZi5fX3dzX2lzX3NodXRfZG93bi5jbGVhcigpCisgICAg
ICAgIGhhbmRsZV9yZXF1ZXN0ID0gc2VsZi5oYW5kbGVfcmVxdWVzdAorICAgICAgICBpZiBoYXNh
dHRyKHNlbGYsICdfaGFuZGxlX3JlcXVlc3Rfbm9ibG9jaycpOgorICAgICAgICAgICAgaGFuZGxl
X3JlcXVlc3QgPSBzZWxmLl9oYW5kbGVfcmVxdWVzdF9ub2Jsb2NrCisgICAgICAgIGVsc2U6Cisg
ICAgICAgICAgICBzZWxmLl9sb2dnZXIud2FybmluZygnRmFsbGJhY2sgdG8gYmxvY2tpbmcgcmVx
dWVzdCBoYW5kbGVyJykKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgd2hpbGUgc2VsZi5fX3dz
X3NlcnZpbmc6CisgICAgICAgICAgICAgICAgciwgdywgZSA9IHNlbGVjdC5zZWxlY3QoCisgICAg
ICAgICAgICAgICAgICAgIFtzb2NrZXRfWzBdIGZvciBzb2NrZXRfIGluIHNlbGYuX3NvY2tldHNd
LCBbXSwgW10sCisgICAgICAgICAgICAgICAgICAgIHBvbGxfaW50ZXJ2YWwpCisgICAgICAgICAg
ICAgICAgZm9yIHNvY2tldF8gaW4gcjoKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5zb2NrZXQg
PSBzb2NrZXRfCisgICAgICAgICAgICAgICAgICAgIGhhbmRsZV9yZXF1ZXN0KCkKKyAgICAgICAg
ICAgICAgICBzZWxmLnNvY2tldCA9IE5vbmUKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAg
IHNlbGYuX193c19pc19zaHV0X2Rvd24uc2V0KCkKKworICAgIGRlZiBzaHV0ZG93bihzZWxmKToK
KyAgICAgICAgIiIiT3ZlcnJpZGUgU29ja2V0U2VydmVyLkJhc2VTZXJ2ZXIuc2h1dGRvd24uIiIi
CisKKyAgICAgICAgc2VsZi5fX3dzX3NlcnZpbmcgPSBGYWxzZQorICAgICAgICBzZWxmLl9fd3Nf
aXNfc2h1dF9kb3duLndhaXQoKQorCisKKyMgdmk6c3RzPTQgc3c9NCBldApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9w
YXJ0eS9weXdlYnNvY2tldDMvc2V0dXAucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My9zZXR1cC5weQpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41N2U5NDI4ZDY5MWQ3NTZjZjNkNjg3ZTc1NmI3MzgxNGNjZDNiZTdkCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvc2V0dXAucHkKQEAgLTAsMCArMSw3NCBA
QAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCisjCisjIENvcHlyaWdodCAyMDEyLCBHb29nbGUgSW5j
LgorIyBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZQorIyBtZXQ6CisjCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorIyBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyCisjIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUKKyMgZGlzdHJpYnV0aW9uLgorIyAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisjIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisjIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisjCisj
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMKKyMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisjIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisj
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLAorIyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorIyBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyMgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyIiIlNldCB1cCBz
Y3JpcHQgZm9yIG1vZF9weXdlYnNvY2tldC4KKyIiIgorCitmcm9tIF9fZnV0dXJlX18gaW1wb3J0
IGFic29sdXRlX2ltcG9ydAorZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBwcmludF9mdW5jdGlvbgor
ZnJvbSBzZXR1cHRvb2xzIGltcG9ydCBzZXR1cCwgRXh0ZW5zaW9uCitpbXBvcnQgc3lzCisKK19Q
QUNLQUdFX05BTUUgPSAnbW9kX3B5d2Vic29ja2V0JworCisjIEJ1aWxkIGFuZCB1c2UgYSBDKysg
ZXh0ZW5zaW9uIGZvciBmYXN0ZXIgbWFza2luZy4gU1dJRyBpcyByZXF1aXJlZC4KK19VU0VfRkFT
VF9NQVNLSU5HID0gRmFsc2UKKworIyBUaGlzIGlzIHVzZWQgc2luY2UgcHl0aG9uX3JlcXVpcmVz
IGZpZWxkIGlzIG5vdCByZWNvZ25pemVkIHdpdGgKKyMgcGlwIHZlcnNpb24gOS4wLjAgYW5kIGVh
cmxpZXIKK2lmIHN5cy52ZXJzaW9uIDwgJzIuNyc6CisgICAgcHJpbnQoJyVzIHJlcXVpcmVzIFB5
dGhvbiAyLjcgb3IgbGF0ZXIuJyAlIF9QQUNLQUdFX05BTUUsIGZpbGU9c3lzLnN0ZGVycikKKyAg
ICBzeXMuZXhpdCgxKQorCitpZiBfVVNFX0ZBU1RfTUFTS0lORzoKKyAgICBzZXR1cChleHRfbW9k
dWxlcz1bCisgICAgICAgIEV4dGVuc2lvbignbW9kX3B5d2Vic29ja2V0L19mYXN0X21hc2tpbmcn
LAorICAgICAgICAgICAgICAgICAgWydtb2RfcHl3ZWJzb2NrZXQvZmFzdF9tYXNraW5nLmknXSwK
KyAgICAgICAgICAgICAgICAgIHN3aWdfb3B0cz1bJy1jKysnXSkKKyAgICBdKQorCitzZXR1cCgK
KyAgICBhdXRob3I9J1l1em8gRnVqaXNoaW1hJywKKyAgICBhdXRob3JfZW1haWw9J3l1em9AY2hy
b21pdW0ub3JnJywKKyAgICBkZXNjcmlwdGlvbj0nU3RhbmRhbG9uZSBXZWJTb2NrZXQgU2VydmVy
IGZvciB0ZXN0aW5nIHB1cnBvc2VzLicsCisgICAgbG9uZ19kZXNjcmlwdGlvbj0oJ21vZF9weXdl
YnNvY2tldCBpcyBhIHN0YW5kYWxvbmUgc2VydmVyIGZvciAnCisgICAgICAgICAgICAgICAgICAg
ICAgJ3RoZSBXZWJTb2NrZXQgUHJvdG9jb2wgKFJGQyA2NDU1KS4gJworICAgICAgICAgICAgICAg
ICAgICAgICdTZWUgbW9kX3B5d2Vic29ja2V0L19faW5pdF9fLnB5IGZvciBtb3JlIGRldGFpbC4n
KSwKKyAgICBsaWNlbnNlPSdTZWUgTElDRU5TRScsCisgICAgbmFtZT1fUEFDS0FHRV9OQU1FLAor
ICAgIHBhY2thZ2VzPVtfUEFDS0FHRV9OQU1FLCBfUEFDS0FHRV9OQU1FICsgJy5oYW5kc2hha2Un
XSwKKyAgICBweXRob25fcmVxdWlyZXM9Jz49Mi43JywKKyAgICBpbnN0YWxsX3JlcXVpcmVzPVsn
c2l4J10sCisgICAgI1RPRE8oc3V6dWtpa2VpdGEpOiBVcGRhdGUgdGhpcyB0byBuZXcgR2l0aHVi
IFVSTAorICAgIHVybD0naHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL3B5d2Vic29ja2V0LycsCisg
ICAgdmVyc2lvbj0nMy4wLjAnLAorKQorCisjIHZpOnN0cz00IHN3PTQgZXQKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRf
cGFydHkvcHl3ZWJzb2NrZXQzL3Rlc3QvX19pbml0X18ucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My90
ZXN0L19faW5pdF9fLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE2ODM0YjgyODVhNTZiZWYwZTE1NDNmZDkwMWM3
ZTZmMmY4YmMyMDIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My90ZXN0L19f
aW5pdF9fLnB5CkBAIC0wLDAgKzEgQEAKKyMgVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBQeXRo
b24gdG8gc2VhcmNoIHRoaXMgZGlyZWN0b3J5IGZvciBtb2R1bGVzLgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL3Rlc3QvY2VydC9jYWNl
cnQucGVtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvdGVzdC9jZXJ0L2NhY2VydC5wZW0KbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNGRhZGFlMTIxYmRkM2FkYjc0NDM4M2NkM2JmMDhjMjI2Zjg1NTRiYQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
dGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL3Rlc3QvY2VydC9jYWNlcnQucGVtCkBAIC0wLDAgKzEs
MTcgQEAKKy0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQorTUlJQ3ZEQ0NBaVdnQXdJQkFnSUpB
S3FWZ2hrR0YxclNNQTBHQ1NxR1NJYjNEUUVCQlFVQU1Fa3hDekFKQmdOVgorQkFZVEFrcFFNUTR3
REFZRFZRUUlFd1ZVYjJ0NWJ6RVVNQklHQTFVRUNoTUxjSGwzWldKemIyTnJaWFF4RkRBUworQmdO
VkJBTVRDM0I1ZDJWaWMyOWphMlYwTUI0WERURXlNRFl3TmpBM01qUXpNMW9YRFRNNU1UQXlNekEz
TWpRegorTTFvd1NURUxNQWtHQTFVRUJoTUNTbEF4RGpBTUJnTlZCQWdUQlZSdmEzbHZNUlF3RWdZ
RFZRUUtFd3R3ZVhkbAorWW5OdlkydGxkREVVTUJJR0ExVUVBeE1MY0hsM1pXSnpiMk5yWlhRd2da
OHdEUVlKS29aSWh2Y05BUUVCQlFBRAorZ1kwQU1JR0pBb0dCQUtvU0VXMmJpUXhWck1NS2RuLzhQ
SnpEWWlTWERQUjlXUWJMUlJRMUdtNWprQ1lpYWhYVwordTJDYlRUaGZQUGZpMk5IQTNJK0hsVDdn
Tzl5UjdSVlV2TjZJU1V6R3dYREVxNGY0VU5xdFFPaFFhcXFLK0NaOQorTE8vQmhPL1lZZk5yYlNQ
bFl6SFVLYVQ5ZXNlN3hPOVZ6VktMVytxVWYyTWpoNC8rU3p4QkROUDdBZ01CQUFHagorZ2Fzd2dh
Z3dIUVlEVlIwT0JCWUVGT3NXZHhDU3V5aHdhWmVhYjZCb1RobzMrK2J6TUhrR0ExVWRJd1J5TUhD
QQorRk9zV2R4Q1N1eWh3YVplYWI2Qm9UaG8zKytiem9VMmtTekJKTVFzd0NRWURWUVFHRXdKS1VE
RU9NQXdHQTFVRQorQ0JNRlZHOXJlVzh4RkRBU0JnTlZCQW9UQzNCNWQyVmljMjlqYTJWME1SUXdF
Z1lEVlFRREV3dHdlWGRsWW5OdgorWTJ0bGRJSUpBS3FWZ2hrR0YxclNNQXdHQTFVZEV3UUZNQU1C
QWY4d0RRWUpLb1pJaHZjTkFRRUZCUUFEZ1lFQQorZ3NNSTFXRVlxTncvamhVSWRyVEJjQ3hKMFg2
aEp2QTl6aUtBTlZtMVJzKzRQM1lEQXJrUThiQ3I2eFkrS3c3cworWnAweUU3ZE04R01kaStEVTZo
TDN0M0U1ZU1rVFMxeVpyOVdDSzRmMlJMbytldDk4c2VsWnlkcEhlbUYzREpKMworZ0FqOFN4NExC
YUc4Q2IvV25FTVB2M014RzNmQkU1ZmF2RjZWNGpVMDdoUT0KKy0tLS0tRU5EIENFUlRJRklDQVRF
LS0tLS0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL3Rlc3QvY2VydC9jZXJ0LnBlbSBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRf
cGFydHkvcHl3ZWJzb2NrZXQzL3Rlc3QvY2VydC9jZXJ0LnBlbQpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNTM3OWE3
MmIwZGFjNWY0MTk3OWM4MDJjNjYzZGY4Yjg4ZGVhODI5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0
eS9weXdlYnNvY2tldDMvdGVzdC9jZXJ0L2NlcnQucGVtCkBAIC0wLDAgKzEsNjEgQEAKK0NlcnRp
ZmljYXRlOgorICAgIERhdGE6CisgICAgICAgIFZlcnNpb246IDMgKDB4MikKKyAgICAgICAgU2Vy
aWFsIE51bWJlcjogMSAoMHgxKQorICAgICAgICBTaWduYXR1cmUgQWxnb3JpdGhtOiBzaGExV2l0
aFJTQUVuY3J5cHRpb24KKyAgICAgICAgSXNzdWVyOiBDPUpQLCBTVD1Ub2t5bywgTz1weXdlYnNv
Y2tldCwgQ049cHl3ZWJzb2NrZXQKKyAgICAgICAgVmFsaWRpdHkKKyAgICAgICAgICAgIE5vdCBC
ZWZvcmU6IEp1biAgNiAwNzoyNTowOCAyMDEyIEdNVAorICAgICAgICAgICAgTm90IEFmdGVyIDog
T2N0IDIzIDA3OjI1OjA4IDIwMzkgR01UCisgICAgICAgIFN1YmplY3Q6IEM9SlAsIFNUPVRva3lv
LCBPPXB5d2Vic29ja2V0LCBDTj1weXdlYnNvY2tldAorICAgICAgICBTdWJqZWN0IFB1YmxpYyBL
ZXkgSW5mbzoKKyAgICAgICAgICAgIFB1YmxpYyBLZXkgQWxnb3JpdGhtOiByc2FFbmNyeXB0aW9u
CisgICAgICAgICAgICBSU0EgUHVibGljIEtleTogKDEwMjQgYml0KQorICAgICAgICAgICAgICAg
IE1vZHVsdXMgKDEwMjQgYml0KToKKyAgICAgICAgICAgICAgICAgICAgMDA6ZGU6MTA6Y2U6M2E6
NWE6MDQ6YTQ6MWM6Mjk6OTM6NWM6MjM6ODI6MWE6CisgICAgICAgICAgICAgICAgICAgIGYyOjA2
OjAxOmU2OjJiOmE0OjBmOmRkOjc3OjQ5Ojc2Ojg5OjAzOmEyOjIxOgorICAgICAgICAgICAgICAg
ICAgICBkZTowNDo3NTpjNjplMjpkZDpmYjozNToyNzozYTphMjo5Mjo4ZToxMjo2MjoKKyAgICAg
ICAgICAgICAgICAgICAgMmI6M2U6MWY6ZjQ6Nzg6ZGY6YjY6OTQ6Y2I6Mjc6ZDY6Y2I6ZDY6Mzc6
ZDc6CisgICAgICAgICAgICAgICAgICAgIDVjOjA4OmYwOjA5OjNlOmM5OmNlOjI0OjJkOjAwOmM5
OmRmOjRhOmUwOjk5OgorICAgICAgICAgICAgICAgICAgICBlNTpmYjoyMzphOTplMjpkNjpjOToz
ZDo5NjpmYTowMTo4ODpkZTo1YTo4OToKKyAgICAgICAgICAgICAgICAgICAgYjA6Y2Y6MDM6Njc6
NmY6MDQ6ODY6MWQ6ZWY6NjI6MWM6NTU6YTk6MDc6OWE6CisgICAgICAgICAgICAgICAgICAgIDJl
OjY2OjJhOjczOjViOjRjOjYyOjAzOmY5OjgyOjgzOmRiOjY4OmJmOmI4OgorICAgICAgICAgICAg
ICAgICAgICA0YjowYjo4Yjo5MzoxMTpiODo1NDo3Mzo3YgorICAgICAgICAgICAgICAgIEV4cG9u
ZW50OiA2NTUzNyAoMHgxMDAwMSkKKyAgICAgICAgWDUwOXYzIGV4dGVuc2lvbnM6CisgICAgICAg
ICAgICBYNTA5djMgQmFzaWMgQ29uc3RyYWludHM6IAorICAgICAgICAgICAgICAgIENBOkZBTFNF
CisgICAgICAgICAgICBOZXRzY2FwZSBDZXJ0IFR5cGU6IAorICAgICAgICAgICAgICAgIFNTTCBT
ZXJ2ZXIKKyAgICAgICAgICAgIE5ldHNjYXBlIENvbW1lbnQ6IAorICAgICAgICAgICAgICAgIE9w
ZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlCisgICAgICAgICAgICBYNTA5djMgU3ViamVjdCBL
ZXkgSWRlbnRpZmllcjogCisgICAgICAgICAgICAgICAgODI6QTE6NzM6OEI6MTY6MEM6N0M6RTQ6
RDM6NDY6OTU6MTM6OTU6MUE6MzI6QzE6ODQ6RTk6MDY6MDAKKyAgICAgICAgICAgIFg1MDl2MyBB
dXRob3JpdHkgS2V5IElkZW50aWZpZXI6IAorICAgICAgICAgICAgICAgIGtleWlkOkVCOjE2Ojc3
OjEwOjkyOkJCOjI4OjcwOjY5Ojk3OjlBOjZGOkEwOjY4OjRFOjFBOjM3OkZCOkU2OkYzCisKKyAg
ICBTaWduYXR1cmUgQWxnb3JpdGhtOiBzaGExV2l0aFJTQUVuY3J5cHRpb24KKyAgICAgICAgNmI6
YjM6NDY6Mjk6MDI6ZGY6YjA6Yzg6OGU6YzQ6ZDc6N2Y6YTA6MWU6MGQ6MWE6ZWI6MmY6CisgICAg
ICAgIGRmOmQxOjQ4OjU3OjM2OjVmOjk1OjhjOjFiOmYwOjUxOmQ2OjUyOmU3OjhkOjg0OjNiOjlm
OgorICAgICAgICBkODplZDoyMjo5YzphYTpiZDplZTo5Yjo5MDoxZDo4NDphMzo0YzowYjpjYjpl
Yjo2NDo3MzoKKyAgICAgICAgYmE6Zjc6MTU6Y2U6ZGE6NWY6ZGI6OGI6MTU6MDc6YTY6Mjg6N2Y6
Yjk6OGM6MTE6OWI6NjQ6CisgICAgICAgIGQzOmYxOmJlOjUyOjRmOmMzOmQ4OjU4OmZlOmRlOjU2
OjYzOjYzOjNiOjUxOmVkOmE3OjgxOgorICAgICAgICBmOTowNTo1MTo3MDo2MzozMjowOTowZTo5
NDo3ZTowNTpmZTphMTo1NjoxODozNDo5ODpkNToKKyAgICAgICAgOTk6MWU6NGU6Mjc6Mzg6ODk6
OTA6NmE6ZTU6Y2U6NjA6MzU6MDE6ZjU6ZGU6MzQ6NjA6YjE6CisgICAgICAgIGNiOmFlCistLS0t
LUJFR0lOIENFUlRJRklDQVRFLS0tLS0KK01JSUNtRENDQWdHZ0F3SUJBZ0lCQVRBTkJna3Foa2lH
OXcwQkFRVUZBREJKTVFzd0NRWURWUVFHRXdKS1VERU8KK01Bd0dBMVVFQ0JNRlZHOXJlVzh4RkRB
U0JnTlZCQW9UQzNCNWQyVmljMjlqYTJWME1SUXdFZ1lEVlFRREV3dHcKK2VYZGxZbk52WTJ0bGRE
QWVGdzB4TWpBMk1EWXdOekkxTURoYUZ3MHpPVEV3TWpNd056STFNRGhhTUVreEN6QUoKK0JnTlZC
QVlUQWtwUU1RNHdEQVlEVlFRSUV3VlViMnQ1YnpFVU1CSUdBMVVFQ2hNTGNIbDNaV0p6YjJOclpY
UXgKK0ZEQVNCZ05WQkFNVEMzQjVkMlZpYzI5amEyVjBNSUdmTUEwR0NTcUdTSWIzRFFFQkFRVUFB
NEdOQURDQmlRS0IKK2dRRGVFTTQ2V2dTa0hDbVRYQ09DR3ZJR0FlWXJwQS9kZDBsMmlRT2lJZDRF
ZGNiaTNmczFKenFpa280U1lpcysKK0gvUjQzN2FVeXlmV3k5WTMxMXdJOEFrK3ljNGtMUURKMzBy
Z21lWDdJNm5pMXNrOWx2b0JpTjVhaWJEUEEyZHYKK0JJWWQ3MkljVmFrSG1pNW1Lbk5iVEdJRCtZ
S0QyMmkvdUVzTGk1TVJ1RlJ6ZXdJREFRQUJvNEdQTUlHTU1Ba0cKK0ExVWRFd1FDTUFBd0VRWUpZ
SVpJQVliNFFnRUJCQVFEQWdaQU1Dd0dDV0NHU0FHRytFSUJEUVFmRmgxUGNHVnUKK1UxTk1JRWRs
Ym1WeVlYUmxaQ0JEWlhKMGFXWnBZMkYwWlRBZEJnTlZIUTRFRmdRVWdxRnppeFlNZk9UVFJwVVQK
K2xSb3l3WVRwQmdBd0h3WURWUjBqQkJnd0ZvQVU2eFozRUpLN0tIQnBsNXB2b0doT0dqZjc1dk13
RFFZSktvWkkKK2h2Y05BUUVGQlFBRGdZRUFhN05HS1FMZnNNaU94TmQvb0I0Tkd1c3YzOUZJVnpa
ZmxZd2I4RkhXVXVlTmhEdWYKKzJPMGluS3E5N3B1UUhZU2pUQXZMNjJSenV2Y1Z6dHBmMjRzVkI2
WW9mN21NRVp0azAvRytVay9EMkZqKzNsWmoKK1l6dFI3YWVCK1FWUmNHTXlDUTZVZmdYK29WWVlO
SmpWbVI1T0p6aUprR3Jsem1BMUFmWGVOR0N4eTY0PQorLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0t
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvdGVzdC9jZXJ0L2NsaWVudF9jZXJ0LnAx
MiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhp
cmRfcGFydHkvcHl3ZWJzb2NrZXQzL3Rlc3QvY2VydC9jbGllbnRfY2VydC5wMTIKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTRlMTM5OTI3OTgyZmE5ODIzYTU3MjMxYWYxMTM0OTlkNmE1YThiMApHSVQgYmluYXJ5IHBh
dGNoCmxpdGVyYWwgMjU4Mgp6Y21ZK0ZYSCpqaTdLTWAjMHRCZzJxekZpdFAhZjxQSEEtKk5Mb0BW
X2djZjB0OFdCKCNJP3slWVJGeCp1YCUpeUoKejFuRyFLMzVicWhYclg3QWI5USVqZjg2dWx4JVp2
LT4lSF5BYVpwd2VrUDQyWW59ZzZ2I091WUE4R3RtdlZqU0lqCnpGcGg1VSgoWiVmQVN3U3VrWVhH
cD1GKkEpMFJmaTxgJWVPZF5GcEJpLWYjczdmaXI/PjJjVyRUIzsyKkdBUF9BZQp6MV8jbHJuMkUo
ZUtPTUo2TjI2WUpuZV9AaHB9U0tQWFVCN0ZNZXJffjV8MXFnQ3tUcW5uQnV2MSRrcHA1T0J6JUAK
ejxteVN3Kz9ZPl5qQVo0I1hBLX0qIVFzYnVPaFcoc084MzY2KCQ7KDFBPm1vKE8tJXgoaG4oPXla
O3l+TkcjUVgxCnpnSGtTaV5eOGN2NFRUU0w5dm41cVIoPl9EM2Ymb2MqandQZ0kjS0BRI0FzTClE
O0JEJldiMmQrSTFeSjduPn1ZWgp6YkNYbzlmT0BnIUBkV1lhMlYlfTspIXs8ekRjfChwdkpJYXhX
N05kTyVPNmY+ciZhT3JwSGt7b19SOW1RNDd1b2IKej9sPjl8bnxYM2BhZ3BeRztMd1hSNTwobHIr
UjxjTDVqVFEoP15EPGtSbyFIX1QjcD95M2R9XnRDWVYhOFJeTj99CnpDKiVYbTlMZWY+ajdobHIt
P2pIbHB8d2ZBJl5uLXM7PCF6JHFEMXhQcSE4S1ExfX5kdXB3fkJNMWdzfkBBbztDcQp6d1JnVXwy
XmR9Ti1nVjtAYVlrdThJJX18PGw2UU0/PWR+RllwYkdGSDkmdk5nS1oqU3ljSVN8bWN1T1I/bCZD
T3cKenN7emQ1em1lbHhxTjFEUXl7fVBnQj11I2Z6SU5Qa0Iwb04qY2szdmArMXshWVhQfntFVkk3
VnFoKn51YVdfflVDCnpsUjMzUlowNUhoa0MtMWVJcCktQFleeXZjLXxSJSEqOWR3N25mVyl5amNI
SVlmNnI9YUN0KFVoaS1GSm0ybntfKQp6JXt1bEJVWFJgMjw+bHh9ZUdtU21SSj41b3RrQCgrcGpz
UHE7NGhaNkZJS2wje254UCFBTCEyOF9fQVlmbGBWZ3sKemxSUmFBUnxWbXkxX2BeYmJqWnJ6QXtR
JGxZZWpJWWReQSRaPlcmanluTT1LYFRsNHdWKTN3QGQxSmNgLTUtQ0dKCnp4cV5AOF8oITxaRjJx
bGhfWn19bnI/UyY1KnorRkApdihaMUVJcztIbX0hMX5NVEwhajFAYyRaSExSfVYoPTtebwp6ZFVw
Znk/bz55em9sX3NpPDxVRUI9dChlZUJ6Z0peV1l3c0hDRzkzNHMkZClAcXFId2deeVpNe2Beakoh
OTt0cjYKemVvVWF5JiQrQnlHfE5eX3pvQUhedFlJZz5oYVl3fEB8YzMxXncoblVkN2soWW1FSjc2
Vlk3OSsoQyhfJDsxTXNVCnpoaU5pK0I1Z1NyRGp8OT48QD82UiY4emJtOGJyP0MtTm4xY2soKzxO
SyU3KTZ2LXdXcTQ9TV9UYnQxOTR6VSp5Rgp6aDxvdDxIQldub3hCJTFrOShNMG88TmcpUmdIUygj
P2VkRVFCIV58RmstXyhhYGJVQkxBSypofmF6fiFfeHU9VDQKejZHNUstYVhKb3RIUWxFQzhDVTV8
UnlNUnVRa1hFKT9edjYoaT1NdSk9JF5vJTAheXM1R1ZSYVhaMlMySDRJODNMCnpxKWJgfFB4eyg4
OVczMnpxNHNxekgrQkFLUDl1YURFcEQ4SUlBOUQtSDQ1QyVWVD9KSiNNYStCQGk5TVBkRi0jIwp6
TnhGNVR1fWl6X2h6JFNLWjBfXyYhWXAxeWFkVnpvY0BFeStCZWZKQ3RDU1ZkNShKeSg8QzZJY0NX
fURtSHdDOFQKelJ7a3F2UkA/M3J6TEcyJFpkY3gtNXZGUkBkJFEjREQrfntkaEBtZF9lYEJCNipV
WTZSKzReI1UlejRsdHg5QiU7CnpOVjh6KntHY0dNO2dxMlJ0eWRqe0gwUzBwI3o8NiU3bTMhJXs/
TVF1YTxgQGU1Yk90YmQhRWM/R151eGY0Z3hjSQp6LUY3U1RZaX52RGJtdkNaM05EY2ZIajg+QzlG
VjZqZDF9KHBTd3JnR2sqUVo5UnI0KTYhc1NrVFVxYnhiYWVhMnUKendTYCR5b3NRKWViJW9fdkpP
KiFBYGRSO1k0az4mcVl6dWEtWk5FPDNGRT1JK2VTVTt4IXB0XkEzNT5vSW9QYEpxCnpabH4pckM2
MEwra1N4QWdvUEV8ckdqVkA/MkF5KlhiPSRjYGNfTDM9RXpoakJVRD1oMV80JWVCQ2ZsaiZFSFpt
Twp6c3sxYnxOdXg2KztLI0tCPVRrX3xpa3x7KjAxZGskOUthNmBjUlU9TWNZaU4hay1hKTJQRDMx
aDxjVHMla1Bob1oKek8pMndfVDktOHcyTk0mJnEycGw0XktxfUNQZT1sOWhxJFc0IXQ7SkQlfFVK
KDI4dkRiTSpMPlZGN2JXX1h7YjE0CnpHTncodz5FX1M5YDw7eFFsUGBAc2Q+Nm0zbjIpTCkwcCFY
UnJEIzI1aUlrUkRzKTF1ak4lU3N5dyM2MnZkdiZBbAp6Y2RqLVlsIzYrQGEwV3NjVTwzYGd2VyQy
dy0oXkhmRVJ5eHNOc3E2bUswZDg7PzBMU2VOaCVORWUwQllKNElMKGEKeiRXWG5kKVBCVzxBVGt7
eSUyUzlHUGEycXlKVyReSkpfY29fWFAxbTlFfWopUT9ebCQjKk1EeFA1fG1ZMXpjcTN5CnpiPUB6
eUNYdWd3ZHtOang/aTI3ait6WE80KlY+fVplLXpCUXgpSHlud0xgTmooITl0KTU0ZE87elRWfi1P
IztVOwp6TXdwMFBVLXVVTD8jIzhMLSkmdm1ibkFtbiNAJmE+dj1jUH1FVVFKVndhRHc5VjwtSXdZ
dGlUOXcoVE1lYTIlRHkKenxBNDAkTjV1b2lRRV5fe1MxLWlgcTVsdHRwZz5TRDRwYWZoZmxCfDZQ
RT4hPnNoV2tvRW1aaGcrfjBIcDwzS1RACno5amskcU1DPTAmQmJrXmZSbzRmMzhKfmlXQ3x4R1Aw
YHdaM0YjazhnKklkTlkkR0YtQXg4XjxEckJeajI4WGI2cwp6Unw7VnZhciU8fFRaS34+MzBrRDMp
VyRBRCModHRgI0B4N1E4T1lhcFRfSnlNMXZUP2xieC0rX0YoSkYleVMwTyQKenBTI2x9dyowaj5i
fU0zZTs0ST57cE1NPnMlYD9mU0FFX1FiYEFuPl9WIWtpfSQ5d01OOShmVTF1SkdtME1pN2hLCnpB
NWwwZTF3VmNeJHFsPzVnbT44RXZCcFNhV2Y1VElnM1pTYnVKaHA7YSUoWitrY3tjZHYxUHVYJGUy
R0FOP0pmOAp6V0tOZ1M8KE0yRk5VYFJ4ZEJHfWY9UzFyblEqZVIxMnFGX0MmJnBuQGB5JUN+TDle
UV9aOWxoJkc9WHZHQyE0MTAKenluKTVvPSl4MmlKWSteP15FTGpudEhIYH1LKXphP0k9fHYhJGhM
MG4mR3p5cHphTHdOZGVNPU9qV3wtLT1tUl9qCnp5dD9+VnhfXzlCRXZjaEw/OWh1VW9iLTVuK3Ix
Pzx4QGNnfTVhfFZ8RmNGUU8qZUlwd1pFbn5WR0xlcXZTQFdrMgp6KSErRDMtO3s0QE9PKWIrYlFP
Iz0tRStCZU9AZiEzPGlUMG1iMnBiMzg4e0dJUmFyamRuVGklQD80cXd5I3E2MFkKenFpQXx7dDZv
NDlFTTE4SiZ3OERBI3dRRERzRndOJEhHKk1UTDIxQlFqKVlSYFc1TDtaZk1NPCpyTD1GSWd8MGJK
CnpUOXI3RmxCTExeclYlMVVPITN8R0RFYU0hakhQTHI/NVFCdUNDIVcpPmRyZl5SQ2BgN1lSWVoo
Sz5pZTA+cEpkXgp6SldfSHslKV5jITY+bHw5UDg/Yz1qKEI1N1lKejg/WHlRekU5dUdhfWRWMFBU
cDMhO3AhU0YpfXQtaT5DPEVkSCsKek1LQVNuViMhJlNXZmR9MGRsalhzeVFmenNANmkwK2RxU0hK
TH5GN35vdHwkSHdmK0YqMGpDSyp3NVdvRkBROWhOCnpobGslU3toNkM1N0NJMl81Ujk7ZjM7cC0x
PkRVbipVXmVvR2pocW87KlIqJGtWRTAxSj5USlFSc3Y5b3omayEzegp6a1dUOyowUWUwTTNVQ0x3
MEQ9SitmR2ZjRnZKVXxgVWRzS18zNHRUdkh7ZiYtWThXRkdoP15QIVg1O3k9Rlp1RHMKZmZyV2sw
JU0oT0duVE1OPGgmcUB5TGREVV8mTWNBZj98MWtNZWpVTm8KCmxpdGVyYWwgMApIY21WP2QwMDAw
MQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL3Rlc3QvY2VydC9rZXkucGVtIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0
eS9weXdlYnNvY2tldDMvdGVzdC9jZXJ0L2tleS5wZW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmFlODU4MzE4ZjI5
YmE2YjQ2MjNiZDVmYmM0YTA4Y2U3M2Q5MDMxMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3
ZWJzb2NrZXQzL3Rlc3QvY2VydC9rZXkucGVtCkBAIC0wLDAgKzEsMTUgQEAKKy0tLS0tQkVHSU4g
UlNBIFBSSVZBVEUgS0VZLS0tLS0KK01JSUNYZ0lCQUFLQmdRRGVFTTQ2V2dTa0hDbVRYQ09DR3ZJ
R0FlWXJwQS9kZDBsMmlRT2lJZDRFZGNiaTNmczEKK0p6cWlrbzRTWWlzK0gvUjQzN2FVeXlmV3k5
WTMxMXdJOEFrK3ljNGtMUURKMzByZ21lWDdJNm5pMXNrOWx2b0IKK2lONWFpYkRQQTJkdkJJWWQ3
MkljVmFrSG1pNW1Lbk5iVEdJRCtZS0QyMmkvdUVzTGk1TVJ1RlJ6ZXdJREFRQUIKK0FvR0JBSXVD
dVYxVmNuYjdybThDd3RnWlA1WGdtWTh2U2p4VGxkYWZhNlh2YXdFWVVUUDBTNzd2LzFsbGcxWXYK
K1VJVitJK1BRZ0c5b1ZvWU9sMjJMb2ltSFMvWjNlMWZzb3Q1dERZc3pHZTgvR2tzdDRvYVJlU294
dkJVYTZXWHAKK1FTbzdZRkNhanVIdEUrVy9nekYrVUhiZHp6WElEalFaMzE0TE5GNXQrNFVuc0VQ
QkFrRUErZ2lySW1xV29NMnQKKzNVUjhmOG9la0VSd3NtRU1mOURINVlwSDRjdlVudkkra3dlc0Mv
cjJVOFNobysrZnlFTVVObTdhSVhHcU5MZ2EKK29nQU0rNE5YNFFKQkFPTmRTeFNheTIyZWdUR05v
SWhMbmRsaldrdU90LzlGV2oya2xmLzRReEQ0YmxNSlE1T3EKK1FkT0dBaDduVlFqcFBMUTVEN0NC
VkFLcEdNMkNEK1FKQnRzQ1FFUDJrejM1cHhQeWxHM3VyY0MybWZReEJra1cKK1pDVmlCTlA1OEd3
SjBiT2F1VE9TQkV3RlhXdUxxVHc4YUR3eEw0OVVObXFjME4wZnBlMmZBZWhqM1VFQ1FRQ20KK0ZI
L0RqVThMdzd5YmRkak50bTZYWFB1WU5hZ3h6M2Nia0I0QjNGY2hEbGVJVUR3TW9WRjBNVzliSTUv
NTRtVjEKK1FEazF0VUtvcnR4dlFaSmFBRDRCQWtFQWhHT0hRcVBkNmJCQm9GQnZwYUx6UEpNeHdM
S3JCK1d0a3EvUWxDNzIKK0NsUmlNbjJnOFNBTGlJTDNCRGdHWEtjS0UvV3k3am8vYWYvSkN6US9j
UHF0L0E9PQorLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkv
cHl3ZWJzb2NrZXQzL3Rlc3QvY2VydC93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQz
L3Rlc3QvY2VydC93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43OTA0NDE5MGY1OGJlNzc0NTYx
NTIzYjNhN2ViOWNkZGFiYTgyMzg0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tl
dDMvdGVzdC9jZXJ0L3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMjAgQEAKK1RoZSB0ZXN0cyBp
biB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5Lgor
RG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBj
cmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIu
Y29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKKworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMv
aW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBv
ciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWly
aW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVu
ZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFy
dHkvcHl3ZWJzb2NrZXQzL3Rlc3QvY2VydC9jYWNlcnQucGVtCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMv
dGVzdC9jZXJ0L2NlcnQucGVtCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvdGVzdC9jZXJ0L2NsaWVudF9j
ZXJ0LnAxMgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL3Rlc3QvY2VydC9rZXkucGVtCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJk
X3BhcnR5L3B5d2Vic29ja2V0My90ZXN0L2NsaWVudF9mb3JfdGVzdGluZy5weSBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3
ZWJzb2NrZXQzL3Rlc3QvY2xpZW50X2Zvcl90ZXN0aW5nLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ1MGE2YWNk
NTM3NjIyM2M2MDNhYmUyNjRiOTY3Nzk2ODMyZmI1NzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5
L3B5d2Vic29ja2V0My90ZXN0L2NsaWVudF9mb3JfdGVzdGluZy5weQpAQCAtMCwwICsxLDcxOSBA
QAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCisjCisjIENvcHlyaWdodCAyMDEyLCBHb29nbGUgSW5j
LgorIyBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZQorIyBtZXQ6CisjCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorIyBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyCisjIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUKKyMgZGlzdHJpYnV0aW9uLgorIyAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisjIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisjIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisjCisj
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMKKyMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisjIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisj
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLAorIyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorIyBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyMgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyIiIldlYlNvY2tl
dCBjbGllbnQgdXRpbGl0eSBmb3IgdGVzdGluZy4KKworVGhpcyBtb2R1bGUgY29udGFpbnMgaGVs
cGVyIG1ldGhvZHMgZm9yIHBlcmZvcm1pbmcgaGFuZHNoYWtlLCBmcmFtZQorc2VuZGluZy9yZWNl
aXZpbmcgYXMgYSBXZWJTb2NrZXQgY2xpZW50LgorCitUaGlzIGlzIGNvZGUgZm9yIHRlc3Rpbmcg
bW9kX3B5d2Vic29ja2V0LiBLZWVwIHRoaXMgY29kZSBpbmRlcGVuZGVudCBmcm9tCittb2RfcHl3
ZWJzb2NrZXQuIERvbid0IGltcG9ydCBlLmcuIFN0cmVhbSBjbGFzcyBmb3IgZ2VuZXJhdGluZyBm
cmFtZSBmb3IKK3Rlc3RpbmcuIFVzaW5nIHV0aWwuaGV4aWZ5LCBldGMuIHRoYXQgYXJlIG5vdCBy
ZWxhdGVkIHRvIHByb3RvY29sIHByb2Nlc3NpbmcKK2lzIGFsbG93ZWQuCisKK05vdGU6CitUaGlz
IGNvZGUgaXMgZmFyIGZyb20gcm9idXN0LCBlLmcuLCB3ZSBjdXQgY29ybmVycyBpbiBoYW5kc2hh
a2UuCisiIiIKKworZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQKK2ltcG9y
dCBiYXNlNjQKK2ltcG9ydCBlcnJubworaW1wb3J0IGxvZ2dpbmcKK2ltcG9ydCBvcworaW1wb3J0
IHJhbmRvbQoraW1wb3J0IHJlCitpbXBvcnQgc29ja2V0CitpbXBvcnQgc3RydWN0CitpbXBvcnQg
dGltZQorZnJvbSBoYXNobGliIGltcG9ydCBzaGExCitmcm9tIHNpeCBpbXBvcnQgaXRlcmJ5dGVz
Citmcm9tIHNpeCBpbXBvcnQgaW5kZXhieXRlcworCitmcm9tIG1vZF9weXdlYnNvY2tldCBpbXBv
cnQgY29tbW9uCitmcm9tIG1vZF9weXdlYnNvY2tldCBpbXBvcnQgdXRpbAorZnJvbSBtb2RfcHl3
ZWJzb2NrZXQuaGFuZHNoYWtlIGltcG9ydCBIYW5kc2hha2VFeGNlcHRpb24KKworREVGQVVMVF9Q
T1JUID0gODAKK0RFRkFVTFRfU0VDVVJFX1BPUlQgPSA0NDMKKworIyBPcGNvZGVzIGludHJvZHVj
ZWQgaW4gSUVURiBIeUJpIDAxIGZvciB0aGUgbmV3IGZyYW1pbmcgZm9ybWF0CitPUENPREVfQ09O
VElOVUFUSU9OID0gMHgwCitPUENPREVfQ0xPU0UgPSAweDgKK09QQ09ERV9QSU5HID0gMHg5CitP
UENPREVfUE9ORyA9IDB4YQorT1BDT0RFX1RFWFQgPSAweDEKK09QQ09ERV9CSU5BUlkgPSAweDIK
KworIyBTdHJpbmdzIHVzZWQgZm9yIGhhbmRzaGFrZQorX1VQR1JBREVfSEVBREVSID0gJ1VwZ3Jh
ZGU6IHdlYnNvY2tldFxyXG4nCitfQ09OTkVDVElPTl9IRUFERVIgPSAnQ29ubmVjdGlvbjogVXBn
cmFkZVxyXG4nCisKK1dFQlNPQ0tFVF9BQ0NFUFRfVVVJRCA9IGInMjU4RUFGQTUtRTkxNC00N0RB
LTk1Q0EtQzVBQjBEQzg1QjExJworCisjIFN0YXR1cyBjb2RlcworU1RBVFVTX05PUk1BTF9DTE9T
VVJFID0gMTAwMAorU1RBVFVTX0dPSU5HX0FXQVkgPSAxMDAxCitTVEFUVVNfUFJPVE9DT0xfRVJS
T1IgPSAxMDAyCitTVEFUVVNfVU5TVVBQT1JURURfREFUQSA9IDEwMDMKK1NUQVRVU19OT19TVEFU
VVNfUkVDRUlWRUQgPSAxMDA1CitTVEFUVVNfQUJOT1JNQUxfQ0xPU1VSRSA9IDEwMDYKK1NUQVRV
U19JTlZBTElEX0ZSQU1FX1BBWUxPQURfREFUQSA9IDEwMDcKK1NUQVRVU19QT0xJQ1lfVklPTEFU
SU9OID0gMTAwOAorU1RBVFVTX01FU1NBR0VfVE9PX0JJRyA9IDEwMDkKK1NUQVRVU19NQU5EQVRP
UllfRVhUID0gMTAxMAorU1RBVFVTX0lOVEVSTkFMX0VORFBPSU5UX0VSUk9SID0gMTAxMQorU1RB
VFVTX1RMU19IQU5EU0hBS0UgPSAxMDE1CisKKyMgRXh0ZW5zaW9uIHRva2VucworX1BFUk1FU1NB
R0VfREVGTEFURV9FWFRFTlNJT04gPSAncGVybWVzc2FnZS1kZWZsYXRlJworCisKK2RlZiBfbWV0
aG9kX2xpbmUocmVzb3VyY2UpOgorICAgIHJldHVybiAnR0VUICVzIEhUVFAvMS4xXHJcbicgJSBy
ZXNvdXJjZQorCisKK2RlZiBfc2VjX29yaWdpbl9oZWFkZXIob3JpZ2luKToKKyAgICByZXR1cm4g
J1NlYy1XZWJTb2NrZXQtT3JpZ2luOiAlc1xyXG4nICUgb3JpZ2luLmxvd2VyKCkKKworCitkZWYg
X29yaWdpbl9oZWFkZXIob3JpZ2luKToKKyAgICAjIDQuMSAxMy4gY29uY2F0ZW5hdGlvbiBvZiB0
aGUgc3RyaW5nICJPcmlnaW46IiwgYSBVKzAwMjAgU1BBQ0UgY2hhcmFjdGVyLAorICAgICMgYW5k
IHRoZSAvb3JpZ2luLyB2YWx1ZSwgY29udmVydGVkIHRvIEFTQ0lJIGxvd2VyY2FzZSwgdG8gL2Zp
ZWxkcy8uCisgICAgcmV0dXJuICdPcmlnaW46ICVzXHJcbicgJSBvcmlnaW4ubG93ZXIoKQorCisK
K2RlZiBfZm9ybWF0X2hvc3RfaGVhZGVyKGhvc3QsIHBvcnQsIHNlY3VyZSk6CisgICAgIyA0LjEg
OS4gTGV0IC9ob3N0cG9ydC8gYmUgYW4gZW1wdHkgc3RyaW5nLgorICAgICMgNC4xIDEwLiBBcHBl
bmQgdGhlIC9ob3N0LyB2YWx1ZSwgY29udmVydGVkIHRvIEFTQ0lJIGxvd2VyY2FzZSwgdG8KKyAg
ICAjIC9ob3N0cG9ydC8KKyAgICBob3N0cG9ydCA9IGhvc3QubG93ZXIoKQorICAgICMgNC4xIDEx
LiBJZiAvc2VjdXJlLyBpcyBmYWxzZSwgYW5kIC9wb3J0LyBpcyBub3QgODAsIG9yIGlmIC9zZWN1
cmUvCisgICAgIyBpcyB0cnVlLCBhbmQgL3BvcnQvIGlzIG5vdCA0NDMsIHRoZW4gYXBwZW5kIGEg
VSswMDNBIENPTE9OIGNoYXJhY3RlcgorICAgICMgKDopIGZvbGxvd2VkIGJ5IHRoZSB2YWx1ZSBv
ZiAvcG9ydC8sIGV4cHJlc3NlZCBhcyBhIGJhc2UtdGVuIGludGVnZXIsCisgICAgIyB0byAvaG9z
dHBvcnQvCisgICAgaWYgKChub3Qgc2VjdXJlIGFuZCBwb3J0ICE9IERFRkFVTFRfUE9SVCkKKyAg
ICAgICAgICAgIG9yIChzZWN1cmUgYW5kIHBvcnQgIT0gREVGQVVMVF9TRUNVUkVfUE9SVCkpOgor
ICAgICAgICBob3N0cG9ydCArPSAnOicgKyBzdHIocG9ydCkKKyAgICAjIDQuMSAxMi4gY29uY2F0
ZW5hdGlvbiBvZiB0aGUgc3RyaW5nICJIb3N0OiIsIGEgVSswMDIwIFNQQUNFCisgICAgIyBjaGFy
YWN0ZXIsIGFuZCAvaG9zdHBvcnQvLCB0byAvZmllbGRzLy4KKyAgICByZXR1cm4gJ0hvc3Q6ICVz
XHJcbicgJSBob3N0cG9ydAorCisKKyMgVE9ETyh0eW9zaGlubyk6IERlZmluZSBhIGJhc2UgY2xh
c3MgYW5kIG1vdmUgdGhlc2Ugc2hhcmVkIG1ldGhvZHMgdG8gdGhhdC4KKworCitkZWYgcmVjZWl2
ZV9ieXRlcyhzb2NrZXQsIGxlbmd0aCk6CisgICAgcmVjZWl2ZWRfYnl0ZXMgPSBbXQorICAgIHJl
bWFpbmluZyA9IGxlbmd0aAorICAgIHdoaWxlIHJlbWFpbmluZyA+IDA6CisgICAgICAgIG5ld19y
ZWNlaXZlZF9ieXRlcyA9IHNvY2tldC5yZWN2KHJlbWFpbmluZykKKyAgICAgICAgaWYgbm90IG5l
d19yZWNlaXZlZF9ieXRlczoKKyAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigKKyAgICAgICAg
ICAgICAgICAnQ29ubmVjdGlvbiBjbG9zZWQgYmVmb3JlIHJlY2VpdmluZyByZXF1ZXN0ZWQgbGVu
Z3RoICcKKyAgICAgICAgICAgICAgICAnKHJlcXVlc3RlZCAlZCBieXRlcyBidXQgcmVjZWl2ZWQg
b25seSAlZCBieXRlcyknICUKKyAgICAgICAgICAgICAgICAobGVuZ3RoLCBsZW5ndGggLSByZW1h
aW5pbmcpKQorICAgICAgICByZWNlaXZlZF9ieXRlcy5hcHBlbmQobmV3X3JlY2VpdmVkX2J5dGVz
KQorICAgICAgICByZW1haW5pbmcgLT0gbGVuKG5ld19yZWNlaXZlZF9ieXRlcykKKyAgICByZXR1
cm4gYicnLmpvaW4ocmVjZWl2ZWRfYnl0ZXMpCisKKworIyBUT0RPKHR5b3NoaW5vKTogTm93IHRo
ZSBXZWJTb2NrZXRIYW5kc2hha2UgY2xhc3MgZGl2ZXJ0cyB0aGVzZSBtZXRob2RzLiBXZQorIyBz
aG91bGQgbW92ZSB0byBIVFRQIHBhcnNlciBhcyBzcGVjaWZpZWQgaW4gUkZDIDY0NTUuCisKKwor
ZGVmIF9yZWFkX2ZpZWxkcyhzb2NrZXQpOgorICAgICMgNC4xIDMyLiBsZXQgL2ZpZWxkcy8gYmUg
YSBsaXN0IG9mIG5hbWUtdmFsdWUgcGFpcnMsIGluaXRpYWxseSBlbXB0eS4KKyAgICBmaWVsZHMg
PSB7fQorICAgIHdoaWxlIFRydWU6CisgICAgICAgICMgNC4xIDMzLiBsZXQgL25hbWUvIGFuZCAv
dmFsdWUvIGJlIGVtcHR5IGJ5dGUgYXJyYXlzCisgICAgICAgIG5hbWUgPSBiJycKKyAgICAgICAg
dmFsdWUgPSBiJycKKyAgICAgICAgIyA0LjEgMzQuIHJlYWQgL25hbWUvCisgICAgICAgIG5hbWUg
PSBfcmVhZF9uYW1lKHNvY2tldCkKKyAgICAgICAgaWYgbmFtZSBpcyBOb25lOgorICAgICAgICAg
ICAgYnJlYWsKKyAgICAgICAgIyA0LjEgMzUuIHJlYWQgc3BhY2VzCisgICAgICAgICMgVE9ETyh0
eW9zaGlubyk6IFNraXAgb25seSBvbmUgc3BhY2UgYXMgZGVzY3JpYmVkIGluIHRoZSBzcGVjLgor
ICAgICAgICBjaCA9IF9za2lwX3NwYWNlcyhzb2NrZXQpCisgICAgICAgICMgNC4xIDM2LiByZWFk
IC92YWx1ZS8KKyAgICAgICAgdmFsdWUgPSBfcmVhZF92YWx1ZShzb2NrZXQsIGNoKQorICAgICAg
ICAjIDQuMSAzNy4gcmVhZCBhIGJ5dGUgZnJvbSB0aGUgc2VydmVyCisgICAgICAgIGNoID0gcmVj
ZWl2ZV9ieXRlcyhzb2NrZXQsIDEpCisgICAgICAgIGlmIGNoICE9IGInXG4nOiAgIyAweDBBCisg
ICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oCisgICAgICAgICAgICAgICAgJ0V4cGVjdGVkIExG
IGJ1dCBmb3VuZCAlciB3aGlsZSByZWFkaW5nIHZhbHVlICVyIGZvciBoZWFkZXIgJworICAgICAg
ICAgICAgICAgICclcicgJSAoY2gsIG5hbWUsIHZhbHVlKSkKKyAgICAgICAgIyA0LjEgMzguIGFw
cGVuZCBhbiBlbnRyeSB0byB0aGUgL2ZpZWxkcy8gbGlzdCB0aGF0IGhhcyB0aGUgbmFtZQorICAg
ICAgICAjIGdpdmVuIGJ5IHRoZSBzdHJpbmcgb2J0YWluZWQgYnkgaW50ZXJwcmV0aW5nIHRoZSAv
bmFtZS8gYnl0ZQorICAgICAgICAjIGFycmF5IGFzIGEgVVRGLTggc3RyZWFtIGFuZCB0aGUgdmFs
dWUgZ2l2ZW4gYnkgdGhlIHN0cmluZworICAgICAgICAjIG9idGFpbmVkIGJ5IGludGVycHJldGlu
ZyB0aGUgL3ZhbHVlLyBieXRlIGFycmF5IGFzIGEgVVRGLTggYnl0ZQorICAgICAgICAjIHN0cmVh
bS4KKyAgICAgICAgZmllbGRzLnNldGRlZmF1bHQobmFtZS5kZWNvZGUoJ1VURi04JyksCisgICAg
ICAgICAgICAgICAgICAgICAgICAgIFtdKS5hcHBlbmQodmFsdWUuZGVjb2RlKCdVVEYtOCcpKQor
ICAgICAgICAjIDQuMSAzOS4gcmV0dXJuIHRvIHRoZSAiRmllbGQiIHN0ZXAgYWJvdmUKKyAgICBy
ZXR1cm4gZmllbGRzCisKKworZGVmIF9yZWFkX25hbWUoc29ja2V0KToKKyAgICAjIDQuMSAzMy4g
bGV0IC9uYW1lLyBiZSBlbXB0eSBieXRlIGFycmF5cworICAgIG5hbWUgPSBiJycKKyAgICB3aGls
ZSBUcnVlOgorICAgICAgICAjIDQuMSAzNC4gcmVhZCBhIGJ5dGUgZnJvbSB0aGUgc2VydmVyCisg
ICAgICAgIGNoID0gcmVjZWl2ZV9ieXRlcyhzb2NrZXQsIDEpCisgICAgICAgIGlmIGNoID09IGIn
XHInOiAgIyAweDBECisgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICBlbGlmIGNoID09
IGInXG4nOiAgIyAweDBBCisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oJ1VuZXhwZWN0ZWQg
TEYgd2hlbiByZWFkaW5nIGhlYWRlciBuYW1lICVyJyAlIG5hbWUpCisgICAgICAgIGVsaWYgY2gg
PT0gYic6JzogICMgMHgzQQorICAgICAgICAgICAgcmV0dXJuIG5hbWUubG93ZXIoKQorICAgICAg
ICBlbHNlOgorICAgICAgICAgICAgbmFtZSArPSBjaAorCisKK2RlZiBfc2tpcF9zcGFjZXMoc29j
a2V0KToKKyAgICAjIDQuMSAzNS4gcmVhZCBhIGJ5dGUgZnJvbSB0aGUgc2VydmVyCisgICAgd2hp
bGUgVHJ1ZToKKyAgICAgICAgY2ggPSByZWNlaXZlX2J5dGVzKHNvY2tldCwgMSkKKyAgICAgICAg
aWYgY2ggPT0gYicgJzogICMgMHgyMAorICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgcmV0
dXJuIGNoCisKKworZGVmIF9yZWFkX3ZhbHVlKHNvY2tldCwgY2gpOgorICAgICMgNC4xIDMzLiBs
ZXQgL3ZhbHVlLyBiZSBlbXB0eSBieXRlIGFycmF5cworICAgIHZhbHVlID0gYicnCisgICAgIyA0
LjEgMzYuIHJlYWQgYSBieXRlIGZyb20gc2VydmVyLgorICAgIHdoaWxlIFRydWU6CisgICAgICAg
IGlmIGNoID09IGInXHInOiAgIyAweDBECisgICAgICAgICAgICByZXR1cm4gdmFsdWUKKyAgICAg
ICAgZWxpZiBjaCA9PSBiJ1xuJzogICMgMHgwQQorICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9u
KCdVbmV4cGVjdGVkIExGIHdoZW4gcmVhZGluZyBoZWFkZXIgdmFsdWUgJXInICUKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB2YWx1ZSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHZh
bHVlICs9IGNoCisgICAgICAgIGNoID0gcmVjZWl2ZV9ieXRlcyhzb2NrZXQsIDEpCisKKworZGVm
IHJlYWRfZnJhbWVfaGVhZGVyKHNvY2tldCk6CisKKyAgICBmaXJzdF9ieXRlID0gb3JkKHJlY2Vp
dmVfYnl0ZXMoc29ja2V0LCAxKSkKKyAgICBmaW4gPSAoZmlyc3RfYnl0ZSA+PiA3KSAmIDEKKyAg
ICByc3YxID0gKGZpcnN0X2J5dGUgPj4gNikgJiAxCisgICAgcnN2MiA9IChmaXJzdF9ieXRlID4+
IDUpICYgMQorICAgIHJzdjMgPSAoZmlyc3RfYnl0ZSA+PiA0KSAmIDEKKyAgICBvcGNvZGUgPSBm
aXJzdF9ieXRlICYgMHhmCisKKyAgICBzZWNvbmRfYnl0ZSA9IG9yZChyZWNlaXZlX2J5dGVzKHNv
Y2tldCwgMSkpCisgICAgbWFzayA9IChzZWNvbmRfYnl0ZSA+PiA3KSAmIDEKKyAgICBwYXlsb2Fk
X2xlbmd0aCA9IHNlY29uZF9ieXRlICYgMHg3ZgorCisgICAgaWYgbWFzayAhPSAwOgorICAgICAg
ICByYWlzZSBFeGNlcHRpb24oJ01hc2sgYml0IG11c3QgYmUgMCBmb3IgZnJhbWVzIGNvbWluZyBm
cm9tIHNlcnZlcicpCisKKyAgICBpZiBwYXlsb2FkX2xlbmd0aCA9PSAxMjc6CisgICAgICAgIGV4
dGVuZGVkX3BheWxvYWRfbGVuZ3RoID0gcmVjZWl2ZV9ieXRlcyhzb2NrZXQsIDgpCisgICAgICAg
IHBheWxvYWRfbGVuZ3RoID0gc3RydWN0LnVucGFjaygnIVEnLCBleHRlbmRlZF9wYXlsb2FkX2xl
bmd0aClbMF0KKyAgICAgICAgaWYgcGF5bG9hZF9sZW5ndGggPiAweDdGRkZGRkZGRkZGRkZGRkY6
CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oJ0V4dGVuZGVkIHBheWxvYWQgbGVuZ3RoID49
IDJeNjMnKQorICAgIGVsaWYgcGF5bG9hZF9sZW5ndGggPT0gMTI2OgorICAgICAgICBleHRlbmRl
ZF9wYXlsb2FkX2xlbmd0aCA9IHJlY2VpdmVfYnl0ZXMoc29ja2V0LCAyKQorICAgICAgICBwYXls
b2FkX2xlbmd0aCA9IHN0cnVjdC51bnBhY2soJyFIJywgZXh0ZW5kZWRfcGF5bG9hZF9sZW5ndGgp
WzBdCisKKyAgICByZXR1cm4gZmluLCByc3YxLCByc3YyLCByc3YzLCBvcGNvZGUsIHBheWxvYWRf
bGVuZ3RoCisKKworY2xhc3MgX1RMU1NvY2tldChvYmplY3QpOgorICAgICIiIldyYXBwZXIgZm9y
IGEgVExTIGNvbm5lY3Rpb24uIiIiCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHJhd19zb2NrZXQp
OgorICAgICAgICBzZWxmLl9zc2wgPSBzb2NrZXQuc3NsKHJhd19zb2NrZXQpCisKKyAgICBkZWYg
c2VuZChzZWxmLCBieXRlcyk6CisgICAgICAgIHJldHVybiBzZWxmLl9zc2wud3JpdGUoYnl0ZXMp
CisKKyAgICBkZWYgcmVjdihzZWxmLCBzaXplPS0xKToKKyAgICAgICAgcmV0dXJuIHNlbGYuX3Nz
bC5yZWFkKHNpemUpCisKKyAgICBkZWYgY2xvc2Uoc2VsZik6CisgICAgICAgICMgTm90aGluZyB0
byBkby4KKyAgICAgICAgcGFzcworCisKK2NsYXNzIEh0dHBTdGF0dXNFeGNlcHRpb24oRXhjZXB0
aW9uKToKKyAgICAiIiJUaGlzIGV4Y2VwdGlvbiB3aWxsIGJlIHJhaXNlZCB3aGVuIHVuZXhwZWN0
ZWQgaHR0cCBzdGF0dXMgY29kZSB3YXMKKyAgICByZWNlaXZlZCBhcyBhIHJlc3VsdCBvZiBoYW5k
c2hha2UuCisgICAgIiIiCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIG5hbWUsIHN0YXR1cyk6Cisg
ICAgICAgIHN1cGVyKEh0dHBTdGF0dXNFeGNlcHRpb24sIHNlbGYpLl9faW5pdF9fKG5hbWUpCisg
ICAgICAgIHNlbGYuc3RhdHVzID0gc3RhdHVzCisKKworY2xhc3MgV2ViU29ja2V0SGFuZHNoYWtl
KG9iamVjdCk6CisgICAgIiIiT3BlbmluZyBoYW5kc2hha2UgcHJvY2Vzc29yIGZvciB0aGUgV2Vi
U29ja2V0IHByb3RvY29sIChSRkMgNjQ1NSkuIiIiCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIG9w
dGlvbnMpOgorICAgICAgICBzZWxmLl9sb2dnZXIgPSB1dGlsLmdldF9jbGFzc19sb2dnZXIoc2Vs
ZikKKworICAgICAgICBzZWxmLl9vcHRpb25zID0gb3B0aW9ucworCisgICAgZGVmIGhhbmRzaGFr
ZShzZWxmLCBzb2NrZXQpOgorICAgICAgICAiIiJIYW5kc2hha2UgV2ViU29ja2V0LgorCisgICAg
ICAgIFJhaXNlczoKKyAgICAgICAgICAgIEV4Y2VwdGlvbjogaGFuZHNoYWtlIGZhaWxlZC4KKyAg
ICAgICAgIiIiCisKKyAgICAgICAgc2VsZi5fc29ja2V0ID0gc29ja2V0CisKKyAgICAgICAgcmVx
dWVzdF9saW5lID0gX21ldGhvZF9saW5lKHNlbGYuX29wdGlvbnMucmVzb3VyY2UpCisgICAgICAg
IHNlbGYuX2xvZ2dlci5kZWJ1ZygnT3BlbmluZyBoYW5kc2hha2UgUmVxdWVzdC1MaW5lOiAlcics
IHJlcXVlc3RfbGluZSkKKyAgICAgICAgc2VsZi5fc29ja2V0LnNlbmRhbGwocmVxdWVzdF9saW5l
LmVuY29kZSgnVVRGLTgnKSkKKworICAgICAgICBmaWVsZHMgPSBbXQorICAgICAgICBmaWVsZHMu
YXBwZW5kKF9VUEdSQURFX0hFQURFUikKKyAgICAgICAgZmllbGRzLmFwcGVuZChfQ09OTkVDVElP
Tl9IRUFERVIpCisKKyAgICAgICAgZmllbGRzLmFwcGVuZCgKKyAgICAgICAgICAgIF9mb3JtYXRf
aG9zdF9oZWFkZXIoc2VsZi5fb3B0aW9ucy5zZXJ2ZXJfaG9zdCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc2VsZi5fb3B0aW9ucy5zZXJ2ZXJfcG9ydCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc2VsZi5fb3B0aW9ucy51c2VfdGxzKSkKKworICAgICAgICBpZiBz
ZWxmLl9vcHRpb25zLnZlcnNpb24gaXMgODoKKyAgICAgICAgICAgIGZpZWxkcy5hcHBlbmQoX3Nl
Y19vcmlnaW5faGVhZGVyKHNlbGYuX29wdGlvbnMub3JpZ2luKSkKKyAgICAgICAgZWxzZToKKyAg
ICAgICAgICAgIGZpZWxkcy5hcHBlbmQoX29yaWdpbl9oZWFkZXIoc2VsZi5fb3B0aW9ucy5vcmln
aW4pKQorCisgICAgICAgIG9yaWdpbmFsX2tleSA9IG9zLnVyYW5kb20oMTYpCisgICAgICAgIGtl
eSA9IGJhc2U2NC5iNjRlbmNvZGUob3JpZ2luYWxfa2V5KQorICAgICAgICBzZWxmLl9sb2dnZXIu
ZGVidWcoJ1NlYy1XZWJTb2NrZXQtS2V5OiAlcyAoJXMpJywga2V5LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdXRpbC5oZXhpZnkob3JpZ2luYWxfa2V5KSkKKyAgICAgICAgZmllbGRzLmFw
cGVuZCh1J1NlYy1XZWJTb2NrZXQtS2V5OiAlc1xyXG4nICUga2V5LmRlY29kZSgnVVRGLTgnKSkK
KworICAgICAgICBmaWVsZHMuYXBwZW5kKHUnU2VjLVdlYlNvY2tldC1WZXJzaW9uOiAlZFxyXG4n
ICUgc2VsZi5fb3B0aW9ucy52ZXJzaW9uKQorCisgICAgICAgICMgU2V0dGluZyB1cCBleHRlbnNp
b25zLgorICAgICAgICBpZiBsZW4oc2VsZi5fb3B0aW9ucy5leHRlbnNpb25zKSA+IDA6CisgICAg
ICAgICAgICBmaWVsZHMuYXBwZW5kKHUnU2VjLVdlYlNvY2tldC1FeHRlbnNpb25zOiAlc1xyXG4n
ICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJywgJy5qb2luKHNlbGYuX29wdGlvbnMuZXh0
ZW5zaW9ucykpCisKKyAgICAgICAgc2VsZi5fbG9nZ2VyLmRlYnVnKCdPcGVuaW5nIGhhbmRzaGFr
ZSByZXF1ZXN0IGhlYWRlcnM6ICVyJywgZmllbGRzKQorCisgICAgICAgIGZvciBmaWVsZCBpbiBm
aWVsZHM6CisgICAgICAgICAgICBzZWxmLl9zb2NrZXQuc2VuZGFsbChmaWVsZC5lbmNvZGUoJ1VU
Ri04JykpCisgICAgICAgIHNlbGYuX3NvY2tldC5zZW5kYWxsKGInXHJcbicpCisKKyAgICAgICAg
c2VsZi5fbG9nZ2VyLmluZm8oJ1NlbnQgb3BlbmluZyBoYW5kc2hha2UgcmVxdWVzdCcpCisKKyAg
ICAgICAgZmllbGQgPSBiJycKKyAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgIGNoID0g
cmVjZWl2ZV9ieXRlcyhzZWxmLl9zb2NrZXQsIDEpCisgICAgICAgICAgICBmaWVsZCArPSBjaAor
ICAgICAgICAgICAgaWYgY2ggPT0gYidcbic6CisgICAgICAgICAgICAgICAgYnJlYWsKKworICAg
ICAgICBzZWxmLl9sb2dnZXIuZGVidWcoJ09wZW5pbmcgaGFuZHNoYWtlIFJlc3BvbnNlLUxpbmU6
ICVyJywgZmllbGQpCisKKyAgICAgICAgIyBXaWxsIHJhaXNlIGEgVW5pY29kZURlY29kZUVycm9y
IHdoZW4gdGhlIGRlY29kZSBmYWlscworICAgICAgICBpZiBsZW4oZmllbGQpIDwgNyBvciBub3Qg
ZmllbGQuZW5kc3dpdGgoYidcclxuJyk6CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oJ1dy
b25nIHN0YXR1cyBsaW5lOiAlcycgJSBmaWVsZC5kZWNvZGUoJ0xhdGluLTEnKSkKKyAgICAgICAg
bSA9IHJlLm1hdGNoKGInW14gXSogKFteIF0qKSAuKicsIGZpZWxkKQorICAgICAgICBpZiBtIGlz
IE5vbmU6CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oJ05vIEhUVFAgc3RhdHVzIGNvZGUg
Zm91bmQgaW4gc3RhdHVzIGxpbmU6ICVzJyAlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZmllbGQuZGVjb2RlKCdMYXRpbi0xJykpCisgICAgICAgIGNvZGUgPSBtLmdyb3VwKDEpCisgICAg
ICAgIGlmIG5vdCByZS5tYXRjaChiJ1swLTldWzAtOV1bMC05XSQnLCBjb2RlKToKKyAgICAgICAg
ICAgIHJhaXNlIEV4Y2VwdGlvbigKKyAgICAgICAgICAgICAgICAnSFRUUCBzdGF0dXMgY29kZSAl
cyBpcyBub3QgdGhyZWUgZGlnaXQgaW4gc3RhdHVzIGxpbmU6ICVzJyAlCisgICAgICAgICAgICAg
ICAgKGNvZGUuZGVjb2RlKCdMYXRpbi0xJyksIGZpZWxkLmRlY29kZSgnTGF0aW4tMScpKSkKKyAg
ICAgICAgaWYgY29kZSAhPSBiJzEwMSc6CisgICAgICAgICAgICByYWlzZSBIdHRwU3RhdHVzRXhj
ZXB0aW9uKAorICAgICAgICAgICAgICAgICdFeHBlY3RlZCBIVFRQIHN0YXR1cyBjb2RlIDEwMSBi
dXQgZm91bmQgJXMgaW4gc3RhdHVzIGxpbmU6ICcKKyAgICAgICAgICAgICAgICAnJXInICUgKGNv
ZGUuZGVjb2RlKCdMYXRpbi0xJyksIGZpZWxkLmRlY29kZSgnTGF0aW4tMScpKSwKKyAgICAgICAg
ICAgICAgICBpbnQoY29kZSkpCisgICAgICAgIGZpZWxkcyA9IF9yZWFkX2ZpZWxkcyhzZWxmLl9z
b2NrZXQpCisgICAgICAgIGNoID0gcmVjZWl2ZV9ieXRlcyhzZWxmLl9zb2NrZXQsIDEpCisgICAg
ICAgIGlmIGNoICE9IGInXG4nOiAgIyAweDBBCisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24o
J0V4cGVjdGVkIExGIGJ1dCBmb3VuZDogJXInICUgY2gpCisKKyAgICAgICAgc2VsZi5fbG9nZ2Vy
LmRlYnVnKCdPcGVuaW5nIGhhbmRzaGFrZSByZXNwb25zZSBoZWFkZXJzOiAlcicsIGZpZWxkcykK
KworICAgICAgICAjIENoZWNrIC9maWVsZHMvCisgICAgICAgIGlmIGxlbihmaWVsZHNbJ3VwZ3Jh
ZGUnXSkgIT0gMToKKyAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbignTXVsdGlwbGUgVXBncmFk
ZSBoZWFkZXJzIGZvdW5kOiAlcycgJQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxk
c1sndXBncmFkZSddKQorICAgICAgICBpZiBsZW4oZmllbGRzWydjb25uZWN0aW9uJ10pICE9IDE6
CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oJ011bHRpcGxlIENvbm5lY3Rpb24gaGVhZGVy
cyBmb3VuZDogJXMnICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZHNbJ2Nvbm5l
Y3Rpb24nXSkKKyAgICAgICAgaWYgZmllbGRzWyd1cGdyYWRlJ11bMF0gIT0gJ3dlYnNvY2tldCc6
CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oJ1VuZXhwZWN0ZWQgVXBncmFkZSBoZWFkZXIg
dmFsdWU6ICVzJyAlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGRzWyd1cGdyYWRl
J11bMF0pCisgICAgICAgIGlmIGZpZWxkc1snY29ubmVjdGlvbiddWzBdLmxvd2VyKCkgIT0gJ3Vw
Z3JhZGUnOgorICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCdVbmV4cGVjdGVkIENvbm5lY3Rp
b24gaGVhZGVyIHZhbHVlOiAlcycgJQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxk
c1snY29ubmVjdGlvbiddWzBdKQorCisgICAgICAgIGlmIGxlbihmaWVsZHNbJ3NlYy13ZWJzb2Nr
ZXQtYWNjZXB0J10pICE9IDE6CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oJ011bHRpcGxl
IFNlYy1XZWJTb2NrZXQtQWNjZXB0IGhlYWRlcnMgZm91bmQ6ICVzJyAlCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZmllbGRzWydzZWMtd2Vic29ja2V0LWFjY2VwdCddKQorCisgICAgICAg
IGFjY2VwdCA9IGZpZWxkc1snc2VjLXdlYnNvY2tldC1hY2NlcHQnXVswXQorCisgICAgICAgICMg
VmFsaWRhdGUKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgZGVjb2RlZF9hY2NlcHQgPSBiYXNl
NjQuYjY0ZGVjb2RlKGFjY2VwdCkKKyAgICAgICAgZXhjZXB0IFR5cGVFcnJvciBhcyBlOgorICAg
ICAgICAgICAgcmFpc2UgSGFuZHNoYWtlRXhjZXB0aW9uKAorICAgICAgICAgICAgICAgICdJbGxl
Z2FsIHZhbHVlIGZvciBoZWFkZXIgU2VjLVdlYlNvY2tldC1BY2NlcHQ6ICcgKyBhY2NlcHQpCisK
KyAgICAgICAgaWYgbGVuKGRlY29kZWRfYWNjZXB0KSAhPSAyMDoKKyAgICAgICAgICAgIHJhaXNl
IEhhbmRzaGFrZUV4Y2VwdGlvbigKKyAgICAgICAgICAgICAgICAnRGVjb2RlZCB2YWx1ZSBvZiBT
ZWMtV2ViU29ja2V0LUFjY2VwdCBpcyBub3QgMjAtYnl0ZSBsb25nJykKKworICAgICAgICBzZWxm
Ll9sb2dnZXIuZGVidWcoJ0FjdHVhbCBTZWMtV2ViU29ja2V0LUFjY2VwdDogJXIgKCVzKScsIGFj
Y2VwdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHV0aWwuaGV4aWZ5KGRlY29kZWRfYWNj
ZXB0KSkKKworICAgICAgICBvcmlnaW5hbF9leHBlY3RlZF9hY2NlcHQgPSBzaGExKGtleSArIFdF
QlNPQ0tFVF9BQ0NFUFRfVVVJRCkuZGlnZXN0KCkKKyAgICAgICAgZXhwZWN0ZWRfYWNjZXB0ID0g
YmFzZTY0LmI2NGVuY29kZShvcmlnaW5hbF9leHBlY3RlZF9hY2NlcHQpCisKKyAgICAgICAgc2Vs
Zi5fbG9nZ2VyLmRlYnVnKCdFeHBlY3RlZCBTZWMtV2ViU29ja2V0LUFjY2VwdDogJXIgKCVzKScs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZF9hY2NlcHQsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1dGlsLmhleGlmeShvcmlnaW5hbF9leHBlY3RlZF9hY2NlcHQpKQor
CisgICAgICAgIGlmIGFjY2VwdCAhPSBleHBlY3RlZF9hY2NlcHQuZGVjb2RlKCdVVEYtOCcpOgor
ICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKAorICAgICAgICAgICAgICAgICdJbnZhbGlkIFNl
Yy1XZWJTb2NrZXQtQWNjZXB0IGhlYWRlcjogJXIgKGV4cGVjdGVkKSAhPSAlciAnCisgICAgICAg
ICAgICAgICAgJyhhY3R1YWwpJyAlIChhY2NlcHQsIGV4cGVjdGVkX2FjY2VwdCkpCisKKyAgICAg
ICAgc2VydmVyX2V4dGVuc2lvbnNfaGVhZGVyID0gZmllbGRzLmdldCgnc2VjLXdlYnNvY2tldC1l
eHRlbnNpb25zJykKKyAgICAgICAgYWNjZXB0ZWRfZXh0ZW5zaW9ucyA9IFtdCisgICAgICAgIGlm
IHNlcnZlcl9leHRlbnNpb25zX2hlYWRlciBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGFjY2Vw
dGVkX2V4dGVuc2lvbnMgPSBjb21tb24ucGFyc2VfZXh0ZW5zaW9ucygKKyAgICAgICAgICAgICAg
ICAnLCAnLmpvaW4oc2VydmVyX2V4dGVuc2lvbnNfaGVhZGVyKSkKKworICAgICAgICAjIFNjYW4g
YWNjZXB0ZWQgZXh0ZW5zaW9uIGxpc3QgdG8gY2hlY2sgaWYgdGhlcmUgaXMgYW55IHVucmVjb2du
aXplZAorICAgICAgICAjIGV4dGVuc2lvbnMgb3IgZXh0ZW5zaW9ucyB3ZSBkaWRuJ3QgcmVxdWVz
dCBpbiBpdC4gVGhlbiwgZm9yCisgICAgICAgICMgZXh0ZW5zaW9ucyB3ZSByZXF1ZXN0LCBwYXJz
ZSB0aGVtIGFuZCBzdG9yZSBwYXJhbWV0ZXJzLiBUaGV5IHdpbGwgYmUKKyAgICAgICAgIyB1c2Vk
IGxhdGVyIGJ5IGVhY2ggZXh0ZW5zaW9uLgorICAgICAgICBmb3IgZXh0ZW5zaW9uIGluIGFjY2Vw
dGVkX2V4dGVuc2lvbnM6CisgICAgICAgICAgICBpZiBleHRlbnNpb24ubmFtZSgpID09IF9QRVJN
RVNTQUdFX0RFRkxBVEVfRVhURU5TSU9OOgorICAgICAgICAgICAgICAgIGNoZWNrZXIgPSBzZWxm
Ll9vcHRpb25zLmNoZWNrX3Blcm1lc3NhZ2VfZGVmbGF0ZQorICAgICAgICAgICAgICAgIGlmIGNo
ZWNrZXI6CisgICAgICAgICAgICAgICAgICAgIGNoZWNrZXIoZXh0ZW5zaW9uKQorICAgICAgICAg
ICAgICAgICAgICBjb250aW51ZQorCisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oJ1JlY2Vp
dmVkIHVucmVjb2duaXplZCBleHRlbnNpb246ICVzJyAlCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZXh0ZW5zaW9uLm5hbWUoKSkKKworCitjbGFzcyBXZWJTb2NrZXRTdHJlYW0ob2JqZWN0
KToKKyAgICAiIiJGcmFtZSBwcm9jZXNzb3IgZm9yIHRoZSBXZWJTb2NrZXQgcHJvdG9jb2wgKFJG
QyA2NDU1KS4iIiIKKyAgICBkZWYgX19pbml0X18oc2VsZiwgc29ja2V0LCBoYW5kc2hha2UpOgor
ICAgICAgICBzZWxmLl9oYW5kc2hha2UgPSBoYW5kc2hha2UKKyAgICAgICAgc2VsZi5fc29ja2V0
ID0gc29ja2V0CisKKyAgICAgICAgIyBGaWx0ZXJzIGFwcGxpZWQgdG8gYXBwbGljYXRpb24gZGF0
YSBwYXJ0IG9mIGRhdGEgZnJhbWVzLgorICAgICAgICBzZWxmLl9vdXRnb2luZ19mcmFtZV9maWx0
ZXIgPSBOb25lCisgICAgICAgIHNlbGYuX2luY29taW5nX2ZyYW1lX2ZpbHRlciA9IE5vbmUKKwor
ICAgICAgICBzZWxmLl9mcmFnbWVudGVkID0gRmFsc2UKKworICAgIGRlZiBfbWFza19oeWJpKHNl
bGYsIHMpOgorICAgICAgICAjIFRPRE8odHlvc2hpbm8pOiBvcy51cmFuZG9tIGRvZXMgb3Blbi9y
ZWFkL2Nsb3NlIGZvciBldmVyeSBjYWxsLiBJZgorICAgICAgICAjIHBlcmZvcm1hbmNlIG1hdHRl
cnMsIGNoYW5nZSB0aGlzIHRvIHNvbWUgbGlicmFyeSBjYWxsIHRoYXQgZ2VuZXJhdGVzCisgICAg
ICAgICMgY3J5cHRvZ3JhcGhpY2FsbHkgc2VjdXJlIHBzZXVkbyByYW5kb20gbnVtYmVyIHNlcXVl
bmNlLgorICAgICAgICBtYXNraW5nX25vbmNlID0gb3MudXJhbmRvbSg0KQorICAgICAgICByZXN1
bHQgPSBbbWFza2luZ19ub25jZV0KKyAgICAgICAgY291bnQgPSAwCisgICAgICAgIGZvciBjIGlu
IGl0ZXJieXRlcyhzKToKKyAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQodXRpbC5wYWNrX2J5dGUo
YyBeIGluZGV4Ynl0ZXMobWFza2luZ19ub25jZSwgY291bnQpKSkKKyAgICAgICAgICAgIGNvdW50
ID0gKGNvdW50ICsgMSkgJSBsZW4obWFza2luZ19ub25jZSkKKyAgICAgICAgcmV0dXJuIGInJy5q
b2luKHJlc3VsdCkKKworICAgIGRlZiBzZW5kX2ZyYW1lX29mX2FyYml0cmFyeV9ieXRlcyhzZWxm
LCBoZWFkZXIsIGJvZHkpOgorICAgICAgICBzZWxmLl9zb2NrZXQuc2VuZGFsbChoZWFkZXIgKyBz
ZWxmLl9tYXNrX2h5YmkoYm9keSkpCisKKyAgICBkZWYgc2VuZF9kYXRhKHNlbGYsCisgICAgICAg
ICAgICAgICAgICBwYXlsb2FkLAorICAgICAgICAgICAgICAgICAgZnJhbWVfdHlwZSwKKyAgICAg
ICAgICAgICAgICAgIGVuZD1UcnVlLAorICAgICAgICAgICAgICAgICAgbWFzaz1UcnVlLAorICAg
ICAgICAgICAgICAgICAgcnN2MT0wLAorICAgICAgICAgICAgICAgICAgcnN2Mj0wLAorICAgICAg
ICAgICAgICAgICAgcnN2Mz0wKToKKyAgICAgICAgaWYgc2VsZi5fb3V0Z29pbmdfZnJhbWVfZmls
dGVyIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgcGF5bG9hZCA9IHNlbGYuX291dGdvaW5nX2Zy
YW1lX2ZpbHRlci5maWx0ZXIocGF5bG9hZCkKKworICAgICAgICBpZiBzZWxmLl9mcmFnbWVudGVk
OgorICAgICAgICAgICAgb3Bjb2RlID0gT1BDT0RFX0NPTlRJTlVBVElPTgorICAgICAgICBlbHNl
OgorICAgICAgICAgICAgb3Bjb2RlID0gZnJhbWVfdHlwZQorCisgICAgICAgIGlmIGVuZDoKKyAg
ICAgICAgICAgIHNlbGYuX2ZyYWdtZW50ZWQgPSBGYWxzZQorICAgICAgICAgICAgZmluID0gMQor
ICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5fZnJhZ21lbnRlZCA9IFRydWUKKyAgICAg
ICAgICAgIGZpbiA9IDAKKworICAgICAgICBpZiBtYXNrOgorICAgICAgICAgICAgbWFza19iaXQg
PSAxIDw8IDcKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIG1hc2tfYml0ID0gMAorCisgICAg
ICAgIGhlYWRlciA9IHV0aWwucGFja19ieXRlKGZpbiA8PCA3IHwgcnN2MSA8PCA2IHwgcnN2MiA8
PCA1IHwgcnN2MyA8PCA0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgb3Bjb2Rl
KQorICAgICAgICBwYXlsb2FkX2xlbmd0aCA9IGxlbihwYXlsb2FkKQorICAgICAgICBpZiBwYXls
b2FkX2xlbmd0aCA8PSAxMjU6CisgICAgICAgICAgICBoZWFkZXIgKz0gdXRpbC5wYWNrX2J5dGUo
bWFza19iaXQgfCBwYXlsb2FkX2xlbmd0aCkKKyAgICAgICAgZWxpZiBwYXlsb2FkX2xlbmd0aCA8
IDEgPDwgMTY6CisgICAgICAgICAgICBoZWFkZXIgKz0gdXRpbC5wYWNrX2J5dGUobWFza19iaXQg
fCAxMjYpICsgc3RydWN0LnBhY2soCisgICAgICAgICAgICAgICAgJyFIJywgcGF5bG9hZF9sZW5n
dGgpCisgICAgICAgIGVsaWYgcGF5bG9hZF9sZW5ndGggPCAxIDw8IDYzOgorICAgICAgICAgICAg
aGVhZGVyICs9IHV0aWwucGFja19ieXRlKG1hc2tfYml0IHwgMTI3KSArIHN0cnVjdC5wYWNrKAor
ICAgICAgICAgICAgICAgICchUScsIHBheWxvYWRfbGVuZ3RoKQorICAgICAgICBlbHNlOgorICAg
ICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCdUb28gbG9uZyBwYXlsb2FkICglZCBieXRlKScgJSBw
YXlsb2FkX2xlbmd0aCkKKyAgICAgICAgaWYgbWFzazoKKyAgICAgICAgICAgIHBheWxvYWQgPSBz
ZWxmLl9tYXNrX2h5YmkocGF5bG9hZCkKKyAgICAgICAgc2VsZi5fc29ja2V0LnNlbmRhbGwoaGVh
ZGVyICsgcGF5bG9hZCkKKworICAgIGRlZiBzZW5kX2JpbmFyeShzZWxmLCBwYXlsb2FkLCBlbmQ9
VHJ1ZSwgbWFzaz1UcnVlKToKKyAgICAgICAgc2VsZi5zZW5kX2RhdGEocGF5bG9hZCwgT1BDT0RF
X0JJTkFSWSwgZW5kLCBtYXNrKQorCisgICAgZGVmIHNlbmRfdGV4dChzZWxmLCBwYXlsb2FkLCBl
bmQ9VHJ1ZSwgbWFzaz1UcnVlKToKKyAgICAgICAgc2VsZi5zZW5kX2RhdGEocGF5bG9hZC5lbmNv
ZGUoJ3V0Zi04JyksIE9QQ09ERV9URVhULCBlbmQsIG1hc2spCisKKyAgICBkZWYgX2Fzc2VydF9y
ZWNlaXZlX2RhdGEoc2VsZiwgcGF5bG9hZCwgb3Bjb2RlLCBmaW4sIHJzdjEsIHJzdjIsIHJzdjMp
OgorICAgICAgICAoYWN0dWFsX2ZpbiwgYWN0dWFsX3JzdjEsIGFjdHVhbF9yc3YyLCBhY3R1YWxf
cnN2MywgYWN0dWFsX29wY29kZSwKKyAgICAgICAgIHBheWxvYWRfbGVuZ3RoKSA9IHJlYWRfZnJh
bWVfaGVhZGVyKHNlbGYuX3NvY2tldCkKKworICAgICAgICBpZiBhY3R1YWxfb3Bjb2RlICE9IG9w
Y29kZToKKyAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbignVW5leHBlY3RlZCBvcGNvZGU6ICVk
IChleHBlY3RlZCkgdnMgJWQgKGFjdHVhbCknICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAob3Bjb2RlLCBhY3R1YWxfb3Bjb2RlKSkKKworICAgICAgICBpZiBhY3R1YWxfZmluICE9IGZp
bjoKKyAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbignVW5leHBlY3RlZCBmaW46ICVkIChleHBl
Y3RlZCkgdnMgJWQgKGFjdHVhbCknICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZmlu
LCBhY3R1YWxfZmluKSkKKworICAgICAgICBpZiByc3YxIGlzIE5vbmU6CisgICAgICAgICAgICBy
c3YxID0gMAorCisgICAgICAgIGlmIHJzdjIgaXMgTm9uZToKKyAgICAgICAgICAgIHJzdjIgPSAw
CisKKyAgICAgICAgaWYgcnN2MyBpcyBOb25lOgorICAgICAgICAgICAgcnN2MyA9IDAKKworICAg
ICAgICBpZiBhY3R1YWxfcnN2MSAhPSByc3YxOgorICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9u
KCdVbmV4cGVjdGVkIHJzdjE6ICVyIChleHBlY3RlZCkgdnMgJXIgKGFjdHVhbCknICUKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAocnN2MSwgYWN0dWFsX3JzdjEpKQorCisgICAgICAgIGlm
IGFjdHVhbF9yc3YyICE9IHJzdjI6CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oJ1VuZXhw
ZWN0ZWQgcnN2MjogJXIgKGV4cGVjdGVkKSB2cyAlciAoYWN0dWFsKScgJQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIChyc3YyLCBhY3R1YWxfcnN2MikpCisKKyAgICAgICAgaWYgYWN0dWFs
X3JzdjMgIT0gcnN2MzoKKyAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbignVW5leHBlY3RlZCBy
c3YzOiAlciAoZXhwZWN0ZWQpIHZzICVyIChhY3R1YWwpJyAlCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgKHJzdjMsIGFjdHVhbF9yc3YzKSkKKworICAgICAgICByZWNlaXZlZCA9IHJlY2Vp
dmVfYnl0ZXMoc2VsZi5fc29ja2V0LCBwYXlsb2FkX2xlbmd0aCkKKworICAgICAgICBpZiBzZWxm
Ll9pbmNvbWluZ19mcmFtZV9maWx0ZXIgaXMgbm90IE5vbmU6CisgICAgICAgICAgICByZWNlaXZl
ZCA9IHNlbGYuX2luY29taW5nX2ZyYW1lX2ZpbHRlci5maWx0ZXIocmVjZWl2ZWQpCisKKyAgICAg
ICAgaWYgbGVuKHJlY2VpdmVkKSAhPSBsZW4ocGF5bG9hZCk6CisgICAgICAgICAgICByYWlzZSBF
eGNlcHRpb24oCisgICAgICAgICAgICAgICAgJ1VuZXhwZWN0ZWQgcGF5bG9hZCBsZW5ndGg6ICVk
IChleHBlY3RlZCkgdnMgJWQgKGFjdHVhbCknICUKKyAgICAgICAgICAgICAgICAobGVuKHBheWxv
YWQpLCBsZW4ocmVjZWl2ZWQpKSkKKworICAgICAgICBpZiBwYXlsb2FkICE9IHJlY2VpdmVkOgor
ICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKAorICAgICAgICAgICAgICAgICdVbmV4cGVjdGVk
IHBheWxvYWQ6ICVyIChleHBlY3RlZCkgdnMgJXIgKGFjdHVhbCknICUKKyAgICAgICAgICAgICAg
ICAocGF5bG9hZCwgcmVjZWl2ZWQpKQorCisgICAgZGVmIGFzc2VydF9yZWNlaXZlX2JpbmFyeShz
ZWxmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF5bG9hZCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIG9wY29kZT1PUENPREVfQklOQVJZLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZmluPTEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByc3Yx
PU5vbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByc3YyPU5vbmUsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICByc3YzPU5vbmUpOgorICAgICAgICBzZWxmLl9hc3NlcnRf
cmVjZWl2ZV9kYXRhKHBheWxvYWQsIG9wY29kZSwgZmluLCByc3YxLCByc3YyLCByc3YzKQorCisg
ICAgZGVmIGFzc2VydF9yZWNlaXZlX3RleHQoc2VsZiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwYXlsb2FkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wY29kZT1PUENPREVf
VEVYVCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaW49MSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICByc3YxPU5vbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnN2
Mj1Ob25lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJzdjM9Tm9uZSk6CisgICAgICAg
IHNlbGYuX2Fzc2VydF9yZWNlaXZlX2RhdGEocGF5bG9hZC5lbmNvZGUoJ3V0Zi04JyksIG9wY29k
ZSwgZmluLCByc3YxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJzdjIsIHJz
djMpCisKKyAgICBkZWYgX2J1aWxkX2Nsb3NlX2ZyYW1lKHNlbGYsIGNvZGUsIHJlYXNvbiwgbWFz
ayk6CisgICAgICAgIGZyYW1lID0gdXRpbC5wYWNrX2J5dGUoMSA8PCA3IHwgT1BDT0RFX0NMT1NF
KQorCisgICAgICAgIGlmIGNvZGUgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBib2R5ID0gc3Ry
dWN0LnBhY2soJyFIJywgY29kZSkgKyByZWFzb24uZW5jb2RlKCd1dGYtOCcpCisgICAgICAgIGVs
c2U6CisgICAgICAgICAgICBib2R5ID0gYicnCisgICAgICAgIGlmIG1hc2s6CisgICAgICAgICAg
ICBmcmFtZSArPSB1dGlsLnBhY2tfYnl0ZSgxIDw8IDcgfCBsZW4oYm9keSkpICsgc2VsZi5fbWFz
a19oeWJpKGJvZHkpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBmcmFtZSArPSB1dGlsLnBh
Y2tfYnl0ZShsZW4oYm9keSkpICsgYm9keQorICAgICAgICByZXR1cm4gZnJhbWUKKworICAgIGRl
ZiBzZW5kX2Nsb3NlKHNlbGYsIGNvZGUsIHJlYXNvbik6CisgICAgICAgIHNlbGYuX3NvY2tldC5z
ZW5kYWxsKHNlbGYuX2J1aWxkX2Nsb3NlX2ZyYW1lKGNvZGUsIHJlYXNvbiwgVHJ1ZSkpCisKKyAg
ICBkZWYgYXNzZXJ0X3JlY2VpdmVfY2xvc2Uoc2VsZiwgY29kZSwgcmVhc29uKToKKyAgICAgICAg
ZXhwZWN0ZWRfZnJhbWUgPSBzZWxmLl9idWlsZF9jbG9zZV9mcmFtZShjb2RlLCByZWFzb24sIEZh
bHNlKQorICAgICAgICBhY3R1YWxfZnJhbWUgPSByZWNlaXZlX2J5dGVzKHNlbGYuX3NvY2tldCwg
bGVuKGV4cGVjdGVkX2ZyYW1lKSkKKyAgICAgICAgaWYgYWN0dWFsX2ZyYW1lICE9IGV4cGVjdGVk
X2ZyYW1lOgorICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKAorICAgICAgICAgICAgICAgICdV
bmV4cGVjdGVkIGNsb3NlIGZyYW1lOiAlciAoZXhwZWN0ZWQpIHZzICVyIChhY3R1YWwpJyAlCisg
ICAgICAgICAgICAgICAgKGV4cGVjdGVkX2ZyYW1lLCBhY3R1YWxfZnJhbWUpKQorCisKK2NsYXNz
IENsaWVudE9wdGlvbnMob2JqZWN0KToKKyAgICAiIiJIb2xkcyBvcHRpb24gdmFsdWVzIHRvIGNv
bmZpZ3VyZSB0aGUgQ2xpZW50IG9iamVjdC4iIiIKKyAgICBkZWYgX19pbml0X18oc2VsZik6Cisg
ICAgICAgIHNlbGYudmVyc2lvbiA9IDEzCisgICAgICAgIHNlbGYuc2VydmVyX2hvc3QgPSAnJwor
ICAgICAgICBzZWxmLm9yaWdpbiA9ICcnCisgICAgICAgIHNlbGYucmVzb3VyY2UgPSAnJworICAg
ICAgICBzZWxmLnNlcnZlcl9wb3J0ID0gLTEKKyAgICAgICAgc2VsZi5zb2NrZXRfdGltZW91dCA9
IDEwMDAKKyAgICAgICAgc2VsZi51c2VfdGxzID0gRmFsc2UKKyAgICAgICAgc2VsZi5leHRlbnNp
b25zID0gW10KKworCitkZWYgY29ubmVjdF9zb2NrZXRfd2l0aF9yZXRyeShob3N0LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcG9ydCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHRpbWVvdXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VfdGxzLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0cnk9MTAsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzbGVlcF9zZWM9MC4xKToKKyAgICByZXRyeV9jb3VudCA9IDAKKyAgICB3aGls
ZSByZXRyeV9jb3VudCA8IHJldHJ5OgorICAgICAgICB0cnk6CisgICAgICAgICAgICBzID0gc29j
a2V0LnNvY2tldCgpCisgICAgICAgICAgICBzLnNldHRpbWVvdXQodGltZW91dCkKKyAgICAgICAg
ICAgIHMuY29ubmVjdCgoaG9zdCwgcG9ydCkpCisgICAgICAgICAgICBpZiB1c2VfdGxzOgorICAg
ICAgICAgICAgICAgIHJldHVybiBfVExTU29ja2V0KHMpCisgICAgICAgICAgICByZXR1cm4gcwor
ICAgICAgICBleGNlcHQgc29ja2V0LmVycm9yIGFzIGU6CisgICAgICAgICAgICBpZiBlLmVycm5v
ICE9IGVycm5vLkVDT05OUkVGVVNFRDoKKyAgICAgICAgICAgICAgICByYWlzZQorICAgICAgICAg
ICAgZWxzZToKKyAgICAgICAgICAgICAgICByZXRyeV9jb3VudCA9IHJldHJ5X2NvdW50ICsgMQor
ICAgICAgICAgICAgICAgIHRpbWUuc2xlZXAoc2xlZXBfc2VjKQorCisgICAgcmV0dXJuIE5vbmUK
KworCitjbGFzcyBDbGllbnQob2JqZWN0KToKKyAgICAiIiJXZWJTb2NrZXQgY2xpZW50LiIiIgor
ICAgIGRlZiBfX2luaXRfXyhzZWxmLCBvcHRpb25zLCBoYW5kc2hha2UsIHN0cmVhbV9jbGFzcyk6
CisgICAgICAgIHNlbGYuX2xvZ2dlciA9IHV0aWwuZ2V0X2NsYXNzX2xvZ2dlcihzZWxmKQorCisg
ICAgICAgIHNlbGYuX29wdGlvbnMgPSBvcHRpb25zCisgICAgICAgIHNlbGYuX3NvY2tldCA9IE5v
bmUKKworICAgICAgICBzZWxmLl9oYW5kc2hha2UgPSBoYW5kc2hha2UKKyAgICAgICAgc2VsZi5f
c3RyZWFtX2NsYXNzID0gc3RyZWFtX2NsYXNzCisKKyAgICBkZWYgY29ubmVjdChzZWxmKToKKyAg
ICAgICAgc2VsZi5fc29ja2V0ID0gY29ubmVjdF9zb2NrZXRfd2l0aF9yZXRyeShzZWxmLl9vcHRp
b25zLnNlcnZlcl9ob3N0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHNlbGYuX29wdGlvbnMuc2VydmVyX3BvcnQsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fb3B0aW9ucy5zb2NrZXRfdGltZW91
dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxm
Ll9vcHRpb25zLnVzZV90bHMpCisKKyAgICAgICAgc2VsZi5faGFuZHNoYWtlLmhhbmRzaGFrZShz
ZWxmLl9zb2NrZXQpCisKKyAgICAgICAgc2VsZi5fc3RyZWFtID0gc2VsZi5fc3RyZWFtX2NsYXNz
KHNlbGYuX3NvY2tldCwgc2VsZi5faGFuZHNoYWtlKQorCisgICAgICAgIHNlbGYuX2xvZ2dlci5p
bmZvKCdDb25uZWN0aW9uIGVzdGFibGlzaGVkJykKKworICAgIGRlZiBzZW5kX2ZyYW1lX29mX2Fy
Yml0cmFyeV9ieXRlcyhzZWxmLCBoZWFkZXIsIGJvZHkpOgorICAgICAgICBzZWxmLl9zdHJlYW0u
c2VuZF9mcmFtZV9vZl9hcmJpdHJhcnlfYnl0ZXMoaGVhZGVyLCBib2R5KQorCisgICAgZGVmIHNl
bmRfbWVzc2FnZShzZWxmLAorICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSwKKyAgICAgICAg
ICAgICAgICAgICAgIGVuZD1UcnVlLAorICAgICAgICAgICAgICAgICAgICAgYmluYXJ5PUZhbHNl
LAorICAgICAgICAgICAgICAgICAgICAgcmF3PUZhbHNlLAorICAgICAgICAgICAgICAgICAgICAg
bWFzaz1UcnVlKToKKyAgICAgICAgaWYgYmluYXJ5OgorICAgICAgICAgICAgc2VsZi5fc3RyZWFt
LnNlbmRfYmluYXJ5KG1lc3NhZ2UsIGVuZCwgbWFzaykKKyAgICAgICAgZWxpZiByYXc6CisgICAg
ICAgICAgICBzZWxmLl9zdHJlYW0uc2VuZF9kYXRhKG1lc3NhZ2UsIE9QQ09ERV9URVhULCBlbmQs
IG1hc2spCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLl9zdHJlYW0uc2VuZF90ZXh0
KG1lc3NhZ2UsIGVuZCwgbWFzaykKKworICAgIGRlZiBhc3NlcnRfcmVjZWl2ZShzZWxmLCBwYXls
b2FkLCBiaW5hcnk9RmFsc2UpOgorICAgICAgICBpZiBiaW5hcnk6CisgICAgICAgICAgICBzZWxm
Ll9zdHJlYW0uYXNzZXJ0X3JlY2VpdmVfYmluYXJ5KHBheWxvYWQpCisgICAgICAgIGVsc2U6Cisg
ICAgICAgICAgICBzZWxmLl9zdHJlYW0uYXNzZXJ0X3JlY2VpdmVfdGV4dChwYXlsb2FkKQorCisg
ICAgZGVmIHNlbmRfY2xvc2Uoc2VsZiwgY29kZT1TVEFUVVNfTk9STUFMX0NMT1NVUkUsIHJlYXNv
bj0nJyk6CisgICAgICAgIHNlbGYuX3N0cmVhbS5zZW5kX2Nsb3NlKGNvZGUsIHJlYXNvbikKKwor
ICAgIGRlZiBhc3NlcnRfcmVjZWl2ZV9jbG9zZShzZWxmLCBjb2RlPVNUQVRVU19OT1JNQUxfQ0xP
U1VSRSwgcmVhc29uPScnKToKKyAgICAgICAgc2VsZi5fc3RyZWFtLmFzc2VydF9yZWNlaXZlX2Ns
b3NlKGNvZGUsIHJlYXNvbikKKworICAgIGRlZiBjbG9zZV9zb2NrZXQoc2VsZik6CisgICAgICAg
IHNlbGYuX3NvY2tldC5jbG9zZSgpCisKKyAgICBkZWYgYXNzZXJ0X2Nvbm5lY3Rpb25fY2xvc2Vk
KHNlbGYpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICByZWFkX2RhdGEgPSByZWNlaXZlX2J5
dGVzKHNlbGYuX3NvY2tldCwgMSkKKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAg
ICAgICAgICAgaWYgc3RyKGUpLmZpbmQoCisgICAgICAgICAgICAgICAgICAgICdDb25uZWN0aW9u
IGNsb3NlZCBiZWZvcmUgcmVjZWl2aW5nIHJlcXVlc3RlZCBsZW5ndGggJworICAgICAgICAgICAg
KSA9PSAwOgorICAgICAgICAgICAgICAgIHJldHVybgorICAgICAgICAgICAgdHJ5OgorICAgICAg
ICAgICAgICAgIGVycm9yX251bWJlciwgbWVzc2FnZSA9IGUKKyAgICAgICAgICAgICAgICBmb3Ig
ZXJyb3JfbmFtZSBpbiBbJ0VDT05OUkVTRVQnLCAnV1NBRUNPTk5SRVNFVCddOgorICAgICAgICAg
ICAgICAgICAgICBpZiAoZXJyb3JfbmFtZSBpbiBkaXIoZXJybm8pCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgYW5kIGVycm9yX251bWJlciA9PSBnZXRhdHRyKGVycm5vLCBlcnJvcl9uYW1l
KSk6CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgICAgIGV4Y2VwdDoK
KyAgICAgICAgICAgICAgICByYWlzZSBlCisgICAgICAgICAgICByYWlzZSBlCisKKyAgICAgICAg
cmFpc2UgRXhjZXB0aW9uKCdDb25uZWN0aW9uIGlzIG5vdCBjbG9zZWQgKFJlYWQ6ICVyKScgJSBy
ZWFkX2RhdGEpCisKKworZGVmIGNyZWF0ZV9jbGllbnQob3B0aW9ucyk6CisgICAgcmV0dXJuIENs
aWVudChvcHRpb25zLCBXZWJTb2NrZXRIYW5kc2hha2Uob3B0aW9ucyksIFdlYlNvY2tldFN0cmVh
bSkKKworCisjIHZpOnN0cz00IHN3PTQgZXQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQz
L3Rlc3QvbW9jay5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL3Rlc3QvbW9jay5weQpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5lZWFlZjUyZWNmMDE5N2Y3ZTU3ZjM0NmE3MTU0ODI1MmEzODYxZTY3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90
aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvdGVzdC9tb2NrLnB5CkBAIC0wLDAgKzEsMjI3IEBACisj
IENvcHlyaWdodCAyMDExLCBHb29nbGUgSW5jLgorIyBBbGwgcmlnaHRzIHJlc2VydmVkLgorIwor
IyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorIyBtZXQ6CisjCisjICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisj
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyMgICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZQorIyBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisjIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyMgZGlzdHJpYnV0aW9uLgor
IyAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2Yg
aXRzCisjIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tCisjIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SCisjIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisjIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorIyBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisjIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAorIyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyMgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyIiIk1vY2tzIGZvciB0ZXN0aW5nLgorIiIiCisKK2Zyb20gX19mdXR1
cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0CitpbXBvcnQgc2l4Lm1vdmVzLnF1ZXVlCitpbXBv
cnQgdGhyZWFkaW5nCitpbXBvcnQgc3RydWN0CitpbXBvcnQgc2l4CisKK2Zyb20gbW9kX3B5d2Vi
c29ja2V0IGltcG9ydCBjb21tb24KK2Zyb20gbW9kX3B5d2Vic29ja2V0IGltcG9ydCB1dGlsCitm
cm9tIG1vZF9weXdlYnNvY2tldC5zdHJlYW0gaW1wb3J0IFN0cmVhbQorZnJvbSBtb2RfcHl3ZWJz
b2NrZXQuc3RyZWFtIGltcG9ydCBTdHJlYW1PcHRpb25zCitmcm9tIHNpeC5tb3ZlcyBpbXBvcnQg
cmFuZ2UKKworCitjbGFzcyBfTW9ja0Nvbm5CYXNlKG9iamVjdCk6CisgICAgIiIiQmFzZSBjbGFz
cyBvZiBtb2NrcyBmb3IgbW9kX3B5dGhvbi5hcGFjaGUubXBfY29ubi4KKworICAgIFRoaXMgZW5h
YmxlcyB0ZXN0cyB0byBjaGVjayB3aGF0IGlzIHdyaXR0ZW4gdG8gYSAobW9jaykgbXBfY29ubi4K
KyAgICAiIiIKKyAgICBkZWYgX19pbml0X18oc2VsZik6CisgICAgICAgIHNlbGYuX3dyaXRlX2Rh
dGEgPSBbXQorICAgICAgICBzZWxmLnJlbW90ZV9hZGRyID0gYidmYWtlX2FkZHJlc3MnCisKKyAg
ICBkZWYgd3JpdGUoc2VsZiwgZGF0YSk6CisgICAgICAgICIiIk92ZXJyaWRlIG1vZF9weXRob24u
YXBhY2hlLm1wX2Nvbm4ud3JpdGUuCisKKyAgICAgICAgZGF0YSBzaG91bGQgYmUgYnl0ZXMgd2hl
biB0b3VjaGluZyB0aGlzIG1ldGhvZCBtYW51YWxseS4KKyAgICAgICAgIiIiCisKKyAgICAgICAg
c2VsZi5fd3JpdGVfZGF0YS5hcHBlbmQoZGF0YSkKKworICAgIGRlZiB3cml0dGVuX2RhdGEoc2Vs
Zik6CisgICAgICAgICIiIkdldCBieXRlcyB3cml0dGVuIHRvIHRoaXMgbW9jay4iIiIKKworICAg
ICAgICByZXR1cm4gYicnLmpvaW4oc2VsZi5fd3JpdGVfZGF0YSkKKworCitjbGFzcyBNb2NrQ29u
bihfTW9ja0Nvbm5CYXNlKToKKyAgICAiIiJNb2NrIGZvciBtb2RfcHl0aG9uLmFwYWNoZS5tcF9j
b25uLgorCisgICAgVGhpcyBlbmFibGVzIHRlc3RzIHRvIHNwZWNpZnkgd2hhdCBzaG91bGQgYmUg
cmVhZCBmcm9tIGEgKG1vY2spIG1wX2Nvbm4gYXMKKyAgICB3ZWxsIGFzIHRvIGNoZWNrIHdoYXQg
aXMgd3JpdHRlbiB0byBpdC4KKyAgICAiIiIKKyAgICBkZWYgX19pbml0X18oc2VsZiwgcmVhZF9k
YXRhKToKKyAgICAgICAgIiIiQ29uc3RydWN0cyBhbiBpbnN0YW5jZS4KKworICAgICAgICBBcmdz
OgorICAgICAgICAgICAgcmVhZF9kYXRhOiBieXRlcyB0aGF0IHNob3VsZCBiZSByZXR1cm5lZCB3
aGVuIHJlYWQqIG1ldGhvZHMgYXJlCisgICAgICAgICAgICBjYWxsZWQuCisgICAgICAgICIiIgor
CisgICAgICAgIF9Nb2NrQ29ubkJhc2UuX19pbml0X18oc2VsZikKKyAgICAgICAgc2VsZi5fcmVh
ZF9kYXRhID0gcmVhZF9kYXRhCisgICAgICAgIHNlbGYuX3JlYWRfcG9zID0gMAorCisgICAgZGVm
IHJlYWRsaW5lKHNlbGYpOgorICAgICAgICAiIiJPdmVycmlkZSBtb2RfcHl0aG9uLmFwYWNoZS5t
cF9jb25uLnJlYWRsaW5lLiIiIgorCisgICAgICAgIGlmIHNlbGYuX3JlYWRfcG9zID49IGxlbihz
ZWxmLl9yZWFkX2RhdGEpOgorICAgICAgICAgICAgcmV0dXJuIGInJworICAgICAgICBlbmRfaW5k
ZXggPSBzZWxmLl9yZWFkX2RhdGEuZmluZChiJ1xuJywgc2VsZi5fcmVhZF9wb3MpICsgMQorICAg
ICAgICBpZiBub3QgZW5kX2luZGV4OgorICAgICAgICAgICAgZW5kX2luZGV4ID0gbGVuKHNlbGYu
X3JlYWRfZGF0YSkKKyAgICAgICAgcmV0dXJuIHNlbGYuX3JlYWRfdXBfdG8oZW5kX2luZGV4KQor
CisgICAgZGVmIHJlYWQoc2VsZiwgbGVuZ3RoKToKKyAgICAgICAgIiIiT3ZlcnJpZGUgbW9kX3B5
dGhvbi5hcGFjaGUubXBfY29ubi5yZWFkLiIiIgorCisgICAgICAgIGlmIHNlbGYuX3JlYWRfcG9z
ID49IGxlbihzZWxmLl9yZWFkX2RhdGEpOgorICAgICAgICAgICAgcmV0dXJuIGInJworICAgICAg
ICBlbmRfaW5kZXggPSBtaW4obGVuKHNlbGYuX3JlYWRfZGF0YSksIHNlbGYuX3JlYWRfcG9zICsg
bGVuZ3RoKQorICAgICAgICByZXR1cm4gc2VsZi5fcmVhZF91cF90byhlbmRfaW5kZXgpCisKKyAg
ICBkZWYgX3JlYWRfdXBfdG8oc2VsZiwgZW5kX2luZGV4KToKKyAgICAgICAgbGluZSA9IHNlbGYu
X3JlYWRfZGF0YVtzZWxmLl9yZWFkX3BvczplbmRfaW5kZXhdCisgICAgICAgIHNlbGYuX3JlYWRf
cG9zID0gZW5kX2luZGV4CisgICAgICAgIHJldHVybiBsaW5lCisKKworY2xhc3MgTW9ja0Jsb2Nr
aW5nQ29ubihfTW9ja0Nvbm5CYXNlKToKKyAgICAiIiJCbG9ja2luZyBtb2NrIGZvciBtb2RfcHl0
aG9uLmFwYWNoZS5tcF9jb25uLgorCisgICAgVGhpcyBlbmFibGVzIHRlc3RzIHRvIHNwZWNpZnkg
d2hhdCBzaG91bGQgYmUgcmVhZCBmcm9tIGEgKG1vY2spIG1wX2Nvbm4gYXMKKyAgICB3ZWxsIGFz
IHRvIGNoZWNrIHdoYXQgaXMgd3JpdHRlbiB0byBpdC4KKyAgICBDYWxsZXJzIG9mIHJlYWQqIG1l
dGhvZHMgd2lsbCBibG9jayBpZiB0aGVyZSBpcyBubyBieXRlcyBhdmFpbGFibGUuCisgICAgIiIi
CisgICAgZGVmIF9faW5pdF9fKHNlbGYpOgorICAgICAgICBfTW9ja0Nvbm5CYXNlLl9faW5pdF9f
KHNlbGYpCisgICAgICAgIHNlbGYuX3F1ZXVlID0gc2l4Lm1vdmVzLnF1ZXVlLlF1ZXVlKCkKKwor
ICAgIGRlZiByZWFkbGluZShzZWxmKToKKyAgICAgICAgIiIiT3ZlcnJpZGUgbW9kX3B5dGhvbi5h
cGFjaGUubXBfY29ubi5yZWFkbGluZS4iIiIKKyAgICAgICAgbGluZSA9IGJ5dGVhcnJheSgpCisg
ICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICBjID0gc2VsZi5fcXVldWUuZ2V0KCkKKyAg
ICAgICAgICAgIGxpbmUuYXBwZW5kKGMpCisgICAgICAgICAgICBpZiBjID09IG9yZChiJ1xuJyk6
CisgICAgICAgICAgICAgICAgcmV0dXJuIGJ5dGVzKGxpbmUpCisKKyAgICBkZWYgcmVhZChzZWxm
LCBsZW5ndGgpOgorICAgICAgICAiIiJPdmVycmlkZSBtb2RfcHl0aG9uLmFwYWNoZS5tcF9jb25u
LnJlYWQuIiIiCisKKyAgICAgICAgZGF0YSA9IGJ5dGVhcnJheSgpCisgICAgICAgIGZvciB1bnVz
ZWQgaW4gcmFuZ2UobGVuZ3RoKToKKyAgICAgICAgICAgIGRhdGEuYXBwZW5kKHNlbGYuX3F1ZXVl
LmdldCgpKQorCisgICAgICAgIHJldHVybiBieXRlcyhkYXRhKQorCisgICAgZGVmIHB1dF9ieXRl
cyhzZWxmLCBieXRlcyk6CisgICAgICAgICIiIlB1dCBieXRlcyB0byBiZSByZWFkIGZyb20gdGhp
cyBtb2NrLgorCisgICAgICAgIEFyZ3M6CisgICAgICAgICAgICBieXRlczogYnl0ZXMgdG8gYmUg
cmVhZC4KKyAgICAgICAgIiIiCisKKyAgICAgICAgZm9yIGJ5dGUgaW4gc2l4Lml0ZXJieXRlcyhi
eXRlcyk6CisgICAgICAgICAgICBzZWxmLl9xdWV1ZS5wdXQoYnl0ZSkKKworCitjbGFzcyBNb2Nr
VGFibGUoZGljdCk6CisgICAgIiIiTW9jayB0YWJsZS4KKworICAgIFRoaXMgbWltaWNzIG1vZF9w
eXRob24gbXBfdGFibGUuIE5vdGUgdGhhdCBvbmx5IHRoZSBtZXRob2RzIHVzZWQgYnkKKyAgICB0
ZXN0cyBhcmUgb3ZlcnJpZGRlbi4KKyAgICAiIiIKKyAgICBkZWYgX19pbml0X18oc2VsZiwgY29w
eV9mcm9tPXt9KToKKyAgICAgICAgaWYgaXNpbnN0YW5jZShjb3B5X2Zyb20sIGRpY3QpOgorICAg
ICAgICAgICAgY29weV9mcm9tID0gbGlzdChjb3B5X2Zyb20uaXRlbXMoKSkKKyAgICAgICAgZm9y
IGtleSwgdmFsdWUgaW4gY29weV9mcm9tOgorICAgICAgICAgICAgc2VsZi5fX3NldGl0ZW1fXyhr
ZXksIHZhbHVlKQorCisgICAgZGVmIF9fZ2V0aXRlbV9fKHNlbGYsIGtleSk6CisgICAgICAgIHJl
dHVybiBzdXBlcihNb2NrVGFibGUsIHNlbGYpLl9fZ2V0aXRlbV9fKGtleS5sb3dlcigpKQorCisg
ICAgZGVmIF9fc2V0aXRlbV9fKHNlbGYsIGtleSwgdmFsdWUpOgorICAgICAgICBzdXBlcihNb2Nr
VGFibGUsIHNlbGYpLl9fc2V0aXRlbV9fKGtleS5sb3dlcigpLCB2YWx1ZSkKKworICAgIGRlZiBn
ZXQoc2VsZiwga2V5LCBkZWZfdmFsdWU9Tm9uZSk6CisgICAgICAgIHJldHVybiBzdXBlcihNb2Nr
VGFibGUsIHNlbGYpLmdldChrZXkubG93ZXIoKSwgZGVmX3ZhbHVlKQorCisKK2NsYXNzIE1vY2tS
ZXF1ZXN0KG9iamVjdCk6CisgICAgIiIiTW9jayByZXF1ZXN0LgorCisgICAgVGhpcyBtaW1pY3Mg
bW9kX3B5dGhvbiByZXF1ZXN0LgorICAgICIiIgorICAgIGRlZiBfX2luaXRfXyhzZWxmLAorICAg
ICAgICAgICAgICAgICB1cmk9Tm9uZSwKKyAgICAgICAgICAgICAgICAgaGVhZGVyc19pbj17fSwK
KyAgICAgICAgICAgICAgICAgY29ubmVjdGlvbj1Ob25lLAorICAgICAgICAgICAgICAgICBtZXRo
b2Q9J0dFVCcsCisgICAgICAgICAgICAgICAgIHByb3RvY29sPSdIVFRQLzEuMScsCisgICAgICAg
ICAgICAgICAgIGlzX2h0dHBzPUZhbHNlKToKKyAgICAgICAgIiIiQ29uc3RydWN0IGFuIGluc3Rh
bmNlLgorCisgICAgICAgIEFyZ3VtZW50czoKKyAgICAgICAgICAgIHVyaTogVVJJIG9mIHRoZSBy
ZXF1ZXN0LgorICAgICAgICAgICAgaGVhZGVyc19pbjogUmVxdWVzdCBoZWFkZXJzLgorICAgICAg
ICAgICAgY29ubmVjdGlvbjogQ29ubmVjdGlvbiB1c2VkIGZvciB0aGUgcmVxdWVzdC4KKyAgICAg
ICAgICAgIG1ldGhvZDogcmVxdWVzdCBtZXRob2QuCisgICAgICAgICAgICBpc19odHRwczogV2hl
dGhlciB0aGlzIHJlcXVlc3QgaXMgb3ZlciBTU0wuCisKKyAgICAgICAgU2VlIHRoZSBkb2N1bWVu
dCBvZiBtb2RfcHl0aG9uIFJlcXVlc3QgZm9yIGRldGFpbHMuCisgICAgICAgICIiIgorICAgICAg
ICBzZWxmLnVyaSA9IHVyaQorICAgICAgICBzZWxmLnVucGFyc2VkX3VyaSA9IHVyaQorICAgICAg
ICBzZWxmLmNvbm5lY3Rpb24gPSBjb25uZWN0aW9uCisgICAgICAgIHNlbGYubWV0aG9kID0gbWV0
aG9kCisgICAgICAgIHNlbGYucHJvdG9jb2wgPSBwcm90b2NvbAorICAgICAgICBzZWxmLmhlYWRl
cnNfaW4gPSBNb2NrVGFibGUoaGVhZGVyc19pbikKKyAgICAgICAgIyBzZWxmLmlzX2h0dHBzXyBu
ZWVkcyB0byBiZSBhY2Nlc3NpYmxlIGZyb20gdGVzdHMuICBUbyBhdm9pZCBuYW1lCisgICAgICAg
ICMgY29uZmxpY3Qgd2l0aCBzZWxmLmlzX2h0dHBzKCksIGl0IGlzIG5hbWVkIGFzIHN1Y2guCisg
ICAgICAgIHNlbGYuaXNfaHR0cHNfID0gaXNfaHR0cHMKKyAgICAgICAgc2VsZi53c19zdHJlYW0g
PSBTdHJlYW0oc2VsZiwgU3RyZWFtT3B0aW9ucygpKQorICAgICAgICBzZWxmLndzX2Nsb3NlX2Nv
ZGUgPSBOb25lCisgICAgICAgIHNlbGYud3NfY2xvc2VfcmVhc29uID0gTm9uZQorICAgICAgICBz
ZWxmLndzX3ZlcnNpb24gPSBjb21tb24uVkVSU0lPTl9IWUJJX0xBVEVTVAorICAgICAgICBzZWxm
LndzX2RlZmxhdGUgPSBGYWxzZQorCisgICAgZGVmIGlzX2h0dHBzKHNlbGYpOgorICAgICAgICAi
IiJSZXR1cm4gd2hldGhlciB0aGlzIHJlcXVlc3QgaXMgb3ZlciBTU0wuIiIiCisgICAgICAgIHJl
dHVybiBzZWxmLmlzX2h0dHBzXworCisKK2NsYXNzIE1vY2tEaXNwYXRjaGVyKG9iamVjdCk6Cisg
ICAgIiIiTW9jayBmb3IgZGlzcGF0Y2guRGlzcGF0Y2hlci4iIiIKKyAgICBkZWYgX19pbml0X18o
c2VsZik6CisgICAgICAgIHNlbGYuZG9fZXh0cmFfaGFuZHNoYWtlX2NhbGxlZCA9IEZhbHNlCisK
KyAgICBkZWYgZG9fZXh0cmFfaGFuZHNoYWtlKHNlbGYsIGNvbm5fY29udGV4dCk6CisgICAgICAg
IHNlbGYuZG9fZXh0cmFfaGFuZHNoYWtlX2NhbGxlZCA9IFRydWUKKworICAgIGRlZiB0cmFuc2Zl
cl9kYXRhKHNlbGYsIGNvbm5fY29udGV4dCk6CisgICAgICAgIHBhc3MKKworCisjIHZpOnN0cz00
IHN3PTQgZXQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL3Rlc3QvcnVuX2FsbC5weSBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRf
cGFydHkvcHl3ZWJzb2NrZXQzL3Rlc3QvcnVuX2FsbC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNjIyMDE1NTM5
ZTQ3ZmRmNTE4ODc1MTU4ZjZiZDZmMzY5OTRmYWJhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9w
eXdlYnNvY2tldDMvdGVzdC9ydW5fYWxsLnB5CkBAIC0wLDAgKzEsODcgQEAKKyMhL3Vzci9iaW4v
ZW52IHB5dGhvbgorIworIyBDb3B5cmlnaHQgMjAxMSwgR29vZ2xlIEluYy4KKyMgQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyMgbWV0OgorIwor
IyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorIyBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorIyBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisj
IGRpc3RyaWJ1dGlvbi4KKyMgICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBu
b3IgdGhlIG5hbWVzIG9mIGl0cworIyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorIyB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorIworIyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisj
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorIyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorIyBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwK
KyMgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisjIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisiIiJSdW4gYWxsIHRlc3RzIGluIHRoZSBz
YW1lIGRpcmVjdG9yeS4KKworVGhpcyBzdWl0ZSBpcyBleHBlY3RlZCB0byBiZSBydW4gdW5kZXIg
cHl3ZWJzb2NrZXQncyBzcmMgZGlyZWN0b3J5LCBpLmUuIHRoZQorZGlyZWN0b3J5IGNvbnRhaW5p
bmcgbW9kX3B5d2Vic29ja2V0LCB0ZXN0LCBldGMuCisKK1RvIGNoYW5nZSBsb2dnaW4gbGV2ZWws
IHBsZWFzZSBzcGVjaWZ5IC0tbG9nLWxldmVsIG9wdGlvbi4KKyAgICBweXRob24gdGVzdC9ydW5f
dGVzdC5weSAtLWxvZy1sZXZlbCBkZWJ1ZworCitUbyBwYXNzIGFueSBvcHRpb24gdG8gdW5pdHRl
c3QgbW9kdWxlLCBwbGVhc2Ugc3BlY2lmeSBvcHRpb25zIGFmdGVyICctLScuIEZvcgorZXhhbXBs
ZSwgcnVuIHRoaXMgZm9yIG1ha2luZyB0aGUgdGVzdCBydW5uZXIgdmVyYm9zZS4KKyAgICBweXRo
b24gdGVzdC9ydW5fdGVzdC5weSAtLWxvZy1sZXZlbCBkZWJ1ZyAtLSAtdgorIiIiCisKK2Zyb20g
X19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0CitpbXBvcnQgbG9nZ2luZworaW1wb3J0
IG9wdHBhcnNlCitpbXBvcnQgb3MKK2ltcG9ydCByZQoraW1wb3J0IHN5cworaW1wb3J0IHVuaXR0
ZXN0CisKK19URVNUX01PRFVMRV9QQVRURVJOID0gcmUuY29tcGlsZShyJ14odGVzdF8uKylcLnB5
JCcpCisKKworZGVmIF9saXN0X3Rlc3RfbW9kdWxlcyhkaXJlY3RvcnkpOgorICAgIG1vZHVsZV9u
YW1lcyA9IFtdCisgICAgZm9yIGZpbGVuYW1lIGluIG9zLmxpc3RkaXIoZGlyZWN0b3J5KToKKyAg
ICAgICAgbWF0Y2ggPSBfVEVTVF9NT0RVTEVfUEFUVEVSTi5zZWFyY2goZmlsZW5hbWUpCisgICAg
ICAgIGlmIG1hdGNoOgorICAgICAgICAgICAgbW9kdWxlX25hbWVzLmFwcGVuZChtYXRjaC5ncm91
cCgxKSkKKyAgICByZXR1cm4gbW9kdWxlX25hbWVzCisKKworZGVmIF9zdWl0ZSgpOgorICAgIGxv
YWRlciA9IHVuaXR0ZXN0LlRlc3RMb2FkZXIoKQorICAgIHJldHVybiBsb2FkZXIubG9hZFRlc3Rz
RnJvbU5hbWVzKAorICAgICAgICBfbGlzdF90ZXN0X21vZHVsZXMob3MucGF0aC5qb2luKG9zLnBh
dGguc3BsaXQoX19maWxlX18pWzBdLCAnLicpKSkKKworCitpZiBfX25hbWVfXyA9PSAnX19tYWlu
X18nOgorICAgIHBhcnNlciA9IG9wdHBhcnNlLk9wdGlvblBhcnNlcigpCisgICAgcGFyc2VyLmFk
ZF9vcHRpb24oCisgICAgICAgICctLWxvZy1sZXZlbCcsCisgICAgICAgICctLWxvZ19sZXZlbCcs
CisgICAgICAgIHR5cGU9J2Nob2ljZScsCisgICAgICAgIGRlc3Q9J2xvZ19sZXZlbCcsCisgICAg
ICAgIGRlZmF1bHQ9J3dhcm5pbmcnLAorICAgICAgICBjaG9pY2VzPVsnZGVidWcnLCAnaW5mbycs
ICd3YXJuaW5nJywgJ3dhcm4nLCAnZXJyb3InLCAnY3JpdGljYWwnXSkKKyAgICBvcHRpb25zLCBh
cmdzID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQorICAgIGxvZ2dpbmcuYmFzaWNDb25maWcobGV2ZWw9
bG9nZ2luZy5nZXRMZXZlbE5hbWUob3B0aW9ucy5sb2dfbGV2ZWwudXBwZXIoKSksCisgICAgICAg
ICAgICAgICAgICAgICAgICBmb3JtYXQ9JyUobGV2ZWxuYW1lKXMgJShhc2N0aW1lKXMgJworICAg
ICAgICAgICAgICAgICAgICAgICAgJyUoZmlsZW5hbWUpczolKGxpbmVubylkXSAnCisgICAgICAg
ICAgICAgICAgICAgICAgICAnJShtZXNzYWdlKXMnLAorICAgICAgICAgICAgICAgICAgICAgICAg
ZGF0ZWZtdD0nJUg6JU06JVMnKQorICAgIHVuaXR0ZXN0Lm1haW4oZGVmYXVsdFRlc3Q9J19zdWl0
ZScsIGFyZ3Y9W3N5cy5hcmd2WzBdXSArIGFyZ3MpCisKKyMgdmk6c3RzPTQgc3c9NCBldApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvdGVzdC9zZXRfc3lzX3BhdGgucHkgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5
d2Vic29ja2V0My90ZXN0L3NldF9zeXNfcGF0aC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZmNlN2IzNGI2NzUx
ZDYzNWRjZGE2ZTBkNGE1NzExOTUxYTBhMzNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9weXdl
YnNvY2tldDMvdGVzdC9zZXRfc3lzX3BhdGgucHkKQEAgLTAsMCArMSw0MSBAQAorIyBDb3B5cmln
aHQgMjAwOSwgR29vZ2xlIEluYy4KKyMgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKyMgbWV0OgorIworIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisj
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisjIGRpc3RyaWJ1dGlvbi4KKyMgICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworIyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQorIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisjICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgorIyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVAorIyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyMgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwKKyMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisiIiJDb25maWd1cmF0aW9uIGZvciB0ZXN0aW5nLgorCitUZXN0IGZpbGVzIHNob3Vs
ZCBpbXBvcnQgdGhpcyBtb2R1bGUgYmVmb3JlIG1vZF9weXdlYnNvY2tldC4KKyIiIgorCitmcm9t
IF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydAoraW1wb3J0IG9zCitpbXBvcnQgc3lz
CisKKyMgQWRkIHRoZSBwYXJlbnQgZGlyZWN0b3J5IHRvIHN5cy5wYXRoIHRvIGVuYWJsZSBpbXBv
cnRpbmcgbW9kX3B5d2Vic29ja2V0Lgorc3lzLnBhdGguaW5zZXJ0KDAsIG9zLnBhdGguam9pbihv
cy5wYXRoLnNwbGl0KF9fZmlsZV9fKVswXSwgJy4uJykpCisKKyMgdmk6c3RzPTQgc3c9NCBldApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvdGVzdC90ZXN0X2Rpc3BhdGNoLnB5IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0
eS9weXdlYnNvY2tldDMvdGVzdC90ZXN0X2Rpc3BhdGNoLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFlNjM5ODBm
MjU4MWY5ZjYxMzZlODVkYzE2YmI2NGNjYmUzNzNkYzkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5
L3B5d2Vic29ja2V0My90ZXN0L3Rlc3RfZGlzcGF0Y2gucHkKQEAgLTAsMCArMSwyOTggQEAKKyMh
L3Vzci9iaW4vZW52IHB5dGhvbgorIworIyBDb3B5cmlnaHQgMjAxMSwgR29vZ2xlIEluYy4KKyMg
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyMg
bWV0OgorIworIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyMgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgor
IyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlCisjIGRpc3RyaWJ1dGlvbi4KKyMgICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29n
bGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworIyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorIyB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorIworIyBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCisjICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorIyBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorIyBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKKyMgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyMgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisjIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisiIiJUZXN0cyBmb3IgZGlz
cGF0Y2ggbW9kdWxlLiIiIgorCitmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9y
dAoraW1wb3J0IG9zCitpbXBvcnQgdW5pdHRlc3QKKworaW1wb3J0IHNldF9zeXNfcGF0aCAgIyBV
cGRhdGUgc3lzLnBhdGggdG8gbG9jYXRlIG1vZF9weXdlYnNvY2tldCBtb2R1bGUuCisKK2Zyb20g
bW9kX3B5d2Vic29ja2V0IGltcG9ydCBkaXNwYXRjaAorZnJvbSBtb2RfcHl3ZWJzb2NrZXQgaW1w
b3J0IGhhbmRzaGFrZQorZnJvbSB0ZXN0IGltcG9ydCBtb2NrCitmcm9tIHNpeC5tb3ZlcyBpbXBv
cnQgemlwCisKK19URVNUX0hBTkRMRVJTX0RJUiA9IG9zLnBhdGguam9pbigKKyAgICBvcy5wYXRo
LnNwbGl0KF9fZmlsZV9fKVswXSwgJ3Rlc3RkYXRhJywgJ2hhbmRsZXJzJykKKworX1RFU1RfSEFO
RExFUlNfU1VCX0RJUiA9IG9zLnBhdGguam9pbihfVEVTVF9IQU5ETEVSU19ESVIsICdzdWInKQor
CisKK2NsYXNzIERpc3BhdGNoZXJUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICAiIiJBIHVu
aXR0ZXN0IGZvciBkaXNwYXRjaCBtb2R1bGUuIiIiCisgICAgZGVmIHRlc3Rfbm9ybWFsaXplX3Bh
dGgoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBvcy5wYXRo
LmFic3BhdGgoJy9hL2InKS5yZXBsYWNlKCdcXCcsICcvJyksCisgICAgICAgICAgICBkaXNwYXRj
aC5fbm9ybWFsaXplX3BhdGgoJy9hL2InKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAg
ICAgICAgICAgIG9zLnBhdGguYWJzcGF0aCgnL2EvYicpLnJlcGxhY2UoJ1xcJywgJy8nKSwKKyAg
ICAgICAgICAgIGRpc3BhdGNoLl9ub3JtYWxpemVfcGF0aCgnXFxhXFxiJykpCisgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBvcy5wYXRoLmFic3BhdGgoJy9hL2InKS5yZXBs
YWNlKCdcXCcsICcvJyksCisgICAgICAgICAgICBkaXNwYXRjaC5fbm9ybWFsaXplX3BhdGgoJy9h
L2MvLi4vYicpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgb3MucGF0
aC5hYnNwYXRoKCdhYmMnKS5yZXBsYWNlKCdcXCcsICcvJyksCisgICAgICAgICAgICBkaXNwYXRj
aC5fbm9ybWFsaXplX3BhdGgoJ2FiYycpKQorCisgICAgZGVmIHRlc3RfY29udmVydGVyKHNlbGYp
OgorICAgICAgICBjb252ZXJ0ZXIgPSBkaXNwYXRjaC5fY3JlYXRlX3BhdGhfdG9fcmVzb3VyY2Vf
Y29udmVydGVyKCcvYS9iJykKKyAgICAgICAgIyBQeXRob24gYnVpbHQgYnkgTVNDIGluc2VydHMg
YSBkcml2ZSBuYW1lIGxpa2UgJ0M6XCcgdmlhIHJlYWxwYXRoKCkuCisgICAgICAgICMgQ29udmVy
dGVyIEdlbmVyYXRvciBleHBhbmRzIHByb3ZpZGVkIHBhdGggdXNpbmcgcmVhbHBhdGgoKSBhbmQg
dXNlcworICAgICAgICAjIHRoZSBwYXRoIGluY2x1ZGluZyBhIGRyaXZlIG5hbWUgdG8gdmVyaWZ5
IHRoZSBwcmVmaXguCisgICAgICAgIG9zX3Jvb3QgPSBvcy5wYXRoLnJlYWxwYXRoKCcvJykKKyAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnL2gnLCBjb252ZXJ0ZXIob3Nfcm9vdCArICdhL2IvaF93
c2gucHknKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnL2MvaCcsIGNvbnZlcnRlcihvc19y
b290ICsgJ2EvYi9jL2hfd3NoLnB5JykpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoTm9uZSwg
Y29udmVydGVyKG9zX3Jvb3QgKyAnYS9iL2gucHknKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChOb25lLCBjb252ZXJ0ZXIoJ2EvYi9oX3dzaC5weScpKQorCisgICAgICAgIGNvbnZlcnRlciA9
IGRpc3BhdGNoLl9jcmVhdGVfcGF0aF90b19yZXNvdXJjZV9jb252ZXJ0ZXIoJ2EvYicpCisgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoJy9oJywKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb252
ZXJ0ZXIoZGlzcGF0Y2guX25vcm1hbGl6ZV9wYXRoKCdhL2IvaF93c2gucHknKSkpCisKKyAgICAg
ICAgY29udmVydGVyID0gZGlzcGF0Y2guX2NyZWF0ZV9wYXRoX3RvX3Jlc291cmNlX2NvbnZlcnRl
cignL2EvYi8vLycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJy9oJywgY29udmVydGVyKG9z
X3Jvb3QgKyAnYS9iL2hfd3NoLnB5JykpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAg
ICAgICAgICAnL2gnLCBjb252ZXJ0ZXIoZGlzcGF0Y2guX25vcm1hbGl6ZV9wYXRoKCcvYS9iLy4u
L2IvaF93c2gucHknKSkpCisKKyAgICAgICAgY29udmVydGVyID0gZGlzcGF0Y2guX2NyZWF0ZV9w
YXRoX3RvX3Jlc291cmNlX2NvbnZlcnRlcigKKyAgICAgICAgICAgICcvYS8uLi9hL2IvLi4vYi8n
KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCcvaCcsIGNvbnZlcnRlcihvc19yb290ICsgJ2Ev
Yi9oX3dzaC5weScpKQorCisgICAgICAgIGNvbnZlcnRlciA9IGRpc3BhdGNoLl9jcmVhdGVfcGF0
aF90b19yZXNvdXJjZV9jb252ZXJ0ZXIocidcYVxiJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bCgnL2gnLCBjb252ZXJ0ZXIob3Nfcm9vdCArIHInYVxiXGhfd3NoLnB5JykpCisgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwoJy9oJywgY29udmVydGVyKG9zX3Jvb3QgKyByJ2EvYi9oX3dzaC5weScp
KQorCisgICAgZGVmIHRlc3RfZW51bWVyYXRlX2hhbmRsZXJfZmlsZV9wYXRocyhzZWxmKToKKyAg
ICAgICAgcGF0aHMgPSBsaXN0KAorICAgICAgICAgICAgZGlzcGF0Y2guX2VudW1lcmF0ZV9oYW5k
bGVyX2ZpbGVfcGF0aHMoX1RFU1RfSEFORExFUlNfRElSKSkKKyAgICAgICAgcGF0aHMuc29ydCgp
CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoOCwgbGVuKHBhdGhzKSkKKyAgICAgICAgZXhwZWN0
ZWRfcGF0aHMgPSBbCisgICAgICAgICAgICBvcy5wYXRoLmpvaW4oX1RFU1RfSEFORExFUlNfRElS
LCAnYWJvcnRfYnlfdXNlcl93c2gucHknKSwKKyAgICAgICAgICAgIG9zLnBhdGguam9pbihfVEVT
VF9IQU5ETEVSU19ESVIsICdibGFua193c2gucHknKSwKKyAgICAgICAgICAgIG9zLnBhdGguam9p
bihfVEVTVF9IQU5ETEVSU19ESVIsICdvcmlnaW5fY2hlY2tfd3NoLnB5JyksCisgICAgICAgICAg
ICBvcy5wYXRoLmpvaW4oX1RFU1RfSEFORExFUlNfRElSLCAnc3ViJywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAnZXhjZXB0aW9uX2luX3RyYW5zZmVyX3dzaC5weScpLAorICAgICAgICAgICAg
b3MucGF0aC5qb2luKF9URVNUX0hBTkRMRVJTX0RJUiwgJ3N1YicsICdub25fY2FsbGFibGVfd3No
LnB5JyksCisgICAgICAgICAgICBvcy5wYXRoLmpvaW4oX1RFU1RfSEFORExFUlNfRElSLCAnc3Vi
JywgJ3BsYWluX3dzaC5weScpLAorICAgICAgICAgICAgb3MucGF0aC5qb2luKF9URVNUX0hBTkRM
RVJTX0RJUiwgJ3N1YicsCisgICAgICAgICAgICAgICAgICAgICAgICAgJ3dyb25nX2hhbmRzaGFr
ZV9zaWdfd3NoLnB5JyksCisgICAgICAgICAgICBvcy5wYXRoLmpvaW4oX1RFU1RfSEFORExFUlNf
RElSLCAnc3ViJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAnd3JvbmdfdHJhbnNmZXJfc2ln
X3dzaC5weScpLAorICAgICAgICBdCisgICAgICAgIGZvciBleHBlY3RlZCwgYWN0dWFsIGluIHpp
cChleHBlY3RlZF9wYXRocywgcGF0aHMpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChl
eHBlY3RlZCwgYWN0dWFsKQorCisgICAgZGVmIHRlc3Rfc291cmNlX2hhbmRsZXJfZmlsZShzZWxm
KToKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoZGlzcGF0Y2guRGlzcGF0Y2hFeGNlcHRpb24s
CisgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BhdGNoLl9zb3VyY2VfaGFuZGxlcl9maWxl
LCAnJykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoZGlzcGF0Y2guRGlzcGF0Y2hFeGNlcHRp
b24sCisgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BhdGNoLl9zb3VyY2VfaGFuZGxlcl9m
aWxlLCAnZGVmJykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoZGlzcGF0Y2guRGlzcGF0Y2hF
eGNlcHRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BhdGNoLl9zb3VyY2VfaGFu
ZGxlcl9maWxlLCAnMS8wJykKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKAorICAgICAgICAgICAg
ZGlzcGF0Y2guX3NvdXJjZV9oYW5kbGVyX2ZpbGUoCisgICAgICAgICAgICAgICAgJ2RlZiB3ZWJf
c29ja2V0X2RvX2V4dHJhX2hhbmRzaGFrZShyZXF1ZXN0KTpwYXNzXG4nCisgICAgICAgICAgICAg
ICAgJ2RlZiB3ZWJfc29ja2V0X3RyYW5zZmVyX2RhdGEocmVxdWVzdCk6cGFzc1xuJykpCisKKyAg
ICBkZWYgdGVzdF9zb3VyY2Vfd2FybmluZ3Moc2VsZik6CisgICAgICAgIGRpc3BhdGNoZXIgPSBk
aXNwYXRjaC5EaXNwYXRjaGVyKF9URVNUX0hBTkRMRVJTX0RJUiwgTm9uZSkKKyAgICAgICAgd2Fy
bmluZ3MgPSBkaXNwYXRjaGVyLnNvdXJjZV93YXJuaW5ncygpCisgICAgICAgIHdhcm5pbmdzLnNv
cnQoKQorICAgICAgICBleHBlY3RlZF93YXJuaW5ncyA9IFsKKyAgICAgICAgICAgIChvcy5wYXRo
LnJlYWxwYXRoKG9zLnBhdGguam9pbihfVEVTVF9IQU5ETEVSU19ESVIsICdibGFua193c2gucHkn
KSkKKyAgICAgICAgICAgICArICc6IHdlYl9zb2NrZXRfZG9fZXh0cmFfaGFuZHNoYWtlIGlzIG5v
dCBkZWZpbmVkLicpLAorICAgICAgICAgICAgKG9zLnBhdGgucmVhbHBhdGgoCisgICAgICAgICAg
ICAgICAgb3MucGF0aC5qb2luKF9URVNUX0hBTkRMRVJTX0RJUiwgJ3N1YicsICdub25fY2FsbGFi
bGVfd3NoLnB5JykpCisgICAgICAgICAgICAgKyAnOiB3ZWJfc29ja2V0X2RvX2V4dHJhX2hhbmRz
aGFrZSBpcyBub3QgY2FsbGFibGUuJyksCisgICAgICAgICAgICAob3MucGF0aC5yZWFscGF0aCgK
KyAgICAgICAgICAgICAgICBvcy5wYXRoLmpvaW4oX1RFU1RfSEFORExFUlNfRElSLCAnc3ViJywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dyb25nX2hhbmRzaGFrZV9zaWdfd3NoLnB5
JykpICsKKyAgICAgICAgICAgICAnOiB3ZWJfc29ja2V0X2RvX2V4dHJhX2hhbmRzaGFrZSBpcyBu
b3QgZGVmaW5lZC4nKSwKKyAgICAgICAgICAgIChvcy5wYXRoLnJlYWxwYXRoKAorICAgICAgICAg
ICAgICAgIG9zLnBhdGguam9pbihfVEVTVF9IQU5ETEVSU19ESVIsICdzdWInLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAnd3JvbmdfdHJhbnNmZXJfc2lnX3dzaC5weScpKSArCisgICAg
ICAgICAgICAgJzogd2ViX3NvY2tldF90cmFuc2Zlcl9kYXRhIGlzIG5vdCBkZWZpbmVkLicpLAor
ICAgICAgICBdCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoNCwgbGVuKHdhcm5pbmdzKSkKKyAg
ICAgICAgZm9yIGV4cGVjdGVkLCBhY3R1YWwgaW4gemlwKGV4cGVjdGVkX3dhcm5pbmdzLCB3YXJu
aW5ncyk6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4cGVjdGVkLCBhY3R1YWwpCisK
KyAgICBkZWYgdGVzdF9kb19leHRyYV9oYW5kc2hha2Uoc2VsZik6CisgICAgICAgIGRpc3BhdGNo
ZXIgPSBkaXNwYXRjaC5EaXNwYXRjaGVyKF9URVNUX0hBTkRMRVJTX0RJUiwgTm9uZSkKKyAgICAg
ICAgcmVxdWVzdCA9IG1vY2suTW9ja1JlcXVlc3QoKQorICAgICAgICByZXF1ZXN0LndzX3Jlc291
cmNlID0gJy9vcmlnaW5fY2hlY2snCisgICAgICAgIHJlcXVlc3Qud3Nfb3JpZ2luID0gJ2h0dHA6
Ly9leGFtcGxlLmNvbScKKyAgICAgICAgZGlzcGF0Y2hlci5kb19leHRyYV9oYW5kc2hha2UocmVx
dWVzdCkgICMgTXVzdCBub3QgcmFpc2UgZXhjZXB0aW9uLgorCisgICAgICAgIHJlcXVlc3Qud3Nf
b3JpZ2luID0gJ2h0dHA6Ly9iYWQuZXhhbXBsZS5jb20nCisgICAgICAgIHRyeToKKyAgICAgICAg
ICAgIGRpc3BhdGNoZXIuZG9fZXh0cmFfaGFuZHNoYWtlKHJlcXVlc3QpCisgICAgICAgICAgICBz
ZWxmLmZhaWwoJ0NvdWxkIG5vdCBjYXRjaCBIYW5kc2hha2VFeGNlcHRpb24gd2l0aCA0MDMgc3Rh
dHVzJykKKyAgICAgICAgZXhjZXB0IGhhbmRzaGFrZS5IYW5kc2hha2VFeGNlcHRpb24gYXMgZToK
KyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoNDAzLCBlLnN0YXR1cykKKyAgICAgICAgZXhj
ZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgc2VsZi5mYWlsKCdVbmV4cGVjdGVkIGV4
Y2VwdGlvbjogJXInICUgZSkKKworICAgIGRlZiB0ZXN0X2Fib3J0X2V4dHJhX2hhbmRzaGFrZShz
ZWxmKToKKyAgICAgICAgZGlzcGF0Y2hlciA9IGRpc3BhdGNoLkRpc3BhdGNoZXIoX1RFU1RfSEFO
RExFUlNfRElSLCBOb25lKQorICAgICAgICByZXF1ZXN0ID0gbW9jay5Nb2NrUmVxdWVzdCgpCisg
ICAgICAgIHJlcXVlc3Qud3NfcmVzb3VyY2UgPSAnL2Fib3J0X2J5X3VzZXInCisgICAgICAgIHNl
bGYuYXNzZXJ0UmFpc2VzKGhhbmRzaGFrZS5BYm9ydGVkQnlVc2VyRXhjZXB0aW9uLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICBkaXNwYXRjaGVyLmRvX2V4dHJhX2hhbmRzaGFrZSwgcmVxdWVz
dCkKKworICAgIGRlZiB0ZXN0X3RyYW5zZmVyX2RhdGEoc2VsZik6CisgICAgICAgIGRpc3BhdGNo
ZXIgPSBkaXNwYXRjaC5EaXNwYXRjaGVyKF9URVNUX0hBTkRMRVJTX0RJUiwgTm9uZSkKKworICAg
ICAgICByZXF1ZXN0ID0gbW9jay5Nb2NrUmVxdWVzdCgKKyAgICAgICAgICAgIGNvbm5lY3Rpb249
bW9jay5Nb2NrQ29ubihiJ1x4ODhceDAyXHgwM1x4ZTgnKSkKKyAgICAgICAgcmVxdWVzdC53c19y
ZXNvdXJjZSA9ICcvb3JpZ2luX2NoZWNrJworICAgICAgICByZXF1ZXN0LndzX3Byb3RvY29sID0g
J3AxJworICAgICAgICBkaXNwYXRjaGVyLnRyYW5zZmVyX2RhdGEocmVxdWVzdCkKKyAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIGInb3JpZ2luX2NoZWNrX3dzaC5weSBpcyBj
YWxsZWQgZm9yIC9vcmlnaW5fY2hlY2ssIHAxJworICAgICAgICAgICAgYidceDg4XHgwMlx4MDNc
eGU4JywgcmVxdWVzdC5jb25uZWN0aW9uLndyaXR0ZW5fZGF0YSgpKQorCisgICAgICAgIHJlcXVl
c3QgPSBtb2NrLk1vY2tSZXF1ZXN0KAorICAgICAgICAgICAgY29ubmVjdGlvbj1tb2NrLk1vY2tD
b25uKGInXHg4OFx4MDJceDAzXHhlOCcpKQorICAgICAgICByZXF1ZXN0LndzX3Jlc291cmNlID0g
Jy9zdWIvcGxhaW4nCisgICAgICAgIHJlcXVlc3Qud3NfcHJvdG9jb2wgPSBOb25lCisgICAgICAg
IGRpc3BhdGNoZXIudHJhbnNmZXJfZGF0YShyZXF1ZXN0KQorICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKAorICAgICAgICAgICAgYidzdWIvcGxhaW5fd3NoLnB5IGlzIGNhbGxlZCBmb3IgL3N1Yi9w
bGFpbiwgTm9uZScKKyAgICAgICAgICAgIGInXHg4OFx4MDJceDAzXHhlOCcsIHJlcXVlc3QuY29u
bmVjdGlvbi53cml0dGVuX2RhdGEoKSkKKworICAgICAgICByZXF1ZXN0ID0gbW9jay5Nb2NrUmVx
dWVzdCgKKyAgICAgICAgICAgIGNvbm5lY3Rpb249bW9jay5Nb2NrQ29ubihiJ1x4ODhceDAyXHgw
M1x4ZTgnKSkKKyAgICAgICAgcmVxdWVzdC53c19yZXNvdXJjZSA9ICcvc3ViL3BsYWluPycKKyAg
ICAgICAgcmVxdWVzdC53c19wcm90b2NvbCA9IE5vbmUKKyAgICAgICAgZGlzcGF0Y2hlci50cmFu
c2Zlcl9kYXRhKHJlcXVlc3QpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAg
ICBiJ3N1Yi9wbGFpbl93c2gucHkgaXMgY2FsbGVkIGZvciAvc3ViL3BsYWluPywgTm9uZScKKyAg
ICAgICAgICAgIGInXHg4OFx4MDJceDAzXHhlOCcsIHJlcXVlc3QuY29ubmVjdGlvbi53cml0dGVu
X2RhdGEoKSkKKworICAgICAgICByZXF1ZXN0ID0gbW9jay5Nb2NrUmVxdWVzdCgKKyAgICAgICAg
ICAgIGNvbm5lY3Rpb249bW9jay5Nb2NrQ29ubihiJ1x4ODhceDAyXHgwM1x4ZTgnKSkKKyAgICAg
ICAgcmVxdWVzdC53c19yZXNvdXJjZSA9ICcvc3ViL3BsYWluP3E9dicKKyAgICAgICAgcmVxdWVz
dC53c19wcm90b2NvbCA9IE5vbmUKKyAgICAgICAgZGlzcGF0Y2hlci50cmFuc2Zlcl9kYXRhKHJl
cXVlc3QpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBiJ3N1Yi9wbGFp
bl93c2gucHkgaXMgY2FsbGVkIGZvciAvc3ViL3BsYWluP3E9diwgTm9uZScKKyAgICAgICAgICAg
IGInXHg4OFx4MDJceDAzXHhlOCcsIHJlcXVlc3QuY29ubmVjdGlvbi53cml0dGVuX2RhdGEoKSkK
KworICAgIGRlZiB0ZXN0X3RyYW5zZmVyX2RhdGFfbm9faGFuZGxlcihzZWxmKToKKyAgICAgICAg
ZGlzcGF0Y2hlciA9IGRpc3BhdGNoLkRpc3BhdGNoZXIoX1RFU1RfSEFORExFUlNfRElSLCBOb25l
KQorICAgICAgICBmb3IgcmVzb3VyY2UgaW4gWworICAgICAgICAgICAgICAgICcvYmxhbmsnLCAn
L3N1Yi9ub25fY2FsbGFibGUnLCAnL3N1Yi9ub193c2hfYXRfdGhlX2VuZCcsCisgICAgICAgICAg
ICAgICAgJy9kb2VzL25vdC9leGlzdCcKKyAgICAgICAgXToKKyAgICAgICAgICAgIHJlcXVlc3Qg
PSBtb2NrLk1vY2tSZXF1ZXN0KGNvbm5lY3Rpb249bW9jay5Nb2NrQ29ubihiJycpKQorICAgICAg
ICAgICAgcmVxdWVzdC53c19yZXNvdXJjZSA9IHJlc291cmNlCisgICAgICAgICAgICByZXF1ZXN0
LndzX3Byb3RvY29sID0gJ3AyJworICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIGRp
c3BhdGNoZXIudHJhbnNmZXJfZGF0YShyZXF1ZXN0KQorICAgICAgICAgICAgICAgIHNlbGYuZmFp
bCgpCisgICAgICAgICAgICBleGNlcHQgZGlzcGF0Y2guRGlzcGF0Y2hFeGNlcHRpb24gYXMgZToK
KyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoc3RyKGUpLmZpbmQoJ05vIGhhbmRsZXIn
KSAhPSAtMSkKKyAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246CisgICAgICAgICAgICAgICAg
c2VsZi5mYWlsKCkKKworICAgIGRlZiB0ZXN0X3RyYW5zZmVyX2RhdGFfaGFuZGxlcl9leGNlcHRp
b24oc2VsZik6CisgICAgICAgIGRpc3BhdGNoZXIgPSBkaXNwYXRjaC5EaXNwYXRjaGVyKF9URVNU
X0hBTkRMRVJTX0RJUiwgTm9uZSkKKyAgICAgICAgcmVxdWVzdCA9IG1vY2suTW9ja1JlcXVlc3Qo
Y29ubmVjdGlvbj1tb2NrLk1vY2tDb25uKGInJykpCisgICAgICAgIHJlcXVlc3Qud3NfcmVzb3Vy
Y2UgPSAnL3N1Yi9leGNlcHRpb25faW5fdHJhbnNmZXInCisgICAgICAgIHJlcXVlc3Qud3NfcHJv
dG9jb2wgPSAncDMnCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGRpc3BhdGNoZXIudHJhbnNm
ZXJfZGF0YShyZXF1ZXN0KQorICAgICAgICAgICAgc2VsZi5mYWlsKCkKKyAgICAgICAgZXhjZXB0
IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKAorICAgICAgICAg
ICAgICAgIHN0cihlKS5maW5kKCdJbnRlbnRpb25hbCcpICE9IC0xLAorICAgICAgICAgICAgICAg
ICdVbmV4cGVjdGVkIGV4Y2VwdGlvbjogJXMnICUgZSkKKworICAgIGRlZiB0ZXN0X2Fib3J0X3Ry
YW5zZmVyX2RhdGEoc2VsZik6CisgICAgICAgIGRpc3BhdGNoZXIgPSBkaXNwYXRjaC5EaXNwYXRj
aGVyKF9URVNUX0hBTkRMRVJTX0RJUiwgTm9uZSkKKyAgICAgICAgcmVxdWVzdCA9IG1vY2suTW9j
a1JlcXVlc3QoKQorICAgICAgICByZXF1ZXN0LndzX3Jlc291cmNlID0gJy9hYm9ydF9ieV91c2Vy
JworICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhoYW5kc2hha2UuQWJvcnRlZEJ5VXNlckV4Y2Vw
dGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGF0Y2hlci50cmFuc2Zlcl9kYXRh
LCByZXF1ZXN0KQorCisgICAgZGVmIHRlc3Rfc2Nhbl9kaXIoc2VsZik6CisgICAgICAgIGRpc3Ag
PSBkaXNwYXRjaC5EaXNwYXRjaGVyKF9URVNUX0hBTkRMRVJTX0RJUiwgTm9uZSkKKyAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbCg0LCBsZW4oZGlzcC5faGFuZGxlcl9zdWl0ZV9tYXApKQorICAgICAg
ICBzZWxmLmFzc2VydFRydWUoJy9vcmlnaW5fY2hlY2snIGluIGRpc3AuX2hhbmRsZXJfc3VpdGVf
bWFwKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoCisgICAgICAgICAgICAnL3N1Yi9leGNlcHRp
b25faW5fdHJhbnNmZXInIGluIGRpc3AuX2hhbmRsZXJfc3VpdGVfbWFwKQorICAgICAgICBzZWxm
LmFzc2VydFRydWUoJy9zdWIvcGxhaW4nIGluIGRpc3AuX2hhbmRsZXJfc3VpdGVfbWFwKQorCisg
ICAgZGVmIHRlc3Rfc2Nhbl9zdWJfZGlyKHNlbGYpOgorICAgICAgICBkaXNwID0gZGlzcGF0Y2gu
RGlzcGF0Y2hlcihfVEVTVF9IQU5ETEVSU19ESVIsIF9URVNUX0hBTkRMRVJTX1NVQl9ESVIpCisg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoMiwgbGVuKGRpc3AuX2hhbmRsZXJfc3VpdGVfbWFwKSkK
KyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZSgnL29yaWdpbl9jaGVjaycgaW4gZGlzcC5faGFuZGxl
cl9zdWl0ZV9tYXApCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSgKKyAgICAgICAgICAgICcvc3Vi
L2V4Y2VwdGlvbl9pbl90cmFuc2ZlcicgaW4gZGlzcC5faGFuZGxlcl9zdWl0ZV9tYXApCisgICAg
ICAgIHNlbGYuYXNzZXJ0VHJ1ZSgnL3N1Yi9wbGFpbicgaW4gZGlzcC5faGFuZGxlcl9zdWl0ZV9t
YXApCisKKyAgICBkZWYgdGVzdF9zY2FuX3N1Yl9kaXJfYXNfcm9vdChzZWxmKToKKyAgICAgICAg
ZGlzcCA9IGRpc3BhdGNoLkRpc3BhdGNoZXIoX1RFU1RfSEFORExFUlNfU1VCX0RJUiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX1RFU1RfSEFORExFUlNfU1VCX0RJUikKKyAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbCgyLCBsZW4oZGlzcC5faGFuZGxlcl9zdWl0ZV9tYXApKQor
ICAgICAgICBzZWxmLmFzc2VydEZhbHNlKCcvb3JpZ2luX2NoZWNrJyBpbiBkaXNwLl9oYW5kbGVy
X3N1aXRlX21hcCkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZSgKKyAgICAgICAgICAgICcvc3Vi
L2V4Y2VwdGlvbl9pbl90cmFuc2ZlcicgaW4gZGlzcC5faGFuZGxlcl9zdWl0ZV9tYXApCisgICAg
ICAgIHNlbGYuYXNzZXJ0RmFsc2UoJy9zdWIvcGxhaW4nIGluIGRpc3AuX2hhbmRsZXJfc3VpdGVf
bWFwKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoJy9leGNlcHRpb25faW5fdHJhbnNmZXInIGlu
IGRpc3AuX2hhbmRsZXJfc3VpdGVfbWFwKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoJy9wbGFp
bicgaW4gZGlzcC5faGFuZGxlcl9zdWl0ZV9tYXApCisKKyAgICBkZWYgdGVzdF9zY2FuX2Rpcl9t
dXN0X3VuZGVyX3Jvb3Qoc2VsZik6CisgICAgICAgIGRpc3BhdGNoLkRpc3BhdGNoZXIoJ2EvYics
ICdhL2IvYycpICAjIE9LCisgICAgICAgIGRpc3BhdGNoLkRpc3BhdGNoZXIoJ2EvYi8vLycsICdh
L2InKSAgIyBPSworICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhkaXNwYXRjaC5EaXNwYXRjaEV4
Y2VwdGlvbiwgZGlzcGF0Y2guRGlzcGF0Y2hlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
J2EvYi9jJywgJ2EvYicpCisKKyAgICBkZWYgdGVzdF9yZXNvdXJjZV9wYXRoX2FsaWFzKHNlbGYp
OgorICAgICAgICBkaXNwID0gZGlzcGF0Y2guRGlzcGF0Y2hlcihfVEVTVF9IQU5ETEVSU19ESVIs
IE5vbmUpCisgICAgICAgIGRpc3AuYWRkX3Jlc291cmNlX3BhdGhfYWxpYXMoJy8nLCAnL29yaWdp
bl9jaGVjaycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoNSwgbGVuKGRpc3AuX2hhbmRsZXJf
c3VpdGVfbWFwKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKCcvb3JpZ2luX2NoZWNrJyBpbiBk
aXNwLl9oYW5kbGVyX3N1aXRlX21hcCkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKAorICAgICAg
ICAgICAgJy9zdWIvZXhjZXB0aW9uX2luX3RyYW5zZmVyJyBpbiBkaXNwLl9oYW5kbGVyX3N1aXRl
X21hcCkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKCcvc3ViL3BsYWluJyBpbiBkaXNwLl9oYW5k
bGVyX3N1aXRlX21hcCkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKCcvJyBpbiBkaXNwLl9oYW5k
bGVyX3N1aXRlX21hcCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoZGlzcGF0Y2guRGlzcGF0
Y2hFeGNlcHRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3AuYWRkX3Jlc291cmNl
X3BhdGhfYWxpYXMsICcvYWxpYXMnLCAnL25vdC1leGlzdCcpCisKKworaWYgX19uYW1lX18gPT0g
J19fbWFpbl9fJzoKKyAgICB1bml0dGVzdC5tYWluKCkKKworIyB2aTpzdHM9NCBzdz00IGV0CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My90ZXN0L3Rlc3RfZW5kdG9lbmQucHkgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5
L3B5d2Vic29ja2V0My90ZXN0L3Rlc3RfZW5kdG9lbmQucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDQ1ZDI5YzY3
ZGRmMDdiM2YxMjMyNDU5NzdmOTVjZmUwMTQ4YzgzYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkv
cHl3ZWJzb2NrZXQzL3Rlc3QvdGVzdF9lbmR0b2VuZC5weQpAQCAtMCwwICsxLDYzMCBAQAorIyEv
dXNyL2Jpbi9lbnYgcHl0aG9uCisjCisjIENvcHlyaWdodCAyMDEyLCBHb29nbGUgSW5jLgorIyBB
bGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorIyBt
ZXQ6CisjCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisjIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorIyBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisj
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUKKyMgZGlzdHJpYnV0aW9uLgorIyAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2ds
ZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisjIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisjIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisjCisjIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMKKyMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisjIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisjIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLAorIyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorIyBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyMgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyIiIkVuZC10by1lbmQgdGVz
dHMgZm9yIHB5d2Vic29ja2V0LiBUZXN0cyBzdGFuZGFsb25lLnB5LgorIiIiCisKK2Zyb20gX19m
dXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0CitpbXBvcnQgbG9nZ2luZworaW1wb3J0IG9z
CitpbXBvcnQgc2lnbmFsCitpbXBvcnQgc29ja2V0CitpbXBvcnQgc3VicHJvY2VzcworaW1wb3J0
IHN5cworaW1wb3J0IHRpbWUKK2ltcG9ydCB1bml0dGVzdAorCitpbXBvcnQgc2V0X3N5c19wYXRo
ICAjIFVwZGF0ZSBzeXMucGF0aCB0byBsb2NhdGUgbW9kX3B5d2Vic29ja2V0IG1vZHVsZS4KKwor
ZnJvbSB0ZXN0IGltcG9ydCBjbGllbnRfZm9yX3Rlc3RpbmcKKworIyBTcGVjaWFsIG1lc3NhZ2Ug
dGhhdCB0ZWxscyB0aGUgZWNobyBzZXJ2ZXIgdG8gc3RhcnQgY2xvc2luZyBoYW5kc2hha2UKK19H
T09EQllFX01FU1NBR0UgPSAnR29vZGJ5ZScKKworX1NFUlZFUl9XQVJNVVBfSU5fU0VDID0gMC4y
CisKKworIyBUZXN0IGJvZHkgZnVuY3Rpb25zCitkZWYgX2VjaG9fY2hlY2tfcHJvY2VkdXJlKGNs
aWVudCk6CisgICAgY2xpZW50LmNvbm5lY3QoKQorCisgICAgY2xpZW50LnNlbmRfbWVzc2FnZSgn
dGVzdCcpCisgICAgY2xpZW50LmFzc2VydF9yZWNlaXZlKCd0ZXN0JykKKyAgICBjbGllbnQuc2Vu
ZF9tZXNzYWdlKCdoZWxsb3dvcmxkJykKKyAgICBjbGllbnQuYXNzZXJ0X3JlY2VpdmUoJ2hlbGxv
d29ybGQnKQorCisgICAgY2xpZW50LnNlbmRfY2xvc2UoKQorICAgIGNsaWVudC5hc3NlcnRfcmVj
ZWl2ZV9jbG9zZSgpCisKKyAgICBjbGllbnQuYXNzZXJ0X2Nvbm5lY3Rpb25fY2xvc2VkKCkKKwor
CitkZWYgX2VjaG9fY2hlY2tfcHJvY2VkdXJlX3dpdGhfYmluYXJ5KGNsaWVudCk6CisgICAgY2xp
ZW50LmNvbm5lY3QoKQorCisgICAgY2xpZW50LnNlbmRfbWVzc2FnZShiJ2JpbmFyeScsIGJpbmFy
eT1UcnVlKQorICAgIGNsaWVudC5hc3NlcnRfcmVjZWl2ZShiJ2JpbmFyeScsIGJpbmFyeT1UcnVl
KQorICAgIGNsaWVudC5zZW5kX21lc3NhZ2UoYidceDAwXHg4MFx4ZmVceGZmXHgwMFx4ODAnLCBi
aW5hcnk9VHJ1ZSkKKyAgICBjbGllbnQuYXNzZXJ0X3JlY2VpdmUoYidceDAwXHg4MFx4ZmVceGZm
XHgwMFx4ODAnLCBiaW5hcnk9VHJ1ZSkKKworICAgIGNsaWVudC5zZW5kX2Nsb3NlKCkKKyAgICBj
bGllbnQuYXNzZXJ0X3JlY2VpdmVfY2xvc2UoKQorCisgICAgY2xpZW50LmFzc2VydF9jb25uZWN0
aW9uX2Nsb3NlZCgpCisKKworZGVmIF9lY2hvX2NoZWNrX3Byb2NlZHVyZV93aXRoX2dvb2RieWUo
Y2xpZW50KToKKyAgICBjbGllbnQuY29ubmVjdCgpCisKKyAgICBjbGllbnQuc2VuZF9tZXNzYWdl
KCd0ZXN0JykKKyAgICBjbGllbnQuYXNzZXJ0X3JlY2VpdmUoJ3Rlc3QnKQorCisgICAgY2xpZW50
LnNlbmRfbWVzc2FnZShfR09PREJZRV9NRVNTQUdFKQorICAgIGNsaWVudC5hc3NlcnRfcmVjZWl2
ZShfR09PREJZRV9NRVNTQUdFKQorCisgICAgY2xpZW50LmFzc2VydF9yZWNlaXZlX2Nsb3NlKCkK
KyAgICBjbGllbnQuc2VuZF9jbG9zZSgpCisKKyAgICBjbGllbnQuYXNzZXJ0X2Nvbm5lY3Rpb25f
Y2xvc2VkKCkKKworCitkZWYgX2VjaG9fY2hlY2tfcHJvY2VkdXJlX3dpdGhfY29kZV9hbmRfcmVh
c29uKGNsaWVudCwgY29kZSwgcmVhc29uKToKKyAgICBjbGllbnQuY29ubmVjdCgpCisKKyAgICBj
bGllbnQuc2VuZF9jbG9zZShjb2RlLCByZWFzb24pCisgICAgY2xpZW50LmFzc2VydF9yZWNlaXZl
X2Nsb3NlKGNvZGUsIHJlYXNvbikKKworICAgIGNsaWVudC5hc3NlcnRfY29ubmVjdGlvbl9jbG9z
ZWQoKQorCisKK2RlZiBfdW5tYXNrZWRfZnJhbWVfY2hlY2tfcHJvY2VkdXJlKGNsaWVudCk6Cisg
ICAgY2xpZW50LmNvbm5lY3QoKQorCisgICAgY2xpZW50LnNlbmRfbWVzc2FnZSgndGVzdCcsIG1h
c2s9RmFsc2UpCisgICAgY2xpZW50LmFzc2VydF9yZWNlaXZlX2Nsb3NlKGNsaWVudF9mb3JfdGVz
dGluZy5TVEFUVVNfUFJPVE9DT0xfRVJST1IsICcnKQorCisgICAgY2xpZW50LmFzc2VydF9jb25u
ZWN0aW9uX2Nsb3NlZCgpCisKKworY2xhc3MgRW5kVG9FbmRUZXN0QmFzZSh1bml0dGVzdC5UZXN0
Q2FzZSk6CisgICAgIiIiQmFzZSBjbGFzcyBmb3IgZW5kLXRvLWVuZCB0ZXN0cyB0aGF0IGxhdW5j
aCBweXdlYnNvY2tldCBzdGFuZGFsb25lCisgICAgc2VydmVyIGFzIGEgc2VwYXJhdGUgcHJvY2Vz
cywgY29ubmVjdCB0byBpdCB1c2luZyB0aGUgY2xpZW50X2Zvcl90ZXN0aW5nCisgICAgbW9kdWxl
LCBhbmQgY2hlY2sgaWYgdGhlIHNlcnZlciBiZWhhdmVzIGNvcnJlY3RseSBieSBleGNoYW5naW5n
IG9wZW5pbmcKKyAgICBoYW5kc2hha2UgYW5kIGZyYW1lcyBvdmVyIGEgVENQIGNvbm5lY3Rpb24u
CisgICAgIiIiCisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzZWxmLnNlcnZlcl9zdGRl
cnIgPSBOb25lCisgICAgICAgIHNlbGYudG9wX2RpciA9IG9zLnBhdGguam9pbihvcy5wYXRoLnNw
bGl0KF9fZmlsZV9fKVswXSwgJy4uJykKKyAgICAgICAgb3MucHV0ZW52KCdQWVRIT05QQVRIJywg
b3MucGF0aC5wYXRoc2VwLmpvaW4oc3lzLnBhdGgpKQorICAgICAgICBzZWxmLnN0YW5kYWxvbmVf
Y29tbWFuZCA9IG9zLnBhdGguam9pbihzZWxmLnRvcF9kaXIsICdtb2RfcHl3ZWJzb2NrZXQnLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3RhbmRhbG9u
ZS5weScpCisgICAgICAgIHNlbGYuZG9jdW1lbnRfcm9vdCA9IG9zLnBhdGguam9pbihzZWxmLnRv
cF9kaXIsICdleGFtcGxlJykKKyAgICAgICAgcyA9IHNvY2tldC5zb2NrZXQoKQorICAgICAgICBz
LmJpbmQoKCdsb2NhbGhvc3QnLCAwKSkKKyAgICAgICAgKF8sIHNlbGYudGVzdF9wb3J0KSA9IHMu
Z2V0c29ja25hbWUoKQorICAgICAgICBzLmNsb3NlKCkKKworICAgICAgICBzZWxmLl9vcHRpb25z
ID0gY2xpZW50X2Zvcl90ZXN0aW5nLkNsaWVudE9wdGlvbnMoKQorICAgICAgICBzZWxmLl9vcHRp
b25zLnNlcnZlcl9ob3N0ID0gJ2xvY2FsaG9zdCcKKyAgICAgICAgc2VsZi5fb3B0aW9ucy5vcmln
aW4gPSAnaHR0cDovL2xvY2FsaG9zdCcKKyAgICAgICAgc2VsZi5fb3B0aW9ucy5yZXNvdXJjZSA9
ICcvZWNobycKKworICAgICAgICBzZWxmLl9vcHRpb25zLnNlcnZlcl9wb3J0ID0gc2VsZi50ZXN0
X3BvcnQKKworICAgICMgVE9ETyh0eW9zaGlubyk6IFVzZSB0ZWFyRG93biB0byBraWxsIHRoZSBz
ZXJ2ZXIuCisKKyAgICBkZWYgX3J1bl9weXRob25fY29tbWFuZChzZWxmLCBjb21tYW5kbGluZSwg
c3Rkb3V0PU5vbmUsIHN0ZGVycj1Ob25lKToKKyAgICAgICAgcmV0dXJuIHN1YnByb2Nlc3MuUG9w
ZW4oW3N5cy5leGVjdXRhYmxlXSArIGNvbW1hbmRsaW5lLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjbG9zZV9mZHM9VHJ1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgc3Rkb3V0PXN0ZG91dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RkZXJy
PXN0ZGVycikKKworICAgIGRlZiBfcnVuX3NlcnZlcihzZWxmKToKKyAgICAgICAgYXJncyA9IFsK
KyAgICAgICAgICAgIHNlbGYuc3RhbmRhbG9uZV9jb21tYW5kLCAnLUgnLCAnbG9jYWxob3N0Jywg
Jy1WJywgJ2xvY2FsaG9zdCcsCisgICAgICAgICAgICAnLXAnLAorICAgICAgICAgICAgc3RyKHNl
bGYudGVzdF9wb3J0KSwgJy1QJywKKyAgICAgICAgICAgIHN0cihzZWxmLnRlc3RfcG9ydCksICct
ZCcsIHNlbGYuZG9jdW1lbnRfcm9vdAorICAgICAgICBdCisKKyAgICAgICAgIyBJbmhlcml0IHRo
ZSBsZXZlbCBzZXQgdG8gdGhlIHJvb3QgbG9nZ2VyIGJ5IHRlc3QgcnVubmVyLgorICAgICAgICBy
b290X2xvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCkKKyAgICAgICAgbG9nX2xldmVsID0gcm9v
dF9sb2dnZXIuZ2V0RWZmZWN0aXZlTGV2ZWwoKQorICAgICAgICBpZiBsb2dfbGV2ZWwgIT0gbG9n
Z2luZy5OT1RTRVQ6CisgICAgICAgICAgICBhcmdzLmFwcGVuZCgnLS1sb2ctbGV2ZWwnKQorICAg
ICAgICAgICAgYXJncy5hcHBlbmQobG9nZ2luZy5nZXRMZXZlbE5hbWUobG9nX2xldmVsKS5sb3dl
cigpKQorCisgICAgICAgIHJldHVybiBzZWxmLl9ydW5fcHl0aG9uX2NvbW1hbmQoYXJncywgc3Rk
ZXJyPXNlbGYuc2VydmVyX3N0ZGVycikKKworICAgIGRlZiBfY2xvc2Vfc2VydmVyKHNlbGYsIHNl
cnZlcik6CisgICAgICAgICIiIgorCisgICAgICAgIFRoaXMgbWV0aG9kIG1pbWljcyBQb3Blbi5f
X2V4aXRfXyB0byBncmFjZWZ1bGx5IGtpbGwgdGhlIHNlcnZlciBwcm9jZXNzLgorICAgICAgICBJ
dHMgbWFpbiBwdXJwb3NlIGlzIHRvIG1haW50YWluIGNvbXB0YWliaWxpdHkgYmV0d2VlbiBweXRo
b24gMiBhbmQgMywKKyAgICAgICAgc2luY2UgUG9wZW4gaW4gcHl0aG9uIDIgZG9lcyBub3QgaGF2
ZSBfX2V4aXRfXyBhdHRyaWJ1dGUuCisKKyAgICAgICAgIiIiCisgICAgICAgIHNlcnZlci5raWxs
KCkKKworICAgICAgICBpZiBzZXJ2ZXIuc3Rkb3V0OgorICAgICAgICAgICAgc2VydmVyLnN0ZG91
dC5jbG9zZSgpCisgICAgICAgIGlmIHNlcnZlci5zdGRlcnI6CisgICAgICAgICAgICBzZXJ2ZXIu
c3RkZXJyLmNsb3NlKCkKKyAgICAgICAgaWYgc2VydmVyLnN0ZGluOgorICAgICAgICAgICAgc2Vy
dmVyLnN0ZGluLmNsb3NlKCkKKworICAgICAgICBzZXJ2ZXIud2FpdCgpCisKKworY2xhc3MgRW5k
VG9FbmRIeUJpVGVzdChFbmRUb0VuZFRlc3RCYXNlKToKKyAgICBkZWYgc2V0VXAoc2VsZik6Cisg
ICAgICAgIEVuZFRvRW5kVGVzdEJhc2Uuc2V0VXAoc2VsZikKKworICAgIGRlZiBfcnVuX3Rlc3Rf
d2l0aF9jbGllbnRfb3B0aW9ucyhzZWxmLCB0ZXN0X2Z1bmN0aW9uLCBvcHRpb25zKToKKyAgICAg
ICAgc2VydmVyID0gc2VsZi5fcnVuX3NlcnZlcigpCisgICAgICAgIHRyeToKKyAgICAgICAgICAg
ICMgVE9ETyh0eW9zaGlubyk6IGFkZCBzb21lIGxvZ2ljIHRvIHBvbGwgdGhlIHNlcnZlciB1bnRp
bCBpdAorICAgICAgICAgICAgIyBiZWNvbWVzIHJlYWR5CisgICAgICAgICAgICB0aW1lLnNsZWVw
KF9TRVJWRVJfV0FSTVVQX0lOX1NFQykKKworICAgICAgICAgICAgY2xpZW50ID0gY2xpZW50X2Zv
cl90ZXN0aW5nLmNyZWF0ZV9jbGllbnQob3B0aW9ucykKKyAgICAgICAgICAgIHRyeToKKyAgICAg
ICAgICAgICAgICB0ZXN0X2Z1bmN0aW9uKGNsaWVudCkKKyAgICAgICAgICAgIGZpbmFsbHk6Cisg
ICAgICAgICAgICAgICAgY2xpZW50LmNsb3NlX3NvY2tldCgpCisgICAgICAgIGZpbmFsbHk6Cisg
ICAgICAgICAgICBzZWxmLl9jbG9zZV9zZXJ2ZXIoc2VydmVyKQorCisgICAgZGVmIF9ydW5fdGVz
dChzZWxmLCB0ZXN0X2Z1bmN0aW9uKToKKyAgICAgICAgc2VsZi5fcnVuX3Rlc3Rfd2l0aF9jbGll
bnRfb3B0aW9ucyh0ZXN0X2Z1bmN0aW9uLCBzZWxmLl9vcHRpb25zKQorCisgICAgZGVmIF9ydW5f
cGVybWVzc2FnZV9kZWZsYXRlX3Rlc3Qoc2VsZiwgb2ZmZXIsIHJlc3BvbnNlX2NoZWNrZXIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF9mdW5jdGlvbik6CisgICAg
ICAgIHNlcnZlciA9IHNlbGYuX3J1bl9zZXJ2ZXIoKQorICAgICAgICB0cnk6CisgICAgICAgICAg
ICB0aW1lLnNsZWVwKF9TRVJWRVJfV0FSTVVQX0lOX1NFQykKKworICAgICAgICAgICAgc2VsZi5f
b3B0aW9ucy5leHRlbnNpb25zICs9IG9mZmVyCisgICAgICAgICAgICBzZWxmLl9vcHRpb25zLmNo
ZWNrX3Blcm1lc3NhZ2VfZGVmbGF0ZSA9IHJlc3BvbnNlX2NoZWNrZXIKKyAgICAgICAgICAgIGNs
aWVudCA9IGNsaWVudF9mb3JfdGVzdGluZy5jcmVhdGVfY2xpZW50KHNlbGYuX29wdGlvbnMpCisK
KyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBjbGllbnQuY29ubmVjdCgpCisKKyAg
ICAgICAgICAgICAgICBpZiB0ZXN0X2Z1bmN0aW9uIGlzIG5vdCBOb25lOgorICAgICAgICAgICAg
ICAgICAgICB0ZXN0X2Z1bmN0aW9uKGNsaWVudCkKKworICAgICAgICAgICAgICAgIGNsaWVudC5h
c3NlcnRfY29ubmVjdGlvbl9jbG9zZWQoKQorICAgICAgICAgICAgZmluYWxseToKKyAgICAgICAg
ICAgICAgICBjbGllbnQuY2xvc2Vfc29ja2V0KCkKKyAgICAgICAgZmluYWxseToKKyAgICAgICAg
ICAgIHNlbGYuX2Nsb3NlX3NlcnZlcihzZXJ2ZXIpCisKKyAgICBkZWYgX3J1bl9jbG9zZV93aXRo
X2NvZGVfYW5kX3JlYXNvbl90ZXN0KHNlbGYsIHRlc3RfZnVuY3Rpb24sIGNvZGUsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFzb24pOgorICAgICAgICBz
ZXJ2ZXIgPSBzZWxmLl9ydW5fc2VydmVyKCkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgdGlt
ZS5zbGVlcChfU0VSVkVSX1dBUk1VUF9JTl9TRUMpCisKKyAgICAgICAgICAgIGNsaWVudCA9IGNs
aWVudF9mb3JfdGVzdGluZy5jcmVhdGVfY2xpZW50KHNlbGYuX29wdGlvbnMpCisgICAgICAgICAg
ICB0cnk6CisgICAgICAgICAgICAgICAgdGVzdF9mdW5jdGlvbihjbGllbnQsIGNvZGUsIHJlYXNv
bikKKyAgICAgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICAgICAgY2xpZW50LmNsb3NlX3Nv
Y2tldCgpCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBzZWxmLl9jbG9zZV9zZXJ2ZXIo
c2VydmVyKQorCisgICAgZGVmIF9ydW5faHR0cF9mYWxsYmFja190ZXN0KHNlbGYsIG9wdGlvbnMs
IHN0YXR1cyk6CisgICAgICAgIHNlcnZlciA9IHNlbGYuX3J1bl9zZXJ2ZXIoKQorICAgICAgICB0
cnk6CisgICAgICAgICAgICB0aW1lLnNsZWVwKF9TRVJWRVJfV0FSTVVQX0lOX1NFQykKKworICAg
ICAgICAgICAgY2xpZW50ID0gY2xpZW50X2Zvcl90ZXN0aW5nLmNyZWF0ZV9jbGllbnQob3B0aW9u
cykKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBjbGllbnQuY29ubmVjdCgpCisg
ICAgICAgICAgICAgICAgc2VsZi5mYWlsKCdDb3VsZCBub3QgY2F0Y2ggSHR0cFN0YXR1c0V4Y2Vw
dGlvbicpCisgICAgICAgICAgICBleGNlcHQgY2xpZW50X2Zvcl90ZXN0aW5nLkh0dHBTdGF0dXNF
eGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0YXR1cywg
ZS5zdGF0dXMpCisgICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CisgICAgICAgICAg
ICAgICAgc2VsZi5mYWlsKCdDYXRjaCB1bmV4cGVjdGVkIGV4Y2VwdGlvbicpCisgICAgICAgICAg
ICBmaW5hbGx5OgorICAgICAgICAgICAgICAgIGNsaWVudC5jbG9zZV9zb2NrZXQoKQorICAgICAg
ICBmaW5hbGx5OgorICAgICAgICAgICAgc2VsZi5fY2xvc2Vfc2VydmVyKHNlcnZlcikKKworICAg
IGRlZiB0ZXN0X2VjaG8oc2VsZik6CisgICAgICAgIHNlbGYuX3J1bl90ZXN0KF9lY2hvX2NoZWNr
X3Byb2NlZHVyZSkKKworICAgIGRlZiB0ZXN0X2VjaG9fYmluYXJ5KHNlbGYpOgorICAgICAgICBz
ZWxmLl9ydW5fdGVzdChfZWNob19jaGVja19wcm9jZWR1cmVfd2l0aF9iaW5hcnkpCisKKyAgICBk
ZWYgdGVzdF9lY2hvX3NlcnZlcl9jbG9zZShzZWxmKToKKyAgICAgICAgc2VsZi5fcnVuX3Rlc3Qo
X2VjaG9fY2hlY2tfcHJvY2VkdXJlX3dpdGhfZ29vZGJ5ZSkKKworICAgIGRlZiB0ZXN0X3VubWFz
a2VkX2ZyYW1lKHNlbGYpOgorICAgICAgICBzZWxmLl9ydW5fdGVzdChfdW5tYXNrZWRfZnJhbWVf
Y2hlY2tfcHJvY2VkdXJlKQorCisgICAgZGVmIHRlc3RfZWNob19wZXJtZXNzYWdlX2RlZmxhdGUo
c2VsZik6CisgICAgICAgIGRlZiB0ZXN0X2Z1bmN0aW9uKGNsaWVudCk6CisgICAgICAgICAgICAj
IEZyb20gdGhlIGV4YW1wbGVzIGluIHRoZSBzcGVjLgorICAgICAgICAgICAgY29tcHJlc3NlZF9o
ZWxsbyA9IGInXHhmMlx4NDhceGNkXHhjOVx4YzlceDA3XHgwMCcKKyAgICAgICAgICAgIGNsaWVu
dC5fc3RyZWFtLnNlbmRfZGF0YShjb21wcmVzc2VkX2hlbGxvLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNsaWVudF9mb3JfdGVzdGluZy5PUENPREVfVEVYVCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByc3YxPTEpCisgICAgICAgICAgICBjbGll
bnQuX3N0cmVhbS5hc3NlcnRfcmVjZWl2ZV9iaW5hcnkoCisgICAgICAgICAgICAgICAgY29tcHJl
c3NlZF9oZWxsbywKKyAgICAgICAgICAgICAgICBvcGNvZGU9Y2xpZW50X2Zvcl90ZXN0aW5nLk9Q
Q09ERV9URVhULAorICAgICAgICAgICAgICAgIHJzdjE9MSkKKworICAgICAgICAgICAgY2xpZW50
LnNlbmRfY2xvc2UoKQorICAgICAgICAgICAgY2xpZW50LmFzc2VydF9yZWNlaXZlX2Nsb3NlKCkK
KworICAgICAgICBkZWYgcmVzcG9uc2VfY2hlY2tlcihwYXJhbWV0ZXIpOgorICAgICAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbCgncGVybWVzc2FnZS1kZWZsYXRlJywgcGFyYW1ldGVyLm5hbWUoKSkK
KyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoW10sIHBhcmFtZXRlci5nZXRfcGFyYW1ldGVy
cygpKQorCisgICAgICAgIHNlbGYuX3J1bl9wZXJtZXNzYWdlX2RlZmxhdGVfdGVzdChbJ3Blcm1l
c3NhZ2UtZGVmbGF0ZSddLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcmVzcG9uc2VfY2hlY2tlciwgdGVzdF9mdW5jdGlvbikKKworICAgIGRlZiB0ZXN0X2VjaG9f
cGVybWVzc2FnZV9kZWZsYXRlX3R3b19mcmFtZXMoc2VsZik6CisgICAgICAgIGRlZiB0ZXN0X2Z1
bmN0aW9uKGNsaWVudCk6CisgICAgICAgICAgICAjIEZyb20gdGhlIGV4YW1wbGVzIGluIHRoZSBz
cGVjLgorICAgICAgICAgICAgY2xpZW50Ll9zdHJlYW0uc2VuZF9kYXRhKGInXHhmMlx4NDhceGNk
JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRfZm9yX3Rlc3Rp
bmcuT1BDT0RFX1RFWFQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5k
PUZhbHNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJzdjE9MSkKKyAg
ICAgICAgICAgIGNsaWVudC5fc3RyZWFtLnNlbmRfZGF0YShiJ1x4YzlceGM5XHgwN1x4MDAnLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudF9mb3JfdGVzdGluZy5P
UENPREVfVEVYVCkKKyAgICAgICAgICAgIGNsaWVudC5fc3RyZWFtLmFzc2VydF9yZWNlaXZlX2Jp
bmFyeSgKKyAgICAgICAgICAgICAgICBiJ1x4ZjJceDQ4XHhjZFx4YzlceGM5XHgwN1x4MDAnLAor
ICAgICAgICAgICAgICAgIG9wY29kZT1jbGllbnRfZm9yX3Rlc3RpbmcuT1BDT0RFX1RFWFQsCisg
ICAgICAgICAgICAgICAgcnN2MT0xKQorCisgICAgICAgICAgICBjbGllbnQuc2VuZF9jbG9zZSgp
CisgICAgICAgICAgICBjbGllbnQuYXNzZXJ0X3JlY2VpdmVfY2xvc2UoKQorCisgICAgICAgIGRl
ZiByZXNwb25zZV9jaGVja2VyKHBhcmFtZXRlcik6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKCdwZXJtZXNzYWdlLWRlZmxhdGUnLCBwYXJhbWV0ZXIubmFtZSgpKQorICAgICAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChbXSwgcGFyYW1ldGVyLmdldF9wYXJhbWV0ZXJzKCkpCisKKyAgICAg
ICAgc2VsZi5fcnVuX3Blcm1lc3NhZ2VfZGVmbGF0ZV90ZXN0KFsncGVybWVzc2FnZS1kZWZsYXRl
J10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZV9j
aGVja2VyLCB0ZXN0X2Z1bmN0aW9uKQorCisgICAgZGVmIHRlc3RfZWNob19wZXJtZXNzYWdlX2Rl
ZmxhdGVfdHdvX21lc3NhZ2VzKHNlbGYpOgorICAgICAgICBkZWYgdGVzdF9mdW5jdGlvbihjbGll
bnQpOgorICAgICAgICAgICAgIyBGcm9tIHRoZSBleGFtcGxlcyBpbiB0aGUgc3BlYy4KKyAgICAg
ICAgICAgIGNsaWVudC5fc3RyZWFtLnNlbmRfZGF0YShiJ1x4ZjJceDQ4XHhjZFx4YzlceGM5XHgw
N1x4MDAnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudF9mb3Jf
dGVzdGluZy5PUENPREVfVEVYVCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICByc3YxPTEpCisgICAgICAgICAgICBjbGllbnQuX3N0cmVhbS5zZW5kX2RhdGEoYidceGYyXHgw
MFx4MTFceDAwXHgwMCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xp
ZW50X2Zvcl90ZXN0aW5nLk9QQ09ERV9URVhULAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHJzdjE9MSkKKyAgICAgICAgICAgIGNsaWVudC5fc3RyZWFtLmFzc2VydF9yZWNl
aXZlX2JpbmFyeSgKKyAgICAgICAgICAgICAgICBiJ1x4ZjJceDQ4XHhjZFx4YzlceGM5XHgwN1x4
MDAnLAorICAgICAgICAgICAgICAgIG9wY29kZT1jbGllbnRfZm9yX3Rlc3RpbmcuT1BDT0RFX1RF
WFQsCisgICAgICAgICAgICAgICAgcnN2MT0xKQorICAgICAgICAgICAgY2xpZW50Ll9zdHJlYW0u
YXNzZXJ0X3JlY2VpdmVfYmluYXJ5KAorICAgICAgICAgICAgICAgIGInXHhmMlx4MDBceDExXHgw
MFx4MDAnLAorICAgICAgICAgICAgICAgIG9wY29kZT1jbGllbnRfZm9yX3Rlc3RpbmcuT1BDT0RF
X1RFWFQsCisgICAgICAgICAgICAgICAgcnN2MT0xKQorCisgICAgICAgICAgICBjbGllbnQuc2Vu
ZF9jbG9zZSgpCisgICAgICAgICAgICBjbGllbnQuYXNzZXJ0X3JlY2VpdmVfY2xvc2UoKQorCisg
ICAgICAgIGRlZiByZXNwb25zZV9jaGVja2VyKHBhcmFtZXRlcik6CisgICAgICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKCdwZXJtZXNzYWdlLWRlZmxhdGUnLCBwYXJhbWV0ZXIubmFtZSgpKQorICAg
ICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChbXSwgcGFyYW1ldGVyLmdldF9wYXJhbWV0ZXJzKCkp
CisKKyAgICAgICAgc2VsZi5fcnVuX3Blcm1lc3NhZ2VfZGVmbGF0ZV90ZXN0KFsncGVybWVzc2Fn
ZS1kZWZsYXRlJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBy
ZXNwb25zZV9jaGVja2VyLCB0ZXN0X2Z1bmN0aW9uKQorCisgICAgZGVmIHRlc3RfZWNob19wZXJt
ZXNzYWdlX2RlZmxhdGVfdHdvX21zZ3Nfc2VydmVyX25vX2NvbnRleHRfdGFrZW92ZXIoc2VsZik6
CisgICAgICAgIGRlZiB0ZXN0X2Z1bmN0aW9uKGNsaWVudCk6CisgICAgICAgICAgICAjIEZyb20g
dGhlIGV4YW1wbGVzIGluIHRoZSBzcGVjLgorICAgICAgICAgICAgY2xpZW50Ll9zdHJlYW0uc2Vu
ZF9kYXRhKGInXHhmMlx4NDhceGNkXHhjOVx4YzlceDA3XHgwMCcsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY2xpZW50X2Zvcl90ZXN0aW5nLk9QQ09ERV9URVhULAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJzdjE9MSkKKyAgICAgICAgICAgIGNs
aWVudC5fc3RyZWFtLnNlbmRfZGF0YShiJ1x4ZjJceDAwXHgxMVx4MDBceDAwJywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRfZm9yX3Rlc3RpbmcuT1BDT0RFX1RF
WFQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnN2MT0xKQorICAgICAg
ICAgICAgY2xpZW50Ll9zdHJlYW0uYXNzZXJ0X3JlY2VpdmVfYmluYXJ5KAorICAgICAgICAgICAg
ICAgIGInXHhmMlx4NDhceGNkXHhjOVx4YzlceDA3XHgwMCcsCisgICAgICAgICAgICAgICAgb3Bj
b2RlPWNsaWVudF9mb3JfdGVzdGluZy5PUENPREVfVEVYVCwKKyAgICAgICAgICAgICAgICByc3Yx
PTEpCisgICAgICAgICAgICBjbGllbnQuX3N0cmVhbS5hc3NlcnRfcmVjZWl2ZV9iaW5hcnkoCisg
ICAgICAgICAgICAgICAgYidceGYyXHg0OFx4Y2RceGM5XHhjOVx4MDdceDAwJywKKyAgICAgICAg
ICAgICAgICBvcGNvZGU9Y2xpZW50X2Zvcl90ZXN0aW5nLk9QQ09ERV9URVhULAorICAgICAgICAg
ICAgICAgIHJzdjE9MSkKKworICAgICAgICAgICAgY2xpZW50LnNlbmRfY2xvc2UoKQorICAgICAg
ICAgICAgY2xpZW50LmFzc2VydF9yZWNlaXZlX2Nsb3NlKCkKKworICAgICAgICBkZWYgcmVzcG9u
c2VfY2hlY2tlcihwYXJhbWV0ZXIpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgncGVy
bWVzc2FnZS1kZWZsYXRlJywgcGFyYW1ldGVyLm5hbWUoKSkKKyAgICAgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoWygnc2VydmVyX25vX2NvbnRleHRfdGFrZW92ZXInLCBOb25lKV0sCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlci5nZXRfcGFyYW1ldGVycygpKQorCisgICAg
ICAgIHNlbGYuX3J1bl9wZXJtZXNzYWdlX2RlZmxhdGVfdGVzdCgKKyAgICAgICAgICAgIFsncGVy
bWVzc2FnZS1kZWZsYXRlOyBzZXJ2ZXJfbm9fY29udGV4dF90YWtlb3ZlciddLAorICAgICAgICAg
ICAgcmVzcG9uc2VfY2hlY2tlciwgdGVzdF9mdW5jdGlvbikKKworICAgIGRlZiB0ZXN0X2VjaG9f
cGVybWVzc2FnZV9kZWZsYXRlX3ByZWZlcmVuY2Uoc2VsZik6CisgICAgICAgIGRlZiB0ZXN0X2Z1
bmN0aW9uKGNsaWVudCk6CisgICAgICAgICAgICAjIEZyb20gdGhlIGV4YW1wbGVzIGluIHRoZSBz
cGVjLgorICAgICAgICAgICAgY29tcHJlc3NlZF9oZWxsbyA9IGInXHhmMlx4NDhceGNkXHhjOVx4
YzlceDA3XHgwMCcKKyAgICAgICAgICAgIGNsaWVudC5fc3RyZWFtLnNlbmRfZGF0YShjb21wcmVz
c2VkX2hlbGxvLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudF9m
b3JfdGVzdGluZy5PUENPREVfVEVYVCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICByc3YxPTEpCisgICAgICAgICAgICBjbGllbnQuX3N0cmVhbS5hc3NlcnRfcmVjZWl2ZV9i
aW5hcnkoCisgICAgICAgICAgICAgICAgY29tcHJlc3NlZF9oZWxsbywKKyAgICAgICAgICAgICAg
ICBvcGNvZGU9Y2xpZW50X2Zvcl90ZXN0aW5nLk9QQ09ERV9URVhULAorICAgICAgICAgICAgICAg
IHJzdjE9MSkKKworICAgICAgICAgICAgY2xpZW50LnNlbmRfY2xvc2UoKQorICAgICAgICAgICAg
Y2xpZW50LmFzc2VydF9yZWNlaXZlX2Nsb3NlKCkKKworICAgICAgICBkZWYgcmVzcG9uc2VfY2hl
Y2tlcihwYXJhbWV0ZXIpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgncGVybWVzc2Fn
ZS1kZWZsYXRlJywgcGFyYW1ldGVyLm5hbWUoKSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWwoW10sIHBhcmFtZXRlci5nZXRfcGFyYW1ldGVycygpKQorCisgICAgICAgIHNlbGYuX3J1bl9w
ZXJtZXNzYWdlX2RlZmxhdGVfdGVzdCgKKyAgICAgICAgICAgIFsncGVybWVzc2FnZS1kZWZsYXRl
JywgJ2RlZmxhdGUtZnJhbWUnXSwgcmVzcG9uc2VfY2hlY2tlciwKKyAgICAgICAgICAgIHRlc3Rf
ZnVuY3Rpb24pCisKKyAgICBkZWYgdGVzdF9lY2hvX3Blcm1lc3NhZ2VfZGVmbGF0ZV93aXRoX3Bh
cmFtZXRlcnMoc2VsZik6CisgICAgICAgIGRlZiB0ZXN0X2Z1bmN0aW9uKGNsaWVudCk6CisgICAg
ICAgICAgICAjIEZyb20gdGhlIGV4YW1wbGVzIGluIHRoZSBzcGVjLgorICAgICAgICAgICAgY29t
cHJlc3NlZF9oZWxsbyA9IGInXHhmMlx4NDhceGNkXHhjOVx4YzlceDA3XHgwMCcKKyAgICAgICAg
ICAgIGNsaWVudC5fc3RyZWFtLnNlbmRfZGF0YShjb21wcmVzc2VkX2hlbGxvLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudF9mb3JfdGVzdGluZy5PUENPREVfVEVY
VCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByc3YxPTEpCisgICAgICAg
ICAgICBjbGllbnQuX3N0cmVhbS5hc3NlcnRfcmVjZWl2ZV9iaW5hcnkoCisgICAgICAgICAgICAg
ICAgY29tcHJlc3NlZF9oZWxsbywKKyAgICAgICAgICAgICAgICBvcGNvZGU9Y2xpZW50X2Zvcl90
ZXN0aW5nLk9QQ09ERV9URVhULAorICAgICAgICAgICAgICAgIHJzdjE9MSkKKworICAgICAgICAg
ICAgY2xpZW50LnNlbmRfY2xvc2UoKQorICAgICAgICAgICAgY2xpZW50LmFzc2VydF9yZWNlaXZl
X2Nsb3NlKCkKKworICAgICAgICBkZWYgcmVzcG9uc2VfY2hlY2tlcihwYXJhbWV0ZXIpOgorICAg
ICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgncGVybWVzc2FnZS1kZWZsYXRlJywgcGFyYW1ldGVy
Lm5hbWUoKSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoWygnc2VydmVyX21heF93aW5k
b3dfYml0cycsICcxMCcpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCdzZXJ2ZXJf
bm9fY29udGV4dF90YWtlb3ZlcicsIE5vbmUpXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcGFyYW1ldGVyLmdldF9wYXJhbWV0ZXJzKCkpCisKKyAgICAgICAgc2VsZi5fcnVuX3Blcm1l
c3NhZ2VfZGVmbGF0ZV90ZXN0KFsKKyAgICAgICAgICAgICdwZXJtZXNzYWdlLWRlZmxhdGU7IHNl
cnZlcl9tYXhfd2luZG93X2JpdHM9MTA7ICcKKyAgICAgICAgICAgICdzZXJ2ZXJfbm9fY29udGV4
dF90YWtlb3ZlcicKKyAgICAgICAgXSwgcmVzcG9uc2VfY2hlY2tlciwgdGVzdF9mdW5jdGlvbikK
KworICAgIGRlZiB0ZXN0X2VjaG9fcGVybWVzc2FnZV9kZWZsYXRlX3dpdGhfYmFkX3NlcnZlcl9t
YXhfd2luZG93X2JpdHMoc2VsZik6CisgICAgICAgIGRlZiB0ZXN0X2Z1bmN0aW9uKGNsaWVudCk6
CisgICAgICAgICAgICBjbGllbnQuc2VuZF9jbG9zZSgpCisgICAgICAgICAgICBjbGllbnQuYXNz
ZXJ0X3JlY2VpdmVfY2xvc2UoKQorCisgICAgICAgIGRlZiByZXNwb25zZV9jaGVja2VyKHBhcmFt
ZXRlcik6CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oJ1VuZXhwZWN0ZWQgYWNjZXB0YW5j
ZSBvZiBwZXJtZXNzYWdlLWRlZmxhdGUnKQorCisgICAgICAgIHNlbGYuX3J1bl9wZXJtZXNzYWdl
X2RlZmxhdGVfdGVzdCgKKyAgICAgICAgICAgIFsncGVybWVzc2FnZS1kZWZsYXRlOyBzZXJ2ZXJf
bWF4X3dpbmRvd19iaXRzPTMwMDAwMDAnXSwKKyAgICAgICAgICAgIHJlc3BvbnNlX2NoZWNrZXIs
IHRlc3RfZnVuY3Rpb24pCisKKyAgICBkZWYgdGVzdF9lY2hvX3Blcm1lc3NhZ2VfZGVmbGF0ZV93
aXRoX2JhZF9zZXJ2ZXJfbWF4X3dpbmRvd19iaXRzKHNlbGYpOgorICAgICAgICBkZWYgdGVzdF9m
dW5jdGlvbihjbGllbnQpOgorICAgICAgICAgICAgY2xpZW50LnNlbmRfY2xvc2UoKQorICAgICAg
ICAgICAgY2xpZW50LmFzc2VydF9yZWNlaXZlX2Nsb3NlKCkKKworICAgICAgICBkZWYgcmVzcG9u
c2VfY2hlY2tlcihwYXJhbWV0ZXIpOgorICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCdVbmV4
cGVjdGVkIGFjY2VwdGFuY2Ugb2YgcGVybWVzc2FnZS1kZWZsYXRlJykKKworICAgICAgICBzZWxm
Ll9ydW5fcGVybWVzc2FnZV9kZWZsYXRlX3Rlc3QoCisgICAgICAgICAgICBbJ3Blcm1lc3NhZ2Ut
ZGVmbGF0ZTsgc2VydmVyX21heF93aW5kb3dfYml0cz0zMDAwMDAwJ10sCisgICAgICAgICAgICBy
ZXNwb25zZV9jaGVja2VyLCB0ZXN0X2Z1bmN0aW9uKQorCisgICAgZGVmIHRlc3RfZWNob19wZXJt
ZXNzYWdlX2RlZmxhdGVfd2l0aF91bmRlZmluZWRfcGFyYW1ldGVyKHNlbGYpOgorICAgICAgICBk
ZWYgdGVzdF9mdW5jdGlvbihjbGllbnQpOgorICAgICAgICAgICAgY2xpZW50LnNlbmRfY2xvc2Uo
KQorICAgICAgICAgICAgY2xpZW50LmFzc2VydF9yZWNlaXZlX2Nsb3NlKCkKKworICAgICAgICBk
ZWYgcmVzcG9uc2VfY2hlY2tlcihwYXJhbWV0ZXIpOgorICAgICAgICAgICAgcmFpc2UgRXhjZXB0
aW9uKCdVbmV4cGVjdGVkIGFjY2VwdGFuY2Ugb2YgcGVybWVzc2FnZS1kZWZsYXRlJykKKworICAg
ICAgICBzZWxmLl9ydW5fcGVybWVzc2FnZV9kZWZsYXRlX3Rlc3QoWydwZXJtZXNzYWdlLWRlZmxh
dGU7IGZvbz1iYXInXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHJlc3BvbnNlX2NoZWNrZXIsIHRlc3RfZnVuY3Rpb24pCisKKyAgICBkZWYgdGVzdF9lY2hvX2Ns
b3NlX3dpdGhfY29kZV9hbmRfcmVhc29uKHNlbGYpOgorICAgICAgICBzZWxmLl9vcHRpb25zLnJl
c291cmNlID0gJy9jbG9zZScKKyAgICAgICAgc2VsZi5fcnVuX2Nsb3NlX3dpdGhfY29kZV9hbmRf
cmVhc29uX3Rlc3QoCisgICAgICAgICAgICBfZWNob19jaGVja19wcm9jZWR1cmVfd2l0aF9jb2Rl
X2FuZF9yZWFzb24sIDMzMzMsICdzdW5zdW5zdW5zdW4nKQorCisgICAgZGVmIHRlc3RfZWNob19j
bG9zZV93aXRoX2VtcHR5X2JvZHkoc2VsZik6CisgICAgICAgIHNlbGYuX29wdGlvbnMucmVzb3Vy
Y2UgPSAnL2Nsb3NlJworICAgICAgICBzZWxmLl9ydW5fY2xvc2Vfd2l0aF9jb2RlX2FuZF9yZWFz
b25fdGVzdCgKKyAgICAgICAgICAgIF9lY2hvX2NoZWNrX3Byb2NlZHVyZV93aXRoX2NvZGVfYW5k
X3JlYXNvbiwgTm9uZSwgJycpCisKKyAgICBkZWYgdGVzdF9jbG9zZV9vbl9wcm90b2NvbF9lcnJv
cihzZWxmKToKKyAgICAgICAgIiIiVGVzdHMgdGhhdCB0aGUgc2VydmVyIHNlbmRzIGEgY2xvc2Ug
ZnJhbWUgd2l0aCBwcm90b2NvbCBlcnJvciBzdGF0dXMKKyAgICAgICAgY29kZSB3aGVuIHRoZSBj
bGllbnQgc2VuZHMgZGF0YSB3aXRoIHNvbWUgcHJvdG9jb2wgZXJyb3IuCisgICAgICAgICIiIgor
ICAgICAgICBkZWYgdGVzdF9mdW5jdGlvbihjbGllbnQpOgorICAgICAgICAgICAgY2xpZW50LmNv
bm5lY3QoKQorCisgICAgICAgICAgICAjIEludGVybWVkaWF0ZSBmcmFtZSB3aXRob3V0IGFueSBw
cmVjZWRpbmcgc3RhcnQgb2YgZnJhZ21lbnRhdGlvbgorICAgICAgICAgICAgIyBmcmFtZS4KKyAg
ICAgICAgICAgIGNsaWVudC5zZW5kX2ZyYW1lX29mX2FyYml0cmFyeV9ieXRlcyhiJ1x4ODBceDgw
JywgJycpCisgICAgICAgICAgICBjbGllbnQuYXNzZXJ0X3JlY2VpdmVfY2xvc2UoCisgICAgICAg
ICAgICAgICAgY2xpZW50X2Zvcl90ZXN0aW5nLlNUQVRVU19QUk9UT0NPTF9FUlJPUikKKworICAg
ICAgICBzZWxmLl9ydW5fdGVzdCh0ZXN0X2Z1bmN0aW9uKQorCisgICAgZGVmIHRlc3RfY2xvc2Vf
b25fdW5zdXBwb3J0ZWRfZnJhbWUoc2VsZik6CisgICAgICAgICIiIlRlc3RzIHRoYXQgdGhlIHNl
cnZlciBzZW5kcyBhIGNsb3NlIGZyYW1lIHdpdGggdW5zdXBwb3J0ZWQgb3BlcmF0aW9uCisgICAg
ICAgIHN0YXR1cyBjb2RlIHdoZW4gdGhlIGNsaWVudCBzZW5kcyBkYXRhIGFza2luZyBzb21lIG9w
ZXJhdGlvbiB0aGF0IGlzCisgICAgICAgIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIHNlcnZlci4KKyAg
ICAgICAgIiIiCisgICAgICAgIGRlZiB0ZXN0X2Z1bmN0aW9uKGNsaWVudCk6CisgICAgICAgICAg
ICBjbGllbnQuY29ubmVjdCgpCisKKyAgICAgICAgICAgICMgVGV4dCBmcmFtZSB3aXRoIFJTVjMg
Yml0IHJhaXNlZC4KKyAgICAgICAgICAgIGNsaWVudC5zZW5kX2ZyYW1lX29mX2FyYml0cmFyeV9i
eXRlcyhiJ1x4OTFceDgwJywgJycpCisgICAgICAgICAgICBjbGllbnQuYXNzZXJ0X3JlY2VpdmVf
Y2xvc2UoCisgICAgICAgICAgICAgICAgY2xpZW50X2Zvcl90ZXN0aW5nLlNUQVRVU19VTlNVUFBP
UlRFRF9EQVRBKQorCisgICAgICAgIHNlbGYuX3J1bl90ZXN0KHRlc3RfZnVuY3Rpb24pCisKKyAg
ICBkZWYgdGVzdF9jbG9zZV9vbl9pbnZhbGlkX2ZyYW1lKHNlbGYpOgorICAgICAgICAiIiJUZXN0
cyB0aGF0IHRoZSBzZXJ2ZXIgc2VuZHMgYSBjbG9zZSBmcmFtZSB3aXRoIGludmFsaWQgZnJhbWUg
cGF5bG9hZAorICAgICAgICBkYXRhIHN0YXR1cyBjb2RlIHdoZW4gdGhlIGNsaWVudCBzZW5kcyBh
biBpbnZhbGlkIGZyYW1lIGxpa2UgY29udGFpbmluZworICAgICAgICBpbnZhbGlkIFVURi04IGNo
YXJhY3Rlci4KKyAgICAgICAgIiIiCisgICAgICAgIGRlZiB0ZXN0X2Z1bmN0aW9uKGNsaWVudCk6
CisgICAgICAgICAgICBjbGllbnQuY29ubmVjdCgpCisKKyAgICAgICAgICAgICMgVGV4dCBmcmFt
ZSB3aXRoIGludmFsaWQgVVRGLTggc3RyaW5nLgorICAgICAgICAgICAgY2xpZW50LnNlbmRfbWVz
c2FnZShiJ1x4ODAnLCByYXc9VHJ1ZSkKKyAgICAgICAgICAgIGNsaWVudC5hc3NlcnRfcmVjZWl2
ZV9jbG9zZSgKKyAgICAgICAgICAgICAgICBjbGllbnRfZm9yX3Rlc3RpbmcuU1RBVFVTX0lOVkFM
SURfRlJBTUVfUEFZTE9BRF9EQVRBKQorCisgICAgICAgIHNlbGYuX3J1bl90ZXN0KHRlc3RfZnVu
Y3Rpb24pCisKKyAgICBkZWYgdGVzdF9jbG9zZV9vbl9pbnRlcm5hbF9lbmRwb2ludF9lcnJvcihz
ZWxmKToKKyAgICAgICAgIiIiVGVzdHMgdGhhdCB0aGUgc2VydmVyIHNlbmRzIGEgY2xvc2UgZnJh
bWUgd2l0aCBpbnRlcm5hbCBlbmRwb2ludAorICAgICAgICBlcnJvciBzdGF0dXMgY29kZSB3aGVu
IHRoZSBoYW5kbGVyIGRvZXMgYmFkIG9wZXJhdGlvbi4KKyAgICAgICAgIiIiCisKKyAgICAgICAg
c2VsZi5fb3B0aW9ucy5yZXNvdXJjZSA9ICcvaW50ZXJuYWxfZXJyb3InCisKKyAgICAgICAgZGVm
IHRlc3RfZnVuY3Rpb24oY2xpZW50KToKKyAgICAgICAgICAgIGNsaWVudC5jb25uZWN0KCkKKyAg
ICAgICAgICAgIGNsaWVudC5hc3NlcnRfcmVjZWl2ZV9jbG9zZSgKKyAgICAgICAgICAgICAgICBj
bGllbnRfZm9yX3Rlc3RpbmcuU1RBVFVTX0lOVEVSTkFMX0VORFBPSU5UX0VSUk9SKQorCisgICAg
ICAgIHNlbGYuX3J1bl90ZXN0KHRlc3RfZnVuY3Rpb24pCisKKyAgICAjIFRPRE8odG95b3NoaW0p
OiBBZGQgdGVzdHMgdG8gdmVyaWZ5IGludmFsaWQgYWJzb2x1dGUgdXJpIGhhbmRsaW5nIGxpa2UK
KyAgICAjIGhvc3QgdW5tYXRjaCwgcG9ydCB1bm1hdGNoIGFuZCBpbnZhbGlkIHBvcnQgZGVzY3Jp
cHRpb24gKCc6JyB3aXRob3V0IHBvcnQKKyAgICAjIG51bWJlcikuCisKKyAgICBkZWYgdGVzdF9h
YnNvbHV0ZV91cmkoc2VsZik6CisgICAgICAgICIiIlRlc3RzIGFic29sdXRlIHVyaSByZXF1ZXN0
LiIiIgorCisgICAgICAgIG9wdGlvbnMgPSBzZWxmLl9vcHRpb25zCisgICAgICAgIG9wdGlvbnMu
cmVzb3VyY2UgPSAnd3M6Ly9sb2NhbGhvc3Q6JWQvZWNobycgJSBvcHRpb25zLnNlcnZlcl9wb3J0
CisgICAgICAgIHNlbGYuX3J1bl90ZXN0X3dpdGhfY2xpZW50X29wdGlvbnMoX2VjaG9fY2hlY2tf
cHJvY2VkdXJlLCBvcHRpb25zKQorCisgICAgZGVmIHRlc3Rfb3JpZ2luX2NoZWNrKHNlbGYpOgor
ICAgICAgICAiIiJUZXN0cyBodHRwIGZhbGxiYWNrIG9uIG9yaWdpbiBjaGVjayBmYWlsLiIiIgor
CisgICAgICAgIG9wdGlvbnMgPSBzZWxmLl9vcHRpb25zCisgICAgICAgIG9wdGlvbnMucmVzb3Vy
Y2UgPSAnL29yaWdpbl9jaGVjaycKKyAgICAgICAgIyBTZXJ2ZXIgc2hvd3Mgd2FybmluZyBtZXNz
YWdlIGZvciBodHRwIDQwMyBmYWxsYmFjay4gVGhpcyB3YXJuaW5nCisgICAgICAgICMgbWVzc2Fn
ZSBpcyBjb25mdXNpbmcuIEZvbGxvd2luZyBwaXBlIGRpc3Bvc2VzIHdhcm5pbmcgbWVzc2FnZXMu
CisgICAgICAgIHNlbGYuc2VydmVyX3N0ZGVyciA9IHN1YnByb2Nlc3MuUElQRQorICAgICAgICBz
ZWxmLl9ydW5faHR0cF9mYWxsYmFja190ZXN0KG9wdGlvbnMsIDQwMykKKworICAgIGRlZiB0ZXN0
X3ZlcnNpb25fY2hlY2soc2VsZik6CisgICAgICAgICIiIlRlc3RzIGh0dHAgZmFsbGJhY2sgb24g
dmVyc2lvbiBjaGVjayBmYWlsLiIiIgorCisgICAgICAgIG9wdGlvbnMgPSBzZWxmLl9vcHRpb25z
CisgICAgICAgIG9wdGlvbnMudmVyc2lvbiA9IDk5CisgICAgICAgIHNlbGYuX3J1bl9odHRwX2Zh
bGxiYWNrX3Rlc3Qob3B0aW9ucywgNDAwKQorCisKK2NsYXNzIEVuZFRvRW5kVGVzdFdpdGhFY2hv
Q2xpZW50KEVuZFRvRW5kVGVzdEJhc2UpOgorICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAg
RW5kVG9FbmRUZXN0QmFzZS5zZXRVcChzZWxmKQorCisgICAgZGVmIF9jaGVja19leGFtcGxlX2Vj
aG9fY2xpZW50X3Jlc3VsdChzZWxmLCBleHBlY3RlZCwgc3Rkb3V0ZGF0YSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZGVycmRhdGEpOgorICAgICAgICBhY3R1
YWwgPSBzdGRvdXRkYXRhLmRlY29kZSgidXRmLTgiKQorICAgICAgICBpZiBhY3R1YWwgIT0gZXhw
ZWN0ZWQ6CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oJ1VuZXhwZWN0ZWQgcmVzdWx0IG9u
IGV4YW1wbGUgZWNobyBjbGllbnQ6ICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJXIg
KGV4cGVjdGVkKSB2cyAlciAoYWN0dWFsKScgJQorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IChleHBlY3RlZCwgYWN0dWFsKSkKKyAgICAgICAgaWYgc3RkZXJyZGF0YSBpcyBub3QgTm9uZToK
KyAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbignVW5leHBlY3RlZCBlcnJvciBtZXNzYWdlIG9u
IGV4YW1wbGUgZWNobyAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NsaWVudDogJXIn
ICUgc3RkZXJyZGF0YSkKKworICAgIGRlZiB0ZXN0X2V4YW1wbGVfZWNob19jbGllbnQoc2VsZik6
CisgICAgICAgICIiIlRlc3RzIHRoYXQgdGhlIGVjaG9fY2xpZW50LnB5IGV4YW1wbGUgY2FuIHRh
bGsgd2l0aCB0aGUgc2VydmVyLiIiIgorCisgICAgICAgIHNlcnZlciA9IHNlbGYuX3J1bl9zZXJ2
ZXIoKQorICAgICAgICB0cnk6CisgICAgICAgICAgICB0aW1lLnNsZWVwKF9TRVJWRVJfV0FSTVVQ
X0lOX1NFQykKKworICAgICAgICAgICAgY2xpZW50X2NvbW1hbmQgPSBvcy5wYXRoLmpvaW4oc2Vs
Zi50b3BfZGlyLCAnZXhhbXBsZScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAnZWNob19jbGllbnQucHknKQorCisgICAgICAgICAgICAjIEV4cGVjdGVkIG91dHB1
dCBmb3IgdGhlIGRlZmF1bHQgbWVzc2FnZXMuCisgICAgICAgICAgICBkZWZhdWx0X2V4cGVjdGF0
aW9uID0gKHUnU2VuZDogSGVsbG9cbicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdSdSZWN2OiBIZWxsb1xuJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
J1NlbmQ6IFx1NjVlNVx1NjcyY1xuJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1J1JlY3Y6IFx1NjVlNVx1NjcyY1xuJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1J1NlbmQgY2xvc2VcbicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dSdSZWN2IGFja1xuJykKKworICAgICAgICAgICAgYXJncyA9IFtjbGllbnRfY29tbWFuZCwgJy1w
Jywgc3RyKHNlbGYuX29wdGlvbnMuc2VydmVyX3BvcnQpXQorICAgICAgICAgICAgY2xpZW50ID0g
c2VsZi5fcnVuX3B5dGhvbl9jb21tYW5kKGFyZ3MsIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUpCisg
ICAgICAgICAgICBzdGRvdXRkYXRhLCBzdGRlcnJkYXRhID0gY2xpZW50LmNvbW11bmljYXRlKCkK
KyAgICAgICAgICAgIHNlbGYuX2NoZWNrX2V4YW1wbGVfZWNob19jbGllbnRfcmVzdWx0KGRlZmF1
bHRfZXhwZWN0YXRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzdGRvdXRkYXRhLCBzdGRlcnJkYXRhKQorCisgICAgICAgICAgICAjIFByb2Nl
c3MgYSBiaWcgbWVzc2FnZSBmb3Igd2hpY2ggZXh0ZW5kZWQgcGF5bG9hZCBsZW5ndGggaXMgdXNl
ZC4KKyAgICAgICAgICAgICMgVG8gaGFuZGxlIGV4dGVuZGVkIHBheWxvYWQgbGVuZ3RoLCB3c192
ZXJzaW9uIGF0dHJpYnV0ZSB3aWxsIGJlCisgICAgICAgICAgICAjIGFjY2Vzc2VkLiBUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgd3NfdmVyc2lvbiBpcyBjb3JyZWN0bHkgc2V0LgorICAgICAgICAgICAg
YmlnX21lc3NhZ2UgPSAnYScgKiAxMDI0CisgICAgICAgICAgICBhcmdzID0gWworICAgICAgICAg
ICAgICAgIGNsaWVudF9jb21tYW5kLCAnLXAnLAorICAgICAgICAgICAgICAgIHN0cihzZWxmLl9v
cHRpb25zLnNlcnZlcl9wb3J0KSwgJy1tJywgYmlnX21lc3NhZ2UKKyAgICAgICAgICAgIF0KKyAg
ICAgICAgICAgIGNsaWVudCA9IHNlbGYuX3J1bl9weXRob25fY29tbWFuZChhcmdzLCBzdGRvdXQ9
c3VicHJvY2Vzcy5QSVBFKQorICAgICAgICAgICAgc3Rkb3V0ZGF0YSwgc3RkZXJyZGF0YSA9IGNs
aWVudC5jb21tdW5pY2F0ZSgpCisgICAgICAgICAgICBleHBlY3RlZCA9ICgnU2VuZDogJXNcblJl
Y3Y6ICVzXG5TZW5kIGNsb3NlXG5SZWN2IGFja1xuJyAlCisgICAgICAgICAgICAgICAgICAgICAg
ICAoYmlnX21lc3NhZ2UsIGJpZ19tZXNzYWdlKSkKKyAgICAgICAgICAgIHNlbGYuX2NoZWNrX2V4
YW1wbGVfZWNob19jbGllbnRfcmVzdWx0KGV4cGVjdGVkLCBzdGRvdXRkYXRhLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RkZXJyZGF0YSkKKwor
ICAgICAgICAgICAgIyBUZXN0IHRoZSBwZXJtZXNzYWdlLWRlZmxhdGUgZXh0ZW5zaW9uLgorICAg
ICAgICAgICAgYXJncyA9IFsKKyAgICAgICAgICAgICAgICBjbGllbnRfY29tbWFuZCwgJy1wJywK
KyAgICAgICAgICAgICAgICBzdHIoc2VsZi5fb3B0aW9ucy5zZXJ2ZXJfcG9ydCksICctLXVzZV9w
ZXJtZXNzYWdlX2RlZmxhdGUnCisgICAgICAgICAgICBdCisgICAgICAgICAgICBjbGllbnQgPSBz
ZWxmLl9ydW5fcHl0aG9uX2NvbW1hbmQoYXJncywgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSkKKyAg
ICAgICAgICAgIHN0ZG91dGRhdGEsIHN0ZGVycmRhdGEgPSBjbGllbnQuY29tbXVuaWNhdGUoKQor
ICAgICAgICAgICAgc2VsZi5fY2hlY2tfZXhhbXBsZV9lY2hvX2NsaWVudF9yZXN1bHQoZGVmYXVs
dF9leHBlY3RhdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHN0ZG91dGRhdGEsIHN0ZGVycmRhdGEpCisgICAgICAgIGZpbmFsbHk6CisgICAg
ICAgICAgICBzZWxmLl9jbG9zZV9zZXJ2ZXIoc2VydmVyKQorCisKK2lmIF9fbmFtZV9fID09ICdf
X21haW5fXyc6CisgICAgdW5pdHRlc3QubWFpbigpCisKKyMgdmk6c3RzPTQgc3c9NCBldApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvdGVzdC90ZXN0X2V4dGVuc2lvbnMucHkgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5
L3B5d2Vic29ja2V0My90ZXN0L3Rlc3RfZXh0ZW5zaW9ucy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOWExMTE4
ODhiZTkwMDViZDdiNjg0MzY2YWViZmQxZDkxNGY0YTMyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0
eS9weXdlYnNvY2tldDMvdGVzdC90ZXN0X2V4dGVuc2lvbnMucHkKQEAgLTAsMCArMSwxOTIgQEAK
KyMhL3Vzci9iaW4vZW52IHB5dGhvbgorIworIyBDb3B5cmlnaHQgMjAxMiwgR29vZ2xlIEluYy4K
KyMgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUK
KyMgbWV0OgorIworIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyMgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
cgorIyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlCisjIGRpc3RyaWJ1dGlvbi4KKyMgICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBH
b29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworIyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorIyB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorIworIyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTCisjICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorIyBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorIyBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwKKyMgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyMgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisj
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisiIiJUZXN0cyBmb3Ig
ZXh0ZW5zaW9ucyBtb2R1bGUuIiIiCisKK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVf
aW1wb3J0CitpbXBvcnQgdW5pdHRlc3QKK2ltcG9ydCB6bGliCisKK2ltcG9ydCBzZXRfc3lzX3Bh
dGggICMgVXBkYXRlIHN5cy5wYXRoIHRvIGxvY2F0ZSBtb2RfcHl3ZWJzb2NrZXQgbW9kdWxlLgor
Citmcm9tIG1vZF9weXdlYnNvY2tldCBpbXBvcnQgY29tbW9uCitmcm9tIG1vZF9weXdlYnNvY2tl
dCBpbXBvcnQgZXh0ZW5zaW9ucworCisKK2NsYXNzIEV4dGVuc2lvbnNUZXN0KHVuaXR0ZXN0LlRl
c3RDYXNlKToKKyAgICAiIiJBIHVuaXR0ZXN0IGZvciBub24tY2xhc3MgbWV0aG9kcyBpbiBleHRl
bnNpb25zLnB5IiIiCisgICAgZGVmIHRlc3RfcGFyc2Vfd2luZG93X2JpdHMoc2VsZik6CisgICAg
ICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGV4dGVuc2lvbnMuX3BhcnNlX3dpbmRv
d19iaXRzLCBOb25lKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBleHRl
bnNpb25zLl9wYXJzZV93aW5kb3dfYml0cywgJ2Zvb2JhcicpCisgICAgICAgIHNlbGYuYXNzZXJ0
UmFpc2VzKFZhbHVlRXJyb3IsIGV4dGVuc2lvbnMuX3BhcnNlX3dpbmRvd19iaXRzLCAnIDggJykK
KyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgZXh0ZW5zaW9ucy5fcGFyc2Vf
d2luZG93X2JpdHMsICdhOGEnKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9y
LCBleHRlbnNpb25zLl9wYXJzZV93aW5kb3dfYml0cywgJzAwMDAwJykKKyAgICAgICAgc2VsZi5h
c3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgZXh0ZW5zaW9ucy5fcGFyc2Vfd2luZG93X2JpdHMsICcw
MDAwOCcpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGV4dGVuc2lvbnMu
X3BhcnNlX3dpbmRvd19iaXRzLCAnMHg4JykKKworICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhW
YWx1ZUVycm9yLCBleHRlbnNpb25zLl9wYXJzZV93aW5kb3dfYml0cywgJzkuNScpCisgICAgICAg
IHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGV4dGVuc2lvbnMuX3BhcnNlX3dpbmRvd19i
aXRzLCAnOC4wJykKKworICAgICAgICBzZWxmLmFzc2VydFRydWUoZXh0ZW5zaW9ucy5fcGFyc2Vf
d2luZG93X2JpdHMsICc4JykKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGV4dGVuc2lvbnMuX3Bh
cnNlX3dpbmRvd19iaXRzLCAnMTUnKQorCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVl
RXJyb3IsIGV4dGVuc2lvbnMuX3BhcnNlX3dpbmRvd19iaXRzLCAnLTgnKQorICAgICAgICBzZWxm
LmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBleHRlbnNpb25zLl9wYXJzZV93aW5kb3dfYml0cywg
JzAnKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBleHRlbnNpb25zLl9w
YXJzZV93aW5kb3dfYml0cywgJzcnKQorCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVl
RXJyb3IsIGV4dGVuc2lvbnMuX3BhcnNlX3dpbmRvd19iaXRzLCAnMTYnKQorICAgICAgICBzZWxm
LmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBleHRlbnNpb25zLl9wYXJzZV93aW5kb3dfYml0cywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgJzEwMDAwMDAwJykKKworCitjbGFzcyBQZXJNZXNz
YWdlRGVmbGF0ZUV4dGVuc2lvblByb2Nlc3NvclBhcnNpbmdUZXN0KHVuaXR0ZXN0LlRlc3RDYXNl
KToKKyAgICAiIiJBIHVuaXR0ZXN0IGZvciBjaGVja2luZyB0aGF0IFBlck1lc3NhZ2VEZWZsYXRl
RXh0ZW5zaW9uUHJvY2Vzc29yIHBhcnNlcworICAgIGdpdmVuIGV4dGVuc2lvbiBwYXJhbWV0ZXIg
Y29ycmVjdGx5LgorICAgICIiIgorICAgIGRlZiB0ZXN0X3JlZ2lzdHJ5KHNlbGYpOgorICAgICAg
ICBwcm9jZXNzb3IgPSBleHRlbnNpb25zLmdldF9leHRlbnNpb25fcHJvY2Vzc29yKAorICAgICAg
ICAgICAgY29tbW9uLkV4dGVuc2lvblBhcmFtZXRlcigncGVybWVzc2FnZS1kZWZsYXRlJykpCisg
ICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShwcm9jZXNzb3IsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBleHRlbnNpb25zLlBlck1lc3NhZ2VEZWZsYXRlRXh0ZW5zaW9uUHJvY2Vz
c29yKQorCisgICAgZGVmIHRlc3RfbWluaW1hbF9vZmZlcihzZWxmKToKKyAgICAgICAgcHJvY2Vz
c29yID0gZXh0ZW5zaW9ucy5QZXJNZXNzYWdlRGVmbGF0ZUV4dGVuc2lvblByb2Nlc3NvcigKKyAg
ICAgICAgICAgIGNvbW1vbi5FeHRlbnNpb25QYXJhbWV0ZXIoJ3Blcm1lc3NhZ2UtZGVmbGF0ZScp
KQorCisgICAgICAgIHJlc3BvbnNlID0gcHJvY2Vzc29yLmdldF9leHRlbnNpb25fcmVzcG9uc2Uo
KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdwZXJtZXNzYWdlLWRlZmxhdGUnLCByZXNwb25z
ZS5uYW1lKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoMCwgbGVuKHJlc3BvbnNlLmdldF9w
YXJhbWV0ZXJzKCkpKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoemxpYi5NQVhfV0JJVFMs
CisgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2Vzc29yLl9yZmMxOTc5X2RlZmxhdGVyLl93
aW5kb3dfYml0cykKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShwcm9jZXNzb3IuX3JmYzE5Nzlf
ZGVmbGF0ZXIuX25vX2NvbnRleHRfdGFrZW92ZXIpCisKKyAgICBkZWYgdGVzdF9vZmZlcl93aXRo
X21heF93aW5kb3dfYml0cyhzZWxmKToKKyAgICAgICAgcGFyYW1ldGVyID0gY29tbW9uLkV4dGVu
c2lvblBhcmFtZXRlcigncGVybWVzc2FnZS1kZWZsYXRlJykKKyAgICAgICAgcGFyYW1ldGVyLmFk
ZF9wYXJhbWV0ZXIoJ3NlcnZlcl9tYXhfd2luZG93X2JpdHMnLCAnMTAnKQorICAgICAgICBwcm9j
ZXNzb3IgPSBleHRlbnNpb25zLlBlck1lc3NhZ2VEZWZsYXRlRXh0ZW5zaW9uUHJvY2Vzc29yKHBh
cmFtZXRlcikKKworICAgICAgICByZXNwb25zZSA9IHByb2Nlc3Nvci5nZXRfZXh0ZW5zaW9uX3Jl
c3BvbnNlKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgncGVybWVzc2FnZS1kZWZsYXRlJywg
cmVzcG9uc2UubmFtZSgpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFsoJ3NlcnZlcl9tYXhf
d2luZG93X2JpdHMnLCAnMTAnKV0sCisgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2Uu
Z2V0X3BhcmFtZXRlcnMoKSkKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDEwLCBwcm9jZXNz
b3IuX3JmYzE5NzlfZGVmbGF0ZXIuX3dpbmRvd19iaXRzKQorCisgICAgZGVmIHRlc3Rfb2ZmZXJf
d2l0aF9vdXRfb2ZfcmFuZ2VfbWF4X3dpbmRvd19iaXRzKHNlbGYpOgorICAgICAgICBwYXJhbWV0
ZXIgPSBjb21tb24uRXh0ZW5zaW9uUGFyYW1ldGVyKCdwZXJtZXNzYWdlLWRlZmxhdGUnKQorICAg
ICAgICBwYXJhbWV0ZXIuYWRkX3BhcmFtZXRlcignc2VydmVyX21heF93aW5kb3dfYml0cycsICcw
JykKKyAgICAgICAgcHJvY2Vzc29yID0gZXh0ZW5zaW9ucy5QZXJNZXNzYWdlRGVmbGF0ZUV4dGVu
c2lvblByb2Nlc3NvcihwYXJhbWV0ZXIpCisKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUocHJv
Y2Vzc29yLmdldF9leHRlbnNpb25fcmVzcG9uc2UoKSkKKworICAgIGRlZiB0ZXN0X29mZmVyX3dp
dGhfbWF4X3dpbmRvd19iaXRzX3dpdGhvdXRfdmFsdWUoc2VsZik6CisgICAgICAgIHBhcmFtZXRl
ciA9IGNvbW1vbi5FeHRlbnNpb25QYXJhbWV0ZXIoJ3Blcm1lc3NhZ2UtZGVmbGF0ZScpCisgICAg
ICAgIHBhcmFtZXRlci5hZGRfcGFyYW1ldGVyKCdzZXJ2ZXJfbWF4X3dpbmRvd19iaXRzJywgTm9u
ZSkKKyAgICAgICAgcHJvY2Vzc29yID0gZXh0ZW5zaW9ucy5QZXJNZXNzYWdlRGVmbGF0ZUV4dGVu
c2lvblByb2Nlc3NvcihwYXJhbWV0ZXIpCisKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUocHJv
Y2Vzc29yLmdldF9leHRlbnNpb25fcmVzcG9uc2UoKSkKKworICAgIGRlZiB0ZXN0X29mZmVyX3dp
dGhfbm9fY29udGV4dF90YWtlb3ZlcihzZWxmKToKKyAgICAgICAgcGFyYW1ldGVyID0gY29tbW9u
LkV4dGVuc2lvblBhcmFtZXRlcigncGVybWVzc2FnZS1kZWZsYXRlJykKKyAgICAgICAgcGFyYW1l
dGVyLmFkZF9wYXJhbWV0ZXIoJ3NlcnZlcl9ub19jb250ZXh0X3Rha2VvdmVyJywgTm9uZSkKKyAg
ICAgICAgcHJvY2Vzc29yID0gZXh0ZW5zaW9ucy5QZXJNZXNzYWdlRGVmbGF0ZUV4dGVuc2lvblBy
b2Nlc3NvcihwYXJhbWV0ZXIpCisKKyAgICAgICAgcmVzcG9uc2UgPSBwcm9jZXNzb3IuZ2V0X2V4
dGVuc2lvbl9yZXNwb25zZSgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ3Blcm1lc3NhZ2Ut
ZGVmbGF0ZScsIHJlc3BvbnNlLm5hbWUoKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChbKCdz
ZXJ2ZXJfbm9fY29udGV4dF90YWtlb3ZlcicsIE5vbmUpXSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICByZXNwb25zZS5nZXRfcGFyYW1ldGVycygpKQorCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1
ZShwcm9jZXNzb3IuX3JmYzE5NzlfZGVmbGF0ZXIuX25vX2NvbnRleHRfdGFrZW92ZXIpCisKKyAg
ICBkZWYgdGVzdF9vZmZlcl93aXRoX25vX2NvbnRleHRfdGFrZW92ZXJfd2l0aF92YWx1ZShzZWxm
KToKKyAgICAgICAgcGFyYW1ldGVyID0gY29tbW9uLkV4dGVuc2lvblBhcmFtZXRlcigncGVybWVz
c2FnZS1kZWZsYXRlJykKKyAgICAgICAgcGFyYW1ldGVyLmFkZF9wYXJhbWV0ZXIoJ3NlcnZlcl9u
b19jb250ZXh0X3Rha2VvdmVyJywgJ2Zvb2JhcicpCisgICAgICAgIHByb2Nlc3NvciA9IGV4dGVu
c2lvbnMuUGVyTWVzc2FnZURlZmxhdGVFeHRlbnNpb25Qcm9jZXNzb3IocGFyYW1ldGVyKQorCisg
ICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKHByb2Nlc3Nvci5nZXRfZXh0ZW5zaW9uX3Jlc3BvbnNl
KCkpCisKKyAgICBkZWYgdGVzdF9vZmZlcl93aXRoX3Vua25vd25fcGFyYW1ldGVyKHNlbGYpOgor
ICAgICAgICBwYXJhbWV0ZXIgPSBjb21tb24uRXh0ZW5zaW9uUGFyYW1ldGVyKCdwZXJtZXNzYWdl
LWRlZmxhdGUnKQorICAgICAgICBwYXJhbWV0ZXIuYWRkX3BhcmFtZXRlcignZm9vJywgJ2Jhcicp
CisgICAgICAgIHByb2Nlc3NvciA9IGV4dGVuc2lvbnMuUGVyTWVzc2FnZURlZmxhdGVFeHRlbnNp
b25Qcm9jZXNzb3IocGFyYW1ldGVyKQorCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKHByb2Nl
c3Nvci5nZXRfZXh0ZW5zaW9uX3Jlc3BvbnNlKCkpCisKKworY2xhc3MgUGVyTWVzc2FnZURlZmxh
dGVFeHRlbnNpb25Qcm9jZXNzb3JCdWlsZGluZ1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgorICAg
ICIiIkEgdW5pdHRlc3QgZm9yIGNoZWNraW5nIHRoYXQgUGVyTWVzc2FnZURlZmxhdGVFeHRlbnNp
b25Qcm9jZXNzb3IgYnVpbGRzCisgICAgYSByZXNwb25zZSBiYXNlZCBvbiBzcGVjaWZpZWQgb3B0
aW9ucyBjb3JyZWN0bHkuCisgICAgIiIiCisgICAgZGVmIHRlc3RfcmVzcG9uc2Vfd2l0aF9tYXhf
d2luZG93X2JpdHMoc2VsZik6CisgICAgICAgIHBhcmFtZXRlciA9IGNvbW1vbi5FeHRlbnNpb25Q
YXJhbWV0ZXIoJ3Blcm1lc3NhZ2UtZGVmbGF0ZScpCisgICAgICAgIHBhcmFtZXRlci5hZGRfcGFy
YW1ldGVyKCdjbGllbnRfbWF4X3dpbmRvd19iaXRzJywgTm9uZSkKKyAgICAgICAgcHJvY2Vzc29y
ID0gZXh0ZW5zaW9ucy5QZXJNZXNzYWdlRGVmbGF0ZUV4dGVuc2lvblByb2Nlc3NvcihwYXJhbWV0
ZXIpCisgICAgICAgIHByb2Nlc3Nvci5zZXRfY2xpZW50X21heF93aW5kb3dfYml0cygxMCkKKwor
ICAgICAgICByZXNwb25zZSA9IHByb2Nlc3Nvci5nZXRfZXh0ZW5zaW9uX3Jlc3BvbnNlKCkKKyAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbCgncGVybWVzc2FnZS1kZWZsYXRlJywgcmVzcG9uc2UubmFt
ZSgpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFsoJ2NsaWVudF9tYXhfd2luZG93X2JpdHMn
LCAnMTAnKV0sCisgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UuZ2V0X3BhcmFtZXRl
cnMoKSkKKworICAgIGRlZiB0ZXN0X3Jlc3BvbnNlX3dpdGhfbWF4X3dpbmRvd19iaXRzX3dpdGhv
dXRfY2xpZW50X3Blcm1pc3Npb24oc2VsZik6CisgICAgICAgIHByb2Nlc3NvciA9IGV4dGVuc2lv
bnMuUGVyTWVzc2FnZURlZmxhdGVFeHRlbnNpb25Qcm9jZXNzb3IoCisgICAgICAgICAgICBjb21t
b24uRXh0ZW5zaW9uUGFyYW1ldGVyKCdwZXJtZXNzYWdlLWRlZmxhdGUnKSkKKyAgICAgICAgcHJv
Y2Vzc29yLnNldF9jbGllbnRfbWF4X3dpbmRvd19iaXRzKDEwKQorCisgICAgICAgIHJlc3BvbnNl
ID0gcHJvY2Vzc29yLmdldF9leHRlbnNpb25fcmVzcG9uc2UoKQorICAgICAgICBzZWxmLmFzc2Vy
dElzTm9uZShyZXNwb25zZSkKKworICAgIGRlZiB0ZXN0X3Jlc3BvbnNlX3dpdGhfdHJ1ZV9mb3Jf
bm9fY29udGV4dF90YWtlb3ZlcihzZWxmKToKKyAgICAgICAgcHJvY2Vzc29yID0gZXh0ZW5zaW9u
cy5QZXJNZXNzYWdlRGVmbGF0ZUV4dGVuc2lvblByb2Nlc3NvcigKKyAgICAgICAgICAgIGNvbW1v
bi5FeHRlbnNpb25QYXJhbWV0ZXIoJ3Blcm1lc3NhZ2UtZGVmbGF0ZScpKQorCisgICAgICAgIHBy
b2Nlc3Nvci5zZXRfY2xpZW50X25vX2NvbnRleHRfdGFrZW92ZXIoVHJ1ZSkKKworICAgICAgICBy
ZXNwb25zZSA9IHByb2Nlc3Nvci5nZXRfZXh0ZW5zaW9uX3Jlc3BvbnNlKCkKKyAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbCgncGVybWVzc2FnZS1kZWZsYXRlJywgcmVzcG9uc2UubmFtZSgpKQorICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKFsoJ2NsaWVudF9ub19jb250ZXh0X3Rha2VvdmVyJywgTm9u
ZSldLAorICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLmdldF9wYXJhbWV0ZXJzKCkp
CisKKyAgICBkZWYgdGVzdF9yZXNwb25zZV93aXRoX2ZhbHNlX2Zvcl9ub19jb250ZXh0X3Rha2Vv
dmVyKHNlbGYpOgorICAgICAgICBwcm9jZXNzb3IgPSBleHRlbnNpb25zLlBlck1lc3NhZ2VEZWZs
YXRlRXh0ZW5zaW9uUHJvY2Vzc29yKAorICAgICAgICAgICAgY29tbW9uLkV4dGVuc2lvblBhcmFt
ZXRlcigncGVybWVzc2FnZS1kZWZsYXRlJykpCisKKyAgICAgICAgcHJvY2Vzc29yLnNldF9jbGll
bnRfbm9fY29udGV4dF90YWtlb3ZlcihGYWxzZSkKKworICAgICAgICByZXNwb25zZSA9IHByb2Nl
c3Nvci5nZXRfZXh0ZW5zaW9uX3Jlc3BvbnNlKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgn
cGVybWVzc2FnZS1kZWZsYXRlJywgcmVzcG9uc2UubmFtZSgpKQorICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKDAsIGxlbihyZXNwb25zZS5nZXRfcGFyYW1ldGVycygpKSkKKworCitpZiBfX25hbWVf
XyA9PSAnX19tYWluX18nOgorICAgIHVuaXR0ZXN0Lm1haW4oKQorCisjIHZpOnN0cz00IHN3PTQg
ZXQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL3Rlc3QvdGVzdF9oYW5kc2hha2UucHkg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJk
X3BhcnR5L3B5d2Vic29ja2V0My90ZXN0L3Rlc3RfaGFuZHNoYWtlLnB5Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUw
ZTIyNzhkZmU2NTAxOWQ3NjU5NDg5YjUzOGZjYzg1YWQ1N2Q0NTUKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJk
X3BhcnR5L3B5d2Vic29ja2V0My90ZXN0L3Rlc3RfaGFuZHNoYWtlLnB5CkBAIC0wLDAgKzEsMTcy
IEBACisjIS91c3IvYmluL2VudiBweXRob24KKyMKKyMgQ29weXJpZ2h0IDIwMTIsIEdvb2dsZSBJ
bmMuCisjIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlCisjIG1ldDoKKyMKKyMgICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisjIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIKKyMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZQorIyBkaXN0cmlidXRpb24uCisjICAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyMgdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMK
KyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUworIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyMgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQK
KyMgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsCisjIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisjIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WQorIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorIiIiVGVzdHMg
Zm9yIGhhbmRzaGFrZS5fYmFzZSBtb2R1bGUuIiIiCisKK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQg
YWJzb2x1dGVfaW1wb3J0CitpbXBvcnQgdW5pdHRlc3QKKworaW1wb3J0IHNldF9zeXNfcGF0aCAg
IyBVcGRhdGUgc3lzLnBhdGggdG8gbG9jYXRlIG1vZF9weXdlYnNvY2tldCBtb2R1bGUuCisKK2Zy
b20gbW9kX3B5d2Vic29ja2V0LmNvbW1vbiBpbXBvcnQgRXh0ZW5zaW9uUGFyYW1ldGVyCitmcm9t
IG1vZF9weXdlYnNvY2tldC5jb21tb24gaW1wb3J0IEV4dGVuc2lvblBhcnNpbmdFeGNlcHRpb24K
K2Zyb20gbW9kX3B5d2Vic29ja2V0LmNvbW1vbiBpbXBvcnQgZm9ybWF0X2V4dGVuc2lvbnMKK2Zy
b20gbW9kX3B5d2Vic29ja2V0LmNvbW1vbiBpbXBvcnQgcGFyc2VfZXh0ZW5zaW9ucworZnJvbSBt
b2RfcHl3ZWJzb2NrZXQuaGFuZHNoYWtlLl9iYXNlIGltcG9ydCBIYW5kc2hha2VFeGNlcHRpb24K
K2Zyb20gbW9kX3B5d2Vic29ja2V0LmhhbmRzaGFrZS5fYmFzZSBpbXBvcnQgdmFsaWRhdGVfc3Vi
cHJvdG9jb2wKKworCitjbGFzcyBWYWxpZGF0ZVN1YnByb3RvY29sVGVzdCh1bml0dGVzdC5UZXN0
Q2FzZSk6CisgICAgIiIiQSB1bml0dGVzdCBmb3IgdmFsaWRhdGVfc3VicHJvdG9jb2wgbWV0aG9k
LiIiIgorICAgIGRlZiB0ZXN0X3ZhbGlkYXRlX3N1YnByb3RvY29sKHNlbGYpOgorICAgICAgICAj
IFNob3VsZCBzdWNjZWVkLgorICAgICAgICB2YWxpZGF0ZV9zdWJwcm90b2NvbCgnc2FtcGxlJykK
KyAgICAgICAgdmFsaWRhdGVfc3VicHJvdG9jb2woJ1NhbXBsZScpCisgICAgICAgIHZhbGlkYXRl
X3N1YnByb3RvY29sKCdzYW1wbGVceDdlcHJvdG9jb2wnKQorCisgICAgICAgICMgU2hvdWxkIGZh
aWwuCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEhhbmRzaGFrZUV4Y2VwdGlvbiwgdmFsaWRh
dGVfc3VicHJvdG9jb2wsICcnKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhIYW5kc2hha2VF
eGNlcHRpb24sIHZhbGlkYXRlX3N1YnByb3RvY29sLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAnc2FtcGxlXHgwOXByb3RvY29sJykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSGFuZHNo
YWtlRXhjZXB0aW9uLCB2YWxpZGF0ZV9zdWJwcm90b2NvbCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgJ3NhbXBsZVx4MTlwcm90b2NvbCcpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEhh
bmRzaGFrZUV4Y2VwdGlvbiwgdmFsaWRhdGVfc3VicHJvdG9jb2wsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICdzYW1wbGVceDIwcHJvdG9jb2wnKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNl
cyhIYW5kc2hha2VFeGNlcHRpb24sIHZhbGlkYXRlX3N1YnByb3RvY29sLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAnc2FtcGxlXHg3ZnByb3RvY29sJykKKyAgICAgICAgc2VsZi5hc3NlcnRS
YWlzZXMoCisgICAgICAgICAgICBIYW5kc2hha2VFeGNlcHRpb24sCisgICAgICAgICAgICB2YWxp
ZGF0ZV9zdWJwcm90b2NvbCwKKyAgICAgICAgICAgICMgIkphcGFuIiBpbiBKYXBhbmVzZQorICAg
ICAgICAgICAgdSdcdTY1ZTVcdTY3MmMnKQorCisKK19URVNUX1RPS0VOX0VYVEVOU0lPTl9EQVRB
ID0gWworICAgICgnZm9vJywgWygnZm9vJywgW10pXSksCisgICAgKCdmb287IGJhcicsIFsoJ2Zv
bycsIFsoJ2JhcicsIE5vbmUpXSldKSwKKyAgICAoJ2ZvbzsgYmFyPWJheicsIFsoJ2ZvbycsIFso
J2JhcicsICdiYXonKV0pXSksCisgICAgKCdmb287IGJhcj1iYXo7IGNhcj1jZHInLCBbKCdmb28n
LCBbKCdiYXInLCAnYmF6JyksICgnY2FyJywgJ2NkcicpXSldKSwKKyAgICAoJ2ZvbzsgYmFyPWJh
eiwgY2FyOyBjZHInLCBbKCdmb28nLCBbKCdiYXInLCAnYmF6JyldKSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgKCdjYXInLCBbKCdjZHInLCBOb25lKV0pXSksCisgICAgKCdhLCBi
LCBjLCBkJywgWygnYScsIFtdKSwgKCdiJywgW10pLCAoJ2MnLCBbXSksICgnZCcsIFtdKV0pLAor
XQorCitfVEVTVF9RVU9URURfRVhURU5TSU9OX0RBVEEgPSBbCisgICAgKCdmb287IGJhcj0iIics
IFsoJ2ZvbycsIFsoJ2JhcicsICcnKV0pXSksCisgICAgKCdmb287IGJhcj0iIGJheiAiJywgWygn
Zm9vJywgWygnYmFyJywgJyBiYXogJyldKV0pLAorICAgICgnZm9vOyBiYXI9IixiYXo7IicsIFso
J2ZvbycsIFsoJ2JhcicsICcsYmF6OycpXSldKSwKKyAgICAoJ2ZvbzsgYmFyPSJcXFxyXFxcbmJh
eiInLCBbKCdmb28nLCBbKCdiYXInLCAnXHJcbmJheicpXSldKSwKKyAgICAoJ2ZvbzsgYmFyPSJc
XCJiYXoiJywgWygnZm9vJywgWygnYmFyJywgJyJiYXonKV0pXSksCisgICAgKCdmb287IGJhcj0i
XHhiYmJheiInLCBbKCdmb28nLCBbKCdiYXInLCAnXHhiYmJheicpXSldKSwKK10KKworX1RFU1Rf
UkVEVU5EQU5UX1RPS0VOX0VYVEVOU0lPTl9EQVRBID0gWworICAgICgnZm9vIFx0ICcsIFsoJ2Zv
bycsIFtdKV0pLAorICAgICgnZm9vOyBcclxuIGJhcicsIFsoJ2ZvbycsIFsoJ2JhcicsIE5vbmUp
XSldKSwKKyAgICAoJ2ZvbzsgYmFyPVxyXG4gXHJcbiBiYXonLCBbKCdmb28nLCBbKCdiYXInLCAn
YmF6JyldKV0pLAorICAgICgnZm9vIDtiYXIgPSBiYXogJywgWygnZm9vJywgWygnYmFyJywgJ2Jh
eicpXSldKSwKKyAgICAoJ2ZvbyxiYXIsLGJheicsIFsoJ2ZvbycsIFtdKSwgKCdiYXInLCBbXSks
ICgnYmF6JywgW10pXSksCitdCisKK19URVNUX1JFRFVOREFOVF9RVU9URURfRVhURU5TSU9OX0RB
VEEgPSBbCisgICAgKCdmb287IGJhcj0iXHJcbiBcclxuIGJheiInLCBbKCdmb28nLCBbKCdiYXIn
LCAnICBiYXonKV0pXSksCitdCisKKworY2xhc3MgRXh0ZW5zaW9uc1BhcnNlclRlc3QodW5pdHRl
c3QuVGVzdENhc2UpOgorICAgIGRlZiBfdmVyaWZ5X2V4dGVuc2lvbl9saXN0KHNlbGYsIGV4cGVj
dGVkX2xpc3QsIGFjdHVhbF9saXN0KToKKyAgICAgICAgIiIiVmVyaWZpZXMgdGhhdCBFeHRlbnNp
b25QYXJhbWV0ZXIgb2JqZWN0cyBpbiBhY3R1YWxfbGlzdCBoYXZlIHRoZQorICAgICAgICBzYW1l
IG1lbWJlcnMgYXMgZXh0ZW5zaW9uIGRlZmluaXRpb25zIGluIGV4cGVjdGVkX2xpc3QuIEV4dGVu
c2lvbgorICAgICAgICBkZWZpbml0aW9uIHVzZWQgaW4gdGhpcyB0ZXN0IGlzIGEgcGFpciBvZiBh
biBleHRlbnNpb24gbmFtZSBhbmQgYQorICAgICAgICBwYXJhbWV0ZXIgZGljdGlvbmFyeS4KKyAg
ICAgICAgIiIiCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oZXhwZWN0ZWRfbGlzdCks
IGxlbihhY3R1YWxfbGlzdCkpCisgICAgICAgIGZvciBleHBlY3RlZCwgYWN0dWFsIGluIHppcChl
eHBlY3RlZF9saXN0LCBhY3R1YWxfbGlzdCk6CisgICAgICAgICAgICAobmFtZSwgcGFyYW1ldGVy
cykgPSBleHBlY3RlZAorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChuYW1lLCBhY3R1YWwu
X25hbWUpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBhcmFtZXRlcnMsIGFjdHVhbC5f
cGFyYW1ldGVycykKKworICAgIGRlZiB0ZXN0X3BhcnNlKHNlbGYpOgorICAgICAgICBmb3IgZm9y
bWF0dGVkX3N0cmluZywgZGVmaW5pdGlvbiBpbiBfVEVTVF9UT0tFTl9FWFRFTlNJT05fREFUQToK
KyAgICAgICAgICAgIHNlbGYuX3ZlcmlmeV9leHRlbnNpb25fbGlzdChkZWZpbml0aW9uLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlX2V4dGVuc2lvbnMoZm9y
bWF0dGVkX3N0cmluZykpCisKKyAgICBkZWYgdGVzdF9wYXJzZV9xdW90ZWRfZGF0YShzZWxmKToK
KyAgICAgICAgZm9yIGZvcm1hdHRlZF9zdHJpbmcsIGRlZmluaXRpb24gaW4gX1RFU1RfUVVPVEVE
X0VYVEVOU0lPTl9EQVRBOgorICAgICAgICAgICAgc2VsZi5fdmVyaWZ5X2V4dGVuc2lvbl9saXN0
KGRlZmluaXRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFy
c2VfZXh0ZW5zaW9ucyhmb3JtYXR0ZWRfc3RyaW5nKSkKKworICAgIGRlZiB0ZXN0X3BhcnNlX3Jl
ZHVuZGFudF9kYXRhKHNlbGYpOgorICAgICAgICBmb3IgKGZvcm1hdHRlZF9zdHJpbmcsCisgICAg
ICAgICAgICAgZGVmaW5pdGlvbikgaW4gX1RFU1RfUkVEVU5EQU5UX1RPS0VOX0VYVEVOU0lPTl9E
QVRBOgorICAgICAgICAgICAgc2VsZi5fdmVyaWZ5X2V4dGVuc2lvbl9saXN0KGRlZmluaXRpb24s
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VfZXh0ZW5zaW9u
cyhmb3JtYXR0ZWRfc3RyaW5nKSkKKworICAgIGRlZiB0ZXN0X3BhcnNlX3JlZHVuZGFudF9xdW90
ZWRfZGF0YShzZWxmKToKKyAgICAgICAgZm9yIChmb3JtYXR0ZWRfc3RyaW5nLAorICAgICAgICAg
ICAgIGRlZmluaXRpb24pIGluIF9URVNUX1JFRFVOREFOVF9RVU9URURfRVhURU5TSU9OX0RBVEE6
CisgICAgICAgICAgICBzZWxmLl92ZXJpZnlfZXh0ZW5zaW9uX2xpc3QoZGVmaW5pdGlvbiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJzZV9leHRlbnNpb25zKGZv
cm1hdHRlZF9zdHJpbmcpKQorCisgICAgZGVmIHRlc3RfcGFyc2VfYmFkX2RhdGEoc2VsZik6Cisg
ICAgICAgIF9URVNUX0JBRF9FWFRFTlNJT05fREFUQSA9IFsKKyAgICAgICAgICAgICgnZm9vOyA7
ICcpLAorICAgICAgICAgICAgKCdmb287IGEgYScpLAorICAgICAgICAgICAgKCdmb28gZm9vJyks
CisgICAgICAgICAgICAoJywsLCcpLAorICAgICAgICAgICAgKCdmb287IGJhcj0nKSwKKyAgICAg
ICAgICAgICgnZm9vOyBiYXI9ImhvZ2UnKSwKKyAgICAgICAgICAgICgnZm9vOyBiYXI9ImFcciIn
KSwKKyAgICAgICAgICAgICgnZm9vOyBiYXI9IlxcXHhmZiInKSwKKyAgICAgICAgICAgICgnZm9v
OyBiYXI9XHJhJyksCisgICAgICAgIF0KKworICAgICAgICBmb3IgZm9ybWF0dGVkX3N0cmluZyBp
biBfVEVTVF9CQURfRVhURU5TSU9OX0RBVEE6CisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNl
cyhFeHRlbnNpb25QYXJzaW5nRXhjZXB0aW9uLCBwYXJzZV9leHRlbnNpb25zLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZm9ybWF0dGVkX3N0cmluZykKKworCitjbGFzcyBGb3JtYXRF
eHRlbnNpb25zVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgZGVmIHRlc3RfZm9ybWF0X2V4
dGVuc2lvbnMoc2VsZik6CisgICAgICAgIGZvciBmb3JtYXR0ZWRfc3RyaW5nLCBkZWZpbml0aW9u
cyBpbiBfVEVTVF9UT0tFTl9FWFRFTlNJT05fREFUQToKKyAgICAgICAgICAgIGV4dGVuc2lvbnMg
PSBbXQorICAgICAgICAgICAgZm9yIGRlZmluaXRpb24gaW4gZGVmaW5pdGlvbnM6CisgICAgICAg
ICAgICAgICAgKG5hbWUsIHBhcmFtZXRlcnMpID0gZGVmaW5pdGlvbgorICAgICAgICAgICAgICAg
IGV4dGVuc2lvbiA9IEV4dGVuc2lvblBhcmFtZXRlcihuYW1lKQorICAgICAgICAgICAgICAgIGV4
dGVuc2lvbi5fcGFyYW1ldGVycyA9IHBhcmFtZXRlcnMKKyAgICAgICAgICAgICAgICBleHRlbnNp
b25zLmFwcGVuZChleHRlbnNpb24pCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZvcm1h
dHRlZF9zdHJpbmcsIGZvcm1hdF9leHRlbnNpb25zKGV4dGVuc2lvbnMpKQorCisKK2lmIF9fbmFt
ZV9fID09ICdfX21haW5fXyc6CisgICAgdW5pdHRlc3QubWFpbigpCisKKyMgdmk6c3RzPTQgc3c9
NCBldApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvdGVzdC90ZXN0X2hhbmRzaGFrZV9o
eWJpLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvdGVzdC90ZXN0X2hhbmRzaGFrZV9oeWJpLnB5Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjA0ODQxZjFmNzlmYTg5ZjAzZjBlMDIxOWUwNmIyMTNjMzRmNWYwZmMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My90ZXN0L3Rlc3RfaGFuZHNoYWtlX2h5Ymku
cHkKQEAgLTAsMCArMSw0MjIgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbgorIworIyBDb3B5cmln
aHQgMjAxMSwgR29vZ2xlIEluYy4KKyMgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKyMgbWV0OgorIworIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisj
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisjIGRpc3RyaWJ1dGlvbi4KKyMgICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworIyBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQorIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisjICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgorIyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVAorIyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyMgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwKKyMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisiIiJUZXN0cyBmb3IgaGFuZHNoYWtlIG1vZHVsZS4iIiIKKworZnJvbSBfX2Z1dHVy
ZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQKK2ltcG9ydCB1bml0dGVzdAorCitpbXBvcnQgc2V0
X3N5c19wYXRoICAjIFVwZGF0ZSBzeXMucGF0aCB0byBsb2NhdGUgbW9kX3B5d2Vic29ja2V0IG1v
ZHVsZS4KK2Zyb20gbW9kX3B5d2Vic29ja2V0IGltcG9ydCBjb21tb24KK2Zyb20gbW9kX3B5d2Vi
c29ja2V0LmhhbmRzaGFrZS5fYmFzZSBpbXBvcnQgQWJvcnRlZEJ5VXNlckV4Y2VwdGlvbgorZnJv
bSBtb2RfcHl3ZWJzb2NrZXQuaGFuZHNoYWtlLl9iYXNlIGltcG9ydCBIYW5kc2hha2VFeGNlcHRp
b24KK2Zyb20gbW9kX3B5d2Vic29ja2V0LmhhbmRzaGFrZS5fYmFzZSBpbXBvcnQgVmVyc2lvbkV4
Y2VwdGlvbgorZnJvbSBtb2RfcHl3ZWJzb2NrZXQuaGFuZHNoYWtlLmh5YmkgaW1wb3J0IEhhbmRz
aGFrZXIKKworZnJvbSB0ZXN0IGltcG9ydCBtb2NrCisKKworY2xhc3MgUmVxdWVzdERlZmluaXRp
b24ob2JqZWN0KToKKyAgICAiIiJBIGNsYXNzIGZvciBob2xkaW5nIGRhdGEgZm9yIGNvbnN0cnVj
dGluZyBvcGVuaW5nIGhhbmRzaGFrZSBzdHJpbmdzIGZvcgorICAgIHRlc3RpbmcgdGhlIG9wZW5p
bmcgaGFuZHNoYWtlIHByb2Nlc3Nvci4KKyAgICAiIiIKKyAgICBkZWYgX19pbml0X18oc2VsZiwg
bWV0aG9kLCB1cmksIGhlYWRlcnMpOgorICAgICAgICBzZWxmLm1ldGhvZCA9IG1ldGhvZAorICAg
ICAgICBzZWxmLnVyaSA9IHVyaQorICAgICAgICBzZWxmLmhlYWRlcnMgPSBoZWFkZXJzCisKKwor
ZGVmIF9jcmVhdGVfZ29vZF9yZXF1ZXN0X2RlZigpOgorICAgIHJldHVybiBSZXF1ZXN0RGVmaW5p
dGlvbigKKyAgICAgICAgJ0dFVCcsICcvZGVtbycsIHsKKyAgICAgICAgICAgICdIb3N0JzogJ3Nl
cnZlci5leGFtcGxlLmNvbScsCisgICAgICAgICAgICAnVXBncmFkZSc6ICd3ZWJzb2NrZXQnLAor
ICAgICAgICAgICAgJ0Nvbm5lY3Rpb24nOiAnVXBncmFkZScsCisgICAgICAgICAgICAnU2VjLVdl
YlNvY2tldC1LZXknOiAnZEdobElITmhiWEJzWlNCdWIyNWpaUT09JywKKyAgICAgICAgICAgICdT
ZWMtV2ViU29ja2V0LVZlcnNpb24nOiAnMTMnLAorICAgICAgICAgICAgJ09yaWdpbic6ICdodHRw
Oi8vZXhhbXBsZS5jb20nCisgICAgICAgIH0pCisKKworZGVmIF9jcmVhdGVfcmVxdWVzdChyZXF1
ZXN0X2RlZik6CisgICAgY29ubiA9IG1vY2suTW9ja0Nvbm4oYicnKQorICAgIHJldHVybiBtb2Nr
Lk1vY2tSZXF1ZXN0KG1ldGhvZD1yZXF1ZXN0X2RlZi5tZXRob2QsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdXJpPXJlcXVlc3RfZGVmLnVyaSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBoZWFkZXJzX2luPXJlcXVlc3RfZGVmLmhlYWRlcnMsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29ubmVjdGlvbj1jb25uKQorCisKK2RlZiBfY3JlYXRlX2hhbmRzaGFrZXIocmVx
dWVzdCk6CisgICAgaGFuZHNoYWtlciA9IEhhbmRzaGFrZXIocmVxdWVzdCwgbW9jay5Nb2NrRGlz
cGF0Y2hlcigpKQorICAgIHJldHVybiBoYW5kc2hha2VyCisKKworY2xhc3MgU3VicHJvdG9jb2xD
aG9vc2luZ0Rpc3BhdGNoZXIob2JqZWN0KToKKyAgICAiIiJBIGRpc3BhdGNoZXIgZm9yIHRlc3Rp
bmcuIFRoaXMgZGlzcGF0Y2hlciBzZXRzIHRoZSBpLXRoIHN1YnByb3RvY29sCisgICAgb2YgcmVx
dWVzdGVkIG9uZXMgdG8gd3NfcHJvdG9jb2wgd2hlcmUgaSBpcyBnaXZlbiBvbiBjb25zdHJ1Y3Rp
b24gYXMgaW5kZXgKKyAgICBhcmd1bWVudC4gSWYgaW5kZXggaXMgbmVnYXRpdmUsIGRlZmF1bHRf
dmFsdWUgd2lsbCBiZSBzZXQgdG8gd3NfcHJvdG9jb2wuCisgICAgIiIiCisgICAgZGVmIF9faW5p
dF9fKHNlbGYsIGluZGV4LCBkZWZhdWx0X3ZhbHVlPU5vbmUpOgorICAgICAgICBzZWxmLmluZGV4
ID0gaW5kZXgKKyAgICAgICAgc2VsZi5kZWZhdWx0X3ZhbHVlID0gZGVmYXVsdF92YWx1ZQorCisg
ICAgZGVmIGRvX2V4dHJhX2hhbmRzaGFrZShzZWxmLCBjb25uX2NvbnRleHQpOgorICAgICAgICBp
ZiBzZWxmLmluZGV4ID49IDA6CisgICAgICAgICAgICBjb25uX2NvbnRleHQud3NfcHJvdG9jb2wg
PSBjb25uX2NvbnRleHQud3NfcmVxdWVzdGVkX3Byb3RvY29sc1sKKyAgICAgICAgICAgICAgICBz
ZWxmLmluZGV4XQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgY29ubl9jb250ZXh0LndzX3By
b3RvY29sID0gc2VsZi5kZWZhdWx0X3ZhbHVlCisKKyAgICBkZWYgdHJhbnNmZXJfZGF0YShzZWxm
LCBjb25uX2NvbnRleHQpOgorICAgICAgICBwYXNzCisKKworY2xhc3MgSGFuZHNoYWtlQWJvcnRl
ZEV4Y2VwdGlvbihFeGNlcHRpb24pOgorICAgIHBhc3MKKworCitjbGFzcyBBYm9ydGluZ0Rpc3Bh
dGNoZXIob2JqZWN0KToKKyAgICAiIiJBIGRpc3BhdGNoZXIgZm9yIHRlc3RpbmcuIFRoaXMgZGlz
cGF0Y2hlciByYWlzZXMgYW4gZXhjZXB0aW9uIGluCisgICAgZG9fZXh0cmFfaGFuZHNoYWtlIHRv
IHJlamVjdCB0aGUgcmVxdWVzdC4KKyAgICAiIiIKKyAgICBkZWYgZG9fZXh0cmFfaGFuZHNoYWtl
KHNlbGYsIGNvbm5fY29udGV4dCk6CisgICAgICAgIHJhaXNlIEhhbmRzaGFrZUFib3J0ZWRFeGNl
cHRpb24oJ0FuIGV4Y2VwdGlvbiB0byByZWplY3QgdGhlIHJlcXVlc3QnKQorCisgICAgZGVmIHRy
YW5zZmVyX2RhdGEoc2VsZiwgY29ubl9jb250ZXh0KToKKyAgICAgICAgcGFzcworCisKK2NsYXNz
IEFib3J0ZWRCeVVzZXJEaXNwYXRjaGVyKG9iamVjdCk6CisgICAgIiIiQSBkaXNwYXRjaGVyIGZv
ciB0ZXN0aW5nLiBUaGlzIGRpc3BhdGNoZXIgcmFpc2VzIGFuCisgICAgQWJvcnRlZEJ5VXNlckV4
Y2VwdGlvbiBpbiBkb19leHRyYV9oYW5kc2hha2UgdG8gcmVqZWN0IHRoZSByZXF1ZXN0LgorICAg
ICIiIgorICAgIGRlZiBkb19leHRyYV9oYW5kc2hha2Uoc2VsZiwgY29ubl9jb250ZXh0KToKKyAg
ICAgICAgcmFpc2UgQWJvcnRlZEJ5VXNlckV4Y2VwdGlvbignQW4gQWJvcnRlZEJ5VXNlckV4Y2Vw
dGlvbiB0byByZWplY3QgdGhlICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAncmVxdWVzdCcpCisKKyAgICBkZWYgdHJhbnNmZXJfZGF0YShzZWxmLCBjb25uX2NvbnRleHQp
OgorICAgICAgICBwYXNzCisKKworX0VYUEVDVEVEX1JFU1BPTlNFID0gKAorICAgIGInSFRUUC8x
LjEgMTAxIFN3aXRjaGluZyBQcm90b2NvbHNcclxuJworICAgIGInVXBncmFkZTogd2Vic29ja2V0
XHJcbicKKyAgICBiJ0Nvbm5lY3Rpb246IFVwZ3JhZGVcclxuJworICAgIGInU2VjLVdlYlNvY2tl
dC1BY2NlcHQ6IHMzcFBMTUJpVHhhUTlrWUd6emhaUmJLK3hPbz1cclxuXHJcbicpCisKKworY2xh
c3MgSGFuZHNoYWtlclRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgorICAgICIiIkEgdW5pdHRlc3Qg
Zm9yIGRyYWZ0LWlldGYtaHliaS10aGV3ZWJzb2NrZXRwcm90b2NvbC0wNiBhbmQgbGF0ZXIKKyAg
ICBoYW5kc2hha2UgcHJvY2Vzc29yLgorICAgICIiIgorICAgIGRlZiB0ZXN0X2RvX2hhbmRzaGFr
ZShzZWxmKToKKyAgICAgICAgcmVxdWVzdCA9IF9jcmVhdGVfcmVxdWVzdChfY3JlYXRlX2dvb2Rf
cmVxdWVzdF9kZWYoKSkKKyAgICAgICAgZGlzcGF0Y2hlciA9IG1vY2suTW9ja0Rpc3BhdGNoZXIo
KQorICAgICAgICBoYW5kc2hha2VyID0gSGFuZHNoYWtlcihyZXF1ZXN0LCBkaXNwYXRjaGVyKQor
ICAgICAgICBoYW5kc2hha2VyLmRvX2hhbmRzaGFrZSgpCisKKyAgICAgICAgc2VsZi5hc3NlcnRU
cnVlKGRpc3BhdGNoZXIuZG9fZXh0cmFfaGFuZHNoYWtlX2NhbGxlZCkKKworICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKF9FWFBFQ1RFRF9SRVNQT05TRSwgcmVxdWVzdC5jb25uZWN0aW9uLndyaXR0
ZW5fZGF0YSgpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCcvZGVtbycsIHJlcXVlc3Qud3Nf
cmVzb3VyY2UpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ2h0dHA6Ly9leGFtcGxlLmNvbScs
IHJlcXVlc3Qud3Nfb3JpZ2luKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKE5vbmUsIHJlcXVl
c3Qud3NfcHJvdG9jb2wpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoTm9uZSwgcmVxdWVzdC53
c19leHRlbnNpb25zKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNvbW1vbi5WRVJTSU9OX0hZ
QklfTEFURVNULCByZXF1ZXN0LndzX3ZlcnNpb24pCisKKyAgICBkZWYgdGVzdF9kb19oYW5kc2hh
a2Vfd2l0aF9leHRyYV9oZWFkZXJzKHNlbGYpOgorICAgICAgICByZXF1ZXN0X2RlZiA9IF9jcmVh
dGVfZ29vZF9yZXF1ZXN0X2RlZigpCisgICAgICAgICMgQWRkIGhlYWRlcnMgbm90IHJlbGF0ZWQg
dG8gV2ViU29ja2V0IG9wZW5pbmcgaGFuZHNoYWtlLgorICAgICAgICByZXF1ZXN0X2RlZi5oZWFk
ZXJzWydGb29LZXknXSA9ICdCYXJWYWx1ZScKKyAgICAgICAgcmVxdWVzdF9kZWYuaGVhZGVyc1sn
RW1wdHlLZXknXSA9ICcnCisKKyAgICAgICAgcmVxdWVzdCA9IF9jcmVhdGVfcmVxdWVzdChyZXF1
ZXN0X2RlZikKKyAgICAgICAgaGFuZHNoYWtlciA9IF9jcmVhdGVfaGFuZHNoYWtlcihyZXF1ZXN0
KQorICAgICAgICBoYW5kc2hha2VyLmRvX2hhbmRzaGFrZSgpCisgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwoX0VYUEVDVEVEX1JFU1BPTlNFLCByZXF1ZXN0LmNvbm5lY3Rpb24ud3JpdHRlbl9kYXRh
KCkpCisKKyAgICBkZWYgdGVzdF9kb19oYW5kc2hha2Vfd2l0aF9jYXBpdGFsaXplZF92YWx1ZShz
ZWxmKToKKyAgICAgICAgcmVxdWVzdF9kZWYgPSBfY3JlYXRlX2dvb2RfcmVxdWVzdF9kZWYoKQor
ICAgICAgICByZXF1ZXN0X2RlZi5oZWFkZXJzWyd1cGdyYWRlJ10gPSAnV0VCU09DS0VUJworCisg
ICAgICAgIHJlcXVlc3QgPSBfY3JlYXRlX3JlcXVlc3QocmVxdWVzdF9kZWYpCisgICAgICAgIGhh
bmRzaGFrZXIgPSBfY3JlYXRlX2hhbmRzaGFrZXIocmVxdWVzdCkKKyAgICAgICAgaGFuZHNoYWtl
ci5kb19oYW5kc2hha2UoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKF9FWFBFQ1RFRF9SRVNQ
T05TRSwgcmVxdWVzdC5jb25uZWN0aW9uLndyaXR0ZW5fZGF0YSgpKQorCisgICAgICAgIHJlcXVl
c3RfZGVmID0gX2NyZWF0ZV9nb29kX3JlcXVlc3RfZGVmKCkKKyAgICAgICAgcmVxdWVzdF9kZWYu
aGVhZGVyc1snQ29ubmVjdGlvbiddID0gJ1VQR1JBREUnCisKKyAgICAgICAgcmVxdWVzdCA9IF9j
cmVhdGVfcmVxdWVzdChyZXF1ZXN0X2RlZikKKyAgICAgICAgaGFuZHNoYWtlciA9IF9jcmVhdGVf
aGFuZHNoYWtlcihyZXF1ZXN0KQorICAgICAgICBoYW5kc2hha2VyLmRvX2hhbmRzaGFrZSgpCisg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoX0VYUEVDVEVEX1JFU1BPTlNFLCByZXF1ZXN0LmNvbm5l
Y3Rpb24ud3JpdHRlbl9kYXRhKCkpCisKKyAgICBkZWYgdGVzdF9kb19oYW5kc2hha2Vfd2l0aF9t
dWx0aXBsZV9jb25uZWN0aW9uX3ZhbHVlcyhzZWxmKToKKyAgICAgICAgcmVxdWVzdF9kZWYgPSBf
Y3JlYXRlX2dvb2RfcmVxdWVzdF9kZWYoKQorICAgICAgICByZXF1ZXN0X2RlZi5oZWFkZXJzWydD
b25uZWN0aW9uJ10gPSAnVXBncmFkZSwga2VlcC1hbGl2ZSwgLCAnCisKKyAgICAgICAgcmVxdWVz
dCA9IF9jcmVhdGVfcmVxdWVzdChyZXF1ZXN0X2RlZikKKyAgICAgICAgaGFuZHNoYWtlciA9IF9j
cmVhdGVfaGFuZHNoYWtlcihyZXF1ZXN0KQorICAgICAgICBoYW5kc2hha2VyLmRvX2hhbmRzaGFr
ZSgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoX0VYUEVDVEVEX1JFU1BPTlNFLCByZXF1ZXN0
LmNvbm5lY3Rpb24ud3JpdHRlbl9kYXRhKCkpCisKKyAgICBkZWYgdGVzdF9hYm9ydGluZ19oYW5k
c2hha2Uoc2VsZik6CisgICAgICAgIGhhbmRzaGFrZXIgPSBIYW5kc2hha2VyKF9jcmVhdGVfcmVx
dWVzdChfY3JlYXRlX2dvb2RfcmVxdWVzdF9kZWYoKSksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEFib3J0aW5nRGlzcGF0Y2hlcigpKQorICAgICAgICAjIGRvX2V4dHJhX2hhbmRz
aGFrZSByYWlzZXMgYW4gZXhjZXB0aW9uLiBDaGVjayB0aGF0IGl0J3Mgbm90IGNhdWdodCBieQor
ICAgICAgICAjIGRvX2hhbmRzaGFrZS4KKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSGFuZHNo
YWtlQWJvcnRlZEV4Y2VwdGlvbiwgaGFuZHNoYWtlci5kb19oYW5kc2hha2UpCisKKyAgICBkZWYg
dGVzdF9kb19oYW5kc2hha2Vfd2l0aF9wcm90b2NvbChzZWxmKToKKyAgICAgICAgcmVxdWVzdF9k
ZWYgPSBfY3JlYXRlX2dvb2RfcmVxdWVzdF9kZWYoKQorICAgICAgICByZXF1ZXN0X2RlZi5oZWFk
ZXJzWydTZWMtV2ViU29ja2V0LVByb3RvY29sJ10gPSAnY2hhdCwgc3VwZXJjaGF0JworCisgICAg
ICAgIHJlcXVlc3QgPSBfY3JlYXRlX3JlcXVlc3QocmVxdWVzdF9kZWYpCisgICAgICAgIGhhbmRz
aGFrZXIgPSBIYW5kc2hha2VyKHJlcXVlc3QsIFN1YnByb3RvY29sQ2hvb3NpbmdEaXNwYXRjaGVy
KDApKQorICAgICAgICBoYW5kc2hha2VyLmRvX2hhbmRzaGFrZSgpCisKKyAgICAgICAgRVhQRUNU
RURfUkVTUE9OU0UgPSAoCisgICAgICAgICAgICBiJ0hUVFAvMS4xIDEwMSBTd2l0Y2hpbmcgUHJv
dG9jb2xzXHJcbicKKyAgICAgICAgICAgIGInVXBncmFkZTogd2Vic29ja2V0XHJcbicKKyAgICAg
ICAgICAgIGInQ29ubmVjdGlvbjogVXBncmFkZVxyXG4nCisgICAgICAgICAgICBiJ1NlYy1XZWJT
b2NrZXQtQWNjZXB0OiBzM3BQTE1CaVR4YVE5a1lHenpoWlJiSyt4T289XHJcbicKKyAgICAgICAg
ICAgIGInU2VjLVdlYlNvY2tldC1Qcm90b2NvbDogY2hhdFxyXG5cclxuJykKKworICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKEVYUEVDVEVEX1JFU1BPTlNFLCByZXF1ZXN0LmNvbm5lY3Rpb24ud3Jp
dHRlbl9kYXRhKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ2NoYXQnLCByZXF1ZXN0Lndz
X3Byb3RvY29sKQorCisgICAgZGVmIHRlc3RfZG9faGFuZHNoYWtlX3Byb3RvY29sX25vdF9pbl9y
ZXF1ZXN0X2J1dF9pbl9yZXNwb25zZShzZWxmKToKKyAgICAgICAgcmVxdWVzdF9kZWYgPSBfY3Jl
YXRlX2dvb2RfcmVxdWVzdF9kZWYoKQorICAgICAgICByZXF1ZXN0ID0gX2NyZWF0ZV9yZXF1ZXN0
KHJlcXVlc3RfZGVmKQorICAgICAgICBoYW5kc2hha2VyID0gSGFuZHNoYWtlcihyZXF1ZXN0LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdWJwcm90b2NvbENob29zaW5nRGlzcGF0
Y2hlcigtMSwgJ2Zvb2JhcicpKQorICAgICAgICAjIE5vIHJlcXVlc3QgaGFzIGJlZW4gbWFkZSBi
dXQgd3NfcHJvdG9jb2wgaXMgc2V0LiBIYW5kc2hha2VFeGNlcHRpb24KKyAgICAgICAgIyBtdXN0
IGJlIHJhaXNlZC4KKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSGFuZHNoYWtlRXhjZXB0aW9u
LCBoYW5kc2hha2VyLmRvX2hhbmRzaGFrZSkKKworICAgIGRlZiB0ZXN0X2RvX2hhbmRzaGFrZV93
aXRoX3Byb3RvY29sX25vX3Byb3RvY29sX3NlbGVjdGlvbihzZWxmKToKKyAgICAgICAgcmVxdWVz
dF9kZWYgPSBfY3JlYXRlX2dvb2RfcmVxdWVzdF9kZWYoKQorICAgICAgICByZXF1ZXN0X2RlZi5o
ZWFkZXJzWydTZWMtV2ViU29ja2V0LVByb3RvY29sJ10gPSAnY2hhdCwgc3VwZXJjaGF0JworCisg
ICAgICAgIHJlcXVlc3QgPSBfY3JlYXRlX3JlcXVlc3QocmVxdWVzdF9kZWYpCisgICAgICAgIGhh
bmRzaGFrZXIgPSBfY3JlYXRlX2hhbmRzaGFrZXIocmVxdWVzdCkKKyAgICAgICAgIyB3c19wcm90
b2NvbCBpcyBub3Qgc2V0LiBIYW5kc2hha2VFeGNlcHRpb24gbXVzdCBiZSByYWlzZWQuCisgICAg
ICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEhhbmRzaGFrZUV4Y2VwdGlvbiwgaGFuZHNoYWtlci5kb19o
YW5kc2hha2UpCisKKyAgICBkZWYgdGVzdF9kb19oYW5kc2hha2Vfd2l0aF9leHRlbnNpb25zKHNl
bGYpOgorICAgICAgICByZXF1ZXN0X2RlZiA9IF9jcmVhdGVfZ29vZF9yZXF1ZXN0X2RlZigpCisg
ICAgICAgIHJlcXVlc3RfZGVmLmhlYWRlcnNbJ1NlYy1XZWJTb2NrZXQtRXh0ZW5zaW9ucyddID0g
KAorICAgICAgICAgICAgJ3Blcm1lc3NhZ2UtZGVmbGF0ZTsgc2VydmVyX25vX2NvbnRleHRfdGFr
ZW92ZXInKQorCisgICAgICAgIEVYUEVDVEVEX1JFU1BPTlNFID0gKAorICAgICAgICAgICAgYidI
VFRQLzEuMSAxMDEgU3dpdGNoaW5nIFByb3RvY29sc1xyXG4nCisgICAgICAgICAgICBiJ1VwZ3Jh
ZGU6IHdlYnNvY2tldFxyXG4nCisgICAgICAgICAgICBiJ0Nvbm5lY3Rpb246IFVwZ3JhZGVcclxu
JworICAgICAgICAgICAgYidTZWMtV2ViU29ja2V0LUFjY2VwdDogczNwUExNQmlUeGFROWtZR3p6
aFpSYksreE9vPVxyXG4nCisgICAgICAgICAgICBiJ1NlYy1XZWJTb2NrZXQtRXh0ZW5zaW9uczog
JworICAgICAgICAgICAgYidwZXJtZXNzYWdlLWRlZmxhdGU7IHNlcnZlcl9ub19jb250ZXh0X3Rh
a2VvdmVyXHJcbicKKyAgICAgICAgICAgIGInXHJcbicpCisKKyAgICAgICAgcmVxdWVzdCA9IF9j
cmVhdGVfcmVxdWVzdChyZXF1ZXN0X2RlZikKKyAgICAgICAgaGFuZHNoYWtlciA9IF9jcmVhdGVf
aGFuZHNoYWtlcihyZXF1ZXN0KQorICAgICAgICBoYW5kc2hha2VyLmRvX2hhbmRzaGFrZSgpCisg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRVhQRUNURURfUkVTUE9OU0UsIHJlcXVlc3QuY29ubmVj
dGlvbi53cml0dGVuX2RhdGEoKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgxLCBsZW4ocmVx
dWVzdC53c19leHRlbnNpb25zKSkKKyAgICAgICAgZXh0ZW5zaW9uID0gcmVxdWVzdC53c19leHRl
bnNpb25zWzBdCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY29tbW9uLlBFUk1FU1NBR0VfREVG
TEFURV9FWFRFTlNJT04sIGV4dGVuc2lvbi5uYW1lKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWwoWydzZXJ2ZXJfbm9fY29udGV4dF90YWtlb3ZlciddLAorICAgICAgICAgICAgICAgICAgICAg
ICAgIGV4dGVuc2lvbi5nZXRfcGFyYW1ldGVyX25hbWVzKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwoCisgICAgICAgICAgICBOb25lLCBleHRlbnNpb24uZ2V0X3BhcmFtZXRlcl92YWx1ZSgn
c2VydmVyX25vX2NvbnRleHRfdGFrZW92ZXInKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgx
LCBsZW4ocmVxdWVzdC53c19leHRlbnNpb25fcHJvY2Vzc29ycykpCisgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoJ2RlZmxhdGUnLCByZXF1ZXN0LndzX2V4dGVuc2lvbl9wcm9jZXNzb3JzWzBdLm5h
bWUoKSkKKworICAgIGRlZiB0ZXN0X2RvX2hhbmRzaGFrZV93aXRoX3F1b3RlZF9leHRlbnNpb25z
KHNlbGYpOgorICAgICAgICByZXF1ZXN0X2RlZiA9IF9jcmVhdGVfZ29vZF9yZXF1ZXN0X2RlZigp
CisgICAgICAgIHJlcXVlc3RfZGVmLmhlYWRlcnNbJ1NlYy1XZWJTb2NrZXQtRXh0ZW5zaW9ucydd
ID0gKAorICAgICAgICAgICAgJ3Blcm1lc3NhZ2UtZGVmbGF0ZSwgLCAnCisgICAgICAgICAgICAn
dW5rbm93bjsgZSAgID0gICAgIm1jXjIiOyBtYT0iXHJcbiAgICAgIFxcXHJmICAiOyBwdj1ucnQn
KQorCisgICAgICAgIHJlcXVlc3QgPSBfY3JlYXRlX3JlcXVlc3QocmVxdWVzdF9kZWYpCisgICAg
ICAgIGhhbmRzaGFrZXIgPSBfY3JlYXRlX2hhbmRzaGFrZXIocmVxdWVzdCkKKyAgICAgICAgaGFu
ZHNoYWtlci5kb19oYW5kc2hha2UoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDIsIGxlbihy
ZXF1ZXN0LndzX3JlcXVlc3RlZF9leHRlbnNpb25zKSkKKyAgICAgICAgZmlyc3RfZXh0ZW5zaW9u
ID0gcmVxdWVzdC53c19yZXF1ZXN0ZWRfZXh0ZW5zaW9uc1swXQorICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKCdwZXJtZXNzYWdlLWRlZmxhdGUnLCBmaXJzdF9leHRlbnNpb24ubmFtZSgpKQorICAg
ICAgICBzZWNvbmRfZXh0ZW5zaW9uID0gcmVxdWVzdC53c19yZXF1ZXN0ZWRfZXh0ZW5zaW9uc1sx
XQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCd1bmtub3duJywgc2Vjb25kX2V4dGVuc2lvbi5u
YW1lKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoWydlJywgJ21hJywgJ3B2J10sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgc2Vjb25kX2V4dGVuc2lvbi5nZXRfcGFyYW1ldGVyX25hbWVz
KCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ21jXjInLCBzZWNvbmRfZXh0ZW5zaW9uLmdl
dF9wYXJhbWV0ZXJfdmFsdWUoJ2UnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnIFxyZiAn
LCBzZWNvbmRfZXh0ZW5zaW9uLmdldF9wYXJhbWV0ZXJfdmFsdWUoJ21hJykpCisgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwoJ25ydCcsIHNlY29uZF9leHRlbnNpb24uZ2V0X3BhcmFtZXRlcl92YWx1
ZSgncHYnKSkKKworICAgIGRlZiB0ZXN0X2RvX2hhbmRzaGFrZV93aXRoX29wdGlvbmFsX2hlYWRl
cnMoc2VsZik6CisgICAgICAgIHJlcXVlc3RfZGVmID0gX2NyZWF0ZV9nb29kX3JlcXVlc3RfZGVm
KCkKKyAgICAgICAgcmVxdWVzdF9kZWYuaGVhZGVyc1snRW1wdHlWYWx1ZSddID0gJycKKyAgICAg
ICAgcmVxdWVzdF9kZWYuaGVhZGVyc1snQUtleSddID0gJ0FWYWx1ZScKKworICAgICAgICByZXF1
ZXN0ID0gX2NyZWF0ZV9yZXF1ZXN0KHJlcXVlc3RfZGVmKQorICAgICAgICBoYW5kc2hha2VyID0g
X2NyZWF0ZV9oYW5kc2hha2VyKHJlcXVlc3QpCisgICAgICAgIGhhbmRzaGFrZXIuZG9faGFuZHNo
YWtlKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnQVZhbHVlJywgcmVxdWVzdC5oZWFkZXJz
X2luWydBS2V5J10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJycsIHJlcXVlc3QuaGVhZGVy
c19pblsnRW1wdHlWYWx1ZSddKQorCisgICAgZGVmIHRlc3RfYWJvcnRfZXh0cmFfaGFuZHNoYWtl
KHNlbGYpOgorICAgICAgICBoYW5kc2hha2VyID0gSGFuZHNoYWtlcihfY3JlYXRlX3JlcXVlc3Qo
X2NyZWF0ZV9nb29kX3JlcXVlc3RfZGVmKCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBBYm9ydGVkQnlVc2VyRGlzcGF0Y2hlcigpKQorICAgICAgICAjIGRvX2V4dHJhX2hhbmRz
aGFrZSByYWlzZXMgYW4gQWJvcnRlZEJ5VXNlckV4Y2VwdGlvbi4gQ2hlY2sgdGhhdCBpdCdzCisg
ICAgICAgICMgbm90IGNhdWdodCBieSBkb19oYW5kc2hha2UuCisgICAgICAgIHNlbGYuYXNzZXJ0
UmFpc2VzKEFib3J0ZWRCeVVzZXJFeGNlcHRpb24sIGhhbmRzaGFrZXIuZG9faGFuZHNoYWtlKQor
CisgICAgZGVmIHRlc3RfYmFkX3JlcXVlc3RzKHNlbGYpOgorICAgICAgICBiYWRfY2FzZXMgPSBb
CisgICAgICAgICAgICAoJ0hUVFAgcmVxdWVzdCcsCisgICAgICAgICAgICAgUmVxdWVzdERlZmlu
aXRpb24oCisgICAgICAgICAgICAgICAgICdHRVQnLCAnL2RlbW8nLCB7CisgICAgICAgICAgICAg
ICAgICAgICAnSG9zdCc6CisgICAgICAgICAgICAgICAgICAgICAnd3d3Lmdvb2dsZS5jb20nLAor
ICAgICAgICAgICAgICAgICAgICAgJ1VzZXItQWdlbnQnOgorICAgICAgICAgICAgICAgICAgICAg
J01vemlsbGEvNS4wIChNYWNpbnRvc2g7IFU7IEludGVsIE1hYyBPUyBYIDEwLjU7JworICAgICAg
ICAgICAgICAgICAgICAgJyBlbi1VUzsgcnY6MS45LjEuMykgR2Vja28vMjAwOTA4MjQgRmlyZWZv
eC8zLjUuMycKKyAgICAgICAgICAgICAgICAgICAgICcgR1RCNiBHVEJBJywKKyAgICAgICAgICAg
ICAgICAgICAgICdBY2NlcHQnOgorICAgICAgICAgICAgICAgICAgICAgJ3RleHQvaHRtbCxhcHBs
aWNhdGlvbi94aHRtbCt4bWwsYXBwbGljYXRpb24veG1sO3E9MC45LCcKKyAgICAgICAgICAgICAg
ICAgICAgICcqLyo7cT0wLjgnLAorICAgICAgICAgICAgICAgICAgICAgJ0FjY2VwdC1MYW5ndWFn
ZSc6CisgICAgICAgICAgICAgICAgICAgICAnZW4tdXMsZW47cT0wLjUnLAorICAgICAgICAgICAg
ICAgICAgICAgJ0FjY2VwdC1FbmNvZGluZyc6CisgICAgICAgICAgICAgICAgICAgICAnZ3ppcCxk
ZWZsYXRlJywKKyAgICAgICAgICAgICAgICAgICAgICdBY2NlcHQtQ2hhcnNldCc6CisgICAgICAg
ICAgICAgICAgICAgICAnSVNPLTg4NTktMSx1dGYtODtxPTAuNywqO3E9MC43JywKKyAgICAgICAg
ICAgICAgICAgICAgICdLZWVwLUFsaXZlJzoKKyAgICAgICAgICAgICAgICAgICAgICczMDAnLAor
ICAgICAgICAgICAgICAgICAgICAgJ0Nvbm5lY3Rpb24nOgorICAgICAgICAgICAgICAgICAgICAg
J2tlZXAtYWxpdmUnCisgICAgICAgICAgICAgICAgIH0pLCBOb25lLCBUcnVlKQorICAgICAgICBd
CisKKyAgICAgICAgcmVxdWVzdF9kZWYgPSBfY3JlYXRlX2dvb2RfcmVxdWVzdF9kZWYoKQorICAg
ICAgICByZXF1ZXN0X2RlZi5tZXRob2QgPSAnUE9TVCcKKyAgICAgICAgYmFkX2Nhc2VzLmFwcGVu
ZCgoJ1dyb25nIG1ldGhvZCcsIHJlcXVlc3RfZGVmLCBOb25lLCBUcnVlKSkKKworICAgICAgICBy
ZXF1ZXN0X2RlZiA9IF9jcmVhdGVfZ29vZF9yZXF1ZXN0X2RlZigpCisgICAgICAgIGRlbCByZXF1
ZXN0X2RlZi5oZWFkZXJzWydIb3N0J10KKyAgICAgICAgYmFkX2Nhc2VzLmFwcGVuZCgoJ01pc3Np
bmcgSG9zdCcsIHJlcXVlc3RfZGVmLCBOb25lLCBUcnVlKSkKKworICAgICAgICByZXF1ZXN0X2Rl
ZiA9IF9jcmVhdGVfZ29vZF9yZXF1ZXN0X2RlZigpCisgICAgICAgIGRlbCByZXF1ZXN0X2RlZi5o
ZWFkZXJzWydVcGdyYWRlJ10KKyAgICAgICAgYmFkX2Nhc2VzLmFwcGVuZCgoJ01pc3NpbmcgVXBn
cmFkZScsIHJlcXVlc3RfZGVmLCBOb25lLCBUcnVlKSkKKworICAgICAgICByZXF1ZXN0X2RlZiA9
IF9jcmVhdGVfZ29vZF9yZXF1ZXN0X2RlZigpCisgICAgICAgIHJlcXVlc3RfZGVmLmhlYWRlcnNb
J1VwZ3JhZGUnXSA9ICdub253ZWJzb2NrZXQnCisgICAgICAgIGJhZF9jYXNlcy5hcHBlbmQoKCdX
cm9uZyBVcGdyYWRlJywgcmVxdWVzdF9kZWYsIE5vbmUsIFRydWUpKQorCisgICAgICAgIHJlcXVl
c3RfZGVmID0gX2NyZWF0ZV9nb29kX3JlcXVlc3RfZGVmKCkKKyAgICAgICAgZGVsIHJlcXVlc3Rf
ZGVmLmhlYWRlcnNbJ0Nvbm5lY3Rpb24nXQorICAgICAgICBiYWRfY2FzZXMuYXBwZW5kKCgnTWlz
c2luZyBDb25uZWN0aW9uJywgcmVxdWVzdF9kZWYsIE5vbmUsIFRydWUpKQorCisgICAgICAgIHJl
cXVlc3RfZGVmID0gX2NyZWF0ZV9nb29kX3JlcXVlc3RfZGVmKCkKKyAgICAgICAgcmVxdWVzdF9k
ZWYuaGVhZGVyc1snQ29ubmVjdGlvbiddID0gJ0Rvd25ncmFkZScKKyAgICAgICAgYmFkX2Nhc2Vz
LmFwcGVuZCgoJ1dyb25nIENvbm5lY3Rpb24nLCByZXF1ZXN0X2RlZiwgTm9uZSwgVHJ1ZSkpCisK
KyAgICAgICAgcmVxdWVzdF9kZWYgPSBfY3JlYXRlX2dvb2RfcmVxdWVzdF9kZWYoKQorICAgICAg
ICBkZWwgcmVxdWVzdF9kZWYuaGVhZGVyc1snU2VjLVdlYlNvY2tldC1LZXknXQorICAgICAgICBi
YWRfY2FzZXMuYXBwZW5kKCgnTWlzc2luZyBTZWMtV2ViU29ja2V0LUtleScsIHJlcXVlc3RfZGVm
LCA0MDAsIFRydWUpKQorCisgICAgICAgIHJlcXVlc3RfZGVmID0gX2NyZWF0ZV9nb29kX3JlcXVl
c3RfZGVmKCkKKyAgICAgICAgcmVxdWVzdF9kZWYuaGVhZGVyc1snU2VjLVdlYlNvY2tldC1LZXkn
XSA9ICgKKyAgICAgICAgICAgICdkR2hsSUhOaGJYQnNaU0J1YjI1alpRPT1nYXJiYWdlJykKKyAg
ICAgICAgYmFkX2Nhc2VzLmFwcGVuZCgoJ1dyb25nIFNlYy1XZWJTb2NrZXQtS2V5ICh3aXRoIGdh
cmJhZ2Ugb24gdGhlIHRhaWwpJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdF9k
ZWYsIDQwMCwgVHJ1ZSkpCisKKyAgICAgICAgcmVxdWVzdF9kZWYgPSBfY3JlYXRlX2dvb2RfcmVx
dWVzdF9kZWYoKQorICAgICAgICByZXF1ZXN0X2RlZi5oZWFkZXJzWydTZWMtV2ViU29ja2V0LUtl
eSddID0gJ1lRPT0nICAjIEJBU0U2NCBvZiAnYScKKyAgICAgICAgYmFkX2Nhc2VzLmFwcGVuZCgK
KyAgICAgICAgICAgICgnV3JvbmcgU2VjLVdlYlNvY2tldC1LZXkgKGRlY29kZWQgdmFsdWUgaXMg
bm90IDE2IG9jdGV0cyBsb25nKScsCisgICAgICAgICAgICAgcmVxdWVzdF9kZWYsIDQwMCwgVHJ1
ZSkpCisKKyAgICAgICAgcmVxdWVzdF9kZWYgPSBfY3JlYXRlX2dvb2RfcmVxdWVzdF9kZWYoKQor
ICAgICAgICAjIFRoZSBsYXN0IGNoYXJhY3RlciByaWdodCBiZWZvcmUgPT0gbXVzdCBiZSBhbnkg
b2YgQSwgUSwgdyBhbmQgZy4KKyAgICAgICAgcmVxdWVzdF9kZWYuaGVhZGVyc1snU2VjLVdlYlNv
Y2tldC1LZXknXSA9ICdBUUlEQkFVR0J3Z0pDZ3NNRFE0UEVDPT0nCisgICAgICAgIGJhZF9jYXNl
cy5hcHBlbmQoCisgICAgICAgICAgICAoJ1dyb25nIFNlYy1XZWJTb2NrZXQtS2V5IChwYWRkaW5n
IGJpdHMgYXJlIG5vdCB6ZXJvKScsCisgICAgICAgICAgICAgcmVxdWVzdF9kZWYsIDQwMCwgVHJ1
ZSkpCisKKyAgICAgICAgcmVxdWVzdF9kZWYgPSBfY3JlYXRlX2dvb2RfcmVxdWVzdF9kZWYoKQor
ICAgICAgICByZXF1ZXN0X2RlZi5oZWFkZXJzWydTZWMtV2ViU29ja2V0LUtleSddID0gKAorICAg
ICAgICAgICAgJ2RHaGxJSE5oYlhCc1pTQnViMjVqWlE9PSxkR2hsSUhOaGJYQnNaU0J1YjI1alpR
PT0nKQorICAgICAgICBiYWRfY2FzZXMuYXBwZW5kKCgnV3JvbmcgU2VjLVdlYlNvY2tldC1LZXkg
KG11bHRpcGxlIHZhbHVlcyknLAorICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0X2Rl
ZiwgNDAwLCBUcnVlKSkKKworICAgICAgICByZXF1ZXN0X2RlZiA9IF9jcmVhdGVfZ29vZF9yZXF1
ZXN0X2RlZigpCisgICAgICAgIGRlbCByZXF1ZXN0X2RlZi5oZWFkZXJzWydTZWMtV2ViU29ja2V0
LVZlcnNpb24nXQorICAgICAgICBiYWRfY2FzZXMuYXBwZW5kKAorICAgICAgICAgICAgKCdNaXNz
aW5nIFNlYy1XZWJTb2NrZXQtVmVyc2lvbicsIHJlcXVlc3RfZGVmLCBOb25lLCBUcnVlKSkKKwor
ICAgICAgICByZXF1ZXN0X2RlZiA9IF9jcmVhdGVfZ29vZF9yZXF1ZXN0X2RlZigpCisgICAgICAg
IHJlcXVlc3RfZGVmLmhlYWRlcnNbJ1NlYy1XZWJTb2NrZXQtVmVyc2lvbiddID0gJzMnCisgICAg
ICAgIGJhZF9jYXNlcy5hcHBlbmQoCisgICAgICAgICAgICAoJ1dyb25nIFNlYy1XZWJTb2NrZXQt
VmVyc2lvbicsIHJlcXVlc3RfZGVmLCBOb25lLCBGYWxzZSkpCisKKyAgICAgICAgcmVxdWVzdF9k
ZWYgPSBfY3JlYXRlX2dvb2RfcmVxdWVzdF9kZWYoKQorICAgICAgICByZXF1ZXN0X2RlZi5oZWFk
ZXJzWydTZWMtV2ViU29ja2V0LVZlcnNpb24nXSA9ICcxMywgMTMnCisgICAgICAgIGJhZF9jYXNl
cy5hcHBlbmQoKCdXcm9uZyBTZWMtV2ViU29ja2V0LVZlcnNpb24gKG11bHRpcGxlIHZhbHVlcykn
LAorICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0X2RlZiwgNDAwLCBUcnVlKSkKKwor
ICAgICAgICByZXF1ZXN0X2RlZiA9IF9jcmVhdGVfZ29vZF9yZXF1ZXN0X2RlZigpCisgICAgICAg
IHJlcXVlc3RfZGVmLmhlYWRlcnNbJ1NlYy1XZWJTb2NrZXQtUHJvdG9jb2wnXSA9ICdpbGxlZ2Fs
XHgwOXByb3RvY29sJworICAgICAgICBiYWRfY2FzZXMuYXBwZW5kKAorICAgICAgICAgICAgKCdJ
bGxlZ2FsIFNlYy1XZWJTb2NrZXQtUHJvdG9jb2wnLCByZXF1ZXN0X2RlZiwgNDAwLCBUcnVlKSkK
KworICAgICAgICByZXF1ZXN0X2RlZiA9IF9jcmVhdGVfZ29vZF9yZXF1ZXN0X2RlZigpCisgICAg
ICAgIHJlcXVlc3RfZGVmLmhlYWRlcnNbJ1NlYy1XZWJTb2NrZXQtUHJvdG9jb2wnXSA9ICcnCisg
ICAgICAgIGJhZF9jYXNlcy5hcHBlbmQoCisgICAgICAgICAgICAoJ0VtcHR5IFNlYy1XZWJTb2Nr
ZXQtUHJvdG9jb2wnLCByZXF1ZXN0X2RlZiwgNDAwLCBUcnVlKSkKKworICAgICAgICBmb3IgKGNh
c2VfbmFtZSwgcmVxdWVzdF9kZWYsIGV4cGVjdGVkX3N0YXR1cywKKyAgICAgICAgICAgICBleHBl
Y3RfaGFuZHNoYWtlX2V4Y2VwdGlvbikgaW4gYmFkX2Nhc2VzOgorICAgICAgICAgICAgcmVxdWVz
dCA9IF9jcmVhdGVfcmVxdWVzdChyZXF1ZXN0X2RlZikKKyAgICAgICAgICAgIGhhbmRzaGFrZXIg
PSBIYW5kc2hha2VyKHJlcXVlc3QsIG1vY2suTW9ja0Rpc3BhdGNoZXIoKSkKKyAgICAgICAgICAg
IHRyeToKKyAgICAgICAgICAgICAgICBoYW5kc2hha2VyLmRvX2hhbmRzaGFrZSgpCisgICAgICAg
ICAgICAgICAgc2VsZi5mYWlsKCdObyBleGNlcHRpb24gdGhyb3duIGZvciBcJyVzXCcgY2FzZScg
JSBjYXNlX25hbWUpCisgICAgICAgICAgICBleGNlcHQgSGFuZHNoYWtlRXhjZXB0aW9uIGFzIGU6
CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGV4cGVjdF9oYW5kc2hha2VfZXhjZXB0
aW9uKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0ZWRfc3RhdHVzLCBl
LnN0YXR1cykKKyAgICAgICAgICAgIGV4Y2VwdCBWZXJzaW9uRXhjZXB0aW9uIGFzIGU6CisgICAg
ICAgICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShleHBlY3RfaGFuZHNoYWtlX2V4Y2VwdGlvbikK
KworCitpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorICAgIHVuaXR0ZXN0Lm1haW4oKQorCisj
IHZpOnN0cz00IHN3PTQgZXQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL3Rlc3QvdGVz
dF9odHRwX2hlYWRlcl91dGlsLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvdGVzdC90ZXN0X2h0dHBf
aGVhZGVyX3V0aWwucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWNlMDFlZjI4MzkxM2UzZmM4Nzc1YjNiMjczMTFm
NjE5NWM1N2JlNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL3Rlc3QvdGVz
dF9odHRwX2hlYWRlcl91dGlsLnB5CkBAIC0wLDAgKzEsOTMgQEAKKyMhL3Vzci9iaW4vZW52IHB5
dGhvbgorIworIyBDb3B5cmlnaHQgMjAxMSwgR29vZ2xlIEluYy4KKyMgQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyMgbWV0OgorIworIyAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorIyBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisjIGRpc3Ry
aWJ1dGlvbi4KKyMgICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhl
IG5hbWVzIG9mIGl0cworIyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisjICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisjIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgorIyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorIyBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyMgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorIyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisiIiJUZXN0cyBmb3IgaHR0cF9oZWFkZXJfdXRpbCBt
b2R1bGUuIiIiCisKK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0CitpbXBv
cnQgdW5pdHRlc3QKK2ltcG9ydCBzeXMKKworZnJvbSBtb2RfcHl3ZWJzb2NrZXQgaW1wb3J0IGh0
dHBfaGVhZGVyX3V0aWwKKworCitjbGFzcyBVbml0VGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6Cisg
ICAgIiIiQSB1bml0dGVzdCBmb3IgaHR0cF9oZWFkZXJfdXRpbCBtb2R1bGUuIiIiCisgICAgZGVm
IHRlc3RfcGFyc2VfcmVsYXRpdmVfdXJpKHNlbGYpOgorICAgICAgICBob3N0LCBwb3J0LCByZXNv
dXJjZSA9IGh0dHBfaGVhZGVyX3V0aWwucGFyc2VfdXJpKCcvd3MvdGVzdCcpCisgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwoTm9uZSwgaG9zdCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChOb25l
LCBwb3J0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCcvd3MvdGVzdCcsIHJlc291cmNlKQor
CisgICAgZGVmIHRlc3RfcGFyc2VfYWJzb2x1dGVfdXJpKHNlbGYpOgorICAgICAgICBob3N0LCBw
b3J0LCByZXNvdXJjZSA9IGh0dHBfaGVhZGVyX3V0aWwucGFyc2VfdXJpKAorICAgICAgICAgICAg
J3dzOi8vbG9jYWxob3N0OjEwMDgwL3dzL3Rlc3QnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KCdsb2NhbGhvc3QnLCBob3N0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDEwMDgwLCBwb3J0
KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCcvd3MvdGVzdCcsIHJlc291cmNlKQorCisgICAg
ICAgIGhvc3QsIHBvcnQsIHJlc291cmNlID0gaHR0cF9oZWFkZXJfdXRpbC5wYXJzZV91cmkoCisg
ICAgICAgICAgICAnd3M6Ly9leGFtcGxlLmNvbS93cy90ZXN0JykKKyAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbCgnZXhhbXBsZS5jb20nLCBob3N0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDgw
LCBwb3J0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCcvd3MvdGVzdCcsIHJlc291cmNlKQor
CisgICAgICAgIGhvc3QsIHBvcnQsIHJlc291cmNlID0gaHR0cF9oZWFkZXJfdXRpbC5wYXJzZV91
cmkoJ3dzczovL2V4YW1wbGUuY29tLycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ2V4YW1w
bGUuY29tJywgaG9zdCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCg0NDMsIHBvcnQpCisgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoJy8nLCByZXNvdXJjZSkKKworICAgICAgICBob3N0LCBwb3J0
LCByZXNvdXJjZSA9IGh0dHBfaGVhZGVyX3V0aWwucGFyc2VfdXJpKAorICAgICAgICAgICAgJ3dz
Oi8vZXhhbXBsZS5jb206ODA4MCcpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ2V4YW1wbGUu
Y29tJywgaG9zdCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCg4MDgwLCBwb3J0KQorICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKCcvJywgcmVzb3VyY2UpCisKKyAgICBkZWYgdGVzdF9wYXJzZV9p
bnZhbGlkX3VyaShzZWxmKToKKyAgICAgICAgaG9zdCwgcG9ydCwgcmVzb3VyY2UgPSBodHRwX2hl
YWRlcl91dGlsLnBhcnNlX3VyaSgnd3M6Ly8vJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChO
b25lLCByZXNvdXJjZSkKKworICAgICAgICBob3N0LCBwb3J0LCByZXNvdXJjZSA9IGh0dHBfaGVh
ZGVyX3V0aWwucGFyc2VfdXJpKAorICAgICAgICAgICAgJ3dzOi8vbG9jYWxob3N0OklOVkFMSURf
UE9SVCcpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoTm9uZSwgcmVzb3VyY2UpCisKKyAgICAg
ICAgaG9zdCwgcG9ydCwgcmVzb3VyY2UgPSBodHRwX2hlYWRlcl91dGlsLnBhcnNlX3VyaSgKKyAg
ICAgICAgICAgICd3czovL2xvY2FsaG9zdDotMS93cycpCisgICAgICAgIGlmIHN5cy52ZXJzaW9u
ID49ICczLjYnOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChOb25lLCByZXNvdXJjZSkK
KyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ2xvY2FsaG9zdCcs
IGhvc3QpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDgwLCBwb3J0KQorICAgICAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbCgnL3dzJywgcmVzb3VyY2UpCisKKworaWYgX19uYW1lX18gPT0g
J19fbWFpbl9fJzoKKyAgICB1bml0dGVzdC5tYWluKCkKKworIyB2aTpzdHM9NCBzdz00IGV0CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My90ZXN0L3Rlc3RfbWVtb3JpemluZ2ZpbGUucHkg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJk
X3BhcnR5L3B5d2Vic29ja2V0My90ZXN0L3Rlc3RfbWVtb3JpemluZ2ZpbGUucHkKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjcyODhjNTEwYjg5YmIyODkzMWRmZjlhNzc5MTgzYTQ5OTE3NTZlNgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
dGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL3Rlc3QvdGVzdF9tZW1vcml6aW5nZmlsZS5weQpAQCAt
MCwwICsxLDEwMCBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCisjCisjIENvcHlyaWdodCAyMDEx
LCBHb29nbGUgSW5jLgorIyBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZQorIyBtZXQ6CisjCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQor
IyBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyCisjIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyMgZGlzdHJpYnV0aW9uLgorIyAgICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisjIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tCisjIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMKKyMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisjIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUCisjIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAorIyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorIyBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKKyMgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyIiIlRlc3RzIGZvciBtZW1vcml6aW5nZmlsZSBtb2R1bGUuIiIiCisKK2Zyb20gX19mdXR1cmVf
XyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0CitpbXBvcnQgdW5pdHRlc3QKK2ltcG9ydCBzaXgKKwor
aW1wb3J0IHNldF9zeXNfcGF0aCAgIyBVcGRhdGUgc3lzLnBhdGggdG8gbG9jYXRlIG1vZF9weXdl
YnNvY2tldCBtb2R1bGUuCisKK2Zyb20gbW9kX3B5d2Vic29ja2V0IGltcG9ydCBtZW1vcml6aW5n
ZmlsZQorCisKK2NsYXNzIFV0aWxUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICAiIiJBIHVu
aXR0ZXN0IGZvciBtZW1vcml6aW5nZmlsZSBtb2R1bGUuIiIiCisgICAgZGVmIGNoZWNrKHNlbGYs
IG1lbW9yaXppbmdfZmlsZSwgbnVtX3JlYWQsIGV4cGVjdGVkX2xpc3QpOgorICAgICAgICBmb3Ig
dW51c2VkIGluIHJhbmdlKG51bV9yZWFkKToKKyAgICAgICAgICAgIG1lbW9yaXppbmdfZmlsZS5y
ZWFkbGluZSgpCisgICAgICAgIGFjdHVhbF9saXN0ID0gbWVtb3JpemluZ19maWxlLmdldF9tZW1v
cml6ZWRfbGluZXMoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihleHBlY3RlZF9saXN0
KSwgbGVuKGFjdHVhbF9saXN0KSkKKyAgICAgICAgZm9yIGV4cGVjdGVkLCBhY3R1YWwgaW4gemlw
KGV4cGVjdGVkX2xpc3QsIGFjdHVhbF9saXN0KToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWwoZXhwZWN0ZWQsIGFjdHVhbCkKKworICAgIGRlZiBjaGVja193aXRoX3NpemUoc2VsZiwgbWVt
b3JpemluZ19maWxlLCByZWFkX3NpemUsIGV4cGVjdGVkX2xpc3QpOgorICAgICAgICByZWFkX2xp
c3QgPSBbXQorICAgICAgICByZWFkX2xpbmUgPSAnJworICAgICAgICB3aGlsZSBUcnVlOgorICAg
ICAgICAgICAgbGluZSA9IG1lbW9yaXppbmdfZmlsZS5yZWFkbGluZShyZWFkX3NpemUpCisgICAg
ICAgICAgICBsaW5lX2xlbmd0aCA9IGxlbihsaW5lKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRU
cnVlKGxpbmVfbGVuZ3RoIDw9IHJlYWRfc2l6ZSkKKyAgICAgICAgICAgIGlmIGxpbmVfbGVuZ3Ro
ID09IDA6CisgICAgICAgICAgICAgICAgaWYgcmVhZF9saW5lICE9ICcnOgorICAgICAgICAgICAg
ICAgICAgICByZWFkX2xpc3QuYXBwZW5kKHJlYWRfbGluZSkKKyAgICAgICAgICAgICAgICBicmVh
aworICAgICAgICAgICAgcmVhZF9saW5lICs9IGxpbmUKKyAgICAgICAgICAgIGlmIGxpbmVbbGlu
ZV9sZW5ndGggLSAxXSA9PSAnXG4nOgorICAgICAgICAgICAgICAgIHJlYWRfbGlzdC5hcHBlbmQo
cmVhZF9saW5lKQorICAgICAgICAgICAgICAgIHJlYWRfbGluZSA9ICcnCisgICAgICAgIGFjdHVh
bF9saXN0ID0gbWVtb3JpemluZ19maWxlLmdldF9tZW1vcml6ZWRfbGluZXMoKQorICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKGxlbihleHBlY3RlZF9saXN0KSwgbGVuKGFjdHVhbF9saXN0KSkKKyAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oZXhwZWN0ZWRfbGlzdCksIGxlbihyZWFkX2xpc3Qp
KQorICAgICAgICBmb3IgZXhwZWN0ZWQsIGFjdHVhbCwgcmVhZCBpbiB6aXAoZXhwZWN0ZWRfbGlz
dCwgYWN0dWFsX2xpc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICByZWFkX2xpc3QpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3RlZCwgYWN0
dWFsKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3RlZCwgcmVhZCkKKworICAg
IGRlZiB0ZXN0X2dldF9tZW1vcml6ZWRfbGluZXMoc2VsZik6CisgICAgICAgIG1lbW9yaXppbmdf
ZmlsZSA9IG1lbW9yaXppbmdmaWxlLk1lbW9yaXppbmdGaWxlKAorICAgICAgICAgICAgc2l4LlN0
cmluZ0lPKCdIZWxsb1xuV29ybGRcbldlbGNvbWUnKSkKKyAgICAgICAgc2VsZi5jaGVjayhtZW1v
cml6aW5nX2ZpbGUsIDMsIFsnSGVsbG9cbicsICdXb3JsZFxuJywgJ1dlbGNvbWUnXSkKKworICAg
IGRlZiB0ZXN0X2dldF9tZW1vcml6ZWRfbGluZXNfbGltaXRfbWVtb3JpemVkX2xpbmVzKHNlbGYp
OgorICAgICAgICBtZW1vcml6aW5nX2ZpbGUgPSBtZW1vcml6aW5nZmlsZS5NZW1vcml6aW5nRmls
ZSgKKyAgICAgICAgICAgIHNpeC5TdHJpbmdJTygnSGVsbG9cbldvcmxkXG5XZWxjb21lJyksIDIp
CisgICAgICAgIHNlbGYuY2hlY2sobWVtb3JpemluZ19maWxlLCAzLCBbJ0hlbGxvXG4nLCAnV29y
bGRcbiddKQorCisgICAgZGVmIHRlc3RfZ2V0X21lbW9yaXplZF9saW5lc19lbXB0eV9maWxlKHNl
bGYpOgorICAgICAgICBtZW1vcml6aW5nX2ZpbGUgPSBtZW1vcml6aW5nZmlsZS5NZW1vcml6aW5n
RmlsZShzaXguU3RyaW5nSU8oJycpKQorICAgICAgICBzZWxmLmNoZWNrKG1lbW9yaXppbmdfZmls
ZSwgMTAsIFtdKQorCisgICAgZGVmIHRlc3RfZ2V0X21lbW9yaXplZF9saW5lc193aXRoX3NpemUo
c2VsZik6CisgICAgICAgIGZvciBzaXplIGluIHJhbmdlKDEsIDEwKToKKyAgICAgICAgICAgIG1l
bW9yaXppbmdfZmlsZSA9IG1lbW9yaXppbmdmaWxlLk1lbW9yaXppbmdGaWxlKAorICAgICAgICAg
ICAgICAgIHNpeC5TdHJpbmdJTygnSGVsbG9cbldvcmxkXG5XZWxjb21lJykpCisgICAgICAgICAg
ICBzZWxmLmNoZWNrX3dpdGhfc2l6ZShtZW1vcml6aW5nX2ZpbGUsIHNpemUsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBbJ0hlbGxvXG4nLCAnV29ybGRcbicsICdXZWxjb21lJ10p
CisKKworaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKKyAgICB1bml0dGVzdC5tYWluKCkKKwor
IyB2aTpzdHM9NCBzdz00IGV0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My90ZXN0L3Rl
c3RfbW9jay5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL3Rlc3QvdGVzdF9tb2NrLnB5Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjA3Mzg3M2RkZTk3ZGYwM2YyMGRmNWFjOTcyMmY2YWQ2NWRkMDJlYWMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My90ZXN0L3Rlc3RfbW9jay5weQpAQCAtMCwwICsxLDEz
NyBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCisjCisjIENvcHlyaWdodCAyMDExLCBHb29nbGUg
SW5jLgorIyBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZQorIyBtZXQ6CisjCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorIyBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyCisjIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUKKyMgZGlzdHJpYnV0aW9uLgorIyAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisjIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisjIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisj
CisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKKyMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisjIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
CisjIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLAorIyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorIyBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkKKyMgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyIiIlRlc3Rz
IGZvciBtb2NrIG1vZHVsZS4iIiIKKworZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9p
bXBvcnQKK2ltcG9ydCBzaXgubW92ZXMucXVldWUKK2ltcG9ydCB0aHJlYWRpbmcKK2ltcG9ydCB1
bml0dGVzdAorCitpbXBvcnQgc2V0X3N5c19wYXRoICAjIFVwZGF0ZSBzeXMucGF0aCB0byBsb2Nh
dGUgbW9kX3B5d2Vic29ja2V0IG1vZHVsZS4KKworZnJvbSB0ZXN0IGltcG9ydCBtb2NrCisKKwor
Y2xhc3MgTW9ja0Nvbm5UZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICAiIiJBIHVuaXR0ZXN0
IGZvciBNb2NrQ29ubiBjbGFzcy4iIiIKKyAgICBkZWYgc2V0VXAoc2VsZik6CisgICAgICAgIHNl
bGYuX2Nvbm4gPSBtb2NrLk1vY2tDb25uKGInQUJDXHJcbkRFRkdcclxuXHJcbkhJSksnKQorCisg
ICAgZGVmIHRlc3RfcmVhZGxpbmUoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYidB
QkNcclxuJywgc2VsZi5fY29ubi5yZWFkbGluZSgpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KGInREVGR1xyXG4nLCBzZWxmLl9jb25uLnJlYWRsaW5lKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwoYidcclxuJywgc2VsZi5fY29ubi5yZWFkbGluZSgpKQorICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKGInSElKSycsIHNlbGYuX2Nvbm4ucmVhZGxpbmUoKSkKKyAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChiJycsIHNlbGYuX2Nvbm4ucmVhZGxpbmUoKSkKKworICAgIGRlZiB0ZXN0X3JlYWQo
c2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYidBQkNcclxuRCcsIHNlbGYuX2Nvbm4u
cmVhZCg2KSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiJ0VGR1xyXG5cclxuSEknLCBzZWxm
Ll9jb25uLnJlYWQoOSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYidKSycsIHNlbGYuX2Nv
bm4ucmVhZCgxMCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYicnLCBzZWxmLl9jb25uLnJl
YWQoMTApKQorCisgICAgZGVmIHRlc3RfcmVhZF9hbmRfcmVhZGxpbmUoc2VsZik6CisgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwoYidBQkNcclxuRCcsIHNlbGYuX2Nvbm4ucmVhZCg2KSkKKyAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChiJ0VGR1xyXG4nLCBzZWxmLl9jb25uLnJlYWRsaW5lKCkpCisg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYidcclxuSElKSycsIHNlbGYuX2Nvbm4ucmVhZCg5KSkK
KyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiJycsIHNlbGYuX2Nvbm4ucmVhZGxpbmUoKSkKKwor
ICAgIGRlZiB0ZXN0X3dyaXRlKHNlbGYpOgorICAgICAgICBzZWxmLl9jb25uLndyaXRlKGInSGVs
bG9cclxuJykKKyAgICAgICAgc2VsZi5fY29ubi53cml0ZShiJ1dvcmxkXHJcbicpCisgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwoYidIZWxsb1xyXG5Xb3JsZFxyXG4nLCBzZWxmLl9jb25uLndyaXR0
ZW5fZGF0YSgpKQorCisKK2NsYXNzIE1vY2tCbG9ja2luZ0Nvbm5UZXN0KHVuaXR0ZXN0LlRlc3RD
YXNlKToKKyAgICAiIiJBIHVuaXR0ZXN0IGZvciBNb2NrQmxvY2tpbmdDb25uIGNsYXNzLiIiIgor
ICAgIGRlZiB0ZXN0X3JlYWQoc2VsZik6CisgICAgICAgICIiIlRlc3RzIHRoYXQgZGF0YSBwdXQg
dG8gTW9ja0Jsb2NraW5nQ29ubiBieSBwdXRfYnl0ZXMgbWV0aG9kIGNhbiBiZQorICAgICAgICBy
ZWFkIGZyb20gaXQuCisgICAgICAgICIiIgorICAgICAgICBjbGFzcyBMaW5lUmVhZGVyKHRocmVh
ZGluZy5UaHJlYWQpOgorICAgICAgICAgICAgIiIiQSB0ZXN0IGNsYXNzIHRoYXQgbGF1bmNoZXMg
YSB0aHJlYWQsIGNhbGxzIHJlYWRsaW5lIG9uIHRoZQorICAgICAgICAgICAgc3BlY2lmaWVkIGNv
bm4gcmVwZWF0ZWRseSBhbmQgcHV0cyB0aGUgcmVhZCBkYXRhIHRvIHRoZSBzcGVjaWZpZWQKKyAg
ICAgICAgICAgIHF1ZXVlLgorICAgICAgICAgICAgIiIiCisgICAgICAgICAgICBkZWYgX19pbml0
X18oc2VsZiwgY29ubiwgcXVldWUpOgorICAgICAgICAgICAgICAgIHRocmVhZGluZy5UaHJlYWQu
X19pbml0X18oc2VsZikKKyAgICAgICAgICAgICAgICBzZWxmLl9xdWV1ZSA9IHF1ZXVlCisgICAg
ICAgICAgICAgICAgc2VsZi5fY29ubiA9IGNvbm4KKyAgICAgICAgICAgICAgICBzZWxmLnNldERh
ZW1vbihUcnVlKQorICAgICAgICAgICAgICAgIHNlbGYuc3RhcnQoKQorCisgICAgICAgICAgICBk
ZWYgcnVuKHNlbGYpOgorICAgICAgICAgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICAg
ICAgICAgIGRhdGEgPSBzZWxmLl9jb25uLnJlYWRsaW5lKCkKKyAgICAgICAgICAgICAgICAgICAg
c2VsZi5fcXVldWUucHV0KGRhdGEpCisKKyAgICAgICAgY29ubiA9IG1vY2suTW9ja0Jsb2NraW5n
Q29ubigpCisgICAgICAgIHF1ZXVlID0gc2l4Lm1vdmVzLnF1ZXVlLlF1ZXVlKCkKKyAgICAgICAg
cmVhZGVyID0gTGluZVJlYWRlcihjb25uLCBxdWV1ZSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVl
KHF1ZXVlLmVtcHR5KCkpCisgICAgICAgIGNvbm4ucHV0X2J5dGVzKGInRm9vIGJhclxyXG4nKQor
ICAgICAgICByZWFkID0gcXVldWUuZ2V0KCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiJ0Zv
byBiYXJcclxuJywgcmVhZCkKKworCitjbGFzcyBNb2NrVGFibGVUZXN0KHVuaXR0ZXN0LlRlc3RD
YXNlKToKKyAgICAiIiJBIHVuaXR0ZXN0IGZvciBNb2NrVGFibGUgY2xhc3MuIiIiCisgICAgZGVm
IHRlc3RfY3JlYXRlX2Zyb21fZGljdChzZWxmKToKKyAgICAgICAgdGFibGUgPSBtb2NrLk1vY2tU
YWJsZSh7J0tleSc6ICdWYWx1ZSd9KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdWYWx1ZScs
IHRhYmxlLmdldCgnS0VZJykpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ1ZhbHVlJywgdGFi
bGVbJ2tleSddKQorCisgICAgZGVmIHRlc3RfY3JlYXRlX2Zyb21fbGlzdChzZWxmKToKKyAgICAg
ICAgdGFibGUgPSBtb2NrLk1vY2tUYWJsZShbKCdLZXknLCAnVmFsdWUnKV0pCisgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwoJ1ZhbHVlJywgdGFibGUuZ2V0KCdLRVknKSkKKyAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbCgnVmFsdWUnLCB0YWJsZVsna2V5J10pCisKKyAgICBkZWYgdGVzdF9jcmVhdGVf
ZnJvbV90dXBsZShzZWxmKToKKyAgICAgICAgdGFibGUgPSBtb2NrLk1vY2tUYWJsZSgoKCdLZXkn
LCAnVmFsdWUnKSwgKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnVmFsdWUnLCB0YWJsZS5n
ZXQoJ0tFWScpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdWYWx1ZScsIHRhYmxlWydrZXkn
XSkKKworICAgIGRlZiB0ZXN0X3NldF9hbmRfZ2V0KHNlbGYpOgorICAgICAgICB0YWJsZSA9IG1v
Y2suTW9ja1RhYmxlKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChOb25lLCB0YWJsZS5nZXQo
J0tleScpKQorICAgICAgICB0YWJsZVsnS2V5J10gPSAnVmFsdWUnCisgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoJ1ZhbHVlJywgdGFibGUuZ2V0KCdLZXknKSkKKyAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbCgnVmFsdWUnLCB0YWJsZS5nZXQoJ2tleScpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KCdWYWx1ZScsIHRhYmxlLmdldCgnS0VZJykpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ1Zh
bHVlJywgdGFibGVbJ0tleSddKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdWYWx1ZScsIHRh
YmxlWydrZXknXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnVmFsdWUnLCB0YWJsZVsnS0VZ
J10pCisKKworaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKKyAgICB1bml0dGVzdC5tYWluKCkK
KworIyB2aTpzdHM9NCBzdz00IGV0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My90ZXN0
L3Rlc3RfbXNndXRpbC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL3Rlc3QvdGVzdF9tc2d1dGlsLnB5
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjk0M2YyMWI4ZDI5NzY2ODc3MGNiOTFjNTAxYzJiMmZjODI1OGI5ZWIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My90ZXN0L3Rlc3RfbXNndXRpbC5weQpA
QCAtMCwwICsxLDkxNiBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCisjCisjIENvcHlyaWdodCAy
MDEyLCBHb29nbGUgSW5jLgorIyBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQorIyBtZXQ6CisjCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZQorIyBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCisjIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyMgZGlzdHJpYnV0aW9uLgorIyAgICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisjIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tCisjIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisj
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUCisjIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorIyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAor
IyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyMgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyIiIlRlc3RzIGZvciBtc2d1dGlsIG1vZHVsZS4iIiIKKworZnJvbSBfX2Z1dHVyZV9fIGlt
cG9ydCBhYnNvbHV0ZV9pbXBvcnQKK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgcHJpbnRfZnVuY3Rp
b24KK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgZGl2aXNpb24KK2ltcG9ydCBhcnJheQoraW1wb3J0
IHNpeC5tb3Zlcy5xdWV1ZQoraW1wb3J0IHJhbmRvbQoraW1wb3J0IHN0cnVjdAoraW1wb3J0IHVu
aXR0ZXN0CitpbXBvcnQgemxpYgorCitpbXBvcnQgc2V0X3N5c19wYXRoICAjIFVwZGF0ZSBzeXMu
cGF0aCB0byBsb2NhdGUgbW9kX3B5d2Vic29ja2V0IG1vZHVsZS4KKworZnJvbSBtb2RfcHl3ZWJz
b2NrZXQgaW1wb3J0IGNvbW1vbgorZnJvbSBtb2RfcHl3ZWJzb2NrZXQuZXh0ZW5zaW9ucyBpbXBv
cnQgUGVyTWVzc2FnZURlZmxhdGVFeHRlbnNpb25Qcm9jZXNzb3IKK2Zyb20gbW9kX3B5d2Vic29j
a2V0IGltcG9ydCBtc2d1dGlsCitmcm9tIG1vZF9weXdlYnNvY2tldC5zdHJlYW0gaW1wb3J0IElu
dmFsaWRVVEY4RXhjZXB0aW9uCitmcm9tIG1vZF9weXdlYnNvY2tldC5zdHJlYW0gaW1wb3J0IFN0
cmVhbQorZnJvbSBtb2RfcHl3ZWJzb2NrZXQuc3RyZWFtIGltcG9ydCBTdHJlYW1PcHRpb25zCitm
cm9tIG1vZF9weXdlYnNvY2tldCBpbXBvcnQgdXRpbAorZnJvbSB0ZXN0IGltcG9ydCBtb2NrCitm
cm9tIHNpeC5tb3ZlcyBpbXBvcnQgbWFwCitmcm9tIHNpeC5tb3ZlcyBpbXBvcnQgcmFuZ2UKK2Zy
b20gc2l4IGltcG9ydCBpdGVyYnl0ZXMKKworIyBXZSB1c2Ugb25lIGZpeGVkIG5vbmNlIGZvciB0
ZXN0aW5nIGluc3RlYWQgb2YgY3J5cHRvZ3JhcGhpY2FsbHkgc2VjdXJlIFBSTkcuCitfTUFTS0lO
R19OT05DRSA9IGInQUJDRCcKKworCitkZWYgX21hc2tfaHliaShmcmFtZSk6CisgICAgaWYgaXNp
bnN0YW5jZShmcmFtZSwgc2l4LnRleHRfdHlwZSk6CisgICAgICAgIEV4Y2VwdGlvbignbWFza2lu
ZyBkb2VzIG5vdCBhY2NlcHQgVGV4dHMnKQorCisgICAgZnJhbWVfa2V5ID0gbGlzdChpdGVyYnl0
ZXMoX01BU0tJTkdfTk9OQ0UpKQorICAgIGZyYW1lX2tleV9sZW4gPSBsZW4oZnJhbWVfa2V5KQor
ICAgIHJlc3VsdCA9IGJ5dGVhcnJheShmcmFtZSkKKyAgICBjb3VudCA9IDAKKworICAgIGZvciBp
IGluIHJhbmdlKGxlbihyZXN1bHQpKToKKyAgICAgICAgcmVzdWx0W2ldIF49IGZyYW1lX2tleVtj
b3VudF0KKyAgICAgICAgY291bnQgPSAoY291bnQgKyAxKSAlIGZyYW1lX2tleV9sZW4KKworICAg
IHJldHVybiBfTUFTS0lOR19OT05DRSArIGJ5dGVzKHJlc3VsdCkKKworCitkZWYgX2luc3RhbGxf
ZXh0ZW5zaW9uX3Byb2Nlc3Nvcihwcm9jZXNzb3IsIHJlcXVlc3QsIHN0cmVhbV9vcHRpb25zKToK
KyAgICByZXNwb25zZSA9IHByb2Nlc3Nvci5nZXRfZXh0ZW5zaW9uX3Jlc3BvbnNlKCkKKyAgICBp
ZiByZXNwb25zZSBpcyBub3QgTm9uZToKKyAgICAgICAgcHJvY2Vzc29yLnNldHVwX3N0cmVhbV9v
cHRpb25zKHN0cmVhbV9vcHRpb25zKQorICAgICAgICByZXF1ZXN0LndzX2V4dGVuc2lvbl9wcm9j
ZXNzb3JzLmFwcGVuZChwcm9jZXNzb3IpCisKKworZGVmIF9jcmVhdGVfcmVxdWVzdF9mcm9tX3Jh
d2RhdGEocmVhZF9kYXRhLCBwZXJtZXNzYWdlX2RlZmxhdGVfcmVxdWVzdD1Ob25lKToKKyAgICBy
ZXEgPSBtb2NrLk1vY2tSZXF1ZXN0KGNvbm5lY3Rpb249bW9jay5Nb2NrQ29ubihyZWFkX2RhdGEp
KQorICAgIHJlcS53c192ZXJzaW9uID0gY29tbW9uLlZFUlNJT05fSFlCSV9MQVRFU1QKKyAgICBy
ZXEud3NfZXh0ZW5zaW9uX3Byb2Nlc3NvcnMgPSBbXQorCisgICAgcHJvY2Vzc29yID0gTm9uZQor
ICAgIGlmIHBlcm1lc3NhZ2VfZGVmbGF0ZV9yZXF1ZXN0IGlzIG5vdCBOb25lOgorICAgICAgICBw
cm9jZXNzb3IgPSBQZXJNZXNzYWdlRGVmbGF0ZUV4dGVuc2lvblByb2Nlc3NvcigKKyAgICAgICAg
ICAgIHBlcm1lc3NhZ2VfZGVmbGF0ZV9yZXF1ZXN0KQorCisgICAgc3RyZWFtX29wdGlvbnMgPSBT
dHJlYW1PcHRpb25zKCkKKyAgICBpZiBwcm9jZXNzb3IgaXMgbm90IE5vbmU6CisgICAgICAgIF9p
bnN0YWxsX2V4dGVuc2lvbl9wcm9jZXNzb3IocHJvY2Vzc29yLCByZXEsIHN0cmVhbV9vcHRpb25z
KQorICAgIHJlcS53c19zdHJlYW0gPSBTdHJlYW0ocmVxLCBzdHJlYW1fb3B0aW9ucykKKworICAg
IHJldHVybiByZXEKKworCitkZWYgX2NyZWF0ZV9yZXF1ZXN0KCpmcmFtZXMpOgorICAgICIiIkNy
ZWF0ZXMgTW9ja1JlcXVlc3QgdXNpbmcgZGF0YSBnaXZlbiBhcyBmcmFtZXMuCisKKyAgICBmcmFt
ZXMgd2lsbCBiZSByZXR1cm5lZCBvbiBjYWxsaW5nIHJlcXVlc3QuY29ubmVjdGlvbi5yZWFkKCkg
d2hlcmUgcmVxdWVzdAorICAgIGlzIE1vY2tSZXF1ZXN0IHJldHVybmVkIGJ5IHRoaXMgZnVuY3Rp
b24uCisgICAgIiIiCisKKyAgICByZWFkX2RhdGEgPSBbXQorICAgIGZvciAoaGVhZGVyLCBib2R5
KSBpbiBmcmFtZXM6CisgICAgICAgIHJlYWRfZGF0YS5hcHBlbmQoaGVhZGVyICsgX21hc2tfaHli
aShib2R5KSkKKworICAgIHJldHVybiBfY3JlYXRlX3JlcXVlc3RfZnJvbV9yYXdkYXRhKGInJy5q
b2luKHJlYWRfZGF0YSkpCisKKworZGVmIF9jcmVhdGVfYmxvY2tpbmdfcmVxdWVzdCgpOgorICAg
ICIiIkNyZWF0ZXMgTW9ja1JlcXVlc3QuCisKKyAgICBEYXRhIHdyaXR0ZW4gdG8gYSBNb2NrUmVx
dWVzdCBjYW4gYmUgcmVhZCBvdXQgYnkgY2FsbGluZworICAgIHJlcXVlc3QuY29ubmVjdGlvbi53
cml0dGVuX2RhdGEoKS4KKyAgICAiIiIKKworICAgIHJlcSA9IG1vY2suTW9ja1JlcXVlc3QoY29u
bmVjdGlvbj1tb2NrLk1vY2tCbG9ja2luZ0Nvbm4oKSkKKyAgICByZXEud3NfdmVyc2lvbiA9IGNv
bW1vbi5WRVJTSU9OX0hZQklfTEFURVNUCisgICAgc3RyZWFtX29wdGlvbnMgPSBTdHJlYW1PcHRp
b25zKCkKKyAgICByZXEud3Nfc3RyZWFtID0gU3RyZWFtKHJlcSwgc3RyZWFtX29wdGlvbnMpCisg
ICAgcmV0dXJuIHJlcQorCisKK2NsYXNzIEJhc2ljTWVzc2FnZVRlc3QodW5pdHRlc3QuVGVzdENh
c2UpOgorICAgICIiIkJhc2ljIHRlc3RzIGZvciBTdHJlYW0uIiIiCisgICAgZGVmIHRlc3Rfc2Vu
ZF9tZXNzYWdlKHNlbGYpOgorICAgICAgICByZXF1ZXN0ID0gX2NyZWF0ZV9yZXF1ZXN0KCkKKyAg
ICAgICAgbXNndXRpbC5zZW5kX21lc3NhZ2UocmVxdWVzdCwgJ0hlbGxvJykKKyAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChiJ1x4ODFceDA1SGVsbG8nLCByZXF1ZXN0LmNvbm5lY3Rpb24ud3JpdHRl
bl9kYXRhKCkpCisKKyAgICAgICAgcGF5bG9hZCA9ICdhJyAqIDEyNQorICAgICAgICByZXF1ZXN0
ID0gX2NyZWF0ZV9yZXF1ZXN0KCkKKyAgICAgICAgbXNndXRpbC5zZW5kX21lc3NhZ2UocmVxdWVz
dCwgcGF5bG9hZCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiJ1x4ODFceDdkJyArIHBheWxv
YWQuZW5jb2RlKCdVVEYtOCcpLAorICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3QuY29u
bmVjdGlvbi53cml0dGVuX2RhdGEoKSkKKworICAgIGRlZiB0ZXN0X3NlbmRfbWVkaXVtX21lc3Nh
Z2Uoc2VsZik6CisgICAgICAgIHBheWxvYWQgPSAnYScgKiAxMjYKKyAgICAgICAgcmVxdWVzdCA9
IF9jcmVhdGVfcmVxdWVzdCgpCisgICAgICAgIG1zZ3V0aWwuc2VuZF9tZXNzYWdlKHJlcXVlc3Qs
IHBheWxvYWQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYidceDgxXHg3ZVx4MDBceDdlJyAr
IHBheWxvYWQuZW5jb2RlKCdVVEYtOCcpLAorICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVl
c3QuY29ubmVjdGlvbi53cml0dGVuX2RhdGEoKSkKKworICAgICAgICBwYXlsb2FkID0gJ2EnICog
KCgxIDw8IDE2KSAtIDEpCisgICAgICAgIHJlcXVlc3QgPSBfY3JlYXRlX3JlcXVlc3QoKQorICAg
ICAgICBtc2d1dGlsLnNlbmRfbWVzc2FnZShyZXF1ZXN0LCBwYXlsb2FkKQorICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKGInXHg4MVx4N2VceGZmXHhmZicgKyBwYXlsb2FkLmVuY29kZSgnVVRGLTgn
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0LmNvbm5lY3Rpb24ud3JpdHRlbl9k
YXRhKCkpCisKKyAgICBkZWYgdGVzdF9zZW5kX2xhcmdlX21lc3NhZ2Uoc2VsZik6CisgICAgICAg
IHBheWxvYWQgPSAnYScgKiAoMSA8PCAxNikKKyAgICAgICAgcmVxdWVzdCA9IF9jcmVhdGVfcmVx
dWVzdCgpCisgICAgICAgIG1zZ3V0aWwuc2VuZF9tZXNzYWdlKHJlcXVlc3QsIHBheWxvYWQpCisg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBiJ1x4ODFceDdmXHgwMFx4MDBc
eDAwXHgwMFx4MDBceDAxXHgwMFx4MDAnICsKKyAgICAgICAgICAgIHBheWxvYWQuZW5jb2RlKCdV
VEYtOCcpLCByZXF1ZXN0LmNvbm5lY3Rpb24ud3JpdHRlbl9kYXRhKCkpCisKKyAgICBkZWYgdGVz
dF9zZW5kX21lc3NhZ2VfdW5pY29kZShzZWxmKToKKyAgICAgICAgcmVxdWVzdCA9IF9jcmVhdGVf
cmVxdWVzdCgpCisgICAgICAgIG1zZ3V0aWwuc2VuZF9tZXNzYWdlKHJlcXVlc3QsIHUnXHU2NWU1
JykKKyAgICAgICAgIyBVKzY1ZTUgaXMgZW5jb2RlZCBhcyBlNiw5NyxhNSBpbiBVVEYtOAorICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKGInXHg4MVx4MDNceGU2XHg5N1x4YTUnLAorICAgICAgICAg
ICAgICAgICAgICAgICAgIHJlcXVlc3QuY29ubmVjdGlvbi53cml0dGVuX2RhdGEoKSkKKworICAg
IGRlZiB0ZXN0X3NlbmRfbWVzc2FnZV9mcmFnbWVudHMoc2VsZik6CisgICAgICAgIHJlcXVlc3Qg
PSBfY3JlYXRlX3JlcXVlc3QoKQorICAgICAgICBtc2d1dGlsLnNlbmRfbWVzc2FnZShyZXF1ZXN0
LCAnSGVsbG8nLCBGYWxzZSkKKyAgICAgICAgbXNndXRpbC5zZW5kX21lc3NhZ2UocmVxdWVzdCwg
JyAnLCBGYWxzZSkKKyAgICAgICAgbXNndXRpbC5zZW5kX21lc3NhZ2UocmVxdWVzdCwgJ1dvcmxk
JywgRmFsc2UpCisgICAgICAgIG1zZ3V0aWwuc2VuZF9tZXNzYWdlKHJlcXVlc3QsICchJywgVHJ1
ZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiJ1x4MDFceDA1SGVsbG9ceDAwXHgwMSBceDAw
XHgwNVdvcmxkXHg4MFx4MDEhJywKKyAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0LmNv
bm5lY3Rpb24ud3JpdHRlbl9kYXRhKCkpCisKKyAgICBkZWYgdGVzdF9zZW5kX2ZyYWdtZW50c19p
bW1lZGlhdGVfemVyb190ZXJtaW5hdGlvbihzZWxmKToKKyAgICAgICAgcmVxdWVzdCA9IF9jcmVh
dGVfcmVxdWVzdCgpCisgICAgICAgIG1zZ3V0aWwuc2VuZF9tZXNzYWdlKHJlcXVlc3QsICdIZWxs
byBXb3JsZCEnLCBGYWxzZSkKKyAgICAgICAgbXNndXRpbC5zZW5kX21lc3NhZ2UocmVxdWVzdCwg
JycsIFRydWUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYidceDAxXHgwY0hlbGxvIFdvcmxk
IVx4ODBceDAwJywKKyAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0LmNvbm5lY3Rpb24u
d3JpdHRlbl9kYXRhKCkpCisKKyAgICBkZWYgdGVzdF9yZWNlaXZlX21lc3NhZ2Uoc2VsZik6Cisg
ICAgICAgIHJlcXVlc3QgPSBfY3JlYXRlX3JlcXVlc3QoKGInXHg4MVx4ODUnLCBiJ0hlbGxvJyks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGInXHg4MVx4ODYnLCBiJ1dvcmxk
IScpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdIZWxsbycsIG1zZ3V0aWwucmVjZWl2ZV9t
ZXNzYWdlKHJlcXVlc3QpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdXb3JsZCEnLCBtc2d1
dGlsLnJlY2VpdmVfbWVzc2FnZShyZXF1ZXN0KSkKKworICAgICAgICBwYXlsb2FkID0gYidhJyAq
IDEyNQorICAgICAgICByZXF1ZXN0ID0gX2NyZWF0ZV9yZXF1ZXN0KChiJ1x4ODFceGZkJywgcGF5
bG9hZCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocGF5bG9hZC5kZWNvZGUoJ1VURi04Jyks
CisgICAgICAgICAgICAgICAgICAgICAgICAgbXNndXRpbC5yZWNlaXZlX21lc3NhZ2UocmVxdWVz
dCkpCisKKyAgICBkZWYgdGVzdF9yZWNlaXZlX21lZGl1bV9tZXNzYWdlKHNlbGYpOgorICAgICAg
ICBwYXlsb2FkID0gYidhJyAqIDEyNgorICAgICAgICByZXF1ZXN0ID0gX2NyZWF0ZV9yZXF1ZXN0
KChiJ1x4ODFceGZlXHgwMFx4N2UnLCBwYXlsb2FkKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChwYXlsb2FkLmRlY29kZSgnVVRGLTgnKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBtc2d1
dGlsLnJlY2VpdmVfbWVzc2FnZShyZXF1ZXN0KSkKKworICAgICAgICBwYXlsb2FkID0gYidhJyAq
ICgoMSA8PCAxNikgLSAxKQorICAgICAgICByZXF1ZXN0ID0gX2NyZWF0ZV9yZXF1ZXN0KChiJ1x4
ODFceGZlXHhmZlx4ZmYnLCBwYXlsb2FkKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwYXls
b2FkLmRlY29kZSgnVVRGLTgnKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBtc2d1dGlsLnJl
Y2VpdmVfbWVzc2FnZShyZXF1ZXN0KSkKKworICAgIGRlZiB0ZXN0X3JlY2VpdmVfbGFyZ2VfbWVz
c2FnZShzZWxmKToKKyAgICAgICAgcGF5bG9hZCA9IGInYScgKiAoMSA8PCAxNikKKyAgICAgICAg
cmVxdWVzdCA9IF9jcmVhdGVfcmVxdWVzdCgKKyAgICAgICAgICAgIChiJ1x4ODFceGZmXHgwMFx4
MDBceDAwXHgwMFx4MDBceDAxXHgwMFx4MDAnLCBwYXlsb2FkKSkKKyAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChwYXlsb2FkLmRlY29kZSgnVVRGLTgnKSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICBtc2d1dGlsLnJlY2VpdmVfbWVzc2FnZShyZXF1ZXN0KSkKKworICAgIGRlZiB0ZXN0X3JlY2Vp
dmVfbGVuZ3RoX25vdF9lbmNvZGVkX3VzaW5nX21pbmltYWxfbnVtYmVyX29mX2J5dGVzKHNlbGYp
OgorICAgICAgICAjIExvZyB3YXJuaW5nIG9uIHJlY2VpdmluZyBiYWQgcGF5bG9hZCBsZW5ndGgg
ZmllbGQgdGhhdCBkb2Vzbid0IHVzZQorICAgICAgICAjIG1pbmltYWwgbnVtYmVyIG9mIGJ5dGVz
IGJ1dCBjb250aW51ZSBwcm9jZXNzaW5nLgorCisgICAgICAgIHBheWxvYWQgPSBiJ2EnCisgICAg
ICAgICMgMSBieXRlIGNhbiBiZSByZXByZXNlbnRlZCB3aXRob3V0IGV4dGVuZGVkIHBheWxvYWQg
bGVuZ3RoIGZpZWxkLgorICAgICAgICByZXF1ZXN0ID0gX2NyZWF0ZV9yZXF1ZXN0KAorICAgICAg
ICAgICAgKGInXHg4MVx4ZmZceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMScsIHBheWxv
YWQpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBheWxvYWQuZGVjb2RlKCdVVEYtOCcpLAor
ICAgICAgICAgICAgICAgICAgICAgICAgIG1zZ3V0aWwucmVjZWl2ZV9tZXNzYWdlKHJlcXVlc3Qp
KQorCisgICAgZGVmIHRlc3RfcmVjZWl2ZV9tZXNzYWdlX3VuaWNvZGUoc2VsZik6CisgICAgICAg
IHJlcXVlc3QgPSBfY3JlYXRlX3JlcXVlc3QoKGInXHg4MVx4ODMnLCBiJ1x4ZTZceDljXHhhYycp
KQorICAgICAgICAjIFUrNjcyYyBpcyBlbmNvZGVkIGFzIGU2LDljLGFjIGluIFVURi04CisgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwodSdcdTY3MmMnLCBtc2d1dGlsLnJlY2VpdmVfbWVzc2FnZShy
ZXF1ZXN0KSkKKworICAgIGRlZiB0ZXN0X3JlY2VpdmVfbWVzc2FnZV9lcnJvbmVvdXNfdW5pY29k
ZShzZWxmKToKKyAgICAgICAgIyBceDgwIGFuZCBceDgxIGFyZSBpbnZhbGlkIGFzIFVURi04Lgor
ICAgICAgICByZXF1ZXN0ID0gX2NyZWF0ZV9yZXF1ZXN0KChiJ1x4ODFceDgyJywgYidceDgwXHg4
MScpKQorICAgICAgICAjIEludmFsaWQgY2hhcmFjdGVycyBzaG91bGQgcmFpc2UgSW52YWxpZFVU
RjhFeGNlcHRpb24KKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSW52YWxpZFVURjhFeGNlcHRp
b24sIG1zZ3V0aWwucmVjZWl2ZV9tZXNzYWdlLAorICAgICAgICAgICAgICAgICAgICAgICAgICBy
ZXF1ZXN0KQorCisgICAgZGVmIHRlc3RfcmVjZWl2ZV9mcmFnbWVudHMoc2VsZik6CisgICAgICAg
IHJlcXVlc3QgPSBfY3JlYXRlX3JlcXVlc3QoKGInXHgwMVx4ODUnLCBiJ0hlbGxvJyksIChiJ1x4
MDBceDgxJywgYicgJyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGInXHgw
MFx4ODUnLCBiJ1dvcmxkJyksIChiJ1x4ODBceDgxJywgYichJykpCisgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoJ0hlbGxvIFdvcmxkIScsIG1zZ3V0aWwucmVjZWl2ZV9tZXNzYWdlKHJlcXVlc3Qp
KQorCisgICAgZGVmIHRlc3RfcmVjZWl2ZV9mcmFnbWVudHNfdW5pY29kZShzZWxmKToKKyAgICAg
ICAgIyBVVEYtOCBlbmNvZGVzIFUrNmYyMiBpbnRvIGU2YmNhMiBhbmQgVSs1YjU3IGludG8gZTVh
ZDk3LgorICAgICAgICByZXF1ZXN0ID0gX2NyZWF0ZV9yZXF1ZXN0KChiJ1x4MDFceDgyJywgYidc
eGU2XHhiYycpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChiJ1x4MDBceDgy
JywgYidceGEyXHhlNScpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChiJ1x4
ODBceDgyJywgYidceGFkXHg5NycpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHUnXHU2ZjIy
XHU1YjU3JywgbXNndXRpbC5yZWNlaXZlX21lc3NhZ2UocmVxdWVzdCkpCisKKyAgICBkZWYgdGVz
dF9yZWNlaXZlX2ZyYWdtZW50c19pbW1lZGlhdGVfemVyb190ZXJtaW5hdGlvbihzZWxmKToKKyAg
ICAgICAgcmVxdWVzdCA9IF9jcmVhdGVfcmVxdWVzdCgoYidceDAxXHg4YycsIGInSGVsbG8gV29y
bGQhJyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGInXHg4MFx4ODAnLCBi
JycpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdIZWxsbyBXb3JsZCEnLCBtc2d1dGlsLnJl
Y2VpdmVfbWVzc2FnZShyZXF1ZXN0KSkKKworICAgIGRlZiB0ZXN0X3JlY2VpdmVfZnJhZ21lbnRz
X2R1cGxpY2F0ZV9zdGFydChzZWxmKToKKyAgICAgICAgcmVxdWVzdCA9IF9jcmVhdGVfcmVxdWVz
dCgoYidceDAxXHg4NScsIGInSGVsbG8nKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAoYidceDAxXHg4NScsIGInV29ybGQnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMo
bXNndXRpbC5JbnZhbGlkRnJhbWVFeGNlcHRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAg
IG1zZ3V0aWwucmVjZWl2ZV9tZXNzYWdlLCByZXF1ZXN0KQorCisgICAgZGVmIHRlc3RfcmVjZWl2
ZV9mcmFnbWVudHNfaW50ZXJtZWRpYXRlX2J1dF9ub3Rfc3RhcnRlZChzZWxmKToKKyAgICAgICAg
cmVxdWVzdCA9IF9jcmVhdGVfcmVxdWVzdCgoYidceDAwXHg4NScsIGInSGVsbG8nKSkKKyAgICAg
ICAgc2VsZi5hc3NlcnRSYWlzZXMobXNndXRpbC5JbnZhbGlkRnJhbWVFeGNlcHRpb24sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgIG1zZ3V0aWwucmVjZWl2ZV9tZXNzYWdlLCByZXF1ZXN0KQor
CisgICAgZGVmIHRlc3RfcmVjZWl2ZV9mcmFnbWVudHNfZW5kX2J1dF9ub3Rfc3RhcnRlZChzZWxm
KToKKyAgICAgICAgcmVxdWVzdCA9IF9jcmVhdGVfcmVxdWVzdCgoYidceDgwXHg4NScsIGInSGVs
bG8nKSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMobXNndXRpbC5JbnZhbGlkRnJhbWVFeGNl
cHRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZ3V0aWwucmVjZWl2ZV9tZXNzYWdl
LCByZXF1ZXN0KQorCisgICAgZGVmIHRlc3RfcmVjZWl2ZV9tZXNzYWdlX2Rpc2NhcmQoc2VsZik6
CisgICAgICAgIHJlcXVlc3QgPSBfY3JlYXRlX3JlcXVlc3QoCisgICAgICAgICAgICAoYidceDhm
XHg4NicsIGInSUdOT1JFJyksIChiJ1x4ODFceDg1JywgYidIZWxsbycpLAorICAgICAgICAgICAg
KGInXHg4Zlx4ODknLCBiJ0RJU1JFR0FSRCcpLCAoYidceDgxXHg4NicsIGInV29ybGQhJykpCisg
ICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKG1zZ3V0aWwuVW5zdXBwb3J0ZWRGcmFtZUV4Y2VwdGlv
biwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgbXNndXRpbC5yZWNlaXZlX21lc3NhZ2UsIHJl
cXVlc3QpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ0hlbGxvJywgbXNndXRpbC5yZWNlaXZl
X21lc3NhZ2UocmVxdWVzdCkpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKG1zZ3V0aWwuVW5z
dXBwb3J0ZWRGcmFtZUV4Y2VwdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgbXNndXRp
bC5yZWNlaXZlX21lc3NhZ2UsIHJlcXVlc3QpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ1dv
cmxkIScsIG1zZ3V0aWwucmVjZWl2ZV9tZXNzYWdlKHJlcXVlc3QpKQorCisgICAgZGVmIHRlc3Rf
cmVjZWl2ZV9jbG9zZShzZWxmKToKKyAgICAgICAgcmVxdWVzdCA9IF9jcmVhdGVfcmVxdWVzdCgK
KyAgICAgICAgICAgIChiJ1x4ODhceDhhJywgc3RydWN0LnBhY2soJyFIJywgMTAwMCkgKyBiJ0dv
b2QgYnllJykpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoTm9uZSwgbXNndXRpbC5yZWNlaXZl
X21lc3NhZ2UocmVxdWVzdCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoMTAwMCwgcmVxdWVz
dC53c19jbG9zZV9jb2RlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdHb29kIGJ5ZScsIHJl
cXVlc3Qud3NfY2xvc2VfcmVhc29uKQorCisgICAgZGVmIHRlc3Rfc2VuZF9sb25nZXN0X2Nsb3Nl
KHNlbGYpOgorICAgICAgICByZWFzb24gPSAnYScgKiAxMjMKKyAgICAgICAgcmVxdWVzdCA9IF9j
cmVhdGVfcmVxdWVzdCgKKyAgICAgICAgICAgIChiJ1x4ODhceGZkJywgc3RydWN0LnBhY2soJyFI
JywgY29tbW9uLlNUQVRVU19OT1JNQUxfQ0xPU1VSRSkgKworICAgICAgICAgICAgIHJlYXNvbi5l
bmNvZGUoJ1VURi04JykpKQorICAgICAgICByZXF1ZXN0LndzX3N0cmVhbS5jbG9zZV9jb25uZWN0
aW9uKGNvbW1vbi5TVEFUVVNfTk9STUFMX0NMT1NVUkUsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcmVhc29uKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJl
cXVlc3Qud3NfY2xvc2VfY29kZSwgY29tbW9uLlNUQVRVU19OT1JNQUxfQ0xPU1VSRSkKKyAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChyZXF1ZXN0LndzX2Nsb3NlX3JlYXNvbiwgcmVhc29uKQorCisg
ICAgZGVmIHRlc3Rfc2VuZF9jbG9zZV90b29fbG9uZyhzZWxmKToKKyAgICAgICAgcmVxdWVzdCA9
IF9jcmVhdGVfcmVxdWVzdCgpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKG1zZ3V0aWwuQmFk
T3BlcmF0aW9uRXhjZXB0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICBTdHJlYW0uY2xv
c2VfY29ubmVjdGlvbiwgcmVxdWVzdC53c19zdHJlYW0sCisgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbW1vbi5TVEFUVVNfTk9STUFMX0NMT1NVUkUsICdhJyAqIDEyNCkKKworICAgIGRlZiB0
ZXN0X3NlbmRfY2xvc2VfaW5jb25zaXN0ZW50X2NvZGVfYW5kX3JlYXNvbihzZWxmKToKKyAgICAg
ICAgcmVxdWVzdCA9IF9jcmVhdGVfcmVxdWVzdCgpCisgICAgICAgICMgcmVhc29uIHBhcmFtZXRl
ciBtdXN0IG5vdCBiZSBzcGVjaWZpZWQgd2hlbiBjb2RlIGlzIE5vbmUuCisgICAgICAgIHNlbGYu
YXNzZXJ0UmFpc2VzKG1zZ3V0aWwuQmFkT3BlcmF0aW9uRXhjZXB0aW9uLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICBTdHJlYW0uY2xvc2VfY29ubmVjdGlvbiwgcmVxdWVzdC53c19zdHJlYW0s
IE5vbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICdhJykKKworICAgIGRlZiB0ZXN0X3Nl
bmRfcGluZyhzZWxmKToKKyAgICAgICAgcmVxdWVzdCA9IF9jcmVhdGVfcmVxdWVzdCgpCisgICAg
ICAgIG1zZ3V0aWwuc2VuZF9waW5nKHJlcXVlc3QsICdIZWxsbyBXb3JsZCEnKQorICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKGInXHg4OVx4MGNIZWxsbyBXb3JsZCEnLAorICAgICAgICAgICAgICAg
ICAgICAgICAgIHJlcXVlc3QuY29ubmVjdGlvbi53cml0dGVuX2RhdGEoKSkKKworICAgIGRlZiB0
ZXN0X3NlbmRfbG9uZ2VzdF9waW5nKHNlbGYpOgorICAgICAgICByZXF1ZXN0ID0gX2NyZWF0ZV9y
ZXF1ZXN0KCkKKyAgICAgICAgbXNndXRpbC5zZW5kX3BpbmcocmVxdWVzdCwgJ2EnICogMTI1KQor
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGInXHg4OVx4N2QnICsgYidhJyAqIDEyNSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICByZXF1ZXN0LmNvbm5lY3Rpb24ud3JpdHRlbl9kYXRhKCkpCisK
KyAgICBkZWYgdGVzdF9zZW5kX3BpbmdfdG9vX2xvbmcoc2VsZik6CisgICAgICAgIHJlcXVlc3Qg
PSBfY3JlYXRlX3JlcXVlc3QoKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhtc2d1dGlsLkJh
ZE9wZXJhdGlvbkV4Y2VwdGlvbiwgbXNndXRpbC5zZW5kX3BpbmcsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgIHJlcXVlc3QsICdhJyAqIDEyNikKKworICAgIGRlZiB0ZXN0X3JlY2VpdmVfcGlu
ZyhzZWxmKToKKyAgICAgICAgIiIiVGVzdHMgcmVjZWl2aW5nIGEgcGluZyBjb250cm9sIGZyYW1l
LiIiIgorICAgICAgICBkZWYgaGFuZGxlcihyZXF1ZXN0LCBtZXNzYWdlKToKKyAgICAgICAgICAg
IHJlcXVlc3QuY2FsbGVkID0gVHJ1ZQorCisgICAgICAgICMgU3RyZWFtIGF1dG9tYXRpY2FsbHkg
cmVzcG9uZCB0byBwaW5nIHdpdGggcG9uZyB3aXRob3V0IGFueSBhY3Rpb24KKyAgICAgICAgIyBi
eSBhcHBsaWNhdGlvbiBsYXllci4KKyAgICAgICAgcmVxdWVzdCA9IF9jcmVhdGVfcmVxdWVzdCgo
YidceDg5XHg4NScsIGInSGVsbG8nKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAoYidceDgxXHg4NScsIGInV29ybGQnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnV29y
bGQnLCBtc2d1dGlsLnJlY2VpdmVfbWVzc2FnZShyZXF1ZXN0KSkKKyAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChiJ1x4OGFceDA1SGVsbG8nLCByZXF1ZXN0LmNvbm5lY3Rpb24ud3JpdHRlbl9kYXRh
KCkpCisKKyAgICAgICAgcmVxdWVzdCA9IF9jcmVhdGVfcmVxdWVzdCgoYidceDg5XHg4NScsIGIn
SGVsbG8nKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYidceDgxXHg4NScs
IGInV29ybGQnKSkKKyAgICAgICAgcmVxdWVzdC5vbl9waW5nX2hhbmRsZXIgPSBoYW5kbGVyCisg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ1dvcmxkJywgbXNndXRpbC5yZWNlaXZlX21lc3NhZ2Uo
cmVxdWVzdCkpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZXF1ZXN0LmNhbGxlZCkKKworICAg
IGRlZiB0ZXN0X3JlY2VpdmVfbG9uZ2VzdF9waW5nKHNlbGYpOgorICAgICAgICByZXF1ZXN0ID0g
X2NyZWF0ZV9yZXF1ZXN0KChiJ1x4ODlceGZkJywgYidhJyAqIDEyNSksCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgKGInXHg4MVx4ODUnLCBiJ1dvcmxkJykpCisgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwoJ1dvcmxkJywgbXNndXRpbC5yZWNlaXZlX21lc3NhZ2UocmVxdWVzdCkp
CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYidceDhhXHg3ZCcgKyBiJ2EnICogMTI1LAorICAg
ICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3QuY29ubmVjdGlvbi53cml0dGVuX2RhdGEoKSkK
KworICAgIGRlZiB0ZXN0X3JlY2VpdmVfcGluZ190b29fbG9uZyhzZWxmKToKKyAgICAgICAgcmVx
dWVzdCA9IF9jcmVhdGVfcmVxdWVzdCgoYidceDg5XHhmZVx4MDBceDdlJywgYidhJyAqIDEyNikp
CisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKG1zZ3V0aWwuSW52YWxpZEZyYW1lRXhjZXB0aW9u
LAorICAgICAgICAgICAgICAgICAgICAgICAgICBtc2d1dGlsLnJlY2VpdmVfbWVzc2FnZSwgcmVx
dWVzdCkKKworICAgIGRlZiB0ZXN0X3JlY2VpdmVfcG9uZyhzZWxmKToKKyAgICAgICAgIiIiVGVz
dHMgcmVjZWl2aW5nIGEgcG9uZyBjb250cm9sIGZyYW1lLiIiIgorICAgICAgICBkZWYgaGFuZGxl
cihyZXF1ZXN0LCBtZXNzYWdlKToKKyAgICAgICAgICAgIHJlcXVlc3QuY2FsbGVkID0gVHJ1ZQor
CisgICAgICAgIHJlcXVlc3QgPSBfY3JlYXRlX3JlcXVlc3QoKGInXHg4YVx4ODUnLCBiJ0hlbGxv
JyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGInXHg4MVx4ODUnLCBiJ1dv
cmxkJykpCisgICAgICAgIHJlcXVlc3Qub25fcG9uZ19oYW5kbGVyID0gaGFuZGxlcgorICAgICAg
ICBtc2d1dGlsLnNlbmRfcGluZyhyZXF1ZXN0LCAnSGVsbG8nKQorICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKGInXHg4OVx4MDVIZWxsbycsIHJlcXVlc3QuY29ubmVjdGlvbi53cml0dGVuX2RhdGEo
KSkKKyAgICAgICAgIyBWYWxpZCBwb25nIGlzIHJlY2VpdmVkLCBidXQgcmVjZWl2ZV9tZXNzYWdl
IHdvbid0IHJldHVybiBmb3IgaXQuCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ1dvcmxkJywg
bXNndXRpbC5yZWNlaXZlX21lc3NhZ2UocmVxdWVzdCkpCisgICAgICAgICMgQ2hlY2sgdGhhdCBu
b3RoaW5nIHdhcyB3cml0dGVuIGFmdGVyIHJlY2VpdmVfbWVzc2FnZSBjYWxsLgorICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKGInXHg4OVx4MDVIZWxsbycsIHJlcXVlc3QuY29ubmVjdGlvbi53cml0
dGVuX2RhdGEoKSkKKworICAgICAgICBzZWxmLmFzc2VydFRydWUocmVxdWVzdC5jYWxsZWQpCisK
KyAgICBkZWYgdGVzdF9yZWNlaXZlX3Vuc29saWNpdGVkX3Bvbmcoc2VsZik6CisgICAgICAgICMg
VW5zb2xpY2l0ZWQgcG9uZyBpcyBhbGxvd2VkIGZyb20gSHlCaSAwNy4KKyAgICAgICAgcmVxdWVz
dCA9IF9jcmVhdGVfcmVxdWVzdCgoYidceDhhXHg4NScsIGInSGVsbG8nKSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAoYidceDgxXHg4NScsIGInV29ybGQnKSkKKyAgICAgICAg
bXNndXRpbC5yZWNlaXZlX21lc3NhZ2UocmVxdWVzdCkKKworICAgICAgICByZXF1ZXN0ID0gX2Ny
ZWF0ZV9yZXF1ZXN0KChiJ1x4OGFceDg1JywgYidIZWxsbycpLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIChiJ1x4ODFceDg1JywgYidXb3JsZCcpKQorICAgICAgICBtc2d1dGls
LnNlbmRfcGluZyhyZXF1ZXN0LCAnSnVtYm8nKQorICAgICAgICAjIEJvZHkgbWlzbWF0Y2guCisg
ICAgICAgIG1zZ3V0aWwucmVjZWl2ZV9tZXNzYWdlKHJlcXVlc3QpCisKKyAgICBkZWYgdGVzdF9w
aW5nX2Nhbm5vdF9iZV9mcmFnbWVudGVkKHNlbGYpOgorICAgICAgICByZXF1ZXN0ID0gX2NyZWF0
ZV9yZXF1ZXN0KChiJ1x4MDlceDg1JywgYidIZWxsbycpKQorICAgICAgICBzZWxmLmFzc2VydFJh
aXNlcyhtc2d1dGlsLkludmFsaWRGcmFtZUV4Y2VwdGlvbiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgbXNndXRpbC5yZWNlaXZlX21lc3NhZ2UsIHJlcXVlc3QpCisKKyAgICBkZWYgdGVzdF9w
aW5nX3dpdGhfdG9vX2xvbmdfcGF5bG9hZChzZWxmKToKKyAgICAgICAgcmVxdWVzdCA9IF9jcmVh
dGVfcmVxdWVzdCgoYidceDg5XHhmZVx4MDFceDAwJywgYidhJyAqIDI1NikpCisgICAgICAgIHNl
bGYuYXNzZXJ0UmFpc2VzKG1zZ3V0aWwuSW52YWxpZEZyYW1lRXhjZXB0aW9uLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICBtc2d1dGlsLnJlY2VpdmVfbWVzc2FnZSwgcmVxdWVzdCkKKworCitj
bGFzcyBQZXJNZXNzYWdlRGVmbGF0ZVRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgorICAgICIiIlRl
c3RzIGZvciBwZXJtZXNzYWdlLWRlZmxhdGUgZXh0ZW5zaW9uLiIiIgorICAgIGRlZiB0ZXN0X3Jl
c3BvbnNlX3BhcmFtZXRlcnMoc2VsZik6CisgICAgICAgIGV4dGVuc2lvbiA9IGNvbW1vbi5FeHRl
bnNpb25QYXJhbWV0ZXIoCisgICAgICAgICAgICBjb21tb24uUEVSTUVTU0FHRV9ERUZMQVRFX0VY
VEVOU0lPTikKKyAgICAgICAgZXh0ZW5zaW9uLmFkZF9wYXJhbWV0ZXIoJ3NlcnZlcl9ub19jb250
ZXh0X3Rha2VvdmVyJywgTm9uZSkKKyAgICAgICAgcHJvY2Vzc29yID0gUGVyTWVzc2FnZURlZmxh
dGVFeHRlbnNpb25Qcm9jZXNzb3IoZXh0ZW5zaW9uKQorICAgICAgICByZXNwb25zZSA9IHByb2Nl
c3Nvci5nZXRfZXh0ZW5zaW9uX3Jlc3BvbnNlKCkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJl
c3BvbnNlLmhhc19wYXJhbWV0ZXIoJ3NlcnZlcl9ub19jb250ZXh0X3Rha2VvdmVyJykpCisgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBOb25lLCByZXNwb25zZS5nZXRfcGFy
YW1ldGVyX3ZhbHVlKCdzZXJ2ZXJfbm9fY29udGV4dF90YWtlb3ZlcicpKQorCisgICAgICAgIGV4
dGVuc2lvbiA9IGNvbW1vbi5FeHRlbnNpb25QYXJhbWV0ZXIoCisgICAgICAgICAgICBjb21tb24u
UEVSTUVTU0FHRV9ERUZMQVRFX0VYVEVOU0lPTikKKyAgICAgICAgZXh0ZW5zaW9uLmFkZF9wYXJh
bWV0ZXIoJ2NsaWVudF9tYXhfd2luZG93X2JpdHMnLCBOb25lKQorICAgICAgICBwcm9jZXNzb3Ig
PSBQZXJNZXNzYWdlRGVmbGF0ZUV4dGVuc2lvblByb2Nlc3NvcihleHRlbnNpb24pCisKKyAgICAg
ICAgcHJvY2Vzc29yLnNldF9jbGllbnRfbWF4X3dpbmRvd19iaXRzKDgpCisgICAgICAgIHByb2Nl
c3Nvci5zZXRfY2xpZW50X25vX2NvbnRleHRfdGFrZW92ZXIoVHJ1ZSkKKyAgICAgICAgcmVzcG9u
c2UgPSBwcm9jZXNzb3IuZ2V0X2V4dGVuc2lvbl9yZXNwb25zZSgpCisgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoCisgICAgICAgICAgICAnOCcsIHJlc3BvbnNlLmdldF9wYXJhbWV0ZXJfdmFsdWUo
J2NsaWVudF9tYXhfd2luZG93X2JpdHMnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlc3Bv
bnNlLmhhc19wYXJhbWV0ZXIoJ2NsaWVudF9ub19jb250ZXh0X3Rha2VvdmVyJykpCisgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBOb25lLCByZXNwb25zZS5nZXRfcGFyYW1l
dGVyX3ZhbHVlKCdjbGllbnRfbm9fY29udGV4dF90YWtlb3ZlcicpKQorCisgICAgZGVmIHRlc3Rf
c2VuZF9tZXNzYWdlKHNlbGYpOgorICAgICAgICBleHRlbnNpb24gPSBjb21tb24uRXh0ZW5zaW9u
UGFyYW1ldGVyKAorICAgICAgICAgICAgY29tbW9uLlBFUk1FU1NBR0VfREVGTEFURV9FWFRFTlNJ
T04pCisgICAgICAgIHJlcXVlc3QgPSBfY3JlYXRlX3JlcXVlc3RfZnJvbV9yYXdkYXRhKAorICAg
ICAgICAgICAgYicnLCBwZXJtZXNzYWdlX2RlZmxhdGVfcmVxdWVzdD1leHRlbnNpb24pCisgICAg
ICAgIG1zZ3V0aWwuc2VuZF9tZXNzYWdlKHJlcXVlc3QsICdIZWxsbycpCisKKyAgICAgICAgY29t
cHJlc3MgPSB6bGliLmNvbXByZXNzb2JqKHpsaWIuWl9ERUZBVUxUX0NPTVBSRVNTSU9OLCB6bGli
LkRFRkxBVEVELAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLXpsaWIuTUFY
X1dCSVRTKQorICAgICAgICBjb21wcmVzc2VkX2hlbGxvID0gY29tcHJlc3MuY29tcHJlc3MoYidI
ZWxsbycpCisgICAgICAgIGNvbXByZXNzZWRfaGVsbG8gKz0gY29tcHJlc3MuZmx1c2goemxpYi5a
X1NZTkNfRkxVU0gpCisgICAgICAgIGNvbXByZXNzZWRfaGVsbG8gPSBjb21wcmVzc2VkX2hlbGxv
WzotNF0KKyAgICAgICAgZXhwZWN0ZWQgPSBiJ1x4YzElYycgJSBsZW4oY29tcHJlc3NlZF9oZWxs
bykKKyAgICAgICAgZXhwZWN0ZWQgKz0gY29tcHJlc3NlZF9oZWxsbworICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKGV4cGVjdGVkLCByZXF1ZXN0LmNvbm5lY3Rpb24ud3JpdHRlbl9kYXRhKCkpCisK
KyAgICBkZWYgdGVzdF9zZW5kX2VtcHR5X21lc3NhZ2Uoc2VsZik6CisgICAgICAgICIiIlRlc3Qg
dGhhdCBhbiBlbXB0eSBtZXNzYWdlIGlzIGNvbXByZXNzZWQgY29ycmVjdGx5LiIiIgorCisgICAg
ICAgIGV4dGVuc2lvbiA9IGNvbW1vbi5FeHRlbnNpb25QYXJhbWV0ZXIoCisgICAgICAgICAgICBj
b21tb24uUEVSTUVTU0FHRV9ERUZMQVRFX0VYVEVOU0lPTikKKyAgICAgICAgcmVxdWVzdCA9IF9j
cmVhdGVfcmVxdWVzdF9mcm9tX3Jhd2RhdGEoCisgICAgICAgICAgICBiJycsIHBlcm1lc3NhZ2Vf
ZGVmbGF0ZV9yZXF1ZXN0PWV4dGVuc2lvbikKKworICAgICAgICBtc2d1dGlsLnNlbmRfbWVzc2Fn
ZShyZXF1ZXN0LCAnJykKKworICAgICAgICAjIFBheWxvYWQgaW4gYmluYXJ5OiAwYjAwMDAwMDAw
CisgICAgICAgICMgRnJvbSBMU0IsCisgICAgICAgICMgLSAxIGJpdCBvZiBCRklOQUwgKDApCisg
ICAgICAgICMgLSAyIGJpdHMgb2YgQlRZUEUgKG5vIGNvbXByZXNzaW9uKQorICAgICAgICAjIC0g
NSBiaXRzIG9mIHBhZGRpbmcKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiJ1x4YzFceDAxXHgw
MCcsIHJlcXVlc3QuY29ubmVjdGlvbi53cml0dGVuX2RhdGEoKSkKKworICAgIGRlZiB0ZXN0X3Nl
bmRfbWVzc2FnZV93aXRoX251bGxfY2hhcmFjdGVyKHNlbGYpOgorICAgICAgICAiIiJUZXN0IHRo
YXQgYSBzaW1wbGUgcGF5bG9hZCAob25lIG51bGwpIGlzIGZyYW1lZCBjb3JyZWN0bHkuIiIiCisK
KyAgICAgICAgZXh0ZW5zaW9uID0gY29tbW9uLkV4dGVuc2lvblBhcmFtZXRlcigKKyAgICAgICAg
ICAgIGNvbW1vbi5QRVJNRVNTQUdFX0RFRkxBVEVfRVhURU5TSU9OKQorICAgICAgICByZXF1ZXN0
ID0gX2NyZWF0ZV9yZXF1ZXN0X2Zyb21fcmF3ZGF0YSgKKyAgICAgICAgICAgIGInJywgcGVybWVz
c2FnZV9kZWZsYXRlX3JlcXVlc3Q9ZXh0ZW5zaW9uKQorCisgICAgICAgIG1zZ3V0aWwuc2VuZF9t
ZXNzYWdlKHJlcXVlc3QsICdceDAwJykKKworICAgICAgICAjIFBheWxvYWQgaW4gYmluYXJ5OiAw
YjAxMTAwMDEwIDBiMDAwMDAwMDAgMGIwMDAwMDAwMAorICAgICAgICAjIEZyb20gTFNCLAorICAg
ICAgICAjIC0gMSBiaXQgb2YgQkZJTkFMICgwKQorICAgICAgICAjIC0gMiBiaXRzIG9mIEJUWVBF
ICgwMSB0aGF0IG1lYW5zIGZpeGVkIEh1ZmZtYW4pCisgICAgICAgICMgLSA4IGJpdHMgb2YgdGhl
IGZpcnN0IGNvZGUgKDAwMTEwMDAwIHRoYXQgaXMgdGhlIGNvZGUgZm9yIHRoZSBsaXRlcmFsCisg
ICAgICAgICMgICBhbHBoYWJldCAweDAwKQorICAgICAgICAjIC0gNyBiaXRzIG9mIHRoZSBzZWNv
bmQgY29kZSAoMDAwMDAwMCB0aGF0IGlzIHRoZSBjb2RlIGZvciB0aGUKKyAgICAgICAgIyAgIGVu
ZC1vZi1ibG9jaykKKyAgICAgICAgIyAtIDEgYml0IG9mIEJGSU5BTCAoMCkKKyAgICAgICAgIyAt
IDIgYml0cyBvZiBCVFlQRSAobm8gY29tcHJlc3Npb24pCisgICAgICAgICMgLSAyIGJpdHMgb2Yg
cGFkZGluZworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGInXHhjMVx4MDNceDYyXHgwMFx4MDAn
LAorICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3QuY29ubmVjdGlvbi53cml0dGVuX2Rh
dGEoKSkKKworICAgIGRlZiB0ZXN0X3NlbmRfdHdvX21lc3NhZ2VzKHNlbGYpOgorICAgICAgICBl
eHRlbnNpb24gPSBjb21tb24uRXh0ZW5zaW9uUGFyYW1ldGVyKAorICAgICAgICAgICAgY29tbW9u
LlBFUk1FU1NBR0VfREVGTEFURV9FWFRFTlNJT04pCisgICAgICAgIHJlcXVlc3QgPSBfY3JlYXRl
X3JlcXVlc3RfZnJvbV9yYXdkYXRhKAorICAgICAgICAgICAgYicnLCBwZXJtZXNzYWdlX2RlZmxh
dGVfcmVxdWVzdD1leHRlbnNpb24pCisgICAgICAgIG1zZ3V0aWwuc2VuZF9tZXNzYWdlKHJlcXVl
c3QsICdIZWxsbycpCisgICAgICAgIG1zZ3V0aWwuc2VuZF9tZXNzYWdlKHJlcXVlc3QsICdXb3Js
ZCcpCisKKyAgICAgICAgY29tcHJlc3MgPSB6bGliLmNvbXByZXNzb2JqKHpsaWIuWl9ERUZBVUxU
X0NPTVBSRVNTSU9OLCB6bGliLkRFRkxBVEVELAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLXpsaWIuTUFYX1dCSVRTKQorCisgICAgICAgIGV4cGVjdGVkID0gYicnCisKKyAg
ICAgICAgY29tcHJlc3NlZF9oZWxsbyA9IGNvbXByZXNzLmNvbXByZXNzKGInSGVsbG8nKQorICAg
ICAgICBjb21wcmVzc2VkX2hlbGxvICs9IGNvbXByZXNzLmZsdXNoKHpsaWIuWl9TWU5DX0ZMVVNI
KQorICAgICAgICBjb21wcmVzc2VkX2hlbGxvID0gY29tcHJlc3NlZF9oZWxsb1s6LTRdCisgICAg
ICAgIGV4cGVjdGVkICs9IGInXHhjMSVjJyAlIGxlbihjb21wcmVzc2VkX2hlbGxvKQorICAgICAg
ICBleHBlY3RlZCArPSBjb21wcmVzc2VkX2hlbGxvCisKKyAgICAgICAgY29tcHJlc3NlZF93b3Js
ZCA9IGNvbXByZXNzLmNvbXByZXNzKGInV29ybGQnKQorICAgICAgICBjb21wcmVzc2VkX3dvcmxk
ICs9IGNvbXByZXNzLmZsdXNoKHpsaWIuWl9TWU5DX0ZMVVNIKQorICAgICAgICBjb21wcmVzc2Vk
X3dvcmxkID0gY29tcHJlc3NlZF93b3JsZFs6LTRdCisgICAgICAgIGV4cGVjdGVkICs9IGInXHhj
MSVjJyAlIGxlbihjb21wcmVzc2VkX3dvcmxkKQorICAgICAgICBleHBlY3RlZCArPSBjb21wcmVz
c2VkX3dvcmxkCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3RlZCwgcmVxdWVzdC5j
b25uZWN0aW9uLndyaXR0ZW5fZGF0YSgpKQorCisgICAgZGVmIHRlc3Rfc2VuZF9tZXNzYWdlX2Zy
YWdtZW50ZWQoc2VsZik6CisgICAgICAgIGV4dGVuc2lvbiA9IGNvbW1vbi5FeHRlbnNpb25QYXJh
bWV0ZXIoCisgICAgICAgICAgICBjb21tb24uUEVSTUVTU0FHRV9ERUZMQVRFX0VYVEVOU0lPTikK
KyAgICAgICAgcmVxdWVzdCA9IF9jcmVhdGVfcmVxdWVzdF9mcm9tX3Jhd2RhdGEoCisgICAgICAg
ICAgICBiJycsIHBlcm1lc3NhZ2VfZGVmbGF0ZV9yZXF1ZXN0PWV4dGVuc2lvbikKKyAgICAgICAg
bXNndXRpbC5zZW5kX21lc3NhZ2UocmVxdWVzdCwgJ0hlbGxvJywgZW5kPUZhbHNlKQorICAgICAg
ICBtc2d1dGlsLnNlbmRfbWVzc2FnZShyZXF1ZXN0LCAnR29vZGJ5ZScsIGVuZD1GYWxzZSkKKyAg
ICAgICAgbXNndXRpbC5zZW5kX21lc3NhZ2UocmVxdWVzdCwgJ1dvcmxkJykKKworICAgICAgICBj
b21wcmVzcyA9IHpsaWIuY29tcHJlc3NvYmooemxpYi5aX0RFRkFVTFRfQ09NUFJFU1NJT04sIHps
aWIuREVGTEFURUQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtemxpYi5N
QVhfV0JJVFMpCisgICAgICAgIGNvbXByZXNzZWRfaGVsbG8gPSBjb21wcmVzcy5jb21wcmVzcyhi
J0hlbGxvJykKKyAgICAgICAgY29tcHJlc3NlZF9oZWxsbyArPSBjb21wcmVzcy5mbHVzaCh6bGli
LlpfU1lOQ19GTFVTSCkKKyAgICAgICAgZXhwZWN0ZWQgPSBiJ1x4NDElYycgJSBsZW4oY29tcHJl
c3NlZF9oZWxsbykKKyAgICAgICAgZXhwZWN0ZWQgKz0gY29tcHJlc3NlZF9oZWxsbworICAgICAg
ICBjb21wcmVzc2VkX2dvb2RieWUgPSBjb21wcmVzcy5jb21wcmVzcyhiJ0dvb2RieWUnKQorICAg
ICAgICBjb21wcmVzc2VkX2dvb2RieWUgKz0gY29tcHJlc3MuZmx1c2goemxpYi5aX1NZTkNfRkxV
U0gpCisgICAgICAgIGV4cGVjdGVkICs9IGInXHgwMCVjJyAlIGxlbihjb21wcmVzc2VkX2dvb2Ri
eWUpCisgICAgICAgIGV4cGVjdGVkICs9IGNvbXByZXNzZWRfZ29vZGJ5ZQorICAgICAgICBjb21w
cmVzc2VkX3dvcmxkID0gY29tcHJlc3MuY29tcHJlc3MoYidXb3JsZCcpCisgICAgICAgIGNvbXBy
ZXNzZWRfd29ybGQgKz0gY29tcHJlc3MuZmx1c2goemxpYi5aX1NZTkNfRkxVU0gpCisgICAgICAg
IGNvbXByZXNzZWRfd29ybGQgPSBjb21wcmVzc2VkX3dvcmxkWzotNF0KKyAgICAgICAgZXhwZWN0
ZWQgKz0gYidceDgwJWMnICUgbGVuKGNvbXByZXNzZWRfd29ybGQpCisgICAgICAgIGV4cGVjdGVk
ICs9IGNvbXByZXNzZWRfd29ybGQKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3RlZCwg
cmVxdWVzdC5jb25uZWN0aW9uLndyaXR0ZW5fZGF0YSgpKQorCisgICAgZGVmIHRlc3Rfc2VuZF9t
ZXNzYWdlX2ZyYWdtZW50ZWRfZW1wdHlfZmlyc3RfZnJhbWUoc2VsZik6CisgICAgICAgIGV4dGVu
c2lvbiA9IGNvbW1vbi5FeHRlbnNpb25QYXJhbWV0ZXIoCisgICAgICAgICAgICBjb21tb24uUEVS
TUVTU0FHRV9ERUZMQVRFX0VYVEVOU0lPTikKKyAgICAgICAgcmVxdWVzdCA9IF9jcmVhdGVfcmVx
dWVzdF9mcm9tX3Jhd2RhdGEoCisgICAgICAgICAgICBiJycsIHBlcm1lc3NhZ2VfZGVmbGF0ZV9y
ZXF1ZXN0PWV4dGVuc2lvbikKKyAgICAgICAgbXNndXRpbC5zZW5kX21lc3NhZ2UocmVxdWVzdCwg
JycsIGVuZD1GYWxzZSkKKyAgICAgICAgbXNndXRpbC5zZW5kX21lc3NhZ2UocmVxdWVzdCwgJ0hl
bGxvJykKKworICAgICAgICBjb21wcmVzcyA9IHpsaWIuY29tcHJlc3NvYmooemxpYi5aX0RFRkFV
TFRfQ09NUFJFU1NJT04sIHpsaWIuREVGTEFURUQsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAtemxpYi5NQVhfV0JJVFMpCisgICAgICAgIGNvbXByZXNzZWRfaGVsbG8gPSBj
b21wcmVzcy5jb21wcmVzcyhiJycpCisgICAgICAgIGNvbXByZXNzZWRfaGVsbG8gKz0gY29tcHJl
c3MuZmx1c2goemxpYi5aX1NZTkNfRkxVU0gpCisgICAgICAgIGV4cGVjdGVkID0gYidceDQxJWMn
ICUgbGVuKGNvbXByZXNzZWRfaGVsbG8pCisgICAgICAgIGV4cGVjdGVkICs9IGNvbXByZXNzZWRf
aGVsbG8KKyAgICAgICAgY29tcHJlc3NlZF9lbXB0eSA9IGNvbXByZXNzLmNvbXByZXNzKGInSGVs
bG8nKQorICAgICAgICBjb21wcmVzc2VkX2VtcHR5ICs9IGNvbXByZXNzLmZsdXNoKHpsaWIuWl9T
WU5DX0ZMVVNIKQorICAgICAgICBjb21wcmVzc2VkX2VtcHR5ID0gY29tcHJlc3NlZF9lbXB0eVs6
LTRdCisgICAgICAgIGV4cGVjdGVkICs9IGInXHg4MCVjJyAlIGxlbihjb21wcmVzc2VkX2VtcHR5
KQorICAgICAgICBleHBlY3RlZCArPSBjb21wcmVzc2VkX2VtcHR5CisgICAgICAgIHByaW50KCcl
cicgJSBleHBlY3RlZCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3RlZCwgcmVxdWVz
dC5jb25uZWN0aW9uLndyaXR0ZW5fZGF0YSgpKQorCisgICAgZGVmIHRlc3Rfc2VuZF9tZXNzYWdl
X2ZyYWdtZW50ZWRfZW1wdHlfbGFzdF9mcmFtZShzZWxmKToKKyAgICAgICAgZXh0ZW5zaW9uID0g
Y29tbW9uLkV4dGVuc2lvblBhcmFtZXRlcigKKyAgICAgICAgICAgIGNvbW1vbi5QRVJNRVNTQUdF
X0RFRkxBVEVfRVhURU5TSU9OKQorICAgICAgICByZXF1ZXN0ID0gX2NyZWF0ZV9yZXF1ZXN0X2Zy
b21fcmF3ZGF0YSgKKyAgICAgICAgICAgIGInJywgcGVybWVzc2FnZV9kZWZsYXRlX3JlcXVlc3Q9
ZXh0ZW5zaW9uKQorICAgICAgICBtc2d1dGlsLnNlbmRfbWVzc2FnZShyZXF1ZXN0LCAnSGVsbG8n
LCBlbmQ9RmFsc2UpCisgICAgICAgIG1zZ3V0aWwuc2VuZF9tZXNzYWdlKHJlcXVlc3QsICcnKQor
CisgICAgICAgIGNvbXByZXNzID0gemxpYi5jb21wcmVzc29iaih6bGliLlpfREVGQVVMVF9DT01Q
UkVTU0lPTiwgemxpYi5ERUZMQVRFRCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC16bGliLk1BWF9XQklUUykKKyAgICAgICAgY29tcHJlc3NlZF9oZWxsbyA9IGNvbXByZXNz
LmNvbXByZXNzKGInSGVsbG8nKQorICAgICAgICBjb21wcmVzc2VkX2hlbGxvICs9IGNvbXByZXNz
LmZsdXNoKHpsaWIuWl9TWU5DX0ZMVVNIKQorICAgICAgICBleHBlY3RlZCA9IGInXHg0MSVjJyAl
IGxlbihjb21wcmVzc2VkX2hlbGxvKQorICAgICAgICBleHBlY3RlZCArPSBjb21wcmVzc2VkX2hl
bGxvCisgICAgICAgIGNvbXByZXNzZWRfZW1wdHkgPSBjb21wcmVzcy5jb21wcmVzcyhiJycpCisg
ICAgICAgIGNvbXByZXNzZWRfZW1wdHkgKz0gY29tcHJlc3MuZmx1c2goemxpYi5aX1NZTkNfRkxV
U0gpCisgICAgICAgIGNvbXByZXNzZWRfZW1wdHkgPSBjb21wcmVzc2VkX2VtcHR5WzotNF0KKyAg
ICAgICAgZXhwZWN0ZWQgKz0gYidceDgwJWMnICUgbGVuKGNvbXByZXNzZWRfZW1wdHkpCisgICAg
ICAgIGV4cGVjdGVkICs9IGNvbXByZXNzZWRfZW1wdHkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChleHBlY3RlZCwgcmVxdWVzdC5jb25uZWN0aW9uLndyaXR0ZW5fZGF0YSgpKQorCisgICAgZGVm
IHRlc3Rfc2VuZF9tZXNzYWdlX3VzaW5nX3NtYWxsX3dpbmRvdyhzZWxmKToKKyAgICAgICAgY29t
bW9uX3BhcnQgPSAnYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXonCisgICAgICAgIHRlc3RfbWVz
c2FnZSA9IGNvbW1vbl9wYXJ0ICsgJy0nICogMzAwMDAgKyBjb21tb25fcGFydAorCisgICAgICAg
IGV4dGVuc2lvbiA9IGNvbW1vbi5FeHRlbnNpb25QYXJhbWV0ZXIoCisgICAgICAgICAgICBjb21t
b24uUEVSTUVTU0FHRV9ERUZMQVRFX0VYVEVOU0lPTikKKyAgICAgICAgZXh0ZW5zaW9uLmFkZF9w
YXJhbWV0ZXIoJ3NlcnZlcl9tYXhfd2luZG93X2JpdHMnLCAnOCcpCisgICAgICAgIHJlcXVlc3Qg
PSBfY3JlYXRlX3JlcXVlc3RfZnJvbV9yYXdkYXRhKAorICAgICAgICAgICAgYicnLCBwZXJtZXNz
YWdlX2RlZmxhdGVfcmVxdWVzdD1leHRlbnNpb24pCisgICAgICAgIG1zZ3V0aWwuc2VuZF9tZXNz
YWdlKHJlcXVlc3QsIHRlc3RfbWVzc2FnZSkKKworICAgICAgICBleHBlY3RlZF93ZWJzb2NrZXRf
aGVhZGVyX3NpemUgPSAyCisgICAgICAgIGV4cGVjdGVkX3dlYnNvY2tldF9wYXlsb2FkX3NpemUg
PSA5MQorCisgICAgICAgIGFjdHVhbF9mcmFtZSA9IHJlcXVlc3QuY29ubmVjdGlvbi53cml0dGVu
X2RhdGEoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgZXhwZWN0ZWRf
d2Vic29ja2V0X2hlYWRlcl9zaXplICsgZXhwZWN0ZWRfd2Vic29ja2V0X3BheWxvYWRfc2l6ZSwK
KyAgICAgICAgICAgIGxlbihhY3R1YWxfZnJhbWUpKQorICAgICAgICBhY3R1YWxfaGVhZGVyID0g
YWN0dWFsX2ZyYW1lWzA6ZXhwZWN0ZWRfd2Vic29ja2V0X2hlYWRlcl9zaXplXQorICAgICAgICBh
Y3R1YWxfcGF5bG9hZCA9IGFjdHVhbF9mcmFtZVtleHBlY3RlZF93ZWJzb2NrZXRfaGVhZGVyX3Np
emU6XQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYidceGMxJWMnICUgZXhwZWN0ZWRfd2Vi
c29ja2V0X3BheWxvYWRfc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBhY3R1YWxfaGVh
ZGVyKQorICAgICAgICBkZWNvbXByZXNzID0gemxpYi5kZWNvbXByZXNzb2JqKC04KQorICAgICAg
ICBkZWNvbXByZXNzZWRfbWVzc2FnZSA9IGRlY29tcHJlc3MuZGVjb21wcmVzcyhhY3R1YWxfcGF5
bG9hZCArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGInXHgwMFx4MDBceGZmXHhmZicpCisgICAgICAgIGRlY29tcHJlc3NlZF9tZXNzYWdlICs9
IGRlY29tcHJlc3MuZmx1c2goKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRlc3RfbWVzc2Fn
ZSwgZGVjb21wcmVzc2VkX21lc3NhZ2UuZGVjb2RlKCdVVEYtOCcpKQorICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKDAsIGxlbihkZWNvbXByZXNzLnVudXNlZF9kYXRhKSkKKyAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbCgwLCBsZW4oZGVjb21wcmVzcy51bmNvbnN1bWVkX3RhaWwpKQorCisgICAgZGVm
IHRlc3Rfc2VuZF9tZXNzYWdlX25vX2NvbnRleHRfdGFrZW92ZXJfcGFyYW1ldGVyKHNlbGYpOgor
ICAgICAgICBleHRlbnNpb24gPSBjb21tb24uRXh0ZW5zaW9uUGFyYW1ldGVyKAorICAgICAgICAg
ICAgY29tbW9uLlBFUk1FU1NBR0VfREVGTEFURV9FWFRFTlNJT04pCisgICAgICAgIGV4dGVuc2lv
bi5hZGRfcGFyYW1ldGVyKCdzZXJ2ZXJfbm9fY29udGV4dF90YWtlb3ZlcicsIE5vbmUpCisgICAg
ICAgIHJlcXVlc3QgPSBfY3JlYXRlX3JlcXVlc3RfZnJvbV9yYXdkYXRhKAorICAgICAgICAgICAg
YicnLCBwZXJtZXNzYWdlX2RlZmxhdGVfcmVxdWVzdD1leHRlbnNpb24pCisgICAgICAgIGZvciBp
IGluIHJhbmdlKDMpOgorICAgICAgICAgICAgbXNndXRpbC5zZW5kX21lc3NhZ2UocmVxdWVzdCwg
J0hlbGxvJywgZW5kPUZhbHNlKQorICAgICAgICAgICAgbXNndXRpbC5zZW5kX21lc3NhZ2UocmVx
dWVzdCwgJ0hlbGxvJywgZW5kPVRydWUpCisKKyAgICAgICAgY29tcHJlc3MgPSB6bGliLmNvbXBy
ZXNzb2JqKHpsaWIuWl9ERUZBVUxUX0NPTVBSRVNTSU9OLCB6bGliLkRFRkxBVEVELAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLXpsaWIuTUFYX1dCSVRTKQorCisgICAgICAg
IGZpcnN0X2hlbGxvID0gY29tcHJlc3MuY29tcHJlc3MoYidIZWxsbycpCisgICAgICAgIGZpcnN0
X2hlbGxvICs9IGNvbXByZXNzLmZsdXNoKHpsaWIuWl9TWU5DX0ZMVVNIKQorICAgICAgICBleHBl
Y3RlZCA9IGInXHg0MSVjJyAlIGxlbihmaXJzdF9oZWxsbykKKyAgICAgICAgZXhwZWN0ZWQgKz0g
Zmlyc3RfaGVsbG8KKyAgICAgICAgc2Vjb25kX2hlbGxvID0gY29tcHJlc3MuY29tcHJlc3MoYidI
ZWxsbycpCisgICAgICAgIHNlY29uZF9oZWxsbyArPSBjb21wcmVzcy5mbHVzaCh6bGliLlpfU1lO
Q19GTFVTSCkKKyAgICAgICAgc2Vjb25kX2hlbGxvID0gc2Vjb25kX2hlbGxvWzotNF0KKyAgICAg
ICAgZXhwZWN0ZWQgKz0gYidceDgwJWMnICUgbGVuKHNlY29uZF9oZWxsbykKKyAgICAgICAgZXhw
ZWN0ZWQgKz0gc2Vjb25kX2hlbGxvCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3Rl
ZCArIGV4cGVjdGVkICsgZXhwZWN0ZWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVz
dC5jb25uZWN0aW9uLndyaXR0ZW5fZGF0YSgpKQorCisgICAgZGVmIHRlc3Rfc2VuZF9tZXNzYWdl
X2ZyYWdtZW50ZWRfYmZpbmFsKHNlbGYpOgorICAgICAgICBleHRlbnNpb24gPSBjb21tb24uRXh0
ZW5zaW9uUGFyYW1ldGVyKAorICAgICAgICAgICAgY29tbW9uLlBFUk1FU1NBR0VfREVGTEFURV9F
WFRFTlNJT04pCisgICAgICAgIHJlcXVlc3QgPSBfY3JlYXRlX3JlcXVlc3RfZnJvbV9yYXdkYXRh
KAorICAgICAgICAgICAgYicnLCBwZXJtZXNzYWdlX2RlZmxhdGVfcmVxdWVzdD1leHRlbnNpb24p
CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoMSwgbGVuKHJlcXVlc3Qud3NfZXh0ZW5zaW9uX3By
b2Nlc3NvcnMpKQorICAgICAgICByZXF1ZXN0LndzX2V4dGVuc2lvbl9wcm9jZXNzb3JzWzBdLnNl
dF9iZmluYWwoVHJ1ZSkKKyAgICAgICAgbXNndXRpbC5zZW5kX21lc3NhZ2UocmVxdWVzdCwgJ0hl
bGxvJywgZW5kPUZhbHNlKQorICAgICAgICBtc2d1dGlsLnNlbmRfbWVzc2FnZShyZXF1ZXN0LCAn
V29ybGQnLCBlbmQ9VHJ1ZSkKKworICAgICAgICBleHBlY3RlZCA9IGInJworCisgICAgICAgIGNv
bXByZXNzID0gemxpYi5jb21wcmVzc29iaih6bGliLlpfREVGQVVMVF9DT01QUkVTU0lPTiwgemxp
Yi5ERUZMQVRFRCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC16bGliLk1B
WF9XQklUUykKKyAgICAgICAgY29tcHJlc3NlZF9oZWxsbyA9IGNvbXByZXNzLmNvbXByZXNzKGIn
SGVsbG8nKQorICAgICAgICBjb21wcmVzc2VkX2hlbGxvICs9IGNvbXByZXNzLmZsdXNoKHpsaWIu
Wl9GSU5JU0gpCisgICAgICAgIGNvbXByZXNzZWRfaGVsbG8gPSBjb21wcmVzc2VkX2hlbGxvICsg
c3RydWN0LnBhY2soJyFCJywgMCkKKyAgICAgICAgZXhwZWN0ZWQgKz0gYidceDQxJWMnICUgbGVu
KGNvbXByZXNzZWRfaGVsbG8pCisgICAgICAgIGV4cGVjdGVkICs9IGNvbXByZXNzZWRfaGVsbG8K
KworICAgICAgICBjb21wcmVzcyA9IHpsaWIuY29tcHJlc3NvYmooemxpYi5aX0RFRkFVTFRfQ09N
UFJFU1NJT04sIHpsaWIuREVGTEFURUQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAtemxpYi5NQVhfV0JJVFMpCisgICAgICAgIGNvbXByZXNzZWRfd29ybGQgPSBjb21wcmVz
cy5jb21wcmVzcyhiJ1dvcmxkJykKKyAgICAgICAgY29tcHJlc3NlZF93b3JsZCArPSBjb21wcmVz
cy5mbHVzaCh6bGliLlpfRklOSVNIKQorICAgICAgICBjb21wcmVzc2VkX3dvcmxkID0gY29tcHJl
c3NlZF93b3JsZCArIHN0cnVjdC5wYWNrKCchQicsIDApCisgICAgICAgIGV4cGVjdGVkICs9IGIn
XHg4MCVjJyAlIGxlbihjb21wcmVzc2VkX3dvcmxkKQorICAgICAgICBleHBlY3RlZCArPSBjb21w
cmVzc2VkX3dvcmxkCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3RlZCwgcmVxdWVz
dC5jb25uZWN0aW9uLndyaXR0ZW5fZGF0YSgpKQorCisgICAgZGVmIHRlc3RfcmVjZWl2ZV9tZXNz
YWdlX2RlZmxhdGUoc2VsZik6CisgICAgICAgIGNvbXByZXNzID0gemxpYi5jb21wcmVzc29iaih6
bGliLlpfREVGQVVMVF9DT01QUkVTU0lPTiwgemxpYi5ERUZMQVRFRCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC16bGliLk1BWF9XQklUUykKKworICAgICAgICBjb21wcmVz
c2VkX2hlbGxvID0gY29tcHJlc3MuY29tcHJlc3MoYidIZWxsbycpCisgICAgICAgIGNvbXByZXNz
ZWRfaGVsbG8gKz0gY29tcHJlc3MuZmx1c2goemxpYi5aX1NZTkNfRkxVU0gpCisgICAgICAgIGNv
bXByZXNzZWRfaGVsbG8gPSBjb21wcmVzc2VkX2hlbGxvWzotNF0KKyAgICAgICAgZGF0YSA9IGIn
XHhjMSVjJyAlIChsZW4oY29tcHJlc3NlZF9oZWxsbykgfCAweDgwKQorICAgICAgICBkYXRhICs9
IF9tYXNrX2h5YmkoY29tcHJlc3NlZF9oZWxsbykKKworICAgICAgICAjIENsb3NlIGZyYW1lCisg
ICAgICAgIGRhdGEgKz0gYidceDg4XHg4YScgKyBfbWFza19oeWJpKHN0cnVjdC5wYWNrKCchSCcs
IDEwMDApICsgYidHb29kIGJ5ZScpCisKKyAgICAgICAgZXh0ZW5zaW9uID0gY29tbW9uLkV4dGVu
c2lvblBhcmFtZXRlcigKKyAgICAgICAgICAgIGNvbW1vbi5QRVJNRVNTQUdFX0RFRkxBVEVfRVhU
RU5TSU9OKQorICAgICAgICByZXF1ZXN0ID0gX2NyZWF0ZV9yZXF1ZXN0X2Zyb21fcmF3ZGF0YSgK
KyAgICAgICAgICAgIGRhdGEsIHBlcm1lc3NhZ2VfZGVmbGF0ZV9yZXF1ZXN0PWV4dGVuc2lvbikK
KyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnSGVsbG8nLCBtc2d1dGlsLnJlY2VpdmVfbWVzc2Fn
ZShyZXF1ZXN0KSkKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKE5vbmUsIG1zZ3V0aWwucmVj
ZWl2ZV9tZXNzYWdlKHJlcXVlc3QpKQorCisgICAgZGVmIHRlc3RfcmVjZWl2ZV9tZXNzYWdlX3Jh
bmRvbV9zZWN0aW9uKHNlbGYpOgorICAgICAgICAiIiJUZXN0IHRoYXQgYSBjb21wcmVzc2VkIG1l
c3NhZ2UgZnJhZ21lbnRlZCBpbnRvIGxvdHMgb2YgY2h1bmtzIGlzCisgICAgICAgIGNvcnJlY3Rs
eSByZWNlaXZlZC4KKyAgICAgICAgIiIiCisKKyAgICAgICAgcmFuZG9tLnNlZWQoYT0wKQorICAg
ICAgICBwYXlsb2FkID0gYicnLmpvaW4oCisgICAgICAgICAgICBbc3RydWN0LnBhY2soJyFCJywg
cmFuZG9tLnJhbmRpbnQoMCwgMjU1KSkgZm9yIGkgaW4gcmFuZ2UoMTAwMCldKQorCisgICAgICAg
IGNvbXByZXNzID0gemxpYi5jb21wcmVzc29iaih6bGliLlpfREVGQVVMVF9DT01QUkVTU0lPTiwg
emxpYi5ERUZMQVRFRCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC16bGli
Lk1BWF9XQklUUykKKyAgICAgICAgY29tcHJlc3NlZF9wYXlsb2FkID0gY29tcHJlc3MuY29tcHJl
c3MocGF5bG9hZCkKKyAgICAgICAgY29tcHJlc3NlZF9wYXlsb2FkICs9IGNvbXByZXNzLmZsdXNo
KHpsaWIuWl9TWU5DX0ZMVVNIKQorICAgICAgICBjb21wcmVzc2VkX3BheWxvYWQgPSBjb21wcmVz
c2VkX3BheWxvYWRbOi00XQorCisgICAgICAgICMgRnJhZ21lbnQgdGhlIGNvbXByZXNzZWQgcGF5
bG9hZCBpbnRvIGxvdHMgb2YgZnJhbWVzLgorICAgICAgICBieXRlc19jaHVua2VkID0gMAorICAg
ICAgICBkYXRhID0gYicnCisgICAgICAgIGZyYW1lX2NvdW50ID0gMAorCisgICAgICAgIGNodW5r
X3NpemVzID0gW10KKworICAgICAgICB3aGlsZSBieXRlc19jaHVua2VkIDwgbGVuKGNvbXByZXNz
ZWRfcGF5bG9hZCk6CisgICAgICAgICAgICAjIE1ha2Ugc3VyZSB0aGF0CisgICAgICAgICAgICAj
IC0gdGhlIGxlbmd0aCBvZiBjaHVua3MgYXJlIGVxdWFsIG9yIGxlc3MgdGhhbiAxMjUgc28gdGhh
dCB3ZSBjYW4KKyAgICAgICAgICAgICMgICB1c2UgMSBvY3RldCBsZW5ndGggaGVhZGVyIGZvcm1h
dCBmb3IgYWxsIGZyYW1lcy4KKyAgICAgICAgICAgICMgLSBhdCBsZWFzdCAxMCBjaHVua3MgYXJl
IGNyZWF0ZWQuCisgICAgICAgICAgICBjaHVua19zaXplID0gcmFuZG9tLnJhbmRpbnQoCisgICAg
ICAgICAgICAgICAgMSwKKyAgICAgICAgICAgICAgICBtaW4oMTI1LAorICAgICAgICAgICAgICAg
ICAgICBsZW4oY29tcHJlc3NlZF9wYXlsb2FkKSAvLyAxMCwKKyAgICAgICAgICAgICAgICAgICAg
bGVuKGNvbXByZXNzZWRfcGF5bG9hZCkgLSBieXRlc19jaHVua2VkKSkKKyAgICAgICAgICAgIGNo
dW5rX3NpemVzLmFwcGVuZChjaHVua19zaXplKQorICAgICAgICAgICAgY2h1bmsgPSBjb21wcmVz
c2VkX3BheWxvYWRbYnl0ZXNfY2h1bmtlZDpieXRlc19jaHVua2VkICsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNodW5rX3NpemVdCisgICAgICAgICAgICBieXRlc19j
aHVua2VkICs9IGNodW5rX3NpemUKKworICAgICAgICAgICAgZmlyc3Rfb2N0ZXQgPSAweDAwCisg
ICAgICAgICAgICBpZiBsZW4oZGF0YSkgPT0gMDoKKyAgICAgICAgICAgICAgICBmaXJzdF9vY3Rl
dCA9IGZpcnN0X29jdGV0IHwgMHg0MgorICAgICAgICAgICAgaWYgYnl0ZXNfY2h1bmtlZCA9PSBs
ZW4oY29tcHJlc3NlZF9wYXlsb2FkKToKKyAgICAgICAgICAgICAgICBmaXJzdF9vY3RldCA9IGZp
cnN0X29jdGV0IHwgMHg4MAorCisgICAgICAgICAgICBkYXRhICs9IGInJWMlYycgJSAoZmlyc3Rf
b2N0ZXQsIGNodW5rX3NpemUgfCAweDgwKQorICAgICAgICAgICAgZGF0YSArPSBfbWFza19oeWJp
KGNodW5rKQorCisgICAgICAgICAgICBmcmFtZV9jb3VudCArPSAxCisKKyAgICAgICAgcHJpbnQo
IkNodW5rIHNpemVzOiAlciIgJSBjaHVua19zaXplcykKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVl
KGxlbihjaHVua19zaXplcykgPiAxMCkKKworICAgICAgICAjIENsb3NlIGZyYW1lCisgICAgICAg
IGRhdGEgKz0gYidceDg4XHg4YScgKyBfbWFza19oeWJpKHN0cnVjdC5wYWNrKCchSCcsIDEwMDAp
ICsgYidHb29kIGJ5ZScpCisKKyAgICAgICAgZXh0ZW5zaW9uID0gY29tbW9uLkV4dGVuc2lvblBh
cmFtZXRlcigKKyAgICAgICAgICAgIGNvbW1vbi5QRVJNRVNTQUdFX0RFRkxBVEVfRVhURU5TSU9O
KQorICAgICAgICByZXF1ZXN0ID0gX2NyZWF0ZV9yZXF1ZXN0X2Zyb21fcmF3ZGF0YSgKKyAgICAg
ICAgICAgIGRhdGEsIHBlcm1lc3NhZ2VfZGVmbGF0ZV9yZXF1ZXN0PWV4dGVuc2lvbikKKyAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChwYXlsb2FkLCBtc2d1dGlsLnJlY2VpdmVfbWVzc2FnZShyZXF1
ZXN0KSkKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKE5vbmUsIG1zZ3V0aWwucmVjZWl2ZV9t
ZXNzYWdlKHJlcXVlc3QpKQorCisgICAgZGVmIHRlc3RfcmVjZWl2ZV90d29fbWVzc2FnZXMoc2Vs
Zik6CisgICAgICAgIGNvbXByZXNzID0gemxpYi5jb21wcmVzc29iaih6bGliLlpfREVGQVVMVF9D
T01QUkVTU0lPTiwgemxpYi5ERUZMQVRFRCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC16bGliLk1BWF9XQklUUykKKworICAgICAgICBkYXRhID0gYicnCisKKyAgICAgICAg
Y29tcHJlc3NlZF9oZWxsbyA9IGNvbXByZXNzLmNvbXByZXNzKGInSGVsbG9XZWJTb2NrZXQnKQor
ICAgICAgICBjb21wcmVzc2VkX2hlbGxvICs9IGNvbXByZXNzLmZsdXNoKHpsaWIuWl9TWU5DX0ZM
VVNIKQorICAgICAgICBjb21wcmVzc2VkX2hlbGxvID0gY29tcHJlc3NlZF9oZWxsb1s6LTRdCisg
ICAgICAgIHNwbGl0X3Bvc2l0aW9uID0gbGVuKGNvbXByZXNzZWRfaGVsbG8pIC8vIDIKKyAgICAg
ICAgZGF0YSArPSBiJ1x4NDElYycgJSAoc3BsaXRfcG9zaXRpb24gfCAweDgwKQorICAgICAgICBk
YXRhICs9IF9tYXNrX2h5YmkoY29tcHJlc3NlZF9oZWxsb1s6c3BsaXRfcG9zaXRpb25dKQorCisg
ICAgICAgIGRhdGEgKz0gYidceDgwJWMnICUgKChsZW4oY29tcHJlc3NlZF9oZWxsbykgLSBzcGxp
dF9wb3NpdGlvbikgfCAweDgwKQorICAgICAgICBkYXRhICs9IF9tYXNrX2h5YmkoY29tcHJlc3Nl
ZF9oZWxsb1tzcGxpdF9wb3NpdGlvbjpdKQorCisgICAgICAgIGNvbXByZXNzID0gemxpYi5jb21w
cmVzc29iaih6bGliLlpfREVGQVVMVF9DT01QUkVTU0lPTiwgemxpYi5ERUZMQVRFRCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC16bGliLk1BWF9XQklUUykKKworICAgICAg
ICBjb21wcmVzc2VkX3dvcmxkID0gY29tcHJlc3MuY29tcHJlc3MoYidXb3JsZCcpCisgICAgICAg
IGNvbXByZXNzZWRfd29ybGQgKz0gY29tcHJlc3MuZmx1c2goemxpYi5aX1NZTkNfRkxVU0gpCisg
ICAgICAgIGNvbXByZXNzZWRfd29ybGQgPSBjb21wcmVzc2VkX3dvcmxkWzotNF0KKyAgICAgICAg
ZGF0YSArPSBiJ1x4YzElYycgJSAobGVuKGNvbXByZXNzZWRfd29ybGQpIHwgMHg4MCkKKyAgICAg
ICAgZGF0YSArPSBfbWFza19oeWJpKGNvbXByZXNzZWRfd29ybGQpCisKKyAgICAgICAgIyBDbG9z
ZSBmcmFtZQorICAgICAgICBkYXRhICs9IGInXHg4OFx4OGEnICsgX21hc2tfaHliaShzdHJ1Y3Qu
cGFjaygnIUgnLCAxMDAwKSArIGInR29vZCBieWUnKQorCisgICAgICAgIGV4dGVuc2lvbiA9IGNv
bW1vbi5FeHRlbnNpb25QYXJhbWV0ZXIoCisgICAgICAgICAgICBjb21tb24uUEVSTUVTU0FHRV9E
RUZMQVRFX0VYVEVOU0lPTikKKyAgICAgICAgcmVxdWVzdCA9IF9jcmVhdGVfcmVxdWVzdF9mcm9t
X3Jhd2RhdGEoCisgICAgICAgICAgICBkYXRhLCBwZXJtZXNzYWdlX2RlZmxhdGVfcmVxdWVzdD1l
eHRlbnNpb24pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ0hlbGxvV2ViU29ja2V0JywgbXNn
dXRpbC5yZWNlaXZlX21lc3NhZ2UocmVxdWVzdCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
J1dvcmxkJywgbXNndXRpbC5yZWNlaXZlX21lc3NhZ2UocmVxdWVzdCkpCisKKyAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChOb25lLCBtc2d1dGlsLnJlY2VpdmVfbWVzc2FnZShyZXF1ZXN0KSkKKwor
ICAgIGRlZiB0ZXN0X3JlY2VpdmVfbWVzc2FnZV9taXhlZF9idHlwZShzZWxmKToKKyAgICAgICAg
IiIiVGVzdCB0aGF0IGEgbWVzc2FnZSBjb21wcmVzc2VkIHVzaW5nIGxvdHMgb2YgREVGTEFURSBi
bG9ja3Mgd2l0aAorICAgICAgICB2YXJpb3VzIGZsdXNoIG1vZGUgaXMgY29ycmVjdGx5IHJlY2Vp
dmVkLgorICAgICAgICAiIiIKKworICAgICAgICByYW5kb20uc2VlZChhPTApCisgICAgICAgIHBh
eWxvYWQgPSBiJycuam9pbigKKyAgICAgICAgICAgIFtzdHJ1Y3QucGFjaygnIUInLCByYW5kb20u
cmFuZGludCgwLCAyNTUpKSBmb3IgaSBpbiByYW5nZSgxMDAwKV0pCisKKyAgICAgICAgY29tcHJl
c3MgPSBOb25lCisKKyAgICAgICAgIyBGcmFnbWVudCB0aGUgY29tcHJlc3NlZCBwYXlsb2FkIGlu
dG8gbG90cyBvZiBmcmFtZXMuCisgICAgICAgIGJ5dGVzX2NodW5rZWQgPSAwCisgICAgICAgIGNv
bXByZXNzZWRfcGF5bG9hZCA9IGInJworCisgICAgICAgIGNodW5rX3NpemVzID0gW10KKyAgICAg
ICAgbWV0aG9kcyA9IFtdCisgICAgICAgIHN5bmNfdXNlZCA9IEZhbHNlCisgICAgICAgIGZpbmlz
aF91c2VkID0gRmFsc2UKKworICAgICAgICB3aGlsZSBieXRlc19jaHVua2VkIDwgbGVuKHBheWxv
YWQpOgorICAgICAgICAgICAgIyBNYWtlIHN1cmUgYXQgbGVhc3QgMTAgY2h1bmtzIGFyZSBjcmVh
dGVkLgorICAgICAgICAgICAgY2h1bmtfc2l6ZSA9IHJhbmRvbS5yYW5kaW50KDEsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluKDEwMCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuKHBheWxvYWQpIC0gYnl0ZXNfY2h1bmtl
ZCkpCisgICAgICAgICAgICBjaHVua19zaXplcy5hcHBlbmQoY2h1bmtfc2l6ZSkKKyAgICAgICAg
ICAgIGNodW5rID0gcGF5bG9hZFtieXRlc19jaHVua2VkOmJ5dGVzX2NodW5rZWQgKyBjaHVua19z
aXplXQorCisgICAgICAgICAgICBieXRlc19jaHVua2VkICs9IGNodW5rX3NpemUKKworICAgICAg
ICAgICAgaWYgY29tcHJlc3MgaXMgTm9uZToKKyAgICAgICAgICAgICAgICBjb21wcmVzcyA9IHps
aWIuY29tcHJlc3NvYmooemxpYi5aX0RFRkFVTFRfQ09NUFJFU1NJT04sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHpsaWIuREVGTEFURUQsIC16bGliLk1BWF9X
QklUUykKKworICAgICAgICAgICAgaWYgYnl0ZXNfY2h1bmtlZCA9PSBsZW4ocGF5bG9hZCk6Cisg
ICAgICAgICAgICAgICAgY29tcHJlc3NlZF9wYXlsb2FkICs9IGNvbXByZXNzLmNvbXByZXNzKGNo
dW5rKQorICAgICAgICAgICAgICAgIGNvbXByZXNzZWRfcGF5bG9hZCArPSBjb21wcmVzcy5mbHVz
aCh6bGliLlpfU1lOQ19GTFVTSCkKKyAgICAgICAgICAgICAgICBjb21wcmVzc2VkX3BheWxvYWQg
PSBjb21wcmVzc2VkX3BheWxvYWRbOi00XQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAg
ICAgICBtZXRob2QgPSByYW5kb20ucmFuZGludCgwLCAxKQorICAgICAgICAgICAgICAgIG1ldGhv
ZHMuYXBwZW5kKG1ldGhvZCkKKyAgICAgICAgICAgICAgICBpZiBtZXRob2QgPT0gMDoKKyAgICAg
ICAgICAgICAgICAgICAgY29tcHJlc3NlZF9wYXlsb2FkICs9IGNvbXByZXNzLmNvbXByZXNzKGNo
dW5rKQorICAgICAgICAgICAgICAgICAgICBjb21wcmVzc2VkX3BheWxvYWQgKz0gY29tcHJlc3Mu
Zmx1c2goemxpYi5aX1NZTkNfRkxVU0gpCisgICAgICAgICAgICAgICAgICAgIHN5bmNfdXNlZCA9
IFRydWUKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBjb21wcmVz
c2VkX3BheWxvYWQgKz0gY29tcHJlc3MuY29tcHJlc3MoY2h1bmspCisgICAgICAgICAgICAgICAg
ICAgIGNvbXByZXNzZWRfcGF5bG9hZCArPSBjb21wcmVzcy5mbHVzaCh6bGliLlpfRklOSVNIKQor
ICAgICAgICAgICAgICAgICAgICBjb21wcmVzcyA9IE5vbmUKKyAgICAgICAgICAgICAgICAgICAg
ZmluaXNoX3VzZWQgPSBUcnVlCisKKyAgICAgICAgcHJpbnQoIkNodW5rIHNpemVzOiAlciIgJSBj
aHVua19zaXplcykKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGxlbihjaHVua19zaXplcykgPiAx
MCkKKyAgICAgICAgcHJpbnQoIk1ldGhvZHM6ICVyIiAlIG1ldGhvZHMpCisgICAgICAgIHNlbGYu
YXNzZXJ0VHJ1ZShzeW5jX3VzZWQpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShmaW5pc2hfdXNl
ZCkKKworICAgICAgICBzZWxmLmFzc2VydFRydWUoMTI1IDwgbGVuKGNvbXByZXNzZWRfcGF5bG9h
ZCkpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShsZW4oY29tcHJlc3NlZF9wYXlsb2FkKSA8IDY1
NTM2KQorICAgICAgICBkYXRhID0gYidceGMyXHhmZScgKyBzdHJ1Y3QucGFjaygnIUgnLCBsZW4o
Y29tcHJlc3NlZF9wYXlsb2FkKSkKKyAgICAgICAgZGF0YSArPSBfbWFza19oeWJpKGNvbXByZXNz
ZWRfcGF5bG9hZCkKKworICAgICAgICAjIENsb3NlIGZyYW1lCisgICAgICAgIGRhdGEgKz0gYidc
eDg4XHg4YScgKyBfbWFza19oeWJpKHN0cnVjdC5wYWNrKCchSCcsIDEwMDApICsgYidHb29kIGJ5
ZScpCisKKyAgICAgICAgZXh0ZW5zaW9uID0gY29tbW9uLkV4dGVuc2lvblBhcmFtZXRlcigKKyAg
ICAgICAgICAgIGNvbW1vbi5QRVJNRVNTQUdFX0RFRkxBVEVfRVhURU5TSU9OKQorICAgICAgICBy
ZXF1ZXN0ID0gX2NyZWF0ZV9yZXF1ZXN0X2Zyb21fcmF3ZGF0YSgKKyAgICAgICAgICAgIGRhdGEs
IHBlcm1lc3NhZ2VfZGVmbGF0ZV9yZXF1ZXN0PWV4dGVuc2lvbikKKyAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChwYXlsb2FkLCBtc2d1dGlsLnJlY2VpdmVfbWVzc2FnZShyZXF1ZXN0KSkKKworICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKE5vbmUsIG1zZ3V0aWwucmVjZWl2ZV9tZXNzYWdlKHJlcXVl
c3QpKQorCisKK2NsYXNzIE1lc3NhZ2VSZWNlaXZlclRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgor
ICAgICIiIlRlc3RzIHRoZSBTdHJlYW0gY2xhc3MgdXNpbmcgTWVzc2FnZVJlY2VpdmVyLiIiIgor
ICAgIGRlZiB0ZXN0X3F1ZXVlKHNlbGYpOgorICAgICAgICByZXF1ZXN0ID0gX2NyZWF0ZV9ibG9j
a2luZ19yZXF1ZXN0KCkKKyAgICAgICAgcmVjZWl2ZXIgPSBtc2d1dGlsLk1lc3NhZ2VSZWNlaXZl
cihyZXF1ZXN0KQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoTm9uZSwgcmVjZWl2ZXIucmVj
ZWl2ZV9ub3dhaXQoKSkKKworICAgICAgICByZXF1ZXN0LmNvbm5lY3Rpb24ucHV0X2J5dGVzKGIn
XHg4MVx4ODYnICsgX21hc2tfaHliaShiJ0hlbGxvIScpKQorICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKCdIZWxsbyEnLCByZWNlaXZlci5yZWNlaXZlKCkpCisKKyAgICBkZWYgdGVzdF9vbm1lc3Nh
Z2Uoc2VsZik6CisgICAgICAgIG9ubWVzc2FnZV9xdWV1ZSA9IHNpeC5tb3Zlcy5xdWV1ZS5RdWV1
ZSgpCisKKyAgICAgICAgZGVmIG9ubWVzc2FnZV9oYW5kbGVyKG1lc3NhZ2UpOgorICAgICAgICAg
ICAgb25tZXNzYWdlX3F1ZXVlLnB1dChtZXNzYWdlKQorCisgICAgICAgIHJlcXVlc3QgPSBfY3Jl
YXRlX2Jsb2NraW5nX3JlcXVlc3QoKQorICAgICAgICByZWNlaXZlciA9IG1zZ3V0aWwuTWVzc2Fn
ZVJlY2VpdmVyKHJlcXVlc3QsIG9ubWVzc2FnZV9oYW5kbGVyKQorCisgICAgICAgIHJlcXVlc3Qu
Y29ubmVjdGlvbi5wdXRfYnl0ZXMoYidceDgxXHg4NicgKyBfbWFza19oeWJpKGInSGVsbG8hJykp
CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ0hlbGxvIScsIG9ubWVzc2FnZV9xdWV1ZS5nZXQo
KSkKKworCitjbGFzcyBNZXNzYWdlU2VuZGVyVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAg
IiIiVGVzdHMgdGhlIFN0cmVhbSBjbGFzcyB1c2luZyBNZXNzYWdlU2VuZGVyLiIiIgorICAgIGRl
ZiB0ZXN0X3NlbmQoc2VsZik6CisgICAgICAgIHJlcXVlc3QgPSBfY3JlYXRlX2Jsb2NraW5nX3Jl
cXVlc3QoKQorICAgICAgICBzZW5kZXIgPSBtc2d1dGlsLk1lc3NhZ2VTZW5kZXIocmVxdWVzdCkK
KworICAgICAgICBzZW5kZXIuc2VuZCgnV29ybGQnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KGInXHg4MVx4MDVXb3JsZCcsIHJlcXVlc3QuY29ubmVjdGlvbi53cml0dGVuX2RhdGEoKSkKKwor
ICAgIGRlZiB0ZXN0X3NlbmRfbm93YWl0KHNlbGYpOgorICAgICAgICAjIFVzZSBhIHF1ZXVlIHRv
IGNoZWNrIHRoZSBieXRlcyB3cml0dGVuIGJ5IE1lc3NhZ2VTZW5kZXIuCisgICAgICAgICMgcmVx
dWVzdC5jb25uZWN0aW9uLndyaXR0ZW5fZGF0YSgpIGNhbm5vdCBiZSB1c2VkIGhlcmUgYmVjYXVz
ZQorICAgICAgICAjIE1lc3NhZ2VTZW5kZXIgcnVucyBpbiBhIHNlcGFyYXRlIHRocmVhZC4KKyAg
ICAgICAgc2VuZF9xdWV1ZSA9IHNpeC5tb3Zlcy5xdWV1ZS5RdWV1ZSgpCisKKyAgICAgICAgZGVm
IHdyaXRlKGJ5dGVzKToKKyAgICAgICAgICAgIHNlbmRfcXVldWUucHV0KGJ5dGVzKQorCisgICAg
ICAgIHJlcXVlc3QgPSBfY3JlYXRlX2Jsb2NraW5nX3JlcXVlc3QoKQorICAgICAgICByZXF1ZXN0
LmNvbm5lY3Rpb24ud3JpdGUgPSB3cml0ZQorCisgICAgICAgIHNlbmRlciA9IG1zZ3V0aWwuTWVz
c2FnZVNlbmRlcihyZXF1ZXN0KQorCisgICAgICAgIHNlbmRlci5zZW5kX25vd2FpdCgnSGVsbG8n
KQorICAgICAgICBzZW5kZXIuc2VuZF9ub3dhaXQoJ1dvcmxkJykKKyAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChiJ1x4ODFceDA1SGVsbG8nLCBzZW5kX3F1ZXVlLmdldCgpKQorICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKGInXHg4MVx4MDVXb3JsZCcsIHNlbmRfcXVldWUuZ2V0KCkpCisKKworaWYg
X19uYW1lX18gPT0gJ19fbWFpbl9fJzoKKyAgICB1bml0dGVzdC5tYWluKCkKKworIyB2aTpzdHM9
NCBzdz00IGV0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My90ZXN0L3Rlc3Rfc3RyZWFt
LnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90
aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvdGVzdC90ZXN0X3N0cmVhbS5weQpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
NTM4OTlkMjA1MzNlYjRjZjBhOTgxNmM4YjNiMmJjOGM1MDU0OGJmCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGly
ZF9wYXJ0eS9weXdlYnNvY2tldDMvdGVzdC90ZXN0X3N0cmVhbS5weQpAQCAtMCwwICsxLDcwIEBA
CisjIS91c3IvYmluL2VudiBweXRob24KKyMKKyMgQ29weXJpZ2h0IDIwMTEsIEdvb2dsZSBJbmMu
CisjIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CisjIG1ldDoKKyMKKyMgICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisjIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIKKyMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZQorIyBkaXN0cmlidXRpb24uCisjICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
R29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyMgdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMg
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUworIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyMgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyMg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCisjIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisjIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQor
IyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorIiIiVGVzdHMgZm9y
IHN0cmVhbSBtb2R1bGUuIiIiCisKK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1w
b3J0CitpbXBvcnQgdW5pdHRlc3QKKworaW1wb3J0IHNldF9zeXNfcGF0aCAgIyBVcGRhdGUgc3lz
LnBhdGggdG8gbG9jYXRlIG1vZF9weXdlYnNvY2tldCBtb2R1bGUuCisKK2Zyb20gbW9kX3B5d2Vi
c29ja2V0IGltcG9ydCBjb21tb24KK2Zyb20gbW9kX3B5d2Vic29ja2V0IGltcG9ydCBzdHJlYW0K
KworCitjbGFzcyBTdHJlYW1UZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICAiIiJBIHVuaXR0
ZXN0IGZvciBzdHJlYW0gbW9kdWxlLiIiIgorICAgIGRlZiB0ZXN0X2NyZWF0ZV9oZWFkZXIoc2Vs
Zik6CisgICAgICAgICMgbW9yZSwgcnN2MSwgLi4uLCByc3Y0IGFyZSBhbGwgdHJ1ZQorICAgICAg
ICBoZWFkZXIgPSBzdHJlYW0uY3JlYXRlX2hlYWRlcihjb21tb24uT1BDT0RFX1RFWFQsIDEsIDEs
IDEsIDEsIDEsIDEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYidceGYxXHg4MScsIGhlYWRl
cikKKworICAgICAgICAjIE1heGltdW0gcGF5bG9hZCBzaXplCisgICAgICAgIGhlYWRlciA9IHN0
cmVhbS5jcmVhdGVfaGVhZGVyKGNvbW1vbi5PUENPREVfVEVYVCwgKDEgPDwgNjMpIC0gMSwgMCwg
MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgMCwgMCkKKyAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChiJ1x4MDFceDdmXHg3Zlx4ZmZceGZmXHhmZlx4ZmZceGZmXHhm
Zlx4ZmYnLCBoZWFkZXIpCisKKyAgICAgICAgIyBJbnZhbGlkIG9wY29kZSAweDEwCisgICAgICAg
IHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIHN0cmVhbS5jcmVhdGVfaGVhZGVyLCAweDEw
LCAwLCAwLCAwLCAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAwKQorCisgICAgICAg
ICMgSW52YWxpZCB2YWx1ZSAweGYgcGFzc2VkIHRvIG1vcmUgcGFyYW1ldGVyCisgICAgICAgIHNl
bGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIHN0cmVhbS5jcmVhdGVfaGVhZGVyLCBjb21tb24u
T1BDT0RFX1RFWFQsCisgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIDB4ZiwgMCwgMCwgMCwg
MCkKKworICAgICAgICAjIFRvbyBsb25nIHBheWxvYWRfbGVuZ3RoCisgICAgICAgIHNlbGYuYXNz
ZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIHN0cmVhbS5jcmVhdGVfaGVhZGVyLCBjb21tb24uT1BDT0RF
X1RFWFQsCisgICAgICAgICAgICAgICAgICAgICAgICAgIDEgPDwgNjMsIDAsIDAsIDAsIDAsIDAp
CisKKworaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKKyAgICB1bml0dGVzdC5tYWluKCkKKwor
IyB2aTpzdHM9NCBzdz00IGV0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My90ZXN0L3Rl
c3RfdXRpbC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL3Rlc3QvdGVzdF91dGlsLnB5Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIwMzQ3OTQxMDUxNDU1ZWJlZTU4ODIzYjRiMGJlOTM3NjI5MTJiMGEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My90ZXN0L3Rlc3RfdXRpbC5weQpAQCAtMCwwICsxLDE5
NCBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCisjCisjIENvcHlyaWdodCAyMDExLCBHb29nbGUg
SW5jLgorIyBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZQorIyBtZXQ6CisjCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorIyBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyCisjIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUKKyMgZGlzdHJpYnV0aW9uLgorIyAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisjIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisjIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisj
CisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKKyMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisjIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
CisjIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLAorIyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorIyBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkKKyMgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyIiIlRlc3Rz
IGZvciB1dGlsIG1vZHVsZS4iIiIKKworZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9p
bXBvcnQKK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgcHJpbnRfZnVuY3Rpb24KK2ltcG9ydCBvcwor
aW1wb3J0IHJhbmRvbQoraW1wb3J0IHN5cworaW1wb3J0IHVuaXR0ZXN0CitpbXBvcnQgc3RydWN0
CisKK2ltcG9ydCBzZXRfc3lzX3BhdGggICMgVXBkYXRlIHN5cy5wYXRoIHRvIGxvY2F0ZSBtb2Rf
cHl3ZWJzb2NrZXQgbW9kdWxlLgorCitmcm9tIG1vZF9weXdlYnNvY2tldCBpbXBvcnQgdXRpbAor
ZnJvbSBzaXgubW92ZXMgaW1wb3J0IHJhbmdlCitmcm9tIHNpeCBpbXBvcnQgUFkzCitmcm9tIHNp
eCBpbXBvcnQgaW50MmJ5dGUKKworX1RFU1RfREFUQV9ESVIgPSBvcy5wYXRoLmpvaW4ob3MucGF0
aC5zcGxpdChfX2ZpbGVfXylbMF0sICd0ZXN0ZGF0YScpCisKKworY2xhc3MgVXRpbFRlc3QodW5p
dHRlc3QuVGVzdENhc2UpOgorICAgICIiIkEgdW5pdHRlc3QgZm9yIHV0aWwgbW9kdWxlLiIiIgor
ICAgIGRlZiB0ZXN0X3ByZXBlbmRfbWVzc2FnZV90b19leGNlcHRpb24oc2VsZik6CisgICAgICAg
IGV4YyA9IEV4Y2VwdGlvbignV29ybGQnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdXb3Js
ZCcsIHN0cihleGMpKQorICAgICAgICB1dGlsLnByZXBlbmRfbWVzc2FnZV90b19leGNlcHRpb24o
J0hlbGxvICcsIGV4YykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnSGVsbG8gV29ybGQnLCBz
dHIoZXhjKSkKKworICAgIGRlZiB0ZXN0X2dldF9zY3JpcHRfaW50ZXJwKHNlbGYpOgorICAgICAg
ICBjeWd3aW5fcGF0aCA9ICdjOlxcY3lnd2luXFxiaW4nCisgICAgICAgIGN5Z3dpbl9wZXJsID0g
b3MucGF0aC5qb2luKGN5Z3dpbl9wYXRoLCAncGVybCcpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWwoCisgICAgICAgICAgICBOb25lLCB1dGlsLmdldF9zY3JpcHRfaW50ZXJwKG9zLnBhdGguam9p
bihfVEVTVF9EQVRBX0RJUiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICdSRUFETUUnKSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisg
ICAgICAgICAgICBOb25lLAorICAgICAgICAgICAgdXRpbC5nZXRfc2NyaXB0X2ludGVycChvcy5w
YXRoLmpvaW4oX1RFU1RfREFUQV9ESVIsICdSRUFETUUnKSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY3lnd2luX3BhdGgpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAor
ICAgICAgICAgICAgJy91c3IvYmluL3BlcmwgLXdUJywKKyAgICAgICAgICAgIHV0aWwuZ2V0X3Nj
cmlwdF9pbnRlcnAob3MucGF0aC5qb2luKF9URVNUX0RBVEFfRElSLCAnaGVsbG8ucGwnKSkpCisg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBjeWd3aW5fcGVybCArICcgLXdU
JywKKyAgICAgICAgICAgIHV0aWwuZ2V0X3NjcmlwdF9pbnRlcnAob3MucGF0aC5qb2luKF9URVNU
X0RBVEFfRElSLCAnaGVsbG8ucGwnKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY3lnd2luX3BhdGgpKQorCisgICAgZGVmIHRlc3RfaGV4aWZ5KHNlbGYpOgorICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKCc2MSA3YSA0MSA1YSAzMCAzOSAyMCAwOSAwZCAwYSAwMCBmZicsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgdXRpbC5oZXhpZnkoYidhekFaMDkgXHRcclxuXHgwMFx4
ZmYnKSkKKworCitjbGFzcyBSZXBlYXRlZFhvck1hc2tlclRlc3QodW5pdHRlc3QuVGVzdENhc2Up
OgorICAgICIiIkEgdW5pdHRlc3QgZm9yIFJlcGVhdGVkWG9yTWFza2VyIGNsYXNzLiIiIgorICAg
IGRlZiB0ZXN0X21hc2soc2VsZik6CisgICAgICAgICMgU2FtcGxlIGlucHV0IGU2LDk3LGE1IGlz
IFUrNjVlNSBpbiBVVEYtOAorICAgICAgICBtYXNrZXIgPSB1dGlsLlJlcGVhdGVkWG9yTWFza2Vy
KGInXHhmZlx4ZmZceGZmXHhmZicpCisgICAgICAgIHJlc3VsdCA9IG1hc2tlci5tYXNrKGInXHhl
Nlx4OTdceGE1JykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiJ1x4MTlceDY4XHg1YScsIHJl
c3VsdCkKKworICAgICAgICBtYXNrZXIgPSB1dGlsLlJlcGVhdGVkWG9yTWFza2VyKGInXHgwMFx4
MDBceDAwXHgwMCcpCisgICAgICAgIHJlc3VsdCA9IG1hc2tlci5tYXNrKGInXHhlNlx4OTdceGE1
JykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiJ1x4ZTZceDk3XHhhNScsIHJlc3VsdCkKKwor
ICAgICAgICBtYXNrZXIgPSB1dGlsLlJlcGVhdGVkWG9yTWFza2VyKGInXHhlNlx4OTdceGE1XHgy
MCcpCisgICAgICAgIHJlc3VsdCA9IG1hc2tlci5tYXNrKGInXHhlNlx4OTdceGE1JykKKyAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChiJ1x4MDBceDAwXHgwMCcsIHJlc3VsdCkKKworICAgIGRlZiB0
ZXN0X21hc2tfdHdpY2Uoc2VsZik6CisgICAgICAgIG1hc2tlciA9IHV0aWwuUmVwZWF0ZWRYb3JN
YXNrZXIoYidceDAwXHg3Zlx4ZmZceDIwJykKKyAgICAgICAgIyBtYXNrWzBdLCBtYXNrWzFdLCAu
Li4gd2lsbCBiZSB1c2VkLgorICAgICAgICByZXN1bHQgPSBtYXNrZXIubWFzayhiJ1x4MDBceDAw
XHgwMFx4MDBceDAwJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiJ1x4MDBceDdmXHhmZlx4
MjBceDAwJywgcmVzdWx0KQorICAgICAgICAjIG1hc2tbMl0sIG1hc2tbMF0sIC4uLiB3aWxsIGJl
IHVzZWQgZm9yIHRoZSBuZXh0IGNhbGwuCisgICAgICAgIHJlc3VsdCA9IG1hc2tlci5tYXNrKGIn
XHgwMFx4MDBceDAwXHgwMFx4MDAnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGInXHg3Zlx4
ZmZceDIwXHgwMFx4N2YnLCByZXN1bHQpCisKKyAgICBkZWYgdGVzdF9tYXNrX2xhcmdlX2RhdGEo
c2VsZik6CisgICAgICAgIG1hc2tlciA9IHV0aWwuUmVwZWF0ZWRYb3JNYXNrZXIoYidtQVNrJykK
KyAgICAgICAgb3JpZ2luYWwgPSBiJycuam9pbihbdXRpbC5wYWNrX2J5dGUoaSAlIDI1NikgZm9y
IGkgaW4gcmFuZ2UoMTAwMCldKQorICAgICAgICByZXN1bHQgPSBtYXNrZXIubWFzayhvcmlnaW5h
bCkKKyAgICAgICAgZXhwZWN0ZWQgPSBiJycuam9pbihbCisgICAgICAgICAgICB1dGlsLnBhY2tf
Ynl0ZSgoaSAlIDI1NikgXiBvcmQoJ21BU2snW2kgJSA0XSkpIGZvciBpIGluIHJhbmdlKDEwMDAp
CisgICAgICAgIF0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0ZWQsIHJlc3VsdCkK
KworICAgICAgICBtYXNrZXIgPSB1dGlsLlJlcGVhdGVkWG9yTWFza2VyKGInTWFTaycpCisgICAg
ICAgIGZpcnN0X3BhcnQgPSBiJ1RoZSBXZWJTb2NrZXQgUHJvdG9jb2wgZW5hYmxlcyB0d28td2F5
IGNvbW11bmljYXRpb24uJworICAgICAgICByZXN1bHQgPSBtYXNrZXIubWFzayhmaXJzdF9wYXJ0
KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgYidceDE5XHQ2S1x4MWFc
eDA0MTgiXHgwMjhceDBlOUFceDAzXHgxOSJceDE1PFx4MDgiXHJzXHgwZSMnCisgICAgICAgICAg
ICBiJ1x4MDAxXHgwNyhceDEyc1x4MWY6XHgwZX5ceDFjLFx4MThzXHgwOCJceDBjPlx4MWUjXHgw
ODBcbjknCisgICAgICAgICAgICBiJ1x4MDg8XHgwNWMnLCByZXN1bHQpCisgICAgICAgIHNlY29u
ZF9wYXJ0ID0gYidJdCBoYXMgdHdvIHBhcnRzOiBhIGhhbmRzaGFrZSBhbmQgdGhlIGRhdGEgdHJh
bnNmZXIuJworICAgICAgICByZXN1bHQgPSBtYXNrZXIubWFzayhzZWNvbmRfcGFydCkKKyAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIGIiKCdLJVx4MDAgSzlceDE2PEs9XHgw
MCFceDFmPltzXG5tXHQyXHgwNSlceDEyO1xuJlx4MDRzXG4jIgorICAgICAgICAgICAgYiJceDA1
c1x4MWYlXHgwNHNceDBmLFx4MTUySzlceDEzMlx4MDU+XHgwNzZceDE5YyIsIHJlc3VsdCkKKwor
CitkZWYgZ2V0X3JhbmRvbV9zZWN0aW9uKHNvdXJjZSwgbWluX251bV9jaHVua3MpOgorICAgIGNo
dW5rcyA9IFtdCisgICAgYnl0ZXNfY2h1bmtlZCA9IDAKKworICAgIHdoaWxlIGJ5dGVzX2NodW5r
ZWQgPCBsZW4oc291cmNlKToKKyAgICAgICAgY2h1bmtfc2l6ZSA9IHJhbmRvbS5yYW5kaW50KAor
ICAgICAgICAgICAgMSwgbWluKGxlbihzb3VyY2UpIC8gbWluX251bV9jaHVua3MsCisgICAgICAg
ICAgICAgICAgICAgbGVuKHNvdXJjZSkgLSBieXRlc19jaHVua2VkKSkKKyAgICAgICAgY2h1bmsg
PSBzb3VyY2VbYnl0ZXNfY2h1bmtlZDpieXRlc19jaHVua2VkICsgY2h1bmtfc2l6ZV0KKyAgICAg
ICAgY2h1bmtzLmFwcGVuZChjaHVuaykKKyAgICAgICAgYnl0ZXNfY2h1bmtlZCArPSBjaHVua19z
aXplCisKKyAgICByZXR1cm4gY2h1bmtzCisKKworY2xhc3MgSW5mbGF0ZXJEZWZsYXRlclRlc3Qo
dW5pdHRlc3QuVGVzdENhc2UpOgorICAgICIiIkEgdW5pdHRlc3QgZm9yIF9JbmZsYXRlciBhbmQg
X0RlZmxhdGVyIGNsYXNzLiIiIgorICAgIGRlZiB0ZXN0X2luZmxhdGVfZGVmbGF0ZV9kZWZhdWx0
KHNlbGYpOgorICAgICAgICBpbnB1dCA9IGInaGVsbG8nICsgYictJyAqIDMwMDAwICsgYidoZWxs
bycKKyAgICAgICAgaW5mbGF0ZXIxNSA9IHV0aWwuX0luZmxhdGVyKDE1KQorICAgICAgICBkZWZs
YXRlcjE1ID0gdXRpbC5fRGVmbGF0ZXIoMTUpCisgICAgICAgIGluZmxhdGVyOCA9IHV0aWwuX0lu
ZmxhdGVyKDgpCisgICAgICAgIGRlZmxhdGVyOCA9IHV0aWwuX0RlZmxhdGVyKDgpCisKKyAgICAg
ICAgY29tcHJlc3NlZDE1ID0gZGVmbGF0ZXIxNS5jb21wcmVzc19hbmRfZmluaXNoKGlucHV0KQor
ICAgICAgICBjb21wcmVzc2VkOCA9IGRlZmxhdGVyOC5jb21wcmVzc19hbmRfZmluaXNoKGlucHV0
KQorCisgICAgICAgIGluZmxhdGVyMTUuYXBwZW5kKGNvbXByZXNzZWQxNSkKKyAgICAgICAgaW5m
bGF0ZXI4LmFwcGVuZChjb21wcmVzc2VkOCkKKworICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFs
KGNvbXByZXNzZWQxNSwgY29tcHJlc3NlZDgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaW5w
dXQsIGluZmxhdGVyMTUuZGVjb21wcmVzcygtMSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
aW5wdXQsIGluZmxhdGVyOC5kZWNvbXByZXNzKC0xKSkKKworICAgIGRlZiB0ZXN0X3JhbmRvbV9z
ZWN0aW9uKHNlbGYpOgorICAgICAgICByYW5kb20uc2VlZChhPTApCisgICAgICAgIHNvdXJjZSA9
IGInJy5qb2luKAorICAgICAgICAgICAgW2ludDJieXRlKHJhbmRvbS5yYW5kaW50KDAsIDI1NSkp
IGZvciBpIGluIHJhbmdlKDEwMCAqIDEwMjQpXSkKKworICAgICAgICBjaHVua2VkX2lucHV0ID0g
Z2V0X3JhbmRvbV9zZWN0aW9uKHNvdXJjZSwgMTApCisgICAgICAgIHByaW50KCJJbnB1dCBjaHVu
ayBzaXplczogJXIiICUgW2xlbihjKSBmb3IgYyBpbiBjaHVua2VkX2lucHV0XSkKKworICAgICAg
ICBkZWZsYXRlciA9IHV0aWwuX0RlZmxhdGVyKDE1KQorICAgICAgICBjb21wcmVzc2VkID0gW10K
KyAgICAgICAgZm9yIGNodW5rIGluIGNodW5rZWRfaW5wdXQ6CisgICAgICAgICAgICBjb21wcmVz
c2VkLmFwcGVuZChkZWZsYXRlci5jb21wcmVzcyhjaHVuaykpCisgICAgICAgIGNvbXByZXNzZWQu
YXBwZW5kKGRlZmxhdGVyLmNvbXByZXNzX2FuZF9maW5pc2goYicnKSkKKworICAgICAgICBjaHVu
a2VkX2V4cGVjdGF0aW9uID0gZ2V0X3JhbmRvbV9zZWN0aW9uKHNvdXJjZSwgMTApCisgICAgICAg
IHByaW50KCJFeHBlY3RhdGlvbiBjaHVuayBzaXplczogJXIiICUKKyAgICAgICAgICAgICAgW2xl
bihjKSBmb3IgYyBpbiBjaHVua2VkX2V4cGVjdGF0aW9uXSkKKworICAgICAgICBpbmZsYXRlciA9
IHV0aWwuX0luZmxhdGVyKDE1KQorICAgICAgICBpbmZsYXRlci5hcHBlbmQoYicnLmpvaW4oY29t
cHJlc3NlZCkpCisgICAgICAgIGZvciBjaHVuayBpbiBjaHVua2VkX2V4cGVjdGF0aW9uOgorICAg
ICAgICAgICAgZGVjb21wcmVzc2VkID0gaW5mbGF0ZXIuZGVjb21wcmVzcyhsZW4oY2h1bmspKQor
ICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjaHVuaywgZGVjb21wcmVzc2VkKQorCisgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoYicnLCBpbmZsYXRlci5kZWNvbXByZXNzKC0xKSkKKworCitp
ZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorICAgIHVuaXR0ZXN0Lm1haW4oKQorCisjIHZpOnN0
cz00IHN3PTQgZXQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL3Rlc3QvdGVzdGRhdGEv
UkVBRE1FIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvdGVzdC90ZXN0ZGF0YS9SRUFETUUKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYzAwMWFhNTU5NWNkZDEzNDA3ZjU3MjhlY2Q1MzJhNWQxMjI2M2VmYQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
dGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL3Rlc3QvdGVzdGRhdGEvUkVBRE1FCkBAIC0wLDAgKzEg
QEAKK1Rlc3QgZGF0YSBkaXJlY3RvcnkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL3Rl
c3QvdGVzdGRhdGEvaGFuZGxlcnMvYWJvcnRfYnlfdXNlcl93c2gucHkgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29j
a2V0My90ZXN0L3Rlc3RkYXRhL2hhbmRsZXJzL2Fib3J0X2J5X3VzZXJfd3NoLnB5Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjYzY2I1NDFiYjdlYzQwNDQ3NDU3OThhYjk3YWU3Y2NiYTU3ZTA0ZjcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My90ZXN0L3Rlc3RkYXRhL2hhbmRsZXJzL2Fib3J0X2J5
X3VzZXJfd3NoLnB5CkBAIC0wLDAgKzEsNDEgQEAKKyMgQ29weXJpZ2h0IDIwMTEsIEdvb2dsZSBJ
bmMuCisjIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlCisjIG1ldDoKKyMKKyMgICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisjIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIKKyMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZQorIyBkaXN0cmlidXRpb24uCisjICAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyMgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyMgdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMK
KyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUworIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyMgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQK
KyMgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsCisjIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisjIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WQorIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCitmcm9tIG1v
ZF9weXdlYnNvY2tldCBpbXBvcnQgaGFuZHNoYWtlCisKKworZGVmIHdlYl9zb2NrZXRfZG9fZXh0
cmFfaGFuZHNoYWtlKHJlcXVlc3QpOgorICAgIHJhaXNlIGhhbmRzaGFrZS5BYm9ydGVkQnlVc2Vy
RXhjZXB0aW9uKCJhYm9ydCBmb3IgdGVzdCIpCisKKworZGVmIHdlYl9zb2NrZXRfdHJhbnNmZXJf
ZGF0YShyZXF1ZXN0KToKKyAgICByYWlzZSBoYW5kc2hha2UuQWJvcnRlZEJ5VXNlckV4Y2VwdGlv
bigiYWJvcnQgZm9yIHRlc3QiKQorCisKKyMgdmk6c3RzPTQgc3c9NCBldApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9w
YXJ0eS9weXdlYnNvY2tldDMvdGVzdC90ZXN0ZGF0YS9oYW5kbGVycy9ibGFua193c2gucHkgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3Bh
cnR5L3B5d2Vic29ja2V0My90ZXN0L3Rlc3RkYXRhL2hhbmRsZXJzL2JsYW5rX3dzaC5weQpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5iMzk4ZTk2Nzc4ZDhmNzVjOGQ3NDI0YzI3YjQwYzFmYWQ5OTE4ZWZjCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvdGVzdC90ZXN0ZGF0YS9oYW5kbGVycy9ibGFu
a193c2gucHkKQEAgLTAsMCArMSwzMCBAQAorIyBDb3B5cmlnaHQgMjAwOSwgR29vZ2xlIEluYy4K
KyMgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUK
KyMgbWV0OgorIworIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyMgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
cgorIyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlCisjIGRpc3RyaWJ1dGlvbi4KKyMgICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBH
b29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworIyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorIyB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorIworIyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTCisjICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorIyBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorIyBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwKKyMgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyMgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisj
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKyMgaW50ZW50aW9u
YWxseSBsZWZ0IGJsYW5rCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My90ZXN0L3Rlc3Rk
YXRhL2hhbmRsZXJzL29yaWdpbl9jaGVja193c2gucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My90ZXN0
L3Rlc3RkYXRhL2hhbmRsZXJzL29yaWdpbl9jaGVja193c2gucHkKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmY2NDQy
ZTY1Yjk5ZGQ3ZDQ1NWNiMDlhMGFmYzlkNDk1OGRmMDQxYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFy
dHkvcHl3ZWJzb2NrZXQzL3Rlc3QvdGVzdGRhdGEvaGFuZGxlcnMvb3JpZ2luX2NoZWNrX3dzaC5w
eQpAQCAtMCwwICsxLDQzIEBACisjIENvcHlyaWdodCAyMDA5LCBHb29nbGUgSW5jLgorIyBBbGwg
cmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorIyBtZXQ6
CisjCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisjIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorIyBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisjIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUKKyMgZGlzdHJpYnV0aW9uLgorIyAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJ
bmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisjIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisjIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisjCisjIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMKKyMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisjIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisjIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLAorIyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorIyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyMgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCitkZWYgd2ViX3NvY2tldF9k
b19leHRyYV9oYW5kc2hha2UocmVxdWVzdCk6CisgICAgaWYgcmVxdWVzdC53c19vcmlnaW4gPT0g
J2h0dHA6Ly9leGFtcGxlLmNvbSc6CisgICAgICAgIHJldHVybgorICAgIHJhaXNlIFZhbHVlRXJy
b3IoJ1VuYWNjZXB0YWJsZSBvcmlnaW46ICVyJyAlIHJlcXVlc3Qud3Nfb3JpZ2luKQorCisKK2Rl
ZiB3ZWJfc29ja2V0X3RyYW5zZmVyX2RhdGEocmVxdWVzdCk6CisgICAgbWVzc2FnZSA9ICdvcmln
aW5fY2hlY2tfd3NoLnB5IGlzIGNhbGxlZCBmb3IgJXMsICVzJyAlICgKKyAgICAgICAgcmVxdWVz
dC53c19yZXNvdXJjZSwgcmVxdWVzdC53c19wcm90b2NvbCkKKyAgICByZXF1ZXN0LmNvbm5lY3Rp
b24ud3JpdGUobWVzc2FnZS5lbmNvZGUoJ1VURi04JykpCisKKworIyB2aTpzdHM9NCBzdz00IGV0
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My90ZXN0L3Rlc3RkYXRhL2hhbmRsZXJzL3N1
Yi9leGNlcHRpb25faW5fdHJhbnNmZXJfd3NoLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvdGVzdC90
ZXN0ZGF0YS9oYW5kbGVycy9zdWIvZXhjZXB0aW9uX2luX3RyYW5zZmVyX3dzaC5weQpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NDM5MDk5NGQ3MTJkZmU4ZjFlNGRmZGQ5NGZmNTZhYmU2NjczZDhlCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvdGVzdC90ZXN0ZGF0YS9oYW5kbGVycy9zdWIvZXhj
ZXB0aW9uX2luX3RyYW5zZmVyX3dzaC5weQpAQCAtMCwwICsxLDQyIEBACisjIENvcHlyaWdodCAy
MDA5LCBHb29nbGUgSW5jLgorIyBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQorIyBtZXQ6CisjCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZQorIyBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCisjIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyMgZGlzdHJpYnV0aW9uLgorIyAgICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisjIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tCisjIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisj
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUCisjIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorIyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAor
IyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyMgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyIiIkV4Y2VwdGlvbiBpbiB3ZWJfc29ja2V0X3RyYW5zZmVyX2RhdGEoKS4KKyIiIgorCisK
K2RlZiB3ZWJfc29ja2V0X2RvX2V4dHJhX2hhbmRzaGFrZShyZXF1ZXN0KToKKyAgICBwYXNzCisK
KworZGVmIHdlYl9zb2NrZXRfdHJhbnNmZXJfZGF0YShyZXF1ZXN0KToKKyAgICByYWlzZSBFeGNl
cHRpb24oJ0ludGVudGlvbmFsIEV4Y2VwdGlvbiBmb3IgJXMsICVzJyAlCisgICAgICAgICAgICAg
ICAgICAgIChyZXF1ZXN0LndzX3Jlc291cmNlLCByZXF1ZXN0LndzX3Byb3RvY29sKSkKKworCisj
IHZpOnN0cz00IHN3PTQgZXQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL3Rlc3QvdGVz
dGRhdGEvaGFuZGxlcnMvc3ViL25vX3dzaF9hdF90aGVfZW5kLnB5IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tl
dDMvdGVzdC90ZXN0ZGF0YS9oYW5kbGVycy9zdWIvbm9fd3NoX2F0X3RoZV9lbmQucHkKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZWJmZGRiNzQ0OTVlZWYxZDFmMzUxZTMzNGFjNDg1MDQ3M2VkMTY0OAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL3Rlc3QvdGVzdGRhdGEvaGFuZGxlcnMvc3ViL25v
X3dzaF9hdF90aGVfZW5kLnB5CkBAIC0wLDAgKzEsNDMgQEAKKyMgQ29weXJpZ2h0IDIwMDksIEdv
b2dsZSBJbmMuCisjIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCisjIG1ldDoKKyMKKyMgICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisjIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIKKyMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZQorIyBkaXN0cmlidXRpb24uCisjICAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20K
KyMgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUworIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyMgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQKKyMgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsCisjIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisjIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWQorIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorIiIi
Q29ycmVjdCBzaWduYXR1cmVzLCB3cm9uZyBmaWxlIG5hbWUuCisiIiIKKworCitkZWYgd2ViX3Nv
Y2tldF9kb19leHRyYV9oYW5kc2hha2UocmVxdWVzdCk6CisgICAgcGFzcworCisKK2RlZiB3ZWJf
c29ja2V0X3RyYW5zZmVyX2RhdGEocmVxdWVzdCk6CisgICAgbWVzc2FnZSA9ICdzdWIvbm9fd3No
X2F0X3RoZV9lbmQucHkgaXMgY2FsbGVkIGZvciAlcywgJXMnICUgKAorICAgICAgICByZXF1ZXN0
LndzX3Jlc291cmNlLCByZXF1ZXN0LndzX3Byb3RvY29sKQorICAgIHJlcXVlc3QuY29ubmVjdGlv
bi53cml0ZShtZXNzYWdlLmVuY29kZSgnVVRGLTgnKSkKKworCisjIHZpOnN0cz00IHN3PTQgZXQK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL3Rlc3QvdGVzdGRhdGEvaGFuZGxlcnMvc3Vi
L25vbl9jYWxsYWJsZV93c2gucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My90ZXN0L3Rlc3RkYXRhL2hh
bmRsZXJzL3N1Yi9ub25fY2FsbGFibGVfd3NoLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhhZmNmYTk3YTk1NGEy
YmU2OTZjMTQ4ZGQxZjU1MzYyOGYxMjFlYTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vi
c29ja2V0My90ZXN0L3Rlc3RkYXRhL2hhbmRsZXJzL3N1Yi9ub25fY2FsbGFibGVfd3NoLnB5CkBA
IC0wLDAgKzEsMzUgQEAKKyMgQ29weXJpZ2h0IDIwMDksIEdvb2dsZSBJbmMuCisjIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisjIG1ldDoKKyMK
KyMgICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyMgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisjIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyMgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQor
IyBkaXN0cmlidXRpb24uCisjICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4g
bm9yIHRoZSBuYW1lcyBvZiBpdHMKKyMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyMgdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMgVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwor
IyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyMgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyMgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
CisjIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisjIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorIyBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorIiIiTm9uLWNhbGxhYmxlIGhhbmRsZXJz
LgorIiIiCisKK3dlYl9zb2NrZXRfZG9fZXh0cmFfaGFuZHNoYWtlID0gVHJ1ZQord2ViX3NvY2tl
dF90cmFuc2Zlcl9kYXRhID0gMQorCisjIHZpOnN0cz00IHN3PTQgZXQKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFy
dHkvcHl3ZWJzb2NrZXQzL3Rlc3QvdGVzdGRhdGEvaGFuZGxlcnMvc3ViL3BsYWluX3dzaC5weSBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRf
cGFydHkvcHl3ZWJzb2NrZXQzL3Rlc3QvdGVzdGRhdGEvaGFuZGxlcnMvc3ViL3BsYWluX3dzaC5w
eQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44YTdkYjFlNWFjMzI2ZGY1MWM2OGUzZWQyNjkwYmUyYTAzYzg3M2NiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvdGVzdC90ZXN0ZGF0YS9oYW5kbGVy
cy9zdWIvcGxhaW5fd3NoLnB5CkBAIC0wLDAgKzEsNDEgQEAKKyMgQ29weXJpZ2h0IDIwMDksIEdv
b2dsZSBJbmMuCisjIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCisjIG1ldDoKKyMKKyMgICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisjIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIKKyMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZQorIyBkaXN0cmlidXRpb24uCisjICAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20K
KyMgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUworIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyMgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQKKyMgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsCisjIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisjIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWQorIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisK
K2RlZiB3ZWJfc29ja2V0X2RvX2V4dHJhX2hhbmRzaGFrZShyZXF1ZXN0KToKKyAgICBwYXNzCisK
KworZGVmIHdlYl9zb2NrZXRfdHJhbnNmZXJfZGF0YShyZXF1ZXN0KToKKyAgICBtZXNzYWdlID0g
J3N1Yi9wbGFpbl93c2gucHkgaXMgY2FsbGVkIGZvciAlcywgJXMnICUgKHJlcXVlc3Qud3NfcmVz
b3VyY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICByZXF1ZXN0LndzX3Byb3RvY29sKQorICAgIHJlcXVlc3QuY29ubmVjdGlvbi53cml0
ZShtZXNzYWdlLmVuY29kZSgnVVRGLTgnKSkKKworCisjIHZpOnN0cz00IHN3PTQgZXQKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
dGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL3Rlc3QvdGVzdGRhdGEvaGFuZGxlcnMvc3ViL3czYy1p
bXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvdGVzdC90ZXN0ZGF0YS9oYW5kbGVycy9zdWIv
dzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTM2NWRiZTMyYWFjOTEyMjkxYTM2M2E4YzgzZWJl
OGUwZmVkNjBlOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL3Rlc3QvdGVz
dGRhdGEvaGFuZGxlcnMvc3ViL3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMjIgQEAKK1RoZSB0
ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0
b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0
ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9n
aXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKKworVGhlbiBydW4gdGhlIFRvb2xzL1Nj
cmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1v
ZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMg
cmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJp
bmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVz
OgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhp
cmRfcGFydHkvcHl3ZWJzb2NrZXQzL3Rlc3QvdGVzdGRhdGEvaGFuZGxlcnMvc3ViL2V4Y2VwdGlv
bl9pbl90cmFuc2Zlcl93c2gucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My90ZXN0L3Rlc3RkYXRhL2hh
bmRsZXJzL3N1Yi9ub193c2hfYXRfdGhlX2VuZC5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL3Rlc3Qv
dGVzdGRhdGEvaGFuZGxlcnMvc3ViL25vbl9jYWxsYWJsZV93c2gucHkKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29j
a2V0My90ZXN0L3Rlc3RkYXRhL2hhbmRsZXJzL3N1Yi9wbGFpbl93c2gucHkKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vi
c29ja2V0My90ZXN0L3Rlc3RkYXRhL2hhbmRsZXJzL3N1Yi93cm9uZ19oYW5kc2hha2Vfc2lnX3dz
aC5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
dGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL3Rlc3QvdGVzdGRhdGEvaGFuZGxlcnMvc3ViL3dyb25n
X3RyYW5zZmVyX3NpZ193c2gucHkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL3Rlc3Qv
dGVzdGRhdGEvaGFuZGxlcnMvc3ViL3dyb25nX2hhbmRzaGFrZV9zaWdfd3NoLnB5IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9w
eXdlYnNvY2tldDMvdGVzdC90ZXN0ZGF0YS9oYW5kbGVycy9zdWIvd3JvbmdfaGFuZHNoYWtlX3Np
Z193c2gucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uY2ViYjBkYTFhYjZiMGJkZDA3N2I4MzMyODEzNzZjMWE4MTE1
NTBmMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL3Rlc3QvdGVzdGRhdGEv
aGFuZGxlcnMvc3ViL3dyb25nX2hhbmRzaGFrZV9zaWdfd3NoLnB5CkBAIC0wLDAgKzEsNDMgQEAK
KyMgQ29weXJpZ2h0IDIwMDksIEdvb2dsZSBJbmMuCisjIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisj
CisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisjIG1ldDoKKyMKKyMgICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyMgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlCisjIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyMgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorIyBkaXN0cmlidXRpb24u
CisjICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBv
ZiBpdHMKKyMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKyMgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworIyAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorIyBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyMgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyMgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisjIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyMg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsCisjIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorIiIiV3Jvbmcgd2ViX3NvY2tldF9kb19leHRyYV9oYW5kc2hha2Ug
c2lnbmF0dXJlLgorIiIiCisKKworZGVmIG5vX3dlYl9zb2NrZXRfZG9fZXh0cmFfaGFuZHNoYWtl
KHJlcXVlc3QpOgorICAgIHBhc3MKKworCitkZWYgd2ViX3NvY2tldF90cmFuc2Zlcl9kYXRhKHJl
cXVlc3QpOgorICAgIG1lc3NhZ2UgPSAnc3ViL3dyb25nX2hhbmRzaGFrZV9zaWdfd3NoLnB5IGlz
IGNhbGxlZCBmb3IgJXMsICVzJyAlICgKKyAgICAgICAgcmVxdWVzdC53c19yZXNvdXJjZSwgcmVx
dWVzdC53c19wcm90b2NvbCkKKyAgICByZXF1ZXN0LmNvbm5lY3Rpb24ud3JpdGUobWVzc2FnZS5l
bmNvZGUoJ1VURi04JykpCisKKworIyB2aTpzdHM9NCBzdz00IGV0CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5
L3B5d2Vic29ja2V0My90ZXN0L3Rlc3RkYXRhL2hhbmRsZXJzL3N1Yi93cm9uZ190cmFuc2Zlcl9z
aWdfd3NoLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvdGVzdC90ZXN0ZGF0YS9oYW5kbGVycy9zdWIv
d3JvbmdfdHJhbnNmZXJfc2lnX3dzaC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZDI3ZDZiY2ZlZWFmMDJhOTQy
YThiMzBiN2QzMzQwZmIyMGQyMzMwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tl
dDMvdGVzdC90ZXN0ZGF0YS9oYW5kbGVycy9zdWIvd3JvbmdfdHJhbnNmZXJfc2lnX3dzaC5weQpA
QCAtMCwwICsxLDQzIEBACisjIENvcHlyaWdodCAyMDA5LCBHb29nbGUgSW5jLgorIyBBbGwgcmln
aHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorIyBtZXQ6Cisj
CisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisjIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorIyBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisjIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUK
KyMgZGlzdHJpYnV0aW9uLgorIyAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMu
IG5vciB0aGUgbmFtZXMgb2YgaXRzCisjIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisjIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisjCisjIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMK
KyMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisjIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisjIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAorIyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorIyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyMgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyIiIldyb25nIHdlYl9zb2NrZXRfdHJh
bnNmZXJfZGF0YSgpIHNpZ25hdHVyZS4KKyIiIgorCisKK2RlZiB3ZWJfc29ja2V0X2RvX2V4dHJh
X2hhbmRzaGFrZShyZXF1ZXN0KToKKyAgICBwYXNzCisKKworZGVmIG5vX3dlYl9zb2NrZXRfdHJh
bnNmZXJfZGF0YShyZXF1ZXN0KToKKyAgICBtZXNzYWdlID0gJ3N1Yi93cm9uZ190cmFuc2Zlcl9z
aWdfd3NoLnB5IGlzIGNhbGxlZCBmb3IgJXMsICVzJyAlICgKKyAgICAgICAgcmVxdWVzdC53c19y
ZXNvdXJjZSwgcmVxdWVzdC53c19wcm90b2NvbCkKKyAgICByZXF1ZXN0LmNvbm5lY3Rpb24ud3Jp
dGUobWVzc2FnZS5lbmNvZGUoJ1VURi04JykpCisKKworIyB2aTpzdHM9NCBzdz00IGV0CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My90ZXN0L3Rlc3RkYXRhL2hhbmRsZXJzL3czYy1pbXBv
cnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvdGVzdC90ZXN0ZGF0YS9oYW5kbGVycy93M2MtaW1w
b3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMDhjMGY2NTcyYjEyZmMxYjE0NjY2M2ZmZWFkNThjNDgyNWMy
Mzc2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvdGVzdC90ZXN0ZGF0YS9o
YW5kbGVycy93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDE5IEBACitUaGUgdGVzdHMgaW4gdGhp
cyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5P
VCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRl
IGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93
ZWItcGxhdGZvcm0tdGVzdHMvd3B0CisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9y
dC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVt
b3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2
ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBw
cmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5
d2Vic29ja2V0My90ZXN0L3Rlc3RkYXRhL2hhbmRsZXJzL2Fib3J0X2J5X3VzZXJfd3NoLnB5Cisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9w
YXJ0eS9weXdlYnNvY2tldDMvdGVzdC90ZXN0ZGF0YS9oYW5kbGVycy9ibGFua193c2gucHkKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3Bh
cnR5L3B5d2Vic29ja2V0My90ZXN0L3Rlc3RkYXRhL2hhbmRsZXJzL29yaWdpbl9jaGVja193c2gu
cHkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL3Rlc3QvdGVzdGRhdGEvdzNjLWltcG9y
dC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My90ZXN0L3Rlc3RkYXRhL3czYy1pbXBvcnQubG9nCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmNmNzZiOGUxOTIwZGMzYmVjYTZlZTUwZGQzMjJiZDYwYTU4Y2M0ZTkKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My90ZXN0L3Rlc3RkYXRhL3czYy1pbXBvcnQu
bG9nCkBAIC0wLDAgKzEsMTcgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGlt
cG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0
cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24g
dGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93
cHQKKworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJL
aXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCist
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05v
bmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL3Rlc3QvdGVz
dGRhdGEvUkVBRE1FCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My90ZXN0L3czYy1pbXBv
cnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvdGVzdC93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5lOGY5ZWVhMTkxNGI5MWQ2ZjU1ZTU0NjdkYjkwODE1MWQ2ODdlOTU0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90
aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvdGVzdC93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDMy
IEBACitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBX
M0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2Vi
S2l0LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgor
CWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CisKK1RoZW4gcnVuIHRo
ZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisK
K0RvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQ
cm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1
ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlz
dCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My90ZXN0L19faW5pdF9fLnB5CisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9w
eXdlYnNvY2tldDMvdGVzdC9jbGllbnRfZm9yX3Rlc3RpbmcucHkKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0
My90ZXN0L21vY2sucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My90ZXN0L3J1bl9hbGwucHkKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5
L3B5d2Vic29ja2V0My90ZXN0L3NldF9zeXNfcGF0aC5weQorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL3Rl
c3QvdGVzdF9kaXNwYXRjaC5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL3Rlc3QvdGVzdF9lbmR0b2Vu
ZC5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
dGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL3Rlc3QvdGVzdF9leHRlbnNpb25zLnB5CisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9w
eXdlYnNvY2tldDMvdGVzdC90ZXN0X2hhbmRzaGFrZS5weQorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL3Rl
c3QvdGVzdF9oYW5kc2hha2VfaHliaS5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL3Rlc3QvdGVzdF9o
dHRwX2hlYWRlcl91dGlsLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvdGVzdC90ZXN0X21lbW9yaXpp
bmdmaWxlLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvdGVzdC90ZXN0X21vY2sucHkKKy9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5
d2Vic29ja2V0My90ZXN0L3Rlc3RfbXNndXRpbC5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2NrZXQzL3Rlc3Qv
dGVzdF9zdHJlYW0ucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29ja2V0My90ZXN0L3Rlc3RfdXRpbC5weQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3B5d2Vic29j
a2V0My93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YmZkYmMxZjYxODk5NDZkYWViYzhlZjBj
NWRjNTI3NThmY2E5NDQ5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvdzNj
LWltcG9ydC5sb2cKQEAgLTAsMCArMSwyMSBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5
IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRo
ZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVx
dWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3Jt
LXRlc3RzL3dwdAorCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3Rz
IGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZp
bGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZp
eGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitO
b25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMv
Q09OVFJJQlVUSU5HCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvTElDRU5TRQorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvcHl3ZWJzb2Nr
ZXQzL01BTklGRVNULmluCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy90aGlyZF9wYXJ0eS9weXdlYnNvY2tldDMvUkVBRE1FLm1kCisvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9weXdl
YnNvY2tldDMvc2V0dXAucHkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvc2l4L0NIQU5HRVMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3Np
eC9DSEFOR0VTCmluZGV4IGIzOTk4ODI1NjFlYzI5NWQ4ZGVmY2FkYmUxYjliOTk1YjFlYjllMTEu
LmZmYTcwMjYwMWI2NTA5YjI1ZmJkNjc4N2QxZTc2ODJlNWFjMzkzNTYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFy
dHkvc2l4L0NIQU5HRVMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9zaXgvQ0hBTkdFUwpAQCAtMyw2ICszLDI4IEBAIENo
YW5nZWxvZyBmb3Igc2l4CiAKIFRoaXMgZmlsZSBsaXN0cyB0aGUgY2hhbmdlcyBpbiBlYWNoIHNp
eCB2ZXJzaW9uLgogCisxLjEzLjAKKy0tLS0tLQorCistIElzc3VlICMyOTgsIHB1bGwgcmVxdWVz
dCAjMjk5OiBBZGQgYHNpeC5tb3Zlcy5kYm1fbmRibWAuCisKKy0gSXNzdWUgIzE1NTogQWRkIGBz
aXgubW92ZXMuY29sbGVjdGlvbnNfYWJjYCwgd2hpY2ggYWxpYXNlcyB0aGUgYGNvbGxlY3Rpb25z
YAorICBtb2R1bGUgb24gUHl0aG9uIDItMy4yIGFuZCB0aGUgYGNvbGxlY3Rpb25zLmFiY2Agb24g
UHl0aG9uIDMuMyBhbmQgZ3JlYXRlci4KKworLSBQdWxsIHJlcXVlc3QgIzMwNDogUmUtYWRkIGRp
c3R1dGlscyBmYWxsYmFjayBpbiBgc2V0dXAucHlgLgorCistIFB1bGwgcmVxdWVzdCAjMzA1OiBP
biBQeXRob24gMy43LCBgd2l0aF9tZXRhY2xhc3NgIHN1cHBvcnRzIGNsYXNzZXMgdXNpbmcgUEVQ
CisgIDU2MCBmZWF0dXJlcy4KKworMS4xMi4wCistLS0tLS0KKworLSBJc3N1ZSAjMjU5LCBwdWxs
IHJlcXVlc3QgIzI2MDogYHNpeC5hZGRfbWV0YWNsYXNzYCBub3cgcHJlc2VydmVzCisgIGBfX3F1
YWxuYW1lX19gIGZyb20gdGhlIG9yaWdpbmFsIGNsYXNzLgorCistIFB1bGwgcmVxdWVzdCAjMjA0
OiBBZGQgYHNpeC5lbnN1cmVfYmluYXJ5YCwgYHNpeC5lbnN1cmVfdGV4dGAsIGFuZAorICBgc2l4
LmVuc3VyZV9zdHJgLgorCiAxLjExLjAKIC0tLS0tLQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3NpeC9M
SUNFTlNFIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy90aGlyZF9wYXJ0eS9zaXgvTElDRU5TRQppbmRleCBmMzA2OGJmZDllMGNkODZkZTZiMmNlNWY1
ZmE3ZmFmMzhjNjhlNWNlLi40YjA1YTU0NTI2MWMwZjliMzFhYmUzZWRlYzcxMDU4NzU4N2E2NTlh
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3RoaXJkX3BhcnR5L3NpeC9MSUNFTlNFCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvc2l4L0xJQ0VOU0UKQEAg
LTEsNCArMSw0IEBACi1Db3B5cmlnaHQgKGMpIDIwMTAtMjAxNyBCZW5qYW1pbiBQZXRlcnNvbgor
Q29weXJpZ2h0IChjKSAyMDEwLTIwMTkgQmVuamFtaW4gUGV0ZXJzb24KIAogUGVybWlzc2lvbiBp
cyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5n
IGEgY29weSBvZgogdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZp
bGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwgaW4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvc2l4L1BL
Ry1JTkZPIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy90aGlyZF9wYXJ0eS9zaXgvUEtHLUlORk8KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGNkNWZmNGJiOGU0ZmEwYTFjYWY2ZDNkZjUyOGFiYzIwYjNkZjVhZWYuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9zaXgvUEtHLUlORk8KKysrIC9k
ZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi1NZXRhZGF0YS1WZXJzaW9uOiAxLjEKLU5hbWU6IHNp
eAotVmVyc2lvbjogMS4xMS4wCi1TdW1tYXJ5OiBQeXRob24gMiBhbmQgMyBjb21wYXRpYmlsaXR5
IHV0aWxpdGllcwotSG9tZS1wYWdlOiBodHRwOi8vcHlwaS5weXRob24ub3JnL3B5cGkvc2l4Lwot
QXV0aG9yOiBCZW5qYW1pbiBQZXRlcnNvbgotQXV0aG9yLWVtYWlsOiBiZW5qYW1pbkBweXRob24u
b3JnCi1MaWNlbnNlOiBNSVQKLURlc2NyaXB0aW9uOiAuLiBpbWFnZTo6IGh0dHA6Ly9pbWcuc2hp
ZWxkcy5pby9weXBpL3Yvc2l4LnN2ZwotICAgICAgICAgICA6dGFyZ2V0OiBodHRwczovL3B5cGku
cHl0aG9uLm9yZy9weXBpL3NpeAotICAgICAgICAKLSAgICAgICAgLi4gaW1hZ2U6OiBodHRwczov
L3RyYXZpcy1jaS5vcmcvYmVuamFtaW5wL3NpeC5zdmc/YnJhbmNoPW1hc3RlcgotICAgICAgICAg
ICAgOnRhcmdldDogaHR0cHM6Ly90cmF2aXMtY2kub3JnL2JlbmphbWlucC9zaXgKLSAgICAgICAg
Ci0gICAgICAgIC4uIGltYWdlOjogaHR0cDovL2ltZy5zaGllbGRzLmlvL2JhZGdlL2xpY2Vuc2Ut
TUlULWdyZWVuLnN2ZwotICAgICAgICAgICA6dGFyZ2V0OiBodHRwczovL2dpdGh1Yi5jb20vYmVu
amFtaW5wL3NpeC9ibG9iL21hc3Rlci9MSUNFTlNFCi0gICAgICAgIAotICAgICAgICBTaXggaXMg
YSBQeXRob24gMiBhbmQgMyBjb21wYXRpYmlsaXR5IGxpYnJhcnkuICBJdCBwcm92aWRlcyB1dGls
aXR5IGZ1bmN0aW9ucwotICAgICAgICBmb3Igc21vb3RoaW5nIG92ZXIgdGhlIGRpZmZlcmVuY2Vz
IGJldHdlZW4gdGhlIFB5dGhvbiB2ZXJzaW9ucyB3aXRoIHRoZSBnb2FsIG9mCi0gICAgICAgIHdy
aXRpbmcgUHl0aG9uIGNvZGUgdGhhdCBpcyBjb21wYXRpYmxlIG9uIGJvdGggUHl0aG9uIHZlcnNp
b25zLiAgU2VlIHRoZQotICAgICAgICBkb2N1bWVudGF0aW9uIGZvciBtb3JlIGluZm9ybWF0aW9u
IG9uIHdoYXQgaXMgcHJvdmlkZWQuCi0gICAgICAgIAotICAgICAgICBTaXggc3VwcG9ydHMgZXZl
cnkgUHl0aG9uIHZlcnNpb24gc2luY2UgMi42LiAgSXQgaXMgY29udGFpbmVkIGluIG9ubHkgb25l
IFB5dGhvbgotICAgICAgICBmaWxlLCBzbyBpdCBjYW4gYmUgZWFzaWx5IGNvcGllZCBpbnRvIHlv
dXIgcHJvamVjdC4gKFRoZSBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UKLSAgICAgICAgbm90aWNlIG11
c3QgYmUgcmV0YWluZWQuKQotICAgICAgICAKLSAgICAgICAgT25saW5lIGRvY3VtZW50YXRpb24g
aXMgYXQgaHR0cDovL3NpeC5ydGZkLm9yZy4KLSAgICAgICAgCi0gICAgICAgIEJ1Z3MgY2FuIGJl
IHJlcG9ydGVkIHRvIGh0dHBzOi8vZ2l0aHViLmNvbS9iZW5qYW1pbnAvc2l4LiAgVGhlIGNvZGUg
Y2FuIGFsc28KLSAgICAgICAgYmUgZm91bmQgdGhlcmUuCi0gICAgICAgIAotICAgICAgICBGb3Ig
cXVlc3Rpb25zIGFib3V0IHNpeCBvciBwb3J0aW5nIGluIGdlbmVyYWwsIGVtYWlsIHRoZSBweXRo
b24tcG9ydGluZyBtYWlsaW5nCi0gICAgICAgIGxpc3Q6IGh0dHBzOi8vbWFpbC5weXRob24ub3Jn
L21haWxtYW4vbGlzdGluZm8vcHl0aG9uLXBvcnRpbmcKLSAgICAgICAgCi1QbGF0Zm9ybTogVU5L
Tk9XTgotQ2xhc3NpZmllcjogUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDIKLUNs
YXNzaWZpZXI6IFByb2dyYW1taW5nIExhbmd1YWdlIDo6IFB5dGhvbiA6OiAzCi1DbGFzc2lmaWVy
OiBJbnRlbmRlZCBBdWRpZW5jZSA6OiBEZXZlbG9wZXJzCi1DbGFzc2lmaWVyOiBMaWNlbnNlIDo6
IE9TSSBBcHByb3ZlZCA6OiBNSVQgTGljZW5zZQotQ2xhc3NpZmllcjogVG9waWMgOjogU29mdHdh
cmUgRGV2ZWxvcG1lbnQgOjogTGlicmFyaWVzCi1DbGFzc2lmaWVyOiBUb3BpYyA6OiBVdGlsaXRp
ZXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvdGhpcmRfcGFydHkvc2l4L1JFQURNRS5yc3QgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3NpeC9SRUFETUUucnN0
CmluZGV4IGMxN2Q4ZDczMmFmODU5ZGUyYzQ2YWJhZDAwNjQ0MzRhODRkYzE2MGEuLmE5OWU2ZjU1
ODVhOTE4YjhhNjhjZWFiYWNlMmZiNmUzNGU5MjE4M2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvc2l4L1JF
QURNRS5yc3QKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy90aGlyZF9wYXJ0eS9zaXgvUkVBRE1FLnJzdApAQCAtMSwxMSArMSwxOCBAQAotLi4g
aW1hZ2U6OiBodHRwOi8vaW1nLnNoaWVsZHMuaW8vcHlwaS92L3NpeC5zdmcKLSAgIDp0YXJnZXQ6
IGh0dHBzOi8vcHlwaS5weXRob24ub3JnL3B5cGkvc2l4CisuLiBpbWFnZTo6IGh0dHBzOi8vaW1n
LnNoaWVsZHMuaW8vcHlwaS92L3NpeC5zdmcKKyAgIDp0YXJnZXQ6IGh0dHBzOi8vcHlwaS5vcmcv
cHJvamVjdC9zaXgvCisgICA6YWx0OiBzaXggb24gUHlQSQogCiAuLiBpbWFnZTo6IGh0dHBzOi8v
dHJhdmlzLWNpLm9yZy9iZW5qYW1pbnAvc2l4LnN2Zz9icmFuY2g9bWFzdGVyCi0gICAgOnRhcmdl
dDogaHR0cHM6Ly90cmF2aXMtY2kub3JnL2JlbmphbWlucC9zaXgKKyAgIDp0YXJnZXQ6IGh0dHBz
Oi8vdHJhdmlzLWNpLm9yZy9iZW5qYW1pbnAvc2l4CisgICA6YWx0OiBzaXggb24gVHJhdmlzQ0kK
IAotLi4gaW1hZ2U6OiBodHRwOi8vaW1nLnNoaWVsZHMuaW8vYmFkZ2UvbGljZW5zZS1NSVQtZ3Jl
ZW4uc3ZnCisuLiBpbWFnZTo6IGh0dHBzOi8vcmVhZHRoZWRvY3Mub3JnL3Byb2plY3RzL3NpeC9i
YWRnZS8/dmVyc2lvbj1sYXRlc3QKKyAgIDp0YXJnZXQ6IGh0dHBzOi8vc2l4LnJlYWR0aGVkb2Nz
LmlvLworICAgOmFsdDogc2l4J3MgZG9jdW1lbnRhdGlvbiBvbiBSZWFkIHRoZSBEb2NzCisKKy4u
IGltYWdlOjogaHR0cHM6Ly9pbWcuc2hpZWxkcy5pby9iYWRnZS9saWNlbnNlLU1JVC1ncmVlbi5z
dmcKICAgIDp0YXJnZXQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9iZW5qYW1pbnAvc2l4L2Jsb2IvbWFz
dGVyL0xJQ0VOU0UKKyAgIDphbHQ6IE1JVCBMaWNlbnNlIGJhZGdlCiAKIFNpeCBpcyBhIFB5dGhv
biAyIGFuZCAzIGNvbXBhdGliaWxpdHkgbGlicmFyeS4gIEl0IHByb3ZpZGVzIHV0aWxpdHkgZnVu
Y3Rpb25zCiBmb3Igc21vb3RoaW5nIG92ZXIgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlIFB5
dGhvbiB2ZXJzaW9ucyB3aXRoIHRoZSBnb2FsIG9mCkBAIC0xNiw3ICsyMyw3IEBAIFNpeCBzdXBw
b3J0cyBldmVyeSBQeXRob24gdmVyc2lvbiBzaW5jZSAyLjYuICBJdCBpcyBjb250YWluZWQgaW4g
b25seSBvbmUgUHl0aG9uCiBmaWxlLCBzbyBpdCBjYW4gYmUgZWFzaWx5IGNvcGllZCBpbnRvIHlv
dXIgcHJvamVjdC4gKFRoZSBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UKIG5vdGljZSBtdXN0IGJlIHJl
dGFpbmVkLikKIAotT25saW5lIGRvY3VtZW50YXRpb24gaXMgYXQgaHR0cDovL3NpeC5ydGZkLm9y
Zy4KK09ubGluZSBkb2N1bWVudGF0aW9uIGlzIGF0IGh0dHBzOi8vc2l4LnJlYWR0aGVkb2NzLmlv
Ly4KIAogQnVncyBjYW4gYmUgcmVwb3J0ZWQgdG8gaHR0cHM6Ly9naXRodWIuY29tL2JlbmphbWlu
cC9zaXguICBUaGUgY29kZSBjYW4gYWxzbwogYmUgZm91bmQgdGhlcmUuCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3Bh
cnR5L3NpeC9kb2N1bWVudGF0aW9uL2NvbmYucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3NpeC9kb2N1bWVudGF0aW9uL2Nv
bmYucHkKaW5kZXggYWQ5MjVjMWMxZDFlODM2MTQ5MzcwNzJiYmU5NGU2YzMwNTZkMTg4ZC4uYjNk
MTMyOGFkYzJhNDJhZmRlNzE5MTUxOTMwNjA0MzM1MDRjZTIwOCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9z
aXgvZG9jdW1lbnRhdGlvbi9jb25mLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvc2l4L2RvY3VtZW50YXRpb24vY29u
Zi5weQpAQCAtMzMsNyArMzMsNyBAQCBtYXN0ZXJfZG9jID0gImluZGV4IgogCiAjIEdlbmVyYWwg
aW5mb3JtYXRpb24gYWJvdXQgdGhlIHByb2plY3QuCiBwcm9qZWN0ID0gdSJzaXgiCi1jb3B5cmln
aHQgPSB1IjIwMTAtMjAxNywgQmVuamFtaW4gUGV0ZXJzb24iCitjb3B5cmlnaHQgPSB1IjIwMTAt
MjAxOSwgQmVuamFtaW4gUGV0ZXJzb24iCiAKIHN5cy5wYXRoLmFwcGVuZChvcy5wYXRoLmFic3Bh
dGgob3MucGF0aC5qb2luKCIuIiwgIi4uIikpKQogZnJvbSBzaXggaW1wb3J0IF9fdmVyc2lvbl9f
IGFzIHNpeF92ZXJzaW9uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3NpeC9kb2N1bWVudGF0aW9uL2luZGV4
LnJzdCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
dGhpcmRfcGFydHkvc2l4L2RvY3VtZW50YXRpb24vaW5kZXgucnN0CmluZGV4IGRkMGRjNmUzYmRl
OGM0NThkYzRmMTEzMzFlZjdiZTEyZWQ2N2FiYTguLmI3ZWMyNzU0ZWNmODNkNWEyOTFjMTM5ODg3
MzhmZWY2MjA0NWM5ODYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvc2l4L2RvY3VtZW50YXRpb24vaW5kZXgu
cnN0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvdGhpcmRfcGFydHkvc2l4L2RvY3VtZW50YXRpb24vaW5kZXgucnN0CkBAIC0xMyw3ICsxMyw3
IEBAIFB5dGhvbiAzLiAgSXQgaXMgaW50ZW5kZWQgdG8gc3VwcG9ydCBjb2RlYmFzZXMgdGhhdCB3
b3JrIG9uIGJvdGggUHl0aG9uIDIgYW5kIDMKIHdpdGhvdXQgbW9kaWZpY2F0aW9uLiAgc2l4IGNv
bnNpc3RzIG9mIG9ubHkgb25lIFB5dGhvbiBmaWxlLCBzbyBpdCBpcyBwYWlubGVzcwogdG8gY29w
eSBpbnRvIGEgcHJvamVjdC4KIAotU2l4IGNhbiBiZSBkb3dubG9hZGVkIG9uIGBQeVBpIDxodHRw
czovL3B5cGkucHl0aG9uLm9yZy9weXBpL3NpeC8+YF8uICBJdHMgYnVnCitTaXggY2FuIGJlIGRv
d25sb2FkZWQgb24gYFB5UEkgPGh0dHBzOi8vcHlwaS5vcmcvcHJvamVjdC9zaXgvPmBfLiAgSXRz
IGJ1ZwogdHJhY2tlciBhbmQgY29kZSBob3N0aW5nIGlzIG9uIGBHaXRIdWIgPGh0dHBzOi8vZ2l0
aHViLmNvbS9iZW5qYW1pbnAvc2l4PmBfLgogCiBUaGUgbmFtZSwgInNpeCIsIGNvbWVzIGZyb20g
dGhlIGZhY3QgdGhhdCAyKjMgZXF1YWxzIDYuICBXaHkgbm90IGFkZGl0aW9uPwpAQCAtNTAsOCAr
NTAsOSBAQCBTaXggcHJvdmlkZXMgY29uc3RhbnRzIHRoYXQgbWF5IGRpZmZlciBiZXR3ZWVuIFB5
dGhvbiB2ZXJzaW9ucy4gIE9uZXMgZW5kaW5nCiAKIC4uIGRhdGE6OiBjbGFzc190eXBlcwogCi0g
ICBQb3NzaWJsZSBjbGFzcyB0eXBlcy4gIEluIFB5dGhvbiAyLCB0aGlzIGVuY29tcGFzc2VzIG9s
ZC1zdHlsZSBhbmQgbmV3LXN0eWxlCi0gICBjbGFzc2VzLiAgSW4gUHl0aG9uIDMsIHRoaXMgaXMg
anVzdCBuZXctc3R5bGVzLgorICAgUG9zc2libGUgY2xhc3MgdHlwZXMuICBJbiBQeXRob24gMiwg
dGhpcyBlbmNvbXBhc3NlcyBvbGQtc3R5bGUKKyAgIDpkYXRhOmBweTI6dHlwZXMuQ2xhc3NUeXBl
YCBhbmQgbmV3LXN0eWxlIGBgdHlwZWBgIGNsYXNzZXMuICBJbiBQeXRob24gMywKKyAgIHRoaXMg
aXMganVzdCBgYHR5cGVgYC4KIAogCiAuLiBkYXRhOjogaW50ZWdlcl90eXBlcwpAQCAtNzUsNyAr
NzYsOSBAQCBTaXggcHJvdmlkZXMgY29uc3RhbnRzIHRoYXQgbWF5IGRpZmZlciBiZXR3ZWVuIFB5
dGhvbiB2ZXJzaW9ucy4gIE9uZXMgZW5kaW5nCiAuLiBkYXRhOjogYmluYXJ5X3R5cGUKIAogICAg
VHlwZSBmb3IgcmVwcmVzZW50aW5nIGJpbmFyeSBkYXRhLiAgVGhpcyBpcyA6ZnVuYzpgcHkyOnN0
cmAgaW4gUHl0aG9uIDIgYW5kCi0gICA6ZnVuYzpgcHkzOmJ5dGVzYCBpbiBQeXRob24gMy4KKyAg
IDpmdW5jOmBweTM6Ynl0ZXNgIGluIFB5dGhvbiAzLiAgUHl0aG9uIDIuNiBhbmQgMi43IGluY2x1
ZGUgYGBieXRlc2BgIGFzIGEKKyAgIGJ1aWx0aW4gYWxpYXMgb2YgYGBzdHJgYCwgc28gc2l44oCZ
cyB2ZXJzaW9uIGlzIG9ubHkgbmVjZXNzYXJ5IGZvciBQeXRob24gMi41CisgICBjb21wYXRpYmls
aXR5LgogCiAKIC4uIGRhdGE6OiBNQVhTSVpFCkBAIC0zNzEsNyArMzc0LDcgQEAgc3RyaW5nIGRh
dGEgaW4gYWxsIFB5dGhvbiB2ZXJzaW9ucy4KIC4uIGZ1bmN0aW9uOjogYihkYXRhKQogCiAgICBB
ICJmYWtlIiBieXRlcyBsaXRlcmFsLiAgKmRhdGEqIHNob3VsZCBhbHdheXMgYmUgYSBub3JtYWwg
c3RyaW5nIGxpdGVyYWwuICBJbgotICAgUHl0aG9uIDIsIDpmdW5jOmBiYCByZXR1cm5zIGEgOC1i
aXQgc3RyaW5nLiAgSW4gUHl0aG9uIDMsICpkYXRhKiBpcyBlbmNvZGVkCisgICBQeXRob24gMiwg
OmZ1bmM6YGJgIHJldHVybnMgYW4gOC1iaXQgc3RyaW5nLiAgSW4gUHl0aG9uIDMsICpkYXRhKiBp
cyBlbmNvZGVkCiAgICB3aXRoIHRoZSBsYXRpbi0xIGVuY29kaW5nIHRvIGJ5dGVzLgogCiAKQEAg
LTQzMyw2ICs0MzYsMjQgQEAgc3RyaW5nIGRhdGEgaW4gYWxsIFB5dGhvbiB2ZXJzaW9ucy4KICAg
IGEgYnl0ZXMgb2JqZWN0IGl0ZXJhdG9yIGluIFB5dGhvbiAzLgogCiAKKy4uIGZ1bmN0aW9uOjog
ZW5zdXJlX2JpbmFyeShzLCBlbmNvZGluZz0ndXRmLTgnLCBlcnJvcnM9J3N0cmljdCcpCisKKyAg
IENvZXJjZSAqcyogdG8gOmRhdGE6YGJpbmFyeV90eXBlYC4gKmVuY29kaW5nKiwgKmVycm9ycyog
YXJlIHRoZSBzYW1lIGFzCisgICA6bWV0aDpgcHkzOnN0ci5lbmNvZGVgCisKKworLi4gZnVuY3Rp
b246OiBlbnN1cmVfc3RyKHMsIGVuY29kaW5nPSd1dGYtOCcsIGVycm9ycz0nc3RyaWN0JykKKwor
ICAgQ29lcmNlICpzKiB0byBgYHN0cmBgLiAqZW5jb2RpbmcqLCAqZXJyb3JzKiBhcmUgdGhlIHNh
bWUgYXMKKyAgIDptZXRoOmBweTM6c3RyLmVuY29kZWAKKworCisuLiBmdW5jdGlvbjo6IGVuc3Vy
ZV90ZXh0KHMsIGVuY29kaW5nPSd1dGYtOCcsIGVycm9ycz0nc3RyaWN0JykKKworICAgQ29lcmNl
ICpzKiB0byA6ZGF0YTpgdGV4dF90eXBlYC4gKmVuY29kaW5nKiwgKmVycm9ycyogYXJlIHRoZSBz
YW1lIGFzCisgICA6bWV0aDpgcHkzOnN0ci5lbmNvZGVgCisKKwogLi4gZGF0YTo6IFN0cmluZ0lP
CiAKICAgIFRoaXMgaXMgYSBmYWtlIGZpbGUgb2JqZWN0IGZvciB0ZXh0dWFsIGRhdGEuICBJdCdz
IGFuIGFsaWFzIGZvcgpAQCAtNTAzLDcgKzUyNCw3IEBAIFB5dGhvbiAyIG9yIDMsIHdyaXRlOjoK
ICAgIGZyb20gc2l4Lm1vdmVzIGltcG9ydCBodG1sX3BhcnNlcgogCiBTaW1pbGFybHksIHRvIGdl
dCB0aGUgZnVuY3Rpb24gdG8gcmVsb2FkIG1vZHVsZXMsIHdoaWNoIHdhcyBtb3ZlZCBmcm9tIHRo
ZQotYnVpbHRpbiBtb2R1bGUgdG8gdGhlIGBgaW1wYGAgbW9kdWxlLCB1c2U6OgorYnVpbHRpbiBt
b2R1bGUgdG8gdGhlIGBgaW1wb3J0bGliYGAgbW9kdWxlLCB1c2U6OgogCiAgICBmcm9tIHNpeC5t
b3ZlcyBpbXBvcnQgcmVsb2FkX21vZHVsZQogCkBAIC01NjMsNyArNTg0LDExIEBAIFN1cHBvcnRl
ZCByZW5hbWVzOgogKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLSsKIHwgYGBjU3RyaW5nSU9gYCAgICAgICAgICAgICAgICB8IDpmdW5jOmBweTI6Y1N0
cmluZ0lPLlN0cmluZ0lPYCAgICAgIHwgOmNsYXNzOmBweTM6aW8uU3RyaW5nSU9gICAgICAgICAg
ICAgICB8CiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tKwotfCBgYGRibV9nbnVgYCAgICAgICAgICAgICAgICAgIHwgOmZ1bmM6YHB5MjpnZGJtYCAg
ICAgICAgICAgICAgICAgICAgfCA6Y2xhc3M6YHB5MzpkYm0uZ251YCAgICAgICAgICAgICAgICAg
IHwKK3wgYGBjb2xsZWN0aW9uc19hYmNgYCAgICAgICAgICB8IDptb2Q6YHB5Mjpjb2xsZWN0aW9u
c2AgICAgICAgICAgICAgIHwgOm1vZDpgcHkzOmNvbGxlY3Rpb25zLmFiY2AgKDMuMyspICAgICB8
CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwor
fCBgYGRibV9nbnVgYCAgICAgICAgICAgICAgICAgIHwgOm1vZDpgcHkyOmdkYm1gICAgICAgICAg
ICAgICAgICAgICAgfCA6bW9kOmBweTM6ZGJtLmdudWAgICAgICAgICAgICAgICAgICAgIHwKKyst
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IGBg
ZGJtX25kYm1gYCAgICAgICAgICAgICAgICAgfCA6bW9kOmBweTI6ZGJtYCAgICAgICAgICAgICAg
ICAgICAgICB8IDptb2Q6YHB5MzpkYm0ubmRibWAgICAgICAgICAgICAgICAgICAgfAogKy0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKIHwgYGBfZHVt
bXlfdGhyZWFkYGAgICAgICAgICAgICB8IDptb2Q6YHB5MjpkdW1teV90aHJlYWRgICAgICAgICAg
ICAgIHwgOm1vZDpgcHkzOl9kdW1teV90aHJlYWRgICAgICAgICAgICAgICB8CiArLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9w
YXJ0eS9zaXgvc2V0dXAuY2ZnIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9zaXgvc2V0dXAuY2ZnCmluZGV4IGUxMjA2OGM1NzNj
NmY2ZWZkM2E5Mzc5NmU2ZGNlZWFlMTg4YjM1Y2QuLjMxN2UwMTZjOGNjMDRkMDk3YjNiNjk2Mzk3
MTAzNTdkZWIxYzk3MmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvc2l4L3NldHVwLmNmZworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5
L3NpeC9zZXR1cC5jZmcKQEAgLTUsMTcgKzUsMTYgQEAgdW5pdmVyc2FsID0gMQogbWF4LWxpbmUt
bGVuZ3RoID0gMTAwCiBpZ25vcmUgPSBGODIxCiAKLVt0b29sOnB5dGVzdF0KLW1pbnZlcnNpb24g
PSAyLjIuMAotcGVwOGlnbm9yZSA9IAotCWRvY3VtZW50YXRpb24vKi5weSBBTEwKLQl0ZXN0X3Np
eC5weSBBTEwKLWZsYWtlcy1pZ25vcmUgPSAKLQlkb2N1bWVudGF0aW9uLyoucHkgQUxMCi0JdGVz
dF9zaXgucHkgQUxMCi0Jc2l4LnB5IFVuZGVmaW5lZE5hbWUKK1ttZXRhZGF0YV0KK2xpY2Vuc2Vf
ZmlsZSA9IExJQ0VOU0UKIAotW2VnZ19pbmZvXQotdGFnX2J1aWxkID0gCi10YWdfZGF0ZSA9IDAK
K1t0b29sOnB5dGVzdF0KK21pbnZlcnNpb249Mi4yLjAKK3BlcDhpZ25vcmUgPQorICAgIGRvY3Vt
ZW50YXRpb24vKi5weSBBTEwKKyAgICB0ZXN0X3NpeC5weSBBTEwKIAorZmxha2VzLWlnbm9yZSA9
CisgICAgZG9jdW1lbnRhdGlvbi8qLnB5IEFMTAorICAgIHRlc3Rfc2l4LnB5IEFMTAorICAgIHNp
eC5weSBVbmRlZmluZWROYW1lCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3NpeC9zZXR1cC5weSBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkv
c2l4L3NldHVwLnB5CmluZGV4IGNhNDRlMTAwZTQyN2VjZjU0MjRiYWNiODRkNWViNmY1YzcxMmYy
MzEuLjk3YzY4NWI1YTUwYmQ5NzY5ODA0ODYxZjRhZDdhODM5NjIxNWQyMzkgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRf
cGFydHkvc2l4L3NldHVwLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvc2l4L3NldHVwLnB5CkBAIC0xLDQgKzEsNCBA
QAotIyBDb3B5cmlnaHQgKGMpIDIwMTAtMjAxNyBCZW5qYW1pbiBQZXRlcnNvbgorIyBDb3B5cmln
aHQgKGMpIDIwMTAtMjAxOSBCZW5qYW1pbiBQZXRlcnNvbgogIwogIyBQZXJtaXNzaW9uIGlzIGhl
cmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBj
b3B5CiAjIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxl
cyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsCkBAIC0zMSw2ICszMSw3IEBAIGV4Y2VwdCBJbXBv
cnRFcnJvcjoKIGltcG9ydCBzaXgKIAogc2l4X2NsYXNzaWZpZXJzID0gWworICAgICJEZXZlbG9w
bWVudCBTdGF0dXMgOjogNSAtIFByb2R1Y3Rpb24vU3RhYmxlIiwKICAgICAiUHJvZ3JhbW1pbmcg
TGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDIiLAogICAgICJQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBQ
eXRob24gOjogMyIsCiAgICAgIkludGVuZGVkIEF1ZGllbmNlIDo6IERldmVsb3BlcnMiLApAQCAt
NDYsMTEgKzQ3LDEyIEBAIHNldHVwKG5hbWU9InNpeCIsCiAgICAgICB2ZXJzaW9uPXNpeC5fX3Zl
cnNpb25fXywKICAgICAgIGF1dGhvcj0iQmVuamFtaW4gUGV0ZXJzb24iLAogICAgICAgYXV0aG9y
X2VtYWlsPSJiZW5qYW1pbkBweXRob24ub3JnIiwKLSAgICAgIHVybD0iaHR0cDovL3B5cGkucHl0
aG9uLm9yZy9weXBpL3NpeC8iLAorICAgICAgdXJsPSJodHRwczovL2dpdGh1Yi5jb20vYmVuamFt
aW5wL3NpeCIsCiAgICAgICB0ZXN0c19yZXF1aXJlPVsicHl0ZXN0Il0sCiAgICAgICBweV9tb2R1
bGVzPVsic2l4Il0sCiAgICAgICBkZXNjcmlwdGlvbj0iUHl0aG9uIDIgYW5kIDMgY29tcGF0aWJp
bGl0eSB1dGlsaXRpZXMiLAogICAgICAgbG9uZ19kZXNjcmlwdGlvbj1zaXhfbG9uZ19kZXNjcmlw
dGlvbiwKICAgICAgIGxpY2Vuc2U9Ik1JVCIsCi0gICAgICBjbGFzc2lmaWVycz1zaXhfY2xhc3Np
ZmllcnMKKyAgICAgIGNsYXNzaWZpZXJzPXNpeF9jbGFzc2lmaWVycywKKyAgICAgIHB5dGhvbl9y
ZXF1aXJlcz0iPj0yLjYsICE9My4wLiosICE9My4xLioiLAogICAgICAgKQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9w
YXJ0eS9zaXgvc2l4LTEuMTMuMC5kaXN0LWluZm8vSU5TVEFMTEVSIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9zaXgvc2l4LTEu
MTMuMC5kaXN0LWluZm8vSU5TVEFMTEVSCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmExYjU4OWUzOGEzMjA0MWU0OTMz
MmU1ZTgxYzJkMzYzZGM0MThkNjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3NpeC9zaXgtMS4x
My4wLmRpc3QtaW5mby9JTlNUQUxMRVIKQEAgLTAsMCArMSBAQAorcGlwCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3Bh
cnR5L3NpeC9zaXgtMS4xMy4wLmRpc3QtaW5mby9MSUNFTlNFIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9zaXgvc2l4LTEuMTMu
MC5kaXN0LWluZm8vTElDRU5TRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YjA1YTU0NTI2MWMwZjliMzFhYmUzZWRl
YzcxMDU4NzU4N2E2NTlhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9zaXgvc2l4LTEuMTMuMC5k
aXN0LWluZm8vTElDRU5TRQpAQCAtMCwwICsxLDE4IEBACitDb3B5cmlnaHQgKGMpIDIwMTAtMjAx
OSBCZW5qYW1pbiBQZXRlcnNvbgorCitQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVl
IG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IG9mCit0aGlzIHNvZnR3
YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwg
dG8gZGVhbCBpbgordGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3
aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0bwordXNlLCBjb3B5LCBtb2RpZnksIG1lcmdl
LCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YK
K3RoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJl
IGlzIGZ1cm5pc2hlZCB0byBkbyBzbywKK3N1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zOgorCitUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5v
dGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwKK2NvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0
aW9ucyBvZiB0aGUgU29mdHdhcmUuCisKK1RIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMi
LCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCitJTVBMSUVELCBJTkNM
VURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSwgRklUTkVTUworRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SCitDT1BZUklHSFQgSE9MREVSUyBCRSBM
SUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIK
K0lOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJP
TSwgT1VUIE9GIE9SIElOCitDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0Ug
T1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9zaXgv
c2l4LTEuMTMuMC5kaXN0LWluZm8vTUVUQURBVEEgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3NpeC9zaXgtMS4xMy4wLmRpc3Qt
aW5mby9NRVRBREFUQQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMGM4ZjUxZTFmMzY2MTM4ZDM4MTZhYmUwZGRiM2Vm
ZWU0MTc1YzNjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9zaXgvc2l4LTEuMTMuMC5kaXN0LWlu
Zm8vTUVUQURBVEEKQEAgLTAsMCArMSw1MiBAQAorTWV0YWRhdGEtVmVyc2lvbjogMi4xCitOYW1l
OiBzaXgKK1ZlcnNpb246IDEuMTMuMAorU3VtbWFyeTogUHl0aG9uIDIgYW5kIDMgY29tcGF0aWJp
bGl0eSB1dGlsaXRpZXMKK0hvbWUtcGFnZTogaHR0cHM6Ly9naXRodWIuY29tL2JlbmphbWlucC9z
aXgKK0F1dGhvcjogQmVuamFtaW4gUGV0ZXJzb24KK0F1dGhvci1lbWFpbDogYmVuamFtaW5AcHl0
aG9uLm9yZworTGljZW5zZTogTUlUCitQbGF0Zm9ybTogVU5LTk9XTgorQ2xhc3NpZmllcjogRGV2
ZWxvcG1lbnQgU3RhdHVzIDo6IDUgLSBQcm9kdWN0aW9uL1N0YWJsZQorQ2xhc3NpZmllcjogUHJv
Z3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDIKK0NsYXNzaWZpZXI6IFByb2dyYW1taW5n
IExhbmd1YWdlIDo6IFB5dGhvbiA6OiAzCitDbGFzc2lmaWVyOiBJbnRlbmRlZCBBdWRpZW5jZSA6
OiBEZXZlbG9wZXJzCitDbGFzc2lmaWVyOiBMaWNlbnNlIDo6IE9TSSBBcHByb3ZlZCA6OiBNSVQg
TGljZW5zZQorQ2xhc3NpZmllcjogVG9waWMgOjogU29mdHdhcmUgRGV2ZWxvcG1lbnQgOjogTGli
cmFyaWVzCitDbGFzc2lmaWVyOiBUb3BpYyA6OiBVdGlsaXRpZXMKK1JlcXVpcmVzLVB5dGhvbjog
Pj0yLjYsICE9My4wLiosICE9My4xLioKKworLi4gaW1hZ2U6OiBodHRwczovL2ltZy5zaGllbGRz
LmlvL3B5cGkvdi9zaXguc3ZnCisgICA6dGFyZ2V0OiBodHRwczovL3B5cGkub3JnL3Byb2plY3Qv
c2l4LworICAgOmFsdDogc2l4IG9uIFB5UEkKKworLi4gaW1hZ2U6OiBodHRwczovL3RyYXZpcy1j
aS5vcmcvYmVuamFtaW5wL3NpeC5zdmc/YnJhbmNoPW1hc3RlcgorICAgOnRhcmdldDogaHR0cHM6
Ly90cmF2aXMtY2kub3JnL2JlbmphbWlucC9zaXgKKyAgIDphbHQ6IHNpeCBvbiBUcmF2aXNDSQor
CisuLiBpbWFnZTo6IGh0dHBzOi8vcmVhZHRoZWRvY3Mub3JnL3Byb2plY3RzL3NpeC9iYWRnZS8/
dmVyc2lvbj1sYXRlc3QKKyAgIDp0YXJnZXQ6IGh0dHBzOi8vc2l4LnJlYWR0aGVkb2NzLmlvLwor
ICAgOmFsdDogc2l4J3MgZG9jdW1lbnRhdGlvbiBvbiBSZWFkIHRoZSBEb2NzCisKKy4uIGltYWdl
OjogaHR0cHM6Ly9pbWcuc2hpZWxkcy5pby9iYWRnZS9saWNlbnNlLU1JVC1ncmVlbi5zdmcKKyAg
IDp0YXJnZXQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9iZW5qYW1pbnAvc2l4L2Jsb2IvbWFzdGVyL0xJ
Q0VOU0UKKyAgIDphbHQ6IE1JVCBMaWNlbnNlIGJhZGdlCisKK1NpeCBpcyBhIFB5dGhvbiAyIGFu
ZCAzIGNvbXBhdGliaWxpdHkgbGlicmFyeS4gIEl0IHByb3ZpZGVzIHV0aWxpdHkgZnVuY3Rpb25z
Citmb3Igc21vb3RoaW5nIG92ZXIgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlIFB5dGhvbiB2
ZXJzaW9ucyB3aXRoIHRoZSBnb2FsIG9mCit3cml0aW5nIFB5dGhvbiBjb2RlIHRoYXQgaXMgY29t
cGF0aWJsZSBvbiBib3RoIFB5dGhvbiB2ZXJzaW9ucy4gIFNlZSB0aGUKK2RvY3VtZW50YXRpb24g
Zm9yIG1vcmUgaW5mb3JtYXRpb24gb24gd2hhdCBpcyBwcm92aWRlZC4KKworU2l4IHN1cHBvcnRz
IGV2ZXJ5IFB5dGhvbiB2ZXJzaW9uIHNpbmNlIDIuNi4gIEl0IGlzIGNvbnRhaW5lZCBpbiBvbmx5
IG9uZSBQeXRob24KK2ZpbGUsIHNvIGl0IGNhbiBiZSBlYXNpbHkgY29waWVkIGludG8geW91ciBw
cm9qZWN0LiAoVGhlIGNvcHlyaWdodCBhbmQgbGljZW5zZQorbm90aWNlIG11c3QgYmUgcmV0YWlu
ZWQuKQorCitPbmxpbmUgZG9jdW1lbnRhdGlvbiBpcyBhdCBodHRwczovL3NpeC5yZWFkdGhlZG9j
cy5pby8uCisKK0J1Z3MgY2FuIGJlIHJlcG9ydGVkIHRvIGh0dHBzOi8vZ2l0aHViLmNvbS9iZW5q
YW1pbnAvc2l4LiAgVGhlIGNvZGUgY2FuIGFsc28KK2JlIGZvdW5kIHRoZXJlLgorCitGb3IgcXVl
c3Rpb25zIGFib3V0IHNpeCBvciBwb3J0aW5nIGluIGdlbmVyYWwsIGVtYWlsIHRoZSBweXRob24t
cG9ydGluZyBtYWlsaW5nCitsaXN0OiBodHRwczovL21haWwucHl0aG9uLm9yZy9tYWlsbWFuL2xp
c3RpbmZvL3B5dGhvbi1wb3J0aW5nCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9zaXgvc2l4LTEuMTMu
MC5kaXN0LWluZm8vUkVDT1JEIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9zaXgvc2l4LTEuMTMuMC5kaXN0LWluZm8vUkVDT1JE
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmU1NzY2NWM5OTY0MjU1ZDE3MDJmMDE2YzhiZDExZGFlZGU1MTY2ZWYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3NpeC9zaXgtMS4xMy4wLmRpc3QtaW5mby9SRUNPUkQKQEAg
LTAsMCArMSw4IEBACitzaXgtMS4xMy4wLmRpc3QtaW5mby9JTlNUQUxMRVIsc2hhMjU2PXp1dXVl
NGtub3lKLVV3UFBYZzhmZXpTN1ZDclhKUXJBUDd6ZU51d3ZGUWcsNA0KK3NpeC0xLjEzLjAuZGlz
dC1pbmZvL0xJQ0VOU0Usc2hhMjU2PXQxS2JqQWNYR25pb3cyd3lnNUJWS09TQktVWFpkOUVsNjVK
dWpNdnlSYlksMTA2Ng0KK3NpeC0xLjEzLjAuZGlzdC1pbmZvL01FVEFEQVRBLHNoYTI1Nj1oeFM0
clNQUmZPOGV3YmNMUzMwYW5vRmk2TEZnVVEzbWtfeGtuWjhSVjR3LDE5NDANCitzaXgtMS4xMy4w
LmRpc3QtaW5mby9SRUNPUkQsLA0KK3NpeC0xLjEzLjAuZGlzdC1pbmZvL1dIRUVMLHNoYTI1Nj04
VDhmeGVmcl9yLUE3OXFiT0o5ZF9BYUVna3BDR21FUEhjLWdwQ3E1QlJnLDExMA0KK3NpeC0xLjEz
LjAuZGlzdC1pbmZvL3RvcF9sZXZlbC50eHQsc2hhMjU2PV9pVkhfaVlFdEVYbkQ4bllHUVlwWUZV
dmtVVzlzRU8xR1lia2VLU0FhaXMsNA0KK3NpeC5weSxzaGEyNTY9bzlXSE84dXRXR2F5TmhOcURt
TnFQZFFzUWFpcjVSYVJXakxfOElZZjFxdywzMzA1MQ0KK3NpeC5weWMsLA0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRf
cGFydHkvc2l4L3NpeC0xLjEzLjAuZGlzdC1pbmZvL1dIRUVMIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9zaXgvc2l4LTEuMTMu
MC5kaXN0LWluZm8vV0hFRUwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTAwMTIzNTUzMzNlMDY2NGZhYzMxMjM4YWEw
NDIxNmZmNTM2MjIxNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvc2l4L3NpeC0xLjEzLjAuZGlz
dC1pbmZvL1dIRUVMCkBAIC0wLDAgKzEsNiBAQAorV2hlZWwtVmVyc2lvbjogMS4wCitHZW5lcmF0
b3I6IGJkaXN0X3doZWVsICgwLjMyLjEpCitSb290LUlzLVB1cmVsaWI6IHRydWUKK1RhZzogcHky
LW5vbmUtYW55CitUYWc6IHB5My1ub25lLWFueQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3NpeC9zaXgt
MS4xMy4wLmRpc3QtaW5mby90b3BfbGV2ZWwudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9zaXgvc2l4LTEuMTMuMC5kaXN0
LWluZm8vdG9wX2xldmVsLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZmUyZmNlNDk4OTU1YjYyODAxNDYxOGIy
OGM2YmNmMTUyNDY2YTRhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9zaXgvc2l4LTEuMTMuMC5k
aXN0LWluZm8vdG9wX2xldmVsLnR4dApAQCAtMCwwICsxIEBACitzaXgKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFy
dHkvc2l4L3NpeC0xLjEzLjAuZGlzdC1pbmZvL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9zaXgvc2l4
LTEuMTMuMC5kaXN0LWluZm8vdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzVlMWQyMmNiODYz
MGNjZDIwYzIwM2Q2Mzg5YTVhZTYyNTAwYWY5ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvc2l4
L3NpeC0xLjEzLjAuZGlzdC1pbmZvL3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMjIgQEAKK1Ro
ZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBv
c2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJ
bnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6
Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKKworVGhlbiBydW4gdGhlIFRvb2xz
L1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9U
IG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRp
ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1
aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZp
bGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
dGhpcmRfcGFydHkvc2l4L3NpeC0xLjEzLjAuZGlzdC1pbmZvL0lOU1RBTExFUgorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvc2l4
L3NpeC0xLjEzLjAuZGlzdC1pbmZvL0xJQ0VOU0UKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3NpeC9zaXgtMS4xMy4wLmRpc3Qt
aW5mby9NRVRBREFUQQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvdGhpcmRfcGFydHkvc2l4L3NpeC0xLjEzLjAuZGlzdC1pbmZvL1JFQ09SRAorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFy
dHkvc2l4L3NpeC0xLjEzLjAuZGlzdC1pbmZvL1dIRUVMCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9zaXgvc2l4LTEuMTMuMC5k
aXN0LWluZm8vdG9wX2xldmVsLnR4dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9zaXgvc2l4LnB5IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0
eS9zaXgvc2l4LnB5CmluZGV4IDZiZjRmZDM4MTA0NjIwN2E0Nzk0YWVlMTdiZTZkMjJkYjIzN2Yz
MGEuLmQwYWVjZTg5ZmE0YWFlOTQ4ZDc1ZThlZjIyNzdjZTI0OTUxZWJiMmYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRf
cGFydHkvc2l4L3NpeC5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3NpeC9zaXgucHkKQEAgLTEsNCArMSw0IEBACi0j
IENvcHlyaWdodCAoYykgMjAxMC0yMDE3IEJlbmphbWluIFBldGVyc29uCisjIENvcHlyaWdodCAo
YykgMjAxMC0yMDE5IEJlbmphbWluIFBldGVyc29uCiAjCiAjIFBlcm1pc3Npb24gaXMgaGVyZWJ5
IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkK
ICMgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0
aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwKQEAgLTI5LDcgKzI5LDcgQEAgaW1wb3J0IHN5cwogaW1w
b3J0IHR5cGVzCiAKIF9fYXV0aG9yX18gPSAiQmVuamFtaW4gUGV0ZXJzb24gPGJlbmphbWluQHB5
dGhvbi5vcmc+IgotX192ZXJzaW9uX18gPSAiMS4xMS4wIgorX192ZXJzaW9uX18gPSAiMS4xMy4w
IgogCiAKICMgVXNlZnVsIGZvciB2ZXJ5IGNvYXJzZSB2ZXJzaW9uIGRpZmZlcmVudGlhdGlvbi4K
QEAgLTI1NSw4ICsyNTUsMTAgQEAgX21vdmVkX2F0dHJpYnV0ZXMgPSBbCiAgICAgTW92ZWRBdHRy
aWJ1dGUoInppcF9sb25nZXN0IiwgIml0ZXJ0b29scyIsICJpdGVydG9vbHMiLCAiaXppcF9sb25n
ZXN0IiwgInppcF9sb25nZXN0IiksCiAgICAgTW92ZWRNb2R1bGUoImJ1aWx0aW5zIiwgIl9fYnVp
bHRpbl9fIiksCiAgICAgTW92ZWRNb2R1bGUoImNvbmZpZ3BhcnNlciIsICJDb25maWdQYXJzZXIi
KSwKKyAgICBNb3ZlZE1vZHVsZSgiY29sbGVjdGlvbnNfYWJjIiwgImNvbGxlY3Rpb25zIiwgImNv
bGxlY3Rpb25zLmFiYyIgaWYgc3lzLnZlcnNpb25faW5mbyA+PSAoMywgMykgZWxzZSAiY29sbGVj
dGlvbnMiKSwKICAgICBNb3ZlZE1vZHVsZSgiY29weXJlZyIsICJjb3B5X3JlZyIpLAogICAgIE1v
dmVkTW9kdWxlKCJkYm1fZ251IiwgImdkYm0iLCAiZGJtLmdudSIpLAorICAgIE1vdmVkTW9kdWxl
KCJkYm1fbmRibSIsICJkYm0iLCAiZGJtLm5kYm0iKSwKICAgICBNb3ZlZE1vZHVsZSgiX2R1bW15
X3RocmVhZCIsICJkdW1teV90aHJlYWQiLCAiX2R1bW15X3RocmVhZCIpLAogICAgIE1vdmVkTW9k
dWxlKCJodHRwX2Nvb2tpZWphciIsICJjb29raWVsaWIiLCAiaHR0cC5jb29raWVqYXIiKSwKICAg
ICBNb3ZlZE1vZHVsZSgiaHR0cF9jb29raWVzIiwgIkNvb2tpZSIsICJodHRwLmNvb2tpZXMiKSwK
QEAgLTYzNyw2ICs2MzksNyBAQCBpZiBQWTM6CiAgICAgaW1wb3J0IGlvCiAgICAgU3RyaW5nSU8g
PSBpby5TdHJpbmdJTwogICAgIEJ5dGVzSU8gPSBpby5CeXRlc0lPCisgICAgZGVsIGlvCiAgICAg
X2Fzc2VydENvdW50RXF1YWwgPSAiYXNzZXJ0Q291bnRFcXVhbCIKICAgICBpZiBzeXMudmVyc2lv
bl9pbmZvWzFdIDw9IDE6CiAgICAgICAgIF9hc3NlcnRSYWlzZXNSZWdleCA9ICJhc3NlcnRSYWlz
ZXNSZWdleHAiCkBAIC04MjQsNyArODI3LDE1IEBAIGRlZiB3aXRoX21ldGFjbGFzcyhtZXRhLCAq
YmFzZXMpOgogICAgIGNsYXNzIG1ldGFjbGFzcyh0eXBlKToKIAogICAgICAgICBkZWYgX19uZXdf
XyhjbHMsIG5hbWUsIHRoaXNfYmFzZXMsIGQpOgotICAgICAgICAgICAgcmV0dXJuIG1ldGEobmFt
ZSwgYmFzZXMsIGQpCisgICAgICAgICAgICBpZiBzeXMudmVyc2lvbl9pbmZvWzoyXSA+PSAoMywg
Nyk6CisgICAgICAgICAgICAgICAgIyBUaGlzIHZlcnNpb24gaW50cm9kdWNlZCBQRVAgNTYwIHRo
YXQgcmVxdWlyZXMgYSBiaXQKKyAgICAgICAgICAgICAgICAjIG9mIGV4dHJhIGNhcmUgKHdlIG1p
bWljIHdoYXQgaXMgZG9uZSBieSBfX2J1aWxkX2NsYXNzX18pLgorICAgICAgICAgICAgICAgIHJl
c29sdmVkX2Jhc2VzID0gdHlwZXMucmVzb2x2ZV9iYXNlcyhiYXNlcykKKyAgICAgICAgICAgICAg
ICBpZiByZXNvbHZlZF9iYXNlcyBpcyBub3QgYmFzZXM6CisgICAgICAgICAgICAgICAgICAgIGRb
J19fb3JpZ19iYXNlc19fJ10gPSBiYXNlcworICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAg
ICAgICByZXNvbHZlZF9iYXNlcyA9IGJhc2VzCisgICAgICAgICAgICByZXR1cm4gbWV0YShuYW1l
LCByZXNvbHZlZF9iYXNlcywgZCkKIAogICAgICAgICBAY2xhc3NtZXRob2QKICAgICAgICAgZGVm
IF9fcHJlcGFyZV9fKGNscywgbmFtZSwgdGhpc19iYXNlcyk6CkBAIC04NDQsMTMgKzg1NSw3NCBA
QCBkZWYgYWRkX21ldGFjbGFzcyhtZXRhY2xhc3MpOgogICAgICAgICAgICAgICAgIG9yaWdfdmFy
cy5wb3Aoc2xvdHNfdmFyKQogICAgICAgICBvcmlnX3ZhcnMucG9wKCdfX2RpY3RfXycsIE5vbmUp
CiAgICAgICAgIG9yaWdfdmFycy5wb3AoJ19fd2Vha3JlZl9fJywgTm9uZSkKKyAgICAgICAgaWYg
aGFzYXR0cihjbHMsICdfX3F1YWxuYW1lX18nKToKKyAgICAgICAgICAgIG9yaWdfdmFyc1snX19x
dWFsbmFtZV9fJ10gPSBjbHMuX19xdWFsbmFtZV9fCiAgICAgICAgIHJldHVybiBtZXRhY2xhc3Mo
Y2xzLl9fbmFtZV9fLCBjbHMuX19iYXNlc19fLCBvcmlnX3ZhcnMpCiAgICAgcmV0dXJuIHdyYXBw
ZXIKIAogCitkZWYgZW5zdXJlX2JpbmFyeShzLCBlbmNvZGluZz0ndXRmLTgnLCBlcnJvcnM9J3N0
cmljdCcpOgorICAgICIiIkNvZXJjZSAqKnMqKiB0byBzaXguYmluYXJ5X3R5cGUuCisKKyAgICBG
b3IgUHl0aG9uIDI6CisgICAgICAtIGB1bmljb2RlYCAtPiBlbmNvZGVkIHRvIGBzdHJgCisgICAg
ICAtIGBzdHJgIC0+IGBzdHJgCisKKyAgICBGb3IgUHl0aG9uIDM6CisgICAgICAtIGBzdHJgIC0+
IGVuY29kZWQgdG8gYGJ5dGVzYAorICAgICAgLSBgYnl0ZXNgIC0+IGBieXRlc2AKKyAgICAiIiIK
KyAgICBpZiBpc2luc3RhbmNlKHMsIHRleHRfdHlwZSk6CisgICAgICAgIHJldHVybiBzLmVuY29k
ZShlbmNvZGluZywgZXJyb3JzKQorICAgIGVsaWYgaXNpbnN0YW5jZShzLCBiaW5hcnlfdHlwZSk6
CisgICAgICAgIHJldHVybiBzCisgICAgZWxzZToKKyAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJu
b3QgZXhwZWN0aW5nIHR5cGUgJyVzJyIgJSB0eXBlKHMpKQorCisKK2RlZiBlbnN1cmVfc3RyKHMs
IGVuY29kaW5nPSd1dGYtOCcsIGVycm9ycz0nc3RyaWN0Jyk6CisgICAgIiIiQ29lcmNlICpzKiB0
byBgc3RyYC4KKworICAgIEZvciBQeXRob24gMjoKKyAgICAgIC0gYHVuaWNvZGVgIC0+IGVuY29k
ZWQgdG8gYHN0cmAKKyAgICAgIC0gYHN0cmAgLT4gYHN0cmAKKworICAgIEZvciBQeXRob24gMzoK
KyAgICAgIC0gYHN0cmAgLT4gYHN0cmAKKyAgICAgIC0gYGJ5dGVzYCAtPiBkZWNvZGVkIHRvIGBz
dHJgCisgICAgIiIiCisgICAgaWYgbm90IGlzaW5zdGFuY2UocywgKHRleHRfdHlwZSwgYmluYXJ5
X3R5cGUpKToKKyAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJub3QgZXhwZWN0aW5nIHR5cGUgJyVz
JyIgJSB0eXBlKHMpKQorICAgIGlmIFBZMiBhbmQgaXNpbnN0YW5jZShzLCB0ZXh0X3R5cGUpOgor
ICAgICAgICBzID0gcy5lbmNvZGUoZW5jb2RpbmcsIGVycm9ycykKKyAgICBlbGlmIFBZMyBhbmQg
aXNpbnN0YW5jZShzLCBiaW5hcnlfdHlwZSk6CisgICAgICAgIHMgPSBzLmRlY29kZShlbmNvZGlu
ZywgZXJyb3JzKQorICAgIHJldHVybiBzCisKKworZGVmIGVuc3VyZV90ZXh0KHMsIGVuY29kaW5n
PSd1dGYtOCcsIGVycm9ycz0nc3RyaWN0Jyk6CisgICAgIiIiQ29lcmNlICpzKiB0byBzaXgudGV4
dF90eXBlLgorCisgICAgRm9yIFB5dGhvbiAyOgorICAgICAgLSBgdW5pY29kZWAgLT4gYHVuaWNv
ZGVgCisgICAgICAtIGBzdHJgIC0+IGB1bmljb2RlYAorCisgICAgRm9yIFB5dGhvbiAzOgorICAg
ICAgLSBgc3RyYCAtPiBgc3RyYAorICAgICAgLSBgYnl0ZXNgIC0+IGRlY29kZWQgdG8gYHN0cmAK
KyAgICAiIiIKKyAgICBpZiBpc2luc3RhbmNlKHMsIGJpbmFyeV90eXBlKToKKyAgICAgICAgcmV0
dXJuIHMuZGVjb2RlKGVuY29kaW5nLCBlcnJvcnMpCisgICAgZWxpZiBpc2luc3RhbmNlKHMsIHRl
eHRfdHlwZSk6CisgICAgICAgIHJldHVybiBzCisgICAgZWxzZToKKyAgICAgICAgcmFpc2UgVHlw
ZUVycm9yKCJub3QgZXhwZWN0aW5nIHR5cGUgJyVzJyIgJSB0eXBlKHMpKQorCisKKwogZGVmIHB5
dGhvbl8yX3VuaWNvZGVfY29tcGF0aWJsZShrbGFzcyk6CiAgICAgIiIiCi0gICAgQSBkZWNvcmF0
b3IgdGhhdCBkZWZpbmVzIF9fdW5pY29kZV9fIGFuZCBfX3N0cl9fIG1ldGhvZHMgdW5kZXIgUHl0
aG9uIDIuCisgICAgQSBjbGFzcyBkZWNvcmF0b3IgdGhhdCBkZWZpbmVzIF9fdW5pY29kZV9fIGFu
ZCBfX3N0cl9fIG1ldGhvZHMgdW5kZXIgUHl0aG9uIDIuCiAgICAgVW5kZXIgUHl0aG9uIDMgaXQg
ZG9lcyBub3RoaW5nLgogCiAgICAgVG8gc3VwcG9ydCBQeXRob24gMiBhbmQgMyB3aXRoIGEgc2lu
Z2xlIGNvZGUgYmFzZSwgZGVmaW5lIGEgX19zdHJfXyBtZXRob2QKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkv
c2l4L3Rlc3Rfc2l4LnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy90aGlyZF9wYXJ0eS9zaXgvdGVzdF9zaXgucHkKaW5kZXggNDNlNzQyNmRlYTEy
NDFiYmQzNzFkMmYyNGY2M2Y1MTA0MjdhNTE5Zi4uM2VlZmNlMzdjMzI4ZDdiMTViMjNlZTgzZGQ4
OThjNGIzZTU3NjMzZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9zaXgvdGVzdF9zaXgucHkKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0
eS9zaXgvdGVzdF9zaXgucHkKQEAgLTEsNCArMSw0IEBACi0jIENvcHlyaWdodCAoYykgMjAxMC0y
MDE3IEJlbmphbWluIFBldGVyc29uCisjIENvcHlyaWdodCAoYykgMjAxMC0yMDE5IEJlbmphbWlu
IFBldGVyc29uCiAjCiAjIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hh
cmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkKICMgb2YgdGhpcyBzb2Z0d2FyZSBh
bmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRl
YWwKQEAgLTIyLDggKzIyLDkgQEAgaW1wb3J0IG9wZXJhdG9yCiBpbXBvcnQgc3lzCiBpbXBvcnQg
dHlwZXMKIGltcG9ydCB1bml0dGVzdAoraW1wb3J0IGFiYwogCi1pbXBvcnQgcHkKK2ltcG9ydCBw
eXRlc3QKIAogaW1wb3J0IHNpeAogCkBAIC04MCw3ICs4MSw3IEBAIGRlZiB0ZXN0X01BWFNJWkUo
KToKICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CiAgICAgICAgICMgQmVmb3JlIFB5dGhvbiAy
LjYuCiAgICAgICAgIHBhc3MKLSAgICBweS50ZXN0LnJhaXNlcygKKyAgICBweXRlc3QucmFpc2Vz
KAogICAgICAgICAoVmFsdWVFcnJvciwgT3ZlcmZsb3dFcnJvciksCiAgICAgICAgIG9wZXJhdG9y
Lm11bCwgW05vbmVdLCBzaXguTUFYU0laRSArIDEpCiAKQEAgLTExMiw3ICsxMTMsNyBAQCBleGNl
cHQgSW1wb3J0RXJyb3I6CiAgICAgZXhjZXB0IEltcG9ydEVycm9yOgogICAgICAgICBoYXZlX2dk
Ym0gPSBGYWxzZQogCi1AcHkudGVzdC5tYXJrLnBhcmFtZXRyaXplKCJpdGVtX25hbWUiLAorQHB5
dGVzdC5tYXJrLnBhcmFtZXRyaXplKCJpdGVtX25hbWUiLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICBbaXRlbS5uYW1lIGZvciBpdGVtIGluIHNpeC5fbW92ZWRfYXR0cmlidXRlc10pCiBkZWYg
dGVzdF9tb3ZlX2l0ZW1zKGl0ZW1fbmFtZSk6CiAgICAgIiIiRW5zdXJlIHRoYXQgZXZlcnl0aGlu
ZyBsb2FkcyBjb3JyZWN0bHkuIiIiCkBAIC0xMjIsMzYgKzEyMywzNiBAQCBkZWYgdGVzdF9tb3Zl
X2l0ZW1zKGl0ZW1fbmFtZSk6CiAgICAgICAgICAgICBfX2ltcG9ydF9fKCJzaXgubW92ZXMuIiAr
IGl0ZW1fbmFtZSkKICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CiAgICAgICAgIGlmIGl0ZW1f
bmFtZSA9PSAiemlwX2xvbmdlc3QiIGFuZCBzeXMudmVyc2lvbl9pbmZvIDwgKDIsIDYpOgotICAg
ICAgICAgICAgcHkudGVzdC5za2lwKCJ6aXBfbG9uZ2VzdCBvbmx5IGF2YWlsYWJsZSBvbiAyLjYr
IikKKyAgICAgICAgICAgIHB5dGVzdC5za2lwKCJ6aXBfbG9uZ2VzdCBvbmx5IGF2YWlsYWJsZSBv
biAyLjYrIikKICAgICBleGNlcHQgSW1wb3J0RXJyb3I6CiAgICAgICAgIGlmIGl0ZW1fbmFtZSA9
PSAid2lucmVnIiBhbmQgbm90IHN5cy5wbGF0Zm9ybS5zdGFydHN3aXRoKCJ3aW4iKToKLSAgICAg
ICAgICAgIHB5LnRlc3Quc2tpcCgiV2luZG93cyBvbmx5IG1vZHVsZSIpCisgICAgICAgICAgICBw
eXRlc3Quc2tpcCgiV2luZG93cyBvbmx5IG1vZHVsZSIpCiAgICAgICAgIGlmIGl0ZW1fbmFtZS5z
dGFydHN3aXRoKCJ0a2ludGVyIik6CiAgICAgICAgICAgICBpZiBub3QgaGF2ZV90a2ludGVyOgot
ICAgICAgICAgICAgICAgIHB5LnRlc3Quc2tpcCgicmVxdWlyZXMgdGtpbnRlciIpCisgICAgICAg
ICAgICAgICAgcHl0ZXN0LnNraXAoInJlcXVpcmVzIHRraW50ZXIiKQogICAgICAgICAgICAgaWYg
aXRlbV9uYW1lID09ICJ0a2ludGVyX3R0ayIgYW5kIHN5cy52ZXJzaW9uX2luZm9bOjJdIDw9ICgy
LCA2KToKLSAgICAgICAgICAgICAgICBweS50ZXN0LnNraXAoInR0ayBvbmx5IGF2YWlsYWJsZSBv
biAyLjcrIikKKyAgICAgICAgICAgICAgICBweXRlc3Quc2tpcCgidHRrIG9ubHkgYXZhaWxhYmxl
IG9uIDIuNysiKQogICAgICAgICBpZiBpdGVtX25hbWUuc3RhcnRzd2l0aCgiZGJtX2dudSIpIGFu
ZCBub3QgaGF2ZV9nZGJtOgotICAgICAgICAgICAgcHkudGVzdC5za2lwKCJyZXF1aXJlcyBnZGJt
IikKKyAgICAgICAgICAgIHB5dGVzdC5za2lwKCJyZXF1aXJlcyBnZGJtIikKICAgICAgICAgcmFp
c2UKICAgICBpZiBzeXMudmVyc2lvbl9pbmZvWzoyXSA+PSAoMiwgNik6CiAgICAgICAgIGFzc2Vy
dCBpdGVtX25hbWUgaW4gZGlyKHNpeC5tb3ZlcykKIAogCi1AcHkudGVzdC5tYXJrLnBhcmFtZXRy
aXplKCJpdGVtX25hbWUiLAorQHB5dGVzdC5tYXJrLnBhcmFtZXRyaXplKCJpdGVtX25hbWUiLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICBbaXRlbS5uYW1lIGZvciBpdGVtIGluIHNpeC5fdXJs
bGliX3BhcnNlX21vdmVkX2F0dHJpYnV0ZXNdKQogZGVmIHRlc3RfbW92ZV9pdGVtc191cmxsaWJf
cGFyc2UoaXRlbV9uYW1lKToKICAgICAiIiJFbnN1cmUgdGhhdCBldmVyeXRoaW5nIGxvYWRzIGNv
cnJlY3RseS4iIiIKICAgICBpZiBpdGVtX25hbWUgPT0gIlBhcnNlUmVzdWx0IiBhbmQgc3lzLnZl
cnNpb25faW5mbyA8ICgyLCA1KToKLSAgICAgICAgcHkudGVzdC5za2lwKCJQYXJzZVJlc3VsdCBp
cyBvbmx5IGZvdW5kIG9uIDIuNSsiKQorICAgICAgICBweXRlc3Quc2tpcCgiUGFyc2VSZXN1bHQg
aXMgb25seSBmb3VuZCBvbiAyLjUrIikKICAgICBpZiBpdGVtX25hbWUgaW4gKCJwYXJzZV9xcyIs
ICJwYXJzZV9xc2wiKSBhbmQgc3lzLnZlcnNpb25faW5mbyA8ICgyLCA2KToKLSAgICAgICAgcHku
dGVzdC5za2lwKCJwYXJzZV9xc1tsXSBpcyBuZXcgaW4gMi42IikKKyAgICAgICAgcHl0ZXN0LnNr
aXAoInBhcnNlX3FzW2xdIGlzIG5ldyBpbiAyLjYiKQogICAgIGlmIHN5cy52ZXJzaW9uX2luZm9b
OjJdID49ICgyLCA2KToKICAgICAgICAgYXNzZXJ0IGl0ZW1fbmFtZSBpbiBkaXIoc2l4Lm1vdmVz
LnVybGxpYi5wYXJzZSkKICAgICBnZXRhdHRyKHNpeC5tb3Zlcy51cmxsaWIucGFyc2UsIGl0ZW1f
bmFtZSkKIAogCi1AcHkudGVzdC5tYXJrLnBhcmFtZXRyaXplKCJpdGVtX25hbWUiLAorQHB5dGVz
dC5tYXJrLnBhcmFtZXRyaXplKCJpdGVtX25hbWUiLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICBbaXRlbS5uYW1lIGZvciBpdGVtIGluIHNpeC5fdXJsbGliX2Vycm9yX21vdmVkX2F0dHJpYnV0
ZXNdKQogZGVmIHRlc3RfbW92ZV9pdGVtc191cmxsaWJfZXJyb3IoaXRlbV9uYW1lKToKICAgICAi
IiJFbnN1cmUgdGhhdCBldmVyeXRoaW5nIGxvYWRzIGNvcnJlY3RseS4iIiIKQEAgLTE2MCw3ICsx
NjEsNyBAQCBkZWYgdGVzdF9tb3ZlX2l0ZW1zX3VybGxpYl9lcnJvcihpdGVtX25hbWUpOgogICAg
IGdldGF0dHIoc2l4Lm1vdmVzLnVybGxpYi5lcnJvciwgaXRlbV9uYW1lKQogCiAKLUBweS50ZXN0
Lm1hcmsucGFyYW1ldHJpemUoIml0ZW1fbmFtZSIsCitAcHl0ZXN0Lm1hcmsucGFyYW1ldHJpemUo
Iml0ZW1fbmFtZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpdGVtLm5hbWUgZm9yIGl0
ZW0gaW4gc2l4Ll91cmxsaWJfcmVxdWVzdF9tb3ZlZF9hdHRyaWJ1dGVzXSkKIGRlZiB0ZXN0X21v
dmVfaXRlbXNfdXJsbGliX3JlcXVlc3QoaXRlbV9uYW1lKToKICAgICAiIiJFbnN1cmUgdGhhdCBl
dmVyeXRoaW5nIGxvYWRzIGNvcnJlY3RseS4iIiIKQEAgLTE2OSw3ICsxNzAsNyBAQCBkZWYgdGVz
dF9tb3ZlX2l0ZW1zX3VybGxpYl9yZXF1ZXN0KGl0ZW1fbmFtZSk6CiAgICAgZ2V0YXR0cihzaXgu
bW92ZXMudXJsbGliLnJlcXVlc3QsIGl0ZW1fbmFtZSkKIAogCi1AcHkudGVzdC5tYXJrLnBhcmFt
ZXRyaXplKCJpdGVtX25hbWUiLAorQHB5dGVzdC5tYXJrLnBhcmFtZXRyaXplKCJpdGVtX25hbWUi
LAogICAgICAgICAgICAgICAgICAgICAgICAgICBbaXRlbS5uYW1lIGZvciBpdGVtIGluIHNpeC5f
dXJsbGliX3Jlc3BvbnNlX21vdmVkX2F0dHJpYnV0ZXNdKQogZGVmIHRlc3RfbW92ZV9pdGVtc191
cmxsaWJfcmVzcG9uc2UoaXRlbV9uYW1lKToKICAgICAiIiJFbnN1cmUgdGhhdCBldmVyeXRoaW5n
IGxvYWRzIGNvcnJlY3RseS4iIiIKQEAgLTE3OCw3ICsxNzksNyBAQCBkZWYgdGVzdF9tb3ZlX2l0
ZW1zX3VybGxpYl9yZXNwb25zZShpdGVtX25hbWUpOgogICAgIGdldGF0dHIoc2l4Lm1vdmVzLnVy
bGxpYi5yZXNwb25zZSwgaXRlbV9uYW1lKQogCiAKLUBweS50ZXN0Lm1hcmsucGFyYW1ldHJpemUo
Iml0ZW1fbmFtZSIsCitAcHl0ZXN0Lm1hcmsucGFyYW1ldHJpemUoIml0ZW1fbmFtZSIsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFtpdGVtLm5hbWUgZm9yIGl0ZW0gaW4gc2l4Ll91cmxsaWJf
cm9ib3RwYXJzZXJfbW92ZWRfYXR0cmlidXRlc10pCiBkZWYgdGVzdF9tb3ZlX2l0ZW1zX3VybGxp
Yl9yb2JvdHBhcnNlcihpdGVtX25hbWUpOgogICAgICIiIkVuc3VyZSB0aGF0IGV2ZXJ5dGhpbmcg
bG9hZHMgY29ycmVjdGx5LiIiIgpAQCAtMjQzLDcgKzI0NCw3IEBAIGRlZiB0ZXN0X3ppcCgpOgog
ICAgIGFzc2VydCBzaXguYWR2YW5jZV9pdGVyYXRvcih6aXAocmFuZ2UoMiksIHJhbmdlKDIpKSkg
PT0gKDAsIDApCiAKIAotQHB5LnRlc3QubWFyay5za2lwaWYoInN5cy52ZXJzaW9uX2luZm8gPCAo
MiwgNikiKQorQHB5dGVzdC5tYXJrLnNraXBpZigic3lzLnZlcnNpb25faW5mbyA8ICgyLCA2KSIp
CiBkZWYgdGVzdF96aXBfbG9uZ2VzdCgpOgogICAgIGZyb20gc2l4Lm1vdmVzIGltcG9ydCB6aXBf
bG9uZ2VzdAogICAgIGl0ID0gemlwX2xvbmdlc3QocmFuZ2UoMiksIHJhbmdlKDEpKQpAQCAtMzIx
LDcgKzMyMiw3IEBAIGNsYXNzIFRlc3RDdXN0b21pemVkTW92ZXM6CiAKIAogICAgIGRlZiB0ZXN0
X2VtcHR5X3JlbW92ZShzZWxmKToKLSAgICAgICAgcHkudGVzdC5yYWlzZXMoQXR0cmlidXRlRXJy
b3IsIHNpeC5yZW1vdmVfbW92ZSwgImVnZ3MiKQorICAgICAgICBweXRlc3QucmFpc2VzKEF0dHJp
YnV0ZUVycm9yLCBzaXgucmVtb3ZlX21vdmUsICJlZ2dzIikKIAogCiBkZWYgdGVzdF9nZXRfdW5i
b3VuZF9mdW5jdGlvbigpOgpAQCAtMzM3LDcgKzMzOCw3IEBAIGRlZiB0ZXN0X2dldF9tZXRob2Rf
c2VsZigpOgogICAgICAgICAgICAgcGFzcwogICAgIHggPSBYKCkKICAgICBhc3NlcnQgc2l4Lmdl
dF9tZXRob2Rfc2VsZih4Lm0pIGlzIHgKLSAgICBweS50ZXN0LnJhaXNlcyhBdHRyaWJ1dGVFcnJv
ciwgc2l4LmdldF9tZXRob2Rfc2VsZiwgNDIpCisgICAgcHl0ZXN0LnJhaXNlcyhBdHRyaWJ1dGVF
cnJvciwgc2l4LmdldF9tZXRob2Rfc2VsZiwgNDIpCiAKIAogZGVmIHRlc3RfZ2V0X21ldGhvZF9m
dW5jdGlvbigpOgpAQCAtMzQ2LDcgKzM0Nyw3IEBAIGRlZiB0ZXN0X2dldF9tZXRob2RfZnVuY3Rp
b24oKToKICAgICAgICAgICAgIHBhc3MKICAgICB4ID0gWCgpCiAgICAgYXNzZXJ0IHNpeC5nZXRf
bWV0aG9kX2Z1bmN0aW9uKHgubSkgaXMgWC5fX2RpY3RfX1sibSJdCi0gICAgcHkudGVzdC5yYWlz
ZXMoQXR0cmlidXRlRXJyb3IsIHNpeC5nZXRfbWV0aG9kX2Z1bmN0aW9uLCBoYXNhdHRyKQorICAg
IHB5dGVzdC5yYWlzZXMoQXR0cmlidXRlRXJyb3IsIHNpeC5nZXRfbWV0aG9kX2Z1bmN0aW9uLCBo
YXNhdHRyKQogCiAKIGRlZiB0ZXN0X2dldF9mdW5jdGlvbl9jbG9zdXJlKCk6CkBAIC0zNjQsNyAr
MzY1LDcgQEAgZGVmIHRlc3RfZ2V0X2Z1bmN0aW9uX2NvZGUoKToKICAgICAgICAgcGFzcwogICAg
IGFzc2VydCBpc2luc3RhbmNlKHNpeC5nZXRfZnVuY3Rpb25fY29kZShmKSwgdHlwZXMuQ29kZVR5
cGUpCiAgICAgaWYgbm90IGhhc2F0dHIoc3lzLCAicHlweV92ZXJzaW9uX2luZm8iKToKLSAgICAg
ICAgcHkudGVzdC5yYWlzZXMoQXR0cmlidXRlRXJyb3IsIHNpeC5nZXRfZnVuY3Rpb25fY29kZSwg
aGFzYXR0cikKKyAgICAgICAgcHl0ZXN0LnJhaXNlcyhBdHRyaWJ1dGVFcnJvciwgc2l4LmdldF9m
dW5jdGlvbl9jb2RlLCBoYXNhdHRyKQogCiAKIGRlZiB0ZXN0X2dldF9mdW5jdGlvbl9kZWZhdWx0
cygpOgpAQCAtNDA0LDcgKzQwNSw3IEBAIGRlZiB0ZXN0X2RpY3Rpb25hcnlfaXRlcmF0b3JzKG1v
bmtleXBhdGNoKToKICAgICAgICAgaXQgPSBtZXRoKGQpCiAgICAgICAgIGFzc2VydCBub3QgaXNp
bnN0YW5jZShpdCwgbGlzdCkKICAgICAgICAgYXNzZXJ0IGxpc3QoaXQpID09IGxpc3QoZ2V0YXR0
cihkLCBuYW1lKSgpKQotICAgICAgICBweS50ZXN0LnJhaXNlcyhTdG9wSXRlcmF0aW9uLCBzaXgu
YWR2YW5jZV9pdGVyYXRvciwgaXQpCisgICAgICAgIHB5dGVzdC5yYWlzZXMoU3RvcEl0ZXJhdGlv
biwgc2l4LmFkdmFuY2VfaXRlcmF0b3IsIGl0KQogICAgICAgICByZWNvcmQgPSBbXQogICAgICAg
ICBkZWYgd2l0aF9rdygqYXJncywgKiprdyk6CiAgICAgICAgICAgICByZWNvcmQuYXBwZW5kKGt3
WyJrdyJdKQpAQCAtNDE2LDE3ICs0MTcsOSBAQCBkZWYgdGVzdF9kaWN0aW9uYXJ5X2l0ZXJhdG9y
cyhtb25rZXlwYXRjaCk6CiAgICAgICAgIG1vbmtleXBhdGNoLnVuZG8oKQogCiAKLUBweS50ZXN0
Lm1hcmsuc2tpcGlmKCJzeXMudmVyc2lvbl9pbmZvWzoyXSA8ICgyLCA3KSIsCitAcHl0ZXN0Lm1h
cmsuc2tpcGlmKCJzeXMudmVyc2lvbl9pbmZvWzoyXSA8ICgyLCA3KSIsCiAgICAgICAgICAgICAg
ICAgcmVhc29uPSJ2aWV3IG1ldGhvZHMgb24gZGljdGlvbmFyaWVzIG9ubHkgYXZhaWxhYmxlIG9u
IDIuNysiKQogZGVmIHRlc3RfZGljdGlvbmFyeV92aWV3cygpOgotICAgIGRlZiBzdG9ja19tZXRo
b2RfbmFtZSh2aWV3d2hhdCk6Ci0gICAgICAgICIiIkdpdmVuIGEgbWV0aG9kIHN1ZmZpeCBsaWtl
ICJrZXlzIiBvciAidmFsdWVzIiwgcmV0dXJuIHRoZSBuYW1lCi0gICAgICAgIG9mIHRoZSBkaWN0
IG1ldGhvZCB0aGF0IGRlbGl2ZXJzIHRob3NlIG9uIHRoZSB2ZXJzaW9uIG9mIFB5dGhvbgotICAg
ICAgICB3ZSdyZSBydW5uaW5nIGluLiIiIgotICAgICAgICBpZiBzaXguUFkzOgotICAgICAgICAg
ICAgcmV0dXJuIHZpZXd3aGF0Ci0gICAgICAgIHJldHVybiAndmlldycgKyB2aWV3d2hhdAotCiAg
ICAgZCA9IGRpY3QoemlwKHJhbmdlKDEwKSwgKHJhbmdlKDExLCAyMCkpKSkKICAgICBmb3IgbmFt
ZSBpbiAia2V5cyIsICJ2YWx1ZXMiLCAiaXRlbXMiOgogICAgICAgICBtZXRoID0gZ2V0YXR0cihz
aXgsICJ2aWV3IiArIG5hbWUpCkBAIC00NDAsOCArNDMzLDggQEAgZGVmIHRlc3RfYWR2YW5jZV9p
dGVyYXRvcigpOgogICAgIGl0ID0gaXRlcihsKQogICAgIGFzc2VydCBzaXgubmV4dChpdCkgPT0g
MQogICAgIGFzc2VydCBzaXgubmV4dChpdCkgPT0gMgotICAgIHB5LnRlc3QucmFpc2VzKFN0b3BJ
dGVyYXRpb24sIHNpeC5uZXh0LCBpdCkKLSAgICBweS50ZXN0LnJhaXNlcyhTdG9wSXRlcmF0aW9u
LCBzaXgubmV4dCwgaXQpCisgICAgcHl0ZXN0LnJhaXNlcyhTdG9wSXRlcmF0aW9uLCBzaXgubmV4
dCwgaXQpCisgICAgcHl0ZXN0LnJhaXNlcyhTdG9wSXRlcmF0aW9uLCBzaXgubmV4dCwgaXQpCiAK
IAogZGVmIHRlc3RfaXRlcmF0b3IoKToKQEAgLTQ4OSw3ICs0ODIsNyBAQCBkZWYgdGVzdF9jcmVh
dGVfdW5ib3VuZF9tZXRob2QoKToKICAgICBkZWYgZihzZWxmKToKICAgICAgICAgcmV0dXJuIHNl
bGYKICAgICB1ID0gc2l4LmNyZWF0ZV91bmJvdW5kX21ldGhvZChmLCBYKQotICAgIHB5LnRlc3Qu
cmFpc2VzKFR5cGVFcnJvciwgdSkKKyAgICBweXRlc3QucmFpc2VzKFR5cGVFcnJvciwgdSkKICAg
ICBpZiBzaXguUFkyOgogICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZSh1LCB0eXBlcy5NZXRob2RU
eXBlKQogICAgIHggPSBYKCkKQEAgLTUzNywxMyArNTMwLDEzIEBAIGRlZiB0ZXN0X3VuaWNocigp
OgogCiBkZWYgdGVzdF9pbnQyYnl0ZSgpOgogICAgIGFzc2VydCBzaXguaW50MmJ5dGUoMykgPT0g
c2l4LmIoIlx4MDMiKQotICAgIHB5LnRlc3QucmFpc2VzKEV4Y2VwdGlvbiwgc2l4LmludDJieXRl
LCAyNTYpCisgICAgcHl0ZXN0LnJhaXNlcyhFeGNlcHRpb24sIHNpeC5pbnQyYnl0ZSwgMjU2KQog
CiAKIGRlZiB0ZXN0X2J5dGUyaW50KCk6CiAgICAgYXNzZXJ0IHNpeC5ieXRlMmludChzaXguYigi
XHgwMyIpKSA9PSAzCiAgICAgYXNzZXJ0IHNpeC5ieXRlMmludChzaXguYigiXHgwM1x4MDQiKSkg
PT0gMwotICAgIHB5LnRlc3QucmFpc2VzKEluZGV4RXJyb3IsIHNpeC5ieXRlMmludCwgc2l4LmIo
IiIpKQorICAgIHB5dGVzdC5yYWlzZXMoSW5kZXhFcnJvciwgc2l4LmJ5dGUyaW50LCBzaXguYigi
IikpCiAKIAogZGVmIHRlc3RfYnl0ZXNpbmRleCgpOgpAQCAtNTU0LDcgKzU0Nyw3IEBAIGRlZiB0
ZXN0X2J5dGVzaXRlcigpOgogICAgIGl0ID0gc2l4Lml0ZXJieXRlcyhzaXguYigiaGkiKSkKICAg
ICBhc3NlcnQgc2l4Lm5leHQoaXQpID09IG9yZCgiaCIpCiAgICAgYXNzZXJ0IHNpeC5uZXh0KGl0
KSA9PSBvcmQoImkiKQotICAgIHB5LnRlc3QucmFpc2VzKFN0b3BJdGVyYXRpb24sIHNpeC5uZXh0
LCBpdCkKKyAgICBweXRlc3QucmFpc2VzKFN0b3BJdGVyYXRpb24sIHNpeC5uZXh0LCBpdCkKIAog
CiBkZWYgdGVzdF9TdHJpbmdJTygpOgpAQCAtNjg5LDcgKzY4Miw3IEBAIGRlZiB0ZXN0X3ByaW50
XygpOgogICAgIGFzc2VydCBvdXQuZmx1c2hlZAogCiAKLUBweS50ZXN0Lm1hcmsuc2tpcGlmKCJz
eXMudmVyc2lvbl9pbmZvWzoyXSA+PSAoMiwgNikiKQorQHB5dGVzdC5tYXJrLnNraXBpZigic3lz
LnZlcnNpb25faW5mb1s6Ml0gPj0gKDIsIDYpIikKIGRlZiB0ZXN0X3ByaW50X2VuY29kaW5nKG1v
bmtleXBhdGNoKToKICAgICAjIEZvb2wgdGhlIHR5cGUgY2hlY2tpbmcgaW4gcHJpbnRfLgogICAg
IG1vbmtleXBhdGNoLnNldGF0dHIoc2l4LCAiZmlsZSIsIHNpeC5CeXRlc0lPLCByYWlzaW5nPUZh
bHNlKQpAQCAtNzAxLDE2ICs2OTQsMTYgQEAgZGVmIHRlc3RfcHJpbnRfZW5jb2RpbmcobW9ua2V5
cGF0Y2gpOgogICAgIG91dCA9IHNpeC5CeXRlc0lPKCkKICAgICBvdXQuZW5jb2RpbmcgPSAiYXNj
aWkiCiAgICAgb3V0LmVycm9ycyA9ICJzdHJpY3QiCi0gICAgcHkudGVzdC5yYWlzZXMoVW5pY29k
ZUVuY29kZUVycm9yLCBzaXgucHJpbnRfLCBzaXgudSgiXHUwNTNjIiksIGZpbGU9b3V0KQorICAg
IHB5dGVzdC5yYWlzZXMoVW5pY29kZUVuY29kZUVycm9yLCBzaXgucHJpbnRfLCBzaXgudSgiXHUw
NTNjIiksIGZpbGU9b3V0KQogICAgIG91dC5lcnJvcnMgPSAiYmFja3NsYXNocmVwbGFjZSIKICAg
ICBzaXgucHJpbnRfKHNpeC51KCJcdTA1M2MiKSwgZW5kPSIiLCBmaWxlPW91dCkKICAgICBhc3Nl
cnQgb3V0LmdldHZhbHVlKCkgPT0gc2l4LmIoIlxcdTA1M2MiKQogCiAKIGRlZiB0ZXN0X3ByaW50
X2V4Y2VwdGlvbnMoKToKLSAgICBweS50ZXN0LnJhaXNlcyhUeXBlRXJyb3IsIHNpeC5wcmludF8s
IHg9MykKLSAgICBweS50ZXN0LnJhaXNlcyhUeXBlRXJyb3IsIHNpeC5wcmludF8sIGVuZD0zKQot
ICAgIHB5LnRlc3QucmFpc2VzKFR5cGVFcnJvciwgc2l4LnByaW50Xywgc2VwPTQyKQorICAgIHB5
dGVzdC5yYWlzZXMoVHlwZUVycm9yLCBzaXgucHJpbnRfLCB4PTMpCisgICAgcHl0ZXN0LnJhaXNl
cyhUeXBlRXJyb3IsIHNpeC5wcmludF8sIGVuZD0zKQorICAgIHB5dGVzdC5yYWlzZXMoVHlwZUVy
cm9yLCBzaXgucHJpbnRfLCBzZXA9NDIpCiAKIAogZGVmIHRlc3Rfd2l0aF9tZXRhY2xhc3MoKToK
QEAgLTc0NCw3ICs3MzcsNTQgQEAgZGVmIHRlc3Rfd2l0aF9tZXRhY2xhc3MoKToKICAgICBhc3Nl
cnQgWS5fX21yb19fID09IChZLCBYLCBvYmplY3QpCiAKIAotQHB5LnRlc3QubWFyay5za2lwaWYo
InN5cy52ZXJzaW9uX2luZm9bOjJdIDwgKDMsIDApIikKK0BweXRlc3QubWFyay5za2lwaWYoInN5
cy52ZXJzaW9uX2luZm9bOjJdIDwgKDIsIDcpIikKK2RlZiB0ZXN0X3dpdGhfbWV0YWNsYXNzX3R5
cGluZygpOgorICAgIHRyeToKKyAgICAgICAgaW1wb3J0IHR5cGluZworICAgIGV4Y2VwdCBJbXBv
cnRFcnJvcjoKKyAgICAgICAgcHl0ZXN0LnNraXAoInR5cGluZyBtb2R1bGUgcmVxdWlyZWQiKQor
ICAgIGNsYXNzIE1ldGEodHlwZSk6CisgICAgICAgIHBhc3MKKyAgICBpZiBzeXMudmVyc2lvbl9p
bmZvWzoyXSA8ICgzLCA3KToKKyAgICAgICAgIyBHZW5lcmljcyB3aXRoIGN1c3RvbSBtZXRhY2xh
c3NlcyB3ZXJlIGJyb2tlbiBvbiBvbGRlciB2ZXJzaW9ucy4KKyAgICAgICAgY2xhc3MgTWV0YShN
ZXRhLCB0eXBpbmcuR2VuZXJpY01ldGEpOgorICAgICAgICAgICAgcGFzcworICAgIFQgPSB0eXBp
bmcuVHlwZVZhcignVCcpCisgICAgY2xhc3MgRyhzaXgud2l0aF9tZXRhY2xhc3MoTWV0YSwgdHlw
aW5nLkdlbmVyaWNbVF0pKToKKyAgICAgICAgcGFzcworICAgIGNsYXNzIEdBKHNpeC53aXRoX21l
dGFjbGFzcyhhYmMuQUJDTWV0YSwgdHlwaW5nLkdlbmVyaWNbVF0pKToKKyAgICAgICAgcGFzcwor
ICAgIGFzc2VydCBpc2luc3RhbmNlKEcsIE1ldGEpCisgICAgYXNzZXJ0IGlzaW5zdGFuY2UoR0Es
IGFiYy5BQkNNZXRhKQorICAgIGFzc2VydCBHW2ludF0gaXMgbm90IEdbR1tpbnRdXQorICAgIGFz
c2VydCBHQVtpbnRdIGlzIG5vdCBHQVtHQVtpbnRdXQorICAgIGFzc2VydCBHLl9fYmFzZXNfXyA9
PSAodHlwaW5nLkdlbmVyaWMsKQorICAgIGFzc2VydCBHLl9fb3JpZ19iYXNlc19fID09ICh0eXBp
bmcuR2VuZXJpY1tUXSwpCisKKworQHB5dGVzdC5tYXJrLnNraXBpZigic3lzLnZlcnNpb25faW5m
b1s6Ml0gPCAoMywgNykiKQorZGVmIHRlc3Rfd2l0aF9tZXRhY2xhc3NfcGVwXzU2MCgpOgorICAg
IGNsYXNzIE1ldGEodHlwZSk6CisgICAgICAgIHBhc3MKKyAgICBjbGFzcyBBOgorICAgICAgICBw
YXNzCisgICAgY2xhc3MgQjoKKyAgICAgICAgcGFzcworICAgIGNsYXNzIEZha2U6CisgICAgICAg
IGRlZiBfX21yb19lbnRyaWVzX18oc2VsZiwgYmFzZXMpOgorICAgICAgICAgICAgcmV0dXJuIChB
LCBCKQorICAgIGZha2UgPSBGYWtlKCkKKyAgICBjbGFzcyBHKHNpeC53aXRoX21ldGFjbGFzcyhN
ZXRhLCBmYWtlKSk6CisgICAgICAgIHBhc3MKKyAgICBjbGFzcyBHQShzaXgud2l0aF9tZXRhY2xh
c3MoYWJjLkFCQ01ldGEsIGZha2UpKToKKyAgICAgICAgcGFzcworICAgIGFzc2VydCBpc2luc3Rh
bmNlKEcsIE1ldGEpCisgICAgYXNzZXJ0IGlzaW5zdGFuY2UoR0EsIGFiYy5BQkNNZXRhKQorICAg
IGFzc2VydCBHLl9fYmFzZXNfXyA9PSAoQSwgQikKKyAgICBhc3NlcnQgRy5fX29yaWdfYmFzZXNf
XyA9PSAoZmFrZSwpCisKKworQHB5dGVzdC5tYXJrLnNraXBpZigic3lzLnZlcnNpb25faW5mb1s6
Ml0gPCAoMywgMCkiKQogZGVmIHRlc3Rfd2l0aF9tZXRhY2xhc3NfcHJlcGFyZSgpOgogICAgICIi
IlRlc3QgdGhhdCB3aXRoX21ldGFjbGFzcyBjYXVzZXMgTWV0YS5fX3ByZXBhcmVfXyB0byBiZSBj
YWxsZWQgd2l0aCB0aGUgY29ycmVjdCBhcmd1bWVudHMuIiIiCiAKQEAgLTg1Nyw3ICs4OTcsNyBA
QCBkZWYgdGVzdF9hZGRfbWV0YWNsYXNzKCk6CiAgICAgYXNzZXJ0IE15U2xvdHMuX19zbG90c19f
ID09IFsiYSIsICJiIl0KICAgICBpbnN0YW5jZSA9IE15U2xvdHMoKQogICAgIGluc3RhbmNlLmEg
PSAiZm9vIgotICAgIHB5LnRlc3QucmFpc2VzKEF0dHJpYnV0ZUVycm9yLCBzZXRhdHRyLCBpbnN0
YW5jZSwgImMiLCAiYmF6IikKKyAgICBweXRlc3QucmFpc2VzKEF0dHJpYnV0ZUVycm9yLCBzZXRh
dHRyLCBpbnN0YW5jZSwgImMiLCAiYmF6IikKIAogICAgICMgVGVzdCBhIGNsYXNzIHdpdGggc3Ry
aW5nIGZvciBzbG90cy4KICAgICBjbGFzcyBNeVN0cmluZ1Nsb3RzKG9iamVjdCk6CkBAIC04NjYs
OCArOTA2LDggQEAgZGVmIHRlc3RfYWRkX21ldGFjbGFzcygpOgogICAgIGFzc2VydCBNeVN0cmlu
Z1Nsb3RzLl9fc2xvdHNfXyA9PSAiYWIiCiAgICAgaW5zdGFuY2UgPSBNeVN0cmluZ1Nsb3RzKCkK
ICAgICBpbnN0YW5jZS5hYiA9ICJmb28iCi0gICAgcHkudGVzdC5yYWlzZXMoQXR0cmlidXRlRXJy
b3IsIHNldGF0dHIsIGluc3RhbmNlLCAiYSIsICJiYXoiKQotICAgIHB5LnRlc3QucmFpc2VzKEF0
dHJpYnV0ZUVycm9yLCBzZXRhdHRyLCBpbnN0YW5jZSwgImIiLCAiYmF6IikKKyAgICBweXRlc3Qu
cmFpc2VzKEF0dHJpYnV0ZUVycm9yLCBzZXRhdHRyLCBpbnN0YW5jZSwgImEiLCAiYmF6IikKKyAg
ICBweXRlc3QucmFpc2VzKEF0dHJpYnV0ZUVycm9yLCBzZXRhdHRyLCBpbnN0YW5jZSwgImIiLCAi
YmF6IikKIAogICAgIGNsYXNzIE15U2xvdHNXZWFrcmVmKG9iamVjdCk6CiAgICAgICAgIF9fc2xv
dHNfXyA9ICJfX3dlYWtyZWZfXyIsCkBAIC04NzUsNyArOTE1LDI3IEBAIGRlZiB0ZXN0X2FkZF9t
ZXRhY2xhc3MoKToKICAgICBhc3NlcnQgdHlwZShNeVNsb3RzV2Vha3JlZikgaXMgTWV0YQogCiAK
LUBweS50ZXN0Lm1hcmsuc2tpcGlmKCJzeXMudmVyc2lvbl9pbmZvWzoyXSA8ICgyLCA3KSBvciBz
eXMudmVyc2lvbl9pbmZvWzoyXSBpbiAoKDMsIDApLCAoMywgMSkpIikKK0BweXRlc3QubWFyay5z
a2lwaWYoInN5cy52ZXJzaW9uX2luZm9bOjJdIDwgKDMsIDMpIikKK2RlZiB0ZXN0X2FkZF9tZXRh
Y2xhc3NfbmVzdGVkKCk6CisgICAgIyBSZWdyZXNzaW9uIHRlc3QgZm9yIGh0dHBzOi8vZ2l0aHVi
LmNvbS9iZW5qYW1pbnAvc2l4L2lzc3Vlcy8yNTkKKyAgICBjbGFzcyBNZXRhKHR5cGUpOgorICAg
ICAgICBwYXNzCisKKyAgICBjbGFzcyBBOgorICAgICAgICBjbGFzcyBCOiBwYXNzCisKKyAgICBl
eHBlY3RlZCA9ICd0ZXN0X2FkZF9tZXRhY2xhc3NfbmVzdGVkLjxsb2NhbHM+LkEuQicKKworICAg
IGFzc2VydCBBLkIuX19xdWFsbmFtZV9fID09IGV4cGVjdGVkCisKKyAgICBjbGFzcyBBOgorICAg
ICAgICBAc2l4LmFkZF9tZXRhY2xhc3MoTWV0YSkKKyAgICAgICAgY2xhc3MgQjogcGFzcworCisg
ICAgYXNzZXJ0IEEuQi5fX3F1YWxuYW1lX18gPT0gZXhwZWN0ZWQKKworCitAcHl0ZXN0Lm1hcmsu
c2tpcGlmKCJzeXMudmVyc2lvbl9pbmZvWzoyXSA8ICgyLCA3KSBvciBzeXMudmVyc2lvbl9pbmZv
WzoyXSBpbiAoKDMsIDApLCAoMywgMSkpIikKIGRlZiB0ZXN0X2Fzc2VydENvdW50RXF1YWwoKToK
ICAgICBjbGFzcyBUZXN0QXNzZXJ0Q291bnRFcXVhbCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAg
ICAgIGRlZiB0ZXN0KHNlbGYpOgpAQCAtODg3LDcgKzk0Nyw3IEBAIGRlZiB0ZXN0X2Fzc2VydENv
dW50RXF1YWwoKToKICAgICBUZXN0QXNzZXJ0Q291bnRFcXVhbCgndGVzdCcpLnRlc3QoKQogCiAK
LUBweS50ZXN0Lm1hcmsuc2tpcGlmKCJzeXMudmVyc2lvbl9pbmZvWzoyXSA8ICgyLCA3KSIpCitA
cHl0ZXN0Lm1hcmsuc2tpcGlmKCJzeXMudmVyc2lvbl9pbmZvWzoyXSA8ICgyLCA3KSIpCiBkZWYg
dGVzdF9hc3NlcnRSZWdleCgpOgogICAgIGNsYXNzIFRlc3RBc3NlcnRSZWdleCh1bml0dGVzdC5U
ZXN0Q2FzZSk6CiAgICAgICAgIGRlZiB0ZXN0KHNlbGYpOgpAQCAtODk5LDcgKzk1OSw3IEBAIGRl
ZiB0ZXN0X2Fzc2VydFJlZ2V4KCk6CiAgICAgVGVzdEFzc2VydFJlZ2V4KCd0ZXN0JykudGVzdCgp
CiAKIAotQHB5LnRlc3QubWFyay5za2lwaWYoInN5cy52ZXJzaW9uX2luZm9bOjJdIDwgKDIsIDcp
IikKK0BweXRlc3QubWFyay5za2lwaWYoInN5cy52ZXJzaW9uX2luZm9bOjJdIDwgKDIsIDcpIikK
IGRlZiB0ZXN0X2Fzc2VydFJhaXNlc1JlZ2V4KCk6CiAgICAgY2xhc3MgVGVzdEFzc2VydFJhaXNl
c1JlZ2V4KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgZGVmIHRlc3Qoc2VsZik6CkBAIC05
MzIsMyArOTkyLDYxIEBAIGRlZiB0ZXN0X3B5dGhvbl8yX3VuaWNvZGVfY29tcGF0aWJsZSgpOgog
ICAgICAgICBhc3NlcnQgc3RyKG15X3Rlc3QpID09IHNpeC51KCJoZWxsbyIpCiAKICAgICBhc3Nl
cnQgZ2V0YXR0cihzaXgubW92ZXMuYnVpbHRpbnMsICdieXRlcycsIHN0cikobXlfdGVzdCkgPT0g
c2l4LmIoImhlbGxvIikKKworCitjbGFzcyBFbnN1cmVUZXN0czoKKworICAgICMgZ3Jpbm5pbmcg
ZmFjZSBlbW9qaQorICAgIFVOSUNPREVfRU1PSkkgPSBzaXgudSgiXFUwMDAxRjYwMCIpCisgICAg
QklOQVJZX0VNT0pJID0gYiJceGYwXHg5Zlx4OThceDgwIgorCisgICAgZGVmIHRlc3RfZW5zdXJl
X2JpbmFyeV9yYWlzZV90eXBlX2Vycm9yKHNlbGYpOgorICAgICAgICB3aXRoIHB5dGVzdC5yYWlz
ZXMoVHlwZUVycm9yKToKKyAgICAgICAgICAgIHNpeC5lbnN1cmVfc3RyKDgpCisKKyAgICBkZWYg
dGVzdF9lcnJvcnNfYW5kX2VuY29kaW5nKHNlbGYpOgorICAgICAgICBzaXguZW5zdXJlX2JpbmFy
eShzZWxmLlVOSUNPREVfRU1PSkksIGVuY29kaW5nPSdsYXRpbi0xJywgZXJyb3JzPSdpZ25vcmUn
KQorICAgICAgICB3aXRoIHB5dGVzdC5yYWlzZXMoVW5pY29kZUVuY29kZUVycm9yKToKKyAgICAg
ICAgICAgIHNpeC5lbnN1cmVfYmluYXJ5KHNlbGYuVU5JQ09ERV9FTU9KSSwgZW5jb2Rpbmc9J2xh
dGluLTEnLCBlcnJvcnM9J3N0cmljdCcpCisKKyAgICBkZWYgdGVzdF9lbnN1cmVfYmluYXJ5X3Jh
aXNlKHNlbGYpOgorICAgICAgICBjb252ZXJ0ZWRfdW5pY29kZSA9IHNpeC5lbnN1cmVfYmluYXJ5
KHNlbGYuVU5JQ09ERV9FTU9KSSwgZW5jb2Rpbmc9J3V0Zi04JywgZXJyb3JzPSdzdHJpY3QnKQor
ICAgICAgICBjb252ZXJ0ZWRfYmluYXJ5ID0gc2l4LmVuc3VyZV9iaW5hcnkoc2VsZi5CSU5BUllf
RU1PSkksIGVuY29kaW5nPSJ1dGYtOCIsIGVycm9ycz0nc3RyaWN0JykKKyAgICAgICAgaWYgc2l4
LlBZMjoKKyAgICAgICAgICAgICMgUFkyOiB1bmljb2RlIC0+IHN0cgorICAgICAgICAgICAgYXNz
ZXJ0IGNvbnZlcnRlZF91bmljb2RlID09IHNlbGYuQklOQVJZX0VNT0pJIGFuZCBpc2luc3RhbmNl
KGNvbnZlcnRlZF91bmljb2RlLCBzdHIpCisgICAgICAgICAgICAjIFBZMjogc3RyIC0+IHN0cgor
ICAgICAgICAgICAgYXNzZXJ0IGNvbnZlcnRlZF9iaW5hcnkgPT0gc2VsZi5CSU5BUllfRU1PSkkg
YW5kIGlzaW5zdGFuY2UoY29udmVydGVkX2JpbmFyeSwgc3RyKQorICAgICAgICBlbHNlOgorICAg
ICAgICAgICAgIyBQWTM6IHN0ciAtPiBieXRlcworICAgICAgICAgICAgYXNzZXJ0IGNvbnZlcnRl
ZF91bmljb2RlID09IHNlbGYuQklOQVJZX0VNT0pJIGFuZCBpc2luc3RhbmNlKGNvbnZlcnRlZF91
bmljb2RlLCBieXRlcykKKyAgICAgICAgICAgICMgUFkzOiBieXRlcyAtPiBieXRlcworICAgICAg
ICAgICAgYXNzZXJ0IGNvbnZlcnRlZF9iaW5hcnkgPT0gc2VsZi5CSU5BUllfRU1PSkkgYW5kIGlz
aW5zdGFuY2UoY29udmVydGVkX2JpbmFyeSwgYnl0ZXMpCisKKyAgICBkZWYgdGVzdF9lbnN1cmVf
c3RyKHNlbGYpOgorICAgICAgICBjb252ZXJ0ZWRfdW5pY29kZSA9IHNpeC5lbnN1cmVfc3RyKHNl
bGYuVU5JQ09ERV9FTU9KSSwgZW5jb2Rpbmc9J3V0Zi04JywgZXJyb3JzPSdzdHJpY3QnKQorICAg
ICAgICBjb252ZXJ0ZWRfYmluYXJ5ID0gc2l4LmVuc3VyZV9zdHIoc2VsZi5CSU5BUllfRU1PSkks
IGVuY29kaW5nPSJ1dGYtOCIsIGVycm9ycz0nc3RyaWN0JykKKyAgICAgICAgaWYgc2l4LlBZMjoK
KyAgICAgICAgICAgICMgUFkyOiB1bmljb2RlIC0+IHN0cgorICAgICAgICAgICAgYXNzZXJ0IGNv
bnZlcnRlZF91bmljb2RlID09IHNlbGYuQklOQVJZX0VNT0pJIGFuZCBpc2luc3RhbmNlKGNvbnZl
cnRlZF91bmljb2RlLCBzdHIpCisgICAgICAgICAgICAjIFBZMjogc3RyIC0+IHN0cgorICAgICAg
ICAgICAgYXNzZXJ0IGNvbnZlcnRlZF9iaW5hcnkgPT0gc2VsZi5CSU5BUllfRU1PSkkgYW5kIGlz
aW5zdGFuY2UoY29udmVydGVkX2JpbmFyeSwgc3RyKQorICAgICAgICBlbHNlOgorICAgICAgICAg
ICAgIyBQWTM6IHN0ciAtPiBzdHIKKyAgICAgICAgICAgIGFzc2VydCBjb252ZXJ0ZWRfdW5pY29k
ZSA9PSBzZWxmLlVOSUNPREVfRU1PSkkgYW5kIGlzaW5zdGFuY2UoY29udmVydGVkX3VuaWNvZGUs
IHN0cikKKyAgICAgICAgICAgICMgUFkzOiBieXRlcyAtPiBzdHIKKyAgICAgICAgICAgIGFzc2Vy
dCBjb252ZXJ0ZWRfYmluYXJ5ID09IHNlbGYuVU5JQ09ERV9FTU9KSSBhbmQgaXNpbnN0YW5jZShj
b252ZXJ0ZWRfdW5pY29kZSwgc3RyKQorCisgICAgZGVmIHRlc3RfZW5zdXJlX3RleHQoc2VsZik6
CisgICAgICAgIGNvbnZlcnRlZF91bmljb2RlID0gc2l4LmVuc3VyZV90ZXh0KHNlbGYuVU5JQ09E
RV9FTU9KSSwgZW5jb2Rpbmc9J3V0Zi04JywgZXJyb3JzPSdzdHJpY3QnKQorICAgICAgICBjb252
ZXJ0ZWRfYmluYXJ5ID0gc2l4LmVuc3VyZV90ZXh0KHNlbGYuQklOQVJZX0VNT0pJLCBlbmNvZGlu
Zz0idXRmLTgiLCBlcnJvcnM9J3N0cmljdCcpCisgICAgICAgIGlmIHNpeC5QWTI6CisgICAgICAg
ICAgICAjIFBZMjogdW5pY29kZSAtPiB1bmljb2RlCisgICAgICAgICAgICBhc3NlcnQgY29udmVy
dGVkX3VuaWNvZGUgPT0gc2VsZi5VTklDT0RFX0VNT0pJIGFuZCBpc2luc3RhbmNlKGNvbnZlcnRl
ZF91bmljb2RlLCB1bmljb2RlKQorICAgICAgICAgICAgIyBQWTI6IHN0ciAtPiB1bmljb2RlCisg
ICAgICAgICAgICBhc3NlcnQgY29udmVydGVkX2JpbmFyeSA9PSBzZWxmLlVOSUNPREVfRU1PSkkg
YW5kIGlzaW5zdGFuY2UoY29udmVydGVkX3VuaWNvZGUsIHVuaWNvZGUpCisgICAgICAgIGVsc2U6
CisgICAgICAgICAgICAjIFBZMzogc3RyIC0+IHN0cgorICAgICAgICAgICAgYXNzZXJ0IGNvbnZl
cnRlZF91bmljb2RlID09IHNlbGYuVU5JQ09ERV9FTU9KSSBhbmQgaXNpbnN0YW5jZShjb252ZXJ0
ZWRfdW5pY29kZSwgc3RyKQorICAgICAgICAgICAgIyBQWTM6IGJ5dGVzIC0+IHN0cgorICAgICAg
ICAgICAgYXNzZXJ0IGNvbnZlcnRlZF9iaW5hcnkgPT0gc2VsZi5VTklDT0RFX0VNT0pJIGFuZCBp
c2luc3RhbmNlKGNvbnZlcnRlZF91bmljb2RlLCBzdHIpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3NpeC93
M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvdGhpcmRfcGFydHkvc2l4L3czYy1pbXBvcnQubG9nCmluZGV4IDcwOTRkZjgyMzQy
MmVkNDgzMjAzZDU2N2EwN2I1YjhhNDIxMTkzMWQuLmYwZjIyY2EyZDZjMzRjMzVhMzM4YWUxN2Ey
NzEyNDIxYTM1NWVjZDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvc2l4L3czYy1pbXBvcnQubG9nCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRf
cGFydHkvc2l4L3czYy1pbXBvcnQubG9nCkBAIC0xNyw3ICsxNyw2IEBAIExpc3Qgb2YgZmlsZXM6
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90aGly
ZF9wYXJ0eS9zaXgvQ0hBTkdFUwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvc2l4L0xJQ0VOU0UKIC9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L3NpeC9NQU5JRkVT
VC5pbgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
dGhpcmRfcGFydHkvc2l4L1BLRy1JTkZPCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy90aGlyZF9wYXJ0eS9zaXgvUkVBRE1FLnJzdAogL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvc2l4
L3NldHVwLmNmZwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvdGhpcmRfcGFydHkvc2l4L3NldHVwLnB5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RveC5pbmkgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3RveC5pbmkKaW5kZXggZTg2
NzNkYjBhNjlhZTQ2OTVlN2IxZmExNTJjNTMzYWExYjBmOThkMS4uYmJlYzFhZmJiNmRkMmZkNmMw
NDIyZWQ4OTNlMDlhYTJmYzlmMzhjMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy90b3guaW5pCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdG94LmluaQpAQCAtMSw2ICsxLDcg
QEAKIFt0b3hdCi1lbnZsaXN0ID0gcHkyNyxweTM1LHB5MzYscHkzNyxweXB5LHtweTI3LHB5MzUs
cHkzNixweTM3fS1mbGFrZTgse3B5MzUscHkzNixweTM3fS1teXB5CitlbnZsaXN0ID0gcHkyNyxw
eTM1LHB5MzYscHkzNyxweTM4LHtweTI3LHB5MzUscHkzNixweTM3LHB5Mzh9LWZsYWtlOCx7cHkz
NSxweTM2LHB5MzcscHkzOH0tbXlweQogc2tpcHNkaXN0PVRydWUKK3NraXBfbWlzc2luZ19pbnRl
cnByZXRlcnMgPSBGYWxzZQogCiBbdGVzdGVudl0KIGRlcHMgPQpAQCAtMTQsNyArMTUsNyBAQCBk
ZXBzID0KICAganNvbi1lCiAgIGpzb25zY2hlbWEKIAotY29tbWFuZHMgPSBweXRlc3Qge3Bvc2Fy
Z3N9Citjb21tYW5kcyA9IHB5dGVzdCAtLWNvdj10b29scyAtLWNvdi1yZXBvcnQ9dGVybSB7cG9z
YXJnc30KIAogcGFzc2VudiA9CiAgIEhZUE9USEVTSVNfUFJPRklMRQpAQCAtMjcsMTUgKzI4LDE5
IEBAIGNvbW1hbmRzID0gZmxha2U4IC0tYXBwZW5kLWNvbmZpZz17dG94aW5pZGlyfS9weTI3LWZs
YWtlOC5pbmkge3Bvc2FyZ3N9CiAKIFt0ZXN0ZW52OnB5MzUtZmxha2U4XQogZGVwcyA9IC1ycmVx
dWlyZW1lbnRzX2ZsYWtlOC50eHQKLWNvbW1hbmRzID0gZmxha2U4IC0tYXBwZW5kLWNvbmZpZz17
dG94aW5pZGlyfS9weTM2LWZsYWtlOC5pbmkge3Bvc2FyZ3N9Citjb21tYW5kcyA9IGZsYWtlOCAt
LWFwcGVuZC1jb25maWc9e3RveGluaWRpcn0vcHkzLWZsYWtlOC5pbmkge3Bvc2FyZ3N9CiAKIFt0
ZXN0ZW52OnB5MzYtZmxha2U4XQogZGVwcyA9IC1ycmVxdWlyZW1lbnRzX2ZsYWtlOC50eHQKLWNv
bW1hbmRzID0gZmxha2U4IC0tYXBwZW5kLWNvbmZpZz17dG94aW5pZGlyfS9weTM2LWZsYWtlOC5p
bmkge3Bvc2FyZ3N9Citjb21tYW5kcyA9IGZsYWtlOCAtLWFwcGVuZC1jb25maWc9e3RveGluaWRp
cn0vcHkzLWZsYWtlOC5pbmkge3Bvc2FyZ3N9CiAKIFt0ZXN0ZW52OnB5MzctZmxha2U4XQogZGVw
cyA9IC1ycmVxdWlyZW1lbnRzX2ZsYWtlOC50eHQKLWNvbW1hbmRzID0gZmxha2U4IC0tYXBwZW5k
LWNvbmZpZz17dG94aW5pZGlyfS9weTM2LWZsYWtlOC5pbmkge3Bvc2FyZ3N9Citjb21tYW5kcyA9
IGZsYWtlOCAtLWFwcGVuZC1jb25maWc9e3RveGluaWRpcn0vcHkzLWZsYWtlOC5pbmkge3Bvc2Fy
Z3N9CisKK1t0ZXN0ZW52OnB5MzgtZmxha2U4XQorZGVwcyA9IC1ycmVxdWlyZW1lbnRzX2ZsYWtl
OC50eHQKK2NvbW1hbmRzID0gZmxha2U4IC0tYXBwZW5kLWNvbmZpZz17dG94aW5pZGlyfS9weTMt
Zmxha2U4LmluaSB7cG9zYXJnc30KIAogW3Rlc3RlbnY6cHkzNS1teXB5XQogZGVwcyA9IC1ycmVx
dWlyZW1lbnRzX215cHkudHh0CkBAIC01NCwzICs1OSw5IEBAIGRlcHMgPSAtcnJlcXVpcmVtZW50
c19teXB5LnR4dAogY2hhbmdlZGlyID0ge3RveGluaWRpcn0vLi4KIGNvbW1hbmRzID0KICAgbXlw
eSAtLWNvbmZpZy1maWxlPXt0b3hpbmlkaXJ9L215cHkuaW5pIC0tbm8taW5jcmVtZW50YWwgLS1w
eTIgLXAgdG9vbHMubWFuaWZlc3QgLXAgdG9vbHMubGludCAtcCB0b29scy5naXRpZ25vcmUKKwor
W3Rlc3RlbnY6cHkzOC1teXB5XQorZGVwcyA9IC1ycmVxdWlyZW1lbnRzX215cHkudHh0CitjaGFu
Z2VkaXIgPSB7dG94aW5pZGlyfS8uLgorY29tbWFuZHMgPQorICBteXB5IC0tY29uZmlnLWZpbGU9
e3RveGluaWRpcn0vbXlweS5pbmkgLS1uby1pbmNyZW1lbnRhbCAtLXB5MiAtcCB0b29scy5tYW5p
ZmVzdCAtcCB0b29scy5saW50IC1wIHRvb2xzLmdpdGlnbm9yZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93M2MtaW1wb3J0Lmxv
ZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdzNj
LWltcG9ydC5sb2cKaW5kZXggYzRjMWJjMjVjOGZkNDg5MzQ2M2I0ZTEzYmQ4YjU0N2U2N2ZjZWM2
Ny4uYzY3MjI5NDA2YmFhMjczZTQ3YzhmOGU0ZWNiZTc0NDlhY2Q5ZjljNiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93M2MtaW1w
b3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3czYy1pbXBvcnQubG9nCkBAIC0yMCw3ICsyMCw3IEBAIExpc3Qgb2YgZmlsZXM6CiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9sb2NhbHBh
dGhzLnB5CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9teXB5LmluaQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvcHkyNy1mbGFrZTguaW5pCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy9weTM2LWZsYWtlOC5pbmkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3B5My1mbGFrZTguaW5pCiAvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9weXRlc3QuaW5pCiAvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9yZXF1aXJlbWVudHNf
Zmxha2U4LnR4dAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvcmVxdWlyZW1lbnRzX215cHkudHh0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dlYmRyaXZlci93ZWJkcml2ZXIvY2xp
ZW50LnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93ZWJkcml2ZXIvd2ViZHJpdmVyL2NsaWVudC5weQppbmRleCAwYzViYmZmNTYyOTg2OGZkYzQ4
YTFhNDFjZjg4MmZhYmU1NjE3YzFiLi42NThlZDBlMDBmOGEzNDQ5NDE2NzNlZWQ2NzFiYTlkZTMx
Nzg1OGE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dlYmRyaXZlci93ZWJkcml2ZXIvY2xpZW50LnB5CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd2ViZHJpdmVyL3dlYmRy
aXZlci9jbGllbnQucHkKQEAgLTM3MywxMCArMzczLDggQEAgY2xhc3MgU2Vzc2lvbihvYmplY3Qp
OgogICAgICAgICAgICAgICAgICBwb3J0LAogICAgICAgICAgICAgICAgICB1cmxfcHJlZml4PSIv
IiwKICAgICAgICAgICAgICAgICAgY2FwYWJpbGl0aWVzPU5vbmUsCi0gICAgICAgICAgICAgICAg
IHRpbWVvdXQ9Tm9uZSwKICAgICAgICAgICAgICAgICAgZXh0ZW5zaW9uPU5vbmUpOgotICAgICAg
ICBzZWxmLnRyYW5zcG9ydCA9IHRyYW5zcG9ydC5IVFRQV2lyZVByb3RvY29sKAotICAgICAgICAg
ICAgaG9zdCwgcG9ydCwgdXJsX3ByZWZpeCwgdGltZW91dD10aW1lb3V0KQorICAgICAgICBzZWxm
LnRyYW5zcG9ydCA9IHRyYW5zcG9ydC5IVFRQV2lyZVByb3RvY29sKGhvc3QsIHBvcnQsIHVybF9w
cmVmaXgpCiAgICAgICAgIHNlbGYucmVxdWVzdGVkX2NhcGFiaWxpdGllcyA9IGNhcGFiaWxpdGll
cwogICAgICAgICBzZWxmLmNhcGFiaWxpdGllcyA9IE5vbmUKICAgICAgICAgc2VsZi5zZXNzaW9u
X2lkID0gTm9uZQpAQCAtNDQ2LDcgKzQ0NCw3IEBAIGNsYXNzIFNlc3Npb24ob2JqZWN0KToKICAg
ICAgICAgZmluYWxseToKICAgICAgICAgICAgIHNlbGYuc2Vzc2lvbl9pZCA9IE5vbmUKIAotICAg
IGRlZiBzZW5kX2NvbW1hbmQoc2VsZiwgbWV0aG9kLCB1cmwsIGJvZHk9Tm9uZSk6CisgICAgZGVm
IHNlbmRfY29tbWFuZChzZWxmLCBtZXRob2QsIHVybCwgYm9keT1Ob25lLCB0aW1lb3V0PU5vbmUp
OgogICAgICAgICAiIiIKICAgICAgICAgU2VuZCBhIGNvbW1hbmQgdG8gdGhlIHJlbW90ZSBlbmQg
YW5kIHZhbGlkYXRlIGl0cyBzdWNjZXNzLgogCkBAIC00NjcsNyArNDY1LDcgQEAgY2xhc3MgU2Vz
c2lvbihvYmplY3QpOgogICAgICAgICByZXNwb25zZSA9IHNlbGYudHJhbnNwb3J0LnNlbmQoCiAg
ICAgICAgICAgICBtZXRob2QsIHVybCwgYm9keSwKICAgICAgICAgICAgIGVuY29kZXI9cHJvdG9j
b2wuRW5jb2RlciwgZGVjb2Rlcj1wcm90b2NvbC5EZWNvZGVyLAotICAgICAgICAgICAgc2Vzc2lv
bj1zZWxmKQorICAgICAgICAgICAgc2Vzc2lvbj1zZWxmLCB0aW1lb3V0PXRpbWVvdXQpCiAKICAg
ICAgICAgaWYgcmVzcG9uc2Uuc3RhdHVzICE9IDIwMDoKICAgICAgICAgICAgIGVyciA9IGVycm9y
LmZyb21fcmVzcG9uc2UocmVzcG9uc2UpCkBAIC00OTUsNyArNDkzLDcgQEAgY2xhc3MgU2Vzc2lv
bihvYmplY3QpOgogCiAgICAgICAgIHJldHVybiB2YWx1ZQogCi0gICAgZGVmIHNlbmRfc2Vzc2lv
bl9jb21tYW5kKHNlbGYsIG1ldGhvZCwgdXJpLCBib2R5PU5vbmUpOgorICAgIGRlZiBzZW5kX3Nl
c3Npb25fY29tbWFuZChzZWxmLCBtZXRob2QsIHVyaSwgYm9keT1Ob25lLCB0aW1lb3V0PU5vbmUp
OgogICAgICAgICAiIiIKICAgICAgICAgU2VuZCBhIGNvbW1hbmQgdG8gYW4gZXN0YWJsaXNoZWQg
c2Vzc2lvbiBhbmQgdmFsaWRhdGUgaXRzIHN1Y2Nlc3MuCiAKQEAgLTUxMiw3ICs1MTAsNyBAQCBj
bGFzcyBTZXNzaW9uKG9iamVjdCk6CiAgICAgICAgICAgICBhbiBlcnJvci4KICAgICAgICAgIiIi
CiAgICAgICAgIHVybCA9IHVybHBhcnNlLnVybGpvaW4oInNlc3Npb24vJXMvIiAlIHNlbGYuc2Vz
c2lvbl9pZCwgdXJpKQotICAgICAgICByZXR1cm4gc2VsZi5zZW5kX2NvbW1hbmQobWV0aG9kLCB1
cmwsIGJvZHkpCisgICAgICAgIHJldHVybiBzZWxmLnNlbmRfY29tbWFuZChtZXRob2QsIHVybCwg
Ym9keSwgdGltZW91dCkKIAogICAgIEBwcm9wZXJ0eQogICAgIEBjb21tYW5kCkBAIC03MzcsNiAr
NzM1LDEwIEBAIGNsYXNzIEVsZW1lbnQob2JqZWN0KToKICAgICBkZWYgc2VsZWN0ZWQoc2VsZik6
CiAgICAgICAgIHJldHVybiBzZWxmLnNlbmRfZWxlbWVudF9jb21tYW5kKCJHRVQiLCAic2VsZWN0
ZWQiKQogCisgICAgQGNvbW1hbmQKKyAgICBkZWYgc2NyZWVuc2hvdChzZWxmKToKKyAgICAgICAg
cmV0dXJuIHNlbGYuc2VuZF9lbGVtZW50X2NvbW1hbmQoIkdFVCIsICJzY3JlZW5zaG90IikKKwog
ICAgIEBjb21tYW5kCiAgICAgZGVmIGF0dHJpYnV0ZShzZWxmLCBuYW1lKToKICAgICAgICAgcmV0
dXJuIHNlbGYuc2VuZF9lbGVtZW50X2NvbW1hbmQoIkdFVCIsICJhdHRyaWJ1dGUvJXMiICUgbmFt
ZSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd2ViZHJpdmVyL3dlYmRyaXZlci9wcm90b2NvbC5weSBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd2ViZHJpdmVyL3dlYmRyaXZlci9w
cm90b2NvbC5weQppbmRleCAxOGEzZDUyYzhhM2I1MzdiYTc1ZDQ4N2ZkN2Y2YzVjZGUyMDZlYzNl
Li5jODExZjZmMjZkYjc5MDhjYWU1MjhkMDRkMjVkNjg4Mjc4NGU3NGExIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dlYmRyaXZl
ci93ZWJkcml2ZXIvcHJvdG9jb2wucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93ZWJkcml2ZXIvd2ViZHJpdmVyL3Byb3RvY29sLnB5CkBA
IC0yLDYgKzIsOCBAQCBpbXBvcnQganNvbgogCiBpbXBvcnQgd2ViZHJpdmVyCiAKK2Zyb20gc2l4
IGltcG9ydCBpdGVyaXRlbXMKKwogCiAiIiJXZWJEcml2ZXIgd2lyZSBwcm90b2NvbCBjb2RlY3Mu
IiIiCiAKQEAgLTM5LDUgKzQxLDUgQEAgY2xhc3MgRGVjb2Rlcihqc29uLkpTT05EZWNvZGVyKToK
ICAgICAgICAgZWxpZiBpc2luc3RhbmNlKHBheWxvYWQsIGRpY3QpIGFuZCB3ZWJkcml2ZXIuV2lu
ZG93LmlkZW50aWZpZXIgaW4gcGF5bG9hZDoKICAgICAgICAgICAgIHJldHVybiB3ZWJkcml2ZXIu
V2luZG93LmZyb21fanNvbihwYXlsb2FkLCBzZWxmLnNlc3Npb24pCiAgICAgICAgIGVsaWYgaXNp
bnN0YW5jZShwYXlsb2FkLCBkaWN0KToKLSAgICAgICAgICAgIHJldHVybiB7azogc2VsZi5vYmpl
Y3RfaG9vayh2KSBmb3IgaywgdiBpbiBwYXlsb2FkLml0ZXJpdGVtcygpfQorICAgICAgICAgICAg
cmV0dXJuIHtrOiBzZWxmLm9iamVjdF9ob29rKHYpIGZvciBrLCB2IGluIGl0ZXJpdGVtcyhwYXls
b2FkKX0KICAgICAgICAgcmV0dXJuIHBheWxvYWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd2ViZHJpdmVyL3dlYmRyaXZlci90
cmFuc3BvcnQucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dlYmRyaXZlci93ZWJkcml2ZXIvdHJhbnNwb3J0LnB5CmluZGV4IDMyYmEzMWEyYWU5
YTk5NmE1YzU3ZmQwNDA2MTI5M2YzMTdlNWJmMDQuLmY4MTdlYzgxYTk2ZmI5M2NjNWM2MDE1NGYw
NTdkNzJlOTgzNzU2OTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd2ViZHJpdmVyL3dlYmRyaXZlci90cmFuc3BvcnQucHkKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93ZWJk
cml2ZXIvd2ViZHJpdmVyL3RyYW5zcG9ydC5weQpAQCAtMSwxMiArMSwxMiBAQAogaW1wb3J0IGpz
b24KIGltcG9ydCBzZWxlY3QKKworZnJvbSBzaXggaW1wb3J0IHRleHRfdHlwZSwgUFkzCitmcm9t
IHNpeC5tb3Zlcy5odHRwX2NsaWVudCBpbXBvcnQgSFRUUENvbm5lY3Rpb24KIGZyb20gc2l4Lm1v
dmVzLnVybGxpYiBpbXBvcnQgcGFyc2UgYXMgdXJscGFyc2UKLWZyb20gc2l4Lm1vdmVzIGltcG9y
dCBodHRwX2NsaWVudCBhcyBodHRwbGliCiAKIGZyb20gLiBpbXBvcnQgZXJyb3IKIAotZnJvbSBz
aXggaW1wb3J0IHRleHRfdHlwZQotCiAiIiJJbXBsZW1lbnRzIEhUVFAgdHJhbnNwb3J0IGZvciB0
aGUgV2ViRHJpdmVyIHdpcmUgcHJvdG9jb2wuIiIiCiAKIApAQCAtNzUsNyArNzUsNyBAQCBjbGFz
cyBIVFRQV2lyZVByb3RvY29sKG9iamVjdCk6CiAgICAgICAgICMgPT4gd2ViZHJpdmVyLkVsZW1l
bnQKICAgICAiIiIKIAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBob3N0LCBwb3J0LCB1cmxfcHJl
Zml4PSIvIiwgdGltZW91dD1Ob25lKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgaG9zdCwgcG9y
dCwgdXJsX3ByZWZpeD0iLyIpOgogICAgICAgICAiIiIKICAgICAgICAgQ29uc3RydWN0IGludGVy
ZmFjZSBmb3IgY29tbXVuaWNhdGluZyB3aXRoIHRoZSByZW1vdGUgc2VydmVyLgogCkBAIC04NSw5
ICs4NSw4IEBAIGNsYXNzIEhUVFBXaXJlUHJvdG9jb2wob2JqZWN0KToKICAgICAgICAgc2VsZi5o
b3N0ID0gaG9zdAogICAgICAgICBzZWxmLnBvcnQgPSBwb3J0CiAgICAgICAgIHNlbGYudXJsX3By
ZWZpeCA9IHVybF9wcmVmaXgKLQogICAgICAgICBzZWxmLl9jb25uID0gTm9uZQotICAgICAgICBz
ZWxmLl90aW1lb3V0ID0gdGltZW91dAorICAgICAgICBzZWxmLl9sYXN0X3JlcXVlc3RfaXNfYmxv
Y2tlZCA9IEZhbHNlCiAKICAgICBkZWYgX19kZWxfXyhzZWxmKToKICAgICAgICAgc2VsZi5jbG9z
ZSgpCkBAIC0xMDIsMTEgKzEwMSwxMSBAQCBjbGFzcyBIVFRQV2lyZVByb3RvY29sKG9iamVjdCk6
CiAgICAgICAgICIiIkdldHMgdGhlIGN1cnJlbnQgSFRUUCBjb25uZWN0aW9uLCBvciBsYXppbHkg
Y3JlYXRlcyBvbmUuIiIiCiAgICAgICAgIGlmIG5vdCBzZWxmLl9jb25uOgogICAgICAgICAgICAg
Y29ubl9rd2FyZ3MgPSB7fQotICAgICAgICAgICAgaWYgc2VsZi5fdGltZW91dCBpcyBub3QgTm9u
ZToKLSAgICAgICAgICAgICAgICBjb25uX2t3YXJnc1sidGltZW91dCJdID0gc2VsZi5fdGltZW91
dAotCi0gICAgICAgICAgICBzZWxmLl9jb25uID0gaHR0cGxpYi5IVFRQQ29ubmVjdGlvbigKLSAg
ICAgICAgICAgICAgICBzZWxmLmhvc3QsIHNlbGYucG9ydCwgc3RyaWN0PVRydWUsICoqY29ubl9r
d2FyZ3MpCisgICAgICAgICAgICBpZiBub3QgUFkzOgorICAgICAgICAgICAgICAgIGNvbm5fa3dh
cmdzWyJzdHJpY3QiXSA9IFRydWUKKyAgICAgICAgICAgICMgV2UgYXJlIG5vdCBzZXR0aW5nIGFu
IEhUVFAgdGltZW91dCBvdGhlciB0aGFuIHRoZSBkZWZhdWx0IHdoZW4gdGhlCisgICAgICAgICAg
ICAjIGNvbm5lY3Rpb24gaXRzIGNyZWF0ZWQuIFRoZSBzZW5kIG1ldGhvZCBoYXMgYSB0aW1lb3V0
IHZhbHVlIGlmIG5lZWRlZC4KKyAgICAgICAgICAgIHNlbGYuX2Nvbm4gPSBIVFRQQ29ubmVjdGlv
bihzZWxmLmhvc3QsIHNlbGYucG9ydCwgKipjb25uX2t3YXJncykKIAogICAgICAgICByZXR1cm4g
c2VsZi5fY29ubgogCkBAIC0xMjQsNiArMTIzLDcgQEAgY2xhc3MgSFRUUFdpcmVQcm90b2NvbChv
YmplY3QpOgogICAgICAgICAgICAgIGhlYWRlcnM9Tm9uZSwKICAgICAgICAgICAgICBlbmNvZGVy
PWpzb24uSlNPTkVuY29kZXIsCiAgICAgICAgICAgICAgZGVjb2Rlcj1qc29uLkpTT05EZWNvZGVy
LAorICAgICAgICAgICAgIHRpbWVvdXQ9Tm9uZSwKICAgICAgICAgICAgICAqKmNvZGVjX2t3YXJn
cyk6CiAgICAgICAgICIiIgogICAgICAgICBTZW5kIGEgY29tbWFuZCB0byB0aGUgcmVtb3RlLgpA
QCAtMTcyLDEwICsxNzIsMTggQEAgY2xhc3MgSFRUUFdpcmVQcm90b2NvbChvYmplY3QpOgogICAg
ICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkZhaWxlZCB0byBlbmNvZGUgcmVxdWVzdCBi
b2R5IGFzIEpTT046XG4iCiAgICAgICAgICAgICAgICAgICAgICIlcyIgJSBqc29uLmR1bXBzKGJv
ZHksIGluZGVudD0yKSkKIAotICAgICAgICByZXNwb25zZSA9IHNlbGYuX3JlcXVlc3QobWV0aG9k
LCB1cmksIHBheWxvYWQsIGhlYWRlcnMpCisgICAgICAgICMgV2hlbiB0aGUgdGltZW91dCB0cmln
Z2VycywgdGhlIFRlc3RSdW5uZXJNYW5hZ2VyIHRocmVhZCB3aWxsIHJldXNlCisgICAgICAgICMg
dGhpcyBjb25uZWN0aW9uIHRvIGNoZWNrIGlmIHRoZSBXZWJEcml2ZXIgaXRzIGFsaXZlIGFuZCB3
ZSBtYXkgZW5kCisgICAgICAgICMgcmFpc2luZyBhbiBodHRwbGliLkNhbm5vdFNlbmRSZXF1ZXN0
IGV4Y2VwdGlvbiBpZiB0aGUgV2ViRHJpdmVyIGlzCisgICAgICAgICMgbm90IHJlc3BvbmRpbmcg
YW5kIHRoaXMgaHR0cGxpYi5yZXF1ZXN0KCkgY2FsbCBpcyBibG9ja2VkIG9uIHRoZQorICAgICAg
ICAjIHJ1bm5lciB0aHJlYWQuIFdlIHVzZSB0aGUgYm9vbGVhbiBiZWxvdyB0byBjaGVjayBmb3Ig
dGhhdCBhbmQgcmVzdGFydAorICAgICAgICAjIHRoZSBjb25uZWN0aW9uIGluIHRoYXQgY2FzZS4K
KyAgICAgICAgc2VsZi5fbGFzdF9yZXF1ZXN0X2lzX2Jsb2NrZWQgPSBUcnVlCisgICAgICAgIHJl
c3BvbnNlID0gc2VsZi5fcmVxdWVzdChtZXRob2QsIHVyaSwgcGF5bG9hZCwgaGVhZGVycywgdGlt
ZW91dD1Ob25lKQorICAgICAgICBzZWxmLl9sYXN0X3JlcXVlc3RfaXNfYmxvY2tlZCA9IEZhbHNl
CiAgICAgICAgIHJldHVybiBSZXNwb25zZS5mcm9tX2h0dHAocmVzcG9uc2UsIGRlY29kZXI9ZGVj
b2RlciwgKipjb2RlY19rd2FyZ3MpCiAKLSAgICBkZWYgX3JlcXVlc3Qoc2VsZiwgbWV0aG9kLCB1
cmksIHBheWxvYWQsIGhlYWRlcnM9Tm9uZSk6CisgICAgZGVmIF9yZXF1ZXN0KHNlbGYsIG1ldGhv
ZCwgdXJpLCBwYXlsb2FkLCBoZWFkZXJzPU5vbmUsIHRpbWVvdXQ9Tm9uZSk6CiAgICAgICAgIGlm
IGlzaW5zdGFuY2UocGF5bG9hZCwgdGV4dF90eXBlKToKICAgICAgICAgICAgIHBheWxvYWQgPSBw
YXlsb2FkLmVuY29kZSgidXRmLTgiKQogCkBAIC0xODUsMTAgKzE5MywyMyBAQCBjbGFzcyBIVFRQ
V2lyZVByb3RvY29sKG9iamVjdCk6CiAKICAgICAgICAgdXJsID0gc2VsZi51cmwodXJpKQogCi0g
ICAgICAgIGlmIHNlbGYuX2hhc191bnJlYWRfZGF0YSgpOgorICAgICAgICBpZiBzZWxmLl9sYXN0
X3JlcXVlc3RfaXNfYmxvY2tlZCBvciBzZWxmLl9oYXNfdW5yZWFkX2RhdGEoKToKICAgICAgICAg
ICAgIHNlbGYuY2xvc2UoKQorCiAgICAgICAgIHNlbGYuY29ubmVjdGlvbi5yZXF1ZXN0KG1ldGhv
ZCwgdXJsLCBwYXlsb2FkLCBoZWFkZXJzKQotICAgICAgICByZXR1cm4gc2VsZi5jb25uZWN0aW9u
LmdldHJlc3BvbnNlKCkKKworICAgICAgICAjIHRpbWVvdXQgZm9yIHJlcXVlc3QgaGFzIHRvIGJl
IHNldCBqdXN0IGJlZm9yZSBjYWxsaW5nIGh0dHBsaWIuZ2V0cmVzcG9uc2UoKQorICAgICAgICAj
IGFuZCB0aGUgcHJldmlvdXMgdmFsdWUgcmVzdG9yZWQganVzdCBhZnRlciB0aGF0LCBldmVuIG9u
IGV4Y2VwdGlvbiByYWlzZWQKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgaWYgdGltZW91dDoK
KyAgICAgICAgICAgICAgICBwcmV2aW91c190aW1lb3V0ID0gc2VsZi5fY29ubi5nZXR0aW1lb3V0
KCkKKyAgICAgICAgICAgICAgICBzZWxmLl9jb25uLnNldHRpbWVvdXQodGltZW91dCkKKyAgICAg
ICAgICAgIHJlc3BvbnNlID0gc2VsZi5jb25uZWN0aW9uLmdldHJlc3BvbnNlKCkKKyAgICAgICAg
ZmluYWxseToKKyAgICAgICAgICAgIGlmIHRpbWVvdXQ6CisgICAgICAgICAgICAgICAgc2VsZi5f
Y29ubi5zZXR0aW1lb3V0KHByZXZpb3VzX3RpbWVvdXQpCisKKyAgICAgICAgcmV0dXJuIHJlc3Bv
bnNlCiAKICAgICBkZWYgX2hhc191bnJlYWRfZGF0YShzZWxmKToKICAgICAgICAgcmV0dXJuIHNl
bGYuX2Nvbm4gYW5kIHNlbGYuX2Nvbm4uc29jayBhbmQgc2VsZWN0LnNlbGVjdChbc2VsZi5fY29u
bi5zb2NrXSwgW10sIFtdLCAwKVswXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHQvYW5kcm9pZC5weSBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0L2FuZHJvaWQucHkKaW5k
ZXggNTFkZWI3MWUzMTY1MzgxNDhlMDZiMTQ2YmNhNzU1NWZiN2IwNDZkZi4uNzQ0ZTEzNGQzODI2
ZWFmZmViYTYzODc3MTNhMmNiMTMyYWUxYTlkNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHQvYW5kcm9pZC5weQorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdC9hbmRy
b2lkLnB5CkBAIC04OSw4ICs4OSw4IEBAIGRlZiBpbnN0YWxsX2FuZHJvaWRfcGFja2FnZXMobG9n
Z2VyLCBzZGtfcGF0aCwgbm9fcHJvbXB0PUZhbHNlKToKIAogICAgICNUT0RPOiBOb3Qgc3VyZSB3
aGF0J3MgcmVhbGx5IG5lZWRlZCBoZXJlCiAgICAgcGFja2FnZXMgPSBbInBsYXRmb3JtLXRvb2xz
IiwKLSAgICAgICAgICAgICAgICAiYnVpbGQtdG9vbHM7MjguMC4zIiwKLSAgICAgICAgICAgICAg
ICAicGxhdGZvcm1zO2FuZHJvaWQtMjgiLAorICAgICAgICAgICAgICAgICJidWlsZC10b29sczsy
OS4wLjMiLAorICAgICAgICAgICAgICAgICJwbGF0Zm9ybXM7YW5kcm9pZC0yOSIsCiAgICAgICAg
ICAgICAgICAgImVtdWxhdG9yIl0KIAogICAgICMgVE9ETzogbWFrZSB0aGlzIHdvcmsgbm9uLWlu
dGVybmFjdGl2ZWx5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdC9icm93c2VyLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHQvYnJvd3Nlci5weQppbmRleCAzZWU5OGQ5
NTllYzViZWZjNThiODg0ZTBlYzUzODVkNTU0YmM4NzI1Li4zNjZkYzc4MWQ5MGVlMjFiODIwYjkz
MzRjNjllZGUyYzQ1MWNiNGI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdC9icm93c2VyLnB5CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0L2Jyb3dzZXIucHkKQEAg
LTYsMjAgKzYsMTkgQEAgaW1wb3J0IHN0YXQKIGltcG9ydCBlcnJubwogaW1wb3J0IHN1YnByb2Nl
c3MKIGltcG9ydCB0ZW1wZmlsZQotaW1wb3J0IHVybHBhcnNlCiBmcm9tIGFiYyBpbXBvcnQgQUJD
TWV0YSwgYWJzdHJhY3RtZXRob2QKIGZyb20gZGF0ZXRpbWUgaW1wb3J0IGRhdGV0aW1lLCB0aW1l
ZGVsdGEKIGZyb20gZGlzdHV0aWxzLnNwYXduIGltcG9ydCBmaW5kX2V4ZWN1dGFibGUKIAorZnJv
bSBzaXgubW92ZXMudXJsbGliLnBhcnNlIGltcG9ydCB1cmxzcGxpdAogaW1wb3J0IHJlcXVlc3Rz
CiAKLWZyb20gdXRpbHMgaW1wb3J0IGNhbGwsIGdldCwgdW50YXIsIHVuemlwCitmcm9tIC51dGls
cyBpbXBvcnQgY2FsbCwgZ2V0LCB1bnRhciwgdW56aXAKIAogdW5hbWUgPSBwbGF0Zm9ybS51bmFt
ZSgpCiAKICMgdGhlIHJvb3RVcmwgZm9yIHRoZSBmaXJlZm94LWNpIGRlcGxveW1lbnQgb2YgVGFz
a2NsdXN0ZXIKLSMgKGFmdGVyIE5vdmVtYmVyIDksIGh0dHBzOi8vZmlyZWZveC1jaS10Yy5zZXJ2
aWNlcy5tb3ppbGxhLmNvbS8pCi1GSVJFRk9YX0NJX1JPT1RfVVJMID0gJ2h0dHBzOi8vdGFza2Ns
dXN0ZXIubmV0JworRklSRUZPWF9DSV9ST09UX1VSTCA9ICdodHRwczovL2ZpcmVmb3gtY2ktdGMu
c2VydmljZXMubW96aWxsYS5jb20nCiAKIAogZGVmIF9nZXRfZmlsZXZlcnNpb24oYmluYXJ5LCBs
b2dnZXI9Tm9uZSk6CkBAIC00MSw2ICs0MCwyMyBAQCBkZWYgaGFuZGxlX3JlbW92ZV9yZWFkb25s
eShmdW5jLCBwYXRoLCBleGMpOgogICAgICAgICByYWlzZQogCiAKK2RlZiBnZXRfZXh0KGZpbGVu
YW1lKToKKyAgICAiIiJHZXQgdGhlIGV4dGVuc2lvbiBmcm9tIGEgZmlsZW5hbWUgd2l0aCBzcGVj
aWFsIGhhbmRsaW5nIGZvciAudGFyLmZvbyIiIgorICAgIG5hbWUsIGV4dCA9IG9zLnBhdGguc3Bs
aXRleHQoZmlsZW5hbWUpCisgICAgaWYgbmFtZS5lbmRzd2l0aCgiLnRhciIpOgorICAgICAgICBl
eHQgPSAiLnRhciVzIiAlIGV4dAorICAgIHJldHVybiBleHQKKworCitkZWYgZ2V0X3Rhc2tjbHVz
dGVyX2FydGlmYWN0KGluZGV4LCBwYXRoKToKKyAgICBUQ19JTkRFWF9CQVNFID0gRklSRUZPWF9D
SV9ST09UX1VSTCArICIvYXBpL2luZGV4L3YxLyIKKworICAgIHJlc3AgPSBnZXQoVENfSU5ERVhf
QkFTRSArICJ0YXNrLyVzL2FydGlmYWN0cy8lcyIgJSAoaW5kZXgsIHBhdGgpKQorICAgIHJlc3Au
cmFpc2VfZm9yX3N0YXR1cygpCisKKyAgICByZXR1cm4gcmVzcAorCisKIGNsYXNzIEJyb3dzZXIo
b2JqZWN0KToKICAgICBfX21ldGFjbGFzc19fID0gQUJDTWV0YQogCkBAIC00OCw4ICs2NCwxMyBA
QCBjbGFzcyBCcm93c2VyKG9iamVjdCk6CiAgICAgICAgIHNlbGYubG9nZ2VyID0gbG9nZ2VyCiAK
ICAgICBAYWJzdHJhY3RtZXRob2QKLSAgICBkZWYgZG93bmxvYWQoc2VsZiwgZGVzdD1Ob25lLCBj
aGFubmVsPU5vbmUpOgotICAgICAgICAiIiJEb3dubG9hZCBhIHBhY2thZ2Ugb3IgaW5zdGFsbGVy
IGZvciB0aGUgYnJvd3NlciIiIgorICAgIGRlZiBkb3dubG9hZChzZWxmLCBkZXN0PU5vbmUsIGNo
YW5uZWw9Tm9uZSwgcmVuYW1lPU5vbmUpOgorICAgICAgICAiIiJEb3dubG9hZCBhIHBhY2thZ2Ug
b3IgaW5zdGFsbGVyIGZvciB0aGUgYnJvd3NlcgorICAgICAgICA6cGFyYW0gZGVzdDogRGlyZWN0
b3J5IGluIHdoaWNoIHRvIHB1dCB0aGUgZG93bG9hZGVkIHBhY2thZ2UKKyAgICAgICAgOnBhcmFt
IGNoYW5uZWw6IEJyb3dzZXIgY2hhbm5lbCB0byBkb3dubG9hZAorICAgICAgICA6cGFyYW0gcmVu
YW1lOiBPcHRpb25hbCBuYW1lIGZvciB0aGUgZG93bmxvYWRlZCBwYWNrYWdlOyB0aGUgb3JpZ2lu
YWwKKyAgICAgICAgICAgICAgICAgICAgICAgZXh0ZW5zaW9uIGlzIHByZXNlcnZlZC4KKyAgICAg
ICAgIiIiCiAgICAgICAgIHJldHVybiBOb3RJbXBsZW1lbnRlZAogCiAgICAgQGFic3RyYWN0bWV0
aG9kCkBAIC0xMzMsNyArMTU0LDcgQEAgY2xhc3MgRmlyZWZveChCcm93c2VyKToKIAogICAgICAg
ICByZXR1cm4gZGVzdAogCi0gICAgZGVmIGRvd25sb2FkKHNlbGYsIGRlc3Q9Tm9uZSwgY2hhbm5l
bD0ibmlnaHRseSIpOgorICAgIGRlZiBkb3dubG9hZChzZWxmLCBkZXN0PU5vbmUsIGNoYW5uZWw9
Im5pZ2h0bHkiLCByZW5hbWU9Tm9uZSk6CiAgICAgICAgIHByb2R1Y3QgPSB7CiAgICAgICAgICAg
ICAibmlnaHRseSI6ICJmaXJlZm94LW5pZ2h0bHktbGF0ZXN0LXNzbCIsCiAgICAgICAgICAgICAi
YmV0YSI6ICJmaXJlZm94LWJldGEtbGF0ZXN0LXNzbCIsCkBAIC0xNjEsNyArMTgyLDcgQEAgY2xh
c3MgRmlyZWZveChCcm93c2VyKToKICAgICAgICAgdXJsID0gImh0dHBzOi8vZG93bmxvYWQubW96
aWxsYS5vcmcvP3Byb2R1Y3Q9JXMmb3M9JXMmbGFuZz1lbi1VUyIgJSAocHJvZHVjdFtjaGFubmVs
XSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgb3NfYnVpbGRzW29zX2tleV0pCiAgICAgICAgIHNlbGYu
bG9nZ2VyLmluZm8oIkRvd25sb2FkaW5nIEZpcmVmb3ggZnJvbSAlcyIgJSB1cmwpCi0gICAgICAg
IHJlc3AgPSByZXF1ZXN0cy5nZXQodXJsKQorICAgICAgICByZXNwID0gZ2V0KHVybCkKIAogICAg
ICAgICBmaWxlbmFtZSA9IE5vbmUKIApAQCAtMTcyLDExICsxOTMsMTQgQEAgY2xhc3MgRmlyZWZv
eChCcm93c2VyKToKICAgICAgICAgICAgICAgICBmaWxlbmFtZSA9IGZpbGVuYW1lc1swXQogCiAg
ICAgICAgIGlmIG5vdCBmaWxlbmFtZToKLSAgICAgICAgICAgIGZpbGVuYW1lID0gdXJscGFyc2Uu
dXJsc3BsaXQocmVzcC51cmwpLnBhdGgucnNwbGl0KCIvIiwgMSlbMV0KKyAgICAgICAgICAgIGZp
bGVuYW1lID0gdXJsc3BsaXQocmVzcC51cmwpLnBhdGgucnNwbGl0KCIvIiwgMSlbMV0KIAogICAg
ICAgICBpZiBub3QgZmlsZW5hbWU6CiAgICAgICAgICAgICBmaWxlbmFtZSA9ICJmaXJlZm94LnRh
ci5iejIiCiAKKyAgICAgICAgaWYgcmVuYW1lOgorICAgICAgICAgICAgZmlsZW5hbWUgPSAiJXMl
cyIgJSAocmVuYW1lLCBnZXRfZXh0KGZpbGVuYW1lKSkKKwogICAgICAgICBpbnN0YWxsZXJfcGF0
aCA9IG9zLnBhdGguam9pbihkZXN0LCBmaWxlbmFtZSkKIAogICAgICAgICB3aXRoIG9wZW4oaW5z
dGFsbGVyX3BhdGgsICJ3YiIpIGFzIGY6CkBAIC0zNjMsMTQgKzM4NywxNCBAQCBjbGFzcyBGaXJl
Zm94KEJyb3dzZXIpOgogICAgICAgICB0YWdzID0gY2FsbCgiZ2l0IiwgImxzLXJlbW90ZSIsICIt
LXRhZ3MiLCAiLS1yZWZzIiwKICAgICAgICAgICAgICAgICAgICAgImh0dHBzOi8vZ2l0aHViLmNv
bS9tb3ppbGxhL2dlY2tvZHJpdmVyLmdpdCIpCiAgICAgICAgIHJlbGVhc2VfcmUgPSByZS5jb21w
aWxlKHIiLipyZWZzL3RhZ3MvdihcZCspXC4oXGQrKVwuKFxkKykiKQotICAgICAgICBsYXRlc3Rf
cmVsZWFzZSA9IDAKKyAgICAgICAgbGF0ZXN0X3JlbGVhc2UgPSAoMCwwLDApCiAgICAgICAgIGZv
ciBpdGVtIGluIHRhZ3Muc3BsaXQoIlxuIik6CiAgICAgICAgICAgICBtID0gcmVsZWFzZV9yZS5t
YXRjaChpdGVtKQogICAgICAgICAgICAgaWYgbToKLSAgICAgICAgICAgICAgICB2ZXJzaW9uID0g
W2ludChpdGVtKSBmb3IgaXRlbSBpbiBtLmdyb3VwcygpXQorICAgICAgICAgICAgICAgIHZlcnNp
b24gPSB0dXBsZShpbnQoaXRlbSkgZm9yIGl0ZW0gaW4gbS5ncm91cHMoKSkKICAgICAgICAgICAg
ICAgICBpZiB2ZXJzaW9uID4gbGF0ZXN0X3JlbGVhc2U6CiAgICAgICAgICAgICAgICAgICAgIGxh
dGVzdF9yZWxlYXNlID0gdmVyc2lvbgotICAgICAgICBhc3NlcnQgbGF0ZXN0X3JlbGVhc2UgIT0g
MAorICAgICAgICBhc3NlcnQgbGF0ZXN0X3JlbGVhc2UgIT0gKDAsMCwwKQogICAgICAgICByZXR1
cm4gInYlcy4lcy4lcyIgJSB0dXBsZShzdHIoaXRlbSkgZm9yIGl0ZW0gaW4gbGF0ZXN0X3JlbGVh
c2UpCiAKICAgICBkZWYgaW5zdGFsbF93ZWJkcml2ZXIoc2VsZiwgZGVzdD1Ob25lLCBjaGFubmVs
PU5vbmUsIGJyb3dzZXJfYmluYXJ5PU5vbmUpOgpAQCAtMzk3LDMyICs0MjEsMzIgQEAgY2xhc3Mg
RmlyZWZveChCcm93c2VyKToKICAgICAgICAgcmV0dXJuIGZpbmRfZXhlY3V0YWJsZShvcy5wYXRo
LmpvaW4oZGVzdCwgImdlY2tvZHJpdmVyIikpCiAKICAgICBkZWYgaW5zdGFsbF9nZWNrb2RyaXZl
cl9uaWdodGx5KHNlbGYsIGRlc3QpOgotICAgICAgICBpbXBvcnQgdGFyZmlsZQotICAgICAgICBp
bXBvcnQgbW96ZG93bmxvYWQKICAgICAgICAgc2VsZi5sb2dnZXIuaW5mbygiQXR0ZW1wdGluZyB0
byBpbnN0YWxsIHdlYmRyaXZlciBmcm9tIG5pZ2h0bHkiKQorCisgICAgICAgIHBsYXRmb3JtX2Jp
dHMgPSAoIjY0IiBpZiB1bmFtZVs0XSA9PSAieDg2XzY0IiBlbHNlCisgICAgICAgICAgICAgICAg
ICAgICAgICAgKCIzMiIgaWYgc2VsZi5wbGF0Zm9ybSA9PSAid2luIiBlbHNlICIiKSkKKyAgICAg
ICAgdGNfcGxhdGZvcm0gPSAiJXMlcyIgJSAoc2VsZi5wbGF0Zm9ybSwgcGxhdGZvcm1fYml0cykK
KworICAgICAgICBhcmNoaXZlX2V4dCA9ICIuemlwIiBpZiB1bmFtZVswXSA9PSAiV2luZG93cyIg
ZWxzZSAiLnRhci5neiIKKyAgICAgICAgYXJjaGl2ZV9uYW1lID0gInB1YmxpYy9nZWNrb2RyaXZl
ciVzIiAlIGFyY2hpdmVfZXh0CisKICAgICAgICAgdHJ5OgotICAgICAgICAgICAgcyA9IG1vemRv
d25sb2FkLkRhaWx5U2NyYXBlcihicmFuY2g9Im1vemlsbGEtY2VudHJhbCIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dGVuc2lvbj0iY29tbW9uLnRlc3RzLnRh
ci5neiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc3RpbmF0
aW9uPWRlc3QpCi0gICAgICAgICAgICBwYWNrYWdlX3BhdGggPSBzLmRvd25sb2FkKCkKLSAgICAg
ICAgZXhjZXB0IG1vemRvd25sb2FkLmVycm9ycy5Ob3RGb3VuZEVycm9yOgorICAgICAgICAgICAg
cmVzcCA9IGdldF90YXNrY2x1c3Rlcl9hcnRpZmFjdCgKKyAgICAgICAgICAgICAgICAiZ2Vja28u
djIubW96aWxsYS1jZW50cmFsLmxhdGVzdC5nZWNrb2RyaXZlci4lcyIgJSB0Y19wbGF0Zm9ybSwK
KyAgICAgICAgICAgICAgICBhcmNoaXZlX25hbWUpCisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246
CisgICAgICAgICAgICBzZWxmLmxvZ2dlci5pbmZvKCJHZWNrb2RyaXZlciBkb3dubG9hZCBmYWls
ZWQiKQogICAgICAgICAgICAgcmV0dXJuCiAKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgZXhl
X3N1ZmZpeCA9ICIuZXhlIiBpZiB1bmFtZVswXSA9PSAiV2luZG93cyIgZWxzZSAiIgotICAgICAg
ICAgICAgd2l0aCB0YXJmaWxlLm9wZW4ocGFja2FnZV9wYXRoLCAiciIpIGFzIGY6Ci0gICAgICAg
ICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICBtZW1iZXIgPSBmLmdldG1lbWJlcigi
YmluJXNnZWNrb2RyaXZlciVzIiAlIChvcy5wYXRoLnNlcCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhlX3N1ZmZpeCkp
Ci0gICAgICAgICAgICAgICAgZXhjZXB0IEtleUVycm9yOgotICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4KLSAgICAgICAgICAgICAgICAjIFJlbW92ZSBiaW4vIGZyb20gdGhlIHBhdGguCi0gICAg
ICAgICAgICAgICAgbWVtYmVyLm5hbWUgPSBvcy5wYXRoLmJhc2VuYW1lKG1lbWJlci5uYW1lKQot
ICAgICAgICAgICAgICAgIGYuZXh0cmFjdGFsbChtZW1iZXJzPVttZW1iZXJdLCBwYXRoPWRlc3Qp
Ci0gICAgICAgICAgICAgICAgcGF0aCA9IG9zLnBhdGguam9pbihkZXN0LCBtZW1iZXIubmFtZSkK
LSAgICAgICAgICAgIHNlbGYubG9nZ2VyLmluZm8oIkV4dHJhY3RlZCBnZWNrb2RyaXZlciB0byAl
cyIgJSBwYXRoKQotICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgb3MudW5saW5rKHBhY2th
Z2VfcGF0aCkKKyAgICAgICAgaWYgYXJjaGl2ZV9leHQgPT0gIi56aXAiOgorICAgICAgICAgICAg
dW56aXAocmVzcC5yYXcsIGRlc3QpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICB1bnRhcihy
ZXNwLnJhdywgZGVzdCkKKworICAgICAgICBleGVfZXh0ID0gIi5leGUiIGlmIHVuYW1lWzBdID09
ICJXaW5kb3dzIiBlbHNlICIiCisgICAgICAgIHBhdGggPSBvcy5wYXRoLmpvaW4oZGVzdCwgImdl
Y2tvZHJpdmVyJXMiICUgZXhlX2V4dCkKKworICAgICAgICBzZWxmLmxvZ2dlci5pbmZvKCJFeHRy
YWN0ZWQgZ2Vja29kcml2ZXIgdG8gJXMiICUgcGF0aCkKIAogICAgICAgICByZXR1cm4gcGF0aAog
CkBAIC00NDEsMzAgKzQ2NSwxOSBAQCBjbGFzcyBGaXJlZm94QW5kcm9pZChCcm93c2VyKToKICAg
ICBwcm9kdWN0ID0gImZpcmVmb3hfYW5kcm9pZCIKICAgICByZXF1aXJlbWVudHMgPSAicmVxdWly
ZW1lbnRzX2ZpcmVmb3gudHh0IgogCi0gICAgZGVmIGRvd25sb2FkKHNlbGYsIGRlc3Q9Tm9uZSwg
Y2hhbm5lbD1Ob25lKToKKyAgICBkZWYgZG93bmxvYWQoc2VsZiwgZGVzdD1Ob25lLCBjaGFubmVs
PU5vbmUsIHJlbmFtZT1Ob25lKToKICAgICAgICAgaWYgZGVzdCBpcyBOb25lOgogICAgICAgICAg
ICAgZGVzdCA9IG9zLnB3ZAogCi0gICAgICAgIGlmIEZJUkVGT1hfQ0lfUk9PVF9VUkwgPT0gJ2h0
dHBzOi8vdGFza2NsdXN0ZXIubmV0JzoKLSAgICAgICAgICAgICMgTk9URTogdGhpcyBjb25kaXRp
b24gY2FuIGJlIHJlbW92ZWQgYWZ0ZXIgTm92ZW1iZXIgOSwgMjAxOQotICAgICAgICAgICAgVENf
UVVFVUVfQkFTRSA9ICJodHRwczovL3F1ZXVlLnRhc2tjbHVzdGVyLm5ldC92MS8iCi0gICAgICAg
ICAgICBUQ19JTkRFWF9CQVNFID0gImh0dHBzOi8vaW5kZXgudGFza2NsdXN0ZXIubmV0L3YxLyIK
LSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIFRDX1FVRVVFX0JBU0UgPSBGSVJFRk9YX0NJX1JP
T1RfVVJMICsgIi9hcGkvcXVldWUvdjEvIgotICAgICAgICAgICAgVENfSU5ERVhfQkFTRSA9IEZJ
UkVGT1hfQ0lfUk9PVF9VUkwgKyAiL2FwaS9pbmRleC92MS8iCi0KLQotICAgICAgICByZXNwID0g
cmVxdWVzdHMuZ2V0KFRDX0lOREVYX0JBU0UgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJ0YXNrL2dlY2tvLnYyLm1vemlsbGEtY2VudHJhbC5sYXRlc3QubW9iaWxlLmFuZHJvaWQteDg2
XzY0LW9wdCIpCi0gICAgICAgIHJlc3AucmFpc2VfZm9yX3N0YXR1cygpCi0gICAgICAgIGluZGV4
ID0gcmVzcC5qc29uKCkKLSAgICAgICAgdGFza19pZCA9IGluZGV4WyJ0YXNrSWQiXQogCi0gICAg
ICAgIHJlc3AgPSByZXF1ZXN0cy5nZXQoVENfUVVFVUVfQkFTRSArICJ0YXNrLyVzL2FydGlmYWN0
cy8lcyIgJQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICh0YXNrX2lkLCAicHVibGljL2J1
aWxkL2dlY2tvdmlldy1hbmRyb2lkVGVzdC5hcGsiKSkKLSAgICAgICAgcmVzcC5yYWlzZV9mb3Jf
c3RhdHVzKCkKKyAgICAgICAgcmVzcCA9IGdldF90YXNrY2x1c3Rlcl9hcnRpZmFjdCgKKyAgICAg
ICAgICAgICJnZWNrby52Mi5tb3ppbGxhLWNlbnRyYWwubGF0ZXN0Lm1vYmlsZS5hbmRyb2lkLXg4
Nl82NC1vcHQiLAorICAgICAgICAgICAgInB1YmxpYy9idWlsZC9nZWNrb3ZpZXctYW5kcm9pZFRl
c3QuYXBrIikKIAotICAgICAgICBhcGtfcGF0aCA9IG9zLnBhdGguam9pbihkZXN0LCAiZ2Vja292
aWV3LWFuZHJvaWRUZXN0LmFwayIpCisgICAgICAgIGZpbGVuYW1lID0gImdlY2tvdmlldy1hbmRy
b2lkVGVzdC5hcGsiCisgICAgICAgIGlmIHJlbmFtZToKKyAgICAgICAgICAgIGZpbGVuYW1lID0g
IiVzJXMiICUgKHJlbmFtZSwgZ2V0X2V4dChmaWxlbmFtZSlbMV0pCisgICAgICAgIGFwa19wYXRo
ID0gb3MucGF0aC5qb2luKGRlc3QsIGZpbGVuYW1lKQogCiAgICAgICAgIHdpdGggb3BlbihhcGtf
cGF0aCwgIndiIikgYXMgZjoKICAgICAgICAgICAgIGYud3JpdGUocmVzcC5jb250ZW50KQpAQCAt
NTAwLDcgKzUxMyw3IEBAIGNsYXNzIENocm9tZShCcm93c2VyKToKICAgICBwcm9kdWN0ID0gImNo
cm9tZSIKICAgICByZXF1aXJlbWVudHMgPSAicmVxdWlyZW1lbnRzX2Nocm9tZS50eHQiCiAKLSAg
ICBkZWYgZG93bmxvYWQoc2VsZiwgZGVzdD1Ob25lLCBjaGFubmVsPU5vbmUpOgorICAgIGRlZiBk
b3dubG9hZChzZWxmLCBkZXN0PU5vbmUsIGNoYW5uZWw9Tm9uZSwgcmVuYW1lPU5vbmUpOgogICAg
ICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yCiAKICAgICBkZWYgaW5zdGFsbChzZWxmLCBk
ZXN0PU5vbmUsIGNoYW5uZWw9Tm9uZSk6CkBAIC02NTgsNyArNjcxLDcgQEAgY2xhc3MgQ2hyb21l
QW5kcm9pZEJhc2UoQnJvd3Nlcik6CiAgICAgICAgIHN1cGVyKENocm9tZUFuZHJvaWRCYXNlLCBz
ZWxmKS5fX2luaXRfXyhsb2dnZXIpCiAgICAgICAgIHNlbGYuZGV2aWNlX3NlcmlhbCA9IE5vbmUK
IAotICAgIGRlZiBkb3dubG9hZChzZWxmLCBkZXN0PU5vbmUsIGNoYW5uZWw9Tm9uZSk6CisgICAg
ZGVmIGRvd25sb2FkKHNlbGYsIGRlc3Q9Tm9uZSwgY2hhbm5lbD1Ob25lLCByZW5hbWU9Tm9uZSk6
CiAgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IKIAogICAgIGRlZiBpbnN0YWxsKHNl
bGYsIGRlc3Q9Tm9uZSwgY2hhbm5lbD1Ob25lKToKQEAgLTc2Niw3ICs3NzksNyBAQCBjbGFzcyBD
aHJvbWVpT1MoQnJvd3Nlcik6CiAgICAgcHJvZHVjdCA9ICJjaHJvbWVfaW9zIgogICAgIHJlcXVp
cmVtZW50cyA9ICJyZXF1aXJlbWVudHNfY2hyb21lX2lvcy50eHQiCiAKLSAgICBkZWYgZG93bmxv
YWQoc2VsZiwgZGVzdD1Ob25lLCBjaGFubmVsPU5vbmUpOgorICAgIGRlZiBkb3dubG9hZChzZWxm
LCBkZXN0PU5vbmUsIGNoYW5uZWw9Tm9uZSwgcmVuYW1lPU5vbmUpOgogICAgICAgICByYWlzZSBO
b3RJbXBsZW1lbnRlZEVycm9yCiAKICAgICBkZWYgaW5zdGFsbChzZWxmLCBkZXN0PU5vbmUsIGNo
YW5uZWw9Tm9uZSk6CkBAIC04MDIsNyArODE1LDcgQEAgY2xhc3MgT3BlcmEoQnJvd3Nlcik6CiAg
ICAgICAgIHNlbGYubG9nZ2VyLndhcm5pbmcoIlVuYWJsZSB0byBmaW5kIHRoZSBicm93c2VyIGJp
bmFyeS4iKQogICAgICAgICByZXR1cm4gTm9uZQogCi0gICAgZGVmIGRvd25sb2FkKHNlbGYsIGRl
c3Q9Tm9uZSwgY2hhbm5lbD1Ob25lKToKKyAgICBkZWYgZG93bmxvYWQoc2VsZiwgZGVzdD1Ob25l
LCBjaGFubmVsPU5vbmUsIHJlbmFtZT1Ob25lKToKICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50
ZWRFcnJvcgogCiAgICAgZGVmIGluc3RhbGwoc2VsZiwgZGVzdD1Ob25lLCBjaGFubmVsPU5vbmUp
OgpAQCAtODc0LDcgKzg4Nyw3IEBAIGNsYXNzIEVkZ2VDaHJvbWl1bShCcm93c2VyKToKICAgICBl
ZGdlZHJpdmVyX25hbWUgPSAibXNlZGdlZHJpdmVyIgogICAgIHJlcXVpcmVtZW50cyA9ICJyZXF1
aXJlbWVudHNfZWRnZV9jaHJvbWl1bS50eHQiCiAKLSAgICBkZWYgZG93bmxvYWQoc2VsZiwgZGVz
dD1Ob25lLCBjaGFubmVsPU5vbmUpOgorICAgIGRlZiBkb3dubG9hZChzZWxmLCBkZXN0PU5vbmUs
IGNoYW5uZWw9Tm9uZSwgcmVuYW1lPU5vbmUpOgogICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRl
ZEVycm9yCiAKICAgICBkZWYgaW5zdGFsbChzZWxmLCBkZXN0PU5vbmUsIGNoYW5uZWw9Tm9uZSk6
CkBAIC04ODgsMTEgKzkwMSwxMyBAQCBjbGFzcyBFZGdlQ2hyb21pdW0oQnJvd3Nlcik6CiAgICAg
ICAgICAgICBpZiBub3QgYmluYXJ5OgogICAgICAgICAgICAgICAgICMgVXNlIHBhdGhzIGZyb20g
ZGlmZmVyZW50IEVkZ2UgY2hhbm5lbHMgc3RhcnRpbmcgd2l0aCBSZWxlYXNlXEJldGFcRGV2XENh
bmFyeQogICAgICAgICAgICAgICAgIHdpbnBhdGhzID0gW29zLnBhdGguZXhwYW5kdXNlcigiflxc
QXBwRGF0YVxcTG9jYWxcXE1pY3Jvc29mdFxcRWRnZVxcQXBwbGljYXRpb24iKSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBvcy5wYXRoLmV4cGFuZHZhcnMoIiRTWVNURU1EUklWRVxcUHJv
Z3JhbSBGaWxlc1xcTWljcm9zb2Z0XFxFZGdlXFxBcHBsaWNhdGlvbiIpLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIG9zLnBhdGguZXhwYW5kdmFycygiJFNZU1RFTURSSVZFXFxQcm9ncmFt
IEZpbGVzXFxNaWNyb3NvZnRcXEVkZ2UgQmV0YVxcQXBwbGljYXRpb24iKSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBvcy5wYXRoLmV4cGFuZHZhcnMoIiRTWVNURU1EUklWRVxcUHJvZ3Jh
bSBGaWxlc1xcTWljcm9zb2Z0XFxFZGdlIERldlxcQXBwbGljYXRpb24iKSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBvcy5wYXRoLmV4cGFuZHZhcnMoIiRTWVNURU1EUklWRVxcUHJvZ3Jh
bSBGaWxlcyAoeDg2KVxcTWljcm9zb2Z0XFxFZGdlXFxBcHBsaWNhdGlvbiIpLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIG9zLnBhdGguZXhwYW5kdmFycygiJFNZU1RFTURSSVZFXFxQcm9n
cmFtIEZpbGVzICh4ODYpXFxNaWNyb3NvZnRcXEVkZ2UgQmV0YVxcQXBwbGljYXRpb24iKSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBvcy5wYXRoLmV4cGFuZHZhcnMoIiRTWVNURU1EUklW
RVxcUHJvZ3JhbSBGaWxlcyAoeDg2KVxcTWljcm9zb2Z0XFxFZGdlIERldlxcQXBwbGljYXRpb24i
KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcy5wYXRoLmV4cGFuZHVzZXIoIn5cXEFw
cERhdGFcTG9jYWxcXE1pY3Jvc29mdFxcRWRnZSBTeFNcXEFwcGxpY2F0aW9uIildCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgb3MucGF0aC5leHBhbmR1c2VyKCJ+XFxBcHBEYXRhXFxMb2Nh
bFxcTWljcm9zb2Z0XFxFZGdlIFN4U1xcQXBwbGljYXRpb24iKV0KICAgICAgICAgICAgICAgICBy
ZXR1cm4gZmluZF9leGVjdXRhYmxlKGJpbmFyeW5hbWUsIG9zLnBhdGhzZXAuam9pbih3aW5wYXRo
cykpCiAgICAgICAgIGlmIHNlbGYucGxhdGZvcm0gPT0gIm1hY29zIjoKICAgICAgICAgICAgIGJp
bmFyeW5hbWUgPSAiTWljcm9zb2Z0IEVkZ2UgQ2FuYXJ5IgpAQCAtOTczLDcgKzk4OCw3IEBAIGNs
YXNzIEVkZ2UoQnJvd3Nlcik6CiAgICAgcHJvZHVjdCA9ICJlZGdlIgogICAgIHJlcXVpcmVtZW50
cyA9ICJyZXF1aXJlbWVudHNfZWRnZS50eHQiCiAKLSAgICBkZWYgZG93bmxvYWQoc2VsZiwgZGVz
dD1Ob25lLCBjaGFubmVsPU5vbmUpOgorICAgIGRlZiBkb3dubG9hZChzZWxmLCBkZXN0PU5vbmUs
IGNoYW5uZWw9Tm9uZSwgcmVuYW1lPU5vbmUpOgogICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRl
ZEVycm9yCiAKICAgICBkZWYgaW5zdGFsbChzZWxmLCBkZXN0PU5vbmUsIGNoYW5uZWw9Tm9uZSk6
CkBAIC0xMDA3LDcgKzEwMjIsNyBAQCBjbGFzcyBJbnRlcm5ldEV4cGxvcmVyKEJyb3dzZXIpOgog
ICAgIHByb2R1Y3QgPSAiaWUiCiAgICAgcmVxdWlyZW1lbnRzID0gInJlcXVpcmVtZW50c19pZS50
eHQiCiAKLSAgICBkZWYgZG93bmxvYWQoc2VsZiwgZGVzdD1Ob25lLCBjaGFubmVsPU5vbmUpOgor
ICAgIGRlZiBkb3dubG9hZChzZWxmLCBkZXN0PU5vbmUsIGNoYW5uZWw9Tm9uZSwgcmVuYW1lPU5v
bmUpOgogICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yCiAKICAgICBkZWYgaW5zdGFs
bChzZWxmLCBkZXN0PU5vbmUsIGNoYW5uZWw9Tm9uZSk6CkBAIC0xMDM1LDcgKzEwNTAsNyBAQCBj
bGFzcyBTYWZhcmkoQnJvd3Nlcik6CiAgICAgcHJvZHVjdCA9ICJzYWZhcmkiCiAgICAgcmVxdWly
ZW1lbnRzID0gInJlcXVpcmVtZW50c19zYWZhcmkudHh0IgogCi0gICAgZGVmIGRvd25sb2FkKHNl
bGYsIGRlc3Q9Tm9uZSwgY2hhbm5lbD1Ob25lKToKKyAgICBkZWYgZG93bmxvYWQoc2VsZiwgZGVz
dD1Ob25lLCBjaGFubmVsPU5vbmUsIHJlbmFtZT1Ob25lKToKICAgICAgICAgcmFpc2UgTm90SW1w
bGVtZW50ZWRFcnJvcgogCiAgICAgZGVmIGluc3RhbGwoc2VsZiwgZGVzdD1Ob25lLCBjaGFubmVs
PU5vbmUpOgpAQCAtMTEwNSwxNCArMTEyMCwxNSBAQCBjbGFzcyBTZXJ2byhCcm93c2VyKToKICAg
ICAgICAgdXJsID0gImh0dHBzOi8vZG93bmxvYWQuc2Vydm8ub3JnL25pZ2h0bHkvJXMvc2Vydm8t
bGF0ZXN0JXMiICUgKHBsYXRmb3JtLCBleHRlbnNpb24pCiAgICAgICAgIHJldHVybiBnZXQodXJs
KQogCi0gICAgZGVmIGRvd25sb2FkKHNlbGYsIGRlc3Q9Tm9uZSwgY2hhbm5lbD0ibmlnaHRseSIp
OgorICAgIGRlZiBkb3dubG9hZChzZWxmLCBkZXN0PU5vbmUsIGNoYW5uZWw9Im5pZ2h0bHkiLCBy
ZW5hbWU9Tm9uZSk6CiAgICAgICAgIGlmIGRlc3QgaXMgTm9uZToKICAgICAgICAgICAgIGRlc3Qg
PSBvcy5wd2QKIAogICAgICAgICByZXNwID0gc2VsZi5fZ2V0KGRlc3QsIGNoYW5uZWwpCiAgICAg
ICAgIF8sIGV4dGVuc2lvbiwgXyA9IHNlbGYucGxhdGZvcm1fY29tcG9uZW50cygpCiAKLSAgICAg
ICAgd2l0aCBvcGVuKG9zLnBhdGguam9pbihkZXN0LCAic2Vydm8tbGF0ZXN0JXMiICUgKGV4dGVu
c2lvbiwpKSwgInciKSBhcyBmOgorICAgICAgICBmaWxlbmFtZSA9IHJlbmFtZSBpZiByZW5hbWUg
aXMgbm90IE5vbmUgZWxzZSAic2Vydm8tbGF0ZXN0IgorICAgICAgICB3aXRoIG9wZW4ob3MucGF0
aC5qb2luKGRlc3QsICIlcyVzIiAlIChmaWxlbmFtZSwgZXh0ZW5zaW9uLCkpLCAidyIpIGFzIGY6
CiAgICAgICAgICAgICBmLndyaXRlKHJlc3AuY29udGVudCkKIAogICAgIGRlZiBpbnN0YWxsKHNl
bGYsIGRlc3Q9Tm9uZSwgY2hhbm5lbD0ibmlnaHRseSIpOgpAQCAtMTE1OSw3ICsxMTc1LDcgQEAg
Y2xhc3MgU2F1Y2UoQnJvd3Nlcik6CiAgICAgcHJvZHVjdCA9ICJzYXVjZSIKICAgICByZXF1aXJl
bWVudHMgPSAicmVxdWlyZW1lbnRzX3NhdWNlLnR4dCIKIAotICAgIGRlZiBkb3dubG9hZChzZWxm
LCBkZXN0PU5vbmUsIGNoYW5uZWw9Tm9uZSk6CisgICAgZGVmIGRvd25sb2FkKHNlbGYsIGRlc3Q9
Tm9uZSwgY2hhbm5lbD1Ob25lLCByZW5hbWU9Tm9uZSk6CiAgICAgICAgIHJhaXNlIE5vdEltcGxl
bWVudGVkRXJyb3IKIAogICAgIGRlZiBpbnN0YWxsKHNlbGYsIGRlc3Q9Tm9uZSwgY2hhbm5lbD1O
b25lKToKQEAgLTExODQsNyArMTIwMCw3IEBAIGNsYXNzIFdlYktpdChCcm93c2VyKToKICAgICBw
cm9kdWN0ID0gIndlYmtpdCIKICAgICByZXF1aXJlbWVudHMgPSAicmVxdWlyZW1lbnRzX3dlYmtp
dC50eHQiCiAKLSAgICBkZWYgZG93bmxvYWQoc2VsZiwgZGVzdD1Ob25lLCBjaGFubmVsPU5vbmUp
OgorICAgIGRlZiBkb3dubG9hZChzZWxmLCBkZXN0PU5vbmUsIGNoYW5uZWw9Tm9uZSwgcmVuYW1l
PU5vbmUpOgogICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yCiAKICAgICBkZWYgaW5z
dGFsbChzZWxmLCBkZXN0PU5vbmUsIGNoYW5uZWw9Tm9uZSk6CkBAIC0xMjUwLDcgKzEyNjYsNyBA
QCBjbGFzcyBFcGlwaGFueShCcm93c2VyKToKICAgICBwcm9kdWN0ID0gImVwaXBoYW55IgogICAg
IHJlcXVpcmVtZW50cyA9ICJyZXF1aXJlbWVudHNfZXBpcGhhbnkudHh0IgogCi0gICAgZGVmIGRv
d25sb2FkKHNlbGYsIGRlc3Q9Tm9uZSwgY2hhbm5lbD1Ob25lKToKKyAgICBkZWYgZG93bmxvYWQo
c2VsZiwgZGVzdD1Ob25lLCBjaGFubmVsPU5vbmUsIHJlbmFtZT1Ob25lKToKICAgICAgICAgcmFp
c2UgTm90SW1wbGVtZW50ZWRFcnJvcgogCiAgICAgZGVmIGluc3RhbGwoc2VsZiwgZGVzdD1Ob25l
LCBjaGFubmVsPU5vbmUpOgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHQvY29tbWFuZHMuanNvbiBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0L2NvbW1hbmRzLmpzb24KaW5k
ZXggNjBmZTE2MjFhZjBkZWNkMGZhYTQzNGYyNmRjYmE5OTUxNTQxNzNlNy4uYTQ3YWI0MGQ3Mjg0
N2Q1ZjUzNmUwYWMyZTAyZWIzZmUwZmVhMjMzYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHQvY29tbWFuZHMuanNvbgorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdC9j
b21tYW5kcy5qc29uCkBAIC01Miw3ICs1Miw2IEBACiAgICAgInBhcnNlciI6ICJnZXRfcGFyc2Vy
IiwKICAgICAiaGVscCI6ICJJbnN0YWxsIGJyb3dzZXIgY29tcG9uZW50cyIsCiAgICAgImluc3Rh
bGwiOiBbCi0gICAgICAibW96ZG93bmxvYWQiLAogICAgICAgIm1vemluc3RhbGwiCiAgICAgXQog
ICB9LApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHQvaW5zdGFsbC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0L2luc3RhbGwucHkKaW5kZXggMjQ5MTVmMGM5OGQwYmUz
YTg2NGEzYTUxNWJhMGUxNjJkYzM3ZGE4Yy4uNmViNTlmODE0YmYwOGQxMzlkNTk3YTRiNGIyNmE3
ZDdhYTkyMGZkNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHQvaW5zdGFsbC5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdC9pbnN0YWxsLnB5CkBAIC0xLDcgKzEs
NiBAQAogaW1wb3J0IGFyZ3BhcnNlCi1pbXBvcnQgYnJvd3NlcgogaW1wb3J0IHN5cwotCitmcm9t
IC4gaW1wb3J0IGJyb3dzZXIKIAogbGF0ZXN0X2NoYW5uZWxzID0gewogICAgICdmaXJlZm94Jzog
J25pZ2h0bHknLApAQCAtNDQsNiArNDMsOSBAQCBkZWYgZ2V0X3BhcnNlcigpOgogICAgICAgICAg
ICAgICAgICAgICAgICAgJ2xhdGVzdCBicm93c2VyIHJlbGVhc2Ugb24gdGhlIHNlbGVjdGVkIGNo
YW5uZWwuJykKICAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWRvd25sb2FkLW9ubHknLCBhY3Rp
b249InN0b3JlX3RydWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iRG93bmxvYWQg
dGhlIHNlbGVjdGVkIGNvbXBvbmVudCBidXQgZG9uJ3QgaW5zdGFsbCBpdCIpCisgICAgcGFyc2Vy
LmFkZF9hcmd1bWVudCgnLS1yZW5hbWUnLCBhY3Rpb249InN0b3JlIiwgZGVmYXVsdD1Ob25lLAor
ICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iRmlsZW5hbWUsIGV4Y2x1ZGluZyBleHRlbnNp
b24gZm9yIGRvd25sb2FkZWQgYXJjaGl2ZSAiCisgICAgICAgICAgICAgICAgICAgICAgICAiKG9u
bHkgd2l0aCAtLWRvd25sb2FkLW9ubHkpIikKICAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctZCcs
ICctLWRlc3RpbmF0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J2ZpbGVzeXN0
ZW0gZGlyZWN0b3J5IHRvIHBsYWNlIHRoZSBjb21wb25lbnQnKQogICAgIHJldHVybiBwYXJzZXIK
QEAgLTc2LDEwICs3OCwxMSBAQCBkZWYgcnVuKHZlbnYsICoqa3dhcmdzKToKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vIC0tZGVzdGluYXRpb24gYXJndW1lbnQs
IGFuZCBubyBkZWZhdWx0IGZvciB0aGUgZW52aXJvbm1lbnQiKQogCiAgICAgaW5zdGFsbChicm93
c2VyLCBrd2FyZ3NbImNvbXBvbmVudCJdLCBkZXN0aW5hdGlvbiwgY2hhbm5lbCwKLSAgICAgICAg
ICAgIGRvd25sb2FkX29ubHk9a3dhcmdzWyJkb3dubG9hZF9vbmx5Il0pCisgICAgICAgICAgICBk
b3dubG9hZF9vbmx5PWt3YXJnc1siZG93bmxvYWRfb25seSJdLCByZW5hbWU9a3dhcmdzWyJyZW5h
bWUiXSkKIAogCi1kZWYgaW5zdGFsbChuYW1lLCBjb21wb25lbnQsIGRlc3RpbmF0aW9uLCBjaGFu
bmVsPSJuaWdodGx5IiwgbG9nZ2VyPU5vbmUsIGRvd25sb2FkX29ubHk9RmFsc2UpOgorZGVmIGlu
c3RhbGwobmFtZSwgY29tcG9uZW50LCBkZXN0aW5hdGlvbiwgY2hhbm5lbD0ibmlnaHRseSIsIGxv
Z2dlcj1Ob25lLCBkb3dubG9hZF9vbmx5PUZhbHNlLAorICAgICAgICAgICAgcmVuYW1lPU5vbmUp
OgogICAgIGlmIGxvZ2dlciBpcyBOb25lOgogICAgICAgICBpbXBvcnQgbG9nZ2luZwogICAgICAg
ICBsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcigiaW5zdGFsbCIpCkBAIC05MSw2ICs5NCw5IEBA
IGRlZiBpbnN0YWxsKG5hbWUsIGNvbXBvbmVudCwgZGVzdGluYXRpb24sIGNoYW5uZWw9Im5pZ2h0
bHkiLCBsb2dnZXI9Tm9uZSwgZG93bmxvCiAKICAgICBzdWJjbGFzcyA9IGdldGF0dHIoYnJvd3Nl
ciwgbmFtZS50aXRsZSgpKQogICAgIHN5cy5zdGRvdXQud3JpdGUoJ05vdyBpbnN0YWxsaW5nICVz
ICVzLi4uXG4nICUgKG5hbWUsIGNvbXBvbmVudCkpCi0gICAgcGF0aCA9IGdldGF0dHIoc3ViY2xh
c3MobG9nZ2VyKSwgbWV0aG9kKShkZXN0PWRlc3RpbmF0aW9uLCBjaGFubmVsPWNoYW5uZWwpCisg
ICAga3dhcmdzID0ge30KKyAgICBpZiBkb3dubG9hZF9vbmx5IGFuZCByZW5hbWU6CisgICAgICAg
IGt3YXJnc1sicmVuYW1lIl0gPSByZW5hbWUKKyAgICBwYXRoID0gZ2V0YXR0cihzdWJjbGFzcyhs
b2dnZXIpLCBtZXRob2QpKGRlc3Q9ZGVzdGluYXRpb24sIGNoYW5uZWw9Y2hhbm5lbCwgKiprd2Fy
Z3MpCiAgICAgaWYgcGF0aDoKICAgICAgICAgc3lzLnN0ZG91dC53cml0ZSgnQmluYXJ5ICVzIGFz
ICVzXG4nICUgKCJkb3dubG9hZGVkIiBpZiBkb3dubG9hZF9vbmx5IGVsc2UgImluc3RhbGxlZCIs
IHBhdGgsKSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvd3B0L3BhdGhzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy93cHQvcGF0aHMKaW5kZXggMzU4NjdjNGNjYmZlOTVjNGU3MWE4
ZDcxY2U5MGE3YjM3ODk1MWZkNS4uNmIwOWNjOGJkYWJlYzljNmEzNmVlMjU3MjkzYmU5MDJjNzk4
YjE0ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHQvcGF0aHMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy93cHQvcGF0aHMKQEAgLTIsNSArMiw2IEBAIHRvb2xzL2NpLwog
dG9vbHMvZG9ja2VyLwogdG9vbHMvbGludC8KIHRvb2xzL21hbmlmZXN0LwordG9vbHMvcXVpYy8K
IHRvb2xzL3NlcnZlLwogdG9vbHMvd3B0LwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHQvcmVxdWlyZW1lbnRzLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0L3JlcXVp
cmVtZW50cy50eHQKaW5kZXggNTY2MDgzY2I2YmU4OWEwM2U0OGNjNWMxYTBhODhmYzVjZTUzYTg1
My4uM2JhZWZhNTBlYTk4MTk3NGJlNjZiNmUyMjZlMDUwZTU5ZTAzNGMyMiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHQvcmVx
dWlyZW1lbnRzLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdC9yZXF1aXJlbWVudHMudHh0CkBAIC0xICsxLDIgQEAKLXJlcXVlc3Rz
PT0yLjIyLjAKK3JlcXVlc3RzPT0yLjIzLjAKK21vemluZm89PTEuMi4xICAjIGh0dHBzOi8vYnVn
emlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTE2MjEyMjYKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0L3Jldmxp
c3QucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdC9yZXZsaXN0LnB5CmluZGV4IGM0Y2JjMjk0M2I3Y2UwMmVmMmE1OGY2NWQzNGFiNzE3YmZi
MGM5ODEuLjE4OTNmZGVmYTgzNDZlOGY5NjllNDE3ODlkZjZlM2RkZDg1NDA2MjkgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0
L3Jldmxpc3QucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHQvcmV2bGlzdC5weQpAQCAtMTA2LDExICsxMDYsMTQgQEAgZGVmIGdldF9w
YXJzZXIoKToKICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9aW50LAogICAgICAgICAgICAg
ICAgICAgICAgICAgaGVscD0ibWF4aW11bSBudW1iZXIgb2YgcmV2aXNpb25zIHRvIGJlIHJldHVy
bmVkIGJ5ICIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRoZSBjb21tYW5kIikKKyAg
ICBwYXJzZXIuYWRkX2FyZ3VtZW50KCItLXZlcmJvc2UiLCBhY3Rpb249InN0b3JlX3RydWUiLCBo
ZWxwPSJkZWJ1ZyBsb2dnaW5nIikKICAgICByZXR1cm4gcGFyc2VyCiAKIAogZGVmIHJ1bl9yZXZf
bGlzdCgqKmt3YXJncyk6CiAgICAgIyB0eXBlOiAoKipBbnkpIC0+IE5vbmUKKyAgICBpZiBrd2Fy
Z3MuZ2V0KCd2ZXJib3NlJyk6CisgICAgICAgIGxvZ2dlci5zZXRMZXZlbChsb2dnaW5nLkRFQlVH
KQogICAgICMgImVwb2NoX3RocmVzaG9sZCIgaXMgYSBzYWZldHkgbWFyZ2luLiBBZnRlciB0aGlz
IHRpbWUgaXQgaXMgZmluZSB0bwogICAgICMgYXNzdW1lIHRoYXQgYW55IHRhZ3MgYXJlIGNyZWF0
ZWQgYW5kIHB1c2hlZC4KICAgICBlcG9jaF90aHJlc2hvbGQgPSA2MDAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0L3J1bi5w
eSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0
L3J1bi5weQppbmRleCAwYzczMmU3YWU4YWVlN2Q0NDEwMTU2NDJiYThmMmZjYmQ3ZTY2ZTBlLi5h
OWZkZWFkYTFlYzc4MGE1MDA5M2YyMjE2NzNjZjQwNjg2NGUzNmMyIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdC9ydW4ucHkK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHQvcnVuLnB5CkBAIC0xODMsNiArMTgzLDE2IEBAIGNsYXNzIEJyb3dzZXJTZXR1cChvYmplY3Qp
OgogICAgIGRlZiBzZXR1cChzZWxmLCBrd2FyZ3MpOgogICAgICAgICBzZWxmLnNldHVwX2t3YXJn
cyhrd2FyZ3MpCiAKK2RlZiBzYWZlX3Vuc2V0ZW52KGVudl92YXIpOgorICAgICIiIlNhZmVseSBy
ZW1vdmUgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUuCisKKyAgICBQeXRob24zIGRvZXMgbm90IHN1
cHBvcnQgb3MudW5zZXRlbnYgaW4gV2luZG93cyBmb3IgcHl0aG9uPDMuOSwgc28gd2UgYmV0dGVy
CisgICAgcmVtb3ZlIHRoZSB2YXJpYWJsZSBkaXJlY3RseSBmcm9tIG9zLmVudmlyb24uCisgICAg
IiIiCisgICAgdHJ5OgorICAgICAgICBkZWwgb3MuZW52aXJvbltlbnZfdmFyXQorICAgIGV4Y2Vw
dCBLZXlFcnJvcjoKKyAgICAgICAgcGFzcwogCiBjbGFzcyBGaXJlZm94KEJyb3dzZXJTZXR1cCk6
CiAgICAgbmFtZSA9ICJmaXJlZm94IgpAQCAtMjQzLDkgKzI1Myw5IEBAIENvbnNpZGVyIGluc3Rh
bGxpbmcgY2VydHV0aWwgdmlhIHlvdXIgT1MgcGFja2FnZSBtYW5hZ2VyIG9yIGRpcmVjdGx5LiIi
IikKICAgICAgICAgICAgIGxvZ2dlci5pbmZvKCJSdW5uaW5nIGluIGhlYWRsZXNzIG1vZGUsIHBh
c3MgLS1uby1oZWFkbGVzcyB0byBkaXNhYmxlIikKIAogICAgICAgICAjIFR1cm4gb2ZmIEZpcmVm
b3ggV2ViUlRDIElDRSBsb2dnaW5nIG9uIFdQVCAodHVybmVkIG9uIGJ5IG1venJ1bm5lcikKLSAg
ICAgICAgb3MudW5zZXRlbnYoJ1JfTE9HX0xFVkVMJykKLSAgICAgICAgb3MudW5zZXRlbnYoJ1Jf
TE9HX0RFU1RJTkFUSU9OJykKLSAgICAgICAgb3MudW5zZXRlbnYoJ1JfTE9HX1ZFUkJPU0UnKQor
ICAgICAgICBzYWZlX3Vuc2V0ZW52KCdSX0xPR19MRVZFTCcpCisgICAgICAgIHNhZmVfdW5zZXRl
bnYoJ1JfTE9HX0RFU1RJTkFUSU9OJykKKyAgICAgICAgc2FmZV91bnNldGVudignUl9MT0dfVkVS
Qk9TRScpCiAKICAgICAgICAgIyBBbGxvdyBXZWJSVEMgdGVzdHMgdG8gY2FsbCBnZXRVc2VyTWVk
aWEuCiAgICAgICAgIGt3YXJnc1siZXh0cmFfcHJlZnMiXS5hcHBlbmQoIm1lZGlhLm5hdmlnYXRv
ci5zdHJlYW1zLmZha2U9dHJ1ZSIpCkBAIC03MDUsOCArNzE1LDkgQEAgZGVmIHNldHVwX2xvZ2dp
bmcoa3dhcmdzLCBkZWZhdWx0X2NvbmZpZz1Ob25lLCBmb3JtYXR0ZXJfZGVmYXVsdHM9Tm9uZSk6
CiAKIGRlZiBzZXR1cF93cHRydW5uZXIodmVudiwgcHJvbXB0PVRydWUsIGluc3RhbGxfYnJvd3Nl
cj1GYWxzZSwgKiprd2FyZ3MpOgogICAgIGZyb20gd3B0cnVubmVyIGltcG9ydCB3cHRjb21tYW5k
bGluZQorICAgIGZyb20gc2l4IGltcG9ydCBpdGVyaXRlbXMKIAotICAgIGt3YXJncyA9IHV0aWxz
Lkt3YXJncyhrd2FyZ3MuaXRlcml0ZW1zKCkpCisgICAga3dhcmdzID0gdXRpbHMuS3dhcmdzKGl0
ZXJpdGVtcyhrd2FyZ3MpKQogCiAgICAgcHJvZHVjdF9wYXJ0cyA9IGt3YXJnc1sicHJvZHVjdCJd
LnNwbGl0KCI6IikKICAgICBrd2FyZ3NbInByb2R1Y3QiXSA9IHByb2R1Y3RfcGFydHNbMF0ucmVw
bGFjZSgiLSIsICJfIikKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0L3Rlc3RmaWxlcy5weSBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0L3Rlc3RmaWxlcy5weQppbmRleCBj
ZjEyYTU5YzhlNjhhNzBmNzgyNTYzYTgxYzE1MTEyNDI5NjJlZGYzLi5mMjk2MGU4ZjUxZTQ0NWUz
ZjZmNTNiYThlN2MwMTQ1YWE1MDcyMDM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdC90ZXN0ZmlsZXMucHkKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHQvdGVzdGZp
bGVzLnB5CkBAIC0yNDcsNyArMjQ3LDcgQEAgZGVmIGFmZmVjdGVkX3Rlc3RmaWxlcyhmaWxlc19j
aGFuZ2VkLCAgIyB0eXBlOiBJdGVyYWJsZVtUZXh0XQogICAgIG5vbnRlc3RzX2NoYW5nZWQgPSBz
ZXQoZmlsZXNfY2hhbmdlZCkKICAgICB3cHRfbWFuaWZlc3QgPSBsb2FkX21hbmlmZXN0KG1hbmlm
ZXN0X3BhdGgsIG1hbmlmZXN0X3VwZGF0ZSkKIAotICAgIHRlc3RfdHlwZXMgPSBbInRlc3RoYXJu
ZXNzIiwgInJlZnRlc3QiLCAid2RzcGVjIl0KKyAgICB0ZXN0X3R5cGVzID0gWyJjcmFzaHRlc3Qi
LCAidGVzdGhhcm5lc3MiLCAicmVmdGVzdCIsICJ3ZHNwZWMiXQogICAgIHN1cHBvcnRfZmlsZXMg
PSB7b3MucGF0aC5qb2luKHdwdF9yb290LCBwYXRoKQogICAgICAgICAgICAgICAgICAgICAgZm9y
IF8sIHBhdGgsIF8gaW4gd3B0X21hbmlmZXN0Lml0ZXJ0eXBlcygic3VwcG9ydCIpfQogICAgIHdk
c3BlY190ZXN0X2ZpbGVzID0ge29zLnBhdGguam9pbih3cHRfcm9vdCwgcGF0aCkKQEAgLTI3OCw4
ICsyNzgsOCBAQCBkZWYgYWZmZWN0ZWRfdGVzdGZpbGVzKGZpbGVzX2NoYW5nZWQsICAjIHR5cGU6
IEl0ZXJhYmxlW1RleHRdCiAgICAgICAgICAgICBmdWxsX3BhdGggPSBvcy5wYXRoLmpvaW4od3B0
X3Jvb3QsIHJlcG9fcGF0aFsxOl0ucmVwbGFjZSgiLyIsIG9zLnBhdGguc2VwKSkKICAgICAgICAg
bm9udGVzdF9jaGFuZ2VkX3BhdGhzLmFkZCgoZnVsbF9wYXRoLCByZXBvX3BhdGgpKQogCi0gICAg
aW50ZXJmYWNlX25hbWUgPSBsYW1iZGEgeDogb3MucGF0aC5zcGxpdGV4dChvcy5wYXRoLmJhc2Vu
YW1lKHgpKVswXQotICAgIGludGVyZmFjZXNfY2hhbmdlZF9uYW1lcyA9IG1hcChpbnRlcmZhY2Vf
bmFtZSwgaW50ZXJmYWNlc19jaGFuZ2VkKQorICAgIGludGVyZmFjZXNfY2hhbmdlZF9uYW1lcyA9
IFtvcy5wYXRoLnNwbGl0ZXh0KG9zLnBhdGguYmFzZW5hbWUoaW50ZXJmYWNlKSlbMF0KKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGludGVyZmFjZSBpbiBpbnRlcmZhY2VzX2No
YW5nZWRdCiAKICAgICBkZWYgYWZmZWN0ZWRfYnlfd2RzcGVjKHRlc3QpOgogICAgICAgICAjIHR5
cGU6IChzdHIpIC0+IGJvb2wKQEAgLTMyNCw5ICszMjQsOSBAQCBkZWYgYWZmZWN0ZWRfdGVzdGZp
bGVzKGZpbGVzX2NoYW5nZWQsICAjIHR5cGU6IEl0ZXJhYmxlW1RleHRdCiAKICAgICAgICAgICAg
IHdpdGggb3Blbih0ZXN0X2Z1bGxfcGF0aCwgInJiIikgYXMgZmg6CiAgICAgICAgICAgICAgICAg
cmF3X2ZpbGVfY29udGVudHMgPSBmaC5yZWFkKCkgICMgdHlwZTogYnl0ZXMKLSAgICAgICAgICAg
ICAgICBpZiByYXdfZmlsZV9jb250ZW50cy5zdGFydHN3aXRoKCJceGZlXHhmZiIpOgorICAgICAg
ICAgICAgICAgIGlmIHJhd19maWxlX2NvbnRlbnRzLnN0YXJ0c3dpdGgoYiJceGZlXHhmZiIpOgog
ICAgICAgICAgICAgICAgICAgICBmaWxlX2NvbnRlbnRzID0gcmF3X2ZpbGVfY29udGVudHMuZGVj
b2RlKCJ1dGYtMTZiZSIsICJyZXBsYWNlIikgICMgdHlwZTogVGV4dAotICAgICAgICAgICAgICAg
IGVsaWYgcmF3X2ZpbGVfY29udGVudHMuc3RhcnRzd2l0aCgiXHhmZlx4ZmUiKToKKyAgICAgICAg
ICAgICAgICBlbGlmIHJhd19maWxlX2NvbnRlbnRzLnN0YXJ0c3dpdGgoYiJceGZmXHhmZSIpOgog
ICAgICAgICAgICAgICAgICAgICBmaWxlX2NvbnRlbnRzID0gcmF3X2ZpbGVfY29udGVudHMuZGVj
b2RlKCJ1dGYtMTZsZSIsICJyZXBsYWNlIikKICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAg
ICAgICAgICAgICAgICBmaWxlX2NvbnRlbnRzID0gcmF3X2ZpbGVfY29udGVudHMuZGVjb2RlKCJ1
dGY4IiwgInJlcGxhY2UiKQpAQCAtMzk2LDcgKzM5Niw3IEBAIGRlZiBydW5fY2hhbmdlZF9maWxl
cygqKmt3YXJncyk6CiAgICAgc2VwYXJhdG9yID0gIlwwIiBpZiBrd2FyZ3NbIm51bGwiXSBlbHNl
ICJcbiIKIAogICAgIGZvciBpdGVtIGluIHNvcnRlZChjaGFuZ2VkKToKLSAgICAgICAgc3lzLnN0
ZG91dC53cml0ZShvcy5wYXRoLnJlbHBhdGgoaXRlbS5lbmNvZGUoInV0ZjgiKSwgd3B0X3Jvb3Qp
ICsgc2VwYXJhdG9yKQorICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKG9zLnBhdGgucmVscGF0aChz
aXguZW5zdXJlX3N0cihpdGVtKSwgd3B0X3Jvb3QpICsgc2VwYXJhdG9yKQogCiAKIGRlZiBydW5f
dGVzdHNfYWZmZWN0ZWQoKiprd2FyZ3MpOgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHQvdGVzdHMvdGVzdF9icm93c2VyLnB5
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHQv
dGVzdHMvdGVzdF9icm93c2VyLnB5CmluZGV4IDI1YjY2ZTdkOTIyZjU0ZWRmMTk3YmFhYWY0MmMy
NmM5ZmNlMDQ2MjEuLmU3YzMyYTM2MjExODYwODYxMDJkNWI0NGFhZGUzYzdmMTc1ZjA3YWEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0L3Rlc3RzL3Rlc3RfYnJvd3Nlci5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdC90ZXN0cy90ZXN0X2Jyb3dzZXIucHkKQEAg
LTE1LDExICsxNSwxMSBAQCBkZWYgdGVzdF9zYWZhcmlfdmVyc2lvbihtb2NrZWRfY2hlY2tfb3V0
cHV0KToKICAgICBzYWZhcmkgPSBicm93c2VyLlNhZmFyaShsb2dnZXIpCiAKICAgICAjIFNhZmFy
aQotICAgIG1vY2tlZF9jaGVja19vdXRwdXQucmV0dXJuX3ZhbHVlID0gJ0luY2x1ZGVkIHdpdGgg
U2FmYXJpIDEyLjEgKDE0NjA3LjEuMTEpJworICAgIG1vY2tlZF9jaGVja19vdXRwdXQucmV0dXJu
X3ZhbHVlID0gYidJbmNsdWRlZCB3aXRoIFNhZmFyaSAxMi4xICgxNDYwNy4xLjExKScKICAgICBh
c3NlcnQgc2FmYXJpLnZlcnNpb24od2ViZHJpdmVyX2JpbmFyeT0ic2FmYXJpZHJpdmVyIikgPT0g
JzEyLjEgKDE0NjA3LjEuMTEpJwogCiAgICAgIyBTYWZhcmkgVGVjaG5vbG9neSBQcmV2aWV3Ci0g
ICAgbW9ja2VkX2NoZWNrX291dHB1dC5yZXR1cm5fdmFsdWUgPSAnSW5jbHVkZWQgd2l0aCBTYWZh
cmkgVGVjaG5vbG9neSBQcmV2aWV3IChSZWxlYXNlIDY3LCAxMzYwNy4xLjkuMC4xKScKKyAgICBt
b2NrZWRfY2hlY2tfb3V0cHV0LnJldHVybl92YWx1ZSA9IGInSW5jbHVkZWQgd2l0aCBTYWZhcmkg
VGVjaG5vbG9neSBQcmV2aWV3IChSZWxlYXNlIDY3LCAxMzYwNy4xLjkuMC4xKScKICAgICBhc3Nl
cnQgc2FmYXJpLnZlcnNpb24od2ViZHJpdmVyX2JpbmFyeT0ic2FmYXJpZHJpdmVyIikgPT0gJ1Rl
Y2hub2xvZ3kgUHJldmlldyAoUmVsZWFzZSA2NywgMTM2MDcuMS45LjAuMSknCiAKIEBtb2NrLnBh
dGNoKCdzdWJwcm9jZXNzLmNoZWNrX291dHB1dCcpCkBAIC0zMCwxMSArMzAsMTEgQEAgZGVmIHRl
c3Rfc2FmYXJpX3ZlcnNpb25fZXJyb3JzKG1vY2tlZF9jaGVja19vdXRwdXQpOgogICAgIGFzc2Vy
dCBzYWZhcmkudmVyc2lvbigpIGlzIE5vbmUKIAogICAgICMgYHNhZmFyaWRyaXZlciAtLXZlcnNp
b25gIHJldHVybiBnaWJiZXJpc2gKLSAgICBtb2NrZWRfY2hlY2tfb3V0cHV0LnJldHVybl92YWx1
ZSA9ICdnaWJiZXJpc2gnCisgICAgbW9ja2VkX2NoZWNrX291dHB1dC5yZXR1cm5fdmFsdWUgPSBi
J2dpYmJlcmlzaCcKICAgICBhc3NlcnQgc2FmYXJpLnZlcnNpb24od2ViZHJpdmVyX2JpbmFyeT0i
c2FmYXJpZHJpdmVyIikgaXMgTm9uZQogCiAgICAgIyBgc2FmYXJpZHJpdmVyIC0tdmVyc2lvbmAg
ZmFpbHMgKGFzIGl0IGRvZXMgZm9yIFNhZmFyaSA8PTEyLjApCi0gICAgbW9ja2VkX2NoZWNrX291
dHB1dC5yZXR1cm5fdmFsdWUgPSAnZHVtbXknCisgICAgbW9ja2VkX2NoZWNrX291dHB1dC5yZXR1
cm5fdmFsdWUgPSBiJ2R1bW15JwogICAgIG1vY2tlZF9jaGVja19vdXRwdXQuc2lkZV9lZmZlY3Qg
PSBzdWJwcm9jZXNzLkNhbGxlZFByb2Nlc3NFcnJvcigxLCAnY21kJykKICAgICBhc3NlcnQgc2Fm
YXJpLnZlcnNpb24od2ViZHJpdmVyX2JpbmFyeT0ic2FmYXJpZHJpdmVyIikgaXMgTm9uZQogCkBA
IC00NCwxMSArNDQsMTEgQEAgZGVmIHRlc3Rfd2Via2l0Z3RrX21pbmlicm93c2VyX3ZlcnNpb24o
bW9ja2VkX2NoZWNrX291dHB1dCk6CiAgICAgd2Via2l0Z3RrX21pbmlicm93c2VyID0gYnJvd3Nl
ci5XZWJLaXRHVEtNaW5pQnJvd3Nlcihsb2dnZXIpCiAKICAgICAjIHN0YWJsZSB2ZXJzaW9uCi0g
ICAgbW9ja2VkX2NoZWNrX291dHB1dC5yZXR1cm5fdmFsdWUgPSAnV2ViS2l0R1RLIDIuMjYuMVxu
JworICAgIG1vY2tlZF9jaGVja19vdXRwdXQucmV0dXJuX3ZhbHVlID0gYidXZWJLaXRHVEsgMi4y
Ni4xXG4nCiAgICAgYXNzZXJ0IHdlYmtpdGd0a19taW5pYnJvd3Nlci52ZXJzaW9uKGJpbmFyeT0n
TWluaUJyb3dzZXInKSA9PSAnMi4yNi4xJwogCiAgICAgIyBuaWdodGx5IHZlcnNpb24KLSAgICBt
b2NrZWRfY2hlY2tfb3V0cHV0LnJldHVybl92YWx1ZSA9ICdXZWJLaXRHVEsgMi4yNy4xIChyMjUw
ODIzKVxuJworICAgIG1vY2tlZF9jaGVja19vdXRwdXQucmV0dXJuX3ZhbHVlID0gYidXZWJLaXRH
VEsgMi4yNy4xIChyMjUwODIzKVxuJwogICAgIGFzc2VydCB3ZWJraXRndGtfbWluaWJyb3dzZXIu
dmVyc2lvbihiaW5hcnk9J01pbmlCcm93c2VyJykgPT0gJzIuMjcuMSAocjI1MDgyMyknCiAKIEBt
b2NrLnBhdGNoKCdzdWJwcm9jZXNzLmNoZWNrX291dHB1dCcpCkBAIC01OSwxMSArNTksMTEgQEAg
ZGVmIHRlc3Rfd2Via2l0Z3RrX21pbmlicm93c2VyX3ZlcnNpb25fZXJyb3JzKG1vY2tlZF9jaGVj
a19vdXRwdXQpOgogICAgIGFzc2VydCB3ZWJraXRndGtfbWluaWJyb3dzZXIudmVyc2lvbigpIGlz
IE5vbmUKIAogICAgICMgYE1pbmlCcm93c2VyIC0tdmVyc2lvbmAgcmV0dXJuIGdpYmJlcmlzaAot
ICAgIG1vY2tlZF9jaGVja19vdXRwdXQucmV0dXJuX3ZhbHVlID0gJ2dpYmJlcmlzaCcKKyAgICBt
b2NrZWRfY2hlY2tfb3V0cHV0LnJldHVybl92YWx1ZSA9IGInZ2liYmVyaXNoJwogICAgIGFzc2Vy
dCB3ZWJraXRndGtfbWluaWJyb3dzZXIudmVyc2lvbihiaW5hcnk9J01pbmlCcm93c2VyJykgaXMg
Tm9uZQogCiAgICAgIyBgTWluaUJyb3dzZXIgLS12ZXJzaW9uYCBmYWlscyAoYXMgaXQgZG9lcyBm
b3IgTWluaUJyb3dzZXIgPD0gMi4yNi4wKQotICAgIG1vY2tlZF9jaGVja19vdXRwdXQucmV0dXJu
X3ZhbHVlID0gJ2R1bW15JworICAgIG1vY2tlZF9jaGVja19vdXRwdXQucmV0dXJuX3ZhbHVlID0g
YidkdW1teScKICAgICBtb2NrZWRfY2hlY2tfb3V0cHV0LnNpZGVfZWZmZWN0ID0gc3VicHJvY2Vz
cy5DYWxsZWRQcm9jZXNzRXJyb3IoMSwgJ2NtZCcpCiAgICAgYXNzZXJ0IHdlYmtpdGd0a19taW5p
YnJvd3Nlci52ZXJzaW9uKGJpbmFyeT0nTWluaUJyb3dzZXInKSBpcyBOb25lCiAKQEAgLTkzLDEx
ICs5MywxMSBAQCBkZWYgdGVzdF93ZWJraXRndGtfbWluaWJyb3dzZXJfZmluZF9iaW5hcnkobW9j
a2VkX29zX3BhdGhfaXNmaWxlKToKICAgICAjIEZvdW5kIG9uIHRoZSBkZWZhdWx0IERlYmlhbiBw
YXRoIGZvciBBTUQ2NCAoZ2NjIGF2YWlsYWJsZSBidXQgZ2l2ZXMgYW4gZXJyb3IpCiAgICAgZGVi
aWFuX21pbmlicm93c2VyX3BhdGhfYW1kNjQgPSAnL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS93
ZWJraXQyZ3RrLTQuMC9NaW5pQnJvd3NlcicKICAgICBtb2NrZWRfb3NfcGF0aF9pc2ZpbGUuc2lk
ZV9lZmZlY3QgPSBsYW1iZGEgcGF0aDogcGF0aCBpbiBbZGViaWFuX21pbmlicm93c2VyX3BhdGhf
YW1kNjQsICcvdXNyL2Jpbi9nY2MnXQotICAgIHdpdGggbW9jay5wYXRjaCgnc3VicHJvY2Vzcy5j
aGVja19vdXRwdXQnLCByZXR1cm5fdmFsdWUgPSAnZXJyb3InLCBzaWRlX2VmZmVjdCA9IHN1YnBy
b2Nlc3MuQ2FsbGVkUHJvY2Vzc0Vycm9yKDEsICdjbWQnKSk6CisgICAgd2l0aCBtb2NrLnBhdGNo
KCdzdWJwcm9jZXNzLmNoZWNrX291dHB1dCcsIHJldHVybl92YWx1ZSA9IGInZXJyb3InLCBzaWRl
X2VmZmVjdCA9IHN1YnByb2Nlc3MuQ2FsbGVkUHJvY2Vzc0Vycm9yKDEsICdjbWQnKSk6CiAgICAg
ICAgIGFzc2VydCB3ZWJraXRndGtfbWluaWJyb3dzZXIuZmluZF9iaW5hcnkoKSA9PSBkZWJpYW5f
bWluaWJyb3dzZXJfcGF0aF9hbWQ2NAogCiAgICAgICAgICMgRm91bmQgb24gdGhlIGRlZmF1bHQg
RGViaWFuIHBhdGggZm9yIEFSTTY0IChnY2MgYXZhaWxhYmxlKQogICAgICAgICBkZWJpYW5fbWlu
aWJyb3dzZXJfcGF0aF9hcm02NCA9ICcvdXNyL2xpYi9hYXJjaDY0LWxpbnV4LWdudS93ZWJraXQy
Z3RrLTQuMC9NaW5pQnJvd3NlcicKICAgICAgICAgbW9ja2VkX29zX3BhdGhfaXNmaWxlLnNpZGVf
ZWZmZWN0ID0gbGFtYmRhIHBhdGg6IHBhdGggaW4gW2RlYmlhbl9taW5pYnJvd3Nlcl9wYXRoX2Fy
bTY0LCAnL3Vzci9iaW4vZ2NjJ10KLSAgICAgICAgd2l0aCBtb2NrLnBhdGNoKCdzdWJwcm9jZXNz
LmNoZWNrX291dHB1dCcsIHJldHVybl92YWx1ZSA9ICdhYXJjaDY0LWxpbnV4LWdudScpOgorICAg
ICAgICB3aXRoIG1vY2sucGF0Y2goJ3N1YnByb2Nlc3MuY2hlY2tfb3V0cHV0JywgcmV0dXJuX3Zh
bHVlID0gYidhYXJjaDY0LWxpbnV4LWdudScpOgogICAgICAgICAgICAgYXNzZXJ0IHdlYmtpdGd0
a19taW5pYnJvd3Nlci5maW5kX2JpbmFyeSgpID09IGRlYmlhbl9taW5pYnJvd3Nlcl9wYXRoX2Fy
bTY0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3dwdC90ZXN0cy90ZXN0X21hcmtkb3duLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHQvdGVzdHMvdGVzdF9tYXJrZG93bi5w
eQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5kZWM5YWQ5YzQ4OTA2NzY2NjI0ZWM1OTRjOTk0ZDUyZTcwYzk2ZmEwCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHQvdGVzdHMvdGVzdF9tYXJrZG93bi5weQpAQCAtMCwwICsxLDM1IEBACitm
cm9tIHRvb2xzLndwdCBpbXBvcnQgbWFya2Rvd24KKworZGVmIHRlc3RfZm9ybWF0X2NvbW1lbnRf
dGl0bGUoKToKKyAgICBhc3NlcnQgJyMgQnJvd3NlciAjJyA9PSBtYXJrZG93bi5mb3JtYXRfY29t
bWVudF90aXRsZSgiYnJvd3NlciIpCisgICAgYXNzZXJ0ICcjIEJyb3dzZXIgKGNoYW5uZWwpICMn
ID09IG1hcmtkb3duLmZvcm1hdF9jb21tZW50X3RpdGxlKCJicm93c2VyOmNoYW5uZWwiKQorCitk
ZWYgdGVzdF9tYXJrZG93bl9hZGp1c3QoKToKKyAgICBhc3NlcnQgdSdcXHQnID09IG1hcmtkb3du
Lm1hcmtkb3duX2FkanVzdCgnXHQnKQorICAgIGFzc2VydCB1J1xccicgPT0gbWFya2Rvd24ubWFy
a2Rvd25fYWRqdXN0KCdccicpCisgICAgYXNzZXJ0IHUnXFxuJyA9PSBtYXJrZG93bi5tYXJrZG93
bl9hZGp1c3QoJ1xuJykKKyAgICBhc3NlcnQgdScnID09IG1hcmtkb3duLm1hcmtkb3duX2FkanVz
dCgnYCcpCisgICAgYXNzZXJ0IHUnXFx8JyA9PSBtYXJrZG93bi5tYXJrZG93bl9hZGp1c3QoJ3wn
KQorICAgIGFzc2VydCB1J1xcdFxcclxcblxcfCcgPT0gbWFya2Rvd24ubWFya2Rvd25fYWRqdXN0
KCdcdFxyXG5gfCcpCisKK3Jlc3VsdCA9ICcnCitkZWYgbG9nKHRleHQpOgorICAgIGdsb2JhbCBy
ZXN1bHQKKyAgICByZXN1bHQgKz0gdGV4dAorCitkZWYgdGVzdF90YWJsZSgpOgorICAgIGdsb2Jh
bCByZXN1bHQKKyAgICBoZWFkaW5ncyA9IFsnaDEnLCdoMiddCisgICAgZGF0YSA9IFtbJzAnLCAn
MSddXQorICAgIG1hcmtkb3duLnRhYmxlKGhlYWRpbmdzLCBkYXRhLCBsb2cpCisgICAgYXNzZXJ0
ICgifCBoMSB8IGgyIHwiCisgICAgICAgICAgICAifC0tLS18LS0tLXwiCisgICAgICAgICAgICAi
fCAwICB8IDEgIHwiKSA9PSByZXN1bHQKKworICAgIHJlc3VsdCA9ICcnCisgICAgZGF0YS5hcHBl
bmQoWydhYWEnLCAnYmInXSkKKyAgICBtYXJrZG93bi50YWJsZShoZWFkaW5ncywgZGF0YSwgbG9n
KQorICAgIGFzc2VydCAoInwgIGgxIHwgaDIgfCIKKyAgICAgICAgICAgICJ8LS0tLS18LS0tLXwi
CisgICAgICAgICAgICAifCAwICAgfCAxICB8IgorICAgICAgICAgICAgInwgYWFhIHwgYmIgfCIp
ID09IHJlc3VsdApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHQvdGVzdHMvdGVzdF9yZXZsaXN0LnB5IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHQvdGVzdHMvdGVzdF9yZXZs
aXN0LnB5CmluZGV4IGVjMmE2Yjg5OWQ1ZDFhOTI3ZGNhZDFmOWE3NTgzZjk4N2EzYWQ5NDcuLjMw
MjA4ZjRjZjY4ZDc5NTk2NmU3ODU4ZGFhMDczMGI2OGZhM2U5MGIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0L3Rlc3RzL3Rl
c3RfcmV2bGlzdC5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdC90ZXN0cy90ZXN0X3Jldmxpc3QucHkKQEAgLTExLDEwICsxMSwxMyBA
QCBkZWYgdGVzdF9jYWxjdWxhdGVfY3V0b2ZmX2RhdGUoKToKIAogCiBkZWYgdGVzdF9wYXJzZV9l
cG9jaCgpOgotICAgIGFzc2VydCByZXZsaXN0LnBhcnNlX2Vwb2NoKGIiMTBoIikgPT0gMzYwMDAK
LSAgICBhc3NlcnQgcmV2bGlzdC5wYXJzZV9lcG9jaChiIjEwZCIpID09IDg2NDAwMAotICAgIGFz
c2VydCByZXZsaXN0LnBhcnNlX2Vwb2NoKGIiMTB3IikgPT0gNjA0ODAwMAorICAgIGFzc2VydCBy
ZXZsaXN0LnBhcnNlX2Vwb2NoKCIxMGgiKSA9PSAzNjAwMAorICAgIGFzc2VydCByZXZsaXN0LnBh
cnNlX2Vwb2NoKCIxMGQiKSA9PSA4NjQwMDAKKyAgICBhc3NlcnQgcmV2bGlzdC5wYXJzZV9lcG9j
aCgiMTB3IikgPT0gNjA0ODAwMAogCitkZWYgY2hlY2tfcmV2aXNpb25zKHRhZ2dlZF9yZXZpc2lv
bnMsIGV4cGVjdGVkX3JldmlzaW9ucyk6CisgICAgZm9yIHRhZ2dlZCwgZXhwZWN0ZWQgaW4gemlw
KHRhZ2dlZF9yZXZpc2lvbnMsIGV4cGVjdGVkX3JldmlzaW9ucyk6CisgICAgICAgIGFzc2VydCB0
YWdnZWQgPT0gZXhwZWN0ZWQKIAogQG1vY2sucGF0Y2goJ3N1YnByb2Nlc3MuY2hlY2tfb3V0cHV0
JykKIGRlZiB0ZXN0X2dldF9lcG9jaF9yZXZpc2lvbnMobW9ja2VkX2NoZWNrX291dHB1dCk6CkBA
IC01MCwxNiArNTMsOSBAQCBtZXJnZV9wcl9DIEMgNDc1MjAwIF90dWVfCiBtZXJnZV9wcl9CIEIg
NDUzNjAwIF90dWVfCiBtZXJnZV9wcl9BIEEgMzg4ODAwIF9tb25fCiAnJycKLSAgICB0YWdnZWRf
cmV2aXNvbnMgPSByZXZsaXN0LmdldF9lcG9jaF9yZXZpc2lvbnMoZXBvY2gsIHVudGlsLCA4KQot
ICAgIGFzc2VydCB0YWdnZWRfcmV2aXNvbnMubmV4dCgpID09ICdOJwotICAgIGFzc2VydCB0YWdn
ZWRfcmV2aXNvbnMubmV4dCgpID09ICdNJwotICAgIGFzc2VydCB0YWdnZWRfcmV2aXNvbnMubmV4
dCgpID09ICdLJwotICAgIGFzc2VydCB0YWdnZWRfcmV2aXNvbnMubmV4dCgpID09ICdKJwotICAg
IGFzc2VydCB0YWdnZWRfcmV2aXNvbnMubmV4dCgpID09ICdHJwotICAgIGFzc2VydCB0YWdnZWRf
cmV2aXNvbnMubmV4dCgpID09ICdGJwotICAgIGFzc2VydCB0YWdnZWRfcmV2aXNvbnMubmV4dCgp
ID09ICdDJwotICAgIGFzc2VydCB0YWdnZWRfcmV2aXNvbnMubmV4dCgpID09ICdBJwotICAgIGFz
c2VydCBsZW4obGlzdCh0YWdnZWRfcmV2aXNvbnMpKSA9PSAwICAjIGdlbmVyYXRvciBleGhhdXN0
ZWQKKyAgICB0YWdnZWRfcmV2aXNpb25zID0gcmV2bGlzdC5nZXRfZXBvY2hfcmV2aXNpb25zKGVw
b2NoLCB1bnRpbCwgOCkKKyAgICBjaGVja19yZXZpc2lvbnModGFnZ2VkX3JldmlzaW9ucywgWydO
JywgJ00nLCAnSycsICdKJywgJ0cnLCAnRicsICdDJywgJ0EnXSkKKyAgICBhc3NlcnQgbGVuKGxp
c3QodGFnZ2VkX3JldmlzaW9ucykpID09IDAgICMgZ2VuZXJhdG9yIGV4aGF1c3RlZAogCiAKICAg
ICAjIGNoZWNrOiBtYXhfY291bnQgd2l0aCBlbm91Z2ggY2FuZGlkYXRlIGl0ZW1zIGluIHRoZSBy
ZXZpc2lvbiBsaXN0CkBAIC04MiwxMyArNzgsOSBAQCBtZXJnZV9wcl9EIEQgNjQ4MDAwIF90aHVf
CiBtZXJnZV9wcl9DIEMgNTYxNjAwIF93ZWRfCiBtZXJnZV9wcl9CIEIgNDc1MjAwIF90aHVfCiAn
JycKLSAgICB0YWdnZWRfcmV2aXNvbnMgPSByZXZsaXN0LmdldF9lcG9jaF9yZXZpc2lvbnMoZXBv
Y2gsIHVudGlsLCA1KQotICAgIGFzc2VydCB0YWdnZWRfcmV2aXNvbnMubmV4dCgpID09ICdHJwot
ICAgIGFzc2VydCB0YWdnZWRfcmV2aXNvbnMubmV4dCgpID09ICdGJwotICAgIGFzc2VydCB0YWdn
ZWRfcmV2aXNvbnMubmV4dCgpID09ICdFJwotICAgIGFzc2VydCB0YWdnZWRfcmV2aXNvbnMubmV4
dCgpID09ICdEJwotICAgIGFzc2VydCB0YWdnZWRfcmV2aXNvbnMubmV4dCgpID09ICdDJwotICAg
IGFzc2VydCBsZW4obGlzdCh0YWdnZWRfcmV2aXNvbnMpKSA9PSAwICAjIGdlbmVyYXRvciBleGhh
dXN0ZWQKKyAgICB0YWdnZWRfcmV2aXNpb25zID0gcmV2bGlzdC5nZXRfZXBvY2hfcmV2aXNpb25z
KGVwb2NoLCB1bnRpbCwgNSkKKyAgICBjaGVja19yZXZpc2lvbnModGFnZ2VkX3JldmlzaW9ucywg
WydHJywgJ0YnLCAnRScsICdEJywgJ0MnXSkKKyAgICBhc3NlcnQgbGVuKGxpc3QodGFnZ2VkX3Jl
dmlzaW9ucykpID09IDAgICMgZ2VuZXJhdG9yIGV4aGF1c3RlZAogCiAKICAgICAjIGNoZWNrOiBt
YXhfY291bnQgd2l0aCBsZXNzIHJldHVybmVkIGNhbmRpZGF0ZXMgaXRlbXMgdGhhbiB0aGUgbmVl
ZGVkCkBAIC0xMDcsMTAgKzk5LDkgQEAgbWVyZ2VfcHJfSCBIIDk5MzYwMCBfbW9uXwogbWVyZ2Vf
cHJfRyBHIDkwNzIwMCBfc3VuXwogbWVyZ2VfcHJfRiBGIDgyMDgwMCBfc2F0XwogJycnCi0gICAg
dGFnZ2VkX3Jldmlzb25zID0gcmV2bGlzdC5nZXRfZXBvY2hfcmV2aXNpb25zKGVwb2NoLCB1bnRp
bCwgNSkKLSAgICBhc3NlcnQgdGFnZ2VkX3Jldmlzb25zLm5leHQoKSA9PSAnRycKLSAgICBhc3Nl
cnQgdGFnZ2VkX3Jldmlzb25zLm5leHQoKSA9PSAnRicKLSAgICBhc3NlcnQgbGVuKGxpc3QodGFn
Z2VkX3Jldmlzb25zKSkgPT0gMCAgIyBnZW5lcmF0b3IgZXhoYXVzdGVkCisgICAgdGFnZ2VkX3Jl
dmlzaW9ucyA9IHJldmxpc3QuZ2V0X2Vwb2NoX3JldmlzaW9ucyhlcG9jaCwgdW50aWwsIDUpCisg
ICAgY2hlY2tfcmV2aXNpb25zKHRhZ2dlZF9yZXZpc2lvbnMsIFsnRycsICdGJ10pCisgICAgYXNz
ZXJ0IGxlbihsaXN0KHRhZ2dlZF9yZXZpc2lvbnMpKSA9PSAwICAjIGdlbmVyYXRvciBleGhhdXN0
ZWQKIAogCiAgICAgIyBjaGVjazogaW5pdGlhbCB1bnRpbCB2YWx1ZSBpcyBvbiBhbiBlcG9jaCBi
b3VuZGFyeQpAQCAtMTM0LDEwICsxMjUsOSBAQCBtZXJnZV9wcl9IIEggMTI5NjAwMCBfd2VkXwog
bWVyZ2VfcHJfRyBHIDk1MDQwMCBfbW9uXwogbWVyZ2VfcHJfRiBGIDkyMTYwMCBfc3VkXwogJycn
Ci0gICAgdGFnZ2VkX3Jldmlzb25zID0gcmV2bGlzdC5nZXRfZXBvY2hfcmV2aXNpb25zKGVwb2No
LCB1bnRpbCwgMykKLSAgICBhc3NlcnQgdGFnZ2VkX3Jldmlzb25zLm5leHQoKSA9PSAnRycKLSAg
ICBhc3NlcnQgdGFnZ2VkX3Jldmlzb25zLm5leHQoKSA9PSAnRicKLSAgICBhc3NlcnQgbGVuKGxp
c3QodGFnZ2VkX3Jldmlzb25zKSkgPT0gMCAgIyBnZW5lcmF0b3IgZXhoYXVzdGVkCisgICAgdGFn
Z2VkX3JldmlzaW9ucyA9IHJldmxpc3QuZ2V0X2Vwb2NoX3JldmlzaW9ucyhlcG9jaCwgdW50aWws
IDMpCisgICAgY2hlY2tfcmV2aXNpb25zKHRhZ2dlZF9yZXZpc2lvbnMsIFsnRycsICdGJ10pCisg
ICAgYXNzZXJ0IGxlbihsaXN0KHRhZ2dlZF9yZXZpc2lvbnMpKSA9PSAwICAjIGdlbmVyYXRvciBl
eGhhdXN0ZWQKIAogCiAgICAgIyBjaGVjazogdW50aWwgYWxpZ25lZCB3aXRoIE1vbmRheSwgNSBK
YW51YXJ5IDE5NzAgMDowMDowMCAoMzQ1NjAwKQpAQCAtMTU4LDYgKzE0OCw2IEBAIG1lcmdlX3By
X0ggSCAxMTgwODAwIF93ZWRfCiBtZXJnZV9wcl9HIEcgOTUwNDAwIF9tb25fCiBtZXJnZV9wcl9G
IEYgOTIxNjAwIF9zdWRfCiAnJycKLSAgICB0YWdnZWRfcmV2aXNvbnMgPSByZXZsaXN0LmdldF9l
cG9jaF9yZXZpc2lvbnMoZXBvY2gsIHVudGlsLCAxKQotICAgIGFzc2VydCB0YWdnZWRfcmV2aXNv
bnMubmV4dCgpID09ICdGJwotICAgIGFzc2VydCBsZW4obGlzdCh0YWdnZWRfcmV2aXNvbnMpKSA9
PSAwICAjIGdlbmVyYXRvciBleGhhdXN0ZWQKKyAgICB0YWdnZWRfcmV2aXNpb25zID0gcmV2bGlz
dC5nZXRfZXBvY2hfcmV2aXNpb25zKGVwb2NoLCB1bnRpbCwgMSkKKyAgICBjaGVja19yZXZpc2lv
bnModGFnZ2VkX3JldmlzaW9ucywgWydGJ10pCisgICAgYXNzZXJ0IGxlbihsaXN0KHRhZ2dlZF9y
ZXZpc2lvbnMpKSA9PSAwICAjIGdlbmVyYXRvciBleGhhdXN0ZWQKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0L3Rlc3RzL3Rl
c3RfdGVzdGZpbGVzLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHQvdGVzdHMvdGVzdF90ZXN0ZmlsZXMucHkKaW5kZXggMzMxMzVkZmRjMmQ1
YjVhZTBjNzIyZGNlMzRmMzViNTgxMjdiZjMzOS4uOWZkNmM2ZjliODUxNTM3ZGYwNDQyODYxMjNi
YTY0YzliM2UxOWU4NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy93cHQvdGVzdHMvdGVzdF90ZXN0ZmlsZXMucHkKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHQvdGVzdHMv
dGVzdF90ZXN0ZmlsZXMucHkKQEAgLTEsNSArMSw3IEBACitpbXBvcnQgb3MucGF0aAogZnJvbSBt
b2NrIGltcG9ydCBwYXRjaAogCitmcm9tIHRvb2xzLm1hbmlmZXN0Lm1hbmlmZXN0IGltcG9ydCBN
YW5pZmVzdAogZnJvbSB0b29scy53cHQgaW1wb3J0IHRlc3RmaWxlcwogCiAKQEAgLTExLDMgKzEz
LDM0IEBAIGRlZiB0ZXN0X2dldHJldmlzaF9rd2FyZygpOgogZGVmIHRlc3RfZ2V0cmV2aXNoX2lt
cGxpY2l0KCk6CiAgICAgd2l0aCBwYXRjaCgidG9vbHMud3B0LnRlc3RmaWxlcy5icmFuY2hfcG9p
bnQiLCByZXR1cm5fdmFsdWU9dSJiYXNlIik6CiAgICAgICAgIGFzc2VydCB0ZXN0ZmlsZXMuZ2V0
X3JldmlzaCgpID09IGIiYmFzZS4uSEVBRCIKKworCitkZWYgdGVzdF9hZmZlY3RlZF90ZXN0Zmls
ZXMoKToKKyAgICBtYW5pZmVzdF9qc29uID0geworICAgICAgICAiaXRlbXMiOiB7CisgICAgICAg
ICAgICAiY3Jhc2h0ZXN0IjogeworICAgICAgICAgICAgICAgICJhIjogeworICAgICAgICAgICAg
ICAgICAgICAiYiI6IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJjIjogeworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJmb28tY3Jhc2guaHRtbCI6IFsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImFjZGVmZ2gxMjM0NTYiLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBbIm51bGwiLCB7fV0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXQorICAg
ICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9LAorICAgICAgICAidXJsX2Jhc2UiOiAi
LyIsCisgICAgICAgICJ2ZXJzaW9uIjogOCwKKyAgICB9CisgICAgbWFuaWZlc3QgPSBNYW5pZmVz
dC5mcm9tX2pzb24oIi8iLCBtYW5pZmVzdF9qc29uKQorICAgIHdpdGggcGF0Y2goInRvb2xzLndw
dC50ZXN0ZmlsZXMubG9hZF9tYW5pZmVzdCIsIHJldHVybl92YWx1ZT1tYW5pZmVzdCk6CisgICAg
ICAgICMgRGVwZW5kZW50IGFmZmVjdGVkIHRlc3RzIGFyZSBkZXRlcm1pbmVkIGJ5IHdhbGtpbmcg
dGhlIGZpbGVzeXN0ZW0sCisgICAgICAgICMgd2hpY2ggZG9lc24ndCB3b3JrIGluIG91ciB0ZXN0
IHNldHVwLiBXZSB3b3VsZCBuZWVkIHRvIHJlZmFjdG9yCisgICAgICAgICMgdGVzdGZpbGVzLmFm
ZmVjdGVkX3Rlc3RmaWxlcyBvciBoYXZlIGEgbW9yZSBjb21wbGV4IHRlc3Qgc2V0dXAgdG8KKyAg
ICAgICAgIyBzdXBwb3J0IHRlc3RpbmcgdGhvc2UuCisgICAgICAgIGZ1bGxfdGVzdF9wYXRoID0g
b3MucGF0aC5qb2luKAorICAgICAgICAgICAgdGVzdGZpbGVzLndwdF9yb290LCAiYSIsICJiIiwg
ImMiLCAiZm9vLWNyYXNoLmh0bWwiKQorICAgICAgICB0ZXN0c19jaGFuZ2VkLCBfID0gdGVzdGZp
bGVzLmFmZmVjdGVkX3Rlc3RmaWxlcyhbZnVsbF90ZXN0X3BhdGhdKQorICAgICAgICBhc3NlcnQg
dGVzdHNfY2hhbmdlZCA9PSBzZXQoW2Z1bGxfdGVzdF9wYXRoXSkKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0L3Rlc3RzL3Rl
c3Rfd3B0LnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHQvdGVzdHMvdGVzdF93cHQucHkKaW5kZXggNjU2OTU4MGU5ZmY0NzE3ODRlMzA3Yjdl
ODQ1NTU5MzVkZWM5OTU4Ni4uZjg5N2I2ODhhZDZmNjgyYmU5ZDc2OWRhOTg1NzljNzg4NTA1YzA5
YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHQvdGVzdHMvdGVzdF93cHQucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHQvdGVzdHMvdGVzdF93cHQucHkKQEAgLTEs
MTIgKzEsMTggQEAKIGltcG9ydCBlcnJubwogaW1wb3J0IG9zCitpbXBvcnQgcGxhdGZvcm0KIGlt
cG9ydCBzaHV0aWwKIGltcG9ydCBzb2NrZXQKIGltcG9ydCBzdWJwcm9jZXNzCiBpbXBvcnQgc3lz
CiBpbXBvcnQgdGVtcGZpbGUKIGltcG9ydCB0aW1lCi1pbXBvcnQgdXJsbGliMgorCit0cnk6Cisg
ICAgZnJvbSB1cmxsaWIucmVxdWVzdCBpbXBvcnQgdXJsb3BlbgorICAgIGZyb20gdXJsbGliLmVy
cm9yIGltcG9ydCBVUkxFcnJvcgorZXhjZXB0IEltcG9ydEVycm9yOgorICAgIGZyb20gdXJsbGli
MiBpbXBvcnQgdXJsb3BlbiwgVVJMRXJyb3IKIAogaW1wb3J0IHB5dGVzdAogCkBAIC0zOCw2ICs0
NCw5IEBAIGRlZiBnZXRfcGVyc2lzdGVudF9tYW5pZmVzdF9wYXRoKCk6CiAKIEBweXRlc3QuZml4
dHVyZShzY29wZT0ibW9kdWxlIiwgYXV0b3VzZT1UcnVlKQogZGVmIGluaXRfbWFuaWZlc3QoKToK
KyAgICAjIFNlZSBodHRwczovL2dpdGh1Yi5jb20vcHlwYS92aXJ0dWFsZW52L2lzc3Vlcy8xNzEw
CisgICAgaWYgc3lzLnZlcnNpb25faW5mb1swXSA+PSAzIGFuZCBwbGF0Zm9ybS5zeXN0ZW0oKSA9
PSAiV2luZG93cyI6CisgICAgICAgIHB5dGVzdC54ZmFpbChyZWFzb249InZpcnR1YWxlbnYgYWN0
aXZhdGlvbiBmYWlscyBpbiBXaW5kb3dzIGZvciBweXRob24zIikKICAgICB3aXRoIHB5dGVzdC5y
YWlzZXMoU3lzdGVtRXhpdCkgYXMgZXhjaW5mbzoKICAgICAgICAgd3B0Lm1haW4oYXJndj1bIm1h
bmlmZXN0IiwgIi0tbm8tZG93bmxvYWQiLAogICAgICAgICAgICAgICAgICAgICAgICAiLS1wYXRo
IiwgZ2V0X3BlcnNpc3RlbnRfbWFuaWZlc3RfcGF0aCgpXSkKQEAgLTIzMyw5ICsyNDIsOSBAQCBk
ZWYgdGVzdF9ydW5fdmVyaWZ5X3Vuc3RhYmxlKHRlbXBfdGVzdCk6CiBAcHl0ZXN0Lm1hcmsucmVt
b3RlX25ldHdvcmsKIGRlZiB0ZXN0X2luc3RhbGxfY2hyb21lZHJpdmVyKCk6CiAgICAgaWYgc3lz
LnBsYXRmb3JtID09ICJ3aW4zMiI6Ci0gICAgICAgIGNocm9tZWRyaXZlcl9wYXRoID0gb3MucGF0
aC5qb2luKHdwdC5sb2NhbHBhdGhzLnJlcG9fcm9vdCwgIl92ZW52IiwgIlNjcmlwdHMiLCAiY2hy
b21lZHJpdmVyLmV4ZSIpCisgICAgICAgIGNocm9tZWRyaXZlcl9wYXRoID0gb3MucGF0aC5qb2lu
KHdwdC5sb2NhbHBhdGhzLnJlcG9fcm9vdCwgd3B0LnZlbnZfZGlyKCksICJTY3JpcHRzIiwgImNo
cm9tZWRyaXZlci5leGUiKQogICAgIGVsc2U6Ci0gICAgICAgIGNocm9tZWRyaXZlcl9wYXRoID0g
b3MucGF0aC5qb2luKHdwdC5sb2NhbHBhdGhzLnJlcG9fcm9vdCwgIl92ZW52IiwgImJpbiIsICJj
aHJvbWVkcml2ZXIiKQorICAgICAgICBjaHJvbWVkcml2ZXJfcGF0aCA9IG9zLnBhdGguam9pbih3
cHQubG9jYWxwYXRocy5yZXBvX3Jvb3QsIHdwdC52ZW52X2RpcigpLCAiYmluIiwgImNocm9tZWRy
aXZlciIpCiAgICAgaWYgb3MucGF0aC5leGlzdHMoY2hyb21lZHJpdmVyX3BhdGgpOgogICAgICAg
ICBvcy51bmxpbmsoY2hyb21lZHJpdmVyX3BhdGgpCiAgICAgd2l0aCBweXRlc3QucmFpc2VzKFN5
c3RlbUV4aXQpIGFzIGV4Y2luZm86CkBAIC0yNTEsOSArMjYwLDkgQEAgZGVmIHRlc3RfaW5zdGFs
bF9jaHJvbWVkcml2ZXIoKToKICAgICAgICAgICAgICAgICAgICByZWFzb249Imh0dHBzOi8vZ2l0
aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2lzc3Vlcy8xNzA3NCIpCiBkZWYgdGVzdF9p
bnN0YWxsX2ZpcmVmb3goKToKICAgICBpZiBzeXMucGxhdGZvcm0gPT0gImRhcndpbiI6Ci0gICAg
ICAgIGZ4X3BhdGggPSBvcy5wYXRoLmpvaW4od3B0LmxvY2FscGF0aHMucmVwb19yb290LCAiX3Zl
bnYiLCAiYnJvd3NlcnMiLCAibmlnaHRseSIsICJGaXJlZm94IE5pZ2h0bHkuYXBwIikKKyAgICAg
ICAgZnhfcGF0aCA9IG9zLnBhdGguam9pbih3cHQubG9jYWxwYXRocy5yZXBvX3Jvb3QsIHdwdC52
ZW52X2RpcigpLCAiYnJvd3NlcnMiLCAibmlnaHRseSIsICJGaXJlZm94IE5pZ2h0bHkuYXBwIikK
ICAgICBlbHNlOgotICAgICAgICBmeF9wYXRoID0gb3MucGF0aC5qb2luKHdwdC5sb2NhbHBhdGhz
LnJlcG9fcm9vdCwgIl92ZW52IiwgImJyb3dzZXJzIiwgIm5pZ2h0bHkiLCAiZmlyZWZveCIpCisg
ICAgICAgIGZ4X3BhdGggPSBvcy5wYXRoLmpvaW4od3B0LmxvY2FscGF0aHMucmVwb19yb290LCB3
cHQudmVudl9kaXIoKSwgImJyb3dzZXJzIiwgIm5pZ2h0bHkiLCAiZmlyZWZveCIpCiAgICAgaWYg
b3MucGF0aC5leGlzdHMoZnhfcGF0aCk6CiAgICAgICAgIHNodXRpbC5ybXRyZWUoZnhfcGF0aCkK
ICAgICB3aXRoIHB5dGVzdC5yYWlzZXMoU3lzdGVtRXhpdCkgYXMgZXhjaW5mbzoKQEAgLTM4OCw5
ICszOTcsOSBAQCBkZWYgdGVzdF9zZXJ2ZSgpOgogICAgICAgICAgICAgaWYgdGltZS50aW1lKCkg
LSBzdGFydCA+IDYwOgogICAgICAgICAgICAgICAgIGFzc2VydCBGYWxzZSwgInNlcnZlciBkaWQg
bm90IHN0YXJ0IHJlc3BvbmRpbmcgd2l0aGluIDYwcyIKICAgICAgICAgICAgIHRyeToKLSAgICAg
ICAgICAgICAgICByZXNwID0gdXJsbGliMi51cmxvcGVuKCJodHRwOi8vd2ViLXBsYXRmb3JtLnRl
c3Q6ODAwMCIpCisgICAgICAgICAgICAgICAgcmVzcCA9IHVybG9wZW4oImh0dHA6Ly93ZWItcGxh
dGZvcm0udGVzdDo4MDAwIikKICAgICAgICAgICAgICAgICBwcmludChyZXNwKQotICAgICAgICAg
ICAgZXhjZXB0IHVybGxpYjIuVVJMRXJyb3I6CisgICAgICAgICAgICBleGNlcHQgVVJMRXJyb3I6
CiAgICAgICAgICAgICAgICAgcHJpbnQoIlVSTEVycm9yIikKICAgICAgICAgICAgICAgICB0aW1l
LnNsZWVwKDEpCiAgICAgICAgICAgICBlbHNlOgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHQvdGVzdHMvdzNjLWltcG9ydC5s
b2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dC90ZXN0cy93M2MtaW1wb3J0LmxvZwppbmRleCA1YzQzZjNjYTZiMjZhYTYwNTY2YWNmZmMzMGU4
ZWM4ZWEyYjk2NGUzLi41YmYyNTk5OTIyYWFkNTYzMzRjYzFiYWRhMTY5YmJjY2ZkODYxYjhhIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3dwdC90ZXN0cy93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdC90ZXN0cy93M2MtaW1wb3J0LmxvZwpAQCAt
MTYsNiArMTYsNyBAQCBOb25lCiBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0L3Rlc3RzL2xhdGVzdF9tb3ppbGxhX2Nl
bnRyYWwudHh0CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHQvdGVzdHMvdGVzdF9icm93c2VyLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHQvdGVzdHMvdGVzdF9tYXJrZG93bi5weQogL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0L3Rlc3Rz
L3Rlc3RfcmV2bGlzdC5weQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0L3Rlc3RzL3Rlc3RfcnVuLnB5CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHQvdGVzdHMvdGVzdF90ZXN0ZmlsZXMucHkK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0L3RveC5pbmkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdC90b3guaW5pCmluZGV4IDZhMDQ0NDczYTZiNzQ5ODEzNDU2ODNhYmI5
NjA1ODhkZTY1MzViZmIuLjhlM2UyNmUxMzViNGQzNzZhNDkyYWVhNWFkYmQyNDI3OTdiMDNmZTAg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0L3RveC5pbmkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHQvdG94LmluaQpAQCAtMSw2ICsxLDcgQEAKIFt0b3hdCi1lbnZs
aXN0ID0gcHkyNworZW52bGlzdCA9IHB5MjcscHkzNSxweTM2LHB5MzcscHkzOAogc2tpcHNkaXN0
PVRydWUKK3NraXBfbWlzc2luZ19pbnRlcnByZXRlcnMgPSBGYWxzZQogCiBbdGVzdGVudl0KIGRl
cHMgPQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHQvdXRpbHMucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdC91dGlscy5weQppbmRleCAyZDQyNzcxM2U0ZTgyNDg0NWI2
ZDc4NzFiNjFjZDZmMTFlYzI1MWY2Li45YTZjMDY0NjcxMjA2NGUxODNmMzY2ZGZkNTYyOWExYjUy
ZTgxMTllIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdC91dGlscy5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdC91dGlscy5weQpAQCAtNDYsNyArNDYsNyBAQCBk
ZWYgY2FsbCgqYXJncyk6CiAgICAgIiIiCiAgICAgbG9nZ2VyLmRlYnVnKCIgIi5qb2luKGFyZ3Mp
KQogICAgIHRyeToKLSAgICAgICAgcmV0dXJuIHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KGFyZ3Mp
CisgICAgICAgIHJldHVybiBzdWJwcm9jZXNzLmNoZWNrX291dHB1dChhcmdzKS5kZWNvZGUoJ3V0
ZjgnKQogICAgIGV4Y2VwdCBzdWJwcm9jZXNzLkNhbGxlZFByb2Nlc3NFcnJvciBhcyBlOgogICAg
ICAgICBsb2dnZXIuY3JpdGljYWwoIiVzIGV4aXRlZCB3aXRoIHJldHVybiBjb2RlICVpIiAlCiAg
ICAgICAgICAgICAgICAgICAgICAgICAoZS5jbWQsIGUucmV0dXJuY29kZSkpCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdC92
aXJ0dWFsZW52LnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHQvdmlydHVhbGVudi5weQppbmRleCA0MDBkZWJjODhlNDY5MTBkMjY0MWU3Mjhm
YzRhZGI4NmE4ODU2OGUwLi4xOGVkY2MwNGZiNGQ1MjhlNjU2NmRhMTA5MDJhOWFjOTY0YjQyYTY1
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdC92aXJ0dWFsZW52LnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0L3ZpcnR1YWxlbnYucHkKQEAgLTMyLDcgKzMyLDkg
QEAgY2xhc3MgVmlydHVhbGVudihvYmplY3QpOgogCiAgICAgQHByb3BlcnR5CiAgICAgZGVmIGV4
aXN0cyhzZWxmKToKLSAgICAgICAgcmV0dXJuIG9zLnBhdGguaXNkaXIoc2VsZi5wYXRoKQorICAg
ICAgICAjIFdlIG5lZWQgdG8gY2hlY2sgYWxzbyBmb3IgbGliX3BhdGggYmVjYXVzZSBkaWZmZXJl
bnQgcHl0aG9uIHZlcnNpb25zCisgICAgICAgICMgY3JlYXRlIGRpZmZlcmVudCBsaWJyYXJ5IHBh
dGhzLgorICAgICAgICByZXR1cm4gb3MucGF0aC5pc2RpcihzZWxmLnBhdGgpIGFuZCBvcy5wYXRo
LmlzZGlyKHNlbGYubGliX3BhdGgpCiAKICAgICBAcHJvcGVydHkKICAgICBkZWYgYnJva2VuX2xp
bmsoc2VsZik6CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3dwdC93cHQucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdC93cHQucHkKaW5kZXggOTMzMDFkZDg2YjRmZmUyMDI5
MDJhNDkyMjA0ZWJhNjUzN2ZiNTBkNS4uMzk1ZGIwMzk0ZGE2N2NhYThiZGMxYWQ5ZTY4OWU1ODMx
NzUxOTJiMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy93cHQvd3B0LnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0L3dwdC5weQpAQCAtMzEsNiArMzEsNyBAQCBkZWYg
bG9hZF9jb21tYW5kcygpOgogICAgICAgICAgICAgICAgICAgICAic2NyaXB0IjogcHJvcHNbInNj
cmlwdCJdLAogICAgICAgICAgICAgICAgICAgICAicGFyc2VyIjogcHJvcHMuZ2V0KCJwYXJzZXIi
KSwKICAgICAgICAgICAgICAgICAgICAgInBhcnNlX2tub3duIjogcHJvcHMuZ2V0KCJwYXJzZV9r
bm93biIsIEZhbHNlKSwKKyAgICAgICAgICAgICAgICAgICAgInB5M29ubHkiOiBwcm9wcy5nZXQo
InB5M29ubHkiLCBGYWxzZSksCiAgICAgICAgICAgICAgICAgICAgICJoZWxwIjogcHJvcHMuZ2V0
KCJoZWxwIiksCiAgICAgICAgICAgICAgICAgICAgICJ2aXJ0dWFsZW52IjogcHJvcHMuZ2V0KCJ2
aXJ0dWFsZW52IiwgVHJ1ZSksCiAgICAgICAgICAgICAgICAgICAgICJpbnN0YWxsIjogcHJvcHMu
Z2V0KCJpbnN0YWxsIiwgW10pLApAQCAtNDAsMTMgKzQxLDE0IEBAIGRlZiBsb2FkX2NvbW1hbmRz
KCk6CiAgICAgcmV0dXJuIHJ2CiAKIAotZGVmIHBhcnNlX2FyZ3MoYXJndiwgY29tbWFuZHMpOgor
ZGVmIHBhcnNlX2FyZ3MoYXJndiwgY29tbWFuZHM9bG9hZF9jb21tYW5kcygpKToKICAgICBwYXJz
ZXIgPSBhcmdwYXJzZS5Bcmd1bWVudFBhcnNlcigpCiAgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgi
LS12ZW52IiwgYWN0aW9uPSJzdG9yZSIsIGhlbHA9IlBhdGggdG8gYW4gZXhpc3RpbmcgdmlydHVh
bGVudiB0byB1c2UiKQogICAgIHBhcnNlci5hZGRfYXJndW1lbnQoIi0tc2tpcC12ZW52LXNldHVw
IiwgYWN0aW9uPSJzdG9yZV90cnVlIiwKICAgICAgICAgICAgICAgICAgICAgICAgIGRlc3Q9InNr
aXBfdmVudl9zZXR1cCIsCiAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJXaGV0aGVyIHRv
IHVzZSB0aGUgdmlydHVhbGVudiBhcy1pcy4gTXVzdCBzZXQgLS12ZW52IGFzIHdlbGwiKQogICAg
IHBhcnNlci5hZGRfYXJndW1lbnQoIi0tZGVidWciLCBhY3Rpb249InN0b3JlX3RydWUiLCBoZWxw
PSJSdW4gdGhlIGRlYnVnZ2VyIGluIGNhc2Ugb2YgYW4gZXhjZXB0aW9uIikKKyAgICBwYXJzZXIu
YWRkX2FyZ3VtZW50KCItLXB5MyIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsIGhlbHA9IlJ1biB3aXRo
IHB5dGhvbjMiKQogICAgIHN1YnBhcnNlcnMgPSBwYXJzZXIuYWRkX3N1YnBhcnNlcnMoZGVzdD0i
Y29tbWFuZCIpCiAgICAgZm9yIGNvbW1hbmQsIHByb3BzIGluIGl0ZXJpdGVtcyhjb21tYW5kcyk6
CiAgICAgICAgIHN1YnBhcnNlcnMuYWRkX3BhcnNlcihjb21tYW5kLCBoZWxwPXByb3BzWyJoZWxw
Il0sIGFkZF9oZWxwPUZhbHNlKQpAQCAtOTMsNyArOTUsOCBAQCBkZWYgY3JlYXRlX2NvbXBsZXRl
X3BhcnNlcigpOgogICAgIGZvciBjb21tYW5kIGluIGNvbW1hbmRzOgogICAgICAgICBwcm9wcyA9
IGNvbW1hbmRzW2NvbW1hbmRdCiAKLSAgICAgICAgaWYgcHJvcHNbInZpcnR1YWxlbnYiXToKKyAg
ICAgICAgaWYgKHByb3BzWyJ2aXJ0dWFsZW52Il0gYW5kCisgICAgICAgICAgICAobm90IHByb3Bz
WyJweTNvbmx5Il0gb3Igc3lzLnZlcnNpb25faW5mby5tYWpvciA9PSAzKSk6CiAgICAgICAgICAg
ICBzZXR1cF92aXJ0dWFsZW52KE5vbmUsIEZhbHNlLCBwcm9wcykKIAogICAgICAgICBzdWJwYXJz
ZXIgPSBpbXBvcnRfY29tbWFuZCgnd3B0JywgY29tbWFuZCwgcHJvcHMpWzFdCkBAIC0xMDgsMTIg
KzExMSwxNiBAQCBkZWYgY3JlYXRlX2NvbXBsZXRlX3BhcnNlcigpOgogICAgIHJldHVybiBwYXJz
ZXIKIAogCitkZWYgdmVudl9kaXIoKToKKyAgICByZXR1cm4gIl92ZW52IiArIHN0cihzeXMudmVy
c2lvbl9pbmZvWzBdKQorCisKIGRlZiBzZXR1cF92aXJ0dWFsZW52KHBhdGgsIHNraXBfdmVudl9z
ZXR1cCwgcHJvcHMpOgogICAgIGlmIHNraXBfdmVudl9zZXR1cCBhbmQgcGF0aCBpcyBOb25lOgog
ICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJNdXN0IHNldCAtLXZlbnYgd2hlbiAtLXNraXAtdmVu
di1zZXR1cCBpcyB1c2VkIikKICAgICBzaG91bGRfc2tpcF9zZXR1cCA9IHBhdGggaXMgbm90IE5v
bmUgYW5kIHNraXBfdmVudl9zZXR1cAogICAgIGlmIHBhdGggaXMgTm9uZToKLSAgICAgICAgcGF0
aCA9IG9zLnBhdGguam9pbih3cHRfcm9vdCwgIl92ZW52IikKKyAgICAgICAgcGF0aCA9IG9zLnBh
dGguam9pbih3cHRfcm9vdCwgdmVudl9kaXIoKSkKICAgICB2ZW52ID0gdmlydHVhbGVudi5WaXJ0
dWFsZW52KHBhdGgsIHNob3VsZF9za2lwX3NldHVwKQogICAgIGlmIG5vdCBzaG91bGRfc2tpcF9z
ZXR1cDoKICAgICAgICAgdmVudi5zdGFydCgpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9MSUNFTlNFIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
TElDRU5TRQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDU4OTZlNmJlMmJkNTFmNGI3
OGU5NzAzY2FlZmI5YjY3MmUxMGE1NS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci9MSUNFTlNFCisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBAQAot
VzNDIDMtY2xhdXNlIEJTRCBMaWNlbnNlCi0KLWh0dHA6Ly93d3cudzMub3JnL0NvbnNvcnRpdW0v
TGVnYWwvMjAwOC8wMy1ic2QtbGljZW5zZS5odG1sCi0KLVJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZQotbWV0OgotCi0qIFJlZGlzdHJpYnV0aW9ucyBvZiB3b3JrcyBtdXN0IHJldGFpbiB0aGUgb3Jp
Z2luYWwgY29weXJpZ2h0IG5vdGljZSwKLSAgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLQotKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIG9yaWdpbmFsIGNvcHlyaWdodAotICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0g
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCi0KLSogTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVzNDIG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUKLSAgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgd29yayB3aXRob3V0Ci0gIHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLQotVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLUxJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUgotQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKLU9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi1E
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKLVRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLShJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3JlcXVpcmVtZW50cy50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9yZXF1aXJlbWVudHMudHh0CmluZGV4IDNj
ZDAxNDQ2ZTI1YmNlYjRkYWRlZjQ4MjU5MTE3YmQwNTdlYTZmNDguLjUzMTA3MjFiYmI5MGZhOTRi
OTBiNGMxMGQyMDJmYzVhMTNjMDRkNTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3JlcXVpcmVtZW50cy50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvcmVxdWlyZW1lbnRzLnR4dApAQCAtMSw4ICsxLDkgQEAKIGh0bWw1bGliPT0xLjAu
MQotbW96aW5mbz09MS4xLjAKLW1vemxvZz09NS4wCi1tb3pkZWJ1Zz09MC4xLjEKLXBpbGxvdz09
Ni4yLjEKLXVybGxpYjNbc2VjdXJlXT09MS4yNS43Ci1yZXF1ZXN0cz09Mi4yMi4wCi1zaXg9PTEu
MTMuMAorbW96aW5mbz09MS4yLjEgICMgaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTYyMTIyNgorbW96bG9nPT02LjAKK21vemRlYnVnPT0wLjIKKyMgUGlsbG93
IDcgcmVxdWlyZXMgUHl0aG9uIDMKK3BpbGxvdz09Ni4yLjIgICMgcHl1cDogPDcuMAordXJsbGli
M1tzZWN1cmVdPT0xLjI1LjkKK3JlcXVlc3RzPT0yLjIzLjAKK3NpeD09MS4xNS4wCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci9yZXF1aXJlbWVudHNfZmlyZWZveC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9yZXF1aXJlbWVudHNfZmlyZWZv
eC50eHQKaW5kZXggNGNiYjdhNWVjMDI5M2VmZjFlZjE5OGEyMWVjZGM5MGZlY2Y0MTQxMS4uMTc2
NzA1ZjNhZjUwOGFjYjMxMTdkNzNkNWFiNGYwYzMwNjAyNDY2MiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvcmVx
dWlyZW1lbnRzX2ZpcmVmb3gudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3JlcXVpcmVtZW50c19maXJlZm94LnR4dApA
QCAtMSwxMSArMSwxMCBAQAogbWFyaW9uZXR0ZV9kcml2ZXI9PTMuMC4wCi1tb3pjcmFzaD09MS4x
LjAKLW1vemRvd25sb2FkPT0xLjI2LjAKK21vemNyYXNoPT0yLjAuMAogbW96aW5zdGFsbD09Mi4w
LjAKIG1vemxlYWs9PTAuMgotbW96bmV0d29yaz09MC4yNworbW96bmV0d29yaz09MS4xLjAKIG1v
enByb2Nlc3M9PTEuMC4wCi1tb3pwcm9maWxlPT0yLjQuMAotbW96cnVubmVyPT03LjcuMAotbW96
dmVyc2lvbj09Mi4yLjAKLXBzdXRpbD09NS42LjcKK21venByb2ZpbGU9PTIuNS4wCittb3pydW5u
ZXI9PTcuOC4wCittb3p2ZXJzaW9uPT0yLjMuMAorcHN1dGlsPT01LjcuMApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5u
ZXIvcmVxdWlyZW1lbnRzX3NhdWNlLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3JlcXVpcmVtZW50c19zYXVjZS50eHQKaW5k
ZXggMzJiNWY2NGQxNGZkMDNkZjRlZWFjYjU3ODM5MjEwYTI2YTI4M2ZhNy4uZTllOTc2NDc3OTZl
N2Y5NDBmMmVlZjk4YzcyYjE5ODcxZDMyM2M3MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvcmVxdWlyZW1lbnRz
X3NhdWNlLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3dwdHJ1bm5lci9yZXF1aXJlbWVudHNfc2F1Y2UudHh0CkBAIC0xLDMgKzEsMyBA
QAogbW96cHJvY2Vzcz09MS4wLjAKIHNlbGVuaXVtPT0zLjE0MS4wCi1yZXF1ZXN0cz09Mi4yMi4w
CityZXF1ZXN0cz09Mi4yMy4wCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0L3Rlc3QucHkgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90ZXN0
L3Rlc3QucHkKaW5kZXggOGYzMjNhMzM4NmM5OTdjYmNmYTAxM2U2NTg1MDg2NDcxZGRmYTIwOC4u
NDJlN2FiYmJhYjQ5MDkyMzcwNjVjYjAxMjVkYjcxMWExODYwNzg5NyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
dGVzdC90ZXN0LnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0cnVubmVyL3Rlc3QvdGVzdC5weQpAQCAtMSw1ICsxLDQgQEAKIGZyb20g
X19mdXR1cmVfXyBpbXBvcnQgcHJpbnRfZnVuY3Rpb24KLWltcG9ydCBDb25maWdQYXJzZXIKIGlt
cG9ydCBhcmdwYXJzZQogaW1wb3J0IG9zCiBpbXBvcnQgc3lzCkBAIC03LDYgKzYsOCBAQCBpbXBv
cnQgc3lzCiBmcm9tIG1vemxvZyBpbXBvcnQgc3RydWN0dXJlZGxvZwogZnJvbSBtb3psb2cuaGFu
ZGxlcnMgaW1wb3J0IEJhc2VIYW5kbGVyLCBTdHJlYW1IYW5kbGVyCiBmcm9tIG1vemxvZy5mb3Jt
YXR0ZXJzIGltcG9ydCBNYWNoRm9ybWF0dGVyCitmcm9tIHNpeCBpbXBvcnQgaXRlcml0ZW1zCitm
cm9tIHNpeC5tb3Zlcy5jb25maWdwYXJzZXIgaW1wb3J0IENvbmZpZ1BhcnNlcgogZnJvbSB3cHRy
dW5uZXIgaW1wb3J0IHdwdGNvbW1hbmRsaW5lLCB3cHRydW5uZXIKIAogaGVyZSA9IG9zLnBhdGgu
YWJzcGF0aChvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pKQpAQCAtNTgsNyArNTksNyBAQCBkZWYg
dGVzdF9zZXR0aW5ncygpOgogICAgIH0KIAogZGVmIHJlYWRfY29uZmlnKCk6Ci0gICAgcGFyc2Vy
ID0gQ29uZmlnUGFyc2VyLkNvbmZpZ1BhcnNlcigpCisgICAgcGFyc2VyID0gQ29uZmlnUGFyc2Vy
KCkKICAgICBwYXJzZXIucmVhZCgidGVzdC5jZmciKQogCiAgICAgcnYgPSB7ImdlbmVyYWwiOnt9
LApAQCAtODMsNyArODQsNyBAQCBkZWYgcnVuX3Rlc3RzKHByb2R1Y3QsIGt3YXJncyk6CiAKIGRl
ZiBzZXR0aW5nc190b19hcmd2KHNldHRpbmdzKToKICAgICBydiA9IFtdCi0gICAgZm9yIG5hbWUs
IHZhbHVlIGluIHNldHRpbmdzLml0ZXJpdGVtcygpOgorICAgIGZvciBuYW1lLCB2YWx1ZSBpbiBp
dGVyaXRlbXMoc2V0dGluZ3MpOgogICAgICAgICBrZXkgPSAiLS0lcyIgJSBuYW1lCiAgICAgICAg
IGlmIG5vdCB2YWx1ZToKICAgICAgICAgICAgIHJ2LmFwcGVuZChrZXkpCkBAIC0xMDksNyArMTEw
LDcgQEAgZGVmIHJ1bihjb25maWcsIGFyZ3MpOgogCiAgICAgbG9nZ2VyLnN1aXRlX3N0YXJ0KHRl
c3RzPVtdKQogCi0gICAgZm9yIHByb2R1Y3QsIHByb2R1Y3Rfc2V0dGluZ3MgaW4gY29uZmlnWyJw
cm9kdWN0cyJdLml0ZXJpdGVtcygpOgorICAgIGZvciBwcm9kdWN0LCBwcm9kdWN0X3NldHRpbmdz
IGluIGl0ZXJpdGVtcyhjb25maWdbInByb2R1Y3RzIl0pOgogICAgICAgICBpZiBhcmdzLnByb2R1
Y3QgYW5kIHByb2R1Y3Qgbm90IGluIGFyZ3MucHJvZHVjdDoKICAgICAgICAgICAgIGNvbnRpbnVl
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL3RveC5pbmkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci90b3guaW5pCmluZGV4IGFkMzUwMmUwMmE5
ZTgxMDE2OTQwYzhmMzlmNTY1NDBmNWFiMWYyNmQuLmM1NDRkYTdhOTVkMmE5ODJjYWI4YjY4YWY1
Mzc0NDBiNzFmYTA5NmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3RveC5pbmkKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvdG94LmluaQpA
QCAtMiw4ICsyLDggQEAKIHhmYWlsX3N0cmljdD10cnVlCiAKIFt0b3hdCi1lbnZsaXN0ID0gcHky
Ny17YmFzZSxjaHJvbWUsZWRnZSxmaXJlZm94LGllLG9wZXJhLHNhZmFyaSxzYXVjZSxzZXJ2byx3
ZWJraXQsd2Via2l0Z3RrX21pbmlicm93c2VyLGVwaXBoYW55fSxweTM2LWJhc2UKLXNraXBfbWlz
c2luZ19pbnRlcnByZXRlcnMgPSB0cnVlCitlbnZsaXN0ID0gcHkyNy17YmFzZSxjaHJvbWUsZWRn
ZSxmaXJlZm94LGllLG9wZXJhLHNhZmFyaSxzYXVjZSxzZXJ2byx3ZWJraXQsd2Via2l0Z3RrX21p
bmlicm93c2VyLGVwaXBoYW55fSx7cHkzNSxweTM2LHB5MzcscHkzOH0tYmFzZQorc2tpcF9taXNz
aW5nX2ludGVycHJldGVycyA9IEZhbHNlCiAKIFt0ZXN0ZW52XQogZGVwcyA9CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3czYy1pbXBvcnQubG9nCmluZGV4IDQwNmE1ZmFlMjU2
NDI3MjI4NGFjNTcwMGNjMDQ2ZmIwYjY3YzFmNmEuLjU4ZTk3MGEwZWRmNmVkZmMxNjA3Yzc2NmE3
NjNiZjk1MTUwZjYzZjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3cz
Yy1pbXBvcnQubG9nCkBAIC0xNCw3ICsxNCw2IEBAIFByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcg
dmVuZG9yIHByZWZpeGVzOgogTm9uZQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBMaXN0IG9mIGZpbGVzOgot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL0xJQ0VOU0UKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci9NQU5JRkVTVC5pbgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL1JFQURNRS5yc3QKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci9yZXF1aXJl
bWVudHMudHh0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvYW5kcm9pZF93ZWJs
YXllci5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9hbmRyb2lkX3dlYmxheWVyLnB5CmluZGV4
IDkzZjRkNmI2MzBkMjg4Yzc1Zjg4OGNiNzMwNGJiZjhhNDE5NWRiNmMuLmY3NTU4N2Q4MzlmZmZj
ZjAzOTAxNzc5YTBiNjUxMjYxOTBiOWQ0ODEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93
c2Vycy9hbmRyb2lkX3dlYmxheWVyLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9hbmRy
b2lkX3dlYmxheWVyLnB5CkBAIC0xMjQsNyArMTI0LDcgQEAgY2xhc3MgV2VibGF5ZXJTaGVsbChC
cm93c2VyKToKICAgICAgICAgIyBUT0RPKGF0byk6IFRoaXMgb25seSBpbmRpY2F0ZXMgdGhlIGRy
aXZlciBpcyBhbGl2ZSwKICAgICAgICAgIyBhbmQgZG9lc24ndCBzYXkgYW55dGhpbmcgYWJvdXQg
d2hldGhlciBhIGJyb3dzZXIgc2Vzc2lvbgogICAgICAgICAjIGlzIGFjdGl2ZS4KLSAgICAgICAg
cmV0dXJuIHNlbGYuc2VydmVyLmlzX2FsaXZlCisgICAgICAgIHJldHVybiBzZWxmLnNlcnZlci5p
c19hbGl2ZSgpCiAKICAgICBkZWYgY2xlYW51cChzZWxmKToKICAgICAgICAgc2VsZi5zdG9wKCkK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9hbmRyb2lkX3dlYnZpZXcucHkgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci93cHRydW5uZXIvYnJvd3NlcnMvYW5kcm9pZF93ZWJ2aWV3LnB5CmluZGV4IGRjNjg3YjQ4ZWQ3
YTlkZGU4MjczMzRhZThiNTkwOTZjYzU4ZDI0ZDcuLjg3OTA1Njc3MDdlOTU3YTdiNjVkN2RjMTVi
YWFkNWUzMTkwYjhiYmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9hbmRyb2lk
X3dlYnZpZXcucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL2FuZHJvaWRfd2Vidmlldy5w
eQpAQCAtMTIzLDcgKzEyMyw3IEBAIGNsYXNzIFN5c3RlbVdlYlZpZXdTaGVsbChCcm93c2VyKToK
ICAgICAgICAgIyBUT0RPKGF0byk6IFRoaXMgb25seSBpbmRpY2F0ZXMgdGhlIGRyaXZlciBpcyBh
bGl2ZSwKICAgICAgICAgIyBhbmQgZG9lc24ndCBzYXkgYW55dGhpbmcgYWJvdXQgd2hldGhlciBh
IGJyb3dzZXIgc2Vzc2lvbgogICAgICAgICAjIGlzIGFjdGl2ZS4KLSAgICAgICAgcmV0dXJuIHNl
bGYuc2VydmVyLmlzX2FsaXZlCisgICAgICAgIHJldHVybiBzZWxmLnNlcnZlci5pc19hbGl2ZSgp
CiAKICAgICBkZWYgY2xlYW51cChzZWxmKToKICAgICAgICAgc2VsZi5zdG9wKCkKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0
cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9iYXNlLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJz
L2Jhc2UucHkKaW5kZXggNjU1MzQ0NTgxOTczYzE1YjY1NzcyOWZlYjczNmRkMjA3M2Q3OWEzMC4u
YTAyN2NmMzI2MTBhNDllNjFmNDE0MWJmYjVmY2U1ZDA1MTM4NWIzZSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
d3B0cnVubmVyL2Jyb3dzZXJzL2Jhc2UucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL2Jh
c2UucHkKQEAgLTMsNiArMyw3IEBAIGltcG9ydCBwbGF0Zm9ybQogaW1wb3J0IHNvY2tldAogZnJv
bSBhYmMgaW1wb3J0IEFCQ01ldGEsIGFic3RyYWN0bWV0aG9kCiBmcm9tIGNvcHkgaW1wb3J0IGRl
ZXBjb3B5Citmcm9tIHNpeCBpbXBvcnQgaXRlcml0ZW1zCiAKIGZyb20gLi53cHRjb21tYW5kbGlu
ZSBpbXBvcnQgcmVxdWlyZV9hcmcgICMgbm9xYTogRjQwMQogCkBAIC0xNDcsMTAgKzE0OCw2IEBA
IGNsYXNzIEJyb3dzZXIob2JqZWN0KToKICAgICAgICAgIiIiQm9vbGVhbiBpbmRpY2F0aW5nIHdo
ZXRoZXIgdGhlIGJyb3dzZXIgcHJvY2VzcyBpcyBzdGlsbCBydW5uaW5nIiIiCiAgICAgICAgIHBh
c3MKIAotICAgIGRlZiBzZXR1cF9zc2woc2VsZiwgaG9zdHMpOgotICAgICAgICAiIiJSZXR1cm4g
YSBjZXJ0aWZpY2F0ZSB0byB1c2UgZm9yIHRlc3RzIHJlcXVpcmluZyBzc2wgdGhhdCB3aWxsIGJl
IHRydXN0ZWQgYnkgdGhlIGJyb3dzZXIiIiIKLSAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRF
cnJvcigic3NsIHRlc3Rpbmcgbm90IHN1cHBvcnRlZCIpCi0KICAgICBkZWYgY2xlYW51cChzZWxm
KToKICAgICAgICAgIiIiQnJvd3Nlci1zcGVjaWZpYyBjbGVhbnVwIHRoYXQgaXMgcnVuIGFmdGVy
IHRoZSB0ZXN0cnVuIGlzIGZpbmlzaGVkIiIiCiAgICAgICAgIHBhc3MKQEAgLTE5OSw1ICsxOTYs
NSBAQCBjbGFzcyBFeGVjdXRvckJyb3dzZXIob2JqZWN0KToKICAgICB1cCB0aGUgYnJvd3NlciBm
cm9tIHRoZSBydW5uZXIgcHJvY2Vzcy4KICAgICAiIiIKICAgICBkZWYgX19pbml0X18oc2VsZiwg
Kiprd2FyZ3MpOgotICAgICAgICBmb3IgaywgdiBpbiBrd2FyZ3MuaXRlcml0ZW1zKCk6CisgICAg
ICAgIGZvciBrLCB2IGluIGl0ZXJpdGVtcyhrd2FyZ3MpOgogICAgICAgICAgICAgc2V0YXR0cihz
ZWxmLCBrLCB2KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL2Nocm9tZS5weSBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL3dwdHJ1bm5lci9icm93c2Vycy9jaHJvbWUucHkKaW5kZXggNTEzZmQ1ZjQyNDkyZmNhNGY2
MTE1NmU1NDU5NTc2ZDFjODQ2Njk4YS4uYmFjMWFmZmQzNjUwZTI0YzRiOTZlZmM2NWU2YjQ2OTJj
OWIyYjI0NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL2Nocm9tZS5weQorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci93cHRydW5uZXIvYnJvd3NlcnMvY2hyb21lLnB5CkBAIC0xMjUsNyArMTI1LDcgQEAgY2xh
c3MgQ2hyb21lQnJvd3NlcihCcm93c2VyKToKICAgICAgICAgIyBUT0RPKGF0byk6IFRoaXMgb25s
eSBpbmRpY2F0ZXMgdGhlIGRyaXZlciBpcyBhbGl2ZSwKICAgICAgICAgIyBhbmQgZG9lc24ndCBz
YXkgYW55dGhpbmcgYWJvdXQgd2hldGhlciBhIGJyb3dzZXIgc2Vzc2lvbgogICAgICAgICAjIGlz
IGFjdGl2ZS4KLSAgICAgICAgcmV0dXJuIHNlbGYuc2VydmVyLmlzX2FsaXZlCisgICAgICAgIHJl
dHVybiBzZWxmLnNlcnZlci5pc19hbGl2ZSgpCiAKICAgICBkZWYgY2xlYW51cChzZWxmKToKICAg
ICAgICAgc2VsZi5zdG9wKCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9jaHJv
bWVfYW5kcm9pZC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9jaHJvbWVfYW5kcm9pZC5weQpp
bmRleCBiNGVkYzA1MGQwYzcwOWNmYTQ2N2E0M2I2ZTZhNDEyMDBhYTA0YzczLi5jZDhjNDBmYWIx
ZmViMDYyOWE4MTRiMmJiYTY4ZWRlY2FhM2VlOGQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIv
YnJvd3NlcnMvY2hyb21lX2FuZHJvaWQucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL2No
cm9tZV9hbmRyb2lkLnB5CkBAIC0xMTQsNyArMTE0LDcgQEAgY2xhc3MgQ2hyb21lQW5kcm9pZEJy
b3dzZXIoQnJvd3Nlcik6CiAgICAgICAgICMgVE9ETyhhdG8pOiBUaGlzIG9ubHkgaW5kaWNhdGVz
IHRoZSBkcml2ZXIgaXMgYWxpdmUsCiAgICAgICAgICMgYW5kIGRvZXNuJ3Qgc2F5IGFueXRoaW5n
IGFib3V0IHdoZXRoZXIgYSBicm93c2VyIHNlc3Npb24KICAgICAgICAgIyBpcyBhY3RpdmUuCi0g
ICAgICAgIHJldHVybiBzZWxmLnNlcnZlci5pc19hbGl2ZQorICAgICAgICByZXR1cm4gc2VsZi5z
ZXJ2ZXIuaXNfYWxpdmUoKQogCiAgICAgZGVmIGNsZWFudXAoc2VsZik6CiAgICAgICAgIHNlbGYu
c3RvcCgpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvY2hyb21lX2lvcy5weSBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL3dwdHJ1bm5lci9icm93c2Vycy9jaHJvbWVfaW9zLnB5CmluZGV4IGEwNDI5NjY1YzliYzU3
ZTI3YzAyY2U4MWE3ZGViOTA5YjhmYTAwZjUuLjZkYjAxODhlNTVlYmZmOGQzYTQwZjlhMTVkYzcx
NDQxOWVkYWNiZWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9jaHJvbWVfaW9z
LnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9jaHJvbWVfaW9zLnB5CkBAIC03MSw3ICs3
MSw3IEBAIGNsYXNzIENocm9tZWlPU0Jyb3dzZXIoQnJvd3Nlcik6CiAgICAgICAgICMgVE9ETyhh
dG8pOiBUaGlzIG9ubHkgaW5kaWNhdGVzIHRoZSBkcml2ZXIgaXMgYWxpdmUsCiAgICAgICAgICMg
YW5kIGRvZXNuJ3Qgc2F5IGFueXRoaW5nIGFib3V0IHdoZXRoZXIgYSBicm93c2VyIHNlc3Npb24K
ICAgICAgICAgIyBpcyBhY3RpdmUuCi0gICAgICAgIHJldHVybiBzZWxmLnNlcnZlci5pc19hbGl2
ZQorICAgICAgICByZXR1cm4gc2VsZi5zZXJ2ZXIuaXNfYWxpdmUoKQogCiAgICAgZGVmIGNsZWFu
dXAoc2VsZik6CiAgICAgICAgIHNlbGYuc3RvcCgpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIv
YnJvd3NlcnMvZWRnZS5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9lZGdlLnB5CmluZGV4IGQ5
ZDBhZjExNWNjOWU5YzY0ZTkyN2IxNWNkZDI5MWYzMTRiMDdhZTUuLjE4YTFlZDc4MTE4OWNjYTIz
ZGYyYTRlMWI1YjVkY2E4MzBiZDBlYTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vy
cy9lZGdlLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9lZGdlLnB5CkBAIC0xMDgsNyAr
MTA4LDcgQEAgY2xhc3MgRWRnZUJyb3dzZXIoQnJvd3Nlcik6CiAgICAgICAgICMgVE9ETyhhdG8p
OiBUaGlzIG9ubHkgaW5kaWNhdGVzIHRoZSBzZXJ2ZXIgaXMgYWxpdmUsCiAgICAgICAgICMgYW5k
IGRvZXNuJ3Qgc2F5IGFueXRoaW5nIGFib3V0IHdoZXRoZXIgYSBicm93c2VyIHNlc3Npb24KICAg
ICAgICAgIyBpcyBhY3RpdmUuCi0gICAgICAgIHJldHVybiBzZWxmLnNlcnZlci5pc19hbGl2ZQor
ICAgICAgICByZXR1cm4gc2VsZi5zZXJ2ZXIuaXNfYWxpdmUoKQogCiAgICAgZGVmIGNsZWFudXAo
c2VsZik6CiAgICAgICAgIHNlbGYuc3RvcCgpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJv
d3NlcnMvZWRnZWNocm9taXVtLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL2VkZ2VjaHJvbWl1
bS5weQppbmRleCA2MzY4MGI2Nzc0YTI3NTkyNDkxZTY3MWY1M2YxNDBiNjVlMTcwNDJiLi41YzUx
ZjA2NmYwNDQxMzIxNjYwY2FiOTZmNmRlNTFhZjg2OGQzMTBiIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRy
dW5uZXIvYnJvd3NlcnMvZWRnZWNocm9taXVtLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vy
cy9lZGdlY2hyb21pdW0ucHkKQEAgLTEwNyw3ICsxMDcsNyBAQCBjbGFzcyBFZGdlQ2hyb21pdW1C
cm93c2VyKEJyb3dzZXIpOgogICAgICAgICAjIFRPRE8oYXRvKTogVGhpcyBvbmx5IGluZGljYXRl
cyB0aGUgZHJpdmVyIGlzIGFsaXZlLA0KICAgICAgICAgIyBhbmQgZG9lc24ndCBzYXkgYW55dGhp
bmcgYWJvdXQgd2hldGhlciBhIGJyb3dzZXIgc2Vzc2lvbg0KICAgICAgICAgIyBpcyBhY3RpdmUu
DQotICAgICAgICByZXR1cm4gc2VsZi5zZXJ2ZXIuaXNfYWxpdmUNCisgICAgICAgIHJldHVybiBz
ZWxmLnNlcnZlci5pc19hbGl2ZSgpDQogDQogICAgIGRlZiBjbGVhbnVwKHNlbGYpOg0KICAgICAg
ICAgc2VsZi5zdG9wKCkNCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvZXBpcGhh
bnkucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvZXBpcGhhbnkucHkKaW5kZXggOGEwZTVmNTc4
YjJmZWI4NzFkZGQ1MGFiMDgxNjhjNmI5ZDQ1ZTRiMC4uZjZjNGM2MDJhMzhjMDQzNjM3Y2Y5ZGJj
OGJiYjUzNTBlYzk0NTI3ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL2VwaXBo
YW55LnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9lcGlwaGFueS5weQpAQCAtMiw3ICsy
LDggQEAgZnJvbSAuYmFzZSBpbXBvcnQgZ2V0X3RpbWVvdXRfbXVsdGlwbGllciwgbWF5YmVfYWRk
X2FyZ3MsIGNlcnRpZmljYXRlX2RvbWFpbl9saXMKIGZyb20gLndlYmtpdCBpbXBvcnQgV2ViS2l0
QnJvd3NlcgogZnJvbSAuLmV4ZWN1dG9ycyBpbXBvcnQgZXhlY3V0b3Jfa3dhcmdzIGFzIGJhc2Vf
ZXhlY3V0b3Jfa3dhcmdzCiBmcm9tIC4uZXhlY3V0b3JzLmV4ZWN1dG9yd2ViZHJpdmVyIGltcG9y
dCAoV2ViRHJpdmVyVGVzdGhhcm5lc3NFeGVjdXRvciwgICMgbm9xYTogRjQwMQotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdlYkRyaXZlclJlZlRlc3RFeGVjdXRv
cikgICMgbm9xYTogRjQwMQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFdlYkRyaXZlclJlZlRlc3RFeGVjdXRvciwgICMgbm9xYTogRjQwMQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdlYkRyaXZlckNyYXNodGVzdEV4ZWN1dG9y
KSAgIyBub3FhOiBGNDAxCiBmcm9tIC4uZXhlY3V0b3JzLmV4ZWN1dG9yd2Via2l0IGltcG9ydCBX
ZWJLaXREcml2ZXJXZHNwZWNFeGVjdXRvciAgIyBub3FhOiBGNDAxCiAKIF9fd3B0cnVubmVyX18g
PSB7InByb2R1Y3QiOiAiZXBpcGhhbnkiLApAQCAtMTEsNyArMTIsOCBAQCBfX3dwdHJ1bm5lcl9f
ID0geyJwcm9kdWN0IjogImVwaXBoYW55IiwKICAgICAgICAgICAgICAgICAgImJyb3dzZXJfa3dh
cmdzIjogImJyb3dzZXJfa3dhcmdzIiwKICAgICAgICAgICAgICAgICAgImV4ZWN1dG9yIjogeyJ0
ZXN0aGFybmVzcyI6ICJXZWJEcml2ZXJUZXN0aGFybmVzc0V4ZWN1dG9yIiwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJyZWZ0ZXN0IjogIldlYkRyaXZlclJlZlRlc3RFeGVjdXRvciIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAid2RzcGVjIjogIldlYktpdERyaXZlcldk
c3BlY0V4ZWN1dG9yIn0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAid2RzcGVjIjog
IldlYktpdERyaXZlcldkc3BlY0V4ZWN1dG9yIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJjcmFzaHRlc3QiOiAiV2ViRHJpdmVyQ3Jhc2h0ZXN0RXhlY3V0b3IifSwKICAgICAgICAg
ICAgICAgICAgImV4ZWN1dG9yX2t3YXJncyI6ICJleGVjdXRvcl9rd2FyZ3MiLAogICAgICAgICAg
ICAgICAgICAiZW52X2V4dHJhcyI6ICJlbnZfZXh0cmFzIiwKICAgICAgICAgICAgICAgICAgImVu
dl9vcHRpb25zIjogImVudl9vcHRpb25zIiwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93
c2Vycy9maXJlZm94LnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL2ZpcmVmb3gucHkKaW5kZXgg
MGY4MDc1MzM3ODEzNzgzYzc2ZTRiZTRkZWM5Y2M5MzFhNDI1MmM0MS4uMmRlN2RmMzk2YmQyYTQ4
Yjc4NjRhNjZhZWU0YjYyY2ZhMWZiMzY3NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dz
ZXJzL2ZpcmVmb3gucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL2ZpcmVmb3gucHkKQEAg
LTQsNiArNCw3IEBAIGltcG9ydCBwbGF0Zm9ybQogaW1wb3J0IHNpZ25hbAogaW1wb3J0IHN1YnBy
b2Nlc3MKIGltcG9ydCBzeXMKK2Zyb20gYWJjIGltcG9ydCBBQkNNZXRhLCBhYnN0cmFjdG1ldGhv
ZAogCiBpbXBvcnQgbW96aW5mbwogaW1wb3J0IG1vemxlYWsKQEAgLTI1LDYgKzI2LDcgQEAgZnJv
bSAuLmV4ZWN1dG9ycy5leGVjdXRvcm1hcmlvbmV0dGUgaW1wb3J0IChNYXJpb25ldHRlVGVzdGhh
cm5lc3NFeGVjdXRvciwgICMgbm8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgTWFyaW9uZXR0ZVJlZlRlc3RFeGVjdXRvciwgICMgbm9xYTogRjQwMQogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXJpb25ldHRlV2RzcGVjRXhl
Y3V0b3IsICAjIG5vcWE6IEY0MDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgTWFyaW9uZXR0ZUNyYXNodGVzdEV4ZWN1dG9yKSAgIyBub3FhOiBGNDAxCitmcm9t
IC4ucHJvY2VzcyBpbXBvcnQgY2FzdF9lbnYKIAogCiBoZXJlID0gb3MucGF0aC5qb2luKG9zLnBh
dGguc3BsaXQoX19maWxlX18pWzBdKQpAQCAtNjMsNiArNjUsOCBAQCBkZWYgZ2V0X3RpbWVvdXRf
bXVsdGlwbGllcih0ZXN0X3R5cGUsIHJ1bl9pbmZvX2RhdGEsICoqa3dhcmdzKToKICAgICAjIGh0
dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTE1Mzg3MjUKICAgICBl
bGlmIHJ1bl9pbmZvX2RhdGFbIm9zIl0gPT0gIndpbiIgYW5kIHJ1bl9pbmZvX2RhdGFbInByb2Nl
c3NvciJdID09ICJhYXJjaDY0IjoKICAgICAgICAgcmV0dXJuIDQKKyAgICBlbGlmIHJ1bl9pbmZv
X2RhdGEuZ2V0KCJjY292Iik6CisgICAgICAgIHJldHVybiAyCiAgICAgcmV0dXJuIDEKIAogCkBA
IC04Miw2ICs4Niw3IEBAIGRlZiBicm93c2VyX2t3YXJncyh0ZXN0X3R5cGUsIHJ1bl9pbmZvX2Rh
dGEsIGNvbmZpZywgKiprd2FyZ3MpOgogICAgICAgICAgICAgImNhX2NlcnRpZmljYXRlX3BhdGgi
OiBjb25maWcuc3NsX2NvbmZpZ1siY2FfY2VydF9wYXRoIl0sCiAgICAgICAgICAgICAiZTEwcyI6
IGt3YXJnc1siZ2Vja29fZTEwcyJdLAogICAgICAgICAgICAgImVuYWJsZV93ZWJyZW5kZXIiOiBr
d2FyZ3NbImVuYWJsZV93ZWJyZW5kZXIiXSwKKyAgICAgICAgICAgICJlbmFibGVfZmlzc2lvbiI6
IGt3YXJnc1siZW5hYmxlX2Zpc3Npb24iXSwKICAgICAgICAgICAgICJzdGFja2ZpeF9kaXIiOiBr
d2FyZ3NbInN0YWNrZml4X2RpciJdLAogICAgICAgICAgICAgImJpbmFyeV9hcmdzIjoga3dhcmdz
WyJiaW5hcnlfYXJncyJdLAogICAgICAgICAgICAgInRpbWVvdXRfbXVsdGlwbGllciI6IGdldF90
aW1lb3V0X211bHRpcGxpZXIodGVzdF90eXBlLApAQCAtOTMsNyArOTgsOCBAQCBkZWYgYnJvd3Nl
cl9rd2FyZ3ModGVzdF90eXBlLCBydW5faW5mb19kYXRhLCBjb25maWcsICoqa3dhcmdzKToKICAg
ICAgICAgICAgICJjaGFvc19tb2RlX2ZsYWdzIjoga3dhcmdzWyJjaGFvc19tb2RlX2ZsYWdzIl0s
CiAgICAgICAgICAgICAiY29uZmlnIjogY29uZmlnLAogICAgICAgICAgICAgImJyb3dzZXJfY2hh
bm5lbCI6IGt3YXJnc1siYnJvd3Nlcl9jaGFubmVsIl0sCi0gICAgICAgICAgICAiaGVhZGxlc3Mi
OiBrd2FyZ3NbImhlYWRsZXNzIl19CisgICAgICAgICAgICAiaGVhZGxlc3MiOiBrd2FyZ3NbImhl
YWRsZXNzIl0sCisgICAgICAgICAgICAicHJlbG9hZF9icm93c2VyIjoga3dhcmdzWyJwcmVsb2Fk
X2Jyb3dzZXIiXX0KIAogCiBkZWYgZXhlY3V0b3Jfa3dhcmdzKHRlc3RfdHlwZSwgc2VydmVyX2Nv
bmZpZywgY2FjaGVfbWFuYWdlciwgcnVuX2luZm9fZGF0YSwKQEAgLTE2OCwxNyArMTc0LDEzIEBA
IGRlZiBydW5faW5mb19leHRyYXMoKiprd2FyZ3MpOgogICAgICAgICAgICJ3YXNtIjoga3dhcmdz
LmdldCgid2FzbSIsIFRydWUpLAogICAgICAgICAgICJ2ZXJpZnkiOiBrd2FyZ3NbInZlcmlmeSJd
LAogICAgICAgICAgICJoZWFkbGVzcyI6IGt3YXJncy5nZXQoImhlYWRsZXNzIiwgRmFsc2UpIG9y
ICJNT1pfSEVBRExFU1MiIGluIG9zLmVudmlyb24sCi0gICAgICAgICAgImZpc3Npb24iOiBnZXRf
Ym9vbF9wcmVmKCJmaXNzaW9uLmF1dG9zdGFydCIpfQorICAgICAgICAgICJzdy1lMTBzIjogVHJ1
ZSwKKyAgICAgICAgICAiZmlzc2lvbiI6IGt3YXJncy5nZXQoImVuYWJsZV9maXNzaW9uIikgb3Ig
Z2V0X2Jvb2xfcHJlZigiZmlzc2lvbi5hdXRvc3RhcnQiKX0KIAogICAgICMgVGhlIHZhbHVlIG9m
IGBzdy1lMTBzYCBkZWZhdWx0cyB0byB3aGV0aGVyIHRoZSAicGFyZW50X2ludGVyY2VwdCIKICAg
ICAjIGltcGxlbWVudGF0aW9uIGlzIGVuYWJsZWQgZm9yIHRoZSBjdXJyZW50IGJ1aWxkLiBUaGlz
IHZhbHVlLCBob3dldmVyLAogICAgICMgY2FuIGJlIG92ZXJyaWRkZW4gYnkgZXhwbGljaXRseSBz
ZXR0aW5nIHRoZSBwcmVmIHdpdGggdGhlIGAtLXNldHByZWZgIENMSQotICAgICMgZmxhZywgd2hp
Y2ggaXMgY2hlY2tlZCBoZXJlLiBJZiBub3Qgc3VwcGxpZWQsIHRoZSBkZWZhdWx0IHZhbHVlIG9m
Ci0gICAgIyBgc3ctZTEwc2Agd2lsbCBiZSBmaWxsZWQgaW4gaW4gYFJ1bkluZm9gJ3MgY29uc3Ry
dWN0b3IuCi0gICAgIwotICAgICMgV2UgY2FuJ3QgY2FwdHVyZSB0aGUgZGVmYXVsdCB2YWx1ZSBy
aWdodCBub3cgYmVjYXVzZSAoY3VycmVudGx5KSwgaXQKLSAgICAjIGRlZmF1bHRzIHRvIHRoZSB2
YWx1ZSBvZiBgbmlnaHRseV9idWlsZGAsIHdoaWNoIGlzbid0IGtub3duIHVudGlsCi0gICAgIyBg
UnVuSW5mb2AncyBjb25zdHJ1Y3Rvci4KKyAgICAjIGZsYWcsIHdoaWNoIGlzIGNoZWNrZWQgaGVy
ZS4KICAgICBzd19lMTBzX292ZXJyaWRlID0gZ2V0X2Jvb2xfcHJlZl9pZl9leGlzdHMoImRvbS5z
ZXJ2aWNlV29ya2Vycy5wYXJlbnRfaW50ZXJjZXB0IikKICAgICBpZiBzd19lMTBzX292ZXJyaWRl
IGlzIG5vdCBOb25lOgogICAgICAgICBydlsic3ctZTEwcyJdID0gc3dfZTEwc19vdmVycmlkZQpA
QCAtMjAzLDc5ICsyMDUsNjAgQEAgZGVmIHVwZGF0ZV9wcm9wZXJ0aWVzKCk6CiAgICAgICAgICAg
ICB7Im9zIjogWyJ2ZXJzaW9uIl0sICJwcm9jZXNzb3IiOiBbImJpdHMiXX0pCiAKIAotY2xhc3Mg
RmlyZWZveEJyb3dzZXIoQnJvd3Nlcik6Ci0gICAgaW5pdF90aW1lb3V0ID0gNzAKLSAgICBzaHV0
ZG93bl90aW1lb3V0ID0gNzAKK2NsYXNzIEZpcmVmb3hJbnN0YW5jZU1hbmFnZXIob2JqZWN0KToK
KyAgICBfX21ldGFjbGFzc19fID0gQUJDTWV0YQogCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGxv
Z2dlciwgYmluYXJ5LCBwcmVmc19yb290LCB0ZXN0X3R5cGUsIGV4dHJhX3ByZWZzPU5vbmUsIGRl
YnVnX2luZm89Tm9uZSwKLSAgICAgICAgICAgICAgICAgc3ltYm9sc19wYXRoPU5vbmUsIHN0YWNr
d2Fsa19iaW5hcnk9Tm9uZSwgY2VydHV0aWxfYmluYXJ5PU5vbmUsCi0gICAgICAgICAgICAgICAg
IGNhX2NlcnRpZmljYXRlX3BhdGg9Tm9uZSwgZTEwcz1GYWxzZSwgZW5hYmxlX3dlYnJlbmRlcj1G
YWxzZSwgc3RhY2tmaXhfZGlyPU5vbmUsCi0gICAgICAgICAgICAgICAgIGJpbmFyeV9hcmdzPU5v
bmUsIHRpbWVvdXRfbXVsdGlwbGllcj1Ob25lLCBsZWFrX2NoZWNrPUZhbHNlLCBhc2FuPUZhbHNl
LAotICAgICAgICAgICAgICAgICBzdHlsb190aHJlYWRzPTEsIGNoYW9zX21vZGVfZmxhZ3M9Tm9u
ZSwgY29uZmlnPU5vbmUsIGJyb3dzZXJfY2hhbm5lbD0ibmlnaHRseSIsIGhlYWRsZXNzPU5vbmUs
ICoqa3dhcmdzKToKLSAgICAgICAgQnJvd3Nlci5fX2luaXRfXyhzZWxmLCBsb2dnZXIpCisgICAg
ZGVmIF9faW5pdF9fKHNlbGYsIGxvZ2dlciwgYmluYXJ5LCBiaW5hcnlfYXJncywgcHJvZmlsZV9j
cmVhdG9yLCBkZWJ1Z19pbmZvLAorICAgICAgICAgICAgICAgICBjaGFvc19tb2RlX2ZsYWdzLCBo
ZWFkbGVzcywgZW5hYmxlX3dlYnJlbmRlciwgc3R5bG9fdGhyZWFkcywKKyAgICAgICAgICAgICAg
ICAgbGVha19jaGVjaywgc3RhY2tmaXhfZGlyLCBzeW1ib2xzX3BhdGgsIGFzYW4pOgorICAgICAg
ICAiIiJPYmplY3QgdGhhdCBtYW5hZ2VzIHN0YXJ0aW5nIGFuZCBzdG9wcGluZyBpbnN0YW5jZXMg
b2YgRmlyZWZveC4iIiIKKyAgICAgICAgc2VsZi5sb2dnZXIgPSBsb2dnZXIKICAgICAgICAgc2Vs
Zi5iaW5hcnkgPSBiaW5hcnkKLSAgICAgICAgc2VsZi5wcmVmc19yb290ID0gcHJlZnNfcm9vdAot
ICAgICAgICBzZWxmLnRlc3RfdHlwZSA9IHRlc3RfdHlwZQotICAgICAgICBzZWxmLmV4dHJhX3By
ZWZzID0gZXh0cmFfcHJlZnMKLSAgICAgICAgc2VsZi5tYXJpb25ldHRlX3BvcnQgPSBOb25lCi0g
ICAgICAgIHNlbGYucnVubmVyID0gTm9uZQorICAgICAgICBzZWxmLmJpbmFyeV9hcmdzID0gYmlu
YXJ5X2FyZ3MKKyAgICAgICAgc2VsZi5iYXNlX3Byb2ZpbGUgPSBwcm9maWxlX2NyZWF0b3IuY3Jl
YXRlKCkKICAgICAgICAgc2VsZi5kZWJ1Z19pbmZvID0gZGVidWdfaW5mbwotICAgICAgICBzZWxm
LnByb2ZpbGUgPSBOb25lCi0gICAgICAgIHNlbGYuc3ltYm9sc19wYXRoID0gc3ltYm9sc19wYXRo
Ci0gICAgICAgIHNlbGYuc3RhY2t3YWxrX2JpbmFyeSA9IHN0YWNrd2Fsa19iaW5hcnkKLSAgICAg
ICAgc2VsZi5jYV9jZXJ0aWZpY2F0ZV9wYXRoID0gY2FfY2VydGlmaWNhdGVfcGF0aAotICAgICAg
ICBzZWxmLmNlcnR1dGlsX2JpbmFyeSA9IGNlcnR1dGlsX2JpbmFyeQotICAgICAgICBzZWxmLmUx
MHMgPSBlMTBzCisgICAgICAgIHNlbGYuY2hhb3NfbW9kZV9mbGFncyA9IGNoYW9zX21vZGVfZmxh
Z3MKKyAgICAgICAgc2VsZi5oZWFkbGVzcyA9IGhlYWRsZXNzCiAgICAgICAgIHNlbGYuZW5hYmxl
X3dlYnJlbmRlciA9IGVuYWJsZV93ZWJyZW5kZXIKLSAgICAgICAgc2VsZi5iaW5hcnlfYXJncyA9
IGJpbmFyeV9hcmdzCi0gICAgICAgIHNlbGYuY29uZmlnID0gY29uZmlnCi0gICAgICAgIGlmIHN0
YWNrZml4X2RpcjoKLSAgICAgICAgICAgIHNlbGYuc3RhY2tfZml4ZXIgPSBnZXRfc3RhY2tfZml4
ZXJfZnVuY3Rpb24oc3RhY2tmaXhfZGlyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnN5bWJvbHNfcGF0aCkKLSAgICAgICAgZWxz
ZToKLSAgICAgICAgICAgIHNlbGYuc3RhY2tfZml4ZXIgPSBOb25lCisgICAgICAgIHNlbGYuc3R5
bG9fdGhyZWFkcyA9IHN0eWxvX3RocmVhZHMKKyAgICAgICAgc2VsZi5sZWFrX2NoZWNrID0gbGVh
a19jaGVjaworICAgICAgICBzZWxmLnN0YWNrZml4X2RpciA9IHN0YWNrZml4X2RpcgorICAgICAg
ICBzZWxmLnN5bWJvbHNfcGF0aCA9IHN5bWJvbHNfcGF0aAorICAgICAgICBzZWxmLmFzYW4gPSBh
c2FuCiAKLSAgICAgICAgaWYgdGltZW91dF9tdWx0aXBsaWVyOgotICAgICAgICAgICAgc2VsZi5p
bml0X3RpbWVvdXQgPSBzZWxmLmluaXRfdGltZW91dCAqIHRpbWVvdXRfbXVsdGlwbGllcgorICAg
ICAgICBzZWxmLnByZXZpb3VzID0gTm9uZQorICAgICAgICBzZWxmLmN1cnJlbnQgPSBOb25lCiAK
LSAgICAgICAgc2VsZi5hc2FuID0gYXNhbgotICAgICAgICBzZWxmLmxzYW5fYWxsb3dlZCA9IE5v
bmUKLSAgICAgICAgc2VsZi5sc2FuX21heF9zdGFja19kZXB0aCA9IE5vbmUKLSAgICAgICAgc2Vs
Zi5tb3psZWFrX2FsbG93ZWQgPSBOb25lCi0gICAgICAgIHNlbGYubW96bGVha190aHJlc2hvbGRz
ID0gTm9uZQotICAgICAgICBzZWxmLmxlYWtfY2hlY2sgPSBsZWFrX2NoZWNrCi0gICAgICAgIHNl
bGYubGVha19yZXBvcnRfZmlsZSA9IE5vbmUKLSAgICAgICAgc2VsZi5sc2FuX2hhbmRsZXIgPSBO
b25lCi0gICAgICAgIHNlbGYuc3R5bG9fdGhyZWFkcyA9IHN0eWxvX3RocmVhZHMKLSAgICAgICAg
c2VsZi5jaGFvc19tb2RlX2ZsYWdzID0gY2hhb3NfbW9kZV9mbGFncwotICAgICAgICBzZWxmLmJy
b3dzZXJfY2hhbm5lbCA9IGJyb3dzZXJfY2hhbm5lbAotICAgICAgICBzZWxmLmhlYWRsZXNzID0g
aGVhZGxlc3MKKyAgICBAYWJzdHJhY3RtZXRob2QKKyAgICBkZWYgdGVhcmRvd24oc2VsZiwgZm9y
Y2U9RmFsc2UpOgorICAgICAgICBwYXNzCiAKLSAgICBkZWYgc2V0dGluZ3Moc2VsZiwgdGVzdCk6
Ci0gICAgICAgIHJldHVybiB7ImNoZWNrX2xlYWtzIjogc2VsZi5sZWFrX2NoZWNrIGFuZCBub3Qg
dGVzdC5sZWFrcywKLSAgICAgICAgICAgICAgICAibHNhbl9hbGxvd2VkIjogdGVzdC5sc2FuX2Fs
bG93ZWQsCi0gICAgICAgICAgICAgICAgImxzYW5fbWF4X3N0YWNrX2RlcHRoIjogdGVzdC5sc2Fu
X21heF9zdGFja19kZXB0aCwKLSAgICAgICAgICAgICAgICAibW96bGVha19hbGxvd2VkIjogc2Vs
Zi5sZWFrX2NoZWNrIGFuZCB0ZXN0Lm1vemxlYWtfYWxsb3dlZCwKLSAgICAgICAgICAgICAgICAi
bW96bGVha190aHJlc2hvbGRzIjogc2VsZi5sZWFrX2NoZWNrIGFuZCB0ZXN0Lm1vemxlYWtfdGhy
ZXNob2xkfQorICAgIEBhYnN0cmFjdG1ldGhvZAorICAgIGRlZiBnZXQoc2VsZik6CisgICAgICAg
ICIiIkdldCBhIEJyb3dzZXJJbnN0YW5jZSBmb3IgYSBydW5uaW5nIEZpcmVmb3guCiAKLSAgICBk
ZWYgc3RhcnQoc2VsZiwgZ3JvdXBfbWV0YWRhdGE9Tm9uZSwgKiprd2FyZ3MpOgotICAgICAgICBp
ZiBncm91cF9tZXRhZGF0YSBpcyBOb25lOgotICAgICAgICAgICAgZ3JvdXBfbWV0YWRhdGEgPSB7
fQorICAgICAgICBUaGlzIGNhbiBvbmx5IGJlIGNhbGxlZCBvbmNlIHBlciBpbnN0YW5jZSwgYW5k
IGJldHdlZW4gY2FsbHMgc3RvcF9jdXJyZW50KCkKKyAgICAgICAgbXVzdCBiZSBjYWxsZWQuIiIi
CisgICAgICAgIHBhc3MKIAotICAgICAgICBzZWxmLmdyb3VwX21ldGFkYXRhID0gZ3JvdXBfbWV0
YWRhdGEKLSAgICAgICAgc2VsZi5sc2FuX2FsbG93ZWQgPSBrd2FyZ3MuZ2V0KCJsc2FuX2FsbG93
ZWQiKQotICAgICAgICBzZWxmLmxzYW5fbWF4X3N0YWNrX2RlcHRoID0ga3dhcmdzLmdldCgibHNh
bl9tYXhfc3RhY2tfZGVwdGgiKQotICAgICAgICBzZWxmLm1vemxlYWtfYWxsb3dlZCA9IGt3YXJn
cy5nZXQoIm1vemxlYWtfYWxsb3dlZCIpCi0gICAgICAgIHNlbGYubW96bGVha190aHJlc2hvbGRz
ID0ga3dhcmdzLmdldCgibW96bGVha190aHJlc2hvbGRzIikKKyAgICBkZWYgc3RvcF9jdXJyZW50
KHNlbGYsIGZvcmNlPUZhbHNlKToKKyAgICAgICAgIiIiU2h1dGRvd24gdGhlIGN1cnJlbnQgaW5z
dGFuY2Ugb2YgRmlyZWZveC4KIAotICAgICAgICBpZiBzZWxmLm1hcmlvbmV0dGVfcG9ydCBpcyBO
b25lOgotICAgICAgICAgICAgc2VsZi5tYXJpb25ldHRlX3BvcnQgPSBnZXRfZnJlZV9wb3J0KCkK
KyAgICAgICAgVGhlIEJyb3dzZXJJbnN0YW5jZSByZW1haW5zIGF2YWlsYWJsZSB0aHJvdWdoIHNl
bGYucHJldmlvdXMsIHNpbmNlIHNvbWUKKyAgICAgICAgb3BlcmF0aW9ucyBoYXBwZW4gYWZ0ZXIg
c2h1dGRvd24uIiIiCisgICAgICAgIGlmIG5vdCBzZWxmLmN1cnJlbnQ6CisgICAgICAgICAgICBy
ZXR1cm4KIAotICAgICAgICBpZiBzZWxmLmFzYW46Ci0gICAgICAgICAgICBzZWxmLmxzYW5faGFu
ZGxlciA9IG1vemxlYWsuTFNBTkxlYWtzKHNlbGYubG9nZ2VyLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY29wZT1ncm91cF9tZXRhZGF0YS5nZXQo
InNjb3BlIiwgIi8iKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYWxsb3dlZD1zZWxmLmxzYW5fYWxsb3dlZCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4TnVtUmVjb3JkZWRGcmFtZXM9c2VsZi5s
c2FuX21heF9zdGFja19kZXB0aCkKKyAgICAgICAgc2VsZi5jdXJyZW50LnN0b3AoZm9yY2UpCisg
ICAgICAgIHNlbGYucHJldmlvdXMgPSBzZWxmLmN1cnJlbnQKKyAgICAgICAgc2VsZi5jdXJyZW50
ID0gTm9uZQorCisgICAgZGVmIHN0YXJ0KHNlbGYpOgorICAgICAgICAiIiJTdGFydCBhbiBpbnN0
YW5jZSBvZiBGaXJlZm94LCByZXR1cm5pbmcgYSBCcm93c2VySW5zdGFuY2UgaGFuZGxlIiIiCisg
ICAgICAgIHByb2ZpbGUgPSBzZWxmLmJhc2VfcHJvZmlsZS5jbG9uZShzZWxmLmJhc2VfcHJvZmls
ZS5wcm9maWxlKQorCisgICAgICAgIG1hcmlvbmV0dGVfcG9ydCA9IGdldF9mcmVlX3BvcnQoKQor
ICAgICAgICBwcm9maWxlLnNldF9wcmVmZXJlbmNlcyh7Im1hcmlvbmV0dGUucG9ydCI6IG1hcmlv
bmV0dGVfcG9ydH0pCiAKICAgICAgICAgZW52ID0gdGVzdF9lbnZpcm9ubWVudCh4cmVQYXRoPW9z
LnBhdGguZGlybmFtZShzZWxmLmJpbmFyeSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZGVidWdnZXI9c2VsZi5kZWJ1Z19pbmZvIGlzIG5vdCBOb25lLApAQCAtMjkyLDQwICsyNzUs
NiBAQCBjbGFzcyBGaXJlZm94QnJvd3NlcihCcm93c2VyKToKICAgICAgICAgZWxzZToKICAgICAg
ICAgICAgIGVudlsiTU9aX1dFQlJFTkRFUiJdID0gIjAiCiAKLSAgICAgICAgcHJlZmVyZW5jZXMg
PSBzZWxmLmxvYWRfcHJlZnMoKQotCi0gICAgICAgIHNlbGYucHJvZmlsZSA9IEZpcmVmb3hQcm9m
aWxlKHByZWZlcmVuY2VzPXByZWZlcmVuY2VzKQotICAgICAgICBzZWxmLnByb2ZpbGUuc2V0X3By
ZWZlcmVuY2VzKHsKLSAgICAgICAgICAgICJtYXJpb25ldHRlLnBvcnQiOiBzZWxmLm1hcmlvbmV0
dGVfcG9ydCwKLSAgICAgICAgICAgICJuZXR3b3JrLmRucy5sb2NhbERvbWFpbnMiOiAiLCIuam9p
bihzZWxmLmNvbmZpZy5kb21haW5zX3NldCksCi0gICAgICAgICAgICAiZG9tLmZpbGUuY3JlYXRl
SW5DaGlsZCI6IFRydWUsCi0gICAgICAgICAgICAjIFRPRE86IFJlbW92ZSBwcmVmZXJlbmNlcyBv
bmNlIEZpcmVmb3ggNjQgaXMgc3RhYmxlIChCdWcgOTA1NDA0KQotICAgICAgICAgICAgIm5ldHdv
cmsucHJveHkudHlwZSI6IDAsCi0gICAgICAgICAgICAicGxhY2VzLmhpc3RvcnkuZW5hYmxlZCI6
IEZhbHNlLAotICAgICAgICAgICAgIm5ldHdvcmsucHJlbG9hZCI6IFRydWUsCi0gICAgICAgIH0p
Ci0gICAgICAgIGlmIHNlbGYuZTEwczoKLSAgICAgICAgICAgIHNlbGYucHJvZmlsZS5zZXRfcHJl
ZmVyZW5jZXMoeyJicm93c2VyLnRhYnMucmVtb3RlLmF1dG9zdGFydCI6IFRydWV9KQotCi0gICAg
ICAgIGlmIHNlbGYudGVzdF90eXBlID09ICJyZWZ0ZXN0IjoKLSAgICAgICAgICAgIHNlbGYucHJv
ZmlsZS5zZXRfcHJlZmVyZW5jZXMoeyJsYXlvdXQuaW50ZXJydXB0aWJsZS1yZWZsb3cuZW5hYmxl
ZCI6IEZhbHNlfSkKLQotICAgICAgICBpZiBzZWxmLmxlYWtfY2hlY2s6Ci0gICAgICAgICAgICBz
ZWxmLmxlYWtfcmVwb3J0X2ZpbGUgPSBvcy5wYXRoLmpvaW4oc2VsZi5wcm9maWxlLnByb2ZpbGUs
ICJydW50ZXN0c19sZWFrc18lcy5sb2ciICUgb3MuZ2V0cGlkKCkpCi0gICAgICAgICAgICBpZiBv
cy5wYXRoLmV4aXN0cyhzZWxmLmxlYWtfcmVwb3J0X2ZpbGUpOgotICAgICAgICAgICAgICAgIG9z
LnJlbW92ZShzZWxmLmxlYWtfcmVwb3J0X2ZpbGUpCi0gICAgICAgICAgICBlbnZbIlhQQ09NX01F
TV9CTE9BVF9MT0ciXSA9IHNlbGYubGVha19yZXBvcnRfZmlsZQotICAgICAgICBlbHNlOgotICAg
ICAgICAgICAgc2VsZi5sZWFrX3JlcG9ydF9maWxlID0gTm9uZQotCi0gICAgICAgICMgQnVnIDEy
NjI5NTQ6IHdpbnhwICsgZTEwcywgZGlzYWJsZSBod2FjY2VsCi0gICAgICAgIGlmIChzZWxmLmUx
MHMgYW5kIHBsYXRmb3JtLnN5c3RlbSgpIGluICgiV2luZG93cyIsICJNaWNyb3NvZnQiKSBhbmQK
LSAgICAgICAgICAgICc1LjEnIGluIHBsYXRmb3JtLnZlcnNpb24oKSk6Ci0gICAgICAgICAgICBz
ZWxmLnByb2ZpbGUuc2V0X3ByZWZlcmVuY2VzKHsibGF5ZXJzLmFjY2VsZXJhdGlvbi5kaXNhYmxl
ZCI6IFRydWV9KQotCi0gICAgICAgIGlmIHNlbGYuY2FfY2VydGlmaWNhdGVfcGF0aCBpcyBub3Qg
Tm9uZToKLSAgICAgICAgICAgIHNlbGYuc2V0dXBfc3NsKCkKLQogICAgICAgICBhcmdzID0gc2Vs
Zi5iaW5hcnlfYXJnc1s6XSBpZiBzZWxmLmJpbmFyeV9hcmdzIGVsc2UgW10KICAgICAgICAgYXJn
cyArPSBbY21kX2FyZygibWFyaW9uZXR0ZSIpLCAiYWJvdXQ6YmxhbmsiXQogCkBAIC0zMzMsNjAg
KzI4MiwxMDEgQEAgY2xhc3MgRmlyZWZveEJyb3dzZXIoQnJvd3Nlcik6CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc2VsZi5kZWJ1Z19pbmZvKQogCi0gICAgICAgIHNlbGYucnVu
bmVyID0gRmlyZWZveFJ1bm5lcihwcm9maWxlPXNlbGYucHJvZmlsZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGJpbmFyeT1jbWRbMF0sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjbWRhcmdzPWNtZFsxOl0sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBlbnY9ZW52LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcHJvY2Vzc19jbGFzcz1Qcm9jZXNzSGFuZGxlciwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHByb2Nlc3NfYXJncz17InByb2Nlc3NPdXRwdXRMaW5lIjogW3NlbGYub25f
b3V0cHV0XX0pCisgICAgICAgIGlmIHNlbGYubGVha19jaGVjazoKKyAgICAgICAgICAgIGxlYWtf
cmVwb3J0X2ZpbGUgPSBvcy5wYXRoLmpvaW4ocHJvZmlsZS5wcm9maWxlLCAicnVudGVzdHNfbGVh
a3NfJXMubG9nIiAlIG9zLmdldHBpZCgpKQorICAgICAgICAgICAgaWYgb3MucGF0aC5leGlzdHMo
bGVha19yZXBvcnRfZmlsZSk6CisgICAgICAgICAgICAgICAgb3MucmVtb3ZlKGxlYWtfcmVwb3J0
X2ZpbGUpCisgICAgICAgICAgICBlbnZbIlhQQ09NX01FTV9CTE9BVF9MT0ciXSA9IGxlYWtfcmVw
b3J0X2ZpbGUKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGxlYWtfcmVwb3J0X2ZpbGUgPSBO
b25lCisKKyAgICAgICAgb3V0cHV0X2hhbmRsZXIgPSBPdXRwdXRIYW5kbGVyKHNlbGYubG9nZ2Vy
LCBzZWxmLnN0YWNrZml4X2Rpciwgc2VsZi5zeW1ib2xzX3BhdGgsIHNlbGYuYXNhbikKKyAgICAg
ICAgcnVubmVyID0gRmlyZWZveFJ1bm5lcihwcm9maWxlPXByb2ZpbGUsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgYmluYXJ5PWNtZFswXSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjbWRhcmdzPWNtZFsxOl0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZW52PWNhc3RfZW52KGVudiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2Vz
c19jbGFzcz1Qcm9jZXNzSGFuZGxlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
cm9jZXNzX2FyZ3M9eyJwcm9jZXNzT3V0cHV0TGluZSI6IFtvdXRwdXRfaGFuZGxlcl19KQorICAg
ICAgICBpbnN0YW5jZSA9IEJyb3dzZXJJbnN0YW5jZShzZWxmLmxvZ2dlciwgcnVubmVyLCBtYXJp
b25ldHRlX3BvcnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dF9o
YW5kbGVyLCBsZWFrX3JlcG9ydF9maWxlKQogCiAgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJT
dGFydGluZyBGaXJlZm94IikKLQotICAgICAgICBzZWxmLnJ1bm5lci5zdGFydChkZWJ1Z19hcmdz
PWRlYnVnX2FyZ3MsIGludGVyYWN0aXZlPXNlbGYuZGVidWdfaW5mbyBhbmQgc2VsZi5kZWJ1Z19p
bmZvLmludGVyYWN0aXZlKQorICAgICAgICBydW5uZXIuc3RhcnQoZGVidWdfYXJncz1kZWJ1Z19h
cmdzLCBpbnRlcmFjdGl2ZT1zZWxmLmRlYnVnX2luZm8gYW5kIHNlbGYuZGVidWdfaW5mby5pbnRl
cmFjdGl2ZSkKICAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoIkZpcmVmb3ggU3RhcnRlZCIpCiAK
LSAgICBkZWYgbG9hZF9wcmVmcyhzZWxmKToKLSAgICAgICAgcHJlZnMgPSBQcmVmZXJlbmNlcygp
Ci0KLSAgICAgICAgcHJlZl9wYXRocyA9IFtdCi0KLSAgICAgICAgcHJvZmlsZXMgPSBvcy5wYXRo
LmpvaW4oc2VsZi5wcmVmc19yb290LCAncHJvZmlsZXMuanNvbicpCi0gICAgICAgIGlmIG9zLnBh
dGguaXNmaWxlKHByb2ZpbGVzKToKLSAgICAgICAgICAgIHdpdGggb3Blbihwcm9maWxlcywgJ3In
KSBhcyBmaDoKLSAgICAgICAgICAgICAgICBmb3IgbmFtZSBpbiBqc29uLmxvYWQoZmgpWyd3ZWIt
cGxhdGZvcm0tdGVzdHMnXToKLSAgICAgICAgICAgICAgICAgICAgaWYgc2VsZi5icm93c2VyX2No
YW5uZWwgaW4gKE5vbmUsICduaWdodGx5Jyk6Ci0gICAgICAgICAgICAgICAgICAgICAgICBwcmVm
X3BhdGhzLmFwcGVuZChvcy5wYXRoLmpvaW4oc2VsZi5wcmVmc19yb290LCBuYW1lLCAndXNlci5q
cycpKQotICAgICAgICAgICAgICAgICAgICBlbGlmIG5hbWUgIT0gJ3VuaXR0ZXN0LWZlYXR1cmVz
JzoKLSAgICAgICAgICAgICAgICAgICAgICAgIHByZWZfcGF0aHMuYXBwZW5kKG9zLnBhdGguam9p
bihzZWxmLnByZWZzX3Jvb3QsIG5hbWUsICd1c2VyLmpzJykpCi0gICAgICAgIGVsc2U6Ci0gICAg
ICAgICAgICAjIE9sZCBwcmVmZXJlbmNlIGZpbGVzIHVzZWQgYmVmb3JlIHRoZSBjcmVhdGlvbiBv
ZiBwcm9maWxlcy5qc29uIChyZW1vdmUgd2hlbiBubyBsb25nZXIgc3VwcG9ydGVkKQotICAgICAg
ICAgICAgbGVnYWN5X3ByZWZfcGF0aHMgPSAoCi0gICAgICAgICAgICAgICAgb3MucGF0aC5qb2lu
KHNlbGYucHJlZnNfcm9vdCwgJ3ByZWZzX2dlbmVyYWwuanMnKSwgICAjIFVzZWQgaW4gRmlyZWZv
eCA2MCBhbmQgYmVsb3cKLSAgICAgICAgICAgICAgICBvcy5wYXRoLmpvaW4oc2VsZi5wcmVmc19y
b290LCAnY29tbW9uJywgJ3VzZXIuanMnKSwgICMgVXNlZCBpbiBGaXJlZm94IDYxCi0gICAgICAg
ICAgICApCi0gICAgICAgICAgICBmb3IgcGF0aCBpbiBsZWdhY3lfcHJlZl9wYXRoczoKLSAgICAg
ICAgICAgICAgICBpZiBvcy5wYXRoLmlzZmlsZShwYXRoKToKLSAgICAgICAgICAgICAgICAgICAg
cHJlZl9wYXRocy5hcHBlbmQocGF0aCkKLQotICAgICAgICBmb3IgcGF0aCBpbiBwcmVmX3BhdGhz
OgotICAgICAgICAgICAgaWYgb3MucGF0aC5leGlzdHMocGF0aCk6Ci0gICAgICAgICAgICAgICAg
cHJlZnMuYWRkKFByZWZlcmVuY2VzLnJlYWRfcHJlZnMocGF0aCkpCi0gICAgICAgICAgICBlbHNl
OgotICAgICAgICAgICAgICAgIHNlbGYubG9nZ2VyLndhcm5pbmcoIkZhaWxlZCB0byBmaW5kIGJh
c2UgcHJlZnMgZmlsZSBpbiAlcyIgJSBwYXRoKQotCi0gICAgICAgICMgQWRkIGFueSBjdXN0b20g
cHJlZmVyZW5jZXMKLSAgICAgICAgcHJlZnMuYWRkKHNlbGYuZXh0cmFfcHJlZnMsIGNhc3Q9VHJ1
ZSkKKyAgICAgICAgcmV0dXJuIGluc3RhbmNlCisKKworY2xhc3MgU2luZ2xlSW5zdGFuY2VNYW5h
Z2VyKEZpcmVmb3hJbnN0YW5jZU1hbmFnZXIpOgorICAgICIiIkZpcmVmb3hJbnN0YW5jZU1hbmFn
ZXIgdGhhdCBtYW5hZ2VzIGEgc2luZ2xlIEZpcmVmb3ggaW5zdGFuY2UiIiIKKyAgICBkZWYgZ2V0
KHNlbGYpOgorICAgICAgICBhc3NlcnQgbm90IHNlbGYuY3VycmVudCwgKCJUcmllZCB0byBjYWxs
IGdldCgpIG9uIEluc3RhbmNlTWFuYWdlciB0aGF0IGhhcyAiCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgImFuIGV4aXN0aW5nIGluc3RhbmNlIikKKyAgICAgICAgaWYgc2VsZi5w
cmV2aW91czoKKyAgICAgICAgICAgIHNlbGYucHJldmlvdXMuY2xlYW51cCgpCisgICAgICAgICAg
ICBzZWxmLnByZXZpb3VzID0gTm9uZQorICAgICAgICBzZWxmLmN1cnJlbnQgPSBzZWxmLnN0YXJ0
KCkKKyAgICAgICAgcmV0dXJuIHNlbGYuY3VycmVudAorCisgICAgZGVmIHRlYXJkb3duKHNlbGYs
IGZvcmNlPUZhbHNlKToKKyAgICAgICAgZm9yIGluc3RhbmNlIGluIFtzZWxmLnByZXZpb3VzLCBz
ZWxmLmN1cnJlbnRdOgorICAgICAgICAgICAgaWYgaW5zdGFuY2U6CisgICAgICAgICAgICAgICAg
aW5zdGFuY2Uuc3RvcChmb3JjZSkKKyAgICAgICAgICAgICAgICBpbnN0YW5jZS5jbGVhbnVwKCkK
KworCitjbGFzcyBQcmVsb2FkSW5zdGFuY2VNYW5hZ2VyKEZpcmVmb3hJbnN0YW5jZU1hbmFnZXIp
OgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICAiIiJG
aXJlZm94SW5zdGFuY2VNYW5hZ2VyIHRoYXQga2VlcHMgb25jZSBGaXJlZm94IGluc3RhbmNlIHBy
ZWxvYWRlZAorICAgICAgICB0byBhbGxvdyByYXBpZCByZXN1bXB0aW9uIGFmdGVyIGFuIGluc3Rh
bmNlIHNodXRzIGRvd24uIiIiCisgICAgICAgIHN1cGVyKFByZWxvYWRJbnN0YW5jZU1hbmFnZXIs
IHNlbGYpLl9faW5pdF9fKCphcmdzLCAqKmt3YXJncykKKyAgICAgICAgc2VsZi5wZW5kaW5nID0g
Tm9uZQorCisgICAgZGVmIGdldChzZWxmKToKKyAgICAgICAgYXNzZXJ0IG5vdCBzZWxmLmN1cnJl
bnQsICgiVHJpZWQgdG8gY2FsbCBnZXQoKSBvbiBJbnN0YW5jZU1hbmFnZXIgdGhhdCBoYXMgIgor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhbiBleGlzdGluZyBpbnN0YW5jZSIp
CisgICAgICAgIGlmIHNlbGYucHJldmlvdXM6CisgICAgICAgICAgICBzZWxmLnByZXZpb3VzLmNs
ZWFudXAoKQorICAgICAgICAgICAgc2VsZi5wcmV2aW91cyA9IE5vbmUKKyAgICAgICAgaWYgbm90
IHNlbGYucGVuZGluZzoKKyAgICAgICAgICAgIHNlbGYucGVuZGluZyA9IHNlbGYuc3RhcnQoKQor
ICAgICAgICBzZWxmLmN1cnJlbnQgPSBzZWxmLnBlbmRpbmcKKyAgICAgICAgc2VsZi5wZW5kaW5n
ID0gc2VsZi5zdGFydCgpCisgICAgICAgIHJldHVybiBzZWxmLmN1cnJlbnQKKworICAgIGRlZiB0
ZWFyZG93bihzZWxmLCBmb3JjZT1GYWxzZSk6CisgICAgICAgIGZvciBpbnN0YW5jZSwgc2tpcF9t
YXJpb25ldHRlIGluIFsoc2VsZi5wcmV2aW91cywgRmFsc2UpLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgKHNlbGYuY3VycmVudCwgRmFsc2UpLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNlbGYucGVuZGluZywgVHJ1ZSldOgor
ICAgICAgICAgICAgaWYgaW5zdGFuY2U6CisgICAgICAgICAgICAgICAgaW5zdGFuY2Uuc3RvcChm
b3JjZSwgc2tpcF9tYXJpb25ldHRlPXNraXBfbWFyaW9uZXR0ZSkKKyAgICAgICAgICAgICAgICBp
bnN0YW5jZS5jbGVhbnVwKCkKKworCitjbGFzcyBCcm93c2VySW5zdGFuY2Uob2JqZWN0KToKKyAg
ICBzaHV0ZG93bl90aW1lb3V0ID0gNzAKIAotICAgICAgICByZXR1cm4gcHJlZnMoKQorICAgIGRl
ZiBfX2luaXRfXyhzZWxmLCBsb2dnZXIsIHJ1bm5lciwgbWFyaW9uZXR0ZV9wb3J0LCBvdXRwdXRf
aGFuZGxlciwgbGVha19yZXBvcnRfZmlsZSk6CisgICAgICAgICIiIkhhbmRsZSB0byBhIHJ1bm5p
bmcgRmlyZWZveCBpbnN0YW5jZSIiIgorICAgICAgICBzZWxmLmxvZ2dlciA9IGxvZ2dlcgorICAg
ICAgICBzZWxmLnJ1bm5lciA9IHJ1bm5lcgorICAgICAgICBzZWxmLm1hcmlvbmV0dGVfcG9ydCA9
IG1hcmlvbmV0dGVfcG9ydAorICAgICAgICBzZWxmLm91dHB1dF9oYW5kbGVyID0gb3V0cHV0X2hh
bmRsZXIKKyAgICAgICAgc2VsZi5sZWFrX3JlcG9ydF9maWxlID0gbGVha19yZXBvcnRfZmlsZQog
Ci0gICAgZGVmIHN0b3Aoc2VsZiwgZm9yY2U9RmFsc2UpOgorICAgIGRlZiBzdG9wKHNlbGYsIGZv
cmNlPUZhbHNlLCBza2lwX21hcmlvbmV0dGU9RmFsc2UpOgorICAgICAgICAiIiJTdG9wIEZpcmVm
b3giIiIKICAgICAgICAgaWYgc2VsZi5ydW5uZXIgaXMgbm90IE5vbmUgYW5kIHNlbGYucnVubmVy
LmlzX3J1bm5pbmcoKToKKyAgICAgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJTdG9wcGluZyBG
aXJlZm94ICVzIiAlIHNlbGYucGlkKCkpCisgICAgICAgICAgICBzaHV0ZG93bl9tZXRob2RzID0g
WyhUcnVlLCBsYW1iZGE6IHNlbGYucnVubmVyLndhaXQoc2VsZi5zaHV0ZG93bl90aW1lb3V0KSks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChGYWxzZSwgbGFtYmRhOiBzZWxmLnJ1
bm5lci5zdG9wKHNpZ25hbC5TSUdURVJNKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIChGYWxzZSwgbGFtYmRhOiBzZWxmLnJ1bm5lci5zdG9wKHNpZ25hbC5TSUdLSUxMKSldCisg
ICAgICAgICAgICBpZiBza2lwX21hcmlvbmV0dGU6CisgICAgICAgICAgICAgICAgc2h1dGRvd25f
bWV0aG9kcyA9IHNodXRkb3duX21ldGhvZHNbMTpdCiAgICAgICAgICAgICB0cnk6CiAgICAgICAg
ICAgICAgICAgIyBGb3IgRmlyZWZveCB3ZSBhc3N1bWUgdGhhdCBzdG9wcGluZyB0aGUgcnVubmVy
IHByb21wdHMgdGhlCiAgICAgICAgICAgICAgICAgIyBicm93c2VyIHRvIHNodXQgZG93bi4gVGhp
cyBhbGxvd3MgdGhlIGxlYWsgbG9nIHRvIGJlIHdyaXR0ZW4KLSAgICAgICAgICAgICAgICBmb3Ig
Y2xlYW4sIHN0b3BfZiBpbiBbKFRydWUsIGxhbWJkYTogc2VsZi5ydW5uZXIud2FpdChzZWxmLnNo
dXRkb3duX3RpbWVvdXQpKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
KEZhbHNlLCBsYW1iZGE6IHNlbGYucnVubmVyLnN0b3Aoc2lnbmFsLlNJR1RFUk0pKSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEZhbHNlLCBsYW1iZGE6IHNlbGYucnVu
bmVyLnN0b3Aoc2lnbmFsLlNJR0tJTEwpKV06CisgICAgICAgICAgICAgICAgZm9yIGNsZWFuLCBz
dG9wX2YgaW4gc2h1dGRvd25fbWV0aG9kczoKICAgICAgICAgICAgICAgICAgICAgaWYgbm90IGZv
cmNlIG9yIG5vdCBjbGVhbjoKICAgICAgICAgICAgICAgICAgICAgICAgIHJldGNvZGUgPSBzdG9w
X2YoKQogICAgICAgICAgICAgICAgICAgICAgICAgaWYgcmV0Y29kZSBpcyBub3QgTm9uZToKQEAg
LTM5NSwyMyArMzg1LDggQEAgY2xhc3MgRmlyZWZveEJyb3dzZXIoQnJvd3Nlcik6CiAgICAgICAg
ICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgICAgICAjIFRoaXMgY2FuIGhhcHBlbiBv
biBXaW5kb3dzIGlmIHRoZSBwcm9jZXNzIGlzIGFscmVhZHkgZGVhZAogICAgICAgICAgICAgICAg
IHBhc3MKLSAgICAgICAgc2VsZi5wcm9jZXNzX2xlYWtzKCkKLSAgICAgICAgc2VsZi5sb2dnZXIu
ZGVidWcoInN0b3BwZWQiKQotCi0gICAgZGVmIHByb2Nlc3NfbGVha3Moc2VsZik6Ci0gICAgICAg
IHNlbGYubG9nZ2VyLmluZm8oIlBST0NFU1MgTEVBS1MgJXMiICUgc2VsZi5sZWFrX3JlcG9ydF9m
aWxlKQotICAgICAgICBpZiBzZWxmLmxzYW5faGFuZGxlcjoKLSAgICAgICAgICAgIHNlbGYubHNh
bl9oYW5kbGVyLnByb2Nlc3MoKQotICAgICAgICBpZiBzZWxmLmxlYWtfcmVwb3J0X2ZpbGUgaXMg
bm90IE5vbmU6Ci0gICAgICAgICAgICBtb3psZWFrLnByb2Nlc3NfbGVha19sb2coCi0gICAgICAg
ICAgICAgICAgc2VsZi5sZWFrX3JlcG9ydF9maWxlLAotICAgICAgICAgICAgICAgIGxlYWtfdGhy
ZXNob2xkcz1zZWxmLm1vemxlYWtfdGhyZXNob2xkcywKLSAgICAgICAgICAgICAgICBpZ25vcmVf
bWlzc2luZ19sZWFrcz1bImdtcGx1Z2luIl0sCi0gICAgICAgICAgICAgICAgbG9nPXNlbGYubG9n
Z2VyLAotICAgICAgICAgICAgICAgIHN0YWNrX2ZpeGVyPXNlbGYuc3RhY2tfZml4ZXIsCi0gICAg
ICAgICAgICAgICAgc2NvcGU9c2VsZi5ncm91cF9tZXRhZGF0YS5nZXQoInNjb3BlIiksCi0gICAg
ICAgICAgICAgICAgYWxsb3dlZD1zZWxmLm1vemxlYWtfYWxsb3dlZAotICAgICAgICAgICAgKQor
ICAgICAgICBpZiBub3Qgc2tpcF9tYXJpb25ldHRlOgorICAgICAgICAgICAgc2VsZi5vdXRwdXRf
aGFuZGxlci5hZnRlcl9zdG9wKCkKIAogICAgIGRlZiBwaWQoc2VsZik6CiAgICAgICAgIGlmIHNl
bGYucnVubmVyLnByb2Nlc3NfaGFuZGxlciBpcyBOb25lOgpAQCAtNDIyLDQ0ICszOTcsMjA4IEBA
IGNsYXNzIEZpcmVmb3hCcm93c2VyKEJyb3dzZXIpOgogICAgICAgICBleGNlcHQgQXR0cmlidXRl
RXJyb3I6CiAgICAgICAgICAgICByZXR1cm4gTm9uZQogCi0gICAgZGVmIG9uX291dHB1dChzZWxm
LCBsaW5lKToKKyAgICBkZWYgaXNfYWxpdmUoc2VsZik6CisgICAgICAgIGlmIHNlbGYucnVubmVy
OgorICAgICAgICAgICAgcmV0dXJuIHNlbGYucnVubmVyLmlzX3J1bm5pbmcoKQorICAgICAgICBy
ZXR1cm4gRmFsc2UKKworICAgIGRlZiBjbGVhbnVwKHNlbGYpOgorICAgICAgICAjIG1venByb2Zp
bGUgaGFuZGxlcyBkZWxldGluZyB0aGUgcHJvZmlsZSB3aGVuIHRoZSByZWZjb3VudCByZWFjaGVz
IDAKKyAgICAgICAgc2VsZi5ydW5uZXIgPSBOb25lCisKKworY2xhc3MgT3V0cHV0SGFuZGxlcihv
YmplY3QpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBsb2dnZXIsIHN0YWNrZml4X2Rpciwgc3lt
Ym9sc19wYXRoLCBhc2FuKToKKyAgICAgICAgIiIiRmlsdGVyIGZvciBoYW5kbGluZyBGaXJlZm94
IHByb2Nlc3Mgb3V0cHV0LgorCisgICAgICAgIFRoaXMgcmVjZWl2ZXMgRmlyZWZveCBwcm9jZXNz
IG91dHB1dCBpbiB0aGUgX19jYWxsX18gZnVuY3Rpb24sIGRvZXMKKyAgICAgICAgYW55IGFkZGl0
aW9uYWwgcHJvY2Vzc2luZyB0aGF0J3MgcmVxdWlyZWQsIGFuZCBkZWNpZGVzIHdoZXRoZXIgdG8g
bG9nCisgICAgICAgIHRoZSBvdXRwdXQuIEJlY2F1c2UgdGhlIEZpcmVmb3ggcHJvY2VzcyBjYW4g
YmUgc3RhcnRlZCBiZWZvcmUgd2Uga25vdworICAgICAgICB3aGljaCBmaWx0ZXJzIGFyZSBnb2lu
ZyB0byBiZSByZXF1aXJlZCwgd2UgYnVmZmVyIGFsbCBvdXRwdXQgdW50aWwKKyAgICAgICAgc2V0
dXAoKSBpcyBjYWxsZWQuIFRoaXMgaXMgcmVzcG9uc2libGUgZm9yIGRvaW5nIHRoZSBmaW5hbCBj
b25maWd1cmF0aW9uCisgICAgICAgIG9mIHRoZSBvdXRwdXQgaGFuZGxlcnMuCisgICAgICAgICIi
IgorCisgICAgICAgIHNlbGYubG9nZ2VyID0gbG9nZ2VyCisgICAgICAgICMgVGhlc2UgYXJlIGZp
bGxlZCBpbiBhZnRlciBzZXR1cCgpIGlzIGNhbGxlZAorICAgICAgICBzZWxmLmluc3RhbmNlID0g
Tm9uZQorCisgICAgICAgIHNlbGYuc3ltYm9sc19wYXRoID0gc3ltYm9sc19wYXRoCisgICAgICAg
IGlmIHN0YWNrZml4X2RpcjoKKyAgICAgICAgICAgICMgV2UgaGlkZSBlcnJvcnMgYmVjYXVzZSB0
aGV5IGNhdXNlIGRpc2NvbmNlcnRpbmcgYENSSVRJQ0FMYAorICAgICAgICAgICAgIyB3YXJuaW5n
cyBpbiB3ZWIgcGxhdGZvcm0gdGVzdCBvdXRwdXQuCisgICAgICAgICAgICBzZWxmLnN0YWNrX2Zp
eGVyID0gZ2V0X3N0YWNrX2ZpeGVyX2Z1bmN0aW9uKHN0YWNrZml4X2RpciwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zeW1ib2xz
X3BhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGhpZGVFcnJvcnM9VHJ1ZSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYu
c3RhY2tfZml4ZXIgPSBOb25lCisgICAgICAgIHNlbGYuYXNhbiA9IGFzYW4KKworICAgICAgICBz
ZWxmLmxzYW5faGFuZGxlciA9IE5vbmUKKyAgICAgICAgc2VsZi5tb3psZWFrX2FsbG93ZWQgPSBO
b25lCisgICAgICAgIHNlbGYubW96bGVha190aHJlc2hvbGRzID0gTm9uZQorICAgICAgICBzZWxm
Lmdyb3VwX21ldGFkYXRhID0ge30KKworICAgICAgICBzZWxmLmxpbmVfYnVmZmVyID0gW10KKyAg
ICAgICAgc2VsZi5zZXR1cF9yYW4gPSBGYWxzZQorCisgICAgZGVmIHNldHVwKHNlbGYsIGluc3Rh
bmNlPU5vbmUsIGdyb3VwX21ldGFkYXRhPU5vbmUsIGxzYW5fZGlzYWJsZWQ9RmFsc2UsCisgICAg
ICAgICAgICAgIGxzYW5fYWxsb3dlZD1Ob25lLCBsc2FuX21heF9zdGFja19kZXB0aD1Ob25lLCBt
b3psZWFrX2FsbG93ZWQ9Tm9uZSwKKyAgICAgICAgICAgICAgbW96bGVha190aHJlc2hvbGRzPU5v
bmUsICoqa3dhcmdzKToKKyAgICAgICAgIiIiQ29uZmlndXJlIHRoZSBvdXRwdXQgaGFuZGxlciIi
IgorICAgICAgICBzZWxmLmluc3RhbmNlID0gaW5zdGFuY2UKKworICAgICAgICBpZiBncm91cF9t
ZXRhZGF0YSBpcyBOb25lOgorICAgICAgICAgICAgZ3JvdXBfbWV0YWRhdGEgPSB7fQorICAgICAg
ICBzZWxmLmdyb3VwX21ldGFkYXRhID0gZ3JvdXBfbWV0YWRhdGEKKworICAgICAgICBzZWxmLm1v
emxlYWtfYWxsb3dlZCA9IG1vemxlYWtfYWxsb3dlZAorICAgICAgICBzZWxmLm1vemxlYWtfdGhy
ZXNob2xkcyA9IG1vemxlYWtfdGhyZXNob2xkcworCisgICAgICAgIGlmIHNlbGYuYXNhbjoKKyAg
ICAgICAgICAgIHNlbGYubHNhbl9oYW5kbGVyID0gbW96bGVhay5MU0FOTGVha3Moc2VsZi5sb2dn
ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNj
b3BlPWdyb3VwX21ldGFkYXRhLmdldCgic2NvcGUiLCAiLyIpLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGxvd2VkPWxzYW5fYWxsb3dlZCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4TnVtUmVj
b3JkZWRGcmFtZXM9bHNhbl9tYXhfc3RhY2tfZGVwdGgsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsbG93QWxsPWxzYW5fZGlzYWJsZWQpCisgICAg
ICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLmxzYW5faGFuZGxlciA9IE5vbmUKKworICAgICAg
ICBzZWxmLnNldHVwX3JhbiA9IFRydWUKKworICAgICAgICBmb3IgbGluZSBpbiBzZWxmLmxpbmVf
YnVmZmVyOgorICAgICAgICAgICAgc2VsZi5fX2NhbGxfXyhsaW5lKQorICAgICAgICBzZWxmLmxp
bmVfYnVmZmVyID0gW10KKworICAgIGRlZiBhZnRlcl9zdG9wKHNlbGYpOgorICAgICAgICBzZWxm
LmxvZ2dlci5pbmZvKCJQUk9DRVNTIExFQUtTICVzIiAlIHNlbGYuaW5zdGFuY2UubGVha19yZXBv
cnRfZmlsZSkKKyAgICAgICAgaWYgc2VsZi5sc2FuX2hhbmRsZXI6CisgICAgICAgICAgICBzZWxm
LmxzYW5faGFuZGxlci5wcm9jZXNzKCkKKyAgICAgICAgaWYgc2VsZi5pbnN0YW5jZS5sZWFrX3Jl
cG9ydF9maWxlIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgIyBXZSBoYXZlIHRvIGlnbm9yZSBt
aXNzaW5nIGxlYWtzIGluIHRoZSB0YWIgYmVjYXVzZSBpdCBjYW4gaGFwcGVuIHRoYXQgdGhlCisg
ICAgICAgICAgICAjIGNvbnRlbnQgcHJvY2VzcyBjcmFzaGVkIGFuZCBpbiB0aGF0IGNhc2Ugd2Ug
ZG9uJ3Qgd2FudCB0aGUgdGVzdCB0byBmYWlsLgorICAgICAgICAgICAgIyBJZGVhbGx5IHdlIHdv
dWxkIHJlY29yZCB3aGljaCBjb250ZW50IHByb2Nlc3MgY3Jhc2hlZCBhbmQganVzdCBza2lwIHRo
b3NlLgorICAgICAgICAgICAgbW96bGVhay5wcm9jZXNzX2xlYWtfbG9nKAorICAgICAgICAgICAg
ICAgIHNlbGYuaW5zdGFuY2UubGVha19yZXBvcnRfZmlsZSwKKyAgICAgICAgICAgICAgICBsZWFr
X3RocmVzaG9sZHM9c2VsZi5tb3psZWFrX3RocmVzaG9sZHMsCisgICAgICAgICAgICAgICAgaWdu
b3JlX21pc3NpbmdfbGVha3M9WyJ0YWIiLCAiZ21wbHVnaW4iXSwKKyAgICAgICAgICAgICAgICBs
b2c9c2VsZi5sb2dnZXIsCisgICAgICAgICAgICAgICAgc3RhY2tfZml4ZXI9c2VsZi5zdGFja19m
aXhlciwKKyAgICAgICAgICAgICAgICBzY29wZT1zZWxmLmdyb3VwX21ldGFkYXRhLmdldCgic2Nv
cGUiKSwKKyAgICAgICAgICAgICAgICBhbGxvd2VkPXNlbGYubW96bGVha19hbGxvd2VkKQorCisg
ICAgZGVmIF9fY2FsbF9fKHNlbGYsIGxpbmUpOgogICAgICAgICAiIiJXcml0ZSBhIGxpbmUgb2Yg
b3V0cHV0IGZyb20gdGhlIGZpcmVmb3ggcHJvY2VzcyB0byB0aGUgbG9nIiIiCi0gICAgICAgIGlm
ICJHTGliLUdPYmplY3QtQ1JJVElDQUwiIGluIGxpbmU6CisgICAgICAgIGlmIGIiR0xpYi1HT2Jq
ZWN0LUNSSVRJQ0FMIiBpbiBsaW5lOgogICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgIGlmIGxp
bmU6CisgICAgICAgICAgICBpZiBub3Qgc2VsZi5zZXR1cF9yYW46CisgICAgICAgICAgICAgICAg
c2VsZi5saW5lX2J1ZmZlci5hcHBlbmQobGluZSkKKyAgICAgICAgICAgICAgICByZXR1cm4KICAg
ICAgICAgICAgIGRhdGEgPSBsaW5lLmRlY29kZSgidXRmOCIsICJyZXBsYWNlIikKICAgICAgICAg
ICAgIGlmIHNlbGYuc3RhY2tfZml4ZXI6CiAgICAgICAgICAgICAgICAgZGF0YSA9IHNlbGYuc3Rh
Y2tfZml4ZXIoZGF0YSkKICAgICAgICAgICAgIGlmIHNlbGYubHNhbl9oYW5kbGVyOgogICAgICAg
ICAgICAgICAgIGRhdGEgPSBzZWxmLmxzYW5faGFuZGxlci5sb2coZGF0YSkKICAgICAgICAgICAg
IGlmIGRhdGEgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgc2VsZi5sb2dnZXIucHJvY2Vz
c19vdXRwdXQoc2VsZi5waWQoKSwKKyAgICAgICAgICAgICAgICBzZWxmLmxvZ2dlci5wcm9jZXNz
X291dHB1dChzZWxmLmluc3RhbmNlIGFuZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHNlbGYuaW5zdGFuY2UucnVubmVyLnByb2Nlc3NfaGFuZGxlciBhbmQKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmluc3RhbmNlLnJ1
bm5lci5wcm9jZXNzX2hhbmRsZXIucGlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGRhdGEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29tbWFuZD0iICIuam9pbihzZWxmLnJ1bm5lci5jb21tYW5kKSkKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21tYW5kPSIgIi5qb2luKHNlbGYuaW5z
dGFuY2UucnVubmVyLmNvbW1hbmQpKQogCi0gICAgZGVmIGlzX2FsaXZlKHNlbGYpOgotICAgICAg
ICBpZiBzZWxmLnJ1bm5lcjoKLSAgICAgICAgICAgIHJldHVybiBzZWxmLnJ1bm5lci5pc19ydW5u
aW5nKCkKLSAgICAgICAgcmV0dXJuIEZhbHNlCiAKLSAgICBkZWYgY2xlYW51cChzZWxmLCBmb3Jj
ZT1GYWxzZSk6Ci0gICAgICAgIHNlbGYuc3RvcChmb3JjZSkKK2NsYXNzIFByb2ZpbGVDcmVhdG9y
KG9iamVjdCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGxvZ2dlciwgcHJlZnNfcm9vdCwgY29u
ZmlnLCB0ZXN0X3R5cGUsIGV4dHJhX3ByZWZzLCBlMTBzLAorICAgICAgICAgICAgICAgICBlbmFi
bGVfZmlzc2lvbiwgYnJvd3Nlcl9jaGFubmVsLCBiaW5hcnksIGNlcnR1dGlsX2JpbmFyeSwgY2Ff
Y2VydGlmaWNhdGVfcGF0aCk6CisgICAgICAgIHNlbGYubG9nZ2VyID0gbG9nZ2VyCisgICAgICAg
IHNlbGYucHJlZnNfcm9vdCA9IHByZWZzX3Jvb3QKKyAgICAgICAgc2VsZi5jb25maWcgPSBjb25m
aWcKKyAgICAgICAgc2VsZi50ZXN0X3R5cGUgPSB0ZXN0X3R5cGUKKyAgICAgICAgc2VsZi5leHRy
YV9wcmVmcyA9IGV4dHJhX3ByZWZzCisgICAgICAgIHNlbGYuZTEwcyA9IGUxMHMKKyAgICAgICAg
c2VsZi5lbmFibGVfZmlzc2lvbiA9IGVuYWJsZV9maXNzaW9uCisgICAgICAgIHNlbGYuYnJvd3Nl
cl9jaGFubmVsID0gYnJvd3Nlcl9jaGFubmVsCisgICAgICAgIHNlbGYuY2FfY2VydGlmaWNhdGVf
cGF0aCA9IGNhX2NlcnRpZmljYXRlX3BhdGgKKyAgICAgICAgc2VsZi5iaW5hcnkgPSBiaW5hcnkK
KyAgICAgICAgc2VsZi5jZXJ0dXRpbF9iaW5hcnkgPSBjZXJ0dXRpbF9iaW5hcnkKKyAgICAgICAg
c2VsZi5jYV9jZXJ0aWZpY2F0ZV9wYXRoID0gY2FfY2VydGlmaWNhdGVfcGF0aAogCi0gICAgZGVm
IGV4ZWN1dG9yX2Jyb3dzZXIoc2VsZik6Ci0gICAgICAgIGFzc2VydCBzZWxmLm1hcmlvbmV0dGVf
cG9ydCBpcyBub3QgTm9uZQotICAgICAgICByZXR1cm4gRXhlY3V0b3JCcm93c2VyLCB7Im1hcmlv
bmV0dGVfcG9ydCI6IHNlbGYubWFyaW9uZXR0ZV9wb3J0fQorICAgIGRlZiBjcmVhdGUoc2VsZik6
CisgICAgICAgICIiIkNyZWF0ZSBhIEZpcmVmb3ggcHJvZmlsZSBhbmQgcmV0dXJuIHRoZSBtb3pw
cm9maWxlIFByb2ZpbGUgb2JqZWN0IHBvaW50aW5nIGF0IHRoYXQKKyAgICAgICAgcHJvZmlsZSIi
IgorICAgICAgICBwcmVmZXJlbmNlcyA9IHNlbGYuX2xvYWRfcHJlZnMoKQogCi0gICAgZGVmIGNo
ZWNrX2NyYXNoKHNlbGYsIHByb2Nlc3MsIHRlc3QpOgotICAgICAgICBkdW1wX2RpciA9IG9zLnBh
dGguam9pbihzZWxmLnByb2ZpbGUucHJvZmlsZSwgIm1pbmlkdW1wcyIpCisgICAgICAgIHByb2Zp
bGUgPSBGaXJlZm94UHJvZmlsZShwcmVmZXJlbmNlcz1wcmVmZXJlbmNlcykKKyAgICAgICAgc2Vs
Zi5fc2V0X3JlcXVpcmVkX3ByZWZzKHByb2ZpbGUpCisgICAgICAgIGlmIHNlbGYuY2FfY2VydGlm
aWNhdGVfcGF0aCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHNlbGYuX3NldHVwX3NzbChwcm9m
aWxlKQorCisgICAgICAgIHJldHVybiBwcm9maWxlCisKKyAgICBkZWYgX2xvYWRfcHJlZnMoc2Vs
Zik6CisgICAgICAgIHByZWZzID0gUHJlZmVyZW5jZXMoKQorCisgICAgICAgIHByZWZfcGF0aHMg
PSBbXQogCi0gICAgICAgIHJldHVybiBib29sKG1vemNyYXNoLmxvZ19jcmFzaGVzKHNlbGYubG9n
Z2VyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkdW1wX2RpciwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ltYm9sc19wYXRoPXNl
bGYuc3ltYm9sc19wYXRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzdGFja3dhbGtfYmluYXJ5PXNlbGYuc3RhY2t3YWxrX2JpbmFyeSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2Vzcz1wcm9jZXNzLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0PXRlc3QpKQorICAgICAgICBwcm9maWxl
cyA9IG9zLnBhdGguam9pbihzZWxmLnByZWZzX3Jvb3QsICdwcm9maWxlcy5qc29uJykKKyAgICAg
ICAgaWYgb3MucGF0aC5pc2ZpbGUocHJvZmlsZXMpOgorICAgICAgICAgICAgd2l0aCBvcGVuKHBy
b2ZpbGVzLCAncicpIGFzIGZoOgorICAgICAgICAgICAgICAgIGZvciBuYW1lIGluIGpzb24ubG9h
ZChmaClbJ3dlYi1wbGF0Zm9ybS10ZXN0cyddOgorICAgICAgICAgICAgICAgICAgICBpZiBzZWxm
LmJyb3dzZXJfY2hhbm5lbCBpbiAoTm9uZSwgJ25pZ2h0bHknKToKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHByZWZfcGF0aHMuYXBwZW5kKG9zLnBhdGguam9pbihzZWxmLnByZWZzX3Jvb3QsIG5h
bWUsICd1c2VyLmpzJykpCisgICAgICAgICAgICAgICAgICAgIGVsaWYgbmFtZSAhPSAndW5pdHRl
c3QtZmVhdHVyZXMnOgorICAgICAgICAgICAgICAgICAgICAgICAgcHJlZl9wYXRocy5hcHBlbmQo
b3MucGF0aC5qb2luKHNlbGYucHJlZnNfcm9vdCwgbmFtZSwgJ3VzZXIuanMnKSkKKyAgICAgICAg
ZWxzZToKKyAgICAgICAgICAgICMgT2xkIHByZWZlcmVuY2UgZmlsZXMgdXNlZCBiZWZvcmUgdGhl
IGNyZWF0aW9uIG9mIHByb2ZpbGVzLmpzb24gKHJlbW92ZSB3aGVuIG5vIGxvbmdlciBzdXBwb3J0
ZWQpCisgICAgICAgICAgICBsZWdhY3lfcHJlZl9wYXRocyA9ICgKKyAgICAgICAgICAgICAgICBv
cy5wYXRoLmpvaW4oc2VsZi5wcmVmc19yb290LCAncHJlZnNfZ2VuZXJhbC5qcycpLCAgICMgVXNl
ZCBpbiBGaXJlZm94IDYwIGFuZCBiZWxvdworICAgICAgICAgICAgICAgIG9zLnBhdGguam9pbihz
ZWxmLnByZWZzX3Jvb3QsICdjb21tb24nLCAndXNlci5qcycpLCAgIyBVc2VkIGluIEZpcmVmb3gg
NjEKKyAgICAgICAgICAgICkKKyAgICAgICAgICAgIGZvciBwYXRoIGluIGxlZ2FjeV9wcmVmX3Bh
dGhzOgorICAgICAgICAgICAgICAgIGlmIG9zLnBhdGguaXNmaWxlKHBhdGgpOgorICAgICAgICAg
ICAgICAgICAgICBwcmVmX3BhdGhzLmFwcGVuZChwYXRoKQorCisgICAgICAgIGZvciBwYXRoIGlu
IHByZWZfcGF0aHM6CisgICAgICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhwYXRoKToKKyAgICAg
ICAgICAgICAgICBwcmVmcy5hZGQoUHJlZmVyZW5jZXMucmVhZF9wcmVmcyhwYXRoKSkKKyAgICAg
ICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgc2VsZi5sb2dnZXIud2FybmluZygiRmFpbGVk
IHRvIGZpbmQgYmFzZSBwcmVmcyBmaWxlIGluICVzIiAlIHBhdGgpCiAKLSAgICBkZWYgc2V0dXBf
c3NsKHNlbGYpOgorICAgICAgICAjIEFkZCBhbnkgY3VzdG9tIHByZWZlcmVuY2VzCisgICAgICAg
IHByZWZzLmFkZChzZWxmLmV4dHJhX3ByZWZzLCBjYXN0PVRydWUpCisKKyAgICAgICAgcmV0dXJu
IHByZWZzKCkKKworICAgIGRlZiBfc2V0X3JlcXVpcmVkX3ByZWZzKHNlbGYsIHByb2ZpbGUpOgor
ICAgICAgICAiIiJTZXQgcHJlZmVyZW5jZXMgcmVxdWlyZWQgZm9yIHdwdHJ1bm5lciB0byBmdW5j
dGlvbi4KKworICAgICAgICBOb3RlIHRoYXQgdGhpcyBkb2Vzbid0IHNldCB0aGUgbWFyaW9uZXR0
ZSBwb3J0LCBzaW5jZSB3ZSBkb24ndCBhbHdheXMKKyAgICAgICAga25vdyB0aGF0IGF0IHByb2Zp
bGUgY3JlYXRpb24gdGltZS4gU28gdGhlIGNhbGxlciBpcyByZXNwb25pc2JsZSBmb3IKKyAgICAg
ICAgc2V0dGluZyB0aGF0IG9uY2UgaXQncyBhdmFpbGFibGUuIiIiCisgICAgICAgIHByb2ZpbGUu
c2V0X3ByZWZlcmVuY2VzKHsKKyAgICAgICAgICAgICJuZXR3b3JrLmRucy5sb2NhbERvbWFpbnMi
OiAiLCIuam9pbihzZWxmLmNvbmZpZy5kb21haW5zX3NldCksCisgICAgICAgICAgICAiZG9tLmZp
bGUuY3JlYXRlSW5DaGlsZCI6IFRydWUsCisgICAgICAgICAgICAjIFRPRE86IFJlbW92ZSBwcmVm
ZXJlbmNlcyBvbmNlIEZpcmVmb3ggNjQgaXMgc3RhYmxlIChCdWcgOTA1NDA0KQorICAgICAgICAg
ICAgIm5ldHdvcmsucHJveHkudHlwZSI6IDAsCisgICAgICAgICAgICAicGxhY2VzLmhpc3Rvcnku
ZW5hYmxlZCI6IEZhbHNlLAorICAgICAgICAgICAgIm5ldHdvcmsucHJlbG9hZCI6IFRydWUsCisg
ICAgICAgIH0pCisgICAgICAgIGlmIHNlbGYuZTEwczoKKyAgICAgICAgICAgIHByb2ZpbGUuc2V0
X3ByZWZlcmVuY2VzKHsiYnJvd3Nlci50YWJzLnJlbW90ZS5hdXRvc3RhcnQiOiBUcnVlfSkKKwor
ICAgICAgICBpZiBzZWxmLmVuYWJsZV9maXNzaW9uOgorICAgICAgICAgICAgcHJvZmlsZS5zZXRf
cHJlZmVyZW5jZXMoeyJmaXNzaW9uLmF1dG9zdGFydCI6IFRydWV9KQorCisgICAgICAgIGlmIHNl
bGYudGVzdF90eXBlID09ICJyZWZ0ZXN0IjoKKyAgICAgICAgICAgIHByb2ZpbGUuc2V0X3ByZWZl
cmVuY2VzKHsibGF5b3V0LmludGVycnVwdGlibGUtcmVmbG93LmVuYWJsZWQiOiBGYWxzZX0pCisK
KyAgICAgICAgIyBCdWcgMTI2Mjk1NDogd2lueHAgKyBlMTBzLCBkaXNhYmxlIGh3YWNjZWwKKyAg
ICAgICAgaWYgKHNlbGYuZTEwcyBhbmQgcGxhdGZvcm0uc3lzdGVtKCkgaW4gKCJXaW5kb3dzIiwg
Ik1pY3Jvc29mdCIpIGFuZAorICAgICAgICAgICAgIjUuMSIgaW4gcGxhdGZvcm0udmVyc2lvbigp
KToKKyAgICAgICAgICAgIHNlbGYucHJvZmlsZS5zZXRfcHJlZmVyZW5jZXMoeyJsYXllcnMuYWNj
ZWxlcmF0aW9uLmRpc2FibGVkIjogVHJ1ZX0pCisKKyAgICBkZWYgX3NldHVwX3NzbChzZWxmLCBw
cm9maWxlKToKICAgICAgICAgIiIiQ3JlYXRlIGEgY2VydGlmaWNhdGUgZGF0YWJhc2UgdG8gdXNl
IGluIHRoZSB0ZXN0IHByb2ZpbGUuIFRoaXMgaXMgY29uZmlndXJlZAogICAgICAgICB0byB0cnVz
dCB0aGUgQ0EgQ2VydGlmaWNhdGUgdGhhdCBoYXMgc2lnbmVkIHRoZSB3ZWItcGxhdGZvcm0udGVz
dCBzZXJ2ZXIKICAgICAgICAgY2VydGlmaWNhdGUuIiIiCkBAIC00OTAsMTYgKzYyOSwxNiBAQCBj
bGFzcyBGaXJlZm94QnJvd3NlcihCcm93c2VyKToKICAgICAgICAgICAgIGNtZCA9IFtzZWxmLmNl
cnR1dGlsX2JpbmFyeV0gKyBsaXN0KGFyZ3MpCiAgICAgICAgICAgICBzZWxmLmxvZ2dlci5wcm9j
ZXNzX291dHB1dCgiY2VydHV0aWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoY21kLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52PWVudiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGVudj1jYXN0X2VudihlbnYpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RkZXJyPXN1YnByb2Nlc3MuU1RET1VUKSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgIi5qb2luKGNtZCkpCiAKLSAg
ICAgICAgcHdfcGF0aCA9IG9zLnBhdGguam9pbihzZWxmLnByb2ZpbGUucHJvZmlsZSwgIi5jcnRk
YnB3IikKKyAgICAgICAgcHdfcGF0aCA9IG9zLnBhdGguam9pbihwcm9maWxlLnByb2ZpbGUsICIu
Y3J0ZGJwdyIpCiAgICAgICAgIHdpdGggb3Blbihwd19wYXRoLCAidyIpIGFzIGY6CiAgICAgICAg
ICAgICAjIFVzZSBlbXB0eSBwYXNzd29yZCBmb3IgY2VydGlmaWNhdGUgZGIKICAgICAgICAgICAg
IGYud3JpdGUoIlxuIikKIAotICAgICAgICBjZXJ0X2RiX3BhdGggPSBzZWxmLnByb2ZpbGUucHJv
ZmlsZQorICAgICAgICBjZXJ0X2RiX3BhdGggPSBwcm9maWxlLnByb2ZpbGUKIAogICAgICAgICAj
IENyZWF0ZSBhIG5ldyBjZXJ0aWZpY2F0ZSBkYgogICAgICAgICBjZXJ0dXRpbCgiLU4iLCAiLWQi
LCBjZXJ0X2RiX3BhdGgsICItZiIsIHB3X3BhdGgpCkBAIC01MTAsMyArNjQ5LDEwNiBAQCBjbGFz
cyBGaXJlZm94QnJvd3NlcihCcm93c2VyKToKIAogICAgICAgICAjIExpc3QgYWxsIGNlcnRzIGlu
IHRoZSBkYXRhYmFzZQogICAgICAgICBjZXJ0dXRpbCgiLUwiLCAiLWQiLCBjZXJ0X2RiX3BhdGgp
CisKKworCitjbGFzcyBGaXJlZm94QnJvd3NlcihCcm93c2VyKToKKyAgICBpbml0X3RpbWVvdXQg
PSA3MAorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGxvZ2dlciwgYmluYXJ5LCBwcmVmc19yb290
LCB0ZXN0X3R5cGUsIGV4dHJhX3ByZWZzPU5vbmUsIGRlYnVnX2luZm89Tm9uZSwKKyAgICAgICAg
ICAgICAgICAgc3ltYm9sc19wYXRoPU5vbmUsIHN0YWNrd2Fsa19iaW5hcnk9Tm9uZSwgY2VydHV0
aWxfYmluYXJ5PU5vbmUsCisgICAgICAgICAgICAgICAgIGNhX2NlcnRpZmljYXRlX3BhdGg9Tm9u
ZSwgZTEwcz1GYWxzZSwgZW5hYmxlX3dlYnJlbmRlcj1GYWxzZSwgZW5hYmxlX2Zpc3Npb249RmFs
c2UsCisgICAgICAgICAgICAgICAgIHN0YWNrZml4X2Rpcj1Ob25lLCBiaW5hcnlfYXJncz1Ob25l
LCB0aW1lb3V0X211bHRpcGxpZXI9Tm9uZSwgbGVha19jaGVjaz1GYWxzZSwKKyAgICAgICAgICAg
ICAgICAgYXNhbj1GYWxzZSwgc3R5bG9fdGhyZWFkcz0xLCBjaGFvc19tb2RlX2ZsYWdzPU5vbmUs
IGNvbmZpZz1Ob25lLAorICAgICAgICAgICAgICAgICBicm93c2VyX2NoYW5uZWw9Im5pZ2h0bHki
LCBoZWFkbGVzcz1Ob25lLCBwcmVsb2FkX2Jyb3dzZXI9RmFsc2UsICoqa3dhcmdzKToKKyAgICAg
ICAgQnJvd3Nlci5fX2luaXRfXyhzZWxmLCBsb2dnZXIpCisKKyAgICAgICAgc2VsZi5sb2dnZXIg
PSBsb2dnZXIKKworICAgICAgICBpZiB0aW1lb3V0X211bHRpcGxpZXI6CisgICAgICAgICAgICBz
ZWxmLmluaXRfdGltZW91dCA9IHNlbGYuaW5pdF90aW1lb3V0ICogdGltZW91dF9tdWx0aXBsaWVy
CisKKyAgICAgICAgc2VsZi5pbnN0YW5jZSA9IE5vbmUKKworICAgICAgICBzZWxmLnN0YWNrZml4
X2RpciA9IHN0YWNrZml4X2RpcgorICAgICAgICBzZWxmLnN5bWJvbHNfcGF0aCA9IHN5bWJvbHNf
cGF0aAorICAgICAgICBzZWxmLnN0YWNrd2Fsa19iaW5hcnkgPSBzdGFja3dhbGtfYmluYXJ5CisK
KyAgICAgICAgc2VsZi5hc2FuID0gYXNhbgorICAgICAgICBzZWxmLmxlYWtfY2hlY2sgPSBsZWFr
X2NoZWNrCisKKyAgICAgICAgcHJvZmlsZV9jcmVhdG9yID0gUHJvZmlsZUNyZWF0b3IobG9nZ2Vy
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVmc19yb290LAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWcsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfdHlwZSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0cmFfcHJlZnMsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUxMHMsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGVuYWJsZV9maXNzaW9uLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBicm93c2VyX2NoYW5uZWwsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGJpbmFyeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY2VydHV0aWxfYmluYXJ5LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjYV9jZXJ0aWZpY2F0ZV9wYXRoKQorCisgICAgICAgIGlmIHByZWxv
YWRfYnJvd3NlcjoKKyAgICAgICAgICAgIGluc3RhbmNlX21hbmFnZXJfY2xzID0gUHJlbG9hZElu
c3RhbmNlTWFuYWdlcgorICAgICAgICBlbHNlOgorICAgICAgICAgICAgaW5zdGFuY2VfbWFuYWdl
cl9jbHMgPSBTaW5nbGVJbnN0YW5jZU1hbmFnZXIKKyAgICAgICAgc2VsZi5pbnN0YW5jZV9tYW5h
Z2VyID0gaW5zdGFuY2VfbWFuYWdlcl9jbHMobG9nZ2VyLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiaW5hcnksCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpbmFyeV9hcmdzLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9maWxlX2Ny
ZWF0b3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGRlYnVnX2luZm8sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNoYW9zX21vZGVfZmxhZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRsZXNzLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmFibGVfd2VicmVuZGVyLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsb190
aHJlYWRzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBsZWFrX2NoZWNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdGFja2ZpeF9kaXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHN5bWJvbHNfcGF0aCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXNhbikKKworCisgICAgZGVmIHNl
dHRpbmdzKHNlbGYsIHRlc3QpOgorICAgICAgICByZXR1cm4geyJjaGVja19sZWFrcyI6IHNlbGYu
bGVha19jaGVjayBhbmQgbm90IHRlc3QubGVha3MsCisgICAgICAgICAgICAgICAgImxzYW5fZGlz
YWJsZWQiOiB0ZXN0LmxzYW5fZGlzYWJsZWQsCisgICAgICAgICAgICAgICAgImxzYW5fYWxsb3dl
ZCI6IHRlc3QubHNhbl9hbGxvd2VkLAorICAgICAgICAgICAgICAgICJsc2FuX21heF9zdGFja19k
ZXB0aCI6IHRlc3QubHNhbl9tYXhfc3RhY2tfZGVwdGgsCisgICAgICAgICAgICAgICAgIm1vemxl
YWtfYWxsb3dlZCI6IHNlbGYubGVha19jaGVjayBhbmQgdGVzdC5tb3psZWFrX2FsbG93ZWQsCisg
ICAgICAgICAgICAgICAgIm1vemxlYWtfdGhyZXNob2xkcyI6IHNlbGYubGVha19jaGVjayBhbmQg
dGVzdC5tb3psZWFrX3RocmVzaG9sZH0KKworICAgIGRlZiBzdGFydChzZWxmLCBncm91cF9tZXRh
ZGF0YT1Ob25lLCAqKmt3YXJncyk6CisgICAgICAgIHNlbGYuaW5zdGFuY2UgPSBzZWxmLmluc3Rh
bmNlX21hbmFnZXIuZ2V0KCkKKyAgICAgICAgc2VsZi5pbnN0YW5jZS5vdXRwdXRfaGFuZGxlci5z
ZXR1cChzZWxmLmluc3RhbmNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGdyb3VwX21ldGFkYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICoqa3dhcmdzKQorCisgICAgZGVmIHN0b3Aoc2VsZiwgZm9yY2U9RmFsc2UpOgor
ICAgICAgICBzZWxmLmluc3RhbmNlX21hbmFnZXIuc3RvcF9jdXJyZW50KGZvcmNlKQorICAgICAg
ICBzZWxmLmxvZ2dlci5kZWJ1Zygic3RvcHBlZCIpCisKKyAgICBkZWYgcGlkKHNlbGYpOgorICAg
ICAgICByZXR1cm4gc2VsZi5pbnN0YW5jZS5waWQoKQorCisgICAgZGVmIGlzX2FsaXZlKHNlbGYp
OgorICAgICAgICByZXR1cm4gc2VsZi5pbnN0YW5jZSBhbmQgc2VsZi5pbnN0YW5jZS5pc19hbGl2
ZSgpCisKKyAgICBkZWYgY2xlYW51cChzZWxmLCBmb3JjZT1GYWxzZSk6CisgICAgICAgIHNlbGYu
aW5zdGFuY2VfbWFuYWdlci50ZWFyZG93bihmb3JjZSkKKworICAgIGRlZiBleGVjdXRvcl9icm93
c2VyKHNlbGYpOgorICAgICAgICBhc3NlcnQgc2VsZi5pbnN0YW5jZSBpcyBub3QgTm9uZQorICAg
ICAgICByZXR1cm4gRXhlY3V0b3JCcm93c2VyLCB7Im1hcmlvbmV0dGVfcG9ydCI6IHNlbGYuaW5z
dGFuY2UubWFyaW9uZXR0ZV9wb3J0fQorCisgICAgZGVmIGNoZWNrX2NyYXNoKHNlbGYsIHByb2Nl
c3MsIHRlc3QpOgorICAgICAgICBkdW1wX2RpciA9IG9zLnBhdGguam9pbihzZWxmLmluc3RhbmNl
LnJ1bm5lci5wcm9maWxlLnByb2ZpbGUsICJtaW5pZHVtcHMiKQorCisgICAgICAgIHRyeToKKyAg
ICAgICAgICAgIHJldHVybiBib29sKG1vemNyYXNoLmxvZ19jcmFzaGVzKHNlbGYubG9nZ2VyLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHVtcF9kaXIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeW1ib2xzX3BhdGg9
c2VsZi5zeW1ib2xzX3BhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzdGFja3dhbGtfYmluYXJ5PXNlbGYuc3RhY2t3YWxrX2JpbmFyeSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3M9cHJvY2VzcywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3Q9dGVzdCkpCisg
ICAgICAgIGV4Y2VwdCBJT0Vycm9yOgorICAgICAgICAgICAgc2VsZi5sb2dnZXIud2FybmluZygi
TG9va2luZyBmb3IgY3Jhc2ggZHVtcCBmaWxlcyBmYWlsZWQiKQorICAgICAgICAgICAgcmV0dXJu
IEZhbHNlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvZmlyZWZveF9hbmRyb2lk
LnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL2ZpcmVmb3hfYW5kcm9pZC5weQppbmRleCAzM2I1
ZDUxZTU0ZTgyYWRiNmNkYmU0NjEyMjYzYmMzMDg4M2RkMTA4Li5hNmNiOGYwZGQzZTBmNjY5ZDQ3
YjRhOWE0YTcyOGQ5OWZjNjQ4OTg4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMv
ZmlyZWZveF9hbmRyb2lkLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9maXJlZm94X2Fu
ZHJvaWQucHkKQEAgLTEsMjYgKzEsMzAgQEAKIGltcG9ydCBvcwogCiBpbXBvcnQgbW96bmV0d29y
awotZnJvbSBtb3pwcm9maWxlIGltcG9ydCBGaXJlZm94UHJvZmlsZQogZnJvbSBtb3pydW5uZXIg
aW1wb3J0IEZlbm5lY0VtdWxhdG9yUnVubmVyCiAKIGZyb20gLmJhc2UgaW1wb3J0IChnZXRfZnJl
ZV9wb3J0LAogICAgICAgICAgICAgICAgICAgIGNtZF9hcmcsCiAgICAgICAgICAgICAgICAgICAg
YnJvd3Nlcl9jb21tYW5kKQogZnJvbSAuLmV4ZWN1dG9ycy5leGVjdXRvcm1hcmlvbmV0dGUgaW1w
b3J0IChNYXJpb25ldHRlVGVzdGhhcm5lc3NFeGVjdXRvciwgICMgbm9xYTogRjQwMQotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXJpb25ldHRlUmVmVGVzdEV4
ZWN1dG9yKSAgIyBub3FhOiBGNDAxCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIE1hcmlvbmV0dGVSZWZUZXN0RXhlY3V0b3IsICAjIG5vcWE6IEY0MDEKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFyaW9uZXR0ZUNyYXNodGVz
dEV4ZWN1dG9yKSAgIyBub3FhOiBGNDAxCitmcm9tIC4ucHJvY2VzcyBpbXBvcnQgY2FzdF9lbnYK
K2Zyb20gLmJhc2UgaW1wb3J0IChCcm93c2VyLAorICAgICAgICAgICAgICAgICAgIEV4ZWN1dG9y
QnJvd3NlcikKIGZyb20gLmZpcmVmb3ggaW1wb3J0IChnZXRfdGltZW91dF9tdWx0aXBsaWVyLCAg
IyBub3FhOiBGNDAxCiAgICAgICAgICAgICAgICAgICAgICAgcnVuX2luZm9fZXh0cmFzIGFzIGZ4
X3J1bl9pbmZvX2V4dHJhcywKICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVfcHJvcGVydGll
cywgICMgbm9xYTogRjQwMQogICAgICAgICAgICAgICAgICAgICAgIGV4ZWN1dG9yX2t3YXJncywg
ICMgbm9xYTogRjQwMQotICAgICAgICAgICAgICAgICAgICAgIEZpcmVmb3hCcm93c2VyKSAgIyBu
b3FhOiBGNDAxCisgICAgICAgICAgICAgICAgICAgICAgUHJvZmlsZUNyZWF0b3IgYXMgRmlyZWZv
eFByb2ZpbGVDcmVhdG9yKQogCiAKIF9fd3B0cnVubmVyX18gPSB7InByb2R1Y3QiOiAiZmlyZWZv
eF9hbmRyb2lkIiwKICAgICAgICAgICAgICAgICAgImNoZWNrX2FyZ3MiOiAiY2hlY2tfYXJncyIs
CiAgICAgICAgICAgICAgICAgICJicm93c2VyIjogIkZpcmVmb3hBbmRyb2lkQnJvd3NlciIsCiAg
ICAgICAgICAgICAgICAgICJleGVjdXRvciI6IHsidGVzdGhhcm5lc3MiOiAiTWFyaW9uZXR0ZVRl
c3RoYXJuZXNzRXhlY3V0b3IiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlZnRl
c3QiOiAiTWFyaW9uZXR0ZVJlZlRlc3RFeGVjdXRvciJ9LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgInJlZnRlc3QiOiAiTWFyaW9uZXR0ZVJlZlRlc3RFeGVjdXRvciIsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiY3Jhc2h0ZXN0IjogIk1hcmlvbmV0dGVDcmFzaHRlc3RF
eGVjdXRvciJ9LAogICAgICAgICAgICAgICAgICAiYnJvd3Nlcl9rd2FyZ3MiOiAiYnJvd3Nlcl9r
d2FyZ3MiLAogICAgICAgICAgICAgICAgICAiZXhlY3V0b3Jfa3dhcmdzIjogImV4ZWN1dG9yX2t3
YXJncyIsCiAgICAgICAgICAgICAgICAgICJlbnZfZXh0cmFzIjogImVudl9leHRyYXMiLApAQCAt
NTEsNiArNTUsNyBAQCBkZWYgYnJvd3Nlcl9rd2FyZ3ModGVzdF90eXBlLCBydW5faW5mb19kYXRh
LCBjb25maWcsICoqa3dhcmdzKToKICAgICAgICAgICAgICJ0aW1lb3V0X211bHRpcGxpZXIiOiBn
ZXRfdGltZW91dF9tdWx0aXBsaWVyKHRlc3RfdHlwZSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bl9pbmZvX2RhdGEsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqKmt3YXJn
cyksCisgICAgICAgICAgICAiZTEwcyI6IHJ1bl9pbmZvX2RhdGFbImUxMHMiXSwKICAgICAgICAg
ICAgICMgZGVza3RvcCBvbmx5CiAgICAgICAgICAgICAibGVha19jaGVjayI6IEZhbHNlLAogICAg
ICAgICAgICAgInN0eWxvX3RocmVhZHMiOiBrd2FyZ3NbInN0eWxvX3RocmVhZHMiXSwKQEAgLTgw
LDQwICs4NSwxNSBAQCBkZWYgZW52X29wdGlvbnMoKToKICAgICAgICAgICAgICJzdXBwb3J0c19k
ZWJ1Z2dlciI6IFRydWV9CiAKIAotY2xhc3MgRmlyZWZveEFuZHJvaWRCcm93c2VyKEZpcmVmb3hC
cm93c2VyKToKLSAgICBpbml0X3RpbWVvdXQgPSAzMDAKLSAgICBzaHV0ZG93bl90aW1lb3V0ID0g
NjAKLQotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBsb2dnZXIsIHByZWZzX3Jvb3QsIHRlc3RfdHlw
ZSwgcGFja2FnZV9uYW1lPSJvcmcubW96aWxsYS5nZWNrb3ZpZXcudGVzdCIsCi0gICAgICAgICAg
ICAgICAgIGRldmljZV9zZXJpYWw9ImVtdWxhdG9yLTU0NDQiLCAqKmt3YXJncyk6Ci0gICAgICAg
IEZpcmVmb3hCcm93c2VyLl9faW5pdF9fKHNlbGYsIGxvZ2dlciwgTm9uZSwgcHJlZnNfcm9vdCwg
dGVzdF90eXBlLCAqKmt3YXJncykKLSAgICAgICAgc2VsZi5wYWNrYWdlX25hbWUgPSBwYWNrYWdl
X25hbWUKLSAgICAgICAgc2VsZi5kZXZpY2Vfc2VyaWFsID0gZGV2aWNlX3NlcmlhbAotICAgICAg
ICBzZWxmLnRlc3RzX3Jvb3QgPSBrd2FyZ3NbInRlc3RzX3Jvb3QiXQotICAgICAgICBzZWxmLmlu
c3RhbGxfZm9udHMgPSBrd2FyZ3NbImluc3RhbGxfZm9udHMiXQotICAgICAgICBzZWxmLnN0YWNr
d2Fsa19iaW5hcnkgPSBrd2FyZ3NbInN0YWNrd2Fsa19iaW5hcnkiXQotCi0gICAgZGVmIHN0YXJ0
KHNlbGYsICoqa3dhcmdzKToKLSAgICAgICAgaWYgc2VsZi5tYXJpb25ldHRlX3BvcnQgaXMgTm9u
ZToKLSAgICAgICAgICAgIHNlbGYubWFyaW9uZXR0ZV9wb3J0ID0gZ2V0X2ZyZWVfcG9ydCgpCi0K
LSAgICAgICAgZW52ID0ge30KLSAgICAgICAgZW52WyJNT1pfQ1JBU0hSRVBPUlRFUiJdID0gIjEi
Ci0gICAgICAgIGVudlsiTU9aX0NSQVNIUkVQT1JURVJfU0hVVERPV04iXSA9ICIxIgotICAgICAg
ICBlbnZbIk1PWl9ESVNBQkxFX05PTkxPQ0FMX0NPTk5FQ1RJT05TIl0gPSAiMSIKLSAgICAgICAg
ZW52WyJTVFlMT19USFJFQURTIl0gPSBzdHIoc2VsZi5zdHlsb190aHJlYWRzKQotICAgICAgICBp
ZiBzZWxmLmNoYW9zX21vZGVfZmxhZ3MgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICBlbnZbIk1P
Wl9DSEFPU01PREUiXSA9IHN0cihzZWxmLmNoYW9zX21vZGVfZmxhZ3MpCi0gICAgICAgIGlmIHNl
bGYuZW5hYmxlX3dlYnJlbmRlcjoKLSAgICAgICAgICAgIGVudlsiTU9aX1dFQlJFTkRFUiJdID0g
IjEiCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBlbnZbIk1PWl9XRUJSRU5ERVIiXSA9ICIw
IgotCi0gICAgICAgIHByZWZlcmVuY2VzID0gc2VsZi5sb2FkX3ByZWZzKCkKK2NsYXNzIFByb2Zp
bGVDcmVhdG9yKEZpcmVmb3hQcm9maWxlQ3JlYXRvcik6CisgICAgZGVmIF9faW5pdF9fKHNlbGYs
IGxvZ2dlciwgcHJlZnNfcm9vdCwgY29uZmlnLCB0ZXN0X3R5cGUsIGV4dHJhX3ByZWZzLCBlMTBz
LAorICAgICAgICAgICAgICAgICBlbmFibGVfZmlzc2lvbiwgYnJvd3Nlcl9jaGFubmVsLCBjZXJ0
dXRpbF9iaW5hcnksIGNhX2NlcnRpZmljYXRlX3BhdGgpOgorICAgICAgICBzdXBlcihQcm9maWxl
Q3JlYXRvciwgc2VsZikuX19pbml0X18obG9nZ2VyLCBwcmVmc19yb290LCBjb25maWcsIHRlc3Rf
dHlwZSwgZXh0cmFfcHJlZnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBlMTBzLCBlbmFibGVfZmlzc2lvbiwgYnJvd3Nlcl9jaGFubmVsLCBOb25lLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VydHV0aWxfYmluYXJ5
LCBjYV9jZXJ0aWZpY2F0ZV9wYXRoKQogCi0gICAgICAgIHNlbGYucHJvZmlsZSA9IEZpcmVmb3hQ
cm9maWxlKHByZWZlcmVuY2VzPXByZWZlcmVuY2VzKQotICAgICAgICBzZWxmLnByb2ZpbGUuc2V0
X3ByZWZlcmVuY2VzKHsKLSAgICAgICAgICAgICJtYXJpb25ldHRlLnBvcnQiOiBzZWxmLm1hcmlv
bmV0dGVfcG9ydCwKKyAgICBkZWYgX3NldF9yZXF1aXJlZF9wcmVmcyhzZWxmLCBwcm9maWxlKToK
KyAgICAgICAgcHJvZmlsZS5zZXRfcHJlZmVyZW5jZXMoewogICAgICAgICAgICAgIm5ldHdvcmsu
ZG5zLmxvY2FsRG9tYWlucyI6ICIsIi5qb2luKHNlbGYuY29uZmlnLmRvbWFpbnNfc2V0KSwKICAg
ICAgICAgICAgICJkb20uZGlzYWJsZV9vcGVuX2R1cmluZ19sb2FkIjogRmFsc2UsCiAgICAgICAg
ICAgICAicGxhY2VzLmhpc3RvcnkuZW5hYmxlZCI6IEZhbHNlLApAQCAtMTIxLDkgKzEwMSwxMiBA
QCBjbGFzcyBGaXJlZm94QW5kcm9pZEJyb3dzZXIoRmlyZWZveEJyb3dzZXIpOgogICAgICAgICAg
ICAgIm5ldHdvcmsucHJlbG9hZCI6IFRydWUsCiAgICAgICAgIH0pCiAKKyAgICAgICAgaWYgc2Vs
Zi5lMTBzOgorICAgICAgICAgICAgcHJvZmlsZS5zZXRfcHJlZmVyZW5jZXMoeyJicm93c2VyLnRh
YnMucmVtb3RlLmF1dG9zdGFydCI6IFRydWV9KQorCiAgICAgICAgIGlmIHNlbGYudGVzdF90eXBl
ID09ICJyZWZ0ZXN0IjoKICAgICAgICAgICAgIHNlbGYubG9nZ2VyLmluZm8oIlNldHRpbmcgYW5k
cm9pZCByZWZ0ZXN0IHByZWZlcmVuY2VzIikKLSAgICAgICAgICAgIHNlbGYucHJvZmlsZS5zZXRf
cHJlZmVyZW5jZXMoeworICAgICAgICAgICAgcHJvZmlsZS5zZXRfcHJlZmVyZW5jZXMoewogICAg
ICAgICAgICAgICAgICJicm93c2VyLnZpZXdwb3J0LmRlc2t0b3BXaWR0aCI6IDgwMCwKICAgICAg
ICAgICAgICAgICAjIERpc2FibGUgaGlnaCBEUEkKICAgICAgICAgICAgICAgICAibGF5b3V0LmNz
cy5kZXZQaXhlbHNQZXJQeCI6ICIxLjAiLApAQCAtMTM1LDYgKzExOCw3MyBAQCBjbGFzcyBGaXJl
Zm94QW5kcm9pZEJyb3dzZXIoRmlyZWZveEJyb3dzZXIpOgogICAgICAgICAgICAgICAgICJsYXlv
dXQudGVzdGluZy5vdmVybGF5LXNjcm9sbGJhcnMuYWx3YXlzLXZpc2libGUiOiBUcnVlLAogICAg
ICAgICAgICAgfSkKIAorCisKK2NsYXNzIEZpcmVmb3hBbmRyb2lkQnJvd3NlcihCcm93c2VyKToK
KyAgICBpbml0X3RpbWVvdXQgPSAzMDAKKyAgICBzaHV0ZG93bl90aW1lb3V0ID0gNjAKKworICAg
IGRlZiBfX2luaXRfXyhzZWxmLCBsb2dnZXIsIHByZWZzX3Jvb3QsIHRlc3RfdHlwZSwgcGFja2Fn
ZV9uYW1lPSJvcmcubW96aWxsYS5nZWNrb3ZpZXcudGVzdCIsCisgICAgICAgICAgICAgICAgIGRl
dmljZV9zZXJpYWw9ImVtdWxhdG9yLTU0NDQiLCBleHRyYV9wcmVmcz1Ob25lLCBkZWJ1Z19pbmZv
PU5vbmUsCisgICAgICAgICAgICAgICAgIHN5bWJvbHNfcGF0aD1Ob25lLCBzdGFja3dhbGtfYmlu
YXJ5PU5vbmUsIGNlcnR1dGlsX2JpbmFyeT1Ob25lLAorICAgICAgICAgICAgICAgICBjYV9jZXJ0
aWZpY2F0ZV9wYXRoPU5vbmUsIGUxMHM9RmFsc2UsIGVuYWJsZV93ZWJyZW5kZXI9RmFsc2UsIHN0
YWNrZml4X2Rpcj1Ob25lLAorICAgICAgICAgICAgICAgICBiaW5hcnlfYXJncz1Ob25lLCB0aW1l
b3V0X211bHRpcGxpZXI9Tm9uZSwgbGVha19jaGVjaz1GYWxzZSwgYXNhbj1GYWxzZSwKKyAgICAg
ICAgICAgICAgICAgc3R5bG9fdGhyZWFkcz0xLCBjaGFvc19tb2RlX2ZsYWdzPU5vbmUsIGNvbmZp
Zz1Ob25lLCBicm93c2VyX2NoYW5uZWw9Im5pZ2h0bHkiLAorICAgICAgICAgICAgICAgICBpbnN0
YWxsX2ZvbnRzPUZhbHNlLCB0ZXN0c19yb290PU5vbmUsICoqa3dhcmdzKToKKworICAgICAgICBz
dXBlcihGaXJlZm94QW5kcm9pZEJyb3dzZXIsIHNlbGYpLl9faW5pdF9fKGxvZ2dlcikKKyAgICAg
ICAgc2VsZi5wcmVmc19yb290ID0gcHJlZnNfcm9vdAorICAgICAgICBzZWxmLnRlc3RfdHlwZSA9
IHRlc3RfdHlwZQorICAgICAgICBzZWxmLnBhY2thZ2VfbmFtZSA9IHBhY2thZ2VfbmFtZQorICAg
ICAgICBzZWxmLmRldmljZV9zZXJpYWwgPSBkZXZpY2Vfc2VyaWFsCisgICAgICAgIHNlbGYuZGVi
dWdfaW5mbyA9IGRlYnVnX2luZm8KKyAgICAgICAgc2VsZi5zeW1ib2xzX3BhdGggPSBzeW1ib2xz
X3BhdGgKKyAgICAgICAgc2VsZi5zdGFja3dhbGtfYmluYXJ5ID0gc3RhY2t3YWxrX2JpbmFyeQor
ICAgICAgICBzZWxmLmNlcnR1dGlsX2JpbmFyeSA9IGNlcnR1dGlsX2JpbmFyeQorICAgICAgICBz
ZWxmLmNhX2NlcnRpZmljYXRlX3BhdGggPSBjYV9jZXJ0aWZpY2F0ZV9wYXRoCisgICAgICAgIHNl
bGYuZTEwcyA9IGUxMHMKKyAgICAgICAgc2VsZi5lbmFibGVfd2VicmVuZGVyID0gZW5hYmxlX3dl
YnJlbmRlcgorICAgICAgICBzZWxmLnN0YWNrZml4X2RpciA9IHN0YWNrZml4X2RpcgorICAgICAg
ICBzZWxmLmJpbmFyeV9hcmdzID0gYmluYXJ5X2FyZ3MKKyAgICAgICAgc2VsZi50aW1lb3V0X211
bHRpcGxpZXIgPSB0aW1lb3V0X211bHRpcGxpZXIKKyAgICAgICAgc2VsZi5sZWFrX2NoZWNrID0g
bGVha19jaGVjaworICAgICAgICBzZWxmLmFzYW4gPSBhc2FuCisgICAgICAgIHNlbGYuc3R5bG9f
dGhyZWFkcyA9IHN0eWxvX3RocmVhZHMKKyAgICAgICAgc2VsZi5jaGFvc19tb2RlX2ZsYWdzID0g
Y2hhb3NfbW9kZV9mbGFncworICAgICAgICBzZWxmLmNvbmZpZyA9IGNvbmZpZworICAgICAgICBz
ZWxmLmJyb3dzZXJfY2hhbm5lbCA9IGJyb3dzZXJfY2hhbm5lbAorICAgICAgICBzZWxmLmluc3Rh
bGxfZm9udHMgPSBpbnN0YWxsX2ZvbnRzCisgICAgICAgIHNlbGYudGVzdHNfcm9vdCA9IHRlc3Rz
X3Jvb3QKKworICAgICAgICBzZWxmLnByb2ZpbGVfY3JlYXRvciA9IFByb2ZpbGVDcmVhdG9yKGxv
Z2dlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVm
c19yb290LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bmZpZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0
X3R5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0
cmFfcHJlZnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZTEwcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGYWxz
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicm93c2Vy
X2NoYW5uZWwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y2VydHV0aWxfYmluYXJ5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNhX2NlcnRpZmljYXRlX3BhdGgpCisKKyAgICAgICAgc2VsZi5tYXJpb25ldHRlX3Bv
cnQgPSBOb25lCisgICAgICAgIHNlbGYucHJvZmlsZSA9IE5vbmUKKyAgICAgICAgc2VsZi5ydW5u
ZXIgPSBOb25lCisKKyAgICBkZWYgc2V0dGluZ3Moc2VsZiwgdGVzdCk6CisgICAgICAgIHJldHVy
biB7ImNoZWNrX2xlYWtzIjogc2VsZi5sZWFrX2NoZWNrIGFuZCBub3QgdGVzdC5sZWFrcywKKyAg
ICAgICAgICAgICAgICAibHNhbl9hbGxvd2VkIjogdGVzdC5sc2FuX2FsbG93ZWQsCisgICAgICAg
ICAgICAgICAgImxzYW5fbWF4X3N0YWNrX2RlcHRoIjogdGVzdC5sc2FuX21heF9zdGFja19kZXB0
aCwKKyAgICAgICAgICAgICAgICAibW96bGVha19hbGxvd2VkIjogc2VsZi5sZWFrX2NoZWNrIGFu
ZCB0ZXN0Lm1vemxlYWtfYWxsb3dlZCwKKyAgICAgICAgICAgICAgICAibW96bGVha190aHJlc2hv
bGRzIjogc2VsZi5sZWFrX2NoZWNrIGFuZCB0ZXN0Lm1vemxlYWtfdGhyZXNob2xkfQorCisgICAg
ZGVmIHN0YXJ0KHNlbGYsICoqa3dhcmdzKToKKyAgICAgICAgaWYgc2VsZi5tYXJpb25ldHRlX3Bv
cnQgaXMgTm9uZToKKyAgICAgICAgICAgIHNlbGYubWFyaW9uZXR0ZV9wb3J0ID0gZ2V0X2ZyZWVf
cG9ydCgpCisKKyAgICAgICAgc2VsZi5wcm9maWxlID0gc2VsZi5wcm9maWxlX2NyZWF0b3IuY3Jl
YXRlKCkKKyAgICAgICAgc2VsZi5wcm9maWxlLnNldF9wcmVmZXJlbmNlcyh7Im1hcmlvbmV0dGUu
cG9ydCI6IHNlbGYubWFyaW9uZXR0ZV9wb3J0fSkKKwogICAgICAgICBpZiBzZWxmLmluc3RhbGxf
Zm9udHM6CiAgICAgICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygiQ29weWluZyBBaGVtIGZvbnQg
dG8gcHJvZmlsZSIpCiAgICAgICAgICAgICBmb250X2RpciA9IG9zLnBhdGguam9pbihzZWxmLnBy
b2ZpbGUucHJvZmlsZSwgImZvbnRzIikKQEAgLTE0NiwxOCArMTk2LDI3IEBAIGNsYXNzIEZpcmVm
b3hBbmRyb2lkQnJvd3NlcihGaXJlZm94QnJvd3Nlcik6CiAKICAgICAgICAgc2VsZi5sZWFrX3Jl
cG9ydF9maWxlID0gTm9uZQogCi0gICAgICAgIGlmIHNlbGYuY2FfY2VydGlmaWNhdGVfcGF0aCBp
cyBub3QgTm9uZToKLSAgICAgICAgICAgIHNlbGYuc2V0dXBfc3NsKCkKLQogICAgICAgICBkZWJ1
Z19hcmdzLCBjbWQgPSBicm93c2VyX2NvbW1hbmQoc2VsZi5wYWNrYWdlX25hbWUsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmJpbmFyeV9hcmdzIGlmIHNl
bGYuYmluYXJ5X2FyZ3MgZWxzZSBbXSArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBbY21kX2FyZygibWFyaW9uZXR0ZSIpLCAiYWJvdXQ6YmxhbmsiXSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZGVidWdfaW5mbykKIAor
ICAgICAgICBlbnYgPSB7fQorICAgICAgICBlbnZbIk1PWl9DUkFTSFJFUE9SVEVSIl0gPSAiMSIK
KyAgICAgICAgZW52WyJNT1pfQ1JBU0hSRVBPUlRFUl9TSFVURE9XTiJdID0gIjEiCisgICAgICAg
IGVudlsiTU9aX0RJU0FCTEVfTk9OTE9DQUxfQ09OTkVDVElPTlMiXSA9ICIxIgorICAgICAgICBl
bnZbIlNUWUxPX1RIUkVBRFMiXSA9IHN0cihzZWxmLnN0eWxvX3RocmVhZHMpCisgICAgICAgIGlm
IHNlbGYuY2hhb3NfbW9kZV9mbGFncyBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGVudlsiTU9a
X0NIQU9TTU9ERSJdID0gc3RyKHNlbGYuY2hhb3NfbW9kZV9mbGFncykKKyAgICAgICAgaWYgc2Vs
Zi5lbmFibGVfd2VicmVuZGVyOgorICAgICAgICAgICAgZW52WyJNT1pfV0VCUkVOREVSIl0gPSAi
MSIKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGVudlsiTU9aX1dFQlJFTkRFUiJdID0gIjAi
CisKICAgICAgICAgc2VsZi5ydW5uZXIgPSBGZW5uZWNFbXVsYXRvclJ1bm5lcihhcHA9c2VsZi5w
YWNrYWdlX25hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cHJvZmlsZT1zZWxmLnByb2ZpbGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY21kYXJncz1jbWRbMTpdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGVudj1lbnYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZW52PWNhc3RfZW52KGVudiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc3ltYm9sc19wYXRoPXNlbGYuc3ltYm9sc19wYXRoLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcmlhbD1zZWxmLmRldmljZV9zZXJp
YWwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBUT0RPIC0g
Y2hvb3NlIGFwcHJvcHJpYXRlIGxvZyBkaXIKQEAgLTE5Niw2ICsyNTUsMjYgQEAgY2xhc3MgRmly
ZWZveEFuZHJvaWRCcm93c2VyKEZpcmVmb3hCcm93c2VyKToKICAgICAgICAgICAgIHNlbGYucnVu
bmVyLnN0b3AoKQogICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1Zygic3RvcHBlZCIpCiAKKyAgICBk
ZWYgcGlkKHNlbGYpOgorICAgICAgICBpZiBzZWxmLnJ1bm5lci5wcm9jZXNzX2hhbmRsZXIgaXMg
Tm9uZToKKyAgICAgICAgICAgIHJldHVybiBOb25lCisKKyAgICAgICAgdHJ5OgorICAgICAgICAg
ICAgcmV0dXJuIHNlbGYucnVubmVyLnByb2Nlc3NfaGFuZGxlci5waWQKKyAgICAgICAgZXhjZXB0
IEF0dHJpYnV0ZUVycm9yOgorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKworICAgIGRlZiBpc19h
bGl2ZShzZWxmKToKKyAgICAgICAgaWYgc2VsZi5ydW5uZXI6CisgICAgICAgICAgICByZXR1cm4g
c2VsZi5ydW5uZXIuaXNfcnVubmluZygpCisgICAgICAgIHJldHVybiBGYWxzZQorCisgICAgZGVm
IGNsZWFudXAoc2VsZiwgZm9yY2U9RmFsc2UpOgorICAgICAgICBzZWxmLnN0b3AoZm9yY2UpCisK
KyAgICBkZWYgZXhlY3V0b3JfYnJvd3NlcihzZWxmKToKKyAgICAgICAgcmV0dXJuIEV4ZWN1dG9y
QnJvd3NlciwgeyJtYXJpb25ldHRlX3BvcnQiOiBzZWxmLm1hcmlvbmV0dGVfcG9ydH0KKwogICAg
IGRlZiBjaGVja19jcmFzaChzZWxmLCBwcm9jZXNzLCB0ZXN0KToKICAgICAgICAgaWYgbm90IG9z
LmVudmlyb24uZ2V0KCJNSU5JRFVNUF9TVEFDS1dBTEsiLCAiIikgYW5kIHNlbGYuc3RhY2t3YWxr
X2JpbmFyeToKICAgICAgICAgICAgIG9zLmVudmlyb25bIk1JTklEVU1QX1NUQUNLV0FMSyJdID0g
c2VsZi5zdGFja3dhbGtfYmluYXJ5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMv
aWUucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvaWUucHkKaW5kZXggNjM1ZTgyN2MyOTViNWIx
MTkyODIyZjUxZDkzYTRiMDllMzc2NDE5Mi4uNzhjMjJiOTA5YWNmNDEwMDM4ZmYwNjc2OTM2NjY2
MmFiMGM1ODlhMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL2llLnB5CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL3dwdHJ1bm5lci9icm93c2Vycy9pZS5weQpAQCAtNjQsNyArNjQsNyBAQCBjbGFzcyBJbnRl
cm5ldEV4cGxvcmVyQnJvd3NlcihCcm93c2VyKToKICAgICAgICAgIyBUT0RPKGF0byk6IFRoaXMg
b25seSBpbmRpY2F0ZXMgdGhlIHNlcnZlciBpcyBhbGl2ZSwKICAgICAgICAgIyBhbmQgZG9lc24n
dCBzYXkgYW55dGhpbmcgYWJvdXQgd2hldGhlciBhIGJyb3dzZXIgc2Vzc2lvbgogICAgICAgICAj
IGlzIGFjdGl2ZS4KLSAgICAgICAgcmV0dXJuIHNlbGYuc2VydmVyLmlzX2FsaXZlCisgICAgICAg
IHJldHVybiBzZWxmLnNlcnZlci5pc19hbGl2ZSgpCiAKICAgICBkZWYgY2xlYW51cChzZWxmKToK
ICAgICAgICAgc2VsZi5zdG9wKCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9v
cGVyYS5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9vcGVyYS5weQppbmRleCA1NWMwNTA5ZWVk
OTJhMmFiZTI3Y2Q2MmNlNDBkNzQ5ZGRhY2I2YTgzLi44MDVmZWRlZTYzNmNkMjIxNTVlZDE0M2Nm
MTE0OGYzYzJmNWQ5OGU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvb3BlcmEu
cHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL29wZXJhLnB5CkBAIC05Myw3ICs5Myw3IEBA
IGNsYXNzIE9wZXJhQnJvd3NlcihCcm93c2VyKToKICAgICAgICAgIyBUT0RPKGF0byk6IFRoaXMg
b25seSBpbmRpY2F0ZXMgdGhlIGRyaXZlciBpcyBhbGl2ZSwKICAgICAgICAgIyBhbmQgZG9lc24n
dCBzYXkgYW55dGhpbmcgYWJvdXQgd2hldGhlciBhIGJyb3dzZXIgc2Vzc2lvbgogICAgICAgICAj
IGlzIGFjdGl2ZS4KLSAgICAgICAgcmV0dXJuIHNlbGYuc2VydmVyLmlzX2FsaXZlCisgICAgICAg
IHJldHVybiBzZWxmLnNlcnZlci5pc19hbGl2ZSgpCiAKICAgICBkZWYgY2xlYW51cChzZWxmKToK
ICAgICAgICAgc2VsZi5zdG9wKCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9z
YWZhcmkucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvc2FmYXJpLnB5CmluZGV4IGY0ZmQzMzEz
ZjlmYmJjMWJmMTdmODcwZDM5NTA2OTQ2Yjk1MzhiNjcuLmNiMmIxNzVkNGRmYmMzMTY2ZTRhZDVh
NmFmZTE3NGZmZGJjNmZmOGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9zYWZh
cmkucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL3NhZmFyaS5weQpAQCAtMyw3ICszLDgg
QEAgZnJvbSAuYmFzZSBpbXBvcnQgZ2V0X3RpbWVvdXRfbXVsdGlwbGllciAgICMgbm9xYTogRjQw
MQogZnJvbSAuLndlYmRyaXZlcl9zZXJ2ZXIgaW1wb3J0IFNhZmFyaURyaXZlclNlcnZlcgogZnJv
bSAuLmV4ZWN1dG9ycyBpbXBvcnQgZXhlY3V0b3Jfa3dhcmdzIGFzIGJhc2VfZXhlY3V0b3Jfa3dh
cmdzCiBmcm9tIC4uZXhlY3V0b3JzLmV4ZWN1dG9yd2ViZHJpdmVyIGltcG9ydCAoV2ViRHJpdmVy
VGVzdGhhcm5lc3NFeGVjdXRvciwgICMgbm9xYTogRjQwMQotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFdlYkRyaXZlclJlZlRlc3RFeGVjdXRvcikgICMgbm9xYTog
RjQwMQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdlYkRyaXZl
clJlZlRlc3RFeGVjdXRvciwgICMgbm9xYTogRjQwMQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFdlYkRyaXZlckNyYXNodGVzdEV4ZWN1dG9yKSAgIyBub3FhOiBG
NDAxCiBmcm9tIC4uZXhlY3V0b3JzLmV4ZWN1dG9yc2FmYXJpIGltcG9ydCBTYWZhcmlEcml2ZXJX
ZHNwZWNFeGVjdXRvciAgIyBub3FhOiBGNDAxCiAKIApAQCAtMTIsNyArMTMsOCBAQCBfX3dwdHJ1
bm5lcl9fID0geyJwcm9kdWN0IjogInNhZmFyaSIsCiAgICAgICAgICAgICAgICAgICJicm93c2Vy
IjogIlNhZmFyaUJyb3dzZXIiLAogICAgICAgICAgICAgICAgICAiZXhlY3V0b3IiOiB7InRlc3Ro
YXJuZXNzIjogIldlYkRyaXZlclRlc3RoYXJuZXNzRXhlY3V0b3IiLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgInJlZnRlc3QiOiAiV2ViRHJpdmVyUmVmVGVzdEV4ZWN1dG9yIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3ZHNwZWMiOiAiU2FmYXJpRHJpdmVyV2RzcGVj
RXhlY3V0b3IifSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3ZHNwZWMiOiAiU2Fm
YXJpRHJpdmVyV2RzcGVjRXhlY3V0b3IiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ImNyYXNodGVzdCI6ICJXZWJEcml2ZXJDcmFzaHRlc3RFeGVjdXRvciJ9LAogICAgICAgICAgICAg
ICAgICAiYnJvd3Nlcl9rd2FyZ3MiOiAiYnJvd3Nlcl9rd2FyZ3MiLAogICAgICAgICAgICAgICAg
ICAiZXhlY3V0b3Jfa3dhcmdzIjogImV4ZWN1dG9yX2t3YXJncyIsCiAgICAgICAgICAgICAgICAg
ICJlbnZfZXh0cmFzIjogImVudl9leHRyYXMiLApAQCAtNzksNyArODEsNyBAQCBjbGFzcyBTYWZh
cmlCcm93c2VyKEJyb3dzZXIpOgogICAgICAgICAjIFRPRE8oYXRvKTogVGhpcyBvbmx5IGluZGlj
YXRlcyB0aGUgZHJpdmVyIGlzIGFsaXZlLAogICAgICAgICAjIGFuZCBkb2Vzbid0IHNheSBhbnl0
aGluZyBhYm91dCB3aGV0aGVyIGEgYnJvd3NlciBzZXNzaW9uCiAgICAgICAgICMgaXMgYWN0aXZl
LgotICAgICAgICByZXR1cm4gc2VsZi5zZXJ2ZXIuaXNfYWxpdmUKKyAgICAgICAgcmV0dXJuIHNl
bGYuc2VydmVyLmlzX2FsaXZlKCkKIAogICAgIGRlZiBjbGVhbnVwKHNlbGYpOgogICAgICAgICBz
ZWxmLnN0b3AoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL3NhdWNlLnB5IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5u
ZXIvd3B0cnVubmVyL2Jyb3dzZXJzL3NhdWNlLnB5CmluZGV4IDMzMDFjNzViMjEwMDRhNTU0Zjkx
ZDQ3NjdiODU2MGZjNDAyMTQ0MTIuLmZlODM2ODJmNWZjMTZmNGIyZGE2NjRiOGU2Y2E0ZGJjOGRk
YzUwOWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy9zYXVjZS5weQorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci93cHRydW5uZXIvYnJvd3NlcnMvc2F1Y2UucHkKQEAgLTksMTAgKzksMTEgQEAgaW1wb3J0IHN1
YnByb2Nlc3MKIGltcG9ydCB0YXJmaWxlCiBpbXBvcnQgdGVtcGZpbGUKIGltcG9ydCB0aW1lCi1m
cm9tIGNTdHJpbmdJTyBpbXBvcnQgU3RyaW5nSU8gYXMgQ1N0cmluZ0lPCiAKIGltcG9ydCByZXF1
ZXN0cwogCitmcm9tIHNpeC5tb3ZlcyBpbXBvcnQgY1N0cmluZ0lPIGFzIFN0cmluZ0lPCisKIGZy
b20gLmJhc2UgaW1wb3J0IEJyb3dzZXIsIEV4ZWN1dG9yQnJvd3NlciwgcmVxdWlyZV9hcmcKIGZy
b20gLmJhc2UgaW1wb3J0IGdldF90aW1lb3V0X211bHRpcGxpZXIgICAjIG5vcWE6IEY0MDEKIGZy
b20gLi5leGVjdXRvcnMgaW1wb3J0IGV4ZWN1dG9yX2t3YXJncyBhcyBiYXNlX2V4ZWN1dG9yX2t3
YXJncwpAQCAtMTI0LDcgKzEyNSw3IEBAIGRlZiBlbnZfb3B0aW9ucygpOgogZGVmIGdldF90YXIo
dXJsLCBkZXN0KToKICAgICByZXNwID0gcmVxdWVzdHMuZ2V0KHVybCwgc3RyZWFtPVRydWUpCiAg
ICAgcmVzcC5yYWlzZV9mb3Jfc3RhdHVzKCkKLSAgICB3aXRoIHRhcmZpbGUub3BlbihmaWxlb2Jq
PUNTdHJpbmdJTyhyZXNwLnJhdy5yZWFkKCkpKSBhcyBmOgorICAgIHdpdGggdGFyZmlsZS5vcGVu
KGZpbGVvYmo9U3RyaW5nSU8ocmVzcC5yYXcucmVhZCgpKSkgYXMgZjoKICAgICAgICAgZi5leHRy
YWN0YWxsKHBhdGg9ZGVzdCkKIAogCkBAIC0xNzgsNyArMTc5LDcgQEAgY2xhc3MgU2F1Y2VDb25u
ZWN0KCk6CiAKICAgICAgICAgdG90X3dhaXQgPSAwCiAgICAgICAgIHdoaWxlIG5vdCBvcy5wYXRo
LmV4aXN0cygnLi9zYXVjZV9pc19yZWFkeScpIGFuZCBzZWxmLnNjX3Byb2Nlc3MucG9sbCgpIGlz
IE5vbmU6Ci0gICAgICAgICAgICBpZiB0b3Rfd2FpdCA+PSBzZWxmLnNhdWNlX2luaXRfdGltZW91
dDoKKyAgICAgICAgICAgIGlmIG5vdCBzZWxmLnNhdWNlX2luaXRfdGltZW91dCBvciAodG90X3dh
aXQgPj0gc2VsZi5zYXVjZV9pbml0X3RpbWVvdXQpOgogICAgICAgICAgICAgICAgIHNlbGYucXVp
dCgpCiAKICAgICAgICAgICAgICAgICByYWlzZSBTYXVjZUV4Y2VwdGlvbigiU2F1Y2UgQ29ubmVj
dCBQcm94eSB3YXMgbm90IHJlYWR5IGFmdGVyICVkIHNlY29uZHMiICUgdG90X3dhaXQpCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvc2Vydm9kcml2ZXIucHkgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5u
ZXIvYnJvd3NlcnMvc2Vydm9kcml2ZXIucHkKaW5kZXggMjk1M2RlMTgxNzRlZjc1ZDUwNWRiMGI4
ZDUxOGZlMzMzOWY3MDY1ZS4uMDJiNzk2Yjc1NjAzODVjZDAwOTAyYmJmYzFiMzYxYTU0MjI0OWY4
NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL3NlcnZvZHJpdmVyLnB5CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL3dwdHJ1bm5lci9icm93c2Vycy9zZXJ2b2RyaXZlci5weQpAQCAtMTEsNiArMTEsNyBAQCBm
cm9tIC5iYXNlIGltcG9ydCBnZXRfdGltZW91dF9tdWx0aXBsaWVyICAgIyBub3FhOiBGNDAxCiBm
cm9tIC4uZXhlY3V0b3JzIGltcG9ydCBleGVjdXRvcl9rd2FyZ3MgYXMgYmFzZV9leGVjdXRvcl9r
d2FyZ3MKIGZyb20gLi5leGVjdXRvcnMuZXhlY3V0b3JzZXJ2b2RyaXZlciBpbXBvcnQgKFNlcnZv
V2ViRHJpdmVyVGVzdGhhcm5lc3NFeGVjdXRvciwgICMgbm9xYTogRjQwMQogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2Vydm9XZWJEcml2ZXJSZWZUZXN0RXhl
Y3V0b3IpICAjIG5vcWE6IEY0MDEKK2Zyb20gLi5wcm9jZXNzIGltcG9ydCBjYXN0X2VudgogCiBo
ZXJlID0gb3MucGF0aC5qb2luKG9zLnBhdGguc3BsaXQoX19maWxlX18pWzBdKQogCkBAIC0xMzAs
MTEgKzEzMSwxMSBAQCBjbGFzcyBTZXJ2b1dlYkRyaXZlckJyb3dzZXIoQnJvd3Nlcik6CiAgICAg
ICAgIGlmIG5vdCBzZWxmLmRlYnVnX2luZm8gb3Igbm90IHNlbGYuZGVidWdfaW5mby5pbnRlcmFj
dGl2ZToKICAgICAgICAgICAgIHNlbGYucHJvYyA9IFByb2Nlc3NIYW5kbGVyKHNlbGYuY29tbWFu
ZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3NPdXRwdXRM
aW5lPVtzZWxmLm9uX291dHB1dF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBlbnY9ZW52LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52
PWNhc3RfZW52KGVudiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dG9yZU91dHB1dD1GYWxzZSkKICAgICAgICAgICAgIHNlbGYucHJvYy5ydW4oKQogICAgICAgICBl
bHNlOgotICAgICAgICAgICAgc2VsZi5wcm9jID0gc3VicHJvY2Vzcy5Qb3BlbihzZWxmLmNvbW1h
bmQsIGVudj1lbnYpCisgICAgICAgICAgICBzZWxmLnByb2MgPSBzdWJwcm9jZXNzLlBvcGVuKHNl
bGYuY29tbWFuZCwgZW52PWNhc3RfZW52KGVudikpCiAKICAgICAgICAgc2VsZi5sb2dnZXIuZGVi
dWcoIlNlcnZvIFN0YXJ0ZWQiKQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMv
d2Via2l0LnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jyb3dzZXJzL3dlYmtpdC5weQppbmRleCBhYTI4NjIx
Mzk0NTBmNjgyZTYwNTFjNWY2MTdhYjhjYWYxOTYwNzg0Li5kYTkzY2YxNjQzOTk1ZDk1YjhkNmRl
MWY3MGM3NzMxYjU1NTk3NjhiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvd2Vi
a2l0LnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy93ZWJraXQucHkKQEAgLTIsNyArMiw4
IEBAIGZyb20gLmJhc2UgaW1wb3J0IEJyb3dzZXIsIEV4ZWN1dG9yQnJvd3NlciwgcmVxdWlyZV9h
cmcKIGZyb20gLmJhc2UgaW1wb3J0IGdldF90aW1lb3V0X211bHRpcGxpZXIsIGNlcnRpZmljYXRl
X2RvbWFpbl9saXN0ICAjIG5vcWE6IEY0MDEKIGZyb20gLi5leGVjdXRvcnMgaW1wb3J0IGV4ZWN1
dG9yX2t3YXJncyBhcyBiYXNlX2V4ZWN1dG9yX2t3YXJncwogZnJvbSAuLmV4ZWN1dG9ycy5leGVj
dXRvcndlYmRyaXZlciBpbXBvcnQgKFdlYkRyaXZlclRlc3RoYXJuZXNzRXhlY3V0b3IsICAjIG5v
cWE6IEY0MDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJE
cml2ZXJSZWZUZXN0RXhlY3V0b3IpICAjIG5vcWE6IEY0MDEKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBXZWJEcml2ZXJSZWZUZXN0RXhlY3V0b3IsICAjIG5vcWE6
IEY0MDEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJEcml2
ZXJDcmFzaHRlc3RFeGVjdXRvcikgICMgbm9xYTogRjQwMQogZnJvbSAuLmV4ZWN1dG9ycy5leGVj
dXRvcndlYmtpdCBpbXBvcnQgV2ViS2l0RHJpdmVyV2RzcGVjRXhlY3V0b3IgICMgbm9xYTogRjQw
MQogZnJvbSAuLndlYmRyaXZlcl9zZXJ2ZXIgaW1wb3J0IFdlYktpdERyaXZlclNlcnZlcgogCkBA
IC0xMyw3ICsxNCw4IEBAIF9fd3B0cnVubmVyX18gPSB7InByb2R1Y3QiOiAid2Via2l0IiwKICAg
ICAgICAgICAgICAgICAgImJyb3dzZXJfa3dhcmdzIjogImJyb3dzZXJfa3dhcmdzIiwKICAgICAg
ICAgICAgICAgICAgImV4ZWN1dG9yIjogeyJ0ZXN0aGFybmVzcyI6ICJXZWJEcml2ZXJUZXN0aGFy
bmVzc0V4ZWN1dG9yIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZWZ0ZXN0Ijog
IldlYkRyaXZlclJlZlRlc3RFeGVjdXRvciIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAid2RzcGVjIjogIldlYktpdERyaXZlcldkc3BlY0V4ZWN1dG9yIn0sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAid2RzcGVjIjogIldlYktpdERyaXZlcldkc3BlY0V4ZWN1dG9yIiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjcmFzaHRlc3QiOiAiV2ViRHJpdmVyQ3Jh
c2h0ZXN0RXhlY3V0b3IifSwKICAgICAgICAgICAgICAgICAgImV4ZWN1dG9yX2t3YXJncyI6ICJl
eGVjdXRvcl9rd2FyZ3MiLAogICAgICAgICAgICAgICAgICAiZW52X2V4dHJhcyI6ICJlbnZfZXh0
cmFzIiwKICAgICAgICAgICAgICAgICAgImVudl9vcHRpb25zIjogImVudl9vcHRpb25zIiwKQEAg
LTk5LDcgKzEwMSw3IEBAIGNsYXNzIFdlYktpdEJyb3dzZXIoQnJvd3Nlcik6CiAgICAgICAgICMg
VE9ETyhhdG8pOiBUaGlzIG9ubHkgaW5kaWNhdGVzIHRoZSBkcml2ZXIgaXMgYWxpdmUsCiAgICAg
ICAgICMgYW5kIGRvZXNuJ3Qgc2F5IGFueXRoaW5nIGFib3V0IHdoZXRoZXIgYSBicm93c2VyIHNl
c3Npb24KICAgICAgICAgIyBpcyBhY3RpdmUuCi0gICAgICAgIHJldHVybiBzZWxmLnNlcnZlci5p
c19hbGl2ZQorICAgICAgICByZXR1cm4gc2VsZi5zZXJ2ZXIuaXNfYWxpdmUoKQogCiAgICAgZGVm
IGNsZWFudXAoc2VsZik6CiAgICAgICAgIHNlbGYuc3RvcCgpCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRy
dW5uZXIvYnJvd3NlcnMvd2Via2l0Z3RrX21pbmlicm93c2VyLnB5IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Jy
b3dzZXJzL3dlYmtpdGd0a19taW5pYnJvd3Nlci5weQppbmRleCBkNzM1ZjNjMDc5MmE2MzU2YzYy
NzAxNDMyMDVjNTViN2MwMmVlZjQ3Li5kOGI5NzQ0YmQ3NDNlMzljZTE5ZjAwOGU3ZjQwY2JjODBl
ODAxMDdjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvYnJvd3NlcnMvd2Via2l0Z3RrX21pbmli
cm93c2VyLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9icm93c2Vycy93ZWJraXRndGtfbWluaWJyb3dz
ZXIucHkKQEAgLTIsNyArMiw4IEBAIGZyb20gLmJhc2UgaW1wb3J0IGdldF90aW1lb3V0X211bHRp
cGxpZXIsIG1heWJlX2FkZF9hcmdzLCBjZXJ0aWZpY2F0ZV9kb21haW5fbGlzCiBmcm9tIC53ZWJr
aXQgaW1wb3J0IFdlYktpdEJyb3dzZXIKIGZyb20gLi5leGVjdXRvcnMgaW1wb3J0IGV4ZWN1dG9y
X2t3YXJncyBhcyBiYXNlX2V4ZWN1dG9yX2t3YXJncwogZnJvbSAuLmV4ZWN1dG9ycy5leGVjdXRv
cndlYmRyaXZlciBpbXBvcnQgKFdlYkRyaXZlclRlc3RoYXJuZXNzRXhlY3V0b3IsICAjIG5vcWE6
IEY0MDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJEcml2
ZXJSZWZUZXN0RXhlY3V0b3IpICAjIG5vcWE6IEY0MDEKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBXZWJEcml2ZXJSZWZUZXN0RXhlY3V0b3IsICAjIG5vcWE6IEY0
MDEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWJEcml2ZXJD
cmFzaHRlc3RFeGVjdXRvcikgICMgbm9xYTogRjQwMQogZnJvbSAuLmV4ZWN1dG9ycy5leGVjdXRv
cndlYmtpdCBpbXBvcnQgV2ViS2l0RHJpdmVyV2RzcGVjRXhlY3V0b3IgICMgbm9xYTogRjQwMQog
CiBfX3dwdHJ1bm5lcl9fID0geyJwcm9kdWN0IjogIndlYmtpdGd0a19taW5pYnJvd3NlciIsCkBA
IC0xMSw3ICsxMiw4IEBAIF9fd3B0cnVubmVyX18gPSB7InByb2R1Y3QiOiAid2Via2l0Z3RrX21p
bmlicm93c2VyIiwKICAgICAgICAgICAgICAgICAgImJyb3dzZXJfa3dhcmdzIjogImJyb3dzZXJf
a3dhcmdzIiwKICAgICAgICAgICAgICAgICAgImV4ZWN1dG9yIjogeyJ0ZXN0aGFybmVzcyI6ICJX
ZWJEcml2ZXJUZXN0aGFybmVzc0V4ZWN1dG9yIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJyZWZ0ZXN0IjogIldlYkRyaXZlclJlZlRlc3RFeGVjdXRvciIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAid2RzcGVjIjogIldlYktpdERyaXZlcldkc3BlY0V4ZWN1dG9yIn0s
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAid2RzcGVjIjogIldlYktpdERyaXZlcldk
c3BlY0V4ZWN1dG9yIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjcmFzaHRlc3Qi
OiAiV2ViRHJpdmVyQ3Jhc2h0ZXN0RXhlY3V0b3IifSwKICAgICAgICAgICAgICAgICAgImV4ZWN1
dG9yX2t3YXJncyI6ICJleGVjdXRvcl9rd2FyZ3MiLAogICAgICAgICAgICAgICAgICAiZW52X2V4
dHJhcyI6ICJlbnZfZXh0cmFzIiwKICAgICAgICAgICAgICAgICAgImVudl9vcHRpb25zIjogImVu
dl9vcHRpb25zIiwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9lbnZpcm9ubWVudC5weSBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3dwdHJ1bm5lci9lbnZpcm9ubWVudC5weQppbmRleCBlNzlhZTM3NTA2NDdmODhiYmE0NDcwMzE4
MWMyMDgyMjk4MDBmNjU4Li5mNzY4MzZlYTY2YjU5YmIxNmYyZDM3OTI0NTFiY2YyOGVjYjJmYjQ0
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZW52aXJvbm1lbnQucHkKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVu
bmVyL2Vudmlyb25tZW50LnB5CkBAIC01LDYgKzUsNyBAQCBpbXBvcnQgc2lnbmFsCiBpbXBvcnQg
c29ja2V0CiBpbXBvcnQgc3lzCiBpbXBvcnQgdGltZQorZnJvbSBzaXggaW1wb3J0IGl0ZXJpdGVt
cwogCiBmcm9tIG1vemxvZyBpbXBvcnQgZ2V0X2RlZmF1bHRfbG9nZ2VyLCBoYW5kbGVycywgcHJv
eHkKIApAQCAtNTIsNyArNTMsOSBAQCBjbGFzcyBUZXN0RW52aXJvbm1lbnRFcnJvcihFeGNlcHRp
b24pOgogY2xhc3MgVGVzdEVudmlyb25tZW50KG9iamVjdCk6CiAgICAgIiIiQ29udGV4dCBtYW5h
Z2VyIHRoYXQgb3ducyB0aGUgdGVzdCBlbnZpcm9ubWVudCBpLmUuIHRoZSBodHRwIGFuZAogICAg
IHdlYnNvY2tldHMgc2VydmVycyIiIgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCB0ZXN0X3BhdGhz
LCB0ZXN0aGFybmVzc190aW1lb3V0X211bHRpcGxlciwgcGF1c2VfYWZ0ZXJfdGVzdCwgZGVidWdf
aW5mbywgb3B0aW9ucywgc3NsX2NvbmZpZywgZW52X2V4dHJhcyk6CisgICAgZGVmIF9faW5pdF9f
KHNlbGYsIHRlc3RfcGF0aHMsIHRlc3RoYXJuZXNzX3RpbWVvdXRfbXVsdGlwbGVyLAorICAgICAg
ICAgICAgICAgICBwYXVzZV9hZnRlcl90ZXN0LCBkZWJ1Z19pbmZvLCBvcHRpb25zLCBzc2xfY29u
ZmlnLCBlbnZfZXh0cmFzLAorICAgICAgICAgICAgICAgICBlbmFibGVfcXVpYz1GYWxzZSk6CiAg
ICAgICAgIHNlbGYudGVzdF9wYXRocyA9IHRlc3RfcGF0aHMKICAgICAgICAgc2VsZi5zZXJ2ZXIg
PSBOb25lCiAgICAgICAgIHNlbGYuY29uZmlnX2N0eCA9IE5vbmUKQEAgLTY4LDYgKzcxLDcgQEAg
Y2xhc3MgVGVzdEVudmlyb25tZW50KG9iamVjdCk6CiAgICAgICAgIHNlbGYuZW52X2V4dHJhcyA9
IGVudl9leHRyYXMKICAgICAgICAgc2VsZi5lbnZfZXh0cmFzX2NtcyA9IE5vbmUKICAgICAgICAg
c2VsZi5zc2xfY29uZmlnID0gc3NsX2NvbmZpZworICAgICAgICBzZWxmLmVuYWJsZV9xdWljID0g
ZW5hYmxlX3F1aWMKIAogICAgIGRlZiBfX2VudGVyX18oc2VsZik6CiAgICAgICAgIHNlbGYuY29u
ZmlnX2N0eCA9IHNlbGYuYnVpbGRfY29uZmlnKCkKQEAgLTkxLDYgKzk1LDcgQEAgY2xhc3MgVGVz
dEVudmlyb25tZW50KG9iamVjdCk6CiAKICAgICAgICAgc2VsZi5zZXJ2ZXJzID0gc2VydmUuc3Rh
cnQoc2VsZi5jb25maWcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYu
Z2V0X3JvdXRlcygpKQorCiAgICAgICAgIGlmIHNlbGYub3B0aW9ucy5nZXQoInN1cHBvcnRzX2Rl
YnVnZ2VyIikgYW5kIHNlbGYuZGVidWdfaW5mbyBhbmQgc2VsZi5kZWJ1Z19pbmZvLmludGVyYWN0
aXZlOgogICAgICAgICAgICAgc2VsZi5pZ25vcmVfaW50ZXJydXB0cygpCiAgICAgICAgIHJldHVy
biBzZWxmCkBAIC05OCw3ICsxMDMsNyBAQCBjbGFzcyBUZXN0RW52aXJvbm1lbnQob2JqZWN0KToK
ICAgICBkZWYgX19leGl0X18oc2VsZiwgZXhjX3R5cGUsIGV4Y192YWwsIGV4Y190Yik6CiAgICAg
ICAgIHNlbGYucHJvY2Vzc19pbnRlcnJ1cHRzKCkKIAotICAgICAgICBmb3Igc2NoZW1lLCBzZXJ2
ZXJzIGluIHNlbGYuc2VydmVycy5pdGVyaXRlbXMoKToKKyAgICAgICAgZm9yIHNjaGVtZSwgc2Vy
dmVycyBpbiBpdGVyaXRlbXMoc2VsZi5zZXJ2ZXJzKToKICAgICAgICAgICAgIGZvciBwb3J0LCBz
ZXJ2ZXIgaW4gc2VydmVyczoKICAgICAgICAgICAgICAgICBzZXJ2ZXIua2lsbCgpCiAgICAgICAg
IGZvciBjbSBpbiBzZWxmLmVudl9leHRyYXNfY21zOgpAQCAtMTI2LDcgKzEzMSwxMCBAQCBjbGFz
cyBUZXN0RW52aXJvbm1lbnQob2JqZWN0KToKICAgICAgICAgICAgICJodHRwcyI6IFs4NDQzXSwK
ICAgICAgICAgICAgICJ3cyI6IFs4ODg4XSwKICAgICAgICAgICAgICJ3c3MiOiBbODg4OV0sCisg
ICAgICAgICAgICAiaDIiOiBbOTAwMF0sCiAgICAgICAgIH0KKyAgICAgICAgaWYgc2VsZi5lbmFi
bGVfcXVpYzoKKyAgICAgICAgICAgIGNvbmZpZy5wb3J0c1sicXVpYyJdID0gWzEwMDAwXQogCiAg
ICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKG92ZXJyaWRlX3BhdGgpOgogICAgICAgICAgICAgd2l0
aCBvcGVuKG92ZXJyaWRlX3BhdGgpIGFzIGY6CkBAIC0xOTEsMTAgKzE5OSwxMCBAQCBjbGFzcyBU
ZXN0RW52aXJvbm1lbnQob2JqZWN0KToKICAgICAgICAgICAgIGRhdGEgKz0gZnAucmVhZCgpCiAg
ICAgICAgIHdpdGggb3Blbihvcy5wYXRoLmpvaW4oaGVyZSwgInRlc3Rkcml2ZXItZXh0cmEuanMi
KSwgInJiIikgYXMgZnA6CiAgICAgICAgICAgICBkYXRhICs9IGZwLnJlYWQoKQotICAgICAgICBy
b3V0ZV9idWlsZGVyLmFkZF9oYW5kbGVyKGIiR0VUIiwgYiIvcmVzb3VyY2VzL3Rlc3Rkcml2ZXIu
anMiLAorICAgICAgICByb3V0ZV9idWlsZGVyLmFkZF9oYW5kbGVyKCJHRVQiLCAiL3Jlc291cmNl
cy90ZXN0ZHJpdmVyLmpzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdHJp
bmdIYW5kbGVyKGRhdGEsICJ0ZXh0L2phdmFzY3JpcHQiKSkKIAotICAgICAgICBmb3IgdXJsX2Jh
c2UsIHBhdGhzIGluIHNlbGYudGVzdF9wYXRocy5pdGVyaXRlbXMoKToKKyAgICAgICAgZm9yIHVy
bF9iYXNlLCBwYXRocyBpbiBpdGVyaXRlbXMoc2VsZi50ZXN0X3BhdGhzKToKICAgICAgICAgICAg
IGlmIHVybF9iYXNlID09ICIvIjoKICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAg
ICAgcm91dGVfYnVpbGRlci5hZGRfbW91bnRfcG9pbnQodXJsX2Jhc2UsIHBhdGhzWyJ0ZXN0c19w
YXRoIl0pCkBAIC0yMTAsOCArMjE4LDEwIEBAIGNsYXNzIFRlc3RFbnZpcm9ubWVudChvYmplY3Qp
OgogICAgICAgICBlYWNoX3NsZWVwX3NlY3MgPSAwLjUKICAgICAgICAgZW5kX3RpbWUgPSB0aW1l
LnRpbWUoKSArIHRvdGFsX3NsZWVwX3NlY3MKICAgICAgICAgd2hpbGUgdGltZS50aW1lKCkgPCBl
bmRfdGltZToKLSAgICAgICAgICAgIGZhaWxlZCA9IHNlbGYudGVzdF9zZXJ2ZXJzKCkKLSAgICAg
ICAgICAgIGlmIG5vdCBmYWlsZWQ6CisgICAgICAgICAgICBmYWlsZWQsIHBlbmRpbmcgPSBzZWxm
LnRlc3Rfc2VydmVycygpCisgICAgICAgICAgICBpZiBmYWlsZWQ6CisgICAgICAgICAgICAgICAg
YnJlYWsKKyAgICAgICAgICAgIGlmIG5vdCBwZW5kaW5nOgogICAgICAgICAgICAgICAgIHJldHVy
bgogICAgICAgICAgICAgdGltZS5zbGVlcChlYWNoX3NsZWVwX3NlY3MpCiAgICAgICAgIHJhaXNl
IEVudmlyb25tZW50RXJyb3IoIlNlcnZlcnMgZmFpbGVkIHRvIHN0YXJ0OiAlcyIgJQpAQCAtMjE5
LDE5ICsyMjksMjMgQEAgY2xhc3MgVGVzdEVudmlyb25tZW50KG9iamVjdCk6CiAKICAgICBkZWYg
dGVzdF9zZXJ2ZXJzKHNlbGYpOgogICAgICAgICBmYWlsZWQgPSBbXQorICAgICAgICBwZW5kaW5n
ID0gW10KICAgICAgICAgaG9zdCA9IHNlbGYuY29uZmlnWyJzZXJ2ZXJfaG9zdCJdCi0gICAgICAg
IGZvciBzY2hlbWUsIHNlcnZlcnMgaW4gc2VsZi5zZXJ2ZXJzLml0ZXJpdGVtcygpOgorICAgICAg
ICBmb3Igc2NoZW1lLCBzZXJ2ZXJzIGluIGl0ZXJpdGVtcyhzZWxmLnNlcnZlcnMpOgogICAgICAg
ICAgICAgZm9yIHBvcnQsIHNlcnZlciBpbiBzZXJ2ZXJzOgotICAgICAgICAgICAgICAgIGlmIHNl
bGYudGVzdF9zZXJ2ZXJfcG9ydDoKKyAgICAgICAgICAgICAgICBpZiBub3Qgc2VydmVyLmlzX2Fs
aXZlKCk6CisgICAgICAgICAgICAgICAgICAgIGZhaWxlZC5hcHBlbmQoKHNjaGVtZSwgcG9ydCkp
CisKKyAgICAgICAgaWYgbm90IGZhaWxlZCBhbmQgc2VsZi50ZXN0X3NlcnZlcl9wb3J0OgorICAg
ICAgICAgICAgZm9yIHNjaGVtZSwgc2VydmVycyBpbiBpdGVyaXRlbXMoc2VsZi5zZXJ2ZXJzKToK
KyAgICAgICAgICAgICAgICBmb3IgcG9ydCwgc2VydmVyIGluIHNlcnZlcnM6CiAgICAgICAgICAg
ICAgICAgICAgIHMgPSBzb2NrZXQuc29ja2V0KCkKICAgICAgICAgICAgICAgICAgICAgcy5zZXR0
aW1lb3V0KDAuMSkKICAgICAgICAgICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgICAg
ICAgICAgcy5jb25uZWN0KChob3N0LCBwb3J0KSkKICAgICAgICAgICAgICAgICAgICAgZXhjZXB0
IHNvY2tldC5lcnJvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgIGZhaWxlZC5hcHBlbmQoKGhv
c3QsIHBvcnQpKQorICAgICAgICAgICAgICAgICAgICAgICAgcGVuZGluZy5hcHBlbmQoKGhvc3Qs
IHBvcnQpKQogICAgICAgICAgICAgICAgICAgICBmaW5hbGx5OgogICAgICAgICAgICAgICAgICAg
ICAgICAgcy5jbG9zZSgpCiAKLSAgICAgICAgICAgICAgICBpZiBub3Qgc2VydmVyLmlzX2FsaXZl
KCk6Ci0gICAgICAgICAgICAgICAgICAgIGZhaWxlZC5hcHBlbmQoKHNjaGVtZSwgcG9ydCkpCi0g
ICAgICAgIHJldHVybiBmYWlsZWQKKyAgICAgICAgcmV0dXJuIGZhaWxlZCwgcGVuZGluZwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy9hY3Rpb25zLnB5IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVy
L2V4ZWN1dG9ycy9hY3Rpb25zLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZjNDNkZDY2NWEyZjNiYzU1NzZjYjUz
NWYyOWQ0OWFiYmM5NTkzZmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0
b3JzL2FjdGlvbnMucHkKQEAgLTAsMCArMSwxODQgQEAKKworY2xhc3MgQ2xpY2tBY3Rpb24ob2Jq
ZWN0KToKKyAgICBuYW1lID0gImNsaWNrIgorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGxvZ2dl
ciwgcHJvdG9jb2wpOgorICAgICAgICBzZWxmLmxvZ2dlciA9IGxvZ2dlcgorICAgICAgICBzZWxm
LnByb3RvY29sID0gcHJvdG9jb2wKKworICAgIGRlZiBfX2NhbGxfXyhzZWxmLCBwYXlsb2FkKToK
KyAgICAgICAgc2VsZWN0b3IgPSBwYXlsb2FkWyJzZWxlY3RvciJdCisgICAgICAgIGVsZW1lbnQg
PSBzZWxmLnByb3RvY29sLnNlbGVjdC5lbGVtZW50X2J5X3NlbGVjdG9yKHNlbGVjdG9yKQorICAg
ICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygiQ2xpY2tpbmcgZWxlbWVudDogJXMiICUgc2VsZWN0b3Ip
CisgICAgICAgIHNlbGYucHJvdG9jb2wuY2xpY2suZWxlbWVudChlbGVtZW50KQorCisKK2NsYXNz
IFNlbmRLZXlzQWN0aW9uKG9iamVjdCk6CisgICAgbmFtZSA9ICJzZW5kX2tleXMiCisKKyAgICBk
ZWYgX19pbml0X18oc2VsZiwgbG9nZ2VyLCBwcm90b2NvbCk6CisgICAgICAgIHNlbGYubG9nZ2Vy
ID0gbG9nZ2VyCisgICAgICAgIHNlbGYucHJvdG9jb2wgPSBwcm90b2NvbAorCisgICAgZGVmIF9f
Y2FsbF9fKHNlbGYsIHBheWxvYWQpOgorICAgICAgICBzZWxlY3RvciA9IHBheWxvYWRbInNlbGVj
dG9yIl0KKyAgICAgICAga2V5cyA9IHBheWxvYWRbImtleXMiXQorICAgICAgICBlbGVtZW50ID0g
c2VsZi5wcm90b2NvbC5zZWxlY3QuZWxlbWVudF9ieV9zZWxlY3RvcihzZWxlY3RvcikKKyAgICAg
ICAgc2VsZi5sb2dnZXIuZGVidWcoIlNlbmRpbmcga2V5cyB0byBlbGVtZW50OiAlcyIgJSBzZWxl
Y3RvcikKKyAgICAgICAgc2VsZi5wcm90b2NvbC5zZW5kX2tleXMuc2VuZF9rZXlzKGVsZW1lbnQs
IGtleXMpCisKKworY2xhc3MgQWN0aW9uU2VxdWVuY2VBY3Rpb24ob2JqZWN0KToKKyAgICBuYW1l
ID0gImFjdGlvbl9zZXF1ZW5jZSIKKworICAgIGRlZiBfX2luaXRfXyhzZWxmLCBsb2dnZXIsIHBy
b3RvY29sKToKKyAgICAgICAgc2VsZi5sb2dnZXIgPSBsb2dnZXIKKyAgICAgICAgc2VsZi5wcm90
b2NvbCA9IHByb3RvY29sCisKKyAgICBkZWYgX19jYWxsX18oc2VsZiwgcGF5bG9hZCk6CisgICAg
ICAgICMgVE9ETzogc29tZSBzb3J0IG9mIHNoYWxsb3cgZXJyb3IgY2hlY2tpbmcKKyAgICAgICAg
YWN0aW9ucyA9IHBheWxvYWRbImFjdGlvbnMiXQorICAgICAgICBmb3IgYWN0aW9uU2VxdWVuY2Ug
aW4gYWN0aW9uczoKKyAgICAgICAgICAgIGlmIGFjdGlvblNlcXVlbmNlWyJ0eXBlIl0gPT0gInBv
aW50ZXIiOgorICAgICAgICAgICAgICAgIGZvciBhY3Rpb24gaW4gYWN0aW9uU2VxdWVuY2VbImFj
dGlvbnMiXToKKyAgICAgICAgICAgICAgICAgICAgaWYgKGFjdGlvblsidHlwZSJdID09ICJwb2lu
dGVyTW92ZSIgYW5kCisgICAgICAgICAgICAgICAgICAgICAgICBpc2luc3RhbmNlKGFjdGlvblsi
b3JpZ2luIl0sIGRpY3QpKToKKyAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvblsib3JpZ2lu
Il0gPSBzZWxmLmdldF9lbGVtZW50KGFjdGlvblsib3JpZ2luIl1bInNlbGVjdG9yIl0sIGFjdGlv
blsiZnJhbWUiXVsiZnJhbWUiXSkKKyAgICAgICAgc2VsZi5wcm90b2NvbC5hY3Rpb25fc2VxdWVu
Y2Uuc2VuZF9hY3Rpb25zKHsiYWN0aW9ucyI6IGFjdGlvbnN9KQorCisgICAgZGVmIGdldF9lbGVt
ZW50KHNlbGYsIGVsZW1lbnRfc2VsZWN0b3IsIGZyYW1lKToKKyAgICAgICAgZWxlbWVudCA9IHNl
bGYucHJvdG9jb2wuc2VsZWN0LmVsZW1lbnRfYnlfc2VsZWN0b3IoZWxlbWVudF9zZWxlY3Rvciwg
ZnJhbWUpCisgICAgICAgIHJldHVybiBlbGVtZW50CisKK2NsYXNzIEdlbmVyYXRlVGVzdFJlcG9y
dEFjdGlvbihvYmplY3QpOgorICAgIG5hbWUgPSAiZ2VuZXJhdGVfdGVzdF9yZXBvcnQiCisKKyAg
ICBkZWYgX19pbml0X18oc2VsZiwgbG9nZ2VyLCBwcm90b2NvbCk6CisgICAgICAgIHNlbGYubG9n
Z2VyID0gbG9nZ2VyCisgICAgICAgIHNlbGYucHJvdG9jb2wgPSBwcm90b2NvbAorCisgICAgZGVm
IF9fY2FsbF9fKHNlbGYsIHBheWxvYWQpOgorICAgICAgICBtZXNzYWdlID0gcGF5bG9hZFsibWVz
c2FnZSJdCisgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJHZW5lcmF0aW5nIHRlc3QgcmVwb3J0
OiAlcyIgJSBtZXNzYWdlKQorICAgICAgICBzZWxmLnByb3RvY29sLmdlbmVyYXRlX3Rlc3RfcmVw
b3J0LmdlbmVyYXRlX3Rlc3RfcmVwb3J0KG1lc3NhZ2UpCisKK2NsYXNzIFNldFBlcm1pc3Npb25B
Y3Rpb24ob2JqZWN0KToKKyAgICBuYW1lID0gInNldF9wZXJtaXNzaW9uIgorCisgICAgZGVmIF9f
aW5pdF9fKHNlbGYsIGxvZ2dlciwgcHJvdG9jb2wpOgorICAgICAgICBzZWxmLmxvZ2dlciA9IGxv
Z2dlcgorICAgICAgICBzZWxmLnByb3RvY29sID0gcHJvdG9jb2wKKworICAgIGRlZiBfX2NhbGxf
XyhzZWxmLCBwYXlsb2FkKToKKyAgICAgICAgcGVybWlzc2lvbl9wYXJhbXMgPSBwYXlsb2FkWyJw
ZXJtaXNzaW9uX3BhcmFtcyJdCisgICAgICAgIGRlc2NyaXB0b3IgPSBwZXJtaXNzaW9uX3BhcmFt
c1siZGVzY3JpcHRvciJdCisgICAgICAgIG5hbWUgPSBkZXNjcmlwdG9yWyJuYW1lIl0KKyAgICAg
ICAgc3RhdGUgPSBwZXJtaXNzaW9uX3BhcmFtc1sic3RhdGUiXQorICAgICAgICBvbmVfcmVhbG0g
PSBwZXJtaXNzaW9uX3BhcmFtcy5nZXQoIm9uZVJlYWxtIiwgRmFsc2UpCisgICAgICAgIHNlbGYu
bG9nZ2VyLmRlYnVnKCJTZXR0aW5nIHBlcm1pc3Npb24gJXMgdG8gJXMsIG9uZVJlYWxtPSVzIiAl
IChuYW1lLCBzdGF0ZSwgb25lX3JlYWxtKSkKKyAgICAgICAgc2VsZi5wcm90b2NvbC5zZXRfcGVy
bWlzc2lvbi5zZXRfcGVybWlzc2lvbihkZXNjcmlwdG9yLCBzdGF0ZSwgb25lX3JlYWxtKQorCitj
bGFzcyBBZGRWaXJ0dWFsQXV0aGVudGljYXRvckFjdGlvbihvYmplY3QpOgorICAgIG5hbWUgPSAi
YWRkX3ZpcnR1YWxfYXV0aGVudGljYXRvciIKKworICAgIGRlZiBfX2luaXRfXyhzZWxmLCBsb2dn
ZXIsIHByb3RvY29sKToKKyAgICAgICAgc2VsZi5sb2dnZXIgPSBsb2dnZXIKKyAgICAgICAgc2Vs
Zi5wcm90b2NvbCA9IHByb3RvY29sCisKKyAgICBkZWYgX19jYWxsX18oc2VsZiwgcGF5bG9hZCk6
CisgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJBZGRpbmcgdmlydHVhbCBhdXRoZW50aWNhdG9y
IikKKyAgICAgICAgY29uZmlnID0gcGF5bG9hZFsiY29uZmlnIl0KKyAgICAgICAgYXV0aGVudGlj
YXRvcl9pZCA9IHNlbGYucHJvdG9jb2wudmlydHVhbF9hdXRoZW50aWNhdG9yLmFkZF92aXJ0dWFs
X2F1dGhlbnRpY2F0b3IoY29uZmlnKQorICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygiQXV0aGVu
dGljYXRvciBjcmVhdGVkIHdpdGggSUQgJXMiICUgYXV0aGVudGljYXRvcl9pZCkKKyAgICAgICAg
cmV0dXJuIGF1dGhlbnRpY2F0b3JfaWQKKworY2xhc3MgUmVtb3ZlVmlydHVhbEF1dGhlbnRpY2F0
b3JBY3Rpb24ob2JqZWN0KToKKyAgICBuYW1lID0gInJlbW92ZV92aXJ0dWFsX2F1dGhlbnRpY2F0
b3IiCisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbG9nZ2VyLCBwcm90b2NvbCk6CisgICAgICAg
IHNlbGYubG9nZ2VyID0gbG9nZ2VyCisgICAgICAgIHNlbGYucHJvdG9jb2wgPSBwcm90b2NvbAor
CisgICAgZGVmIF9fY2FsbF9fKHNlbGYsIHBheWxvYWQpOgorICAgICAgICBhdXRoZW50aWNhdG9y
X2lkID0gcGF5bG9hZFsiYXV0aGVudGljYXRvcl9pZCJdCisgICAgICAgIHNlbGYubG9nZ2VyLmRl
YnVnKCJSZW1vdmluZyB2aXJ0dWFsIGF1dGhlbnRpY2F0b3IgJXMiICUgYXV0aGVudGljYXRvcl9p
ZCkKKyAgICAgICAgcmV0dXJuIHNlbGYucHJvdG9jb2wudmlydHVhbF9hdXRoZW50aWNhdG9yLnJl
bW92ZV92aXJ0dWFsX2F1dGhlbnRpY2F0b3IoYXV0aGVudGljYXRvcl9pZCkKKworCitjbGFzcyBB
ZGRDcmVkZW50aWFsQWN0aW9uKG9iamVjdCk6CisgICAgbmFtZSA9ICJhZGRfY3JlZGVudGlhbCIK
KworICAgIGRlZiBfX2luaXRfXyhzZWxmLCBsb2dnZXIsIHByb3RvY29sKToKKyAgICAgICAgc2Vs
Zi5sb2dnZXIgPSBsb2dnZXIKKyAgICAgICAgc2VsZi5wcm90b2NvbCA9IHByb3RvY29sCisKKyAg
ICBkZWYgX19jYWxsX18oc2VsZiwgcGF5bG9hZCk6CisgICAgICAgIGF1dGhlbnRpY2F0b3JfaWQg
PSBwYXlsb2FkWyJhdXRoZW50aWNhdG9yX2lkIl0KKyAgICAgICAgY3JlZGVudGlhbCA9IHBheWxv
YWRbImNyZWRlbnRpYWwiXQorICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygiQWRkaW5nIGNyZWRl
bnRpYWwgdG8gdmlydHVhbCBhdXRoZW50aWNhdG9yICVzICIgJSBhdXRoZW50aWNhdG9yX2lkKQor
ICAgICAgICByZXR1cm4gc2VsZi5wcm90b2NvbC52aXJ0dWFsX2F1dGhlbnRpY2F0b3IuYWRkX2Ny
ZWRlbnRpYWwoYXV0aGVudGljYXRvcl9pZCwgY3JlZGVudGlhbCkKKworY2xhc3MgR2V0Q3JlZGVu
dGlhbHNBY3Rpb24ob2JqZWN0KToKKyAgICBuYW1lID0gImdldF9jcmVkZW50aWFscyIKKworICAg
IGRlZiBfX2luaXRfXyhzZWxmLCBsb2dnZXIsIHByb3RvY29sKToKKyAgICAgICAgc2VsZi5sb2dn
ZXIgPSBsb2dnZXIKKyAgICAgICAgc2VsZi5wcm90b2NvbCA9IHByb3RvY29sCisKKyAgICBkZWYg
X19jYWxsX18oc2VsZiwgcGF5bG9hZCk6CisgICAgICAgIGF1dGhlbnRpY2F0b3JfaWQgPSBwYXls
b2FkWyJhdXRoZW50aWNhdG9yX2lkIl0KKyAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoIkdldHRp
bmcgY3JlZGVudGlhbHMgZnJvbSB2aXJ0dWFsIGF1dGhlbnRpY2F0b3IgJXMgIiAlIGF1dGhlbnRp
Y2F0b3JfaWQpCisgICAgICAgIHJldHVybiBzZWxmLnByb3RvY29sLnZpcnR1YWxfYXV0aGVudGlj
YXRvci5nZXRfY3JlZGVudGlhbHMoYXV0aGVudGljYXRvcl9pZCkKKworY2xhc3MgUmVtb3ZlQ3Jl
ZGVudGlhbEFjdGlvbihvYmplY3QpOgorICAgIG5hbWUgPSAicmVtb3ZlX2NyZWRlbnRpYWwiCisK
KyAgICBkZWYgX19pbml0X18oc2VsZiwgbG9nZ2VyLCBwcm90b2NvbCk6CisgICAgICAgIHNlbGYu
bG9nZ2VyID0gbG9nZ2VyCisgICAgICAgIHNlbGYucHJvdG9jb2wgPSBwcm90b2NvbAorCisgICAg
ZGVmIF9fY2FsbF9fKHNlbGYsIHBheWxvYWQpOgorICAgICAgICBhdXRoZW50aWNhdG9yX2lkID0g
cGF5bG9hZFsiYXV0aGVudGljYXRvcl9pZCJdCisgICAgICAgIGNyZWRlbnRpYWxfaWQgPSBwYXls
b2FkWyJjcmVkZW50aWFsX2lkIl0KKyAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoIlJlbW92aW5n
IGNyZWRlbnRpYWwgJXMgZnJvbSBhdXRoZW50aWNhdG9yICVzIiAlIChjcmVkZW50aWFsX2lkLCBh
dXRoZW50aWNhdG9yX2lkKSkKKyAgICAgICAgcmV0dXJuIHNlbGYucHJvdG9jb2wudmlydHVhbF9h
dXRoZW50aWNhdG9yLnJlbW92ZV9jcmVkZW50aWFsKGF1dGhlbnRpY2F0b3JfaWQsIGNyZWRlbnRp
YWxfaWQpCisKK2NsYXNzIFJlbW92ZUFsbENyZWRlbnRpYWxzQWN0aW9uKG9iamVjdCk6CisgICAg
bmFtZSA9ICJyZW1vdmVfYWxsX2NyZWRlbnRpYWxzIgorCisgICAgZGVmIF9faW5pdF9fKHNlbGYs
IGxvZ2dlciwgcHJvdG9jb2wpOgorICAgICAgICBzZWxmLmxvZ2dlciA9IGxvZ2dlcgorICAgICAg
ICBzZWxmLnByb3RvY29sID0gcHJvdG9jb2wKKworICAgIGRlZiBfX2NhbGxfXyhzZWxmLCBwYXls
b2FkKToKKyAgICAgICAgYXV0aGVudGljYXRvcl9pZCA9IHBheWxvYWRbImF1dGhlbnRpY2F0b3Jf
aWQiXQorICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygiUmVtb3ZpbmcgYWxsIGNyZWRlbnRpYWxz
IGZyb20gYXV0aGVudGljYXRvciAlcyIgJSBhdXRoZW50aWNhdG9yX2lkKQorICAgICAgICByZXR1
cm4gc2VsZi5wcm90b2NvbC52aXJ0dWFsX2F1dGhlbnRpY2F0b3IucmVtb3ZlX2FsbF9jcmVkZW50
aWFscyhhdXRoZW50aWNhdG9yX2lkKQorCitjbGFzcyBTZXRVc2VyVmVyaWZpZWRBY3Rpb24ob2Jq
ZWN0KToKKyAgICBuYW1lID0gInNldF91c2VyX3ZlcmlmaWVkIgorCisgICAgZGVmIF9faW5pdF9f
KHNlbGYsIGxvZ2dlciwgcHJvdG9jb2wpOgorICAgICAgICBzZWxmLmxvZ2dlciA9IGxvZ2dlcgor
ICAgICAgICBzZWxmLnByb3RvY29sID0gcHJvdG9jb2wKKworICAgIGRlZiBfX2NhbGxfXyhzZWxm
LCBwYXlsb2FkKToKKyAgICAgICAgYXV0aGVudGljYXRvcl9pZCA9IHBheWxvYWRbImF1dGhlbnRp
Y2F0b3JfaWQiXQorICAgICAgICB1diA9IHBheWxvYWRbInV2Il0KKyAgICAgICAgc2VsZi5sb2dn
ZXIuZGVidWcoCisgICAgICAgICAgICAiU2V0dGluZyB1c2VyIHZlcmlmaWVkIGZsYWcgb24gYXV0
aGVudGljYXRvciAlcyB0byAlcyIgJSAoYXV0aGVudGljYXRvcl9pZCwgdXZbImlzVXNlclZlcmlm
aWVkIl0pKQorICAgICAgICByZXR1cm4gc2VsZi5wcm90b2NvbC52aXJ0dWFsX2F1dGhlbnRpY2F0
b3Iuc2V0X3VzZXJfdmVyaWZpZWQoYXV0aGVudGljYXRvcl9pZCwgdXYpCisKKworYWN0aW9ucyA9
IFtDbGlja0FjdGlvbiwKKyAgICAgICAgICAgU2VuZEtleXNBY3Rpb24sCisgICAgICAgICAgIEFj
dGlvblNlcXVlbmNlQWN0aW9uLAorICAgICAgICAgICBHZW5lcmF0ZVRlc3RSZXBvcnRBY3Rpb24s
CisgICAgICAgICAgIFNldFBlcm1pc3Npb25BY3Rpb24sCisgICAgICAgICAgIEFkZFZpcnR1YWxB
dXRoZW50aWNhdG9yQWN0aW9uLAorICAgICAgICAgICBSZW1vdmVWaXJ0dWFsQXV0aGVudGljYXRv
ckFjdGlvbiwKKyAgICAgICAgICAgQWRkQ3JlZGVudGlhbEFjdGlvbiwKKyAgICAgICAgICAgR2V0
Q3JlZGVudGlhbHNBY3Rpb24sCisgICAgICAgICAgIFJlbW92ZUNyZWRlbnRpYWxBY3Rpb24sCisg
ICAgICAgICAgIFJlbW92ZUFsbENyZWRlbnRpYWxzQWN0aW9uLAorICAgICAgICAgICBTZXRVc2Vy
VmVyaWZpZWRBY3Rpb25dCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL2Jhc2Uu
cHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL2Jhc2UucHkKaW5kZXggM2Q4YWY0ZGU0ODY4ZTlk
YTg2YjM4ZDFjOWQ3YjMyZWQwYmZkMjY1Yi4uYzc1YThlZjMyMGYyZDE0OTIwNmM5YWI4MmNlNTVi
Yjc1NGRkYmI2OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy9iYXNlLnB5Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0
cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvYmFzZS5weQpAQCAtMSw2ICsxLDUgQEAKIGltcG9y
dCBiYXNlNjQKIGltcG9ydCBoYXNobGliCi1mcm9tIHNpeC5tb3Zlcy5odHRwX2NsaWVudCBpbXBv
cnQgSFRUUENvbm5lY3Rpb24KIGltcG9ydCBpbwogaW1wb3J0IGpzb24KIGltcG9ydCBvcwpAQCAt
OCwxMCArNywxMyBAQCBpbXBvcnQgdGhyZWFkaW5nCiBpbXBvcnQgdHJhY2ViYWNrCiBpbXBvcnQg
c29ja2V0CiBpbXBvcnQgc3lzCi1mcm9tIHNpeC5tb3Zlcy51cmxsaWIucGFyc2UgaW1wb3J0IHVy
bGpvaW4sIHVybHNwbGl0LCB1cmx1bnNwbGl0CiBmcm9tIGFiYyBpbXBvcnQgQUJDTWV0YSwgYWJz
dHJhY3RtZXRob2QKK2Zyb20gc2l4IGltcG9ydCB0ZXh0X3R5cGUKK2Zyb20gc2l4Lm1vdmVzLmh0
dHBfY2xpZW50IGltcG9ydCBIVFRQQ29ubmVjdGlvbgorZnJvbSBzaXgubW92ZXMudXJsbGliLnBh
cnNlIGltcG9ydCB1cmxqb2luLCB1cmxzcGxpdCwgdXJsdW5zcGxpdAogCiBmcm9tIC4udGVzdHJ1
bm5lciBpbXBvcnQgU3RvcAorZnJvbSAuYWN0aW9ucyBpbXBvcnQgYWN0aW9ucwogZnJvbSAucHJv
dG9jb2wgaW1wb3J0IFByb3RvY29sLCBCYXNlUHJvdG9jb2xQYXJ0CiAKIGhlcmUgPSBvcy5wYXRo
LnNwbGl0KF9fZmlsZV9fKVswXQpAQCAtMTYyLDE0ICsxNjQsMTggQEAgY2xhc3MgVGltZWRSdW5u
ZXIob2JqZWN0KToKICAgICAgICAgICAgICAgICBzZWxmLnJlc3VsdCA9IEZhbHNlLCAoIklOVEVS
TkFMLUVSUk9SIiwgIiVzLnJ1bl9mdW5jIGRpZG4ndCBzZXQgYSByZXN1bHQiICUKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fX2NsYXNzX18uX19uYW1lX18pCiAg
ICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAiRXhlY3V0b3IgaGl0
IGV4dGVybmFsIHRpbWVvdXQgKHRoaXMgbWF5IGluZGljYXRlIGEgaGFuZylcbiIKLSAgICAgICAg
ICAgICAgICAjIGdldCBhIHRyYWNlYmFjayBmb3IgdGhlIGN1cnJlbnQgc3RhY2sgb2YgdGhlIGV4
ZWN1dG9yIHRocmVhZAotICAgICAgICAgICAgICAgIG1lc3NhZ2UgKz0gIiIuam9pbih0cmFjZWJh
Y2suZm9ybWF0X3N0YWNrKHN5cy5fY3VycmVudF9mcmFtZXMoKVtleGVjdXRvci5pZGVudF0pKQot
ICAgICAgICAgICAgICAgIHNlbGYucmVzdWx0ID0gRmFsc2UsICgiRVhURVJOQUwtVElNRU9VVCIs
IG1lc3NhZ2UpCisgICAgICAgICAgICAgICAgaWYgc2VsZi5wcm90b2NvbC5pc19hbGl2ZSgpOgor
ICAgICAgICAgICAgICAgICAgICBtZXNzYWdlID0gIkV4ZWN1dG9yIGhpdCBleHRlcm5hbCB0aW1l
b3V0ICh0aGlzIG1heSBpbmRpY2F0ZSBhIGhhbmcpXG4iCisgICAgICAgICAgICAgICAgICAgICMg
Z2V0IGEgdHJhY2ViYWNrIGZvciB0aGUgY3VycmVudCBzdGFjayBvZiB0aGUgZXhlY3V0b3IgdGhy
ZWFkCisgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgKz0gIiIuam9pbih0cmFjZWJhY2suZm9y
bWF0X3N0YWNrKHN5cy5fY3VycmVudF9mcmFtZXMoKVtleGVjdXRvci5pZGVudF0pKQorICAgICAg
ICAgICAgICAgICAgICBzZWxmLnJlc3VsdCA9IEZhbHNlLCAoIkVYVEVSTkFMLVRJTUVPVVQiLCBt
ZXNzYWdlKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIHNlbGYu
bG9nZ2VyLmluZm8oIkJyb3dzZXIgbm90IHJlc3BvbmRpbmcsIHNldHRpbmcgc3RhdHVzIHRvIENS
QVNIIikKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5yZXN1bHQgPSBGYWxzZSwgKCJDUkFTSCIs
IE5vbmUpCiAgICAgICAgIGVsaWYgc2VsZi5yZXN1bHRbMV0gaXMgTm9uZToKICAgICAgICAgICAg
ICMgV2UgZGlkbid0IGdldCBhbnkgZGF0YSBiYWNrIGZyb20gdGhlIHRlc3QsIHNvIGNoZWNrIGlm
IHRoZQogICAgICAgICAgICAgIyBicm93c2VyIGlzIHN0aWxsIHJlc3BvbnNpdmUKLSAgICAgICAg
ICAgIGlmIHNlbGYucHJvdG9jb2wuaXNfYWxpdmU6CisgICAgICAgICAgICBpZiBzZWxmLnByb3Rv
Y29sLmlzX2FsaXZlKCk6CiAgICAgICAgICAgICAgICAgc2VsZi5yZXN1bHQgPSBGYWxzZSwgKCJJ
TlRFUk5BTC1FUlJPUiIsIE5vbmUpCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAg
IHNlbGYubG9nZ2VyLmluZm8oIkJyb3dzZXIgbm90IHJlc3BvbmRpbmcsIHNldHRpbmcgc3RhdHVz
IHRvIENSQVNIIikKQEAgLTIxMCw4ICsyMTYsOSBAQCBjbGFzcyBUZXN0RXhlY3V0b3Iob2JqZWN0
KToKICAgICBleHRyYV90aW1lb3V0ID0gNSAgIyBzZWNvbmRzCiAKIAotICAgIGRlZiBfX2luaXRf
XyhzZWxmLCBicm93c2VyLCBzZXJ2ZXJfY29uZmlnLCB0aW1lb3V0X211bHRpcGxpZXI9MSwKKyAg
ICBkZWYgX19pbml0X18oc2VsZiwgbG9nZ2VyLCBicm93c2VyLCBzZXJ2ZXJfY29uZmlnLCB0aW1l
b3V0X211bHRpcGxpZXI9MSwKICAgICAgICAgICAgICAgICAgZGVidWdfaW5mbz1Ob25lLCAqKmt3
YXJncyk6CisgICAgICAgIHNlbGYubG9nZ2VyID0gbG9nZ2VyCiAgICAgICAgIHNlbGYucnVubmVy
ID0gTm9uZQogICAgICAgICBzZWxmLmJyb3dzZXIgPSBicm93c2VyCiAgICAgICAgIHNlbGYuc2Vy
dmVyX2NvbmZpZyA9IHNlcnZlcl9jb25maWcKQEAgLTIyMSwxMiArMjI4LDYgQEAgY2xhc3MgVGVz
dEV4ZWN1dG9yKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJl
ZnMiOiB7fX0KICAgICAgICAgc2VsZi5wcm90b2NvbCA9IE5vbmUgICMgVGhpcyBtdXN0IGJlIHNl
dCBpbiBzdWJjbGFzc2VzCiAKLSAgICBAcHJvcGVydHkKLSAgICBkZWYgbG9nZ2VyKHNlbGYpOgot
ICAgICAgICAiIiJTdHJ1Y3R1cmVkTG9nZ2VyIGZvciB0aGlzIGV4ZWN1dG9yIiIiCi0gICAgICAg
IGlmIHNlbGYucnVubmVyIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYucnVu
bmVyLmxvZ2dlcgotCiAgICAgZGVmIHNldHVwKHNlbGYsIHJ1bm5lcik6CiAgICAgICAgICIiIlJ1
biBzdGVwcyBuZWVkZWQgYmVmb3JlIHRlc3RzIGNhbiBiZSBzdGFydGVkIGUuZy4gY29ubmVjdGlu
ZyB0bwogICAgICAgICBicm93c2VyIGluc3RhbmNlCkBAIC0yNTUsOCArMjU2LDkgQEAgY2xhc3Mg
VGVzdEV4ZWN1dG9yKG9iamVjdCk6CiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHJlc3VsdCA9
IHNlbGYuZG9fdGVzdCh0ZXN0KQogICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6Ci0gICAg
ICAgICAgICBzZWxmLmxvZ2dlci53YXJuaW5nKHRyYWNlYmFjay5mb3JtYXRfZXhjKGUpKQotICAg
ICAgICAgICAgcmVzdWx0ID0gc2VsZi5yZXN1bHRfZnJvbV9leGNlcHRpb24odGVzdCwgZSkKKyAg
ICAgICAgICAgIGV4Y2VwdGlvbl9zdHJpbmcgPSB0cmFjZWJhY2suZm9ybWF0X2V4YygpCisgICAg
ICAgICAgICBzZWxmLmxvZ2dlci53YXJuaW5nKGV4Y2VwdGlvbl9zdHJpbmcpCisgICAgICAgICAg
ICByZXN1bHQgPSBzZWxmLnJlc3VsdF9mcm9tX2V4Y2VwdGlvbih0ZXN0LCBlLCBleGNlcHRpb25f
c3RyaW5nKQogCiAgICAgICAgIGlmIHJlc3VsdCBpcyBTdG9wOgogICAgICAgICAgICAgcmV0dXJu
IHJlc3VsdApAQCAtMjcwLDcgKzI3Miw4IEBAIGNsYXNzIFRlc3RFeGVjdXRvcihvYmplY3QpOgog
ICAgICAgICBzZWxmLnJ1bm5lci5zZW5kX21lc3NhZ2UoInRlc3RfZW5kZWQiLCB0ZXN0LCByZXN1
bHQpCiAKICAgICBkZWYgc2VydmVyX3VybChzZWxmLCBwcm90b2NvbCk6Ci0gICAgICAgIHJldHVy
biAiJXM6Ly8lczolcyIgJSAocHJvdG9jb2wsCisgICAgICAgIHNjaGVtZSA9ICJodHRwcyIgaWYg
cHJvdG9jb2wgPT0gImgyIiBlbHNlIHByb3RvY29sCisgICAgICAgIHJldHVybiAiJXM6Ly8lczol
cyIgJSAoc2NoZW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2VydmVy
X2NvbmZpZ1siYnJvd3Nlcl9ob3N0Il0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c2VsZi5zZXJ2ZXJfY29uZmlnWyJwb3J0cyJdW3Byb3RvY29sXVswXSkKIApAQCAtMjg4LDE1ICsy
OTEsMTUgQEAgY2xhc3MgVGVzdEV4ZWN1dG9yKG9iamVjdCk6CiAgICAgZGVmIG9uX2Vudmlyb25t
ZW50X2NoYW5nZShzZWxmLCBuZXdfZW52aXJvbm1lbnQpOgogICAgICAgICBwYXNzCiAKLSAgICBk
ZWYgcmVzdWx0X2Zyb21fZXhjZXB0aW9uKHNlbGYsIHRlc3QsIGUpOgorICAgIGRlZiByZXN1bHRf
ZnJvbV9leGNlcHRpb24oc2VsZiwgdGVzdCwgZSwgZXhjZXB0aW9uX3N0cmluZyk6CiAgICAgICAg
IGlmIGhhc2F0dHIoZSwgInN0YXR1cyIpIGFuZCBlLnN0YXR1cyBpbiB0ZXN0LnJlc3VsdF9jbHMu
c3RhdHVzZXM6CiAgICAgICAgICAgICBzdGF0dXMgPSBlLnN0YXR1cwogICAgICAgICBlbHNlOgog
ICAgICAgICAgICAgc3RhdHVzID0gIklOVEVSTkFMLUVSUk9SIgotICAgICAgICBtZXNzYWdlID0g
dW5pY29kZShnZXRhdHRyKGUsICJtZXNzYWdlIiwgIiIpKQorICAgICAgICBtZXNzYWdlID0gdGV4
dF90eXBlKGdldGF0dHIoZSwgIm1lc3NhZ2UiLCAiIikpCiAgICAgICAgIGlmIG1lc3NhZ2U6CiAg
ICAgICAgICAgICBtZXNzYWdlICs9ICJcbiIKLSAgICAgICAgbWVzc2FnZSArPSB0cmFjZWJhY2su
Zm9ybWF0X2V4YyhlKQorICAgICAgICBtZXNzYWdlICs9IGV4Y2VwdGlvbl9zdHJpbmcKICAgICAg
ICAgcmV0dXJuIHRlc3QucmVzdWx0X2NscyhzdGF0dXMsIG1lc3NhZ2UpLCBbXQogCiAgICAgZGVm
IHdhaXQoc2VsZik6CkBAIC0zMTAsOSArMzEzLDkgQEAgY2xhc3MgVGVzdGhhcm5lc3NFeGVjdXRv
cihUZXN0RXhlY3V0b3IpOgogY2xhc3MgUmVmVGVzdEV4ZWN1dG9yKFRlc3RFeGVjdXRvcik6CiAg
ICAgY29udmVydF9yZXN1bHQgPSByZWZ0ZXN0X3Jlc3VsdF9jb252ZXJ0ZXIKIAotICAgIGRlZiBf
X2luaXRfXyhzZWxmLCBicm93c2VyLCBzZXJ2ZXJfY29uZmlnLCB0aW1lb3V0X211bHRpcGxpZXI9
MSwgc2NyZWVuc2hvdF9jYWNoZT1Ob25lLAorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBsb2dnZXIs
IGJyb3dzZXIsIHNlcnZlcl9jb25maWcsIHRpbWVvdXRfbXVsdGlwbGllcj0xLCBzY3JlZW5zaG90
X2NhY2hlPU5vbmUsCiAgICAgICAgICAgICAgICAgIGRlYnVnX2luZm89Tm9uZSwgKiprd2FyZ3Mp
OgotICAgICAgICBUZXN0RXhlY3V0b3IuX19pbml0X18oc2VsZiwgYnJvd3Nlciwgc2VydmVyX2Nv
bmZpZywKKyAgICAgICAgVGVzdEV4ZWN1dG9yLl9faW5pdF9fKHNlbGYsIGxvZ2dlciwgYnJvd3Nl
ciwgc2VydmVyX2NvbmZpZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVvdXRf
bXVsdGlwbGllcj10aW1lb3V0X211bHRpcGxpZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBkZWJ1Z19pbmZvPWRlYnVnX2luZm8pCiAKQEAgLTQ5NiwxMSArNDk5LDExIEBAIGNsYXNz
IFdkc3BlY0V4ZWN1dG9yKFRlc3RFeGVjdXRvcik6CiAgICAgY29udmVydF9yZXN1bHQgPSBweXRl
c3RfcmVzdWx0X2NvbnZlcnRlcgogICAgIHByb3RvY29sX2NscyA9IE5vbmUKIAotICAgIGRlZiBf
X2luaXRfXyhzZWxmLCBicm93c2VyLCBzZXJ2ZXJfY29uZmlnLCB3ZWJkcml2ZXJfYmluYXJ5LAor
ICAgIGRlZiBfX2luaXRfXyhzZWxmLCBsb2dnZXIsIGJyb3dzZXIsIHNlcnZlcl9jb25maWcsIHdl
YmRyaXZlcl9iaW5hcnksCiAgICAgICAgICAgICAgICAgIHdlYmRyaXZlcl9hcmdzLCB0aW1lb3V0
X211bHRpcGxpZXI9MSwgY2FwYWJpbGl0aWVzPU5vbmUsCiAgICAgICAgICAgICAgICAgIGRlYnVn
X2luZm89Tm9uZSwgKiprd2FyZ3MpOgogICAgICAgICBzZWxmLmRvX2RlbGF5ZWRfaW1wb3J0cygp
Ci0gICAgICAgIFRlc3RFeGVjdXRvci5fX2luaXRfXyhzZWxmLCBicm93c2VyLCBzZXJ2ZXJfY29u
ZmlnLAorICAgICAgICBUZXN0RXhlY3V0b3IuX19pbml0X18oc2VsZiwgbG9nZ2VyLCBicm93c2Vy
LCBzZXJ2ZXJfY29uZmlnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZW91dF9t
dWx0aXBsaWVyPXRpbWVvdXRfbXVsdGlwbGllciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGRlYnVnX2luZm89ZGVidWdfaW5mbykKICAgICAgICAgc2VsZi53ZWJkcml2ZXJfYmluYXJ5
ID0gd2ViZHJpdmVyX2JpbmFyeQpAQCAtNTEwLDcgKzUxMyw3IEBAIGNsYXNzIFdkc3BlY0V4ZWN1
dG9yKFRlc3RFeGVjdXRvcik6CiAgICAgICAgIHNlbGYucHJvdG9jb2wgPSBzZWxmLnByb3RvY29s
X2NscyhzZWxmLCBicm93c2VyKQogCiAgICAgZGVmIGlzX2FsaXZlKHNlbGYpOgotICAgICAgICBy
ZXR1cm4gc2VsZi5wcm90b2NvbC5pc19hbGl2ZQorICAgICAgICByZXR1cm4gc2VsZi5wcm90b2Nv
bC5pc19hbGl2ZSgpCiAKICAgICBkZWYgb25fZW52aXJvbm1lbnRfY2hhbmdlKHNlbGYsIG5ld19l
bnZpcm9ubWVudCk6CiAgICAgICAgIHBhc3MKQEAgLTU3Myw3ICs1NzYsNyBAQCBjbGFzcyBXZHNw
ZWNSdW4ob2JqZWN0KToKICAgICAgICAgICAgIG1lc3NhZ2UgPSBnZXRhdHRyKGUsICJtZXNzYWdl
IikKICAgICAgICAgICAgIGlmIG1lc3NhZ2U6CiAgICAgICAgICAgICAgICAgbWVzc2FnZSArPSAi
XG4iCi0gICAgICAgICAgICBtZXNzYWdlICs9IHRyYWNlYmFjay5mb3JtYXRfZXhjKGUpCisgICAg
ICAgICAgICBtZXNzYWdlICs9IHRyYWNlYmFjay5mb3JtYXRfZXhjKCkKICAgICAgICAgICAgIHNl
bGYucmVzdWx0ID0gRmFsc2UsICgiSU5URVJOQUwtRVJST1IiLCBtZXNzYWdlKQogICAgICAgICBm
aW5hbGx5OgogICAgICAgICAgICAgc2VsZi5yZXN1bHRfZmxhZy5zZXQoKQpAQCAtNjM2LDEwICs2
MzksOSBAQCBjbGFzcyBXZWJEcml2ZXJQcm90b2NvbChQcm90b2NvbCk6CiAgICAgICAgIHBhc3MK
IAogICAgIGRlZiB0ZWFyZG93bihzZWxmKToKLSAgICAgICAgaWYgc2VsZi5zZXJ2ZXIgaXMgbm90
IE5vbmUgYW5kIHNlbGYuc2VydmVyLmlzX2FsaXZlOgorICAgICAgICBpZiBzZWxmLnNlcnZlciBp
cyBub3QgTm9uZSBhbmQgc2VsZi5zZXJ2ZXIuaXNfYWxpdmUoKToKICAgICAgICAgICAgIHNlbGYu
c2VydmVyLnN0b3AoKQogCi0gICAgQHByb3BlcnR5CiAgICAgZGVmIGlzX2FsaXZlKHNlbGYpOgog
ICAgICAgICAiIiJUZXN0IHRoYXQgdGhlIGNvbm5lY3Rpb24gaXMgc3RpbGwgYWxpdmUuCiAKQEAg
LTY3NSwyMCArNjc3LDcgQEAgY2xhc3MgQ2FsbGJhY2tIYW5kbGVyKG9iamVjdCk6CiAgICAgICAg
ICAgICAiY29tcGxldGUiOiBzZWxmLnByb2Nlc3NfY29tcGxldGUKICAgICAgICAgfQogCi0gICAg
ICAgIHNlbGYuYWN0aW9ucyA9IHsKLSAgICAgICAgICAgICJjbGljayI6IENsaWNrQWN0aW9uKHNl
bGYubG9nZ2VyLCBzZWxmLnByb3RvY29sKSwKLSAgICAgICAgICAgICJzZW5kX2tleXMiOiBTZW5k
S2V5c0FjdGlvbihzZWxmLmxvZ2dlciwgc2VsZi5wcm90b2NvbCksCi0gICAgICAgICAgICAiYWN0
aW9uX3NlcXVlbmNlIjogQWN0aW9uU2VxdWVuY2VBY3Rpb24oc2VsZi5sb2dnZXIsIHNlbGYucHJv
dG9jb2wpLAotICAgICAgICAgICAgImdlbmVyYXRlX3Rlc3RfcmVwb3J0IjogR2VuZXJhdGVUZXN0
UmVwb3J0QWN0aW9uKHNlbGYubG9nZ2VyLCBzZWxmLnByb3RvY29sKSwKLSAgICAgICAgICAgICJz
ZXRfcGVybWlzc2lvbiI6IFNldFBlcm1pc3Npb25BY3Rpb24oc2VsZi5sb2dnZXIsIHNlbGYucHJv
dG9jb2wpLAotICAgICAgICAgICAgImFkZF92aXJ0dWFsX2F1dGhlbnRpY2F0b3IiOiBBZGRWaXJ0
dWFsQXV0aGVudGljYXRvckFjdGlvbihzZWxmLmxvZ2dlciwgc2VsZi5wcm90b2NvbCksCi0gICAg
ICAgICAgICAicmVtb3ZlX3ZpcnR1YWxfYXV0aGVudGljYXRvciI6IFJlbW92ZVZpcnR1YWxBdXRo
ZW50aWNhdG9yQWN0aW9uKHNlbGYubG9nZ2VyLCBzZWxmLnByb3RvY29sKSwKLSAgICAgICAgICAg
ICJhZGRfY3JlZGVudGlhbCI6IEFkZENyZWRlbnRpYWxBY3Rpb24oc2VsZi5sb2dnZXIsIHNlbGYu
cHJvdG9jb2wpLAotICAgICAgICAgICAgImdldF9jcmVkZW50aWFscyI6IEdldENyZWRlbnRpYWxz
QWN0aW9uKHNlbGYubG9nZ2VyLCBzZWxmLnByb3RvY29sKSwKLSAgICAgICAgICAgICJyZW1vdmVf
Y3JlZGVudGlhbCI6IFJlbW92ZUNyZWRlbnRpYWxBY3Rpb24oc2VsZi5sb2dnZXIsIHNlbGYucHJv
dG9jb2wpLAotICAgICAgICAgICAgInJlbW92ZV9hbGxfY3JlZGVudGlhbHMiOiBSZW1vdmVBbGxD
cmVkZW50aWFsc0FjdGlvbihzZWxmLmxvZ2dlciwgc2VsZi5wcm90b2NvbCksCi0gICAgICAgICAg
ICAic2V0X3VzZXJfdmVyaWZpZWQiOiBTZXRVc2VyVmVyaWZpZWRBY3Rpb24oc2VsZi5sb2dnZXIs
IHNlbGYucHJvdG9jb2wpLAotICAgICAgICB9CisgICAgICAgIHNlbGYuYWN0aW9ucyA9IHtjbHMu
bmFtZTogY2xzKHNlbGYubG9nZ2VyLCBzZWxmLnByb3RvY29sKSBmb3IgY2xzIGluIGFjdGlvbnN9
CiAKICAgICBkZWYgX19jYWxsX18oc2VsZiwgcmVzdWx0KToKICAgICAgICAgdXJsLCBjb21tYW5k
LCBwYXlsb2FkID0gcmVzdWx0CkBAIC03MjksMTUwICs3MTgsMyBAQCBjbGFzcyBDYWxsYmFja0hh
bmRsZXIob2JqZWN0KToKIAogICAgIGRlZiBfc2VuZF9tZXNzYWdlKHNlbGYsIG1lc3NhZ2VfdHlw
ZSwgc3RhdHVzLCBtZXNzYWdlPU5vbmUpOgogICAgICAgICBzZWxmLnByb3RvY29sLnRlc3Rkcml2
ZXIuc2VuZF9tZXNzYWdlKG1lc3NhZ2VfdHlwZSwgc3RhdHVzLCBtZXNzYWdlPW1lc3NhZ2UpCi0K
LQotY2xhc3MgQ2xpY2tBY3Rpb24ob2JqZWN0KToKLSAgICBkZWYgX19pbml0X18oc2VsZiwgbG9n
Z2VyLCBwcm90b2NvbCk6Ci0gICAgICAgIHNlbGYubG9nZ2VyID0gbG9nZ2VyCi0gICAgICAgIHNl
bGYucHJvdG9jb2wgPSBwcm90b2NvbAotCi0gICAgZGVmIF9fY2FsbF9fKHNlbGYsIHBheWxvYWQp
OgotICAgICAgICBzZWxlY3RvciA9IHBheWxvYWRbInNlbGVjdG9yIl0KLSAgICAgICAgZWxlbWVu
dCA9IHNlbGYucHJvdG9jb2wuc2VsZWN0LmVsZW1lbnRfYnlfc2VsZWN0b3Ioc2VsZWN0b3IpCi0g
ICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJDbGlja2luZyBlbGVtZW50OiAlcyIgJSBzZWxlY3Rv
cikKLSAgICAgICAgc2VsZi5wcm90b2NvbC5jbGljay5lbGVtZW50KGVsZW1lbnQpCi0KLQotY2xh
c3MgU2VuZEtleXNBY3Rpb24ob2JqZWN0KToKLSAgICBkZWYgX19pbml0X18oc2VsZiwgbG9nZ2Vy
LCBwcm90b2NvbCk6Ci0gICAgICAgIHNlbGYubG9nZ2VyID0gbG9nZ2VyCi0gICAgICAgIHNlbGYu
cHJvdG9jb2wgPSBwcm90b2NvbAotCi0gICAgZGVmIF9fY2FsbF9fKHNlbGYsIHBheWxvYWQpOgot
ICAgICAgICBzZWxlY3RvciA9IHBheWxvYWRbInNlbGVjdG9yIl0KLSAgICAgICAga2V5cyA9IHBh
eWxvYWRbImtleXMiXQotICAgICAgICBlbGVtZW50ID0gc2VsZi5wcm90b2NvbC5zZWxlY3QuZWxl
bWVudF9ieV9zZWxlY3RvcihzZWxlY3RvcikKLSAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoIlNl
bmRpbmcga2V5cyB0byBlbGVtZW50OiAlcyIgJSBzZWxlY3RvcikKLSAgICAgICAgc2VsZi5wcm90
b2NvbC5zZW5kX2tleXMuc2VuZF9rZXlzKGVsZW1lbnQsIGtleXMpCi0KLQotY2xhc3MgQWN0aW9u
U2VxdWVuY2VBY3Rpb24ob2JqZWN0KToKLSAgICBkZWYgX19pbml0X18oc2VsZiwgbG9nZ2VyLCBw
cm90b2NvbCk6Ci0gICAgICAgIHNlbGYubG9nZ2VyID0gbG9nZ2VyCi0gICAgICAgIHNlbGYucHJv
dG9jb2wgPSBwcm90b2NvbAotCi0gICAgZGVmIF9fY2FsbF9fKHNlbGYsIHBheWxvYWQpOgotICAg
ICAgICAjIFRPRE86IHNvbWUgc29ydCBvZiBzaGFsbG93IGVycm9yIGNoZWNraW5nCi0gICAgICAg
IGFjdGlvbnMgPSBwYXlsb2FkWyJhY3Rpb25zIl0KLSAgICAgICAgZm9yIGFjdGlvblNlcXVlbmNl
IGluIGFjdGlvbnM6Ci0gICAgICAgICAgICBpZiBhY3Rpb25TZXF1ZW5jZVsidHlwZSJdID09ICJw
b2ludGVyIjoKLSAgICAgICAgICAgICAgICBmb3IgYWN0aW9uIGluIGFjdGlvblNlcXVlbmNlWyJh
Y3Rpb25zIl06Ci0gICAgICAgICAgICAgICAgICAgIGlmIChhY3Rpb25bInR5cGUiXSA9PSAicG9p
bnRlck1vdmUiIGFuZAotICAgICAgICAgICAgICAgICAgICAgICAgaXNpbnN0YW5jZShhY3Rpb25b
Im9yaWdpbiJdLCBkaWN0KSk6Ci0gICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb25bIm9yaWdp
biJdID0gc2VsZi5nZXRfZWxlbWVudChhY3Rpb25bIm9yaWdpbiJdWyJzZWxlY3RvciJdLCBhY3Rp
b25bImZyYW1lIl1bImZyYW1lIl0pCi0gICAgICAgIHNlbGYucHJvdG9jb2wuYWN0aW9uX3NlcXVl
bmNlLnNlbmRfYWN0aW9ucyh7ImFjdGlvbnMiOiBhY3Rpb25zfSkKLQotICAgIGRlZiBnZXRfZWxl
bWVudChzZWxmLCBlbGVtZW50X3NlbGVjdG9yLCBmcmFtZSk6Ci0gICAgICAgIGVsZW1lbnQgPSBz
ZWxmLnByb3RvY29sLnNlbGVjdC5lbGVtZW50X2J5X3NlbGVjdG9yKGVsZW1lbnRfc2VsZWN0b3Is
IGZyYW1lKQotICAgICAgICByZXR1cm4gZWxlbWVudAotCi1jbGFzcyBHZW5lcmF0ZVRlc3RSZXBv
cnRBY3Rpb24ob2JqZWN0KToKLSAgICBkZWYgX19pbml0X18oc2VsZiwgbG9nZ2VyLCBwcm90b2Nv
bCk6Ci0gICAgICAgIHNlbGYubG9nZ2VyID0gbG9nZ2VyCi0gICAgICAgIHNlbGYucHJvdG9jb2wg
PSBwcm90b2NvbAotCi0gICAgZGVmIF9fY2FsbF9fKHNlbGYsIHBheWxvYWQpOgotICAgICAgICBt
ZXNzYWdlID0gcGF5bG9hZFsibWVzc2FnZSJdCi0gICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJH
ZW5lcmF0aW5nIHRlc3QgcmVwb3J0OiAlcyIgJSBtZXNzYWdlKQotICAgICAgICBzZWxmLnByb3Rv
Y29sLmdlbmVyYXRlX3Rlc3RfcmVwb3J0LmdlbmVyYXRlX3Rlc3RfcmVwb3J0KG1lc3NhZ2UpCi0K
LWNsYXNzIFNldFBlcm1pc3Npb25BY3Rpb24ob2JqZWN0KToKLSAgICBkZWYgX19pbml0X18oc2Vs
ZiwgbG9nZ2VyLCBwcm90b2NvbCk6Ci0gICAgICAgIHNlbGYubG9nZ2VyID0gbG9nZ2VyCi0gICAg
ICAgIHNlbGYucHJvdG9jb2wgPSBwcm90b2NvbAotCi0gICAgZGVmIF9fY2FsbF9fKHNlbGYsIHBh
eWxvYWQpOgotICAgICAgICBwZXJtaXNzaW9uX3BhcmFtcyA9IHBheWxvYWRbInBlcm1pc3Npb25f
cGFyYW1zIl0KLSAgICAgICAgZGVzY3JpcHRvciA9IHBlcm1pc3Npb25fcGFyYW1zWyJkZXNjcmlw
dG9yIl0KLSAgICAgICAgbmFtZSA9IGRlc2NyaXB0b3JbIm5hbWUiXQotICAgICAgICBzdGF0ZSA9
IHBlcm1pc3Npb25fcGFyYW1zWyJzdGF0ZSJdCi0gICAgICAgIG9uZV9yZWFsbSA9IHBlcm1pc3Np
b25fcGFyYW1zLmdldCgib25lUmVhbG0iLCBGYWxzZSkKLSAgICAgICAgc2VsZi5sb2dnZXIuZGVi
dWcoIlNldHRpbmcgcGVybWlzc2lvbiAlcyB0byAlcywgb25lUmVhbG09JXMiICUgKG5hbWUsIHN0
YXRlLCBvbmVfcmVhbG0pKQotICAgICAgICBzZWxmLnByb3RvY29sLnNldF9wZXJtaXNzaW9uLnNl
dF9wZXJtaXNzaW9uKGRlc2NyaXB0b3IsIHN0YXRlLCBvbmVfcmVhbG0pCi0KLWNsYXNzIEFkZFZp
cnR1YWxBdXRoZW50aWNhdG9yQWN0aW9uKG9iamVjdCk6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYs
IGxvZ2dlciwgcHJvdG9jb2wpOgotICAgICAgICBzZWxmLmxvZ2dlciA9IGxvZ2dlcgotICAgICAg
ICBzZWxmLnByb3RvY29sID0gcHJvdG9jb2wKLQotICAgIGRlZiBfX2NhbGxfXyhzZWxmLCBwYXls
b2FkKToKLSAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoIkFkZGluZyB2aXJ0dWFsIGF1dGhlbnRp
Y2F0b3IiKQotICAgICAgICBjb25maWcgPSBwYXlsb2FkWyJjb25maWciXQotICAgICAgICBhdXRo
ZW50aWNhdG9yX2lkID0gc2VsZi5wcm90b2NvbC52aXJ0dWFsX2F1dGhlbnRpY2F0b3IuYWRkX3Zp
cnR1YWxfYXV0aGVudGljYXRvcihjb25maWcpCi0gICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJB
dXRoZW50aWNhdG9yIGNyZWF0ZWQgd2l0aCBJRCAlcyIgJSBhdXRoZW50aWNhdG9yX2lkKQotICAg
ICAgICByZXR1cm4gYXV0aGVudGljYXRvcl9pZAotCi1jbGFzcyBSZW1vdmVWaXJ0dWFsQXV0aGVu
dGljYXRvckFjdGlvbihvYmplY3QpOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBsb2dnZXIsIHBy
b3RvY29sKToKLSAgICAgICAgc2VsZi5sb2dnZXIgPSBsb2dnZXIKLSAgICAgICAgc2VsZi5wcm90
b2NvbCA9IHByb3RvY29sCi0KLSAgICBkZWYgX19jYWxsX18oc2VsZiwgcGF5bG9hZCk6Ci0gICAg
ICAgIGF1dGhlbnRpY2F0b3JfaWQgPSBwYXlsb2FkWyJhdXRoZW50aWNhdG9yX2lkIl0KLSAgICAg
ICAgc2VsZi5sb2dnZXIuZGVidWcoIlJlbW92aW5nIHZpcnR1YWwgYXV0aGVudGljYXRvciAlcyIg
JSBhdXRoZW50aWNhdG9yX2lkKQotICAgICAgICByZXR1cm4gc2VsZi5wcm90b2NvbC52aXJ0dWFs
X2F1dGhlbnRpY2F0b3IucmVtb3ZlX3ZpcnR1YWxfYXV0aGVudGljYXRvcihhdXRoZW50aWNhdG9y
X2lkKQotCi0KLWNsYXNzIEFkZENyZWRlbnRpYWxBY3Rpb24ob2JqZWN0KToKLSAgICBkZWYgX19p
bml0X18oc2VsZiwgbG9nZ2VyLCBwcm90b2NvbCk6Ci0gICAgICAgIHNlbGYubG9nZ2VyID0gbG9n
Z2VyCi0gICAgICAgIHNlbGYucHJvdG9jb2wgPSBwcm90b2NvbAotCi0gICAgZGVmIF9fY2FsbF9f
KHNlbGYsIHBheWxvYWQpOgotICAgICAgICBhdXRoZW50aWNhdG9yX2lkID0gcGF5bG9hZFsiYXV0
aGVudGljYXRvcl9pZCJdCi0gICAgICAgIGNyZWRlbnRpYWwgPSBwYXlsb2FkWyJjcmVkZW50aWFs
Il0KLSAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoIkFkZGluZyBjcmVkZW50aWFsIHRvIHZpcnR1
YWwgYXV0aGVudGljYXRvciAlcyAiICUgYXV0aGVudGljYXRvcl9pZCkKLSAgICAgICAgcmV0dXJu
IHNlbGYucHJvdG9jb2wudmlydHVhbF9hdXRoZW50aWNhdG9yLmFkZF9jcmVkZW50aWFsKGF1dGhl
bnRpY2F0b3JfaWQsIGNyZWRlbnRpYWwpCi0KLWNsYXNzIEdldENyZWRlbnRpYWxzQWN0aW9uKG9i
amVjdCk6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGxvZ2dlciwgcHJvdG9jb2wpOgotICAgICAg
ICBzZWxmLmxvZ2dlciA9IGxvZ2dlcgotICAgICAgICBzZWxmLnByb3RvY29sID0gcHJvdG9jb2wK
LQotICAgIGRlZiBfX2NhbGxfXyhzZWxmLCBwYXlsb2FkKToKLSAgICAgICAgYXV0aGVudGljYXRv
cl9pZCA9IHBheWxvYWRbImF1dGhlbnRpY2F0b3JfaWQiXQotICAgICAgICBzZWxmLmxvZ2dlci5k
ZWJ1ZygiR2V0dGluZyBjcmVkZW50aWFscyBmcm9tIHZpcnR1YWwgYXV0aGVudGljYXRvciAlcyAi
ICUgYXV0aGVudGljYXRvcl9pZCkKLSAgICAgICAgcmV0dXJuIHNlbGYucHJvdG9jb2wudmlydHVh
bF9hdXRoZW50aWNhdG9yLmdldF9jcmVkZW50aWFscyhhdXRoZW50aWNhdG9yX2lkKQotCi1jbGFz
cyBSZW1vdmVDcmVkZW50aWFsQWN0aW9uKG9iamVjdCk6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYs
IGxvZ2dlciwgcHJvdG9jb2wpOgotICAgICAgICBzZWxmLmxvZ2dlciA9IGxvZ2dlcgotICAgICAg
ICBzZWxmLnByb3RvY29sID0gcHJvdG9jb2wKLQotICAgIGRlZiBfX2NhbGxfXyhzZWxmLCBwYXls
b2FkKToKLSAgICAgICAgYXV0aGVudGljYXRvcl9pZCA9IHBheWxvYWRbImF1dGhlbnRpY2F0b3Jf
aWQiXQotICAgICAgICBjcmVkZW50aWFsX2lkID0gcGF5bG9hZFsiY3JlZGVudGlhbF9pZCJdCi0g
ICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJSZW1vdmluZyBjcmVkZW50aWFsICVzIGZyb20gYXV0
aGVudGljYXRvciAlcyIgJSAoY3JlZGVudGlhbF9pZCwgYXV0aGVudGljYXRvcl9pZCkpCi0gICAg
ICAgIHJldHVybiBzZWxmLnByb3RvY29sLnZpcnR1YWxfYXV0aGVudGljYXRvci5yZW1vdmVfY3Jl
ZGVudGlhbChhdXRoZW50aWNhdG9yX2lkLCBjcmVkZW50aWFsX2lkKQotCi1jbGFzcyBSZW1vdmVB
bGxDcmVkZW50aWFsc0FjdGlvbihvYmplY3QpOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBsb2dn
ZXIsIHByb3RvY29sKToKLSAgICAgICAgc2VsZi5sb2dnZXIgPSBsb2dnZXIKLSAgICAgICAgc2Vs
Zi5wcm90b2NvbCA9IHByb3RvY29sCi0KLSAgICBkZWYgX19jYWxsX18oc2VsZiwgcGF5bG9hZCk6
Ci0gICAgICAgIGF1dGhlbnRpY2F0b3JfaWQgPSBwYXlsb2FkWyJhdXRoZW50aWNhdG9yX2lkIl0K
LSAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoIlJlbW92aW5nIGFsbCBjcmVkZW50aWFscyBmcm9t
IGF1dGhlbnRpY2F0b3IgJXMiICUgYXV0aGVudGljYXRvcl9pZCkKLSAgICAgICAgcmV0dXJuIHNl
bGYucHJvdG9jb2wudmlydHVhbF9hdXRoZW50aWNhdG9yLnJlbW92ZV9hbGxfY3JlZGVudGlhbHMo
YXV0aGVudGljYXRvcl9pZCkKLQotY2xhc3MgU2V0VXNlclZlcmlmaWVkQWN0aW9uKG9iamVjdCk6
Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGxvZ2dlciwgcHJvdG9jb2wpOgotICAgICAgICBzZWxm
LmxvZ2dlciA9IGxvZ2dlcgotICAgICAgICBzZWxmLnByb3RvY29sID0gcHJvdG9jb2wKLQotICAg
IGRlZiBfX2NhbGxfXyhzZWxmLCBwYXlsb2FkKToKLSAgICAgICAgYXV0aGVudGljYXRvcl9pZCA9
IHBheWxvYWRbImF1dGhlbnRpY2F0b3JfaWQiXQotICAgICAgICB1diA9IHBheWxvYWRbInV2Il0K
LSAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoCi0gICAgICAgICAgICAiU2V0dGluZyB1c2VyIHZl
cmlmaWVkIGZsYWcgb24gYXV0aGVudGljYXRvciAlcyB0byAlcyIgJSAoYXV0aGVudGljYXRvcl9p
ZCwgdXZbImlzVXNlclZlcmlmaWVkIl0pKQotICAgICAgICByZXR1cm4gc2VsZi5wcm90b2NvbC52
aXJ0dWFsX2F1dGhlbnRpY2F0b3Iuc2V0X3VzZXJfdmVyaWZpZWQoYXV0aGVudGljYXRvcl9pZCwg
dXYpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL2V4ZWN1dG9ybWFyaW9uZXR0
ZS5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvZXhlY3V0b3JtYXJpb25ldHRlLnB5CmluZGV4
IDU5ZjdlODY1YTViODcxMWZhNzFjOWM4OTU1ZWNhNzMxZTAwNDhjM2YuLjJlYWYyNTgwMWRmNTAy
NzZmMmIwMjQ0N2Q2OGEzZmM5OGM1YzM3N2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVj
dXRvcnMvZXhlY3V0b3JtYXJpb25ldHRlLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMv
ZXhlY3V0b3JtYXJpb25ldHRlLnB5CkBAIC0zLDkgKzMsMTEgQEAgaW1wb3J0IG9zCiBpbXBvcnQg
dGhyZWFkaW5nCiBpbXBvcnQgdGltZQogaW1wb3J0IHRyYWNlYmFjawotaW1wb3J0IHVybHBhcnNl
CiBpbXBvcnQgdXVpZAogCitmcm9tIHNpeCBpbXBvcnQgaXRlcml0ZW1zLCBpdGVya2V5cworZnJv
bSBzaXgubW92ZXMudXJsbGliLnBhcnNlIGltcG9ydCB1cmxqb2luCisKIGVycm9ycyA9IE5vbmUK
IG1hcmlvbmV0dGUgPSBOb25lCiBweXRlc3RydW5uZXIgPSBOb25lCkBAIC0xMTMsOCArMTE1LDgg
QEAgY2xhc3MgTWFyaW9uZXR0ZUJhc2VQcm90b2NvbFBhcnQoQmFzZVByb3RvY29sUGFydCk6CiAg
ICAgICAgICAgICBleGNlcHQgSU9FcnJvcjoKICAgICAgICAgICAgICAgICBzZWxmLmxvZ2dlci5k
ZWJ1ZygiU29ja2V0IGNsb3NlZCIpCiAgICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAg
IGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKLSAgICAgICAgICAgICAgICBzZWxmLmxvZ2dlci53YXJu
aW5nKHRyYWNlYmFjay5mb3JtYXRfZXhjKGUpKQorICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlv
bjoKKyAgICAgICAgICAgICAgICBzZWxmLmxvZ2dlci53YXJuaW5nKHRyYWNlYmFjay5mb3JtYXRf
ZXhjKCkpCiAgICAgICAgICAgICAgICAgYnJlYWsKIAogCkBAIC0xMzIsMTcgKzEzNCwxNiBAQCBj
bGFzcyBNYXJpb25ldHRlVGVzdGhhcm5lc3NQcm90b2NvbFBhcnQoVGVzdGhhcm5lc3NQcm90b2Nv
bFBhcnQpOgogICAgICAgICAjIENoZWNrIGlmIHdlIHByZXZpb3VzbHkgaGFkIGEgdGVzdCB3aW5k
b3cgb3BlbiwgYW5kIGlmIHdlIGRpZCBtYWtlIHN1cmUgaXQncyBjbG9zZWQKICAgICAgICAgaWYg
c2VsZi5ydW5uZXJfaGFuZGxlOgogICAgICAgICAgICAgc2VsZi5fY2xvc2Vfd2luZG93cygpCi0g
ICAgICAgIHVybCA9IHVybHBhcnNlLnVybGpvaW4oc2VsZi5wYXJlbnQuZXhlY3V0b3Iuc2VydmVy
X3VybCh1cmxfcHJvdG9jb2wpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIvdGVz
dGhhcm5lc3NfcnVubmVyLmh0bWwiKQorICAgICAgICB1cmwgPSB1cmxqb2luKHNlbGYucGFyZW50
LmV4ZWN1dG9yLnNlcnZlcl91cmwodXJsX3Byb3RvY29sKSwgIi90ZXN0aGFybmVzc19ydW5uZXIu
aHRtbCIpCiAgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJMb2FkaW5nICVzIiAlIHVybCkKICAg
ICAgICAgdHJ5OgogICAgICAgICAgICAgc2VsZi5kaXNtaXNzX2FsZXJ0KGxhbWJkYTogc2VsZi5t
YXJpb25ldHRlLm5hdmlnYXRlKHVybCkpCi0gICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToK
KyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKICAgICAgICAgICAgIHNlbGYubG9nZ2VyLmNyaXRp
Y2FsKAogICAgICAgICAgICAgICAgICJMb2FkaW5nIGluaXRpYWwgcGFnZSAlcyBmYWlsZWQuIEVu
c3VyZSB0aGF0IHRoZSAiCiAgICAgICAgICAgICAgICAgInRoZXJlIGFyZSBubyBvdGhlciBwcm9n
cmFtcyBib3VuZCB0byB0aGlzIHBvcnQgYW5kICIKICAgICAgICAgICAgICAgICAidGhhdCB5b3Vy
IGZpcmV3YWxsIHJ1bGVzIG9yIG5ldHdvcmsgc2V0dXAgZG9lcyBub3QgIgotICAgICAgICAgICAg
ICAgIHIicHJldmVudCBhY2Nlc3MuXGUlcyIgJSAodXJsLCB0cmFjZWJhY2suZm9ybWF0X2V4Yyhl
KSkpCisgICAgICAgICAgICAgICAgciJwcmV2ZW50IGFjY2Vzcy5cZSVzIiAlICh1cmwsIHRyYWNl
YmFjay5mb3JtYXRfZXhjKCkpKQogICAgICAgICAgICAgcmFpc2UKICAgICAgICAgc2VsZi5ydW5u
ZXJfaGFuZGxlID0gc2VsZi5tYXJpb25ldHRlLmN1cnJlbnRfd2luZG93X2hhbmRsZQogICAgICAg
ICBmb3JtYXRfbWFwID0geyJ0aXRsZSI6IHRocmVhZGluZy5jdXJyZW50X3RocmVhZCgpLm5hbWUu
cmVwbGFjZSgiJyIsICciJyl9CkBAIC01OTIsNyArNTkzLDYgQEAgY2xhc3MgTWFyaW9uZXR0ZVBy
b3RvY29sKFByb3RvY29sKToKICAgICAgICAgICAgIGRlbCBzZWxmLm1hcmlvbmV0dGUKICAgICAg
ICAgc3VwZXIoTWFyaW9uZXR0ZVByb3RvY29sLCBzZWxmKS50ZWFyZG93bigpCiAKLSAgICBAcHJv
cGVydHkKICAgICBkZWYgaXNfYWxpdmUoc2VsZik6CiAgICAgICAgIHRyeToKICAgICAgICAgICAg
IHNlbGYubWFyaW9uZXR0ZS5jdXJyZW50X3dpbmRvd19oYW5kbGUKQEAgLTYwMiwxNCArNjAyLDE0
IEBAIGNsYXNzIE1hcmlvbmV0dGVQcm90b2NvbChQcm90b2NvbCk6CiAKICAgICBkZWYgb25fZW52
aXJvbm1lbnRfY2hhbmdlKHNlbGYsIG9sZF9lbnZpcm9ubWVudCwgbmV3X2Vudmlyb25tZW50KToK
ICAgICAgICAgI1Vuc2V0IGFsbCB0aGUgb2xkIHByZWZzCi0gICAgICAgIGZvciBuYW1lIGluIG9s
ZF9lbnZpcm9ubWVudC5nZXQoInByZWZzIiwge30pLml0ZXJrZXlzKCk6CisgICAgICAgIGZvciBu
YW1lIGluIGl0ZXJrZXlzKG9sZF9lbnZpcm9ubWVudC5nZXQoInByZWZzIiwge30pKToKICAgICAg
ICAgICAgIHZhbHVlID0gc2VsZi5leGVjdXRvci5vcmlnaW5hbF9wcmVmX3ZhbHVlc1tuYW1lXQog
ICAgICAgICAgICAgaWYgdmFsdWUgaXMgTm9uZToKICAgICAgICAgICAgICAgICBzZWxmLnByZWZz
LmNsZWFyKG5hbWUpCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIHNlbGYucHJl
ZnMuc2V0KG5hbWUsIHZhbHVlKQogCi0gICAgICAgIGZvciBuYW1lLCB2YWx1ZSBpbiBuZXdfZW52
aXJvbm1lbnQuZ2V0KCJwcmVmcyIsIHt9KS5pdGVyaXRlbXMoKToKKyAgICAgICAgZm9yIG5hbWUs
IHZhbHVlIGluIGl0ZXJpdGVtcyhuZXdfZW52aXJvbm1lbnQuZ2V0KCJwcmVmcyIsIHt9KSk6CiAg
ICAgICAgICAgICBzZWxmLmV4ZWN1dG9yLm9yaWdpbmFsX3ByZWZfdmFsdWVzW25hbWVdID0gc2Vs
Zi5wcmVmcy5nZXQobmFtZSkKICAgICAgICAgICAgIHNlbGYucHJlZnMuc2V0KG5hbWUsIHZhbHVl
KQogCkBAIC02NTksNyArNjU5LDcgQEAgY2xhc3MgRXhlY3V0ZUFzeW5jU2NyaXB0UnVuKFRpbWVk
UnVubmVyKToKICAgICAgICAgICAgICAgICBtZXNzYWdlID0gZ2V0YXR0cihlLCAibWVzc2FnZSIs
ICIiKQogICAgICAgICAgICAgICAgIGlmIG1lc3NhZ2U6CiAgICAgICAgICAgICAgICAgICAgIG1l
c3NhZ2UgKz0gIlxuIgotICAgICAgICAgICAgICAgIG1lc3NhZ2UgKz0gdHJhY2ViYWNrLmZvcm1h
dF9leGMoZSkKKyAgICAgICAgICAgICAgICBtZXNzYWdlICs9IHRyYWNlYmFjay5mb3JtYXRfZXhj
KCkKICAgICAgICAgICAgICAgICBzZWxmLmxvZ2dlci53YXJuaW5nKHRyYWNlYmFjay5mb3JtYXRf
ZXhjKCkpCiAgICAgICAgICAgICBzZWxmLnJlc3VsdCA9IEZhbHNlLCAoIklOVEVSTkFMLUVSUk9S
IiwgbWVzc2FnZSkKICAgICAgICAgZmluYWxseToKQEAgLTY2OSwxMSArNjY5LDExIEBAIGNsYXNz
IEV4ZWN1dGVBc3luY1NjcmlwdFJ1bihUaW1lZFJ1bm5lcik6CiBjbGFzcyBNYXJpb25ldHRlVGVz
dGhhcm5lc3NFeGVjdXRvcihUZXN0aGFybmVzc0V4ZWN1dG9yKToKICAgICBzdXBwb3J0c190ZXN0
ZHJpdmVyID0gVHJ1ZQogCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGJyb3dzZXIsIHNlcnZlcl9j
b25maWcsIHRpbWVvdXRfbXVsdGlwbGllcj0xLAorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBsb2dn
ZXIsIGJyb3dzZXIsIHNlcnZlcl9jb25maWcsIHRpbWVvdXRfbXVsdGlwbGllcj0xLAogICAgICAg
ICAgICAgICAgICBjbG9zZV9hZnRlcl9kb25lPVRydWUsIGRlYnVnX2luZm89Tm9uZSwgY2FwYWJp
bGl0aWVzPU5vbmUsCiAgICAgICAgICAgICAgICAgIGRlYnVnPUZhbHNlLCBjY292PUZhbHNlLCAq
Kmt3YXJncyk6CiAgICAgICAgICIiIk1hcmlvbmV0dGUtYmFzZWQgZXhlY3V0b3IgZm9yIHRlc3Ro
YXJuZXNzLmpzIHRlc3RzIiIiCi0gICAgICAgIFRlc3RoYXJuZXNzRXhlY3V0b3IuX19pbml0X18o
c2VsZiwgYnJvd3Nlciwgc2VydmVyX2NvbmZpZywKKyAgICAgICAgVGVzdGhhcm5lc3NFeGVjdXRv
ci5fX2luaXRfXyhzZWxmLCBsb2dnZXIsIGJyb3dzZXIsIHNlcnZlcl9jb25maWcsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZW91dF9tdWx0aXBsaWVyPXRpbWVvdXRf
bXVsdGlwbGllciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1Z19p
bmZvPWRlYnVnX2luZm8pCiAgICAgICAgIHNlbGYucHJvdG9jb2wgPSBNYXJpb25ldHRlUHJvdG9j
b2woc2VsZiwKQEAgLTY5OCw3ICs2OTgsNyBAQCBjbGFzcyBNYXJpb25ldHRlVGVzdGhhcm5lc3NF
eGVjdXRvcihUZXN0aGFybmVzc0V4ZWN1dG9yKToKICAgICAgICAgc2VsZi5wcm90b2NvbC50ZXN0
aGFybmVzcy5sb2FkX3J1bm5lcihzZWxmLmxhc3RfZW52aXJvbm1lbnRbInByb3RvY29sIl0pCiAK
ICAgICBkZWYgaXNfYWxpdmUoc2VsZik6Ci0gICAgICAgIHJldHVybiBzZWxmLnByb3RvY29sLmlz
X2FsaXZlCisgICAgICAgIHJldHVybiBzZWxmLnByb3RvY29sLmlzX2FsaXZlKCkKIAogICAgIGRl
ZiBvbl9lbnZpcm9ubWVudF9jaGFuZ2Uoc2VsZiwgbmV3X2Vudmlyb25tZW50KToKICAgICAgICAg
c2VsZi5wcm90b2NvbC5vbl9lbnZpcm9ubWVudF9jaGFuZ2Uoc2VsZi5sYXN0X2Vudmlyb25tZW50
LCBuZXdfZW52aXJvbm1lbnQpCkBAIC03NjUsMTMgKzc2NSwxNCBAQCBjbGFzcyBNYXJpb25ldHRl
VGVzdGhhcm5lc3NFeGVjdXRvcihUZXN0aGFybmVzc0V4ZWN1dG9yKToKIAogCiBjbGFzcyBNYXJp
b25ldHRlUmVmVGVzdEV4ZWN1dG9yKFJlZlRlc3RFeGVjdXRvcik6Ci0gICAgZGVmIF9faW5pdF9f
KHNlbGYsIGJyb3dzZXIsIHNlcnZlcl9jb25maWcsIHRpbWVvdXRfbXVsdGlwbGllcj0xLAorICAg
IGRlZiBfX2luaXRfXyhzZWxmLCBsb2dnZXIsIGJyb3dzZXIsIHNlcnZlcl9jb25maWcsIHRpbWVv
dXRfbXVsdGlwbGllcj0xLAogICAgICAgICAgICAgICAgICBzY3JlZW5zaG90X2NhY2hlPU5vbmUs
IGNsb3NlX2FmdGVyX2RvbmU9VHJ1ZSwKICAgICAgICAgICAgICAgICAgZGVidWdfaW5mbz1Ob25l
LCByZWZ0ZXN0X2ludGVybmFsPUZhbHNlLAogICAgICAgICAgICAgICAgICByZWZ0ZXN0X3NjcmVl
bnNob3Q9InVuZXhwZWN0ZWQiLCBjY292PUZhbHNlLAogICAgICAgICAgICAgICAgICBncm91cF9t
ZXRhZGF0YT1Ob25lLCBjYXBhYmlsaXRpZXM9Tm9uZSwgZGVidWc9RmFsc2UsICoqa3dhcmdzKToK
ICAgICAgICAgIiIiTWFyaW9uZXR0ZS1iYXNlZCBleGVjdXRvciBmb3IgcmVmdGVzdHMiIiIKICAg
ICAgICAgUmVmVGVzdEV4ZWN1dG9yLl9faW5pdF9fKHNlbGYsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBsb2dnZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi
cm93c2VyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyX2NvbmZpZywK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjcmVlbnNob3RfY2FjaGU9c2NyZWVu
c2hvdF9jYWNoZSwKQEAgLTc5OCw3ICs3OTksNyBAQCBjbGFzcyBNYXJpb25ldHRlUmVmVGVzdEV4
ZWN1dG9yKFJlZlRlc3RFeGVjdXRvcik6CiAgICAgICAgICAgICBzZWxmLndhaXRfc2NyaXB0ID0g
Zi5yZWFkKCkgJSB7ImNsYXNzbmFtZSI6ICJyZWZ0ZXN0LXdhaXQifQogCiAgICAgZGVmIHNldHVw
KHNlbGYsIHJ1bm5lcik6Ci0gICAgICAgIHN1cGVyKHNlbGYuX19jbGFzc19fLCBzZWxmKS5zZXR1
cChydW5uZXIpCisgICAgICAgIHN1cGVyKE1hcmlvbmV0dGVSZWZUZXN0RXhlY3V0b3IsIHNlbGYp
LnNldHVwKHJ1bm5lcikKICAgICAgICAgc2VsZi5pbXBsZW1lbnRhdGlvbi5zZXR1cCgqKnNlbGYu
aW1wbGVtZW50YXRpb25fa3dhcmdzKQogCiAgICAgZGVmIHRlYXJkb3duKHNlbGYpOgpAQCAtODA4
LDE3ICs4MDksMTcgQEAgY2xhc3MgTWFyaW9uZXR0ZVJlZlRlc3RFeGVjdXRvcihSZWZUZXN0RXhl
Y3V0b3IpOgogICAgICAgICAgICAgICAgIGhhbmRsZXMgPSBzZWxmLnByb3RvY29sLm1hcmlvbmV0
dGUud2luZG93X2hhbmRsZXMKICAgICAgICAgICAgICAgICBpZiBoYW5kbGVzOgogICAgICAgICAg
ICAgICAgICAgICBzZWxmLnByb3RvY29sLm1hcmlvbmV0dGUuc3dpdGNoX3RvX3dpbmRvdyhoYW5k
bGVzWzBdKQotICAgICAgICAgICAgc3VwZXIoc2VsZi5fX2NsYXNzX18sIHNlbGYpLnRlYXJkb3du
KCkKLSAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgc3VwZXIoTWFy
aW9uZXR0ZVJlZlRlc3RFeGVjdXRvciwgc2VsZikudGVhcmRvd24oKQorICAgICAgICBleGNlcHQg
RXhjZXB0aW9uOgogICAgICAgICAgICAgIyBJZ25vcmUgZXJyb3JzIGR1cmluZyB0ZWFyZG93bgog
ICAgICAgICAgICAgc2VsZi5sb2dnZXIud2FybmluZygiRXhjZXB0aW9uIGR1cmluZyByZWZ0ZXN0
IHRlYXJkb3duOlxuJXMiICUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2Vi
YWNrLmZvcm1hdF9leGMoZSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNl
YmFjay5mb3JtYXRfZXhjKCkpCiAKICAgICBkZWYgcmVzZXQoc2VsZik6CiAgICAgICAgIHNlbGYu
aW1wbGVtZW50YXRpb24ucmVzZXQoKipzZWxmLmltcGxlbWVudGF0aW9uX2t3YXJncykKIAogICAg
IGRlZiBpc19hbGl2ZShzZWxmKToKLSAgICAgICAgcmV0dXJuIHNlbGYucHJvdG9jb2wuaXNfYWxp
dmUKKyAgICAgICAgcmV0dXJuIHNlbGYucHJvdG9jb2wuaXNfYWxpdmUoKQogCiAgICAgZGVmIG9u
X2Vudmlyb25tZW50X2NoYW5nZShzZWxmLCBuZXdfZW52aXJvbm1lbnQpOgogICAgICAgICBzZWxm
LnByb3RvY29sLm9uX2Vudmlyb25tZW50X2NoYW5nZShzZWxmLmxhc3RfZW52aXJvbm1lbnQsIG5l
d19lbnZpcm9ubWVudCkKQEAgLTg5Myw4ICs4OTQsOSBAQCBjbGFzcyBJbnRlcm5hbFJlZlRlc3RJ
bXBsZW1lbnRhdGlvbihSZWZUZXN0SW1wbGVtZW50YXRpb24pOgogICAgIGRlZiBzZXR1cChzZWxm
LCBzY3JlZW5zaG90PSJ1bmV4cGVjdGVkIik6CiAgICAgICAgIGRhdGEgPSB7InNjcmVlbnNob3Qi
OiBzY3JlZW5zaG90fQogICAgICAgICBpZiBzZWxmLmV4ZWN1dG9yLmdyb3VwX21ldGFkYXRhIGlz
IG5vdCBOb25lOgotICAgICAgICAgICAgZGF0YVsidXJsQ291bnQiXSA9IHt1cmxwYXJzZS51cmxq
b2luKHNlbGYuZXhlY3V0b3Iuc2VydmVyX3VybChrZXlbMF0pLCBrZXlbMV0pOnZhbHVlCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBrZXksIHZhbHVlIGluIHNlbGYuZXhlY3V0
b3IuZ3JvdXBfbWV0YWRhdGEuZ2V0KCJ1cmxfY291bnQiLCB7fSkuaXRlcml0ZW1zKCkKKyAgICAg
ICAgICAgIGRhdGFbInVybENvdW50Il0gPSB7dXJsam9pbihzZWxmLmV4ZWN1dG9yLnNlcnZlcl91
cmwoa2V5WzBdKSwga2V5WzFdKTp2YWx1ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBmb3Iga2V5LCB2YWx1ZSBpbiBpdGVyaXRlbXMoCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzZWxmLmV4ZWN1dG9yLmdyb3VwX21ldGFkYXRhLmdldCgidXJsX2NvdW50Iiwg
e30pKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiB2YWx1ZSA+IDF9CiAgICAg
ICAgIHNlbGYuZXhlY3V0b3IucHJvdG9jb2wubWFyaW9uZXR0ZS5zZXRfY29udGV4dChzZWxmLmV4
ZWN1dG9yLnByb3RvY29sLm1hcmlvbmV0dGUuQ09OVEVYVF9DSFJPTUUpCiAgICAgICAgIHNlbGYu
ZXhlY3V0b3IucHJvdG9jb2wubWFyaW9uZXR0ZS5fc2VuZF9tZXNzYWdlKCJyZWZ0ZXN0OnNldHVw
IiwgZGF0YSkKQEAgLTkzNCw5ICs5MzYsOSBAQCBjbGFzcyBJbnRlcm5hbFJlZlRlc3RJbXBsZW1l
bnRhdGlvbihSZWZUZXN0SW1wbGVtZW50YXRpb24pOgogICAgICAgICAgICAgICAgIGhhbmRsZXMg
PSBzZWxmLmV4ZWN1dG9yLnByb3RvY29sLm1hcmlvbmV0dGUud2luZG93X2hhbmRsZXMKICAgICAg
ICAgICAgICAgICBpZiBoYW5kbGVzOgogICAgICAgICAgICAgICAgICAgICBzZWxmLmV4ZWN1dG9y
LnByb3RvY29sLm1hcmlvbmV0dGUuc3dpdGNoX3RvX3dpbmRvdyhoYW5kbGVzWzBdKQotICAgICAg
ICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246CiAgICAg
ICAgICAgICAjIElnbm9yZSBlcnJvcnMgZHVyaW5nIHRlYXJkb3duCi0gICAgICAgICAgICBzZWxm
LmxvZ2dlci53YXJuaW5nKHRyYWNlYmFjay5mb3JtYXRfZXhjKGUpKQorICAgICAgICAgICAgc2Vs
Zi5sb2dnZXIud2FybmluZyh0cmFjZWJhY2suZm9ybWF0X2V4YygpKQogCiAKIGNsYXNzIEdlY2tv
RHJpdmVyUHJvdG9jb2woV2ViRHJpdmVyUHJvdG9jb2wpOgpAQCAtOTQ4LDExICs5NTAsMTEgQEAg
Y2xhc3MgTWFyaW9uZXR0ZVdkc3BlY0V4ZWN1dG9yKFdkc3BlY0V4ZWN1dG9yKToKIAogCiBjbGFz
cyBNYXJpb25ldHRlQ3Jhc2h0ZXN0RXhlY3V0b3IoQ3Jhc2h0ZXN0RXhlY3V0b3IpOgotICAgIGRl
ZiBfX2luaXRfXyhzZWxmLCBicm93c2VyLCBzZXJ2ZXJfY29uZmlnLCB0aW1lb3V0X211bHRpcGxp
ZXI9MSwKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbG9nZ2VyLCBicm93c2VyLCBzZXJ2ZXJfY29u
ZmlnLCB0aW1lb3V0X211bHRpcGxpZXI9MSwKICAgICAgICAgICAgICAgICAgZGVidWdfaW5mbz1O
b25lLCBjYXBhYmlsaXRpZXM9Tm9uZSwgZGVidWc9RmFsc2UsCiAgICAgICAgICAgICAgICAgIGNj
b3Y9RmFsc2UsICoqa3dhcmdzKToKICAgICAgICAgIiIiTWFyaW9uZXR0ZS1iYXNlZCBleGVjdXRv
ciBmb3IgdGVzdGhhcm5lc3MuanMgdGVzdHMiIiIKLSAgICAgICAgQ3Jhc2h0ZXN0RXhlY3V0b3Iu
X19pbml0X18oc2VsZiwgYnJvd3Nlciwgc2VydmVyX2NvbmZpZywKKyAgICAgICAgQ3Jhc2h0ZXN0
RXhlY3V0b3IuX19pbml0X18oc2VsZiwgbG9nZ2VyLCBicm93c2VyLCBzZXJ2ZXJfY29uZmlnLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lb3V0X211bHRpcGxpZXI9dGlt
ZW91dF9tdWx0aXBsaWVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1
Z19pbmZvPWRlYnVnX2luZm8pCiAgICAgICAgIHNlbGYucHJvdG9jb2wgPSBNYXJpb25ldHRlUHJv
dG9jb2woc2VsZiwKQEAgLTk3Miw3ICs5NzQsNyBAQCBjbGFzcyBNYXJpb25ldHRlQ3Jhc2h0ZXN0
RXhlY3V0b3IoQ3Jhc2h0ZXN0RXhlY3V0b3IpOgogICAgICAgICAgICAgZG9fZGVsYXllZF9pbXBv
cnRzKCkKIAogICAgIGRlZiBpc19hbGl2ZShzZWxmKToKLSAgICAgICAgcmV0dXJuIHNlbGYucHJv
dG9jb2wuaXNfYWxpdmUKKyAgICAgICAgcmV0dXJuIHNlbGYucHJvdG9jb2wuaXNfYWxpdmUoKQog
CiAgICAgZGVmIG9uX2Vudmlyb25tZW50X2NoYW5nZShzZWxmLCBuZXdfZW52aXJvbm1lbnQpOgog
ICAgICAgICBzZWxmLnByb3RvY29sLm9uX2Vudmlyb25tZW50X2NoYW5nZShzZWxmLmxhc3RfZW52
aXJvbm1lbnQsIG5ld19lbnZpcm9ubWVudCkKQEAgLTk5MSwxNSArOTkzLDE2IEBAIGNsYXNzIE1h
cmlvbmV0dGVDcmFzaHRlc3RFeGVjdXRvcihDcmFzaHRlc3RFeGVjdXRvcik6CiAgICAgICAgIGlm
IG5vdCBzdWNjZXNzOgogICAgICAgICAgICAgc3RhdHVzID0gZGF0YVswXQogCisgICAgICAgIGV4
dHJhID0gTm9uZQogICAgICAgICBpZiBzZWxmLmRlYnVnIGFuZCAoc3VjY2VzcyBvciBzdGF0dXMg
bm90IGluICgiQ1JBU0giLCAiSU5URVJOQUwtRVJST1IiKSk6CiAgICAgICAgICAgICBhc3NlcnRp
b25fY291bnQgPSBzZWxmLnByb3RvY29sLmFzc2VydHMuZ2V0KCkKICAgICAgICAgICAgIGlmIGFz
c2VydGlvbl9jb3VudCBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAgICBkYXRhWyJleHRyYSJd
ID0geyJhc3NlcnRpb25fY291bnQiOiBhc3NlcnRpb25fY291bnR9CisgICAgICAgICAgICAgICAg
ZXh0cmEgPSB7ImFzc2VydGlvbl9jb3VudCI6IGFzc2VydGlvbl9jb3VudH0KIAogICAgICAgICBp
ZiBzdWNjZXNzOgogICAgICAgICAgICAgcmV0dXJuIHNlbGYuY29udmVydF9yZXN1bHQodGVzdCwg
ZGF0YSkKIAotICAgICAgICByZXR1cm4gKHRlc3QucmVzdWx0X2NscygqKmRhdGEpLCBbXSkKKyAg
ICAgICAgcmV0dXJuICh0ZXN0LnJlc3VsdF9jbHMoZXh0cmE9ZXh0cmEsICpkYXRhKSwgW10pCiAK
ICAgICBkZWYgZG9fY3Jhc2h0ZXN0KHNlbGYsIHByb3RvY29sLCB1cmwsIHRpbWVvdXQpOgogICAg
ICAgICBpZiBzZWxmLnByb3RvY29sLmNvdmVyYWdlLmlzX2VuYWJsZWQ6CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci93cHRydW5uZXIvZXhlY3V0b3JzL2V4ZWN1dG9yc2VsZW5pdW0ucHkgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIv
ZXhlY3V0b3JzL2V4ZWN1dG9yc2VsZW5pdW0ucHkKaW5kZXggY2VjYTgxMjExZTExNDA1NzdjYzNh
NWYxNjNmZmUxN2M3M2RkNTZhMy4uOTYzMTJmM2Y5Zjk1NDJmZWRlNjA5ZTZmOTllZjkzMTI3ZjEy
MmQxYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy9leGVjdXRvcnNlbGVuaXVt
LnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvZXhlY3V0b3JzZWxlbml1bS5weQpAQCAt
MSwxMSArMSwxMiBAQAorZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQKIGlt
cG9ydCBqc29uCiBpbXBvcnQgb3MKIGltcG9ydCBzb2NrZXQKIGltcG9ydCB0aHJlYWRpbmcKIGlt
cG9ydCB0aW1lCiBpbXBvcnQgdHJhY2ViYWNrCi1pbXBvcnQgdXJscGFyc2UKIGltcG9ydCB1dWlk
Citmcm9tIHNpeC5tb3Zlcy51cmxsaWIucGFyc2UgaW1wb3J0IHVybGpvaW4KIAogZnJvbSAuYmFz
ZSBpbXBvcnQgKENhbGxiYWNrSGFuZGxlciwKICAgICAgICAgICAgICAgICAgICBSZWZUZXN0RXhl
Y3V0b3IsCkBAIC03Miw4ICs3Myw4IEBAIGNsYXNzIFNlbGVuaXVtQmFzZVByb3RvY29sUGFydChC
YXNlUHJvdG9jb2xQYXJ0KToKICAgICAgICAgICAgIGV4Y2VwdCAoc29ja2V0LnRpbWVvdXQsIGV4
Y2VwdGlvbnMuTm9TdWNoV2luZG93RXhjZXB0aW9uLAogICAgICAgICAgICAgICAgICAgICBleGNl
cHRpb25zLkVycm9ySW5SZXNwb25zZUV4Y2VwdGlvbiwgSU9FcnJvcik6CiAgICAgICAgICAgICAg
ICAgYnJlYWsKLSAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKLSAgICAgICAgICAg
ICAgICBzZWxmLmxvZ2dlci5lcnJvcih0cmFjZWJhY2suZm9ybWF0X2V4YyhlKSkKKyAgICAgICAg
ICAgIGV4Y2VwdCBFeGNlcHRpb246CisgICAgICAgICAgICAgICAgc2VsZi5sb2dnZXIuZXJyb3Io
dHJhY2ViYWNrLmZvcm1hdF9leGMoKSkKICAgICAgICAgICAgICAgICBicmVhawogCiAKQEAgLTg3
LDggKzg4LDggQEAgY2xhc3MgU2VsZW5pdW1UZXN0aGFybmVzc1Byb3RvY29sUGFydChUZXN0aGFy
bmVzc1Byb3RvY29sUGFydCk6CiAgICAgZGVmIGxvYWRfcnVubmVyKHNlbGYsIHVybF9wcm90b2Nv
bCk6CiAgICAgICAgIGlmIHNlbGYucnVubmVyX2hhbmRsZToKICAgICAgICAgICAgIHNlbGYud2Vi
ZHJpdmVyLnN3aXRjaF90b193aW5kb3coc2VsZi5ydW5uZXJfaGFuZGxlKQotICAgICAgICB1cmwg
PSB1cmxwYXJzZS51cmxqb2luKHNlbGYucGFyZW50LmV4ZWN1dG9yLnNlcnZlcl91cmwodXJsX3By
b3RvY29sKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiL3Rlc3RoYXJuZXNzX3J1
bm5lci5odG1sIikKKyAgICAgICAgdXJsID0gdXJsam9pbihzZWxmLnBhcmVudC5leGVjdXRvci5z
ZXJ2ZXJfdXJsKHVybF9wcm90b2NvbCksCisgICAgICAgICAgICAgICAgICAgICAgIi90ZXN0aGFy
bmVzc19ydW5uZXIuaHRtbCIpCiAgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJMb2FkaW5nICVz
IiAlIHVybCkKICAgICAgICAgc2VsZi53ZWJkcml2ZXIuZ2V0KHVybCkKICAgICAgICAgc2VsZi5y
dW5uZXJfaGFuZGxlID0gc2VsZi53ZWJkcml2ZXIuY3VycmVudF93aW5kb3dfaGFuZGxlCkBAIC0y
NjEsNyArMjYyLDcgQEAgY2xhc3MgU2VsZW5pdW1SdW4oVGltZWRSdW5uZXIpOgogICAgICAgICAg
ICAgbWVzc2FnZSA9IHN0cihnZXRhdHRyKGUsICJtZXNzYWdlIiwgIiIpKQogICAgICAgICAgICAg
aWYgbWVzc2FnZToKICAgICAgICAgICAgICAgICBtZXNzYWdlICs9ICJcbiIKLSAgICAgICAgICAg
IG1lc3NhZ2UgKz0gdHJhY2ViYWNrLmZvcm1hdF9leGMoZSkKKyAgICAgICAgICAgIG1lc3NhZ2Ug
Kz0gdHJhY2ViYWNrLmZvcm1hdF9leGMoKQogICAgICAgICAgICAgc2VsZi5yZXN1bHQgPSBGYWxz
ZSwgKCJJTlRFUk5BTC1FUlJPUiIsIG1lc3NhZ2UpCiAgICAgICAgIGZpbmFsbHk6CiAgICAgICAg
ICAgICBzZWxmLnJlc3VsdF9mbGFnLnNldCgpCkBAIC0yNzAsMTEgKzI3MSwxMSBAQCBjbGFzcyBT
ZWxlbml1bVJ1bihUaW1lZFJ1bm5lcik6CiBjbGFzcyBTZWxlbml1bVRlc3RoYXJuZXNzRXhlY3V0
b3IoVGVzdGhhcm5lc3NFeGVjdXRvcik6CiAgICAgc3VwcG9ydHNfdGVzdGRyaXZlciA9IFRydWUK
IAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBicm93c2VyLCBzZXJ2ZXJfY29uZmlnLCB0aW1lb3V0
X211bHRpcGxpZXI9MSwKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbG9nZ2VyLCBicm93c2VyLCBz
ZXJ2ZXJfY29uZmlnLCB0aW1lb3V0X211bHRpcGxpZXI9MSwKICAgICAgICAgICAgICAgICAgY2xv
c2VfYWZ0ZXJfZG9uZT1UcnVlLCBjYXBhYmlsaXRpZXM9Tm9uZSwgZGVidWdfaW5mbz1Ob25lLAog
ICAgICAgICAgICAgICAgICBzdXBwb3J0c19lYWdlcl9wYWdlbG9hZD1UcnVlLCAqKmt3YXJncyk6
CiAgICAgICAgICIiIlNlbGVuaXVtLWJhc2VkIGV4ZWN1dG9yIGZvciB0ZXN0aGFybmVzcy5qcyB0
ZXN0cyIiIgotICAgICAgICBUZXN0aGFybmVzc0V4ZWN1dG9yLl9faW5pdF9fKHNlbGYsIGJyb3dz
ZXIsIHNlcnZlcl9jb25maWcsCisgICAgICAgIFRlc3RoYXJuZXNzRXhlY3V0b3IuX19pbml0X18o
c2VsZiwgbG9nZ2VyLCBicm93c2VyLCBzZXJ2ZXJfY29uZmlnLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHRpbWVvdXRfbXVsdGlwbGllcj10aW1lb3V0X211bHRpcGxpZXIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVidWdfaW5mbz1kZWJ1Z19p
bmZvKQogICAgICAgICBzZWxmLnByb3RvY29sID0gU2VsZW5pdW1Qcm90b2NvbChzZWxmLCBicm93
c2VyLCBjYXBhYmlsaXRpZXMpCkBAIC0zNTUsMTEgKzM1NiwxMiBAQCBpZiAobG9jYXRpb24uaHJl
ZiA9PT0gImFib3V0OmJsYW5rIikgewogCiAKIGNsYXNzIFNlbGVuaXVtUmVmVGVzdEV4ZWN1dG9y
KFJlZlRlc3RFeGVjdXRvcik6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGJyb3dzZXIsIHNlcnZl
cl9jb25maWcsIHRpbWVvdXRfbXVsdGlwbGllcj0xLAorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBs
b2dnZXIsIGJyb3dzZXIsIHNlcnZlcl9jb25maWcsIHRpbWVvdXRfbXVsdGlwbGllcj0xLAogICAg
ICAgICAgICAgICAgICBzY3JlZW5zaG90X2NhY2hlPU5vbmUsIGNsb3NlX2FmdGVyX2RvbmU9VHJ1
ZSwKICAgICAgICAgICAgICAgICAgZGVidWdfaW5mbz1Ob25lLCBjYXBhYmlsaXRpZXM9Tm9uZSwg
Kiprd2FyZ3MpOgogICAgICAgICAiIiJTZWxlbml1bSBXZWJEcml2ZXItYmFzZWQgZXhlY3V0b3Ig
Zm9yIHJlZnRlc3RzIiIiCiAgICAgICAgIFJlZlRlc3RFeGVjdXRvci5fX2luaXRfXyhzZWxmLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgYnJvd3NlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHNlcnZlcl9jb25maWcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY3Jl
ZW5zaG90X2NhY2hlPXNjcmVlbnNob3RfY2FjaGUsCkBAIC0zNzEsOCArMzczLDggQEAgY2xhc3Mg
U2VsZW5pdW1SZWZUZXN0RXhlY3V0b3IoUmVmVGVzdEV4ZWN1dG9yKToKICAgICAgICAgc2VsZi5j
bG9zZV9hZnRlcl9kb25lID0gY2xvc2VfYWZ0ZXJfZG9uZQogICAgICAgICBzZWxmLmhhc193aW5k
b3cgPSBGYWxzZQogCi0gICAgICAgIHdpdGggb3Blbihvcy5wYXRoLmpvaW4oaGVyZSwgInRlc3Qt
d2FpdC5qcyIgJSB7ImNsYXNzbmFtZSI6ICJyZWZ0ZXN0LXdhaXQifSkpIGFzIGY6Ci0gICAgICAg
ICAgICBzZWxmLndhaXRfc2NyaXB0ID0gZi5yZWFkKCkKKyAgICAgICAgd2l0aCBvcGVuKG9zLnBh
dGguam9pbihoZXJlLCAidGVzdC13YWl0LmpzIikpIGFzIGY6CisgICAgICAgICAgICBzZWxmLndh
aXRfc2NyaXB0ID0gZi5yZWFkKCkgJSB7ImNsYXNzbmFtZSI6ICJyZWZ0ZXN0LXdhaXQifQogCiAg
ICAgZGVmIHJlc2V0KHNlbGYpOgogICAgICAgICBzZWxmLmltcGxlbWVudGF0aW9uLnJlc2V0KCkK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvZXhlY3V0b3JzZXJ2by5weSBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3dwdHJ1bm5lci9leGVjdXRvcnMvZXhlY3V0b3JzZXJ2by5weQppbmRleCA5Y2VmMWZiMmQ3Zjc4
ZTg3MjllNTFmZjQwMGIzZGYyNDAyYTJlOTRlLi5mODNmMDExNWUwMDY4MTE0YmI2MmE4MDRiMzA1
NWNiNTEwODE0YjE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL2V4ZWN1dG9y
c2Vydm8ucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy9leGVjdXRvcnNlcnZvLnB5CkBA
IC03LDYgKzcsNyBAQCBpbXBvcnQgdGVtcGZpbGUKIGltcG9ydCB0aHJlYWRpbmcKIGltcG9ydCB0
cmFjZWJhY2sKIGltcG9ydCB1dWlkCitmcm9tIHNpeCBpbXBvcnQgZW5zdXJlX3N0ciwgaXRlcml0
ZW1zCiAKIGZyb20gbW96cHJvY2VzcyBpbXBvcnQgUHJvY2Vzc0hhbmRsZXIKIApAQCAtMjIsOCAr
MjMsMTAgQEAgZnJvbSAuYmFzZSBpbXBvcnQgKENvbm5lY3Rpb25sZXNzUHJvdG9jb2wsCiAgICAg
ICAgICAgICAgICAgICAgV2ViRHJpdmVyUHJvdG9jb2wpCiBmcm9tIC5wcm9jZXNzIGltcG9ydCBQ
cm9jZXNzVGVzdEV4ZWN1dG9yCiBmcm9tIC4uYnJvd3NlcnMuYmFzZSBpbXBvcnQgYnJvd3Nlcl9j
b21tYW5kCitmcm9tIC4ucHJvY2VzcyBpbXBvcnQgY2FzdF9lbnYKIGZyb20gLi53ZWJkcml2ZXJf
c2VydmVyIGltcG9ydCBTZXJ2b0RyaXZlclNlcnZlcgogCisKIHB5dGVzdHJ1bm5lciA9IE5vbmUK
IHdlYmRyaXZlciA9IE5vbmUKIApAQCAtNDUsNyArNDgsNyBAQCBkZWYgYnVpbGRfc2Vydm9fY29t
bWFuZCh0ZXN0LCB0ZXN0X3VybF9mdW5jLCBicm93c2VyLCBiaW5hcnksIHBhdXNlX2FmdGVyX3Rl
c3QsCiAgICAgICAgIGFyZ3MgKz0gWyItWiIsIGRlYnVnX29wdHNdCiAgICAgZm9yIHN0eWxlc2hl
ZXQgaW4gYnJvd3Nlci51c2VyX3N0eWxlc2hlZXRzOgogICAgICAgICBhcmdzICs9IFsiLS11c2Vy
LXN0eWxlc2hlZXQiLCBzdHlsZXNoZWV0XQotICAgIGZvciBwcmVmLCB2YWx1ZSBpbiB0ZXN0LmVu
dmlyb25tZW50LmdldCgncHJlZnMnLCB7fSkuaXRlcml0ZW1zKCk6CisgICAgZm9yIHByZWYsIHZh
bHVlIGluIGl0ZXJpdGVtcyh0ZXN0LmVudmlyb25tZW50LmdldCgncHJlZnMnLCB7fSkpOgogICAg
ICAgICBhcmdzICs9IFsiLS1wcmVmIiwgIiVzPSVzIiAlIChwcmVmLCB2YWx1ZSldCiAgICAgaWYg
YnJvd3Nlci5jYV9jZXJ0aWZpY2F0ZV9wYXRoOgogICAgICAgICBhcmdzICs9IFsiLS1jZXJ0aWZp
Y2F0ZS1wYXRoIiwgYnJvd3Nlci5jYV9jZXJ0aWZpY2F0ZV9wYXRoXQpAQCAtNjIsOSArNjUsOSBA
QCBkZWYgYnVpbGRfc2Vydm9fY29tbWFuZCh0ZXN0LCB0ZXN0X3VybF9mdW5jLCBicm93c2VyLCBi
aW5hcnksIHBhdXNlX2FmdGVyX3Rlc3QsCiBjbGFzcyBTZXJ2b1Rlc3RoYXJuZXNzRXhlY3V0b3Io
UHJvY2Vzc1Rlc3RFeGVjdXRvcik6CiAgICAgY29udmVydF9yZXN1bHQgPSB0ZXN0aGFybmVzc19y
ZXN1bHRfY29udmVydGVyCiAKLSAgICBkZWYgX19pbml0X18oc2VsZiwgYnJvd3Nlciwgc2VydmVy
X2NvbmZpZywgdGltZW91dF9tdWx0aXBsaWVyPTEsIGRlYnVnX2luZm89Tm9uZSwKKyAgICBkZWYg
X19pbml0X18oc2VsZiwgbG9nZ2VyLCBicm93c2VyLCBzZXJ2ZXJfY29uZmlnLCB0aW1lb3V0X211
bHRpcGxpZXI9MSwgZGVidWdfaW5mbz1Ob25lLAogICAgICAgICAgICAgICAgICBwYXVzZV9hZnRl
cl90ZXN0PUZhbHNlLCAqKmt3YXJncyk6Ci0gICAgICAgIFByb2Nlc3NUZXN0RXhlY3V0b3IuX19p
bml0X18oc2VsZiwgYnJvd3Nlciwgc2VydmVyX2NvbmZpZywKKyAgICAgICAgUHJvY2Vzc1Rlc3RF
eGVjdXRvci5fX2luaXRfXyhzZWxmLCBsb2dnZXIsIGJyb3dzZXIsIHNlcnZlcl9jb25maWcsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZW91dF9tdWx0aXBsaWVyPXRp
bWVvdXRfbXVsdGlwbGllciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBk
ZWJ1Z19pbmZvPWRlYnVnX2luZm8pCiAgICAgICAgIHNlbGYucGF1c2VfYWZ0ZXJfdGVzdCA9IHBh
dXNlX2FmdGVyX3Rlc3QKQEAgLTEwMCwxMSArMTAzLDExIEBAIGNsYXNzIFNlcnZvVGVzdGhhcm5l
c3NFeGVjdXRvcihQcm9jZXNzVGVzdEV4ZWN1dG9yKToKICAgICAgICAgICAgIHNlbGYucHJvYyA9
IFByb2Nlc3NIYW5kbGVyKHNlbGYuY29tbWFuZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHByb2Nlc3NPdXRwdXRMaW5lPVtzZWxmLm9uX291dHB1dF0sCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkZpbmlzaD1zZWxmLm9uX2ZpbmlzaCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudj1lbnYsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnY9Y2FzdF9lbnYoZW52KSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JlT3V0cHV0PUZhbHNlKQogICAg
ICAgICAgICAgc2VsZi5wcm9jLnJ1bigpCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxm
LnByb2MgPSBzdWJwcm9jZXNzLlBvcGVuKHNlbGYuY29tbWFuZCwgZW52PWVudikKKyAgICAgICAg
ICAgIHNlbGYucHJvYyA9IHN1YnByb2Nlc3MuUG9wZW4oc2VsZi5jb21tYW5kLCBlbnY9Y2FzdF9l
bnYoZW52KSkKIAogICAgICAgICB0cnk6CiAgICAgICAgICAgICB0aW1lb3V0ID0gdGVzdC50aW1l
b3V0ICogc2VsZi50aW1lb3V0X211bHRpcGxpZXIKQEAgLTE3OSwxMCArMTgyLDExIEBAIGNsYXNz
IFRlbXBGaWxlbmFtZShvYmplY3QpOgogY2xhc3MgU2Vydm9SZWZUZXN0RXhlY3V0b3IoUHJvY2Vz
c1Rlc3RFeGVjdXRvcik6CiAgICAgY29udmVydF9yZXN1bHQgPSByZWZ0ZXN0X3Jlc3VsdF9jb252
ZXJ0ZXIKIAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBicm93c2VyLCBzZXJ2ZXJfY29uZmlnLCBi
aW5hcnk9Tm9uZSwgdGltZW91dF9tdWx0aXBsaWVyPTEsCisgICAgZGVmIF9faW5pdF9fKHNlbGYs
IGxvZ2dlciwgYnJvd3Nlciwgc2VydmVyX2NvbmZpZywgYmluYXJ5PU5vbmUsIHRpbWVvdXRfbXVs
dGlwbGllcj0xLAogICAgICAgICAgICAgICAgICBzY3JlZW5zaG90X2NhY2hlPU5vbmUsIGRlYnVn
X2luZm89Tm9uZSwgcGF1c2VfYWZ0ZXJfdGVzdD1GYWxzZSwKICAgICAgICAgICAgICAgICAgKipr
d2FyZ3MpOgogICAgICAgICBQcm9jZXNzVGVzdEV4ZWN1dG9yLl9faW5pdF9fKHNlbGYsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGJyb3dzZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc2VydmVyX2NvbmZpZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB0aW1lb3V0X211bHRpcGxpZXI9dGltZW91dF9tdWx0aXBsaWVyLApAQCAtMjMxLDcg
KzIzNSw3IEBAIGNsYXNzIFNlcnZvUmVmVGVzdEV4ZWN1dG9yKFByb2Nlc3NUZXN0RXhlY3V0b3Ip
OgogICAgICAgICAgICAgaWYgbm90IHNlbGYuaW50ZXJhY3RpdmU6CiAgICAgICAgICAgICAgICAg
c2VsZi5wcm9jID0gUHJvY2Vzc0hhbmRsZXIoc2VsZi5jb21tYW5kLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3NPdXRwdXRMaW5lPVtzZWxmLm9uX291
dHB1dF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52PWVu
dikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnY9Y2FzdF9l
bnYoZW52KSkKIAogCiAgICAgICAgICAgICAgICAgdHJ5OgpAQCAtMjQzLDcgKzI0Nyw3IEBAIGNs
YXNzIFNlcnZvUmVmVGVzdEV4ZWN1dG9yKFByb2Nlc3NUZXN0RXhlY3V0b3IpOgogICAgICAgICAg
ICAgICAgICAgICByYWlzZQogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBzZWxm
LnByb2MgPSBzdWJwcm9jZXNzLlBvcGVuKHNlbGYuY29tbWFuZCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudj1lbnYpCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBlbnY9Y2FzdF9lbnYoZW52KSkKICAgICAgICAgICAg
ICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgIHJ2ID0gc2VsZi5wcm9jLndhaXQoKQogICAg
ICAgICAgICAgICAgIGV4Y2VwdCBLZXlib2FyZEludGVycnVwdDoKQEAgLTI1NywxMCArMjYxLDEw
IEBAIGNsYXNzIFNlcnZvUmVmVGVzdEV4ZWN1dG9yKFByb2Nlc3NUZXN0RXhlY3V0b3IpOgogICAg
ICAgICAgICAgaWYgcnYgIT0gMCBvciBub3Qgb3MucGF0aC5leGlzdHMob3V0cHV0X3BhdGgpOgog
ICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZSwgKCJDUkFTSCIsIE5vbmUpCiAKLSAgICAgICAg
ICAgIHdpdGggb3BlbihvdXRwdXRfcGF0aCkgYXMgZjoKKyAgICAgICAgICAgIHdpdGggb3Blbihv
dXRwdXRfcGF0aCwgInJiIikgYXMgZjoKICAgICAgICAgICAgICAgICAjIE1pZ2h0IG5lZWQgdG8g
c3RyaXAgdmFyaWFibGUgaGVhZGVycyBvciBzb21ldGhpbmcgaGVyZQogICAgICAgICAgICAgICAg
IGRhdGEgPSBmLnJlYWQoKQotICAgICAgICAgICAgICAgIHJldHVybiBUcnVlLCBiYXNlNjQuYjY0
ZW5jb2RlKGRhdGEpCisgICAgICAgICAgICAgICAgcmV0dXJuIFRydWUsIGVuc3VyZV9zdHIoYmFz
ZTY0LmI2NGVuY29kZShkYXRhKSkKIAogICAgIGRlZiBkb190ZXN0KHNlbGYsIHRlc3QpOgogICAg
ICAgICByZXN1bHQgPSBzZWxmLmltcGxlbWVudGF0aW9uLnJ1bl90ZXN0KHRlc3QpCkBAIC0zMDUs
MTAgKzMwOSwxMSBAQCBjbGFzcyBTZXJ2b1RpbWVkUnVubmVyKFRpbWVkUnVubmVyKToKIGNsYXNz
IFNlcnZvQ3Jhc2h0ZXN0RXhlY3V0b3IoUHJvY2Vzc1Rlc3RFeGVjdXRvcik6CiAgICAgY29udmVy
dF9yZXN1bHQgPSBjcmFzaHRlc3RfcmVzdWx0X2NvbnZlcnRlcgogCi0gICAgZGVmIF9faW5pdF9f
KHNlbGYsIGJyb3dzZXIsIHNlcnZlcl9jb25maWcsIGJpbmFyeT1Ob25lLCB0aW1lb3V0X211bHRp
cGxpZXI9MSwKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbG9nZ2VyLCBicm93c2VyLCBzZXJ2ZXJf
Y29uZmlnLCBiaW5hcnk9Tm9uZSwgdGltZW91dF9tdWx0aXBsaWVyPTEsCiAgICAgICAgICAgICAg
ICAgIHNjcmVlbnNob3RfY2FjaGU9Tm9uZSwgZGVidWdfaW5mbz1Ob25lLCBwYXVzZV9hZnRlcl90
ZXN0PUZhbHNlLAogICAgICAgICAgICAgICAgICAqKmt3YXJncyk6CiAgICAgICAgIFByb2Nlc3NU
ZXN0RXhlY3V0b3IuX19pbml0X18oc2VsZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBsb2dnZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJv
d3NlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJfY29uZmln
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVvdXRfbXVsdGlwbGll
cj10aW1lb3V0X211bHRpcGxpZXIsCkBAIC0zMjksNiArMzM0LDggQEAgY2xhc3MgU2Vydm9DcmFz
aHRlc3RFeGVjdXRvcihQcm9jZXNzVGVzdEV4ZWN1dG9yKToKICAgICAgICAgc2VsZi50ZXN0ID0g
dGVzdAogICAgICAgICBzdWNjZXNzLCBkYXRhID0gU2Vydm9UaW1lZFJ1bm5lcihzZWxmLmxvZ2dl
ciwgc2VsZi5kb19jcmFzaHRlc3QsIHNlbGYucHJvdG9jb2wsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHRlc3RfdXJsLCB0aW1lb3V0LCBzZWxmLmV4dHJhX3RpbWVv
dXQpLnJ1bigpCisgICAgICAgICMgRW5zdXJlIHRoYXQgbm8gcHJvY2Vzc2VzIGhhbmcgYXJvdW5k
IGlmIHRoZXkgdGltZW91dC4KKyAgICAgICAgc2VsZi5wcm9jLmtpbGwoKQogCiAgICAgICAgIGlm
IHN1Y2Nlc3M6CiAgICAgICAgICAgICByZXR1cm4gc2VsZi5jb252ZXJ0X3Jlc3VsdCh0ZXN0LCBk
YXRhKQpAQCAtMzUwLDExICszNTcsMTEgQEAgY2xhc3MgU2Vydm9DcmFzaHRlc3RFeGVjdXRvcihQ
cm9jZXNzVGVzdEV4ZWN1dG9yKToKIAogICAgICAgICBpZiBub3Qgc2VsZi5pbnRlcmFjdGl2ZToK
ICAgICAgICAgICAgIHNlbGYucHJvYyA9IFByb2Nlc3NIYW5kbGVyKGNvbW1hbmQsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnY9ZW52LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZW52PWNhc3RfZW52KGVudiksCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yZU91dHB1dD1GYWxzZSkKICAgICAgICAgICAg
IHNlbGYucHJvYy5ydW4oKQogICAgICAgICBlbHNlOgotICAgICAgICAgICAgc2VsZi5wcm9jID0g
c3VicHJvY2Vzcy5Qb3Blbihjb21tYW5kLCBlbnY9ZW52KQorICAgICAgICAgICAgc2VsZi5wcm9j
ID0gc3VicHJvY2Vzcy5Qb3Blbihjb21tYW5kLCBlbnY9Y2FzdF9lbnYoZW52KSkKIAogICAgICAg
ICBzZWxmLnByb2Mud2FpdCgpCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMv
ZXhlY3V0b3JzZXJ2b2RyaXZlci5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvZXhlY3V0b3Jz
ZXJ2b2RyaXZlci5weQppbmRleCAwMmVjYzc1NjY0NzY1NmU2YjIwZTA2MzcxZDI4NzY3ZmEwZWIw
MGYxLi4wNjgwYzRlZDIyOTkwMzUxNDZjMmIxZTQ3OGY0YjNmYTFjMzAxMTAxIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL2V4ZWN1dG9yc2Vydm9kcml2ZXIucHkKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
d3B0cnVubmVyL2V4ZWN1dG9ycy9leGVjdXRvcnNlcnZvZHJpdmVyLnB5CkBAIC0xMjYsOCArMTI2
LDggQEAgY2xhc3MgU2Vydm9XZWJEcml2ZXJQcm90b2NvbChQcm90b2NvbCk6CiAgICAgICAgICAg
ICAgICAgcGFzcwogICAgICAgICAgICAgZXhjZXB0IChzb2NrZXQudGltZW91dCwgSU9FcnJvcik6
CiAgICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMg
ZToKLSAgICAgICAgICAgICAgICBzZWxmLmxvZ2dlci5lcnJvcih0cmFjZWJhY2suZm9ybWF0X2V4
YyhlKSkKKyAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246CisgICAgICAgICAgICAgICAgc2Vs
Zi5sb2dnZXIuZXJyb3IodHJhY2ViYWNrLmZvcm1hdF9leGMoKSkKICAgICAgICAgICAgICAgICBi
cmVhawogCiAKQEAgLTE0Niw3ICsxNDYsNyBAQCBjbGFzcyBTZXJ2b1dlYkRyaXZlclJ1bihUaW1l
ZFJ1bm5lcik6CiAgICAgICAgICAgICBtZXNzYWdlID0gZ2V0YXR0cihlLCAibWVzc2FnZSIsICIi
KQogICAgICAgICAgICAgaWYgbWVzc2FnZToKICAgICAgICAgICAgICAgICBtZXNzYWdlICs9ICJc
biIKLSAgICAgICAgICAgIG1lc3NhZ2UgKz0gdHJhY2ViYWNrLmZvcm1hdF9leGMoZSkKKyAgICAg
ICAgICAgIG1lc3NhZ2UgKz0gdHJhY2ViYWNrLmZvcm1hdF9leGMoKQogICAgICAgICAgICAgc2Vs
Zi5yZXN1bHQgPSBGYWxzZSwgKCJJTlRFUk5BTC1FUlJPUiIsIGUpCiAgICAgICAgIGZpbmFsbHk6
CiAgICAgICAgICAgICBzZWxmLnJlc3VsdF9mbGFnLnNldCgpCkBAIC0xNTUsMTAgKzE1NSwxMCBA
QCBjbGFzcyBTZXJ2b1dlYkRyaXZlclJ1bihUaW1lZFJ1bm5lcik6CiBjbGFzcyBTZXJ2b1dlYkRy
aXZlclRlc3RoYXJuZXNzRXhlY3V0b3IoVGVzdGhhcm5lc3NFeGVjdXRvcik6CiAgICAgc3VwcG9y
dHNfdGVzdGRyaXZlciA9IFRydWUKIAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBicm93c2VyLCBz
ZXJ2ZXJfY29uZmlnLCB0aW1lb3V0X211bHRpcGxpZXI9MSwKKyAgICBkZWYgX19pbml0X18oc2Vs
ZiwgbG9nZ2VyLCBicm93c2VyLCBzZXJ2ZXJfY29uZmlnLCB0aW1lb3V0X211bHRpcGxpZXI9MSwK
ICAgICAgICAgICAgICAgICAgY2xvc2VfYWZ0ZXJfZG9uZT1UcnVlLCBjYXBhYmlsaXRpZXM9Tm9u
ZSwgZGVidWdfaW5mbz1Ob25lLAogICAgICAgICAgICAgICAgICAqKmt3YXJncyk6Ci0gICAgICAg
IFRlc3RoYXJuZXNzRXhlY3V0b3IuX19pbml0X18oc2VsZiwgYnJvd3Nlciwgc2VydmVyX2NvbmZp
ZywgdGltZW91dF9tdWx0aXBsaWVyPTEsCisgICAgICAgIFRlc3RoYXJuZXNzRXhlY3V0b3IuX19p
bml0X18oc2VsZiwgbG9nZ2VyLCBicm93c2VyLCBzZXJ2ZXJfY29uZmlnLCB0aW1lb3V0X211bHRp
cGxpZXI9MSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1Z19pbmZv
PU5vbmUpCiAgICAgICAgIHNlbGYucHJvdG9jb2wgPSBTZXJ2b1dlYkRyaXZlclByb3RvY29sKHNl
bGYsIGJyb3dzZXIsIGNhcGFiaWxpdGllcz1jYXBhYmlsaXRpZXMpCiAgICAgICAgIHdpdGggb3Bl
bihvcy5wYXRoLmpvaW4oaGVyZSwgInRlc3RoYXJuZXNzX3NlcnZvZHJpdmVyLmpzIikpIGFzIGY6
CkBAIC0yMjEsMTEgKzIyMSwxMiBAQCBjbGFzcyBUaW1lb3V0RXJyb3IoRXhjZXB0aW9uKToKIAog
CiBjbGFzcyBTZXJ2b1dlYkRyaXZlclJlZlRlc3RFeGVjdXRvcihSZWZUZXN0RXhlY3V0b3IpOgot
ICAgIGRlZiBfX2luaXRfXyhzZWxmLCBicm93c2VyLCBzZXJ2ZXJfY29uZmlnLCB0aW1lb3V0X211
bHRpcGxpZXI9MSwKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbG9nZ2VyLCBicm93c2VyLCBzZXJ2
ZXJfY29uZmlnLCB0aW1lb3V0X211bHRpcGxpZXI9MSwKICAgICAgICAgICAgICAgICAgc2NyZWVu
c2hvdF9jYWNoZT1Ob25lLCBjYXBhYmlsaXRpZXM9Tm9uZSwgZGVidWdfaW5mbz1Ob25lLAogICAg
ICAgICAgICAgICAgICAqKmt3YXJncyk6CiAgICAgICAgICIiIlNlbGVuaXVtIFdlYkRyaXZlci1i
YXNlZCBleGVjdXRvciBmb3IgcmVmdGVzdHMiIiIKICAgICAgICAgUmVmVGVzdEV4ZWN1dG9yLl9f
aW5pdF9fKHNlbGYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2dnZXIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicm93c2VyLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc2VydmVyX2NvbmZpZywKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHNjcmVlbnNob3RfY2FjaGU9c2NyZWVuc2hvdF9jYWNoZSwKQEAgLTIzNSw4ICsy
MzYsOCBAQCBjbGFzcyBTZXJ2b1dlYkRyaXZlclJlZlRlc3RFeGVjdXRvcihSZWZUZXN0RXhlY3V0
b3IpOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXBh
YmlsaXRpZXM9Y2FwYWJpbGl0aWVzKQogICAgICAgICBzZWxmLmltcGxlbWVudGF0aW9uID0gUmVm
VGVzdEltcGxlbWVudGF0aW9uKHNlbGYpCiAgICAgICAgIHNlbGYudGltZW91dCA9IE5vbmUKLSAg
ICAgICAgd2l0aCBvcGVuKG9zLnBhdGguam9pbihoZXJlLCAicmVmdGVzdC13YWl0X3dlYmRyaXZl
ci5qcyIpKSBhcyBmOgotICAgICAgICAgICAgc2VsZi53YWl0X3NjcmlwdCA9IGYucmVhZCgpCisg
ICAgICAgIHdpdGggb3Blbihvcy5wYXRoLmpvaW4oaGVyZSwgInRlc3Qtd2FpdC5qcyIpKSBhcyBm
OgorICAgICAgICAgICAgc2VsZi53YWl0X3NjcmlwdCA9IGYucmVhZCgpICUgeyJjbGFzc25hbWUi
OiAicmVmdGVzdC13YWl0In0KIAogICAgIGRlZiByZXNldChzZWxmKToKICAgICAgICAgc2VsZi5p
bXBsZW1lbnRhdGlvbi5yZXNldCgpCkBAIC0yNTYsNyArMjU3LDcgQEAgY2xhc3MgU2Vydm9XZWJE
cml2ZXJSZWZUZXN0RXhlY3V0b3IoUmVmVGVzdEV4ZWN1dG9yKToKICAgICAgICAgICAgIG1lc3Nh
Z2UgPSBnZXRhdHRyKGUsICJtZXNzYWdlIiwgIiIpCiAgICAgICAgICAgICBpZiBtZXNzYWdlOgog
ICAgICAgICAgICAgICAgIG1lc3NhZ2UgKz0gIlxuIgotICAgICAgICAgICAgbWVzc2FnZSArPSB0
cmFjZWJhY2suZm9ybWF0X2V4YyhlKQorICAgICAgICAgICAgbWVzc2FnZSArPSB0cmFjZWJhY2su
Zm9ybWF0X2V4YygpCiAgICAgICAgICAgICByZXR1cm4gdGVzdC5yZXN1bHRfY2xzKCJJTlRFUk5B
TC1FUlJPUiIsIG1lc3NhZ2UpLCBbXQogCiAgICAgZGVmIHNjcmVlbnNob3Qoc2VsZiwgdGVzdCwg
dmlld3BvcnRfc2l6ZSwgZHBpKToKQEAgLTI3Nyw3ICsyNzgsNyBAQCBjbGFzcyBTZXJ2b1dlYkRy
aXZlclJlZlRlc3RFeGVjdXRvcihSZWZUZXN0RXhlY3V0b3IpOgogCiAgICAgICAgIHJldHVybiBT
ZXJ2b1dlYkRyaXZlclJ1bihzZWxmLmxvZ2dlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHNlbGYuX3NjcmVlbnNob3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzZWxmLnByb3RvY29sLnNlc3Npb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzZWxmLnByb3RvY29sLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi50
ZXN0X3VybCh0ZXN0KSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVvdXQs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmV4dHJhX3RpbWVvdXQpLnJ1
bigpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL2V4ZWN1dG9yd2ViZHJpdmVy
LnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy9leGVjdXRvcndlYmRyaXZlci5weQppbmRleCA5
YjVmMzk3NjQwMjVlYmQ5MTJmOWZkMDgwYWQwNWRkMGRlZWE4MjdjLi5jNWYyOTY1ZWMxODU4NjEz
MWJjMjBkMzk0ZjU2Yjc4ODI3YzEwMmVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0
b3JzL2V4ZWN1dG9yd2ViZHJpdmVyLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvZXhl
Y3V0b3J3ZWJkcml2ZXIucHkKQEAgLTEsMTEgKzEsMTIgQEAKK2Zyb20gX19mdXR1cmVfXyBpbXBv
cnQgYWJzb2x1dGVfaW1wb3J0CiBpbXBvcnQganNvbgogaW1wb3J0IG9zCiBpbXBvcnQgc29ja2V0
CiBpbXBvcnQgdGhyZWFkaW5nCiBpbXBvcnQgdGltZQogaW1wb3J0IHRyYWNlYmFjawotaW1wb3J0
IHVybHBhcnNlCiBpbXBvcnQgdXVpZAorZnJvbSBzaXgubW92ZXMudXJsbGliLnBhcnNlIGltcG9y
dCB1cmxqb2luCiAKIGZyb20gLmJhc2UgaW1wb3J0IChDYWxsYmFja0hhbmRsZXIsCiAgICAgICAg
ICAgICAgICAgICAgQ3Jhc2h0ZXN0RXhlY3V0b3IsCkBAIC02NiwxMyArNjcsMjAgQEAgY2xhc3Mg
V2ViRHJpdmVyQmFzZVByb3RvY29sUGFydChCYXNlUHJvdG9jb2xQYXJ0KToKICAgICAgICAgd2hp
bGUgVHJ1ZToKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBzZWxmLndlYmRyaXZl
ci5leGVjdXRlX2FzeW5jX3NjcmlwdCgiIikKLSAgICAgICAgICAgIGV4Y2VwdCAoY2xpZW50LlRp
bWVvdXRFeGNlcHRpb24sIGNsaWVudC5TY3JpcHRUaW1lb3V0RXhjZXB0aW9uKToKKyAgICAgICAg
ICAgIGV4Y2VwdCAoY2xpZW50LlRpbWVvdXRFeGNlcHRpb24sCisgICAgICAgICAgICAgICAgICAg
IGNsaWVudC5TY3JpcHRUaW1lb3V0RXhjZXB0aW9uLAorICAgICAgICAgICAgICAgICAgICBjbGll
bnQuSmF2YXNjcmlwdEVycm9yRXhjZXB0aW9uKToKKyAgICAgICAgICAgICAgICAjIEEgSmF2YXNj
cmlwdEVycm9yRXhjZXB0aW9uIHdpbGwgaGFwcGVuIHdoZW4gd2UgbmF2aWdhdGU7CisgICAgICAg
ICAgICAgICAgIyBieSBpZ25vcmluZyBpdCBpdCdzIHBvc3NpYmxlIHRvIHJlbG9hZCB0aGUgdGVz
dCB3aGlsc3QgdGhlCisgICAgICAgICAgICAgICAgIyBoYXJuZXNzIHJlbWFpbnMgcGF1c2VkCiAg
ICAgICAgICAgICAgICAgcGFzcwotICAgICAgICAgICAgZXhjZXB0IChzb2NrZXQudGltZW91dCwg
Y2xpZW50Lk5vU3VjaFdpbmRvd0V4Y2VwdGlvbiwKLSAgICAgICAgICAgICAgICAgICAgY2xpZW50
LlVua25vd25FcnJvckV4Y2VwdGlvbiwgSU9FcnJvcik6CisgICAgICAgICAgICBleGNlcHQgKHNv
Y2tldC50aW1lb3V0LAorICAgICAgICAgICAgICAgICAgICBjbGllbnQuTm9TdWNoV2luZG93RXhj
ZXB0aW9uLAorICAgICAgICAgICAgICAgICAgICBjbGllbnQuVW5rbm93bkVycm9yRXhjZXB0aW9u
LAorICAgICAgICAgICAgICAgICAgICBJT0Vycm9yKToKICAgICAgICAgICAgICAgICBicmVhawot
ICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgotICAgICAgICAgICAgICAgIHNlbGYu
bG9nZ2VyLmVycm9yKHRyYWNlYmFjay5mb3JtYXRfZXhjKGUpKQorICAgICAgICAgICAgZXhjZXB0
IEV4Y2VwdGlvbjoKKyAgICAgICAgICAgICAgICBzZWxmLmxvZ2dlci5lcnJvcih0cmFjZWJhY2su
Zm9ybWF0X2V4YygpKQogICAgICAgICAgICAgICAgIGJyZWFrCiAKIApAQCAtODYsOCArOTQsOCBA
QCBjbGFzcyBXZWJEcml2ZXJUZXN0aGFybmVzc1Byb3RvY29sUGFydChUZXN0aGFybmVzc1Byb3Rv
Y29sUGFydCk6CiAgICAgZGVmIGxvYWRfcnVubmVyKHNlbGYsIHVybF9wcm90b2NvbCk6CiAgICAg
ICAgIGlmIHNlbGYucnVubmVyX2hhbmRsZToKICAgICAgICAgICAgIHNlbGYud2ViZHJpdmVyLndp
bmRvd19oYW5kbGUgPSBzZWxmLnJ1bm5lcl9oYW5kbGUKLSAgICAgICAgdXJsID0gdXJscGFyc2Uu
dXJsam9pbihzZWxmLnBhcmVudC5leGVjdXRvci5zZXJ2ZXJfdXJsKHVybF9wcm90b2NvbCksCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi90ZXN0aGFybmVzc19ydW5uZXIuaHRtbCIp
CisgICAgICAgIHVybCA9IHVybGpvaW4oc2VsZi5wYXJlbnQuZXhlY3V0b3Iuc2VydmVyX3VybCh1
cmxfcHJvdG9jb2wpLAorICAgICAgICAgICAgICAgICAgICAgICIvdGVzdGhhcm5lc3NfcnVubmVy
Lmh0bWwiKQogICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygiTG9hZGluZyAlcyIgJSB1cmwpCiAK
ICAgICAgICAgc2VsZi53ZWJkcml2ZXIudXJsID0gdXJsCkBAIC0yODgsMTUgKzI5NiwxOSBAQCBj
bGFzcyBXZWJEcml2ZXJQcm90b2NvbChQcm90b2NvbCk6CiAgICAgICAgICAgICBtZXNzYWdlID0g
c3RyKGdldGF0dHIoZSwgIm1lc3NhZ2UiLCAiIikpCiAgICAgICAgICAgICBpZiBtZXNzYWdlOgog
ICAgICAgICAgICAgICAgIG1lc3NhZ2UgKz0gIlxuIgotICAgICAgICAgICAgbWVzc2FnZSArPSB0
cmFjZWJhY2suZm9ybWF0X2V4YyhlKQorICAgICAgICAgICAgbWVzc2FnZSArPSB0cmFjZWJhY2su
Zm9ybWF0X2V4YygpCiAgICAgICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZyhtZXNzYWdlKQogICAg
ICAgICBzZWxmLndlYmRyaXZlciA9IE5vbmUKIAogICAgIGRlZiBpc19hbGl2ZShzZWxmKToKICAg
ICAgICAgdHJ5OgotICAgICAgICAgICAgIyBHZXQgYSBzaW1wbGUgcHJvcGVydHkgb3ZlciB0aGUg
Y29ubmVjdGlvbgotICAgICAgICAgICAgc2VsZi53ZWJkcml2ZXIud2luZG93X2hhbmRsZQotICAg
ICAgICBleGNlcHQgKHNvY2tldC50aW1lb3V0LCBjbGllbnQuVW5rbm93bkVycm9yRXhjZXB0aW9u
KToKKyAgICAgICAgICAgICMgR2V0IGEgc2ltcGxlIHByb3BlcnR5IG92ZXIgdGhlIGNvbm5lY3Rp
b24sIHdpdGggMiBzZWNvbmRzIG9mIHRpbWVvdXQKKyAgICAgICAgICAgICMgdGhhdCBzaG91bGQg
YmUgbW9yZSB0aGFuIGVub3VnaCB0byBjaGVjayBpZiB0aGUgV2ViRHJpdmVyIGl0cworICAgICAg
ICAgICAgIyBzdGlsbCBhbGl2ZSwgYW5kIGFsbG93cyB0byBjb21wbGV0ZSB0aGUgY2hlY2sgd2l0
aGluIHRoZSB0ZXN0cnVubmVyCisgICAgICAgICAgICAjIDUgc2Vjb25kcyBvZiBleHRyYV90aW1l
b3V0IHdlIGhhdmUgYXMgbWF4aW11bSB0byBlbmQgdGhlIHRlc3QgYmVmb3JlCisgICAgICAgICAg
ICAjIHRoZSBleHRlcm5hbCB0aW1lb3V0IGZyb20gdGVzdHJ1bm5lciB0cmlnZ2Vycy4KKyAgICAg
ICAgICAgIHNlbGYud2ViZHJpdmVyLnNlbmRfc2Vzc2lvbl9jb21tYW5kKCJHRVQiLCAid2luZG93
IiwgdGltZW91dD0yKQorICAgICAgICBleGNlcHQgKHNvY2tldC50aW1lb3V0LCBjbGllbnQuVW5r
bm93bkVycm9yRXhjZXB0aW9uLCBjbGllbnQuSW52YWxpZFNlc3Npb25JZEV4Y2VwdGlvbik6CiAg
ICAgICAgICAgICByZXR1cm4gRmFsc2UKICAgICAgICAgcmV0dXJuIFRydWUKIApAQCAtMzI5LDcg
KzM0MSw3IEBAIGNsYXNzIFdlYkRyaXZlclJ1bihUaW1lZFJ1bm5lcik6CiAgICAgICAgICAgICAg
ICAgbWVzc2FnZSA9IHN0cihnZXRhdHRyKGUsICJtZXNzYWdlIiwgIiIpKQogICAgICAgICAgICAg
ICAgIGlmIG1lc3NhZ2U6CiAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgKz0gIlxuIgotICAg
ICAgICAgICAgICAgIG1lc3NhZ2UgKz0gdHJhY2ViYWNrLmZvcm1hdF9leGMoZSkKKyAgICAgICAg
ICAgICAgICBtZXNzYWdlICs9IHRyYWNlYmFjay5mb3JtYXRfZXhjKCkKICAgICAgICAgICAgICAg
ICBzZWxmLnJlc3VsdCA9IEZhbHNlLCAoIklOVEVSTkFMLUVSUk9SIiwgbWVzc2FnZSkKICAgICAg
ICAgZmluYWxseToKICAgICAgICAgICAgIHNlbGYucmVzdWx0X2ZsYWcuc2V0KCkKQEAgLTMzOCwx
MSArMzUwLDExIEBAIGNsYXNzIFdlYkRyaXZlclJ1bihUaW1lZFJ1bm5lcik6CiBjbGFzcyBXZWJE
cml2ZXJUZXN0aGFybmVzc0V4ZWN1dG9yKFRlc3RoYXJuZXNzRXhlY3V0b3IpOgogICAgIHN1cHBv
cnRzX3Rlc3Rkcml2ZXIgPSBUcnVlCiAKLSAgICBkZWYgX19pbml0X18oc2VsZiwgYnJvd3Nlciwg
c2VydmVyX2NvbmZpZywgdGltZW91dF9tdWx0aXBsaWVyPTEsCisgICAgZGVmIF9faW5pdF9fKHNl
bGYsIGxvZ2dlciwgYnJvd3Nlciwgc2VydmVyX2NvbmZpZywgdGltZW91dF9tdWx0aXBsaWVyPTEs
CiAgICAgICAgICAgICAgICAgIGNsb3NlX2FmdGVyX2RvbmU9VHJ1ZSwgY2FwYWJpbGl0aWVzPU5v
bmUsIGRlYnVnX2luZm89Tm9uZSwKICAgICAgICAgICAgICAgICAgc3VwcG9ydHNfZWFnZXJfcGFn
ZWxvYWQ9VHJ1ZSwgKiprd2FyZ3MpOgogICAgICAgICAiIiJXZWJEcml2ZXItYmFzZWQgZXhlY3V0
b3IgZm9yIHRlc3RoYXJuZXNzLmpzIHRlc3RzIiIiCi0gICAgICAgIFRlc3RoYXJuZXNzRXhlY3V0
b3IuX19pbml0X18oc2VsZiwgYnJvd3Nlciwgc2VydmVyX2NvbmZpZywKKyAgICAgICAgVGVzdGhh
cm5lc3NFeGVjdXRvci5fX2luaXRfXyhzZWxmLCBsb2dnZXIsIGJyb3dzZXIsIHNlcnZlcl9jb25m
aWcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZW91dF9tdWx0aXBs
aWVyPXRpbWVvdXRfbXVsdGlwbGllciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBkZWJ1Z19pbmZvPWRlYnVnX2luZm8pCiAgICAgICAgIHNlbGYucHJvdG9jb2wgPSBXZWJE
cml2ZXJQcm90b2NvbChzZWxmLCBicm93c2VyLCBjYXBhYmlsaXRpZXMpCkBAIC00MzcsMTEgKzQ0
OSwxMiBAQCBpZiAobG9jYXRpb24uaHJlZiA9PT0gImFib3V0OmJsYW5rIikgewogCiAKIGNsYXNz
IFdlYkRyaXZlclJlZlRlc3RFeGVjdXRvcihSZWZUZXN0RXhlY3V0b3IpOgotICAgIGRlZiBfX2lu
aXRfXyhzZWxmLCBicm93c2VyLCBzZXJ2ZXJfY29uZmlnLCB0aW1lb3V0X211bHRpcGxpZXI9MSwK
KyAgICBkZWYgX19pbml0X18oc2VsZiwgbG9nZ2VyLCBicm93c2VyLCBzZXJ2ZXJfY29uZmlnLCB0
aW1lb3V0X211bHRpcGxpZXI9MSwKICAgICAgICAgICAgICAgICAgc2NyZWVuc2hvdF9jYWNoZT1O
b25lLCBjbG9zZV9hZnRlcl9kb25lPVRydWUsCiAgICAgICAgICAgICAgICAgIGRlYnVnX2luZm89
Tm9uZSwgY2FwYWJpbGl0aWVzPU5vbmUsICoqa3dhcmdzKToKICAgICAgICAgIiIiV2ViRHJpdmVy
LWJhc2VkIGV4ZWN1dG9yIGZvciByZWZ0ZXN0cyIiIgogICAgICAgICBSZWZUZXN0RXhlY3V0b3Iu
X19pbml0X18oc2VsZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ2dlciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyb3dzZXIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJfY29uZmlnLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc2NyZWVuc2hvdF9jYWNoZT1zY3JlZW5zaG90X2NhY2hlLApAQCAtNTA1LDEx
ICs1MTgsMTIgQEAgY2xhc3MgV2ViRHJpdmVyUmVmVGVzdEV4ZWN1dG9yKFJlZlRlc3RFeGVjdXRv
cik6CiAKIAogY2xhc3MgV2ViRHJpdmVyQ3Jhc2h0ZXN0RXhlY3V0b3IoQ3Jhc2h0ZXN0RXhlY3V0
b3IpOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBicm93c2VyLCBzZXJ2ZXJfY29uZmlnLCB0aW1l
b3V0X211bHRpcGxpZXI9MSwKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbG9nZ2VyLCBicm93c2Vy
LCBzZXJ2ZXJfY29uZmlnLCB0aW1lb3V0X211bHRpcGxpZXI9MSwKICAgICAgICAgICAgICAgICAg
c2NyZWVuc2hvdF9jYWNoZT1Ob25lLCBjbG9zZV9hZnRlcl9kb25lPVRydWUsCiAgICAgICAgICAg
ICAgICAgIGRlYnVnX2luZm89Tm9uZSwgY2FwYWJpbGl0aWVzPU5vbmUsICoqa3dhcmdzKToKICAg
ICAgICAgIiIiV2ViRHJpdmVyLWJhc2VkIGV4ZWN1dG9yIGZvciByZWZ0ZXN0cyIiIgogICAgICAg
ICBDcmFzaHRlc3RFeGVjdXRvci5fX2luaXRfXyhzZWxmLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBsb2dnZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGJyb3dzZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlcl9jb25m
aWcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjcmVlbnNob3RfY2FjaGU9
c2NyZWVuc2hvdF9jYWNoZSwKQEAgLTUzNSw3ICs1NDksNyBAQCBjbGFzcyBXZWJEcml2ZXJDcmFz
aHRlc3RFeGVjdXRvcihDcmFzaHRlc3RFeGVjdXRvcik6CiAgICAgICAgIGlmIHN1Y2Nlc3M6CiAg
ICAgICAgICAgICByZXR1cm4gc2VsZi5jb252ZXJ0X3Jlc3VsdCh0ZXN0LCBkYXRhKQogCi0gICAg
ICAgIHJldHVybiAodGVzdC5yZXN1bHRfY2xzKCoqZGF0YSksIFtdKQorICAgICAgICByZXR1cm4g
KHRlc3QucmVzdWx0X2NscygqZGF0YSksIFtdKQogCiAgICAgZGVmIGRvX2NyYXNodGVzdChzZWxm
LCBwcm90b2NvbCwgdXJsLCB0aW1lb3V0KToKICAgICAgICAgcHJvdG9jb2wuYmFzZS5sb2FkKHVy
bCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvcHJvdG9jb2wucHkgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93
cHRydW5uZXIvZXhlY3V0b3JzL3Byb3RvY29sLnB5CmluZGV4IDk1ZmRlYzdjOTgxNjg4YWE5OWNh
MTNlZWFmNGM3YjZjNDA1MmM5MTcuLjRlY2RkNTFhMGVmNWVjYTgxNTNmZmI4NDhmMDI1M2VlYjZk
N2Y3MzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvcHJvdG9jb2wucHkKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy9wcm90b2NvbC5weQpAQCAtMzIsNyArMzIsNiBAQCBj
bGFzcyBQcm90b2NvbChvYmplY3QpOgogICAgICAgICAiIiI6cmV0dXJuczogQ3VycmVudCBsb2dn
ZXIiIiIKICAgICAgICAgcmV0dXJuIHNlbGYuZXhlY3V0b3IubG9nZ2VyCiAKLSAgICBAcHJvcGVy
dHkKICAgICBkZWYgaXNfYWxpdmUoc2VsZik6CiAgICAgICAgICIiIklzIHRoZSBicm93c2VyIGNv
bm5lY3Rpb24gc3RpbGwgYWN0aXZlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRv
cnMvcHl0ZXN0cnVubmVyL3J1bm5lci5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvcHl0ZXN0
cnVubmVyL3J1bm5lci5weQppbmRleCBjMTkzNmViOTY2Zjc4ODM0ZDgzOWM3OTQwOTMyMmIwYTk2
YWYxMjg0Li4zZDMyOTE3NjU5YjM5MDBmOWU0NjQ2NzBkMmNkYzM5YjhmZjE4MGEwIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL3B5dGVzdHJ1bm5lci9ydW5uZXIucHkKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5u
ZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy9weXRlc3RydW5uZXIvcnVubmVyLnB5CkBAIC00NCw3ICs0
NCw3IEBAIGRlZiBydW4ocGF0aCwgc2VydmVyX2NvbmZpZywgc2Vzc2lvbl9jb25maWcsIHRpbWVv
dXQ9MCk6CiAgICAgb3MuZW52aXJvblsiV0RfSE9TVCJdID0gc2Vzc2lvbl9jb25maWdbImhvc3Qi
XQogICAgIG9zLmVudmlyb25bIldEX1BPUlQiXSA9IHN0cihzZXNzaW9uX2NvbmZpZ1sicG9ydCJd
KQogICAgIG9zLmVudmlyb25bIldEX0NBUEFCSUxJVElFUyJdID0ganNvbi5kdW1wcyhzZXNzaW9u
X2NvbmZpZ1siY2FwYWJpbGl0aWVzIl0pCi0gICAgb3MuZW52aXJvblsiV0RfU0VSVkVSX0NPTkZJ
RyJdID0ganNvbi5kdW1wcyhzZXJ2ZXJfY29uZmlnLmFzX2RpY3QoKSkKKyAgICBvcy5lbnZpcm9u
WyJXRF9TRVJWRVJfQ09ORklHIl0gPSBqc29uLmR1bXBzKHNlcnZlcl9jb25maWcuYXNfZGljdF9m
b3Jfd2RfZW52X3ZhcmlhYmxlKCkpCiAKICAgICBoYXJuZXNzID0gSGFybmVzc1Jlc3VsdFJlY29y
ZGVyKCkKICAgICBzdWJ0ZXN0cyA9IFN1YnRlc3RSZXN1bHRSZWNvcmRlcigpCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL3Rlc3Qtd2FpdC5qcyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVj
dXRvcnMvdGVzdC13YWl0LmpzCmluZGV4IDhhN2VkYjc5ZDYyMjU2ZWVmNjNjNzFlYWJkNDUwZDQy
YmNlN2M0ZDIuLmFkMDhhZDdkNzZmYjAyOTlhYWRlZGI1NzIxOTNjMzhjNTA1NWU2NTQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvdGVzdC13YWl0LmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1
bm5lci9leGVjdXRvcnMvdGVzdC13YWl0LmpzCkBAIC0zMiw3ICszMiw4IEBAIGZ1bmN0aW9uIHdh
aXRfcGFpbnRzKCkgewogfQogCiBmdW5jdGlvbiBzY3JlZW5zaG90X2lmX3JlYWR5KCkgewotICBp
ZiAocm9vdC5jbGFzc0xpc3QuY29udGFpbnMoIiUoY2xhc3NuYW1lKXMiKSAmJgorICBpZiAocm9v
dCAmJgorICAgICAgcm9vdC5jbGFzc0xpc3QuY29udGFpbnMoIiUoY2xhc3NuYW1lKXMiKSAmJgog
ICAgICAgb2JzZXJ2ZXIgPT09IG51bGwpIHsKICAgICBvYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9i
c2VydmVyKHdhaXRfcGFpbnRzKTsKICAgICBvYnNlcnZlci5vYnNlcnZlKHJvb3QsIHthdHRyaWJ1
dGVzOiB0cnVlfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL3czYy1pbXBv
cnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1dG9ycy93M2MtaW1wb3J0LmxvZwppbmRleCA1ZDli
Njk4ZjNjYTM1YWJhN2ZkZTAyNTI1Yjg1ODU5OTU4ZDIzOGFhLi42MTE2OGEyMDdiZmI0MDc2MzY4
ZDZkNGQxOTE5MWJiZGNkNTZmNzczIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3Jz
L3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvdzNjLWltcG9ydC5s
b2cKQEAgLTE1LDYgKzE1LDcgQEAgTm9uZQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBMaXN0IG9mIGZpbGVz
OgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0
cnVubmVyL3dwdHJ1bm5lci9leGVjdXRvcnMvX19pbml0X18ucHkKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhl
Y3V0b3JzL2FjdGlvbnMucHkKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZXhlY3V0b3JzL2Jhc2UucHkKIC9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93
cHRydW5uZXIvZXhlY3V0b3JzL2V4ZWN1dG9yY2hyb21lLnB5CiAvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4ZWN1
dG9ycy9leGVjdXRvcmVkZ2UucHkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leHBlY3RlZHRy
ZWUucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci93cHRydW5uZXIvZXhwZWN0ZWR0cmVlLnB5CmluZGV4IDRkNTA1MDg2YmQ4ZDk5
MWM5NTNjMzRkMzhkOGUxZmEwY2I5MjBmOTkuLjc1MjFmMjViMTM0NGY1YzUwYjgxODJhMmI3YTY4
Mjc4ODU4ZjliNDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9leHBlY3RlZHRyZWUucHkKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvd3B0cnVubmVyL2V4cGVjdGVkdHJlZS5weQpAQCAtMSw1ICsxLDYgQEAKIGZyb20gbWF0
aCBpbXBvcnQgbG9nCiBmcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBkZWZhdWx0ZGljdAorZnJvbSBz
aXggaW1wb3J0IGl0ZXJpdGVtcywgaXRlcnZhbHVlcwogCiBjbGFzcyBOb2RlKG9iamVjdCk6CiAg
ICAgZGVmIF9faW5pdF9fKHNlbGYsIHByb3AsIHZhbHVlKToKQEAgLTMzLDcgKzM0LDcgQEAgZGVm
IGVudHJvcHkocmVzdWx0cyk6CiAKICAgICByZXN1bHRfY291bnRzID0gZGVmYXVsdGRpY3QoaW50
KQogICAgIHRvdGFsID0gZmxvYXQobGVuKHJlc3VsdHMpKQotICAgIGZvciB2YWx1ZXMgaW4gcmVz
dWx0cy5pdGVydmFsdWVzKCk6CisgICAgZm9yIHZhbHVlcyBpbiBpdGVydmFsdWVzKHJlc3VsdHMp
OgogICAgICAgICAjIE5vdCBzdXJlIHRoaXMgaXMgcmlnaHQsIHBvc3NpYmx5IHdhbnQgdG8gdHJl
YXQgbXVsdGlwbGUgdmFsdWVzIGFzCiAgICAgICAgICMgZGlzdGluY3QgZnJvbSBtdWx0aXBsZSBv
ZiB0aGUgc2FtZSB2YWx1ZT8KICAgICAgICAgZm9yIHZhbHVlIGluIHZhbHVlczoKQEAgLTQxLDcg
KzQyLDcgQEAgZGVmIGVudHJvcHkocmVzdWx0cyk6CiAKICAgICBlbnRyb3B5X3N1bSA9IDAKIAot
ICAgIGZvciBjb3VudCBpbiByZXN1bHRfY291bnRzLml0ZXJ2YWx1ZXMoKToKKyAgICBmb3IgY291
bnQgaW4gaXRlcnZhbHVlcyhyZXN1bHRfY291bnRzKToKICAgICAgICAgcHJvcCA9IGZsb2F0KGNv
dW50KSAvIHRvdGFsCiAgICAgICAgIGVudHJvcHlfc3VtIC09IHByb3AgKiBsb2cocHJvcCwgMikK
IApAQCAtNTIsNyArNTMsNyBAQCBkZWYgc3BsaXRfcmVzdWx0cyhwcm9wLCByZXN1bHRzKToKICAg
ICAiIiJTcGxpdCBhIGRpY3Rpb25hcnkgb2YgcmVzdWx0cyBpbnRvIGEgZGljdGlvbmFyeSBvZiBk
aWN0aW9uYXJpZXMgd2hlcmUKICAgICBlYWNoIHN1Yi1kaWN0aW9uYXJ5IGhhcyBhIHNwZWNpZmlj
IHZhbHVlIG9mIHRoZSBnaXZlbiBwcm9wZXJ0eSIiIgogICAgIGJ5X3Byb3AgPSBkZWZhdWx0ZGlj
dChkaWN0KQotICAgIGZvciBydW5faW5mbywgdmFsdWUgaW4gcmVzdWx0cy5pdGVyaXRlbXMoKToK
KyAgICBmb3IgcnVuX2luZm8sIHZhbHVlIGluIGl0ZXJpdGVtcyhyZXN1bHRzKToKICAgICAgICAg
YnlfcHJvcFtydW5faW5mb1twcm9wXV1bcnVuX2luZm9dID0gdmFsdWUKIAogICAgIHJldHVybiBi
eV9wcm9wCkBAIC03NywxMyArNzgsMTMgQEAgZGVmIGJ1aWxkX3RyZWUocHJvcGVydGllcywgZGVw
ZW5kZW50X3Byb3BzLCByZXN1bHRzLCB0cmVlPU5vbmUpOgogICAgIHByb3BfaW5kZXggPSB7cHJv
cDogaSBmb3IgaSwgcHJvcCBpbiBlbnVtZXJhdGUocHJvcGVydGllcyl9CiAKICAgICBhbGxfcmVz
dWx0cyA9IGRlZmF1bHRkaWN0KGludCkKLSAgICBmb3IgcmVzdWx0X3ZhbHVlcyBpbiByZXN1bHRz
Lml0ZXJ2YWx1ZXMoKToKLSAgICAgICAgZm9yIHJlc3VsdF92YWx1ZSwgY291bnQgaW4gcmVzdWx0
X3ZhbHVlcy5pdGVyaXRlbXMoKToKKyAgICBmb3IgcmVzdWx0X3ZhbHVlcyBpbiBpdGVydmFsdWVz
KHJlc3VsdHMpOgorICAgICAgICBmb3IgcmVzdWx0X3ZhbHVlLCBjb3VudCBpbiBpdGVyaXRlbXMo
cmVzdWx0X3ZhbHVlcyk6CiAgICAgICAgICAgICBhbGxfcmVzdWx0c1tyZXN1bHRfdmFsdWVdICs9
IGNvdW50CiAKICAgICAjIElmIHRoZXJlIGlzIG9ubHkgb25lIHJlc3VsdCB3ZSBhcmUgZG9uZQog
ICAgIGlmIG5vdCBwcm9wZXJ0aWVzIG9yIGxlbihhbGxfcmVzdWx0cykgPT0gMToKLSAgICAgICAg
Zm9yIHZhbHVlLCBjb3VudCBpbiBhbGxfcmVzdWx0cy5pdGVyaXRlbXMoKToKKyAgICAgICAgZm9y
IHZhbHVlLCBjb3VudCBpbiBpdGVyaXRlbXMoYWxsX3Jlc3VsdHMpOgogICAgICAgICAgICAgdHJl
ZS5yZXN1bHRfdmFsdWVzW3ZhbHVlXSArPSBjb3VudAogICAgICAgICB0cmVlLnJ1bl9pbmZvIHw9
IHNldChyZXN1bHRzLmtleXMoKSkKICAgICAgICAgcmV0dXJuIHRyZWUKQEAgLTk5LDcgKzEwMCw3
IEBAIGRlZiBidWlsZF90cmVlKHByb3BlcnRpZXMsIGRlcGVuZGVudF9wcm9wcywgcmVzdWx0cywg
dHJlZT1Ob25lKToKICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgIG5ld19lbnRyb3B5ID0g
MC4KICAgICAgICAgcmVzdWx0c19zZXRzX2VudHJvcHkgPSBbXQotICAgICAgICBmb3IgcHJvcF92
YWx1ZSwgcmVzdWx0X3NldCBpbiByZXN1bHRfc2V0cy5pdGVyaXRlbXMoKToKKyAgICAgICAgZm9y
IHByb3BfdmFsdWUsIHJlc3VsdF9zZXQgaW4gaXRlcml0ZW1zKHJlc3VsdF9zZXRzKToKICAgICAg
ICAgICAgIHJlc3VsdHNfc2V0c19lbnRyb3B5LmFwcGVuZCgoZW50cm9weShyZXN1bHRfc2V0KSwg
cHJvcF92YWx1ZSwgcmVzdWx0X3NldCkpCiAgICAgICAgICAgICBuZXdfZW50cm9weSArPSAoZmxv
YXQobGVuKHJlc3VsdF9zZXQpKSAvIGxlbihyZXN1bHRzKSkgKiByZXN1bHRzX3NldHNfZW50cm9w
eVstMV1bMF0KIApAQCAtMTA5LDcgKzExMCw3IEBAIGRlZiBidWlsZF90cmVlKHByb3BlcnRpZXMs
IGRlcGVuZGVudF9wcm9wcywgcmVzdWx0cywgdHJlZT1Ob25lKToKIAogICAgICMgSW4gdGhlIGNh
c2UgdGhhdCBubyBwcm9wZXJ0aWVzIHBhcnRpdGlvbiB0aGUgc3BhY2UKICAgICBpZiBub3QgcmVz
dWx0c19wYXJ0aXRpb25zOgotICAgICAgICBmb3IgdmFsdWUsIGNvdW50IGluIGFsbF9yZXN1bHRz
Lml0ZXJpdGVtcygpOgorICAgICAgICBmb3IgdmFsdWUsIGNvdW50IGluIGl0ZXJpdGVtcyhhbGxf
cmVzdWx0cyk6CiAgICAgICAgICAgICB0cmVlLnJlc3VsdF92YWx1ZXNbdmFsdWVdICs9IGNvdW50
CiAgICAgICAgIHRyZWUucnVuX2luZm8gfD0gc2V0KHJlc3VsdHMua2V5cygpKQogICAgICAgICBy
ZXR1cm4gdHJlZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2ZvbnQucHkgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5u
ZXIvZm9udC5weQppbmRleCA2NjQ3YTg1ODBiZTdhYjQwNTBiYmQzNzU5M2IyZTY1OTViYzNhYzcy
Li42MjI2ZmM2NmZlZGYyYWZjOTZiNTExMGYzNTI0YjAwZDE4NWNjNTM4IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci93cHRydW5uZXIvZm9udC5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvZm9udC5weQpAQCAtMSw1ICsx
LDQgQEAKIGltcG9ydCBjdHlwZXMKLWltcG9ydCBsb2dnaW5nCiBpbXBvcnQgb3MKIGltcG9ydCBw
bGF0Zm9ybQogaW1wb3J0IHBsaXN0bGliCkBAIC0xMiw3ICsxMSw4IEBAIFNZU1RFTSA9IHBsYXRm
b3JtLnN5c3RlbSgpLmxvd2VyKCkKIAogCiBjbGFzcyBGb250SW5zdGFsbGVyKG9iamVjdCk6Ci0g
ICAgZGVmIF9faW5pdF9fKHNlbGYsIGZvbnRfZGlyPU5vbmUsICoqZm9udHMpOgorICAgIGRlZiBf
X2luaXRfXyhzZWxmLCBsb2dnZXIsIGZvbnRfZGlyPU5vbmUsICoqZm9udHMpOgorICAgICAgICBz
ZWxmLmxvZ2dlciA9IGxvZ2dlcgogICAgICAgICBzZWxmLmZvbnRfZGlyID0gZm9udF9kaXIKICAg
ICAgICAgc2VsZi5pbnN0YWxsZWRfZm9udHMgPSBGYWxzZQogICAgICAgICBzZWxmLmNyZWF0ZWRf
ZGlyID0gRmFsc2UKQEAgLTI2LDE0ICsyNiwxMyBAQCBjbGFzcyBGb250SW5zdGFsbGVyKG9iamVj
dCk6CiAgICAgICAgICAgICBmb250X25hbWUgPSBmb250X3BhdGguc3BsaXQoJy8nKVstMV0KICAg
ICAgICAgICAgIGluc3RhbGwgPSBnZXRhdHRyKHNlbGYsICdpbnN0YWxsXyVzX2ZvbnQnICUgU1lT
VEVNLCBOb25lKQogICAgICAgICAgICAgaWYgbm90IGluc3RhbGw6Ci0gICAgICAgICAgICAgICAg
bG9nZ2luZy53YXJuaW5nKCdGb250IGluc3RhbGxhdGlvbiBub3Qgc3VwcG9ydGVkIG9uICVzJywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1lTVEVNKQorICAgICAgICAgICAgICAg
IHNlbGYubG9nZ2VyLndhcm5pbmcoJ0ZvbnQgaW5zdGFsbGF0aW9uIG5vdCBzdXBwb3J0ZWQgb24g
JXMnICUgU1lTVEVNKQogICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQogICAgICAgICAgICAg
aWYgaW5zdGFsbChmb250X25hbWUsIGZvbnRfcGF0aCk6CiAgICAgICAgICAgICAgICAgc2VsZi5p
bnN0YWxsZWRfZm9udHMgPSBUcnVlCi0gICAgICAgICAgICAgICAgbG9nZ2luZy5pbmZvKCdJbnN0
YWxsZWQgZm9udDogJXMnLCBmb250X25hbWUpCisgICAgICAgICAgICAgICAgc2VsZi5sb2dnZXIu
aW5mbygnSW5zdGFsbGVkIGZvbnQ6ICVzJyAlIGZvbnRfbmFtZSkKICAgICAgICAgICAgIGVsc2U6
Ci0gICAgICAgICAgICAgICAgbG9nZ2luZy53YXJuaW5nKCdVbmFibGUgdG8gaW5zdGFsbCBmb250
OiAlcycsIGZvbnRfbmFtZSkKKyAgICAgICAgICAgICAgICBzZWxmLmxvZ2dlci53YXJuaW5nKCdV
bmFibGUgdG8gaW5zdGFsbCBmb250OiAlcycgJSBmb250X25hbWUpCiAKICAgICBkZWYgX19leGl0
X18oc2VsZiwgZXhjX3R5cGUsIGV4Y192YWwsIGV4Y190Yik6CiAgICAgICAgIGlmIG5vdCBzZWxm
Lmluc3RhbGxlZF9mb250czoKQEAgLTQzLDEyICs0MiwxMiBAQCBjbGFzcyBGb250SW5zdGFsbGVy
KG9iamVjdCk6CiAgICAgICAgICAgICBmb250X25hbWUgPSBmb250X3BhdGguc3BsaXQoJy8nKVst
MV0KICAgICAgICAgICAgIHJlbW92ZSA9IGdldGF0dHIoc2VsZiwgJ3JlbW92ZV8lc19mb250JyAl
IFNZU1RFTSwgTm9uZSkKICAgICAgICAgICAgIGlmIG5vdCByZW1vdmU6Ci0gICAgICAgICAgICAg
ICAgbG9nZ2luZy53YXJuaW5nKCdGb250IHJlbW92YWwgbm90IHN1cHBvcnRlZCBvbiAlcycsIFNZ
U1RFTSkKKyAgICAgICAgICAgICAgICBzZWxmLmxvZ2dlci53YXJuaW5nKCdGb250IHJlbW92YWwg
bm90IHN1cHBvcnRlZCBvbiAlcycgJSBTWVNURU0pCiAgICAgICAgICAgICAgICAgcmV0dXJuIEZh
bHNlCiAgICAgICAgICAgICBpZiByZW1vdmUoZm9udF9uYW1lLCBmb250X3BhdGgpOgotICAgICAg
ICAgICAgICAgIGxvZ2dpbmcuaW5mbygnUmVtb3ZlZCBmb250OiAlcycsIGZvbnRfbmFtZSkKKyAg
ICAgICAgICAgICAgICBzZWxmLmxvZ2dlci5pbmZvKCdSZW1vdmVkIGZvbnQ6ICVzJyAlIGZvbnRf
bmFtZSkKICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgbG9nZ2luZy53YXJuaW5n
KCdVbmFibGUgdG8gcmVtb3ZlIGZvbnQ6ICVzJywgZm9udF9uYW1lKQorICAgICAgICAgICAgICAg
IHNlbGYubG9nZ2VyLndhcm5pbmcoJ1VuYWJsZSB0byByZW1vdmUgZm9udDogJXMnICUgZm9udF9u
YW1lKQogCiAgICAgZGVmIGluc3RhbGxfbGludXhfZm9udChzZWxmLCBmb250X25hbWUsIGZvbnRf
cGF0aCk6CiAgICAgICAgIGlmIG5vdCBzZWxmLmZvbnRfZGlyOgpAQCAtNjIsNyArNjEsNyBAQCBj
bGFzcyBGb250SW5zdGFsbGVyKG9iamVjdCk6CiAgICAgICAgICAgICBmY19jYWNoZV9yZXR1cm5j
b2RlID0gY2FsbCgnZmMtY2FjaGUnKQogICAgICAgICAgICAgcmV0dXJuIG5vdCBmY19jYWNoZV9y
ZXR1cm5jb2RlCiAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOiAgIyBJZiBmb250Y29uZmlnIGRvZXNu
J3QgZXhpc3QsIHJldHVybiBGYWxzZQotICAgICAgICAgICAgbG9nZ2luZy5lcnJvcignZm9udGNv
bmZpZyBub3QgYXZhaWxhYmxlIG9uIHRoaXMgTGludXggc3lzdGVtLicpCisgICAgICAgICAgICBz
ZWxmLmxvZ2dlci5lcnJvcignZm9udGNvbmZpZyBub3QgYXZhaWxhYmxlIG9uIHRoaXMgTGludXgg
c3lzdGVtLicpCiAgICAgICAgICAgICByZXR1cm4gRmFsc2UKIAogICAgIGRlZiBpbnN0YWxsX2Rh
cndpbl9mb250KHNlbGYsIGZvbnRfbmFtZSwgZm9udF9wYXRoKToKQEAgLTc5LDcgKzc4LDEyIEBA
IGNsYXNzIEZvbnRJbnN0YWxsZXIob2JqZWN0KToKICAgICAgICAgIyBQZXIgaHR0cHM6Ly9naXRo
dWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXN1bHRzLWNvbGxlY3Rpb24vaXNzdWVzLzIxOAog
ICAgICAgICAjIGluc3RhbGxpbmcgQWhlbSBvbiBtYWNPUyBpcyBmbGFreSwgc28gY2hlY2sgaWYg
aXQgYWN0dWFsbHkgaW5zdGFsbGVkCiAgICAgICAgIGZvbnRzID0gY2hlY2tfb3V0cHV0KFsnL3Vz
ci9zYmluL3N5c3RlbV9wcm9maWxlcicsICcteG1sJywgJ1NQRm9udHNEYXRhVHlwZSddKQotICAg
ICAgICBmb250cyA9IHBsaXN0bGliLnJlYWRQbGlzdEZyb21TdHJpbmcoZm9udHMpCisgICAgICAg
IHRyeToKKyAgICAgICAgICAgICMgaWYgcHkzCisgICAgICAgICAgICByZWFkUGxpc3RGcm9tQnl0
ZXMgPSBwbGlzdGxpYi5yZWFkUGxpc3RGcm9tQnl0ZXMKKyAgICAgICAgZXhjZXB0IEF0dHJpYnV0
ZUVycm9yOgorICAgICAgICAgICAgcmVhZFBsaXN0RnJvbUJ5dGVzID0gcGxpc3RsaWIucmVhZFBs
aXN0RnJvbVN0cmluZworICAgICAgICBmb250cyA9IHJlYWRQbGlzdEZyb21CeXRlcyhmb250cykK
ICAgICAgICAgYXNzZXJ0IGxlbihmb250cykgPT0gMQogICAgICAgICBmb3IgZm9udCBpbiBmb250
c1swXVsnX2l0ZW1zJ106CiAgICAgICAgICAgICBpZiBmb250WydwYXRoJ10gPT0gaW5zdGFsbGVk
X2ZvbnRfcGF0aDoKQEAgLTExMCw3ICsxMTQsNyBAQCBjbGFzcyBGb250SW5zdGFsbGVyKG9iamVj
dCk6CiAgICAgICAgICAgICBmY19jYWNoZV9yZXR1cm5jb2RlID0gY2FsbCgnZmMtY2FjaGUnKQog
ICAgICAgICAgICAgcmV0dXJuIG5vdCBmY19jYWNoZV9yZXR1cm5jb2RlCiAgICAgICAgIGV4Y2Vw
dCBPU0Vycm9yOiAgIyBJZiBmb250Y29uZmlnIGRvZXNuJ3QgZXhpc3QsIHJldHVybiBGYWxzZQot
ICAgICAgICAgICAgbG9nZ2luZy5lcnJvcignZm9udGNvbmZpZyBub3QgYXZhaWxhYmxlIG9uIHRo
aXMgTGludXggc3lzdGVtLicpCisgICAgICAgICAgICBzZWxmLmxvZ2dlci5lcnJvcignZm9udGNv
bmZpZyBub3QgYXZhaWxhYmxlIG9uIHRoaXMgTGludXggc3lzdGVtLicpCiAgICAgICAgICAgICBy
ZXR1cm4gRmFsc2UKIAogICAgIGRlZiByZW1vdmVfZGFyd2luX2ZvbnQoc2VsZiwgZm9udF9uYW1l
LCBfKToKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9mb3JtYXR0ZXJzL2Nocm9taXVtLnB5IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5u
ZXIvd3B0cnVubmVyL2Zvcm1hdHRlcnMvY2hyb21pdW0ucHkKaW5kZXggNTY0MzVlYWJmNGJiZWFk
YmVlN2FmYTI5NGUzZTBiYjFlNzY4NWI5OS4uMDg2NTYwYjZhODczY2RjOWZlZmQzYjhiOGI3YTUz
YjAxNzNiMzg3MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Zvcm1hdHRlcnMvY2hyb21pdW0u
cHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvd3B0cnVubmVyL2Zvcm1hdHRlcnMvY2hyb21pdW0ucHkKQEAgLTM3LDcgKzM3
LDcgQEAgY2xhc3MgQ2hyb21pdW1Gb3JtYXR0ZXIoYmFzZS5CYXNlRm9ybWF0dGVyKToKICAgICAg
ICAgOnBhcmFtIHN0ciB0ZXN0OiB0aGUgbmFtZSBvZiB0aGUgdGVzdAogICAgICAgICA6cGFyYW0g
c3RyIHN1YnRlc3Q6IHRoZSBuYW1lIG9mIHRoZSBzdWJ0ZXN0IHdpdGggdGhlIG1lc3NhZ2UKICAg
ICAgICAgOnBhcmFtIHN0ciBzdGF0dXM6IHRoZSBzdWJ0ZXN0IHN0YXR1cwotICAgICAgICA6cGFy
YW0gc3RyIGV4cGVjdGVkOiB0aGUgZXhwZWN0ZWQgc3VidGVzdCBzdGF0dXMKKyAgICAgICAgOnBh
cmFtIHN0ciBleHBlY3RlZDogdGhlIGV4cGVjdGVkIHN1YnRlc3Qgc3RhdHVzZXMKICAgICAgICAg
OnBhcmFtIHN0ciBtZXNzYWdlOiB0aGUgc3RyaW5nIHRvIGFwcGVuZCB0byB0aGUgbWVzc2FnZSBm
b3IgdGhpcyB0ZXN0CiAKICAgICAgICAgSGVyZSdzIGFuIGV4YW1wbGUgb2YgYSBtZXNzYWdlOgpA
QCAtNDcsNyArNDcsNyBAQCBjbGFzcyBDaHJvbWl1bUZvcm1hdHRlcihiYXNlLkJhc2VGb3JtYXR0
ZXIpOgogICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgICMgQWRkIHRoZSBwcmVmaXgsIHdpdGgg
dGhlIHRlc3Qgc3RhdHVzIGFuZCBzdWJ0ZXN0IG5hbWUgKGlmIGF2YWlsYWJsZSkKICAgICAgICAg
cHJlZml4ID0gIlslcyIgJSBzdGF0dXMKLSAgICAgICAgaWYgZXhwZWN0ZWQgYW5kIGV4cGVjdGVk
ICE9IHN0YXR1czoKKyAgICAgICAgaWYgZXhwZWN0ZWQgYW5kIHN0YXR1cyBub3QgaW4gZXhwZWN0
ZWQ6CiAgICAgICAgICAgICBwcmVmaXggKz0gIiBleHBlY3RlZCAlc10gIiAlIGV4cGVjdGVkCiAg
ICAgICAgIGVsc2U6CiAgICAgICAgICAgICBwcmVmaXggKz0gIl0gIgpAQCAtNTUsMTMgKzU1LDI4
IEBAIGNsYXNzIENocm9taXVtRm9ybWF0dGVyKGJhc2UuQmFzZUZvcm1hdHRlcik6CiAgICAgICAg
ICAgICBwcmVmaXggKz0gIiVzOiAiICUgc3VidGVzdAogICAgICAgICBzZWxmLm1lc3NhZ2VzW3Rl
c3RdICs9IHByZWZpeCArIG1lc3NhZ2UgKyAiXG4iCiAKLSAgICBkZWYgX3N0b3JlX3Rlc3RfcmVz
dWx0KHNlbGYsIG5hbWUsIGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpOgorICAgIGRlZiBfYXBw
ZW5kX2FydGlmYWN0KHNlbGYsIGN1cl9kaWN0LCBhcnRpZmFjdF9uYW1lLCBhcnRpZmFjdF92YWx1
ZSk6CisgICAgICAgICIiIgorICAgICAgICBBcHBlbmRzIGFydGlmYWN0cyB0byB0aGUgc3BlY2lm
aWVkIGRpY3Rpb25hcnkuCisgICAgICAgIDpwYXJhbSBkaWN0IGN1cl9kaWN0OiB0aGUgdGVzdCBs
ZWFmIGRpY3Rpb25hcnkgdG8gYXBwZW5kIHRvCisgICAgICAgIDpwYXJhbSBzdHIgYXJ0aWZhY3Rf
bmFtZTogdGhlIG5hbWUgb2YgdGhlIGFydGlmYWN0CisgICAgICAgIDpwYXJhbSBzdHIgYXJ0aWZh
Y3RfdmFsdWU6IHRoZSB2YWx1ZSBvZiB0aGUgYXJ0aWZhY3QKKyAgICAgICAgIiIiCisgICAgICAg
IGlmICJhcnRpZmFjdHMiIG5vdCBpbiBjdXJfZGljdC5rZXlzKCk6CisgICAgICAgICAgICBjdXJf
ZGljdFsiYXJ0aWZhY3RzIl0gPSB7fQorICAgICAgICAjIEFydGlmYWN0cyBhcmUgYWxsIGV4cGVj
dGVkIHRvIGJlIGxpc3RzLCBzbyBldmVuIHRob3VnaCB3ZSBvbmx5IGhhdmUgYQorICAgICAgICAj
IHNpbmdsZSB8YXJ0aWZhY3RfdmFsdWV8IHdlIHN0aWxsIHB1dCBpdCBpbiBhIGxpc3QuCisgICAg
ICAgIGN1cl9kaWN0WyJhcnRpZmFjdHMiXVthcnRpZmFjdF9uYW1lXSA9IFthcnRpZmFjdF92YWx1
ZV0KKworICAgIGRlZiBfc3RvcmVfdGVzdF9yZXN1bHQoc2VsZiwgbmFtZSwgYWN0dWFsLCBleHBl
Y3RlZCwgbWVzc2FnZSwgd3B0X2FjdHVhbCwgc3VidGVzdF9mYWlsdXJlKToKICAgICAgICAgIiIi
CiAgICAgICAgIFN0b3JlcyB0aGUgcmVzdWx0IG9mIGEgc2luZ2xlIHRlc3QgaW4gfHNlbGYudGVz
dHN8CiAgICAgICAgIDpwYXJhbSBzdHIgbmFtZTogbmFtZSBvZiB0aGUgdGVzdC4KICAgICAgICAg
OnBhcmFtIHN0ciBhY3R1YWw6IGFjdHVhbCBzdGF0dXMgb2YgdGhlIHRlc3QuCi0gICAgICAgIDpw
YXJhbSBzdHIgZXhwZWN0ZWQ6IGV4cGVjdGVkIHN0YXR1cyBvZiB0aGUgdGVzdC4KKyAgICAgICAg
OnBhcmFtIHN0ciBleHBlY3RlZDogZXhwZWN0ZWQgc3RhdHVzZXMgb2YgdGhlIHRlc3QuCiAgICAg
ICAgIDpwYXJhbSBzdHIgbWVzc2FnZTogdGVzdCBvdXRwdXQsIHN1Y2ggYXMgc3RhdHVzLCBzdWJ0
ZXN0LCBlcnJvcnMgZXRjLgorICAgICAgICA6cGFyYW0gc3RyIHdwdF9hY3R1YWw6IGFjdHVhbCBz
dGF0dXMgcmVwb3J0ZWQgYnkgd3B0LCBtYXkgZGlmZmVyIGZyb20gfGFjdHVhbHwuCisgICAgICAg
IDpwYXJhbSBib29sIHN1YnRlc3RfZmFpbHVyZTogd2hldGhlciB0aGlzIHRlc3QgZmFpbGVkIGJl
Y2F1c2Ugb2Ygc3VidGVzdHMKICAgICAgICAgIiIiCiAgICAgICAgICMgVGhlIHRlc3QgbmFtZSBj
YW4gY29udGFpbiBhIGxlYWRpbmcgLyB3aGljaCB3aWxsIHByb2R1Y2UgYW4gZW1wdHkKICAgICAg
ICAgIyBzdHJpbmcgaW4gdGhlIGZpcnN0IHBvc2l0aW9uIG9mIHRoZSBsaXN0IHJldHVybmVkIGJ5
IHNwbGl0LiBXZSB1c2UKQEAgLTcyLDEzICs4NywxNyBAQCBjbGFzcyBDaHJvbWl1bUZvcm1hdHRl
cihiYXNlLkJhc2VGb3JtYXR0ZXIpOgogICAgICAgICAgICAgY3VyX2RpY3QgPSBjdXJfZGljdC5z
ZXRkZWZhdWx0KG5hbWVfcGFydCwge30pCiAgICAgICAgIGN1cl9kaWN0WyJhY3R1YWwiXSA9IGFj
dHVhbAogICAgICAgICBjdXJfZGljdFsiZXhwZWN0ZWQiXSA9IGV4cGVjdGVkCisgICAgICAgIGlm
IHN1YnRlc3RfZmFpbHVyZToKKyAgICAgICAgICAgIHNlbGYuX2FwcGVuZF9hcnRpZmFjdChjdXJf
ZGljdCwgIndwdF9zdWJ0ZXN0X2ZhaWx1cmUiLCAidHJ1ZSIpCisgICAgICAgIGlmIHdwdF9hY3R1
YWwgIT0gYWN0dWFsOgorICAgICAgICAgICAgc2VsZi5fYXBwZW5kX2FydGlmYWN0KGN1cl9kaWN0
LCAid3B0X2FjdHVhbF9zdGF0dXMiLCB3cHRfYWN0dWFsKQogICAgICAgICBpZiBtZXNzYWdlICE9
ICIiOgotICAgICAgICAgICAgY3VyX2RpY3RbImFydGlmYWN0cyJdID0geyJsb2ciOiBtZXNzYWdl
fQorICAgICAgICAgICAgc2VsZi5fYXBwZW5kX2FydGlmYWN0KGN1cl9kaWN0LCAibG9nIiwgbWVz
c2FnZSkKIAogICAgICAgICAjIEZpZ3VyZSBvdXQgaWYgdGhlcmUgd2FzIGEgcmVncmVzc2lvbiBv
ciB1bmV4cGVjdGVkIHN0YXR1cy4gVGhpcyBvbmx5CiAgICAgICAgICMgaGFwcGVucyBmb3IgdGVz
dHMgdGhhdCB3ZXJlIHJ1bgogICAgICAgICBpZiBhY3R1YWwgIT0gIlNLSVAiOgotICAgICAgICAg
ICAgaWYgYWN0dWFsICE9IGV4cGVjdGVkOgorICAgICAgICAgICAgaWYgYWN0dWFsIG5vdCBpbiBl
eHBlY3RlZDoKICAgICAgICAgICAgICAgICBjdXJfZGljdFsiaXNfdW5leHBlY3RlZCJdID0gVHJ1
ZQogICAgICAgICAgICAgICAgIGlmIGFjdHVhbCAhPSAiUEFTUyI6CiAgICAgICAgICAgICAgICAg
ICAgIGN1cl9kaWN0WyJpc19yZWdyZXNzaW9uIl0gPSBUcnVlCkBAIC0xMDMsNyArMTIyLDcgQEAg
Y2xhc3MgQ2hyb21pdW1Gb3JtYXR0ZXIoYmFzZS5CYXNlRm9ybWF0dGVyKToKICAgICAgICAgICAg
IHJldHVybiAiU0tJUCIKICAgICAgICAgaWYgc3RhdHVzID09ICJFWFRFUk5BTC1USU1FT1VUIjoK
ICAgICAgICAgICAgIHJldHVybiAiVElNRU9VVCIKLSAgICAgICAgaWYgc3RhdHVzIGluICgiRVJS
T1IiLCAiQ1JBU0giKToKKyAgICAgICAgaWYgc3RhdHVzIGluICgiRVJST1IiLCAiQ1JBU0giLCAi
UFJFQ09ORElUSU9OX0ZBSUxFRCIpOgogICAgICAgICAgICAgIyBDUkFTSCBpbiBXUFQgbWVhbnMg
YSBicm93c2VyIGNyYXNoLCB3aGljaCBDaHJvbWl1bSB0cmVhdHMgYXMgYQogICAgICAgICAgICAg
IyB0ZXN0IGZhaWx1cmUuCiAgICAgICAgICAgICByZXR1cm4gIkZBSUwiCkBAIC0xMTYsNyArMTM1
LDcgQEAgY2xhc3MgQ2hyb21pdW1Gb3JtYXR0ZXIoYmFzZS5CYXNlRm9ybWF0dGVyKToKIAogICAg
IGRlZiBfZ2V0X2V4cGVjdGVkX3N0YXR1c19mcm9tX2RhdGEoc2VsZiwgYWN0dWFsX3N0YXR1cywg
ZGF0YSk6CiAgICAgICAgICIiIgotICAgICAgICBHZXRzIHRoZSBleHBlY3RlZCBzdGF0dXMgZnJv
bSBhIHxkYXRhfCBkaWN0aW9uYXJ5LgorICAgICAgICBHZXRzIHRoZSBleHBlY3RlZCBzdGF0dXNl
cyBmcm9tIGEgfGRhdGF8IGRpY3Rpb25hcnkuCiAKICAgICAgICAgSWYgdGhlcmUgaXMgbm8gZXhw
ZWN0ZWQgc3RhdHVzIGluIGRhdGEsIHRoZSBhY3R1YWwgc3RhdHVzIGlzIHJldHVybmVkLgogICAg
ICAgICBUaGlzIGlzIGJlY2F1c2UgbW96bG9nIHdpbGwgZGVsZXRlICJleHBlY3RlZCIgZnJvbSB8
ZGF0YXwgaWYgaXQgaXMgdGhlCkBAIC0xMjUsNDcgKzE0NCw2MSBAQCBjbGFzcyBDaHJvbWl1bUZv
cm1hdHRlcihiYXNlLkJhc2VGb3JtYXR0ZXIpOgogICAgICAgICBpcyBleHBlY3RlZC4gU28gd2Ug
dXNlIHRoZSAiZXhwZWN0ZWQiIHN0YXR1cyBpZiBpdCdzIHRoZXJlIG9yIGZhbGwgYmFjawogICAg
ICAgICB0byB0aGUgYWN0dWFsIHN0YXR1cyBpZiBpdCdzIG5vdC4KIAorICAgICAgICBJZiB0aGUg
dGVzdCBoYXMgbXVsdGlwbGUgc3RhdHVzZXMsIGl0IHdpbGwgaGF2ZSBvdGhlciBzdGF0dXNlcyBs
aXN0ZWQgYXMKKyAgICAgICAgImtub3duX2ludGVybWl0dGVudCIgaW4gfGRhdGF8LiBJZiB0aGVz
ZSBleGlzdCwgdGhleSB3aWxsIGJlIGFwcGVuZGVkIHRvCisgICAgICAgIHRoZSByZXR1cm5lZCBz
dGF0dXMgd2l0aCBzcGFjZWQgaW4gYmV0d2Vlbi4KKwogICAgICAgICA6cGFyYW0gc3RyIGFjdHVh
bF9zdGF0dXM6IHRoZSBhY3R1YWwgc3RhdHVzIG9mIHRoZSB0ZXN0CiAgICAgICAgIDpwYXJhbSBk
YXRhOiBhIGRhdGEgZGljdGlvbmFyeSB0byBleHRyYWN0IGV4cGVjdGVkIHN0YXR1cyBmcm9tCi0g
ICAgICAgIDpyZXR1cm4gc3RyOiB0aGUgZXhwZWN0ZWQgc3RhdHVzCisgICAgICAgIDpyZXR1cm4g
c3RyOiB0aGUgZXhwZWN0ZWQgc3RhdHVzZXMgYXMgYSBzdHJpbmcKICAgICAgICAgIiIiCi0gICAg
ICAgIHJldHVybiAoc2VsZi5fbWFwX3N0YXR1c19uYW1lKGRhdGFbImV4cGVjdGVkIl0pCi0gICAg
ICAgICAgICAgICAgaWYgImV4cGVjdGVkIiBpbiBkYXRhIGVsc2UgYWN0dWFsX3N0YXR1cykKKyAg
ICAgICAgZXhwZWN0ZWRfc3RhdHVzZXMgPSBzZWxmLl9tYXBfc3RhdHVzX25hbWUoZGF0YVsiZXhw
ZWN0ZWQiXSkgaWYgImV4cGVjdGVkIiBpbiBkYXRhIGVsc2UgYWN0dWFsX3N0YXR1cworICAgICAg
ICBpZiBkYXRhLmdldCgia25vd25faW50ZXJtaXR0ZW50Iik6CisgICAgICAgICAgICBleHBlY3Rl
ZF9zdGF0dXNlcyArPSAiICIgKyAiICIuam9pbigKKyAgICAgICAgICAgICAgICBbc2VsZi5fbWFw
X3N0YXR1c19uYW1lKG90aGVyX3N0YXR1cykgZm9yIG90aGVyX3N0YXR1cyBpbiBkYXRhWyJrbm93
bl9pbnRlcm1pdHRlbnQiXV0pCisgICAgICAgIHJldHVybiBleHBlY3RlZF9zdGF0dXNlcwogCiAg
ICAgZGVmIHN1aXRlX3N0YXJ0KHNlbGYsIGRhdGEpOgotICAgICAgICBzZWxmLnN0YXJ0X3RpbWVz
dGFtcF9zZWNvbmRzID0gKGRhdGFbInRpbWUiXSBpZiAidGltZSIgaW4gZGF0YQorICAgICAgICAj
IHxkYXRhfCBjb250YWlucyBhIHRpbWVzdGFtcCBpbiBtaWNyb3NlY29uZHMsIHdoaWxlIHRpbWUu
dGltZSgpIGdpdmVzCisgICAgICAgICMgaXQgaW4gc2Vjb25kcy4KKyAgICAgICAgc2VsZi5zdGFy
dF90aW1lc3RhbXBfc2Vjb25kcyA9IChmbG9hdChkYXRhWyJ0aW1lIl0pIC8gMTAwMCBpZiAidGlt
ZSIgaW4gZGF0YQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Ug
dGltZS50aW1lKCkpCiAKICAgICBkZWYgdGVzdF9zdGF0dXMoc2VsZiwgZGF0YSk6CiAgICAgICAg
IHRlc3RfbmFtZSA9IGRhdGFbInRlc3QiXQotICAgICAgICBpc191bmV4cGVjdGVkID0gTm9uZQog
ICAgICAgICBhY3R1YWxfc3RhdHVzID0gc2VsZi5fbWFwX3N0YXR1c19uYW1lKGRhdGFbInN0YXR1
cyJdKQotICAgICAgICBleHBlY3RlZF9zdGF0dXMgPSBzZWxmLl9nZXRfZXhwZWN0ZWRfc3RhdHVz
X2Zyb21fZGF0YShhY3R1YWxfc3RhdHVzLCBkYXRhKQorICAgICAgICBleHBlY3RlZF9zdGF0dXNl
cyA9IHNlbGYuX2dldF9leHBlY3RlZF9zdGF0dXNfZnJvbV9kYXRhKGFjdHVhbF9zdGF0dXMsIGRh
dGEpCiAKLSAgICAgICAgaXNfdW5leHBlY3RlZCA9IGFjdHVhbF9zdGF0dXMgIT0gZXhwZWN0ZWRf
c3RhdHVzCisgICAgICAgIGlzX3VuZXhwZWN0ZWQgPSBhY3R1YWxfc3RhdHVzIG5vdCBpbiBleHBl
Y3RlZF9zdGF0dXNlcwogICAgICAgICBpZiBpc191bmV4cGVjdGVkIGFuZCB0ZXN0X25hbWUgbm90
IGluIHNlbGYudGVzdHNfd2l0aF9zdWJ0ZXN0X2ZhaWxzOgogICAgICAgICAgICAgc2VsZi50ZXN0
c193aXRoX3N1YnRlc3RfZmFpbHMuYWRkKHRlc3RfbmFtZSkKICAgICAgICAgaWYgIm1lc3NhZ2Ui
IGluIGRhdGE6Ci0gICAgICAgICAgICBzZWxmLl9hcHBlbmRfdGVzdF9tZXNzYWdlKHRlc3RfbmFt
ZSwgZGF0YVsic3VidGVzdCJdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBhY3R1YWxfc3RhdHVzLCBleHBlY3RlZF9zdGF0dXMsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGRhdGFbIm1lc3NhZ2UiXSkKKyAgICAgICAgICAgIHNlbGYuX2FwcGVu
ZF90ZXN0X21lc3NhZ2UodGVzdF9uYW1lLCBkYXRhWyJzdWJ0ZXN0Il0sIGFjdHVhbF9zdGF0dXMs
IGV4cGVjdGVkX3N0YXR1c2VzLCBkYXRhWyJtZXNzYWdlIl0pCiAKICAgICBkZWYgdGVzdF9lbmQo
c2VsZiwgZGF0YSk6CiAgICAgICAgIHRlc3RfbmFtZSA9IGRhdGFbInRlc3QiXQotICAgICAgICBh
Y3R1YWxfc3RhdHVzID0gc2VsZi5fbWFwX3N0YXR1c19uYW1lKGRhdGFbInN0YXR1cyJdKQotICAg
ICAgICBpZiBhY3R1YWxfc3RhdHVzID09ICJQQVNTIiBhbmQgdGVzdF9uYW1lIGluIHNlbGYudGVz
dHNfd2l0aF9zdWJ0ZXN0X2ZhaWxzOgotICAgICAgICAgICAgIyBUaGlzIHRlc3QgcGFzc2VkIGJ1
dCBpdCBoYXMgZmFpbGluZyBzdWJ0ZXN0cywgc28gd2UgZmxpcCB0aGUgc3RhdHVzCi0gICAgICAg
ICAgICAjIHRvIEZBSUwuCi0gICAgICAgICAgICBhY3R1YWxfc3RhdHVzID0gIkZBSUwiCisgICAg
ICAgICMgU2F2ZSB0aGUgc3RhdHVzIHJlcG9ydGVkIGJ5IFdQVCBzaW5jZSB3ZSBtaWdodCBjaGFu
Z2UgaXQgd2hlbiByZXBvcnRpbmcKKyAgICAgICAgIyB0byBDaHJvbWl1bS4KKyAgICAgICAgd3B0
X2FjdHVhbF9zdGF0dXMgPSBkYXRhWyJzdGF0dXMiXQorICAgICAgICBhY3R1YWxfc3RhdHVzID0g
c2VsZi5fbWFwX3N0YXR1c19uYW1lKHdwdF9hY3R1YWxfc3RhdHVzKQorICAgICAgICBleHBlY3Rl
ZF9zdGF0dXNlcyA9IHNlbGYuX2dldF9leHBlY3RlZF9zdGF0dXNfZnJvbV9kYXRhKGFjdHVhbF9z
dGF0dXMsIGRhdGEpCisgICAgICAgIHN1YnRlc3RfZmFpbHVyZSA9IEZhbHNlCisgICAgICAgIGlm
IHRlc3RfbmFtZSBpbiBzZWxmLnRlc3RzX3dpdGhfc3VidGVzdF9mYWlsczoKKyAgICAgICAgICAg
IHN1YnRlc3RfZmFpbHVyZSA9IFRydWUKICAgICAgICAgICAgICMgQ2xlYW4gdXAgdGhlIHRlc3Qg
bGlzdCB0byBhdm9pZCBhY2N1bXVsYXRpbmcgdG9vIG1hbnkuCiAgICAgICAgICAgICBzZWxmLnRl
c3RzX3dpdGhfc3VidGVzdF9mYWlscy5yZW1vdmUodGVzdF9uYW1lKQorICAgICAgICAgICAgIyBU
aGlzIHRlc3QgcGFzc2VkIGJ1dCBpdCBoYXMgZmFpbGluZyBzdWJ0ZXN0cy4gU2luY2Ugd2UgY2Fu
IG9ubHkKKyAgICAgICAgICAgICMgcmVwb3J0IGEgc2luZ2xlIHN0YXR1cyB0byBDaHJvbWl1bSwg
d2UgY2hvb3NlIEZBSUwgdG8gaW5kaWNhdGUKKyAgICAgICAgICAgICMgdGhhdCBzb21ldGhpbmcg
YWJvdXQgdGhpcyB0ZXN0IGRpZCBub3QgcnVuIGNvcnJlY3RseS4KKyAgICAgICAgICAgIGlmIGFj
dHVhbF9zdGF0dXMgPT0gIlBBU1MiOgorICAgICAgICAgICAgICAgIGFjdHVhbF9zdGF0dXMgPSAi
RkFJTCIKIAotICAgICAgICBleHBlY3RlZF9zdGF0dXMgPSBzZWxmLl9nZXRfZXhwZWN0ZWRfc3Rh
dHVzX2Zyb21fZGF0YShhY3R1YWxfc3RhdHVzLCBkYXRhKQogICAgICAgICBpZiAibWVzc2FnZSIg
aW4gZGF0YToKICAgICAgICAgICAgIHNlbGYuX2FwcGVuZF90ZXN0X21lc3NhZ2UodGVzdF9uYW1l
LCBOb25lLCBhY3R1YWxfc3RhdHVzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBleHBlY3RlZF9zdGF0dXMsIGRhdGFbIm1lc3NhZ2UiXSkKLSAgICAgICAgc2VsZi5fc3Rv
cmVfdGVzdF9yZXN1bHQodGVzdF9uYW1lLCBhY3R1YWxfc3RhdHVzLCBleHBlY3RlZF9zdGF0dXMs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubWVzc2FnZXNbdGVzdF9uYW1l
XSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0ZWRfc3RhdHVz
ZXMsIGRhdGFbIm1lc3NhZ2UiXSkKKyAgICAgICAgc2VsZi5fc3RvcmVfdGVzdF9yZXN1bHQodGVz
dF9uYW1lLCBhY3R1YWxfc3RhdHVzLCBleHBlY3RlZF9zdGF0dXNlcywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc2VsZi5tZXNzYWdlc1t0ZXN0X25hbWVdLCB3cHRfYWN0dWFsX3N0
YXR1cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VidGVzdF9mYWlsdXJlKQog
CiAgICAgICAgICMgUmVtb3ZlIHRoZSB0ZXN0IGZyb20gbWVzc2FnZXMgZGljdCB0byBhdm9pZCBh
Y2N1bXVsYXRpbmcgdG9vIG1hbnkuCiAgICAgICAgIHNlbGYubWVzc2FnZXMucG9wKHRlc3RfbmFt
ZSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9mb3JtYXR0ZXJzL3Rlc3RzL3Rlc3RfY2hyb21p
dW0ucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci93cHRydW5uZXIvZm9ybWF0dGVycy90ZXN0cy90ZXN0X2Nocm9taXVtLnB5Cmlu
ZGV4IDgzYzEyOGFjNWNiNDZhNjUzNzNhMmZlYTAwOGM2YmE2MDM1MGZkOGYuLjJhNWQzZTc5Mjgw
Y2I1NTYzNzQ3YmVjZGRhNGFmZTE4OGQzYjYwZTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9m
b3JtYXR0ZXJzL3Rlc3RzL3Rlc3RfY2hyb21pdW0ucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2Zvcm1h
dHRlcnMvdGVzdHMvdGVzdF9jaHJvbWl1bS5weQpAQCAtMTU2LDEyICsxNTYsMTMgQEAgZGVmIHRl
c3Rfc3VidGVzdF9tZXNzYWdlcyhjYXBmZCk6CiAgICAgb3V0cHV0LnNlZWsoMCkKICAgICBvdXRw
dXRfanNvbiA9IGpzb24ubG9hZChvdXRwdXQpCiAKLSAgICB0MV9sb2cgPSBvdXRwdXRfanNvblsi
dGVzdHMiXVsidDEiXVsiYXJ0aWZhY3RzIl1bImxvZyJdCi0gICAgYXNzZXJ0IHQxX2xvZyA9PSAi
W0ZBSUwgZXhwZWN0ZWQgUEFTU10gdDFfYTogdDFfYV9tZXNzYWdlXG4iIFwKLSAgICAgICAgICAg
ICAgICAgICAgICJbUEFTU10gdDFfYjogdDFfYl9tZXNzYWdlXG4iCi0KLSAgICB0Ml9sb2cgPSBv
dXRwdXRfanNvblsidGVzdHMiXVsidDIiXVsiYXJ0aWZhY3RzIl1bImxvZyJdCi0gICAgYXNzZXJ0
IHQyX2xvZyA9PSAiW1RJTUVPVVQgZXhwZWN0ZWQgUEFTU10gdDJfbWVzc2FnZVxuIgorICAgIHQx
X2FydGlmYWN0cyA9IG91dHB1dF9qc29uWyJ0ZXN0cyJdWyJ0MSJdWyJhcnRpZmFjdHMiXQorICAg
IGFzc2VydCB0MV9hcnRpZmFjdHNbImxvZyJdID09IFsiW0ZBSUwgZXhwZWN0ZWQgUEFTU10gdDFf
YTogdDFfYV9tZXNzYWdlXG4iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJb
UEFTU10gdDFfYjogdDFfYl9tZXNzYWdlXG4iXQorICAgIGFzc2VydCB0MV9hcnRpZmFjdHNbIndw
dF9zdWJ0ZXN0X2ZhaWx1cmUiXSA9PSBbInRydWUiXQorICAgIHQyX2FydGlmYWN0cyA9IG91dHB1
dF9qc29uWyJ0ZXN0cyJdWyJ0MiJdWyJhcnRpZmFjdHMiXQorICAgIGFzc2VydCB0Ml9hcnRpZmFj
dHNbImxvZyJdID09IFsiW1RJTUVPVVQgZXhwZWN0ZWQgUEFTU10gdDJfbWVzc2FnZVxuIl0KKyAg
ICBhc3NlcnQgIndwdF9zdWJ0ZXN0X2ZhaWx1cmUiIG5vdCBpbiB0Ml9hcnRpZmFjdHMua2V5cygp
CiAKIAogZGVmIHRlc3Rfc3VidGVzdF9mYWlsdXJlKGNhcGZkKToKQEAgLTIwMiwxMyArMjAzLDE3
IEBAIGRlZiB0ZXN0X3N1YnRlc3RfZmFpbHVyZShjYXBmZCk6CiAgICAgb3V0cHV0X2pzb24gPSBq
c29uLmxvYWQob3V0cHV0KQogCiAgICAgdGVzdF9vYmogPSBvdXRwdXRfanNvblsidGVzdHMiXVsi
dDEiXQotICAgIHQxX2xvZyA9IHRlc3Rfb2JqWyJhcnRpZmFjdHMiXVsibG9nIl0KLSAgICBhc3Nl
cnQgdDFfbG9nID09ICJbRkFJTCBleHBlY3RlZCBQQVNTXSB0MV9hOiB0MV9hX21lc3NhZ2VcbiIg
XAotICAgICAgICAgICAgICAgICAgICAgIltQQVNTXSB0MV9iOiB0MV9iX21lc3NhZ2VcbiIgXAot
ICAgICAgICAgICAgICAgICAgICAgIltUSU1FT1VUIGV4cGVjdGVkIFBBU1NdIHQxX2M6IHQxX2Nf
bWVzc2FnZVxuIgorICAgIHQxX2FydGlmYWN0cyA9IHRlc3Rfb2JqWyJhcnRpZmFjdHMiXQorICAg
IGFzc2VydCB0MV9hcnRpZmFjdHNbImxvZyJdID09IFsiW0ZBSUwgZXhwZWN0ZWQgUEFTU10gdDFf
YTogdDFfYV9tZXNzYWdlXG4iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJb
UEFTU10gdDFfYjogdDFfYl9tZXNzYWdlXG4iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJbVElNRU9VVCBleHBlY3RlZCBQQVNTXSB0MV9jOiB0MV9jX21lc3NhZ2VcbiJdCisg
ICAgYXNzZXJ0IHQxX2FydGlmYWN0c1sid3B0X3N1YnRlc3RfZmFpbHVyZSJdID09IFsidHJ1ZSJd
CiAgICAgIyBUaGUgc3RhdHVzIG9mIHRoZSB0ZXN0IGluIHRoZSBvdXRwdXQgaXMgYSBmYWlsdXJl
IGJlY2F1c2Ugc3VidGVzdHMgZmFpbGVkLAotICAgICMgZGVzcGl0ZSB0aGUgaGFybmVzcyByZXBv
cnRpbmcgdGhhdCB0aGUgdGVzdCBwYXNzZWQuCisgICAgIyBkZXNwaXRlIHRoZSBoYXJuZXNzIHJl
cG9ydGluZyB0aGF0IHRoZSB0ZXN0IHBhc3NlZC4gQnV0IHRoZSBoYXJuZXNzIHN0YXR1cworICAg
ICMgaXMgbG9nZ2VkIGFzIGFuIGFydGlmYWN0LgorICAgIGFzc2VydCB0MV9hcnRpZmFjdHNbIndw
dF9hY3R1YWxfc3RhdHVzIl0gPT0gWyJQQVNTIl0KICAgICBhc3NlcnQgdGVzdF9vYmpbImFjdHVh
bCJdID09ICJGQUlMIgorICAgIGFzc2VydCB0ZXN0X29ialsiZXhwZWN0ZWQiXSA9PSAiUEFTUyIK
ICAgICAjIEFsc28gZW5zdXJlIHRoYXQgdGhlIGZvcm1hdHRlciBjbGVhbmVkIHVwIGl0cyBpbnRl
cm5hbCBzdGF0ZQogICAgIGFzc2VydCAidDEiIG5vdCBpbiBmb3JtYXR0ZXIudGVzdHNfd2l0aF9z
dWJ0ZXN0X2ZhaWxzCiAKQEAgLTI1MywxMiArMjU4LDEzIEBAIGRlZiB0ZXN0X2V4cGVjdGVkX3N1
YnRlc3RfZmFpbHVyZShjYXBmZCk6CiAKICAgICB0ZXN0X29iaiA9IG91dHB1dF9qc29uWyJ0ZXN0
cyJdWyJ0MSJdCiAgICAgdDFfbG9nID0gdGVzdF9vYmpbImFydGlmYWN0cyJdWyJsb2ciXQotICAg
IGFzc2VydCB0MV9sb2cgPT0gIltGQUlMXSB0MV9hOiB0MV9hX21lc3NhZ2VcbiIgXAotICAgICAg
ICAgICAgICAgICAgICAgIltQQVNTXSB0MV9iOiB0MV9iX21lc3NhZ2VcbiIgXAotICAgICAgICAg
ICAgICAgICAgICAgIltUSU1FT1VUXSB0MV9jOiB0MV9jX21lc3NhZ2VcbiIKKyAgICBhc3NlcnQg
dDFfbG9nID09IFsiW0ZBSUxdIHQxX2E6IHQxX2FfbWVzc2FnZVxuIgorICAgICAgICAgICAgICAg
ICAgICAgICJbUEFTU10gdDFfYjogdDFfYl9tZXNzYWdlXG4iCisgICAgICAgICAgICAgICAgICAg
ICAgIltUSU1FT1VUXSB0MV9jOiB0MV9jX21lc3NhZ2VcbiJdCiAgICAgIyBUaGUgc3RhdHVzIG9m
IHRoZSB0ZXN0IGluIHRoZSBvdXRwdXQgaXMgYSBwYXNzIGJlY2F1c2UgdGhlIHN1YnRlc3QKICAg
ICAjIGZhaWx1cmVzIHdlcmUgYWxsIGV4cGVjdGVkLgogICAgIGFzc2VydCB0ZXN0X29ialsiYWN0
dWFsIl0gPT0gIlBBU1MiCisgICAgYXNzZXJ0IHRlc3Rfb2JqWyJleHBlY3RlZCJdID09ICJQQVNT
IgogCiAKIGRlZiB0ZXN0X3VuZXhwZWN0ZWRfc3VidGVzdF9wYXNzKGNhcGZkKToKQEAgLTI5Niwx
MCArMzAyLDE0IEBAIGRlZiB0ZXN0X3VuZXhwZWN0ZWRfc3VidGVzdF9wYXNzKGNhcGZkKToKICAg
ICBvdXRwdXRfanNvbiA9IGpzb24ubG9hZChvdXRwdXQpCiAKICAgICB0ZXN0X29iaiA9IG91dHB1
dF9qc29uWyJ0ZXN0cyJdWyJ0MSJdCi0gICAgdDFfbG9nID0gdGVzdF9vYmpbImFydGlmYWN0cyJd
WyJsb2ciXQotICAgIGFzc2VydCB0MV9sb2cgPT0gIltQQVNTIGV4cGVjdGVkIEZBSUxdIHQxX2E6
IHQxX2FfbWVzc2FnZVxuIgotICAgICMgU2luY2UgdGhlIHN1YnRlc3Qgc3RhdHVzIGlzIHVuZXhw
ZWN0ZWQsIHdlIGZhaWwgdGhlIHRlc3QuCisgICAgdDFfYXJ0aWZhY3RzID0gdGVzdF9vYmpbImFy
dGlmYWN0cyJdCisgICAgYXNzZXJ0IHQxX2FydGlmYWN0c1sibG9nIl0gPT0gWyJbUEFTUyBleHBl
Y3RlZCBGQUlMXSB0MV9hOiB0MV9hX21lc3NhZ2VcbiJdCisgICAgYXNzZXJ0IHQxX2FydGlmYWN0
c1sid3B0X3N1YnRlc3RfZmFpbHVyZSJdID09IFsidHJ1ZSJdCisgICAgIyBTaW5jZSB0aGUgc3Vi
dGVzdCBzdGF0dXMgaXMgdW5leHBlY3RlZCwgd2UgZmFpbCB0aGUgdGVzdC4gQnV0IHdlIHJlcG9y
dAorICAgICMgd3B0X2FjdHVhbF9zdGF0dXMgYXMgYW4gYXJ0aWZhY3QKKyAgICBhc3NlcnQgdDFf
YXJ0aWZhY3RzWyJ3cHRfYWN0dWFsX3N0YXR1cyJdID09IFsiUEFTUyJdCiAgICAgYXNzZXJ0IHRl
c3Rfb2JqWyJhY3R1YWwiXSA9PSAiRkFJTCIKKyAgICBhc3NlcnQgdGVzdF9vYmpbImV4cGVjdGVk
Il0gPT0gIlBBU1MiCiAgICAgIyBBbHNvIGVuc3VyZSB0aGF0IHRoZSBmb3JtYXR0ZXIgY2xlYW5l
ZCB1cCBpdHMgaW50ZXJuYWwgc3RhdGUKICAgICBhc3NlcnQgInQxIiBub3QgaW4gZm9ybWF0dGVy
LnRlc3RzX3dpdGhfc3VidGVzdF9mYWlscwogCkBAIC0zNjcsNiArMzc3LDE0NCBAQCBkZWYgdGVz
dF91bmV4cGVjdGVkX3Rlc3RfZmFpbChjYXBmZCk6CiAgICAgIyBPSy0+UEFTUwogICAgIGFzc2Vy
dCB0ZXN0X29ialsiYWN0dWFsIl0gPT0gIkZBSUwiCiAgICAgYXNzZXJ0IHRlc3Rfb2JqWyJleHBl
Y3RlZCJdID09ICJQQVNTIgotICAgICMgLi5hbmQgdGhpcyB0ZXN0IHNob3VsZCBub3QgYmUgYSBy
ZWdyZXNzaW9uIG5vciB1bmV4cGVjdGVkCisgICAgIyAuLmFuZCB0aGlzIHRlc3Qgc2hvdWxkIGJl
IGEgcmVncmVzc2lvbiBhbmQgdW5leHBlY3RlZAorICAgIGFzc2VydCB0ZXN0X29ialsiaXNfcmVn
cmVzc2lvbiJdIGlzIFRydWUKKyAgICBhc3NlcnQgdGVzdF9vYmpbImlzX3VuZXhwZWN0ZWQiXSBp
cyBUcnVlCisKKworZGVmIHRlc3RfZmxha3lfdGVzdF9leHBlY3RlZChjYXBmZCk6CisgICAgIyBD
aGVjayB0aGF0IGEgZmxha3kgdGVzdCB3aXRoIG11bHRpcGxlIHBvc3NpYmxlIHN0YXR1c2VzIGlz
IHNlZW4gYXMKKyAgICAjIGV4cGVjdGVkIGlmIGl0cyBhY3R1YWwgc3RhdHVzIGlzIG9uZSBvZiB0
aGUgcG9zc2libGUgb25lcy4KKworICAgICMgc2V0IHVwIHRoZSBoYW5kbGVyLgorICAgIG91dHB1
dCA9IFN0cmluZ0lPKCkKKyAgICBsb2dnZXIgPSBzdHJ1Y3R1cmVkbG9nLlN0cnVjdHVyZWRMb2dn
ZXIoInRlc3RfYSIpCisgICAgbG9nZ2VyLmFkZF9oYW5kbGVyKGhhbmRsZXJzLlN0cmVhbUhhbmRs
ZXIob3V0cHV0LCBDaHJvbWl1bUZvcm1hdHRlcigpKSkKKworICAgICMgUnVuIGEgdGVzdCB0aGF0
IGlzIGtub3duIHRvIGJlIGZsYWt5CisgICAgbG9nZ2VyLnN1aXRlX3N0YXJ0KFsidDEiXSwgcnVu
X2luZm89e30sIHRpbWU9MTIzKQorICAgIGxvZ2dlci50ZXN0X3N0YXJ0KCJ0MSIpCisgICAgbG9n
Z2VyLnRlc3RfZW5kKCJ0MSIsIHN0YXR1cz0iRVJST1IiLCBleHBlY3RlZD0iT0siLCBrbm93bl9p
bnRlcm1pdHRlbnQ9WyJFUlJPUiIsICJUSU1FT1VUIl0pCisgICAgbG9nZ2VyLnN1aXRlX2VuZCgp
CisKKyAgICAjIGNoZWNrIG5vdGhpbmcgZ290IG91dHB1dCB0byBzdGRvdXQvc3RkZXJyCisgICAg
IyAobm90ZSB0aGF0IG1vemxvZyBvdXRwdXRzIGV4Y2VwdGlvbnMgZHVyaW5nIGhhbmRsaW5nIHRv
IHN0ZGVyciEpCisgICAgY2FwdHVyZWQgPSBjYXBmZC5yZWFkb3V0ZXJyKCkKKyAgICBhc3NlcnQg
Y2FwdHVyZWQub3V0ID09ICIiCisgICAgYXNzZXJ0IGNhcHR1cmVkLmVyciA9PSAiIgorCisgICAg
IyBjaGVjayB0aGUgYWN0dWFsIG91dHB1dCBvZiB0aGUgZm9ybWF0dGVyCisgICAgb3V0cHV0LnNl
ZWsoMCkKKyAgICBvdXRwdXRfanNvbiA9IGpzb24ubG9hZChvdXRwdXQpCisKKyAgICB0ZXN0X29i
aiA9IG91dHB1dF9qc29uWyJ0ZXN0cyJdWyJ0MSJdCisgICAgIyBUaGUgdGVzdCdzIHN0YXR1c2Vz
IGFyZSBhbGwgbWFwcGVkLCBjaGFuZ2luZyBFUlJPUi0+RkFJTCBhbmQgT0stPlBBU1MKKyAgICBh
c3NlcnQgdGVzdF9vYmpbImFjdHVhbCJdID09ICJGQUlMIgorICAgICMgQWxsIHRoZSBwb3NzaWJs
ZSBzdGF0dXNlcyBhcmUgY29uY2F0ZW5hdGVkIHRvZ2V0aGVyIGludG8gZXhwZWN0ZWQuCisgICAg
YXNzZXJ0IHRlc3Rfb2JqWyJleHBlY3RlZCJdID09ICJQQVNTIEZBSUwgVElNRU9VVCIKKyAgICAj
IC4uLnRoaXMgaXMgbm90IGEgcmVncmVzc2lvbiBvciB1bmV4cGVjdGVkIGJlY2F1c2UgdGhlIGFj
dHVhbCBzdGF0dXMgaXMgb25lCisgICAgIyBvZiB0aGUgZXhwZWN0ZWQgb25lcworICAgIGFzc2Vy
dCAiaXNfcmVncmVzc2lvbiIgbm90IGluIHRlc3Rfb2JqCisgICAgYXNzZXJ0ICJpc191bmV4cGVj
dGVkIiBub3QgaW4gdGVzdF9vYmoKKworCitkZWYgdGVzdF9mbGFreV90ZXN0X3VuZXhwZWN0ZWQo
Y2FwZmQpOgorICAgICMgQ2hlY2sgdGhhdCBhIGZsYWt5IHRlc3Qgd2l0aCBtdWx0aXBsZSBwb3Nz
aWJsZSBzdGF0dXNlcyBpcyBzZWVuIGFzCisgICAgIyB1bmV4cGVjdGVkIGlmIGl0cyBhY3R1YWwg
c3RhdHVzIGlzIE5PVCBvbmUgb2YgdGhlIHBvc3NpYmxlIG9uZXMuCisKKyAgICAjIHNldCB1cCB0
aGUgaGFuZGxlci4KKyAgICBvdXRwdXQgPSBTdHJpbmdJTygpCisgICAgbG9nZ2VyID0gc3RydWN0
dXJlZGxvZy5TdHJ1Y3R1cmVkTG9nZ2VyKCJ0ZXN0X2EiKQorICAgIGxvZ2dlci5hZGRfaGFuZGxl
cihoYW5kbGVycy5TdHJlYW1IYW5kbGVyKG91dHB1dCwgQ2hyb21pdW1Gb3JtYXR0ZXIoKSkpCisK
KyAgICAjIFJ1biBhIHRlc3QgdGhhdCBpcyBrbm93biB0byBiZSBmbGFreQorICAgIGxvZ2dlci5z
dWl0ZV9zdGFydChbInQxIl0sIHJ1bl9pbmZvPXt9LCB0aW1lPTEyMykKKyAgICBsb2dnZXIudGVz
dF9zdGFydCgidDEiKQorICAgIGxvZ2dlci50ZXN0X2VuZCgidDEiLCBzdGF0dXM9IkVSUk9SIiwg
ZXhwZWN0ZWQ9Ik9LIiwga25vd25faW50ZXJtaXR0ZW50PVsiVElNRU9VVCJdKQorICAgIGxvZ2dl
ci5zdWl0ZV9lbmQoKQorCisgICAgIyBjaGVjayBub3RoaW5nIGdvdCBvdXRwdXQgdG8gc3Rkb3V0
L3N0ZGVycgorICAgICMgKG5vdGUgdGhhdCBtb3psb2cgb3V0cHV0cyBleGNlcHRpb25zIGR1cmlu
ZyBoYW5kbGluZyB0byBzdGRlcnIhKQorICAgIGNhcHR1cmVkID0gY2FwZmQucmVhZG91dGVycigp
CisgICAgYXNzZXJ0IGNhcHR1cmVkLm91dCA9PSAiIgorICAgIGFzc2VydCBjYXB0dXJlZC5lcnIg
PT0gIiIKKworICAgICMgY2hlY2sgdGhlIGFjdHVhbCBvdXRwdXQgb2YgdGhlIGZvcm1hdHRlcgor
ICAgIG91dHB1dC5zZWVrKDApCisgICAgb3V0cHV0X2pzb24gPSBqc29uLmxvYWQob3V0cHV0KQor
CisgICAgdGVzdF9vYmogPSBvdXRwdXRfanNvblsidGVzdHMiXVsidDEiXQorICAgICMgVGhlIHRl
c3QncyBzdGF0dXNlcyBhcmUgYWxsIG1hcHBlZCwgY2hhbmdpbmcgRVJST1ItPkZBSUwgYW5kIE9L
LT5QQVNTCisgICAgYXNzZXJ0IHRlc3Rfb2JqWyJhY3R1YWwiXSA9PSAiRkFJTCIKKyAgICAjIEFs
bCB0aGUgcG9zc2libGUgc3RhdHVzZXMgYXJlIGNvbmNhdGVuYXRlZCB0b2dldGhlciBpbnRvIGV4
cGVjdGVkLgorICAgIGFzc2VydCB0ZXN0X29ialsiZXhwZWN0ZWQiXSA9PSAiUEFTUyBUSU1FT1VU
IgorICAgICMgLi4udGhpcyBpcyBhIHJlZ3Jlc3Npb24gYW5kIHVuZXhwZWN0ZWQgYmVjYXVzZSB0
aGUgYWN0dWFsIHN0YXR1cyBpcyBub3QKKyAgICAjIG9uZSBvZiB0aGUgZXhwZWN0ZWQgb25lcwog
ICAgIGFzc2VydCB0ZXN0X29ialsiaXNfcmVncmVzc2lvbiJdIGlzIFRydWUKICAgICBhc3NlcnQg
dGVzdF9vYmpbImlzX3VuZXhwZWN0ZWQiXSBpcyBUcnVlCisKKworZGVmIHRlc3RfcHJlY29uZGl0
aW9uX2ZhaWxlZChjYXBmZCk6CisgICAgIyBDaGVjayB0aGF0IGEgZmFpbGVkIHByZWNvbmRpdGlv
biBnZXRzIHByb3Blcmx5IGhhbmRsZWQuCisKKyAgICAjIHNldCB1cCB0aGUgaGFuZGxlci4KKyAg
ICBvdXRwdXQgPSBTdHJpbmdJTygpCisgICAgbG9nZ2VyID0gc3RydWN0dXJlZGxvZy5TdHJ1Y3R1
cmVkTG9nZ2VyKCJ0ZXN0X2EiKQorICAgIGxvZ2dlci5hZGRfaGFuZGxlcihoYW5kbGVycy5TdHJl
YW1IYW5kbGVyKG91dHB1dCwgQ2hyb21pdW1Gb3JtYXR0ZXIoKSkpCisKKyAgICAjIFJ1biBhIHRl
c3Qgd2l0aCBhIHByZWNvbmRpdGlvbiBmYWlsdXJlCisgICAgbG9nZ2VyLnN1aXRlX3N0YXJ0KFsi
dDEiXSwgcnVuX2luZm89e30sIHRpbWU9MTIzKQorICAgIGxvZ2dlci50ZXN0X3N0YXJ0KCJ0MSIp
CisgICAgbG9nZ2VyLnRlc3RfZW5kKCJ0MSIsIHN0YXR1cz0iUFJFQ09ORElUSU9OX0ZBSUxFRCIs
IGV4cGVjdGVkPSJPSyIpCisgICAgbG9nZ2VyLnN1aXRlX2VuZCgpCisKKyAgICAjIGNoZWNrIG5v
dGhpbmcgZ290IG91dHB1dCB0byBzdGRvdXQvc3RkZXJyCisgICAgIyAobm90ZSB0aGF0IG1vemxv
ZyBvdXRwdXRzIGV4Y2VwdGlvbnMgZHVyaW5nIGhhbmRsaW5nIHRvIHN0ZGVyciEpCisgICAgY2Fw
dHVyZWQgPSBjYXBmZC5yZWFkb3V0ZXJyKCkKKyAgICBhc3NlcnQgY2FwdHVyZWQub3V0ID09ICIi
CisgICAgYXNzZXJ0IGNhcHR1cmVkLmVyciA9PSAiIgorCisgICAgIyBjaGVjayB0aGUgYWN0dWFs
IG91dHB1dCBvZiB0aGUgZm9ybWF0dGVyCisgICAgb3V0cHV0LnNlZWsoMCkKKyAgICBvdXRwdXRf
anNvbiA9IGpzb24ubG9hZChvdXRwdXQpCisKKyAgICB0ZXN0X29iaiA9IG91dHB1dF9qc29uWyJ0
ZXN0cyJdWyJ0MSJdCisgICAgIyBUaGUgcHJlY29uZGl0aW9uIGZhaWx1cmUgc2hvdWxkIG1hcCB0
byBGQUlMIHN0YXR1cywgYnV0IHdlIHNob3VsZCBhbHNvCisgICAgIyBoYXZlIGFuIGFydGlmYWN0
IGNvbnRhaW5pbmcgdGhlIG9yaWdpbmFsIFBSRUNPTkRJVElPTl9GQUlMRUQgc3RhdHVzLgorICAg
IGFzc2VydCB0ZXN0X29ialsiYWN0dWFsIl0gPT0gIkZBSUwiCisgICAgYXNzZXJ0IHRlc3Rfb2Jq
WyJhcnRpZmFjdHMiXVsid3B0X2FjdHVhbF9zdGF0dXMiXSA9PSBbIlBSRUNPTkRJVElPTl9GQUlM
RUQiXQorICAgICMgLi4udGhpcyBpcyBhbiB1bmV4cGVjdGVkIHJlZ3Jlc3Npb24gYmVjYXVzZSB3
ZSBleHBlY3RlZCBhIHBhc3MgYnV0IGZhaWxlZAorICAgIGFzc2VydCB0ZXN0X29ialsiaXNfcmVn
cmVzc2lvbiJdIGlzIFRydWUKKyAgICBhc3NlcnQgdGVzdF9vYmpbImlzX3VuZXhwZWN0ZWQiXSBp
cyBUcnVlCisKKworZGVmIHRlc3Rfa25vd25faW50ZXJtaXR0ZW50X2VtcHR5KGNhcGZkKToKKyAg
ICAjIElmIHRoZSBrbm93bl9pbnRlcm1pdHRlbnQgbGlzdCBpcyBlbXB0eSwgd2Ugd2FudCB0byBl
bnN1cmUgd2UgZG9uJ3QgYXBwZW5kCisgICAgIyBhbnkgZXh0cmFuZW91cyBjaGFyYWN0ZXJzIHRv
IHRoZSBvdXRwdXQuCisKKyAgICAjIHNldCB1cCB0aGUgaGFuZGxlci4KKyAgICBvdXRwdXQgPSBT
dHJpbmdJTygpCisgICAgbG9nZ2VyID0gc3RydWN0dXJlZGxvZy5TdHJ1Y3R1cmVkTG9nZ2VyKCJ0
ZXN0X2EiKQorICAgIGxvZ2dlci5hZGRfaGFuZGxlcihoYW5kbGVycy5TdHJlYW1IYW5kbGVyKG91
dHB1dCwgQ2hyb21pdW1Gb3JtYXR0ZXIoKSkpCisKKyAgICAjIFJ1biBhIHRlc3QgYW5kIGluY2x1
ZGUgYW4gZW1wdHkga25vd25faW50ZXJtaXR0ZW50IGxpc3QKKyAgICBsb2dnZXIuc3VpdGVfc3Rh
cnQoWyJ0MSJdLCBydW5faW5mbz17fSwgdGltZT0xMjMpCisgICAgbG9nZ2VyLnRlc3Rfc3RhcnQo
InQxIikKKyAgICBsb2dnZXIudGVzdF9lbmQoInQxIiwgc3RhdHVzPSJPSyIsIGV4cGVjdGVkPSJP
SyIsIGtub3duX2ludGVybWl0dGVudD1bXSkKKyAgICBsb2dnZXIuc3VpdGVfZW5kKCkKKworICAg
ICMgY2hlY2sgbm90aGluZyBnb3Qgb3V0cHV0IHRvIHN0ZG91dC9zdGRlcnIKKyAgICAjIChub3Rl
IHRoYXQgbW96bG9nIG91dHB1dHMgZXhjZXB0aW9ucyBkdXJpbmcgaGFuZGxpbmcgdG8gc3RkZXJy
ISkKKyAgICBjYXB0dXJlZCA9IGNhcGZkLnJlYWRvdXRlcnIoKQorICAgIGFzc2VydCBjYXB0dXJl
ZC5vdXQgPT0gIiIKKyAgICBhc3NlcnQgY2FwdHVyZWQuZXJyID09ICIiCisKKyAgICAjIGNoZWNr
IHRoZSBhY3R1YWwgb3V0cHV0IG9mIHRoZSBmb3JtYXR0ZXIKKyAgICBvdXRwdXQuc2VlaygwKQor
ICAgIG91dHB1dF9qc29uID0ganNvbi5sb2FkKG91dHB1dCkKKworICAgIHRlc3Rfb2JqID0gb3V0
cHV0X2pzb25bInRlc3RzIl1bInQxIl0KKyAgICAjIEJvdGggYWN0dWFsIGFuZCBleHBlY3RlZCBz
dGF0dXNlcyBnZXQgbWFwcGVkIHRvIFBhc3MuIE5vIGV4dHJhIHdoaXRlc3BhY2UKKyAgICAjIGFu
eXdoZXJlLgorICAgIGFzc2VydCB0ZXN0X29ialsiYWN0dWFsIl0gPT0gIlBBU1MiCisgICAgYXNz
ZXJ0IHRlc3Rfb2JqWyJleHBlY3RlZCJdID09ICJQQVNTIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVu
bmVyL2luc3RydW1lbnRzLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2luc3RydW1lbnRzLnB5Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmE4ODdjZjRmZGE3MjQyNmI4OTIxM2NjNDAzN2Y3NDVjZTUyMzI5ODMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci93cHRydW5uZXIvaW5zdHJ1bWVudHMucHkKQEAgLTAsMCArMSwxMTcgQEAKK2lt
cG9ydCB0aW1lCitpbXBvcnQgdGhyZWFkaW5nCitmcm9tIHNpeC5tb3Zlcy5xdWV1ZSBpbXBvcnQg
UXVldWUKKworIiIiSW5zdHJ1bWVudGF0aW9uIGZvciBtZWFzdXJpbmcgaGlnaC1sZXZlbCB0aW1l
IHNwZW50IG9uIHZhcmlvdXMgdGFza3MgaW5zaWRlIHRoZSBydW5uZXIuCisKK1RoaXMgaXMgbG93
ZXIgZmlkZWxpdHkgdGhhbiBhbiBhY3R1YWwgcHJvZmlsZSwgYnV0IGFsbG93cyBjdXN0b20gZGF0
YSB0byBiZSBjb25zaWRlcmVkLAorc28gdGhhdCB3ZSBjYW4gc2VlIHRoZSB0aW1lIHNwZW50IGlu
IHNwZWNpZmljIHRlc3RzIGFuZCB0ZXN0IGRpcmVjdG9yaWVzLgorCisKK0luc3RydW1lbnRzIGFy
ZSBpbnRlbmRlZCB0byBiZSB1c2VkIGFzIGNvbnRleHQgbWFuYWdlcnMgd2l0aCB0aGUgcmV0dXJu
IHZhbHVlIG9mIF9fZW50ZXJfXworY29udGFpbmluZyB0aGUgdXNlci1mYWNpbmcgQVBJIGUuZy4K
Kword2l0aCBJbnN0cnVtZW50KCphcmdzKSBhcyByZWNvcmRpbmc6CisgICAgcmVjb3JkaW5nLnNl
dChbImluaXQiXSkKKyAgICBkb19pbml0KCkKKyAgICByZWNvcmRpbmcucGF1c2UoKQorICAgIGZv
ciB0aHJlYWQgaW4gdGVzdF90aHJlYWRzOgorICAgICAgIHRocmVhZC5zdGFydChyZWNvcmRpbmcs
ICphcmdzKQorICAgIGZvciB0aHJlYWQgaW4gdGVzdF90aHJlYWRzOgorICAgICAgIHRocmVhZC5q
b2luKCkKKyAgICByZWNvcmRpbmcuc2V0KFsidGVhcmRvd24iXSkgICAjIHVuLXBhdXNlcyB0aGUg
SW5zdHJ1bWVudAorICAgIGRvX3RlYXJkb3duKCkKKyIiIgorCitjbGFzcyBOdWxsSW5zdHJ1bWVu
dChvYmplY3QpOgorICAgIGRlZiBzZXQoc2VsZiwgc3RhY2spOgorICAgICAgICAiIiJTZXQgdGhl
IGN1cnJlbnQgdGFzayB0byBzdGFjaworCisgICAgICAgIDpwYXJhbSBzdGFjazogQSBsaXN0IG9m
IHN0cmluZ3MgZGVmaW5pbmcgdGhlIGN1cnJlbnQgdGFzay4KKyAgICAgICAgICAgICAgICAgICAg
ICBUaGVzZSBhcmUgaW50ZXJwcmV0ZWQgbGlrZSBhIHN0YWNrIHRyYWNlIHNvIHRoYXQgWyJmb28i
XSBhbmQKKyAgICAgICAgICAgICAgICAgICAgICBbImZvbyIsICJiYXIiXSBib3RoIHNob3cgdXAg
YXMgZGVzY2VuZGFudHMgb2YgImZvbyIKKyAgICAgICAgIiIiCisgICAgICAgIHBhc3MKKworICAg
IGRlZiBwYXVzZShzZWxmKToKKyAgICAgICAgIiIiU3RvcCByZWNvcmRpbmcgYSB0YXNrIG9uIHRo
ZSBjdXJyZW50IHRocmVhZC4gVGhpcyBpcyB1c2VmdWwgaWYgdGhlIHRocmVhZAorICAgICAgICBp
cyBwdXJlbHkgd2FpdGluZyBvbiB0aGUgcmVzdWx0cyBvZiBvdGhlciB0aHJlYWRzIiIiCisgICAg
ICAgIHBhc3MKKworICAgIGRlZiBfX2VudGVyX18oc2VsZik6CisgICAgICAgIHJldHVybiBzZWxm
CisKKyAgICBkZWYgX19leGl0X18oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgcmV0
dXJuCisKKworY2xhc3MgSW5zdHJ1bWVudFdyaXRlcihvYmplY3QpOgorICAgIGRlZiBfX2luaXRf
XyhzZWxmLCBxdWV1ZSk6CisgICAgICAgIHNlbGYucXVldWUgPSBxdWV1ZQorCisgICAgZGVmIHNl
dChzZWxmLCBzdGFjayk6CisgICAgICAgIHN0YWNrLmluc2VydCgwLCB0aHJlYWRpbmcuY3VycmVu
dF90aHJlYWQoKS5uYW1lKQorICAgICAgICBzdGFjayA9IHNlbGYuX2NoZWNrX3N0YWNrKHN0YWNr
KQorICAgICAgICBzZWxmLnF1ZXVlLnB1dCgoInNldCIsIHRocmVhZGluZy5jdXJyZW50X3RocmVh
ZCgpLmlkZW50LCB0aW1lLnRpbWUoKSwgc3RhY2spKQorCisgICAgZGVmIHBhdXNlKHNlbGYpOgor
ICAgICAgICBzZWxmLnF1ZXVlLnB1dCgoInBhdXNlIiwgdGhyZWFkaW5nLmN1cnJlbnRfdGhyZWFk
KCkuaWRlbnQsIHRpbWUudGltZSgpLCBOb25lKSkKKworICAgIGRlZiBfY2hlY2tfc3RhY2soc2Vs
Ziwgc3RhY2spOgorICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShzdGFjaywgKHR1cGxlLCBsaXN0
KSkKKyAgICAgICAgcmV0dXJuIFtpdGVtLnJlcGxhY2UoIiAiLCAiXyIpIGZvciBpdGVtIGluIHN0
YWNrXQorCisKK2NsYXNzIEluc3RydW1lbnQob2JqZWN0KToKKyAgICBkZWYgX19pbml0X18oc2Vs
ZiwgZmlsZV9wYXRoKToKKyAgICAgICAgIiIiSW5zdHJ1bWVudCB0aGF0IGNvbGxlY3RzIGRhdGEg
ZnJvbSBtdWx0aXBsZSB0aHJlYWRzIGFuZCBzdW1zIHRoZSB0aW1lIGluIGVhY2gKKyAgICAgICAg
dGhyZWFkLiBUaGUgb3V0cHV0IGlzIGluIHRoZSBmb3JtYXQgcmVxdWlyZWQgYnkgZmxhbWVncmFw
aC5wbCB0byBlbmFibGUgdmlzdWFsaXNhdGlvbgorICAgICAgICBvZiB0aGUgdGltZSBzcGVudCBp
biBlYWNoIHRhc2suCisKKyAgICAgICAgOnBhcmFtIGZpbGVfcGF0aDogLSBUaGUgcGF0aCBvbiB3
aGljaCB0byB3cml0ZSBpbnN0cnVtZW50IG91dHB1dC4gQW55IGV4aXN0aW5nIGZpbGUKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBhdCB0aGUgcGF0aCB3aWxsIGJlIG92ZXJ3cml0dGVuCisg
ICAgICAgICIiIgorICAgICAgICBzZWxmLnBhdGggPSBmaWxlX3BhdGgKKyAgICAgICAgc2VsZi5x
dWV1ZSA9IE5vbmUKKyAgICAgICAgc2VsZi5jdXJyZW50ID0gTm9uZQorICAgICAgICBzZWxmLnN0
YXJ0X3RpbWUgPSBOb25lCisgICAgICAgIHNlbGYudGhyZWFkID0gTm9uZQorCisgICAgZGVmIF9f
ZW50ZXJfXyhzZWxmKToKKyAgICAgICAgYXNzZXJ0IHNlbGYudGhyZWFkIGlzIE5vbmUKKyAgICAg
ICAgYXNzZXJ0IHNlbGYucXVldWUgaXMgTm9uZQorICAgICAgICBzZWxmLnF1ZXVlID0gUXVldWUo
KQorICAgICAgICBzZWxmLnRocmVhZCA9IHRocmVhZGluZy5UaHJlYWQodGFyZ2V0PXNlbGYucnVu
KQorICAgICAgICBzZWxmLnRocmVhZC5zdGFydCgpCisgICAgICAgIHJldHVybiBJbnN0cnVtZW50
V3JpdGVyKHNlbGYucXVldWUpCisKKyAgICBkZWYgX19leGl0X18oc2VsZiwgKmFyZ3MsICoqa3dh
cmdzKToKKyAgICAgICAgc2VsZi5xdWV1ZS5wdXQoKCJzdG9wIiwgTm9uZSwgdGltZS50aW1lKCks
IE5vbmUpKQorICAgICAgICBzZWxmLnRocmVhZC5qb2luKCkKKyAgICAgICAgc2VsZi50aHJlYWQg
PSBOb25lCisgICAgICAgIHNlbGYucXVldWUgPSBOb25lCisKKyAgICBkZWYgcnVuKHNlbGYpOgor
ICAgICAgICBrbm93bl9jb21tYW5kcyA9IHsic3RvcCIsICJwYXVzZSIsICJzZXQifQorICAgICAg
ICB3aXRoIG9wZW4oc2VsZi5wYXRoLCAidyIpIGFzIGY6CisgICAgICAgICAgICB0aHJlYWRfZGF0
YSA9IHt9CisgICAgICAgICAgICB3aGlsZSBUcnVlOgorICAgICAgICAgICAgICAgIGNvbW1hbmQs
IHRocmVhZCwgdGltZV9zdGFtcCwgc3RhY2sgPSBzZWxmLnF1ZXVlLmdldCgpCisgICAgICAgICAg
ICAgICAgYXNzZXJ0IGNvbW1hbmQgaW4ga25vd25fY29tbWFuZHMKKworICAgICAgICAgICAgICAg
ICMgSWYgd2UgYXJlIGRvbmUgcmVjb3JkaW5nLCBkdW1wIHRoZSBpbmZvcm1hdGlvbiBmcm9tIGFs
bCB0aHJlYWRzIHRvIHRoZSBmaWxlCisgICAgICAgICAgICAgICAgIyBiZWZvcmUgZXhpdGluZy4g
T3RoZXJ3aXNlIGZvciBlaXRoZXIgJ3NldCcgb3IgJ3BhdXNlJyB3ZSBvbmx5IG5lZWQgdG8gZHVt
cAorICAgICAgICAgICAgICAgICMgaW5mb3JtYXRpb24gZnJvbSB0aGUgY3VycmVudCBzdGFjayAo
aWYgYW55KSB0aGF0IHdhcyByZWNvcmRpbmcgb24gdGhlIHJlcG9ydGluZworICAgICAgICAgICAg
ICAgICMgdGhyZWFkIChhcyB0aGF0IHN0YWNrIGlzIG5vIGxvbmdlciBhY3RpdmUpLgorICAgICAg
ICAgICAgICAgIGl0ZW1zID0gW10KKyAgICAgICAgICAgICAgICBpZiBjb21tYW5kID09ICJzdG9w
IjoKKyAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSB0aHJlYWRfZGF0YS52YWx1ZXMoKQorICAg
ICAgICAgICAgICAgIGVsaWYgdGhyZWFkIGluIHRocmVhZF9kYXRhOgorICAgICAgICAgICAgICAg
ICAgICBpdGVtcy5hcHBlbmQodGhyZWFkX2RhdGEucG9wKHRocmVhZCkpCisgICAgICAgICAgICAg
ICAgZm9yIG91dHB1dF9zdGFjaywgc3RhcnRfdGltZSBpbiBpdGVtczoKKyAgICAgICAgICAgICAg
ICAgICAgZi53cml0ZSgiJXMgJWRcbiIgJSAoIjsiLmpvaW4ob3V0cHV0X3N0YWNrKSwgaW50KDEw
MDAgKiAodGltZV9zdGFtcCAtIHN0YXJ0X3RpbWUpKSkpCisKKyAgICAgICAgICAgICAgICBpZiBj
b21tYW5kID09ICJzZXQiOgorICAgICAgICAgICAgICAgICAgICB0aHJlYWRfZGF0YVt0aHJlYWRd
ID0gKHN0YWNrLCB0aW1lX3N0YW1wKQorICAgICAgICAgICAgICAgIGVsaWYgY29tbWFuZCA9PSAi
c3RvcCI6CisgICAgICAgICAgICAgICAgICAgIGJyZWFrCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5u
ZXIvbWFuaWZlc3RleHBlY3RlZC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9tYW5pZmVzdGV4cGVjdGVkLnB5
CmluZGV4IGVhZTg1YjFmNjY2MWE2N2RmZjU5ZWY3OGE5ZWQ2MjdlM2UzNjAzZDguLjMxYzU3ZTlj
YjczNGY3NDFlNDI3NWU3NGU4ZmNmN2NkMGFkNGVlMzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5l
ci9tYW5pZmVzdGV4cGVjdGVkLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9tYW5pZmVzdGV4cGVjdGVk
LnB5CkBAIC0xLDYgKzEsOCBAQAogaW1wb3J0IG9zCi1mcm9tIHNpeC5tb3Zlcy51cmxsaWIucGFy
c2UgaW1wb3J0IHVybGpvaW4KIGZyb20gY29sbGVjdGlvbnMgaW1wb3J0IGRlcXVlCitmcm9tIHNp
eCBpbXBvcnQgc3RyaW5nX3R5cGVzLCB0ZXh0X3R5cGUKK2Zyb20gc2l4Lm1vdmVzLnVybGxpYi5w
YXJzZSBpbXBvcnQgdXJsam9pbgorCiAKIGZyb20gLndwdG1hbmlmZXN0LmJhY2tlbmRzIGltcG9y
dCBzdGF0aWMKIGZyb20gLndwdG1hbmlmZXN0LmJhY2tlbmRzLmJhc2UgaW1wb3J0IE1hbmlmZXN0
SXRlbQpAQCAtMTUsNiArMTcsNyBAQCBFYWNoIFRlc3ROb2RlIGhhcyB6ZXJvIG9yIG1vcmUgU3Vi
dGVzdE5vZGUgY2hpbGRyZW4sIG9uZSBmb3IgZWFjaAoga25vd24gc3VidGVzdCBvZiB0aGUgdGVz
dC4KICIiIgogCisKIGRlZiBkYXRhX2Nsc19nZXR0ZXIob3V0cHV0X25vZGUsIHZpc2l0ZWRfbm9k
ZSk6CiAgICAgIyB2aXNpdGVkX25vZGUgaXMgaW50ZW50aW9uYWxseSB1bnVzZWQKICAgICBpZiBv
dXRwdXRfbm9kZSBpcyBOb25lOgpAQCAtMjksNyArMzIsNyBAQCBkZWYgZGF0YV9jbHNfZ2V0dGVy
KG91dHB1dF9ub2RlLCB2aXNpdGVkX25vZGUpOgogZGVmIGJvb2xfcHJvcChuYW1lLCBub2RlKToK
ICAgICAiIiJCb29sZWFuIHByb3BlcnR5IiIiCiAgICAgdHJ5OgotICAgICAgICByZXR1cm4gbm9k
ZS5nZXQobmFtZSkKKyAgICAgICAgcmV0dXJuIGJvb2wobm9kZS5nZXQobmFtZSkpCiAgICAgZXhj
ZXB0IEtleUVycm9yOgogICAgICAgICByZXR1cm4gTm9uZQogCkBAIC00NiwxOCArNDksMjggQEAg
ZGVmIGxpc3RfcHJvcChuYW1lLCBub2RlKToKICAgICAiIiJMaXN0IHByb3BlcnR5IiIiCiAgICAg
dHJ5OgogICAgICAgICBsaXN0X3Byb3AgPSBub2RlLmdldChuYW1lKQotICAgICAgICBpZiBpc2lu
c3RhbmNlKGxpc3RfcHJvcCwgYmFzZXN0cmluZyk6CisgICAgICAgIGlmIGlzaW5zdGFuY2UobGlz
dF9wcm9wLCBzdHJpbmdfdHlwZXMpOgogICAgICAgICAgICAgcmV0dXJuIFtsaXN0X3Byb3BdCiAg
ICAgICAgIHJldHVybiBsaXN0KGxpc3RfcHJvcCkKICAgICBleGNlcHQgS2V5RXJyb3I6CiAgICAg
ICAgIHJldHVybiBbXQogCiAKK2RlZiBzdHJfcHJvcChuYW1lLCBub2RlKToKKyAgICB0cnk6Cisg
ICAgICAgIHByb3AgPSBub2RlLmdldChuYW1lKQorICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShw
cm9wLCBzdHJpbmdfdHlwZXMpOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcgorICAgICAg
ICByZXR1cm4gcHJvcAorICAgIGV4Y2VwdCBLZXlFcnJvcjoKKyAgICAgICAgcmV0dXJuIE5vbmUK
KworCiBkZWYgdGFncyhub2RlKToKICAgICAiIiJTZXQgb2YgdGFncyB0aGF0IGhhdmUgYmVlbiBh
cHBsaWVkIHRvIHRoZSB0ZXN0IiIiCiAgICAgdHJ5OgogICAgICAgICB2YWx1ZSA9IG5vZGUuZ2V0
KCJ0YWdzIikKLSAgICAgICAgaWYgaXNpbnN0YW5jZSh2YWx1ZSwgKHN0ciwgdW5pY29kZSkpOgor
ICAgICAgICBpZiBpc2luc3RhbmNlKHZhbHVlLCB0ZXh0X3R5cGUpOgogICAgICAgICAgICAgcmV0
dXJuIHt2YWx1ZX0KICAgICAgICAgcmV0dXJuIHNldCh2YWx1ZSkKICAgICBleGNlcHQgS2V5RXJy
b3I6CkBAIC02Niw3ICs3OSw3IEBAIGRlZiB0YWdzKG5vZGUpOgogCiBkZWYgcHJlZnMobm9kZSk6
CiAgICAgZGVmIHZhbHVlKGluaV92YWx1ZSk6Ci0gICAgICAgIGlmIGlzaW5zdGFuY2UoaW5pX3Zh
bHVlLCAoc3RyLCB1bmljb2RlKSk6CisgICAgICAgIGlmIGlzaW5zdGFuY2UoaW5pX3ZhbHVlLCB0
ZXh0X3R5cGUpOgogICAgICAgICAgICAgcmV0dXJuIHR1cGxlKHByZWZfcGllY2Uuc3RyaXAoKSBm
b3IgcHJlZl9waWVjZSBpbiBpbmlfdmFsdWUuc3BsaXQoJzonLCAxKSkKICAgICAgICAgZWxzZToK
ICAgICAgICAgICAgICMgdGhpcyBzaG91bGQgYmUgdGhpbmdzIGxpa2UgQFJlc2V0LCB3aGljaCBh
cmUgYXBwYXJlbnRseSB0eXBlICdvYmplY3QnCkBAIC03NCw3ICs4Nyw3IEBAIGRlZiBwcmVmcyhu
b2RlKToKIAogICAgIHRyeToKICAgICAgICAgbm9kZV9wcmVmcyA9IG5vZGUuZ2V0KCJwcmVmcyIp
Ci0gICAgICAgIGlmIHR5cGUobm9kZV9wcmVmcykgaW4gKHN0ciwgdW5pY29kZSk6CisgICAgICAg
IGlmIGlzaW5zdGFuY2Uobm9kZV9wcmVmcywgdGV4dF90eXBlKToKICAgICAgICAgICAgIHJ2ID0g
ZGljdCh2YWx1ZShub2RlX3ByZWZzKSkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHJ2ID0g
ZGljdCh2YWx1ZShpdGVtKSBmb3IgaXRlbSBpbiBub2RlX3ByZWZzKQpAQCAtODYsNyArOTksNyBA
QCBkZWYgcHJlZnMobm9kZSk6CiBkZWYgc2V0X3Byb3AobmFtZSwgbm9kZSk6CiAgICAgdHJ5Ogog
ICAgICAgICBub2RlX2l0ZW1zID0gbm9kZS5nZXQobmFtZSkKLSAgICAgICAgaWYgaXNpbnN0YW5j
ZShub2RlX2l0ZW1zLCAoc3RyLCB1bmljb2RlKSk6CisgICAgICAgIGlmIGlzaW5zdGFuY2Uobm9k
ZV9pdGVtcywgdGV4dF90eXBlKToKICAgICAgICAgICAgIHJ2ID0ge25vZGVfaXRlbXN9CiAgICAg
ICAgIGVsc2U6CiAgICAgICAgICAgICBydiA9IHNldChub2RlX2l0ZW1zKQpAQCAtOTksNyArMTEy
LDcgQEAgZGVmIGxlYWtfdGhyZXNob2xkKG5vZGUpOgogICAgIHJ2ID0ge30KICAgICB0cnk6CiAg
ICAgICAgIG5vZGVfaXRlbXMgPSBub2RlLmdldCgibGVhay10aHJlc2hvbGQiKQotICAgICAgICBp
ZiBpc2luc3RhbmNlKG5vZGVfaXRlbXMsIChzdHIsIHVuaWNvZGUpKToKKyAgICAgICAgaWYgaXNp
bnN0YW5jZShub2RlX2l0ZW1zLCB0ZXh0X3R5cGUpOgogICAgICAgICAgICAgbm9kZV9pdGVtcyA9
IFtub2RlX2l0ZW1zXQogICAgICAgICBmb3IgaXRlbSBpbiBub2RlX2l0ZW1zOgogICAgICAgICAg
ICAgcHJvY2VzcywgdmFsdWUgPSBpdGVtLnJzcGxpdCgiOiIsIDEpCkBAIC0xNTYsNyArMTY5LDcg
QEAgZGVmIGZ1enp5X3Byb3Aobm9kZSk6CiAgICAgaWYgbm90IGlzaW5zdGFuY2UodmFsdWUsIGxp
c3QpOgogICAgICAgICB2YWx1ZSA9IFt2YWx1ZV0KICAgICBmb3IgaXRlbSBpbiB2YWx1ZToKLSAg
ICAgICAgaWYgbm90IGlzaW5zdGFuY2UoaXRlbSwgKHN0ciwgdW5pY29kZSkpOgorICAgICAgICBp
ZiBub3QgaXNpbnN0YW5jZShpdGVtLCB0ZXh0X3R5cGUpOgogICAgICAgICAgICAgcnYuYXBwZW5k
KGl0ZW0pCiAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICBwYXJ0cyA9IGl0ZW0ucnNwbGl0
KCI6IiwgMSkKQEAgLTI3OSw2ICsyOTIsMTAgQEAgY2xhc3MgRXhwZWN0ZWRNYW5pZmVzdChNYW5p
ZmVzdEl0ZW0pOgogICAgIGRlZiBwcmVmcyhzZWxmKToKICAgICAgICAgcmV0dXJuIHByZWZzKHNl
bGYpCiAKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgbHNhbl9kaXNhYmxlZChzZWxmKToKKyAgICAg
ICAgcmV0dXJuIGJvb2xfcHJvcCgibHNhbi1kaXNhYmxlZCIsIHNlbGYpCisKICAgICBAcHJvcGVy
dHkKICAgICBkZWYgbHNhbl9hbGxvd2VkKHNlbGYpOgogICAgICAgICByZXR1cm4gc2V0X3Byb3Ao
ImxzYW4tYWxsb3dlZCIsIHNlbGYpCkBAIC0zMDcsNiArMzI0LDEwIEBAIGNsYXNzIEV4cGVjdGVk
TWFuaWZlc3QoTWFuaWZlc3RJdGVtKToKICAgICBkZWYga25vd25faW50ZXJtaXR0ZW50KHNlbGYp
OgogICAgICAgICByZXR1cm4gbGlzdF9wcm9wKCJleHBlY3RlZCIsIHNlbGYpWzE6XQogCisgICAg
QHByb3BlcnR5CisgICAgZGVmIGltcGxlbWVudGF0aW9uX3N0YXR1cyhzZWxmKToKKyAgICAgICAg
cmV0dXJuIHN0cl9wcm9wKCJpbXBsZW1lbnRhdGlvbi1zdGF0dXMiLCBzZWxmKQorCiAKIGNsYXNz
IERpcmVjdG9yeU1hbmlmZXN0KE1hbmlmZXN0SXRlbSk6CiAgICAgQHByb3BlcnR5CkBAIC0zMzcs
NiArMzU4LDEwIEBAIGNsYXNzIERpcmVjdG9yeU1hbmlmZXN0KE1hbmlmZXN0SXRlbSk6CiAgICAg
ZGVmIHByZWZzKHNlbGYpOgogICAgICAgICByZXR1cm4gcHJlZnMoc2VsZikKIAorICAgIEBwcm9w
ZXJ0eQorICAgIGRlZiBsc2FuX2Rpc2FibGVkKHNlbGYpOgorICAgICAgICByZXR1cm4gYm9vbF9w
cm9wKCJsc2FuLWRpc2FibGVkIiwgc2VsZikKKwogICAgIEBwcm9wZXJ0eQogICAgIGRlZiBsc2Fu
X2FsbG93ZWQoc2VsZik6CiAgICAgICAgIHJldHVybiBzZXRfcHJvcCgibHNhbi1hbGxvd2VkIiwg
c2VsZikKQEAgLTM1Nyw2ICszODIsMTAgQEAgY2xhc3MgRGlyZWN0b3J5TWFuaWZlc3QoTWFuaWZl
c3RJdGVtKToKICAgICBkZWYgZnV6enkoc2VsZik6CiAgICAgICAgIHJldHVybiBmdXp6eV9wcm9w
KHNlbGYpCiAKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgaW1wbGVtZW50YXRpb25fc3RhdHVzKHNl
bGYpOgorICAgICAgICByZXR1cm4gc3RyX3Byb3AoImltcGxlbWVudGF0aW9uLXN0YXR1cyIsIHNl
bGYpCisKIAogY2xhc3MgVGVzdE5vZGUoTWFuaWZlc3RJdGVtKToKICAgICBkZWYgX19pbml0X18o
c2VsZiwgbm9kZSwgKiprd2FyZ3MpOgpAQCAtNDE0LDYgKzQ0MywxMCBAQCBjbGFzcyBUZXN0Tm9k
ZShNYW5pZmVzdEl0ZW0pOgogICAgIGRlZiBwcmVmcyhzZWxmKToKICAgICAgICAgcmV0dXJuIHBy
ZWZzKHNlbGYpCiAKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgbHNhbl9kaXNhYmxlZChzZWxmKToK
KyAgICAgICAgcmV0dXJuIGJvb2xfcHJvcCgibHNhbi1kaXNhYmxlZCIsIHNlbGYpCisKICAgICBA
cHJvcGVydHkKICAgICBkZWYgbHNhbl9hbGxvd2VkKHNlbGYpOgogICAgICAgICByZXR1cm4gc2V0
X3Byb3AoImxzYW4tYWxsb3dlZCIsIHNlbGYpCkBAIC00NDIsNiArNDc1LDEwIEBAIGNsYXNzIFRl
c3ROb2RlKE1hbmlmZXN0SXRlbSk6CiAgICAgZGVmIGtub3duX2ludGVybWl0dGVudChzZWxmKToK
ICAgICAgICAgcmV0dXJuIGxpc3RfcHJvcCgiZXhwZWN0ZWQiLCBzZWxmKVsxOl0KIAorICAgIEBw
cm9wZXJ0eQorICAgIGRlZiBpbXBsZW1lbnRhdGlvbl9zdGF0dXMoc2VsZik6CisgICAgICAgIHJl
dHVybiBzdHJfcHJvcCgiaW1wbGVtZW50YXRpb24tc3RhdHVzIiwgc2VsZikKKwogICAgIGRlZiBh
cHBlbmQoc2VsZiwgbm9kZSk6CiAgICAgICAgICIiIkFkZCBhIHN1YnRlc3QgdG8gdGhlIGN1cnJl
bnQgdGVzdAogCkBAIC00NzgsNyArNTE1LDcgQEAgZGVmIGdldF9tYW5pZmVzdChtZXRhZGF0YV9y
b290LCB0ZXN0X3BhdGgsIHVybF9iYXNlLCBydW5faW5mbyk6CiAgICAgIiIiCiAgICAgbWFuaWZl
c3RfcGF0aCA9IGV4cGVjdGVkLmV4cGVjdGVkX3BhdGgobWV0YWRhdGFfcm9vdCwgdGVzdF9wYXRo
KQogICAgIHRyeToKLSAgICAgICAgd2l0aCBvcGVuKG1hbmlmZXN0X3BhdGgpIGFzIGY6CisgICAg
ICAgIHdpdGggb3BlbihtYW5pZmVzdF9wYXRoLCAicmIiKSBhcyBmOgogICAgICAgICAgICAgcmV0
dXJuIHN0YXRpYy5jb21waWxlKGYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cnVuX2luZm8sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YV9jbHNfZ2V0
dGVyPWRhdGFfY2xzX2dldHRlciwKQEAgLTQ5Nyw3ICs1MzQsNyBAQCBkZWYgZ2V0X2Rpcl9tYW5p
ZmVzdChwYXRoLCBydW5faW5mbyk6CiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXMgc2hvdWxk
IGJlIGNvbXB1dGVkLgogICAgICIiIgogICAgIHRyeToKLSAgICAgICAgd2l0aCBvcGVuKHBhdGgp
IGFzIGY6CisgICAgICAgIHdpdGggb3BlbihwYXRoLCAicmIiKSBhcyBmOgogICAgICAgICAgICAg
cmV0dXJuIHN0YXRpYy5jb21waWxlKGYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcnVuX2luZm8sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YV9jbHNf
Z2V0dGVyPWxhbWJkYSB4LHk6IERpcmVjdG9yeU1hbmlmZXN0KQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0
cnVubmVyL21hbmlmZXN0aW5jbHVkZS5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9tYW5pZmVzdGluY2x1ZGUu
cHkKaW5kZXggZDMwMjgzMWE1N2FiYmFhZGQ3NWZlNDllMDk0NDgyZGMxNDIyM2VhMy4uNzliNWIx
OWIzYTNmNjE3ZTVkZDQwMTE4MDQyZGEwYjNlYThlNDExNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVu
bmVyL21hbmlmZXN0aW5jbHVkZS5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvbWFuaWZlc3RpbmNsdWRl
LnB5CkBAIC02LDYgKzYsNyBAQCBiZSBpbmNsdWRlZCBvciBleGNsdWRlZC4KICIiIgogaW1wb3J0
IGdsb2IKIGltcG9ydCBvcworZnJvbSBzaXggaW1wb3J0IGl0ZXJpdGVtcwogZnJvbSBzaXgubW92
ZXMudXJsbGliLnBhcnNlIGltcG9ydCB1cmxwYXJzZSwgdXJsc3BsaXQKIAogZnJvbSAud3B0bWFu
aWZlc3Qubm9kZSBpbXBvcnQgRGF0YU5vZGUKQEAgLTk0LDcgKzk1LDcgQEAgY2xhc3MgSW5jbHVk
ZU1hbmlmZXN0KE1hbmlmZXN0SXRlbSk6CiAgICAgICAgIGlmIHBhdGhzOgogICAgICAgICAgICAg
dXJscyA9IFtdCiAgICAgICAgICAgICBmb3IgcGF0aCBpbiBwYXRoczoKLSAgICAgICAgICAgICAg
ICBmb3IgbWFuaWZlc3QsIGRhdGEgaW4gdGVzdF9tYW5pZmVzdHMuaXRlcml0ZW1zKCk6CisgICAg
ICAgICAgICAgICAgZm9yIG1hbmlmZXN0LCBkYXRhIGluIGl0ZXJpdGVtcyh0ZXN0X21hbmlmZXN0
cyk6CiAgICAgICAgICAgICAgICAgICAgIGZvdW5kID0gRmFsc2UKICAgICAgICAgICAgICAgICAg
ICAgcmVsX3BhdGggPSBvcy5wYXRoLnJlbHBhdGgocGF0aCwgZGF0YVsidGVzdHNfcGF0aCJdKQog
ICAgICAgICAgICAgICAgICAgICBpdGVyYXRvciA9IG1hbmlmZXN0Lml0ZXJwYXRoIGlmIG9zLnBh
dGguaXNmaWxlKHBhdGgpIGVsc2UgbWFuaWZlc3QuaXRlcmRpcgpAQCAtMTUwLDUgKzE1MSw1IEBA
IGNsYXNzIEluY2x1ZGVNYW5pZmVzdChNYW5pZmVzdEl0ZW0pOgogCiAKIGRlZiBnZXRfbWFuaWZl
c3QobWFuaWZlc3RfcGF0aCk6Ci0gICAgd2l0aCBvcGVuKG1hbmlmZXN0X3BhdGgpIGFzIGY6Cisg
ICAgd2l0aCBvcGVuKG1hbmlmZXN0X3BhdGgsICJyYiIpIGFzIGY6CiAgICAgICAgIHJldHVybiBj
b25kaXRpb25hbC5jb21waWxlKGYsIGRhdGFfY2xzX2dldHRlcj1sYW1iZGEgeCwgeTogSW5jbHVk
ZU1hbmlmZXN0KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL21hbmlmZXN0dXBkYXRlLnB5IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5u
ZXIvd3B0cnVubmVyL21hbmlmZXN0dXBkYXRlLnB5CmluZGV4IGFmOWFmMThkOTA3MTVkNDNiYmNk
MmFlNDdjZTc2Mjc1YmIwZTE1NzcuLjEyOTQ1N2IzZmQxMjcwZGM2NjAyOWQzZWE4NzNkMzUzNzE0
YWE2MDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9tYW5pZmVzdHVwZGF0ZS5weQorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci93cHRydW5uZXIvbWFuaWZlc3R1cGRhdGUucHkKQEAgLTMsNyArMyw3IEBAIGltcG9ydCBvcwog
ZnJvbSBzaXgubW92ZXMudXJsbGliLnBhcnNlIGltcG9ydCB1cmxqb2luLCB1cmxzcGxpdAogZnJv
bSBjb2xsZWN0aW9ucyBpbXBvcnQgbmFtZWR0dXBsZSwgZGVmYXVsdGRpY3QsIGRlcXVlCiBmcm9t
IG1hdGggaW1wb3J0IGNlaWwKLWZyb20gc2l4IGltcG9ydCBpdGVya2V5cywgaXRlcnZhbHVlcywg
aXRlcml0ZW1zCitmcm9tIHNpeCBpbXBvcnQgaW50ZWdlcl90eXBlcywgaXRlcmtleXMsIGl0ZXJ2
YWx1ZXMsIGl0ZXJpdGVtcywgc3RyaW5nX3R5cGVzLCB0ZXh0X3R5cGUKIAogZnJvbSAud3B0bWFu
aWZlc3QgaW1wb3J0IHNlcmlhbGl6ZQogZnJvbSAud3B0bWFuaWZlc3Qubm9kZSBpbXBvcnQgKERh
dGFOb2RlLCBDb25kaXRpb25hbE5vZGUsIEJpbmFyeUV4cHJlc3Npb25Ob2RlLApAQCAtNDExLDcg
KzQxMSw3IEBAIGNsYXNzIFByb3BlcnR5VXBkYXRlKG9iamVjdCk6CiAgICAgICAgIGZvciBlIGlu
IGVycm9yczoKICAgICAgICAgICAgIGlmIGRpc2FibGVfaW50ZXJtaXR0ZW50OgogICAgICAgICAg
ICAgICAgIGNvbmRpdGlvbiA9IGUuY29uZC5jaGlsZHJlblswXSBpZiBlLmNvbmQgZWxzZSBOb25l
Ci0gICAgICAgICAgICAgICAgbXNnID0gZGlzYWJsZV9pbnRlcm1pdHRlbnQgaWYgaXNpbnN0YW5j
ZShkaXNhYmxlX2ludGVybWl0dGVudCwgKHN0ciwgdW5pY29kZSkpIGVsc2UgInVuc3RhYmxlIgor
ICAgICAgICAgICAgICAgIG1zZyA9IGRpc2FibGVfaW50ZXJtaXR0ZW50IGlmIGlzaW5zdGFuY2Uo
ZGlzYWJsZV9pbnRlcm1pdHRlbnQsIHN0cmluZ190eXBlcysodGV4dF90eXBlLCkpIGVsc2UgInVu
c3RhYmxlIgogICAgICAgICAgICAgICAgIHNlbGYubm9kZS5zZXQoImRpc2FibGVkIiwgbXNnLCBj
b25kaXRpb24pCiAgICAgICAgICAgICAgICAgc2VsZi5ub2RlLm5ld19kaXNhYmxlZCA9IFRydWUK
ICAgICAgICAgICAgIGVsc2U6CkBAIC01MTMsNyArNTEzLDcgQEAgY2xhc3MgUHJvcGVydHlVcGRh
dGUob2JqZWN0KToKICAgICAgICAgICAgIHRvcF9sZXZlbF9wcm9wcywgZGVwZW5kZW50X3Byb3Bz
ID0gc2VsZi5ub2RlLnJvb3QucnVuX2luZm9fcHJvcGVydGllcwogICAgICAgICAgICAgdXBkYXRl
X3Byb3BlcnRpZXMgPSBzZXQodG9wX2xldmVsX3Byb3BzKQogICAgICAgICAgICAgZm9yIGl0ZW0g
aW4gaXRlcnZhbHVlcyhkZXBlbmRlbnRfcHJvcHMpOgotICAgICAgICAgICAgICAgIHVwZGF0ZV9w
cm9wZXJ0aWVzIHw9IHNldChkZXBlbmRlbnRfcHJvcHMpCisgICAgICAgICAgICAgICAgdXBkYXRl
X3Byb3BlcnRpZXMgfD0gc2V0KGl0ZW0pCiAgICAgICAgICAgICBmb3IgY29uZGl0aW9uIGluIGN1
cnJlbnRfY29uZGl0aW9uczoKICAgICAgICAgICAgICAgICBpZiAoKG5vdCBjb25kaXRpb24udmFy
aWFibGVzLmlzc3Vic2V0KHVwZGF0ZV9wcm9wZXJ0aWVzKSBhbmQKICAgICAgICAgICAgICAgICAg
ICAgIG5vdCBydW5faW5mb19ieV9jb25kaXRpb25bY29uZGl0aW9uXSkpOgpAQCAtNzc0LDcgKzc3
NCw3IEBAIGNsYXNzIEFwcGVuZE9ubHlMaXN0VXBkYXRlKFByb3BlcnR5VXBkYXRlKToKICAgICAg
ICAgZm9yIGl0ZW0gaW4gbmV3OgogICAgICAgICAgICAgaWYgaXRlbSBpcyBOb25lOgogICAgICAg
ICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgICAgICBlbGlmIGlzaW5zdGFuY2UoaXRlbSwgKHN0
ciwgdW5pY29kZSkpOgorICAgICAgICAgICAgZWxpZiBpc2luc3RhbmNlKGl0ZW0sIHRleHRfdHlw
ZSk6CiAgICAgICAgICAgICAgICAgcnYuYWRkKGl0ZW0pCiAgICAgICAgICAgICBlbHNlOgogICAg
ICAgICAgICAgICAgIHJ2IHw9IGl0ZW0KQEAgLTg5NywxMCArODk3LDEwIEBAIGRlZiBtYWtlX2V4
cHIocHJvcF9zZXQsIHJocyk6CiAKIAogZGVmIG1ha2Vfbm9kZSh2YWx1ZSk6Ci0gICAgaWYgdHlw
ZSh2YWx1ZSkgaW4gKGludCwgZmxvYXQsIGxvbmcpOgorICAgIGlmIGlzaW5zdGFuY2UodmFsdWUs
IGludGVnZXJfdHlwZXMrKGZsb2F0LCkpOgogICAgICAgICBub2RlID0gTnVtYmVyTm9kZSh2YWx1
ZSkKLSAgICBlbGlmIHR5cGUodmFsdWUpIGluIChzdHIsIHVuaWNvZGUpOgotICAgICAgICBub2Rl
ID0gU3RyaW5nTm9kZSh1bmljb2RlKHZhbHVlKSkKKyAgICBlbGlmIGlzaW5zdGFuY2UodmFsdWUs
IHRleHRfdHlwZSk6CisgICAgICAgIG5vZGUgPSBTdHJpbmdOb2RlKHRleHRfdHlwZSh2YWx1ZSkp
CiAgICAgZWxpZiBoYXNhdHRyKHZhbHVlLCAiX19pdGVyX18iKToKICAgICAgICAgbm9kZSA9IExp
c3ROb2RlKCkKICAgICAgICAgZm9yIGl0ZW0gaW4gdmFsdWU6CkBAIC05MDksMTAgKzkwOSwxMCBA
QCBkZWYgbWFrZV9ub2RlKHZhbHVlKToKIAogCiBkZWYgbWFrZV92YWx1ZV9ub2RlKHZhbHVlKToK
LSAgICBpZiB0eXBlKHZhbHVlKSBpbiAoaW50LCBmbG9hdCwgbG9uZyk6CisgICAgaWYgaXNpbnN0
YW5jZSh2YWx1ZSwgaW50ZWdlcl90eXBlcysoZmxvYXQsKSk6CiAgICAgICAgIG5vZGUgPSBWYWx1
ZU5vZGUodmFsdWUpCi0gICAgZWxpZiB0eXBlKHZhbHVlKSBpbiAoc3RyLCB1bmljb2RlKToKLSAg
ICAgICAgbm9kZSA9IFZhbHVlTm9kZSh1bmljb2RlKHZhbHVlKSkKKyAgICBlbGlmIGlzaW5zdGFu
Y2UodmFsdWUsIHRleHRfdHlwZSk6CisgICAgICAgIG5vZGUgPSBWYWx1ZU5vZGUodGV4dF90eXBl
KHZhbHVlKSkKICAgICBlbGlmIGhhc2F0dHIodmFsdWUsICJfX2l0ZXJfXyIpOgogICAgICAgICBu
b2RlID0gTGlzdE5vZGUoKQogICAgICAgICBmb3IgaXRlbSBpbiB2YWx1ZToKQEAgLTkzMSw3ICs5
MzEsNyBAQCBkZWYgZ2V0X21hbmlmZXN0KG1ldGFkYXRhX3Jvb3QsIHRlc3RfcGF0aCwgdXJsX2Jh
c2UsIHJ1bl9pbmZvX3Byb3BlcnRpZXMsIHVwZGF0ZQogICAgIDpwYXJhbSB1cmxfYmFzZTogQmFz
ZSB1cmwgZm9yIHNlcnZpbmcgdGhlIHRlc3RzIGluIHRoaXMgbWFuaWZlc3QiIiIKICAgICBtYW5p
ZmVzdF9wYXRoID0gZXhwZWN0ZWQuZXhwZWN0ZWRfcGF0aChtZXRhZGF0YV9yb290LCB0ZXN0X3Bh
dGgpCiAgICAgdHJ5OgotICAgICAgICB3aXRoIG9wZW4obWFuaWZlc3RfcGF0aCkgYXMgZjoKKyAg
ICAgICAgd2l0aCBvcGVuKG1hbmlmZXN0X3BhdGgsICJyYiIpIGFzIGY6CiAgICAgICAgICAgICBy
diA9IGNvbXBpbGUoZiwgdGVzdF9wYXRoLCB1cmxfYmFzZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICBydW5faW5mb19wcm9wZXJ0aWVzLCB1cGRhdGVfaW50ZXJtaXR0ZW50LCByZW1vdmVfaW50
ZXJtaXR0ZW50KQogICAgIGV4Y2VwdCBJT0Vycm9yOgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVy
L21ldGFkYXRhLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL21ldGFkYXRhLnB5CmluZGV4IGMzMjhkY2VmYTcy
NTNkZGVhOTUyNTQ5YzcwMjcyM2U5OGI0Y2FkYzQuLmRmMzFhYzQwZGU4YjhlZTcwODEzYzNiMmUw
M2QxODY1ZjY3MmUyOWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9tZXRhZGF0YS5weQorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci93cHRydW5uZXIvbWV0YWRhdGEucHkKQEAgLTEsMTAgKzEsMTIgQEAKIGZyb20gX19mdXR1
cmVfXyBpbXBvcnQgcHJpbnRfZnVuY3Rpb24KIGltcG9ydCBhcnJheQogaW1wb3J0IG9zCitpbXBv
cnQgc3lzCiBmcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBkZWZhdWx0ZGljdCwgbmFtZWR0dXBsZQog
CiBmcm9tIG1vemxvZyBpbXBvcnQgc3RydWN0dXJlZGxvZwotZnJvbSBzaXgubW92ZXMgaW1wb3J0
IGludGVybgorZnJvbSBzaXggaW1wb3J0IGVuc3VyZV9zdHIsIGVuc3VyZV90ZXh0LCBpdGVyaXRl
bXMsIGl0ZXJrZXlzLCBpdGVydmFsdWVzLCB0ZXh0X3R5cGUKK2Zyb20gc2l4Lm1vdmVzIGltcG9y
dCBpbnRlcm4sIHJhbmdlCiAKIGZyb20gLiBpbXBvcnQgbWFuaWZlc3R1cGRhdGUKIGZyb20gLiBp
bXBvcnQgdGVzdGxvYWRlcgpAQCAtNDMsMTEgKzQ1LDExIEBAIGNsYXNzIFJ1bkluZm8ob2JqZWN0
KToKICAgICAgICAgcmV0dXJuIHNlbGYuY2Fub25pY2FsX3JlcHIgPT0gb3RoZXIuY2Fub25pY2Fs
X3JlcHIKIAogICAgIGRlZiBpdGVyaXRlbXMoc2VsZik6Ci0gICAgICAgIGZvciBrZXksIHZhbHVl
IGluIHNlbGYuZGF0YS5pdGVyaXRlbXMoKToKKyAgICAgICAgZm9yIGtleSwgdmFsdWUgaW4gaXRl
cml0ZW1zKHNlbGYuZGF0YSk6CiAgICAgICAgICAgICB5aWVsZCBrZXksIHZhbHVlCiAKICAgICBk
ZWYgaXRlbXMoc2VsZik6Ci0gICAgICAgIHJldHVybiBsaXN0KHNlbGYuaXRlcml0ZW1zKCkpCisg
ICAgICAgIHJldHVybiBsaXN0KGl0ZXJpdGVtcyhzZWxmKSkKIAogCiBkZWYgdXBkYXRlX2V4cGVj
dGVkKHRlc3RfcGF0aHMsIHNlcnZlX3Jvb3QsIGxvZ19maWxlX25hbWVzLApAQCAtMTI3LDcgKzEy
OSw3IEBAIGRlZiB1bmV4cGVjdGVkX2NoYW5nZXMobWFuaWZlc3RzLCBjaGFuZ2VfZGF0YSwgZmls
ZXNfY2hhbmdlZCk6CiAgICAgZmlsZXNfY2hhbmdlZCA9IHNldChmaWxlc19jaGFuZ2VkKQogCiAg
ICAgcm9vdF9tYW5pZmVzdCA9IE5vbmUKLSAgICBmb3IgbWFuaWZlc3QsIHBhdGhzIGluIG1hbmlm
ZXN0cy5pdGVyaXRlbXMoKToKKyAgICBmb3IgbWFuaWZlc3QsIHBhdGhzIGluIGl0ZXJpdGVtcyht
YW5pZmVzdHMpOgogICAgICAgICBpZiBwYXRoc1sidXJsX2Jhc2UiXSA9PSAiLyI6CiAgICAgICAg
ICAgICByb290X21hbmlmZXN0ID0gbWFuaWZlc3QKICAgICAgICAgICAgIGJyZWFrCkBAIC0xOTgs
NyArMjAwLDcgQEAgY2xhc3MgSW50ZXJuZWREYXRhKG9iamVjdCk6CiAgICAgICAgIHJldHVybiBv
YmoKIAogICAgIGRlZiBfX2l0ZXJfXyhzZWxmKToKLSAgICAgICAgZm9yIGkgaW4geHJhbmdlKDEs
IGxlbihzZWxmLl9kYXRhWzBdKSk6CisgICAgICAgIGZvciBpIGluIHJhbmdlKDEsIGxlbihzZWxm
Ll9kYXRhWzBdKSk6CiAgICAgICAgICAgICB5aWVsZCBzZWxmLmdldChpKQogCiAKQEAgLTIzOCw3
ICsyNDAsNyBAQCBkZWYgcGFja19yZXN1bHQoZGF0YSk6CiBkZWYgdW5wYWNrX3Jlc3VsdChkYXRh
KToKICAgICBpZiBpc2luc3RhbmNlKGRhdGEsIGludCk6CiAgICAgICAgIHJldHVybiAoc3RhdHVz
X2ludGVybi5nZXQoZGF0YSksIE5vbmUpCi0gICAgaWYgaXNpbnN0YW5jZShkYXRhLCB1bmljb2Rl
KToKKyAgICBpZiBpc2luc3RhbmNlKGRhdGEsIHRleHRfdHlwZSk6CiAgICAgICAgIHJldHVybiAo
ZGF0YSwgTm9uZSkKICAgICAjIFVucGFjayBtdWx0aXBsZSBzdGF0dXNlcyBpbnRvIGEgdHVwbGUg
dG8gYmUgdXNlZCBpbiB0aGUgUmVzdWx0cyBuYW1lZCB0dXBsZSBiZWxvdywKICAgICAjIHNlcGFy
YXRpbmcgYHN0YXR1c2AgYW5kIGBrbm93bl9pbnRlcm1pdHRlbnRgLgpAQCAtMjU3LDcgKzI1OSw3
IEBAIGRlZiBsb2FkX3Rlc3RfZGF0YSh0ZXN0X3BhdGhzKToKICAgICBtYW5pZmVzdHMgPSBtYW5p
ZmVzdF9sb2FkZXIubG9hZCgpCiAKICAgICBpZF90ZXN0X21hcCA9IHt9Ci0gICAgZm9yIHRlc3Rf
bWFuaWZlc3QsIHBhdGhzIGluIG1hbmlmZXN0cy5pdGVyaXRlbXMoKToKKyAgICBmb3IgdGVzdF9t
YW5pZmVzdCwgcGF0aHMgaW4gaXRlcml0ZW1zKG1hbmlmZXN0cyk6CiAgICAgICAgIGlkX3Rlc3Rf
bWFwLnVwZGF0ZShjcmVhdGVfdGVzdF90cmVlKHBhdGhzWyJtZXRhZGF0YV9wYXRoIl0sCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfbWFuaWZlc3QpKQog
ICAgIHJldHVybiBpZF90ZXN0X21hcApAQCAtMjg1LDEwICsyODcsMTAgQEAgZGVmIHVwZGF0ZV9y
ZXN1bHRzKGlkX3Rlc3RfbWFwLAogICAgICAgICAgICAgICAgICAgIGRpc2FibGVfaW50ZXJtaXR0
ZW50LAogICAgICAgICAgICAgICAgICAgIHVwZGF0ZV9pbnRlcm1pdHRlbnQsCiAgICAgICAgICAg
ICAgICAgICAgcmVtb3ZlX2ludGVybWl0dGVudCk6Ci0gICAgdGVzdF9maWxlX2l0ZW1zID0gc2V0
KGlkX3Rlc3RfbWFwLml0ZXJ2YWx1ZXMoKSkKKyAgICB0ZXN0X2ZpbGVfaXRlbXMgPSBzZXQoaXRl
cnZhbHVlcyhpZF90ZXN0X21hcCkpCiAKICAgICBkZWZhdWx0X2V4cGVjdGVkX2J5X3R5cGUgPSB7
fQotICAgIGZvciB0ZXN0X3R5cGUsIHRlc3RfY2xzIGluIHdwdHRlc3QubWFuaWZlc3RfdGVzdF9j
bHMuaXRlcml0ZW1zKCk6CisgICAgZm9yIHRlc3RfdHlwZSwgdGVzdF9jbHMgaW4gaXRlcml0ZW1z
KHdwdHRlc3QubWFuaWZlc3RfdGVzdF9jbHMpOgogICAgICAgICBpZiB0ZXN0X2Nscy5yZXN1bHRf
Y2xzOgogICAgICAgICAgICAgZGVmYXVsdF9leHBlY3RlZF9ieV90eXBlWyh0ZXN0X3R5cGUsIEZh
bHNlKV0gPSB0ZXN0X2Nscy5yZXN1bHRfY2xzLmRlZmF1bHRfZXhwZWN0ZWQKICAgICAgICAgaWYg
dGVzdF9jbHMuc3VidGVzdF9yZXN1bHRfY2xzOgpAQCAtMzI0LDggKzMyNiwxMSBAQCBkZWYgd3Jp
dGVfbmV3X2V4cGVjdGVkKG1ldGFkYXRhX3BhdGgsIGV4cGVjdGVkKToKICAgICAgICAgdG1wX3Bh
dGggPSBwYXRoICsgIi50bXAiCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHdpdGggb3Blbih0
bXBfcGF0aCwgIndiIikgYXMgZjoKLSAgICAgICAgICAgICAgICBmLndyaXRlKG1hbmlmZXN0X3N0
cikKLSAgICAgICAgICAgIG9zLnJlbmFtZSh0bXBfcGF0aCwgcGF0aCkKKyAgICAgICAgICAgICAg
ICBmLndyaXRlKG1hbmlmZXN0X3N0ci5lbmNvZGUoInV0ZjgiKSkKKyAgICAgICAgICAgIGlmIHN5
cy52ZXJzaW9uX2luZm8gPj0gKDMsIDMpOgorICAgICAgICAgICAgICAgIG9zLnJlcGxhY2UodG1w
X3BhdGgsIHBhdGgpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIG9zLnJlbmFt
ZSh0bXBfcGF0aCwgcGF0aCkKICAgICAgICAgZXhjZXB0IChFeGNlcHRpb24sIEtleWJvYXJkSW50
ZXJydXB0KToKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBvcy51bmxpbmsodG1w
X3BhdGgpCkBAIC00MjYsNyArNDMxLDcgQEAgY2xhc3MgRXhwZWN0ZWRVcGRhdGVyKG9iamVjdCk6
CiAgICAgICAgICAgICBhY3Rpb25fbWFwWyJsc2FuX2xlYWsiXShpdGVtKQogCiAgICAgICAgIG1v
emxlYWtfZGF0YSA9IGRhdGEuZ2V0KCJtb3psZWFrIiwge30pCi0gICAgICAgIGZvciBzY29wZSwg
c2NvcGVfZGF0YSBpbiBtb3psZWFrX2RhdGEuaXRlcml0ZW1zKCk6CisgICAgICAgIGZvciBzY29w
ZSwgc2NvcGVfZGF0YSBpbiBpdGVyaXRlbXMobW96bGVha19kYXRhKToKICAgICAgICAgICAgIGZv
ciBrZXksIGFjdGlvbiBpbiBbKCJvYmplY3RzIiwgIm1vemxlYWtfb2JqZWN0IiksCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICgidG90YWwiLCAibW96bGVha190b3RhbCIpXToKICAg
ICAgICAgICAgICAgICBmb3IgaXRlbSBpbiBzY29wZV9kYXRhLmdldChrZXksIFtdKToKQEAgLTQz
OCw3ICs0NDMsNyBAQCBjbGFzcyBFeHBlY3RlZFVwZGF0ZXIob2JqZWN0KToKICAgICAgICAgc2Vs
Zi5ydW5faW5mbyA9IHJ1bl9pbmZvX2ludGVybi5zdG9yZShSdW5JbmZvKGRhdGFbInJ1bl9pbmZv
Il0pKQogCiAgICAgZGVmIHRlc3Rfc3RhcnQoc2VsZiwgZGF0YSk6Ci0gICAgICAgIHRlc3RfaWQg
PSBpbnRlcm4oZGF0YVsidGVzdCJdLmVuY29kZSgidXRmOCIpKQorICAgICAgICB0ZXN0X2lkID0g
aW50ZXJuKGVuc3VyZV9zdHIoZGF0YVsidGVzdCJdKSkKICAgICAgICAgdHJ5OgogICAgICAgICAg
ICAgc2VsZi5pZF90ZXN0X21hcFt0ZXN0X2lkXQogICAgICAgICBleGNlcHQgS2V5RXJyb3I6CkBA
IC00NDgsOCArNDUzLDggQEAgY2xhc3MgRXhwZWN0ZWRVcGRhdGVyKG9iamVjdCk6CiAgICAgICAg
IHNlbGYudGVzdHNfdmlzaXRlZFt0ZXN0X2lkXSA9IHNldCgpCiAKICAgICBkZWYgdGVzdF9zdGF0
dXMoc2VsZiwgZGF0YSk6Ci0gICAgICAgIHRlc3RfaWQgPSBpbnRlcm4oZGF0YVsidGVzdCJdLmVu
Y29kZSgidXRmOCIpKQotICAgICAgICBzdWJ0ZXN0ID0gaW50ZXJuKGRhdGFbInN1YnRlc3QiXS5l
bmNvZGUoInV0ZjgiKSkKKyAgICAgICAgdGVzdF9pZCA9IGludGVybihlbnN1cmVfc3RyKGRhdGFb
InRlc3QiXSkpCisgICAgICAgIHN1YnRlc3QgPSBpbnRlcm4oZW5zdXJlX3N0cihkYXRhWyJzdWJ0
ZXN0Il0pKQogICAgICAgICB0ZXN0X2RhdGEgPSBzZWxmLmlkX3Rlc3RfbWFwLmdldCh0ZXN0X2lk
KQogICAgICAgICBpZiB0ZXN0X2RhdGEgaXMgTm9uZToKICAgICAgICAgICAgIHJldHVybgpAQCAt
NDY2LDcgKzQ3MSw3IEBAIGNsYXNzIEV4cGVjdGVkVXBkYXRlcihvYmplY3QpOgogICAgICAgICBp
ZiBkYXRhWyJzdGF0dXMiXSA9PSAiU0tJUCI6CiAgICAgICAgICAgICByZXR1cm4KIAotICAgICAg
ICB0ZXN0X2lkID0gaW50ZXJuKGRhdGFbInRlc3QiXS5lbmNvZGUoInV0ZjgiKSkKKyAgICAgICAg
dGVzdF9pZCA9IGludGVybihlbnN1cmVfc3RyKGRhdGFbInRlc3QiXSkpCiAgICAgICAgIHRlc3Rf
ZGF0YSA9IHNlbGYuaWRfdGVzdF9tYXAuZ2V0KHRlc3RfaWQpCiAgICAgICAgIGlmIHRlc3RfZGF0
YSBpcyBOb25lOgogICAgICAgICAgICAgcmV0dXJuCkBAIC00NzksNyArNDg0LDcgQEAgY2xhc3Mg
RXhwZWN0ZWRVcGRhdGVyKG9iamVjdCk6CiAgICAgICAgIGRlbCBzZWxmLnRlc3RzX3Zpc2l0ZWRb
dGVzdF9pZF0KIAogICAgIGRlZiBhc3NlcnRpb25fY291bnQoc2VsZiwgZGF0YSk6Ci0gICAgICAg
IHRlc3RfaWQgPSBpbnRlcm4oZGF0YVsidGVzdCJdLmVuY29kZSgidXRmOCIpKQorICAgICAgICB0
ZXN0X2lkID0gaW50ZXJuKGVuc3VyZV9zdHIoZGF0YVsidGVzdCJdKSkKICAgICAgICAgdGVzdF9k
YXRhID0gc2VsZi5pZF90ZXN0X21hcC5nZXQodGVzdF9pZCkKICAgICAgICAgaWYgdGVzdF9kYXRh
IGlzIE5vbmU6CiAgICAgICAgICAgICByZXR1cm4KQEAgLTQ5MCwxMiArNDk1LDE1IEBAIGNsYXNz
IEV4cGVjdGVkVXBkYXRlcihvYmplY3QpOgogCiAgICAgZGVmIHRlc3RfZm9yX3Njb3BlKHNlbGYs
IGRhdGEpOgogICAgICAgICBkaXJfcGF0aCA9IGRhdGEuZ2V0KCJzY29wZSIsICIvIikKLSAgICAg
ICAgZGlyX2lkID0gaW50ZXJuKG9zLnBhdGguam9pbihkaXJfcGF0aCwgIl9fZGlyX18iKS5yZXBs
YWNlKG9zLnBhdGguc2VwLCAiLyIpLmVuY29kZSgidXRmOCIpKQorICAgICAgICBkaXJfaWQgPSBp
bnRlcm4oZW5zdXJlX3N0cihvcy5wYXRoLmpvaW4oZGlyX3BhdGgsICJfX2Rpcl9fIikucmVwbGFj
ZShvcy5wYXRoLnNlcCwgIi8iKSkpCiAgICAgICAgIGlmIGRpcl9pZC5zdGFydHN3aXRoKCIvIik6
CiAgICAgICAgICAgICBkaXJfaWQgPSBkaXJfaWRbMTpdCiAgICAgICAgIHJldHVybiBkaXJfaWQs
IHNlbGYuaWRfdGVzdF9tYXBbZGlyX2lkXQogCiAgICAgZGVmIGxzYW5fbGVhayhzZWxmLCBkYXRh
KToKKyAgICAgICAgaWYgZGF0YVsic2NvcGUiXSA9PSAiLyI6CisgICAgICAgICAgICBsb2dnZXIu
d2FybmluZygiTm90IHVwZGF0aW5nIGxzYW4gYW5ub3RhdGlvbnMgZm9yIHJvb3Qgc2NvcGUiKQor
ICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgIGRpcl9pZCwgdGVzdF9kYXRhID0gc2VsZi50ZXN0
X2Zvcl9zY29wZShkYXRhKQogICAgICAgICB0ZXN0X2RhdGEuc2V0KGRpcl9pZCwgTm9uZSwgImxz
YW4iLAogICAgICAgICAgICAgICAgICAgICAgIHNlbGYucnVuX2luZm8sIChkYXRhWyJmcmFtZXMi
XSwgZGF0YS5nZXQoImFsbG93ZWRfbWF0Y2giKSkpCkBAIC01MDMsNiArNTExLDkgQEAgY2xhc3Mg
RXhwZWN0ZWRVcGRhdGVyKG9iamVjdCk6CiAgICAgICAgICAgICB0ZXN0X2RhdGEuc2V0X3JlcXVp
cmVzX3VwZGF0ZSgpCiAKICAgICBkZWYgbW96bGVha19vYmplY3Qoc2VsZiwgZGF0YSk6CisgICAg
ICAgIGlmIGRhdGFbInNjb3BlIl0gPT0gIi8iOgorICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmco
Ik5vdCB1cGRhdGluZyBtb3psZWFrIGFubm90YXRpb25zIGZvciByb290IHNjb3BlIikKKyAgICAg
ICAgICAgIHJldHVybgogICAgICAgICBkaXJfaWQsIHRlc3RfZGF0YSA9IHNlbGYudGVzdF9mb3Jf
c2NvcGUoZGF0YSkKICAgICAgICAgdGVzdF9kYXRhLnNldChkaXJfaWQsIE5vbmUsICJsZWFrLW9i
amVjdCIsCiAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5ydW5faW5mbywgKCIlczolcyIsIChk
YXRhWyJwcm9jZXNzIl0sIGRhdGFbIm5hbWUiXSksCkBAIC01MTEsNiArNTIyLDkgQEAgY2xhc3Mg
RXhwZWN0ZWRVcGRhdGVyKG9iamVjdCk6CiAgICAgICAgICAgICB0ZXN0X2RhdGEuc2V0X3JlcXVp
cmVzX3VwZGF0ZSgpCiAKICAgICBkZWYgbW96bGVha190b3RhbChzZWxmLCBkYXRhKToKKyAgICAg
ICAgaWYgZGF0YVsic2NvcGUiXSA9PSAiLyI6CisgICAgICAgICAgICBsb2dnZXIud2FybmluZygi
Tm90IHVwZGF0aW5nIG1vemxlYWsgYW5ub3RhdGlvbnMgZm9yIHJvb3Qgc2NvcGUiKQorICAgICAg
ICAgICAgcmV0dXJuCiAgICAgICAgIGlmIGRhdGFbImJ5dGVzIl06CiAgICAgICAgICAgICBkaXJf
aWQsIHRlc3RfZGF0YSA9IHNlbGYudGVzdF9mb3Jfc2NvcGUoZGF0YSkKICAgICAgICAgICAgIHRl
c3RfZGF0YS5zZXQoZGlyX2lkLCBOb25lLCAibGVhay10aHJlc2hvbGQiLApAQCAtNTI5LDMxICs1
NDMsMzAgQEAgZGVmIGNyZWF0ZV90ZXN0X3RyZWUobWV0YWRhdGFfcGF0aCwgdGVzdF9tYW5pZmVz
dCk6CiAgICAgYXNzZXJ0IGFsbF90eXBlcyA+IGV4Y2x1ZGVfdHlwZXMKICAgICBpbmNsdWRlX3R5
cGVzID0gYWxsX3R5cGVzIC0gZXhjbHVkZV90eXBlcwogICAgIGZvciBpdGVtX3R5cGUsIHRlc3Rf
cGF0aCwgdGVzdHMgaW4gdGVzdF9tYW5pZmVzdC5pdGVydHlwZXMoKmluY2x1ZGVfdHlwZXMpOgot
ICAgICAgICB0ZXN0X2ZpbGVfZGF0YSA9IFRlc3RGaWxlRGF0YShpbnRlcm4odGVzdF9tYW5pZmVz
dC51cmxfYmFzZS5lbmNvZGUoInV0ZjgiKSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludGVybihpdGVtX3R5cGUuZW5jb2RlKCJ1dGY4IikpLAorICAgICAgICB0ZXN0
X2ZpbGVfZGF0YSA9IFRlc3RGaWxlRGF0YShpbnRlcm4oZW5zdXJlX3N0cih0ZXN0X21hbmlmZXN0
LnVybF9iYXNlKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVy
bihlbnN1cmVfc3RyKGl0ZW1fdHlwZSkpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBtZXRhZGF0YV9wYXRoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB0ZXN0X3BhdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRl
c3RzKQogICAgICAgICBmb3IgdGVzdCBpbiB0ZXN0czoKLSAgICAgICAgICAgIGlkX3Rlc3RfbWFw
W2ludGVybih0ZXN0LmlkLmVuY29kZSgidXRmOCIpKV0gPSB0ZXN0X2ZpbGVfZGF0YQorICAgICAg
ICAgICAgaWRfdGVzdF9tYXBbaW50ZXJuKGVuc3VyZV9zdHIodGVzdC5pZCkpXSA9IHRlc3RfZmls
ZV9kYXRhCiAKLSAgICAgICAgZGlyX3BhdGggPSBvcy5wYXRoLnNwbGl0KHRlc3RfcGF0aClbMF0u
cmVwbGFjZShvcy5wYXRoLnNlcCwgIi8iKQorICAgICAgICBkaXJfcGF0aCA9IG9zLnBhdGguZGly
bmFtZSh0ZXN0X3BhdGgpCiAgICAgICAgIHdoaWxlIFRydWU6Ci0gICAgICAgICAgICBpZiBkaXJf
cGF0aDoKLSAgICAgICAgICAgICAgICBkaXJfaWQgPSBkaXJfcGF0aCArICIvX19kaXJfXyIKLSAg
ICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgZGlyX2lkID0gIl9fZGlyX18iCi0gICAg
ICAgICAgICBkaXJfaWQgPSBpbnRlcm4oKHRlc3RfbWFuaWZlc3QudXJsX2Jhc2UgKyBkaXJfaWQp
LmxzdHJpcCgiLyIpLmVuY29kZSgidXRmOCIpKQotICAgICAgICAgICAgaWYgZGlyX2lkIG5vdCBp
biBpZF90ZXN0X21hcDoKLSAgICAgICAgICAgICAgICB0ZXN0X2ZpbGVfZGF0YSA9IFRlc3RGaWxl
RGF0YShpbnRlcm4odGVzdF9tYW5pZmVzdC51cmxfYmFzZS5lbmNvZGUoInV0ZjgiKSksCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm9uZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRhZGF0YV9wYXRoLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpcl9pZCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbXSkKLSAgICAgICAgICAg
ICAgICBpZF90ZXN0X21hcFtkaXJfaWRdID0gdGVzdF9maWxlX2RhdGEKLSAgICAgICAgICAgIGlm
IG5vdCBkaXJfcGF0aCBvciBkaXJfcGF0aCBpbiBpZF90ZXN0X21hcDoKKyAgICAgICAgICAgIGRp
cl9tZXRhX3BhdGggPSBvcy5wYXRoLmpvaW4oZGlyX3BhdGgsICJfX2Rpcl9fIikKKyAgICAgICAg
ICAgIGRpcl9pZCA9ICh0ZXN0X21hbmlmZXN0LnVybF9iYXNlICsgZGlyX21ldGFfcGF0aC5yZXBs
YWNlKG9zLnBhdGguc2VwLCAiLyIpKS5sc3RyaXAoIi8iKQorICAgICAgICAgICAgaWYgZGlyX2lk
IGluIGlkX3Rlc3RfbWFwOgorICAgICAgICAgICAgICAgIGJyZWFrCisKKyAgICAgICAgICAgIHRl
c3RfZmlsZV9kYXRhID0gVGVzdEZpbGVEYXRhKGludGVybihlbnN1cmVfc3RyKHRlc3RfbWFuaWZl
c3QudXJsX2Jhc2UpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IE5vbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRhZGF0
YV9wYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlyX21l
dGFfcGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtdKQor
ICAgICAgICAgICAgaWRfdGVzdF9tYXBbZGlyX2lkXSA9IHRlc3RfZmlsZV9kYXRhCisgICAgICAg
ICAgICBkaXJfcGF0aCA9IG9zLnBhdGguZGlybmFtZShkaXJfcGF0aCkKKyAgICAgICAgICAgIGlm
IG5vdCBkaXJfcGF0aDoKICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgZGlyX3Bh
dGggPSBkaXJfcGF0aC5yc3BsaXQoIi8iLCAxKVswXSBpZiAiLyIgaW4gZGlyX3BhdGggZWxzZSAi
IgogCiAgICAgcmV0dXJuIGlkX3Rlc3RfbWFwCiAKQEAgLTYxNCw3ICs2MjcsNyBAQCBjbGFzcyBU
ZXN0RmlsZURhdGEob2JqZWN0KToKICAgICAgICAgc2VsZi5pdGVtX3R5cGUgPSBpdGVtX3R5cGUK
ICAgICAgICAgc2VsZi50ZXN0X3BhdGggPSB0ZXN0X3BhdGgKICAgICAgICAgc2VsZi5tZXRhZGF0
YV9wYXRoID0gbWV0YWRhdGFfcGF0aAotICAgICAgICBzZWxmLnRlc3RzID0ge2ludGVybihpdGVt
LmlkLmVuY29kZSgidXRmOCIpKSBmb3IgaXRlbSBpbiB0ZXN0c30KKyAgICAgICAgc2VsZi50ZXN0
cyA9IHtpbnRlcm4oZW5zdXJlX3N0cihpdGVtLmlkKSkgZm9yIGl0ZW0gaW4gdGVzdHN9CiAgICAg
ICAgIHNlbGYuX3JlcXVpcmVzX3VwZGF0ZSA9IEZhbHNlCiAgICAgICAgIHNlbGYuZGF0YSA9IGRl
ZmF1bHRkaWN0KGxhbWJkYTogZGVmYXVsdGRpY3QoUGFja2VkUmVzdWx0TGlzdCkpCiAKQEAgLTY1
NSwxMSArNjY4LDExIEBAIGNsYXNzIFRlc3RGaWxlRGF0YShvYmplY3QpOgogICAgICAgICAjIFJl
dHVybiBzdWJ0ZXN0IG5vZGVzIHByZXNlbnQgaW4gdGhlIGV4cGVjdGVkIGZpbGUsIGJ1dCBtaXNz
aW5nIGZyb20gdGhlIGRhdGEKICAgICAgICAgcnYgPSBbXQogCi0gICAgICAgIGZvciB0ZXN0X2lk
LCBzdWJ0ZXN0cyBpbiBzZWxmLmRhdGEuaXRlcml0ZW1zKCk6Ci0gICAgICAgICAgICB0ZXN0ID0g
ZXhwZWN0ZWQuZ2V0X3Rlc3QodGVzdF9pZC5kZWNvZGUoInV0ZjgiKSkKKyAgICAgICAgZm9yIHRl
c3RfaWQsIHN1YnRlc3RzIGluIGl0ZXJpdGVtcyhzZWxmLmRhdGEpOgorICAgICAgICAgICAgdGVz
dCA9IGV4cGVjdGVkLmdldF90ZXN0KGVuc3VyZV90ZXh0KHRlc3RfaWQpKQogICAgICAgICAgICAg
aWYgbm90IHRlc3Q6CiAgICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgIHNlZW5f
c3VidGVzdHMgPSBzZXQoaXRlbS5kZWNvZGUoInV0ZjgiKSBmb3IgaXRlbSBpbiBzdWJ0ZXN0cy5p
dGVya2V5cygpIGlmIGl0ZW0gaXMgbm90IE5vbmUpCisgICAgICAgICAgICBzZWVuX3N1YnRlc3Rz
ID0gc2V0KGVuc3VyZV90ZXh0KGl0ZW0pIGZvciBpdGVtIGluIGl0ZXJrZXlzKHN1YnRlc3RzKSBp
ZiBpdGVtIGlzIG5vdCBOb25lKQogICAgICAgICAgICAgbWlzc2luZ19zdWJ0ZXN0cyA9IHNldCh0
ZXN0LnN1YnRlc3RzLmtleXMoKSkgLSBzZWVuX3N1YnRlc3RzCiAgICAgICAgICAgICBmb3IgaXRl
bSBpbiBtaXNzaW5nX3N1YnRlc3RzOgogICAgICAgICAgICAgICAgIGV4cGVjdGVkX3N1YnRlc3Qg
PSB0ZXN0LmdldF9zdWJ0ZXN0KGl0ZW0pCkBAIC02NzMsNiArNjg2LDI5IEBAIGNsYXNzIFRlc3RG
aWxlRGF0YShvYmplY3QpOgogCiAgICAgICAgIHJldHVybiBydgogCisgICAgZGVmIGZpbHRlcl91
bmtub3duX3Byb3BzKHNlbGYsIHVwZGF0ZV9wcm9wZXJ0aWVzLCBzdWJ0ZXN0cyk6CisgICAgICAg
ICMgUmVtb3ZlIHN1YnRlc3RzIHdoaWNoIGhhdmUgc29tZSBjb25kaXRpb25zIHRoYXQgYXJlbid0
IGluIHVwZGF0ZV9wcm9wZXJ0aWVzCisgICAgICAgICMgc2luY2UgcmVtb3ZpbmcgdGhlc2UgbWF5
IGJlIGluYXBwcm9wcmlhdGUKKyAgICAgICAgdG9wX2xldmVsX3Byb3BzLCBkZXBlbmRlbnRfcHJv
cHMgPSB1cGRhdGVfcHJvcGVydGllcworICAgICAgICBhbGxfcHJvcGVydGllcyA9IHNldCh0b3Bf
bGV2ZWxfcHJvcHMpCisgICAgICAgIGZvciBpdGVtIGluIGl0ZXJ2YWx1ZXMoZGVwZW5kZW50X3By
b3BzKToKKyAgICAgICAgICAgIGFsbF9wcm9wZXJ0aWVzIHw9IHNldChpdGVtKQorCisgICAgICAg
IGZpbHRlcmVkID0gW10KKyAgICAgICAgZm9yIHN1YnRlc3QgaW4gc3VidGVzdHM6CisgICAgICAg
ICAgICBpbmNsdWRlID0gVHJ1ZQorICAgICAgICAgICAgZm9yIGtleSwgXyBpbiBzdWJ0ZXN0Lml0
ZXJfcHJvcGVydGllcygpOgorICAgICAgICAgICAgICAgIGNvbmRpdGlvbnMgPSBzdWJ0ZXN0Lmdl
dF9jb25kaXRpb25zKGtleSkKKyAgICAgICAgICAgICAgICBmb3IgY29uZGl0aW9uIGluIGNvbmRp
dGlvbnM6CisgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBjb25kaXRpb24udmFyaWFibGVzLmlz
c3Vic2V0KGFsbF9wcm9wZXJ0aWVzKToKKyAgICAgICAgICAgICAgICAgICAgICAgIGluY2x1ZGUg
PSBGYWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgICAgICBp
ZiBub3QgaW5jbHVkZToKKyAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgIGlm
IGluY2x1ZGU6CisgICAgICAgICAgICAgICAgZmlsdGVyZWQuYXBwZW5kKHN1YnRlc3QpCisgICAg
ICAgIHJldHVybiBmaWx0ZXJlZAorCiAgICAgZGVmIHVwZGF0ZShzZWxmLCBkZWZhdWx0X2V4cGVj
dGVkX2J5X3R5cGUsIHVwZGF0ZV9wcm9wZXJ0aWVzLAogICAgICAgICAgICAgICAgZnVsbF91cGRh
dGU9RmFsc2UsIGRpc2FibGVfaW50ZXJtaXR0ZW50PU5vbmUsIHVwZGF0ZV9pbnRlcm1pdHRlbnQ9
RmFsc2UsCiAgICAgICAgICAgICAgICByZW1vdmVfaW50ZXJtaXR0ZW50PUZhbHNlKToKQEAgLTY4
Nyw2ICs3MjMsNyBAQCBjbGFzcyBUZXN0RmlsZURhdGEob2JqZWN0KToKIAogICAgICAgICBpZiBm
dWxsX3VwZGF0ZToKICAgICAgICAgICAgIG9ycGhhbnMgPSBzZWxmLm9ycGhhbl9zdWJ0ZXN0cyhl
eHBlY3RlZCkKKyAgICAgICAgICAgIG9ycGhhbnMgPSBzZWxmLmZpbHRlcl91bmtub3duX3Byb3Bz
KHVwZGF0ZV9wcm9wZXJ0aWVzLCBvcnBoYW5zKQogCiAgICAgICAgICAgICBpZiBub3Qgc2VsZi5y
ZXF1aXJlc191cGRhdGUgYW5kIG5vdCBvcnBoYW5zOgogICAgICAgICAgICAgICAgIHJldHVybgpA
QCAtNzA0LDkgKzc0MSw5IEBAIGNsYXNzIFRlc3RGaWxlRGF0YShvYmplY3QpOgogICAgICAgICAg
ICAgdGVzdF9leHBlY3RlZCA9IGV4cGVjdGVkLmdldF90ZXN0KHRlc3RfaWQpCiAgICAgICAgICAg
ICBleHBlY3RlZF9ieV90ZXN0W3Rlc3RfaWRdID0gdGVzdF9leHBlY3RlZAogCi0gICAgICAgIGZv
ciB0ZXN0X2lkLCB0ZXN0X2RhdGEgaW4gc2VsZi5kYXRhLml0ZXJpdGVtcygpOgotICAgICAgICAg
ICAgdGVzdF9pZCA9IHRlc3RfaWQuZGVjb2RlKCJ1dGY4IikKLSAgICAgICAgICAgIGZvciBzdWJ0
ZXN0X2lkLCByZXN1bHRzX2xpc3QgaW4gdGVzdF9kYXRhLml0ZXJpdGVtcygpOgorICAgICAgICBm
b3IgdGVzdF9pZCwgdGVzdF9kYXRhIGluIGl0ZXJpdGVtcyhzZWxmLmRhdGEpOgorICAgICAgICAg
ICAgdGVzdF9pZCA9IGVuc3VyZV9zdHIodGVzdF9pZCkKKyAgICAgICAgICAgIGZvciBzdWJ0ZXN0
X2lkLCByZXN1bHRzX2xpc3QgaW4gaXRlcml0ZW1zKHRlc3RfZGF0YSk6CiAgICAgICAgICAgICAg
ICAgZm9yIHByb3AsIHJ1bl9pbmZvLCB2YWx1ZSBpbiByZXN1bHRzX2xpc3Q6CiAgICAgICAgICAg
ICAgICAgICAgICMgU3BlY2lhbCBjYXNlIGRpcmVjdG9yeSBtZXRhZGF0YQogICAgICAgICAgICAg
ICAgICAgICBpZiBzdWJ0ZXN0X2lkIGlzIE5vbmUgYW5kIHRlc3RfaWQuZW5kc3dpdGgoIl9fZGly
X18iKToKQEAgLTcyMiw4ICs3NTksNyBAQCBjbGFzcyBUZXN0RmlsZURhdGEob2JqZWN0KToKICAg
ICAgICAgICAgICAgICAgICAgaWYgc3VidGVzdF9pZCBpcyBOb25lOgogICAgICAgICAgICAgICAg
ICAgICAgICAgaXRlbV9leHBlY3RlZCA9IHRlc3RfZXhwZWN0ZWQKICAgICAgICAgICAgICAgICAg
ICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIGlzaW5zdGFuY2Uoc3VidGVzdF9p
ZCwgc3RyKToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJ0ZXN0X2lkID0gc3VidGVz
dF9pZC5kZWNvZGUoInV0ZjgiKQorICAgICAgICAgICAgICAgICAgICAgICAgc3VidGVzdF9pZCA9
IGVuc3VyZV90ZXh0KHN1YnRlc3RfaWQpCiAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtX2V4
cGVjdGVkID0gdGVzdF9leHBlY3RlZC5nZXRfc3VidGVzdChzdWJ0ZXN0X2lkKQogCiAgICAgICAg
ICAgICAgICAgICAgIGlmIHByb3AgPT0gInN0YXR1cyI6CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5u
ZXIvcHJvY2Vzcy5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9wcm9jZXNzLnB5Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhhMmI4
OTRjYjc0ZDRlYzA5MTkzMWJmNDE3YzkyZDViZWEwNzFjYWUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci93cHRydW5uZXIvcHJvY2Vzcy5weQpAQCAtMCwwICsxLDExIEBACitpbXBvcnQgc3lzCisKK2lt
cG9ydCBzaXgKKworCitkZWYgY2FzdF9lbnYoZW52KToKKyAgICAiIiJFbmNvZGUgYWxsIHRoZSBl
bnZpcm9ubWVudCB2YWx1ZXMgYXMgdGhlIGFwcHJvcHJpYXRlIHR5cGUgZm9yIGVhY2ggUHl0aG9u
IHZlcnNpb24KKyAgICBUaGlzIGFzc3VtZXMgdGhhdCBhbGwgdGhlIGRhdGEgaXMgb3IgY2FuIGJl
IHJlcHJlc2VudGVkIGFzIFVURjgiIiIKKworICAgIGVudl90eXBlID0gc2l4LmVuc3VyZV9iaW5h
cnkgaWYgc3lzLnZlcnNpb25faW5mb1swXSA8IDMgZWxzZSBzaXguZW5zdXJlX3N0cgorICAgIHJl
dHVybiB7ZW52X3R5cGUoa2V5KTogZW52X3R5cGUodmFsdWUpIGZvciBrZXksIHZhbHVlIGluIHNp
eC5pdGVyaXRlbXMoZW52KX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci9wcm9kdWN0cy5weSBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL3dwdHJ1bm5lci9wcm9kdWN0cy5weQppbmRleCBlMzExNzA0MjcwOWY5OWY0ZTA0NDNkYzBk
ZmFmNTYxYWQwYjU0OGIwLi5hYmQ4NDA5NGJiMzNkYmQxM2IzNTk0YTdhY2JlODQ2NzUxMmE5OWNl
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvcHJvZHVjdHMucHkKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVy
L3Byb2R1Y3RzLnB5CkBAIC0xLDUgKzEsNiBAQAogaW1wb3J0IGltcG9ydGxpYgogaW1wb3J0IGlt
cAorZnJvbSBzaXggaW1wb3J0IGl0ZXJpdGVtcwogCiBmcm9tIC5icm93c2VycyBpbXBvcnQgcHJv
ZHVjdF9saXN0CiAKQEAgLTQ0LDcgKzQ1LDcgQEAgY2xhc3MgUHJvZHVjdChvYmplY3QpOgogICAg
ICAgICBzZWxmLmdldF90aW1lb3V0X211bHRpcGxpZXIgPSBnZXRhdHRyKG1vZHVsZSwgZGF0YVsi
dGltZW91dF9tdWx0aXBsaWVyIl0pCiAKICAgICAgICAgc2VsZi5leGVjdXRvcl9jbGFzc2VzID0g
e30KLSAgICAgICAgZm9yIHRlc3RfdHlwZSwgY2xzX25hbWUgaW4gZGF0YVsiZXhlY3V0b3IiXS5p
dGVyaXRlbXMoKToKKyAgICAgICAgZm9yIHRlc3RfdHlwZSwgY2xzX25hbWUgaW4gaXRlcml0ZW1z
KGRhdGFbImV4ZWN1dG9yIl0pOgogICAgICAgICAgICAgY2xzID0gZ2V0YXR0cihtb2R1bGUsIGNs
c19uYW1lKQogICAgICAgICAgICAgc2VsZi5leGVjdXRvcl9jbGFzc2VzW3Rlc3RfdHlwZV0gPSBj
bHMKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3N0YWJpbGl0eS5weSBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5l
ci9zdGFiaWxpdHkucHkKaW5kZXggYzA2ZjdlNWU5ZDZiMTBiNGU2MTljOTVhNjI0MTdlNTJhNTk2
YmU1My4uM2Y4OTg5NzI5ZmRlMGVlNDVjZjc4M2JjNjk4MzA3ZTM4Yzg0NGQ5MCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvd3B0cnVubmVyL3N0YWJpbGl0eS5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvc3RhYmlsaXR5
LnB5CkBAIC01LDYgKzUsNyBAQCBpbXBvcnQgaW8KIGltcG9ydCBvcwogZnJvbSBjb2xsZWN0aW9u
cyBpbXBvcnQgT3JkZXJlZERpY3QsIGRlZmF1bHRkaWN0CiBmcm9tIGRhdGV0aW1lIGltcG9ydCBk
YXRldGltZQorZnJvbSBzaXggaW1wb3J0IGl0ZXJpdGVtcwogCiBmcm9tIG1vemxvZyBpbXBvcnQg
cmVhZGVyCiBmcm9tIG1vemxvZy5mb3JtYXR0ZXJzIGltcG9ydCBKU09ORm9ybWF0dGVyCkBAIC0x
NDAsMTAgKzE0MSwxMCBAQCBkZWYgcHJvY2Vzc19yZXN1bHRzKGxvZywgaXRlcmF0aW9ucyk6CiAg
ICAgaGFuZGxlciA9IExvZ0hhbmRsZXIoKQogICAgIHJlYWRlci5oYW5kbGVfbG9nKHJlYWRlci5y
ZWFkKGxvZyksIGhhbmRsZXIpCiAgICAgcmVzdWx0cyA9IGhhbmRsZXIucmVzdWx0cwotICAgIGZv
ciB0ZXN0X25hbWUsIHRlc3QgaW4gcmVzdWx0cy5pdGVyaXRlbXMoKToKKyAgICBmb3IgdGVzdF9u
YW1lLCB0ZXN0IGluIGl0ZXJpdGVtcyhyZXN1bHRzKToKICAgICAgICAgaWYgaXNfaW5jb25zaXN0
ZW50KHRlc3RbInN0YXR1cyJdLCBpdGVyYXRpb25zKToKICAgICAgICAgICAgIGluY29uc2lzdGVu
dC5hcHBlbmQoKHRlc3RfbmFtZSwgTm9uZSwgdGVzdFsic3RhdHVzIl0sIFtdKSkKLSAgICAgICAg
Zm9yIHN1YnRlc3RfbmFtZSwgc3VidGVzdCBpbiB0ZXN0WyJzdWJ0ZXN0cyJdLml0ZXJpdGVtcygp
OgorICAgICAgICBmb3Igc3VidGVzdF9uYW1lLCBzdWJ0ZXN0IGluIGl0ZXJpdGVtcyh0ZXN0WyJz
dWJ0ZXN0cyJdKToKICAgICAgICAgICAgIGlmIGlzX2luY29uc2lzdGVudChzdWJ0ZXN0WyJzdGF0
dXMiXSwgaXRlcmF0aW9ucyk6CiAgICAgICAgICAgICAgICAgaW5jb25zaXN0ZW50LmFwcGVuZCgo
dGVzdF9uYW1lLCBzdWJ0ZXN0X25hbWUsIHN1YnRlc3RbInN0YXR1cyJdLCBzdWJ0ZXN0WyJtZXNz
YWdlcyJdKSkKIApAQCAtMjA4LDcgKzIwOSw3IEBAIGRlZiB3cml0ZV9yZXN1bHRzKGxvZywgcmVz
dWx0cywgaXRlcmF0aW9ucywgcHJfbnVtYmVyPU5vbmUsIHVzZV9kZXRhaWxzPUZhbHNlKToKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRlc3RzIiBp
ZiBsZW4ocmVzdWx0cykgPiAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGVsc2UgInRlc3QiKSkKIAotICAgIGZvciB0ZXN0X25hbWUsIHRlc3QgaW4g
cmVzdWx0cy5pdGVyaXRlbXMoKToKKyAgICBmb3IgdGVzdF9uYW1lLCB0ZXN0IGluIGl0ZXJpdGVt
cyhyZXN1bHRzKToKICAgICAgICAgYmFzZXVybCA9ICJodHRwOi8vdzNjLXRlc3Qub3JnL3N1Ym1p
c3Npb25zIgogICAgICAgICBpZiAiaHR0cHMiIGluIG9zLnBhdGguc3BsaXRleHQodGVzdF9uYW1l
KVswXS5zcGxpdCgiLiIpWzE6XToKICAgICAgICAgICAgIGJhc2V1cmwgPSAiaHR0cHM6Ly93M2Mt
dGVzdC5vcmcvc3VibWlzc2lvbnMiCkBAIC0yMzYsNyArMjM3LDcgQEAgZGVmIHdyaXRlX3Jlc3Vs
dHMobG9nLCByZXN1bHRzLCBpdGVyYXRpb25zLCBwcl9udW1iZXI9Tm9uZSwgdXNlX2RldGFpbHM9
RmFsc2UpOgogCiAKIGRlZiBydW5fc3RlcChsb2dnZXIsIGl0ZXJhdGlvbnMsIHJlc3RhcnRfYWZ0
ZXJfaXRlcmF0aW9uLCBrd2FyZ3NfZXh0cmFzLCAqKmt3YXJncyk6Ci0gICAgaW1wb3J0IHdwdHJ1
bm5lcgorICAgIGZyb20gLiBpbXBvcnQgd3B0cnVubmVyCiAgICAga3dhcmdzID0gY29weS5kZWVw
Y29weShrd2FyZ3MpCiAKICAgICBpZiByZXN0YXJ0X2FmdGVyX2l0ZXJhdGlvbjoKQEAgLTI3OCw3
ICsyNzksNyBAQCBkZWYgZ2V0X3N0ZXBzKGxvZ2dlciwgcmVwZWF0X2xvb3AsIHJlcGVhdF9yZXN0
YXJ0LCBrd2FyZ3NfZXh0cmFzKToKICAgICBmb3Iga3dhcmdzX2V4dHJhIGluIGt3YXJnc19leHRy
YXM6CiAgICAgICAgIGlmIGt3YXJnc19leHRyYToKICAgICAgICAgICAgIGZsYWdzX3N0cmluZyA9
ICIgd2l0aCBmbGFncyAlcyIgJSAiICIuam9pbigKLSAgICAgICAgICAgICAgICAiJXM9JXMiICUg
aXRlbSBmb3IgaXRlbSBpbiBrd2FyZ3NfZXh0cmEuaXRlcml0ZW1zKCkpCisgICAgICAgICAgICAg
ICAgIiVzPSVzIiAlIGl0ZW0gZm9yIGl0ZW0gaW4gaXRlcml0ZW1zKGt3YXJnc19leHRyYSkpCiAg
ICAgICAgIGVsc2U6CiAgICAgICAgICAgICBmbGFnc19zdHJpbmcgPSAiIgogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci93cHRydW5uZXIvdGVzdGxvYWRlci5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0bG9hZGVyLnB5
CmluZGV4IGZhNTRjYTM2MTU3NjMxOGNiMzVlYzcxNmExYTE1OWJkYjUzMmU2YzguLjNhMjZlZmM1
NTQyMTFhNTI0OGE3OTA5MDlkOTk4OTNhZmU5ZmY2NzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5l
ci90ZXN0bG9hZGVyLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0bG9hZGVyLnB5CkBAIC01LDYg
KzUsOCBAQCBmcm9tIGFiYyBpbXBvcnQgQUJDTWV0YSwgYWJzdHJhY3RtZXRob2QKIGZyb20gc2l4
Lm1vdmVzLnF1ZXVlIGltcG9ydCBFbXB0eQogZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgZGVmYXVs
dGRpY3QsIGRlcXVlCiBmcm9tIG11bHRpcHJvY2Vzc2luZyBpbXBvcnQgUXVldWUKK2Zyb20gc2l4
IGltcG9ydCBlbnN1cmVfYmluYXJ5LCBpdGVyaXRlbXMKK2Zyb20gc2l4Lm1vdmVzIGltcG9ydCBy
YW5nZQogCiBmcm9tIC4gaW1wb3J0IG1hbmlmZXN0aW5jbHVkZQogZnJvbSAuIGltcG9ydCBtYW5p
ZmVzdGV4cGVjdGVkCkBAIC0xNSw2ICsxNyw3IEBAIG1hbmlmZXN0ID0gTm9uZQogbWFuaWZlc3Rf
dXBkYXRlID0gTm9uZQogZG93bmxvYWRfZnJvbV9naXRodWIgPSBOb25lCiAKKwogZGVmIGRvX2Rl
bGF5ZWRfaW1wb3J0cygpOgogICAgICMgVGhpcyByZWxpZXMgb24gYW4gYWxyZWFkeSBsb2FkZWQg
bW9kdWxlIGhhdmluZyBzZXQgdGhlIHN5cy5wYXRoIGNvcnJlY3RseSA6KAogICAgIGdsb2JhbCBt
YW5pZmVzdCwgbWFuaWZlc3RfdXBkYXRlLCBkb3dubG9hZF9mcm9tX2dpdGh1YgpAQCAtMjQsMTIg
KzI3LDEzIEBAIGRlZiBkb19kZWxheWVkX2ltcG9ydHMoKToKIAogCiBjbGFzcyBUZXN0Q2h1bmtl
cihvYmplY3QpOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCB0b3RhbF9jaHVua3MsIGNodW5rX251
bWJlcik6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHRvdGFsX2NodW5rcywgY2h1bmtfbnVtYmVy
LCAqKmt3YXJncyk6CiAgICAgICAgIHNlbGYudG90YWxfY2h1bmtzID0gdG90YWxfY2h1bmtzCiAg
ICAgICAgIHNlbGYuY2h1bmtfbnVtYmVyID0gY2h1bmtfbnVtYmVyCiAgICAgICAgIGFzc2VydCBz
ZWxmLmNodW5rX251bWJlciA8PSBzZWxmLnRvdGFsX2NodW5rcwogICAgICAgICBzZWxmLmxvZ2dl
ciA9IHN0cnVjdHVyZWQuZ2V0X2RlZmF1bHRfbG9nZ2VyKCkKICAgICAgICAgYXNzZXJ0IHNlbGYu
bG9nZ2VyCisgICAgICAgIHNlbGYua3dhcmdzID0ga3dhcmdzCiAKICAgICBkZWYgX19jYWxsX18o
c2VsZiwgbWFuaWZlc3QpOgogICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yCkBAIC00
MCw3ICs0NCw3IEBAIGNsYXNzIFVuY2h1bmtlZChUZXN0Q2h1bmtlcik6CiAgICAgICAgIFRlc3RD
aHVua2VyLl9faW5pdF9fKHNlbGYsICphcmdzLCAqKmt3YXJncykKICAgICAgICAgYXNzZXJ0IHNl
bGYudG90YWxfY2h1bmtzID09IDEKIAotICAgIGRlZiBfX2NhbGxfXyhzZWxmLCBtYW5pZmVzdCk6
CisgICAgZGVmIF9fY2FsbF9fKHNlbGYsIG1hbmlmZXN0LCAqKmt3YXJncyk6CiAgICAgICAgIGZv
ciBpdGVtIGluIG1hbmlmZXN0OgogICAgICAgICAgICAgeWllbGQgaXRlbQogCkBAIC00OSw3ICs1
Myw3IEBAIGNsYXNzIEhhc2hDaHVua2VyKFRlc3RDaHVua2VyKToKICAgICBkZWYgX19jYWxsX18o
c2VsZiwgbWFuaWZlc3QpOgogICAgICAgICBjaHVua19pbmRleCA9IHNlbGYuY2h1bmtfbnVtYmVy
IC0gMQogICAgICAgICBmb3IgdGVzdF90eXBlLCB0ZXN0X3BhdGgsIHRlc3RzIGluIG1hbmlmZXN0
OgotICAgICAgICAgICAgaCA9IGludChoYXNobGliLm1kNSh0ZXN0X3BhdGgpLmhleGRpZ2VzdCgp
LCAxNikKKyAgICAgICAgICAgIGggPSBpbnQoaGFzaGxpYi5tZDUoZW5zdXJlX2JpbmFyeSh0ZXN0
X3BhdGgpKS5oZXhkaWdlc3QoKSwgMTYpCiAgICAgICAgICAgICBpZiBoICUgc2VsZi50b3RhbF9j
aHVua3MgPT0gY2h1bmtfaW5kZXg6CiAgICAgICAgICAgICAgICAgeWllbGQgdGVzdF90eXBlLCB0
ZXN0X3BhdGgsIHRlc3RzCiAKQEAgLTYyLDggKzY2LDEzIEBAIGNsYXNzIERpcmVjdG9yeUhhc2hD
aHVua2VyKFRlc3RDaHVua2VyKToKICAgICAiIiIKICAgICBkZWYgX19jYWxsX18oc2VsZiwgbWFu
aWZlc3QpOgogICAgICAgICBjaHVua19pbmRleCA9IHNlbGYuY2h1bmtfbnVtYmVyIC0gMQorICAg
ICAgICBkZXB0aCA9IHNlbGYua3dhcmdzLmdldCgiZGVwdGgiKQogICAgICAgICBmb3IgdGVzdF90
eXBlLCB0ZXN0X3BhdGgsIHRlc3RzIGluIG1hbmlmZXN0OgotICAgICAgICAgICAgaCA9IGludCho
YXNobGliLm1kNShvcy5wYXRoLmRpcm5hbWUodGVzdF9wYXRoKSkuaGV4ZGlnZXN0KCksIDE2KQor
ICAgICAgICAgICAgaWYgZGVwdGg6CisgICAgICAgICAgICAgICAgaGFzaF9wYXRoID0gb3MucGF0
aC5zZXAuam9pbihvcy5wYXRoLmRpcm5hbWUodGVzdF9wYXRoKS5zcGxpdChvcy5wYXRoLnNlcCwg
ZGVwdGgpWzpkZXB0aF0pCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGhhc2hf
cGF0aCA9IG9zLnBhdGguZGlybmFtZSh0ZXN0X3BhdGgpCisgICAgICAgICAgICBoID0gaW50KGhh
c2hsaWIubWQ1KGVuc3VyZV9iaW5hcnkoaGFzaF9wYXRoKSkuaGV4ZGlnZXN0KCksIDE2KQogICAg
ICAgICAgICAgaWYgaCAlIHNlbGYudG90YWxfY2h1bmtzID09IGNodW5rX2luZGV4OgogICAgICAg
ICAgICAgICAgIHlpZWxkIHRlc3RfdHlwZSwgdGVzdF9wYXRoLCB0ZXN0cwogCkBAIC0xMjQsNyAr
MTMzLDcgQEAgY2xhc3MgTWFuaWZlc3RMb2FkZXIob2JqZWN0KToKIAogICAgIGRlZiBsb2FkKHNl
bGYpOgogICAgICAgICBydiA9IHt9Ci0gICAgICAgIGZvciB1cmxfYmFzZSwgcGF0aHMgaW4gc2Vs
Zi50ZXN0X3BhdGhzLml0ZXJpdGVtcygpOgorICAgICAgICBmb3IgdXJsX2Jhc2UsIHBhdGhzIGlu
IGl0ZXJpdGVtcyhzZWxmLnRlc3RfcGF0aHMpOgogICAgICAgICAgICAgbWFuaWZlc3RfZmlsZSA9
IHNlbGYubG9hZF9tYW5pZmVzdCh1cmxfYmFzZT11cmxfYmFzZSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKipwYXRocykKICAgICAgICAgICAgIHBhdGhf
ZGF0YSA9IHsidXJsX2Jhc2UiOiB1cmxfYmFzZX0KQEAgLTE1OSw3ICsxNjgsMTAgQEAgY2xhc3Mg
VGVzdExvYWRlcihvYmplY3QpOgogICAgICAgICAgICAgICAgICB0b3RhbF9jaHVua3M9MSwKICAg
ICAgICAgICAgICAgICAgY2h1bmtfbnVtYmVyPTEsCiAgICAgICAgICAgICAgICAgIGluY2x1ZGVf
aHR0cHM9VHJ1ZSwKLSAgICAgICAgICAgICAgICAgc2tpcF90aW1lb3V0PUZhbHNlKToKKyAgICAg
ICAgICAgICAgICAgaW5jbHVkZV9xdWljPUZhbHNlLAorICAgICAgICAgICAgICAgICBza2lwX3Rp
bWVvdXQ9RmFsc2UsCisgICAgICAgICAgICAgICAgIHNraXBfaW1wbGVtZW50YXRpb25fc3RhdHVz
PU5vbmUsCisgICAgICAgICAgICAgICAgIGNodW5rZXJfa3dhcmdzPU5vbmUpOgogCiAgICAgICAg
IHNlbGYudGVzdF90eXBlcyA9IHRlc3RfdHlwZXMKICAgICAgICAgc2VsZi5ydW5faW5mbyA9IHJ1
bl9pbmZvCkBAIC0xNzAsMTYgKzE4MiwyMSBAQCBjbGFzcyBUZXN0TG9hZGVyKG9iamVjdCk6CiAg
ICAgICAgIHNlbGYudGVzdHMgPSBOb25lCiAgICAgICAgIHNlbGYuZGlzYWJsZWRfdGVzdHMgPSBO
b25lCiAgICAgICAgIHNlbGYuaW5jbHVkZV9odHRwcyA9IGluY2x1ZGVfaHR0cHMKKyAgICAgICAg
c2VsZi5pbmNsdWRlX3F1aWMgPSBpbmNsdWRlX3F1aWMKICAgICAgICAgc2VsZi5za2lwX3RpbWVv
dXQgPSBza2lwX3RpbWVvdXQKKyAgICAgICAgc2VsZi5za2lwX2ltcGxlbWVudGF0aW9uX3N0YXR1
cyA9IHNraXBfaW1wbGVtZW50YXRpb25fc3RhdHVzCiAKICAgICAgICAgc2VsZi5jaHVua190eXBl
ID0gY2h1bmtfdHlwZQogICAgICAgICBzZWxmLnRvdGFsX2NodW5rcyA9IHRvdGFsX2NodW5rcwog
ICAgICAgICBzZWxmLmNodW5rX251bWJlciA9IGNodW5rX251bWJlcgogCisgICAgICAgIGlmIGNo
dW5rZXJfa3dhcmdzIGlzIE5vbmU6CisgICAgICAgICAgICBjaHVua2VyX2t3YXJncyA9IHt9CiAg
ICAgICAgIHNlbGYuY2h1bmtlciA9IHsibm9uZSI6IFVuY2h1bmtlZCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICJoYXNoIjogSGFzaENodW5rZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAi
ZGlyX2hhc2giOiBEaXJlY3RvcnlIYXNoQ2h1bmtlcn1bY2h1bmtfdHlwZV0odG90YWxfY2h1bmtz
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNodW5rX251bWJlcikKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaHVua19udW1iZXIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKipjaHVua2VyX2t3YXJncykKIAogICAgICAgICBzZWxmLl90ZXN0X2lk
cyA9IE5vbmUKIApAQCAtMjA2LDcgKzIyMyw3IEBAIGNsYXNzIFRlc3RMb2FkZXIob2JqZWN0KToK
ICAgICBkZWYgbG9hZF9kaXJfbWV0YWRhdGEoc2VsZiwgdGVzdF9tYW5pZmVzdCwgbWV0YWRhdGFf
cGF0aCwgdGVzdF9wYXRoKToKICAgICAgICAgcnYgPSBbXQogICAgICAgICBwYXRoX3BhcnRzID0g
b3MucGF0aC5kaXJuYW1lKHRlc3RfcGF0aCkuc3BsaXQob3MucGF0aC5zZXApCi0gICAgICAgIGZv
ciBpIGluIHhyYW5nZShsZW4ocGF0aF9wYXJ0cykgKyAxKToKKyAgICAgICAgZm9yIGkgaW4gcmFu
Z2UobGVuKHBhdGhfcGFydHMpICsgMSk6CiAgICAgICAgICAgICBwYXRoID0gb3MucGF0aC5qb2lu
KG1ldGFkYXRhX3BhdGgsIG9zLnBhdGguc2VwLmpvaW4ocGF0aF9wYXJ0c1s6aV0pLCAiX19kaXJf
Xy5pbmkiKQogICAgICAgICAgICAgaWYgcGF0aCBub3QgaW4gc2VsZi5kaXJlY3RvcnlfbWFuaWZl
c3RzOgogICAgICAgICAgICAgICAgIHNlbGYuZGlyZWN0b3J5X21hbmlmZXN0c1twYXRoXSA9IG1h
bmlmZXN0ZXhwZWN0ZWQuZ2V0X2Rpcl9tYW5pZmVzdChwYXRoLApAQCAtMjM2LDcgKzI1Myw3IEBA
IGNsYXNzIFRlc3RMb2FkZXIob2JqZWN0KToKICAgICAgICAgICAgIG1hbmlmZXN0X2l0ZW1zID0g
c2VsZi5jaHVua2VyKG1hbmlmZXN0X2l0ZW1zKQogCiAgICAgICAgIGZvciB0ZXN0X3R5cGUsIHRl
c3RfcGF0aCwgdGVzdHMgaW4gbWFuaWZlc3RfaXRlbXM6Ci0gICAgICAgICAgICBtYW5pZmVzdF9m
aWxlID0gbWFuaWZlc3RzX2J5X3VybF9iYXNlW2l0ZXIodGVzdHMpLm5leHQoKS51cmxfYmFzZV0K
KyAgICAgICAgICAgIG1hbmlmZXN0X2ZpbGUgPSBtYW5pZmVzdHNfYnlfdXJsX2Jhc2VbbmV4dChp
dGVyKHRlc3RzKSkudXJsX2Jhc2VdCiAgICAgICAgICAgICBtZXRhZGF0YV9wYXRoID0gc2VsZi5t
YW5pZmVzdHNbbWFuaWZlc3RfZmlsZV1bIm1ldGFkYXRhX3BhdGgiXQogCiAgICAgICAgICAgICBp
bmhlcml0X21ldGFkYXRhLCB0ZXN0X21ldGFkYXRhID0gc2VsZi5sb2FkX21ldGFkYXRhKG1hbmlm
ZXN0X2ZpbGUsIG1ldGFkYXRhX3BhdGgsIHRlc3RfcGF0aCkKQEAgLTI1Miw4ICsyNjksMTIgQEAg
Y2xhc3MgVGVzdExvYWRlcihvYmplY3QpOgogICAgICAgICAgICAgZW5hYmxlZCA9IG5vdCB0ZXN0
LmRpc2FibGVkKCkKICAgICAgICAgICAgIGlmIG5vdCBzZWxmLmluY2x1ZGVfaHR0cHMgYW5kIHRl
c3QuZW52aXJvbm1lbnRbInByb3RvY29sIl0gPT0gImh0dHBzIjoKICAgICAgICAgICAgICAgICBl
bmFibGVkID0gRmFsc2UKKyAgICAgICAgICAgIGlmIG5vdCBzZWxmLmluY2x1ZGVfcXVpYyBhbmQg
dGVzdC5lbnZpcm9ubWVudFsicXVpYyJdOgorICAgICAgICAgICAgICAgIGVuYWJsZWQgPSBGYWxz
ZQogICAgICAgICAgICAgaWYgc2VsZi5za2lwX3RpbWVvdXQgYW5kIHRlc3QuZXhwZWN0ZWQoKSA9
PSAiVElNRU9VVCI6CiAgICAgICAgICAgICAgICAgZW5hYmxlZCA9IEZhbHNlCisgICAgICAgICAg
ICBpZiBzZWxmLnNraXBfaW1wbGVtZW50YXRpb25fc3RhdHVzIGFuZCB0ZXN0LmltcGxlbWVudGF0
aW9uX3N0YXR1cygpIGluIHNlbGYuc2tpcF9pbXBsZW1lbnRhdGlvbl9zdGF0dXM6CisgICAgICAg
ICAgICAgICAgZW5hYmxlZCA9IEZhbHNlCiAgICAgICAgICAgICBrZXkgPSAiZW5hYmxlZCIgaWYg
ZW5hYmxlZCBlbHNlICJkaXNhYmxlZCIKICAgICAgICAgICAgIHRlc3RzW2tleV1bdGVzdF90eXBl
XS5hcHBlbmQodGVzdCkKIApAQCAtMjg0LDYgKzMwNSwxMCBAQCBjbGFzcyBUZXN0U291cmNlKG9i
amVjdCk6CiAgICAgZGVmIG1ha2VfcXVldWUoY2xzLCB0ZXN0cywgKiprd2FyZ3MpOiAgIyBub3Fh
OiBOODA1CiAgICAgICAgIHBhc3MKIAorICAgIEBhYnN0cmFjdG1ldGhvZAorICAgIGRlZiB0ZXN0
c19ieV9ncm91cChjbHMsIHRlc3RzLCAqKmt3YXJncyk6ICAjIG5vcWE6IE44MDUKKyAgICAgICAg
cGFzcworCiAgICAgQGNsYXNzbWV0aG9kCiAgICAgZGVmIGdyb3VwX21ldGFkYXRhKGNscywgc3Rh
dGUpOgogICAgICAgICByZXR1cm4geyJzY29wZSI6ICIvIn0KQEAgLTMyMiwxNCArMzQ3LDI1IEBA
IGNsYXNzIEdyb3VwZWRTb3VyY2UoVGVzdFNvdXJjZSk6CiAgICAgICAgICAgICB0ZXN0X3F1ZXVl
LnB1dChpdGVtKQogICAgICAgICByZXR1cm4gdGVzdF9xdWV1ZQogCisgICAgQGNsYXNzbWV0aG9k
CisgICAgZGVmIHRlc3RzX2J5X2dyb3VwKGNscywgdGVzdHMsICoqa3dhcmdzKToKKyAgICAgICAg
Z3JvdXBzID0gZGVmYXVsdGRpY3QobGlzdCkKKyAgICAgICAgc3RhdGUgPSB7fQorICAgICAgICBj
dXJyZW50ID0gTm9uZQorICAgICAgICBmb3IgdGVzdCBpbiB0ZXN0czoKKyAgICAgICAgICAgIGlm
IGNscy5uZXdfZ3JvdXAoc3RhdGUsIHRlc3QsICoqa3dhcmdzKToKKyAgICAgICAgICAgICAgICBj
dXJyZW50ID0gY2xzLmdyb3VwX21ldGFkYXRhKHN0YXRlKVsnc2NvcGUnXQorICAgICAgICAgICAg
Z3JvdXBzW2N1cnJlbnRdLmFwcGVuZCh0ZXN0LmlkKQorICAgICAgICByZXR1cm4gZ3JvdXBzCisK
IAogY2xhc3MgU2luZ2xlVGVzdFNvdXJjZShUZXN0U291cmNlKToKICAgICBAY2xhc3NtZXRob2QK
ICAgICBkZWYgbWFrZV9xdWV1ZShjbHMsIHRlc3RzLCAqKmt3YXJncyk6CiAgICAgICAgIHRlc3Rf
cXVldWUgPSBRdWV1ZSgpCiAgICAgICAgIHByb2Nlc3NlcyA9IGt3YXJnc1sicHJvY2Vzc2VzIl0K
LSAgICAgICAgcXVldWVzID0gW2RlcXVlKFtdKSBmb3IgXyBpbiB4cmFuZ2UocHJvY2Vzc2VzKV0K
LSAgICAgICAgbWV0YWRhdGFzID0gW2Nscy5ncm91cF9tZXRhZGF0YShOb25lKSBmb3IgXyBpbiB4
cmFuZ2UocHJvY2Vzc2VzKV0KKyAgICAgICAgcXVldWVzID0gW2RlcXVlKFtdKSBmb3IgXyBpbiBy
YW5nZShwcm9jZXNzZXMpXQorICAgICAgICBtZXRhZGF0YXMgPSBbY2xzLmdyb3VwX21ldGFkYXRh
KE5vbmUpIGZvciBfIGluIHJhbmdlKHByb2Nlc3NlcyldCiAgICAgICAgIGZvciB0ZXN0IGluIHRl
c3RzOgogICAgICAgICAgICAgaWR4ID0gaGFzaCh0ZXN0LmlkKSAlIHByb2Nlc3NlcwogICAgICAg
ICAgICAgZ3JvdXAgPSBxdWV1ZXNbaWR4XQpAQCAtMzQyLDYgKzM3OCwxMCBAQCBjbGFzcyBTaW5n
bGVUZXN0U291cmNlKFRlc3RTb3VyY2UpOgogCiAgICAgICAgIHJldHVybiB0ZXN0X3F1ZXVlCiAK
KyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgdGVzdHNfYnlfZ3JvdXAoY2xzLCB0ZXN0cywgKipr
d2FyZ3MpOgorICAgICAgICByZXR1cm4ge2Nscy5ncm91cF9tZXRhZGF0YShOb25lKVsnc2NvcGUn
XTogW3QuaWQgZm9yIHQgaW4gdGVzdHNdfQorCiAKIGNsYXNzIFBhdGhHcm91cGVkU291cmNlKEdy
b3VwZWRTb3VyY2UpOgogICAgIEBjbGFzc21ldGhvZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVy
L3Rlc3RydW5uZXIucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdGVzdHJ1bm5lci5weQppbmRleCA3YjZiZjU3
ZDE1OTkyOWNkY2E4N2U5Y2EzMjE2MTA0MDFiMzcxNjZhLi40OWEzNTI1ZTg4M2QxNWEwNTkwMjJh
NTQ5MTFlZWNmNTMxZDgzNmZmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdGVzdHJ1bm5lci5w
eQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci93cHRydW5uZXIvdGVzdHJ1bm5lci5weQpAQCAtMTI1LDcgKzEyNSw3IEBAIGNs
YXNzIFRlc3RSdW5uZXIob2JqZWN0KToKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgcmV0dXJu
IHNlbGYuZXhlY3V0b3IucnVuX3Rlc3QodGVzdCkKICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoK
LSAgICAgICAgICAgIHNlbGYubG9nZ2VyLmNyaXRpY2FsKHRyYWNlYmFjay5mb3JtYXRfZXhjKCkp
CisgICAgICAgICAgICBzZWxmLmxvZ2dlci5lcnJvcih0cmFjZWJhY2suZm9ybWF0X2V4YygpKQog
ICAgICAgICAgICAgcmFpc2UKIAogICAgIGRlZiB3YWl0KHNlbGYpOgpAQCAtMTU4LDcgKzE1OCw3
IEBAIGRlZiBzdGFydF9ydW5uZXIocnVubmVyX2NvbW1hbmRfcXVldWUsIHJ1bm5lcl9yZXN1bHRf
cXVldWUsCiAgICAgd2l0aCBjYXB0dXJlLkNhcHR1cmVJTyhsb2dnZXIsIGNhcHR1cmVfc3RkaW8p
OgogICAgICAgICB0cnk6CiAgICAgICAgICAgICBicm93c2VyID0gZXhlY3V0b3JfYnJvd3Nlcl9j
bHMoKipleGVjdXRvcl9icm93c2VyX2t3YXJncykKLSAgICAgICAgICAgIGV4ZWN1dG9yID0gZXhl
Y3V0b3JfY2xzKGJyb3dzZXIsICoqZXhlY3V0b3Jfa3dhcmdzKQorICAgICAgICAgICAgZXhlY3V0
b3IgPSBleGVjdXRvcl9jbHMobG9nZ2VyLCBicm93c2VyLCAqKmV4ZWN1dG9yX2t3YXJncykKICAg
ICAgICAgICAgIHdpdGggVGVzdFJ1bm5lcihsb2dnZXIsIHJ1bm5lcl9jb21tYW5kX3F1ZXVlLCBy
dW5uZXJfcmVzdWx0X3F1ZXVlLCBleGVjdXRvcikgYXMgcnVubmVyOgogICAgICAgICAgICAgICAg
IHRyeToKICAgICAgICAgICAgICAgICAgICAgcnVubmVyLnJ1bigpCkBAIC0yODAsNyArMjgwLDcg
QEAgY2xhc3MgVGVzdFJ1bm5lck1hbmFnZXIodGhyZWFkaW5nLlRocmVhZCk6CiAgICAgZGVmIF9f
aW5pdF9fKHNlbGYsIHN1aXRlX25hbWUsIHRlc3RfcXVldWUsIHRlc3Rfc291cmNlX2NscywgYnJv
d3Nlcl9jbHMsIGJyb3dzZXJfa3dhcmdzLAogICAgICAgICAgICAgICAgICBleGVjdXRvcl9jbHMs
IGV4ZWN1dG9yX2t3YXJncywgc3RvcF9mbGFnLCByZXJ1bj0xLCBwYXVzZV9hZnRlcl90ZXN0PUZh
bHNlLAogICAgICAgICAgICAgICAgICBwYXVzZV9vbl91bmV4cGVjdGVkPUZhbHNlLCByZXN0YXJ0
X29uX3VuZXhwZWN0ZWQ9VHJ1ZSwgZGVidWdfaW5mbz1Ob25lLAotICAgICAgICAgICAgICAgICBj
YXB0dXJlX3N0ZGlvPVRydWUpOgorICAgICAgICAgICAgICAgICBjYXB0dXJlX3N0ZGlvPVRydWUs
IHJlY29yZGluZz1Ob25lKToKICAgICAgICAgIiIiVGhyZWFkIHRoYXQgb3ducyBhIHNpbmdsZSBU
ZXN0UnVubmVyIHByb2Nlc3MgYW5kIGFueSBwcm9jZXNzZXMgcmVxdWlyZWQKICAgICAgICAgYnkg
dGhlIFRlc3RSdW5uZXIgKGUuZy4gdGhlIEZpcmVmb3ggYmluYXJ5KS4KIApAQCAtMzE4LDYgKzMx
OCw4IEBAIGNsYXNzIFRlc3RSdW5uZXJNYW5hZ2VyKHRocmVhZGluZy5UaHJlYWQpOgogICAgICAg
ICBzZWxmLmRlYnVnX2luZm8gPSBkZWJ1Z19pbmZvCiAKICAgICAgICAgc2VsZi5tYW5hZ2VyX251
bWJlciA9IG5leHRfbWFuYWdlcl9udW1iZXIoKQorICAgICAgICBhc3NlcnQgcmVjb3JkaW5nIGlz
IG5vdCBOb25lCisgICAgICAgIHNlbGYucmVjb3JkaW5nID0gcmVjb3JkaW5nCiAKICAgICAgICAg
c2VsZi5jb21tYW5kX3F1ZXVlID0gUXVldWUoKQogICAgICAgICBzZWxmLnJlbW90ZV9xdWV1ZSA9
IFF1ZXVlKCkKQEAgLTM1MCw2ICszNTIsNyBAQCBjbGFzcyBUZXN0UnVubmVyTWFuYWdlcih0aHJl
YWRpbmcuVGhyZWFkKToKICAgICAgICAgbWF5IGFsc28gaGF2ZSBhIHN0b3AgZmxhZyBzZXQgYnkg
dGhlIG1haW4gdGhyZWFkIGluZGljYXRpbmcKICAgICAgICAgdGhhdCB0aGUgbWFuYWdlciBzaG91
bGQgc2h1dCBkb3duIHRoZSBuZXh0IHRpbWUgdGhlIGV2ZW50IGxvb3AKICAgICAgICAgc3BpbnMu
IiIiCisgICAgICAgIHNlbGYucmVjb3JkaW5nLnNldChbInRlc3RydW5uZXIiLCAic3RhcnR1cCJd
KQogICAgICAgICBzZWxmLmxvZ2dlciA9IHN0cnVjdHVyZWRsb2cuU3RydWN0dXJlZExvZ2dlcihz
ZWxmLnN1aXRlX25hbWUpCiAgICAgICAgIHdpdGggc2VsZi5icm93c2VyX2NscyhzZWxmLmxvZ2dl
ciwgKipzZWxmLmJyb3dzZXJfa3dhcmdzKSBhcyBicm93c2VyOgogICAgICAgICAgICAgc2VsZi5i
cm93c2VyID0gQnJvd3Nlck1hbmFnZXIoc2VsZi5sb2dnZXIsCkBAIC0zOTAsOCArMzkzLDggQEAg
Y2xhc3MgVGVzdFJ1bm5lck1hbmFnZXIodGhyZWFkaW5nLlRocmVhZCk6CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgICAgICAgICAgICAgIHNlbGYuc3RhdGUgPSBu
ZXdfc3RhdGUKICAgICAgICAgICAgICAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoIm5ldyBzdGF0
ZTogJXMiICUgc2VsZi5zdGF0ZS5fX2NsYXNzX18uX19uYW1lX18pCi0gICAgICAgICAgICBleGNl
cHQgRXhjZXB0aW9uIGFzIGU6Ci0gICAgICAgICAgICAgICAgc2VsZi5sb2dnZXIuZXJyb3IodHJh
Y2ViYWNrLmZvcm1hdF9leGMoZSkpCisgICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uOgorICAg
ICAgICAgICAgICAgIHNlbGYubG9nZ2VyLmVycm9yKHRyYWNlYmFjay5mb3JtYXRfZXhjKCkpCiAg
ICAgICAgICAgICAgICAgcmFpc2UKICAgICAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICAg
ICAgc2VsZi5sb2dnZXIuZGVidWcoIlRlc3RSdW5uZXJNYW5hZ2VyIG1haW4gbG9vcCB0ZXJtaW5h
dGluZywgc3RhcnRpbmcgY2xlYW51cCIpCkBAIC00NjcsNiArNDcwLDcgQEAgY2xhc3MgVGVzdFJ1
bm5lck1hbmFnZXIodGhyZWFkaW5nLlRocmVhZCk6CiAKICAgICBkZWYgc3RhcnRfaW5pdChzZWxm
KToKICAgICAgICAgdGVzdCwgdGVzdF9ncm91cCwgZ3JvdXBfbWV0YWRhdGEgPSBzZWxmLmdldF9u
ZXh0X3Rlc3QoKQorICAgICAgICBzZWxmLnJlY29yZGluZy5zZXQoWyJ0ZXN0cnVubmVyIiwgImlu
aXQiXSkKICAgICAgICAgaWYgdGVzdCBpcyBOb25lOgogICAgICAgICAgICAgcmV0dXJuIFJ1bm5l
ck1hbmFnZXJTdGF0ZS5zdG9wKCkKICAgICAgICAgZWxzZToKQEAgLTU1Niw2ICs1NjAsNyBAQCBj
bGFzcyBUZXN0UnVubmVyTWFuYWdlcih0aHJlYWRpbmcuVGhyZWFkKToKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnN0YXRlLnRlc3RfZ3JvdXAs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5z
dGF0ZS5ncm91cF9tZXRhZGF0YSkKIAorICAgICAgICBzZWxmLnJlY29yZGluZy5zZXQoWyJ0ZXN0
cnVubmVyIiwgInRlc3QiXSArIHNlbGYuc3RhdGUudGVzdC5pZC5zcGxpdCgiLyIpWzE6XSkKICAg
ICAgICAgc2VsZi5sb2dnZXIudGVzdF9zdGFydChzZWxmLnN0YXRlLnRlc3QuaWQpCiAgICAgICAg
IGlmIHNlbGYucmVydW4gPiAxOgogICAgICAgICAgICAgc2VsZi5sb2dnZXIuaW5mbygiUnVuICVk
LyVkIiAlIChzZWxmLnJ1bl9jb3VudCwgc2VsZi5yZXJ1bikpCkBAIC02NzIsNiArNjc3LDcgQEAg
Y2xhc3MgVGVzdFJ1bm5lck1hbmFnZXIodGhyZWFkaW5nLlRocmVhZCk6CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgKChzdWJ0ZXN0X3VuZXhwZWN0ZWQgb3IgaXNfdW5leHBlY3RlZCkg
YW5kCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYucmVzdGFydF9vbl91bmV4
cGVjdGVkKSkKIAorICAgICAgICBzZWxmLnJlY29yZGluZy5zZXQoWyJ0ZXN0cnVubmVyIiwgImFm
dGVyLXRlc3QiXSkKICAgICAgICAgaWYgKG5vdCBmaWxlX3Jlc3VsdC5zdGF0dXMgPT0gIkNSQVNI
IiBhbmQKICAgICAgICAgICAgIHNlbGYucGF1c2VfYWZ0ZXJfdGVzdCBvcgogICAgICAgICAgICAg
KHNlbGYucGF1c2Vfb25fdW5leHBlY3RlZCBhbmQgKHN1YnRlc3RfdW5leHBlY3RlZCBvciBpc191
bmV4cGVjdGVkKSkpOgpAQCAtNzIwLDYgKzcyNiw3IEBAIGNsYXNzIFRlc3RSdW5uZXJNYW5hZ2Vy
KHRocmVhZGluZy5UaHJlYWQpOgogCiAgICAgZGVmIHN0b3BfcnVubmVyKHNlbGYsIGZvcmNlPUZh
bHNlKToKICAgICAgICAgIiIiU3RvcCB0aGUgVGVzdFJ1bm5lciBhbmQgdGhlIGJyb3dzZXIgYmlu
YXJ5LiIiIgorICAgICAgICBzZWxmLnJlY29yZGluZy5zZXQoWyJ0ZXN0cnVubmVyIiwgInN0b3Bf
cnVubmVyIl0pCiAgICAgICAgIGlmIHNlbGYudGVzdF9ydW5uZXJfcHJvYyBpcyBOb25lOgogICAg
ICAgICAgICAgcmV0dXJuCiAKQEAgLTczOCw2ICs3NDUsNyBAQCBjbGFzcyBUZXN0UnVubmVyTWFu
YWdlcih0aHJlYWRpbmcuVGhyZWFkKToKICAgICAgICAgc2VsZi5yZW1vdGVfcXVldWUuY2xvc2Uo
KQogICAgICAgICBzZWxmLmNvbW1hbmRfcXVldWUgPSBOb25lCiAgICAgICAgIHNlbGYucmVtb3Rl
X3F1ZXVlID0gTm9uZQorICAgICAgICBzZWxmLnJlY29yZGluZy5wYXVzZSgpCiAKICAgICBkZWYg
ZW5zdXJlX3J1bm5lcl9zdG9wcGVkKHNlbGYpOgogICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1Zygi
ZW5zdXJlX3J1bm5lcl9zdG9wcGVkIikKQEAgLTgyNSw3ICs4MzMsOCBAQCBjbGFzcyBNYW5hZ2Vy
R3JvdXAob2JqZWN0KToKICAgICAgICAgICAgICAgICAgcGF1c2Vfb25fdW5leHBlY3RlZD1GYWxz
ZSwKICAgICAgICAgICAgICAgICAgcmVzdGFydF9vbl91bmV4cGVjdGVkPVRydWUsCiAgICAgICAg
ICAgICAgICAgIGRlYnVnX2luZm89Tm9uZSwKLSAgICAgICAgICAgICAgICAgY2FwdHVyZV9zdGRp
bz1UcnVlKToKKyAgICAgICAgICAgICAgICAgY2FwdHVyZV9zdGRpbz1UcnVlLAorICAgICAgICAg
ICAgICAgICByZWNvcmRpbmc9Tm9uZSk6CiAgICAgICAgIHNlbGYuc3VpdGVfbmFtZSA9IHN1aXRl
X25hbWUKICAgICAgICAgc2VsZi5zaXplID0gc2l6ZQogICAgICAgICBzZWxmLnRlc3Rfc291cmNl
X2NscyA9IHRlc3Rfc291cmNlX2NscwpAQCAtODQwLDYgKzg0OSw4IEBAIGNsYXNzIE1hbmFnZXJH
cm91cChvYmplY3QpOgogICAgICAgICBzZWxmLmRlYnVnX2luZm8gPSBkZWJ1Z19pbmZvCiAgICAg
ICAgIHNlbGYucmVydW4gPSByZXJ1bgogICAgICAgICBzZWxmLmNhcHR1cmVfc3RkaW8gPSBjYXB0
dXJlX3N0ZGlvCisgICAgICAgIHNlbGYucmVjb3JkaW5nID0gcmVjb3JkaW5nCisgICAgICAgIGFz
c2VydCByZWNvcmRpbmcgaXMgbm90IE5vbmUKIAogICAgICAgICBzZWxmLnBvb2wgPSBzZXQoKQog
ICAgICAgICAjIEV2ZW50IHRoYXQgaXMgcG9sbGVkIGJ5IHRocmVhZHMgc28gdGhhdCB0aGV5IGNh
biBncmFjZWZ1bGx5IGV4aXQgaW4gdGhlIGZhY2UKQEAgLTg3Nyw3ICs4ODgsOCBAQCBjbGFzcyBN
YW5hZ2VyR3JvdXAob2JqZWN0KToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBzZWxmLnBhdXNlX29uX3VuZXhwZWN0ZWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc2VsZi5yZXN0YXJ0X29uX3VuZXhwZWN0ZWQsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5kZWJ1Z19pbmZvLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuY2FwdHVyZV9zdGRpbykKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmNhcHR1cmVfc3RkaW8sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjb3JkaW5nPXNlbGYucmVjb3Jk
aW5nKQogICAgICAgICAgICAgbWFuYWdlci5zdGFydCgpCiAgICAgICAgICAgICBzZWxmLnBvb2wu
YWRkKG1hbmFnZXIpCiAgICAgICAgIHNlbGYud2FpdCgpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5u
ZXIvdGVzdHMvYnJvd3NlcnMvdGVzdF9zYXVjZS5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0cy9icm93
c2Vycy90ZXN0X3NhdWNlLnB5CmluZGV4IDA2YTU2NDFkNTBmYmJhZWQ0ZGU5ZGY1MTFjNTY3NzUz
ZWYxYTMyNmQuLmUxZTE4ZWM1ZTljZDIxZGFhODlmOTE3NjkwYWQxMjg1MmY5YTI4OTcgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0cy9icm93c2Vycy90ZXN0X3NhdWNlLnB5CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3dwdHJ1bm5lci90ZXN0cy9icm93c2Vycy90ZXN0X3NhdWNlLnB5CkBAIC0xLDkgKzEsMTAgQEAK
IGltcG9ydCBzeXMKLWZyb20gb3MucGF0aCBpbXBvcnQgam9pbiwgZGlybmFtZQogCiBpbXBvcnQg
bW9jawogaW1wb3J0IHB5dGVzdAogCitmcm9tIG9zLnBhdGggaW1wb3J0IGpvaW4sIGRpcm5hbWUK
Kwogc3lzLnBhdGguaW5zZXJ0KDAsIGpvaW4oZGlybmFtZShfX2ZpbGVfXyksICIuLiIsICIuLiIs
ICIuLiIpKQogCiBzYXVjZSA9IHB5dGVzdC5pbXBvcnRvcnNraXAoIndwdHJ1bm5lci5icm93c2Vy
cy5zYXVjZSIpCkBAIC05NSw3ICs5Niw2IEBAIGRlZiB0ZXN0X3NhdWNlY29ubmVjdF9jbGVhbnVw
KCk6CiAKICAgICAgICAgc2xlZXAuYXNzZXJ0X2NhbGxlZCgpCiAKLQogZGVmIHRlc3Rfc2F1Y2Vj
b25uZWN0X2ZhaWx1cmVfbmV2ZXJfcmVhZHkoKToKICAgICB3aXRoIG1vY2sucGF0Y2gub2JqZWN0
KHNhdWNlLlNhdWNlQ29ubmVjdCwgInVwbG9hZF9wcmVydW5fZXhlYyIpLFwKICAgICAgICAgICAg
IG1vY2sucGF0Y2gub2JqZWN0KHNhdWNlLnN1YnByb2Nlc3MsICJQb3BlbiIpIGFzIFBvcGVuLFwK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0cy90ZXN0X2V4cGVjdGVkdHJlZS5weSBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3dwdHJ1bm5lci90ZXN0cy90ZXN0X2V4cGVjdGVkdHJlZS5weQppbmRleCAyMzA4YmU5NTkwZTkw
MDRmNDFhNDkyNjgyZDE4N2E3YjRmYzU3MjMxLi5kNzEyMzdhNDJkYWQ1OGM2OWI2ODZlNjA0MGI2
NWY0MDA2NGM5NDM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdGVzdHMvdGVzdF9leHBlY3Rl
ZHRyZWUucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Rlc3RzL3Rlc3RfZXhwZWN0ZWR0cmVlLnB5CkBA
IC0xLDcgKzEsMyBAQAotaW1wb3J0IHN5cwotCi1pbXBvcnQgcHl0ZXN0Ci0KIGZyb20gLi4gaW1w
b3J0IGV4cGVjdGVkdHJlZSwgbWV0YWRhdGEKIGZyb20gY29sbGVjdGlvbnMgaW1wb3J0IGRlZmF1
bHRkaWN0CiAKQEAgLTMyLDggKzI4LDYgQEAgZGVmIHJlc3VsdHNfb2JqZWN0KHJlc3VsdHMpOgog
ICAgIHJldHVybiByZXN1bHRzX29iagogCiAKLUBweXRlc3QubWFyay54ZmFpbChzeXMudmVyc2lv
blswXSA9PSAiMyIsCi0gICAgICAgICAgICAgICAgICAgcmVhc29uPSJtZXRhZGF0YSBkb2Vzbid0
IHN1cHBvcnQgcHkzIikKIGRlZiB0ZXN0X2J1aWxkX3RyZWVfMCgpOgogICAgICMgUGFzcyBpZiBk
ZWJ1ZwogICAgIHJlc3VsdHMgPSBbKHsib3MiOiAibGludXgiLCAidmVyc2lvbiI6ICIxOC4wNCIs
ICJkZWJ1ZyI6IFRydWV9LCAiRkFJTCIpLApAQCAtNTMsOCArNDcsNiBAQCBkZWYgdGVzdF9idWls
ZF90cmVlXzAoKToKICAgICBhc3NlcnQgZHVtcF90cmVlKHRyZWUpID09IGV4cGVjdGVkCiAKIAot
QHB5dGVzdC5tYXJrLnhmYWlsKHN5cy52ZXJzaW9uWzBdID09ICIzIiwKLSAgICAgICAgICAgICAg
ICAgICByZWFzb249Im1ldGFkYXRhIGRvZXNuJ3Qgc3VwcG9ydCBweTMiKQogZGVmIHRlc3RfYnVp
bGRfdHJlZV8xKCk6CiAgICAgIyBQYXNzIGlmIGxpbnV4IG9yIHdpbmRvd3MgMTAKICAgICByZXN1
bHRzID0gWyh7Im9zIjogImxpbnV4IiwgInZlcnNpb24iOiAiMTguMDQiLCAiZGVidWciOiBUcnVl
fSwgIlBBU1MiKSwKQEAgLTc3LDggKzY5LDYgQEAgZGVmIHRlc3RfYnVpbGRfdHJlZV8xKCk6CiAg
ICAgYXNzZXJ0IGR1bXBfdHJlZSh0cmVlKSA9PSBleHBlY3RlZAogCiAKLUBweXRlc3QubWFyay54
ZmFpbChzeXMudmVyc2lvblswXSA9PSAiMyIsCi0gICAgICAgICAgICAgICAgICAgcmVhc29uPSJt
ZXRhZGF0YSBkb2Vzbid0IHN1cHBvcnQgcHkzIikKIGRlZiB0ZXN0X2J1aWxkX3RyZWVfMigpOgog
ICAgICMgRmFpbHMgaW4gYSBzcGVjaWZpYyBjb25maWd1cmF0aW9uCiAgICAgcmVzdWx0cyA9IFso
eyJvcyI6ICJsaW51eCIsICJ2ZXJzaW9uIjogIjE4LjA0IiwgImRlYnVnIjogVHJ1ZX0sICJQQVNT
IiksCkBAIC0xMDQsOCArOTQsNiBAQCBkZWYgdGVzdF9idWlsZF90cmVlXzIoKToKICAgICBhc3Nl
cnQgZHVtcF90cmVlKHRyZWUpID09IGV4cGVjdGVkCiAKIAotQHB5dGVzdC5tYXJrLnhmYWlsKHN5
cy52ZXJzaW9uWzBdID09ICIzIiwKLSAgICAgICAgICAgICAgICAgICByZWFzb249Im1ldGFkYXRh
IGRvZXNuJ3Qgc3VwcG9ydCBweTMiKQogZGVmIHRlc3RfYnVpbGRfdHJlZV8zKCk6CiAKICAgICBy
ZXN1bHRzID0gWyh7Im9zIjogImxpbnV4IiwgInZlcnNpb24iOiAiMTguMDQiLCAiZGVidWciOiBU
cnVlLCAidW51c2VkIjogRmFsc2V9LCAiUEFTUyIpLApAQCAtMTE4LDggKzEwNiw2IEBAIGRlZiB0
ZXN0X2J1aWxkX3RyZWVfMygpOgogICAgIGFzc2VydCBkdW1wX3RyZWUodHJlZSkgPT0gZXhwZWN0
ZWQKIAogCi1AcHl0ZXN0Lm1hcmsueGZhaWwoc3lzLnZlcnNpb25bMF0gPT0gIjMiLAotICAgICAg
ICAgICAgICAgICAgIHJlYXNvbj0ibWV0YWRhdGEgZG9lc24ndCBzdXBwb3J0IHB5MyIpCiBkZWYg
dGVzdF9idWlsZF90cmVlXzQoKToKICAgICAjIENoZWNrIGNvdW50cyBmb3IgbXVsdGlwbGUgc3Rh
dHVzZXMKICAgICByZXN1bHRzID0gWyh7Im9zIjogImxpbnV4IiwgInZlcnNpb24iOiAiMTguMDQi
LCAiZGVidWciOiBGYWxzZX0sICJGQUlMIiksCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdGVz
dHMvdGVzdF9mb3JtYXR0ZXJzLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Rlc3RzL3Rlc3RfZm9ybWF0dGVy
cy5weQppbmRleCA3MmYzYTU5MWFkN2Y5MDUzMjY3MWNjYjg5N2RmY2IxNjFiYzhmNDVkLi42MGIx
YjBhNWE4NzhjZGE5YzUwMGVhYWUyNWYzZmU4OWVhZGY4MTljIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRy
dW5uZXIvdGVzdHMvdGVzdF9mb3JtYXR0ZXJzLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0cy90
ZXN0X2Zvcm1hdHRlcnMucHkKQEAgLTcsNiArNyw3IEBAIGltcG9ydCBtb2NrCiBmcm9tIG1vemxv
ZyBpbXBvcnQgaGFuZGxlcnMsIHN0cnVjdHVyZWRsb2cKIAogZnJvbSAuLmZvcm1hdHRlcnMgaW1w
b3J0IHdwdHJlcG9ydAorZnJvbSAuLmZvcm1hdHRlcnMud3B0c2NyZWVuc2hvdCBpbXBvcnQgV3B0
c2NyZWVuc2hvdEZvcm1hdHRlcgogZnJvbSAuLmZvcm1hdHRlcnMud3B0cmVwb3J0IGltcG9ydCBX
cHRyZXBvcnRGb3JtYXR0ZXIKIAogCkBAIC0xNjYsMyArMTY3LDI2IEBAIGRlZiB0ZXN0X3dwdHJl
cG9ydF9rbm93bl9pbnRlcm1pdHRlbnQoY2FwZmQpOgogICAgIHN1YnRlc3QgPSB0ZXN0WyJzdWJ0
ZXN0cyJdWzBdCiAgICAgYXNzZXJ0IHN1YnRlc3RbImV4cGVjdGVkIl0gPT0gdSJQQVNTIgogICAg
IGFzc2VydCBzdWJ0ZXN0WyJrbm93bl9pbnRlcm1pdHRlbnQiXSA9PSBbdSdGQUlMJ10KKworCitk
ZWYgdGVzdF93cHRzY3JlZW5zaG90X3Rlc3RfZW5kKGNhcGZkKToKKyAgICBmb3JtYXR0ZXIgPSBX
cHRzY3JlZW5zaG90Rm9ybWF0dGVyKCkKKworICAgICMgRW1wdHkKKyAgICBkYXRhID0ge30KKyAg
ICBhc3NlcnQgZm9ybWF0dGVyLnRlc3RfZW5kKGRhdGEpIGlzIE5vbmUKKworICAgICMgTm8gaXRl
bXMKKyAgICBkYXRhWydleHRyYSddID0geyJyZWZ0ZXN0X3NjcmVlbnNob3RzIjogW119CisgICAg
YXNzZXJ0IGZvcm1hdHRlci50ZXN0X2VuZChkYXRhKSBpcyBOb25lCisKKyAgICAjIEludmFsaWQg
aXRlbQorICAgIGRhdGFbJ2V4dHJhJ11bJ3JlZnRlc3Rfc2NyZWVuc2hvdHMnXSA9IFsibm8gZGlj
dCBpdGVtIl0KKyAgICBhc3NlcnQgZm9ybWF0dGVyLnRlc3RfZW5kKGRhdGEpIGlzIE5vbmUKKwor
ICAgICMgUmFuZG9tIGhhc2gKKyAgICBkYXRhWydleHRyYSddWydyZWZ0ZXN0X3NjcmVlbnNob3Rz
J10gPSBbeyJoYXNoIjogIkhBU0giLCAic2NyZWVuc2hvdCI6ICJEQVRBIn1dCisgICAgYXNzZXJ0
ICdkYXRhOmltYWdlL3BuZztiYXNlNjQsREFUQVxuJyA9PSBmb3JtYXR0ZXIudGVzdF9lbmQoZGF0
YSkKKworICAgICMgQWxyZWFkeSBjYWNoZWQgaGFzaAorICAgIGFzc2VydCBmb3JtYXR0ZXIudGVz
dF9lbmQoZGF0YSkgaXMgTm9uZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Rlc3RzL3Rlc3Rf
bWFuaWZlc3RleHBlY3RlZC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0cy90ZXN0X21hbmlmZXN0ZXhw
ZWN0ZWQucHkKaW5kZXggNTI1OTE1ZDE4MzJhYzhhZjE5NTdhNzk5NjE1OTY5ZTA1OGVlZmNhNS4u
ZjNlNGNlNzk2YTQ1YzQ3MmE4OGZlMDIyMjc3ZTAzNDdiNGU5ODk0OCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
d3B0cnVubmVyL3Rlc3RzL3Rlc3RfbWFuaWZlc3RleHBlY3RlZC5weQorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5u
ZXIvdGVzdHMvdGVzdF9tYW5pZmVzdGV4cGVjdGVkLnB5CkBAIC0xLDQgKzEsMyBAQAotaW1wb3J0
IHN5cwogZnJvbSBpbyBpbXBvcnQgQnl0ZXNJTwogCiBpbXBvcnQgcHl0ZXN0CkBAIC02LDggKzUs
NiBAQCBpbXBvcnQgcHl0ZXN0CiBmcm9tIC4uIGltcG9ydCBtYW5pZmVzdGV4cGVjdGVkCiAKIAot
QHB5dGVzdC5tYXJrLnhmYWlsKHN5cy52ZXJzaW9uWzBdID09ICIzIiwKLSAgICAgICAgICAgICAg
ICAgICByZWFzb249ImJ5dGVzL3RleHQgY29uZnVzaW9uIGluIHB5MyIpCiBAcHl0ZXN0Lm1hcmsu
cGFyYW1ldHJpemUoImZ1enp5LCBleHBlY3RlZCIsIFsKICAgICAoYiJyZWYuaHRtbDoxOzIwMCIs
IFsoInJlZi5odG1sIiwgKCgxLCAxKSwgKDIwMCwgMjAwKSkpXSksCiAgICAgKGIicmVmLmh0bWw6
MC0xOzEwMC0yMDAiLCBbKCJyZWYuaHRtbCIsICgoMCwgMSksICgxMDAsIDIwMCkpKV0pLApAQCAt
MjUsNyArMjIsNyBAQCBmcm9tIC4uIGltcG9ydCBtYW5pZmVzdGV4cGVjdGVkCiAgICAgICAoKHUi
dGVzdC5odG1sIiwgdSJyZWYxLmh0bWwiLCAiPT0iKSwgKCg1LDEwKSwgKDEwMCwgMTAwKSkpXSks
CiBdKQogZGVmIHRlc3RfZnV6enkoZnV6enksIGV4cGVjdGVkKToKLSAgICBkYXRhID0gIiIiCisg
ICAgZGF0YSA9IGIiIiIKIFt0ZXN0Lmh0bWxdCiAgIGZ1enp5OiAlcyIiIiAlIGZ1enp5CiAgICAg
ZiA9IEJ5dGVzSU8oZGF0YSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0cy90ZXN0X3N0
YWJpbGl0eS5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0cy90ZXN0X3N0YWJpbGl0eS5weQppbmRleCA0
NzQwNTZkZGU2YzY3YmIwYWFkMjEwMDYxM2U2Y2EzMzE5NjIzOTYyLi45YThmY2NmOTM1YTEzNmM2
MDUwZTg1MmY5YTU3MDQxMzhiMGQzZjQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdGVzdHMv
dGVzdF9zdGFiaWxpdHkucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Rlc3RzL3Rlc3Rfc3RhYmlsaXR5
LnB5CkBAIC0xLDUgKzEsNSBAQAogZnJvbSAuLiBpbXBvcnQgc3RhYmlsaXR5Ci0KK2Zyb20gY29s
bGVjdGlvbnMgaW1wb3J0IE9yZGVyZWREaWN0LCBkZWZhdWx0ZGljdAogCiBkZWYgdGVzdF9pc19p
bmNvbnNpc3RlbnQoKToKICAgICBhc3NlcnQgc3RhYmlsaXR5LmlzX2luY29uc2lzdGVudCh7IlBB
U1MiOiAxMH0sIDEwKSBpcyBGYWxzZQpAQCAtMjksMyArMjksMTE0IEBAIGRlZiB0ZXN0X2ZpbmRf
c2xvd19zdGF0dXMoKToKICAgICAgICAgInRpbWVvdXQiOiAxMDB9KSA9PSAiRkFJTCIKICAgICBh
c3NlcnQgc3RhYmlsaXR5LmZpbmRfc2xvd19zdGF0dXMoewogICAgICAgICAibG9uZ2VzdF9kdXJh
dGlvbiI6IHsiU0tJUCI6IDB9fSkgaXMgTm9uZQorCisKK2RlZiB0ZXN0X2dldF9zdGVwcygpOgor
ICAgIGxvZ2dlciA9IE5vbmUKKworICAgIHN0ZXBzID0gc3RhYmlsaXR5LmdldF9zdGVwcyhsb2dn
ZXIsIDAsIDAsIFtdKQorICAgIGFzc2VydCBsZW4oc3RlcHMpID09IDAKKworICAgIHN0ZXBzID0g
c3RhYmlsaXR5LmdldF9zdGVwcyhsb2dnZXIsIDAsIDAsIFt7fV0pCisgICAgYXNzZXJ0IGxlbihz
dGVwcykgPT0gMAorCisgICAgcmVwZWF0X2xvb3AgPSAxCisgICAgZmxhZ19uYW1lID0gJ2ZsYWcn
CisgICAgZmxhZ192YWx1ZSA9ICd5JworICAgIHN0ZXBzID0gc3RhYmlsaXR5LmdldF9zdGVwcyhs
b2dnZXIsIHJlcGVhdF9sb29wLCAwLCBbCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHtmbGFnX25hbWU6IGZsYWdfdmFsdWV9XSkKKyAgICBhc3NlcnQgbGVuKHN0ZXBzKSA9PSAxCisg
ICAgYXNzZXJ0IHN0ZXBzWzBdWzBdID09ICJSdW5uaW5nIHRlc3RzIGluIGEgbG9vcCAlZCB0aW1l
cyB3aXRoIGZsYWdzICVzPSVzIiAlICgKKyAgICAgICAgcmVwZWF0X2xvb3AsIGZsYWdfbmFtZSwg
ZmxhZ192YWx1ZSkKKworICAgIHJlcGVhdF9sb29wID0gMAorICAgIHJlcGVhdF9yZXN0YXJ0ID0g
MQorICAgIGZsYWdfbmFtZSA9ICdmbGFnJworICAgIGZsYWdfdmFsdWUgPSAnbicKKyAgICBzdGVw
cyA9IHN0YWJpbGl0eS5nZXRfc3RlcHMobG9nZ2VyLCByZXBlYXRfbG9vcCwgcmVwZWF0X3Jlc3Rh
cnQsIFsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2ZsYWdfbmFtZTogZmxhZ192
YWx1ZX1dKQorICAgIGFzc2VydCBsZW4oc3RlcHMpID09IDEKKyAgICBhc3NlcnQgc3RlcHNbMF1b
MF0gPT0gIlJ1bm5pbmcgdGVzdHMgaW4gYSBsb29wIHdpdGggcmVzdGFydHMgJWQgdGltZXMgd2l0
aCBmbGFncyAlcz0lcyIgJSAoCisgICAgICAgIHJlcGVhdF9yZXN0YXJ0LCBmbGFnX25hbWUsIGZs
YWdfdmFsdWUpCisKKyAgICByZXBlYXRfbG9vcCA9IDEwCisgICAgcmVwZWF0X3Jlc3RhcnQgPSA1
CisgICAgc3RlcHMgPSBzdGFiaWxpdHkuZ2V0X3N0ZXBzKGxvZ2dlciwgcmVwZWF0X2xvb3AsIHJl
cGVhdF9yZXN0YXJ0LCBbe31dKQorICAgIGFzc2VydCBsZW4oc3RlcHMpID09IDIKKyAgICBhc3Nl
cnQgc3RlcHNbMF1bMF0gPT0gIlJ1bm5pbmcgdGVzdHMgaW4gYSBsb29wICVkIHRpbWVzIiAlIHJl
cGVhdF9sb29wCisgICAgYXNzZXJ0IHN0ZXBzWzFdWzBdID09ICgKKyAgICAgICAgIlJ1bm5pbmcg
dGVzdHMgaW4gYSBsb29wIHdpdGggcmVzdGFydHMgJWQgdGltZXMiICUgcmVwZWF0X3Jlc3RhcnQp
CisKKworZGVmIHRlc3RfbG9nX2hhbmRsZXIoKToKKyAgICBoYW5kbGVyID0gc3RhYmlsaXR5Lkxv
Z0hhbmRsZXIoKQorICAgIGRhdGEgPSBPcmRlcmVkRGljdCgpCisgICAgZGF0YVsidGVzdCJdID0g
InRlc3RfbmFtZSIKKyAgICB0ZXN0ID0gaGFuZGxlci5maW5kX29yX2NyZWF0ZV90ZXN0KGRhdGEp
CisgICAgYXNzZXJ0IHRlc3RbInN1YnRlc3RzIl0gPT0gT3JkZXJlZERpY3QoKQorICAgIGFzc2Vy
dCB0ZXN0WyJzdGF0dXMiXSA9PSBkZWZhdWx0ZGljdChpbnQpCisgICAgYXNzZXJ0IHRlc3RbImxv
bmdlc3RfZHVyYXRpb24iXSA9PSBkZWZhdWx0ZGljdChmbG9hdCkKKyAgICBhc3NlcnQgdGVzdCA9
PSBoYW5kbGVyLmZpbmRfb3JfY3JlYXRlX3Rlc3QoZGF0YSkKKworICAgIHN0YXJ0X3RpbWUgPSAx
MDAKKyAgICBkYXRhWyJ0aW1lIl0gPSBzdGFydF90aW1lCisgICAgaGFuZGxlci50ZXN0X3N0YXJ0
KGRhdGEpCisgICAgYXNzZXJ0IHRlc3RbInN0YXJ0X3RpbWUiXSA9PSBzdGFydF90aW1lCisKKyAg
ICBkYXRhWyJzdWJ0ZXN0Il0gPSAic3VidGVzdF9uYW1lIgorICAgIHN1YnRlc3QgPSBoYW5kbGVy
LmZpbmRfb3JfY3JlYXRlX3N1YnRlc3QoZGF0YSkKKyAgICBhc3NlcnQgc3VidGVzdFsic3RhdHVz
Il0gPT0gZGVmYXVsdGRpY3QoaW50KQorICAgIGFzc2VydCBzdWJ0ZXN0WyJtZXNzYWdlcyJdID09
IHNldCgpCisgICAgYXNzZXJ0IHN1YnRlc3QgPT0gaGFuZGxlci5maW5kX29yX2NyZWF0ZV9zdWJ0
ZXN0KGRhdGEpCisKKyAgICBkYXRhWyJzdGF0dXMiXSA9IDAKKyAgICBhc3NlcnQgc3VidGVzdFsi
c3RhdHVzIl1bZGF0YVsic3RhdHVzIl1dID09IDAKKyAgICBoYW5kbGVyLnRlc3Rfc3RhdHVzKGRh
dGEpCisgICAgYXNzZXJ0IHN1YnRlc3RbInN0YXR1cyJdW2RhdGFbInN0YXR1cyJdXSA9PSAxCisg
ICAgaGFuZGxlci50ZXN0X3N0YXR1cyhkYXRhKQorICAgIGFzc2VydCBzdWJ0ZXN0WyJzdGF0dXMi
XVtkYXRhWyJzdGF0dXMiXV0gPT0gMgorICAgIGRhdGFbInN0YXR1cyJdID0gMQorICAgIGFzc2Vy
dCBzdWJ0ZXN0WyJzdGF0dXMiXVtkYXRhWyJzdGF0dXMiXV0gPT0gMAorICAgIG1lc3NhZ2UgPSAi
dGVzdCBtZXNzYWdlIgorICAgIGRhdGFbIm1lc3NhZ2UiXSA9IG1lc3NhZ2UKKyAgICBoYW5kbGVy
LnRlc3Rfc3RhdHVzKGRhdGEpCisgICAgYXNzZXJ0IHN1YnRlc3RbInN0YXR1cyJdW2RhdGFbInN0
YXR1cyJdXSA9PSAxCisgICAgYXNzZXJ0IGxlbihzdWJ0ZXN0WyJtZXNzYWdlcyJdKSA9PSAxCisg
ICAgYXNzZXJ0IG1lc3NhZ2UgaW4gc3VidGVzdFsibWVzc2FnZXMiXQorCisgICAgdGVzdF9kdXJh
dGlvbiA9IDEwCisgICAgZGF0YVsidGltZSJdID0gZGF0YVsidGltZSJdICsgdGVzdF9kdXJhdGlv
bgorICAgIGhhbmRsZXIudGVzdF9lbmQoZGF0YSkKKyAgICBhc3NlcnQgdGVzdFsibG9uZ2VzdF9k
dXJhdGlvbiJdW2RhdGFbInN0YXR1cyJdXSA9PSB0ZXN0X2R1cmF0aW9uCisgICAgYXNzZXJ0ICJ0
aW1lb3V0IiBub3QgaW4gdGVzdAorCisgICAgZGF0YVsidGVzdDIiXSA9ICJ0ZXN0X25hbWVfMiIK
KyAgICB0aW1lb3V0ID0gNQorICAgIGRhdGFbImV4dHJhIl0gPSB7fQorICAgIGRhdGFbImV4dHJh
Il1bInRlc3RfdGltZW91dCJdID0gdGltZW91dAorICAgIGhhbmRsZXIudGVzdF9zdGFydChkYXRh
KQorICAgIGhhbmRsZXIudGVzdF9lbmQoZGF0YSkKKyAgICBhc3NlcnQgdGVzdFsidGltZW91dCJd
ID09IHRpbWVvdXQgKiAxMDAwCisKKworZGVmIHRlc3RfZXJyX3N0cmluZygpOgorICAgIGFzc2Vy
dCBzdGFiaWxpdHkuZXJyX3N0cmluZygKKyAgICAgICAge3UnT0snOiAxLCB1J0ZBSUwnOiAxfSwg
MSkgPT0gdSIqKkR1cGxpY2F0ZSBzdWJ0ZXN0IG5hbWUqKiIKKyAgICBhc3NlcnQgc3RhYmlsaXR5
LmVycl9zdHJpbmcoCisgICAgICAgIHt1J09LJzogMiwgdSdGQUlMJzogMX0sIDIpID09IHUiKipE
dXBsaWNhdGUgc3VidGVzdCBuYW1lKioiCisgICAgYXNzZXJ0IHN0YWJpbGl0eS5lcnJfc3RyaW5n
KHt1J1NLSVAnOiAxfSwgMCkgPT0gdSJEdXBsaWNhdGUgc3VidGVzdCBuYW1lIgorICAgIGFzc2Vy
dCBzdGFiaWxpdHkuZXJyX3N0cmluZygKKyAgICAgICAge3UnU0tJUCc6IDEsIHUnT0snOiAxfSwg
MSkgPT0gdSJEdXBsaWNhdGUgc3VidGVzdCBuYW1lIgorCisgICAgYXNzZXJ0IHN0YWJpbGl0eS5l
cnJfc3RyaW5nKAorICAgICAgICB7dSdGQUlMJzogMX0sIDIpID09IHUiKipGQUlMOiAxLzIsIE1J
U1NJTkc6IDEvMioqIgorICAgIGFzc2VydCBzdGFiaWxpdHkuZXJyX3N0cmluZygKKyAgICAgICAg
e3UnRkFJTCc6IDEsIHUnT0snOiAxfSwgMykgPT0gdSIqKkZBSUw6IDEvMywgT0s6IDEvMywgTUlT
U0lORzogMS8zKioiCisKKyAgICBhc3NlcnQgc3RhYmlsaXR5LmVycl9zdHJpbmcoCisgICAgICAg
IHt1J09LJzogMSwgdSdGQUlMJzogMX0sIDIpID09IHUiKipGQUlMOiAxLzIsIE9LOiAxLzIqKiIK
KworICAgIGFzc2VydCBzdGFiaWxpdHkuZXJyX3N0cmluZygKKyAgICAgICAge3UnT0snOiAyLCB1
J0ZBSUwnOiAxLCB1J1NLSVAnOiAxfSwgNCkgPT0gdSJGQUlMOiAxLzQsIE9LOiAyLzQsIFNLSVA6
IDEvNCIKKyAgICBhc3NlcnQgc3RhYmlsaXR5LmVycl9zdHJpbmcoCisgICAgICAgIHt1J0ZBSUwn
OiAxLCB1J1NLSVAnOiAxLCB1J09LJzogMn0sIDQpID09IHUiRkFJTDogMS80LCBPSzogMi80LCBT
S0lQOiAxLzQiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdGVzdHMvdGVzdF90ZXN0bG9hZGVy
LnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvd3B0cnVubmVyL3Rlc3RzL3Rlc3RfdGVzdGxvYWRlci5weQppbmRleCBlODU3Y2Q0
M2RiNmQyODFmOTU0MTQyMzBmNTJjOTg0YWFkOTE1MTE4Li44MzYwMDNkMTA2MDM4YWI0MzAzMDM1
ZWVjY2EzMTc3NGM5YTI2Y2UxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdGVzdHMvdGVzdF90
ZXN0bG9hZGVyLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0cy90ZXN0X3Rlc3Rsb2FkZXIucHkK
QEAgLTIwLDggKzIwLDYgQEAgc2tpcDogdHJ1ZQogCiBAcHl0ZXN0Lm1hcmsueGZhaWwoc3lzLnBs
YXRmb3JtID09ICJ3aW4zMiIsCiAgICAgICAgICAgICAgICAgICAgcmVhc29uPSJOYW1lZFRlbXBv
cmFyeUZpbGUgY2Fubm90IGJlIHJlb3BlbmVkIG9uIFdpbjMyIikKLUBweXRlc3QubWFyay54ZmFp
bChzeXMudmVyc2lvblswXSA9PSAiMyIsCi0gICAgICAgICAgICAgICAgICAgcmVhc29uPSJ3cHRt
YW5pZmVzdC5wYXJzZXIgZG9lc24ndCBzdXBwb3J0IHB5MyIpCiBkZWYgdGVzdF9maWx0ZXJfdW5p
Y29kZSgpOgogICAgIHRlc3RzID0gbWFrZV9tb2NrX21hbmlmZXN0KCgidGVzdCIsICJhIiwgMTAp
LCAoInRlc3QiLCAiYS9iIiwgMTApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgi
dGVzdCIsICJjIiwgMTApKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Rlc3RzL3Rlc3RfdXBk
YXRlLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvd3B0cnVubmVyL3Rlc3RzL3Rlc3RfdXBkYXRlLnB5CmluZGV4IDVkOTAwYTNk
NmM5Y2QyMzY5NmZlMGQyYjdjMjBkOGZmNTE0MmI5ZTUuLjZkYzA0Y2VkZjM0YzdhOGZiNjY3M2Yx
YzVmNDc3ZDA1NjFlYjFmZmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci90ZXN0cy90ZXN0X3Vw
ZGF0ZS5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdGVzdHMvdGVzdF91cGRhdGUucHkKQEAgLTEyLDcg
KzEyLDcgQEAgZnJvbSBtb3psb2cgaW1wb3J0IHN0cnVjdHVyZWRsb2csIGhhbmRsZXJzLCBmb3Jt
YXR0ZXJzCiAKIGhlcmUgPSBvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pCiBzeXMucGF0aC5pbnNl
cnQoMCwgb3MucGF0aC5qb2luKGhlcmUsIG9zLnBhcmRpciwgb3MucGFyZGlyLCBvcy5wYXJkaXIp
KQotZnJvbSBtYW5pZmVzdCBpbXBvcnQgbWFuaWZlc3QsIGl0ZW0gYXMgbWFuaWZlc3RfaXRlbQor
ZnJvbSBtYW5pZmVzdCBpbXBvcnQgbWFuaWZlc3QsIGl0ZW0gYXMgbWFuaWZlc3RfaXRlbSwgdXRp
bHMKIAogCiBkZWYgcmVsX3BhdGhfdG9fdGVzdF91cmwocmVsX3BhdGgpOgpAQCAtMjEsNyArMjEs
OSBAQCBkZWYgcmVsX3BhdGhfdG9fdGVzdF91cmwocmVsX3BhdGgpOgogCiAKIGRlZiBTb3VyY2VG
aWxlV2l0aFRlc3QocGF0aCwgaGFzaCwgY2xzLCAqYXJncyk6Ci0gICAgcyA9IG1vY2suTW9jayhy
ZWxfcGF0aD1wYXRoLCBoYXNoPWhhc2gpCisgICAgcGF0aF9wYXJ0cyA9IHR1cGxlKHBhdGguc3Bs
aXQoIi8iKSkKKyAgICBwYXRoID0gdXRpbHMudG9fb3NfcGF0aChwYXRoKQorICAgIHMgPSBtb2Nr
Lk1vY2socmVsX3BhdGg9cGF0aCwgcmVsX3BhdGhfcGFydHM9cGF0aF9wYXJ0cywgaGFzaD1oYXNo
KQogICAgIHRlc3QgPSBjbHMoIi9mb29iYXIiLCBwYXRoLCAiLyIsIHJlbF9wYXRoX3RvX3Rlc3Rf
dXJsKHBhdGgpLCAqYXJncykKICAgICBzLm1hbmlmZXN0X2l0ZW1zID0gbW9jay5Nb2NrKHJldHVy
bl92YWx1ZT0oY2xzLml0ZW1fdHlwZSwgW3Rlc3RdKSkKICAgICByZXR1cm4gcwpAQCAtMjksNyAr
MzEsNiBAQCBkZWYgU291cmNlRmlsZVdpdGhUZXN0KHBhdGgsIGhhc2gsIGNscywgKmFyZ3MpOgog
CiBpdGVtX2NsYXNzZXMgPSB7InRlc3RoYXJuZXNzIjogbWFuaWZlc3RfaXRlbS5UZXN0aGFybmVz
c1Rlc3QsCiAgICAgICAgICAgICAgICAgInJlZnRlc3QiOiBtYW5pZmVzdF9pdGVtLlJlZlRlc3Qs
Ci0gICAgICAgICAgICAgICAgInJlZnRlc3Rfbm9kZSI6IG1hbmlmZXN0X2l0ZW0uUmVmVGVzdE5v
ZGUsCiAgICAgICAgICAgICAgICAgIm1hbnVhbCI6IG1hbmlmZXN0X2l0ZW0uTWFudWFsVGVzdCwK
ICAgICAgICAgICAgICAgICAid2RzcGVjIjogbWFuaWZlc3RfaXRlbS5XZWJEcml2ZXJTcGVjVGVz
dCwKICAgICAgICAgICAgICAgICAiY29uZm9ybWFuY2VjaGVja2VyIjogbWFuaWZlc3RfaXRlbS5D
b25mb3JtYW5jZUNoZWNrZXJUZXN0LApAQCAtNjcsMTEgKzY4LDEyIEBAIGRlZiB1cGRhdGUodGVz
dHMsICpsb2dzLCAqKmt3YXJncyk6CiAgICAgICAgIHVwZGF0ZXIudXBkYXRlX2Zyb21fbG9nKGxv
ZykKIAogICAgIHVwZGF0ZV9wcm9wZXJ0aWVzID0gKFsiZGVidWciLCAib3MiLCAidmVyc2lvbiIs
ICJwcm9jZXNzb3IiXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICB7Im9zIjogWyJ2ZXJzaW9u
Il0sICJwcm9jZXNzb3IiOiAiYml0cyJ9KQorICAgICAgICAgICAgICAgICAgICAgICAgIHsib3Mi
OiBbInZlcnNpb24iXSwgInByb2Nlc3NvciI6IFsiYml0cyJdfSkKIAogICAgIGV4cGVjdGVkX2Rh
dGEgPSB7fQogICAgIG1ldGFkYXRhLmxvYWRfZXhwZWN0ZWQgPSBsYW1iZGEgXywgX18sIHRlc3Rf
cGF0aCwgKmFyZ3M6IGV4cGVjdGVkX2RhdGEuZ2V0KHRlc3RfcGF0aCkKICAgICBmb3IgdGVzdF9w
YXRoLCB0ZXN0X2lkcywgdGVzdF90eXBlLCBtYW5pZmVzdF9zdHIgaW4gdGVzdHM6CisgICAgICAg
IHRlc3RfcGF0aCA9IHV0aWxzLnRvX29zX3BhdGgodGVzdF9wYXRoKQogICAgICAgICBleHBlY3Rl
ZF9kYXRhW3Rlc3RfcGF0aF0gPSBtYW5pZmVzdHVwZGF0ZS5jb21waWxlKEJ5dGVzSU8obWFuaWZl
c3Rfc3RyKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB0ZXN0X3BhdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIi8iLApAQCAtMTA5LDcgKzExMSw3IEBAIGRlZiBjcmVh
dGVfbG9nKGVudHJpZXMpOgogICAgICAgICAgICAgZ2V0YXR0cihsb2dnZXIsIGFjdGlvbikoKipr
d2FyZ3MpCiAgICAgICAgIGxvZ2dlci5yZW1vdmVfaGFuZGxlcihoYW5kbGVyKQogICAgIGVsc2U6
Ci0gICAgICAgIGpzb24uZHVtcChlbnRyaWVzLCBkYXRhKQorICAgICAgICBkYXRhLndyaXRlKGpz
b24uZHVtcHMoZW50cmllcykuZW5jb2RlKCkpCiAgICAgZGF0YS5zZWVrKDApCiAgICAgcmV0dXJu
IGRhdGEKIApAQCAtMTMzLDExICsxMzUsOSBAQCBkZWYgY3JlYXRlX3Rlc3RfbWFuaWZlc3QodGVz
dHMsIHVybF9iYXNlPSIvIik6CiAgICAgcmV0dXJuIG0KIAogCi1AcHl0ZXN0Lm1hcmsueGZhaWwo
c3lzLnZlcnNpb25bMF0gPT0gIjMiLAotICAgICAgICAgICAgICAgICAgIHJlYXNvbj0ibWV0YWRh
dGEgZG9lc24ndCBzdXBwb3J0IHB5MyIpCiBkZWYgdGVzdF91cGRhdGVfMCgpOgogICAgIHRlc3Rz
ID0gWygicGF0aC90by90ZXN0Lmh0bSIsIFt0ZXN0X2lkXSwgInRlc3RoYXJuZXNzIiwKLSAgICAg
ICAgICAgICAgIiIiW3Rlc3QuaHRtXQorICAgICAgICAgICAgICBiIiIiW3Rlc3QuaHRtXQogICBb
dGVzdDFdCiAgICAgZXhwZWN0ZWQ6IEZBSUwiIiIpXQogCkBAIC0xNTUsMTEgKzE1NSw5IEBAIGRl
ZiB0ZXN0X3VwZGF0ZV8wKCk6CiAgICAgYXNzZXJ0IHVwZGF0ZWRbMF1bMV0uaXNfZW1wdHkKIAog
Ci1AcHl0ZXN0Lm1hcmsueGZhaWwoc3lzLnZlcnNpb25bMF0gPT0gIjMiLAotICAgICAgICAgICAg
ICAgICAgIHJlYXNvbj0ibWV0YWRhdGEgZG9lc24ndCBzdXBwb3J0IHB5MyIpCiBkZWYgdGVzdF91
cGRhdGVfMSgpOgogICAgIHRlc3RzID0gWygicGF0aC90by90ZXN0Lmh0bSIsIFt0ZXN0X2lkXSwg
InRlc3RoYXJuZXNzIiwKLSAgICAgICAgICAgICAgIiIiW3Rlc3QuaHRtXQorICAgICAgICAgICAg
ICBiIiIiW3Rlc3QuaHRtXQogICBbdGVzdDFdCiAgICAgZXhwZWN0ZWQ6IEVSUk9SIiIiKV0KIApA
QCAtMTc4LDExICsxNzYsOSBAQCBkZWYgdGVzdF91cGRhdGVfMSgpOgogICAgIGFzc2VydCBuZXdf
bWFuaWZlc3QuZ2V0X3Rlc3QodGVzdF9pZCkuY2hpbGRyZW5bMF0uZ2V0KCJleHBlY3RlZCIsIGRl
ZmF1bHRfcnVuX2luZm8pID09ICJGQUlMIgogCiAKLUBweXRlc3QubWFyay54ZmFpbChzeXMudmVy
c2lvblswXSA9PSAiMyIsCi0gICAgICAgICAgICAgICAgICAgcmVhc29uPSJtZXRhZGF0YSBkb2Vz
bid0IHN1cHBvcnQgcHkzIikKIGRlZiB0ZXN0X3VwZGF0ZV9rbm93bl9pbnRlcm1pdHRlbnRfMSgp
OgogICAgIHRlc3RzID0gWygicGF0aC90by90ZXN0Lmh0bSIsIFt0ZXN0X2lkXSwgInRlc3RoYXJu
ZXNzIiwKLSAgICAgICAgICAgICAgIiIiW3Rlc3QuaHRtXQorICAgICAgICAgICAgICBiIiIiW3Rl
c3QuaHRtXQogICBbdGVzdDFdCiAgICAgZXhwZWN0ZWQ6IFBBU1MiIiIpXQogCkBAIC0yMTksMTEg
KzIxNSw5IEBAIGRlZiB0ZXN0X3VwZGF0ZV9rbm93bl9pbnRlcm1pdHRlbnRfMSgpOgogICAgICAg
ICAiZXhwZWN0ZWQiLCBkZWZhdWx0X3J1bl9pbmZvKSA9PSBbIlBBU1MiLCAiRkFJTCJdCiAKIAot
QHB5dGVzdC5tYXJrLnhmYWlsKHN5cy52ZXJzaW9uWzBdID09ICIzIiwKLSAgICAgICAgICAgICAg
ICAgICByZWFzb249Im1ldGFkYXRhIGRvZXNuJ3Qgc3VwcG9ydCBweTMiKQogZGVmIHRlc3RfdXBk
YXRlX2tub3duX2ludGVybWl0dGVudF8yKCk6CiAgICAgdGVzdHMgPSBbKCJwYXRoL3RvL3Rlc3Qu
aHRtIiwgW3Rlc3RfaWRdLCAidGVzdGhhcm5lc3MiLAotICAgICAgICAgICAgICAiIiJbdGVzdC5o
dG1dCisgICAgICAgICAgICAgIGIiIiJbdGVzdC5odG1dCiAgIFt0ZXN0MV0KICAgICBleHBlY3Rl
ZDogUEFTUyIiIildCiAKQEAgLTI0NCwxMSArMjM4LDkgQEAgZGVmIHRlc3RfdXBkYXRlX2tub3du
X2ludGVybWl0dGVudF8yKCk6CiAgICAgICAgICJleHBlY3RlZCIsIGRlZmF1bHRfcnVuX2luZm8p
ID09ICJGQUlMIgogCiAKLUBweXRlc3QubWFyay54ZmFpbChzeXMudmVyc2lvblswXSA9PSAiMyIs
Ci0gICAgICAgICAgICAgICAgICAgcmVhc29uPSJtZXRhZGF0YSBkb2Vzbid0IHN1cHBvcnQgcHkz
IikKIGRlZiB0ZXN0X3VwZGF0ZV9leGlzdGluZ19rbm93bl9pbnRlcm1pdHRlbnQoKToKICAgICB0
ZXN0cyA9IFsoInBhdGgvdG8vdGVzdC5odG0iLCBbdGVzdF9pZF0sICJ0ZXN0aGFybmVzcyIsCi0g
ICAgICAgICAgICAgICIiIlt0ZXN0Lmh0bV0KKyAgICAgICAgICAgICAgYiIiIlt0ZXN0Lmh0bV0K
ICAgW3Rlc3QxXQogICAgIGV4cGVjdGVkOiBbUEFTUywgRkFJTF0iIiIpXQogCkBAIC0yODcsMTEg
KzI3OSw5IEBAIGRlZiB0ZXN0X3VwZGF0ZV9leGlzdGluZ19rbm93bl9pbnRlcm1pdHRlbnQoKToK
ICAgICAgICAgImV4cGVjdGVkIiwgZGVmYXVsdF9ydW5faW5mbykgPT0gWyJQQVNTIiwgIkVSUk9S
IiwgIkZBSUwiXQogCiAKLUBweXRlc3QubWFyay54ZmFpbChzeXMudmVyc2lvblswXSA9PSAiMyIs
Ci0gICAgICAgICAgICAgICAgICAgcmVhc29uPSJtZXRhZGF0YSBkb2Vzbid0IHN1cHBvcnQgcHkz
IikKIGRlZiB0ZXN0X3VwZGF0ZV9yZW1vdmVfcHJldmlvdXNfaW50ZXJtaXR0ZW50KCk6CiAgICAg
dGVzdHMgPSBbKCJwYXRoL3RvL3Rlc3QuaHRtIiwgW3Rlc3RfaWRdLCAidGVzdGhhcm5lc3MiLAot
ICAgICAgICAgICAgICAiIiJbdGVzdC5odG1dCisgICAgICAgICAgICAgIGIiIiJbdGVzdC5odG1d
CiAgIFt0ZXN0MV0KICAgICBleHBlY3RlZDogW1BBU1MsIEZBSUxdIiIiKV0KIApAQCAtMzM1LDgg
KzMyNSw2IEBAIGRlZiB0ZXN0X3VwZGF0ZV9yZW1vdmVfcHJldmlvdXNfaW50ZXJtaXR0ZW50KCk6
CiAgICAgICAgICJleHBlY3RlZCIsIGRlZmF1bHRfcnVuX2luZm8pID09IFsiUEFTUyIsICJFUlJP
UiJdCiAKIAotQHB5dGVzdC5tYXJrLnhmYWlsKHN5cy52ZXJzaW9uWzBdID09ICIzIiwKLSAgICAg
ICAgICAgICAgICAgICByZWFzb249Im1ldGFkYXRhIGRvZXNuJ3Qgc3VwcG9ydCBweTMiKQogZGVm
IHRlc3RfdXBkYXRlX25ld190ZXN0X3dpdGhfaW50ZXJtaXR0ZW50KCk6CiAgICAgdGVzdHMgPSBb
KCJwYXRoL3RvL3Rlc3QuaHRtIiwgW3Rlc3RfaWRdLCAidGVzdGhhcm5lc3MiLCBOb25lKV0KIApA
QCAtMzc0LDggKzM2Miw2IEBAIGRlZiB0ZXN0X3VwZGF0ZV9uZXdfdGVzdF93aXRoX2ludGVybWl0
dGVudCgpOgogICAgICAgICAiZXhwZWN0ZWQiLCBkZWZhdWx0X3J1bl9pbmZvKSA9PSBbIlBBU1Mi
LCAiRkFJTCJdCiAKIAotQHB5dGVzdC5tYXJrLnhmYWlsKHN5cy52ZXJzaW9uWzBdID09ICIzIiwK
LSAgICAgICAgICAgICAgICAgICByZWFzb249Im1ldGFkYXRhIGRvZXNuJ3Qgc3VwcG9ydCBweTMi
KQogZGVmIHRlc3RfdXBkYXRlX2V4cGVjdGVkX3RpZV9yZXNvbHV0aW9uKCk6CiAgICAgdGVzdHMg
PSBbKCJwYXRoL3RvL3Rlc3QuaHRtIiwgW3Rlc3RfaWRdLCAidGVzdGhhcm5lc3MiLCBOb25lKV0K
IApAQCAtNDAzLDExICszODksOSBAQCBkZWYgdGVzdF91cGRhdGVfZXhwZWN0ZWRfdGllX3Jlc29s
dXRpb24oKToKICAgICAgICAgImV4cGVjdGVkIiwgZGVmYXVsdF9ydW5faW5mbykgPT0gWyJQQVNT
IiwgIkZBSUwiXQogCiAKLUBweXRlc3QubWFyay54ZmFpbChzeXMudmVyc2lvblswXSA9PSAiMyIs
Ci0gICAgICAgICAgICAgICAgICAgcmVhc29uPSJtZXRhZGF0YSBkb2Vzbid0IHN1cHBvcnQgcHkz
IikKIGRlZiB0ZXN0X3VwZGF0ZV9yZW9yZGVyX2V4cGVjdGVkKCk6CiAgICAgdGVzdHMgPSBbKCJw
YXRoL3RvL3Rlc3QuaHRtIiwgW3Rlc3RfaWRdLCAidGVzdGhhcm5lc3MiLAotICAgICAgICAgICAg
ICAiIiJbdGVzdC5odG1dCisgICAgICAgICAgICAgIGIiIiJbdGVzdC5odG1dCiAgIFt0ZXN0MV0K
ICAgICBleHBlY3RlZDogW1BBU1MsIEZBSUxdIiIiKV0KIApAQCAtNDQ2LDEwICs0MzAsOCBAQCBk
ZWYgdGVzdF91cGRhdGVfcmVvcmRlcl9leHBlY3RlZCgpOgogICAgICAgICAiZXhwZWN0ZWQiLCBk
ZWZhdWx0X3J1bl9pbmZvKSA9PSBbIkZBSUwiLCAiUEFTUyJdCiAKIAotQHB5dGVzdC5tYXJrLnhm
YWlsKHN5cy52ZXJzaW9uWzBdID09ICIzIiwKLSAgICAgICAgICAgICAgICAgICByZWFzb249Im1l
dGFkYXRhIGRvZXNuJ3Qgc3VwcG9ydCBweTMiKQogZGVmIHRlc3RfdXBkYXRlX2FuZF9wcmVzZXJ2
ZV91bmNoYW5nZWRfZXhwZWN0ZWRfaW50ZXJtaXR0ZW50KCk6Ci0gICAgdGVzdHMgPSBbKCJwYXRo
L3RvL3Rlc3QuaHRtIiwgW3Rlc3RfaWRdLCAidGVzdGhhcm5lc3MiLCAiIiIKKyAgICB0ZXN0cyA9
IFsoInBhdGgvdG8vdGVzdC5odG0iLCBbdGVzdF9pZF0sICJ0ZXN0aGFybmVzcyIsIGIiIiIKIFt0
ZXN0Lmh0bV0KICAgZXhwZWN0ZWQ6CiAgICAgaWYgb3MgPT0gImFuZHJvaWQiOiBbUEFTUywgRkFJ
TF0KQEAgLTQ4OSwxMSArNDcxLDkgQEAgZGVmIHRlc3RfdXBkYXRlX2FuZF9wcmVzZXJ2ZV91bmNo
YW5nZWRfZXhwZWN0ZWRfaW50ZXJtaXR0ZW50KCk6CiAgICAgICAgICJleHBlY3RlZCIsIGRlZmF1
bHRfcnVuX2luZm8pID09ICJQQVNTIgogCiAKLUBweXRlc3QubWFyay54ZmFpbChzeXMudmVyc2lv
blswXSA9PSAiMyIsCi0gICAgICAgICAgICAgICAgICAgcmVhc29uPSJtZXRhZGF0YSBkb2Vzbid0
IHN1cHBvcnQgcHkzIikKIGRlZiB0ZXN0X3VwZGF0ZV90ZXN0X3dpdGhfaW50ZXJtaXR0ZW50X3Rv
X29uZV9leHBlY3RlZF9zdGF0dXMoKToKICAgICB0ZXN0cyA9IFsoInBhdGgvdG8vdGVzdC5odG0i
LCBbdGVzdF9pZF0sICJ0ZXN0aGFybmVzcyIsCi0gICAgICAgICAgICAgICIiIlt0ZXN0Lmh0bV0K
KyAgICAgICAgICAgICAgYiIiIlt0ZXN0Lmh0bV0KICAgW3Rlc3QxXQogICAgIGV4cGVjdGVkOiBb
UEFTUywgRkFJTF0iIiIpXQogCkBAIC01MTQsMTAgKzQ5NCw4IEBAIGRlZiB0ZXN0X3VwZGF0ZV90
ZXN0X3dpdGhfaW50ZXJtaXR0ZW50X3RvX29uZV9leHBlY3RlZF9zdGF0dXMoKToKICAgICAgICAg
ImV4cGVjdGVkIiwgZGVmYXVsdF9ydW5faW5mbykgPT0gIkVSUk9SIgogCiAKLUBweXRlc3QubWFy
ay54ZmFpbChzeXMudmVyc2lvblswXSA9PSAiMyIsCi0gICAgICAgICAgICAgICAgICAgcmVhc29u
PSJtZXRhZGF0YSBkb2Vzbid0IHN1cHBvcnQgcHkzIikKIGRlZiB0ZXN0X3VwZGF0ZV9pbnRlcm1p
dHRlbnRfd2l0aF9jb25kaXRpb25zKCk6Ci0gICAgdGVzdHMgPSBbKCJwYXRoL3RvL3Rlc3QuaHRt
IiwgW3Rlc3RfaWRdLCAidGVzdGhhcm5lc3MiLCAiIiIKKyAgICB0ZXN0cyA9IFsoInBhdGgvdG8v
dGVzdC5odG0iLCBbdGVzdF9pZF0sICJ0ZXN0aGFybmVzcyIsIGIiIiIKIFt0ZXN0Lmh0bV0KICAg
ZXhwZWN0ZWQ6CiAgICAgaWYgb3MgPT0gImFuZHJvaWQiOiBbUEFTUywgRkFJTF0iIiIpXQpAQCAt
NTQ5LDEwICs1MjcsOCBAQCBkZWYgdGVzdF91cGRhdGVfaW50ZXJtaXR0ZW50X3dpdGhfY29uZGl0
aW9ucygpOgogICAgICAgICAiZXhwZWN0ZWQiLCBydW5faW5mb18xKSA9PSBbIlBBU1MiLCAiVElN
RU9VVCIsICJGQUlMIl0KIAogCi1AcHl0ZXN0Lm1hcmsueGZhaWwoc3lzLnZlcnNpb25bMF0gPT0g
IjMiLAotICAgICAgICAgICAgICAgICAgIHJlYXNvbj0ibWV0YWRhdGEgZG9lc24ndCBzdXBwb3J0
IHB5MyIpCiBkZWYgdGVzdF91cGRhdGVfYW5kX3JlbW92ZV9pbnRlcm1pdHRlbnRfd2l0aF9jb25k
aXRpb25zKCk6Ci0gICAgdGVzdHMgPSBbKCJwYXRoL3RvL3Rlc3QuaHRtIiwgW3Rlc3RfaWRdLCAi
dGVzdGhhcm5lc3MiLCAiIiIKKyAgICB0ZXN0cyA9IFsoInBhdGgvdG8vdGVzdC5odG0iLCBbdGVz
dF9pZF0sICJ0ZXN0aGFybmVzcyIsIGIiIiIKIFt0ZXN0Lmh0bV0KICAgZXhwZWN0ZWQ6CiAgICAg
aWYgb3MgPT0gImFuZHJvaWQiOiBbUEFTUywgRkFJTF0iIiIpXQpAQCAtNTg0LDExICs1NjAsOSBA
QCBkZWYgdGVzdF91cGRhdGVfYW5kX3JlbW92ZV9pbnRlcm1pdHRlbnRfd2l0aF9jb25kaXRpb25z
KCk6CiAgICAgICAgICJleHBlY3RlZCIsIHJ1bl9pbmZvXzEpID09IFsiUEFTUyIsICJUSU1FT1VU
Il0KIAogCi1AcHl0ZXN0Lm1hcmsueGZhaWwoc3lzLnZlcnNpb25bMF0gPT0gIjMiLAotICAgICAg
ICAgICAgICAgICAgIHJlYXNvbj0ibWV0YWRhdGEgZG9lc24ndCBzdXBwb3J0IHB5MyIpCiBkZWYg
dGVzdF91cGRhdGVfaW50ZXJtaXR0ZW50X2Z1bGwoKToKICAgICB0ZXN0cyA9IFsoInBhdGgvdG8v
dGVzdC5odG0iLCBbdGVzdF9pZF0sICJ0ZXN0aGFybmVzcyIsCi0gICAgICAgICAgICAgICIiIlt0
ZXN0Lmh0bV0KKyAgICAgICAgICAgICAgYiIiIlt0ZXN0Lmh0bV0KICAgW3Rlc3QxXQogICAgIGV4
cGVjdGVkOgogICAgICAgaWYgb3MgPT0gIm1hYyI6IFtGQUlMLCBUSU1FT1VUXQpAQCAtNjI0LDEx
ICs1OTgsOSBAQCBkZWYgdGVzdF91cGRhdGVfaW50ZXJtaXR0ZW50X2Z1bGwoKToKICAgICAgICAg
ImV4cGVjdGVkIiwgZGVmYXVsdF9ydW5faW5mbykgPT0gIkZBSUwiCiAKIAotQHB5dGVzdC5tYXJr
LnhmYWlsKHN5cy52ZXJzaW9uWzBdID09ICIzIiwKLSAgICAgICAgICAgICAgICAgICByZWFzb249
Im1ldGFkYXRhIGRvZXNuJ3Qgc3VwcG9ydCBweTMiKQogZGVmIHRlc3RfdXBkYXRlX2ludGVybWl0
dGVudF9mdWxsX3JlbW92ZSgpOgogICAgIHRlc3RzID0gWygicGF0aC90by90ZXN0Lmh0bSIsIFt0
ZXN0X2lkXSwgInRlc3RoYXJuZXNzIiwKLSAgICAgICAgICAgICAgIiIiW3Rlc3QuaHRtXQorICAg
ICAgICAgICAgICBiIiIiW3Rlc3QuaHRtXQogICBbdGVzdDFdCiAgICAgZXhwZWN0ZWQ6CiAgICAg
ICBpZiBvcyA9PSAibWFjIjogW0ZBSUwsIFRJTUVPVVQsIFBBU1NdCkBAIC02NzUsMTEgKzY0Nyw5
IEBAIGRlZiB0ZXN0X3VwZGF0ZV9pbnRlcm1pdHRlbnRfZnVsbF9yZW1vdmUoKToKICAgICAgICAg
ImV4cGVjdGVkIiwgZGVmYXVsdF9ydW5faW5mbykgPT0gIkZBSUwiCiAKIAotQHB5dGVzdC5tYXJr
LnhmYWlsKHN5cy52ZXJzaW9uWzBdID09ICIzIiwKLSAgICAgICAgICAgICAgICAgICByZWFzb249
Im1ldGFkYXRhIGRvZXNuJ3Qgc3VwcG9ydCBweTMiKQogZGVmIHRlc3RfZnVsbF91cGRhdGUoKToK
ICAgICB0ZXN0cyA9IFsoInBhdGgvdG8vdGVzdC5odG0iLCBbdGVzdF9pZF0sICJ0ZXN0aGFybmVz
cyIsCi0gICAgICAgICAgICAgICIiIlt0ZXN0Lmh0bV0KKyAgICAgICAgICAgICAgYiIiIlt0ZXN0
Lmh0bV0KICAgW3Rlc3QxXQogICAgIGV4cGVjdGVkOgogICAgICAgaWYgb3MgPT0gIm1hYyI6IFtG
QUlMLCBUSU1FT1VUXQpAQCAtNzE1LDExICs2ODUsOSBAQCBkZWYgdGVzdF9mdWxsX3VwZGF0ZSgp
OgogICAgICAgICAiZXhwZWN0ZWQiLCBkZWZhdWx0X3J1bl9pbmZvKSA9PSAiRkFJTCIKIAogCi1A
cHl0ZXN0Lm1hcmsueGZhaWwoc3lzLnZlcnNpb25bMF0gPT0gIjMiLAotICAgICAgICAgICAgICAg
ICAgIHJlYXNvbj0ibWV0YWRhdGEgZG9lc24ndCBzdXBwb3J0IHB5MyIpCiBkZWYgdGVzdF9mdWxs
X29ycGhhbigpOgogICAgIHRlc3RzID0gWygicGF0aC90by90ZXN0Lmh0bSIsIFt0ZXN0X2lkXSwg
InRlc3RoYXJuZXNzIiwKLSAgICAgICAgICAgICAgIiIiW3Rlc3QuaHRtXQorICAgICAgICAgICAg
ICBiIiIiW3Rlc3QuaHRtXQogICBbdGVzdDFdCiAgICAgZXhwZWN0ZWQ6IEZBSUwKICAgICBbc3Vi
c3ViIHRlc3RdCkBAIC03NDgsMTEgKzcxNiw5IEBAIGRlZiB0ZXN0X2Z1bGxfb3JwaGFuKCk6CiAg
ICAgYXNzZXJ0IGxlbihuZXdfbWFuaWZlc3QuZ2V0X3Rlc3QodGVzdF9pZCkuY2hpbGRyZW4pID09
IDEKIAogCi1AcHl0ZXN0Lm1hcmsueGZhaWwoc3lzLnZlcnNpb25bMF0gPT0gIjMiLAotICAgICAg
ICAgICAgICAgICAgIHJlYXNvbj0ibWV0YWRhdGEgZG9lc24ndCBzdXBwb3J0IHB5MyIpCiBkZWYg
dGVzdF91cGRhdGVfcmVvcmRlcl9leHBlY3RlZF9mdWxsX2NvbmRpdGlvbnMoKToKICAgICB0ZXN0
cyA9IFsoInBhdGgvdG8vdGVzdC5odG0iLCBbdGVzdF9pZF0sICJ0ZXN0aGFybmVzcyIsCi0gICAg
ICAgICAgICAgICIiIlt0ZXN0Lmh0bV0KKyAgICAgICAgICAgICAgYiIiIlt0ZXN0Lmh0bV0KICAg
W3Rlc3QxXQogICAgIGV4cGVjdGVkOgogICAgICAgaWYgb3MgPT0gIm1hYyI6IFtGQUlMLCBUSU1F
T1VUXQpAQCAtODA5LDExICs3NzUsOSBAQCBkZWYgdGVzdF91cGRhdGVfcmVvcmRlcl9leHBlY3Rl
ZF9mdWxsX2NvbmRpdGlvbnMoKToKICAgICAgICAgImV4cGVjdGVkIiwgZGVmYXVsdF9ydW5faW5m
bykgPT0gWyJQQVNTIiwgIkZBSUwiXQogCiAKLUBweXRlc3QubWFyay54ZmFpbChzeXMudmVyc2lv
blswXSA9PSAiMyIsCi0gICAgICAgICAgICAgICAgICAgcmVhc29uPSJtZXRhZGF0YSBkb2Vzbid0
IHN1cHBvcnQgcHkzIikKIGRlZiB0ZXN0X3NraXBfMCgpOgogICAgIHRlc3RzID0gWygicGF0aC90
by90ZXN0Lmh0bSIsIFt0ZXN0X2lkXSwgInRlc3RoYXJuZXNzIiwKLSAgICAgICAgICAgICAgIiIi
W3Rlc3QuaHRtXQorICAgICAgICAgICAgICBiIiIiW3Rlc3QuaHRtXQogICBbdGVzdDFdCiAgICAg
ZXhwZWN0ZWQ6IEZBSUwiIiIpXQogCkBAIC04MjksMTAgKzc5Myw4IEBAIGRlZiB0ZXN0X3NraXBf
MCgpOgogICAgIGFzc2VydCBub3QgdXBkYXRlZAogCiAKLUBweXRlc3QubWFyay54ZmFpbChzeXMu
dmVyc2lvblswXSA9PSAiMyIsCi0gICAgICAgICAgICAgICAgICAgcmVhc29uPSJtZXRhZGF0YSBk
b2Vzbid0IHN1cHBvcnQgcHkzIikKIGRlZiB0ZXN0X25ld19zdWJ0ZXN0KCk6Ci0gICAgdGVzdHMg
PSBbKCJwYXRoL3RvL3Rlc3QuaHRtIiwgW3Rlc3RfaWRdLCAidGVzdGhhcm5lc3MiLCAiIiJbdGVz
dC5odG1dCisgICAgdGVzdHMgPSBbKCJwYXRoL3RvL3Rlc3QuaHRtIiwgW3Rlc3RfaWRdLCAidGVz
dGhhcm5lc3MiLCBiIiIiW3Rlc3QuaHRtXQogICBbdGVzdDFdCiAgICAgZXhwZWN0ZWQ6IEZBSUwi
IiIpXQogCkBAIC04NTQsMTAgKzgxNiw4IEBAIGRlZiB0ZXN0X25ld19zdWJ0ZXN0KCk6CiAgICAg
YXNzZXJ0IG5ld19tYW5pZmVzdC5nZXRfdGVzdCh0ZXN0X2lkKS5jaGlsZHJlblsxXS5nZXQoImV4
cGVjdGVkIiwgZGVmYXVsdF9ydW5faW5mbykgPT0gIkZBSUwiCiAKIAotQHB5dGVzdC5tYXJrLnhm
YWlsKHN5cy52ZXJzaW9uWzBdID09ICIzIiwKLSAgICAgICAgICAgICAgICAgICByZWFzb249Im1l
dGFkYXRhIGRvZXNuJ3Qgc3VwcG9ydCBweTMiKQogZGVmIHRlc3RfdXBkYXRlX211bHRpcGxlXzAo
KToKLSAgICB0ZXN0cyA9IFsoInBhdGgvdG8vdGVzdC5odG0iLCBbdGVzdF9pZF0sICJ0ZXN0aGFy
bmVzcyIsICIiIlt0ZXN0Lmh0bV0KKyAgICB0ZXN0cyA9IFsoInBhdGgvdG8vdGVzdC5odG0iLCBb
dGVzdF9pZF0sICJ0ZXN0aGFybmVzcyIsIGIiIiJbdGVzdC5odG1dCiAgIFt0ZXN0MV0KICAgICBl
eHBlY3RlZDogRkFJTCIiIildCiAKQEAgLTg5MywxMCArODUzLDggQEAgZGVmIHRlc3RfdXBkYXRl
X211bHRpcGxlXzAoKToKICAgICAgICAgImV4cGVjdGVkIiwgeyJkZWJ1ZyI6IEZhbHNlLCAib3Mi
OiAibGludXgifSkgPT0gIlRJTUVPVVQiCiAKIAotQHB5dGVzdC5tYXJrLnhmYWlsKHN5cy52ZXJz
aW9uWzBdID09ICIzIiwKLSAgICAgICAgICAgICAgICAgICByZWFzb249Im1ldGFkYXRhIGRvZXNu
J3Qgc3VwcG9ydCBweTMiKQogZGVmIHRlc3RfdXBkYXRlX211bHRpcGxlXzEoKToKLSAgICB0ZXN0
cyA9IFsoInBhdGgvdG8vdGVzdC5odG0iLCBbdGVzdF9pZF0sICJ0ZXN0aGFybmVzcyIsICIiIlt0
ZXN0Lmh0bV0KKyAgICB0ZXN0cyA9IFsoInBhdGgvdG8vdGVzdC5odG0iLCBbdGVzdF9pZF0sICJ0
ZXN0aGFybmVzcyIsIGIiIiJbdGVzdC5odG1dCiAgIFt0ZXN0MV0KICAgICBleHBlY3RlZDogRkFJ
TCIiIildCiAKQEAgLTkzNywxMCArODk1LDggQEAgZGVmIHRlc3RfdXBkYXRlX211bHRpcGxlXzEo
KToKICAgICAgICAgImV4cGVjdGVkIiwgcnVuX2luZm9fMykgPT0gIkZBSUwiCiAKIAotQHB5dGVz
dC5tYXJrLnhmYWlsKHN5cy52ZXJzaW9uWzBdID09ICIzIiwKLSAgICAgICAgICAgICAgICAgICBy
ZWFzb249Im1ldGFkYXRhIGRvZXNuJ3Qgc3VwcG9ydCBweTMiKQogZGVmIHRlc3RfdXBkYXRlX211
bHRpcGxlXzIoKToKLSAgICB0ZXN0cyA9IFsoInBhdGgvdG8vdGVzdC5odG0iLCBbdGVzdF9pZF0s
ICJ0ZXN0aGFybmVzcyIsICIiIlt0ZXN0Lmh0bV0KKyAgICB0ZXN0cyA9IFsoInBhdGgvdG8vdGVz
dC5odG0iLCBbdGVzdF9pZF0sICJ0ZXN0aGFybmVzcyIsIGIiIiJbdGVzdC5odG1dCiAgIFt0ZXN0
MV0KICAgICBleHBlY3RlZDogRkFJTCIiIildCiAKQEAgLTk3NywxMCArOTMzLDggQEAgZGVmIHRl
c3RfdXBkYXRlX211bHRpcGxlXzIoKToKICAgICAgICAgImV4cGVjdGVkIiwgcnVuX2luZm9fMikg
PT0gIlRJTUVPVVQiCiAKIAotQHB5dGVzdC5tYXJrLnhmYWlsKHN5cy52ZXJzaW9uWzBdID09ICIz
IiwKLSAgICAgICAgICAgICAgICAgICByZWFzb249Im1ldGFkYXRhIGRvZXNuJ3Qgc3VwcG9ydCBw
eTMiKQogZGVmIHRlc3RfdXBkYXRlX211bHRpcGxlXzMoKToKLSAgICB0ZXN0cyA9IFsoInBhdGgv
dG8vdGVzdC5odG0iLCBbdGVzdF9pZF0sICJ0ZXN0aGFybmVzcyIsICIiIlt0ZXN0Lmh0bV0KKyAg
ICB0ZXN0cyA9IFsoInBhdGgvdG8vdGVzdC5odG0iLCBbdGVzdF9pZF0sICJ0ZXN0aGFybmVzcyIs
IGIiIiJbdGVzdC5odG1dCiAgIFt0ZXN0MV0KICAgICBleHBlY3RlZDoKICAgICAgIGlmIGRlYnVn
OiBGQUlMCkBAIC0xMDE5LDEwICs5NzMsOCBAQCBkZWYgdGVzdF91cGRhdGVfbXVsdGlwbGVfMygp
OgogICAgICAgICAiZXhwZWN0ZWQiLCBydW5faW5mb18yKSA9PSAiVElNRU9VVCIKIAogCi1AcHl0
ZXN0Lm1hcmsueGZhaWwoc3lzLnZlcnNpb25bMF0gPT0gIjMiLAotICAgICAgICAgICAgICAgICAg
IHJlYXNvbj0ibWV0YWRhdGEgZG9lc24ndCBzdXBwb3J0IHB5MyIpCiBkZWYgdGVzdF91cGRhdGVf
aWdub3JlX2V4aXN0aW5nKCk6Ci0gICAgdGVzdHMgPSBbKCJwYXRoL3RvL3Rlc3QuaHRtIiwgW3Rl
c3RfaWRdLCAidGVzdGhhcm5lc3MiLCAiIiJbdGVzdC5odG1dCisgICAgdGVzdHMgPSBbKCJwYXRo
L3RvL3Rlc3QuaHRtIiwgW3Rlc3RfaWRdLCAidGVzdGhhcm5lc3MiLCBiIiIiW3Rlc3QuaHRtXQog
ICBbdGVzdDFdCiAgICAgZXhwZWN0ZWQ6CiAgICAgICBpZiBkZWJ1ZzogVElNRU9VVApAQCAtMTA2
MSw4ICsxMDEzLDYgQEAgZGVmIHRlc3RfdXBkYXRlX2lnbm9yZV9leGlzdGluZygpOgogICAgICAg
ICAiZXhwZWN0ZWQiLCBydW5faW5mb18yKSA9PSAiTk9UUlVOIgogCiAKLUBweXRlc3QubWFyay54
ZmFpbChzeXMudmVyc2lvblswXSA9PSAiMyIsCi0gICAgICAgICAgICAgICAgICAgcmVhc29uPSJt
ZXRhZGF0YSBkb2Vzbid0IHN1cHBvcnQgcHkzIikKIGRlZiB0ZXN0X3VwZGF0ZV9uZXdfdGVzdCgp
OgogICAgIHRlc3RzID0gWygicGF0aC90by90ZXN0Lmh0bSIsIFt0ZXN0X2lkXSwgInRlc3RoYXJu
ZXNzIiwgTm9uZSldCiAKQEAgLTEwODUsMTAgKzEwMzUsOCBAQCBkZWYgdGVzdF91cGRhdGVfbmV3
X3Rlc3QoKToKICAgICAgICAgImV4cGVjdGVkIiwgcnVuX2luZm9fMSkgPT0gIkZBSUwiCiAKIAot
QHB5dGVzdC5tYXJrLnhmYWlsKHN5cy52ZXJzaW9uWzBdID09ICIzIiwKLSAgICAgICAgICAgICAg
ICAgICByZWFzb249Im1ldGFkYXRhIGRvZXNuJ3Qgc3VwcG9ydCBweTMiKQogZGVmIHRlc3RfdXBk
YXRlX2R1cGxpY2F0ZSgpOgotICAgIHRlc3RzID0gWygicGF0aC90by90ZXN0Lmh0bSIsIFt0ZXN0
X2lkXSwgInRlc3RoYXJuZXNzIiwgIiIiCisgICAgdGVzdHMgPSBbKCJwYXRoL3RvL3Rlc3QuaHRt
IiwgW3Rlc3RfaWRdLCAidGVzdGhhcm5lc3MiLCBiIiIiCiBbdGVzdC5odG1dCiAgIGV4cGVjdGVk
OiBFUlJPUiIiIildCiAKQEAgLTExMDcsMTAgKzEwNTUsOCBAQCBkZWYgdGVzdF91cGRhdGVfZHVw
bGljYXRlKCk6CiAgICAgICAgICJleHBlY3RlZCIsIHJ1bl9pbmZvXzEpID09ICJFUlJPUiIKIAog
Ci1AcHl0ZXN0Lm1hcmsueGZhaWwoc3lzLnZlcnNpb25bMF0gPT0gIjMiLAotICAgICAgICAgICAg
ICAgICAgIHJlYXNvbj0ibWV0YWRhdGEgZG9lc24ndCBzdXBwb3J0IHB5MyIpCiBkZWYgdGVzdF91
cGRhdGVfZGlzYWJsZV9pbnRlcm1pdHRlbnQoKToKLSAgICB0ZXN0cyA9IFsoInBhdGgvdG8vdGVz
dC5odG0iLCBbdGVzdF9pZF0sICJ0ZXN0aGFybmVzcyIsICIiIgorICAgIHRlc3RzID0gWygicGF0
aC90by90ZXN0Lmh0bSIsIFt0ZXN0X2lkXSwgInRlc3RoYXJuZXNzIiwgYiIiIgogW3Rlc3QuaHRt
XQogICBleHBlY3RlZDogRVJST1IiIiIpXQogCkBAIC0xMTI5LDEwICsxMDc1LDggQEAgZGVmIHRl
c3RfdXBkYXRlX2Rpc2FibGVfaW50ZXJtaXR0ZW50KCk6CiAgICAgICAgICJkaXNhYmxlZCIsIHJ1
bl9pbmZvXzEpID09ICJTb21lIG1lc3NhZ2UiCiAKIAotQHB5dGVzdC5tYXJrLnhmYWlsKHN5cy52
ZXJzaW9uWzBdID09ICIzIiwKLSAgICAgICAgICAgICAgICAgICByZWFzb249Im1ldGFkYXRhIGRv
ZXNuJ3Qgc3VwcG9ydCBweTMiKQogZGVmIHRlc3RfdXBkYXRlX3N0YWJpbGl0eV9jb25kaXRpb25h
bF9pbnN0YWJpbGl0eSgpOgotICAgIHRlc3RzID0gWygicGF0aC90by90ZXN0Lmh0bSIsIFt0ZXN0
X2lkXSwgInRlc3RoYXJuZXNzIiwgIiIiCisgICAgdGVzdHMgPSBbKCJwYXRoL3RvL3Rlc3QuaHRt
IiwgW3Rlc3RfaWRdLCAidGVzdGhhcm5lc3MiLCBiIiIiCiBbdGVzdC5odG1dCiAgIGV4cGVjdGVk
OiBFUlJPUiIiIildCiAKQEAgLTExNjUsMTAgKzExMDksOCBAQCBkZWYgdGVzdF91cGRhdGVfc3Rh
YmlsaXR5X2NvbmRpdGlvbmFsX2luc3RhYmlsaXR5KCk6CiAgICAgICAgICJleHBlY3RlZCIsIHJ1
bl9pbmZvXzIpID09ICJGQUlMIgogCiAKLUBweXRlc3QubWFyay54ZmFpbChzeXMudmVyc2lvblsw
XSA9PSAiMyIsCi0gICAgICAgICAgICAgICAgICAgcmVhc29uPSJtZXRhZGF0YSBkb2Vzbid0IHN1
cHBvcnQgcHkzIikKIGRlZiB0ZXN0X3VwZGF0ZV9mdWxsKCk6Ci0gICAgdGVzdHMgPSBbKCJwYXRo
L3RvL3Rlc3QuaHRtIiwgW3Rlc3RfaWRdLCAidGVzdGhhcm5lc3MiLCAiIiJbdGVzdC5odG1dCisg
ICAgdGVzdHMgPSBbKCJwYXRoL3RvL3Rlc3QuaHRtIiwgW3Rlc3RfaWRdLCAidGVzdGhhcm5lc3Mi
LCBiIiIiW3Rlc3QuaHRtXQogICBbdGVzdDFdCiAgICAgZXhwZWN0ZWQ6CiAgICAgICBpZiBkZWJ1
ZzogVElNRU9VVApAQCAtMTIxNywxMCArMTE1OSw4IEBAIGRlZiB0ZXN0X3VwZGF0ZV9mdWxsKCk6
CiAgICAgICAgICJleHBlY3RlZCIsIHJ1bl9pbmZvXzIpID09ICJFUlJPUiIKIAogCi1AcHl0ZXN0
Lm1hcmsueGZhaWwoc3lzLnZlcnNpb25bMF0gPT0gIjMiLAotICAgICAgICAgICAgICAgICAgIHJl
YXNvbj0ibWV0YWRhdGEgZG9lc24ndCBzdXBwb3J0IHB5MyIpCiBkZWYgdGVzdF91cGRhdGVfZnVs
bF91bmtub3duKCk6Ci0gICAgdGVzdHMgPSBbKCJwYXRoL3RvL3Rlc3QuaHRtIiwgW3Rlc3RfaWRd
LCAidGVzdGhhcm5lc3MiLCAiIiJbdGVzdC5odG1dCisgICAgdGVzdHMgPSBbKCJwYXRoL3RvL3Rl
c3QuaHRtIiwgW3Rlc3RfaWRdLCAidGVzdGhhcm5lc3MiLCBiIiIiW3Rlc3QuaHRtXQogICBbdGVz
dDFdCiAgICAgZXhwZWN0ZWQ6CiAgICAgICBpZiByZWxlYXNlX29yX2JldGE6IEVSUk9SCkBAIC0x
MjYwLDExICsxMjAwLDI5IEBAIGRlZiB0ZXN0X3VwZGF0ZV9mdWxsX3Vua25vd24oKToKICAgICAg
ICAgImV4cGVjdGVkIiwgcnVuX2luZm9fMikgPT0gIkVSUk9SIgogCiAKK2RlZiB0ZXN0X3VwZGF0
ZV9mdWxsX3Vua25vd25fbWlzc2luZygpOgorICAgIHRlc3RzID0gWygicGF0aC90by90ZXN0Lmh0
bSIsIFt0ZXN0X2lkXSwgInRlc3RoYXJuZXNzIiwgYiIiIlt0ZXN0Lmh0bV0KKyAgW3N1YnRlc3Rf
ZGVsZXRlZF0KKyAgICBleHBlY3RlZDoKKyAgICAgIGlmIHJlbGVhc2Vfb3JfYmV0YTogRVJST1IK
KyAgICAgIEZBSUwKKyIiIildCisKKyAgICBsb2dfMCA9IHN1aXRlX2xvZyhbKCJ0ZXN0X3N0YXJ0
IiwgeyJ0ZXN0IjogdGVzdF9pZH0pLAorICAgICAgICAgICAgICAgICAgICAgICAoInRlc3Rfc3Rh
dHVzIiwgeyJ0ZXN0IjogdGVzdF9pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAic3VidGVzdCI6ICJ0ZXN0MSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInN0YXR1cyI6ICJQQVNTIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiZXhwZWN0ZWQiOiAiUEFTUyJ9KSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgKCJ0ZXN0X2VuZCIsIHsidGVzdCI6IHRlc3RfaWQsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgInN0YXR1cyI6ICJPSyJ9KV0sCisgICAgICAgICAgICAgICAgICAgICAg
cnVuX2luZm89eyJkZWJ1ZyI6IEZhbHNlLCAicmVsZWFzZV9vcl9iZXRhIjogRmFsc2V9KQorCisg
ICAgdXBkYXRlZCA9IHVwZGF0ZSh0ZXN0cywgbG9nXzAsIGZ1bGxfdXBkYXRlPVRydWUpCisgICAg
YXNzZXJ0IGxlbih1cGRhdGVkKSA9PSAwCisKIAotQHB5dGVzdC5tYXJrLnhmYWlsKHN5cy52ZXJz
aW9uWzBdID09ICIzIiwKLSAgICAgICAgICAgICAgICAgICByZWFzb249Im1ldGFkYXRhIGRvZXNu
J3Qgc3VwcG9ydCBweTMiKQogZGVmIHRlc3RfdXBkYXRlX2RlZmF1bHQoKToKLSAgICB0ZXN0cyA9
IFsoInBhdGgvdG8vdGVzdC5odG0iLCBbdGVzdF9pZF0sICJ0ZXN0aGFybmVzcyIsICIiIlt0ZXN0
Lmh0bV0KKyAgICB0ZXN0cyA9IFsoInBhdGgvdG8vdGVzdC5odG0iLCBbdGVzdF9pZF0sICJ0ZXN0
aGFybmVzcyIsIGIiIiJbdGVzdC5odG1dCiAgIFt0ZXN0MV0KICAgICBleHBlY3RlZDoKICAgICAg
IGlmIG9zID09ICJtYWMiOiBGQUlMCkBAIC0xMjk0LDEwICsxMjUyLDggQEAgZGVmIHRlc3RfdXBk
YXRlX2RlZmF1bHQoKToKICAgICBhc3NlcnQgbmV3X21hbmlmZXN0LmlzX2VtcHR5CiAKIAotQHB5
dGVzdC5tYXJrLnhmYWlsKHN5cy52ZXJzaW9uWzBdID09ICIzIiwKLSAgICAgICAgICAgICAgICAg
ICByZWFzb249Im1ldGFkYXRhIGRvZXNuJ3Qgc3VwcG9ydCBweTMiKQogZGVmIHRlc3RfdXBkYXRl
X2RlZmF1bHRfMSgpOgotICAgIHRlc3RzID0gWygicGF0aC90by90ZXN0Lmh0bSIsIFt0ZXN0X2lk
XSwgInRlc3RoYXJuZXNzIiwgIiIiCisgICAgdGVzdHMgPSBbKCJwYXRoL3RvL3Rlc3QuaHRtIiwg
W3Rlc3RfaWRdLCAidGVzdGhhcm5lc3MiLCBiIiIiCiBbdGVzdC5odG1dCiAgIGV4cGVjdGVkOgog
ICAgIGlmIG9zID09ICJtYWMiOiBUSU1FT1VUCkBAIC0xMzI2LDEwICsxMjgyLDggQEAgZGVmIHRl
c3RfdXBkYXRlX2RlZmF1bHRfMSgpOgogICAgICAgICAiZXhwZWN0ZWQiLCBydW5faW5mb18yKSA9
PSAiRkFJTCIKIAogCi1AcHl0ZXN0Lm1hcmsueGZhaWwoc3lzLnZlcnNpb25bMF0gPT0gIjMiLAot
ICAgICAgICAgICAgICAgICAgIHJlYXNvbj0ibWV0YWRhdGEgZG9lc24ndCBzdXBwb3J0IHB5MyIp
CiBkZWYgdGVzdF91cGRhdGVfZGVmYXVsdF8yKCk6Ci0gICAgdGVzdHMgPSBbKCJwYXRoL3RvL3Rl
c3QuaHRtIiwgW3Rlc3RfaWRdLCAidGVzdGhhcm5lc3MiLCAiIiIKKyAgICB0ZXN0cyA9IFsoInBh
dGgvdG8vdGVzdC5odG0iLCBbdGVzdF9pZF0sICJ0ZXN0aGFybmVzcyIsIGIiIiIKIFt0ZXN0Lmh0
bV0KICAgZXhwZWN0ZWQ6CiAgICAgaWYgb3MgPT0gIm1hYyI6IFRJTUVPVVQKQEAgLTEzNTgsMTAg
KzEzMTIsOCBAQCBkZWYgdGVzdF91cGRhdGVfZGVmYXVsdF8yKCk6CiAgICAgICAgICJleHBlY3Rl
ZCIsIHJ1bl9pbmZvXzIpID09ICJUSU1FT1VUIgogCiAKLUBweXRlc3QubWFyay54ZmFpbChzeXMu
dmVyc2lvblswXSA9PSAiMyIsCi0gICAgICAgICAgICAgICAgICAgcmVhc29uPSJtZXRhZGF0YSBk
b2Vzbid0IHN1cHBvcnQgcHkzIikKIGRlZiB0ZXN0X3VwZGF0ZV9hc3NlcnRpb25fY291bnRfMCgp
OgotICAgIHRlc3RzID0gWygicGF0aC90by90ZXN0Lmh0bSIsIFt0ZXN0X2lkXSwgInRlc3RoYXJu
ZXNzIiwgIiIiW3Rlc3QuaHRtXQorICAgIHRlc3RzID0gWygicGF0aC90by90ZXN0Lmh0bSIsIFt0
ZXN0X2lkXSwgInRlc3RoYXJuZXNzIiwgYiIiIlt0ZXN0Lmh0bV0KICAgbWF4LWFzc2VydHM6IDQK
ICAgbWluLWFzc2VydHM6IDIKICIiIildCkBAIC0xMzgyLDEwICsxMzM0LDggQEAgZGVmIHRlc3Rf
dXBkYXRlX2Fzc2VydGlvbl9jb3VudF8wKCk6CiAgICAgYXNzZXJ0IG5ld19tYW5pZmVzdC5nZXRf
dGVzdCh0ZXN0X2lkKS5nZXQoIm1pbi1hc3NlcnRzIikgPT0gIjIiCiAKIAotQHB5dGVzdC5tYXJr
LnhmYWlsKHN5cy52ZXJzaW9uWzBdID09ICIzIiwKLSAgICAgICAgICAgICAgICAgICByZWFzb249
Im1ldGFkYXRhIGRvZXNuJ3Qgc3VwcG9ydCBweTMiKQogZGVmIHRlc3RfdXBkYXRlX2Fzc2VydGlv
bl9jb3VudF8xKCk6Ci0gICAgdGVzdHMgPSBbKCJwYXRoL3RvL3Rlc3QuaHRtIiwgW3Rlc3RfaWRd
LCAidGVzdGhhcm5lc3MiLCAiIiJbdGVzdC5odG1dCisgICAgdGVzdHMgPSBbKCJwYXRoL3RvL3Rl
c3QuaHRtIiwgW3Rlc3RfaWRdLCAidGVzdGhhcm5lc3MiLCBiIiIiW3Rlc3QuaHRtXQogICBtYXgt
YXNzZXJ0czogNAogICBtaW4tYXNzZXJ0czogMgogIiIiKV0KQEAgLTE0MDYsMTAgKzEzNTYsOCBA
QCBkZWYgdGVzdF91cGRhdGVfYXNzZXJ0aW9uX2NvdW50XzEoKToKICAgICBhc3NlcnQgbmV3X21h
bmlmZXN0LmdldF90ZXN0KHRlc3RfaWQpLmhhc19rZXkoIm1pbi1hc3NlcnRzIikgaXMgRmFsc2UK
IAogCi1AcHl0ZXN0Lm1hcmsueGZhaWwoc3lzLnZlcnNpb25bMF0gPT0gIjMiLAotICAgICAgICAg
ICAgICAgICAgIHJlYXNvbj0ibWV0YWRhdGEgZG9lc24ndCBzdXBwb3J0IHB5MyIpCiBkZWYgdGVz
dF91cGRhdGVfYXNzZXJ0aW9uX2NvdW50XzIoKToKLSAgICB0ZXN0cyA9IFsoInBhdGgvdG8vdGVz
dC5odG0iLCBbdGVzdF9pZF0sICJ0ZXN0aGFybmVzcyIsICIiIlt0ZXN0Lmh0bV0KKyAgICB0ZXN0
cyA9IFsoInBhdGgvdG8vdGVzdC5odG0iLCBbdGVzdF9pZF0sICJ0ZXN0aGFybmVzcyIsIGIiIiJb
dGVzdC5odG1dCiAgIG1heC1hc3NlcnRzOiA0CiAgIG1pbi1hc3NlcnRzOiAyCiAiIiIpXQpAQCAt
MTQyNiwxMCArMTM3NCw4IEBAIGRlZiB0ZXN0X3VwZGF0ZV9hc3NlcnRpb25fY291bnRfMigpOgog
ICAgIGFzc2VydCBub3QgdXBkYXRlZAogCiAKLUBweXRlc3QubWFyay54ZmFpbChzeXMudmVyc2lv
blswXSA9PSAiMyIsCi0gICAgICAgICAgICAgICAgICAgcmVhc29uPSJtZXRhZGF0YSBkb2Vzbid0
IHN1cHBvcnQgcHkzIikKIGRlZiB0ZXN0X3VwZGF0ZV9hc3NlcnRpb25fY291bnRfMygpOgotICAg
IHRlc3RzID0gWygicGF0aC90by90ZXN0Lmh0bSIsIFt0ZXN0X2lkXSwgInRlc3RoYXJuZXNzIiwg
IiIiW3Rlc3QuaHRtXQorICAgIHRlc3RzID0gWygicGF0aC90by90ZXN0Lmh0bSIsIFt0ZXN0X2lk
XSwgInRlc3RoYXJuZXNzIiwgYiIiIlt0ZXN0Lmh0bV0KICAgbWF4LWFzc2VydHM6IDQKICAgbWlu
LWFzc2VydHM6IDIKICIiIildCkBAIC0xNDYwLDEwICsxNDA2LDggQEAgZGVmIHRlc3RfdXBkYXRl
X2Fzc2VydGlvbl9jb3VudF8zKCk6CiAgICAgYXNzZXJ0IG5ld19tYW5pZmVzdC5nZXRfdGVzdCh0
ZXN0X2lkKS5nZXQoIm1pbi1hc3NlcnRzIikgPT0gIjIiCiAKIAotQHB5dGVzdC5tYXJrLnhmYWls
KHN5cy52ZXJzaW9uWzBdID09ICIzIiwKLSAgICAgICAgICAgICAgICAgICByZWFzb249Im1ldGFk
YXRhIGRvZXNuJ3Qgc3VwcG9ydCBweTMiKQogZGVmIHRlc3RfdXBkYXRlX2Fzc2VydGlvbl9jb3Vu
dF80KCk6Ci0gICAgdGVzdHMgPSBbKCJwYXRoL3RvL3Rlc3QuaHRtIiwgW3Rlc3RfaWRdLCAidGVz
dGhhcm5lc3MiLCAiIiJbdGVzdC5odG1dIiIiKV0KKyAgICB0ZXN0cyA9IFsoInBhdGgvdG8vdGVz
dC5odG0iLCBbdGVzdF9pZF0sICJ0ZXN0aGFybmVzcyIsIGIiIiJbdGVzdC5odG1dIiIiKV0KIAog
ICAgIGxvZ18wID0gc3VpdGVfbG9nKFsoInRlc3Rfc3RhcnQiLCB7InRlc3QiOiB0ZXN0X2lkfSks
CiAgICAgICAgICAgICAgICAgICAgICAgICgiYXNzZXJ0aW9uX2NvdW50IiwgeyJ0ZXN0IjogdGVz
dF9pZCwKQEAgLTE0OTEsMTEgKzE0MzUsOSBAQCBkZWYgdGVzdF91cGRhdGVfYXNzZXJ0aW9uX2Nv
dW50XzQoKToKICAgICBhc3NlcnQgbmV3X21hbmlmZXN0LmdldF90ZXN0KHRlc3RfaWQpLmhhc19r
ZXkoIm1pbi1hc3NlcnRzIikgaXMgRmFsc2UKIAogCi1AcHl0ZXN0Lm1hcmsueGZhaWwoc3lzLnZl
cnNpb25bMF0gPT0gIjMiLAotICAgICAgICAgICAgICAgICAgIHJlYXNvbj0ibWV0YWRhdGEgZG9l
c24ndCBzdXBwb3J0IHB5MyIpCiBkZWYgdGVzdF91cGRhdGVfbHNhbl8wKCk6Ci0gICAgdGVzdHMg
PSBbKCJwYXRoL3RvL3Rlc3QuaHRtIiwgW3Rlc3RfaWRdLCAidGVzdGhhcm5lc3MiLCAiIiksCi0g
ICAgICAgICAgICAgKCJwYXRoL3RvL19fZGlyX18iLCBbZGlyX2lkXSwgTm9uZSwgIiIpXQorICAg
IHRlc3RzID0gWygicGF0aC90by90ZXN0Lmh0bSIsIFt0ZXN0X2lkXSwgInRlc3RoYXJuZXNzIiwg
YiIiKSwKKyAgICAgICAgICAgICAoInBhdGgvdG8vX19kaXJfXyIsIFtkaXJfaWRdLCBOb25lLCBi
IiIpXQogCiAgICAgbG9nXzAgPSBzdWl0ZV9sb2coWygibHNhbl9sZWFrIiwgeyJzY29wZSI6ICJw
YXRoL3RvLyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmcmFtZXMi
OiBbImZvbyIsICJiYXIiXX0pXSkKQEAgLTE1MDgsMTEgKzE0NTAsOSBAQCBkZWYgdGVzdF91cGRh
dGVfbHNhbl8wKCk6CiAgICAgYXNzZXJ0IG5ld19tYW5pZmVzdC5nZXQoImxzYW4tYWxsb3dlZCIp
ID09IFsiZm9vIl0KIAogCi1AcHl0ZXN0Lm1hcmsueGZhaWwoc3lzLnZlcnNpb25bMF0gPT0gIjMi
LAotICAgICAgICAgICAgICAgICAgIHJlYXNvbj0ibWV0YWRhdGEgZG9lc24ndCBzdXBwb3J0IHB5
MyIpCiBkZWYgdGVzdF91cGRhdGVfbHNhbl8xKCk6Ci0gICAgdGVzdHMgPSBbKCJwYXRoL3RvL3Rl
c3QuaHRtIiwgW3Rlc3RfaWRdLCAidGVzdGhhcm5lc3MiLCAiIiksCi0gICAgICAgICAgICAgKCJw
YXRoL3RvL19fZGlyX18iLCBbZGlyX2lkXSwgTm9uZSwgIiIiCisgICAgdGVzdHMgPSBbKCJwYXRo
L3RvL3Rlc3QuaHRtIiwgW3Rlc3RfaWRdLCAidGVzdGhhcm5lc3MiLCBiIiIpLAorICAgICAgICAg
ICAgICgicGF0aC90by9fX2Rpcl9fIiwgW2Rpcl9pZF0sIE5vbmUsIGIiIiIKIGxzYW4tYWxsb3dl
ZDogW2Zvb10iIiIpXQogCiAgICAgbG9nXzAgPSBzdWl0ZV9sb2coWygibHNhbl9sZWFrIiwgeyJz
Y29wZSI6ICJwYXRoL3RvLyIsCkBAIC0xNTI4LDEzICsxNDY4LDExIEBAIGxzYW4tYWxsb3dlZDog
W2Zvb10iIiIpXQogICAgIGFzc2VydCBuZXdfbWFuaWZlc3QuZ2V0KCJsc2FuLWFsbG93ZWQiKSA9
PSBbImJheiIsICJmb28iXQogCiAKLUBweXRlc3QubWFyay54ZmFpbChzeXMudmVyc2lvblswXSA9
PSAiMyIsCi0gICAgICAgICAgICAgICAgICAgcmVhc29uPSJtZXRhZGF0YSBkb2Vzbid0IHN1cHBv
cnQgcHkzIikKIGRlZiB0ZXN0X3VwZGF0ZV9sc2FuXzIoKToKLSAgICB0ZXN0cyA9IFsoInBhdGgv
dG8vdGVzdC5odG0iLCBbdGVzdF9pZF0sICJ0ZXN0aGFybmVzcyIsICIiKSwKLSAgICAgICAgICAg
ICAoInBhdGgvX19kaXJfXyIsIFsicGF0aC9fX2Rpcl9fIl0sIE5vbmUsICIiIgorICAgIHRlc3Rz
ID0gWygicGF0aC90by90ZXN0Lmh0bSIsIFt0ZXN0X2lkXSwgInRlc3RoYXJuZXNzIiwgYiIiKSwK
KyAgICAgICAgICAgICAoInBhdGgvX19kaXJfXyIsIFsicGF0aC9fX2Rpcl9fIl0sIE5vbmUsIGIi
IiIKIGxzYW4tYWxsb3dlZDogW2Zvb10iIiIpLAotICAgICAgICAgICAgICgicGF0aC90by9fX2Rp
cl9fIiwgW2Rpcl9pZF0sIE5vbmUsICIiKV0KKyAgICAgICAgICAgICAoInBhdGgvdG8vX19kaXJf
XyIsIFtkaXJfaWRdLCBOb25lLCBiIiIpXQogCiAgICAgbG9nXzAgPSBzdWl0ZV9sb2coWygibHNh
bl9sZWFrIiwgeyJzY29wZSI6ICJwYXRoL3RvLyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJmcmFtZXMiOiBbImZvbyIsICJiYXIiXSwKQEAgLTE1NTAsMTEgKzE0ODgs
OSBAQCBsc2FuLWFsbG93ZWQ6IFtmb29dIiIiKSwKICAgICBhc3NlcnQgbmV3X21hbmlmZXN0Lmdl
dCgibHNhbi1hbGxvd2VkIikgPT0gWyJiYXoiXQogCiAKLUBweXRlc3QubWFyay54ZmFpbChzeXMu
dmVyc2lvblswXSA9PSAiMyIsCi0gICAgICAgICAgICAgICAgICAgcmVhc29uPSJtZXRhZGF0YSBk
b2Vzbid0IHN1cHBvcnQgcHkzIikKIGRlZiB0ZXN0X3VwZGF0ZV9sc2FuXzMoKToKLSAgICB0ZXN0
cyA9IFsoInBhdGgvdG8vdGVzdC5odG0iLCBbdGVzdF9pZF0sICJ0ZXN0aGFybmVzcyIsICIiKSwK
LSAgICAgICAgICAgICAoInBhdGgvdG8vX19kaXJfXyIsIFtkaXJfaWRdLCBOb25lLCAiIildCisg
ICAgdGVzdHMgPSBbKCJwYXRoL3RvL3Rlc3QuaHRtIiwgW3Rlc3RfaWRdLCAidGVzdGhhcm5lc3Mi
LCBiIiIpLAorICAgICAgICAgICAgICgicGF0aC90by9fX2Rpcl9fIiwgW2Rpcl9pZF0sIE5vbmUs
IGIiIildCiAKICAgICBsb2dfMCA9IHN1aXRlX2xvZyhbKCJsc2FuX2xlYWsiLCB7InNjb3BlIjog
InBhdGgvdG8vIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZyYW1l
cyI6IFsiZm9vIiwgImJhciJdfSldLApAQCAtMTU3MiwxMSArMTUwOCw5IEBAIGRlZiB0ZXN0X3Vw
ZGF0ZV9sc2FuXzMoKToKICAgICBhc3NlcnQgbmV3X21hbmlmZXN0LmdldCgibHNhbi1hbGxvd2Vk
IikgPT0gWyJiYXoiLCAiZm9vIl0KIAogCi1AcHl0ZXN0Lm1hcmsueGZhaWwoc3lzLnZlcnNpb25b
MF0gPT0gIjMiLAotICAgICAgICAgICAgICAgICAgIHJlYXNvbj0ibWV0YWRhdGEgZG9lc24ndCBz
dXBwb3J0IHB5MyIpCiBkZWYgdGVzdF91cGRhdGVfd3B0cmVwb3J0XzAoKToKICAgICB0ZXN0cyA9
IFsoInBhdGgvdG8vdGVzdC5odG0iLCBbdGVzdF9pZF0sICJ0ZXN0aGFybmVzcyIsCi0gICAgICAg
ICAgICAgICIiIlt0ZXN0Lmh0bV0KKyAgICAgICAgICAgICAgYiIiIlt0ZXN0Lmh0bV0KICAgW3Rl
c3QxXQogICAgIGV4cGVjdGVkOiBGQUlMIiIiKV0KIApAQCAtMTU5NCwxMSArMTUyOCw5IEBAIGRl
ZiB0ZXN0X3VwZGF0ZV93cHRyZXBvcnRfMCgpOgogICAgIGFzc2VydCB1cGRhdGVkWzBdWzFdLmlz
X2VtcHR5CiAKIAotQHB5dGVzdC5tYXJrLnhmYWlsKHN5cy52ZXJzaW9uWzBdID09ICIzIiwKLSAg
ICAgICAgICAgICAgICAgICByZWFzb249Im1ldGFkYXRhIGRvZXNuJ3Qgc3VwcG9ydCBweTMiKQog
ZGVmIHRlc3RfdXBkYXRlX3dwdHJlcG9ydF8xKCk6Ci0gICAgdGVzdHMgPSBbKCJwYXRoL3RvL3Rl
c3QuaHRtIiwgW3Rlc3RfaWRdLCAidGVzdGhhcm5lc3MiLCAiIiksCi0gICAgICAgICAgICAgKCJw
YXRoL3RvL19fZGlyX18iLCBbZGlyX2lkXSwgTm9uZSwgIiIpXQorICAgIHRlc3RzID0gWygicGF0
aC90by90ZXN0Lmh0bSIsIFt0ZXN0X2lkXSwgInRlc3RoYXJuZXNzIiwgYiIiKSwKKyAgICAgICAg
ICAgICAoInBhdGgvdG8vX19kaXJfXyIsIFtkaXJfaWRdLCBOb25lLCBiIiIpXQogCiAgICAgbG9n
ID0geyJydW5faW5mbyI6IGRlZmF1bHRfcnVuX2luZm8uY29weSgpLAogICAgICAgICAgICAicmVz
dWx0cyI6IFtdLApAQCAtMTYxMSwxMSArMTU0Myw5IEBAIGRlZiB0ZXN0X3VwZGF0ZV93cHRyZXBv
cnRfMSgpOgogICAgIGFzc2VydCB1cGRhdGVkWzBdWzFdLmdldCgibHNhbi1hbGxvd2VkIikgPT0g
WyJiYXoiXQogCiAKLUBweXRlc3QubWFyay54ZmFpbChzeXMudmVyc2lvblswXSA9PSAiMyIsCi0g
ICAgICAgICAgICAgICAgICAgcmVhc29uPSJtZXRhZGF0YSBkb2Vzbid0IHN1cHBvcnQgcHkzIikK
IGRlZiB0ZXN0X3VwZGF0ZV9sZWFrX3RvdGFsXzAoKToKLSAgICB0ZXN0cyA9IFsoInBhdGgvdG8v
dGVzdC5odG0iLCBbdGVzdF9pZF0sICJ0ZXN0aGFybmVzcyIsICIiKSwKLSAgICAgICAgICAgICAo
InBhdGgvdG8vX19kaXJfXyIsIFtkaXJfaWRdLCBOb25lLCAiIildCisgICAgdGVzdHMgPSBbKCJw
YXRoL3RvL3Rlc3QuaHRtIiwgW3Rlc3RfaWRdLCAidGVzdGhhcm5lc3MiLCBiIiIpLAorICAgICAg
ICAgICAgICgicGF0aC90by9fX2Rpcl9fIiwgW2Rpcl9pZF0sIE5vbmUsIGIiIildCiAKICAgICBs
b2dfMCA9IHN1aXRlX2xvZyhbKCJtb3psZWFrX3RvdGFsIiwgeyJzY29wZSI6ICJwYXRoL3RvLyIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJvY2VzcyI6ICJk
ZWZhdWx0IiwKQEAgLTE2MzAsMTEgKzE1NjAsOSBAQCBkZWYgdGVzdF91cGRhdGVfbGVha190b3Rh
bF8wKCk6CiAgICAgYXNzZXJ0IG5ld19tYW5pZmVzdC5nZXQoImxlYWstdGhyZXNob2xkIikgPT0g
WydkZWZhdWx0OjUxMjAwJ10KIAogCi1AcHl0ZXN0Lm1hcmsueGZhaWwoc3lzLnZlcnNpb25bMF0g
PT0gIjMiLAotICAgICAgICAgICAgICAgICAgIHJlYXNvbj0ibWV0YWRhdGEgZG9lc24ndCBzdXBw
b3J0IHB5MyIpCiBkZWYgdGVzdF91cGRhdGVfbGVha190b3RhbF8xKCk6Ci0gICAgdGVzdHMgPSBb
KCJwYXRoL3RvL3Rlc3QuaHRtIiwgW3Rlc3RfaWRdLCAidGVzdGhhcm5lc3MiLCAiIiksCi0gICAg
ICAgICAgICAgKCJwYXRoL3RvL19fZGlyX18iLCBbZGlyX2lkXSwgTm9uZSwgIiIpXQorICAgIHRl
c3RzID0gWygicGF0aC90by90ZXN0Lmh0bSIsIFt0ZXN0X2lkXSwgInRlc3RoYXJuZXNzIiwgYiIi
KSwKKyAgICAgICAgICAgICAoInBhdGgvdG8vX19kaXJfXyIsIFtkaXJfaWRdLCBOb25lLCBiIiIp
XQogCiAgICAgbG9nXzAgPSBzdWl0ZV9sb2coWygibW96bGVha190b3RhbCIsIHsic2NvcGUiOiAi
cGF0aC90by8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBy
b2Nlc3MiOiAiZGVmYXVsdCIsCkBAIC0xNjQ2LDExICsxNTc0LDkgQEAgZGVmIHRlc3RfdXBkYXRl
X2xlYWtfdG90YWxfMSgpOgogICAgIGFzc2VydCBub3QgdXBkYXRlZAogCiAKLUBweXRlc3QubWFy
ay54ZmFpbChzeXMudmVyc2lvblswXSA9PSAiMyIsCi0gICAgICAgICAgICAgICAgICAgcmVhc29u
PSJtZXRhZGF0YSBkb2Vzbid0IHN1cHBvcnQgcHkzIikKIGRlZiB0ZXN0X3VwZGF0ZV9sZWFrX3Rv
dGFsXzIoKToKLSAgICB0ZXN0cyA9IFsoInBhdGgvdG8vdGVzdC5odG0iLCBbdGVzdF9pZF0sICJ0
ZXN0aGFybmVzcyIsICIiKSwKLSAgICAgICAgICAgICAoInBhdGgvdG8vX19kaXJfXyIsIFtkaXJf
aWRdLCBOb25lLCAiIiIKKyAgICB0ZXN0cyA9IFsoInBhdGgvdG8vdGVzdC5odG0iLCBbdGVzdF9p
ZF0sICJ0ZXN0aGFybmVzcyIsIGIiIiksCisgICAgICAgICAgICAgKCJwYXRoL3RvL19fZGlyX18i
LCBbZGlyX2lkXSwgTm9uZSwgYiIiIgogbGVhay10b3RhbDogMTEwIiIiKV0KIAogICAgIGxvZ18w
ID0gc3VpdGVfbG9nKFsoIm1vemxlYWtfdG90YWwiLCB7InNjb3BlIjogInBhdGgvdG8vIiwKQEAg
LTE2NjMsMTEgKzE1ODksOSBAQCBsZWFrLXRvdGFsOiAxMTAiIiIpXQogICAgIGFzc2VydCBub3Qg
dXBkYXRlZAogCiAKLUBweXRlc3QubWFyay54ZmFpbChzeXMudmVyc2lvblswXSA9PSAiMyIsCi0g
ICAgICAgICAgICAgICAgICAgcmVhc29uPSJtZXRhZGF0YSBkb2Vzbid0IHN1cHBvcnQgcHkzIikK
IGRlZiB0ZXN0X3VwZGF0ZV9sZWFrX3RvdGFsXzMoKToKLSAgICB0ZXN0cyA9IFsoInBhdGgvdG8v
dGVzdC5odG0iLCBbdGVzdF9pZF0sICJ0ZXN0aGFybmVzcyIsICIiKSwKLSAgICAgICAgICAgICAo
InBhdGgvdG8vX19kaXJfXyIsIFtkaXJfaWRdLCBOb25lLCAiIiIKKyAgICB0ZXN0cyA9IFsoInBh
dGgvdG8vdGVzdC5odG0iLCBbdGVzdF9pZF0sICJ0ZXN0aGFybmVzcyIsIGIiIiksCisgICAgICAg
ICAgICAgKCJwYXRoL3RvL19fZGlyX18iLCBbZGlyX2lkXSwgTm9uZSwgYiIiIgogbGVhay10b3Rh
bDogMTAwIiIiKV0KIAogICAgIGxvZ18wID0gc3VpdGVfbG9nKFsoIm1vemxlYWtfdG90YWwiLCB7
InNjb3BlIjogInBhdGgvdG8vIiwKQEAgLTE2ODMsMTEgKzE2MDcsOSBAQCBsZWFrLXRvdGFsOiAx
MDAiIiIpXQogICAgIGFzc2VydCBuZXdfbWFuaWZlc3QuZ2V0KCJsZWFrLXRocmVzaG9sZCIpID09
IFsnZGVmYXVsdDo1MTIwMCddCiAKIAotQHB5dGVzdC5tYXJrLnhmYWlsKHN5cy52ZXJzaW9uWzBd
ID09ICIzIiwKLSAgICAgICAgICAgICAgICAgICByZWFzb249Im1ldGFkYXRhIGRvZXNuJ3Qgc3Vw
cG9ydCBweTMiKQogZGVmIHRlc3RfdXBkYXRlX2xlYWtfdG90YWxfNCgpOgotICAgIHRlc3RzID0g
WygicGF0aC90by90ZXN0Lmh0bSIsIFt0ZXN0X2lkXSwgInRlc3RoYXJuZXNzIiwgIiIpLAotICAg
ICAgICAgICAgICgicGF0aC90by9fX2Rpcl9fIiwgW2Rpcl9pZF0sIE5vbmUsICIiIgorICAgIHRl
c3RzID0gWygicGF0aC90by90ZXN0Lmh0bSIsIFt0ZXN0X2lkXSwgInRlc3RoYXJuZXNzIiwgYiIi
KSwKKyAgICAgICAgICAgICAoInBhdGgvdG8vX19kaXJfXyIsIFtkaXJfaWRdLCBOb25lLCBiIiIi
CiBsZWFrLXRvdGFsOiAxMTAiIiIpXQogCiAgICAgbG9nXzAgPSBzdWl0ZV9sb2coWwpAQCAtMTcx
Niw4ICsxNjM4LDYgQEAgY2xhc3MgVXBkYXRlUnVubmVyKFN0ZXBSdW5uZXIpOgogICAgIHN0ZXBz
ID0gW1Rlc3RTdGVwXQogCiAKLUBweXRlc3QubWFyay54ZmFpbChzeXMudmVyc2lvblswXSA9PSAi
MyIsCi0gICAgICAgICAgICAgICAgICAgcmVhc29uPSJ1cGRhdGUuc3RhdGUgZG9lc24ndCBzdXBw
b3J0IHB5MyIpCiBkZWYgdGVzdF91cGRhdGVfcGlja2xlKCk6CiAgICAgbG9nZ2VyID0gc3RydWN0
dXJlZGxvZy5TdHJ1Y3R1cmVkTG9nZ2VyKCJleHBlY3RlZF90ZXN0IikKICAgICBhcmdzID0gewpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Rlc3RzL3Rlc3Rfd3B0dGVzdC5weSBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1
bm5lci90ZXN0cy90ZXN0X3dwdHRlc3QucHkKaW5kZXggOWJiM2UxZmQzNGUzN2M0NDMwZjc1MmI4
N2U0YmI0ZTNiZmE3Zjk1OS4uZGJjY2Q5MGUzMzk1ODBhOGQ1ZmExMDA1YmUwNDM0MDk1YzQ2ODI2
OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Rlc3RzL3Rlc3Rfd3B0dGVzdC5weQorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci93cHRydW5uZXIvdGVzdHMvdGVzdF93cHR0ZXN0LnB5CkBAIC0xLDM1ICsxLDM0IEBACi1pbXBv
cnQgcHl0ZXN0Ci1pbXBvcnQgc3lzCiBmcm9tIGlvIGltcG9ydCBCeXRlc0lPCiBmcm9tIG1vY2sg
aW1wb3J0IE1vY2sKIAogZnJvbSBtYW5pZmVzdCBpbXBvcnQgbWFuaWZlc3QgYXMgd3B0bWFuaWZl
c3QKLWZyb20gbWFuaWZlc3QuaXRlbSBpbXBvcnQgVGVzdGhhcm5lc3NUZXN0Citmcm9tIG1hbmlm
ZXN0Lml0ZW0gaW1wb3J0IFRlc3RoYXJuZXNzVGVzdCwgUmVmVGVzdAorZnJvbSBtYW5pZmVzdC51
dGlscyBpbXBvcnQgdG9fb3NfcGF0aAogZnJvbSAuLiBpbXBvcnQgbWFuaWZlc3RleHBlY3RlZCwg
d3B0dGVzdAogCi1kaXJfaW5pXzAgPSAiIiJcCitkaXJfaW5pXzAgPSBiIiIiXAogcHJlZnM6IFth
OmJdCiAiIiIKIAotZGlyX2luaV8xID0gIiIiXAorZGlyX2luaV8xID0gYiIiIlwKIHByZWZzOiBb
QFJlc2V0LCBiOmNdCiBtYXgtYXNzZXJ0czogMgogbWluLWFzc2VydHM6IDEKIHRhZ3M6IFtiLCBj
XQogIiIiCiAKLWRpcl9pbmlfMiA9ICIiIlwKK2Rpcl9pbmlfMiA9IGIiIiJcCiBsc2FuLW1heC1z
dGFjay1kZXB0aDogNDIKICIiIgogCi10ZXN0XzAgPSAiIiJcCit0ZXN0XzAgPSBiIiIiXAogWzAu
aHRtbF0KICAgcHJlZnM6IFtjOmRdCiAgIG1heC1hc3NlcnRzOiAzCiAgIHRhZ3M6IFthLCBAUmVz
ZXRdCiAiIiIKIAotdGVzdF8xID0gIiIiXAordGVzdF8xID0gYiIiIlwKIFsxLmh0bWxdCiAgIHBy
ZWZzOgogICAgIGlmIG9zID09ICd3aW4nOiBbYTpiLCBjOmRdCkBAIC0zNywxMiArMzYsMTIgQEAg
dGVzdF8xID0gIiIiXAogICAgIGlmIG9zID09ICd3aW4nOiBGQUlMCiAiIiIKIAotdGVzdF8yID0g
IiIiXAordGVzdF8yID0gYiIiIlwKIFsyLmh0bWxdCiAgIGxzYW4tbWF4LXN0YWNrLWRlcHRoOiA0
MgogIiIiCiAKLXRlc3RfMyA9ICIiIlwKK3Rlc3RfMyA9IGIiIiJcCiBbMy5odG1sXQogICBbc3Vi
dGVzdDFdCiAgICAgZXhwZWN0ZWQ6IFtQQVNTLCBGQUlMXQpAQCAtNTQsMzIgKzUzLDMyIEBAIHRl
c3RfMyA9ICIiIlwKICAgICBleHBlY3RlZDogRkFJTAogIiIiCiAKLXRlc3RfNCA9ICIiIlwKK3Rl
c3RfNCA9IGIiIiJcCiBbNC5odG1sXQogICBleHBlY3RlZDogRkFJTAogIiIiCiAKLXRlc3RfNSA9
ICIiIlwKK3Rlc3RfNSA9IGIiIiJcCiBbNS5odG1sXQogIiIiCiAKLXRlc3RfNiA9ICIiIlwKK3Rl
c3RfNiA9IGIiIiJcCiBbNi5odG1sXQogICBleHBlY3RlZDogW09LLCBGQUlMXQogIiIiCiAKLXRl
c3RfNyA9ICIiIlwKK3Rlc3RfNyA9IGIiIiJcCiBbNy5odG1sXQogICBibGlua19leHBlY3RfYW55
X3N1YnRlc3Rfc3RhdHVzOiB5ZXAKICIiIgogCi10ZXN0X2Z1enp5ID0gIiIiXAordGVzdF9mdXp6
eSA9IGIiIiJcCiBbZnV6enkuaHRtbF0KICAgZnV6enk6IGZ1enp5LXJlZi5odG1sOjE7MjAwCiAi
IiIKIAogCi10ZXN0aGFybmVzc190ZXN0ID0gIiIiPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgordGVzdGhhcm5lc3NfdGVzdCA9IGIiIiI8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+IiIiCiAKIApAQCAtMTE3LDgg
KzExNiw2IEBAIGRlZiBtYWtlX3Rlc3Rfb2JqZWN0KHRlc3RfbmFtZSwKICAgICByZXR1cm4gd3B0
dGVzdC5mcm9tX21hbmlmZXN0KHRlc3RzLCB0ZXN0LCBpbmhlcml0X21ldGFkYXRhLCB0ZXN0X21l
dGFkYXRhLmdldF90ZXN0KHRlc3QuaWQpKQogCiAKLUBweXRlc3QubWFyay54ZmFpbChzeXMudmVy
c2lvblswXSA9PSAiMyIsCi0gICAgICAgICAgICAgICAgICAgcmVhc29uPSJieXRlcy90ZXh0IGNv
bmZ1c2lvbiBpbiBweTMiKQogZGVmIHRlc3RfbWV0YWRhdGFfaW5oZXJpdCgpOgogICAgIGl0ZW1z
ID0gWygidGVzdCIsICJhIiwgMTApLCAoInRlc3QiLCAiYS9iIiwgMTApLCAoInRlc3QiLCAiYyIs
IDEwKV0KICAgICBpbmhlcml0X21ldGFkYXRhID0gWwpAQCAtMTM2LDggKzEzMyw2IEBAIGRlZiB0
ZXN0X21ldGFkYXRhX2luaGVyaXQoKToKICAgICBhc3NlcnQgdGVzdF9vYmoudGFncyA9PSB7ImEi
LCAiZGlyOmEifQogCiAKLUBweXRlc3QubWFyay54ZmFpbChzeXMudmVyc2lvblswXSA9PSAiMyIs
Ci0gICAgICAgICAgICAgICAgICAgcmVhc29uPSJieXRlcy90ZXh0IGNvbmZ1c2lvbiBpbiBweTMi
KQogZGVmIHRlc3RfY29uZGl0aW9uYWwoKToKICAgICBpdGVtcyA9IFsoInRlc3QiLCAiYSIsIDEw
KSwgKCJ0ZXN0IiwgImEvYiIsIDEwKSwgKCJ0ZXN0IiwgImMiLCAxMCldCiAKQEAgLTE0Nyw4ICsx
NDIsNiBAQCBkZWYgdGVzdF9jb25kaXRpb25hbCgpOgogICAgIGFzc2VydCB0ZXN0X29iai5leHBl
Y3RlZCgpID09ICJGQUlMIgogCiAKLUBweXRlc3QubWFyay54ZmFpbChzeXMudmVyc2lvblswXSA9
PSAiMyIsCi0gICAgICAgICAgICAgICAgICAgcmVhc29uPSJieXRlcy90ZXh0IGNvbmZ1c2lvbiBp
biBweTMiKQogZGVmIHRlc3RfbWV0YWRhdGFfbHNhbl9zdGFja19kZXB0aCgpOgogICAgIGl0ZW1z
ID0gWygidGVzdCIsICJhIiwgMTApLCAoInRlc3QiLCAiYS9iIiwgMTApXQogCkBAIC0xNzIsOCAr
MTY1LDYgQEAgZGVmIHRlc3RfbWV0YWRhdGFfbHNhbl9zdGFja19kZXB0aCgpOgogICAgIGFzc2Vy
dCB0ZXN0X29iai5sc2FuX21heF9zdGFja19kZXB0aCA9PSA0MgogCiAKLUBweXRlc3QubWFyay54
ZmFpbChzeXMudmVyc2lvblswXSA9PSAiMyIsCi0gICAgICAgICAgICAgICAgICAgcmVhc29uPSJi
eXRlcy90ZXh0IGNvbmZ1c2lvbiBpbiBweTMiKQogZGVmIHRlc3Rfc3VidGVzdHMoKToKICAgICB0
ZXN0X29iaiA9IG1ha2VfdGVzdF9vYmplY3QodGVzdF8zLCAiYS8zLmh0bWwiLCAzLCAoInRlc3Qi
LCAiYSIsIDQpLCBOb25lLCBGYWxzZSkKICAgICBhc3NlcnQgdGVzdF9vYmouZXhwZWN0ZWQoInN1
YnRlc3QxIikgPT0gIlBBU1MiCkBAIC0xODQsNTcgKzE3NSw1MCBAQCBkZWYgdGVzdF9zdWJ0ZXN0
cygpOgogICAgIGFzc2VydCB0ZXN0X29iai5rbm93bl9pbnRlcm1pdHRlbnQoInN1YnRlc3QzIikg
PT0gW10KIAogCi1AcHl0ZXN0Lm1hcmsueGZhaWwoc3lzLnZlcnNpb25bMF0gPT0gIjMiLAotICAg
ICAgICAgICAgICAgICAgIHJlYXNvbj0iYnl0ZXMvdGV4dCBjb25mdXNpb24gaW4gcHkzIikKIGRl
ZiB0ZXN0X2V4cGVjdGVkX2ZhaWwoKToKICAgICB0ZXN0X29iaiA9IG1ha2VfdGVzdF9vYmplY3Qo
dGVzdF80LCAiYS80Lmh0bWwiLCA0LCAoInRlc3QiLCAiYSIsIDUpLCBOb25lLCBGYWxzZSkKICAg
ICBhc3NlcnQgdGVzdF9vYmouZXhwZWN0ZWQoKSA9PSAiRkFJTCIKICAgICBhc3NlcnQgdGVzdF9v
Ymoua25vd25faW50ZXJtaXR0ZW50KCkgPT0gW10KIAogCi1AcHl0ZXN0Lm1hcmsueGZhaWwoc3lz
LnZlcnNpb25bMF0gPT0gIjMiLAotICAgICAgICAgICAgICAgICAgIHJlYXNvbj0iYnl0ZXMvdGV4
dCBjb25mdXNpb24gaW4gcHkzIikKIGRlZiB0ZXN0X25vX2V4cGVjdGVkKCk6CiAgICAgdGVzdF9v
YmogPSBtYWtlX3Rlc3Rfb2JqZWN0KHRlc3RfNSwgImEvNS5odG1sIiwgNSwgKCJ0ZXN0IiwgImEi
LCA2KSwgTm9uZSwgRmFsc2UpCiAgICAgYXNzZXJ0IHRlc3Rfb2JqLmV4cGVjdGVkKCkgPT0gIk9L
IgogICAgIGFzc2VydCB0ZXN0X29iai5rbm93bl9pbnRlcm1pdHRlbnQoKSA9PSBbXQogCiAKLUBw
eXRlc3QubWFyay54ZmFpbChzeXMudmVyc2lvblswXSA9PSAiMyIsCi0gICAgICAgICAgICAgICAg
ICAgcmVhc29uPSJieXRlcy90ZXh0IGNvbmZ1c2lvbiBpbiBweTMiKQogZGVmIHRlc3Rfa25vd25f
aW50ZXJtaXR0ZW50KCk6CiAgICAgdGVzdF9vYmogPSBtYWtlX3Rlc3Rfb2JqZWN0KHRlc3RfNiwg
ImEvNi5odG1sIiwgNiwgKCJ0ZXN0IiwgImEiLCA3KSwgTm9uZSwgRmFsc2UpCiAgICAgYXNzZXJ0
IHRlc3Rfb2JqLmV4cGVjdGVkKCkgPT0gIk9LIgogICAgIGFzc2VydCB0ZXN0X29iai5rbm93bl9p
bnRlcm1pdHRlbnQoKSA9PSBbIkZBSUwiXQogCiAKLUBweXRlc3QubWFyay54ZmFpbChzeXMudmVy
c2lvblswXSA9PSAiMyIsCi0gICAgICAgICAgICAgICAgICAgcmVhc29uPSJieXRlcy90ZXh0IGNv
bmZ1c2lvbiBpbiBweTMiKQogZGVmIHRlc3RfZXhwZWN0X2FueV9zdWJ0ZXN0X3N0YXR1cygpOgog
ICAgIHRlc3Rfb2JqID0gbWFrZV90ZXN0X29iamVjdCh0ZXN0XzcsICJhLzcuaHRtbCIsIDcsICgi
dGVzdCIsICJhIiwgOCksIE5vbmUsIEZhbHNlKQogICAgIGFzc2VydCB0ZXN0X29iai5leHBlY3Rl
ZCgpID09ICJPSyIKICAgICBhc3NlcnQgdGVzdF9vYmouZXhwZWN0X2FueV9zdWJ0ZXN0X3N0YXR1
cygpIGlzIFRydWUKIAogCi1AcHl0ZXN0Lm1hcmsueGZhaWwoc3lzLnZlcnNpb25bMF0gPT0gIjMi
LAotICAgICAgICAgICAgICAgICAgIHJlYXNvbj0iYnl0ZXMvdGV4dCBjb25mdXNpb24gaW4gcHkz
IikKIGRlZiB0ZXN0X21ldGFkYXRhX2Z1enp5KCk6Ci0gICAgbWFuaWZlc3RfZGF0YSA9IHsKLSAg
ICAgICAgIml0ZW1zIjogeyJyZWZ0ZXN0IjogeyJhL2Z1enp5Lmh0bWwiOiBbWyJhL2Z1enp5Lmh0
bWwiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1si
L2EvZnV6enktcmVmLmh0bWwiLCAiPT0iXV0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB7ImZ1enp5IjogW1tbIi9hL2Z1enp5Lmh0bWwiLCAnL2EvZnV6
enktcmVmLmh0bWwnLCAnPT0nXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFtbMiwgM10sIFsxMCwgMTVdXV1dfV1dfX0sCi0gICAg
ICAgICJwYXRocyI6IHsiYS9mdXp6eS5odG1sIjogWyIwIio0MCwgInJlZnRlc3QiXX0sCi0gICAg
ICAgICJ2ZXJzaW9uIjogNywKLSAgICAgICAgInVybF9iYXNlIjogIi8ifQotICAgIG1hbmlmZXN0
ID0gd3B0bWFuaWZlc3QuTWFuaWZlc3QuZnJvbV9qc29uKCIuIiwgbWFuaWZlc3RfZGF0YSkKKyAg
ICBpdGVtID0gUmVmVGVzdCgiLiIsICJhL2Z1enp5Lmh0bWwiLCAiLyIsICJhL2Z1enp5Lmh0bWwi
LAorICAgICAgICAgICAgICAgICAgIHJlZmVyZW5jZXM9W1siL2EvZnV6enktcmVmLmh0bWwiLCAi
PT0iXV0sCisgICAgICAgICAgICAgICAgICAgZnV6enk9W1tbIi9hL2Z1enp5Lmh0bWwiLCAnL2Ev
ZnV6enktcmVmLmh0bWwnLCAnPT0nXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFtbMiwg
M10sIFsxMCwgMTVdXV1dKQorICAgIHMgPSBNb2NrKHJlbF9wYXRoPSJhL2Z1enp5Lmh0bWwiLCBy
ZWxfcGF0aF9wYXJ0cz0oImEiLCAiZnV6enkuaHRtbCIpLCBoYXNoPSIwIio0MCkKKyAgICBzLm1h
bmlmZXN0X2l0ZW1zID0gTW9jayhyZXR1cm5fdmFsdWU9KGl0ZW0uaXRlbV90eXBlLCBbaXRlbV0p
KQorCisKKyAgICBtYW5pZmVzdCA9IHdwdG1hbmlmZXN0Lk1hbmlmZXN0KCkKKworICAgIGFzc2Vy
dCBtYW5pZmVzdC51cGRhdGUoWyhzLCBUcnVlKV0pIGlzIFRydWUKKwogICAgIHRlc3RfbWV0YWRh
dGEgPSBtYW5pZmVzdGV4cGVjdGVkLnN0YXRpYy5jb21waWxlKEJ5dGVzSU8odGVzdF9mdXp6eSks
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge30s
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0
YV9jbHNfZ2V0dGVyPW1hbmlmZXN0ZXhwZWN0ZWQuZGF0YV9jbHNfZ2V0dGVyLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfcGF0aD0iYS9m
dXp6eS5odG1sIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1cmxfYmFzZT0iLyIpCiAKLSAgICB0ZXN0ID0gbWFuaWZlc3QuaXRlcnBhdGgoImEv
ZnV6enkuaHRtbCIpLm5leHQoKQorICAgIHRlc3QgPSBuZXh0KG1hbmlmZXN0Lml0ZXJwYXRoKHRv
X29zX3BhdGgoImEvZnV6enkuaHRtbCIpKSkKICAgICB0ZXN0X29iaiA9IHdwdHRlc3QuZnJvbV9t
YW5pZmVzdChtYW5pZmVzdCwgdGVzdCwgW10sIHRlc3RfbWV0YWRhdGEuZ2V0X3Rlc3QodGVzdC5p
ZCkpCiAKICAgICBhc3NlcnQgdGVzdF9vYmouZnV6enkgPT0geygnL2EvZnV6enkuaHRtbCcsICcv
YS9mdXp6eS1yZWYuaHRtbCcsICc9PScpOiBbWzIsIDNdLCBbMTAsIDE1XV19CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci93cHRydW5uZXIvdXBkYXRlL19faW5pdF9fLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3VwZGF0ZS9f
X2luaXRfXy5weQppbmRleCAyNjI2MTgzZmM4MGRiYzc1ZDNkMjg1ZGU3OWE3ZDM4NmY1M2NlNmUz
Li43OGNkYTljMmQ2NTVmNDJkNjgxMTNmNzkxMDdlMjRhZTQxN2FmZjNmIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci93cHRydW5uZXIvdXBkYXRlL19faW5pdF9fLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci91cGRhdGUv
X19pbml0X18ucHkKQEAgLTE0LDcgKzE0LDcgQEAgZGVmIHJlbW92ZV9sb2dnaW5nX2FyZ3MoYXJn
cyk6CiAKICAgICA6cGFyYW0gYXJnczogRGljdGlvbmFyeSBvZiBjb21tYW5kIGxpbmUgYXJndW1l
bnRzLgogICAgICIiIgotICAgIGZvciBuYW1lIGluIGFyZ3Mua2V5cygpOgorICAgIGZvciBuYW1l
IGluIGxpc3QoYXJncy5rZXlzKCkpOgogICAgICAgICBpZiBuYW1lLnN0YXJ0c3dpdGgoImxvZ18i
KToKICAgICAgICAgICAgIGFyZ3MucG9wKG5hbWUpCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5l
ci91cGRhdGUvc3RhdGUucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdXBkYXRlL3N0YXRlLnB5CmluZGV4IDY0
ZGJmMTE4MDYwNGNkOGRmN2E0NjhlMDM2NDQ3Zjk1YjgwMzcxYjAuLmY4YTgzNTI1Y2JkNDcwNmJk
ZmJjOTlhNTE4ZDJiYWMxMjNkMzRlOTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci91cGRhdGUv
c3RhdGUucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3VwZGF0ZS9zdGF0ZS5weQpAQCAtMTEsNyArMTEs
NyBAQCBjbGFzcyBCYXNlU3RhdGUob2JqZWN0KToKICAgICAgICAgICAgIHJldHVybiBydgogCiAg
ICAgICAgIGxvZ2dlci5kZWJ1ZygiTm8gZXhpc3Rpbmcgc3RhdGUgZm91bmQiKQotICAgICAgICBy
ZXR1cm4gb2JqZWN0Ll9fbmV3X18oY2xzLCBsb2dnZXIpCisgICAgICAgIHJldHVybiBzdXBlcihC
YXNlU3RhdGUsIGNscykuX19uZXdfXyhjbHMpCiAKICAgICBkZWYgX19pbml0X18oc2VsZiwgbG9n
Z2VyKToKICAgICAgICAgIiIiT2JqZWN0IGNvbnRhaW5pbmcgc3RhdGUgdmFyaWFibGVzIGNyZWF0
ZWQgd2hlbiBydW5uaW5nIFN0ZXBzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3VwZGF0ZS9z
eW5jLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvd3B0cnVubmVyL3VwZGF0ZS9zeW5jLnB5CmluZGV4IDBkNzVhMTIzMmZjMGNi
YTlmYmQ2ZThhMzM2M2FkZWEwNDc1ZGQ0MzYuLjBhNDFmNzA2ZWJjMzc2MDcyOWQ5YmE1NTMwNzZm
ZTBkN2UwYjQwYjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci91cGRhdGUvc3luYy5weQorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci93cHRydW5uZXIvdXBkYXRlL3N5bmMucHkKQEAgLTEwLDM3ICsxMCw2IEBAIGZyb20gLnRy
ZWUgaW1wb3J0IENvbW1pdAogCiBoZXJlID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguc3BsaXQo
X19maWxlX18pWzBdKQogCi1ic2RfbGljZW5zZSA9ICIiIlczQyAzLWNsYXVzZSBCU0QgTGljZW5z
ZQotCi1SZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKLW1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLW1ldDoKLQotKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygd29ya3MgbXVzdCByZXRhaW4gdGhlIG9yaWdpbmFsIGNvcHlyaWdodCBub3RpY2UsIHRoaXMK
LSAgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0KLSog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBvcmlnaW5h
bCBjb3B5cmlnaHQKLSAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotCi0qIE5laXRoZXIgdGhl
IG5hbWUgb2YgdGhlIFczQyBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJl
Ci0gIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHdvcmsgd2l0aG91dAotICBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0KLQot
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUyAiQVMKLUlTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi1JTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQot
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFCi1MSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi1DT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
Ci1JTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgotQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLUFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCi1QT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSIiIgotCiAKIGRlZiBjb3B5X3dwdF90cmVlKHRyZWUs
IGRlc3QsIGV4Y2x1ZGVzPU5vbmUsIGluY2x1ZGVzPU5vbmUpOgogICAgICIiIkNvcHkgdGhlIHdv
cmtpbmcgY29weSBvZiBhIFRyZWUgdG8gYSBkZXN0aW5hdGlvbiBkaXJlY3RvcnkuCkBAIC04NCwx
NiArNTMsNiBAQCBkZWYgY29weV93cHRfdHJlZSh0cmVlLCBkZXN0LCBleGNsdWRlcz1Ob25lLCBp
bmNsdWRlcz1Ob25lKToKICAgICAgICAgZGVzdF9wYXRoID0gb3MucGF0aC5qb2luKGRlc3QsIGRl
c3RpbmF0aW9uLCBvcy5wYXRoLnNwbGl0KHNvdXJjZSlbMV0pCiAgICAgICAgIHNodXRpbC5jb3B5
Mihzb3VyY2VfcGF0aCwgZGVzdF9wYXRoKQogCi0gICAgYWRkX2xpY2Vuc2UoZGVzdCkKLQotCi1k
ZWYgYWRkX2xpY2Vuc2UoZGVzdCk6Ci0gICAgIiIiV3JpdGUgdGhlIGJzZCBsaWNlbnNlIHN0cmlu
ZyB0byBhIExJQ0VOU0UgZmlsZS4KLQotICAgIDpwYXJhbSBkZXN0OiBEaXJlY3RvcnkgaW4gd2hp
Y2ggdG8gcGxhY2UgdGhlIExJQ0VOU0UgZmlsZS4iIiIKLSAgICB3aXRoIG9wZW4ob3MucGF0aC5q
b2luKGRlc3QsICJMSUNFTlNFIiksICJ3IikgYXMgZjoKLSAgICAgICAgZi53cml0ZShic2RfbGlj
ZW5zZSkKLQogCiBjbGFzcyBVcGRhdGVDaGVja291dChTdGVwKToKICAgICAiIiJQdWxsIGNoYW5n
ZXMgZnJvbSB1cHN0cmVhbSBpbnRvIHRoZSBsb2NhbCBzeW5jIHRyZWUuIiIiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci93cHRydW5uZXIvdXBkYXRlL3RyZWUucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdXBkYXRlL3RyZWUu
cHkKaW5kZXggOTAwNmRmNjcxOTMzMmFlNTkyZWUzODYxNDg1ZDgyYzIxMjQyM2I0OC4uZjM2Mjc3
MGZmMTZkMzBlNDQ5ZGU4NTNmNjg3NDY3Mjk3YjBlZDA3NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVu
bmVyL3VwZGF0ZS90cmVlLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci91cGRhdGUvdHJlZS5weQpAQCAt
Myw2ICszLDggQEAgaW1wb3J0IHJlCiBpbXBvcnQgc3VicHJvY2VzcwogaW1wb3J0IHRlbXBmaWxl
CiAKK2Zyb20gc2l4Lm1vdmVzIGltcG9ydCByYW5nZQorCiBmcm9tIC4uIGltcG9ydCB2Y3MKIGZy
b20gLi52Y3MgaW1wb3J0IGdpdCwgaGcKIApAQCAtMTYsNyArMTgsNyBAQCBkZWYgZ2V0X3VuaXF1
ZV9uYW1lKGV4aXN0aW5nLCBpbml0aWFsKToKICAgICA6cGFyYW0gaW5pdGlhbDogTmFtZSwgb3Ig
bmFtZSBwcmVmaXgsIHRvIHVzZSIiIgogICAgIGlmIGluaXRpYWwgbm90IGluIGV4aXN0aW5nOgog
ICAgICAgICByZXR1cm4gaW5pdGlhbAotICAgIGZvciBpIGluIHhyYW5nZShsZW4oZXhpc3Rpbmcp
ICsgMSk6CisgICAgZm9yIGkgaW4gcmFuZ2UobGVuKGV4aXN0aW5nKSArIDEpOgogICAgICAgICB0
ZXN0ID0gIiVzXyVzIiAlIChpbml0aWFsLCBpICsgMSkKICAgICAgICAgaWYgdGVzdCBub3QgaW4g
ZXhpc3Rpbmc6CiAgICAgICAgICAgICByZXR1cm4gdGVzdApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVu
bmVyL3VwZGF0ZS91cGRhdGUucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdXBkYXRlL3VwZGF0ZS5weQppbmRl
eCA5NjMwMmVlMjY3ZTkwNWFhOGE0OGFmMTJiNjU5NzhlMDI1ZWJkNDkyLi44MGU1MDlkZDM4M2Iz
OGVmNGEzMzdlZjEzMDc1ZjU4ODI2Y2Y4MTg1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdXBk
YXRlL3VwZGF0ZS5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdXBkYXRlL3VwZGF0ZS5weQpAQCAtMSw2
ICsxLDggQEAKIGltcG9ydCBvcwogaW1wb3J0IHN5cwogCitmcm9tIHNpeCBpbXBvcnQgaXRlcnZh
bHVlcworCiBmcm9tIC5tZXRhZGF0YSBpbXBvcnQgTWV0YWRhdGFVcGRhdGVSdW5uZXIKIGZyb20g
LnN5bmMgaW1wb3J0IFN5bmNGcm9tVXBzdHJlYW1SdW5uZXIKIGZyb20gLnRyZWUgaW1wb3J0IEdp
dFRyZWUsIEhnVHJlZSwgTm9WQ1NUcmVlCkBAIC0xMDksNyArMTExLDcgQEAgY2xhc3MgUmVtb3Zl
T2Jzb2xldGUoU3RlcCk6CiAgICAgICAgIHN0YXRlLnRlc3RzX3BhdGggPSBzdGF0ZS5wYXRoc1si
LyJdWyJ0ZXN0c19wYXRoIl0KICAgICAgICAgc3RhdGUubWV0YWRhdGFfcGF0aCA9IHN0YXRlLnBh
dGhzWyIvIl1bIm1ldGFkYXRhX3BhdGgiXQogCi0gICAgICAgIGZvciB1cmxfcGF0aHMgaW4gcGF0
aHMuaXRlcnZhbHVlcygpOgorICAgICAgICBmb3IgdXJsX3BhdGhzIGluIGl0ZXJ2YWx1ZXMocGF0
aHMpOgogICAgICAgICAgICAgdGVzdHNfcGF0aCA9IHVybF9wYXRoc1sidGVzdHNfcGF0aCJdCiAg
ICAgICAgICAgICBtZXRhZGF0YV9wYXRoID0gdXJsX3BhdGhzWyJtZXRhZGF0YV9wYXRoIl0KICAg
ICAgICAgICAgIGZvciBkaXJwYXRoLCBkaXJuYW1lcywgZmlsZW5hbWVzIGluIG9zLndhbGsobWV0
YWRhdGFfcGF0aCk6CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvdzNjLWltcG9ydC5sb2cgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5l
ci93cHRydW5uZXIvdzNjLWltcG9ydC5sb2cKaW5kZXggYWIwNmM0MWFmOThmNWMyYzg4Y2I4OWVl
NThiYjdhYTIzNGU5MDI0My4uZmFhZjg2ZmVkNmE2MzhkZGI1MTg0NDY3YThlMDcwODIzN2E0Njll
YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1
bm5lci93M2MtaW1wb3J0LmxvZwpAQCAtMjAsMTAgKzIwLDEyIEBAIExpc3Qgb2YgZmlsZXM6CiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5u
ZXIvd3B0cnVubmVyL2V4cGVjdGVkLnB5CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2V4cGVjdGVkdHJlZS5weQog
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL3dwdHJ1bm5lci9mb250LnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL2luc3RydW1lbnRzLnB5CiAvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
d3B0cnVubmVyL21hbmlmZXN0ZXhwZWN0ZWQucHkKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvbWFuaWZlc3RpbmNs
dWRlLnB5CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvd3B0cnVubmVyL21hbmlmZXN0dXBkYXRlLnB5CiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL21l
dGFkYXRhLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Byb2Nlc3MucHkKIC9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvcHJvZHVj
dHMucHkKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci93cHRydW5uZXIvc3RhYmlsaXR5LnB5CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3Rlc3Rkcml2
ZXItZXh0cmEuanMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93ZWJkcml2ZXJfc2VydmVyLnB5
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvd3B0cnVubmVyL3dlYmRyaXZlcl9zZXJ2ZXIucHkKaW5kZXggMTYyZmZhZTNmYzkzYWVl
YjI5YTI1MzVlODI5YWY0NWI5ZTE1YzFmMy4uMThiZTY4MDYwNzRkYTg2ODVjZDM5Mjg2MTk0NTVl
ZDI3NWJmZThlZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dlYmRyaXZlcl9zZXJ2ZXIucHkK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvd3B0cnVubmVyL3dlYmRyaXZlcl9zZXJ2ZXIucHkKQEAgLTgsNiArOCw4IEBAIGlt
cG9ydCB0cmFjZWJhY2sKIAogaW1wb3J0IG1venByb2Nlc3MKIAorZnJvbSAucHJvY2VzcyBpbXBv
cnQgY2FzdF9lbnYKKwogCiBfX2FsbF9fID0gWyJTZWxlbml1bVNlcnZlciIsICJDaHJvbWVEcml2
ZXJTZXJ2ZXIiLCAiQ1dUQ2hyb21lRHJpdmVyU2VydmVyIiwKICAgICAgICAgICAgIkVkZ2VDaHJv
bWl1bURyaXZlclNlcnZlciIsICJPcGVyYURyaXZlclNlcnZlciIsICJHZWNrb0RyaXZlclNlcnZl
ciIsCkBAIC01NSw3ICs1Nyw3IEBAIGNsYXNzIFdlYkRyaXZlclNlcnZlcihvYmplY3QpOgogICAg
ICAgICBzZWxmLl9wcm9jID0gbW96cHJvY2Vzcy5Qcm9jZXNzSGFuZGxlcigKICAgICAgICAgICAg
IHNlbGYuX2NtZCwKICAgICAgICAgICAgIHByb2Nlc3NPdXRwdXRMaW5lPXNlbGYub25fb3V0cHV0
LAotICAgICAgICAgICAgZW52PXNlbGYuZW52LAorICAgICAgICAgICAgZW52PWNhc3RfZW52KHNl
bGYuZW52KSwKICAgICAgICAgICAgIHN0b3JlT3V0cHV0PUZhbHNlKQogCiAgICAgICAgIHNlbGYu
bG9nZ2VyLmRlYnVnKCJTdGFydGluZyBXZWJEcml2ZXI6ICVzIiAlICcgJy5qb2luKHNlbGYuX2Nt
ZCkpCkBAIC04MiwxNCArODQsMTMgQEAgY2xhc3MgV2ViRHJpdmVyU2VydmVyKG9iamVjdCk6CiAK
ICAgICBkZWYgc3RvcChzZWxmLCBmb3JjZT1GYWxzZSk6CiAgICAgICAgIHNlbGYubG9nZ2VyLmRl
YnVnKCJTdG9wcGluZyBXZWJEcml2ZXIiKQotICAgICAgICBpZiBzZWxmLmlzX2FsaXZlOgorICAg
ICAgICBpZiBzZWxmLmlzX2FsaXZlKCk6CiAgICAgICAgICAgICBraWxsX3Jlc3VsdCA9IHNlbGYu
X3Byb2Mua2lsbCgpCiAgICAgICAgICAgICBpZiBmb3JjZSBhbmQga2lsbF9yZXN1bHQgIT0gMDoK
ICAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5fcHJvYy5raWxsKDkpCiAgICAgICAgICAgICBy
ZXR1cm4ga2lsbF9yZXN1bHQKLSAgICAgICAgcmV0dXJuIG5vdCBzZWxmLmlzX2FsaXZlCisgICAg
ICAgIHJldHVybiBub3Qgc2VsZi5pc19hbGl2ZSgpCiAKLSAgICBAcHJvcGVydHkKICAgICBkZWYg
aXNfYWxpdmUoc2VsZik6CiAgICAgICAgIHJldHVybiBoYXNhdHRyKHNlbGYuX3Byb2MsICJwcm9j
IikgYW5kIHNlbGYuX3Byb2MucG9sbCgpIGlzIE5vbmUKIApAQCAtMTg0LDcgKzE4NSwxMSBAQCBj
bGFzcyBHZWNrb0RyaXZlclNlcnZlcihXZWJEcml2ZXJTZXJ2ZXIpOgogICAgICAgICAgICAgICAg
ICBob3N0PSIxMjcuMC4wLjEiLCBwb3J0PU5vbmUsIGFyZ3M9Tm9uZSk6CiAgICAgICAgIGVudiA9
IG9zLmVudmlyb24uY29weSgpCiAgICAgICAgIGVudlsiUlVTVF9CQUNLVFJBQ0UiXSA9ICIxIgot
ICAgICAgICBXZWJEcml2ZXJTZXJ2ZXIuX19pbml0X18oc2VsZiwgbG9nZ2VyLCBiaW5hcnksIGhv
c3Q9aG9zdCwgcG9ydD1wb3J0LCBlbnY9ZW52LCBhcmdzPWFyZ3MpCisgICAgICAgIFdlYkRyaXZl
clNlcnZlci5fX2luaXRfXyhzZWxmLCBsb2dnZXIsIGJpbmFyeSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGhvc3Q9aG9zdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHBvcnQ9cG9ydCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudj1jYXN0
X2VudihlbnYpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJncz1hcmdzKQog
ICAgICAgICBzZWxmLm1hcmlvbmV0dGVfcG9ydCA9IG1hcmlvbmV0dGVfcG9ydAogCiAgICAgZGVm
IG1ha2VfY29tbWFuZChzZWxmKToKQEAgLTIwOSw3ICsyMTQsMTEgQEAgY2xhc3MgU2Vydm9Ecml2
ZXJTZXJ2ZXIoV2ViRHJpdmVyU2VydmVyKToKICAgICAgICAgICAgICAgICAgcG9ydD1Ob25lLCBh
cmdzPU5vbmUpOgogICAgICAgICBlbnYgPSBvcy5lbnZpcm9uLmNvcHkoKQogICAgICAgICBlbnZb
IlJVU1RfQkFDS1RSQUNFIl0gPSAiMSIKLSAgICAgICAgV2ViRHJpdmVyU2VydmVyLl9faW5pdF9f
KHNlbGYsIGxvZ2dlciwgYmluYXJ5LCBob3N0PWhvc3QsIHBvcnQ9cG9ydCwgZW52PWVudiwgYXJn
cz1hcmdzKQorICAgICAgICBXZWJEcml2ZXJTZXJ2ZXIuX19pbml0X18oc2VsZiwgbG9nZ2VyLCBi
aW5hcnksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBob3N0PWhvc3QsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3J0PXBvcnQsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBlbnY9Y2FzdF9lbnYoZW52KSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGFyZ3M9YXJncykKICAgICAgICAgc2VsZi5iaW5hcnlfYXJncyA9IGJpbmFy
eV9hcmdzCiAKICAgICBkZWYgbWFrZV9jb21tYW5kKHNlbGYpOgpAQCAtMjY0LDcgKzI3Myw3IEBA
IGRlZiB3YWl0X2Zvcl9zZXJ2aWNlKGFkZHIsIHRpbWVvdXQ9NjApOgogICAgICAgICBleGNlcHQg
c29ja2V0LnRpbWVvdXQ6CiAgICAgICAgICAgICBwYXNzCiAgICAgICAgIGV4Y2VwdCBzb2NrZXQu
ZXJyb3IgYXMgZToKLSAgICAgICAgICAgIGlmIGVbMF0gIT0gZXJybm8uRUNPTk5SRUZVU0VEOgor
ICAgICAgICAgICAgaWYgZS5lcnJubyAhPSBlcnJuby5FQ09OTlJFRlVTRUQ6CiAgICAgICAgICAg
ICAgICAgcmFpc2UKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHJldHVybiBUcnVlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHJ1bm5lci93cHRydW5uZXIvd3B0Y29tbWFuZGxpbmUucHkgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0
Y29tbWFuZGxpbmUucHkKaW5kZXggOTIzYmRhYTU1ODU3ZTc5M2U4ZDZlOGM1ODcxNjczNjBhZWQ0
YWU5NC4uOTYyMjdiYjQ2OTA1ZTE2OGQ2OTFlMzUwOTQ2ZGJmYmE2ODA5ODI3MSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRy
dW5uZXIvd3B0cnVubmVyL3dwdGNvbW1hbmRsaW5lLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRj
b21tYW5kbGluZS5weQpAQCAtMSw0ICsxLDQgQEAKLWZyb20gX19mdXR1cmVfXyBpbXBvcnQgcHJp
bnRfZnVuY3Rpb24KK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0LCBwcmlu
dF9mdW5jdGlvbgogaW1wb3J0IGFyZ3BhcnNlCiBpbXBvcnQgb3MKIGltcG9ydCBzeXMKQEAgLTE2
LDkgKzE2LDkgQEAgZGVmIGFic19wYXRoKHBhdGgpOgogCiAKIGRlZiB1cmxfb3JfcGF0aChwYXRo
KToKLSAgICBpbXBvcnQgdXJscGFyc2UKKyAgICBmcm9tIHNpeC5tb3Zlcy51cmxsaWIucGFyc2Ug
aW1wb3J0IHVybHBhcnNlCiAKLSAgICBwYXJzZWQgPSB1cmxwYXJzZS51cmxwYXJzZShwYXRoKQor
ICAgIHBhcnNlZCA9IHVybHBhcnNlKHBhdGgpCiAgICAgaWYgbGVuKHBhcnNlZC5zY2hlbWUpID4g
MjoKICAgICAgICAgcmV0dXJuIHBhdGgKICAgICBlbHNlOgpAQCAtMzcsNyArMzcsNyBAQCBkZWYg
cmVxdWlyZV9hcmcoa3dhcmdzLCBuYW1lLCB2YWx1ZV9mdW5jPU5vbmUpOgogZGVmIGNyZWF0ZV9w
YXJzZXIocHJvZHVjdF9jaG9pY2VzPU5vbmUpOgogICAgIGZyb20gbW96bG9nIGltcG9ydCBjb21t
YW5kbGluZQogCi0gICAgaW1wb3J0IHByb2R1Y3RzCisgICAgZnJvbSAuIGltcG9ydCBwcm9kdWN0
cwogCiAgICAgaWYgcHJvZHVjdF9jaG9pY2VzIGlzIE5vbmU6CiAgICAgICAgIGNvbmZpZ19kYXRh
ID0gY29uZmlnLmxvYWQoKQpAQCAtMTM3LDYgKzEzNywxNCBAQCBzY2hlbWUgaG9zdCBhbmQgcG9y
dC4iIiIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlBhdGgg
dG8gbWFuaWZlc3QgbGlzdGluZyB0ZXN0cyB0byBpbmNsdWRlIikKICAgICB0ZXN0X3NlbGVjdGlv
bl9ncm91cC5hZGRfYXJndW1lbnQoIi0tc2tpcC10aW1lb3V0IiwgYWN0aW9uPSJzdG9yZV90cnVl
IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iU2tpcCB0ZXN0
cyB0aGF0IGFyZSBleHBlY3RlZCB0byB0aW1lIG91dCIpCisgICAgdGVzdF9zZWxlY3Rpb25fZ3Jv
dXAuYWRkX2FyZ3VtZW50KCItLXNraXAtaW1wbGVtZW50YXRpb24tc3RhdHVzIiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSJhcHBlbmQiLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaG9pY2VzPVsibm90LWltcGxlbWVudGluZyIs
ICJiYWNrbG9nIiwgImltcGxlbWVudGluZyJdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBoZWxwPSJTa2lwIHRlc3RzIHRoYXQgaGF2ZSB0aGUgZ2l2ZW4gaW1wbGVtZW50
YXRpb24gc3RhdHVzIikKKyAgICAjIFRPRE86IFJlbW92ZSB0aGlzIHdoZW4gUVVJQyBpcyBlbmFi
bGVkIGJ5IGRlZmF1bHQuCisgICAgdGVzdF9zZWxlY3Rpb25fZ3JvdXAuYWRkX2FyZ3VtZW50KCIt
LWVuYWJsZS1xdWljIiwgYWN0aW9uPSJzdG9yZV90cnVlIiwgZGVmYXVsdD1GYWxzZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iRW5hYmxlIHRlc3RzIHRoYXQg
cmVxdWlyZSBRVUlDIHNlcnZlciAoZGVmYXVsdDogZmFsc2UpIikKKwogICAgIHRlc3Rfc2VsZWN0
aW9uX2dyb3VwLmFkZF9hcmd1bWVudCgiLS10YWciLCBhY3Rpb249ImFwcGVuZCIsIGRlc3Q9InRh
Z3MiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJMYWJlbHMg
YXBwbGllZCB0byB0ZXN0cyB0byBpbmNsdWRlIGluIHRoZSBydW4uICIKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTGFiZWxzIHN0YXJ0aW5nIGRpcjogYXJlIGVx
dWl2YWxlbnQgdG8gdG9wLWxldmVsIGRpcmVjdG9yaWVzLiIpCkBAIC0yMTAsMTMgKzIxOCwxNyBA
QCBzY2hlbWUgaG9zdCBhbmQgcG9ydC4iIiIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBoZWxwPSJQYXRoIHRvIGNvbmZpZyBmaWxlIikKICAgICBjb25maWdfZ3JvdXAuYWRkX2FyZ3Vt
ZW50KCItLWluc3RhbGwtZm9udHMiLCBhY3Rpb249InN0b3JlX3RydWUiLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZGVmYXVsdD1Ob25lLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaGVscD0iQWxsb3cgdGhlIHdwdHJ1bm5lciB0byBpbnN0YWxsIGZvbnRzIG9uIHlvdXIg
c3lzdGVtIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9Ikluc3RhbGwgYWRk
aXRpb25hbCBzeXN0ZW0gZm9udHMgb24geW91ciBzeXN0ZW0iKQorICAgIGNvbmZpZ19ncm91cC5h
ZGRfYXJndW1lbnQoIi0tbm8taW5zdGFsbC1mb250cyIsIGRlc3Q9Imluc3RhbGxfZm9udHMiLCBh
Y3Rpb249InN0b3JlX2ZhbHNlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9
IkRvIG5vdCBpbnN0YWxsIGFkZGl0aW9uYWwgc3lzdGVtIGZvbnRzIG9uIHlvdXIgc3lzdGVtIikK
ICAgICBjb25maWdfZ3JvdXAuYWRkX2FyZ3VtZW50KCItLWZvbnQtZGlyIiwgYWN0aW9uPSJzdG9y
ZSIsIHR5cGU9YWJzX3BhdGgsIGRlc3Q9ImZvbnRfZGlyIiwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGhlbHA9IlBhdGggdG8gbG9jYWwgZm9udCBpbnN0YWxsYXRpb24gZGlyZWN0b3J5
IiwgZGVmYXVsdD1Ob25lKQogICAgIGNvbmZpZ19ncm91cC5hZGRfYXJndW1lbnQoIi0taGVhZGxl
c3MiLCBhY3Rpb249InN0b3JlX3RydWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aGVscD0iUnVuIGJyb3dzZXIgaW4gaGVhZGxlc3MgbW9kZSIsIGRlZmF1bHQ9Tm9uZSkKICAgICBj
b25maWdfZ3JvdXAuYWRkX2FyZ3VtZW50KCItLW5vLWhlYWRsZXNzIiwgYWN0aW9uPSJzdG9yZV9m
YWxzZSIsIGRlc3Q9ImhlYWRsZXNzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhl
bHA9IkRvbid0IHJ1biBicm93c2VyIGluIGhlYWRsZXNzIG1vZGUiKQorICAgIGNvbmZpZ19ncm91
cC5hZGRfYXJndW1lbnQoIi0taW5zdHJ1bWVudC10by1maWxlIiwgYWN0aW9uPSJzdG9yZSIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJQYXRoIHRvIHdyaXRlIGluc3RydW1l
bnRhdGlvbiBsb2dzIHRvIikKIAogICAgIGJ1aWxkX3R5cGUgPSBwYXJzZXIuYWRkX211dHVhbGx5
X2V4Y2x1c2l2ZV9ncm91cCgpCiAgICAgYnVpbGRfdHlwZS5hZGRfYXJndW1lbnQoIi0tZGVidWct
YnVpbGQiLCBkZXN0PSJkZWJ1ZyIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCkBAIC0yNTUsMTIgKzI2
NywyMCBAQCBzY2hlbWUgaG9zdCBhbmQgcG9ydC4iIiIpCiAgICAgZ2Vja29fZ3JvdXAgPSBwYXJz
ZXIuYWRkX2FyZ3VtZW50X2dyb3VwKCJHZWNrby1zcGVjaWZpYyIpCiAgICAgZ2Vja29fZ3JvdXAu
YWRkX2FyZ3VtZW50KCItLXByZWZzLXJvb3QiLCBkZXN0PSJwcmVmc19yb290IiwgYWN0aW9uPSJz
dG9yZSIsIHR5cGU9YWJzX3BhdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9
IlBhdGggdG8gdGhlIGZvbGRlciBjb250YWluaW5nIGJyb3dzZXIgcHJlZnMiKQorICAgIGdlY2tv
X2dyb3VwLmFkZF9hcmd1bWVudCgiLS1wcmVsb2FkLWJyb3dzZXIiLCBkZXN0PSJwcmVsb2FkX2Jy
b3dzZXIiLCBhY3Rpb249InN0b3JlX3RydWUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBkZWZhdWx0PU5vbmUsIGhlbHA9IlByZWxvYWQgYSBnZWNrbyBpbnN0YW5jZSBmb3IgZmFzdGVy
IHJlc3RhcnRzIikKKyAgICBnZWNrb19ncm91cC5hZGRfYXJndW1lbnQoIi0tbm8tcHJlbG9hZC1i
cm93c2VyIiwgZGVzdD0icHJlbG9hZF9icm93c2VyIiwgYWN0aW9uPSJzdG9yZV9mYWxzZSIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ9Tm9uZSwgaGVscD0iRG9uJ3QgcHJl
bG9hZCBhIGdlY2tvIGluc3RhbmNlIGZvciBmYXN0ZXIgcmVzdGFydHMiKQogICAgIGdlY2tvX2dy
b3VwLmFkZF9hcmd1bWVudCgiLS1kaXNhYmxlLWUxMHMiLCBkZXN0PSJnZWNrb19lMTBzIiwgYWN0
aW9uPSJzdG9yZV9mYWxzZSIsIGRlZmF1bHQ9VHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaGVscD0iUnVuIHRlc3RzIHdpdGhvdXQgZWxlY3Ryb2x5c2lzIHByZWZlcmVuY2VzIikK
ICAgICBnZWNrb19ncm91cC5hZGRfYXJndW1lbnQoIi0tZW5hYmxlLXdlYnJlbmRlciIsIGRlc3Q9
ImVuYWJsZV93ZWJyZW5kZXIiLCBhY3Rpb249InN0b3JlX3RydWUiLCBkZWZhdWx0PU5vbmUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkVuYWJsZSB0aGUgV2ViUmVuZGVyIGNv
bXBvc2l0b3IgaW4gR2Vja28gKGRlZmF1bHRzIHRvIGRpc2FibGVkKS4iKQogICAgIGdlY2tvX2dy
b3VwLmFkZF9hcmd1bWVudCgiLS1uby1lbmFibGUtd2VicmVuZGVyIiwgZGVzdD0iZW5hYmxlX3dl
YnJlbmRlciIsIGFjdGlvbj0ic3RvcmVfZmFsc2UiLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBoZWxwPSJEaXNhYmxlIHRoZSBXZWJSZW5kZXIgY29tcG9zaXRvciBpbiBHZWNrby4iKQor
ICAgIGdlY2tvX2dyb3VwLmFkZF9hcmd1bWVudCgiLS1lbmFibGUtZmlzc2lvbiIsIGRlc3Q9ImVu
YWJsZV9maXNzaW9uIiwgYWN0aW9uPSJzdG9yZV90cnVlIiwgZGVmYXVsdD1Ob25lLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJFbmFibGUgZmlzc2lvbiBpbiBHZWNrbyAoZGVm
YXVsdHMgdG8gZGlzYWJsZWQpLiIpCisgICAgZ2Vja29fZ3JvdXAuYWRkX2FyZ3VtZW50KCItLW5v
LWVuYWJsZS1maXNzaW9uIiwgZGVzdD0iZW5hYmxlX2Zpc3Npb24iLCBhY3Rpb249InN0b3JlX2Zh
bHNlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iRGlzYWJsZSBmaXNzaW9u
IGluIEdlY2tvLiIpCiAgICAgZ2Vja29fZ3JvdXAuYWRkX2FyZ3VtZW50KCItLXN0YWNrZml4LWRp
ciIsIGRlc3Q9InN0YWNrZml4X2RpciIsIGFjdGlvbj0ic3RvcmUiLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBoZWxwPSJQYXRoIHRvIGRpcmVjdG9yeSBjb250YWluaW5nIGFzc2VydGlv
biBzdGFjayBmaXhpbmcgc2NyaXB0cyIpCiAgICAgZ2Vja29fZ3JvdXAuYWRkX2FyZ3VtZW50KCIt
LXNldHByZWYiLCBkZXN0PSJleHRyYV9wcmVmcyIsIGFjdGlvbj0nYXBwZW5kJywKQEAgLTUzNCw5
ICs1NTQsNiBAQCBkZWYgY2hlY2tfYXJncyhrd2FyZ3MpOgogICAgICAgICBrd2FyZ3NbImNlcnR1
dGlsX2JpbmFyeSJdID0gcGF0aAogCiAgICAgaWYga3dhcmdzWydleHRyYV9wcmVmcyddOgotICAg
ICAgICAjIElmIGEgc2luZ2xlIHByZWYgaXMgcGFzc2VkIGluIGFzIGEgc3RyaW5nLCBtYWtlIGl0
IGEgbGlzdAotICAgICAgICBpZiB0eXBlKGt3YXJnc1snZXh0cmFfcHJlZnMnXSkgaW4gKHN0ciwg
dW5pY29kZSk6Ci0gICAgICAgICAgICBrd2FyZ3NbJ2V4dHJhX3ByZWZzJ10gPSBba3dhcmdzWydl
eHRyYV9wcmVmcyddXQogICAgICAgICBtaXNzaW5nID0gYW55KCc9JyBub3QgaW4gcHJlZmFyZyBm
b3IgcHJlZmFyZyBpbiBrd2FyZ3NbJ2V4dHJhX3ByZWZzJ10pCiAgICAgICAgIGlmIG1pc3Npbmc6
CiAgICAgICAgICAgICBwcmludCgiUHJlZmVyZW5jZXMgdmlhIC0tc2V0cHJlZiBtdXN0IGJlIGlu
IGtleT12YWx1ZSBmb3JtYXQiLCBmaWxlPXN5cy5zdGRlcnIpCkBAIC01NTMsNiArNTcwLDEwIEBA
IGRlZiBjaGVja19hcmdzKGt3YXJncyk6CiAgICAgaWYga3dhcmdzWyJlbmFibGVfd2VicmVuZGVy
Il0gaXMgTm9uZToKICAgICAgICAga3dhcmdzWyJlbmFibGVfd2VicmVuZGVyIl0gPSBGYWxzZQog
CisgICAgaWYga3dhcmdzWyJwcmVsb2FkX2Jyb3dzZXIiXSBpcyBOb25lOgorICAgICAgICAjIERl
ZmF1bHQgdG8gcHJlbG9hZGluZyBhIGdlY2tvIGluc3RhbmNlIGlmIHdlJ3JlIG9ubHkgcnVubmlu
ZyBhIHNpbmdsZSBwcm9jZXNzCisgICAgICAgIGt3YXJnc1sicHJlbG9hZF9icm93c2VyIl0gPSBr
d2FyZ3NbInByb2Nlc3NlcyJdID09IDEKKwogICAgIHJldHVybiBrd2FyZ3MKIAogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci93cHRydW5uZXIvd3B0bG9nZ2luZy5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRsb2dnaW5n
LnB5CmluZGV4IDY5Y2VlNzQ0ODc5ZWI2NzgwY2I5OWVjOTMxMjM5MjJlMTY2ZDllMTYuLjQ0NGQx
ZDk2MmQyNTg3MzEwOTk3N2I5MzdkOTZjODZjYjI5M2NkOGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1
bm5lci93cHRsb2dnaW5nLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRsb2dnaW5nLnB5CkBAIC0x
NCw3ICsxNCw3IEBAIGRlZiBzZXR1cChhcmdzLCBkZWZhdWx0cywgZm9ybWF0dGVyX2RlZmF1bHRz
PU5vbmUpOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1h
dHRlcl9kZWZhdWx0cz1mb3JtYXR0ZXJfZGVmYXVsdHMpCiAgICAgc2V0dXBfc3RkbGliX2xvZ2dl
cigpCiAKLSAgICBmb3IgbmFtZSBpbiBhcmdzLmtleXMoKToKKyAgICBmb3IgbmFtZSBpbiBsaXN0
KGFyZ3Mua2V5cygpKToKICAgICAgICAgaWYgbmFtZS5zdGFydHN3aXRoKCJsb2dfIik6CiAgICAg
ICAgICAgICBhcmdzLnBvcChuYW1lKQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFu
aWZlc3QvYmFja2VuZHMvYmFzZS5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRtYW5pZmVzdC9iYWNrZW5k
cy9iYXNlLnB5CmluZGV4IDQ1ZTIxNDdmYzRjYTUwOWE5ZGUyOGZjZGNiYjcwN2Q4MjM0NTk3MTEu
LmM1MzlkNDM2N2U5NGE1ZTUyNWM1ZDhkOGU5ZWRjMzExNmU4YWZmZmIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3dwdHJ1bm5lci93cHRtYW5pZmVzdC9iYWNrZW5kcy9iYXNlLnB5CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5l
ci93cHRtYW5pZmVzdC9iYWNrZW5kcy9iYXNlLnB5CkBAIC0xLDQgKzEsNSBAQAogaW1wb3J0IGFi
YworZnJvbSBzaXggaW1wb3J0IGl0ZXJpdGVtcywgaXRlcmtleXMsIGl0ZXJ2YWx1ZXMKIAogZnJv
bSAuLm5vZGUgaW1wb3J0IE5vZGVWaXNpdG9yCiBmcm9tIC4ucGFyc2VyIGltcG9ydCBwYXJzZQpA
QCAtMTg2LDIxICsxODcsMjEgQEAgY2xhc3MgTWFuaWZlc3RJdGVtKG9iamVjdCk6CiAgICAgZGVm
IF9mbGF0dGVuKHNlbGYpOgogICAgICAgICBydiA9IHt9CiAgICAgICAgIGZvciBub2RlIGluIFtz
ZWxmLCBzZWxmLnJvb3RdOgotICAgICAgICAgICAgZm9yIG5hbWUsIHZhbHVlIGluIG5vZGUuX2Rh
dGEuaXRlcml0ZW1zKCk6CisgICAgICAgICAgICBmb3IgbmFtZSwgdmFsdWUgaW4gaXRlcml0ZW1z
KG5vZGUuX2RhdGEpOgogICAgICAgICAgICAgICAgIGlmIG5hbWUgbm90IGluIHJ2OgogICAgICAg
ICAgICAgICAgICAgICBydltuYW1lXSA9IHZhbHVlCiAgICAgICAgIHJldHVybiBydgogCiAgICAg
ZGVmIGl0ZXJpdGVtcyhzZWxmKToKLSAgICAgICAgZm9yIGl0ZW0gaW4gc2VsZi5fZmxhdHRlbigp
Lml0ZXJpdGVtcygpOgorICAgICAgICBmb3IgaXRlbSBpbiBpdGVyaXRlbXMoc2VsZi5fZmxhdHRl
bigpKToKICAgICAgICAgICAgIHlpZWxkIGl0ZW0KIAogICAgIGRlZiBpdGVya2V5cyhzZWxmKToK
LSAgICAgICAgZm9yIGl0ZW0gaW4gc2VsZi5fZmxhdHRlbigpLml0ZXJrZXlzKCk6CisgICAgICAg
IGZvciBpdGVtIGluIGl0ZXJrZXlzKHNlbGYuX2ZsYXR0ZW4oKSk6CiAgICAgICAgICAgICB5aWVs
ZCBpdGVtCiAKICAgICBkZWYgaXRlcnZhbHVlcyhzZWxmKToKLSAgICAgICAgZm9yIGl0ZW0gaW4g
c2VsZi5fZmxhdHRlbigpLml0ZXJ2YWx1ZXMoKToKKyAgICAgICAgZm9yIGl0ZW0gaW4gaXRlcnZh
bHVlcyhzZWxmLl9mbGF0dGVuKCkpOgogICAgICAgICAgICAgeWllbGQgaXRlbQogCiAgICAgZGVm
IGFwcGVuZChzZWxmLCBjaGlsZCk6CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZl
c3QvYmFja2VuZHMvY29uZGl0aW9uYWwucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3QvYmFj
a2VuZHMvY29uZGl0aW9uYWwucHkKaW5kZXggYWFjZDc4NTcwNzJmNDIwYTIwOWFlZWZmNTU5ZWMy
YWUyOTQxNzBiYS4uM2IxMWU4MzAxMmFiNTBmZTBlYTI0MGFlMDU2ZDAyYzg5NjhiNmE2MCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L2JhY2tlbmRzL2NvbmRpdGlvbmFsLnB5
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
d3B0cnVubmVyL3dwdHJ1bm5lci93cHRtYW5pZmVzdC9iYWNrZW5kcy9jb25kaXRpb25hbC5weQpA
QCAtMSw0ICsxLDUgQEAKIGltcG9ydCBvcGVyYXRvcgorZnJvbSBzaXggaW1wb3J0IGVuc3VyZV90
ZXh0LCBpdGVyaXRlbXMsIGl0ZXJrZXlzLCB0ZXh0X3R5cGUKIAogZnJvbSAuLm5vZGUgaW1wb3J0
IE5vZGVWaXNpdG9yLCBEYXRhTm9kZSwgQ29uZGl0aW9uYWxOb2RlLCBLZXlWYWx1ZU5vZGUsIExp
c3ROb2RlLCBWYWx1ZU5vZGUsIEJpbmFyeUV4cHJlc3Npb25Ob2RlLCBWYXJpYWJsZU5vZGUKIGZy
b20gLi5wYXJzZXIgaW1wb3J0IHBhcnNlCkBAIC00Miw5ICs0Myw3IEBAIGNsYXNzIENvbmRpdGlv
bmFsVmFsdWUob2JqZWN0KToKICAgICAgICAgcmV0dXJuIHNlbGYuY29uZGl0aW9uX2Z1bmMocnVu
X2luZm8pCiAKICAgICBkZWYgc2V0X3ZhbHVlKHNlbGYsIHZhbHVlKToKLSAgICAgICAgaWYgdHlw
ZSh2YWx1ZSkgbm90IGluIChzdHIsIHVuaWNvZGUpOgotICAgICAgICAgICAgdmFsdWUgPSB1bmlj
b2RlKHZhbHVlKQotICAgICAgICBzZWxmLnZhbHVlID0gdmFsdWUKKyAgICAgICAgc2VsZi52YWx1
ZSA9IGVuc3VyZV90ZXh0KHZhbHVlKQogCiAgICAgZGVmIHZhbHVlX2FzKHNlbGYsIHR5cGVfZnVu
Yyk6CiAgICAgICAgICIiIkdldCB2YWx1ZSBhbmQgY29udmVydCB0byBhIGdpdmVuIHR5cGUuCkBA
IC0zMDEsOSArMzAwLDkgQEAgY2xhc3MgTWFuaWZlc3RJdGVtKG9iamVjdCk6CiAgICAgICAgIGlm
IGlzaW5zdGFuY2UodmFsdWUsIGxpc3QpOgogICAgICAgICAgICAgdmFsdWVfbm9kZSA9IExpc3RO
b2RlKCkKICAgICAgICAgICAgIGZvciBpdGVtIGluIHZhbHVlOgotICAgICAgICAgICAgICAgIHZh
bHVlX25vZGUuYXBwZW5kKFZhbHVlTm9kZSh1bmljb2RlKGl0ZW0pKSkKKyAgICAgICAgICAgICAg
ICB2YWx1ZV9ub2RlLmFwcGVuZChWYWx1ZU5vZGUodGV4dF90eXBlKGl0ZW0pKSkKICAgICAgICAg
ZWxzZToKLSAgICAgICAgICAgIHZhbHVlX25vZGUgPSBWYWx1ZU5vZGUodW5pY29kZSh2YWx1ZSkp
CisgICAgICAgICAgICB2YWx1ZV9ub2RlID0gVmFsdWVOb2RlKHRleHRfdHlwZSh2YWx1ZSkpCiAg
ICAgICAgIGlmIGNvbmRpdGlvbiBpcyBub3QgTm9uZToKICAgICAgICAgICAgIGlmIG5vdCBpc2lu
c3RhbmNlKGNvbmRpdGlvbiwgQ29uZGl0aW9uYWxOb2RlKToKICAgICAgICAgICAgICAgICBjb25k
aXRpb25hbF9ub2RlID0gQ29uZGl0aW9uYWxOb2RlKCkKQEAgLTM2OSwxOSArMzY4LDIzIEBAIGNs
YXNzIE1hbmlmZXN0SXRlbShvYmplY3QpOgogICAgIGRlZiBfZmxhdHRlbihzZWxmKToKICAgICAg
ICAgcnYgPSB7fQogICAgICAgICBmb3Igbm9kZSBpbiBbc2VsZiwgc2VsZi5yb290XToKLSAgICAg
ICAgICAgIGZvciBuYW1lLCB2YWx1ZSBpbiBub2RlLl9kYXRhLml0ZXJpdGVtcygpOgorICAgICAg
ICAgICAgZm9yIG5hbWUsIHZhbHVlIGluIGl0ZXJpdGVtcyhub2RlLl9kYXRhKToKICAgICAgICAg
ICAgICAgICBpZiBuYW1lIG5vdCBpbiBydjoKICAgICAgICAgICAgICAgICAgICAgcnZbbmFtZV0g
PSB2YWx1ZQogICAgICAgICByZXR1cm4gcnYKIAogICAgIGRlZiBpdGVyaXRlbXMoc2VsZik6Ci0g
ICAgICAgIGZvciBpdGVtIGluIHNlbGYuX2ZsYXR0ZW4oKS5pdGVyaXRlbXMoKToKKyAgICAgICAg
Zm9yIGl0ZW0gaW4gaXRlcml0ZW1zKHNlbGYuX2ZsYXR0ZW4oKSk6CiAgICAgICAgICAgICB5aWVs
ZCBpdGVtCiAKICAgICBkZWYgaXRlcmtleXMoc2VsZik6Ci0gICAgICAgIGZvciBpdGVtIGluIHNl
bGYuX2ZsYXR0ZW4oKS5pdGVya2V5cygpOgorICAgICAgICBmb3IgaXRlbSBpbiBpdGVya2V5cyhz
ZWxmLl9mbGF0dGVuKCkpOgogICAgICAgICAgICAgeWllbGQgaXRlbQogCisgICAgZGVmIGl0ZXJf
cHJvcGVydGllcyhzZWxmKToKKyAgICAgICAgZm9yIGl0ZW0gaW4gc2VsZi5fZGF0YToKKyAgICAg
ICAgICAgIHlpZWxkIGl0ZW0sIHNlbGYuX2RhdGFbaXRlbV0KKwogICAgIGRlZiByZW1vdmVfdmFs
dWUoc2VsZiwga2V5LCB2YWx1ZSk6CiAgICAgICAgIGlmIGtleSBub3QgaW4gc2VsZi5fZGF0YToK
ICAgICAgICAgICAgIHJldHVybgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0
L25vZGUucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3Qvbm9kZS5weQppbmRleCA3N2IxN2E1
MDMyNWM3NzA2NzM5MWFiNjYzOWQwZTAyOWUzMzk1MDQ3Li4wZjgyZDcwMDZiNjllZDBlNDg1Mjkw
Mzg3YjY1NzY4Yjg1OWE4NzAwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3Qv
bm9kZS5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3Qvbm9kZS5weQpAQCAtMSw0ICsx
LDQgQEAKLWZyb20gc2l4Lm1vdmVzIGltcG9ydCB4cmFuZ2UKK2Zyb20gc2l4Lm1vdmVzIGltcG9y
dCByYW5nZQogCiBjbGFzcyBOb2RlVmlzaXRvcihvYmplY3QpOgogICAgIGRlZiB2aXNpdChzZWxm
LCBub2RlKToKQEAgLTU5LDcgKzU5LDcgQEAgY2xhc3MgRGF0YU5vZGUoTm9kZSk6CiAgICAgICAg
ICAgICBpbmRleCA9IGxlbihzZWxmLmNoaWxkcmVuKQogICAgICAgICAgICAgd2hpbGUgaW5kZXgg
PiAwIGFuZCBpc2luc3RhbmNlKHNlbGYuY2hpbGRyZW5baW5kZXggLSAxXSwgRGF0YU5vZGUpOgog
ICAgICAgICAgICAgICAgIGluZGV4IC09IDEKLSAgICAgICAgICAgIGZvciBpIGluIHhyYW5nZShp
bmRleCk6CisgICAgICAgICAgICBmb3IgaSBpbiByYW5nZShpbmRleCk6CiAgICAgICAgICAgICAg
ICAgaWYgb3RoZXIuZGF0YSA9PSBzZWxmLmNoaWxkcmVuW2ldLmRhdGE6CiAgICAgICAgICAgICAg
ICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkR1cGxpY2F0ZSBrZXkgJXMiICUgc2VsZi5jaGlsZHJl
bltpXS5kYXRhKQogICAgICAgICAgICAgc2VsZi5jaGlsZHJlbi5pbnNlcnQoaW5kZXgsIG90aGVy
KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L3BhcnNlci5weSBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dw
dHJ1bm5lci93cHRtYW5pZmVzdC9wYXJzZXIucHkKaW5kZXggNjJjNWY3ZDNhNDY3OWNhOWFlYTk2
MWFmZWNjNjNmMjVlN2E1NDk2Mi4uOTExZWZhYzgwZjI3ZWU5MmRmN2ZiZWE1NzdjNDE0NjkxODk5
Nzc1ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L3BhcnNlci5weQorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1
bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3QvcGFyc2VyLnB5CkBAIC0xNCw4ICsxNCw4IEBACiAK
IGZyb20gX19mdXR1cmVfXyBpbXBvcnQgdW5pY29kZV9saXRlcmFscwogCi1mcm9tIHNpeCBpbXBv
cnQgYmluYXJ5X3R5cGUsIHRleHRfdHlwZSwgQnl0ZXNJTwotZnJvbSBzaXgubW92ZXMgaW1wb3J0
IHhyYW5nZQorZnJvbSBzaXggaW1wb3J0IGJpbmFyeV90eXBlLCB0ZXh0X3R5cGUsIEJ5dGVzSU8s
IHVuaWNocgorZnJvbSBzaXgubW92ZXMgaW1wb3J0IHJhbmdlCiAKIGZyb20gLm5vZGUgaW1wb3J0
IChOb2RlLCBBdG9tTm9kZSwgQmluYXJ5RXhwcmVzc2lvbk5vZGUsIEJpbmFyeU9wZXJhdG9yTm9k
ZSwKICAgICAgICAgICAgICAgICAgICBDb25kaXRpb25hbE5vZGUsIERhdGFOb2RlLCBJbmRleE5v
ZGUsIEtleVZhbHVlTm9kZSwgTGlzdE5vZGUsCkBAIC03NSw2ICs3NSw3IEBAIGNsYXNzIFRva2Vu
aXplcihvYmplY3QpOgogICAgICAgICBzZWxmLnN0YXRlID0gc2VsZi5saW5lX3N0YXJ0X3N0YXRl
CiAgICAgICAgIHNlbGYubmV4dF9zdGF0ZSA9IHNlbGYuZGF0YV9saW5lX3N0YXRlCiAgICAgICAg
IHNlbGYubGluZV9udW1iZXIgPSAwCisgICAgICAgIHNlbGYuZmlsZW5hbWUgPSAiIgogCiAgICAg
ZGVmIHRva2VuaXplKHNlbGYsIHN0cmVhbSk6CiAgICAgICAgIHNlbGYucmVzZXQoKQpAQCAtMTM2
LDkgKzEzNywxMCBAQCBjbGFzcyBUb2tlbml6ZXIob2JqZWN0KToKICAgICAgICAgICAgIHNlbGYu
aW5kZW50X2xldmVscy5hcHBlbmQoc2VsZi5pbmRleCkKICAgICAgICAgICAgIHlpZWxkICh0b2tl
bl90eXBlcy5ncm91cF9zdGFydCwgTm9uZSkKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHdo
aWxlIHNlbGYuaW5kZXggPCBzZWxmLmluZGVudF9sZXZlbHNbLTFdOgotICAgICAgICAgICAgICAg
IHNlbGYuaW5kZW50X2xldmVscy5wb3AoKQotICAgICAgICAgICAgICAgIHlpZWxkICh0b2tlbl90
eXBlcy5ncm91cF9lbmQsIE5vbmUpCisgICAgICAgICAgICBpZiBzZWxmLmluZGV4IDwgc2VsZi5p
bmRlbnRfbGV2ZWxzWy0xXToKKyAgICAgICAgICAgICAgICB3aGlsZSBzZWxmLmluZGV4IDwgc2Vs
Zi5pbmRlbnRfbGV2ZWxzWy0xXToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5pbmRlbnRfbGV2
ZWxzLnBvcCgpCisgICAgICAgICAgICAgICAgICAgIHlpZWxkICh0b2tlbl90eXBlcy5ncm91cF9l
bmQsIE5vbmUpCiAgICAgICAgICAgICAgICAgIyBUaGlzIGlzIHRlcnJpYmxlOyBpZiB3ZSB3ZXJl
IHBhcnNpbmcgYW4gZXhwcmVzc2lvbgogICAgICAgICAgICAgICAgICMgdGhlbiB0aGUgbmV4dF9z
dGF0ZSB3aWxsIGJlIGV4cHJfb3JfdmFsdWUgYnV0IHdoZW4gd2UgZGVpbmRlbnQKICAgICAgICAg
ICAgICAgICAjIGl0IG11c3QgYWx3YXlzIGJlIGEgaGVhZGluZyBvciBrZXkgbmV4dCBzbyB3ZSBn
byBiYWNrIHRvIGRhdGFfbGluZV9zdGF0ZQpAQCAtMzAzLDcgKzMwNSw4IEBAIGNsYXNzIFRva2Vu
aXplcihvYmplY3QpOgogCiAgICAgZGVmIHZhbHVlX3N0YXRlKHNlbGYpOgogICAgICAgICBzZWxm
LnNraXBfd2hpdGVzcGFjZSgpCi0gICAgICAgIGlmIHNlbGYuY2hhcigpIGluICgiJyIsICciJyk6
CisgICAgICAgIGMgPSBzZWxmLmNoYXIoKQorICAgICAgICBpZiBjIGluICgiJyIsICciJyk6CiAg
ICAgICAgICAgICBxdW90ZV9jaGFyID0gc2VsZi5jaGFyKCkKICAgICAgICAgICAgIHNlbGYuY29u
c3VtZSgpCiAgICAgICAgICAgICB5aWVsZCAodG9rZW5fdHlwZXMuc3RyaW5nLCBzZWxmLmNvbnN1
bWVfc3RyaW5nKHF1b3RlX2NoYXIpKQpAQCAtMzExLDEwICszMTQsMTIgQEAgY2xhc3MgVG9rZW5p
emVyKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgc2VsZi5zdGF0ZSA9IHNlbGYuY29tbWVudF9z
dGF0ZQogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBzZWxmLnN0YXRlID0gc2Vs
Zi5saW5lX2VuZF9zdGF0ZQotICAgICAgICBlbGlmIHNlbGYuY2hhcigpID09ICJAIjoKKyAgICAg
ICAgZWxpZiBjID09ICJAIjoKICAgICAgICAgICAgIHNlbGYuY29uc3VtZSgpCiAgICAgICAgICAg
ICBmb3IgXywgdmFsdWUgaW4gc2VsZi52YWx1ZV9pbm5lcl9zdGF0ZSgpOgogICAgICAgICAgICAg
ICAgIHlpZWxkIHRva2VuX3R5cGVzLmF0b20sIHZhbHVlCisgICAgICAgIGVsaWYgYyA9PSAiWyI6
CisgICAgICAgICAgICBzZWxmLnN0YXRlID0gc2VsZi5saXN0X3N0YXJ0X3N0YXRlCiAgICAgICAg
IGVsc2U6CiAgICAgICAgICAgICBzZWxmLnN0YXRlID0gc2VsZi52YWx1ZV9pbm5lcl9zdGF0ZQog
CkBAIC00OTQsNyArNDk5LDcgQEAgY2xhc3MgVG9rZW5pemVyKG9iamVjdCk6CiAKICAgICBkZWYg
ZGVjb2RlX2VzY2FwZShzZWxmLCBsZW5ndGgpOgogICAgICAgICB2YWx1ZSA9IDAKLSAgICAgICAg
Zm9yIGkgaW4geHJhbmdlKGxlbmd0aCk6CisgICAgICAgIGZvciBpIGluIHJhbmdlKGxlbmd0aCk6
CiAgICAgICAgICAgICBjID0gc2VsZi5jaGFyKCkKICAgICAgICAgICAgIHZhbHVlICo9IDE2CiAg
ICAgICAgICAgICB2YWx1ZSArPSBzZWxmLmVzY2FwZV92YWx1ZShjKQpAQCAtNTk2LDYgKzYwMSw5
IEBAIGNsYXNzIFBhcnNlcihvYmplY3QpOgogICAgICAgICAgICAgc2VsZi5leHByZXNzaW9uX3Zh
bHVlcygpCiAgICAgICAgICAgICBpZiBzZWxmLnRva2VuWzBdID09IHRva2VuX3R5cGVzLnN0cmlu
ZzoKICAgICAgICAgICAgICAgICBzZWxmLnZhbHVlKCkKKyAgICAgICAgICAgIGVsaWYgc2VsZi50
b2tlblswXSA9PSB0b2tlbl90eXBlcy5saXN0X3N0YXJ0OgorICAgICAgICAgICAgICAgIHNlbGYu
Y29uc3VtZSgpCisgICAgICAgICAgICAgICAgc2VsZi5saXN0X3ZhbHVlKCkKICAgICAgICAgICAg
IHNlbGYuZW9mX29yX2VuZF9ncm91cCgpCiAgICAgICAgIGVsaWYgc2VsZi50b2tlblswXSA9PSB0
b2tlbl90eXBlcy5hdG9tOgogICAgICAgICAgICAgc2VsZi5hdG9tKCkKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3dwdHJ1bm5lci93cHRtYW5pZmVzdC9zZXJpYWxpemVyLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1h
bmlmZXN0L3NlcmlhbGl6ZXIucHkKaW5kZXggM2IyOWM5OWVkZTdjYWM1OGVkZTVkNDgyMzc2OTZl
MzBjOWQ4NTZjNy4uZWM4ZDgwZWQ2ZjcxNTFiMjkxM2Y5NzVkZjBmYzM4N2ExMjdkZTE1MiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L3NlcmlhbGl6ZXIucHkKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
d3B0cnVubmVyL3dwdG1hbmlmZXN0L3NlcmlhbGl6ZXIucHkKQEAgLTEsNyArMSwxMCBAQAorZnJv
bSBfX2Z1dHVyZV9fIGltcG9ydCB1bmljb2RlX2xpdGVyYWxzCitmcm9tIHNpeCBpbXBvcnQgZW5z
dXJlX3RleHQKKwogZnJvbSAubm9kZSBpbXBvcnQgTm9kZVZpc2l0b3IsIFZhbHVlTm9kZSwgTGlz
dE5vZGUsIEJpbmFyeUV4cHJlc3Npb25Ob2RlCiBmcm9tIC5wYXJzZXIgaW1wb3J0IGF0b21zLCBw
cmVjZWRlbmNlCiAKLWF0b21fbmFtZXMgPSB7djoiQCVzIiAlIGsgZm9yIChrLHYpIGluIGF0b21z
Lml0ZW1zKCl9CithdG9tX25hbWVzID0ge3Y6ICJAJXMiICUgayBmb3IgKGssdikgaW4gYXRvbXMu
aXRlbXMoKX0KIAogbmFtZWRfZXNjYXBlcyA9IHsiXGEiLCAiXGIiLCAiXGYiLCAiXG4iLCAiXHIi
LCAiXHQiLCAiXHYifQogCkBAIC0xMCw3ICsxMyw3IEBAIGRlZiBlc2NhcGUoc3RyaW5nLCBleHRy
YXM9IiIpOgogICAgIHJ2ID0gIiIKICAgICBmb3IgYyBpbiBzdHJpbmc6CiAgICAgICAgIGlmIGMg
aW4gbmFtZWRfZXNjYXBlczoKLSAgICAgICAgICAgIHJ2ICs9IGMuZW5jb2RlKCJ1bmljb2RlX2Vz
Y2FwZSIpCisgICAgICAgICAgICBydiArPSBjLmVuY29kZSgidW5pY29kZV9lc2NhcGUiKS5kZWNv
ZGUoKQogICAgICAgICBlbGlmIGMgPT0gIlxcIjoKICAgICAgICAgICAgIHJ2ICs9ICJcXFxcIgog
ICAgICAgICBlbGlmIGMgPCAnXHgyMCc6CkBAIC0xOSwxMCArMjIsNyBAQCBkZWYgZXNjYXBlKHN0
cmluZywgZXh0cmFzPSIiKToKICAgICAgICAgICAgIHJ2ICs9ICJcXCIgKyBjCiAgICAgICAgIGVs
c2U6CiAgICAgICAgICAgICBydiArPSBjCi0gICAgaWYgaXNpbnN0YW5jZShydiwgdW5pY29kZSk6
Ci0gICAgICAgIHJldHVybiBydi5lbmNvZGUoInV0ZjgiKQotICAgIGVsc2U6Ci0gICAgICAgIHJl
dHVybiBydgorICAgIHJldHVybiBlbnN1cmVfdGV4dChydikKIAogCiBjbGFzcyBNYW5pZmVzdFNl
cmlhbGl6ZXIoTm9kZVZpc2l0b3IpOgpAQCAtNzQsMTAgKzc0LDcgQEAgY2xhc3MgTWFuaWZlc3RT
ZXJpYWxpemVyKE5vZGVWaXNpdG9yKToKICAgICAgICAgcmV0dXJuIFsiIi5qb2luKHJ2KV0KIAog
ICAgIGRlZiB2aXNpdF9WYWx1ZU5vZGUoc2VsZiwgbm9kZSk6Ci0gICAgICAgIGlmIG5vdCBpc2lu
c3RhbmNlKG5vZGUuZGF0YSwgKHN0ciwgdW5pY29kZSkpOgotICAgICAgICAgICAgZGF0YSA9IHVu
aWNvZGUobm9kZS5kYXRhKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgZGF0YSA9IG5vZGUu
ZGF0YQorICAgICAgICBkYXRhID0gZW5zdXJlX3RleHQobm9kZS5kYXRhKQogICAgICAgICBpZiAo
IiMiIGluIGRhdGEgb3IKICAgICAgICAgICAgIGRhdGEuc3RhcnRzd2l0aCgiaWYgIikgb3IKICAg
ICAgICAgICAgIChpc2luc3RhbmNlKG5vZGUucGFyZW50LCBMaXN0Tm9kZSkgYW5kCkBAIC0xMDMs
NyArMTAwLDcgQEAgY2xhc3MgTWFuaWZlc3RTZXJpYWxpemVyKE5vZGVWaXNpdG9yKToKICAgICAg
ICAgcmV0dXJuIHJ2CiAKICAgICBkZWYgdmlzaXRfTnVtYmVyTm9kZShzZWxmLCBub2RlKToKLSAg
ICAgICAgcmV0dXJuIFtzdHIobm9kZS5kYXRhKV0KKyAgICAgICAgcmV0dXJuIFtlbnN1cmVfdGV4
dChub2RlLmRhdGEpXQogCiAgICAgZGVmIHZpc2l0X1ZhcmlhYmxlTm9kZShzZWxmLCBub2RlKToK
ICAgICAgICAgcnYgPSBlc2NhcGUobm9kZS5kYXRhKQpAQCAtMTM3LDEwICsxMzQsMTAgQEAgY2xh
c3MgTWFuaWZlc3RTZXJpYWxpemVyKE5vZGVWaXNpdG9yKToKICAgICAgICAgcmV0dXJuIFsiICIu
am9pbihjaGlsZHJlbildCiAKICAgICBkZWYgdmlzaXRfVW5hcnlPcGVyYXRvck5vZGUoc2VsZiwg
bm9kZSk6Ci0gICAgICAgIHJldHVybiBbc3RyKG5vZGUuZGF0YSldCisgICAgICAgIHJldHVybiBb
ZW5zdXJlX3RleHQobm9kZS5kYXRhKV0KIAogICAgIGRlZiB2aXNpdF9CaW5hcnlPcGVyYXRvck5v
ZGUoc2VsZiwgbm9kZSk6Ci0gICAgICAgIHJldHVybiBbc3RyKG5vZGUuZGF0YSldCisgICAgICAg
IHJldHVybiBbZW5zdXJlX3RleHQobm9kZS5kYXRhKV0KIAogCiBkZWYgc2VyaWFsaXplKHRyZWUs
ICphcmdzLCAqKmt3YXJncyk6CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3Qv
dGVzdHMvdGVzdF9jb25kaXRpb25hbC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRtYW5pZmVzdC90ZXN0
cy90ZXN0X2NvbmRpdGlvbmFsLnB5CmluZGV4IGZiYzc1ZWM4MzkwZmEzNGFiN2UzY2FhMzkxYzNl
NmU3ODM3YTU1NGQuLmFmNGQ5OTYwMzIyYzdlOGRmY2NiMDc2YTJlNDY2MTI1NDU3ZDE4NzggMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRtYW5pZmVzdC90ZXN0cy90ZXN0X2NvbmRpdGlvbmFs
LnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRtYW5pZmVzdC90ZXN0cy90ZXN0X2NvbmRpdGlvbmFs
LnB5CkBAIC0xLDE5ICsxLDE1IEBACi1pbXBvcnQgcHl0ZXN0Ci1pbXBvcnQgc3lzCiBpbXBvcnQg
dW5pdHRlc3QKIAogZnJvbSAuLmJhY2tlbmRzIGltcG9ydCBjb25kaXRpb25hbAogZnJvbSAuLm5v
ZGUgaW1wb3J0IEJpbmFyeUV4cHJlc3Npb25Ob2RlLCBCaW5hcnlPcGVyYXRvck5vZGUsIFZhcmlh
YmxlTm9kZSwgTnVtYmVyTm9kZQogCiAKLUBweXRlc3QubWFyay54ZmFpbChzeXMudmVyc2lvblsw
XSA9PSAiMyIsCi0gICAgICAgICAgICAgICAgICAgcmVhc29uPSJ3cHRtYW5pZmVzdC5wYXJzZXIg
ZG9lc24ndCBzdXBwb3J0IHB5MyIpCiBjbGFzcyBUZXN0Q29uZGl0aW9uYWwodW5pdHRlc3QuVGVz
dENhc2UpOgogICAgIGRlZiBjb21waWxlKHNlbGYsIGlucHV0X3RleHQpOgogICAgICAgICByZXR1
cm4gY29uZGl0aW9uYWwuY29tcGlsZShpbnB1dF90ZXh0KQogCiAgICAgZGVmIHRlc3RfZ2V0XzAo
c2VsZik6Ci0gICAgICAgIGRhdGEgPSAiIiIKKyAgICAgICAgZGF0YSA9IGIiIiIKIGtleTogdmFs
dWUKIAogW0hlYWRpbmcgMV0KQEAgLTI1LDE5ICsyMSwxOSBAQCBrZXk6IHZhbHVlCiAKICAgICAg
ICAgbWFuaWZlc3QgPSBzZWxmLmNvbXBpbGUoZGF0YSkKIAotICAgICAgICBzZWxmLmFzc2VydEVx
dWFscyhtYW5pZmVzdC5nZXQoImtleSIpLCAidmFsdWUiKQorICAgICAgICBzZWxmLmFzc2VydEVx
dWFsKG1hbmlmZXN0LmdldCgia2V5IiksICJ2YWx1ZSIpCiAgICAgICAgIGNoaWxkcmVuID0gbGlz
dChpdGVtIGZvciBpdGVtIGluIG1hbmlmZXN0Lml0ZXJjaGlsZHJlbigpKQotICAgICAgICBzZWxm
LmFzc2VydEVxdWFscyhsZW4oY2hpbGRyZW4pLCAxKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KGxlbihjaGlsZHJlbiksIDEpCiAgICAgICAgIHNlY3Rpb24gPSBjaGlsZHJlblswXQotICAgICAg
ICBzZWxmLmFzc2VydEVxdWFscyhzZWN0aW9uLm5hbWUsICJIZWFkaW5nIDEiKQorICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKHNlY3Rpb24ubmFtZSwgIkhlYWRpbmcgMSIpCiAKLSAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbHMoc2VjdGlvbi5nZXQoIm90aGVyX2tleSIsIHsiYSI6IDF9KSwgInZhbHVl
XzEiKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhzZWN0aW9uLmdldCgib3RoZXJfa2V5Iiwg
eyJhIjogMn0pLCAidmFsdWVfMiIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHNlY3Rpb24u
Z2V0KCJvdGhlcl9rZXkiLCB7ImEiOiA3fSksICJ2YWx1ZV8zIikKLSAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbHMoc2VjdGlvbi5nZXQoImtleSIpLCAidmFsdWUiKQorICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKHNlY3Rpb24uZ2V0KCJvdGhlcl9rZXkiLCB7ImEiOiAxfSksICJ2YWx1ZV8xIikKKyAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWN0aW9uLmdldCgib3RoZXJfa2V5IiwgeyJhIjogMn0p
LCAidmFsdWVfMiIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VjdGlvbi5nZXQoIm90aGVy
X2tleSIsIHsiYSI6IDd9KSwgInZhbHVlXzMiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNl
Y3Rpb24uZ2V0KCJrZXkiKSwgInZhbHVlIikKIAogICAgIGRlZiB0ZXN0X2dldF8xKHNlbGYpOgot
ICAgICAgICBkYXRhID0gIiIiCisgICAgICAgIGRhdGEgPSBiIiIiCiBrZXk6IHZhbHVlCiAKIFtI
ZWFkaW5nIDFdCkBAIC01MiwxMSArNDgsMTEgQEAga2V5OiB2YWx1ZQogICAgICAgICBjaGlsZHJl
biA9IGxpc3QoaXRlbSBmb3IgaXRlbSBpbiBtYW5pZmVzdC5pdGVyY2hpbGRyZW4oKSkKICAgICAg
ICAgc2VjdGlvbiA9IGNoaWxkcmVuWzBdCiAKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoc2Vj
dGlvbi5nZXQoIm90aGVyX2tleSIsIHsiYSI6ICIxIn0pLCAidmFsdWVfMSIpCi0gICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWxzKHNlY3Rpb24uZ2V0KCJvdGhlcl9rZXkiLCB7ImEiOiAxfSksICJ2YWx1
ZV8zIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWN0aW9uLmdldCgib3RoZXJfa2V5Iiwg
eyJhIjogIjEifSksICJ2YWx1ZV8xIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWN0aW9u
LmdldCgib3RoZXJfa2V5IiwgeyJhIjogMX0pLCAidmFsdWVfMyIpCiAKICAgICBkZWYgdGVzdF9n
ZXRfMihzZWxmKToKLSAgICAgICAgZGF0YSA9ICIiIgorICAgICAgICBkYXRhID0gYiIiIgoga2V5
OgogICBpZiBhWzFdID09ICJiIjogdmFsdWVfMQogICBpZiBhWzFdID09IDI6IHZhbHVlXzIKQEAg
LTY1LDExICs2MSwxMSBAQCBrZXk6CiAKICAgICAgICAgbWFuaWZlc3QgPSBzZWxmLmNvbXBpbGUo
ZGF0YSkKIAotICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhtYW5pZmVzdC5nZXQoImtleSIsIHsi
YSI6ICJhYiJ9KSwgInZhbHVlXzEiKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhtYW5pZmVz
dC5nZXQoImtleSIsIHsiYSI6IFsxLCAyXX0pLCAidmFsdWVfMiIpCisgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwobWFuaWZlc3QuZ2V0KCJrZXkiLCB7ImEiOiAiYWIifSksICJ2YWx1ZV8xIikKKyAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbChtYW5pZmVzdC5nZXQoImtleSIsIHsiYSI6IFsxLCAyXX0p
LCAidmFsdWVfMiIpCiAKICAgICBkZWYgdGVzdF9nZXRfMyhzZWxmKToKLSAgICAgICAgZGF0YSA9
ICIiIgorICAgICAgICBkYXRhID0gYiIiIgoga2V5OgogICBpZiBhWzFdID09ICJhYiJbMV06IHZh
bHVlXzEKICAgaWYgYVsxXSA9PSAyOiB2YWx1ZV8yCkBAIC03OCwxMSArNzQsMTEgQEAga2V5Ogog
CiAgICAgICAgIG1hbmlmZXN0ID0gc2VsZi5jb21waWxlKGRhdGEpCiAKLSAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbHMobWFuaWZlc3QuZ2V0KCJrZXkiLCB7ImEiOiAiYWIifSksICJ2YWx1ZV8xIikK
LSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMobWFuaWZlc3QuZ2V0KCJrZXkiLCB7ImEiOiBbMSwg
Ml19KSwgInZhbHVlXzIiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1hbmlmZXN0LmdldCgi
a2V5IiwgeyJhIjogImFiIn0pLCAidmFsdWVfMSIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
bWFuaWZlc3QuZ2V0KCJrZXkiLCB7ImEiOiBbMSwgMl19KSwgInZhbHVlXzIiKQogCiAgICAgZGVm
IHRlc3Rfc2V0XzAoc2VsZik6Ci0gICAgICAgIGRhdGEgPSAiIiIKKyAgICAgICAgZGF0YSA9IGIi
IiIKIGtleToKICAgaWYgYSA9PSAiYSI6IHZhbHVlXzEKICAgaWYgYSA9PSAiYiI6IHZhbHVlXzIK
QEAgLTkyLDEwICs4OCwxMCBAQCBrZXk6CiAKICAgICAgICAgbWFuaWZlc3Quc2V0KCJuZXdfa2V5
IiwgInZhbHVlX25ldyIpCiAKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMobWFuaWZlc3QuZ2V0
KCJuZXdfa2V5IiksICJ2YWx1ZV9uZXciKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1hbmlm
ZXN0LmdldCgibmV3X2tleSIpLCAidmFsdWVfbmV3IikKIAogICAgIGRlZiB0ZXN0X3NldF8xKHNl
bGYpOgotICAgICAgICBkYXRhID0gIiIiCisgICAgICAgIGRhdGEgPSBiIiIiCiBrZXk6CiAgIGlm
IGEgPT0gImEiOiB2YWx1ZV8xCiAgIGlmIGEgPT0gImIiOiB2YWx1ZV8yCkBAIC0xMDYsMTEgKzEw
MiwxMSBAQCBrZXk6CiAKICAgICAgICAgbWFuaWZlc3Quc2V0KCJrZXkiLCAidmFsdWVfbmV3IikK
IAotICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhtYW5pZmVzdC5nZXQoImtleSIpLCAidmFsdWVf
bmV3IikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMobWFuaWZlc3QuZ2V0KCJrZXkiLCB7ImEi
OiAiYSJ9KSwgInZhbHVlXzEiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1hbmlmZXN0Lmdl
dCgia2V5IiksICJ2YWx1ZV9uZXciKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1hbmlmZXN0
LmdldCgia2V5IiwgeyJhIjogImEifSksICJ2YWx1ZV8xIikKIAogICAgIGRlZiB0ZXN0X3NldF8y
KHNlbGYpOgotICAgICAgICBkYXRhID0gIiIiCisgICAgICAgIGRhdGEgPSBiIiIiCiBrZXk6CiAg
IGlmIGEgPT0gImEiOiB2YWx1ZV8xCiAgIGlmIGEgPT0gImIiOiB2YWx1ZV8yCkBAIC0xMjUsMTEg
KzEyMSwxMSBAQCBrZXk6CiAKICAgICAgICAgbWFuaWZlc3Quc2V0KCJrZXkiLCAidmFsdWVfbmV3
IiwgZXhwcikKIAotICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhtYW5pZmVzdC5nZXQoImtleSIs
IHsiYSI6IDF9KSwgInZhbHVlX25ldyIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKG1hbmlm
ZXN0LmdldCgia2V5IiwgeyJhIjogImEifSksICJ2YWx1ZV8xIikKKyAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChtYW5pZmVzdC5nZXQoImtleSIsIHsiYSI6IDF9KSwgInZhbHVlX25ldyIpCisgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwobWFuaWZlc3QuZ2V0KCJrZXkiLCB7ImEiOiAiYSJ9KSwgInZh
bHVlXzEiKQogCiAgICAgZGVmIHRlc3RfYXBpXzAoc2VsZik6Ci0gICAgICAgIGRhdGEgPSAiIiIK
KyAgICAgICAgZGF0YSA9IGIiIiIKIGtleToKICAgaWYgYSA9PSAxLjU6IHZhbHVlXzEKICAgdmFs
dWVfMgpAQCAtMTM4LDggKzEzNCw4IEBAIGtleV8xOiBvdGhlcl92YWx1ZQogICAgICAgICBtYW5p
ZmVzdCA9IHNlbGYuY29tcGlsZShkYXRhKQogCiAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UobWFu
aWZlc3QuaXNfZW1wdHkpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKG1hbmlmZXN0LnJvb3Qs
IG1hbmlmZXN0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1hbmlmZXN0LnJvb3QsIG1hbmlm
ZXN0KQogICAgICAgICBzZWxmLmFzc2VydFRydWUobWFuaWZlc3QuaGFzX2tleSgia2V5XzEiKSkK
ICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShtYW5pZmVzdC5oYXNfa2V5KCJrZXlfMiIpKQogCi0g
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHNldChtYW5pZmVzdC5pdGVya2V5cygpKSwgeyJrZXki
LCAia2V5XzEifSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZXQobWFuaWZlc3QuaXRlcmtl
eXMoKSksIHsia2V5IiwgImtleV8xIn0pCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFu
aWZlc3QvdGVzdHMvdGVzdF9wYXJzZXIucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3QvdGVz
dHMvdGVzdF9wYXJzZXIucHkKaW5kZXggODA1ZTQ3YjM3MWY1YTczMDc2NWYzZTVkMWFjNWY2Yzk0
ZGMzZTk5Ny4uMjNiZWIyYmVmMjA4YTIxMTA3YjEwODYyMGZkNTRmMWVjNTY1NGQ4YyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L3Rlc3RzL3Rlc3RfcGFyc2VyLnB5CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVu
bmVyL3dwdHJ1bm5lci93cHRtYW5pZmVzdC90ZXN0cy90ZXN0X3BhcnNlci5weQpAQCAtMTgsOSAr
MTgsOSBAQCBjbGFzcyBUZXN0RXhwcmVzc2lvbih1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAg
IHNlbGYubWF0Y2goZXhwZWN0ZWQsIGFjdHVhbCkKIAogICAgIGRlZiBtYXRjaChzZWxmLCBleHBl
Y3RlZF9ub2RlLCBhY3R1YWxfbm9kZSk6Ci0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKGV4cGVj
dGVkX25vZGVbMF0sIGFjdHVhbF9ub2RlLl9fY2xhc3NfXy5fX25hbWVfXykKLSAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbHMoZXhwZWN0ZWRfbm9kZVsxXSwgYWN0dWFsX25vZGUuZGF0YSkKLSAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbHMobGVuKGV4cGVjdGVkX25vZGVbMl0pLCBsZW4oYWN0dWFsX25v
ZGUuY2hpbGRyZW4pKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4cGVjdGVkX25vZGVbMF0s
IGFjdHVhbF9ub2RlLl9fY2xhc3NfXy5fX25hbWVfXykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChleHBlY3RlZF9ub2RlWzFdLCBhY3R1YWxfbm9kZS5kYXRhKQorICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKGxlbihleHBlY3RlZF9ub2RlWzJdKSwgbGVuKGFjdHVhbF9ub2RlLmNoaWxkcmVuKSkK
ICAgICAgICAgZm9yIGV4cGVjdGVkX2NoaWxkLCBhY3R1YWxfY2hpbGQgaW4gemlwKGV4cGVjdGVk
X25vZGVbMl0sIGFjdHVhbF9ub2RlLmNoaWxkcmVuKToKICAgICAgICAgICAgIHNlbGYubWF0Y2go
ZXhwZWN0ZWRfY2hpbGQsIGFjdHVhbF9jaGlsZCkKIApAQCAtMTA1LDYgKzEwNSw0NSBAQCBrZXk6
CiAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMocGFyc2VyLlBhcnNlRXJyb3IpOgogICAg
ICAgICAgICAgc2VsZi5wYXJzZShiImtleTogQHRydWUiKQogCisgICAgZGVmIHRlc3RfbGlzdF9l
eHByKHNlbGYpOgorICAgICAgICBzZWxmLmNvbXBhcmUoCisgICAgICAgICAgICBiIiIiCitrZXk6
CisgIGlmIHggPT0gMTogW2FdCisgIFtiXSIiIiwKKyAgICAgICAgICAgIFsiRGF0YU5vZGUiLCBO
b25lLAorICAgICAgICAgICAgIFtbIktleVZhbHVlTm9kZSIsICJrZXkiLAorICAgICAgICAgICAg
ICAgW1siQ29uZGl0aW9uYWxOb2RlIiwgTm9uZSwKKyAgICAgICAgICAgICAgICAgW1siQmluYXJ5
RXhwcmVzc2lvbk5vZGUiLCBOb25lLAorICAgICAgICAgICAgICAgICAgIFtbIkJpbmFyeU9wZXJh
dG9yTm9kZSIsICI9PSIsIFtdXSwKKyAgICAgICAgICAgICAgICAgICAgWyJWYXJpYWJsZU5vZGUi
LCAieCIsIFtdXSwKKyAgICAgICAgICAgICAgICAgICAgICAgWyJOdW1iZXJOb2RlIiwgIjEiLCBb
XV0KKyAgICAgICAgICAgICAgICAgICAgXV0sCisgICAgICAgICAgICAgICAgICAgICBbIkxpc3RO
b2RlIiwgTm9uZSwKKyAgICAgICAgICAgICAgICAgICAgICBbWyJWYWx1ZU5vZGUiLCAiYSIsIFtd
XV1dLAorICAgICAgICAgICAgICAgICAgXV0sCisgICAgICAgICAgICAgICAgWyJMaXN0Tm9kZSIs
IE5vbmUsCisgICAgICAgICAgICAgICAgIFtbIlZhbHVlTm9kZSIsICJiIiwgW11dXV1dXV1dKQor
CisgICAgZGVmIHRlc3RfbGlzdF9oZWFkaW5nKHNlbGYpOgorICAgICAgICBzZWxmLmNvbXBhcmUo
CisgICAgICAgICAgICBiIiIiCitrZXk6CisgIGlmIHggPT0gMTogW2FdCitbYl0iIiIsCisgICAg
ICAgICAgICBbIkRhdGFOb2RlIiwgTm9uZSwKKyAgICAgICAgICAgICBbWyJLZXlWYWx1ZU5vZGUi
LCAia2V5IiwKKyAgICAgICAgICAgICAgIFtbIkNvbmRpdGlvbmFsTm9kZSIsIE5vbmUsCisgICAg
ICAgICAgICAgICAgIFtbIkJpbmFyeUV4cHJlc3Npb25Ob2RlIiwgTm9uZSwKKyAgICAgICAgICAg
ICAgICAgICBbWyJCaW5hcnlPcGVyYXRvck5vZGUiLCAiPT0iLCBbXV0sCisgICAgICAgICAgICAg
ICAgICAgIFsiVmFyaWFibGVOb2RlIiwgIngiLCBbXV0sCisgICAgICAgICAgICAgICAgICAgICAg
IFsiTnVtYmVyTm9kZSIsICIxIiwgW11dCisgICAgICAgICAgICAgICAgICAgIF1dLAorICAgICAg
ICAgICAgICAgICAgICAgWyJMaXN0Tm9kZSIsIE5vbmUsCisgICAgICAgICAgICAgICAgICAgICAg
W1siVmFsdWVOb2RlIiwgImEiLCBbXV1dXSwKKyAgICAgICAgICAgICAgICAgIF1dXV0sCisgICAg
ICAgICAgICAgIFsiRGF0YU5vZGUiLCAiYiIsIFtdXV1dKQorCiAgICAgZGVmIHRlc3RfaWZfMShz
ZWxmKToKICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhwYXJzZXIuUGFyc2VFcnJvcik6
CiAgICAgICAgICAgICBzZWxmLnBhcnNlKGIia2V5OiBpZiBmb28iKQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIv
d3B0cnVubmVyL3dwdG1hbmlmZXN0L3Rlc3RzL3Rlc3Rfc2VyaWFsaXplci5weSBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1
bm5lci93cHRtYW5pZmVzdC90ZXN0cy90ZXN0X3NlcmlhbGl6ZXIucHkKaW5kZXggN2ZlN2FjODVj
YjhhMTRmMDUxMTNjYmZkNDgzYjhkMDQyYTA3Yjk4OS4uYjI0Nzg1NTgwMWVhYzY1ODlhZWJkNDU1
NWM2ZDllODY1M2UxMmU0ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1hbmlmZXN0L3Rl
c3RzL3Rlc3Rfc2VyaWFsaXplci5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3QvdGVz
dHMvdGVzdF9zZXJpYWxpemVyLnB5CkBAIC02LDggKzYsNiBAQCBpbXBvcnQgcHl0ZXN0CiBmcm9t
IC4uIGltcG9ydCBwYXJzZXIsIHNlcmlhbGl6ZXIKIAogCi1AcHl0ZXN0Lm1hcmsueGZhaWwoc3lz
LnZlcnNpb25bMF0gPT0gIjMiLAotICAgICAgICAgICAgICAgICAgIHJlYXNvbj0id3B0bWFuaWZl
c3QucGFyc2VyIGRvZXNuJ3Qgc3VwcG9ydCBweTMiKQogY2xhc3MgVG9rZW5pemVyVGVzdCh1bml0
dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIHNldFVwKHNlbGYpOgogICAgICAgICBzZWxmLnNlcmlh
bGl6ZXIgPSBzZXJpYWxpemVyLk1hbmlmZXN0U2VyaWFsaXplcigpCkBAIC0xOCwyNiArMTYsMjUg
QEAgY2xhc3MgVG9rZW5pemVyVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICBkZWYgY29t
cGFyZShzZWxmLCBpbnB1dF9zdHIsIGV4cGVjdGVkPU5vbmUpOgogICAgICAgICBpZiBleHBlY3Rl
ZCBpcyBOb25lOgotICAgICAgICAgICAgZXhwZWN0ZWQgPSBpbnB1dF9zdHIKLSAgICAgICAgZXhw
ZWN0ZWQgPSBleHBlY3RlZC5lbmNvZGUoInV0ZjgiKQorICAgICAgICAgICAgZXhwZWN0ZWQgPSBp
bnB1dF9zdHIuZGVjb2RlKCJ1dGYtOCIpCiAgICAgICAgIGFjdHVhbCA9IHNlbGYuc2VyaWFsaXpl
KGlucHV0X3N0cikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoYWN0dWFsLCBleHBlY3RlZCkK
KyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhY3R1YWwsIGV4cGVjdGVkKQogCiAgICAgZGVmIHRl
c3RfMChzZWxmKToKLSAgICAgICAgc2VsZi5jb21wYXJlKCIiImtleTogdmFsdWUKKyAgICAgICAg
c2VsZi5jb21wYXJlKGIiIiJrZXk6IHZhbHVlCiBbSGVhZGluZyAxXQogICBvdGhlcl9rZXk6IG90
aGVyX3ZhbHVlCiAiIiIpCiAKICAgICBkZWYgdGVzdF8xKHNlbGYpOgotICAgICAgICBzZWxmLmNv
bXBhcmUoIiIia2V5OiB2YWx1ZQorICAgICAgICBzZWxmLmNvbXBhcmUoYiIiImtleTogdmFsdWUK
IFtIZWFkaW5nIDFdCiAgIG90aGVyX2tleToKICAgICBpZiBhIG9yIGI6IG90aGVyX3ZhbHVlCiAi
IiIpCiAKICAgICBkZWYgdGVzdF8yKHNlbGYpOgotICAgICAgICBzZWxmLmNvbXBhcmUoIiIia2V5
OiB2YWx1ZQorICAgICAgICBzZWxmLmNvbXBhcmUoYiIiImtleTogdmFsdWUKIFtIZWFkaW5nIDFd
CiAgIG90aGVyX2tleToKICAgICBpZiBhIG9yIGI6IG90aGVyX3ZhbHVlCkBAIC00NSw3ICs0Miw3
IEBAIGNsYXNzIFRva2VuaXplclRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogIiIiKQogCiAgICAg
ZGVmIHRlc3RfMyhzZWxmKToKLSAgICAgICAgc2VsZi5jb21wYXJlKCIiImtleTogdmFsdWUKKyAg
ICAgICAgc2VsZi5jb21wYXJlKGIiIiJrZXk6IHZhbHVlCiBbSGVhZGluZyAxXQogICBvdGhlcl9r
ZXk6CiAgICAgaWYgYSA9PSAxOiBvdGhlcl92YWx1ZQpAQCAtNTMsNyArNTAsNyBAQCBjbGFzcyBU
b2tlbml6ZXJUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICIiIikKIAogICAgIGRlZiB0ZXN0XzQo
c2VsZik6Ci0gICAgICAgIHNlbGYuY29tcGFyZSgiIiJrZXk6IHZhbHVlCisgICAgICAgIHNlbGYu
Y29tcGFyZShiIiIia2V5OiB2YWx1ZQogW0hlYWRpbmcgMV0KICAgb3RoZXJfa2V5OgogICAgIGlm
IGEgPT0gIjEiOiBvdGhlcl92YWx1ZQpAQCAtNjEsNyArNTgsNyBAQCBjbGFzcyBUb2tlbml6ZXJU
ZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICIiIikKIAogICAgIGRlZiB0ZXN0XzUoc2VsZik6Ci0g
ICAgICAgIHNlbGYuY29tcGFyZSgiIiJrZXk6IHZhbHVlCisgICAgICAgIHNlbGYuY29tcGFyZShi
IiIia2V5OiB2YWx1ZQogW0hlYWRpbmcgMV0KICAgb3RoZXJfa2V5OgogICAgIGlmIGEgPT0gImFi
YyJbMV06IG90aGVyX3ZhbHVlCkBAIC02OSw3ICs2Niw3IEBAIGNsYXNzIFRva2VuaXplclRlc3Qo
dW5pdHRlc3QuVGVzdENhc2UpOgogIiIiKQogCiAgICAgZGVmIHRlc3RfNihzZWxmKToKLSAgICAg
ICAgc2VsZi5jb21wYXJlKCIiImtleTogdmFsdWUKKyAgICAgICAgc2VsZi5jb21wYXJlKGIiIiJr
ZXk6IHZhbHVlCiBbSGVhZGluZyAxXQogICBvdGhlcl9rZXk6CiAgICAgaWYgYSA9PSAiYWJjIltj
XTogb3RoZXJfdmFsdWUKQEAgLTc3LDcgKzc0LDcgQEAgY2xhc3MgVG9rZW5pemVyVGVzdCh1bml0
dGVzdC5UZXN0Q2FzZSk6CiAiIiIpCiAKICAgICBkZWYgdGVzdF83KHNlbGYpOgotICAgICAgICBz
ZWxmLmNvbXBhcmUoIiIia2V5OiB2YWx1ZQorICAgICAgICBzZWxmLmNvbXBhcmUoYiIiImtleTog
dmFsdWUKIFtIZWFkaW5nIDFdCiAgIG90aGVyX2tleToKICAgICBpZiAoYSBvciBiKSBhbmQgYzog
b3RoZXJfdmFsdWUKQEAgLTkxLDcgKzg4LDcgQEAgY2xhc3MgVG9rZW5pemVyVGVzdCh1bml0dGVz
dC5UZXN0Q2FzZSk6CiAiIiIpCiAKICAgICBkZWYgdGVzdF84KHNlbGYpOgotICAgICAgICBzZWxm
LmNvbXBhcmUoIiIia2V5OiB2YWx1ZQorICAgICAgICBzZWxmLmNvbXBhcmUoYiIiImtleTogdmFs
dWUKIFtIZWFkaW5nIDFdCiAgIG90aGVyX2tleToKICAgICBpZiBhIG9yIChiIGFuZCBjKTogb3Ro
ZXJfdmFsdWUKQEAgLTk5LDcgKzk2LDcgQEAgY2xhc3MgVG9rZW5pemVyVGVzdCh1bml0dGVzdC5U
ZXN0Q2FzZSk6CiAiIiIpCiAKICAgICBkZWYgdGVzdF85KHNlbGYpOgotICAgICAgICBzZWxmLmNv
bXBhcmUoIiIia2V5OiB2YWx1ZQorICAgICAgICBzZWxmLmNvbXBhcmUoYiIiImtleTogdmFsdWUK
IFtIZWFkaW5nIDFdCiAgIG90aGVyX2tleToKICAgICBpZiBub3QgKGEgYW5kIGIpOiBvdGhlcl92
YWx1ZQpAQCAtMTA3LDcgKzEwNCw3IEBAIGNsYXNzIFRva2VuaXplclRlc3QodW5pdHRlc3QuVGVz
dENhc2UpOgogIiIiKQogCiAgICAgZGVmIHRlc3RfMTAoc2VsZik6Ci0gICAgICAgIHNlbGYuY29t
cGFyZSgiIiJrZXk6IHZhbHVlCisgICAgICAgIHNlbGYuY29tcGFyZShiIiIia2V5OiB2YWx1ZQog
W0hlYWRpbmcgMV0KICAgc29tZV9rZXk6IHNvbWVfdmFsdWUKIApAQCAtMTE2LDEyMSArMTEzLDEy
NSBAQCBjbGFzcyBUb2tlbml6ZXJUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICIiIikKIAogICAg
IGRlZiB0ZXN0XzExKHNlbGYpOgotICAgICAgICBzZWxmLmNvbXBhcmUoIiIia2V5OgorICAgICAg
ICBzZWxmLmNvbXBhcmUoYiIiImtleToKICAgaWYgbm90IGEgYW5kIGIgYW5kIGMgYW5kIGQ6IHRy
dWUKICIiIikKIAogICAgIGRlZiB0ZXN0XzEyKHNlbGYpOgotICAgICAgICBzZWxmLmNvbXBhcmUo
IiIiW0hlYWRpbmcgMV0KKyAgICAgICAgc2VsZi5jb21wYXJlKGIiIiJbSGVhZGluZyAxXQogICBr
ZXk6IFthOjEsIGI6Ml0KICIiIikKIAogICAgIGRlZiB0ZXN0XzEzKHNlbGYpOgotICAgICAgICBz
ZWxmLmNvbXBhcmUoIiIia2V5OiBbYToxLCAiYjojIl0KKyAgICAgICAgc2VsZi5jb21wYXJlKGIi
IiJrZXk6IFthOjEsICJiOiMiXQogIiIiKQogCiAgICAgZGVmIHRlc3RfMTQoc2VsZik6Ci0gICAg
ICAgIHNlbGYuY29tcGFyZSgiIiJrZXk6IFsiLCJdCisgICAgICAgIHNlbGYuY29tcGFyZShiIiIi
a2V5OiBbIiwiXQogIiIiKQogCiAgICAgZGVmIHRlc3RfMTUoc2VsZik6Ci0gICAgICAgIHNlbGYu
Y29tcGFyZSgiIiJrZXk6ICwKKyAgICAgICAgc2VsZi5jb21wYXJlKGIiIiJrZXk6ICwKICIiIikK
IAogICAgIGRlZiB0ZXN0XzE2KHNlbGYpOgotICAgICAgICBzZWxmLmNvbXBhcmUoIiIia2V5OiBb
Il0iLCBiXQorICAgICAgICBzZWxmLmNvbXBhcmUoYiIiImtleTogWyJdIiwgYl0KICIiIikKIAog
ICAgIGRlZiB0ZXN0XzE3KHNlbGYpOgotICAgICAgICBzZWxmLmNvbXBhcmUoIiIia2V5OiBdCisg
ICAgICAgIHNlbGYuY29tcGFyZShiIiIia2V5OiBdCiAiIiIpCiAKICAgICBkZWYgdGVzdF8xOChz
ZWxmKToKLSAgICAgICAgc2VsZi5jb21wYXJlKHIiIiJrZXk6IFxdCisgICAgICAgIHNlbGYuY29t
cGFyZShiciIiImtleTogXF0KICAgICAgICAgIiIiLCAiIiJrZXk6IF0KICIiIikKIAogICAgIGRl
ZiB0ZXN0X2VzY2FwZV8wKHNlbGYpOgotICAgICAgICBzZWxmLmNvbXBhcmUociIiImtcdFw6eTog
XGFcYlxmXG5cclx0XHYiIiIsCisgICAgICAgIHNlbGYuY29tcGFyZShiciIiImtcdFw6eTogXGFc
YlxmXG5cclx0XHYiIiIsCiAgICAgICAgICAgICAgICAgICAgICByIiIia1x0XDp5OiBceDA3XHgw
OFx4MGNcblxyXHRceDBiCiAiIiIpCiAKICAgICBkZWYgdGVzdF9lc2NhcGVfMShzZWxmKToKLSAg
ICAgICAgc2VsZi5jb21wYXJlKHIiIiJrXHgwMDogXHgxMkFceDQ1IiIiLAorICAgICAgICBzZWxm
LmNvbXBhcmUoYnIiIiJrXHgwMDogXHgxMkFceDQ1IiIiLAogICAgICAgICAgICAgICAgICAgICAg
ciIiImtceDAwOiBceDEyQUUKICIiIikKIAogICAgIGRlZiB0ZXN0X2VzY2FwZV8yKHNlbGYpOgot
ICAgICAgICBzZWxmLmNvbXBhcmUociIiImtcdTAwNDV5OiBcdTEyMzRBXHVBQmM2IiIiLAorICAg
ICAgICBzZWxmLmNvbXBhcmUoYnIiIiJrXHUwMDQ1eTogXHUxMjM0QVx1QUJjNiIiIiwKICAgICAg
ICAgICAgICAgICAgICAgIHUiIiJrRXk6IFx1MTIzNEFcdWFiYzYKICIiIikKIAogICAgIGRlZiB0
ZXN0X2VzY2FwZV8zKHNlbGYpOgotICAgICAgICBzZWxmLmNvbXBhcmUociIiImtcdTAwNDV5OiBc
dTEyMzRBXHVBQmM2IiIiLAorICAgICAgICBzZWxmLmNvbXBhcmUoYnIiIiJrXHUwMDQ1eTogXHUx
MjM0QVx1QUJjNiIiIiwKICAgICAgICAgICAgICAgICAgICAgIHUiIiJrRXk6IFx1MTIzNEFcdWFi
YzYKICIiIikKIAogICAgIGRlZiB0ZXN0X2VzY2FwZV80KHNlbGYpOgotICAgICAgICBzZWxmLmNv
bXBhcmUociIiImtleTogJ1x1MTIzNEFcdUFCYzYnIiIiLAorICAgICAgICBzZWxmLmNvbXBhcmUo
YnIiIiJrZXk6ICdcdTEyMzRBXHVBQmM2JyIiIiwKICAgICAgICAgICAgICAgICAgICAgIHUiIiJr
ZXk6IFx1MTIzNEFcdWFiYzYKICIiIikKIAogICAgIGRlZiB0ZXN0X2VzY2FwZV81KHNlbGYpOgot
ICAgICAgICBzZWxmLmNvbXBhcmUociIiImtleTogW1x1MTIzNEFcdUFCYzZdIiIiLAorICAgICAg
ICBzZWxmLmNvbXBhcmUoYnIiIiJrZXk6IFtcdTEyMzRBXHVBQmM2XSIiIiwKICAgICAgICAgICAg
ICAgICAgICAgIHUiIiJrZXk6IFtcdTEyMzRBXHVhYmM2XQogIiIiKQogCiAgICAgZGVmIHRlc3Rf
ZXNjYXBlXzYoc2VsZik6Ci0gICAgICAgIHNlbGYuY29tcGFyZShyIiIia2V5OiBbXHUxMjM0QVx1
QUJjNlwsXSIiIiwKKyAgICAgICAgc2VsZi5jb21wYXJlKGJyIiIia2V5OiBbXHUxMjM0QVx1QUJj
NlwsXSIiIiwKICAgICAgICAgICAgICAgICAgICAgIHUiIiJrZXk6IFsiXHUxMjM0QVx1YWJjNiwi
XQogIiIiKQogCiAgICAgZGVmIHRlc3RfZXNjYXBlXzcoc2VsZik6Ci0gICAgICAgIHNlbGYuY29t
cGFyZShyIiIia2V5OiBbXCxcXVwjXSIiIiwKKyAgICAgICAgc2VsZi5jb21wYXJlKGJyIiIia2V5
OiBbXCxcXVwjXSIiIiwKICAgICAgICAgICAgICAgICAgICAgIHIiIiJrZXk6IFsiLF0jIl0KICIi
IikKIAogICAgIGRlZiB0ZXN0X2VzY2FwZV84KHNlbGYpOgotICAgICAgICBzZWxmLmNvbXBhcmUo
ciIiImtleTogXCMiIiIsCisgICAgICAgIHNlbGYuY29tcGFyZShiciIiImtleTogXCMiIiIsCiAg
ICAgICAgICAgICAgICAgICAgICByIiIia2V5OiAiIyIKICIiIikKIAogICAgIEBweXRlc3QubWFy
ay54ZmFpbChzeXMubWF4dW5pY29kZSA9PSAweEZGRkYsIHJlYXNvbj0ibmFycm93IHVuaWNvZGUi
KQogICAgIGRlZiB0ZXN0X2VzY2FwZV85KHNlbGYpOgotICAgICAgICBzZWxmLmNvbXBhcmUociIi
ImtleTogXFUxMEZGRkZhYmMiIiIsCisgICAgICAgIHNlbGYuY29tcGFyZShiciIiImtleTogXFUx
MEZGRkZhYmMiIiIsCiAgICAgICAgICAgICAgICAgICAgICB1IiIia2V5OiBcVTAwMTBGRkZGYWJj
CiAiIiIpCiAKICAgICBkZWYgdGVzdF9lc2NhcGVfMTAoc2VsZik6Ci0gICAgICAgIHNlbGYuY29t
cGFyZShyIiIia2V5OiBcdTEwRkZhYiIiIiwKKyAgICAgICAgc2VsZi5jb21wYXJlKGJyIiIia2V5
OiBcdTEwRkZhYiIiIiwKICAgICAgICAgICAgICAgICAgICAgIHUiIiJrZXk6IFx1MTBGRmFiCiAi
IiIpCiAKICAgICBkZWYgdGVzdF9lc2NhcGVfMTEoc2VsZik6Ci0gICAgICAgIHNlbGYuY29tcGFy
ZShyIiIia2V5OiBcXGFiCisgICAgICAgIHNlbGYuY29tcGFyZShiciIiImtleTogXFxhYgogIiIi
KQogCiAgICAgZGVmIHRlc3RfYXRvbV8xKHNlbGYpOgotICAgICAgICBzZWxmLmNvbXBhcmUociIi
ImtleTogQFRydWUKKyAgICAgICAgc2VsZi5jb21wYXJlKGJyIiIia2V5OiBAVHJ1ZQogIiIiKQog
CiAgICAgZGVmIHRlc3RfYXRvbV8yKHNlbGYpOgotICAgICAgICBzZWxmLmNvbXBhcmUociIiImtl
eTogQEZhbHNlCisgICAgICAgIHNlbGYuY29tcGFyZShiciIiImtleTogQEZhbHNlCiAiIiIpCiAK
ICAgICBkZWYgdGVzdF9hdG9tXzMoc2VsZik6Ci0gICAgICAgIHNlbGYuY29tcGFyZShyIiIia2V5
OiBAUmVzZXQKKyAgICAgICAgc2VsZi5jb21wYXJlKGJyIiIia2V5OiBAUmVzZXQKICIiIikKIAog
ICAgIGRlZiB0ZXN0X2F0b21fNChzZWxmKToKLSAgICAgICAgc2VsZi5jb21wYXJlKHIiIiJrZXk6
IFthLCBAUmVzZXQsIGJdCisgICAgICAgIHNlbGYuY29tcGFyZShiciIiImtleTogW2EsIEBSZXNl
dCwgYl0KICIiIikKIAogICAgIGRlZiB0ZXN0X2NvbmRpdGlvbmFsXzEoc2VsZik6Ci0gICAgICAg
IHNlbGYuY29tcGFyZSgiIiJmb286CisgICAgICAgIHNlbGYuY29tcGFyZShiIiIiZm9vOgogICBp
ZiBhIG9yIGI6IFsxLCAyXQogIiIiKQogCiAgICAgZGVmIHRlc3RfaWZfc3RyaW5nXzAoc2VsZik6
Ci0gICAgICAgIHNlbGYuY29tcGFyZSgiIiJmb286ICJpZiBiYXIiCisgICAgICAgIHNlbGYuY29t
cGFyZShiIiIiZm9vOiAiaWYgYmFyIgorIiIiKQorCisgICAgZGVmIHRlc3Rfbm9uX2FzY2lpXzEo
c2VsZik6CisgICAgICAgIHNlbGYuY29tcGFyZShiIiIiW1x4ZjBceDlmXHg5OVx4ODRdCiAiIiIp
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3QvdGVzdHMvdGVzdF9zdGF0aWMu
cHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dw
dHJ1bm5lci93cHRydW5uZXIvd3B0bWFuaWZlc3QvdGVzdHMvdGVzdF9zdGF0aWMucHkKaW5kZXgg
YWFmODQ2NTkxNTI0NmFhYzU4YTA2OGRjZmMwNjk3YjhjOWFmNDE4MS4uZTgxMWEyYjQyYjQ1NTBj
Y2VjMWNkYTlmNmIxYTJiOWJiMjcwZmFjZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdG1h
bmlmZXN0L3Rlc3RzL3Rlc3Rfc3RhdGljLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRtYW5pZmVz
dC90ZXN0cy90ZXN0X3N0YXRpYy5weQpAQCAtMSw1ICsxLDMgQEAKLWltcG9ydCBweXRlc3QKLWlt
cG9ydCBzeXMKIGltcG9ydCB1bml0dGVzdAogCiBmcm9tIC4uYmFja2VuZHMgaW1wb3J0IHN0YXRp
YwpAQCAtOCwxNCArNiwxMiBAQCBmcm9tIC4uYmFja2VuZHMgaW1wb3J0IHN0YXRpYwogIyB1c2Ug
dGVzdF9zZXJpYWxpemVyIGZvciB0aGUgbWFqb3JpdHkgb2YgY2FzZXMKIAogCi1AcHl0ZXN0Lm1h
cmsueGZhaWwoc3lzLnZlcnNpb25bMF0gPT0gIjMiLAotICAgICAgICAgICAgICAgICAgIHJlYXNv
bj0id3B0bWFuaWZlc3QucGFyc2VyIGRvZXNuJ3Qgc3VwcG9ydCBweTMiKQogY2xhc3MgVGVzdFN0
YXRpYyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIGNvbXBpbGUoc2VsZiwgaW5wdXRfdGV4
dCwgaW5wdXRfZGF0YSk6CiAgICAgICAgIHJldHVybiBzdGF0aWMuY29tcGlsZShpbnB1dF90ZXh0
LCBpbnB1dF9kYXRhKQogCiAgICAgZGVmIHRlc3RfZ2V0XzAoc2VsZik6Ci0gICAgICAgIGRhdGEg
PSAiIiIKKyAgICAgICAgZGF0YSA9IGIiIiIKIGtleTogdmFsdWUKIAogW0hlYWRpbmcgMV0KQEAg
LTI3LDE3ICsyMywxNyBAQCBrZXk6IHZhbHVlCiAKICAgICAgICAgbWFuaWZlc3QgPSBzZWxmLmNv
bXBpbGUoZGF0YSwgeyJhIjogMn0pCiAKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMobWFuaWZl
c3QuZ2V0KCJrZXkiKSwgInZhbHVlIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtYW5pZmVz
dC5nZXQoImtleSIpLCAidmFsdWUiKQogICAgICAgICBjaGlsZHJlbiA9IGxpc3QoaXRlbSBmb3Ig
aXRlbSBpbiBtYW5pZmVzdC5pdGVyY2hpbGRyZW4oKSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bHMobGVuKGNoaWxkcmVuKSwgMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oY2hpbGRy
ZW4pLCAxKQogICAgICAgICBzZWN0aW9uID0gY2hpbGRyZW5bMF0KLSAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbHMoc2VjdGlvbi5uYW1lLCAiSGVhZGluZyAxIikKKyAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbChzZWN0aW9uLm5hbWUsICJIZWFkaW5nIDEiKQogCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWxzKHNlY3Rpb24uZ2V0KCJvdGhlcl9rZXkiKSwgInZhbHVlXzIiKQotICAgICAgICBzZWxmLmFz
c2VydEVxdWFscyhzZWN0aW9uLmdldCgia2V5IiksICJ2YWx1ZSIpCisgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoc2VjdGlvbi5nZXQoIm90aGVyX2tleSIpLCAidmFsdWVfMiIpCisgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwoc2VjdGlvbi5nZXQoImtleSIpLCAidmFsdWUiKQogCiAgICAgZGVmIHRl
c3RfZ2V0XzEoc2VsZik6Ci0gICAgICAgIGRhdGEgPSAiIiIKKyAgICAgICAgZGF0YSA9IGIiIiIK
IGtleTogdmFsdWUKIAogW0hlYWRpbmcgMV0KQEAgLTUwLDMyICs0NiwzMiBAQCBrZXk6IHZhbHVl
CiAKICAgICAgICAgY2hpbGRyZW4gPSBsaXN0KGl0ZW0gZm9yIGl0ZW0gaW4gbWFuaWZlc3QuaXRl
cmNoaWxkcmVuKCkpCiAgICAgICAgIHNlY3Rpb24gPSBjaGlsZHJlblswXQotICAgICAgICBzZWxm
LmFzc2VydEVxdWFscyhzZWN0aW9uLmdldCgib3RoZXJfa2V5IiksICJ2YWx1ZV8zIikKKyAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChzZWN0aW9uLmdldCgib3RoZXJfa2V5IiksICJ2YWx1ZV8zIikK
IAogICAgIGRlZiB0ZXN0X2dldF8zKHNlbGYpOgotICAgICAgICBkYXRhID0gIiIia2V5OgorICAg
ICAgICBkYXRhID0gYiIiImtleToKICAgaWYgYSA9PSAiMSI6IHZhbHVlXzEKICAgaWYgYVswXSA9
PSAiYWIiWzBdOiB2YWx1ZV8yCiAiIiIKICAgICAgICAgbWFuaWZlc3QgPSBzZWxmLmNvbXBpbGUo
ZGF0YSwgeyJhIjogIjEifSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMobWFuaWZlc3QuZ2V0
KCJrZXkiKSwgInZhbHVlXzEiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1hbmlmZXN0Lmdl
dCgia2V5IiksICJ2YWx1ZV8xIikKIAogICAgICAgICBtYW5pZmVzdCA9IHNlbGYuY29tcGlsZShk
YXRhLCB7ImEiOiAiYWMifSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMobWFuaWZlc3QuZ2V0
KCJrZXkiKSwgInZhbHVlXzIiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1hbmlmZXN0Lmdl
dCgia2V5IiksICJ2YWx1ZV8yIikKIAogICAgIGRlZiB0ZXN0X2dldF80KHNlbGYpOgotICAgICAg
ICBkYXRhID0gIiIia2V5OgorICAgICAgICBkYXRhID0gYiIiImtleToKICAgaWYgbm90IGE6IHZh
bHVlXzEKICAgdmFsdWVfMgogIiIiCiAgICAgICAgIG1hbmlmZXN0ID0gc2VsZi5jb21waWxlKGRh
dGEsIHsiYSI6IFRydWV9KQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhtYW5pZmVzdC5nZXQo
ImtleSIpLCAidmFsdWVfMiIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWFuaWZlc3QuZ2V0
KCJrZXkiKSwgInZhbHVlXzIiKQogCiAgICAgICAgIG1hbmlmZXN0ID0gc2VsZi5jb21waWxlKGRh
dGEsIHsiYSI6IEZhbHNlfSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMobWFuaWZlc3QuZ2V0
KCJrZXkiKSwgInZhbHVlXzEiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1hbmlmZXN0Lmdl
dCgia2V5IiksICJ2YWx1ZV8xIikKIAogICAgIGRlZiB0ZXN0X2FwaShzZWxmKToKLSAgICAgICAg
ZGF0YSA9ICIiImtleToKKyAgICAgICAgZGF0YSA9IGIiIiJrZXk6CiAgIGlmIGEgPT0gMS41OiB2
YWx1ZV8xCiAgIHZhbHVlXzIKIGtleV8xOiBvdGhlcl92YWx1ZQpAQCAtODMsMTUgKzc5LDE1IEBA
IGtleV8xOiBvdGhlcl92YWx1ZQogICAgICAgICBtYW5pZmVzdCA9IHNlbGYuY29tcGlsZShkYXRh
LCB7ImEiOiAxLjV9KQogCiAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UobWFuaWZlc3QuaXNfZW1w
dHkpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKG1hbmlmZXN0LnJvb3QsIG1hbmlmZXN0KQor
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1hbmlmZXN0LnJvb3QsIG1hbmlmZXN0KQogICAgICAg
ICBzZWxmLmFzc2VydFRydWUobWFuaWZlc3QuaGFzX2tleSgia2V5XzEiKSkKICAgICAgICAgc2Vs
Zi5hc3NlcnRGYWxzZShtYW5pZmVzdC5oYXNfa2V5KCJrZXlfMiIpKQogCi0gICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWxzKHNldChtYW5pZmVzdC5pdGVya2V5cygpKSwgeyJrZXkiLCAia2V5XzEifSkK
LSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoc2V0KG1hbmlmZXN0Lml0ZXJ2YWx1ZXMoKSksIHsi
dmFsdWVfMSIsICJvdGhlcl92YWx1ZSJ9KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNldCht
YW5pZmVzdC5pdGVya2V5cygpKSwgeyJrZXkiLCAia2V5XzEifSkKKyAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChzZXQobWFuaWZlc3QuaXRlcnZhbHVlcygpKSwgeyJ2YWx1ZV8xIiwgIm90aGVyX3Zh
bHVlIn0pCiAKICAgICBkZWYgdGVzdF9pc19lbXB0eV8xKHNlbGYpOgotICAgICAgICBkYXRhID0g
IiIiCisgICAgICAgIGRhdGEgPSBiIiIiCiBbU2VjdGlvbl0KICAgW1N1YnNlY3Rpb25dCiAiIiIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHRydW5uZXIucHkgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHJ1bm5lci93cHRydW5uZXIvd3B0
cnVubmVyLnB5CmluZGV4IGNhYzE3MmE1OTQwZWM2OTZlM2EzYjI3OTE3MGY5NzEyYWFmNDY2OGQu
LmQwY2MxOTQ4MWRiZGVkYzQ1ZWRmZWU5NjA4ZDgyZGViNGExOTY1NzEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVy
L3dwdHJ1bm5lci93cHRydW5uZXIucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdHJ1bm5lci5weQpA
QCAtMywxOSArMywyMSBAQCBmcm9tIF9fZnV0dXJlX18gaW1wb3J0IHByaW50X2Z1bmN0aW9uLCB1
bmljb2RlX2xpdGVyYWxzCiBpbXBvcnQganNvbgogaW1wb3J0IG9zCiBpbXBvcnQgc3lzCitmcm9t
IHNpeCBpbXBvcnQgaXRlcml0ZW1zLCBpdGVydmFsdWVzCiAKIGZyb20gd3B0c2VydmUgaW1wb3J0
IHNzbHV0aWxzCiAKLWltcG9ydCBlbnZpcm9ubWVudCBhcyBlbnYKLWltcG9ydCBwcm9kdWN0cwot
aW1wb3J0IHRlc3Rsb2FkZXIKLWltcG9ydCB3cHRjb21tYW5kbGluZQotaW1wb3J0IHdwdGxvZ2dp
bmcKLWltcG9ydCB3cHR0ZXN0Citmcm9tIC4gaW1wb3J0IGVudmlyb25tZW50IGFzIGVudgorZnJv
bSAuIGltcG9ydCBpbnN0cnVtZW50cworZnJvbSAuIGltcG9ydCBwcm9kdWN0cworZnJvbSAuIGlt
cG9ydCB0ZXN0bG9hZGVyCitmcm9tIC4gaW1wb3J0IHdwdGNvbW1hbmRsaW5lCitmcm9tIC4gaW1w
b3J0IHdwdGxvZ2dpbmcKK2Zyb20gLiBpbXBvcnQgd3B0dGVzdAogZnJvbSBtb3psb2cgaW1wb3J0
IGNhcHR1cmUsIGhhbmRsZXJzCi1mcm9tIGZvbnQgaW1wb3J0IEZvbnRJbnN0YWxsZXIKLWZyb20g
dGVzdHJ1bm5lciBpbXBvcnQgTWFuYWdlckdyb3VwCi1mcm9tIGJyb3dzZXJzLmJhc2UgaW1wb3J0
IE51bGxCcm93c2VyCitmcm9tIC5mb250IGltcG9ydCBGb250SW5zdGFsbGVyCitmcm9tIC50ZXN0
cnVubmVyIGltcG9ydCBNYW5hZ2VyR3JvdXAKK2Zyb20gLmJyb3dzZXJzLmJhc2UgaW1wb3J0IE51
bGxCcm93c2VyCiAKIGhlcmUgPSBvcy5wYXRoLnNwbGl0KF9fZmlsZV9fKVswXQogCkBAIC00Myw3
ICs0NSw3IEBAIGRlZiBzZXR1cF9sb2dnaW5nKCphcmdzLCAqKmt3YXJncyk6CiAgICAgcmV0dXJu
IGxvZ2dlcgogCiAKLWRlZiBnZXRfbG9hZGVyKHRlc3RfcGF0aHMsIHByb2R1Y3QsIGRlYnVnPU5v
bmUsIHJ1bl9pbmZvX2V4dHJhcz1Ob25lLCAqKmt3YXJncyk6CitkZWYgZ2V0X2xvYWRlcih0ZXN0
X3BhdGhzLCBwcm9kdWN0LCBkZWJ1Zz1Ob25lLCBydW5faW5mb19leHRyYXM9Tm9uZSwgY2h1bmtl
cl9rd2FyZ3M9Tm9uZSwgKiprd2FyZ3MpOgogICAgIGlmIHJ1bl9pbmZvX2V4dHJhcyBpcyBOb25l
OgogICAgICAgICBydW5faW5mb19leHRyYXMgPSB7fQogCkBAIC03Niw3ICs3OCwxMCBAQCBkZWYg
Z2V0X2xvYWRlcih0ZXN0X3BhdGhzLCBwcm9kdWN0LCBkZWJ1Zz1Ob25lLCBydW5faW5mb19leHRy
YXM9Tm9uZSwgKiprd2FyZ3MpOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHRvdGFsX2NodW5rcz1rd2FyZ3NbInRvdGFsX2NodW5rcyJdLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNodW5rX251bWJlcj1rd2FyZ3NbInRoaXNfY2h1bmsi
XSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmNsdWRlX2h0dHBz
PXNzbF9lbmFibGVkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNr
aXBfdGltZW91dD1rd2FyZ3NbInNraXBfdGltZW91dCJdKQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGluY2x1ZGVfcXVpYz1rd2FyZ3NbImVuYWJsZV9xdWljIl0sCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2tpcF90aW1lb3V0PWt3YXJn
c1sic2tpcF90aW1lb3V0Il0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgc2tpcF9pbXBsZW1lbnRhdGlvbl9zdGF0dXM9a3dhcmdzWyJza2lwX2ltcGxlbWVudGF0aW9u
X3N0YXR1cyJdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNodW5r
ZXJfa3dhcmdzPWNodW5rZXJfa3dhcmdzKQogICAgIHJldHVybiBydW5faW5mbywgdGVzdF9sb2Fk
ZXIKIAogCkBAIC0xMDIsNyArMTA3LDcgQEAgZGVmIGxpc3RfZGlzYWJsZWQodGVzdF9wYXRocywg
cHJvZHVjdCwgKiprd2FyZ3MpOgogICAgIHJ1bl9pbmZvLCB0ZXN0X2xvYWRlciA9IGdldF9sb2Fk
ZXIodGVzdF9wYXRocywgcHJvZHVjdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHJ1bl9pbmZvX2V4dHJhcz1ydW5faW5mb19leHRyYXMsICoqa3dhcmdzKQogCi0gICAg
Zm9yIHRlc3RfdHlwZSwgdGVzdHMgaW4gdGVzdF9sb2FkZXIuZGlzYWJsZWRfdGVzdHMuaXRlcml0
ZW1zKCk6CisgICAgZm9yIHRlc3RfdHlwZSwgdGVzdHMgaW4gaXRlcml0ZW1zKHRlc3RfbG9hZGVy
LmRpc2FibGVkX3Rlc3RzKToKICAgICAgICAgZm9yIHRlc3QgaW4gdGVzdHM6CiAgICAgICAgICAg
ICBydi5hcHBlbmQoeyJ0ZXN0IjogdGVzdC5pZCwgInJlYXNvbiI6IHRlc3QuZGlzYWJsZWQoKX0p
CiAgICAgcHJpbnQoanNvbi5kdW1wcyhydiwgaW5kZW50PTIpKQpAQCAtMTI3LDcgKzEzMiw3IEBA
IGRlZiBnZXRfcGF1c2VfYWZ0ZXJfdGVzdCh0ZXN0X2xvYWRlciwgKiprd2FyZ3MpOgogICAgICAg
ICBpZiBrd2FyZ3NbImhlYWRsZXNzIl06CiAgICAgICAgICAgICByZXR1cm4gRmFsc2UKICAgICAg
ICAgdGVzdHMgPSB0ZXN0X2xvYWRlci50ZXN0cwotICAgICAgICBpc19zaW5nbGVfdGVzdGhhcm5l
c3MgPSAoc3VtKGxlbihpdGVtKSBmb3IgaXRlbSBpbiB0ZXN0cy5pdGVydmFsdWVzKCkpID09IDEg
YW5kCisgICAgICAgIGlzX3NpbmdsZV90ZXN0aGFybmVzcyA9IChzdW0obGVuKGl0ZW0pIGZvciBp
dGVtIGluIGl0ZXJ2YWx1ZXModGVzdHMpKSA9PSAxIGFuZAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbGVuKHRlc3RzLmdldCgidGVzdGhhcm5lc3MiLCBbXSkpID09IDEpCiAgICAg
ICAgIGlmIGt3YXJnc1sicmVwZWF0Il0gPT0gMSBhbmQga3dhcmdzWyJyZXJ1biJdID09IDEgYW5k
IGlzX3NpbmdsZV90ZXN0aGFybmVzczoKICAgICAgICAgICAgIHJldHVybiBUcnVlCkBAIC0xMzgs
NyArMTQzLDEyIEBAIGRlZiBnZXRfcGF1c2VfYWZ0ZXJfdGVzdCh0ZXN0X2xvYWRlciwgKiprd2Fy
Z3MpOgogZGVmIHJ1bl90ZXN0cyhjb25maWcsIHRlc3RfcGF0aHMsIHByb2R1Y3QsICoqa3dhcmdz
KToKICAgICAiIiJTZXQgdXAgdGhlIHRlc3QgZW52aXJvbm1lbnQsIGxvYWQgdGhlIGxpc3Qgb2Yg
dGVzdHMgdG8gYmUgZXhlY3V0ZWQsIGFuZAogICAgIGludm9rZSB0aGUgcmVtYWluZGVyIG9mIHRo
ZSBjb2RlIHRvIGV4ZWN1dGUgdGVzdHMiIiIKLSAgICB3aXRoIGNhcHR1cmUuQ2FwdHVyZUlPKGxv
Z2dlciwgbm90IGt3YXJnc1sibm9fY2FwdHVyZV9zdGRpbyJdKToKKyAgICBpZiBrd2FyZ3NbImlu
c3RydW1lbnRfdG9fZmlsZSJdIGlzIE5vbmU6CisgICAgICAgIHJlY29yZGVyID0gaW5zdHJ1bWVu
dHMuTnVsbEluc3RydW1lbnQoKQorICAgIGVsc2U6CisgICAgICAgIHJlY29yZGVyID0gaW5zdHJ1
bWVudHMuSW5zdHJ1bWVudChrd2FyZ3NbImluc3RydW1lbnRfdG9fZmlsZSJdKQorICAgIHdpdGgg
cmVjb3JkZXIgYXMgcmVjb3JkaW5nLCBjYXB0dXJlLkNhcHR1cmVJTyhsb2dnZXIsIG5vdCBrd2Fy
Z3NbIm5vX2NhcHR1cmVfc3RkaW8iXSk6CisgICAgICAgIHJlY29yZGluZy5zZXQoWyJzdGFydHVw
Il0pCiAgICAgICAgIGVudi5kb19kZWxheWVkX2ltcG9ydHMobG9nZ2VyLCB0ZXN0X3BhdGhzKQog
CiAgICAgICAgIHByb2R1Y3QgPSBwcm9kdWN0cy5sb2FkX3Byb2R1Y3QoY29uZmlnLCBwcm9kdWN0
LCBsb2FkX2Nscz1UcnVlKQpAQCAtMTQ5LDIyICsxNTksMjkgQEAgZGVmIHJ1bl90ZXN0cyhjb25m
aWcsIHRlc3RfcGF0aHMsIHByb2R1Y3QsICoqa3dhcmdzKToKIAogICAgICAgICBpZiBrd2FyZ3Nb
Imluc3RhbGxfZm9udHMiXToKICAgICAgICAgICAgIGVudl9leHRyYXMuYXBwZW5kKEZvbnRJbnN0
YWxsZXIoCisgICAgICAgICAgICAgICAgbG9nZ2VyLAogICAgICAgICAgICAgICAgIGZvbnRfZGly
PWt3YXJnc1siZm9udF9kaXIiXSwKICAgICAgICAgICAgICAgICBhaGVtPW9zLnBhdGguam9pbih0
ZXN0X3BhdGhzWyIvIl1bInRlc3RzX3BhdGgiXSwgImZvbnRzL0FoZW0udHRmIikKICAgICAgICAg
ICAgICkpCiAKLSAgICAgICAgcnVuX2luZm8sIHRlc3RfbG9hZGVyID0gZ2V0X2xvYWRlcih0ZXN0
X3BhdGhzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2R1
Y3QubmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydW5f
aW5mb19leHRyYXM9cHJvZHVjdC5ydW5faW5mb19leHRyYXMoKiprd2FyZ3MpLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoqa3dhcmdzKQorICAgICAgICByZWNv
cmRpbmcuc2V0KFsic3RhcnR1cCIsICJsb2FkX3Rlc3RzIl0pCiAKICAgICAgICAgdGVzdF9zb3Vy
Y2Vfa3dhcmdzID0geyJwcm9jZXNzZXMiOiBrd2FyZ3NbInByb2Nlc3NlcyJdfQorICAgICAgICBj
aHVua2VyX2t3YXJncyA9IHt9CiAgICAgICAgIGlmIGt3YXJnc1sicnVuX2J5X2RpciJdIGlzIEZh
bHNlOgogICAgICAgICAgICAgdGVzdF9zb3VyY2VfY2xzID0gdGVzdGxvYWRlci5TaW5nbGVUZXN0
U291cmNlCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAjIEEgdmFsdWUgb2YgTm9uZSBpbmRp
Y2F0ZXMgaW5maW5pdGUgZGVwdGgKICAgICAgICAgICAgIHRlc3Rfc291cmNlX2NscyA9IHRlc3Rs
b2FkZXIuUGF0aEdyb3VwZWRTb3VyY2UKICAgICAgICAgICAgIHRlc3Rfc291cmNlX2t3YXJnc1si
ZGVwdGgiXSA9IGt3YXJnc1sicnVuX2J5X2RpciJdCisgICAgICAgICAgICBjaHVua2VyX2t3YXJn
c1siZGVwdGgiXSA9IGt3YXJnc1sicnVuX2J5X2RpciJdCisKKyAgICAgICAgcnVuX2luZm8sIHRl
c3RfbG9hZGVyID0gZ2V0X2xvYWRlcih0ZXN0X3BhdGhzLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHByb2R1Y3QubmFtZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBydW5faW5mb19leHRyYXM9cHJvZHVjdC5ydW5faW5mb19l
eHRyYXMoKiprd2FyZ3MpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNodW5rZXJfa3dhcmdzPWNodW5rZXJfa3dhcmdzLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICoqa3dhcmdzKQorCiAKICAgICAgICAgbG9nZ2VyLmluZm8o
IlVzaW5nICVpIGNsaWVudCBwcm9jZXNzZXMiICUga3dhcmdzWyJwcm9jZXNzZXMiXSkKIApAQCAt
MTg4LDE5ICsyMDUsMjQgQEAgZGVmIHJ1bl90ZXN0cyhjb25maWcsIHRlc3RfcGF0aHMsIHByb2R1
Y3QsICoqa3dhcmdzKToKIAogICAgICAgICB0ZXN0aGFybmVzc190aW1lb3V0X211bHRpcGxlciA9
IHByb2R1Y3QuZ2V0X3RpbWVvdXRfbXVsdGlwbGllcigidGVzdGhhcm5lc3MiLCBydW5faW5mbywg
Kiprd2FyZ3MpCiAKKyAgICAgICAgcmVjb3JkaW5nLnNldChbInN0YXJ0dXAiLCAic3RhcnRfZW52
aXJvbm1lbnQiXSkKICAgICAgICAgd2l0aCBlbnYuVGVzdEVudmlyb25tZW50KHRlc3RfcGF0aHMs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0aGFybmVzc190aW1lb3V0X211
bHRpcGxlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGt3YXJnc1sicGF1c2Vf
YWZ0ZXJfdGVzdCJdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga3dhcmdzWyJk
ZWJ1Z19pbmZvIl0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9kdWN0LmVu
dl9vcHRpb25zLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3NsX2NvbmZpZywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudl9leHRyYXMpIGFzIHRlc3RfZW52
aXJvbm1lbnQ6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnZfZXh0cmFzLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga3dhcmdzWyJlbmFibGVfcXVpYyJdKSBh
cyB0ZXN0X2Vudmlyb25tZW50OgorICAgICAgICAgICAgcmVjb3JkaW5nLnNldChbInN0YXJ0dXAi
LCAiZW5zdXJlX2Vudmlyb25tZW50Il0pCiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAg
ICAgdGVzdF9lbnZpcm9ubWVudC5lbnN1cmVfc3RhcnRlZCgpCiAgICAgICAgICAgICBleGNlcHQg
ZW52LlRlc3RFbnZpcm9ubWVudEVycm9yIGFzIGU6CiAgICAgICAgICAgICAgICAgbG9nZ2VyLmNy
aXRpY2FsKCJFcnJvciBzdGFydGluZyB0ZXN0IGVudmlyb25tZW50OiAlcyIgJSBlLm1lc3NhZ2Up
CiAgICAgICAgICAgICAgICAgcmFpc2UKIAorICAgICAgICAgICAgcmVjb3JkaW5nLnNldChbInN0
YXJ0dXAiXSkKKwogICAgICAgICAgICAgcmVwZWF0ID0ga3dhcmdzWyJyZXBlYXQiXQogICAgICAg
ICAgICAgcmVwZWF0X2NvdW50ID0gMAogICAgICAgICAgICAgcmVwZWF0X3VudGlsX3VuZXhwZWN0
ZWQgPSBrd2FyZ3NbInJlcGVhdF91bnRpbF91bmV4cGVjdGVkIl0KQEAgLTIxNCw3ICsyMzYsMTIg
QEAgZGVmIHJ1bl90ZXN0cyhjb25maWcsIHRlc3RfcGF0aHMsIHByb2R1Y3QsICoqa3dhcmdzKToK
IAogICAgICAgICAgICAgICAgIHRlc3RfY291bnQgPSAwCiAgICAgICAgICAgICAgICAgdW5leHBl
Y3RlZF9jb3VudCA9IDAKLSAgICAgICAgICAgICAgICBsb2dnZXIuc3VpdGVfc3RhcnQodGVzdF9s
b2FkZXIudGVzdF9pZHMsCisKKyAgICAgICAgICAgICAgICB0ZXN0cyA9IFtdCisgICAgICAgICAg
ICAgICAgZm9yIHRlc3RfdHlwZSBpbiB0ZXN0X2xvYWRlci50ZXN0X3R5cGVzOgorICAgICAgICAg
ICAgICAgICAgICB0ZXN0cy5leHRlbmQodGVzdF9sb2FkZXIudGVzdHNbdGVzdF90eXBlXSkKKwor
ICAgICAgICAgICAgICAgIGxvZ2dlci5zdWl0ZV9zdGFydCh0ZXN0X3NvdXJjZV9jbHMudGVzdHNf
YnlfZ3JvdXAodGVzdHMsICoqdGVzdF9zb3VyY2Vfa3dhcmdzKSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbmFtZT0nd2ViLXBsYXRmb3JtLXRlc3QnLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBydW5faW5mbz1ydW5faW5mbywKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZXh0cmE9eyJydW5fYnlfZGlyIjoga3dhcmdzWyJydW5fYnlf
ZGlyIl19KQpAQCAtMjY2LDYgKzI5Myw3IEBAIGRlZiBydW5fdGVzdHMoY29uZmlnLCB0ZXN0X3Bh
dGhzLCBwcm9kdWN0LCAqKmt3YXJncyk6CiAgICAgICAgICAgICAgICAgICAgIGVsc2U6CiAgICAg
ICAgICAgICAgICAgICAgICAgICBydW5fdGVzdHMgPSB0ZXN0X2xvYWRlci50ZXN0cwogCisgICAg
ICAgICAgICAgICAgICAgIHJlY29yZGluZy5wYXVzZSgpCiAgICAgICAgICAgICAgICAgICAgIHdp
dGggTWFuYWdlckdyb3VwKCJ3ZWItcGxhdGZvcm0tdGVzdHMiLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBrd2FyZ3NbInByb2Nlc3NlcyJdLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X3NvdXJjZV9jbHMsCkBAIC0yNzksNyArMzA3LDgg
QEAgZGVmIHJ1bl90ZXN0cyhjb25maWcsIHRlc3RfcGF0aHMsIHByb2R1Y3QsICoqa3dhcmdzKToK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga3dhcmdzWyJwYXVzZV9vbl91
bmV4cGVjdGVkIl0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGt3YXJn
c1sicmVzdGFydF9vbl91bmV4cGVjdGVkIl0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGt3YXJnc1siZGVidWdfaW5mbyJdLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBub3Qga3dhcmdzWyJub19jYXB0dXJlX3N0ZGlvIl0pIGFzIG1hbmFnZXJf
Z3JvdXA6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdCBrd2FyZ3Nb
Im5vX2NhcHR1cmVfc3RkaW8iXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcmVjb3JkaW5nPXJlY29yZGluZykgYXMgbWFuYWdlcl9ncm91cDoKICAgICAgICAgICAgICAg
ICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYW5hZ2VyX2dyb3Vw
LnJ1bih0ZXN0X3R5cGUsIHJ1bl90ZXN0cykKICAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2Vw
dCBLZXlib2FyZEludGVycnVwdDoKQEAgLTI4OCw3ICszMTcsNyBAQCBkZWYgcnVuX3Rlc3RzKGNv
bmZpZywgdGVzdF9wYXRocywgcHJvZHVjdCwgKiprd2FyZ3MpOgogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHJhaXNlCiAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X2NvdW50ICs9IG1h
bmFnZXJfZ3JvdXAudGVzdF9jb3VudCgpCiAgICAgICAgICAgICAgICAgICAgICAgICB1bmV4cGVj
dGVkX2NvdW50ICs9IG1hbmFnZXJfZ3JvdXAudW5leHBlY3RlZF9jb3VudCgpCi0KKyAgICAgICAg
ICAgICAgICByZWNvcmRpbmcuc2V0KFsiYWZ0ZXItZW5kIl0pCiAgICAgICAgICAgICAgICAgdGVz
dF90b3RhbCArPSB0ZXN0X2NvdW50CiAgICAgICAgICAgICAgICAgdW5leHBlY3RlZF90b3RhbCAr
PSB1bmV4cGVjdGVkX2NvdW50CiAgICAgICAgICAgICAgICAgbG9nZ2VyLmluZm8oIkdvdCAlaSB1
bmV4cGVjdGVkIHJlc3VsdHMiICUgdW5leHBlY3RlZF9jb3VudCkKQEAgLTMxNyw3ICszNDYsNyBA
QCBkZWYgcnVuX3Rlc3RzKGNvbmZpZywgdGVzdF9wYXRocywgcHJvZHVjdCwgKiprd2FyZ3MpOgog
CiAKIGRlZiBjaGVja19zdGFiaWxpdHkoKiprd2FyZ3MpOgotICAgIGltcG9ydCBzdGFiaWxpdHkK
KyAgICBmcm9tIC4gaW1wb3J0IHN0YWJpbGl0eQogICAgIGlmIGt3YXJnc1sic3RhYmlsaXR5Il06
CiAgICAgICAgIGxvZ2dlci53YXJuaW5nKCItLXN0YWJpbGl0eSBpcyBkZXByZWNhdGVkOyBwbGVh
c2UgdXNlIC0tdmVyaWZ5IGluc3RlYWQhIikKICAgICAgICAga3dhcmdzWyd2ZXJpZnlfbWF4X3Rp
bWUnXSA9IE5vbmUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvd3B0cnVubmVyL3dwdHJ1bm5lci93cHR0ZXN0LnB5IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0
cnVubmVyL3dwdHRlc3QucHkKaW5kZXggMWQxNGY0ZWZlZWFlMjc5YzJjMzYwZmJhMTM4OGVhNWYz
YTQzODc3Zi4uNmIwZmFiNmVlYmFmNTA1ZmZkMjA3MTBlMWEyY2E0NmUzZDZmNTlkZSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93
cHRydW5uZXIvd3B0cnVubmVyL3dwdHRlc3QucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRydW5uZXIvd3B0cnVubmVyL3dwdHRlc3Qu
cHkKQEAgLTEsNyArMSw5IEBACiBpbXBvcnQgb3MKIGltcG9ydCBzdWJwcm9jZXNzCitpbXBvcnQg
c3lzCiBmcm9tIHNpeC5tb3Zlcy51cmxsaWIucGFyc2UgaW1wb3J0IHVybGpvaW4KIGZyb20gY29s
bGVjdGlvbnMgaW1wb3J0IGRlZmF1bHRkaWN0Citmcm9tIHNpeCBpbXBvcnQgaXRlcml0ZW1zLCBz
dHJpbmdfdHlwZXMKIAogZnJvbSAud3B0bWFuaWZlc3QucGFyc2VyIGltcG9ydCBhdG9tcwogCkBA
IC05Miw3ICs5NCw3IEBAIGNsYXNzIFJ1bkluZm8oZGljdCk6CiAgICAgICAgIHNlbGYuX3VwZGF0
ZV9tb3ppbmZvKG1ldGFkYXRhX3Jvb3QpCiAgICAgICAgIHNlbGYudXBkYXRlKG1vemluZm8uaW5m
bykKIAotICAgICAgICBmcm9tIHVwZGF0ZS50cmVlIGltcG9ydCBHaXRUcmVlCisgICAgICAgIGZy
b20gLnVwZGF0ZS50cmVlIGltcG9ydCBHaXRUcmVlCiAgICAgICAgIHRyeToKICAgICAgICAgICAg
ICMgR2l0VHJlZS5fX2luaXRfXyB0aHJvd3MgaWYgd2UgYXJlIG5vdCBpbiBhIGdpdCB0cmVlLgog
ICAgICAgICAgICAgcmV2ID0gR2l0VHJlZShsb2dfZXJyb3I9RmFsc2UpLnJldgpAQCAtMTAxLDYg
KzEwMyw3IEBAIGNsYXNzIFJ1bkluZm8oZGljdCk6CiAgICAgICAgIGlmIHJldjoKICAgICAgICAg
ICAgIHNlbGZbInJldmlzaW9uIl0gPSByZXYKIAorICAgICAgICBzZWxmWyJweXRob25fdmVyc2lv
biJdID0gc3lzLnZlcnNpb25faW5mby5tYWpvcgogICAgICAgICBzZWxmWyJwcm9kdWN0Il0gPSBw
cm9kdWN0CiAgICAgICAgIGlmIGRlYnVnIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgc2VsZlsi
ZGVidWciXSA9IGRlYnVnCkBAIC0xMTgsMjIgKzEyMSw5IEBAIGNsYXNzIFJ1bkluZm8oZGljdCk6
CiAgICAgICAgIGlmIGV4dHJhcyBpcyBub3QgTm9uZToKICAgICAgICAgICAgIHNlbGYudXBkYXRl
KGV4dHJhcykKIAotICAgICAgICAjIFVudGlsIHRoZSB0ZXN0IGhhcm5lc3MgY2FuIHVuZGVyc3Rh
bmQgZGVmYXVsdCBwcmVmIHZhbHVlcywKLSAgICAgICAgIyAoaHR0cHM6Ly9idWd6aWxsYS5tb3pp
bGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU3NzkxMikgdGhpcyB2YWx1ZQotICAgICAgICAjIHNo
b3VsZCBieSBzeW5jaHJvbml6ZWQgd2l0aCB0aGUgZGVmYXVsdCBwcmVmIHZhbHVlIGluZGljYXRl
ZCBpbgotICAgICAgICAjIFN0YXRpY1ByZWZMaXN0LnlhbWwuCi0gICAgICAgICMKLSAgICAgICAg
IyBDdXJyZW50bHkgZm9yIGF1dG9tYXRpb24sIHRoZSBwcmVmIChhbmQgYHN3LWUxMHNgKSBkZWZh
dWx0cyB0byB0cnVlIGluCi0gICAgICAgICMgbmlnaHRseSBidWlsZHMgYW5kIGZhbHNlIG90aGVy
d2lzZSBidXQgY2FuIGJlIG92ZXJyaWRkZW4gd2l0aAotICAgICAgICAjIGAtLXNldHByZWZgLiBJ
ZiBvdmVycmlkZGVuLCB0aGUgdmFsdWUgd291bGQgYmUgaW5pdGlhbGl6ZWQgaW4KLSAgICAgICAg
IyBgcnVuX2luZm9fZXh0cmFzYCBhbmQgYmUgc3VwcGxpZWQgaW4gdGhlIGBleHRyYXNgIHBhcmFt
ZXRlci4KLSAgICAgICAgaWYgInN3LWUxMHMiIG5vdCBpbiBzZWxmOgotICAgICAgICAgICAgc2Vs
Zlsic3ctZTEwcyJdID0gc2VsZi5nZXQoIm5pZ2h0bHlfYnVpbGQiLCBGYWxzZSkKLQogICAgICAg
ICBzZWxmWyJoZWFkbGVzcyJdID0gZXh0cmFzLmdldCgiaGVhZGxlc3MiLCBGYWxzZSkKICAgICAg
ICAgc2VsZlsid2VicmVuZGVyIl0gPSBlbmFibGVfd2VicmVuZGVyCiAKLQogICAgIGRlZiBfdXBk
YXRlX21vemluZm8oc2VsZiwgbWV0YWRhdGFfcm9vdCk6CiAgICAgICAgICIiIkFkZCBleHRyYSBi
dWlsZCBpbmZvcm1hdGlvbiBmcm9tIGEgbW96aW5mby5qc29uIGZpbGUgaW4gYSBwYXJlbnQKICAg
ICAgICAgZGlyZWN0b3J5IiIiCkBAIC0xNTAsNiArMTQwLDE0IEBAIGNsYXNzIFJ1bkluZm8oZGlj
dCk6CiAgICAgICAgIG1vemluZm8uZmluZF9hbmRfdXBkYXRlX2Zyb21fanNvbigqZGlycykKIAog
CitkZWYgc2VydmVyX3Byb3RvY29sKG1hbmlmZXN0X2l0ZW0pOgorICAgIGlmIGhhc2F0dHIobWFu
aWZlc3RfaXRlbSwgImgyIikgYW5kIG1hbmlmZXN0X2l0ZW0uaDI6CisgICAgICAgIHJldHVybiAi
aDIiCisgICAgaWYgaGFzYXR0cihtYW5pZmVzdF9pdGVtLCAiaHR0cHMiKSBhbmQgbWFuaWZlc3Rf
aXRlbS5odHRwczoKKyAgICAgICAgcmV0dXJuICJodHRwcyIKKyAgICByZXR1cm4gImh0dHAiCisK
KwogY2xhc3MgVGVzdChvYmplY3QpOgogCiAgICAgcmVzdWx0X2NscyA9IE5vbmUKQEAgLTE2MCwx
NCArMTU4LDE0IEBAIGNsYXNzIFRlc3Qob2JqZWN0KToKICAgICBsb25nX3RpbWVvdXQgPSA2MCAg
IyBzZWNvbmRzCiAKICAgICBkZWYgX19pbml0X18oc2VsZiwgdGVzdHNfcm9vdCwgdXJsLCBpbmhl
cml0X21ldGFkYXRhLCB0ZXN0X21ldGFkYXRhLAotICAgICAgICAgICAgICAgICB0aW1lb3V0PU5v
bmUsIHBhdGg9Tm9uZSwgcHJvdG9jb2w9Imh0dHAiKToKKyAgICAgICAgICAgICAgICAgdGltZW91
dD1Ob25lLCBwYXRoPU5vbmUsIHByb3RvY29sPSJodHRwIiwgcXVpYz1GYWxzZSk6CiAgICAgICAg
IHNlbGYudGVzdHNfcm9vdCA9IHRlc3RzX3Jvb3QKICAgICAgICAgc2VsZi51cmwgPSB1cmwKICAg
ICAgICAgc2VsZi5faW5oZXJpdF9tZXRhZGF0YSA9IGluaGVyaXRfbWV0YWRhdGEKICAgICAgICAg
c2VsZi5fdGVzdF9tZXRhZGF0YSA9IHRlc3RfbWV0YWRhdGEKICAgICAgICAgc2VsZi50aW1lb3V0
ID0gdGltZW91dCBpZiB0aW1lb3V0IGlzIG5vdCBOb25lIGVsc2Ugc2VsZi5kZWZhdWx0X3RpbWVv
dXQKICAgICAgICAgc2VsZi5wYXRoID0gcGF0aAotICAgICAgICBzZWxmLmVudmlyb25tZW50ID0g
eyJwcm90b2NvbCI6IHByb3RvY29sLCAicHJlZnMiOiBzZWxmLnByZWZzfQorICAgICAgICBzZWxm
LmVudmlyb25tZW50ID0geyJwcm90b2NvbCI6IHByb3RvY29sLCAicHJlZnMiOiBzZWxmLnByZWZz
LCAicXVpYyI6IHF1aWN9CiAKICAgICBkZWYgX19lcV9fKHNlbGYsIG90aGVyKToKICAgICAgICAg
aWYgbm90IGlzaW5zdGFuY2Uob3RoZXIsIFRlc3QpOgpAQCAtMTg2LDE0ICsxODQsMTMgQEAgY2xh
c3MgVGVzdChvYmplY3QpOgogICAgIEBjbGFzc21ldGhvZAogICAgIGRlZiBmcm9tX21hbmlmZXN0
KGNscywgbWFuaWZlc3RfZmlsZSwgbWFuaWZlc3RfaXRlbSwgaW5oZXJpdF9tZXRhZGF0YSwgdGVz
dF9tZXRhZGF0YSk6CiAgICAgICAgIHRpbWVvdXQgPSBjbHMubG9uZ190aW1lb3V0IGlmIG1hbmlm
ZXN0X2l0ZW0udGltZW91dCA9PSAibG9uZyIgZWxzZSBjbHMuZGVmYXVsdF90aW1lb3V0Ci0gICAg
ICAgIHByb3RvY29sID0gImh0dHBzIiBpZiBoYXNhdHRyKG1hbmlmZXN0X2l0ZW0sICJodHRwcyIp
IGFuZCBtYW5pZmVzdF9pdGVtLmh0dHBzIGVsc2UgImh0dHAiCiAgICAgICAgIHJldHVybiBjbHMo
bWFuaWZlc3RfZmlsZS50ZXN0c19yb290LAogICAgICAgICAgICAgICAgICAgIG1hbmlmZXN0X2l0
ZW0udXJsLAogICAgICAgICAgICAgICAgICAgIGluaGVyaXRfbWV0YWRhdGEsCiAgICAgICAgICAg
ICAgICAgICAgdGVzdF9tZXRhZGF0YSwKICAgICAgICAgICAgICAgICAgICB0aW1lb3V0PXRpbWVv
dXQsCiAgICAgICAgICAgICAgICAgICAgcGF0aD1vcy5wYXRoLmpvaW4obWFuaWZlc3RfZmlsZS50
ZXN0c19yb290LCBtYW5pZmVzdF9pdGVtLnBhdGgpLAotICAgICAgICAgICAgICAgICAgIHByb3Rv
Y29sPXByb3RvY29sKQorICAgICAgICAgICAgICAgICAgIHByb3RvY29sPXNlcnZlcl9wcm90b2Nv
bChtYW5pZmVzdF9pdGVtKSkKIAogICAgIEBwcm9wZXJ0eQogICAgIGRlZiBpZChzZWxmKToKQEAg
LTI2Miw2ICsyNTksMTMgQEAgY2xhc3MgVGVzdChvYmplY3QpOgogICAgICAgICAgICAgICAgIHJl
dHVybiBjb3VudAogICAgICAgICByZXR1cm4gMAogCisgICAgQHByb3BlcnR5CisgICAgZGVmIGxz
YW5fZGlzYWJsZWQoc2VsZik6CisgICAgICAgIGZvciBtZXRhIGluIHNlbGYuaXRlcm1ldGEoKToK
KyAgICAgICAgICAgIGlmIG1ldGEubHNhbl9kaXNhYmxlZCBpcyBub3QgTm9uZToKKyAgICAgICAg
ICAgICAgICByZXR1cm4gbWV0YS5sc2FuX2Rpc2FibGVkCisgICAgICAgIHJldHVybiBGYWxzZQor
CiAgICAgQHByb3BlcnR5CiAgICAgZGVmIGxzYW5fYWxsb3dlZChzZWxmKToKICAgICAgICAgbHNh
bl9hbGxvd2VkID0gc2V0KCkKQEAgLTI5NSw3ICsyOTksNyBAQCBjbGFzcyBUZXN0KG9iamVjdCk6
CiAgICAgICAgIHJ2ID0ge30KICAgICAgICAgZm9yIG1ldGEgaW4gc2VsZi5pdGVybWV0YShOb25l
KToKICAgICAgICAgICAgIHRocmVzaG9sZCA9IG1ldGEubGVha190aHJlc2hvbGQKLSAgICAgICAg
ICAgIGZvciBrZXksIHZhbHVlIGluIHRocmVzaG9sZC5pdGVyaXRlbXMoKToKKyAgICAgICAgICAg
IGZvciBrZXksIHZhbHVlIGluIGl0ZXJpdGVtcyh0aHJlc2hvbGQpOgogICAgICAgICAgICAgICAg
IGlmIGtleSBub3QgaW4gcnY6CiAgICAgICAgICAgICAgICAgICAgIHJ2W2tleV0gPSB2YWx1ZQog
ICAgICAgICByZXR1cm4gcnYKQEAgLTMzNyw3ICszNDEsNyBAQCBjbGFzcyBUZXN0KG9iamVjdCk6
CiAKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgZXhwZWN0ZWQgPSBtZXRhZGF0YS5nZXQoImV4
cGVjdGVkIikKLSAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UoZXhwZWN0ZWQsIChiYXNlc3RyaW5n
KSk6CisgICAgICAgICAgICBpZiBpc2luc3RhbmNlKGV4cGVjdGVkLCBzdHJpbmdfdHlwZXMpOgog
ICAgICAgICAgICAgICAgIHJldHVybiBleHBlY3RlZAogICAgICAgICAgICAgZWxpZiBpc2luc3Rh
bmNlKGV4cGVjdGVkLCBsaXN0KToKICAgICAgICAgICAgICAgICByZXR1cm4gZXhwZWN0ZWRbMF0K
QEAgLTM0Niw2ICszNTAsMTYgQEAgY2xhc3MgVGVzdChvYmplY3QpOgogICAgICAgICBleGNlcHQg
S2V5RXJyb3I6CiAgICAgICAgICAgICByZXR1cm4gZGVmYXVsdAogCisgICAgZGVmIGltcGxlbWVu
dGF0aW9uX3N0YXR1cyhzZWxmKToKKyAgICAgICAgaW1wbGVtZW50YXRpb25fc3RhdHVzID0gTm9u
ZQorICAgICAgICBmb3IgbWV0YSBpbiBzZWxmLml0ZXJtZXRhKCk6CisgICAgICAgICAgICBpbXBs
ZW1lbnRhdGlvbl9zdGF0dXMgPSBtZXRhLmltcGxlbWVudGF0aW9uX3N0YXR1cworICAgICAgICAg
ICAgaWYgaW1wbGVtZW50YXRpb25fc3RhdHVzOgorICAgICAgICAgICAgICAgIHJldHVybiBpbXBs
ZW1lbnRhdGlvbl9zdGF0dXMKKworICAgICAgICAjIGFzc3VtaW5nIG5vIHNwZWNpZmljIGNhc2Us
IHdlIGFyZSBpbXBsZW1lbnRpbmcgaXQKKyAgICAgICAgcmV0dXJuICJpbXBsZW1lbnRpbmciCisK
ICAgICBkZWYga25vd25faW50ZXJtaXR0ZW50KHNlbGYsIHN1YnRlc3Q9Tm9uZSk6CiAgICAgICAg
IG1ldGFkYXRhID0gc2VsZi5fZ2V0X21ldGFkYXRhKHN1YnRlc3QpCiAgICAgICAgIGlmIG1ldGFk
YXRhIGlzIE5vbmU6CkBAIC0zODEsOSArMzk1LDkgQEAgY2xhc3MgVGVzdGhhcm5lc3NUZXN0KFRl
c3QpOgogCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHRlc3RzX3Jvb3QsIHVybCwgaW5oZXJpdF9t
ZXRhZGF0YSwgdGVzdF9tZXRhZGF0YSwKICAgICAgICAgICAgICAgICAgdGltZW91dD1Ob25lLCBw
YXRoPU5vbmUsIHByb3RvY29sPSJodHRwIiwgdGVzdGRyaXZlcj1GYWxzZSwKLSAgICAgICAgICAg
ICAgICAganNzaGVsbD1GYWxzZSwgc2NyaXB0cz1Ob25lKToKKyAgICAgICAgICAgICAgICAganNz
aGVsbD1GYWxzZSwgc2NyaXB0cz1Ob25lLCBxdWljPUZhbHNlKToKICAgICAgICAgVGVzdC5fX2lu
aXRfXyhzZWxmLCB0ZXN0c19yb290LCB1cmwsIGluaGVyaXRfbWV0YWRhdGEsIHRlc3RfbWV0YWRh
dGEsIHRpbWVvdXQsCi0gICAgICAgICAgICAgICAgICAgICAgcGF0aCwgcHJvdG9jb2wpCisgICAg
ICAgICAgICAgICAgICAgICAgcGF0aCwgcHJvdG9jb2wsIHF1aWMpCiAKICAgICAgICAgc2VsZi50
ZXN0ZHJpdmVyID0gdGVzdGRyaXZlcgogICAgICAgICBzZWxmLmpzc2hlbGwgPSBqc3NoZWxsCkBA
IC0zOTIsMjIgKzQwNiwyMyBAQCBjbGFzcyBUZXN0aGFybmVzc1Rlc3QoVGVzdCk6CiAgICAgQGNs
YXNzbWV0aG9kCiAgICAgZGVmIGZyb21fbWFuaWZlc3QoY2xzLCBtYW5pZmVzdF9maWxlLCBtYW5p
ZmVzdF9pdGVtLCBpbmhlcml0X21ldGFkYXRhLCB0ZXN0X21ldGFkYXRhKToKICAgICAgICAgdGlt
ZW91dCA9IGNscy5sb25nX3RpbWVvdXQgaWYgbWFuaWZlc3RfaXRlbS50aW1lb3V0ID09ICJsb25n
IiBlbHNlIGNscy5kZWZhdWx0X3RpbWVvdXQKLSAgICAgICAgcHJvdG9jb2wgPSAiaHR0cHMiIGlm
IGhhc2F0dHIobWFuaWZlc3RfaXRlbSwgImh0dHBzIikgYW5kIG1hbmlmZXN0X2l0ZW0uaHR0cHMg
ZWxzZSAiaHR0cCIKICAgICAgICAgdGVzdGRyaXZlciA9IG1hbmlmZXN0X2l0ZW0udGVzdGRyaXZl
ciBpZiBoYXNhdHRyKG1hbmlmZXN0X2l0ZW0sICJ0ZXN0ZHJpdmVyIikgZWxzZSBGYWxzZQogICAg
ICAgICBqc3NoZWxsID0gbWFuaWZlc3RfaXRlbS5qc3NoZWxsIGlmIGhhc2F0dHIobWFuaWZlc3Rf
aXRlbSwgImpzc2hlbGwiKSBlbHNlIEZhbHNlCisgICAgICAgIHF1aWMgPSBtYW5pZmVzdF9pdGVt
LnF1aWMgaWYgaGFzYXR0cihtYW5pZmVzdF9pdGVtLCAicXVpYyIpIGVsc2UgRmFsc2UKICAgICAg
ICAgc2NyaXB0X21ldGFkYXRhID0gbWFuaWZlc3RfaXRlbS5zY3JpcHRfbWV0YWRhdGEgb3IgW10K
LSAgICAgICAgc2NyaXB0cyA9IFt2IGZvciAoaywgdikgaW4gc2NyaXB0X21ldGFkYXRhIGlmIGsg
PT0gYiJzY3JpcHQiXQorICAgICAgICBzY3JpcHRzID0gW3YgZm9yIChrLCB2KSBpbiBzY3JpcHRf
bWV0YWRhdGEKKyAgICAgICAgICAgICAgICAgICBpZiBrID09ICJzY3JpcHQiXQogICAgICAgICBy
ZXR1cm4gY2xzKG1hbmlmZXN0X2ZpbGUudGVzdHNfcm9vdCwKICAgICAgICAgICAgICAgICAgICBt
YW5pZmVzdF9pdGVtLnVybCwKICAgICAgICAgICAgICAgICAgICBpbmhlcml0X21ldGFkYXRhLAog
ICAgICAgICAgICAgICAgICAgIHRlc3RfbWV0YWRhdGEsCiAgICAgICAgICAgICAgICAgICAgdGlt
ZW91dD10aW1lb3V0LAogICAgICAgICAgICAgICAgICAgIHBhdGg9b3MucGF0aC5qb2luKG1hbmlm
ZXN0X2ZpbGUudGVzdHNfcm9vdCwgbWFuaWZlc3RfaXRlbS5wYXRoKSwKLSAgICAgICAgICAgICAg
ICAgICBwcm90b2NvbD1wcm90b2NvbCwKKyAgICAgICAgICAgICAgICAgICBwcm90b2NvbD1zZXJ2
ZXJfcHJvdG9jb2wobWFuaWZlc3RfaXRlbSksCiAgICAgICAgICAgICAgICAgICAgdGVzdGRyaXZl
cj10ZXN0ZHJpdmVyLAogICAgICAgICAgICAgICAgICAgIGpzc2hlbGw9anNzaGVsbCwKLSAgICAg
ICAgICAgICAgICAgICBzY3JpcHRzPXNjcmlwdHMKLSAgICAgICAgICAgICAgICAgICApCisgICAg
ICAgICAgICAgICAgICAgc2NyaXB0cz1zY3JpcHRzLAorICAgICAgICAgICAgICAgICAgIHF1aWM9
cXVpYykKIAogICAgIEBwcm9wZXJ0eQogICAgIGRlZiBpZChzZWxmKToKQEAgLTQyMywxMyArNDM4
LDI0IEBAIGNsYXNzIE1hbnVhbFRlc3QoVGVzdCk6CiAKIAogY2xhc3MgUmVmdGVzdFRlc3QoVGVz
dCk6CisgICAgIiIiQSByZWZ0ZXN0CisKKyAgICBBIHJlZnRlc3Qgc2hvdWxkIGJlIGNvbnNpZGVy
ZWQgdG8gcGFzcyBpZiBvbmUgb2YgaXRzIHJlZmVyZW5jZXMgbWF0Y2hlcyAoc2VlIGJlbG93KSAq
YW5kKiB0aGUKKyAgICByZWZlcmVuY2UgcGFzc2VzIGlmIGl0IGhhcyBhbnkgcmVmZXJlbmNlcyBy
ZWN1cnNpdmVseS4KKworICAgIEF0dHJpYnV0ZXM6CisgICAgICAgIHJlZmVyZW5jZXMgKExpc3Rb
VHVwbGVbc3RyLCBzdHJdXSk6IGEgbGlzdCBvZiBhbHRlcm5hdGUgcmVmZXJlbmNlcywgd2hlcmUg
b25lIG11c3QgbWF0Y2ggZm9yIHRoZSB0ZXN0IHRvIHBhc3MKKyAgICAgICAgdmlld3BvcnRfc2l6
ZSAoT3B0aW9uYWxbVHVwbGVbaW50LCBpbnRdXSk6IHNpemUgb2YgdGhlIHZpZXdwb3J0IGZvciB0
aGlzIHRlc3QsIGlmIG5vdCBkZWZhdWx0CisgICAgICAgIGRwaSAoT3B0aW9uYWxbaW50XSk6IGRw
aSB0byB1c2Ugd2hlbiByZW5kZXJpbmcgdGhpcyB0ZXN0LCBpZiBub3QgZGVmYXVsdAorCisgICAg
IiIiCiAgICAgcmVzdWx0X2NscyA9IFJlZnRlc3RSZXN1bHQKICAgICB0ZXN0X3R5cGUgPSAicmVm
dGVzdCIKIAogICAgIGRlZiBfX2luaXRfXyhzZWxmLCB0ZXN0c19yb290LCB1cmwsIGluaGVyaXRf
bWV0YWRhdGEsIHRlc3RfbWV0YWRhdGEsIHJlZmVyZW5jZXMsCi0gICAgICAgICAgICAgICAgIHRp
bWVvdXQ9Tm9uZSwgcGF0aD1Ob25lLCB2aWV3cG9ydF9zaXplPU5vbmUsIGRwaT1Ob25lLCBmdXp6
eT1Ob25lLCBwcm90b2NvbD0iaHR0cCIpOgorICAgICAgICAgICAgICAgICB0aW1lb3V0PU5vbmUs
IHBhdGg9Tm9uZSwgdmlld3BvcnRfc2l6ZT1Ob25lLCBkcGk9Tm9uZSwgZnV6enk9Tm9uZSwgcHJv
dG9jb2w9Imh0dHAiLCBxdWljPUZhbHNlKToKICAgICAgICAgVGVzdC5fX2luaXRfXyhzZWxmLCB0
ZXN0c19yb290LCB1cmwsIGluaGVyaXRfbWV0YWRhdGEsIHRlc3RfbWV0YWRhdGEsIHRpbWVvdXQs
Ci0gICAgICAgICAgICAgICAgICAgICAgcGF0aCwgcHJvdG9jb2wpCisgICAgICAgICAgICAgICAg
ICAgICAgcGF0aCwgcHJvdG9jb2wsIHF1aWMpCiAKICAgICAgICAgZm9yIF8sIHJlZl90eXBlIGlu
IHJlZmVyZW5jZXM6CiAgICAgICAgICAgICBpZiByZWZfdHlwZSBub3QgaW4gKCI9PSIsICIhPSIp
OgpAQCAtNDQ1LDE2ICs0NzEsMTAgQEAgY2xhc3MgUmVmdGVzdFRlc3QoVGVzdCk6CiAgICAgICAg
ICAgICAgICAgICAgICAgbWFuaWZlc3RfZmlsZSwKICAgICAgICAgICAgICAgICAgICAgICBtYW5p
ZmVzdF90ZXN0LAogICAgICAgICAgICAgICAgICAgICAgIGluaGVyaXRfbWV0YWRhdGEsCi0gICAg
ICAgICAgICAgICAgICAgICAgdGVzdF9tZXRhZGF0YSwKLSAgICAgICAgICAgICAgICAgICAgICBu
b2Rlcz1Ob25lLAotICAgICAgICAgICAgICAgICAgICAgIHJlZmVyZW5jZXNfc2Vlbj1Ob25lKToK
KyAgICAgICAgICAgICAgICAgICAgICB0ZXN0X21ldGFkYXRhKToKIAogICAgICAgICB0aW1lb3V0
ID0gY2xzLmxvbmdfdGltZW91dCBpZiBtYW5pZmVzdF90ZXN0LnRpbWVvdXQgPT0gImxvbmciIGVs
c2UgY2xzLmRlZmF1bHRfdGltZW91dAotCi0gICAgICAgIGlmIG5vZGVzIGlzIE5vbmU6Ci0gICAg
ICAgICAgICBub2RlcyA9IHt9Ci0gICAgICAgIGlmIHJlZmVyZW5jZXNfc2VlbiBpcyBOb25lOgot
ICAgICAgICAgICAgcmVmZXJlbmNlc19zZWVuID0gc2V0KCkKKyAgICAgICAgcXVpYyA9IG1hbmlm
ZXN0X3Rlc3QucXVpYyBpZiBoYXNhdHRyKG1hbmlmZXN0X3Rlc3QsICJxdWljIikgZWxzZSBGYWxz
ZQogCiAgICAgICAgIHVybCA9IG1hbmlmZXN0X3Rlc3QudXJsCiAKQEAgLTQ2Nyw0MSArNDg3LDYw
IEBAIGNsYXNzIFJlZnRlc3RUZXN0KFRlc3QpOgogICAgICAgICAgICAgICAgICAgIHBhdGg9bWFu
aWZlc3RfdGVzdC5wYXRoLAogICAgICAgICAgICAgICAgICAgIHZpZXdwb3J0X3NpemU9bWFuaWZl
c3RfdGVzdC52aWV3cG9ydF9zaXplLAogICAgICAgICAgICAgICAgICAgIGRwaT1tYW5pZmVzdF90
ZXN0LmRwaSwKLSAgICAgICAgICAgICAgICAgICBwcm90b2NvbD0iaHR0cHMiIGlmIGhhc2F0dHIo
bWFuaWZlc3RfdGVzdCwgImh0dHBzIikgYW5kIG1hbmlmZXN0X3Rlc3QuaHR0cHMgZWxzZSAiaHR0
cCIsCi0gICAgICAgICAgICAgICAgICAgZnV6enk9bWFuaWZlc3RfdGVzdC5mdXp6eSkKKyAgICAg
ICAgICAgICAgICAgICBwcm90b2NvbD1zZXJ2ZXJfcHJvdG9jb2wobWFuaWZlc3RfdGVzdCksCisg
ICAgICAgICAgICAgICAgICAgZnV6enk9bWFuaWZlc3RfdGVzdC5mdXp6eSwKKyAgICAgICAgICAg
ICAgICAgICBxdWljPXF1aWMpCiAKLSAgICAgICAgbm9kZXNbdXJsXSA9IG5vZGUKKyAgICAgICAg
cmVmc19ieV90eXBlID0gZGVmYXVsdGRpY3QobGlzdCkKIAogICAgICAgICBmb3IgcmVmX3VybCwg
cmVmX3R5cGUgaW4gbWFuaWZlc3RfdGVzdC5yZWZlcmVuY2VzOgotICAgICAgICAgICAgY29tcGFy
aXNvbl9rZXkgPSAocmVmX3R5cGUsKSArIHR1cGxlKHNvcnRlZChbdXJsLCByZWZfdXJsXSkpCi0g
ICAgICAgICAgICBpZiByZWZfdXJsIGluIG5vZGVzOgotICAgICAgICAgICAgICAgIG1hbmlmZXN0
X25vZGUgPSByZWZfdXJsCi0gICAgICAgICAgICAgICAgaWYgY29tcGFyaXNvbl9rZXkgaW4gcmVm
ZXJlbmNlc19zZWVuOgotICAgICAgICAgICAgICAgICAgICAjIFdlIGhhdmUgcmVhY2hlZCBhIGN5
Y2xlIHNvIHN0b3AgaGVyZQotICAgICAgICAgICAgICAgICAgICAjIE5vdGUgdGhhdCBqdXN0IHNl
ZWluZyBhIG5vZGUgZm9yIHRoZSBzZWNvbmQgdGltZSBpcyBub3QKLSAgICAgICAgICAgICAgICAg
ICAgIyBlbm91Z2ggdG8gZGV0ZWN0IGEgY3ljbGUgYmVjYXVzZQotICAgICAgICAgICAgICAgICAg
ICAjIEEgIT0gQiAhPSBDICE9IEEgbXVzdCBpbmNsdWRlIEMgIT0gQQotICAgICAgICAgICAgICAg
ICAgICAjIGJ1dCBBID09IEIgPT0gQSBzaG91bGQgbm90IGluY2x1ZGUgdGhlIHJlZHVuZGFudCBC
ID09IEEuCi0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0KLSAgICAgICAgICAgIHJlZmVy
ZW5jZXNfc2Vlbi5hZGQoY29tcGFyaXNvbl9rZXkpCi0KLSAgICAgICAgICAgIG1hbmlmZXN0X25v
ZGUgPSBtYW5pZmVzdF9maWxlLmdldF9yZWZlcmVuY2UocmVmX3VybCkKLSAgICAgICAgICAgIGlm
IG1hbmlmZXN0X25vZGU6Ci0gICAgICAgICAgICAgICAgcmVmZXJlbmNlID0gUmVmdGVzdFRlc3Qu
ZnJvbV9tYW5pZmVzdChtYW5pZmVzdF9maWxlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFuaWZlc3Rfbm9kZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtdLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm9uZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVzLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmZXJl
bmNlc19zZWVuKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICByZWZlcmVuY2Ug
PSBSZWZ0ZXN0VGVzdChtYW5pZmVzdF9maWxlLnRlc3RzX3Jvb3QsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcmVmX3VybCwKKyAgICAgICAgICAgIHJlZnNfYnlfdHlw
ZVtyZWZfdHlwZV0uYXBwZW5kKHJlZl91cmwpCisKKyAgICAgICAgIyBDb25zdHJ1Y3QgYSBsaXN0
IG9mIGFsbCB0aGUgbWlzbWF0Y2hlcywgd2hlcmUgd2UgZW5kIHVwIHdpdGggbWlzbWF0Y2hfMSAh
PSB1cmwgIT0KKyAgICAgICAgIyBtaXNtYXRjaF8yICE9IHVybCAhPSBtaXNtYXRjaF8zIGV0Yy4K
KyAgICAgICAgIworICAgICAgICAjIFBlciB0aGUgbG9naWMgZG9jdW1lbnRlZCBhYm92ZSwgdGhp
cyBtZWFucyB0aGF0IG5vbmUgb2YgdGhlIG1pc21hdGNoZXMgcHJvdmlkZWQgbWF0Y2gsCisgICAg
ICAgIG1pc21hdGNoX3dhbGsgPSBOb25lCisgICAgICAgIGlmIHJlZnNfYnlfdHlwZVsiIT0iXToK
KyAgICAgICAgICAgIG1pc21hdGNoX3dhbGsgPSBSZWZ0ZXN0VGVzdChtYW5pZmVzdF9maWxlLnRl
c3RzX3Jvb3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmc19i
eV90eXBlWyIhPSJdWzBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vbmUsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW10pCi0KLSAgICAgICAgICAgIG5v
ZGUucmVmZXJlbmNlcy5hcHBlbmQoKHJlZmVyZW5jZSwgcmVmX3R5cGUpKQorICAgICAgICAgICAg
Y21wX3JlZiA9IG1pc21hdGNoX3dhbGsKKyAgICAgICAgICAgIGZvciByZWZfdXJsIGluIHJlZnNf
YnlfdHlwZVsiIT0iXVsxOl06CisgICAgICAgICAgICAgICAgY21wX3NlbGYgPSBSZWZ0ZXN0VGVz
dChtYW5pZmVzdF9maWxlLnRlc3RzX3Jvb3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB1cmwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBb
XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vbmUsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbXSkKKyAgICAgICAgICAgICAgICBjbXBf
cmVmLnJlZmVyZW5jZXMuYXBwZW5kKChjbXBfc2VsZiwgIiE9IikpCisgICAgICAgICAgICAgICAg
Y21wX3JlZiA9IFJlZnRlc3RUZXN0KG1hbmlmZXN0X2ZpbGUudGVzdHNfcm9vdCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmX3VybCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgW10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIE5vbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtdKQor
ICAgICAgICAgICAgICAgIGNtcF9zZWxmLnJlZmVyZW5jZXMuYXBwZW5kKChjbXBfcmVmLCAiIT0i
KSkKKworICAgICAgICBpZiBtaXNtYXRjaF93YWxrIGlzIE5vbmU6CisgICAgICAgICAgICBtaXNt
YXRjaF9yZWZzID0gW10KKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIG1pc21hdGNoX3JlZnMg
PSBbKG1pc21hdGNoX3dhbGssICIhPSIpXQorCisgICAgICAgIGlmIHJlZnNfYnlfdHlwZVsiPT0i
XToKKyAgICAgICAgICAgICMgRm9yIGVhY2ggPT0gcmVmLCBhZGQgYSByZWZlcmVuY2UgdG8gdGhp
cyBub2RlIHdob3NlIHRhaWwgaXMgdGhlIG1pc21hdGNoIGxpc3QuCisgICAgICAgICAgICAjIFBl
ciB0aGUgbG9naWMgZG9jdW1lbnRlZCBhYm92ZSwgdGhpcyBtZWFucyBhbnkgb25lIG9mIHRoZSBt
YXRjaGVzIG11c3QgcGFzcyBwbHVzIGFsbCB0aGUgbWlzbWF0Y2hlcy4KKyAgICAgICAgICAgIGZv
ciByZWZfdXJsIGluIHJlZnNfYnlfdHlwZVsiPT0iXToKKyAgICAgICAgICAgICAgICByZWYgPSBS
ZWZ0ZXN0VGVzdChtYW5pZmVzdF9maWxlLnRlc3RzX3Jvb3QsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcmVmX3VybCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBbXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb25lLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG1pc21hdGNoX3JlZnMpCisgICAgICAgICAgICAgICAg
bm9kZS5yZWZlcmVuY2VzLmFwcGVuZCgocmVmLCAiPT0iKSkKKyAgICAgICAgZWxzZToKKyAgICAg
ICAgICAgICMgT3RoZXJ3aXNlLCB3ZSBqdXN0IGFkZCB0aGUgbWlzbWF0Y2hlcyBkaXJlY3RseSBh
cyB3ZSBhcmUgaW1tZWRpYXRlbHkgaW50byB0aGUKKyAgICAgICAgICAgICMgbWlzbWF0Y2ggY2hh
aW4gd2l0aCBubyBhbHRlcm5hdGVzLgorICAgICAgICAgICAgbm9kZS5yZWZlcmVuY2VzLmV4dGVu
ZChtaXNtYXRjaF9yZWZzKQogCiAgICAgICAgIHJldHVybiBub2RlCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0c2VydmUv
TElDRU5TRSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0c2VydmUvTElDRU5TRQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDU4OTZl
NmJlMmJkNTFmNGI3OGU5NzAzY2FlZmI5YjY3MmUxMGE1NS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHNlcnZlL0xJQ0VOU0UKKysrIC9kZXYvbnVsbApAQCAtMSwz
MCArMCwwIEBACi1XM0MgMy1jbGF1c2UgQlNEIExpY2Vuc2UKLQotaHR0cDovL3d3dy53My5vcmcv
Q29uc29ydGl1bS9MZWdhbC8yMDA4LzAzLWJzZC1saWNlbnNlLmh0bWwKLQotUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci1t
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlCi1tZXQ6Ci0KLSogUmVkaXN0cmlidXRpb25zIG9mIHdvcmtzIG11c3QgcmV0
YWluIHRoZSBvcmlnaW5hbCBjb3B5cmlnaHQgbm90aWNlLAotICB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotCi0qIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgb3JpZ2luYWwgY29weXJpZ2h0Ci0gIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLQotKiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBXM0Mg
bm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZQotICB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyB3b3JrIHdpdGhvdXQKLSAg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotCi1USElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0iQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAotTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SCi1BIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi1TUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi1MSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwKLURBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi1PRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRzZXJ2ZS9zZXR1cC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0c2VydmUvc2V0dXAucHkKaW5kZXggYzljMzY0Yjhi
YWNjNzJhNmZmNzdmOWQwYzgxMWIyZDdkMTgxMGQxMy4uNzU5Y2I0OGQxZjY1ZjUyZjY1MDBlZDJi
ODcxYzdlZjQzMDUxOGFiNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRzZXJ2ZS9zZXR1cC5weQorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHNlcnZlL3NldHVwLnB5
CkBAIC0xLDYgKzEsNiBAQAogZnJvbSBzZXR1cHRvb2xzIGltcG9ydCBzZXR1cAogCi1QQUNLQUdF
X1ZFUlNJT04gPSAnMi4wJworUEFDS0FHRV9WRVJTSU9OID0gJzMuMCcKIGRlcHMgPSBbInNpeD49
MS44IiwgImgyPT0zLjAuMSJdCiAKIHNldHVwKG5hbWU9J3dwdHNlcnZlJywKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0c2Vy
dmUvdGVzdHMvZnVuY3Rpb25hbC90ZXN0X2Nvb2tpZXMucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHNlcnZlL3Rlc3RzL2Z1bmN0aW9uYWwv
dGVzdF9jb29raWVzLnB5CmluZGV4IDJlMmQwZDY3NzFiYTI2YTFmYmU3ZThmYzhiYjJlMjU5OGJj
MzQyMjMuLjY0ZWFiMmQ4MDZiNTJkZTkzM2IyOGQ1ODQxNmI2OWQzNmJkY2IyNWUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0
c2VydmUvdGVzdHMvZnVuY3Rpb25hbC90ZXN0X2Nvb2tpZXMucHkKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRzZXJ2ZS90ZXN0cy9mdW5j
dGlvbmFsL3Rlc3RfY29va2llcy5weQpAQCAtMTAsNyArMTAsNyBAQCBjbGFzcyBUZXN0UmVzcG9u
c2VTZXRDb29raWUoVGVzdFVzaW5nU2VydmVyKToKICAgICBkZWYgdGVzdF9uYW1lX3ZhbHVlKHNl
bGYpOgogICAgICAgICBAd3B0c2VydmUuaGFuZGxlcnMuaGFuZGxlcgogICAgICAgICBkZWYgaGFu
ZGxlcihyZXF1ZXN0LCByZXNwb25zZSk6Ci0gICAgICAgICAgICByZXNwb25zZS5zZXRfY29va2ll
KCJuYW1lIiwgInZhbHVlIikKKyAgICAgICAgICAgIHJlc3BvbnNlLnNldF9jb29raWUoYiJuYW1l
IiwgYiJ2YWx1ZSIpCiAgICAgICAgICAgICByZXR1cm4gIlRlc3QiCiAKICAgICAgICAgcm91dGUg
PSAoIkdFVCIsICIvdGVzdC9uYW1lX3ZhbHVlIiwgaGFuZGxlcikKQEAgLTIyLDggKzIyLDggQEAg
Y2xhc3MgVGVzdFJlc3BvbnNlU2V0Q29va2llKFRlc3RVc2luZ1NlcnZlcik6CiAgICAgZGVmIHRl
c3RfdW5zZXQoc2VsZik6CiAgICAgICAgIEB3cHRzZXJ2ZS5oYW5kbGVycy5oYW5kbGVyCiAgICAg
ICAgIGRlZiBoYW5kbGVyKHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICAgICAgICAgIHJlc3BvbnNl
LnNldF9jb29raWUoIm5hbWUiLCAidmFsdWUiKQotICAgICAgICAgICAgcmVzcG9uc2UudW5zZXRf
Y29va2llKCJuYW1lIikKKyAgICAgICAgICAgIHJlc3BvbnNlLnNldF9jb29raWUoYiJuYW1lIiwg
YiJ2YWx1ZSIpCisgICAgICAgICAgICByZXNwb25zZS51bnNldF9jb29raWUoYiJuYW1lIikKICAg
ICAgICAgICAgIHJldHVybiAiVGVzdCIKIAogICAgICAgICByb3V0ZSA9ICgiR0VUIiwgIi90ZXN0
L3Vuc2V0IiwgaGFuZGxlcikKQEAgLTM1LDcgKzM1LDcgQEAgY2xhc3MgVGVzdFJlc3BvbnNlU2V0
Q29va2llKFRlc3RVc2luZ1NlcnZlcik6CiAgICAgZGVmIHRlc3RfZGVsZXRlKHNlbGYpOgogICAg
ICAgICBAd3B0c2VydmUuaGFuZGxlcnMuaGFuZGxlcgogICAgICAgICBkZWYgaGFuZGxlcihyZXF1
ZXN0LCByZXNwb25zZSk6Ci0gICAgICAgICAgICByZXNwb25zZS5kZWxldGVfY29va2llKCJuYW1l
IikKKyAgICAgICAgICAgIHJlc3BvbnNlLmRlbGV0ZV9jb29raWUoYiJuYW1lIikKICAgICAgICAg
ICAgIHJldHVybiAiVGVzdCIKIAogICAgICAgICByb3V0ZSA9ICgiR0VUIiwgIi90ZXN0L2RlbGV0
ZSIsIGhhbmRsZXIpCkBAIC00NywxOCArNDcsMjAgQEAgY2xhc3MgVGVzdFJlc3BvbnNlU2V0Q29v
a2llKFRlc3RVc2luZ1NlcnZlcik6CiAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwYXJ0c1si
bmFtZSJdLCAiIikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwYXJ0c1siUGF0aCJdLCAiLyIp
Ci0gICAgICAgICNTaG91bGQgYWxzbyBjaGVjayB0aGF0IGV4cGlyZXMgaXMgaW4gdGhlIHBhc3QK
KyAgICAgICAgIyBUT0RPOiBTaG91bGQgYWxzbyBjaGVjayB0aGF0IGV4cGlyZXMgaXMgaW4gdGhl
IHBhc3QKKwogCiBjbGFzcyBUZXN0UmVxdWVzdENvb2tpZXMoVGVzdFVzaW5nU2VydmVyKToKICAg
ICBkZWYgdGVzdF9zZXRfY29va2llKHNlbGYpOgogICAgICAgICBAd3B0c2VydmUuaGFuZGxlcnMu
aGFuZGxlcgogICAgICAgICBkZWYgaGFuZGxlcihyZXF1ZXN0LCByZXNwb25zZSk6Ci0gICAgICAg
ICAgICByZXR1cm4gcmVxdWVzdC5jb29raWVzWyJuYW1lIl0udmFsdWUKKyAgICAgICAgICAgIHJl
dHVybiByZXF1ZXN0LmNvb2tpZXNbYiJuYW1lIl0udmFsdWUKIAogICAgICAgICByb3V0ZSA9ICgi
R0VUIiwgIi90ZXN0L3NldF9jb29raWUiLCBoYW5kbGVyKQogICAgICAgICBzZWxmLnNlcnZlci5y
b3V0ZXIucmVnaXN0ZXIoKnJvdXRlKQogICAgICAgICByZXNwID0gc2VsZi5yZXF1ZXN0KHJvdXRl
WzFdLCBoZWFkZXJzPXsiQ29va2llIjogIm5hbWU9dmFsdWUifSkKICAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChyZXNwLnJlYWQoKSwgYiJ2YWx1ZSIpCiAKKwogaWYgX19uYW1lX18gPT0gJ19fbWFp
bl9fJzoKICAgICB1bml0dGVzdC5tYWluKCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0c2VydmUvdGVzdHMvZnVuY3Rpb25h
bC90ZXN0X3Jlc3BvbnNlLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy93cHRzZXJ2ZS90ZXN0cy9mdW5jdGlvbmFsL3Rlc3RfcmVzcG9uc2UucHkK
aW5kZXggZDhkNjRkNTRjY2M3OGEzYzZkZWJhMjFiNzM0MjhlNzFhZWIxYmU2MC4uNmU5NDdlNDc4
ZDllMTRlMzM2NzZjYmQ2MmJiYmFkYTJmMTE4ZWM3ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRzZXJ2ZS90ZXN0cy9mdW5j
dGlvbmFsL3Rlc3RfcmVzcG9uc2UucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRzZXJ2ZS90ZXN0cy9mdW5jdGlvbmFsL3Rlc3RfcmVz
cG9uc2UucHkKQEAgLTEsMTEgKzEsMTEgQEAKLWltcG9ydCBzeXMKIGltcG9ydCBvcwogaW1wb3J0
IHVuaXR0ZXN0CiBpbXBvcnQganNvbgogZnJvbSBpbyBpbXBvcnQgQnl0ZXNJTwogCiBpbXBvcnQg
cHl0ZXN0Ci1mcm9tIHNpeCBpbXBvcnQgY3JlYXRlX2JvdW5kX21ldGhvZAorZnJvbSBzaXggaW1w
b3J0IGNyZWF0ZV9ib3VuZF9tZXRob2QsIFBZMworZnJvbSBzaXgubW92ZXMuaHR0cF9jbGllbnQg
aW1wb3J0IEJhZFN0YXR1c0xpbmUKIAogd3B0c2VydmUgPSBweXRlc3QuaW1wb3J0b3Jza2lwKCJ3
cHRzZXJ2ZSIpCiBmcm9tIC5iYXNlIGltcG9ydCBUZXN0VXNpbmdTZXJ2ZXIsIFRlc3RVc2luZ0gy
U2VydmVyLCBkb2Nfcm9vdApAQCAtMTY3LDcgKzE2Nyw2IEBAIGNsYXNzIFRlc3RSZXNwb25zZShU
ZXN0VXNpbmdTZXJ2ZXIpOgogICAgICAgICBzZWxmLnNlcnZlci5yb3V0ZXIucmVnaXN0ZXIoKnJv
dXRlKQogICAgICAgICBzZWxmLnJlcXVlc3Qocm91dGVbMV0pCiAKLSAgICBAcHl0ZXN0Lm1hcmsu
eGZhaWwoc3lzLnZlcnNpb25faW5mbyA+PSAoMywpLCByZWFzb249InB5MyB1cmxsaWIgZG9lc24n
dCBoYW5kbGUgaW52YWxpZCBIVFRQIHZlcnkgd2VsbCIpCiAgICAgZGVmIHRlc3Rfd3JpdGVfcmF3
X2NvbnRlbnRzX2ludmFsaWRfaHR0cChzZWxmKToKICAgICAgICAgcmVzcF9jb250ZW50ID0gYiJJ
TlZBTElEIEhUVFAiCiAKQEAgLTE3Nyw5ICsxNzYsMTQgQEAgY2xhc3MgVGVzdFJlc3BvbnNlKFRl
c3RVc2luZ1NlcnZlcik6CiAKICAgICAgICAgcm91dGUgPSAoIkdFVCIsICIvdGVzdC90ZXN0X3dy
aXRlX3Jhd19jb250ZW50IiwgaGFuZGxlcikKICAgICAgICAgc2VsZi5zZXJ2ZXIucm91dGVyLnJl
Z2lzdGVyKCpyb3V0ZSkKLSAgICAgICAgcmVzcCA9IHNlbGYucmVxdWVzdChyb3V0ZVsxXSkKLSAg
ICAgICAgYXNzZXJ0IHJlc3AucmVhZCgpID09IHJlc3BfY29udGVudAogCisgICAgICAgIHRyeToK
KyAgICAgICAgICAgIHJlc3AgPSBzZWxmLnJlcXVlc3Qocm91dGVbMV0pCisgICAgICAgICAgICBh
c3NlcnQgcmVzcC5yZWFkKCkgPT0gcmVzcF9jb250ZW50CisgICAgICAgIGV4Y2VwdCBCYWRTdGF0
dXNMaW5lIGFzIGU6CisgICAgICAgICAgICAjIEluIFB5dGhvbjMsIGFuIGludmFsaWQgSFRUUCBy
ZXF1ZXN0IHNob3VsZCB0aHJvdyBCYWRTdGF0dXNMaW5lLgorICAgICAgICAgICAgYXNzZXJ0IFBZ
MworICAgICAgICAgICAgYXNzZXJ0IHN0cihlKSA9PSByZXNwX2NvbnRlbnQuZGVjb2RlKCd1dGYt
OCcpCiAKIGNsYXNzIFRlc3RIMlJlc3BvbnNlKFRlc3RVc2luZ0gyU2VydmVyKToKICAgICBkZWYg
dGVzdF93cml0ZV93aXRob3V0X2VuZGluZ19zdHJlYW0oc2VsZik6CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHNlcnZlL3Rl
c3RzL2Z1bmN0aW9uYWwvdGVzdF9zdGFzaC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0c2VydmUvdGVzdHMvZnVuY3Rpb25hbC90ZXN0X3N0
YXNoLnB5CmluZGV4IDMwOWRkOWU1NzdhMDMzNWI3YTU2OTkyYzgyYTQ4YjQzYTI1OWEyOGQuLjFj
NGM5YWQ5MzNhMzc3NDY2MjNhMDE5NWY1NTNhZDhjZmU3MDY4OGYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0c2VydmUvdGVz
dHMvZnVuY3Rpb25hbC90ZXN0X3N0YXNoLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0c2VydmUvdGVzdHMvZnVuY3Rpb25hbC90ZXN0
X3N0YXNoLnB5CkBAIC0xOCwxMCArMTgsMTAgQEAgY2xhc3MgVGVzdFJlc3BvbnNlU2V0Q29va2ll
KFRlc3RVc2luZ1NlcnZlcik6CiAgICAgICAgIEB3cHRzZXJ2ZS5oYW5kbGVycy5oYW5kbGVyCiAg
ICAgICAgIGRlZiBoYW5kbGVyKHJlcXVlc3QsIHJlc3BvbnNlKToKICAgICAgICAgICAgIGlmIHJl
cXVlc3QubWV0aG9kID09ICJQT1NUIjoKLSAgICAgICAgICAgICAgICByZXF1ZXN0LnNlcnZlci5z
dGFzaC5wdXQocmVxdWVzdC5QT1NULmZpcnN0KCJpZCIpLCByZXF1ZXN0LlBPU1QuZmlyc3QoImRh
dGEiKSkKKyAgICAgICAgICAgICAgICByZXF1ZXN0LnNlcnZlci5zdGFzaC5wdXQocmVxdWVzdC5Q
T1NULmZpcnN0KGIiaWQiKSwgcmVxdWVzdC5QT1NULmZpcnN0KGIiZGF0YSIpKQogICAgICAgICAg
ICAgICAgIGRhdGEgPSAiT0siCiAgICAgICAgICAgICBlbGlmIHJlcXVlc3QubWV0aG9kID09ICJH
RVQiOgotICAgICAgICAgICAgICAgIGRhdGEgPSByZXF1ZXN0LnNlcnZlci5zdGFzaC50YWtlKHJl
cXVlc3QuR0VULmZpcnN0KCJpZCIpKQorICAgICAgICAgICAgICAgIGRhdGEgPSByZXF1ZXN0LnNl
cnZlci5zdGFzaC50YWtlKHJlcXVlc3QuR0VULmZpcnN0KGIiaWQiKSkKICAgICAgICAgICAgICAg
ICBpZiBkYXRhIGlzIE5vbmU6CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiAiTk9UIEZPVU5E
IgogICAgICAgICAgICAgcmV0dXJuIGRhdGEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0c2VydmUvdGVzdHMvdGVzdF9yZXF1
ZXN0LnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy93cHRzZXJ2ZS90ZXN0cy90ZXN0X3JlcXVlc3QucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODY5ZDNkNDYwNDQw
OTQxMTk4NGNiNDlmY2Q0MGViN2U5NzFiM2M1MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0c2VydmUvdGVzdHMv
dGVzdF9yZXF1ZXN0LnB5CkBAIC0wLDAgKzEsNzggQEAKK2ltcG9ydCBtb2NrCitmcm9tIHNpeCBp
bXBvcnQgYmluYXJ5X3R5cGUKKworZnJvbSB3cHRzZXJ2ZS5yZXF1ZXN0IGltcG9ydCBSZXF1ZXN0
LCBSZXF1ZXN0SGVhZGVycworCisKK2NsYXNzIE1vY2tIVFRQTWVzc2FnZShkaWN0KToKKyAgICAi
IiJBIG1pbmltdW0gKGFuZCBub3QgY29tcGxldGVseSBjb3JyZWN0bHkpIG1vY2sgb2YgSFRUUE1l
c3NhZ2UgZm9yIHRlc3RpbmcuCisKKyAgICBDb25zdHJ1Y3RpbmcgSFRUUE1lc3NhZ2UgaXMgYW5u
b3lpbmcgYW5kIGRpZmZlcmVudCBpbiBQeXRob24gMiBhbmQgMy4gVGhpcworICAgIG9ubHkgaW1w
bGVtZW50cyB0aGUgcGFydHMgdXNlZCBieSBSZXF1ZXN0SGVhZGVycy4KKworICAgIFJlcXVpcmVt
ZW50cyBmb3IgY29uc3RydWN0aW9uOgorICAgICogS2V5cyBhcmUgaGVhZGVyIG5hbWVzIGFuZCBN
VVNUIGJlIGxvd2VyLWNhc2UuCisgICAgKiBWYWx1ZXMgYXJlIGxpc3RzIG9mIGhlYWRlciB2YWx1
ZXMgKGV2ZW4gaWYgdGhlcmUncyBvbmx5IG9uZSkuCisgICAgKiBLZXlzIGFuZCB2YWx1ZXMgc2hv
dWxkIGJlIG5hdGl2ZSBzdHJpbmdzIHRvIG1hdGNoIHN0ZGxpYidzIGJlaGF2aW91cnMuCisgICAg
IiIiCisgICAgZGVmIF9fZ2V0aXRlbV9fKHNlbGYsIGtleSk6CisgICAgICAgIGFzc2VydCBpc2lu
c3RhbmNlKGtleSwgc3RyKQorICAgICAgICB2YWx1ZXMgPSBkaWN0Ll9fZ2V0aXRlbV9fKHNlbGYs
IGtleS5sb3dlcigpKQorICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZSh2YWx1ZXMsIGxpc3QpCisg
ICAgICAgIHJldHVybiB2YWx1ZXNbMF0KKworICAgIGRlZiBnZXQoc2VsZiwga2V5LCBkZWZhdWx0
PU5vbmUpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICByZXR1cm4gc2VsZltrZXldCisgICAg
ICAgIGV4Y2VwdCBLZXlFcnJvcjoKKyAgICAgICAgICAgIHJldHVybiBkZWZhdWx0CisKKyAgICBk
ZWYgZ2V0YWxsbWF0Y2hpbmdoZWFkZXJzKHNlbGYsIGtleSk6CisgICAgICAgIHZhbHVlcyA9IGRp
Y3QuX19nZXRpdGVtX18oc2VsZiwga2V5Lmxvd2VyKCkpCisgICAgICAgIHJldHVybiBbInt9OiB7
fVxuIi5mb3JtYXQoa2V5LCB2KSBmb3IgdiBpbiB2YWx1ZXNdCisKKworZGVmIHRlc3RfcmVxdWVz
dF9oZWFkZXJzX2dldCgpOgorICAgIHJhd19oZWFkZXJzID0gTW9ja0hUVFBNZXNzYWdlKHsKKyAg
ICAgICAgJ3gtZm9vJzogWydmb28nXSwKKyAgICAgICAgJ3gtYmFyJzogWydiYXIxJywgJ2JhcjIn
XSwKKyAgICB9KQorICAgIGhlYWRlcnMgPSBSZXF1ZXN0SGVhZGVycyhyYXdfaGVhZGVycykKKyAg
ICBhc3NlcnQgaGVhZGVyc1sneC1mb28nXSA9PSBiJ2ZvbycKKyAgICBhc3NlcnQgaGVhZGVyc1sn
WC1CYXInXSA9PSBiJ2JhcjEsIGJhcjInCisgICAgYXNzZXJ0IGhlYWRlcnMuZ2V0KCd4LWJhcicp
ID09IGInYmFyMSwgYmFyMicKKworCitkZWYgdGVzdF9yZXF1ZXN0X2hlYWRlcnNfZW5jb2Rpbmco
KToKKyAgICByYXdfaGVhZGVycyA9IE1vY2tIVFRQTWVzc2FnZSh7CisgICAgICAgICd4LWZvbyc6
IFsnZm9vJ10sCisgICAgICAgICd4LWJhcic6IFsnYmFyMScsICdiYXIyJ10sCisgICAgfSkKKyAg
ICBoZWFkZXJzID0gUmVxdWVzdEhlYWRlcnMocmF3X2hlYWRlcnMpCisgICAgYXNzZXJ0IGlzaW5z
dGFuY2UoaGVhZGVyc1sneC1mb28nXSwgYmluYXJ5X3R5cGUpCisgICAgYXNzZXJ0IGlzaW5zdGFu
Y2UoaGVhZGVyc1sneC1iYXInXSwgYmluYXJ5X3R5cGUpCisgICAgYXNzZXJ0IGlzaW5zdGFuY2Uo
aGVhZGVycy5nZXRfbGlzdCgneC1iYXInKVswXSwgYmluYXJ5X3R5cGUpCisKKworZGVmIHRlc3Rf
cmVxdWVzdF91cmxfZnJvbV9zZXJ2ZXJfYWRkcmVzcygpOgorICAgIHJlcXVlc3RfaGFuZGxlciA9
IG1vY2suTW9jaygpCisgICAgcmVxdWVzdF9oYW5kbGVyLnNlcnZlci5zY2hlbWUgPSAnaHR0cCcK
KyAgICByZXF1ZXN0X2hhbmRsZXIuc2VydmVyLnNlcnZlcl9hZGRyZXNzID0gKCdsb2NhbGhvc3Qn
LCAnODAwMCcpCisgICAgcmVxdWVzdF9oYW5kbGVyLnBhdGggPSAnL2RlbW8nCisgICAgcmVxdWVz
dF9oYW5kbGVyLmhlYWRlcnMgPSBNb2NrSFRUUE1lc3NhZ2UoKQorCisgICAgcmVxdWVzdCA9IFJl
cXVlc3QocmVxdWVzdF9oYW5kbGVyKQorICAgIGFzc2VydCByZXF1ZXN0LnVybCA9PSAnaHR0cDov
L2xvY2FsaG9zdDo4MDAwL2RlbW8nCisgICAgYXNzZXJ0IGlzaW5zdGFuY2UocmVxdWVzdC51cmws
IHN0cikKKworCitkZWYgdGVzdF9yZXF1ZXN0X3VybF9mcm9tX2hvc3RfaGVhZGVyKCk6CisgICAg
cmVxdWVzdF9oYW5kbGVyID0gbW9jay5Nb2NrKCkKKyAgICByZXF1ZXN0X2hhbmRsZXIuc2VydmVy
LnNjaGVtZSA9ICdodHRwJworICAgIHJlcXVlc3RfaGFuZGxlci5zZXJ2ZXIuc2VydmVyX2FkZHJl
c3MgPSAoJ2xvY2FsaG9zdCcsICc4MDAwJykKKyAgICByZXF1ZXN0X2hhbmRsZXIucGF0aCA9ICcv
ZGVtbycKKyAgICByZXF1ZXN0X2hhbmRsZXIuaGVhZGVycyA9IE1vY2tIVFRQTWVzc2FnZSh7J2hv
c3QnOiBbJ3dlYi1wbGF0Zm9ybS50ZXN0OjgwMDEnXX0pCisKKyAgICByZXF1ZXN0ID0gUmVxdWVz
dChyZXF1ZXN0X2hhbmRsZXIpCisgICAgYXNzZXJ0IHJlcXVlc3QudXJsID09ICdodHRwOi8vd2Vi
LXBsYXRmb3JtLnRlc3Q6ODAwMS9kZW1vJworICAgIGFzc2VydCBpc2luc3RhbmNlKHJlcXVlc3Qu
dXJsLCBzdHIpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3dwdHNlcnZlL3Rlc3RzL3Rlc3Rfc3Rhc2gucHkgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHNlcnZlL3Rlc3RzL3Rl
c3Rfc3Rhc2gucHkKaW5kZXggMWVhOTljMDYwOWY1YmVkODU5NjUxMjg0ZWIzZGE4MGE0Y2RkZjcz
Ny4uMzFhZjE1NThiMGNjNWMwNDY4NDNlMGU5NjU2OWRiNDJjNDY3Y2YyMiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRzZXJ2
ZS90ZXN0cy90ZXN0X3N0YXNoLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0c2VydmUvdGVzdHMvdGVzdF9zdGFzaC5weQpAQCAtNCw2
ICs0LDcgQEAgaW1wb3J0IHRocmVhZGluZwogZnJvbSBtdWx0aXByb2Nlc3NpbmcubWFuYWdlcnMg
aW1wb3J0IEJhc2VNYW5hZ2VyCiAKIGltcG9ydCBweXRlc3QKK2Zyb20gc2l4IGltcG9ydCBQWTMK
IAogU3Rhc2ggPSBweXRlc3QuaW1wb3J0b3Jza2lwKCJ3cHRzZXJ2ZS5zdGFzaCIpLlN0YXNoCiAK
QEAgLTU3LDcgKzU4LDggQEAgZGVmIHJ1bihwcm9jZXNzX3F1ZXVlLCByZXF1ZXN0X2xvY2ssIHJl
c3BvbnNlX2xvY2spOgogICAgIHByb2Nlc3NfcXVldWUucHV0KHRocmVhZF9xdWV1ZS5nZXQoKSkK
IAogCi1AcHl0ZXN0Lm1hcmsueGZhaWwoc3lzLnBsYXRmb3JtID09ICJ3aW4zMiIsCitAcHl0ZXN0
Lm1hcmsueGZhaWwoc3lzLnBsYXRmb3JtID09ICJ3aW4zMiIgb3IKKyAgICAgICAgICAgICAgICAg
ICBQWTMgYW5kIG11bHRpcHJvY2Vzc2luZy5nZXRfc3RhcnRfbWV0aG9kKCkgPT0gInNwYXduIiwK
ICAgICAgICAgICAgICAgICAgICByZWFzb249Imh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZv
cm0tdGVzdHMvd3B0L2lzc3Vlcy8xNjkzOCIpCiBkZWYgdGVzdF9kZWxheWVkX2xvY2soYWRkX2Ns
ZWFudXApOgogICAgICIiIkVuc3VyZSB0aGF0IGRlbGF5cyBpbiBwcm94aWVkIExvY2sgcmV0cmll
dmFsIGRvIG5vdCBpbnRlcmZlcmUgd2l0aApAQCAtOTYsNyArOTgsOCBAQCBkZWYgdGVzdF9kZWxh
eWVkX2xvY2soYWRkX2NsZWFudXApOgogICAgICAgICAiYm90aCBpbnN0YW5jZXMgaGFkIHZhbGlk
IGxvY2tzIikKIAogCi1AcHl0ZXN0Lm1hcmsueGZhaWwoc3lzLnBsYXRmb3JtID09ICJ3aW4zMiIs
CitAcHl0ZXN0Lm1hcmsueGZhaWwoc3lzLnBsYXRmb3JtID09ICJ3aW4zMiIgb3IKKyAgICAgICAg
ICAgICAgICAgICBQWTMgYW5kIG11bHRpcHJvY2Vzc2luZy5nZXRfc3RhcnRfbWV0aG9kKCkgPT0g
InNwYXduIiwKICAgICAgICAgICAgICAgICAgICByZWFzb249Imh0dHBzOi8vZ2l0aHViLmNvbS93
ZWItcGxhdGZvcm0tdGVzdHMvd3B0L2lzc3Vlcy8xNjkzOCIpCiBkZWYgdGVzdF9kZWxheWVkX2Rp
Y3QoYWRkX2NsZWFudXApOgogICAgICIiIkVuc3VyZSB0aGF0IGRlbGF5cyBpbiBwcm94aWVkIGBk
aWN0YCByZXRyaWV2YWwgZG8gbm90IGludGVyZmVyZSB3aXRoCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHNlcnZlL3Rlc3Rz
L3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRzZXJ2ZS90ZXN0cy93M2MtaW1wb3J0LmxvZwppbmRleCBlZjlkNmE4MGFh
NmFjMTQyM2Y1NDg1YmIyNWJkMzM2OTc1ZDlhYjU3Li41ZjllYjZiMzhiNjUxNDlmZGU3ZGFkMTli
ODA1NmYzY2M1YmYxMzYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHNlcnZlL3Rlc3RzL3czYy1pbXBvcnQubG9nCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0c2Vy
dmUvdGVzdHMvdzNjLWltcG9ydC5sb2cKQEAgLTE2LDQgKzE2LDUgQEAgTm9uZQogTGlzdCBvZiBm
aWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L3dwdHNlcnZlL3Rlc3RzL3Rlc3RfY29uZmlnLnB5CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRzZXJ2ZS90ZXN0cy90ZXN0X3JlcGxhY2VtZW50
X3Rva2VuaXplci5weQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvd3B0c2VydmUvdGVzdHMvdGVzdF9yZXF1ZXN0LnB5CiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRzZXJ2ZS90ZXN0cy90ZXN0X3N0
YXNoLnB5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHNlcnZlL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRzZXJ2ZS93M2MtaW1wb3J0LmxvZwpp
bmRleCA1OTdiMzI2MDRkYzIwZTBlM2EyNzYxOWQ5MDZlNDVkOGQ3OTAzM2MxLi5mYWFhZjY3ZTk4
NThhMTA3ZGM4M2E5NTI4NWYyYjkzOTQ3ZmIwMTMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHNlcnZlL3czYy1pbXBvcnQu
bG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0c2VydmUvdzNjLWltcG9ydC5sb2cKQEAgLTE0LDcgKzE0LDYgQEAgUHJvcGVydHkgdmFs
dWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CiBOb25lCiAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIExp
c3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy93cHRzZXJ2ZS9MSUNFTlNFCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy93cHRzZXJ2ZS9NQU5JRkVTVC5pbgogL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0c2VydmUvUkVBRE1FLm1kCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRzZXJ2
ZS9zZXR1cC5weQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRzZXJ2ZS93cHRzZXJ2ZS9jb25maWcucHkgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHNlcnZlL3dwdHNlcnZl
L2NvbmZpZy5weQppbmRleCBlMTFjYWUxMzdiOWM1MWQ4Njc3NDAwMWVhZDcxOTM4ZmQ1NWMwNTU1
Li43NzY2NTY1ZmU0ZmQxNzU1OThiOGI2Y2NlMGU0ZmY0YjQwZjEwZDlkIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHNlcnZl
L3dwdHNlcnZlL2NvbmZpZy5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHNlcnZlL3dwdHNlcnZlL2NvbmZpZy5weQpAQCAtNjksNiAr
NjksMzEgQEAgY2xhc3MgQ29uZmlnKE1hcHBpbmcpOgogICAgIGRlZiBhc19kaWN0KHNlbGYpOgog
ICAgICAgICByZXR1cm4ganNvbl90eXBlcyhzZWxmLl9fZGljdF9fKQogCisgICAgIyBFbnZpcm9u
bWVudCB2YXJpYWJsZXMgYXJlIGxpbWl0ZWQgaW4gc2l6ZSBzbyB3ZSBuZWVkIHRvIHBydW5lIHRo
ZSBtb3N0IGVncmVnaW91cyBjb250cmlidXRvcnMKKyAgICAjIHRvIHNpemUsIHRoZSBvcmlnaW4g
cG9saWN5IHN1YmRvbWFpbnMuCisgICAgZGVmIGFzX2RpY3RfZm9yX3dkX2Vudl92YXJpYWJsZShz
ZWxmKToKKyAgICAgICAgcmVzdWx0ID0gc2VsZi5hc19kaWN0KCkKKworICAgICAgICBmb3Iga2V5
IGluIFsKKyAgICAgICAgICAgICgic3ViZG9tYWlucyIsKSwKKyAgICAgICAgICAgICgiZG9tYWlu
cyIsICJhbHQiKSwKKyAgICAgICAgICAgICgiZG9tYWlucyIsICIiKSwKKyAgICAgICAgICAgICgi
YWxsX2RvbWFpbnMiLCAiYWx0IiksCisgICAgICAgICAgICAoImFsbF9kb21haW5zIiwgIiIpLAor
ICAgICAgICAgICAgKCJkb21haW5zX3NldCIsKSwKKyAgICAgICAgICAgICgiYWxsX2RvbWFpbnNf
c2V0IiwpCisgICAgICAgIF06CisgICAgICAgICAgICB0YXJnZXQgPSByZXN1bHQKKyAgICAgICAg
ICAgIGZvciBwYXJ0IGluIGtleVs6LTFdOgorICAgICAgICAgICAgICAgIHRhcmdldCA9IHRhcmdl
dFtwYXJ0XQorICAgICAgICAgICAgdmFsdWUgPSB0YXJnZXRba2V5Wy0xXV0KKyAgICAgICAgICAg
IGlmIGlzaW5zdGFuY2UodmFsdWUsIGRpY3QpOgorICAgICAgICAgICAgICAgIHRhcmdldFtrZXlb
LTFdXSA9IHtrOnYgZm9yIChrLHYpIGluIGl0ZXJpdGVtcyh2YWx1ZSkgaWYgbm90IGsuc3RhcnRz
d2l0aCgib3AiKX0KKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgdGFyZ2V0W2tl
eVstMV1dID0gW3ggZm9yIHggaW4gdmFsdWUgaWYgbm90IHguc3RhcnRzd2l0aCgib3AiKV0KKwor
ICAgICAgICByZXR1cm4gcmVzdWx0CisKIAogZGVmIGpzb25fdHlwZXMob2JqKToKICAgICBpZiBp
c2luc3RhbmNlKG9iaiwgZGljdCk6CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHNlcnZlL3dwdHNlcnZlL2hhbmRsZXJzLnB5
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRz
ZXJ2ZS93cHRzZXJ2ZS9oYW5kbGVycy5weQppbmRleCBjYTUxMTgwMDljZmM5YzQ3NjNmOTllMmE2
Mjk2ZDc4NGE2NTM5MjE2Li5mZWExMjc3YjBkMWNiNWNhYzhjYTQ0NWFiMDU5OTQ3NDEyNjY5YWNj
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHNlcnZlL3dwdHNlcnZlL2hhbmRsZXJzLnB5CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0c2VydmUvd3B0c2VydmUvaGFu
ZGxlcnMucHkKQEAgLTEsNCArMSwzIEBACi1pbXBvcnQgY2dpCiBpbXBvcnQganNvbgogaW1wb3J0
IG9zCiBpbXBvcnQgc3lzCkBAIC0xNCw2ICsxMywxMSBAQCBmcm9tIC5yZXF1ZXN0IGltcG9ydCBB
dXRoZW50aWNhdGlvbgogZnJvbSAucmVzcG9uc2UgaW1wb3J0IE11bHRpcGFydENvbnRlbnQKIGZy
b20gLnV0aWxzIGltcG9ydCBIVFRQRXhjZXB0aW9uCiAKK3RyeToKKyAgICBmcm9tIGh0bWwgaW1w
b3J0IGVzY2FwZQorZXhjZXB0IEltcG9ydEVycm9yOgorICAgIGZyb20gY2dpIGltcG9ydCBlc2Nh
cGUKKwogX19hbGxfXyA9IFsiZmlsZV9oYW5kbGVyIiwgInB5dGhvbl9zY3JpcHRfaGFuZGxlciIs
CiAgICAgICAgICAgICJGdW5jdGlvbkhhbmRsZXIiLCAiaGFuZGxlciIsICJqc29uX2hhbmRsZXIi
LAogICAgICAgICAgICAiYXNfaXNfaGFuZGxlciIsICJFcnJvckhhbmRsZXIiLCAiQmFzaWNBdXRo
SGFuZGxlciJdCkBAIC03Niw3ICs4MCw3IEBAIGNsYXNzIERpcmVjdG9yeUhhbmRsZXIob2JqZWN0
KToKIDx1bD4KICUoaXRlbXMpcwogPC91bD4KLSIiIiAlIHsicGF0aCI6IGNnaS5lc2NhcGUodXJs
X3BhdGgpLAorIiIiICUgeyJwYXRoIjogZXNjYXBlKHVybF9wYXRoKSwKICAgICAgICAiaXRlbXMi
OiAiXG4iLmpvaW4oc2VsZi5saXN0X2l0ZW1zKHVybF9wYXRoLCBwYXRoKSl9ICAjIG5vcWE6IEUx
MjIKIAogICAgIGRlZiBsaXN0X2l0ZW1zKHNlbGYsIGJhc2VfcGF0aCwgcGF0aCk6CkBAIC05Miwx
NSArOTYsMjkgQEAgY2xhc3MgRGlyZWN0b3J5SGFuZGxlcihvYmplY3QpOgogICAgICAgICAgICAg
bGluayA9IHVybGpvaW4oYmFzZV9wYXRoLCAiLi4iKQogICAgICAgICAgICAgeWllbGQgKCIiIjxs
aSBjbGFzcz0iZGlyIj48YSBocmVmPSIlKGxpbmspcyI+JShuYW1lKXM8L2E+PC9saT4iIiIgJQog
ICAgICAgICAgICAgICAgICAgIHsibGluayI6IGxpbmssICJuYW1lIjogIi4uIn0pCisgICAgICAg
IGl0ZW1zID0gW10KKyAgICAgICAgcHJldl9pdGVtID0gTm9uZQogICAgICAgICBmb3IgaXRlbSBp
biBzb3J0ZWQob3MubGlzdGRpcihwYXRoKSk6Ci0gICAgICAgICAgICBsaW5rID0gY2dpLmVzY2Fw
ZShxdW90ZShpdGVtKSkKKyAgICAgICAgICAgIGlmIHByZXZfaXRlbSBhbmQgcHJldl9pdGVtICsg
Ii5oZWFkZXJzIiA9PSBpdGVtOgorICAgICAgICAgICAgICAgIGl0ZW1zWy0xXVsxXSA9IGl0ZW0K
KyAgICAgICAgICAgICAgICBwcmV2X2l0ZW0gPSBOb25lCisgICAgICAgICAgICAgICAgY29udGlu
dWUKKyAgICAgICAgICAgIGl0ZW1zLmFwcGVuZChbaXRlbSwgTm9uZV0pCisgICAgICAgICAgICBw
cmV2X2l0ZW0gPSBpdGVtCisgICAgICAgIGZvciBpdGVtLCBkb3RfaGVhZGVycyBpbiBpdGVtczoK
KyAgICAgICAgICAgIGxpbmsgPSBlc2NhcGUocXVvdGUoaXRlbSkpCisgICAgICAgICAgICBkb3Rf
aGVhZGVyc19tYXJrdXAgPSAiIgorICAgICAgICAgICAgaWYgZG90X2hlYWRlcnMgaXMgbm90IE5v
bmU6CisgICAgICAgICAgICAgICAgZG90X2hlYWRlcnNfbWFya3VwID0gKCIiIiAoPGEgaHJlZj0i
JShsaW5rKXMiPi5oZWFkZXJzPC9hPikiIiIgJQorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB7ImxpbmsiOiBlc2NhcGUocXVvdGUoZG90X2hlYWRlcnMpKX0pCiAgICAgICAg
ICAgICBpZiBvcy5wYXRoLmlzZGlyKG9zLnBhdGguam9pbihwYXRoLCBpdGVtKSk6CiAgICAgICAg
ICAgICAgICAgbGluayArPSAiLyIKICAgICAgICAgICAgICAgICBjbGFzc18gPSAiZGlyIgogICAg
ICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBjbGFzc18gPSAiZmlsZSIKLSAgICAgICAg
ICAgIHlpZWxkICgiIiI8bGkgY2xhc3M9IiUoY2xhc3MpcyI+PGEgaHJlZj0iJShsaW5rKXMiPiUo
bmFtZSlzPC9hPjwvbGk+IiIiICUKLSAgICAgICAgICAgICAgICAgICB7ImxpbmsiOiBsaW5rLCAi
bmFtZSI6IGNnaS5lc2NhcGUoaXRlbSksICJjbGFzcyI6IGNsYXNzX30pCisgICAgICAgICAgICB5
aWVsZCAoIiIiPGxpIGNsYXNzPSIlKGNsYXNzKXMiPjxhIGhyZWY9IiUobGluaylzIj4lKG5hbWUp
czwvYT4lKGhlYWRlcnMpczwvbGk+IiIiICUKKyAgICAgICAgICAgICAgICAgICB7ImxpbmsiOiBs
aW5rLCAibmFtZSI6IGVzY2FwZShpdGVtKSwgImNsYXNzIjogY2xhc3NfLAorICAgICAgICAgICAg
ICAgICAgICAiaGVhZGVycyI6IGRvdF9oZWFkZXJzX21hcmt1cH0pCiAKIAogZGVmIHdyYXBfcGlw
ZWxpbmUocGF0aCwgcmVxdWVzdCwgcmVzcG9uc2UpOgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRzZXJ2ZS93cHRzZXJ2ZS9w
aXBlcy5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvd3B0c2VydmUvd3B0c2VydmUvcGlwZXMucHkKaW5kZXggY2ViMzRjYzNmNGY5OTRlZDA0OTkx
NWM3Nzg0ZjdjNjljNzEyYWJjYS4uYmJmMjVlNmZlMTExMmUxODFkYTVhN2I2YTljNmVlMmI3NTYz
YWJiZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy93cHRzZXJ2ZS93cHRzZXJ2ZS9waXBlcy5weQorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHNlcnZlL3dwdHNlcnZlL3Bp
cGVzLnB5CkBAIC0xLDQgKzEsMyBAQAotZnJvbSBjZ2kgaW1wb3J0IGVzY2FwZQogZnJvbSBjb2xs
ZWN0aW9ucyBpbXBvcnQgZGVxdWUKIGltcG9ydCBiYXNlNjQKIGltcG9ydCBnemlwIGFzIGd6aXBf
bW9kdWxlCkBAIC03LDEwICs2LDE1IEBAIGltcG9ydCBvcwogaW1wb3J0IHJlCiBpbXBvcnQgdGlt
ZQogaW1wb3J0IHV1aWQKLWZyb20gc2l4Lm1vdmVzIGltcG9ydCBTdHJpbmdJTwogCitmcm9tIHNp
eC5tb3ZlcyBpbXBvcnQgU3RyaW5nSU8KIGZyb20gc2l4IGltcG9ydCB0ZXh0X3R5cGUsIGJpbmFy
eV90eXBlCiAKK3RyeToKKyAgICBmcm9tIGh0bWwgaW1wb3J0IGVzY2FwZQorZXhjZXB0IEltcG9y
dEVycm9yOgorICAgIGZyb20gY2dpIGltcG9ydCBlc2NhcGUKKwogZGVmIHJlc29sdmVfY29udGVu
dChyZXNwb25zZSk6CiAgICAgcmV0dXJuIGIiIi5qb2luKGl0ZW0gZm9yIGl0ZW0gaW4gcmVzcG9u
c2UuaXRlcl9jb250ZW50KHJlYWRfZmlsZT1UcnVlKSkKIApAQCAtMzE2LDYgKzMyMCw4IEBAIGNs
YXNzIEZpcnN0V3JhcHBlcihvYmplY3QpOgogCiAgICAgZGVmIF9fZ2V0aXRlbV9fKHNlbGYsIGtl
eSk6CiAgICAgICAgIHRyeToKKyAgICAgICAgICAgIGlmIGlzaW5zdGFuY2Uoa2V5LCB0ZXh0X3R5
cGUpOgorICAgICAgICAgICAgICAgIGtleSA9IGtleS5lbmNvZGUoJ2lzby04ODU5LTEnKQogICAg
ICAgICAgICAgcmV0dXJuIHNlbGYucGFyYW1zLmZpcnN0KGtleSkKICAgICAgICAgZXhjZXB0IEtl
eUVycm9yOgogICAgICAgICAgICAgcmV0dXJuICIiCkBAIC0zOTMsOCArMzk5LDggQEAgY2xhc3Mg
U3ViRnVuY3Rpb25zKG9iamVjdCk6CiAgICAgZGVmIHV1aWQocmVxdWVzdCk6CiAgICAgICAgIHJl
dHVybiBzdHIodXVpZC51dWlkNCgpKQogCi0gICAgIyBNYWludGFpbiBhIHdoaXRlbGlzdCBvZiBz
dXBwb3J0ZWQgYWxnb3JpdGhtcywgcmVzdHJpY3RlZCB0byB0aG9zZSB0aGF0Ci0gICAgIyBhcmUg
YXZhaWxhYmxlIG9uIGFsbCBwbGF0Zm9ybXMgWzFdLiBUaGlzIGVuc3VyZXMgdGhhdCB0ZXN0IGF1
dGhvcnMgZG8gbm90CisgICAgIyBNYWludGFpbiBhIGxpc3Qgb2Ygc3VwcG9ydGVkIGFsZ29yaXRo
bXMsIHJlc3RyaWN0ZWQgdG8gdGhvc2UgdGhhdCBhcmUKKyAgICAjIGF2YWlsYWJsZSBvbiBhbGwg
cGxhdGZvcm1zIFsxXS4gVGhpcyBlbnN1cmVzIHRoYXQgdGVzdCBhdXRob3JzIGRvIG5vdAogICAg
ICMgdW5rbm93aW5nbHkgaW50cm9kdWNlIHBsYXRmb3JtLXNwZWNpZmljIHRlc3RzLgogICAgICMK
ICAgICAjIFsxXSBodHRwczovL2RvY3MucHl0aG9uLm9yZy8yL2xpYnJhcnkvaGFzaGxpYi5odG1s
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL3dwdHNlcnZlL3dwdHNlcnZlL3JlcXVlc3QucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHNlcnZlL3dwdHNlcnZlL3JlcXVlc3Qu
cHkKaW5kZXggYTgwYmMwYzgzMDBhY2ZjZjc2NjUxMmI4OWVjZmVlMzM4YmFjMjI5NS4uN2M0ZDAy
ZDZkZTZmMWEwYjBlY2NjMDVhYjAzMDRjZmZiYzEwZjk1OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRzZXJ2ZS93cHRzZXJ2
ZS9yZXF1ZXN0LnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0c2VydmUvd3B0c2VydmUvcmVxdWVzdC5weQpAQCAtMSwxMyArMSwxMyBA
QAogaW1wb3J0IGJhc2U2NAogaW1wb3J0IGNnaQotZnJvbSBzaXgubW92ZXMuaHR0cF9jb29raWVz
IGltcG9ydCBCYXNlQ29va2llCi1mcm9tIHNpeCBpbXBvcnQgQnl0ZXNJTywgYmluYXJ5X3R5cGUs
IHRleHRfdHlwZSwgaXRlcml0ZW1zLCBQWTMKIGltcG9ydCB0ZW1wZmlsZQogCitmcm9tIHNpeCBp
bXBvcnQgQnl0ZXNJTywgYmluYXJ5X3R5cGUsIGl0ZXJpdGVtcywgUFkzCitmcm9tIHNpeC5tb3Zl
cy5odHRwX2Nvb2tpZXMgaW1wb3J0IEJhc2VDb29raWUKIGZyb20gc2l4Lm1vdmVzLnVybGxpYi5w
YXJzZSBpbXBvcnQgcGFyc2VfcXNsLCB1cmxzcGxpdAogCiBmcm9tIC4gaW1wb3J0IHN0YXNoCi1m
cm9tIC51dGlscyBpbXBvcnQgSFRUUEV4Y2VwdGlvbgorZnJvbSAudXRpbHMgaW1wb3J0IEhUVFBF
eGNlcHRpb24sIGlzb21vcnBoaWNfZW5jb2RlLCBpc29tb3JwaGljX2RlY29kZQogCiBtaXNzaW5n
ID0gb2JqZWN0KCkKIApAQCAtMjE5LDIyICsyMTksMjMgQEAgY2xhc3MgUmVxdWVzdChvYmplY3Qp
OgogICAgIE11bHRpRGljdCByZXByZXNlbnRpbmcgdGhlIHBhcmFtZXRlcnMgc3VwcGxpZWQgd2l0
aCB0aGUgcmVxdWVzdC4KICAgICBOb3RlIHRoYXQgdGhlc2UgbWF5IGJlIHByZXNlbnQgb24gbm9u
LUdFVCByZXF1ZXN0czsgdGhlIG5hbWUgaXMKICAgICBjaG9zZW4gdG8gYmUgZmFtaWxpYXIgdG8g
dXNlcnMgb2Ygb3RoZXIgc3lzdGVtcyBzdWNoIGFzIFBIUC4KKyAgICBCb3RoIGtleXMgYW5kIHZh
bHVlcyBhcmUgYmluYXJ5IHN0cmluZ3MuCiAKICAgICAuLiBhdHRyaWJ1dGU6OiBQT1NUCiAKICAg
ICBNdWx0aURpY3QgcmVwcmVzZW50aW5nIHRoZSByZXF1ZXN0IGJvZHkgcGFyYW1ldGVycy4gTW9z
dCBwYXJhbWV0ZXJzCiAgICAgYXJlIHByZXNlbnQgYXMgc3RyaW5nIHZhbHVlcywgYnV0IGZpbGUg
dXBsb2FkcyBoYXZlIGZpbGUtbGlrZQotICAgIHZhbHVlcy4KKyAgICB2YWx1ZXMuIEFsbCBzdHJp
bmcgdmFsdWVzIChpbmNsdWRpbmcga2V5cykgaGF2ZSBiaW5hcnkgdHlwZS4KIAogICAgIC4uIGF0
dHJpYnV0ZTo6IGNvb2tpZXMKIAotICAgIENvb2tpZXMgb2JqZWN0IHJlcHJlc2VudGluZyBjb29r
aWVzIHNlbnQgd2l0aCB0aGUgcmVxdWVzdCB3aXRoIGEKKyAgICBBIENvb2tpZXMgb2JqZWN0IHJl
cHJlc2VudGluZyBjb29raWVzIHNlbnQgd2l0aCB0aGUgcmVxdWVzdCB3aXRoIGEKICAgICBkaWN0
aW9uYXJ5LWxpa2UgaW50ZXJmYWNlLgogCiAgICAgLi4gYXR0cmlidXRlOjogYXV0aAogCi0gICAg
T2JqZWN0IHdpdGggdXNlcm5hbWUgYW5kIHBhc3N3b3JkIHByb3BlcnRpZXMgcmVwcmVzZW50aW5n
IGFueQotICAgIGNyZWRlbnRpYWxzIHN1cHBsaWVkIHVzaW5nIEhUVFAgYXV0aGVudGljYXRpb24u
CisgICAgQW4gaW5zdGFuY2Ugb2YgQXV0aGVudGljYXRpb24gd2l0aCB1c2VybmFtZSBhbmQgcGFz
c3dvcmQgcHJvcGVydGllcworICAgIHJlcHJlc2VudGluZyBhbnkgY3JlZGVudGlhbHMgc3VwcGxp
ZWQgdXNpbmcgSFRUUCBhdXRoZW50aWNhdGlvbi4KIAogICAgIC4uIGF0dHJpYnV0ZTo6IHNlcnZl
cgogCkBAIC0yNDgsOCArMjQ5LDEyIEBAIGNsYXNzIFJlcXVlc3Qob2JqZWN0KToKICAgICAgICAg
c2VsZi5wcm90b2NvbF92ZXJzaW9uID0gcmVxdWVzdF9oYW5kbGVyLnByb3RvY29sX3ZlcnNpb24K
ICAgICAgICAgc2VsZi5tZXRob2QgPSByZXF1ZXN0X2hhbmRsZXIuY29tbWFuZAogCisgICAgICAg
ICMgS2V5cyBhbmQgdmFsdWVzIGluIHJhdyBoZWFkZXJzIGFyZSBuYXRpdmUgc3RyaW5ncy4KKyAg
ICAgICAgc2VsZi5faGVhZGVycyA9IE5vbmUKKyAgICAgICAgc2VsZi5yYXdfaGVhZGVycyA9IHJl
cXVlc3RfaGFuZGxlci5oZWFkZXJzCisKICAgICAgICAgc2NoZW1lID0gcmVxdWVzdF9oYW5kbGVy
LnNlcnZlci5zY2hlbWUKLSAgICAgICAgaG9zdCA9IHJlcXVlc3RfaGFuZGxlci5oZWFkZXJzLmdl
dCgiSG9zdCIpCisgICAgICAgIGhvc3QgPSBzZWxmLnJhd19oZWFkZXJzLmdldCgiSG9zdCIpCiAg
ICAgICAgIHBvcnQgPSByZXF1ZXN0X2hhbmRsZXIuc2VydmVyLnNlcnZlcl9hZGRyZXNzWzFdCiAK
ICAgICAgICAgaWYgaG9zdCBpcyBOb25lOgpAQCAtMjYyLDIyICsyNjcsMTcgQEAgY2xhc3MgUmVx
dWVzdChvYmplY3QpOgogICAgICAgICBzZWxmLnVybF9iYXNlID0gIi8iCiAKICAgICAgICAgaWYg
c2VsZi5yZXF1ZXN0X3BhdGguc3RhcnRzd2l0aChzY2hlbWUgKyAiOi8vIik6Ci0gICAgICAgICAg
ICBzZWxmLnVybCA9IHJlcXVlc3RfaGFuZGxlci5wYXRoCisgICAgICAgICAgICBzZWxmLnVybCA9
IHNlbGYucmVxdWVzdF9wYXRoCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLnVybCA9
ICIlczovLyVzOiVzJXMiICUgKHNjaGVtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaG9zdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9y
dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5yZXF1ZXN0X3Bh
dGgpCisgICAgICAgICAgICAjIFRPRE8oIzIzMzYyKTogU3RvcCB1c2luZyBuYXRpdmUgc3RyaW5n
cyBmb3IgVVJMcy4KKyAgICAgICAgICAgIHNlbGYudXJsID0gIiVzOi8vJXM6JXMlcyIgJSAoCisg
ICAgICAgICAgICAgICAgc2NoZW1lLCBob3N0LCBwb3J0LCBzZWxmLnJlcXVlc3RfcGF0aCkKICAg
ICAgICAgc2VsZi51cmxfcGFydHMgPSB1cmxzcGxpdChzZWxmLnVybCkKIAotICAgICAgICBzZWxm
LnJhd19oZWFkZXJzID0gcmVxdWVzdF9oYW5kbGVyLmhlYWRlcnMKLQogICAgICAgICBzZWxmLnJl
cXVlc3RfbGluZSA9IHJlcXVlc3RfaGFuZGxlci5yYXdfcmVxdWVzdGxpbmUKIAotICAgICAgICBz
ZWxmLl9oZWFkZXJzID0gTm9uZQotCiAgICAgICAgIHNlbGYucmF3X2lucHV0ID0gSW5wdXRGaWxl
KHJlcXVlc3RfaGFuZGxlci5yZmlsZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW50KHNlbGYuaGVhZGVycy5nZXQoIkNvbnRlbnQtTGVuZ3RoIiwgMCkpKQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQoc2VsZi5yYXdfaGVhZGVycy5nZXQoIkNvbnRl
bnQtTGVuZ3RoIiwgMCkpKQogCiAgICAgICAgIHNlbGYuX2JvZHkgPSBOb25lCiAKQEAgLTI5Nywx
OSArMjk3LDI0IEBAIGNsYXNzIFJlcXVlc3Qob2JqZWN0KToKICAgICAgICAgICAgIHBhcmFtcyA9
IHBhcnNlX3FzbChzZWxmLnVybF9wYXJ0cy5xdWVyeSwga2VlcF9ibGFua192YWx1ZXM9VHJ1ZSkK
ICAgICAgICAgICAgIHNlbGYuX0dFVCA9IE11bHRpRGljdCgpCiAgICAgICAgICAgICBmb3Iga2V5
LCB2YWx1ZSBpbiBwYXJhbXM6Ci0gICAgICAgICAgICAgICAgc2VsZi5fR0VULmFkZChrZXksIHZh
bHVlKQorICAgICAgICAgICAgICAgIHNlbGYuX0dFVC5hZGQoaXNvbW9ycGhpY19lbmNvZGUoa2V5
KSwgaXNvbW9ycGhpY19lbmNvZGUodmFsdWUpKQogICAgICAgICByZXR1cm4gc2VsZi5fR0VUCiAK
ICAgICBAcHJvcGVydHkKICAgICBkZWYgUE9TVChzZWxmKToKICAgICAgICAgaWYgc2VsZi5fUE9T
VCBpcyBOb25lOgotICAgICAgICAgICAgI1dvcmsgb3V0IHRoZSBwb3N0IHBhcmFtZXRlcnMKKyAg
ICAgICAgICAgICMgV29yayBvdXQgdGhlIHBvc3QgcGFyYW1ldGVycwogICAgICAgICAgICAgcG9z
ID0gc2VsZi5yYXdfaW5wdXQudGVsbCgpCiAgICAgICAgICAgICBzZWxmLnJhd19pbnB1dC5zZWVr
KDApCi0gICAgICAgICAgICBmcyA9IGNnaS5GaWVsZFN0b3JhZ2UoZnA9c2VsZi5yYXdfaW5wdXQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52aXJvbj17IlJFUVVFU1RfTUVU
SE9EIjogc2VsZi5tZXRob2R9LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhl
YWRlcnM9c2VsZi5yYXdfaGVhZGVycywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBrZWVwX2JsYW5rX3ZhbHVlcz1UcnVlKQorICAgICAgICAgICAga3dhcmdzID0geworICAgICAg
ICAgICAgICAgICJmcCI6IHNlbGYucmF3X2lucHV0LAorICAgICAgICAgICAgICAgICJlbnZpcm9u
IjogeyJSRVFVRVNUX01FVEhPRCI6IHNlbGYubWV0aG9kfSwKKyAgICAgICAgICAgICAgICAiaGVh
ZGVycyI6IHNlbGYucmF3X2hlYWRlcnMsCisgICAgICAgICAgICAgICAgImtlZXBfYmxhbmtfdmFs
dWVzIjogVHJ1ZSwKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIFBZMzoKKyAgICAgICAg
ICAgICAgICBrd2FyZ3NbImVuY29kaW5nIl0gPSAiaXNvLTg4NTktMSIKKyAgICAgICAgICAgIGZz
ID0gY2dpLkZpZWxkU3RvcmFnZSgqKmt3YXJncykKICAgICAgICAgICAgIHNlbGYuX1BPU1QgPSBN
dWx0aURpY3QuZnJvbV9maWVsZF9zdG9yYWdlKGZzKQogICAgICAgICAgICAgc2VsZi5yYXdfaW5w
dXQuc2Vlayhwb3MpCiAgICAgICAgIHJldHVybiBzZWxmLl9QT1NUCkBAIC0zMTcsMTQgKzMyMiwx
MiBAQCBjbGFzcyBSZXF1ZXN0KG9iamVjdCk6CiAgICAgQHByb3BlcnR5CiAgICAgZGVmIGNvb2tp
ZXMoc2VsZik6CiAgICAgICAgIGlmIHNlbGYuX2Nvb2tpZXMgaXMgTm9uZToKLSAgICAgICAgICAg
IHBhcnNlciA9IEJhc2VDb29raWUoKQorICAgICAgICAgICAgcGFyc2VyID0gQmluYXJ5Q29va2ll
UGFyc2VyKCkKICAgICAgICAgICAgIGNvb2tpZV9oZWFkZXJzID0gc2VsZi5oZWFkZXJzLmdldCgi
Y29va2llIiwgYiIiKQotICAgICAgICAgICAgaWYgUFkzOgotICAgICAgICAgICAgICAgIGNvb2tp
ZV9oZWFkZXJzID0gY29va2llX2hlYWRlcnMuZGVjb2RlKCJpc28tODg1OS0xIikKICAgICAgICAg
ICAgIHBhcnNlci5sb2FkKGNvb2tpZV9oZWFkZXJzKQogICAgICAgICAgICAgY29va2llcyA9IENv
b2tpZXMoKQogICAgICAgICAgICAgZm9yIGtleSwgdmFsdWUgaW4gaXRlcml0ZW1zKHBhcnNlcik6
Ci0gICAgICAgICAgICAgICAgY29va2llc1trZXldID0gQ29va2llVmFsdWUodmFsdWUpCisgICAg
ICAgICAgICAgICAgY29va2llc1tpc29tb3JwaGljX2VuY29kZShrZXkpXSA9IENvb2tpZVZhbHVl
KHZhbHVlKQogICAgICAgICAgICAgc2VsZi5fY29va2llcyA9IGNvb2tpZXMKICAgICAgICAgcmV0
dXJuIHNlbGYuX2Nvb2tpZXMKIApAQCAtMzU3LDI0ICszNjAsNiBAQCBjbGFzcyBIMlJlcXVlc3Qo
UmVxdWVzdCk6CiAgICAgICAgIHN1cGVyKEgyUmVxdWVzdCwgc2VsZikuX19pbml0X18ocmVxdWVz
dF9oYW5kbGVyKQogCiAKLWRlZiBfbWF5YmVfZW5jb2RlKHMpOgotICAgICIiIkVuY29kZXMgYSB0
ZXh0LXR5cGUgc3RyaW5nIGludG8gYmluYXJ5IGRhdGEgdXNpbmcgaXNvLTg4NTktMS4KLQotICAg
IFJldHVybnMgYHN0cmAgaW4gUHl0aG9uIDIgYW5kIGBieXRlc2AgaW4gUHl0aG9uIDMuIFRoZSBm
dW5jdGlvbiBpcyBhIG5vLW9wCi0gICAgaWYgdGhlIGFyZ3VtZW50IGFscmVhZHkgaGFzIGEgYmlu
YXJ5IHR5cGUuCi0gICAgIiIiCi0gICAgaWYgaXNpbnN0YW5jZShzLCBiaW5hcnlfdHlwZSk6Ci0g
ICAgICAgIHJldHVybiBzCi0KLSAgICAjIFB5dGhvbiAzIGFzc3VtZXMgaXNvLTg4NTktMSB3aGVu
IHBhcnNpbmcgaGVhZGVycywgd2hpY2ggd2lsbCBnYXJibGUgdGV4dAotICAgICMgd2l0aCBub24g
QVNDSUkgY2hhcmFjdGVycy4gV2UgdHJ5IHRvIGVuY29kZSB0aGUgdGV4dCBiYWNrIHRvIGJpbmFy
eS4KLSAgICAjIGh0dHBzOi8vZ2l0aHViLmNvbS9weXRob24vY3B5dGhvbi9ibG9iLzI3M2ZjMjIw
YjI1OTMzZTQ0M2M4MmFmNjg4OGViMTg3MWQwMzJmYjgvTGliL2h0dHAvY2xpZW50LnB5I0wyMTMK
LSAgICBpZiBpc2luc3RhbmNlKHMsIHRleHRfdHlwZSk6Ci0gICAgICAgIHJldHVybiBzLmVuY29k
ZSgiaXNvLTg4NTktMSIpCi0KLSAgICByYWlzZSBUeXBlRXJyb3IoIlVuZXhwZWN0ZWQgdmFsdWUg
aW4gUmVxdWVzdEhlYWRlcnM6ICVyIiAlIHMpCi0KLQogY2xhc3MgUmVxdWVzdEhlYWRlcnMoZGlj
dCk6CiAgICAgIiIiUmVhZC1vbmx5IGRpY3Rpb25hcnktbGlrZSBBUEkgZm9yIGFjY2Vzc2luZyBy
ZXF1ZXN0IGhlYWRlcnMuCiAKQEAgLTM4NCw3ICszNjksNyBAQCBjbGFzcyBSZXF1ZXN0SGVhZGVy
cyhkaWN0KToKICAgICAiIiIKICAgICBkZWYgX19pbml0X18oc2VsZiwgaXRlbXMpOgogICAgICAg
ICBmb3IgaGVhZGVyIGluIGl0ZW1zLmtleXMoKToKLSAgICAgICAgICAgIGtleSA9IF9tYXliZV9l
bmNvZGUoaGVhZGVyKS5sb3dlcigpCisgICAgICAgICAgICBrZXkgPSBpc29tb3JwaGljX2VuY29k
ZShoZWFkZXIpLmxvd2VyKCkKICAgICAgICAgICAgICMgZ2V0IGFsbCBoZWFkZXJzIHdpdGggdGhl
IHNhbWUgbmFtZQogICAgICAgICAgICAgdmFsdWVzID0gaXRlbXMuZ2V0YWxsbWF0Y2hpbmdoZWFk
ZXJzKGhlYWRlcikKICAgICAgICAgICAgIGlmIGxlbih2YWx1ZXMpID4gMToKQEAgLTM5NCwyMiAr
Mzc5LDIxIEBAIGNsYXNzIFJlcXVlc3RIZWFkZXJzKGRpY3QpOgogICAgICAgICAgICAgICAgIGZv
ciB2YWx1ZSBpbiB2YWx1ZXM6CiAgICAgICAgICAgICAgICAgICAgICMgZ2V0YWxsbWF0Y2hpbmdo
ZWFkZXJzIHJldHVybnMgcmF3IGhlYWRlciBsaW5lcywgc28KICAgICAgICAgICAgICAgICAgICAg
IyBzcGxpdCB0byBnZXQgbmFtZSwgdmFsdWUKLSAgICAgICAgICAgICAgICAgICAgbXVsdGlwbGVz
LmFwcGVuZChfbWF5YmVfZW5jb2RlKHZhbHVlKS5zcGxpdChiJzonLCAxKVsxXS5zdHJpcCgpKQor
ICAgICAgICAgICAgICAgICAgICBtdWx0aXBsZXMuYXBwZW5kKGlzb21vcnBoaWNfZW5jb2RlKHZh
bHVlKS5zcGxpdChiJzonLCAxKVsxXS5zdHJpcCgpKQogICAgICAgICAgICAgICAgIGhlYWRlcnMg
PSBtdWx0aXBsZXMKICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgaGVhZGVycyA9
IFtfbWF5YmVfZW5jb2RlKGl0ZW1zW2hlYWRlcl0pXQorICAgICAgICAgICAgICAgIGhlYWRlcnMg
PSBbaXNvbW9ycGhpY19lbmNvZGUoaXRlbXNbaGVhZGVyXSldCiAgICAgICAgICAgICBkaWN0Ll9f
c2V0aXRlbV9fKHNlbGYsIGtleSwgaGVhZGVycykKIAotCiAgICAgZGVmIF9fZ2V0aXRlbV9fKHNl
bGYsIGtleSk6CiAgICAgICAgICIiIkdldCBhbGwgaGVhZGVycyBvZiBhIGNlcnRhaW4gKGNhc2Ut
aW5zZW5zaXRpdmUpIG5hbWUuIElmIHRoZXJlIGlzCiAgICAgICAgIG1vcmUgdGhhbiBvbmUsIHRo
ZSB2YWx1ZXMgYXJlIHJldHVybmVkIGNvbW1hIHNlcGFyYXRlZCIiIgotICAgICAgICBrZXkgPSBf
bWF5YmVfZW5jb2RlKGtleSkKKyAgICAgICAga2V5ID0gaXNvbW9ycGhpY19lbmNvZGUoa2V5KQog
ICAgICAgICB2YWx1ZXMgPSBkaWN0Ll9fZ2V0aXRlbV9fKHNlbGYsIGtleS5sb3dlcigpKQogICAg
ICAgICBpZiBsZW4odmFsdWVzKSA9PSAxOgogICAgICAgICAgICAgcmV0dXJuIHZhbHVlc1swXQog
ICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmV0dXJuICIsICIuam9pbih2YWx1ZXMpCisgICAg
ICAgICAgICByZXR1cm4gYiIsICIuam9pbih2YWx1ZXMpCiAKICAgICBkZWYgX19zZXRpdGVtX18o
c2VsZiwgbmFtZSwgdmFsdWUpOgogICAgICAgICByYWlzZSBFeGNlcHRpb24KQEAgLTQzMCw3ICs0
MTQsNyBAQCBjbGFzcyBSZXF1ZXN0SGVhZGVycyhkaWN0KToKICAgICBkZWYgZ2V0X2xpc3Qoc2Vs
Ziwga2V5LCBkZWZhdWx0PW1pc3NpbmcpOgogICAgICAgICAiIiJHZXQgYWxsIHRoZSBoZWFkZXIg
dmFsdWVzIGZvciBhIHBhcnRpY3VsYXIgZmllbGQgbmFtZSBhcwogICAgICAgICBhIGxpc3QiIiIK
LSAgICAgICAga2V5ID0gX21heWJlX2VuY29kZShrZXkpCisgICAgICAgIGtleSA9IGlzb21vcnBo
aWNfZW5jb2RlKGtleSkKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgcmV0dXJuIGRpY3QuX19n
ZXRpdGVtX18oc2VsZiwga2V5Lmxvd2VyKCkpCiAgICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKQEAg
LTQ0MCw3ICs0MjQsNyBAQCBjbGFzcyBSZXF1ZXN0SGVhZGVycyhkaWN0KToKICAgICAgICAgICAg
ICAgICByYWlzZQogCiAgICAgZGVmIF9fY29udGFpbnNfXyhzZWxmLCBrZXkpOgotICAgICAgICBr
ZXkgPSBfbWF5YmVfZW5jb2RlKGtleSkKKyAgICAgICAga2V5ID0gaXNvbW9ycGhpY19lbmNvZGUo
a2V5KQogICAgICAgICByZXR1cm4gZGljdC5fX2NvbnRhaW5zX18oc2VsZiwga2V5Lmxvd2VyKCkp
CiAKICAgICBkZWYgaXRlcml0ZW1zKHNlbGYpOgpAQCAtNDUxLDYgKzQzNSw3IEBAIGNsYXNzIFJl
cXVlc3RIZWFkZXJzKGRpY3QpOgogICAgICAgICBmb3IgaXRlbSBpbiBzZWxmOgogICAgICAgICAg
ICAgeWllbGQgc2VsZltpdGVtXQogCisKIGNsYXNzIENvb2tpZVZhbHVlKG9iamVjdCk6CiAgICAg
IiIiUmVwcmVzZW50YXRpb24gb2YgY29va2llcy4KIApAQCAtNTI0LDkgKzUwOSw4IEBAIGNsYXNz
IENvb2tpZVZhbHVlKG9iamVjdCk6CiAKIAogY2xhc3MgTXVsdGlEaWN0KGRpY3QpOgotICAgICIi
IkRpY3Rpb25hcnkgdHlwZSB0aGF0IGhvbGRzIG11bHRpcGxlIHZhbHVlcyBmb3IgZWFjaAotICAg
IGtleSIiIgotICAgICNUT0RPOiB0aGlzIHNob3VsZCBwZXJoYXBzIGFsc28gb3JkZXIgdGhlIGtl
eXMKKyAgICAiIiJEaWN0aW9uYXJ5IHR5cGUgdGhhdCBob2xkcyBtdWx0aXBsZSB2YWx1ZXMgZm9y
IGVhY2gga2V5IiIiCisgICAgIyBUT0RPOiB0aGlzIHNob3VsZCBwZXJoYXBzIGFsc28gb3JkZXIg
dGhlIGtleXMKICAgICBkZWYgX19pbml0X18oc2VsZik6CiAgICAgICAgIHBhc3MKIApAQCAtNTQx
LDcgKzUyNSw2IEBAIGNsYXNzIE11bHRpRGljdChkaWN0KToKIAogICAgIGRlZiBfX2dldGl0ZW1f
XyhzZWxmLCBrZXkpOgogICAgICAgICAiIiJHZXQgdGhlIGZpcnN0IHZhbHVlIHdpdGggYSBnaXZl
biBrZXkiIiIKLSAgICAgICAgI1RPRE86IHNob3VsZCB0aGlzIGluc3RlYWQgYmUgdGhlIGxhc3Qg
dmFsdWU/CiAgICAgICAgIHJldHVybiBzZWxmLmZpcnN0KGtleSkKIAogICAgIGRlZiBmaXJzdChz
ZWxmLCBrZXksIGRlZmF1bHQ9bWlzc2luZyk6CkBAIC01ODQsNiArNTY3LDEwIEBAIGNsYXNzIE11
bHRpRGljdChkaWN0KToKIAogICAgIEBjbGFzc21ldGhvZAogICAgIGRlZiBmcm9tX2ZpZWxkX3N0
b3JhZ2UoY2xzLCBmcyk6CisgICAgICAgICIiIkNvbnN0cnVjdCBhIE11bHRpRGljdCBmcm9tIGEg
Y2dpLkZpZWxkU3RvcmFnZQorCisgICAgICAgIE5vdGUgdGhhdCBhbGwga2V5cyBhbmQgdmFsdWVz
IGFyZSBiaW5hcnkgc3RyaW5ncy4KKyAgICAgICAgIiIiCiAgICAgICAgIHNlbGYgPSBjbHMoKQog
ICAgICAgICBpZiBmcy5saXN0IGlzIE5vbmU6CiAgICAgICAgICAgICByZXR1cm4gc2VsZgpAQCAt
NTk0LDEzICs1ODEsNDYgQEAgY2xhc3MgTXVsdGlEaWN0KGRpY3QpOgogCiAgICAgICAgICAgICBm
b3IgdmFsdWUgaW4gdmFsdWVzOgogICAgICAgICAgICAgICAgIGlmIG5vdCB2YWx1ZS5maWxlbmFt
ZToKLSAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZS52YWx1ZQotICAgICAgICAgICAg
ICAgIHNlbGYuYWRkKGtleSwgdmFsdWUpCisgICAgICAgICAgICAgICAgICAgIHZhbHVlID0gaXNv
bW9ycGhpY19lbmNvZGUodmFsdWUudmFsdWUpCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAg
ICAgICAgICAgICAgICAgYXNzZXJ0IGlzaW5zdGFuY2UodmFsdWUsIGNnaS5GaWVsZFN0b3JhZ2Up
CisgICAgICAgICAgICAgICAgc2VsZi5hZGQoaXNvbW9ycGhpY19lbmNvZGUoa2V5KSwgdmFsdWUp
CiAgICAgICAgIHJldHVybiBzZWxmCiAKIAorY2xhc3MgQmluYXJ5Q29va2llUGFyc2VyKEJhc2VD
b29raWUpOgorICAgICIiIkEgc3ViY2xhc3Mgb2YgQmFzZUNvb2tpZSB0aGF0IHJldHVybnMgdmFs
dWVzIGluIGJpbmFyeSBzdHJpbmdzCisKKyAgICBUaGlzIGlzIG5vdCBpbnRlbmRlZCB0byBzdG9y
ZSB0aGUgY29va2llczsgdXNlIENvb2tpZXMgaW5zdGVhZC4KKyAgICAiIiIKKyAgICBkZWYgdmFs
dWVfZGVjb2RlKHNlbGYsIHZhbCk6CisgICAgICAgICIiIkRlY29kZSB2YWx1ZSBmcm9tIG5ldHdv
cmsgdG8gKHJlYWxfdmFsdWUsIGNvZGVkX3ZhbHVlKS4KKworICAgICAgICBPdmVycmlkZSBCYXNl
Q29va2llLnZhbHVlX2RlY29kZS4KKyAgICAgICAgIiIiCisgICAgICAgIHJldHVybiBpc29tb3Jw
aGljX2VuY29kZSh2YWwpLCB2YWwKKworICAgIGRlZiB2YWx1ZV9lbmNvZGUoc2VsZiwgdmFsKToK
KyAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcignQmluYXJ5Q29va2llUGFyc2VyIGlz
IG5vdCBmb3Igc2V0dGluZyBjb29raWVzJykKKworICAgIGRlZiBsb2FkKHNlbGYsIHJhd2RhdGEp
OgorICAgICAgICAiIiJMb2FkIGNvb2tpZXMgZnJvbSBhIGJpbmFyeSBzdHJpbmcuCisKKyAgICAg
ICAgVGhpcyBvdmVycmlkZXMgYW5kIGNhbGxzIEJhc2VDb29raWUubG9hZC4gVW5saWtlIEJhc2VD
b29raWUubG9hZCwgaXQKKyAgICAgICAgZG9lcyBub3QgYWNjZXB0IGRpY3Rpb25hcmllcy4KKyAg
ICAgICAgIiIiCisgICAgICAgIGFzc2VydCBpc2luc3RhbmNlKHJhd2RhdGEsIGJpbmFyeV90eXBl
KQorICAgICAgICBpZiBQWTM6CisgICAgICAgICAgICAjIEJhc2VDb29raWUubG9hZCBleHBlY3Rz
IGEgbmF0aXZlIHN0cmluZywgd2hpY2ggaW4gUHl0aG9uIDMgaXMgdGV4dC4KKyAgICAgICAgICAg
IHJhd2RhdGEgPSBpc29tb3JwaGljX2RlY29kZShyYXdkYXRhKQorICAgICAgICBzdXBlcihCaW5h
cnlDb29raWVQYXJzZXIsIHNlbGYpLmxvYWQocmF3ZGF0YSkKKworCiBjbGFzcyBDb29raWVzKE11
bHRpRGljdCk6Ci0gICAgIiIiTXVsdGlEaWN0IHNwZWNpYWxpc2VkIGZvciBDb29raWUgdmFsdWVz
IiIiCisgICAgIiIiTXVsdGlEaWN0IHNwZWNpYWxpc2VkIGZvciBDb29raWUgdmFsdWVzCisKKyAg
ICBLZXlzIGFuZCB2YWx1ZXMgYXJlIGJpbmFyeSBzdHJpbmdzLgorICAgICIiIgogICAgIGRlZiBf
X2luaXRfXyhzZWxmKToKICAgICAgICAgcGFzcwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHNlcnZlL3dwdHNlcnZlL3Jl
c3BvbnNlLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHRzZXJ2ZS93cHRzZXJ2ZS9yZXNwb25zZS5weQppbmRleCAzYTYwYzJiYWJiMzlkOGQ3
Nzk5OTAyMmE3ZmI0ZDE4NGNiMDE5YWE4Li5iNmYyNzQ0NzQ1MTk4NDZkMjk4YTI5ZGEwYjNkYjM5
NjE5OTliMjRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3dwdHNlcnZlL3dwdHNlcnZlL3Jlc3BvbnNlLnB5CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0c2VydmUvd3B0
c2VydmUvcmVzcG9uc2UucHkKQEAgLTEsMTkgKzEsMjIgQEAKIGZyb20gY29sbGVjdGlvbnMgaW1w
b3J0IE9yZGVyZWREaWN0CiBmcm9tIGRhdGV0aW1lIGltcG9ydCBkYXRldGltZSwgdGltZWRlbHRh
Ci1mcm9tIHNpeC5tb3Zlcy5odHRwX2Nvb2tpZXMgaW1wb3J0IEJhc2VDb29raWUsIE1vcnNlbAor
ZnJvbSBpbyBpbXBvcnQgQnl0ZXNJTwogaW1wb3J0IGpzb24KLWltcG9ydCB1dWlkCiBpbXBvcnQg
c29ja2V0Ci1mcm9tIC5jb25zdGFudHMgaW1wb3J0IHJlc3BvbnNlX2NvZGVzLCBoMl9oZWFkZXJz
Ci1mcm9tIC5sb2dnZXIgaW1wb3J0IGdldF9sb2dnZXIKLWZyb20gaW8gaW1wb3J0IEJ5dGVzSU8K
K2ltcG9ydCB1dWlkCiAKLWZyb20gc2l4IGltcG9ydCBiaW5hcnlfdHlwZSwgdGV4dF90eXBlLCBp
bnRlZ2VyX3R5cGVzLCBpdGVydmFsdWVzLCBQWTMKLWZyb20gaHlwZXJmcmFtZS5mcmFtZSBpbXBv
cnQgSGVhZGVyc0ZyYW1lLCBEYXRhRnJhbWUsIENvbnRpbnVhdGlvbkZyYW1lCiBmcm9tIGhwYWNr
LnN0cnVjdCBpbXBvcnQgSGVhZGVyVHVwbGUKK2Zyb20gaHlwZXJmcmFtZS5mcmFtZSBpbXBvcnQg
SGVhZGVyc0ZyYW1lLCBEYXRhRnJhbWUsIENvbnRpbnVhdGlvbkZyYW1lCitmcm9tIHNpeCBpbXBv
cnQgYmluYXJ5X3R5cGUsIHRleHRfdHlwZSwgaW50ZWdlcl90eXBlcywgaXRlcnZhbHVlcywgUFkz
Citmcm9tIHNpeC5tb3Zlcy5odHRwX2Nvb2tpZXMgaW1wb3J0IEJhc2VDb29raWUsIE1vcnNlbAor
Citmcm9tIC5jb25zdGFudHMgaW1wb3J0IHJlc3BvbnNlX2NvZGVzLCBoMl9oZWFkZXJzCitmcm9t
IC5sb2dnZXIgaW1wb3J0IGdldF9sb2dnZXIKK2Zyb20gLnV0aWxzIGltcG9ydCBpc29tb3JwaGlj
X2RlY29kZSwgaXNvbW9ycGhpY19lbmNvZGUKIAogbWlzc2luZyA9IG9iamVjdCgpCiAKKwogY2xh
c3MgUmVzcG9uc2Uob2JqZWN0KToKICAgICAiIiJPYmplY3QgcmVwcmVzZW50aW5nIHRoZSByZXNw
b25zZSB0byBhIEhUVFAgcmVxdWVzdAogCkBAIC03OSw3ICs4Miw2IEBAIGNsYXNzIFJlc3BvbnNl
KG9iamVjdCk6CiAgICAgICAgIHNlbGYuaGVhZGVycyA9IFJlc3BvbnNlSGVhZGVycygpCiAgICAg
ICAgIHNlbGYuY29udGVudCA9IFtdCiAKLQogICAgIEBwcm9wZXJ0eQogICAgIGRlZiBzdGF0dXMo
c2VsZik6CiAgICAgICAgIHJldHVybiBzZWxmLl9zdGF0dXMKQEAgLTk5LDggKzEwMSw4IEBAIGNs
YXNzIFJlc3BvbnNlKG9iamVjdCk6CiAgICAgICAgICIiIlNldCBhIGNvb2tpZSB0byBiZSBzZW50
IHdpdGggYSBTZXQtQ29va2llIGhlYWRlciBpbiB0aGUKICAgICAgICAgcmVzcG9uc2UKIAotICAg
ICAgICA6cGFyYW0gbmFtZTogU3RyaW5nIG5hbWUgb2YgdGhlIGNvb2tpZQotICAgICAgICA6cGFy
YW0gdmFsdWU6IFN0cmluZyB2YWx1ZSBvZiB0aGUgY29va2llCisgICAgICAgIDpwYXJhbSBuYW1l
OiBuYW1lIG9mIHRoZSBjb29raWUgKGEgYmluYXJ5IHN0cmluZykKKyAgICAgICAgOnBhcmFtIHZh
bHVlOiB2YWx1ZSBvZiB0aGUgY29va2llIChhIGJpbmFyeSBzdHJpbmcsIG9yIE5vbmUpCiAgICAg
ICAgIDpwYXJhbSBtYXhfYWdlOiBkYXRldGltZS50aW1lZGVsdGEgaW50IHJlcHJlc2VudGluZyB0
aGUgdGltZSAoaW4gc2Vjb25kcykKICAgICAgICAgICAgICAgICAgICAgICAgIHVudGlsIHRoZSBj
b29raWUgZXhwaXJlcwogICAgICAgICA6cGFyYW0gcGF0aDogU3RyaW5nIHBhdGggdG8gd2hpY2gg
dGhlIGNvb2tpZSBhcHBsaWVzCkBAIC0xMTMsMTQgKzExNSwyMCBAQCBjbGFzcyBSZXNwb25zZShv
YmplY3QpOgogICAgICAgICAgICAgICAgICAgICAgICAgdGltZSBvciBpbnRlcnZhbCBmcm9tIG5v
dyB3aGVuIHRoZSBjb29raWUgZXhwaXJlcwogCiAgICAgICAgICIiIgorICAgICAgICAjIFRPRE8o
UHl0aG9uIDMpOiBDb252ZXJ0IG90aGVyIHBhcmFtZXRlcnMgKGUuZy4gcGF0aCkgdG8gYnl0ZXMs
IHRvby4KKyAgICAgICAgaWYgdmFsdWUgaXMgTm9uZToKKyAgICAgICAgICAgIHZhbHVlID0gYicn
CisgICAgICAgICAgICBtYXhfYWdlID0gMAorICAgICAgICAgICAgZXhwaXJlcyA9IHRpbWVkZWx0
YShkYXlzPS0xKQorCisgICAgICAgIGlmIFBZMzoKKyAgICAgICAgICAgIG5hbWUgPSBpc29tb3Jw
aGljX2RlY29kZShuYW1lKQorICAgICAgICAgICAgdmFsdWUgPSBpc29tb3JwaGljX2RlY29kZSh2
YWx1ZSkKKwogICAgICAgICBkYXlzID0ge2krMTogbmFtZSBmb3IgaSwgbmFtZSBpbiBlbnVtZXJh
dGUoWyJqYW4iLCAiZmViIiwgIm1hciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImFwciIsICJtYXkiLCAianVuIiwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAianVsIiwgImF1ZyIsICJzZXAi
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJv
Y3QiLCAibm92IiwgImRlYyJdKX0KLSAgICAgICAgaWYgdmFsdWUgaXMgTm9uZToKLSAgICAgICAg
ICAgIHZhbHVlID0gJycKLSAgICAgICAgICAgIG1heF9hZ2UgPSAwCi0gICAgICAgICAgICBleHBp
cmVzID0gdGltZWRlbHRhKGRheXM9LTEpCiAKICAgICAgICAgaWYgaXNpbnN0YW5jZShleHBpcmVz
LCB0aW1lZGVsdGEpOgogICAgICAgICAgICAgZXhwaXJlcyA9IGRhdGV0aW1lLnV0Y25vdygpICsg
ZXhwaXJlcwpAQCAtMTU0LDExICsxNjIsMTQgQEAgY2xhc3MgUmVzcG9uc2Uob2JqZWN0KToKIAog
ICAgIGRlZiB1bnNldF9jb29raWUoc2VsZiwgbmFtZSk6CiAgICAgICAgICIiIlJlbW92ZSBhIGNv
b2tpZSBmcm9tIHRob3NlIHRoYXQgYXJlIGJlaW5nIHNlbnQgd2l0aCB0aGUgcmVzcG9uc2UiIiIK
KyAgICAgICAgaWYgUFkzOgorICAgICAgICAgICAgbmFtZSA9IGlzb21vcnBoaWNfZGVjb2RlKG5h
bWUpCiAgICAgICAgIGNvb2tpZXMgPSBzZWxmLmhlYWRlcnMuZ2V0KCJTZXQtQ29va2llIikKICAg
ICAgICAgcGFyc2VyID0gQmFzZUNvb2tpZSgpCiAgICAgICAgIGZvciBjb29raWUgaW4gY29va2ll
czoKICAgICAgICAgICAgIGlmIFBZMzoKLSAgICAgICAgICAgICAgICBjb29raWUgPSBjb29raWUu
ZGVjb2RlKCJpc28tODg1OS0xIikKKyAgICAgICAgICAgICAgICAjIEJhc2VDb29raWUubG9hZCBl
eHBlY3RzIGEgdGV4dCBzdHJpbmcuCisgICAgICAgICAgICAgICAgY29va2llID0gaXNvbW9ycGhp
Y19kZWNvZGUoY29va2llKQogICAgICAgICAgICAgcGFyc2VyLmxvYWQoY29va2llKQogCiAgICAg
ICAgIGlmIG5hbWUgaW4gcGFyc2VyLmtleXMoKToKQEAgLTIyMyw5ICsyMzQsMTIgQEAgY2xhc3Mg
UmVzcG9uc2Uob2JqZWN0KToKICAgICAgICAgc2VsZi53cml0ZV9zdGF0dXNfaGVhZGVycygpCiAg
ICAgICAgIHNlbGYud3JpdGVfY29udGVudCgpCiAKLSAgICBkZWYgc2V0X2Vycm9yKHNlbGYsIGNv
ZGUsIG1lc3NhZ2U9IiIpOgotICAgICAgICAiIiJTZXQgdGhlIHJlc3BvbnNlIHN0YXR1cyBoZWFk
ZXJzIGFuZCBib2R5IHRvIGluZGljYXRlIGFuCi0gICAgICAgIGVycm9yIiIiCisgICAgZGVmIHNl
dF9lcnJvcihzZWxmLCBjb2RlLCBtZXNzYWdlPXUiIik6CisgICAgICAgICIiIlNldCB0aGUgcmVz
cG9uc2Ugc3RhdHVzIGhlYWRlcnMgYW5kIHJldHVybiBhIEpTT04gZXJyb3Igb2JqZWN0OgorCisg
ICAgICAgIHsiZXJyb3IiOiB7ImNvZGUiOiBjb2RlLCAibWVzc2FnZSI6IG1lc3NhZ2V9fQorICAg
ICAgICBjb2RlIGlzIGFuIGludCAoSFRUUCBzdGF0dXMgY29kZSksIGFuZCBtZXNzYWdlIGlzIGEg
dGV4dCBzdHJpbmcuCisgICAgICAgICIiIgogICAgICAgICBlcnIgPSB7ImNvZGUiOiBjb2RlLAog
ICAgICAgICAgICAgICAgIm1lc3NhZ2UiOiBtZXNzYWdlfQogICAgICAgICBkYXRhID0ganNvbi5k
dW1wcyh7ImVycm9yIjogZXJyfSkKQEAgLTI5NywyNCArMzExLDEwIEBAIGNsYXNzIE11bHRpcGFy
dFBhcnQob2JqZWN0KToKIAogCiBkZWYgX21heWJlX2VuY29kZShzKToKLSAgICAiIiJFbmNvZGVz
IGEgdGV4dC10eXBlIHN0cmluZyBpbnRvIGJpbmFyeSBkYXRhIHVzaW5nIGlzby04ODU5LTEuCi0K
LSAgICBSZXR1cm5zIGBzdHJgIGluIFB5dGhvbiAyIGFuZCBgYnl0ZXNgIGluIFB5dGhvbiAzLiBU
aGUgZnVuY3Rpb24gaXMgYSBuby1vcAotICAgIGlmIHRoZSBhcmd1bWVudCBhbHJlYWR5IGhhcyBh
IGJpbmFyeSB0eXBlLgotICAgICIiIgotICAgIGlmIGlzaW5zdGFuY2UocywgYmluYXJ5X3R5cGUp
OgotICAgICAgICByZXR1cm4gcwotCi0gICAgIyBQeXRob24gMyBhc3N1bWVzIGlzby04ODU5LTEg
d2hlbiBwYXJzaW5nIGhlYWRlcnMsIHdoaWNoIHdpbGwgZ2FyYmxlIHRleHQKLSAgICAjIHdpdGgg
bm9uIEFTQ0lJIGNoYXJhY3RlcnMuIFdlIHRyeSB0byBlbmNvZGUgdGhlIHRleHQgYmFjayB0byBi
aW5hcnkuCi0gICAgIyBodHRwczovL2dpdGh1Yi5jb20vcHl0aG9uL2NweXRob24vYmxvYi8yNzNm
YzIyMGIyNTkzM2U0NDNjODJhZjY4ODhlYjE4NzFkMDMyZmI4L0xpYi9odHRwL2NsaWVudC5weSNM
MjEzCi0gICAgaWYgaXNpbnN0YW5jZShzLCB0ZXh0X3R5cGUpOgotICAgICAgICByZXR1cm4gcy5l
bmNvZGUoImlzby04ODU5LTEiKQotCisgICAgIiIiRW5jb2RlIGEgc3RyaW5nIG9yIGFuIGludCBp
bnRvIGJpbmFyeSBkYXRhIHVzaW5nIGlzb21vcnBoaWNfZW5jb2RlKCkuIiIiCiAgICAgaWYgaXNp
bnN0YW5jZShzLCBpbnRlZ2VyX3R5cGVzKToKICAgICAgICAgcmV0dXJuIGIiJWkiICUgKHMsKQot
Ci0gICAgcmFpc2UgVHlwZUVycm9yKCJVbmV4cGVjdGVkIHZhbHVlIGluIFJlc3BvbnNlSGVhZGVy
czogJXIiICUgcykKKyAgICByZXR1cm4gaXNvbW9ycGhpY19lbmNvZGUocykKIAogCiBjbGFzcyBS
ZXNwb25zZUhlYWRlcnMob2JqZWN0KToKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0c2VydmUvd3B0c2VydmUvc2VydmVyLnB5
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRz
ZXJ2ZS93cHRzZXJ2ZS9zZXJ2ZXIucHkKaW5kZXggYzAzNzczMmE2YmFlZjMxZDU4YjNkZmY5Mjdi
MDc0ZGZjZmFiYjRmZi4uYzI0OThjNGVlMWU4ZjQ1ZGU2MDRmNzEzOTRjM2Q2ZmVlZjgyYWVmMSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy93cHRzZXJ2ZS93cHRzZXJ2ZS9zZXJ2ZXIucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRzZXJ2ZS93cHRzZXJ2ZS9zZXJ2ZXIu
cHkKQEAgLTY0LDEyICs2NCw2IEBAIGhhbmRsZXIgcmV0dXJucywgb3IgZm9yIGRpcmVjdGx5IHdy
aXRpbmcgdG8gdGhlIG91dHB1dCBzdHJlYW0uCiAiIiIKIAogCi1FRElUX0hPU1RTX0hFTFAgPSAo
IlBsZWFzZSBlbnN1cmUgYWxsIHRoZSBuZWNlc3NhcnkgV1BUIHN1YmRvbWFpbnMgIgotICAgICAg
ICAgICAgICAgICAgImFyZSBtYXBwZWQgdG8gYSBsb29wYmFjayBkZXZpY2UgaW4gL2V0Yy9ob3N0
cy4gIgotICAgICAgICAgICAgICAgICAgIlNlZSBodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRm
b3JtLXRlc3RzL3dwdCNydW5uaW5nLXRoZS10ZXN0cyAiCi0gICAgICAgICAgICAgICAgICAiZm9y
IGluc3RydWN0aW9ucy4iKQotCi0KIGNsYXNzIFJlcXVlc3RSZXdyaXRlcihvYmplY3QpOgogICAg
IGRlZiBfX2luaXRfXyhzZWxmLCBydWxlcyk6CiAgICAgICAgICIiIk9iamVjdCBmb3IgcmV3cml0
aW5nIHRoZSByZXF1ZXN0IHBhdGguCkBAIC02NzYsNyArNjcwLDggQEAgY2xhc3MgV2ViVGVzdEh0
dHBkKG9iamVjdCk6CiAKICAgICAgICAgICAgIF9ob3N0LCBzZWxmLnBvcnQgPSBzZWxmLmh0dHBk
LnNvY2tldC5nZXRzb2NrbmFtZSgpCiAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246Ci0gICAgICAg
ICAgICBzZWxmLmxvZ2dlci5jcml0aWNhbCgiRmFpbGVkIHRvIHN0YXJ0IEhUVFAgc2VydmVyLiB7
fSIuZm9ybWF0KEVESVRfSE9TVFNfSEVMUCkpCisgICAgICAgICAgICBzZWxmLmxvZ2dlci5jcml0
aWNhbCgiRmFpbGVkIHRvIHN0YXJ0IEhUVFAgc2VydmVyIG9uIHBvcnQgJXM7ICIKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJpcyBzb21ldGhpbmcgYWxyZWFkeSB1c2luZyB0aGF0
IHBvcnQ/IiAlIHBvcnQpCiAgICAgICAgICAgICByYWlzZQogCiAgICAgZGVmIHN0YXJ0KHNlbGYs
IGJsb2NrPUZhbHNlKToKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0c2VydmUvd3B0c2VydmUvc3NsdXRpbHMvb3BlbnNzbC5w
eSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0
c2VydmUvd3B0c2VydmUvc3NsdXRpbHMvb3BlbnNzbC5weQppbmRleCBhZWExYzczODBiMTc5Y2Vk
MTM2NmI2NjE3MDU3NTc4YjM1ZDllMTRiLi42NGY2ZDVmYjJkYjI3OTU4ZjMzZGQzNmI1N2I3YzE3
NGRmMGJkN2U5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3dwdHNlcnZlL3dwdHNlcnZlL3NzbHV0aWxzL29wZW5zc2wucHkKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRz
ZXJ2ZS93cHRzZXJ2ZS9zc2x1dGlscy9vcGVuc3NsLnB5CkBAIC00MDIsNiArNDAyLDggQEAgY2xh
c3MgT3BlblNTTEVudmlyb25tZW50KG9iamVjdCk6CiAKICAgICBkZWYgX2dlbmVyYXRlX2hvc3Rf
Y2VydChzZWxmLCBob3N0cyk6CiAgICAgICAgIGhvc3QgPSBob3N0c1swXQorICAgICAgICBpZiBu
b3Qgc2VsZi5mb3JjZV9yZWdlbmVyYXRlOgorICAgICAgICAgICAgc2VsZi5fbG9hZF9jYV9jZXJ0
KCkKICAgICAgICAgaWYgc2VsZi5fY2Ffa2V5X3BhdGggaXMgTm9uZToKICAgICAgICAgICAgIHNl
bGYuX2dlbmVyYXRlX2NhKGhvc3RzKQogICAgICAgICBjYV9rZXlfcGF0aCA9IHNlbGYuX2NhX2tl
eV9wYXRoCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL3dwdHNlcnZlL3dwdHNlcnZlL3N0YXNoLnB5IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRzZXJ2ZS93cHRzZXJ2ZS9zdGFz
aC5weQppbmRleCA4YjZmZDM0ZjAyYzBlOWI3MDczZDBjOTQwMTE3MDdlYWE0ZTVhMWYxLi42YjM1
MTg0NzQ5MWJmZWUxZjhlMTdhNDIxMjdjODhiZTk3YTYyOTIzIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL3dwdHNlcnZlL3dwdHNl
cnZlL3N0YXNoLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvd3B0c2VydmUvd3B0c2VydmUvc3Rhc2gucHkKQEAgLTQsNyArNCw5IEBAIGlt
cG9ydCBvcwogaW1wb3J0IHV1aWQKIGltcG9ydCB0aHJlYWRpbmcKIGZyb20gbXVsdGlwcm9jZXNz
aW5nLm1hbmFnZXJzIGltcG9ydCBBY3F1aXJlclByb3h5LCBCYXNlTWFuYWdlciwgRGljdFByb3h5
Ci1mcm9tIHNpeCBpbXBvcnQgdGV4dF90eXBlCitmcm9tIHNpeCBpbXBvcnQgdGV4dF90eXBlLCBi
aW5hcnlfdHlwZQorCitmcm9tIC51dGlscyBpbXBvcnQgaXNvbW9ycGhpY19lbmNvZGUKIAogCiBj
bGFzcyBTZXJ2ZXJEaWN0TWFuYWdlcihCYXNlTWFuYWdlcik6CkBAIC0xNDUsOSArMTQ3LDEyIEBA
IGNsYXNzIFN0YXNoKG9iamVjdCk6CiAgICAgICAgIGlmIHBhdGggaXMgTm9uZToKICAgICAgICAg
ICAgIHBhdGggPSBzZWxmLmRlZmF1bHRfcGF0aAogICAgICAgICAjIFRoaXMga2V5IGZvcm1hdCBp
cyByZXF1aXJlZCB0byBzdXBwb3J0IHVzaW5nIHRoZSBwYXRoLiBTaW5jZSB0aGUgZGF0YQotICAg
ICAgICAjIHBhc3NlZCBpbnRvIHRoZSBzdGFzaCBjYW4gYmUgYSBEaWN0UHJveHkgd2hpY2ggd291
bGRuJ3QgZGV0ZWN0IGNoYW5nZXMKLSAgICAgICAgIyB3aGVuIHdyaXRpbmcgdG8gYSBzdWJkaWN0
LgotICAgICAgICByZXR1cm4gKHN0cihwYXRoKSwgc3RyKHV1aWQuVVVJRChrZXkpKSkKKyAgICAg
ICAgIyBwYXNzZWQgaW50byB0aGUgc3Rhc2ggY2FuIGJlIGEgRGljdFByb3h5IHdoaWNoIHdvdWxk
bid0IGRldGVjdAorICAgICAgICAjIGNoYW5nZXMgd2hlbiB3cml0aW5nIHRvIGEgc3ViZGljdC4K
KyAgICAgICAgaWYgaXNpbnN0YW5jZShrZXksIGJpbmFyeV90eXBlKToKKyAgICAgICAgICAgICMg
VVVJRHMgYXJlIHdpdGhpbiB0aGUgQVNDSUkgY2hhcnNldC4KKyAgICAgICAgICAgIGtleSA9IGtl
eS5kZWNvZGUoJ2FzY2lpJykKKyAgICAgICAgcmV0dXJuIChpc29tb3JwaGljX2VuY29kZShwYXRo
KSwgdXVpZC5VVUlEKGtleSkuYnl0ZXMpCiAKICAgICBkZWYgcHV0KHNlbGYsIGtleSwgdmFsdWUs
IHBhdGg9Tm9uZSk6CiAgICAgICAgICIiIlBsYWNlIGEgdmFsdWUgaW4gdGhlIHNoYXJlZCBzdGFz
aC4KQEAgLTE2Miw3ICsxNjcsNyBAQCBjbGFzcyBTdGFzaChvYmplY3QpOgogICAgICAgICBpZiBp
bnRlcm5hbF9rZXkgaW4gc2VsZi5kYXRhOgogICAgICAgICAgICAgcmFpc2UgU3Rhc2hFcnJvcigi
VHJpZWQgdG8gb3ZlcndyaXRlIGV4aXN0aW5nIHNoYXJlZCBzdGFzaCB2YWx1ZSAiCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJmb3Iga2V5ICVzIChvbGQgdmFsdWUgd2FzICVzLCBuZXcg
dmFsdWUgaXMgJXMpIiAlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbnRlcm5hbF9r
ZXksIHNlbGYuZGF0YVtzdHIoaW50ZXJuYWxfa2V5KV0sIHZhbHVlKSkKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKGludGVybmFsX2tleSwgc2VsZi5kYXRhW2ludGVybmFsX2tleV0sIHZh
bHVlKSkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHNlbGYuZGF0YVtpbnRlcm5hbF9rZXld
ID0gdmFsdWUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy93cHRzZXJ2ZS93cHRzZXJ2ZS91dGlscy5weSBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvd3B0c2VydmUvd3B0c2VydmUv
dXRpbHMucHkKaW5kZXggNjRiMDhhMjdhYThiMzNkNGNlYTg2NzdiMzBkMzMwOTZjYWUyMTJkNS4u
YjAwNWI0MTdkNzQzZjIwZjA2NWMxOTVlNzQzZDhhYmNmYjA0YWRmYyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy93cHRzZXJ2ZS93
cHRzZXJ2ZS91dGlscy5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL3dwdHNlcnZlL3dwdHNlcnZlL3V0aWxzLnB5CkBAIC0xLDYgKzEsNDUg
QEAKIGltcG9ydCBzb2NrZXQKIGltcG9ydCBzeXMKIAorZnJvbSBzaXggaW1wb3J0IGJpbmFyeV90
eXBlLCB0ZXh0X3R5cGUKKworCitkZWYgaXNvbW9ycGhpY19kZWNvZGUocyk6CisgICAgIiIiRGVj
b2RlcyBhIGJpbmFyeSBzdHJpbmcgaW50byBhIHRleHQgc3RyaW5nIHVzaW5nIGlzby04ODU5LTEu
CisKKyAgICBSZXR1cm5zIGB1bmljb2RlYCBpbiBQeXRob24gMiBhbmQgYHN0cmAgaW4gUHl0aG9u
IDMuIFRoZSBmdW5jdGlvbiBpcyBhCisgICAgbm8tb3AgaWYgdGhlIGFyZ3VtZW50IGFscmVhZHkg
aGFzIGEgdGV4dCB0eXBlLiBpc28tODg1OS0xIGlzIGNob3NlbiBiZWNhdXNlCisgICAgaXQgaXMg
YW4gOC1iaXQgZW5jb2Rpbmcgd2hvc2UgY29kZSBwb2ludHMgcmFuZ2UgZnJvbSAweDAgdG8gMHhG
RiBhbmQgdGhlCisgICAgdmFsdWVzIGFyZSB0aGUgc2FtZSBhcyB0aGUgYmluYXJ5IHJlcHJlc2Vu
dGF0aW9ucywgc28gYW55IGJpbmFyeSBzdHJpbmcgY2FuCisgICAgYmUgZGVjb2RlZCBpbnRvIGFu
ZCBlbmNvZGVkIGZyb20gaXNvLTg4NTktMSB3aXRob3V0IGFueSBlcnJvcnMgb3IgZGF0YQorICAg
IGxvc3MuIFB5dGhvbiAzIGFsc28gdXNlcyBpc28tODg1OS0xIChvciBsYXRpbi0xKSBleHRlbnNp
dmVseSBpbiBodHRwOgorICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9weXRob24vY3B5dGhvbi9ibG9i
LzI3M2ZjMjIwYjI1OTMzZTQ0M2M4MmFmNjg4OGViMTg3MWQwMzJmYjgvTGliL2h0dHAvY2xpZW50
LnB5I0wyMTMKKyAgICAiIiIKKyAgICBpZiBpc2luc3RhbmNlKHMsIHRleHRfdHlwZSk6CisgICAg
ICAgIHJldHVybiBzCisKKyAgICBpZiBpc2luc3RhbmNlKHMsIGJpbmFyeV90eXBlKToKKyAgICAg
ICAgcmV0dXJuIHMuZGVjb2RlKCJpc28tODg1OS0xIikKKworICAgIHJhaXNlIFR5cGVFcnJvcigi
VW5leHBlY3RlZCB2YWx1ZSAoZXhwZWN0aW5nIHN0cmluZy1saWtlKTogJXIiICUgcykKKworCitk
ZWYgaXNvbW9ycGhpY19lbmNvZGUocyk6CisgICAgIiIiRW5jb2RlcyBhIHRleHQtdHlwZSBzdHJp
bmcgaW50byBiaW5hcnkgZGF0YSB1c2luZyBpc28tODg1OS0xLgorCisgICAgUmV0dXJucyBgc3Ry
YCBpbiBQeXRob24gMiBhbmQgYGJ5dGVzYCBpbiBQeXRob24gMy4gVGhlIGZ1bmN0aW9uIGlzIGEg
bm8tb3AKKyAgICBpZiB0aGUgYXJndW1lbnQgYWxyZWFkeSBoYXMgYSBiaW5hcnkgdHlwZS4gVGhp
cyBpcyB0aGUgY291bnRlcnBhcnQgb2YKKyAgICBpc29tb3JwaGljX2RlY29kZS4KKyAgICAiIiIK
KyAgICBpZiBpc2luc3RhbmNlKHMsIGJpbmFyeV90eXBlKToKKyAgICAgICAgcmV0dXJuIHMKKwor
ICAgIGlmIGlzaW5zdGFuY2UocywgdGV4dF90eXBlKToKKyAgICAgICAgcmV0dXJuIHMuZW5jb2Rl
KCJpc28tODg1OS0xIikKKworICAgIHJhaXNlIFR5cGVFcnJvcigiVW5leHBlY3RlZCB2YWx1ZSAo
ZXhwZWN0aW5nIHN0cmluZy1saWtlKTogJXIiICUgcykKKworCiBkZWYgaW52ZXJ0X2RpY3QoZGlj
dCk6CiAgICAgcnYgPSB7fQogICAgIGZvciBrZXksIHZhbHVlcyBpbiBkaWN0Lml0ZW1zKCk6CkBA
IC0yNSw2ICs2NCw3IEBAIGRlZiBfb3Blbl9zb2NrZXQoaG9zdCwgcG9ydCk6CiAgICAgc29jay5s
aXN0ZW4oNSkKICAgICByZXR1cm4gc29jawogCisKIGRlZiBpc19iYWRfcG9ydChwb3J0KToKICAg
ICAiIiIKICAgICBCYWQgcG9ydCBhcyBwZXIgaHR0cHM6Ly9mZXRjaC5zcGVjLndoYXR3Zy5vcmcv
I3BvcnQtYmxvY2tpbmcKQEAgLTk5LDYgKzEzOSw3IEBAIGRlZiBpc19iYWRfcG9ydChwb3J0KToK
ICAgICAgICAgNjY5NywgICMgaXJjK3RscwogICAgIF0KIAorCiBkZWYgZ2V0X3BvcnQoaG9zdD0n
Jyk6CiAgICAgaG9zdCA9IGhvc3Qgb3IgJzEyNy4wLjAuMScKICAgICBwb3J0ID0gMApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pz
YXBpL2NvbnN0cnVjdG9yL2NvbXBpbGUuYW55LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2NvbnN0cnVjdG9yL2NvbXBpbGUuYW55Lmpz
CmluZGV4IDZjNDEyMzk0M2U3NzVmNDZlODU0YjJjMDcyNThhN2QwOGM1Y2Y2OTIuLmU5NGNlMTE3
MTczNjlmYjY1ZWYwNGM2ZWM2YTEzZGExOTI4OTMwNzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9jb25zdHJ1Y3Rvci9j
b21waWxlLmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dhc20vanNhcGkvY29uc3RydWN0b3IvY29tcGlsZS5hbnkuanMKQEAgLTEsNCArMSw0
IEBACi0vLyBNRVRBOiBnbG9iYWw9anNzaGVsbAorLy8gTUVUQTogZ2xvYmFsPXdpbmRvdyxkZWRp
Y2F0ZWR3b3JrZXIsanNzaGVsbAogLy8gTUVUQTogc2NyaXB0PS93YXNtL2pzYXBpL3dhc20tbW9k
dWxlLWJ1aWxkZXIuanMKIAogZnVuY3Rpb24gYXNzZXJ0X01vZHVsZShtb2R1bGUpIHsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9q
c2FwaS9jb25zdHJ1Y3Rvci9pbnN0YW50aWF0ZS1iYWQtaW1wb3J0cy5hbnkuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvY29uc3RydWN0
b3IvaW5zdGFudGlhdGUtYmFkLWltcG9ydHMuYW55LmpzCmluZGV4IDM3MDcyNDM0MjA4YTU4ODE5
YTBhNDFmYWE2YTE5MTA3MDRjMTA4NDUuLjMwMjUyYmQ2ZWViM2FiOTcyODYzMzFhYTc2OTY4MjI1
ZGFkNWE1MDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd2FzbS9qc2FwaS9jb25zdHJ1Y3Rvci9pbnN0YW50aWF0ZS1iYWQtaW1wb3J0cy5h
bnkuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93
YXNtL2pzYXBpL2NvbnN0cnVjdG9yL2luc3RhbnRpYXRlLWJhZC1pbXBvcnRzLmFueS5qcwpAQCAt
MSw0ICsxLDQgQEAKLS8vIE1FVEE6IGdsb2JhbD1qc3NoZWxsCisvLyBNRVRBOiBnbG9iYWw9d2lu
ZG93LGRlZGljYXRlZHdvcmtlcixqc3NoZWxsCiAvLyBNRVRBOiBzY3JpcHQ9L3dhc20vanNhcGkv
d2FzbS1tb2R1bGUtYnVpbGRlci5qcwogLy8gTUVUQTogc2NyaXB0PS93YXNtL2pzYXBpL2JhZC1p
bXBvcnRzLmpzCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9jb25zdHJ1Y3Rvci9pbnN0YW50aWF0ZS5hbnkuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvY29u
c3RydWN0b3IvaW5zdGFudGlhdGUuYW55LmpzCmluZGV4IDAyMThkZTJiNDUyOTJjMjNlOGZjYzcy
MGRiZjhjMmM0YTVjOWI2OTMuLjgxNTJmM2E1NmYzZjQzOTk5NzY1YzM0OWU0ODhkZGIzMTM0NDIx
MzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd2FzbS9qc2FwaS9jb25zdHJ1Y3Rvci9pbnN0YW50aWF0ZS5hbnkuanMKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2NvbnN0cnVj
dG9yL2luc3RhbnRpYXRlLmFueS5qcwpAQCAtMSw0ICsxLDQgQEAKLS8vIE1FVEE6IGdsb2JhbD1q
c3NoZWxsCisvLyBNRVRBOiBnbG9iYWw9d2luZG93LGRlZGljYXRlZHdvcmtlcixqc3NoZWxsCiAv
LyBNRVRBOiBzY3JpcHQ9L3dhc20vanNhcGkvd2FzbS1tb2R1bGUtYnVpbGRlci5qcwogLy8gTUVU
QTogc2NyaXB0PS93YXNtL2pzYXBpL2Fzc2VydGlvbnMuanMKIC8vIE1FVEE6IHNjcmlwdD0vd2Fz
bS9qc2FwaS9pbnN0YW5jZVRlc3RGYWN0b3J5LmpzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvY29uc3RydWN0b3IvbXVs
dGktdmFsdWUuYW55LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93YXNtL2pzYXBpL2NvbnN0cnVjdG9yL211bHRpLXZhbHVlLmFueS5qcwppbmRleCAyYzUz
ZTM2MTFlMDQ0YzhiYTQ0YTVjMDQzNmQ0NDA5YmM5ZjFhZjQyLi40YjA2ZDFkYTNjNDliOTM0MDZl
OTllY2IzZTZhNzJjYTc2YzlkMWJkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvY29uc3RydWN0b3IvbXVsdGktdmFsdWUu
YW55LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d2FzbS9qc2FwaS9jb25zdHJ1Y3Rvci9tdWx0aS12YWx1ZS5hbnkuanMKQEAgLTEsNCArMSw0IEBA
Ci0vLyBNRVRBOiBnbG9iYWw9anNzaGVsbAorLy8gTUVUQTogZ2xvYmFsPXdpbmRvdyxkZWRpY2F0
ZWR3b3JrZXIsanNzaGVsbAogLy8gTUVUQTogc2NyaXB0PS93YXNtL2pzYXBpL3dhc20tbW9kdWxl
LWJ1aWxkZXIuanMKIC8vIE1FVEE6IHNjcmlwdD0vd2FzbS9qc2FwaS9hc3NlcnRpb25zLmpzCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d2FzbS9qc2FwaS9jb25zdHJ1Y3Rvci92YWxpZGF0ZS5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvY29uc3RydWN0b3IvdmFsaWRh
dGUuYW55LmpzCmluZGV4IGE1MjNhY2M3OTI1YzllZjc2NDZkMjk2YTc4YmY5ODMxZWRhODZkNzEu
LjhiNGY0NTgyYWIyOTg3NzMyZDQwNDk5NDg5OWU5YTc3NjYyZTJhMzIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9jb25z
dHJ1Y3Rvci92YWxpZGF0ZS5hbnkuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2NvbnN0cnVjdG9yL3ZhbGlkYXRlLmFueS5qcwpA
QCAtMSw0ICsxLDQgQEAKLS8vIE1FVEE6IGdsb2JhbD1qc3NoZWxsCisvLyBNRVRBOiBnbG9iYWw9
d2luZG93LGRlZGljYXRlZHdvcmtlcixqc3NoZWxsCiAvLyBNRVRBOiBzY3JpcHQ9L3dhc20vanNh
cGkvd2FzbS1tb2R1bGUtYnVpbGRlci5qcwogCiBsZXQgZW1wdHlNb2R1bGVCaW5hcnk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20v
anNhcGkvZ2xvYmFsL2NvbnN0cnVjdG9yLmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9nbG9iYWwvY29uc3RydWN0b3IuYW55Lmpz
CmluZGV4IDI3MDE0OWVjMTQ0MzA0NWU0MTM0ZWViODA0MDM2NTFhM2QwYTEyZmYuLmIwMDhlZjMw
MTYwMWViNGU0YTI1NTU3ZWZhZjFlYzEzNWNlZTEwYjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9nbG9iYWwvY29uc3Ry
dWN0b3IuYW55LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd2FzbS9qc2FwaS9nbG9iYWwvY29uc3RydWN0b3IuYW55LmpzCkBAIC0xLDQgKzEsNCBA
QAotLy8gTUVUQTogZ2xvYmFsPWpzc2hlbGwKKy8vIE1FVEE6IGdsb2JhbD13aW5kb3csZGVkaWNh
dGVkd29ya2VyLGpzc2hlbGwKIC8vIE1FVEE6IHNjcmlwdD0vd2FzbS9qc2FwaS9hc3NlcnRpb25z
LmpzCiAKIGZ1bmN0aW9uIGFzc2VydF9HbG9iYWwoYWN0dWFsLCBleHBlY3RlZCkgewpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pz
YXBpL2dsb2JhbC90b1N0cmluZy5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvZ2xvYmFsL3RvU3RyaW5nLmFueS5qcwppbmRleCA1
ZjY0ZDcyZGU5ZDlkZjRhOTllNDgyY2RlZDVhMzBhYzFjOGEzNDNjLi4zNTljNDI3M2I1YmQ3ODY3
YWNkYTQ0ZmM0NmE2ZGRjMDBhY2M5NzZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvZ2xvYmFsL3RvU3RyaW5nLmFueS5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20v
anNhcGkvZ2xvYmFsL3RvU3RyaW5nLmFueS5qcwpAQCAtMSw0ICsxLDQgQEAKLS8vIE1FVEE6IGds
b2JhbD1qc3NoZWxsCisvLyBNRVRBOiBnbG9iYWw9d2luZG93LGRlZGljYXRlZHdvcmtlcixqc3No
ZWxsCiAKIHRlc3QoKCkgPT4gewogICBjb25zdCBhcmd1bWVudCA9IHsgInZhbHVlIjogImkzMiIg
fTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd2FzbS9qc2FwaS9nbG9iYWwvdmFsdWUtZ2V0LXNldC5hbnkuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvZ2xvYmFsL3ZhbHVlLWdl
dC1zZXQuYW55LmpzCmluZGV4IDY5ZjBlNDYzNzlmZmQyMGEzYjliZmIxOTA0ODczNzZkNjE2ZDkx
NmUuLjQzZDg0NzRhMjVkMTgyZDc0MjI2NTRmNjE3NjliZjg3ZDNhYmEyOWEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9n
bG9iYWwvdmFsdWUtZ2V0LXNldC5hbnkuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2dsb2JhbC92YWx1ZS1nZXQtc2V0LmFueS5q
cwpAQCAtMSw0ICsxLDQgQEAKLS8vIE1FVEE6IGdsb2JhbD1qc3NoZWxsCisvLyBNRVRBOiBnbG9i
YWw9d2luZG93LGRlZGljYXRlZHdvcmtlcixqc3NoZWxsCiAKIHRlc3QoKCkgPT4gewogICBjb25z
dCB0aGlzVmFsdWVzID0gWwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2dsb2JhbC92YWx1ZU9mLmFueS5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9nbG9iYWwv
dmFsdWVPZi5hbnkuanMKaW5kZXggMGQ0ZGU5M2E2YmQyMjlmOGQ5ZmFiNzk0MWIyNGExOTQ0ZGM2
YWE3OC4uMDY5NWE1YTYxZmJjNmUyNDUwMTlhN2JmNDI4MTBjYjg0YTBkZmEzNiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBp
L2dsb2JhbC92YWx1ZU9mLmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvZ2xvYmFsL3ZhbHVlT2YuYW55LmpzCkBAIC0xLDQg
KzEsNCBAQAotLy8gTUVUQTogZ2xvYmFsPWpzc2hlbGwKKy8vIE1FVEE6IGdsb2JhbD13aW5kb3cs
ZGVkaWNhdGVkd29ya2VyLGpzc2hlbGwKIAogdGVzdCgoKSA9PiB7CiAgIGNvbnN0IGFyZ3VtZW50
ID0geyAidmFsdWUiOiAiaTMyIiB9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2luc3RhbmNlL2NvbnN0cnVjdG9yLWJh
ZC1pbXBvcnRzLmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd2FzbS9qc2FwaS9pbnN0YW5jZS9jb25zdHJ1Y3Rvci1iYWQtaW1wb3J0cy5hbnkuanMK
aW5kZXggZTg4ZDAyYjY0OTY4NGIwZDdjZWVjYjBkMGEzZDFlODc1ZGQyMWM0OS4uZTRhNWFiYjhl
YjIxNjlmYmNlMTdiNjBkYTI3MzEyYmE5NGEwYjlkMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2luc3RhbmNlL2NvbnN0
cnVjdG9yLWJhZC1pbXBvcnRzLmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW5zdGFuY2UvY29uc3RydWN0b3ItYmFkLWlt
cG9ydHMuYW55LmpzCkBAIC0xLDQgKzEsNCBAQAotLy8gTUVUQTogZ2xvYmFsPWpzc2hlbGwKKy8v
IE1FVEE6IGdsb2JhbD13aW5kb3csZGVkaWNhdGVkd29ya2VyLGpzc2hlbGwKIC8vIE1FVEE6IHNj
cmlwdD0vd2FzbS9qc2FwaS93YXNtLW1vZHVsZS1idWlsZGVyLmpzCiAvLyBNRVRBOiBzY3JpcHQ9
L3dhc20vanNhcGkvYmFkLWltcG9ydHMuanMKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2luc3RhbmNlL2NvbnN0cnVj
dG9yLWNhY2hpbmcuYW55LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93YXNtL2pzYXBpL2luc3RhbmNlL2NvbnN0cnVjdG9yLWNhY2hpbmcuYW55LmpzCmlu
ZGV4IDY5NWIwNzhhMGY5NDc4NjIwNzE1YjBmZWYyNTlmNzIwNzQzN2YyOWQuLjFhYTQ3MzliNjI5
NGQwMTM3ZWFkMzA5N2Q1ZGJjZWMzZTNhMWYyMjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pbnN0YW5jZS9jb25zdHJ1
Y3Rvci1jYWNoaW5nLmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW5zdGFuY2UvY29uc3RydWN0b3ItY2FjaGluZy5hbnku
anMKQEAgLTEsNCArMSw0IEBACi0vLyBNRVRBOiBnbG9iYWw9anNzaGVsbAorLy8gTUVUQTogZ2xv
YmFsPXdpbmRvdyxkZWRpY2F0ZWR3b3JrZXIsanNzaGVsbAogLy8gTUVUQTogc2NyaXB0PS93YXNt
L2pzYXBpL3dhc20tbW9kdWxlLWJ1aWxkZXIuanMKIAogZnVuY3Rpb24gZ2V0RXhwb3J0cygpIHsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d2FzbS9qc2FwaS9pbnN0YW5jZS9jb25zdHJ1Y3Rvci5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW5zdGFuY2UvY29uc3RydWN0
b3IuYW55LmpzCmluZGV4IDA2YzZkN2E4OGMwOTIzNWFiZDQwYTcxYTM3OWYwZDgwMDVhMzM2MTgu
LjI2MzkwZWJkMmNkYjJlNGM0OGRjMzBiZDUwZjZlNTc5NGU4MDc5MjMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pbnN0
YW5jZS9jb25zdHJ1Y3Rvci5hbnkuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2luc3RhbmNlL2NvbnN0cnVjdG9yLmFueS5qcwpA
QCAtMSw0ICsxLDQgQEAKLS8vIE1FVEE6IGdsb2JhbD1qc3NoZWxsCisvLyBNRVRBOiBnbG9iYWw9
d2luZG93LGRlZGljYXRlZHdvcmtlcixqc3NoZWxsCiAvLyBNRVRBOiBzY3JpcHQ9L3dhc20vanNh
cGkvd2FzbS1tb2R1bGUtYnVpbGRlci5qcwogLy8gTUVUQTogc2NyaXB0PS93YXNtL2pzYXBpL2Fz
c2VydGlvbnMuanMKIC8vIE1FVEE6IHNjcmlwdD0vd2FzbS9qc2FwaS9pbnN0YW5jZVRlc3RGYWN0
b3J5LmpzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dhc20vanNhcGkvaW5zdGFuY2UvZXhwb3J0cy5hbnkuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW5zdGFuY2UvZXhwb3J0
cy5hbnkuanMKaW5kZXggN2M4MWE0MTI5NWIwYTFmMmUyMGVlNzk3MjI5MWUxMDk5ZjIzNzVmZS4u
NmRjZmJjZWU5NTBkODcxY2Q2ZWUzZTVhZjk0YmVlMzlmZDhmNTFlNiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2luc3Rh
bmNlL2V4cG9ydHMuYW55LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pbnN0YW5jZS9leHBvcnRzLmFueS5qcwpAQCAtMSw0ICsx
LDQgQEAKLS8vIE1FVEE6IGdsb2JhbD1qc3NoZWxsCisvLyBNRVRBOiBnbG9iYWw9d2luZG93LGRl
ZGljYXRlZHdvcmtlcixqc3NoZWxsCiAvLyBNRVRBOiBzY3JpcHQ9L3dhc20vanNhcGkvd2FzbS1t
b2R1bGUtYnVpbGRlci5qcwogCiBsZXQgZW1wdHlNb2R1bGVCaW5hcnk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW5z
dGFuY2UvdG9TdHJpbmcuYW55LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93YXNtL2pzYXBpL2luc3RhbmNlL3RvU3RyaW5nLmFueS5qcwppbmRleCA3MDFl
YzhmOWJhZDk5OGJjMjYzMTBlNzRhOGE3ZTIzZjJjYmY1YzRkLi41NDdhOWNhODI5NWY1YjY4MTNh
M2QxNzliYmZkM2NhOTA1NGU0OTcwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW5zdGFuY2UvdG9TdHJpbmcuYW55Lmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9q
c2FwaS9pbnN0YW5jZS90b1N0cmluZy5hbnkuanMKQEAgLTEsNCArMSw0IEBACi0vLyBNRVRBOiBn
bG9iYWw9anNzaGVsbAorLy8gTUVUQTogZ2xvYmFsPXdpbmRvdyxkZWRpY2F0ZWR3b3JrZXIsanNz
aGVsbAogLy8gTUVUQTogc2NyaXB0PS93YXNtL2pzYXBpL3dhc20tbW9kdWxlLWJ1aWxkZXIuanMK
IAogdGVzdCgoKSA9PiB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvaW50ZXJmYWNlLmFueS5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pbnRlcmZhY2UuYW55
LmpzCmluZGV4IDg4OTQwYmU1MWE3ZjU3MjdjMjdlMTY3ZDllMTBhYmJhZWIwNGEwNmIuLjQ1NTFl
NmU2ZTNkNDNlNTRlMGRiYjZhNjRmMDdmYjU3ZWY5OGFjNDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9pbnRlcmZhY2Uu
YW55LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d2FzbS9qc2FwaS9pbnRlcmZhY2UuYW55LmpzCkBAIC0xLDQgKzEsNCBAQAotLy8gTUVUQTogZ2xv
YmFsPWpzc2hlbGwKKy8vIE1FVEE6IGdsb2JhbD13aW5kb3csZGVkaWNhdGVkd29ya2VyLGpzc2hl
bGwKIC8vIE1FVEE6IHNjcmlwdD0vd2FzbS9qc2FwaS9hc3NlcnRpb25zLmpzCiAKIGZ1bmN0aW9u
IHRlc3Rfb3BlcmF0aW9ucyhvYmplY3QsIG9iamVjdF9uYW1lLCBvcGVyYXRpb25zKSB7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20v
anNhcGkvbWVtb3J5L2J1ZmZlci5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbWVtb3J5L2J1ZmZlci5hbnkuanMKaW5kZXggYTgz
NWU2NTExYTBhNmM1M2MzNmEwZmZkODE0M2Y0YTFhNzM4OGVjYS4uZmIxZDEyMDBiODkyYmUxZWI3
YWVhNjZkYjM0M2RiNDkxZTkyMWE4ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21lbW9yeS9idWZmZXIuYW55LmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2Fw
aS9tZW1vcnkvYnVmZmVyLmFueS5qcwpAQCAtMSw0ICsxLDQgQEAKLS8vIE1FVEE6IGdsb2JhbD1q
c3NoZWxsCisvLyBNRVRBOiBnbG9iYWw9d2luZG93LGRlZGljYXRlZHdvcmtlcixqc3NoZWxsCiAK
IHRlc3QoKCkgPT4gewogICBjb25zdCB0aGlzVmFsdWVzID0gWwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21lbW9yeS9j
b25zdHJ1Y3Rvci5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dhc20vanNhcGkvbWVtb3J5L2NvbnN0cnVjdG9yLmFueS5qcwppbmRleCAwM2VlZDUy
NzA4MzFiNTA0ZTZhYjIxYmNjOGVlMzZmZGZkMDUwMzA0Li5mNTA1NzE5ZDJjNWU0MTFjYTlkZWJj
MDA3NmEyYjQwZGVkMDIwZTFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbWVtb3J5L2NvbnN0cnVjdG9yLmFueS5qcwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNh
cGkvbWVtb3J5L2NvbnN0cnVjdG9yLmFueS5qcwpAQCAtMSw0ICsxLDQgQEAKLS8vIE1FVEE6IGds
b2JhbD1qc3NoZWxsCisvLyBNRVRBOiBnbG9iYWw9d2luZG93LGRlZGljYXRlZHdvcmtlcixqc3No
ZWxsCiAvLyBNRVRBOiBzY3JpcHQ9L3dhc20vanNhcGkvYXNzZXJ0aW9ucy5qcwogCiBmdW5jdGlv
biBhc3NlcnRfTWVtb3J5KG1lbW9yeSwgZXhwZWN0ZWQpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tZW1vcnkvZ3Jv
dy5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dh
c20vanNhcGkvbWVtb3J5L2dyb3cuYW55LmpzCmluZGV4IDBjZWE4YjRiMWE2MzNmMWY2ZGE5MjMx
MzMyZTM5NGI3ZmNkNzYxOTcuLmRiOWU3ODEzNjE3Yjk2NDcxYTkwYzM1Yzk2Yjg1ZjA5MjY5OThk
YzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd2FzbS9qc2FwaS9tZW1vcnkvZ3Jvdy5hbnkuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21lbW9yeS9ncm93LmFueS5qcwpA
QCAtMSw0ICsxLDQgQEAKLS8vIE1FVEE6IGdsb2JhbD1qc3NoZWxsCisvLyBNRVRBOiBnbG9iYWw9
d2luZG93LGRlZGljYXRlZHdvcmtlcixqc3NoZWxsCiAKIGZ1bmN0aW9uIGFzc2VydF9BcnJheUJ1
ZmZlcihhY3R1YWwsIHsgc2l6ZT0wLCBzaGFyZWQ9ZmFsc2UsIGRldGFjaGVkPWZhbHNlIH0sIG1l
c3NhZ2UpIHsKICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL1dlYkFzc2VtYmx5L3NwZWMvaXNzdWVz
Lzg0MApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93YXNtL2pzYXBpL21lbW9yeS90b1N0cmluZy5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbWVtb3J5L3RvU3RyaW5nLmFu
eS5qcwppbmRleCBiYjkwODFkMTg2MTdlMWFmNzI0MjRlYTcwMGQzMGU1Y2IwZWZkOThkLi5mNDA1
OWY3NjU3NzIyNzU5Y2U0ZmM5NTBjNDg1MDkxNmQxMDJkZWRhIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbWVtb3J5L3Rv
U3RyaW5nLmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dhc20vanNhcGkvbWVtb3J5L3RvU3RyaW5nLmFueS5qcwpAQCAtMSw0ICsxLDQgQEAK
LS8vIE1FVEE6IGdsb2JhbD1qc3NoZWxsCisvLyBNRVRBOiBnbG9iYWw9d2luZG93LGRlZGljYXRl
ZHdvcmtlcixqc3NoZWxsCiAKIHRlc3QoKCkgPT4gewogICBjb25zdCBhcmd1bWVudCA9IHsgImlu
aXRpYWwiOiAwIH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbW9kdWxlL2NvbnN0cnVjdG9yLmFueS5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tb2R1bGUv
Y29uc3RydWN0b3IuYW55LmpzCmluZGV4IGFjNGNkZTJlMzE3ZTVlY2IxODdhOTY0ZjRmNTJmNmE3
ZGM3NmRkOTguLjk5NzhmN2U2YWM4ZjJiMTFiY2FjYTgyM2I4NzdlYTgxN2RmZTdlOWYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9q
c2FwaS9tb2R1bGUvY29uc3RydWN0b3IuYW55LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tb2R1bGUvY29uc3RydWN0b3IuYW55
LmpzCkBAIC0xLDQgKzEsNCBAQAotLy8gTUVUQTogZ2xvYmFsPWpzc2hlbGwKKy8vIE1FVEE6IGds
b2JhbD13aW5kb3csZGVkaWNhdGVkd29ya2VyLGpzc2hlbGwKIC8vIE1FVEE6IHNjcmlwdD0vd2Fz
bS9qc2FwaS93YXNtLW1vZHVsZS1idWlsZGVyLmpzCiAvLyBNRVRBOiBzY3JpcHQ9L3dhc20vanNh
cGkvYXNzZXJ0aW9ucy5qcwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbW9kdWxlL2N1c3RvbVNlY3Rpb25zLmFueS5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2Fw
aS9tb2R1bGUvY3VzdG9tU2VjdGlvbnMuYW55LmpzCmluZGV4IDhjMjE1ZDE3YmQyNTgzNGFkMjk4
M2U4ODE3MjM3MWM0ZWUxZjY1YzIuLjQwMjk4NzdlOTJjN2I4YjNiZDMyMTg0ODUzOTQ3NWMzYWY1
MmVkZWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd2FzbS9qc2FwaS9tb2R1bGUvY3VzdG9tU2VjdGlvbnMuYW55LmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tb2R1bGUv
Y3VzdG9tU2VjdGlvbnMuYW55LmpzCkBAIC0xLDQgKzEsNCBAQAotLy8gTUVUQTogZ2xvYmFsPWpz
c2hlbGwKKy8vIE1FVEE6IGdsb2JhbD13aW5kb3csZGVkaWNhdGVkd29ya2VyLGpzc2hlbGwKIC8v
IE1FVEE6IHNjcmlwdD0vd2FzbS9qc2FwaS93YXNtLW1vZHVsZS1idWlsZGVyLmpzCiAKIGZ1bmN0
aW9uIGFzc2VydF9BcnJheUJ1ZmZlcihidWZmZXIsIGV4cGVjdGVkKSB7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbW9k
dWxlL2V4cG9ydHMuYW55LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93YXNtL2pzYXBpL21vZHVsZS9leHBvcnRzLmFueS5qcwppbmRleCAxMzI5YzZhNjAy
MWYyZDU5MDJmNzU5ZTRkYTkyZDIwOTk3NGRhNzBlLi42MGIyYzA0ZjQzNjk2OGFjMTE1NTc4NjAy
NzVkNzViYzg5ZTQ5ZTNkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbW9kdWxlL2V4cG9ydHMuYW55LmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tb2R1
bGUvZXhwb3J0cy5hbnkuanMKQEAgLTEsNCArMSw0IEBACi0vLyBNRVRBOiBnbG9iYWw9anNzaGVs
bAorLy8gTUVUQTogZ2xvYmFsPXdpbmRvdyxkZWRpY2F0ZWR3b3JrZXIsanNzaGVsbAogLy8gTUVU
QTogc2NyaXB0PS93YXNtL2pzYXBpL3dhc20tbW9kdWxlLWJ1aWxkZXIuanMKIAogbGV0IGVtcHR5
TW9kdWxlQmluYXJ5OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21vZHVsZS9pbXBvcnRzLmFueS5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tb2R1bGUvaW1w
b3J0cy5hbnkuanMKaW5kZXggOWE3ZDYxMTU5ODZlYTA2NmM1MDc1ZDE0ZjYwZDNjYjAyNzdhNzhh
MS4uZDY3NTRjOWVmYmRjNDRjZDk2MzcwOGY1Yjc1MWYxNTQ2ZGRmY2QxOCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL21v
ZHVsZS9pbXBvcnRzLmFueS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbW9kdWxlL2ltcG9ydHMuYW55LmpzCkBAIC0xLDQgKzEs
NCBAQAotLy8gTUVUQTogZ2xvYmFsPWpzc2hlbGwKKy8vIE1FVEE6IGdsb2JhbD13aW5kb3csZGVk
aWNhdGVkd29ya2VyLGpzc2hlbGwKIC8vIE1FVEE6IHNjcmlwdD0vd2FzbS9qc2FwaS93YXNtLW1v
ZHVsZS1idWlsZGVyLmpzCiAKIGZ1bmN0aW9uIGFzc2VydF9Nb2R1bGVJbXBvcnREZXNjcmlwdG9y
KGltcG9ydF8sIGV4cGVjdGVkKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvbW9kdWxlL3RvU3RyaW5nLmFueS5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9t
b2R1bGUvdG9TdHJpbmcuYW55LmpzCmluZGV4IDdkZDg1YTFjNGFjNmU1MjVlMWU0YzBmOWJhY2Mz
Mjk1ZTdlZGE3ZmMuLjFjMjBjZDYxMDhjODRlNTZlMjE5ZjBlNzM4ZTA2NzJjZDdjMmQwNzggMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2Fz
bS9qc2FwaS9tb2R1bGUvdG9TdHJpbmcuYW55LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS9tb2R1bGUvdG9TdHJpbmcuYW55Lmpz
CkBAIC0xLDQgKzEsNCBAQAotLy8gTUVUQTogZ2xvYmFsPWpzc2hlbGwKKy8vIE1FVEE6IGdsb2Jh
bD13aW5kb3csZGVkaWNhdGVkd29ya2VyLGpzc2hlbGwKIC8vIE1FVEE6IHNjcmlwdD0vd2FzbS9q
c2FwaS93YXNtLW1vZHVsZS1idWlsZGVyLmpzCiAKIHRlc3QoKCkgPT4gewpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL3Rh
YmxlL2NvbnN0cnVjdG9yLmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd2FzbS9qc2FwaS90YWJsZS9jb25zdHJ1Y3Rvci5hbnkuanMKaW5kZXggNWM5
YTZmMTNkOTFlYmEwOThhYjU5ZTg5MzE0NTIyMjM3NWUxYjZjYy4uZTllNzdhMTMyYjc2YTQ3OWEy
ODk1YzE4YzY5YjQwMmJlNzFmZTNlNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL3RhYmxlL2NvbnN0cnVjdG9yLmFueS5q
cworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20v
anNhcGkvdGFibGUvY29uc3RydWN0b3IuYW55LmpzCkBAIC0xLDQgKzEsNCBAQAotLy8gTUVUQTog
Z2xvYmFsPWpzc2hlbGwKKy8vIE1FVEE6IGdsb2JhbD13aW5kb3csZGVkaWNhdGVkd29ya2VyLGpz
c2hlbGwKIC8vIE1FVEE6IHNjcmlwdD0vd2FzbS9qc2FwaS9hc3NlcnRpb25zLmpzCiAKIGZ1bmN0
aW9uIGFzc2VydF9UYWJsZShhY3R1YWwsIGV4cGVjdGVkKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvdGFibGUvZ2V0
LXNldC5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3dhc20vanNhcGkvdGFibGUvZ2V0LXNldC5hbnkuanMKaW5kZXggNGUwYTVmOGMxMDQ4ZjRiNzcx
YzM4ZmYwYWVmOTkxMGVkMzdiMjVjMi4uMmUxNjM0NmM2NDc5ZWM1NWUxNmEzMzQ5ZjEyYjZjYTRi
NmRhN2Q0NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93YXNtL2pzYXBpL3RhYmxlL2dldC1zZXQuYW55LmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS90YWJsZS9nZXQtc2V0
LmFueS5qcwpAQCAtMSw0ICsxLDQgQEAKLS8vIE1FVEE6IGdsb2JhbD1qc3NoZWxsCisvLyBNRVRB
OiBnbG9iYWw9d2luZG93LGRlZGljYXRlZHdvcmtlcixqc3NoZWxsCiAvLyBNRVRBOiBzY3JpcHQ9
L3dhc20vanNhcGkvd2FzbS1tb2R1bGUtYnVpbGRlci5qcwogLy8gTUVUQTogc2NyaXB0PWFzc2Vy
dGlvbnMuanMKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93YXNtL2pzYXBpL3RhYmxlL2dyb3ctcmVmdHlwZXMudGVudGF0aXZlLmFueS5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2Fw
aS90YWJsZS9ncm93LXJlZnR5cGVzLnRlbnRhdGl2ZS5hbnkuanMKaW5kZXggZWRmYjMzNDk5MWUw
NGQyY2FiZmVlYjQ0MjZhZDA1Mzc5NmM2N2VjNS4uODVkY2JkMWQwMDY0M2EwMjJkMDY2NTI2YjVj
MDA4MWM5YzZlMGJjNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL3RhYmxlL2dyb3ctcmVmdHlwZXMudGVudGF0aXZlLmFu
eS5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dh
c20vanNhcGkvdGFibGUvZ3Jvdy1yZWZ0eXBlcy50ZW50YXRpdmUuYW55LmpzCkBAIC0xLDQgKzEs
NCBAQAotLy8gTUVUQTogZ2xvYmFsPWpzc2hlbGwKKy8vIE1FVEE6IGdsb2JhbD13aW5kb3csZGVk
aWNhdGVkd29ya2VyLGpzc2hlbGwKIC8vIE1FVEE6IHNjcmlwdD1hc3NlcnRpb25zLmpzCiAvLyBN
RVRBOiBzY3JpcHQ9L3dhc20vanNhcGkvd2FzbS1jb25zdGFudHMuanMKIC8vIE1FVEE6IHNjcmlw
dD0vd2FzbS9qc2FwaS93YXNtLW1vZHVsZS1idWlsZGVyLmpzCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvdGFibGUvZ3Jv
dy5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dh
c20vanNhcGkvdGFibGUvZ3Jvdy5hbnkuanMKaW5kZXggZjU0M2NjNjIwYmNjNGNjYzBlNzA2ZDBk
Y2I4ZTY4YWY0MjEwYTI0ZS4uM2IyZWU1ZmE4ZWY2NmRkNmE3ZDAyYzU5NzY5YTQxMzAzZTZhMWM3
MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93YXNtL2pzYXBpL3RhYmxlL2dyb3cuYW55LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS90YWJsZS9ncm93LmFueS5qcwpAQCAt
MSw0ICsxLDQgQEAKLS8vIE1FVEE6IGdsb2JhbD1qc3NoZWxsCisvLyBNRVRBOiBnbG9iYWw9d2lu
ZG93LGRlZGljYXRlZHdvcmtlcixqc3NoZWxsCiAvLyBNRVRBOiBzY3JpcHQ9YXNzZXJ0aW9ucy5q
cwogCiBmdW5jdGlvbiBudWxscyhuKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvdGFibGUvbGVuZ3RoLmFueS5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS90
YWJsZS9sZW5ndGguYW55LmpzCmluZGV4IGY0ZTExNDg0Nzk3MjkwNjFhN2Y0MGU2ODMxMWFkZDQz
ZTBjNTFiMWMuLmE5ZWYwOTVkZWQ0NDU4MWQ0NGRlY2U1OTU3NzU3N2ZhNmZlMjU0MWEgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9q
c2FwaS90YWJsZS9sZW5ndGguYW55LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd2FzbS9qc2FwaS90YWJsZS9sZW5ndGguYW55LmpzCkBAIC0xLDQg
KzEsNCBAQAotLy8gTUVUQTogZ2xvYmFsPWpzc2hlbGwKKy8vIE1FVEE6IGdsb2JhbD13aW5kb3cs
ZGVkaWNhdGVkd29ya2VyLGpzc2hlbGwKIAogdGVzdCgoKSA9PiB7CiAgIGNvbnN0IHRoaXNWYWx1
ZXMgPSBbCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3dhc20vanNhcGkvdGFibGUvdG9TdHJpbmcuYW55LmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93YXNtL2pzYXBpL3RhYmxlL3RvU3RyaW5nLmFu
eS5qcwppbmRleCA3MDhjMTdiM2FjYWRmZGUyYzlhYmRhMzAwYzJkNTdlNjFmNWE3MGNlLi44YTA5
ZjI4MzJjMWQ2NDU5NDE4MmZhZTQ2NTFiYzliMDdhNTA4ZDRlIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dhc20vanNhcGkvdGFibGUvdG9T
dHJpbmcuYW55LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvd2FzbS9qc2FwaS90YWJsZS90b1N0cmluZy5hbnkuanMKQEAgLTEsNCArMSw0IEBACi0v
LyBNRVRBOiBnbG9iYWw9anNzaGVsbAorLy8gTUVUQTogZ2xvYmFsPXdpbmRvdyxkZWRpY2F0ZWR3
b3JrZXIsanNzaGVsbAogCiB0ZXN0KCgpID0+IHsKICAgY29uc3QgYXJndW1lbnQgPSB7ICJlbGVt
ZW50IjogImFueWZ1bmMiLCAiaW5pdGlhbCI6IDAgfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2ViLWFuaW1hdGlvbnMvaWRsaGFybmVz
cy53aW5kb3ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93ZWItYW5pbWF0aW9ucy9pZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQK
aW5kZXggNjk1MTEwNjUwNzM2YTk5ZmUxMGI4NmQxZDI0OTRmOGNmMGI1OWRjYi4uMjBiMGMxMGE0
MGE1Yjg5MjM4OTFhMGFhY2FmMTI0OTFlMDkwYjQ0YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWItYW5pbWF0aW9ucy9pZGxoYXJuZXNz
LndpbmRvdy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93ZWItYW5pbWF0aW9ucy9pZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50
eHQKQEAgLTExLDcgKzExLDcgQEAgUEFTUyBFbGVtZW50IGluY2x1ZGVzIEFuaW1hdGFibGU6IG1l
bWJlciBuYW1lcyBhcmUgdW5pcXVlCiBQQVNTIEVsZW1lbnQgaW5jbHVkZXMgUGFyZW50Tm9kZTog
bWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNTIEVsZW1lbnQgaW5jbHVkZXMgTm9uRG9jdW1l
bnRUeXBlQ2hpbGROb2RlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgRWxlbWVudCBp
bmNsdWRlcyBDaGlsZE5vZGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAotUEFTUyBFbGVtZW50
IGluY2x1ZGVzIFNsb3RhYmxlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKK1BBU1MgRWxlbWVu
dCBpbmNsdWRlcyBTbG90dGFibGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAogUEFTUyBEb2N1
bWVudCBpbmNsdWRlcyBOb25FbGVtZW50UGFyZW50Tm9kZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlx
dWUgCiBQQVNTIERvY3VtZW50IGluY2x1ZGVzIERvY3VtZW50T3JTaGFkb3dSb290OiBtZW1iZXIg
bmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgRG9jdW1lbnQgaW5jbHVkZXMgUGFyZW50Tm9kZTogbWVt
YmVyIG5hbWVzIGFyZSB1bmlxdWUgCkBAIC0yOCw2ICsyOCw3IEBAIFBBU1MgQW5pbWF0aW9uVGlt
ZWxpbmUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHBy
b3RvdHlwCiBQQVNTIEFuaW1hdGlvblRpbWVsaW5lIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBw
cm9wZXJ0eSAKIFBBU1MgQW5pbWF0aW9uVGltZWxpbmUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVz
IHByb3BlcnR5IAogUEFTUyBBbmltYXRpb25UaW1lbGluZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBj
dXJyZW50VGltZSAKK0ZBSUwgQW5pbWF0aW9uVGltZWxpbmUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
cGhhc2UgYXNzZXJ0X3RydWU6IFRoZSBwcm90b3R5cGUgb2JqZWN0IG11c3QgaGF2ZSBhIHByb3Bl
cnR5ICJwaGFzZSIgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKIFBBU1MgRG9jdW1lbnRUaW1lbGlu
ZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0
IAogUEFTUyBEb2N1bWVudFRpbWVsaW5lIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAogUEFTUyBE
b2N1bWVudFRpbWVsaW5lIGludGVyZmFjZSBvYmplY3QgbmFtZSAKQEAgLTM3LDYgKzM4LDcgQEAg
UEFTUyBEb2N1bWVudFRpbWVsaW5lIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBwcm90b3R5cGUKIFBBU1MgRG9jdW1lbnRUaW1lbGluZSBtdXN0IGJlIHBy
aW1hcnkgaW50ZXJmYWNlIG9mIGRvY3VtZW50LnRpbWVsaW5lIAogUEFTUyBTdHJpbmdpZmljYXRp
b24gb2YgZG9jdW1lbnQudGltZWxpbmUgCiBQQVNTIEFuaW1hdGlvblRpbWVsaW5lIGludGVyZmFj
ZTogZG9jdW1lbnQudGltZWxpbmUgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJjdXJyZW50VGltZSIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgCitGQUlMIEFuaW1hdGlvblRpbWVsaW5lIGludGVyZmFjZTog
ZG9jdW1lbnQudGltZWxpbmUgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJwaGFzZSIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAicGhhc2UiIG5vdCBmb3VuZCBp
biBwcm90b3R5cGUgY2hhaW4KIFBBU1MgQW5pbWF0aW9uIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCiBQQVNTIEFuaW1hdGlvbiBpbnRlcmZh
Y2Ugb2JqZWN0IGxlbmd0aCAKIFBBU1MgQW5pbWF0aW9uIGludGVyZmFjZSBvYmplY3QgbmFtZSAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
d2Vic29ja2V0cy9iYXNpYy1hdXRoLmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd2Vic29ja2V0cy9iYXNpYy1hdXRoLmFueS5qcwppbmRleCA0NWU0
ZGFkYjNiOWNlNWZiZWFkODhkYzg1ZDY4ODMyYjZkZDA0YjVhLi40NDdiY2RlZmJlNWZiNzg2ZGUz
MWZhZmZjOWM0NDYyOTQ4ZjRlMmJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnNvY2tldHMvYmFzaWMtYXV0aC5hbnkuanMKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJzb2NrZXRzL2Jh
c2ljLWF1dGguYW55LmpzCkBAIC0xLDUgKzEsNSBAQAorLy8gTUVUQTogZ2xvYmFsPXdpbmRvdyx3
b3JrZXIKIC8vIE1FVEE6IHNjcmlwdD13ZWJzb2NrZXQuc3ViLmpzCi0vLyBNRVRBOiBnbG9iYWw9
c2hhcmVkd29ya2VyLHNlcnZpY2V3b3JrZXIKIAogYXN5bmNfdGVzdCh0ID0+IHsKICAgY29uc3Qg
aXNTZWN1cmUgPSBuZXcgVVJMKGxvY2F0aW9uLmhyZWYpLnNjaGVtZSA9PT0gJ2h0dHBzJzsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2Vi
c29ja2V0cy9idWZmZXJlZEFtb3VudC11bmNoYW5nZWQtYnktc3luYy14aHIuYW55LmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJzb2NrZXRzL2J1ZmZl
cmVkQW1vdW50LXVuY2hhbmdlZC1ieS1zeW5jLXhoci5hbnkuanMKaW5kZXggODM5N2ZhZjNjNTc1
NzNiNmVkNzBjN2FiY2I3ZGI4NzBlMmY1ZmYxYy4uNTNjYTY3ZTI2OWJmZTZhZGFiMTZiYjJkNjdj
NWI2Y2Q0Zjc5OTg3NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93ZWJzb2NrZXRzL2J1ZmZlcmVkQW1vdW50LXVuY2hhbmdlZC1ieS1zeW5j
LXhoci5hbnkuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy93ZWJzb2NrZXRzL2J1ZmZlcmVkQW1vdW50LXVuY2hhbmdlZC1ieS1zeW5jLXhoci5hbnku
anMKQEAgLTEsNSArMSw1IEBACiAvLyBNRVRBOiBzY3JpcHQ9d2Vic29ja2V0LnN1Yi5qcwotLy8g
TUVUQTogZ2xvYmFsPXNoYXJlZHdvcmtlcgorLy8gTUVUQTogZ2xvYmFsPXdpbmRvdyxkZWRpY2F0
ZWR3b3JrZXIsc2hhcmVkd29ya2VyCiAKIGFzeW5jX3Rlc3QodCA9PiB7CiAgIGNvbnN0IHVybCA9
ICd3c3M6Ly8nICsgX19TRVJWRVJfX05BTUUgKyAnOicgKyBfX1NFQ1VSRV9fUE9SVCArICcvZWNo
byc7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dlYnNvY2tldHMvb3BlbmluZy1oYW5kc2hha2UvMDA1LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2Vic29ja2V0cy9vcGVuaW5n
LWhhbmRzaGFrZS8wMDUtZXhwZWN0ZWQudHh0CmluZGV4IDM1ZGNjMjczODU3N2ZkMDAxYTE3M2Vi
OWYxMzg4MjA4ZDAyN2ZkZjkuLjZlNzM1OTlhOGQwZDlhNGIwMTAzNjg1YTA0NjVmOGM5Y2FiYmZl
OWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd2Vic29ja2V0cy9vcGVuaW5nLWhhbmRzaGFrZS8wMDUtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2Vic29ja2V0cy9vcGVu
aW5nLWhhbmRzaGFrZS8wMDUtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsNSBAQAogCi1QQVNTIFdl
YlNvY2tldHM6IHByb3BlciBmaXJzdCBsaW5lIAorSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1l
c3NhZ2UgPSBudWxsCisKK1RJTUVPVVQgV2ViU29ja2V0czogcHJvcGVyIGZpcnN0IGxpbmUgVGVz
dCB0aW1lZCBvdXQKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy94aHIvaWRsaGFybmVzcy5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9pZGxoYXJuZXNzLmFueS5qcwppbmRleCBkNDVl
NTJlMjM0MWI4Y2U0M2QzZTdlMTQ0YWZlNTE4ZWJhNzRjMTczLi5kODJhODI2MzU3NjZiMTlhYzlh
OTU2ZDQwMzI3YjRiMmI5YTI1MDYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9pZGxoYXJuZXNzLmFueS5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9pZGxoYXJuZXNzLmFueS5q
cwpAQCAtMSw0ICsxLDQgQEAKLS8vIE1FVEE6IGdsb2JhbD1zaGFyZWR3b3JrZXIKKy8vIE1FVEE6
IGdsb2JhbD13aW5kb3csZGVkaWNhdGVkd29ya2VyLHNoYXJlZHdvcmtlcgogLy8gTUVUQTogc2Ny
aXB0PS9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzCiAvLyBNRVRBOiBzY3JpcHQ9L3Jlc291cmNl
cy9pZGxoYXJuZXNzLmpzCiAvLyBNRVRBOiB0aW1lb3V0PWxvbmcKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3N5bmMtbm8tdGltZW91
dC5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3ho
ci9zeW5jLW5vLXRpbWVvdXQuYW55LmpzCmluZGV4IGQyM2ZiYjhjNjZkZWY0N2UzMWFkMDFhYTdh
MzExMDY0YmE4ZmRkYmQuLmFjNzNlMGJmMDVkMjMwODUzZDM0NjRlYjNjNzUzYTNlNDY5NGNkMjUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
eGhyL3N5bmMtbm8tdGltZW91dC5hbnkuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc3luYy1uby10aW1lb3V0LmFueS5qcwpAQCAtMSw0ICsx
LDQgQEAKLS8vIE1FVEE6IGdsb2JhbD1zaGFyZWR3b3JrZXIKKy8vIE1FVEE6IGdsb2JhbD13aW5k
b3csZGVkaWNhdGVkd29ya2VyLHNoYXJlZHdvcmtlcgogLy8gTUVUQTogdGltZW91dD1sb25nCiAK
IC8vIFRoaXMgaXMgYSByZWdyZXNzaW9uIHRlc3QgZm9yIGh0dHBzOi8vY3JidWcuY29tLzg0NDI2
OCwgd2hlbiBhIHRpbWVvdXQgb2YgMTAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy13azIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2RvbS9pZGxoYXJu
ZXNzLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2RvbS9pZGxoYXJuZXNzLmh0dHBzLWV4
cGVjdGVkLnR4dAppbmRleCAzN2EwNGYxMTAwMTZjMTVlOWE3NWVlY2IwMzg2N2RmYTIwNzhjMWM2
Li5mM2FiN2YyYjhjMmZmYTA2MmM5MTIyNDI0YzRmMGJhNzA3MTI2MWRjIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9kb20vaWRsaGFybmVzcy5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vaW9zLXdrMi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
ZG9tL2lkbGhhcm5lc3MuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xNjgsNyArMTY4LDcgQEAgUEFT
UyBTaGFkb3dSb290IGluY2x1ZGVzIERvY3VtZW50T3JTaGFkb3dSb290OiBtZW1iZXIgbmFtZXMg
YXJlIHVuaXF1ZQogUEFTUyBFbGVtZW50IGluY2x1ZGVzIFBhcmVudE5vZGU6IG1lbWJlciBuYW1l
cyBhcmUgdW5pcXVlIAogUEFTUyBFbGVtZW50IGluY2x1ZGVzIE5vbkRvY3VtZW50VHlwZUNoaWxk
Tm9kZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNTIEVsZW1lbnQgaW5jbHVkZXMgQ2hp
bGROb2RlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKLVBBU1MgRWxlbWVudCBpbmNsdWRlcyBT
bG90YWJsZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCitQQVNTIEVsZW1lbnQgaW5jbHVkZXMg
U2xvdHRhYmxlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgSFRNTEFsbENvbGxlY3Rp
b24gaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVj
dCAKIFBBU1MgSFRNTEFsbENvbGxlY3Rpb24gaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCiBQQVNT
IEhUTUxBbGxDb2xsZWN0aW9uIGludGVyZmFjZSBvYmplY3QgbmFtZSAKQEAgLTI5OCw3ICsyOTgs
NiBAQCBQQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ubW91c2Vtb3ZlCiBQ
QVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ubW91c2VvdXQgCiBQQVNTIEhU
TUxFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ubW91c2VvdmVyIAogUEFTUyBIVE1MRWxl
bWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbm1vdXNldXAgCi1GQUlMIEhUTUxFbGVtZW50IGlu
dGVyZmFjZTogYXR0cmlidXRlIG9ud2hlZWwgYXNzZXJ0X3RydWU6IHByb3BlcnR5IHNob3VsZCBi
ZSBlbnVtZXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCiBQQVNTIEhUTUxFbGVtZW50IGlu
dGVyZmFjZTogYXR0cmlidXRlIG9ucGF1c2UgCiBQQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTog
YXR0cmlidXRlIG9ucGxheSAKIFBBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
b25wbGF5aW5nIApAQCAtMzE5LDYgKzMxOCwxMSBAQCBQQVNTIEhUTUxFbGVtZW50IGludGVyZmFj
ZTogYXR0cmlidXRlIG9udGltZXVwZGF0ZQogUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBvbnRvZ2dsZSAKIFBBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
b252b2x1bWVjaGFuZ2UgCiBQQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9u
d2FpdGluZyAKK0ZBSUwgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253ZWJraXRh
bmltYXRpb25lbmQgYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgIm9ud2Vi
a2l0YW5pbWF0aW9uZW5kIiBtaXNzaW5nCitGQUlMIEhUTUxFbGVtZW50IGludGVyZmFjZTogYXR0
cmlidXRlIG9ud2Via2l0YW5pbWF0aW9uaXRlcmF0aW9uIGFzc2VydF9vd25fcHJvcGVydHk6IGV4
cGVjdGVkIHByb3BlcnR5ICJvbndlYmtpdGFuaW1hdGlvbml0ZXJhdGlvbiIgbWlzc2luZworRkFJ
TCBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndlYmtpdGFuaW1hdGlvbnN0YXJ0
IGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVjdGVkIHByb3BlcnR5ICJvbndlYmtpdGFuaW1hdGlv
bnN0YXJ0IiBtaXNzaW5nCitGQUlMIEhUTUxFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9u
d2Via2l0dHJhbnNpdGlvbmVuZCBhc3NlcnRfb3duX3Byb3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0
eSAib253ZWJraXR0cmFuc2l0aW9uZW5kIiBtaXNzaW5nCitGQUlMIEhUTUxFbGVtZW50IGludGVy
ZmFjZTogYXR0cmlidXRlIG9ud2hlZWwgYXNzZXJ0X3RydWU6IHByb3BlcnR5IHNob3VsZCBiZSBl
bnVtZXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCiBGQUlMIEhUTUxFbGVtZW50IGludGVy
ZmFjZTogYXR0cmlidXRlIG9uY29weSBhc3NlcnRfb3duX3Byb3BlcnR5OiBleHBlY3RlZCBwcm9w
ZXJ0eSAib25jb3B5IiBtaXNzaW5nCiBGQUlMIEhUTUxFbGVtZW50IGludGVyZmFjZTogYXR0cmli
dXRlIG9uY3V0IGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVjdGVkIHByb3BlcnR5ICJvbmN1dCIg
bWlzc2luZwogRkFJTCBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnBhc3RlIGFz
c2VydF9vd25fcHJvcGVydHk6IGV4cGVjdGVkIHByb3BlcnR5ICJvbnBhc3RlIiBtaXNzaW5nCkBA
IC0zODksNyArMzkzLDYgQEAgUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoIm5vc2NyaXB0IikgbXVzdCBpbmhlcml0IHByb3AKIFBBU1MgSFRNTEVsZW1l
bnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJub3NjcmlwdCIpIG11c3QgaW5o
ZXJpdCBwcm9wZXJ0eSAib25tb3VzZW91dCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIEhU
TUxFbGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibm9zY3JpcHQiKSBt
dXN0IGluaGVyaXQgcHJvcGVydHkgIm9ubW91c2VvdmVyIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAK
IFBBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJub3Nj
cmlwdCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25tb3VzZXVwIiB3aXRoIHRoZSBwcm9wZXIg
dHlwZSAKLVBBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJub3NjcmlwdCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253aGVlbCIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUgCiBQQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgibm9zY3JpcHQiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ucGF1c2UiIHdpdGggdGhl
IHByb3BlciB0eXBlIAogUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoIm5vc2NyaXB0IikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnBsYXkiIHdpdGgg
dGhlIHByb3BlciB0eXBlIAogUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoIm5vc2NyaXB0IikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnBsYXlpbmci
IHdpdGggdGhlIHByb3BlciB0eXBlIApAQCAtNDEwLDYgKzQxMywxMSBAQCBQQVNTIEhUTUxFbGVt
ZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibm9zY3JpcHQiKSBtdXN0IGlu
aGVyaXQgcHJvcAogUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoIm5vc2NyaXB0IikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnRvZ2dsZSIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgCiBQQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgibm9zY3JpcHQiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9udm9sdW1lY2hh
bmdlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJub3NjcmlwdCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAi
b253YWl0aW5nIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgSFRNTEVsZW1lbnQgaW50ZXJm
YWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJub3NjcmlwdCIpIG11c3QgaW5oZXJpdCBwcm9w
ZXJ0eSAib253ZWJraXRhbmltYXRpb25lbmQiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBI
VE1MRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm5vc2NyaXB0Iikg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndlYmtpdGFuaW1hdGlvbml0ZXJhdGlvbiIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgCitQQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgibm9zY3JpcHQiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2Via2l0YW5p
bWF0aW9uc3RhcnQiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBIVE1MRWxlbWVudCBpbnRl
cmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm5vc2NyaXB0IikgbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJvbndlYmtpdHRyYW5zaXRpb25lbmQiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFT
UyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm5vc2NyaXB0
IikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndoZWVsIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAK
IFBBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJub3Nj
cmlwdCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25jb3B5IiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSAKIFBBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJu
b3NjcmlwdCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25jdXQiIHdpdGggdGhlIHByb3BlciB0
eXBlIAogUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
Im5vc2NyaXB0IikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnBhc3RlIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAKQEAgLTg5MCw2ICs4OTgsNyBAQCBQQVNTIEhUTUxJbWFnZUVsZW1lbnQgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgY29tcGxldGUKIFBBU1MgSFRNTEltYWdlRWxlbWVudCBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBjdXJyZW50U3JjIAogUEFTUyBIVE1MSW1hZ2VFbGVtZW50IGludGVyZmFjZTog
YXR0cmlidXRlIHJlZmVycmVyUG9saWN5IAogUEFTUyBIVE1MSW1hZ2VFbGVtZW50IGludGVyZmFj
ZTogYXR0cmlidXRlIGRlY29kaW5nIAorRkFJTCBIVE1MSW1hZ2VFbGVtZW50IGludGVyZmFjZTog
YXR0cmlidXRlIGxvYWRpbmcgYXNzZXJ0X3RydWU6IFRoZSBwcm90b3R5cGUgb2JqZWN0IG11c3Qg
aGF2ZSBhIHByb3BlcnR5ICJsb2FkaW5nIiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQogUEFTUyBI
VE1MSW1hZ2VFbGVtZW50IGludGVyZmFjZTogb3BlcmF0aW9uIGRlY29kZSgpIAogUEFTUyBIVE1M
SW1hZ2VFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG5hbWUgCiBQQVNTIEhUTUxJbWFnZUVs
ZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbG93c3JjIApAQCAtOTE1LDYgKzkyNCw3IEBAIFBB
U1MgSFRNTEltYWdlRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlt
ZyIpIG11c3QgaW5oZXJpdCBwcm9wCiBQQVNTIEhUTUxJbWFnZUVsZW1lbnQgaW50ZXJmYWNlOiBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImN1cnJl
bnRTcmMiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBIVE1MSW1hZ2VFbGVtZW50IGludGVy
ZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIikgbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJyZWZlcnJlclBvbGljeSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIEhUTUxJbWFnZUVs
ZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKSBtdXN0IGluaGVy
aXQgcHJvcGVydHkgImRlY29kaW5nIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK0ZBSUwgSFRNTElt
YWdlRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpIG11c3Qg
aW5oZXJpdCBwcm9wZXJ0eSAibG9hZGluZyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2lu
aGVyaXRzOiBwcm9wZXJ0eSAibG9hZGluZyIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgog
UEFTUyBIVE1MSW1hZ2VFbGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
aW1nIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJkZWNvZGUoKSIgd2l0aCB0aGUgcHJvcGVyIHR5
cGUgCiBQQVNTIEhUTUxJbWFnZUVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJpbWciKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm5hbWUiIHdpdGggdGhlIHByb3BlciB0
eXBlIAogUEFTUyBIVE1MSW1hZ2VFbGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiaW1nIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJsb3dzcmMiIHdpdGggdGhlIHByb3Bl
ciB0eXBlIApAQCAtOTQwLDYgKzk1MCw3IEBAIFBBU1MgSFRNTEltYWdlRWxlbWVudCBpbnRlcmZh
Y2U6IG5ldyBJbWFnZSgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiY29tcGxldGUiIHdpCiBQQVNT
IEhUTUxJbWFnZUVsZW1lbnQgaW50ZXJmYWNlOiBuZXcgSW1hZ2UoKSBtdXN0IGluaGVyaXQgcHJv
cGVydHkgImN1cnJlbnRTcmMiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBIVE1MSW1hZ2VF
bGVtZW50IGludGVyZmFjZTogbmV3IEltYWdlKCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJyZWZl
cnJlclBvbGljeSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIEhUTUxJbWFnZUVsZW1lbnQg
aW50ZXJmYWNlOiBuZXcgSW1hZ2UoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImRlY29kaW5nIiB3
aXRoIHRoZSBwcm9wZXIgdHlwZSAKK0ZBSUwgSFRNTEltYWdlRWxlbWVudCBpbnRlcmZhY2U6IG5l
dyBJbWFnZSgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibG9hZGluZyIgd2l0aCB0aGUgcHJvcGVy
IHR5cGUgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAibG9hZGluZyIgbm90IGZvdW5kIGluIHBy
b3RvdHlwZSBjaGFpbgogUEFTUyBIVE1MSW1hZ2VFbGVtZW50IGludGVyZmFjZTogbmV3IEltYWdl
KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJkZWNvZGUoKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUg
CiBQQVNTIEhUTUxJbWFnZUVsZW1lbnQgaW50ZXJmYWNlOiBuZXcgSW1hZ2UoKSBtdXN0IGluaGVy
aXQgcHJvcGVydHkgIm5hbWUiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBIVE1MSW1hZ2VF
bGVtZW50IGludGVyZmFjZTogbmV3IEltYWdlKCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJsb3dz
cmMiIHdpdGggdGhlIHByb3BlciB0eXBlIApAQCAtNDIxOCw3ICs0MjI5LDcgQEAgRkFJTCBFbGVt
ZW50SW50ZXJuYWxzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBwcm90b3R5cGUKIEZBSUwgRWxlbWVudEludGVybmFscyBpbnRlcmZhY2U6IGV4aXN0ZW5j
ZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29w
YWJsZXMgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93
biBwcm9wZXJ0eSAiRWxlbWVudEludGVybmFscyIgZXhwZWN0ZWQgcHJvcGVydHkgIkVsZW1lbnRJ
bnRlcm5hbHMiIG1pc3NpbmcKIEZBSUwgRWxlbWVudEludGVybmFscyBpbnRlcmZhY2U6IG9wZXJh
dGlvbiBzZXRGb3JtVmFsdWUoKEZpbGUgb3IgVVNWU3RyaW5nIG9yIEZvcm1EYXRhKT8sIG9wdGlv
bmFsIChGaWxlIG9yIFVTVlN0cmluZyBvciBGb3JtRGF0YSk/KSBhc3NlcnRfb3duX3Byb3BlcnR5
OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJFbGVtZW50SW50ZXJuYWxzIiBleHBl
Y3RlZCBwcm9wZXJ0eSAiRWxlbWVudEludGVybmFscyIgbWlzc2luZwogRkFJTCBFbGVtZW50SW50
ZXJuYWxzIGludGVyZmFjZTogYXR0cmlidXRlIGZvcm0gYXNzZXJ0X293bl9wcm9wZXJ0eTogc2Vs
ZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiRWxlbWVudEludGVybmFscyIgZXhwZWN0ZWQg
cHJvcGVydHkgIkVsZW1lbnRJbnRlcm5hbHMiIG1pc3NpbmcKLUZBSUwgRWxlbWVudEludGVybmFs
cyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBzZXRWYWxpZGl0eShWYWxpZGl0eVN0YXRlRmxhZ3MsIG9w
dGlvbmFsIERPTVN0cmluZywgb3B0aW9uYWwgSFRNTEVsZW1lbnQpIGFzc2VydF9vd25fcHJvcGVy
dHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkVsZW1lbnRJbnRlcm5hbHMiIGV4
cGVjdGVkIHByb3BlcnR5ICJFbGVtZW50SW50ZXJuYWxzIiBtaXNzaW5nCitGQUlMIEVsZW1lbnRJ
bnRlcm5hbHMgaW50ZXJmYWNlOiBvcGVyYXRpb24gc2V0VmFsaWRpdHkob3B0aW9uYWwgVmFsaWRp
dHlTdGF0ZUZsYWdzLCBvcHRpb25hbCBET01TdHJpbmcsIG9wdGlvbmFsIEhUTUxFbGVtZW50KSBh
c3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJFbGVt
ZW50SW50ZXJuYWxzIiBleHBlY3RlZCBwcm9wZXJ0eSAiRWxlbWVudEludGVybmFscyIgbWlzc2lu
ZwogRkFJTCBFbGVtZW50SW50ZXJuYWxzIGludGVyZmFjZTogYXR0cmlidXRlIHdpbGxWYWxpZGF0
ZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJF
bGVtZW50SW50ZXJuYWxzIiBleHBlY3RlZCBwcm9wZXJ0eSAiRWxlbWVudEludGVybmFscyIgbWlz
c2luZwogRkFJTCBFbGVtZW50SW50ZXJuYWxzIGludGVyZmFjZTogYXR0cmlidXRlIHZhbGlkaXR5
IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkVs
ZW1lbnRJbnRlcm5hbHMiIGV4cGVjdGVkIHByb3BlcnR5ICJFbGVtZW50SW50ZXJuYWxzIiBtaXNz
aW5nCiBGQUlMIEVsZW1lbnRJbnRlcm5hbHMgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgdmFsaWRhdGlv
bk1lc3NhZ2UgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9w
ZXJ0eSAiRWxlbWVudEludGVybmFscyIgZXhwZWN0ZWQgcHJvcGVydHkgIkVsZW1lbnRJbnRlcm5h
bHMiIG1pc3NpbmcKQEAgLTQzNTYsNyArNDM2Nyw2IEBAIFBBU1MgV2luZG93IGludGVyZmFjZTog
YXR0cmlidXRlIG9ubW91c2Vtb3ZlCiBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBv
bm1vdXNlb3V0IAogUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25tb3VzZW92ZXIg
CiBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbm1vdXNldXAgCi1GQUlMIFdpbmRv
dyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndoZWVsIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBzaG91
bGQgYmUgZW51bWVyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQogUEFTUyBXaW5kb3cgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgb25wYXVzZSAKIFBBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmli
dXRlIG9ucGxheSAKIFBBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ucGxheWluZyAK
QEAgLTQzNzcsNiArNDM4NywxMSBAQCBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBv
bnRpbWV1cGRhdGUKIFBBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9udG9nZ2xlIAog
UEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb252b2x1bWVjaGFuZ2UgCiBQQVNTIFdp
bmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndhaXRpbmcgCitGQUlMIFdpbmRvdyBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBvbndlYmtpdGFuaW1hdGlvbmVuZCBhc3NlcnRfdHJ1ZTogcHJvcGVydHkg
c2hvdWxkIGJlIGVudW1lcmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2luZG93
IGludGVyZmFjZTogYXR0cmlidXRlIG9ud2Via2l0YW5pbWF0aW9uaXRlcmF0aW9uIGFzc2VydF90
cnVlOiBwcm9wZXJ0eSBzaG91bGQgYmUgZW51bWVyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxz
ZQorRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253ZWJraXRhbmltYXRpb25zdGFy
dCBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgc2hvdWxkIGJlIGVudW1lcmFibGUgZXhwZWN0ZWQgdHJ1
ZSBnb3QgZmFsc2UKK0ZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ud2Via2l0dHJh
bnNpdGlvbmVuZCBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgc2hvdWxkIGJlIGVudW1lcmFibGUgZXhw
ZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9u
d2hlZWwgYXNzZXJ0X3RydWU6IHByb3BlcnR5IHNob3VsZCBiZSBlbnVtZXJhYmxlIGV4cGVjdGVk
IHRydWUgZ290IGZhbHNlCiBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmFmdGVy
cHJpbnQgCiBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmJlZm9yZXByaW50IAog
UEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25iZWZvcmV1bmxvYWQgCkBAIC00NTAx
LDcgKzQ1MTYsNiBAQCBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IHdpbmRvdyBtdXN0IGluaGVyaXQg
cHJvcGVydHkgIm9ubW91c2Vtb3ZlIiB3aXRoIHRoZSBwcm9wZQogUEFTUyBXaW5kb3cgaW50ZXJm
YWNlOiB3aW5kb3cgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbm1vdXNlb3V0IiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSAKIFBBU1MgV2luZG93IGludGVyZmFjZTogd2luZG93IG11c3QgaW5oZXJpdCBw
cm9wZXJ0eSAib25tb3VzZW92ZXIiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBXaW5kb3cg
aW50ZXJmYWNlOiB3aW5kb3cgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbm1vdXNldXAiIHdpdGgg
dGhlIHByb3BlciB0eXBlIAotUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiB3aW5kb3cgbXVzdCBpbmhl
cml0IHByb3BlcnR5ICJvbndoZWVsIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgV2luZG93
IGludGVyZmFjZTogd2luZG93IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25wYXVzZSIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgCiBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IHdpbmRvdyBtdXN0IGluaGVy
aXQgcHJvcGVydHkgIm9ucGxheSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIFdpbmRvdyBp
bnRlcmZhY2U6IHdpbmRvdyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ucGxheWluZyIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgCkBAIC00NTIyLDYgKzQ1MzYsMTEgQEAgUEFTUyBXaW5kb3cgaW50ZXJm
YWNlOiB3aW5kb3cgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnRpbWV1cGRhdGUiIHdpdGggdGhl
IHByb3AKIFBBU1MgV2luZG93IGludGVyZmFjZTogd2luZG93IG11c3QgaW5oZXJpdCBwcm9wZXJ0
eSAib250b2dnbGUiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBXaW5kb3cgaW50ZXJmYWNl
OiB3aW5kb3cgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnZvbHVtZWNoYW5nZSIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUgCiBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IHdpbmRvdyBtdXN0IGluaGVyaXQg
cHJvcGVydHkgIm9ud2FpdGluZyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIFdpbmRvdyBp
bnRlcmZhY2U6IHdpbmRvdyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2Via2l0YW5pbWF0aW9u
ZW5kIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgV2luZG93IGludGVyZmFjZTogd2luZG93
IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253ZWJraXRhbmltYXRpb25pdGVyYXRpb24iIHdpdGgg
dGhlIHByb3BlciB0eXBlIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiB3aW5kb3cgbXVzdCBpbmhl
cml0IHByb3BlcnR5ICJvbndlYmtpdGFuaW1hdGlvbnN0YXJ0IiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSAKK1BBU1MgV2luZG93IGludGVyZmFjZTogd2luZG93IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAi
b253ZWJraXR0cmFuc2l0aW9uZW5kIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgV2luZG93
IGludGVyZmFjZTogd2luZG93IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253aGVlbCIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgCiBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IHdpbmRvdyBtdXN0IGluaGVy
aXQgcHJvcGVydHkgIm9uYWZ0ZXJwcmludCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIFdp
bmRvdyBpbnRlcmZhY2U6IHdpbmRvdyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9uYmVmb3JlcHJp
bnQiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiB3aW5kb3cg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbmJlZm9yZXVubG9hZCIgd2l0aCB0aGUgcHJvcGVyIHR5
cGUgCkBAIC00NzIyLDYgKzQ3NDEsMTMgQEAgUEFTUyBQcm9taXNlUmVqZWN0aW9uRXZlbnQgaW50
ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3QKIFBBU1Mg
UHJvbWlzZVJlamVjdGlvbkV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSAK
IFBBU1MgUHJvbWlzZVJlamVjdGlvbkV2ZW50IGludGVyZmFjZTogYXR0cmlidXRlIHByb21pc2Ug
CiBQQVNTIFByb21pc2VSZWplY3Rpb25FdmVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSByZWFzb24g
CitQQVNTIERPTVBhcnNlciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBp
bnRlcmZhY2Ugb2JqZWN0IAorUEFTUyBET01QYXJzZXIgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgg
CitQQVNTIERPTVBhcnNlciBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCitQQVNTIERPTVBhcnNlciBp
bnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBl
IG9iamVjdCAKK1BBU1MgRE9NUGFyc2VyIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0
eSAKK1BBU1MgRE9NUGFyc2VyIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSAKK1BB
U1MgRE9NUGFyc2VyIGludGVyZmFjZTogb3BlcmF0aW9uIHBhcnNlRnJvbVN0cmluZyhET01TdHJp
bmcsIERPTVBhcnNlclN1cHBvcnRlZFR5cGUpIAogUEFTUyBOYXZpZ2F0b3IgaW50ZXJmYWNlOiBl
eGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKIFBBU1MgTmF2aWdh
dG9yIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAogUEFTUyBOYXZpZ2F0b3IgaW50ZXJmYWNlIG9i
amVjdCBuYW1lIApAQCAtNDc0Miw3ICs0NzY4LDcgQEAgRkFJTCBOYXZpZ2F0b3IgaW50ZXJmYWNl
OiBhdHRyaWJ1dGUgb3NjcHUgYXNzZXJ0X3RydWU6IFRoZSBwcm90b3R5cGUgb2JqZWN0IG11c3QK
IFBBU1MgTmF2aWdhdG9yIGludGVyZmFjZTogYXR0cmlidXRlIGxhbmd1YWdlIAogUEFTUyBOYXZp
Z2F0b3IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbGFuZ3VhZ2VzIAogUEFTUyBOYXZpZ2F0b3IgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgb25MaW5lIAotRkFJTCBOYXZpZ2F0b3IgaW50ZXJmYWNlOiBvcGVy
YXRpb24gcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoRE9NU3RyaW5nLCBVU1ZTdHJpbmcsIERPTVN0
cmluZykgYXNzZXJ0X293bl9wcm9wZXJ0eTogaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgbWlz
c2luZyBub24tc3RhdGljIG9wZXJhdGlvbiBleHBlY3RlZCBwcm9wZXJ0eSAicmVnaXN0ZXJQcm90
b2NvbEhhbmRsZXIiIG1pc3NpbmcKK0ZBSUwgTmF2aWdhdG9yIGludGVyZmFjZTogb3BlcmF0aW9u
IHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKERPTVN0cmluZywgVVNWU3RyaW5nKSBhc3NlcnRfb3du
X3Byb3BlcnR5OiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBtaXNzaW5nIG5vbi1zdGF0aWMg
b3BlcmF0aW9uIGV4cGVjdGVkIHByb3BlcnR5ICJyZWdpc3RlclByb3RvY29sSGFuZGxlciIgbWlz
c2luZwogRkFJTCBOYXZpZ2F0b3IgaW50ZXJmYWNlOiBvcGVyYXRpb24gdW5yZWdpc3RlclByb3Rv
Y29sSGFuZGxlcihET01TdHJpbmcsIFVTVlN0cmluZykgYXNzZXJ0X293bl9wcm9wZXJ0eTogaW50
ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgbWlzc2luZyBub24tc3RhdGljIG9wZXJhdGlvbiBleHBl
Y3RlZCBwcm9wZXJ0eSAidW5yZWdpc3RlclByb3RvY29sSGFuZGxlciIgbWlzc2luZwogUEFTUyBO
YXZpZ2F0b3IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgY29va2llRW5hYmxlZCAKIFBBU1MgTmF2aWdh
dG9yIGludGVyZmFjZTogYXR0cmlidXRlIHBsdWdpbnMgCkBAIC00NzY1LDggKzQ3OTEsOCBAQCBG
QUlMIE5hdmlnYXRvciBpbnRlcmZhY2U6IHdpbmRvdy5uYXZpZ2F0b3IgbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJvc2NwdSIgd2l0aCB0aAogUEFTUyBOYXZpZ2F0b3IgaW50ZXJmYWNlOiB3aW5kb3cu
bmF2aWdhdG9yIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibGFuZ3VhZ2UiIHdpdGggdGhlIHByb3Bl
ciB0eXBlIAogUEFTUyBOYXZpZ2F0b3IgaW50ZXJmYWNlOiB3aW5kb3cubmF2aWdhdG9yIG11c3Qg
aW5oZXJpdCBwcm9wZXJ0eSAibGFuZ3VhZ2VzIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1Mg
TmF2aWdhdG9yIGludGVyZmFjZTogd2luZG93Lm5hdmlnYXRvciBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgIm9uTGluZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCi1GQUlMIE5hdmlnYXRvciBpbnRlcmZh
Y2U6IHdpbmRvdy5uYXZpZ2F0b3IgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJyZWdpc3RlclByb3Rv
Y29sSGFuZGxlcihET01TdHJpbmcsIFVTVlN0cmluZywgRE9NU3RyaW5nKSIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAicmVnaXN0ZXJQcm90b2NvbEhhbmRs
ZXIiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KLUZBSUwgTmF2aWdhdG9yIGludGVyZmFj
ZTogY2FsbGluZyByZWdpc3RlclByb3RvY29sSGFuZGxlcihET01TdHJpbmcsIFVTVlN0cmluZywg
RE9NU3RyaW5nKSBvbiB3aW5kb3cubmF2aWdhdG9yIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVz
dCB0aHJvdyBUeXBlRXJyb3IgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAicmVnaXN0ZXJQcm90
b2NvbEhhbmRsZXIiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KK0ZBSUwgTmF2aWdhdG9y
IGludGVyZmFjZTogd2luZG93Lm5hdmlnYXRvciBtdXN0IGluaGVyaXQgcHJvcGVydHkgInJlZ2lz
dGVyUHJvdG9jb2xIYW5kbGVyKERPTVN0cmluZywgVVNWU3RyaW5nKSIgd2l0aCB0aGUgcHJvcGVy
IHR5cGUgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAicmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIi
IG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KK0ZBSUwgTmF2aWdhdG9yIGludGVyZmFjZTog
Y2FsbGluZyByZWdpc3RlclByb3RvY29sSGFuZGxlcihET01TdHJpbmcsIFVTVlN0cmluZykgb24g
d2luZG93Lm5hdmlnYXRvciB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVy
cm9yIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgInJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyIiBu
b3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCiBGQUlMIE5hdmlnYXRvciBpbnRlcmZhY2U6IHdp
bmRvdy5uYXZpZ2F0b3IgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJ1bnJlZ2lzdGVyUHJvdG9jb2xI
YW5kbGVyKERPTVN0cmluZywgVVNWU3RyaW5nKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0
X2luaGVyaXRzOiBwcm9wZXJ0eSAidW5yZWdpc3RlclByb3RvY29sSGFuZGxlciIgbm90IGZvdW5k
IGluIHByb3RvdHlwZSBjaGFpbgogRkFJTCBOYXZpZ2F0b3IgaW50ZXJmYWNlOiBjYWxsaW5nIHVu
cmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoRE9NU3RyaW5nLCBVU1ZTdHJpbmcpIG9uIHdpbmRvdy5u
YXZpZ2F0b3Igd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciBhc3Nl
cnRfaW5oZXJpdHM6IHByb3BlcnR5ICJ1bnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyIiBub3QgZm91
bmQgaW4gcHJvdG90eXBlIGNoYWluCiBQQVNTIE5hdmlnYXRvciBpbnRlcmZhY2U6IHdpbmRvdy5u
YXZpZ2F0b3IgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJjb29raWVFbmFibGVkIiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSAKQEAgLTUyMDMsNyArNTIyOSw2IEBAIFBBU1MgU1ZHRWxlbWVudCBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBvbm1vdXNlbW92ZQogUEFTUyBTVkdFbGVtZW50IGludGVyZmFjZTogYXR0
cmlidXRlIG9ubW91c2VvdXQgCiBQQVNTIFNWR0VsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
b25tb3VzZW92ZXIgCiBQQVNTIFNWR0VsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25tb3Vz
ZXVwIAotRkFJTCBTVkdFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ud2hlZWwgYXNzZXJ0
X3RydWU6IHByb3BlcnR5IHNob3VsZCBiZSBlbnVtZXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZh
bHNlCiBQQVNTIFNWR0VsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25wYXVzZSAKIFBBU1Mg
U1ZHRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnBsYXkgCiBQQVNTIFNWR0VsZW1lbnQg
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25wbGF5aW5nIApAQCAtNTIyNCw2ICs1MjQ5LDExIEBAIFBB
U1MgU1ZHRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnRpbWV1cGRhdGUKIFBBU1MgU1ZH
RWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnRvZ2dsZSAKIFBBU1MgU1ZHRWxlbWVudCBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnZvbHVtZWNoYW5nZSAKIFBBU1MgU1ZHRWxlbWVudCBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSBvbndhaXRpbmcgCitGQUlMIFNWR0VsZW1lbnQgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgb253ZWJraXRhbmltYXRpb25lbmQgYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0
ZWQgcHJvcGVydHkgIm9ud2Via2l0YW5pbWF0aW9uZW5kIiBtaXNzaW5nCitGQUlMIFNWR0VsZW1l
bnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253ZWJraXRhbmltYXRpb25pdGVyYXRpb24gYXNzZXJ0
X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgIm9ud2Via2l0YW5pbWF0aW9uaXRlcmF0
aW9uIiBtaXNzaW5nCitGQUlMIFNWR0VsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253ZWJr
aXRhbmltYXRpb25zdGFydCBhc3NlcnRfb3duX3Byb3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0eSAi
b253ZWJraXRhbmltYXRpb25zdGFydCIgbWlzc2luZworRkFJTCBTVkdFbGVtZW50IGludGVyZmFj
ZTogYXR0cmlidXRlIG9ud2Via2l0dHJhbnNpdGlvbmVuZCBhc3NlcnRfb3duX3Byb3BlcnR5OiBl
eHBlY3RlZCBwcm9wZXJ0eSAib253ZWJraXR0cmFuc2l0aW9uZW5kIiBtaXNzaW5nCitGQUlMIFNW
R0VsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253aGVlbCBhc3NlcnRfdHJ1ZTogcHJvcGVy
dHkgc2hvdWxkIGJlIGVudW1lcmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKIEZBSUwgU1ZH
RWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmNvcHkgYXNzZXJ0X293bl9wcm9wZXJ0eTog
ZXhwZWN0ZWQgcHJvcGVydHkgIm9uY29weSIgbWlzc2luZwogRkFJTCBTVkdFbGVtZW50IGludGVy
ZmFjZTogYXR0cmlidXRlIG9uY3V0IGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVjdGVkIHByb3Bl
cnR5ICJvbmN1dCIgbWlzc2luZwogRkFJTCBTVkdFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRl
IG9ucGFzdGUgYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgIm9ucGFzdGUi
IG1pc3NpbmcKQEAgLTUzMzYsNyArNTM2Niw2IEBAIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgb25tb3VzZW1vdmUKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
b25tb3VzZW91dCAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25tb3VzZW92
ZXIgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ubW91c2V1cCAKLUZBSUwg
RG9jdW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253aGVlbCBhc3NlcnRfdHJ1ZTogcHJvcGVy
dHkgc2hvdWxkIGJlIGVudW1lcmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKIFBBU1MgRG9j
dW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25wYXVzZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgb25wbGF5IAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBvbnBsYXlpbmcgCkBAIC01MzU3LDYgKzUzODYsMTEgQEAgUEFTUyBEb2N1bWVudCBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBvbnRpbWV1cGRhdGUKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgb250b2dnbGUgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9udm9s
dW1lY2hhbmdlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndhaXRpbmcg
CitGQUlMIERvY3VtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ud2Via2l0YW5pbWF0aW9uZW5k
IGFzc2VydF90cnVlOiBwcm9wZXJ0eSBzaG91bGQgYmUgZW51bWVyYWJsZSBleHBlY3RlZCB0cnVl
IGdvdCBmYWxzZQorRkFJTCBEb2N1bWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndlYmtpdGFu
aW1hdGlvbml0ZXJhdGlvbiBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgc2hvdWxkIGJlIGVudW1lcmFi
bGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgRG9jdW1lbnQgaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgb253ZWJraXRhbmltYXRpb25zdGFydCBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgc2hvdWxk
IGJlIGVudW1lcmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgRG9jdW1lbnQgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgb253ZWJraXR0cmFuc2l0aW9uZW5kIGFzc2VydF90cnVlOiBwcm9w
ZXJ0eSBzaG91bGQgYmUgZW51bWVyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBE
b2N1bWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndoZWVsIGFzc2VydF90cnVlOiBwcm9wZXJ0
eSBzaG91bGQgYmUgZW51bWVyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQogUEFTUyBEb2N1
bWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmNvcHkgCiBQQVNTIERvY3VtZW50IGludGVyZmFj
ZTogYXR0cmlidXRlIG9uY3V0IAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBv
bnBhc3RlIApAQCAtNTQ1OCw3ICs1NDkyLDYgQEAgUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGlm
cmFtZS5jb250ZW50RG9jdW1lbnQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbm1vdXNlbW8KIFBB
U1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBpZnJhbWUuY29udGVudERvY3VtZW50IG11c3QgaW5oZXJp
dCBwcm9wZXJ0eSAib25tb3VzZW91dCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIERvY3Vt
ZW50IGludGVyZmFjZTogaWZyYW1lLmNvbnRlbnREb2N1bWVudCBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgIm9ubW91c2VvdmVyIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50
ZXJmYWNlOiBpZnJhbWUuY29udGVudERvY3VtZW50IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25t
b3VzZXVwIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKLVBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBp
ZnJhbWUuY29udGVudERvY3VtZW50IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253aGVlbCIgd2l0
aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogaWZyYW1lLmNvbnRl
bnREb2N1bWVudCBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ucGF1c2UiIHdpdGggdGhlIHByb3Bl
ciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGlmcmFtZS5jb250ZW50RG9jdW1lbnQg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnBsYXkiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFT
UyBEb2N1bWVudCBpbnRlcmZhY2U6IGlmcmFtZS5jb250ZW50RG9jdW1lbnQgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJvbnBsYXlpbmciIHdpdGggdGhlIHByb3BlciB0eXBlIApAQCAtNTQ3OSw2ICs1
NTEyLDExIEBAIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBpZnJhbWUuY29udGVudERvY3VtZW50
IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib250aW1ldXBkCiBQQVNTIERvY3VtZW50IGludGVyZmFj
ZTogaWZyYW1lLmNvbnRlbnREb2N1bWVudCBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9udG9nZ2xl
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBpZnJhbWUu
Y29udGVudERvY3VtZW50IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib252b2x1bWVjaGFuZ2UiIHdp
dGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGlmcmFtZS5jb250
ZW50RG9jdW1lbnQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndhaXRpbmciIHdpdGggdGhlIHBy
b3BlciB0eXBlIAorUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGlmcmFtZS5jb250ZW50RG9jdW1l
bnQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndlYmtpdGFuaW1hdGlvbmVuZCIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUgCitQQVNTIERvY3VtZW50IGludGVyZmFjZTogaWZyYW1lLmNvbnRlbnREb2N1
bWVudCBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2Via2l0YW5pbWF0aW9uaXRlcmF0aW9uIiB3
aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBpZnJhbWUuY29u
dGVudERvY3VtZW50IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253ZWJraXRhbmltYXRpb25zdGFy
dCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIERvY3VtZW50IGludGVyZmFjZTogaWZyYW1l
LmNvbnRlbnREb2N1bWVudCBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2Via2l0dHJhbnNpdGlv
bmVuZCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIERvY3VtZW50IGludGVyZmFjZTogaWZy
YW1lLmNvbnRlbnREb2N1bWVudCBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2hlZWwiIHdpdGgg
dGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGlmcmFtZS5jb250ZW50
RG9jdW1lbnQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbmNvcHkiIHdpdGggdGhlIHByb3BlciB0
eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGlmcmFtZS5jb250ZW50RG9jdW1lbnQgbXVz
dCBpbmhlcml0IHByb3BlcnR5ICJvbmN1dCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIERv
Y3VtZW50IGludGVyZmFjZTogaWZyYW1lLmNvbnRlbnREb2N1bWVudCBtdXN0IGluaGVyaXQgcHJv
cGVydHkgIm9ucGFzdGUiIHdpdGggdGhlIHByb3BlciB0eXBlIApAQCAtNTU4MCw3ICs1NjE4LDYg
QEAgUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IG5ldyBEb2N1bWVudCgpIG11c3QgaW5oZXJpdCBw
cm9wZXJ0eSAib25tb3VzZW1vdmUiIHdpdGgKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBuZXcg
RG9jdW1lbnQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ubW91c2VvdXQiIHdpdGggdGhlIHBy
b3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IG5ldyBEb2N1bWVudCgpIG11c3Qg
aW5oZXJpdCBwcm9wZXJ0eSAib25tb3VzZW92ZXIiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFT
UyBEb2N1bWVudCBpbnRlcmZhY2U6IG5ldyBEb2N1bWVudCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0
eSAib25tb3VzZXVwIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKLVBBU1MgRG9jdW1lbnQgaW50ZXJm
YWNlOiBuZXcgRG9jdW1lbnQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2hlZWwiIHdpdGgg
dGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IG5ldyBEb2N1bWVudCgp
IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25wYXVzZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQ
QVNTIERvY3VtZW50IGludGVyZmFjZTogbmV3IERvY3VtZW50KCkgbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJvbnBsYXkiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZh
Y2U6IG5ldyBEb2N1bWVudCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25wbGF5aW5nIiB3aXRo
IHRoZSBwcm9wZXIgdHlwZSAKQEAgLTU2MDEsNiArNTYzOCwxMSBAQCBQQVNTIERvY3VtZW50IGlu
dGVyZmFjZTogbmV3IERvY3VtZW50KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnRpbWV1cGRh
dGUiIHdpdAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IG5ldyBEb2N1bWVudCgpIG11c3QgaW5o
ZXJpdCBwcm9wZXJ0eSAib250b2dnbGUiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1
bWVudCBpbnRlcmZhY2U6IG5ldyBEb2N1bWVudCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib252
b2x1bWVjaGFuZ2UiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZh
Y2U6IG5ldyBEb2N1bWVudCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253YWl0aW5nIiB3aXRo
IHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBuZXcgRG9jdW1lbnQo
KSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2Via2l0YW5pbWF0aW9uZW5kIiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSAKK1BBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBuZXcgRG9jdW1lbnQoKSBtdXN0
IGluaGVyaXQgcHJvcGVydHkgIm9ud2Via2l0YW5pbWF0aW9uaXRlcmF0aW9uIiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSAKK1BBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBuZXcgRG9jdW1lbnQoKSBtdXN0
IGluaGVyaXQgcHJvcGVydHkgIm9ud2Via2l0YW5pbWF0aW9uc3RhcnQiIHdpdGggdGhlIHByb3Bl
ciB0eXBlIAorUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IG5ldyBEb2N1bWVudCgpIG11c3QgaW5o
ZXJpdCBwcm9wZXJ0eSAib253ZWJraXR0cmFuc2l0aW9uZW5kIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSAKK1BBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBuZXcgRG9jdW1lbnQoKSBtdXN0IGluaGVyaXQg
cHJvcGVydHkgIm9ud2hlZWwiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBp
bnRlcmZhY2U6IG5ldyBEb2N1bWVudCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25jb3B5IiB3
aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBuZXcgRG9jdW1l
bnQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9uY3V0IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAK
IFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBuZXcgRG9jdW1lbnQoKSBtdXN0IGluaGVyaXQgcHJv
cGVydHkgIm9ucGFzdGUiIHdpdGggdGhlIHByb3BlciB0eXBlIApAQCAtNTcwMiw3ICs1NzQ0LDYg
QEAgUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGRvY3VtZW50V2l0aEhhbmRsZXJzIG11c3QgaW5o
ZXJpdCBwcm9wZXJ0eSAib25tb3VzZW1vdmUKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBkb2N1
bWVudFdpdGhIYW5kbGVycyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ubW91c2VvdXQiIHdpdGgg
dGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGRvY3VtZW50V2l0aEhh
bmRsZXJzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25tb3VzZW92ZXIiIHdpdGggdGhlIHByb3Bl
ciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGRvY3VtZW50V2l0aEhhbmRsZXJzIG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25tb3VzZXVwIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKLVBB
U1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudFdpdGhIYW5kbGVycyBtdXN0IGluaGVyaXQg
cHJvcGVydHkgIm9ud2hlZWwiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBp
bnRlcmZhY2U6IGRvY3VtZW50V2l0aEhhbmRsZXJzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25w
YXVzZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogZG9j
dW1lbnRXaXRoSGFuZGxlcnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnBsYXkiIHdpdGggdGhl
IHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGRvY3VtZW50V2l0aEhhbmRs
ZXJzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25wbGF5aW5nIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSAKQEAgLTU3MjMsNiArNTc2NCwxMSBAQCBQQVNTIERvY3VtZW50IGludGVyZmFjZTogZG9jdW1l
bnRXaXRoSGFuZGxlcnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnRpbWV1cGRhdAogUEFTUyBE
b2N1bWVudCBpbnRlcmZhY2U6IGRvY3VtZW50V2l0aEhhbmRsZXJzIG11c3QgaW5oZXJpdCBwcm9w
ZXJ0eSAib250b2dnbGUiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRl
cmZhY2U6IGRvY3VtZW50V2l0aEhhbmRsZXJzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib252b2x1
bWVjaGFuZ2UiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6
IGRvY3VtZW50V2l0aEhhbmRsZXJzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253YWl0aW5nIiB3
aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudFdp
dGhIYW5kbGVycyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2Via2l0YW5pbWF0aW9uZW5kIiB3
aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudFdp
dGhIYW5kbGVycyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2Via2l0YW5pbWF0aW9uaXRlcmF0
aW9uIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBkb2N1
bWVudFdpdGhIYW5kbGVycyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2Via2l0YW5pbWF0aW9u
c3RhcnQiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGRv
Y3VtZW50V2l0aEhhbmRsZXJzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253ZWJraXR0cmFuc2l0
aW9uZW5kIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBk
b2N1bWVudFdpdGhIYW5kbGVycyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2hlZWwiIHdpdGgg
dGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGRvY3VtZW50V2l0aEhh
bmRsZXJzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25jb3B5IiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudFdpdGhIYW5kbGVycyBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgIm9uY3V0IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1l
bnQgaW50ZXJmYWNlOiBkb2N1bWVudFdpdGhIYW5kbGVycyBtdXN0IGluaGVyaXQgcHJvcGVydHkg
Im9ucGFzdGUiIHdpdGggdGhlIHByb3BlciB0eXBlIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvZG9t
L2lkbGhhcm5lc3MuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvZG9tL2lkbGhhcm5lc3Mu
aHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IGQzZDljMzBjMDJmYzcxMGFmZmE2ZGFjNmY1YWU1MjNh
ZDAwN2Y2ODcuLjc2ODVjOWViMDBmOWNjOTA1MTNhYTQ1YWI2MjNjZTM4NjI3ODY1MjcgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL2RvbS9pZGxoYXJuZXNzLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9kb20vaWRsaGFybmVzcy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTE2OCw3ICsxNjgs
NyBAQCBQQVNTIFNoYWRvd1Jvb3QgaW5jbHVkZXMgRG9jdW1lbnRPclNoYWRvd1Jvb3Q6IG1lbWJl
ciBuYW1lcyBhcmUgdW5pcXVlCiBQQVNTIEVsZW1lbnQgaW5jbHVkZXMgUGFyZW50Tm9kZTogbWVt
YmVyIG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNTIEVsZW1lbnQgaW5jbHVkZXMgTm9uRG9jdW1lbnRU
eXBlQ2hpbGROb2RlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgRWxlbWVudCBpbmNs
dWRlcyBDaGlsZE5vZGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAotUEFTUyBFbGVtZW50IGlu
Y2x1ZGVzIFNsb3RhYmxlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKK1BBU1MgRWxlbWVudCBp
bmNsdWRlcyBTbG90dGFibGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAogUEFTUyBIVE1MQWxs
Q29sbGVjdGlvbiBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2Ugb2JqZWN0IAogUEFTUyBIVE1MQWxsQ29sbGVjdGlvbiBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0
aCAKIFBBU1MgSFRNTEFsbENvbGxlY3Rpb24gaW50ZXJmYWNlIG9iamVjdCBuYW1lIApAQCAtMjk4
LDcgKzI5OCw2IEBAIFBBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25tb3Vz
ZW1vdmUKIFBBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25tb3VzZW91dCAK
IFBBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25tb3VzZW92ZXIgCiBQQVNT
IEhUTUxFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ubW91c2V1cCAKLUZBSUwgSFRNTEVs
ZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253aGVlbCBhc3NlcnRfdHJ1ZTogcHJvcGVydHkg
c2hvdWxkIGJlIGVudW1lcmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKIFBBU1MgSFRNTEVs
ZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25wYXVzZSAKIFBBU1MgSFRNTEVsZW1lbnQgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgb25wbGF5IAogUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBvbnBsYXlpbmcgCkBAIC0zMTksNiArMzE4LDExIEBAIFBBU1MgSFRNTEVsZW1lbnQg
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgb250aW1ldXBkYXRlCiBQQVNTIEhUTUxFbGVtZW50IGludGVy
ZmFjZTogYXR0cmlidXRlIG9udG9nZ2xlIAogUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBvbnZvbHVtZWNoYW5nZSAKIFBBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgb253YWl0aW5nIAorRkFJTCBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBv
bndlYmtpdGFuaW1hdGlvbmVuZCBhc3NlcnRfb3duX3Byb3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0
eSAib253ZWJraXRhbmltYXRpb25lbmQiIG1pc3NpbmcKK0ZBSUwgSFRNTEVsZW1lbnQgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgb253ZWJraXRhbmltYXRpb25pdGVyYXRpb24gYXNzZXJ0X293bl9wcm9w
ZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgIm9ud2Via2l0YW5pbWF0aW9uaXRlcmF0aW9uIiBtaXNz
aW5nCitGQUlMIEhUTUxFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ud2Via2l0YW5pbWF0
aW9uc3RhcnQgYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgIm9ud2Via2l0
YW5pbWF0aW9uc3RhcnQiIG1pc3NpbmcKK0ZBSUwgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgb253ZWJraXR0cmFuc2l0aW9uZW5kIGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVjdGVk
IHByb3BlcnR5ICJvbndlYmtpdHRyYW5zaXRpb25lbmQiIG1pc3NpbmcKK0ZBSUwgSFRNTEVsZW1l
bnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253aGVlbCBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgc2hv
dWxkIGJlIGVudW1lcmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKIEZBSUwgSFRNTEVsZW1l
bnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25jb3B5IGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVj
dGVkIHByb3BlcnR5ICJvbmNvcHkiIG1pc3NpbmcKIEZBSUwgSFRNTEVsZW1lbnQgaW50ZXJmYWNl
OiBhdHRyaWJ1dGUgb25jdXQgYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkg
Im9uY3V0IiBtaXNzaW5nCiBGQUlMIEhUTUxFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9u
cGFzdGUgYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgIm9ucGFzdGUiIG1p
c3NpbmcKQEAgLTM4OSw3ICszOTMsNiBAQCBQQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTogZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgibm9zY3JpcHQiKSBtdXN0IGluaGVyaXQgcHJvcAogUEFTUyBI
VE1MRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm5vc2NyaXB0Iikg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbm1vdXNlb3V0IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAK
IFBBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJub3Nj
cmlwdCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25tb3VzZW92ZXIiIHdpdGggdGhlIHByb3Bl
ciB0eXBlIAogUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoIm5vc2NyaXB0IikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbm1vdXNldXAiIHdpdGggdGhl
IHByb3BlciB0eXBlIAotUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoIm5vc2NyaXB0IikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndoZWVsIiB3aXRo
IHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJub3NjcmlwdCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25wYXVzZSIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTogZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgibm9zY3JpcHQiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ucGxh
eSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTogZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgibm9zY3JpcHQiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9u
cGxheWluZyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCkBAIC00MTAsNiArNDEzLDExIEBAIFBBU1Mg
SFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJub3NjcmlwdCIp
IG11c3QgaW5oZXJpdCBwcm9wCiBQQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgibm9zY3JpcHQiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9udG9nZ2xl
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJub3NjcmlwdCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib252
b2x1bWVjaGFuZ2UiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBIVE1MRWxlbWVudCBpbnRl
cmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm5vc2NyaXB0IikgbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJvbndhaXRpbmciIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBIVE1MRWxlbWVu
dCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm5vc2NyaXB0IikgbXVzdCBpbmhl
cml0IHByb3BlcnR5ICJvbndlYmtpdGFuaW1hdGlvbmVuZCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUg
CitQQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibm9z
Y3JpcHQiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2Via2l0YW5pbWF0aW9uaXRlcmF0aW9u
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJub3NjcmlwdCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253
ZWJraXRhbmltYXRpb25zdGFydCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIEhUTUxFbGVt
ZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibm9zY3JpcHQiKSBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgIm9ud2Via2l0dHJhbnNpdGlvbmVuZCIgd2l0aCB0aGUgcHJvcGVyIHR5
cGUgCitQQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
bm9zY3JpcHQiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2hlZWwiIHdpdGggdGhlIHByb3Bl
ciB0eXBlIAogUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoIm5vc2NyaXB0IikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbmNvcHkiIHdpdGggdGhlIHBy
b3BlciB0eXBlIAogUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoIm5vc2NyaXB0IikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbmN1dCIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUgCiBQQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgibm9zY3JpcHQiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ucGFzdGUiIHdpdGgg
dGhlIHByb3BlciB0eXBlIApAQCAtODkwLDYgKzg5OCw3IEBAIFBBU1MgSFRNTEltYWdlRWxlbWVu
dCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBjb21wbGV0ZQogUEFTUyBIVE1MSW1hZ2VFbGVtZW50IGlu
dGVyZmFjZTogYXR0cmlidXRlIGN1cnJlbnRTcmMgCiBQQVNTIEhUTUxJbWFnZUVsZW1lbnQgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgcmVmZXJyZXJQb2xpY3kgCiBQQVNTIEhUTUxJbWFnZUVsZW1lbnQg
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgZGVjb2RpbmcgCitGQUlMIEhUTUxJbWFnZUVsZW1lbnQgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgbG9hZGluZyBhc3NlcnRfdHJ1ZTogVGhlIHByb3RvdHlwZSBvYmpl
Y3QgbXVzdCBoYXZlIGEgcHJvcGVydHkgImxvYWRpbmciIGV4cGVjdGVkIHRydWUgZ290IGZhbHNl
CiBQQVNTIEhUTUxJbWFnZUVsZW1lbnQgaW50ZXJmYWNlOiBvcGVyYXRpb24gZGVjb2RlKCkgCiBQ
QVNTIEhUTUxJbWFnZUVsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbmFtZSAKIFBBU1MgSFRN
TEltYWdlRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBsb3dzcmMgCkBAIC05MTUsNiArOTI0
LDcgQEAgUEFTUyBIVE1MSW1hZ2VFbGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiaW1nIikgbXVzdCBpbmhlcml0IHByb3AKIFBBU1MgSFRNTEltYWdlRWxlbWVudCBpbnRl
cmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0
eSAiY3VycmVudFNyYyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIEhUTUxJbWFnZUVsZW1l
bnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKSBtdXN0IGluaGVyaXQg
cHJvcGVydHkgInJlZmVycmVyUG9saWN5IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgSFRN
TEltYWdlRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpIG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGVjb2RpbmciIHdpdGggdGhlIHByb3BlciB0eXBlIAorRkFJ
TCBIVE1MSW1hZ2VFbGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1n
IikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJsb2FkaW5nIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBh
c3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJsb2FkaW5nIiBub3QgZm91bmQgaW4gcHJvdG90eXBl
IGNoYWluCiBQQVNTIEhUTUxJbWFnZUVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJpbWciKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImRlY29kZSgpIiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSAKIFBBU1MgSFRNTEltYWdlRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImltZyIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibmFtZSIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUgCiBQQVNTIEhUTUxJbWFnZUVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJpbWciKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImxvd3NyYyIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgCkBAIC05NDAsNiArOTUwLDcgQEAgUEFTUyBIVE1MSW1hZ2VFbGVtZW50
IGludGVyZmFjZTogbmV3IEltYWdlKCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJjb21wbGV0ZSIg
d2kKIFBBU1MgSFRNTEltYWdlRWxlbWVudCBpbnRlcmZhY2U6IG5ldyBJbWFnZSgpIG11c3QgaW5o
ZXJpdCBwcm9wZXJ0eSAiY3VycmVudFNyYyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIEhU
TUxJbWFnZUVsZW1lbnQgaW50ZXJmYWNlOiBuZXcgSW1hZ2UoKSBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgInJlZmVycmVyUG9saWN5IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgSFRNTEltYWdl
RWxlbWVudCBpbnRlcmZhY2U6IG5ldyBJbWFnZSgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGVj
b2RpbmciIHdpdGggdGhlIHByb3BlciB0eXBlIAorRkFJTCBIVE1MSW1hZ2VFbGVtZW50IGludGVy
ZmFjZTogbmV3IEltYWdlKCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJsb2FkaW5nIiB3aXRoIHRo
ZSBwcm9wZXIgdHlwZSBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJsb2FkaW5nIiBub3QgZm91
bmQgaW4gcHJvdG90eXBlIGNoYWluCiBQQVNTIEhUTUxJbWFnZUVsZW1lbnQgaW50ZXJmYWNlOiBu
ZXcgSW1hZ2UoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImRlY29kZSgpIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAKIFBBU1MgSFRNTEltYWdlRWxlbWVudCBpbnRlcmZhY2U6IG5ldyBJbWFnZSgpIG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAibmFtZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIEhU
TUxJbWFnZUVsZW1lbnQgaW50ZXJmYWNlOiBuZXcgSW1hZ2UoKSBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgImxvd3NyYyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCkBAIC00MjI4LDcgKzQyMzksNyBAQCBG
QUlMIEVsZW1lbnRJbnRlcm5hbHMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIHByb3RvdHlwZQogRkFJTCBFbGVtZW50SW50ZXJuYWxzIGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3Mg
QEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90
IGhhdmUgb3duIHByb3BlcnR5ICJFbGVtZW50SW50ZXJuYWxzIiBleHBlY3RlZCBwcm9wZXJ0eSAi
RWxlbWVudEludGVybmFscyIgbWlzc2luZwogRkFJTCBFbGVtZW50SW50ZXJuYWxzIGludGVyZmFj
ZTogb3BlcmF0aW9uIHNldEZvcm1WYWx1ZSgoRmlsZSBvciBVU1ZTdHJpbmcgb3IgRm9ybURhdGEp
Pywgb3B0aW9uYWwgKEZpbGUgb3IgVVNWU3RyaW5nIG9yIEZvcm1EYXRhKT8pIGFzc2VydF9vd25f
cHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkVsZW1lbnRJbnRlcm5h
bHMiIGV4cGVjdGVkIHByb3BlcnR5ICJFbGVtZW50SW50ZXJuYWxzIiBtaXNzaW5nCiBGQUlMIEVs
ZW1lbnRJbnRlcm5hbHMgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgZm9ybSBhc3NlcnRfb3duX3Byb3Bl
cnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJFbGVtZW50SW50ZXJuYWxzIiBl
eHBlY3RlZCBwcm9wZXJ0eSAiRWxlbWVudEludGVybmFscyIgbWlzc2luZwotRkFJTCBFbGVtZW50
SW50ZXJuYWxzIGludGVyZmFjZTogb3BlcmF0aW9uIHNldFZhbGlkaXR5KFZhbGlkaXR5U3RhdGVG
bGFncywgb3B0aW9uYWwgRE9NU3RyaW5nLCBvcHRpb25hbCBIVE1MRWxlbWVudCkgYXNzZXJ0X293
bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiRWxlbWVudEludGVy
bmFscyIgZXhwZWN0ZWQgcHJvcGVydHkgIkVsZW1lbnRJbnRlcm5hbHMiIG1pc3NpbmcKK0ZBSUwg
RWxlbWVudEludGVybmFscyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBzZXRWYWxpZGl0eShvcHRpb25h
bCBWYWxpZGl0eVN0YXRlRmxhZ3MsIG9wdGlvbmFsIERPTVN0cmluZywgb3B0aW9uYWwgSFRNTEVs
ZW1lbnQpIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVy
dHkgIkVsZW1lbnRJbnRlcm5hbHMiIGV4cGVjdGVkIHByb3BlcnR5ICJFbGVtZW50SW50ZXJuYWxz
IiBtaXNzaW5nCiBGQUlMIEVsZW1lbnRJbnRlcm5hbHMgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgd2ls
bFZhbGlkYXRlIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJv
cGVydHkgIkVsZW1lbnRJbnRlcm5hbHMiIGV4cGVjdGVkIHByb3BlcnR5ICJFbGVtZW50SW50ZXJu
YWxzIiBtaXNzaW5nCiBGQUlMIEVsZW1lbnRJbnRlcm5hbHMgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
dmFsaWRpdHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9w
ZXJ0eSAiRWxlbWVudEludGVybmFscyIgZXhwZWN0ZWQgcHJvcGVydHkgIkVsZW1lbnRJbnRlcm5h
bHMiIG1pc3NpbmcKIEZBSUwgRWxlbWVudEludGVybmFscyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSB2
YWxpZGF0aW9uTWVzc2FnZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUg
b3duIHByb3BlcnR5ICJFbGVtZW50SW50ZXJuYWxzIiBleHBlY3RlZCBwcm9wZXJ0eSAiRWxlbWVu
dEludGVybmFscyIgbWlzc2luZwpAQCAtNDM2Niw3ICs0Mzc3LDYgQEAgUEFTUyBXaW5kb3cgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgb25tb3VzZW1vdmUKIFBBU1MgV2luZG93IGludGVyZmFjZTogYXR0
cmlidXRlIG9ubW91c2VvdXQgCiBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbm1v
dXNlb3ZlciAKIFBBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ubW91c2V1cCAKLUZB
SUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ud2hlZWwgYXNzZXJ0X3RydWU6IHByb3Bl
cnR5IHNob3VsZCBiZSBlbnVtZXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCiBQQVNTIFdp
bmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnBhdXNlIAogUEFTUyBXaW5kb3cgaW50ZXJmYWNl
OiBhdHRyaWJ1dGUgb25wbGF5IAogUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25w
bGF5aW5nIApAQCAtNDM4Nyw2ICs0Mzk3LDExIEBAIFBBU1MgV2luZG93IGludGVyZmFjZTogYXR0
cmlidXRlIG9udGltZXVwZGF0ZQogUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb250
b2dnbGUgCiBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnZvbHVtZWNoYW5nZSAK
IFBBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ud2FpdGluZyAKK0ZBSUwgV2luZG93
IGludGVyZmFjZTogYXR0cmlidXRlIG9ud2Via2l0YW5pbWF0aW9uZW5kIGFzc2VydF90cnVlOiBw
cm9wZXJ0eSBzaG91bGQgYmUgZW51bWVyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJ
TCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253ZWJraXRhbmltYXRpb25pdGVyYXRpb24g
YXNzZXJ0X3RydWU6IHByb3BlcnR5IHNob3VsZCBiZSBlbnVtZXJhYmxlIGV4cGVjdGVkIHRydWUg
Z290IGZhbHNlCitGQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndlYmtpdGFuaW1h
dGlvbnN0YXJ0IGFzc2VydF90cnVlOiBwcm9wZXJ0eSBzaG91bGQgYmUgZW51bWVyYWJsZSBleHBl
Y3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253
ZWJraXR0cmFuc2l0aW9uZW5kIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBzaG91bGQgYmUgZW51bWVy
YWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgb253aGVlbCBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgc2hvdWxkIGJlIGVudW1lcmFibGUg
ZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKIFBBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRl
IG9uYWZ0ZXJwcmludCAKIFBBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uYmVmb3Jl
cHJpbnQgCiBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmJlZm9yZXVubG9hZCAK
QEAgLTQ1MTEsNyArNDUyNiw2IEBAIFBBU1MgV2luZG93IGludGVyZmFjZTogd2luZG93IG11c3Qg
aW5oZXJpdCBwcm9wZXJ0eSAib25tb3VzZW1vdmUiIHdpdGggdGhlIHByb3BlCiBQQVNTIFdpbmRv
dyBpbnRlcmZhY2U6IHdpbmRvdyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ubW91c2VvdXQiIHdp
dGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiB3aW5kb3cgbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJvbm1vdXNlb3ZlciIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNT
IFdpbmRvdyBpbnRlcmZhY2U6IHdpbmRvdyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ubW91c2V1
cCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCi1QQVNTIFdpbmRvdyBpbnRlcmZhY2U6IHdpbmRvdyBt
dXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2hlZWwiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFT
UyBXaW5kb3cgaW50ZXJmYWNlOiB3aW5kb3cgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnBhdXNl
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgV2luZG93IGludGVyZmFjZTogd2luZG93IG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25wbGF5IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1Mg
V2luZG93IGludGVyZmFjZTogd2luZG93IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25wbGF5aW5n
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKQEAgLTQ1MzIsNiArNDU0NiwxMSBAQCBQQVNTIFdpbmRv
dyBpbnRlcmZhY2U6IHdpbmRvdyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9udGltZXVwZGF0ZSIg
d2l0aCB0aGUgcHJvcAogUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiB3aW5kb3cgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJvbnRvZ2dsZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIFdpbmRvdyBp
bnRlcmZhY2U6IHdpbmRvdyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9udm9sdW1lY2hhbmdlIiB3
aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgV2luZG93IGludGVyZmFjZTogd2luZG93IG11c3Qg
aW5oZXJpdCBwcm9wZXJ0eSAib253YWl0aW5nIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1Mg
V2luZG93IGludGVyZmFjZTogd2luZG93IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253ZWJraXRh
bmltYXRpb25lbmQiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNl
OiB3aW5kb3cgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndlYmtpdGFuaW1hdGlvbml0ZXJhdGlv
biIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IHdpbmRvdyBt
dXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2Via2l0YW5pbWF0aW9uc3RhcnQiIHdpdGggdGhlIHBy
b3BlciB0eXBlIAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiB3aW5kb3cgbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJvbndlYmtpdHRyYW5zaXRpb25lbmQiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFT
UyBXaW5kb3cgaW50ZXJmYWNlOiB3aW5kb3cgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndoZWVs
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgV2luZG93IGludGVyZmFjZTogd2luZG93IG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25hZnRlcnByaW50IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAK
IFBBU1MgV2luZG93IGludGVyZmFjZTogd2luZG93IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25i
ZWZvcmVwcmludCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6
IHdpbmRvdyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9uYmVmb3JldW5sb2FkIiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSAKQEAgLTQ3MzIsNiArNDc1MSwxMyBAQCBQQVNTIFByb21pc2VSZWplY3Rpb25F
dmVudCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJv
dAogUEFTUyBQcm9taXNlUmVqZWN0aW9uRXZlbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHBy
b3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHBy
b3BlcnR5IAogUEFTUyBQcm9taXNlUmVqZWN0aW9uRXZlbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
cHJvbWlzZSAKIFBBU1MgUHJvbWlzZVJlamVjdGlvbkV2ZW50IGludGVyZmFjZTogYXR0cmlidXRl
IHJlYXNvbiAKK1BBU1MgRE9NUGFyc2VyIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCitQQVNTIERPTVBhcnNlciBpbnRlcmZhY2Ugb2JqZWN0
IGxlbmd0aCAKK1BBU1MgRE9NUGFyc2VyIGludGVyZmFjZSBvYmplY3QgbmFtZSAKK1BBU1MgRE9N
UGFyc2VyIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBw
cm90b3R5cGUgb2JqZWN0IAorUEFTUyBET01QYXJzZXIgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3Ii
IHByb3BlcnR5IAorUEFTUyBET01QYXJzZXIgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3Bl
cnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3Bl
cnR5IAorUEFTUyBET01QYXJzZXIgaW50ZXJmYWNlOiBvcGVyYXRpb24gcGFyc2VGcm9tU3RyaW5n
KERPTVN0cmluZywgRE9NUGFyc2VyU3VwcG9ydGVkVHlwZSkgCiBQQVNTIE5hdmlnYXRvciBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAogUEFT
UyBOYXZpZ2F0b3IgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCiBQQVNTIE5hdmlnYXRvciBpbnRl
cmZhY2Ugb2JqZWN0IG5hbWUgCkBAIC00NzUyLDcgKzQ3NzgsNyBAQCBGQUlMIE5hdmlnYXRvciBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBvc2NwdSBhc3NlcnRfdHJ1ZTogVGhlIHByb3RvdHlwZSBvYmpl
Y3QgbXVzdAogUEFTUyBOYXZpZ2F0b3IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbGFuZ3VhZ2UgCiBQ
QVNTIE5hdmlnYXRvciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBsYW5ndWFnZXMgCiBQQVNTIE5hdmln
YXRvciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbkxpbmUgCi1GQUlMIE5hdmlnYXRvciBpbnRlcmZh
Y2U6IG9wZXJhdGlvbiByZWdpc3RlclByb3RvY29sSGFuZGxlcihET01TdHJpbmcsIFVTVlN0cmlu
ZywgRE9NU3RyaW5nKSBhc3NlcnRfb3duX3Byb3BlcnR5OiBpbnRlcmZhY2UgcHJvdG90eXBlIG9i
amVjdCBtaXNzaW5nIG5vbi1zdGF0aWMgb3BlcmF0aW9uIGV4cGVjdGVkIHByb3BlcnR5ICJyZWdp
c3RlclByb3RvY29sSGFuZGxlciIgbWlzc2luZworRkFJTCBOYXZpZ2F0b3IgaW50ZXJmYWNlOiBv
cGVyYXRpb24gcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoRE9NU3RyaW5nLCBVU1ZTdHJpbmcpIGFz
c2VydF9vd25fcHJvcGVydHk6IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IG1pc3Npbmcgbm9u
LXN0YXRpYyBvcGVyYXRpb24gZXhwZWN0ZWQgcHJvcGVydHkgInJlZ2lzdGVyUHJvdG9jb2xIYW5k
bGVyIiBtaXNzaW5nCiBGQUlMIE5hdmlnYXRvciBpbnRlcmZhY2U6IG9wZXJhdGlvbiB1bnJlZ2lz
dGVyUHJvdG9jb2xIYW5kbGVyKERPTVN0cmluZywgVVNWU3RyaW5nKSBhc3NlcnRfb3duX3Byb3Bl
cnR5OiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBtaXNzaW5nIG5vbi1zdGF0aWMgb3BlcmF0
aW9uIGV4cGVjdGVkIHByb3BlcnR5ICJ1bnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyIiBtaXNzaW5n
CiBQQVNTIE5hdmlnYXRvciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBjb29raWVFbmFibGVkIAogUEFT
UyBOYXZpZ2F0b3IgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgcGx1Z2lucyAKQEAgLTQ3NzUsOCArNDgw
MSw4IEBAIEZBSUwgTmF2aWdhdG9yIGludGVyZmFjZTogd2luZG93Lm5hdmlnYXRvciBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgIm9zY3B1IiB3aXRoIHRoCiBQQVNTIE5hdmlnYXRvciBpbnRlcmZhY2U6
IHdpbmRvdy5uYXZpZ2F0b3IgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJsYW5ndWFnZSIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgCiBQQVNTIE5hdmlnYXRvciBpbnRlcmZhY2U6IHdpbmRvdy5uYXZpZ2F0
b3IgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJsYW5ndWFnZXMiIHdpdGggdGhlIHByb3BlciB0eXBl
IAogUEFTUyBOYXZpZ2F0b3IgaW50ZXJmYWNlOiB3aW5kb3cubmF2aWdhdG9yIG11c3QgaW5oZXJp
dCBwcm9wZXJ0eSAib25MaW5lIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKLUZBSUwgTmF2aWdhdG9y
IGludGVyZmFjZTogd2luZG93Lm5hdmlnYXRvciBtdXN0IGluaGVyaXQgcHJvcGVydHkgInJlZ2lz
dGVyUHJvdG9jb2xIYW5kbGVyKERPTVN0cmluZywgVVNWU3RyaW5nLCBET01TdHJpbmcpIiB3aXRo
IHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJyZWdpc3RlclByb3Rv
Y29sSGFuZGxlciIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgotRkFJTCBOYXZpZ2F0b3Ig
aW50ZXJmYWNlOiBjYWxsaW5nIHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKERPTVN0cmluZywgVVNW
U3RyaW5nLCBET01TdHJpbmcpIG9uIHdpbmRvdy5uYXZpZ2F0b3Igd2l0aCB0b28gZmV3IGFyZ3Vt
ZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJyZWdp
c3RlclByb3RvY29sSGFuZGxlciIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgorRkFJTCBO
YXZpZ2F0b3IgaW50ZXJmYWNlOiB3aW5kb3cubmF2aWdhdG9yIG11c3QgaW5oZXJpdCBwcm9wZXJ0
eSAicmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoRE9NU3RyaW5nLCBVU1ZTdHJpbmcpIiB3aXRoIHRo
ZSBwcm9wZXIgdHlwZSBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJyZWdpc3RlclByb3RvY29s
SGFuZGxlciIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgorRkFJTCBOYXZpZ2F0b3IgaW50
ZXJmYWNlOiBjYWxsaW5nIHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKERPTVN0cmluZywgVVNWU3Ry
aW5nKSBvbiB3aW5kb3cubmF2aWdhdG9yIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJv
dyBUeXBlRXJyb3IgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAicmVnaXN0ZXJQcm90b2NvbEhh
bmRsZXIiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KIEZBSUwgTmF2aWdhdG9yIGludGVy
ZmFjZTogd2luZG93Lm5hdmlnYXRvciBtdXN0IGluaGVyaXQgcHJvcGVydHkgInVucmVnaXN0ZXJQ
cm90b2NvbEhhbmRsZXIoRE9NU3RyaW5nLCBVU1ZTdHJpbmcpIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJ1bnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyIiBu
b3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCiBGQUlMIE5hdmlnYXRvciBpbnRlcmZhY2U6IGNh
bGxpbmcgdW5yZWdpc3RlclByb3RvY29sSGFuZGxlcihET01TdHJpbmcsIFVTVlN0cmluZykgb24g
d2luZG93Lm5hdmlnYXRvciB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVy
cm9yIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgInVucmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIi
IG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KIFBBU1MgTmF2aWdhdG9yIGludGVyZmFjZTog
d2luZG93Lm5hdmlnYXRvciBtdXN0IGluaGVyaXQgcHJvcGVydHkgImNvb2tpZUVuYWJsZWQiIHdp
dGggdGhlIHByb3BlciB0eXBlIApAQCAtNTIxMyw3ICs1MjM5LDYgQEAgUEFTUyBTVkdFbGVtZW50
IGludGVyZmFjZTogYXR0cmlidXRlIG9ubW91c2Vtb3ZlCiBQQVNTIFNWR0VsZW1lbnQgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgb25tb3VzZW91dCAKIFBBU1MgU1ZHRWxlbWVudCBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBvbm1vdXNlb3ZlciAKIFBBU1MgU1ZHRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBvbm1vdXNldXAgCi1GQUlMIFNWR0VsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253aGVl
bCBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgc2hvdWxkIGJlIGVudW1lcmFibGUgZXhwZWN0ZWQgdHJ1
ZSBnb3QgZmFsc2UKIFBBU1MgU1ZHRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnBhdXNl
IAogUEFTUyBTVkdFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ucGxheSAKIFBBU1MgU1ZH
RWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnBsYXlpbmcgCkBAIC01MjM0LDYgKzUyNTks
MTEgQEAgUEFTUyBTVkdFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9udGltZXVwZGF0ZQog
UEFTUyBTVkdFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9udG9nZ2xlIAogUEFTUyBTVkdF
bGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9udm9sdW1lY2hhbmdlIAogUEFTUyBTVkdFbGVt
ZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ud2FpdGluZyAKK0ZBSUwgU1ZHRWxlbWVudCBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSBvbndlYmtpdGFuaW1hdGlvbmVuZCBhc3NlcnRfb3duX3Byb3BlcnR5
OiBleHBlY3RlZCBwcm9wZXJ0eSAib253ZWJraXRhbmltYXRpb25lbmQiIG1pc3NpbmcKK0ZBSUwg
U1ZHRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndlYmtpdGFuaW1hdGlvbml0ZXJhdGlv
biBhc3NlcnRfb3duX3Byb3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0eSAib253ZWJraXRhbmltYXRp
b25pdGVyYXRpb24iIG1pc3NpbmcKK0ZBSUwgU1ZHRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBvbndlYmtpdGFuaW1hdGlvbnN0YXJ0IGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVjdGVkIHBy
b3BlcnR5ICJvbndlYmtpdGFuaW1hdGlvbnN0YXJ0IiBtaXNzaW5nCitGQUlMIFNWR0VsZW1lbnQg
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253ZWJraXR0cmFuc2l0aW9uZW5kIGFzc2VydF9vd25fcHJv
cGVydHk6IGV4cGVjdGVkIHByb3BlcnR5ICJvbndlYmtpdHRyYW5zaXRpb25lbmQiIG1pc3NpbmcK
K0ZBSUwgU1ZHRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndoZWVsIGFzc2VydF90cnVl
OiBwcm9wZXJ0eSBzaG91bGQgYmUgZW51bWVyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQog
RkFJTCBTVkdFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9uY29weSBhc3NlcnRfb3duX3By
b3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0eSAib25jb3B5IiBtaXNzaW5nCiBGQUlMIFNWR0VsZW1l
bnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25jdXQgYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0
ZWQgcHJvcGVydHkgIm9uY3V0IiBtaXNzaW5nCiBGQUlMIFNWR0VsZW1lbnQgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgb25wYXN0ZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0eSAi
b25wYXN0ZSIgbWlzc2luZwpAQCAtNTM0Niw3ICs1Mzc2LDYgQEAgUEFTUyBEb2N1bWVudCBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSBvbm1vdXNlbW92ZQogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBvbm1vdXNlb3V0IAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBv
bm1vdXNlb3ZlciAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25tb3VzZXVw
IAotRkFJTCBEb2N1bWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndoZWVsIGFzc2VydF90cnVl
OiBwcm9wZXJ0eSBzaG91bGQgYmUgZW51bWVyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQog
UEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnBhdXNlIAogUEFTUyBEb2N1bWVu
dCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnBsYXkgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTog
YXR0cmlidXRlIG9ucGxheWluZyAKQEAgLTUzNjcsNiArNTM5NiwxMSBAQCBQQVNTIERvY3VtZW50
IGludGVyZmFjZTogYXR0cmlidXRlIG9udGltZXVwZGF0ZQogUEFTUyBEb2N1bWVudCBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBvbnRvZ2dsZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgb252b2x1bWVjaGFuZ2UgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9u
d2FpdGluZyAKK0ZBSUwgRG9jdW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253ZWJraXRhbmlt
YXRpb25lbmQgYXNzZXJ0X3RydWU6IHByb3BlcnR5IHNob3VsZCBiZSBlbnVtZXJhYmxlIGV4cGVj
dGVkIHRydWUgZ290IGZhbHNlCitGQUlMIERvY3VtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9u
d2Via2l0YW5pbWF0aW9uaXRlcmF0aW9uIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBzaG91bGQgYmUg
ZW51bWVyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBEb2N1bWVudCBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBvbndlYmtpdGFuaW1hdGlvbnN0YXJ0IGFzc2VydF90cnVlOiBwcm9wZXJ0
eSBzaG91bGQgYmUgZW51bWVyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCBEb2N1
bWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndlYmtpdHRyYW5zaXRpb25lbmQgYXNzZXJ0X3Ry
dWU6IHByb3BlcnR5IHNob3VsZCBiZSBlbnVtZXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNl
CitGQUlMIERvY3VtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ud2hlZWwgYXNzZXJ0X3RydWU6
IHByb3BlcnR5IHNob3VsZCBiZSBlbnVtZXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCiBQ
QVNTIERvY3VtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9uY29weSAKIFBBU1MgRG9jdW1lbnQg
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25jdXQgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogYXR0
cmlidXRlIG9ucGFzdGUgCkBAIC01NDY4LDcgKzU1MDIsNiBAQCBQQVNTIERvY3VtZW50IGludGVy
ZmFjZTogaWZyYW1lLmNvbnRlbnREb2N1bWVudCBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ubW91
c2VtbwogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGlmcmFtZS5jb250ZW50RG9jdW1lbnQgbXVz
dCBpbmhlcml0IHByb3BlcnR5ICJvbm1vdXNlb3V0IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBB
U1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBpZnJhbWUuY29udGVudERvY3VtZW50IG11c3QgaW5oZXJp
dCBwcm9wZXJ0eSAib25tb3VzZW92ZXIiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1
bWVudCBpbnRlcmZhY2U6IGlmcmFtZS5jb250ZW50RG9jdW1lbnQgbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJvbm1vdXNldXAiIHdpdGggdGhlIHByb3BlciB0eXBlIAotUEFTUyBEb2N1bWVudCBpbnRl
cmZhY2U6IGlmcmFtZS5jb250ZW50RG9jdW1lbnQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndo
ZWVsIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBpZnJh
bWUuY29udGVudERvY3VtZW50IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25wYXVzZSIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogaWZyYW1lLmNvbnRlbnRE
b2N1bWVudCBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ucGxheSIgd2l0aCB0aGUgcHJvcGVyIHR5
cGUgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogaWZyYW1lLmNvbnRlbnREb2N1bWVudCBtdXN0
IGluaGVyaXQgcHJvcGVydHkgIm9ucGxheWluZyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCkBAIC01
NDg5LDYgKzU1MjIsMTEgQEAgUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGlmcmFtZS5jb250ZW50
RG9jdW1lbnQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnRpbWV1cGQKIFBBU1MgRG9jdW1lbnQg
aW50ZXJmYWNlOiBpZnJhbWUuY29udGVudERvY3VtZW50IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAi
b250b2dnbGUiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6
IGlmcmFtZS5jb250ZW50RG9jdW1lbnQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnZvbHVtZWNo
YW5nZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogaWZy
YW1lLmNvbnRlbnREb2N1bWVudCBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2FpdGluZyIgd2l0
aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIERvY3VtZW50IGludGVyZmFjZTogaWZyYW1lLmNvbnRl
bnREb2N1bWVudCBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2Via2l0YW5pbWF0aW9uZW5kIiB3
aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBpZnJhbWUuY29u
dGVudERvY3VtZW50IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253ZWJraXRhbmltYXRpb25pdGVy
YXRpb24iIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGlm
cmFtZS5jb250ZW50RG9jdW1lbnQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndlYmtpdGFuaW1h
dGlvbnN0YXJ0IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgRG9jdW1lbnQgaW50ZXJmYWNl
OiBpZnJhbWUuY29udGVudERvY3VtZW50IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253ZWJraXR0
cmFuc2l0aW9uZW5kIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgRG9jdW1lbnQgaW50ZXJm
YWNlOiBpZnJhbWUuY29udGVudERvY3VtZW50IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253aGVl
bCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogaWZyYW1l
LmNvbnRlbnREb2N1bWVudCBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9uY29weSIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogaWZyYW1lLmNvbnRlbnREb2N1
bWVudCBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9uY3V0IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAK
IFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBpZnJhbWUuY29udGVudERvY3VtZW50IG11c3QgaW5o
ZXJpdCBwcm9wZXJ0eSAib25wYXN0ZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCkBAIC01NTkwLDcg
KzU2MjgsNiBAQCBQQVNTIERvY3VtZW50IGludGVyZmFjZTogbmV3IERvY3VtZW50KCkgbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJvbm1vdXNlbW92ZSIgd2l0aAogUEFTUyBEb2N1bWVudCBpbnRlcmZh
Y2U6IG5ldyBEb2N1bWVudCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25tb3VzZW91dCIgd2l0
aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogbmV3IERvY3VtZW50
KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbm1vdXNlb3ZlciIgd2l0aCB0aGUgcHJvcGVyIHR5
cGUgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogbmV3IERvY3VtZW50KCkgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJvbm1vdXNldXAiIHdpdGggdGhlIHByb3BlciB0eXBlIAotUEFTUyBEb2N1bWVu
dCBpbnRlcmZhY2U6IG5ldyBEb2N1bWVudCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253aGVl
bCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogbmV3IERv
Y3VtZW50KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnBhdXNlIiB3aXRoIHRoZSBwcm9wZXIg
dHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBuZXcgRG9jdW1lbnQoKSBtdXN0IGluaGVy
aXQgcHJvcGVydHkgIm9ucGxheSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIERvY3VtZW50
IGludGVyZmFjZTogbmV3IERvY3VtZW50KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnBsYXlp
bmciIHdpdGggdGhlIHByb3BlciB0eXBlIApAQCAtNTYxMSw2ICs1NjQ4LDExIEBAIFBBU1MgRG9j
dW1lbnQgaW50ZXJmYWNlOiBuZXcgRG9jdW1lbnQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9u
dGltZXVwZGF0ZSIgd2l0CiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogbmV3IERvY3VtZW50KCkg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnRvZ2dsZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQ
QVNTIERvY3VtZW50IGludGVyZmFjZTogbmV3IERvY3VtZW50KCkgbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJvbnZvbHVtZWNoYW5nZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIERvY3VtZW50
IGludGVyZmFjZTogbmV3IERvY3VtZW50KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndhaXRp
bmciIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IG5ldyBE
b2N1bWVudCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253ZWJraXRhbmltYXRpb25lbmQiIHdp
dGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IG5ldyBEb2N1bWVu
dCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253ZWJraXRhbmltYXRpb25pdGVyYXRpb24iIHdp
dGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IG5ldyBEb2N1bWVu
dCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253ZWJraXRhbmltYXRpb25zdGFydCIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgCitQQVNTIERvY3VtZW50IGludGVyZmFjZTogbmV3IERvY3VtZW50KCkg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndlYmtpdHRyYW5zaXRpb25lbmQiIHdpdGggdGhlIHBy
b3BlciB0eXBlIAorUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IG5ldyBEb2N1bWVudCgpIG11c3Qg
aW5oZXJpdCBwcm9wZXJ0eSAib253aGVlbCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIERv
Y3VtZW50IGludGVyZmFjZTogbmV3IERvY3VtZW50KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJv
bmNvcHkiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IG5l
dyBEb2N1bWVudCgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25jdXQiIHdpdGggdGhlIHByb3Bl
ciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IG5ldyBEb2N1bWVudCgpIG11c3QgaW5o
ZXJpdCBwcm9wZXJ0eSAib25wYXN0ZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCkBAIC01NzEyLDcg
KzU3NTQsNiBAQCBQQVNTIERvY3VtZW50IGludGVyZmFjZTogZG9jdW1lbnRXaXRoSGFuZGxlcnMg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbm1vdXNlbW92ZQogUEFTUyBEb2N1bWVudCBpbnRlcmZh
Y2U6IGRvY3VtZW50V2l0aEhhbmRsZXJzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25tb3VzZW91
dCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogZG9jdW1l
bnRXaXRoSGFuZGxlcnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbm1vdXNlb3ZlciIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogZG9jdW1lbnRXaXRoSGFu
ZGxlcnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbm1vdXNldXAiIHdpdGggdGhlIHByb3BlciB0
eXBlIAotUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGRvY3VtZW50V2l0aEhhbmRsZXJzIG11c3Qg
aW5oZXJpdCBwcm9wZXJ0eSAib253aGVlbCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIERv
Y3VtZW50IGludGVyZmFjZTogZG9jdW1lbnRXaXRoSGFuZGxlcnMgbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJvbnBhdXNlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJm
YWNlOiBkb2N1bWVudFdpdGhIYW5kbGVycyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ucGxheSIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogZG9jdW1lbnRX
aXRoSGFuZGxlcnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnBsYXlpbmciIHdpdGggdGhlIHBy
b3BlciB0eXBlIApAQCAtNTczMyw2ICs1Nzc0LDExIEBAIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNl
OiBkb2N1bWVudFdpdGhIYW5kbGVycyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9udGltZXVwZGF0
CiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogZG9jdW1lbnRXaXRoSGFuZGxlcnMgbXVzdCBpbmhl
cml0IHByb3BlcnR5ICJvbnRvZ2dsZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIERvY3Vt
ZW50IGludGVyZmFjZTogZG9jdW1lbnRXaXRoSGFuZGxlcnMgbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJvbnZvbHVtZWNoYW5nZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIERvY3VtZW50IGlu
dGVyZmFjZTogZG9jdW1lbnRXaXRoSGFuZGxlcnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndh
aXRpbmciIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGRv
Y3VtZW50V2l0aEhhbmRsZXJzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253ZWJraXRhbmltYXRp
b25lbmQiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGRv
Y3VtZW50V2l0aEhhbmRsZXJzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253ZWJraXRhbmltYXRp
b25pdGVyYXRpb24iIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBEb2N1bWVudCBpbnRlcmZh
Y2U6IGRvY3VtZW50V2l0aEhhbmRsZXJzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253ZWJraXRh
bmltYXRpb25zdGFydCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIERvY3VtZW50IGludGVy
ZmFjZTogZG9jdW1lbnRXaXRoSGFuZGxlcnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndlYmtp
dHRyYW5zaXRpb25lbmQiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBEb2N1bWVudCBpbnRl
cmZhY2U6IGRvY3VtZW50V2l0aEhhbmRsZXJzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253aGVl
bCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogZG9jdW1l
bnRXaXRoSGFuZGxlcnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbmNvcHkiIHdpdGggdGhlIHBy
b3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGRvY3VtZW50V2l0aEhhbmRsZXJz
IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25jdXQiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFT
UyBEb2N1bWVudCBpbnRlcmZhY2U6IGRvY3VtZW50V2l0aEhhbmRsZXJzIG11c3QgaW5oZXJpdCBw
cm9wZXJ0eSAib25wYXN0ZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9kb20vaWRsaGFybmVzcy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtd2syL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9kb20vaWRs
aGFybmVzcy5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggNThmOGU4NjYxYzBlMzU2OGI5NmVmNDVh
ZWQ4YWVkYTE5MGQ1OWQzMC4uNzdmNmEwYjJiZTZiZDZlYTVjNTFmNjVkM2RjYzQzNzRmNjZiMGMx
NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvZG9tL2lkbGhhcm5lc3MuaHR0cHMtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL2RvbS9pZGxoYXJuZXNzLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMTY4
LDcgKzE2OCw3IEBAIFBBU1MgU2hhZG93Um9vdCBpbmNsdWRlcyBEb2N1bWVudE9yU2hhZG93Um9v
dDogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKIFBBU1MgRWxlbWVudCBpbmNsdWRlcyBQYXJlbnRO
b2RlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgRWxlbWVudCBpbmNsdWRlcyBOb25E
b2N1bWVudFR5cGVDaGlsZE5vZGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAogUEFTUyBFbGVt
ZW50IGluY2x1ZGVzIENoaWxkTm9kZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCi1QQVNTIEVs
ZW1lbnQgaW5jbHVkZXMgU2xvdGFibGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAorUEFTUyBF
bGVtZW50IGluY2x1ZGVzIFNsb3R0YWJsZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNT
IEhUTUxBbGxDb2xsZWN0aW9uIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBvYmplY3QgCiBQQVNTIEhUTUxBbGxDb2xsZWN0aW9uIGludGVyZmFjZSBvYmpl
Y3QgbGVuZ3RoIAogUEFTUyBIVE1MQWxsQ29sbGVjdGlvbiBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUg
CkBAIC0yOTgsNyArMjk4LDYgQEAgUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBvbm1vdXNlbW92ZQogUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbm1v
dXNlb3V0IAogUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbm1vdXNlb3Zl
ciAKIFBBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25tb3VzZXVwIAotRkFJ
TCBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndoZWVsIGFzc2VydF90cnVlOiBw
cm9wZXJ0eSBzaG91bGQgYmUgZW51bWVyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQogUEFT
UyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnBhdXNlIAogUEFTUyBIVE1MRWxl
bWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnBsYXkgCiBQQVNTIEhUTUxFbGVtZW50IGludGVy
ZmFjZTogYXR0cmlidXRlIG9ucGxheWluZyAKQEAgLTMxOSw2ICszMTgsMTEgQEAgUEFTUyBIVE1M
RWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnRpbWV1cGRhdGUKIFBBU1MgSFRNTEVsZW1l
bnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb250b2dnbGUgCiBQQVNTIEhUTUxFbGVtZW50IGludGVy
ZmFjZTogYXR0cmlidXRlIG9udm9sdW1lY2hhbmdlIAogUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBvbndhaXRpbmcgCitGQUlMIEhUTUxFbGVtZW50IGludGVyZmFjZTogYXR0
cmlidXRlIG9ud2Via2l0YW5pbWF0aW9uZW5kIGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVjdGVk
IHByb3BlcnR5ICJvbndlYmtpdGFuaW1hdGlvbmVuZCIgbWlzc2luZworRkFJTCBIVE1MRWxlbWVu
dCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndlYmtpdGFuaW1hdGlvbml0ZXJhdGlvbiBhc3NlcnRf
b3duX3Byb3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0eSAib253ZWJraXRhbmltYXRpb25pdGVyYXRp
b24iIG1pc3NpbmcKK0ZBSUwgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253ZWJr
aXRhbmltYXRpb25zdGFydCBhc3NlcnRfb3duX3Byb3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0eSAi
b253ZWJraXRhbmltYXRpb25zdGFydCIgbWlzc2luZworRkFJTCBIVE1MRWxlbWVudCBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBvbndlYmtpdHRyYW5zaXRpb25lbmQgYXNzZXJ0X293bl9wcm9wZXJ0eTog
ZXhwZWN0ZWQgcHJvcGVydHkgIm9ud2Via2l0dHJhbnNpdGlvbmVuZCIgbWlzc2luZworRkFJTCBI
VE1MRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndoZWVsIGFzc2VydF90cnVlOiBwcm9w
ZXJ0eSBzaG91bGQgYmUgZW51bWVyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQogRkFJTCBI
VE1MRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmNvcHkgYXNzZXJ0X293bl9wcm9wZXJ0
eTogZXhwZWN0ZWQgcHJvcGVydHkgIm9uY29weSIgbWlzc2luZwogRkFJTCBIVE1MRWxlbWVudCBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmN1dCBhc3NlcnRfb3duX3Byb3BlcnR5OiBleHBlY3RlZCBw
cm9wZXJ0eSAib25jdXQiIG1pc3NpbmcKIEZBSUwgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgb25wYXN0ZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0eSAib25w
YXN0ZSIgbWlzc2luZwpAQCAtMzg5LDcgKzM5Myw2IEBAIFBBU1MgSFRNTEVsZW1lbnQgaW50ZXJm
YWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJub3NjcmlwdCIpIG11c3QgaW5oZXJpdCBwcm9w
CiBQQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibm9z
Y3JpcHQiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ubW91c2VvdXQiIHdpdGggdGhlIHByb3Bl
ciB0eXBlIAogUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoIm5vc2NyaXB0IikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbm1vdXNlb3ZlciIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgCiBQQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgibm9zY3JpcHQiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ubW91c2V1cCIg
d2l0aCB0aGUgcHJvcGVyIHR5cGUgCi1QQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTogZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgibm9zY3JpcHQiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2hl
ZWwiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoIm5vc2NyaXB0IikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJv
bnBhdXNlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNl
OiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJub3NjcmlwdCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0
eSAib25wbGF5IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgSFRNTEVsZW1lbnQgaW50ZXJm
YWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJub3NjcmlwdCIpIG11c3QgaW5oZXJpdCBwcm9w
ZXJ0eSAib25wbGF5aW5nIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKQEAgLTQxMCw2ICs0MTMsMTEg
QEAgUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm5v
c2NyaXB0IikgbXVzdCBpbmhlcml0IHByb3AKIFBBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJub3NjcmlwdCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAi
b250b2dnbGUiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZh
Y2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm5vc2NyaXB0IikgbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJvbnZvbHVtZWNoYW5nZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIEhUTUxFbGVt
ZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibm9zY3JpcHQiKSBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgIm9ud2FpdGluZyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIEhU
TUxFbGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibm9zY3JpcHQiKSBt
dXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2Via2l0YW5pbWF0aW9uZW5kIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAKK1BBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJub3NjcmlwdCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253ZWJraXRhbmltYXRpb25p
dGVyYXRpb24iIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBIVE1MRWxlbWVudCBpbnRlcmZh
Y2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm5vc2NyaXB0IikgbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJvbndlYmtpdGFuaW1hdGlvbnN0YXJ0IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1Mg
SFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJub3NjcmlwdCIp
IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253ZWJraXR0cmFuc2l0aW9uZW5kIiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSAKK1BBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJub3NjcmlwdCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253aGVlbCIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgCiBQQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgibm9zY3JpcHQiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9uY29weSIgd2l0
aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIEhUTUxFbGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgibm9zY3JpcHQiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9uY3V0IiB3
aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgSFRNTEVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJub3NjcmlwdCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25wYXN0
ZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCkBAIC04OTAsNiArODk4LDcgQEAgUEFTUyBIVE1MSW1h
Z2VFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIGNvbXBsZXRlCiBQQVNTIEhUTUxJbWFnZUVs
ZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgY3VycmVudFNyYyAKIFBBU1MgSFRNTEltYWdlRWxl
bWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSByZWZlcnJlclBvbGljeSAKIFBBU1MgSFRNTEltYWdl
RWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBkZWNvZGluZyAKK0ZBSUwgSFRNTEltYWdlRWxl
bWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBsb2FkaW5nIGFzc2VydF90cnVlOiBUaGUgcHJvdG90
eXBlIG9iamVjdCBtdXN0IGhhdmUgYSBwcm9wZXJ0eSAibG9hZGluZyIgZXhwZWN0ZWQgdHJ1ZSBn
b3QgZmFsc2UKIFBBU1MgSFRNTEltYWdlRWxlbWVudCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBkZWNv
ZGUoKSAKIFBBU1MgSFRNTEltYWdlRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBuYW1lIAog
UEFTUyBIVE1MSW1hZ2VFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIGxvd3NyYyAKQEAgLTkx
NSw2ICs5MjQsNyBAQCBQQVNTIEhUTUxJbWFnZUVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJpbWciKSBtdXN0IGluaGVyaXQgcHJvcAogUEFTUyBIVE1MSW1hZ2VFbGVt
ZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIikgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJjdXJyZW50U3JjIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgSFRNTElt
YWdlRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpIG11c3Qg
aW5oZXJpdCBwcm9wZXJ0eSAicmVmZXJyZXJQb2xpY3kiIHdpdGggdGhlIHByb3BlciB0eXBlIAog
UEFTUyBIVE1MSW1hZ2VFbGVtZW50IGludGVyZmFjZTogZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
aW1nIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJkZWNvZGluZyIgd2l0aCB0aGUgcHJvcGVyIHR5
cGUgCitGQUlMIEhUTUxJbWFnZUVsZW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJpbWciKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImxvYWRpbmciIHdpdGggdGhlIHByb3Bl
ciB0eXBlIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgImxvYWRpbmciIG5vdCBmb3VuZCBpbiBw
cm90b3R5cGUgY2hhaW4KIFBBU1MgSFRNTEltYWdlRWxlbWVudCBpbnRlcmZhY2U6IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImltZyIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGVjb2RlKCkiIHdp
dGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBIVE1MSW1hZ2VFbGVtZW50IGludGVyZmFjZTogZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJuYW1lIiB3
aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgSFRNTEltYWdlRWxlbWVudCBpbnRlcmZhY2U6IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibG93c3Jj
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKQEAgLTk0MCw2ICs5NTAsNyBAQCBQQVNTIEhUTUxJbWFn
ZUVsZW1lbnQgaW50ZXJmYWNlOiBuZXcgSW1hZ2UoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImNv
bXBsZXRlIiB3aQogUEFTUyBIVE1MSW1hZ2VFbGVtZW50IGludGVyZmFjZTogbmV3IEltYWdlKCkg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJjdXJyZW50U3JjIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAK
IFBBU1MgSFRNTEltYWdlRWxlbWVudCBpbnRlcmZhY2U6IG5ldyBJbWFnZSgpIG11c3QgaW5oZXJp
dCBwcm9wZXJ0eSAicmVmZXJyZXJQb2xpY3kiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBI
VE1MSW1hZ2VFbGVtZW50IGludGVyZmFjZTogbmV3IEltYWdlKCkgbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJkZWNvZGluZyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitGQUlMIEhUTUxJbWFnZUVsZW1l
bnQgaW50ZXJmYWNlOiBuZXcgSW1hZ2UoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImxvYWRpbmci
IHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgImxvYWRpbmci
IG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KIFBBU1MgSFRNTEltYWdlRWxlbWVudCBpbnRl
cmZhY2U6IG5ldyBJbWFnZSgpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGVjb2RlKCkiIHdpdGgg
dGhlIHByb3BlciB0eXBlIAogUEFTUyBIVE1MSW1hZ2VFbGVtZW50IGludGVyZmFjZTogbmV3IElt
YWdlKCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJuYW1lIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAK
IFBBU1MgSFRNTEltYWdlRWxlbWVudCBpbnRlcmZhY2U6IG5ldyBJbWFnZSgpIG11c3QgaW5oZXJp
dCBwcm9wZXJ0eSAibG93c3JjIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKQEAgLTQyMjgsNyArNDIz
OSw3IEBAIEZBSUwgRWxlbWVudEludGVybmFscyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJv
cGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlCiBGQUlMIEVsZW1lbnRJbnRlcm5hbHMgaW50
ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBv
YmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYg
ZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkVsZW1lbnRJbnRlcm5hbHMiIGV4cGVjdGVkIHBy
b3BlcnR5ICJFbGVtZW50SW50ZXJuYWxzIiBtaXNzaW5nCiBGQUlMIEVsZW1lbnRJbnRlcm5hbHMg
aW50ZXJmYWNlOiBvcGVyYXRpb24gc2V0Rm9ybVZhbHVlKChGaWxlIG9yIFVTVlN0cmluZyBvciBG
b3JtRGF0YSk/LCBvcHRpb25hbCAoRmlsZSBvciBVU1ZTdHJpbmcgb3IgRm9ybURhdGEpPykgYXNz
ZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiRWxlbWVu
dEludGVybmFscyIgZXhwZWN0ZWQgcHJvcGVydHkgIkVsZW1lbnRJbnRlcm5hbHMiIG1pc3NpbmcK
IEZBSUwgRWxlbWVudEludGVybmFscyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBmb3JtIGFzc2VydF9v
d25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIkVsZW1lbnRJbnRl
cm5hbHMiIGV4cGVjdGVkIHByb3BlcnR5ICJFbGVtZW50SW50ZXJuYWxzIiBtaXNzaW5nCi1GQUlM
IEVsZW1lbnRJbnRlcm5hbHMgaW50ZXJmYWNlOiBvcGVyYXRpb24gc2V0VmFsaWRpdHkoVmFsaWRp
dHlTdGF0ZUZsYWdzLCBvcHRpb25hbCBET01TdHJpbmcsIG9wdGlvbmFsIEhUTUxFbGVtZW50KSBh
c3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJFbGVt
ZW50SW50ZXJuYWxzIiBleHBlY3RlZCBwcm9wZXJ0eSAiRWxlbWVudEludGVybmFscyIgbWlzc2lu
ZworRkFJTCBFbGVtZW50SW50ZXJuYWxzIGludGVyZmFjZTogb3BlcmF0aW9uIHNldFZhbGlkaXR5
KG9wdGlvbmFsIFZhbGlkaXR5U3RhdGVGbGFncywgb3B0aW9uYWwgRE9NU3RyaW5nLCBvcHRpb25h
bCBIVE1MRWxlbWVudCkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93
biBwcm9wZXJ0eSAiRWxlbWVudEludGVybmFscyIgZXhwZWN0ZWQgcHJvcGVydHkgIkVsZW1lbnRJ
bnRlcm5hbHMiIG1pc3NpbmcKIEZBSUwgRWxlbWVudEludGVybmFscyBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSB3aWxsVmFsaWRhdGUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZl
IG93biBwcm9wZXJ0eSAiRWxlbWVudEludGVybmFscyIgZXhwZWN0ZWQgcHJvcGVydHkgIkVsZW1l
bnRJbnRlcm5hbHMiIG1pc3NpbmcKIEZBSUwgRWxlbWVudEludGVybmFscyBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSB2YWxpZGl0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUg
b3duIHByb3BlcnR5ICJFbGVtZW50SW50ZXJuYWxzIiBleHBlY3RlZCBwcm9wZXJ0eSAiRWxlbWVu
dEludGVybmFscyIgbWlzc2luZwogRkFJTCBFbGVtZW50SW50ZXJuYWxzIGludGVyZmFjZTogYXR0
cmlidXRlIHZhbGlkYXRpb25NZXNzYWdlIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBu
b3QgaGF2ZSBvd24gcHJvcGVydHkgIkVsZW1lbnRJbnRlcm5hbHMiIGV4cGVjdGVkIHByb3BlcnR5
ICJFbGVtZW50SW50ZXJuYWxzIiBtaXNzaW5nCkBAIC00MzY2LDcgKzQzNzcsNiBAQCBQQVNTIFdp
bmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbm1vdXNlbW92ZQogUEFTUyBXaW5kb3cgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgb25tb3VzZW91dCAKIFBBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmli
dXRlIG9ubW91c2VvdmVyIAogUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25tb3Vz
ZXVwIAotRkFJTCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253aGVlbCBhc3NlcnRfdHJ1
ZTogcHJvcGVydHkgc2hvdWxkIGJlIGVudW1lcmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UK
IFBBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ucGF1c2UgCiBQQVNTIFdpbmRvdyBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnBsYXkgCiBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBvbnBsYXlpbmcgCkBAIC00Mzg3LDYgKzQzOTcsMTEgQEAgUEFTUyBXaW5kb3cgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgb250aW1ldXBkYXRlCiBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBvbnRvZ2dsZSAKIFBBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9udm9sdW1l
Y2hhbmdlIAogUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253YWl0aW5nIAorRkFJ
TCBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253ZWJraXRhbmltYXRpb25lbmQgYXNzZXJ0
X3RydWU6IHByb3BlcnR5IHNob3VsZCBiZSBlbnVtZXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZh
bHNlCitGQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndlYmtpdGFuaW1hdGlvbml0
ZXJhdGlvbiBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgc2hvdWxkIGJlIGVudW1lcmFibGUgZXhwZWN0
ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9ud2Vi
a2l0YW5pbWF0aW9uc3RhcnQgYXNzZXJ0X3RydWU6IHByb3BlcnR5IHNob3VsZCBiZSBlbnVtZXJh
YmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdpbmRvdyBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBvbndlYmtpdHRyYW5zaXRpb25lbmQgYXNzZXJ0X3RydWU6IHByb3BlcnR5IHNob3VsZCBi
ZSBlbnVtZXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIFdpbmRvdyBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBvbndoZWVsIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBzaG91bGQgYmUgZW51
bWVyYWJsZSBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQogUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgb25hZnRlcnByaW50IAogUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
b25iZWZvcmVwcmludCAKIFBBU1MgV2luZG93IGludGVyZmFjZTogYXR0cmlidXRlIG9uYmVmb3Jl
dW5sb2FkIApAQCAtNDUxMSw3ICs0NTI2LDYgQEAgUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiB3aW5k
b3cgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbm1vdXNlbW92ZSIgd2l0aCB0aGUgcHJvcGUKIFBB
U1MgV2luZG93IGludGVyZmFjZTogd2luZG93IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25tb3Vz
ZW91dCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IHdpbmRv
dyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ubW91c2VvdmVyIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSAKIFBBU1MgV2luZG93IGludGVyZmFjZTogd2luZG93IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAi
b25tb3VzZXVwIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKLVBBU1MgV2luZG93IGludGVyZmFjZTog
d2luZG93IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253aGVlbCIgd2l0aCB0aGUgcHJvcGVyIHR5
cGUgCiBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IHdpbmRvdyBtdXN0IGluaGVyaXQgcHJvcGVydHkg
Im9ucGF1c2UiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiB3
aW5kb3cgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnBsYXkiIHdpdGggdGhlIHByb3BlciB0eXBl
IAogUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiB3aW5kb3cgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJv
bnBsYXlpbmciIHdpdGggdGhlIHByb3BlciB0eXBlIApAQCAtNDUzMiw2ICs0NTQ2LDExIEBAIFBB
U1MgV2luZG93IGludGVyZmFjZTogd2luZG93IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib250aW1l
dXBkYXRlIiB3aXRoIHRoZSBwcm9wCiBQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IHdpbmRvdyBtdXN0
IGluaGVyaXQgcHJvcGVydHkgIm9udG9nZ2xlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1Mg
V2luZG93IGludGVyZmFjZTogd2luZG93IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib252b2x1bWVj
aGFuZ2UiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiB3aW5k
b3cgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndhaXRpbmciIHdpdGggdGhlIHByb3BlciB0eXBl
IAorUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiB3aW5kb3cgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJv
bndlYmtpdGFuaW1hdGlvbmVuZCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIFdpbmRvdyBp
bnRlcmZhY2U6IHdpbmRvdyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2Via2l0YW5pbWF0aW9u
aXRlcmF0aW9uIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgV2luZG93IGludGVyZmFjZTog
d2luZG93IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253ZWJraXRhbmltYXRpb25zdGFydCIgd2l0
aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IHdpbmRvdyBtdXN0IGlu
aGVyaXQgcHJvcGVydHkgIm9ud2Via2l0dHJhbnNpdGlvbmVuZCIgd2l0aCB0aGUgcHJvcGVyIHR5
cGUgCitQQVNTIFdpbmRvdyBpbnRlcmZhY2U6IHdpbmRvdyBtdXN0IGluaGVyaXQgcHJvcGVydHkg
Im9ud2hlZWwiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiB3
aW5kb3cgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbmFmdGVycHJpbnQiIHdpdGggdGhlIHByb3Bl
ciB0eXBlIAogUEFTUyBXaW5kb3cgaW50ZXJmYWNlOiB3aW5kb3cgbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJvbmJlZm9yZXByaW50IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgV2luZG93IGlu
dGVyZmFjZTogd2luZG93IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25iZWZvcmV1bmxvYWQiIHdp
dGggdGhlIHByb3BlciB0eXBlIApAQCAtNDczMiw2ICs0NzUxLDEzIEBAIFBBU1MgUHJvbWlzZVJl
amVjdGlvbkV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBwcm90CiBQQVNTIFByb21pc2VSZWplY3Rpb25FdmVudCBpbnRlcmZhY2U6IGV4aXN0ZW5j
ZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29w
YWJsZXMgcHJvcGVydHkgCiBQQVNTIFByb21pc2VSZWplY3Rpb25FdmVudCBpbnRlcmZhY2U6IGF0
dHJpYnV0ZSBwcm9taXNlIAogUEFTUyBQcm9taXNlUmVqZWN0aW9uRXZlbnQgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgcmVhc29uIAorUEFTUyBET01QYXJzZXIgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKK1BBU1MgRE9NUGFyc2VyIGludGVyZmFj
ZSBvYmplY3QgbGVuZ3RoIAorUEFTUyBET01QYXJzZXIgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAor
UEFTUyBET01QYXJzZXIgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50
ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgCitQQVNTIERPTVBhcnNlciBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25z
dHJ1Y3RvciIgcHJvcGVydHkgCitQQVNTIERPTVBhcnNlciBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJs
ZXMgcHJvcGVydHkgCitQQVNTIERPTVBhcnNlciBpbnRlcmZhY2U6IG9wZXJhdGlvbiBwYXJzZUZy
b21TdHJpbmcoRE9NU3RyaW5nLCBET01QYXJzZXJTdXBwb3J0ZWRUeXBlKSAKIFBBU1MgTmF2aWdh
dG9yIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmpl
Y3QgCiBQQVNTIE5hdmlnYXRvciBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKIFBBU1MgTmF2aWdh
dG9yIGludGVyZmFjZSBvYmplY3QgbmFtZSAKQEAgLTQ3NTIsNyArNDc3OCw3IEBAIEZBSUwgTmF2
aWdhdG9yIGludGVyZmFjZTogYXR0cmlidXRlIG9zY3B1IGFzc2VydF90cnVlOiBUaGUgcHJvdG90
eXBlIG9iamVjdCBtdXN0CiBQQVNTIE5hdmlnYXRvciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBsYW5n
dWFnZSAKIFBBU1MgTmF2aWdhdG9yIGludGVyZmFjZTogYXR0cmlidXRlIGxhbmd1YWdlcyAKIFBB
U1MgTmF2aWdhdG9yIGludGVyZmFjZTogYXR0cmlidXRlIG9uTGluZSAKLUZBSUwgTmF2aWdhdG9y
IGludGVyZmFjZTogb3BlcmF0aW9uIHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKERPTVN0cmluZywg
VVNWU3RyaW5nLCBET01TdHJpbmcpIGFzc2VydF9vd25fcHJvcGVydHk6IGludGVyZmFjZSBwcm90
b3R5cGUgb2JqZWN0IG1pc3Npbmcgbm9uLXN0YXRpYyBvcGVyYXRpb24gZXhwZWN0ZWQgcHJvcGVy
dHkgInJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyIiBtaXNzaW5nCitGQUlMIE5hdmlnYXRvciBpbnRl
cmZhY2U6IG9wZXJhdGlvbiByZWdpc3RlclByb3RvY29sSGFuZGxlcihET01TdHJpbmcsIFVTVlN0
cmluZykgYXNzZXJ0X293bl9wcm9wZXJ0eTogaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgbWlz
c2luZyBub24tc3RhdGljIG9wZXJhdGlvbiBleHBlY3RlZCBwcm9wZXJ0eSAicmVnaXN0ZXJQcm90
b2NvbEhhbmRsZXIiIG1pc3NpbmcKIEZBSUwgTmF2aWdhdG9yIGludGVyZmFjZTogb3BlcmF0aW9u
IHVucmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoRE9NU3RyaW5nLCBVU1ZTdHJpbmcpIGFzc2VydF9v
d25fcHJvcGVydHk6IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IG1pc3Npbmcgbm9uLXN0YXRp
YyBvcGVyYXRpb24gZXhwZWN0ZWQgcHJvcGVydHkgInVucmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIi
IG1pc3NpbmcKIFBBU1MgTmF2aWdhdG9yIGludGVyZmFjZTogYXR0cmlidXRlIGNvb2tpZUVuYWJs
ZWQgCiBQQVNTIE5hdmlnYXRvciBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBwbHVnaW5zIApAQCAtNDc3
NSw4ICs0ODAxLDggQEAgRkFJTCBOYXZpZ2F0b3IgaW50ZXJmYWNlOiB3aW5kb3cubmF2aWdhdG9y
IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib3NjcHUiIHdpdGggdGgKIFBBU1MgTmF2aWdhdG9yIGlu
dGVyZmFjZTogd2luZG93Lm5hdmlnYXRvciBtdXN0IGluaGVyaXQgcHJvcGVydHkgImxhbmd1YWdl
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgTmF2aWdhdG9yIGludGVyZmFjZTogd2luZG93
Lm5hdmlnYXRvciBtdXN0IGluaGVyaXQgcHJvcGVydHkgImxhbmd1YWdlcyIgd2l0aCB0aGUgcHJv
cGVyIHR5cGUgCiBQQVNTIE5hdmlnYXRvciBpbnRlcmZhY2U6IHdpbmRvdy5uYXZpZ2F0b3IgbXVz
dCBpbmhlcml0IHByb3BlcnR5ICJvbkxpbmUiIHdpdGggdGhlIHByb3BlciB0eXBlIAotRkFJTCBO
YXZpZ2F0b3IgaW50ZXJmYWNlOiB3aW5kb3cubmF2aWdhdG9yIG11c3QgaW5oZXJpdCBwcm9wZXJ0
eSAicmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoRE9NU3RyaW5nLCBVU1ZTdHJpbmcsIERPTVN0cmlu
ZykiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgInJlZ2lz
dGVyUHJvdG9jb2xIYW5kbGVyIiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCi1GQUlMIE5h
dmlnYXRvciBpbnRlcmZhY2U6IGNhbGxpbmcgcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoRE9NU3Ry
aW5nLCBVU1ZTdHJpbmcsIERPTVN0cmluZykgb24gd2luZG93Lm5hdmlnYXRvciB3aXRoIHRvbyBm
ZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIGFzc2VydF9pbmhlcml0czogcHJvcGVy
dHkgInJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyIiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWlu
CitGQUlMIE5hdmlnYXRvciBpbnRlcmZhY2U6IHdpbmRvdy5uYXZpZ2F0b3IgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJyZWdpc3RlclByb3RvY29sSGFuZGxlcihET01TdHJpbmcsIFVTVlN0cmluZyki
IHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgInJlZ2lzdGVy
UHJvdG9jb2xIYW5kbGVyIiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCitGQUlMIE5hdmln
YXRvciBpbnRlcmZhY2U6IGNhbGxpbmcgcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoRE9NU3RyaW5n
LCBVU1ZTdHJpbmcpIG9uIHdpbmRvdy5uYXZpZ2F0b3Igd2l0aCB0b28gZmV3IGFyZ3VtZW50cyBt
dXN0IHRocm93IFR5cGVFcnJvciBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJyZWdpc3RlclBy
b3RvY29sSGFuZGxlciIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgogRkFJTCBOYXZpZ2F0
b3IgaW50ZXJmYWNlOiB3aW5kb3cubmF2aWdhdG9yIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAidW5y
ZWdpc3RlclByb3RvY29sSGFuZGxlcihET01TdHJpbmcsIFVTVlN0cmluZykiIHdpdGggdGhlIHBy
b3BlciB0eXBlIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgInVucmVnaXN0ZXJQcm90b2NvbEhh
bmRsZXIiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KIEZBSUwgTmF2aWdhdG9yIGludGVy
ZmFjZTogY2FsbGluZyB1bnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKERPTVN0cmluZywgVVNWU3Ry
aW5nKSBvbiB3aW5kb3cubmF2aWdhdG9yIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJv
dyBUeXBlRXJyb3IgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAidW5yZWdpc3RlclByb3RvY29s
SGFuZGxlciIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgogUEFTUyBOYXZpZ2F0b3IgaW50
ZXJmYWNlOiB3aW5kb3cubmF2aWdhdG9yIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiY29va2llRW5h
YmxlZCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCkBAIC01MjEzLDcgKzUyMzksNiBAQCBQQVNTIFNW
R0VsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25tb3VzZW1vdmUKIFBBU1MgU1ZHRWxlbWVu
dCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbm1vdXNlb3V0IAogUEFTUyBTVkdFbGVtZW50IGludGVy
ZmFjZTogYXR0cmlidXRlIG9ubW91c2VvdmVyIAogUEFTUyBTVkdFbGVtZW50IGludGVyZmFjZTog
YXR0cmlidXRlIG9ubW91c2V1cCAKLUZBSUwgU1ZHRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBvbndoZWVsIGFzc2VydF90cnVlOiBwcm9wZXJ0eSBzaG91bGQgYmUgZW51bWVyYWJsZSBleHBl
Y3RlZCB0cnVlIGdvdCBmYWxzZQogUEFTUyBTVkdFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRl
IG9ucGF1c2UgCiBQQVNTIFNWR0VsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25wbGF5IAog
UEFTUyBTVkdFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ucGxheWluZyAKQEAgLTUyMzQs
NiArNTI1OSwxMSBAQCBQQVNTIFNWR0VsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb250aW1l
dXBkYXRlCiBQQVNTIFNWR0VsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb250b2dnbGUgCiBQ
QVNTIFNWR0VsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb252b2x1bWVjaGFuZ2UgCiBQQVNT
IFNWR0VsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253YWl0aW5nIAorRkFJTCBTVkdFbGVt
ZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ud2Via2l0YW5pbWF0aW9uZW5kIGFzc2VydF9vd25f
cHJvcGVydHk6IGV4cGVjdGVkIHByb3BlcnR5ICJvbndlYmtpdGFuaW1hdGlvbmVuZCIgbWlzc2lu
ZworRkFJTCBTVkdFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ud2Via2l0YW5pbWF0aW9u
aXRlcmF0aW9uIGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVjdGVkIHByb3BlcnR5ICJvbndlYmtp
dGFuaW1hdGlvbml0ZXJhdGlvbiIgbWlzc2luZworRkFJTCBTVkdFbGVtZW50IGludGVyZmFjZTog
YXR0cmlidXRlIG9ud2Via2l0YW5pbWF0aW9uc3RhcnQgYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhw
ZWN0ZWQgcHJvcGVydHkgIm9ud2Via2l0YW5pbWF0aW9uc3RhcnQiIG1pc3NpbmcKK0ZBSUwgU1ZH
RWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndlYmtpdHRyYW5zaXRpb25lbmQgYXNzZXJ0
X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgIm9ud2Via2l0dHJhbnNpdGlvbmVuZCIg
bWlzc2luZworRkFJTCBTVkdFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ud2hlZWwgYXNz
ZXJ0X3RydWU6IHByb3BlcnR5IHNob3VsZCBiZSBlbnVtZXJhYmxlIGV4cGVjdGVkIHRydWUgZ290
IGZhbHNlCiBGQUlMIFNWR0VsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25jb3B5IGFzc2Vy
dF9vd25fcHJvcGVydHk6IGV4cGVjdGVkIHByb3BlcnR5ICJvbmNvcHkiIG1pc3NpbmcKIEZBSUwg
U1ZHRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmN1dCBhc3NlcnRfb3duX3Byb3BlcnR5
OiBleHBlY3RlZCBwcm9wZXJ0eSAib25jdXQiIG1pc3NpbmcKIEZBSUwgU1ZHRWxlbWVudCBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSBvbnBhc3RlIGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVjdGVkIHBy
b3BlcnR5ICJvbnBhc3RlIiBtaXNzaW5nCkBAIC01MzQ2LDcgKzUzNzYsNiBAQCBQQVNTIERvY3Vt
ZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ubW91c2Vtb3ZlCiBQQVNTIERvY3VtZW50IGludGVy
ZmFjZTogYXR0cmlidXRlIG9ubW91c2VvdXQgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogYXR0
cmlidXRlIG9ubW91c2VvdmVyIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBv
bm1vdXNldXAgCi1GQUlMIERvY3VtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ud2hlZWwgYXNz
ZXJ0X3RydWU6IHByb3BlcnR5IHNob3VsZCBiZSBlbnVtZXJhYmxlIGV4cGVjdGVkIHRydWUgZ290
IGZhbHNlCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ucGF1c2UgCiBQQVNT
IERvY3VtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ucGxheSAKIFBBU1MgRG9jdW1lbnQgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgb25wbGF5aW5nIApAQCAtNTM2Nyw2ICs1Mzk2LDExIEBAIFBBU1Mg
RG9jdW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb250aW1ldXBkYXRlCiBQQVNTIERvY3VtZW50
IGludGVyZmFjZTogYXR0cmlidXRlIG9udG9nZ2xlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBvbnZvbHVtZWNoYW5nZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgb253YWl0aW5nIAorRkFJTCBEb2N1bWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndl
YmtpdGFuaW1hdGlvbmVuZCBhc3NlcnRfdHJ1ZTogcHJvcGVydHkgc2hvdWxkIGJlIGVudW1lcmFi
bGUgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgRG9jdW1lbnQgaW50ZXJmYWNlOiBhdHRy
aWJ1dGUgb253ZWJraXRhbmltYXRpb25pdGVyYXRpb24gYXNzZXJ0X3RydWU6IHByb3BlcnR5IHNo
b3VsZCBiZSBlbnVtZXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIERvY3VtZW50
IGludGVyZmFjZTogYXR0cmlidXRlIG9ud2Via2l0YW5pbWF0aW9uc3RhcnQgYXNzZXJ0X3RydWU6
IHByb3BlcnR5IHNob3VsZCBiZSBlbnVtZXJhYmxlIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitG
QUlMIERvY3VtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG9ud2Via2l0dHJhbnNpdGlvbmVuZCBh
c3NlcnRfdHJ1ZTogcHJvcGVydHkgc2hvdWxkIGJlIGVudW1lcmFibGUgZXhwZWN0ZWQgdHJ1ZSBn
b3QgZmFsc2UKK0ZBSUwgRG9jdW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253aGVlbCBhc3Nl
cnRfdHJ1ZTogcHJvcGVydHkgc2hvdWxkIGJlIGVudW1lcmFibGUgZXhwZWN0ZWQgdHJ1ZSBnb3Qg
ZmFsc2UKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25jb3B5IAogUEFTUyBE
b2N1bWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmN1dCAKIFBBU1MgRG9jdW1lbnQgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgb25wYXN0ZSAKQEAgLTU0NjgsNyArNTUwMiw2IEBAIFBBU1MgRG9jdW1l
bnQgaW50ZXJmYWNlOiBpZnJhbWUuY29udGVudERvY3VtZW50IG11c3QgaW5oZXJpdCBwcm9wZXJ0
eSAib25tb3VzZW1vCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogaWZyYW1lLmNvbnRlbnREb2N1
bWVudCBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ubW91c2VvdXQiIHdpdGggdGhlIHByb3BlciB0
eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGlmcmFtZS5jb250ZW50RG9jdW1lbnQgbXVz
dCBpbmhlcml0IHByb3BlcnR5ICJvbm1vdXNlb3ZlciIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQ
QVNTIERvY3VtZW50IGludGVyZmFjZTogaWZyYW1lLmNvbnRlbnREb2N1bWVudCBtdXN0IGluaGVy
aXQgcHJvcGVydHkgIm9ubW91c2V1cCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCi1QQVNTIERvY3Vt
ZW50IGludGVyZmFjZTogaWZyYW1lLmNvbnRlbnREb2N1bWVudCBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgIm9ud2hlZWwiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZh
Y2U6IGlmcmFtZS5jb250ZW50RG9jdW1lbnQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnBhdXNl
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBpZnJhbWUu
Y29udGVudERvY3VtZW50IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25wbGF5IiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBpZnJhbWUuY29udGVudERvY3Vt
ZW50IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25wbGF5aW5nIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSAKQEAgLTU0ODksNiArNTUyMiwxMSBAQCBQQVNTIERvY3VtZW50IGludGVyZmFjZTogaWZyYW1l
LmNvbnRlbnREb2N1bWVudCBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9udGltZXVwZAogUEFTUyBE
b2N1bWVudCBpbnRlcmZhY2U6IGlmcmFtZS5jb250ZW50RG9jdW1lbnQgbXVzdCBpbmhlcml0IHBy
b3BlcnR5ICJvbnRvZ2dsZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIERvY3VtZW50IGlu
dGVyZmFjZTogaWZyYW1lLmNvbnRlbnREb2N1bWVudCBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9u
dm9sdW1lY2hhbmdlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJm
YWNlOiBpZnJhbWUuY29udGVudERvY3VtZW50IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253YWl0
aW5nIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBpZnJh
bWUuY29udGVudERvY3VtZW50IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib253ZWJraXRhbmltYXRp
b25lbmQiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGlm
cmFtZS5jb250ZW50RG9jdW1lbnQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndlYmtpdGFuaW1h
dGlvbml0ZXJhdGlvbiIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIERvY3VtZW50IGludGVy
ZmFjZTogaWZyYW1lLmNvbnRlbnREb2N1bWVudCBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2Vi
a2l0YW5pbWF0aW9uc3RhcnQiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBEb2N1bWVudCBp
bnRlcmZhY2U6IGlmcmFtZS5jb250ZW50RG9jdW1lbnQgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJv
bndlYmtpdHRyYW5zaXRpb25lbmQiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFTUyBEb2N1bWVu
dCBpbnRlcmZhY2U6IGlmcmFtZS5jb250ZW50RG9jdW1lbnQgbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJvbndoZWVsIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNl
OiBpZnJhbWUuY29udGVudERvY3VtZW50IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25jb3B5IiB3
aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBpZnJhbWUuY29u
dGVudERvY3VtZW50IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25jdXQiIHdpdGggdGhlIHByb3Bl
ciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IGlmcmFtZS5jb250ZW50RG9jdW1lbnQg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnBhc3RlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKQEAg
LTU1OTAsNyArNTYyOCw2IEBAIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBuZXcgRG9jdW1lbnQo
KSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ubW91c2Vtb3ZlIiB3aXRoCiBQQVNTIERvY3VtZW50
IGludGVyZmFjZTogbmV3IERvY3VtZW50KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbm1vdXNl
b3V0IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBuZXcg
RG9jdW1lbnQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ubW91c2VvdmVyIiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBuZXcgRG9jdW1lbnQoKSBtdXN0
IGluaGVyaXQgcHJvcGVydHkgIm9ubW91c2V1cCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCi1QQVNT
IERvY3VtZW50IGludGVyZmFjZTogbmV3IERvY3VtZW50KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJvbndoZWVsIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNl
OiBuZXcgRG9jdW1lbnQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ucGF1c2UiIHdpdGggdGhl
IHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IG5ldyBEb2N1bWVudCgpIG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25wbGF5IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1Mg
RG9jdW1lbnQgaW50ZXJmYWNlOiBuZXcgRG9jdW1lbnQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkg
Im9ucGxheWluZyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCkBAIC01NjExLDYgKzU2NDgsMTEgQEAg
UEFTUyBEb2N1bWVudCBpbnRlcmZhY2U6IG5ldyBEb2N1bWVudCgpIG11c3QgaW5oZXJpdCBwcm9w
ZXJ0eSAib250aW1ldXBkYXRlIiB3aXQKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBuZXcgRG9j
dW1lbnQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9udG9nZ2xlIiB3aXRoIHRoZSBwcm9wZXIg
dHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBuZXcgRG9jdW1lbnQoKSBtdXN0IGluaGVy
aXQgcHJvcGVydHkgIm9udm9sdW1lY2hhbmdlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1Mg
RG9jdW1lbnQgaW50ZXJmYWNlOiBuZXcgRG9jdW1lbnQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkg
Im9ud2FpdGluZyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIERvY3VtZW50IGludGVyZmFj
ZTogbmV3IERvY3VtZW50KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndlYmtpdGFuaW1hdGlv
bmVuZCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIERvY3VtZW50IGludGVyZmFjZTogbmV3
IERvY3VtZW50KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndlYmtpdGFuaW1hdGlvbml0ZXJh
dGlvbiIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIERvY3VtZW50IGludGVyZmFjZTogbmV3
IERvY3VtZW50KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndlYmtpdGFuaW1hdGlvbnN0YXJ0
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBuZXcgRG9j
dW1lbnQoKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ud2Via2l0dHJhbnNpdGlvbmVuZCIgd2l0
aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIERvY3VtZW50IGludGVyZmFjZTogbmV3IERvY3VtZW50
KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndoZWVsIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAK
IFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBuZXcgRG9jdW1lbnQoKSBtdXN0IGluaGVyaXQgcHJv
cGVydHkgIm9uY29weSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIERvY3VtZW50IGludGVy
ZmFjZTogbmV3IERvY3VtZW50KCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbmN1dCIgd2l0aCB0
aGUgcHJvcGVyIHR5cGUgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogbmV3IERvY3VtZW50KCkg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbnBhc3RlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKQEAg
LTU3MTIsNyArNTc1NCw2IEBAIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudFdpdGhI
YW5kbGVycyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ubW91c2Vtb3ZlCiBQQVNTIERvY3VtZW50
IGludGVyZmFjZTogZG9jdW1lbnRXaXRoSGFuZGxlcnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJv
bm1vdXNlb3V0IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNl
OiBkb2N1bWVudFdpdGhIYW5kbGVycyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ubW91c2VvdmVy
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVu
dFdpdGhIYW5kbGVycyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ubW91c2V1cCIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUgCi1QQVNTIERvY3VtZW50IGludGVyZmFjZTogZG9jdW1lbnRXaXRoSGFuZGxl
cnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndoZWVsIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAK
IFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudFdpdGhIYW5kbGVycyBtdXN0IGluaGVy
aXQgcHJvcGVydHkgIm9ucGF1c2UiIHdpdGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBEb2N1bWVu
dCBpbnRlcmZhY2U6IGRvY3VtZW50V2l0aEhhbmRsZXJzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAi
b25wbGF5IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBk
b2N1bWVudFdpdGhIYW5kbGVycyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9ucGxheWluZyIgd2l0
aCB0aGUgcHJvcGVyIHR5cGUgCkBAIC01NzMzLDYgKzU3NzQsMTEgQEAgUEFTUyBEb2N1bWVudCBp
bnRlcmZhY2U6IGRvY3VtZW50V2l0aEhhbmRsZXJzIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib250
aW1ldXBkYXQKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudFdpdGhIYW5kbGVycyBt
dXN0IGluaGVyaXQgcHJvcGVydHkgIm9udG9nZ2xlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBB
U1MgRG9jdW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudFdpdGhIYW5kbGVycyBtdXN0IGluaGVyaXQg
cHJvcGVydHkgIm9udm9sdW1lY2hhbmdlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9j
dW1lbnQgaW50ZXJmYWNlOiBkb2N1bWVudFdpdGhIYW5kbGVycyBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgIm9ud2FpdGluZyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIERvY3VtZW50IGludGVy
ZmFjZTogZG9jdW1lbnRXaXRoSGFuZGxlcnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndlYmtp
dGFuaW1hdGlvbmVuZCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIERvY3VtZW50IGludGVy
ZmFjZTogZG9jdW1lbnRXaXRoSGFuZGxlcnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbndlYmtp
dGFuaW1hdGlvbml0ZXJhdGlvbiIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIERvY3VtZW50
IGludGVyZmFjZTogZG9jdW1lbnRXaXRoSGFuZGxlcnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJv
bndlYmtpdGFuaW1hdGlvbnN0YXJ0IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BBU1MgRG9jdW1l
bnQgaW50ZXJmYWNlOiBkb2N1bWVudFdpdGhIYW5kbGVycyBtdXN0IGluaGVyaXQgcHJvcGVydHkg
Im9ud2Via2l0dHJhbnNpdGlvbmVuZCIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIERvY3Vt
ZW50IGludGVyZmFjZTogZG9jdW1lbnRXaXRoSGFuZGxlcnMgbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJvbndoZWVsIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgRG9jdW1lbnQgaW50ZXJmYWNl
OiBkb2N1bWVudFdpdGhIYW5kbGVycyBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9uY29weSIgd2l0
aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogZG9jdW1lbnRXaXRo
SGFuZGxlcnMgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbmN1dCIgd2l0aCB0aGUgcHJvcGVyIHR5
cGUgCiBQQVNTIERvY3VtZW50IGludGVyZmFjZTogZG9jdW1lbnRXaXRoSGFuZGxlcnMgbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJvbnBhc3RlIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAK
</data>

          </attachment>
      

    </bug>

</bugzilla>